Chapter 8 IIR Filter Design
Gao Xinbo
School of E.E., Xidian [email protected]
http://see.xidian.edu.cn/teach/matlabdsp/
Introduction IIR filter have infinite-duration impulse responses,
hence they can be matched to analog filters, all of which generally have infinitely long impulse responses.
The basic technique of IIR filter design transforms well-known analog filters into digital filters using complex-valued mappings.
The advantage of this technique lies in the fact that both analog filter design (AFD) tables and the mappings are available extensively in the literature.
Introduction The basic technique is called the A/D filter transforma
tion. However, the AFD tables are available only for lowpa
ss filters. We also want design other frequency-selective filters (highpass, bandpass, bandstop, etc.)
To do this, we need to apply frequency-band transformations to lowpass filters. These transformations are also complex-valued mappings, and they are also available in the literature.
Two approaches
Design analoglowpass filter
Apply Freq. bandtransformation
s-->s
Apply filtertransformation
s-->z
DesiredIIR filter
Design analoglowpass filter
Apply filtertransformation
s-->z
Apply Freq. bandtransformation
z-->z
DesiredIIR filter
Approach 1, used in Matlab
Approach 2, study
IIR Filter Design Steps Design analog lowpass filter Study and apply filter transformations to obtai
n digital lowpass filter Study and apply frequency-band transformatio
ns to obtain other digital filters from digital lowpass filter
The main problem We have no control over the phase
characteristics of the IIR filter. Hence IIR filter designs will be treated as
magnitude-only designs.
Main Content of This Chapter Analog filter specifications and the properties of the
magnitude-squared response used in specifying analog filters.
Characteristics of three widely used analog filters Butterworth, Chebyshev, and Elliptic filter
Transformation to convert these prototype analog filters into different frequency-selective digital filter
Some Preliminaries Relative linear scale
The lowpass filter specifications on the magnitude-squared response are given by
||,1
|)(|0
||,1|)(|1
1
2
2
sa
pa
AjH
jH
Where epsilon is a passband ripple parameter, Omega_p is the passband cutoff frequency in rad/sec, A is a stopband attenuation parameter, and Omega_s is the stopband cutoff in rad/sec.
sa atA
jH 2
2 1|)(|
pa atjH
2
2
1
1|)(|
2
1
1
2
1
12
2
1
20/210
210
11
1
1
2
1
1
1
1
101
log10
1101
1log10 10/
AA
AA
A
R
s
p
As
Rp
The relations among epsilon, A, Rp, As, delta1 and delta2
Properties of |Ha(jOmega)|2
Analog filter specifications, which are given in terms of the magnitude-squared response, contain no phase information. Now to evaluate the s-domain system function Ha(s), consider
jsaaa
jsaaaaaaa
jsaa
jHsHsHor
sHsHjHjHjHjHjH
sHjH
/2
*2
||)(|)()(,
|)()()()()()(|)(|
|)()(
Therefore the poles and zeros of the magnitude-squared function are distributed in a mirror-image symmetry with respect to the jOmega axis.
Also for real filters, poles and zeros occur in complex conjugate pairs (or mirror-image symmetry with respect to the real axis).
From this pattern we can construct Ha(s), which is the system function of our analog filter.
Properties of |Ha(jOmega)|2
We want Ha(s) to represents a causal and stable filter. Then all poles of Ha(s) must lie within the left half-plane. Thus we assign all left-half poles of Ha(s)Ha(-s) to Ha(s).
We will choose the zeros of Ha(s)Ha(-s) lying inside or on the jOmega axis as the zeros of Ha(s).
The resulting filter is then called a minimum-phase filter.
Characteristics of Prototype Analog Filters
IIR filter design techniques rely on existing analog filter filters to obtain digital filters. We designate these analog filters as prototype filters.
Three prototypes are widely used in practice Butterworth lowpass Chebyshev lowpass (Type I and II) Elliptic lowpass
Butterworth Lowpass Filter This filter is characterized by the property that its mag
nitude response is flat in both passband and stopband.
N
c
a jH 22
1
1|)(|
The magnitude-squared response of an N-order lowpass filter
Omega_c is the cutoff frequency in rad/sec.
Plot of the magnitude-squared response is shown in P.305
N
c
a jH 22
1
1|)(|
0 10 20 30 40 50 60 70 80 90 1000
0.2
0.4
0.6
0.8
1
1.2
N=1
N=2
N=200
N=100
Properties of Butterworth Filter Magnitude Response
|Ha(0)|2 =1, |Ha(jΩc) |2 =0.5, for all N (3dB attenuation at Ωc)
|Ha(jΩ)|2 monotonically decrease for Ω Approaches to ideal filter when N→∞
12,,1,0,)()1(
)(
)(
)(
)(
1
1)()(
)12(
2
1
2
22
2
2
221
Nkejp
ps
j
js
j
js
sHsH
Nkjcck
N
kk
Nc
Nc
N
Nc
N
c
aa
NN
To determine the system function Ha(s)
Poles of |Ha(jΩ)|2 Ω=s/j =Ha(s) Ha(-s)
Equally distributed on a circle of radius Ωc with angular spacing of pi/N radians
For N odd, pk= Ωcej2pik/N
For N even, pk= Ωcej(pi/2N+kpi/N)
Symmetry respect to the imaginary axis A pole never falls on the imaginary axis, and falls on the real a
xis only if N is odd A stable and causal filter Ha(s) can now be specified by selecti
ng poles in the left half-plane
N
polesLHPk
Nc
a
pssH
)()(
Example 8.1
Matlab Implementation Function [z,p,k] = buttap(N)
To design a normalized (Ωc=1) Butterworth analog prototype filter of order N
Z: zeros; p: poles; k: gain value Function [b,a] = u_buttap(N,Omegac)
Provide a direct form (or numerator-denominator) structure. Function [C,B,A] = sdir2cas(b,a)
Convert the direct form into the cascade form
Example 8.2
Design Equations
sas
pap
AjHat
RjHat
2
10
210
|)(|log10,
|)(|log10,
The analog lowpass filter is specified by the parameters, Omega_p. R_p,Omega_s, and A_s. Therefore the essence of the design in the case of Butterworth filter is to obtain the order N and the cutoff frequency Omega_c.
N A
sc
N R
pc
sp
AR
sp
sp
or
N
2 10/2 10/
10
10/10/10
)110(,
)110(
)/(log2
)]110/()110[(log
N
c
a jH 22
1
1|)(|
Matlab Implementation Function [b,a] = afd_butt(Wp,Ws,Rp,As)
To design an analog Butterworth lowpass filter, given its specifications.
Function [db,mag,pha,w] = freqs_m(b,a,wmax)
Magnitude response in absolute as well as in relative dB scale and the phase response.
Example 8.3
Chebyshev Lowpass Filter Chebyshev-I filters
Have equiripple response in the passband Chebyshev-II filters
Have equiripple response in stopband Butterworth filters
Have monotonic response in both bands We note that by choosing a filter that has an equripple rather th
an a monotonic behavior, we can obtain a low-order filter. Therefore Chebyshev filters provide lower order than Buttwort
h filters for the same specifications.
The magnitude-squared response of Chebyshev-I filter
xx
xxNxT
T
jH
N
cN
a
1)),(cosh(cosh
10)),(coscos()(
1
1|)(|
1
1
22
2
N is the order of the filter,
Epsilon is the passband ripple factorNth-order Chebyshev polynomial
(a)For 0<x<1, TN(x) oscillates between –1 and 1, and
(b)For 1<x<infinity, TN(x) increases monotonically to infinity
Figure on P.314 (two possible shapes)
Observations: P.315
Observations
At x=0 (or Ω=0); |Ha(j0)|2 = 1; for N odd;
= 1/(1+epson^2); for N even
At x=1 (or Ω= Ωc); |Ha(j1)|2= 1/(1+epson^2) for all N.
For 0<=x<=1 (or 0<= Ω<= Ωc) |Ha(jx)|2 oscillates between 1 and 1/(1+epson^2)
For x>1 (or Ω > Ωc), |Ha(jx)|2 decreases monotonically to 0 .
At x= Ωr, |Ha(jx)|2 = 1/(A^2).
Causal and stable Ha(s)
To determine a causal and stable Ha(s), we must find the poles of Ha(s)Ha(-s) and select the left half-plane poles for Ha(s).
The poles of Ha(s)Ha(-s) are obtained by finding the roots of
c
N j
sT 221
It can be shown that if 1,,1,0, Nkjp kkk
are the (left half-plane) roots of the above polynomial, then
2
11
1
,/12
1,/1
2
1
2
)12(
2sin)(
2
)12(
2cos)(
1,,1,0,
NNNN
ck
ck
kkk
ba
N
kb
N
ka
Nkjp
The poles of Ha(s)Ha(-s)
The poles fall on an ellipse with major axis b Ωc and minor axis a Ωc .
Now the system function is
)()(
kk
a ps
KsH
Left half-plane
K is a normalizing factor
Matlab Implementation Function [z,p,k] = cheb1ap(N,Rp)
To design a normalized Chebyshev-I analog prototype filter of order N and passband ripple Rp.
Z array: zeros; poles in p array, gain value k Function [b,a] = u_chblap(N,Rp,Omegac)
Return Ha(s) in the direct form
Design Equations
Given Ωp, Ωs, Rp and As, three parameters are required to determine a Chebyshev-I filter
1log
1log
/)1(
,
10,110
210
210
22
20/1.0
rr
c
srpc
ARp
ggN
Ag
and
Aand s
Function
[b,a]=afd_chb1(Wp,Ws,Rp,As)
Example 8.6
Chebyshev-II filter
Related to the Chebyshev-I filter through a simple transformation.
It has a monotone passband and an equiripple stopband, which implies that this filter has both poles and zeros in the s-plane.
Therefore the group delay characteristics are better (and the phase response more linear) in the passband than the Chebyshev-I prototype.
122
2
/1
1|)(|
cN
aT
jH
Matlab implementation Function [z,p,k] = cheb2ap(N,As);
normalized Chebyshev-II Function [b,a] = u_chb2ap(N,As,Omegac)
Unnormalized Chebyshev-II Function [b,a] = afd_chb2(Wp,Ws,Rp,As)
Example 8.7
Elliptic Lowpass Filters
These filters exhibit equiripple behavior in the passband as well as the stopband. They are similar in magnitude response characteristics to the FIR equiripple filters.
Therefore elliptic filters are optimum filters in that they achieve the minimum order N for the given specifications
These filters, for obvious reasons, are very difficult to analyze and therefore, to design.
It is not possible to design them using simple tools, and often programs or tables are needed to design them.
The magnitude-squared response
cN
a
U
jH22
2
1
1|)(|
N: the order; epsilon: passbang ripple; UN() is the Nth order Jacobian elliptic function
2/
0 222121
21
sin1)(,
1,,
1)(
1)(
x
dxK
Akk
kKkK
kKkKN
s
p
Typical responses for odd and even N are shown on P.323Computation of filter order N:
Matlab Implementation [z,p,k]=ellipap(N,Rp,As);
normalized elliptic analog prototype [b,a] = u_ellipap(N,Rp,As,Omegac)
Unnormalized elliptic analog prototype [b,a] = afd_elip(Wp,Ws,Rp,As)
Analog Lowpass Filter Design: Elliptic Example 8.8
Phase Responses of Prototype Filters Elliptic filter provide optimal performance in the magnitude-squa
red response but have highly nonlinear phase response in the passband (which is undesirable in many applications).
Even though we decided not to worry about phase response in our design, phase is still an important issue in the overall system.
At other end of the performance scale are the Buttworth filters, which have maximally flat magnitude response and require a higher-order N (more poles) to achieve the same stopband specification. However, they exhibit a fairly linear phase response in their passband.
Phase Responses of Prototype Filters
The Chebyshev filters have phase characteristics that lie somewhere in between.
Therefore in practical applications we do consider Butterworth as well as Chebyshev filters, in addition to elliptic filters.
The choice depends on both the filter order (which influences processing speed and implementation complexity) and the phase characteristics (which control the distortion).
Analog-to-digital Filter Transformations
After discussing different approaches to the design of analog filters, we are now ready to transform them into digital filters.
These transformations are derived by preserving different aspects of analog and digital filters.
Impulse invariance transformation Preserve the shape of the impulse response from A to D filter
Finite difference approximation technique Convert a differential eq. representation into a corresponding difference eq.
Step invariance Preserve the shape of the step response
Bilinear transformation Preserve the system function representation from A to D domain
Impulse Invariance Transformation The digital filter impulse response to look similar to that of a fr
equency-selective analog filter. Sample ha(t) at some sampling interval T to obtain h(n): h(n)=h
a(nT)
Since z=ejw on the unit circle and s=j Ω on the imaginary axis, we have the following transformation from the s-plane to the z-plane: z=esT
Tjjw eeorTw
ka k
TjsH
TzH
21)( Frequency-domain alias
ing formula
Complex-plane mapping in impulse invariance transformation
Properties: Sigma = Re(s):
Sigma < 0, maps into |z|<1 (inside of the UC) Sigma = 0, maps into |z|=1 (on the UC) Sigma >0, maps into |Z|>1 (outside of the UC)
Many s to one z mapping: many-to-one mapping Every semi-infinite left strip (so the whole left plane) maps
to inside of unit circle Causality and Stability are the same without changing; Aliasing occur if filter not exactly band-limited
Given the digital lowpass filter specifications wp,ws,Rp and As, we want to determine H(z) by first designing an equivalent analog filter and then mapping it into the desired digital filter. Design Procedure:
1. Choose T and determine the analog frequencies: Ωp=wp/T, Ωs=ws/T
2. Design an analog filter Ha(s) using the specifications with one of the three prototypes of the previous section.
3. Using partial fraction expansion, expand Ha(s) into
4. Now transform analog poles {pk} into digital poles {epkT} to obtain the digital filter
N
kk
ka ps
RsH
1)(
N
k Tpk
ze
RzH
k1 11)( Ex 8.9
Matlab Implementation Function [b,a] = imp_invr(c,d,T)
b = 数字滤波器的 z^(-1) 分子多项式 a = 数字滤波器的 z^(-1) 分母多项式 c = 模拟滤波器的 s 的分子多项式 d = 模拟滤波器的 s 的分母多项式 T = 采样 ( 变换 ) 参数
Examples 8.10-8.14
Advantages of Impulse Invariance Mapping
It is a stable design and the frequencies Ω and w are linearly related.
Disadvantage We should expect some aliasing of the analog frequency re
sponse, and in some cases this aliasing is intolerable. Consequently, this design method is useful only whe
n the analog filter is essentially band-limited to a lowpass or bandpass filter in which there are no oscillations in the stopband.
Bilinear Transformation This mapping is the best transformation method.
2/1
2/1
1
121
1
sT
sTz
z
z
Ts
0122
zsT
szT
Linear fractional transformation
The complex plane mapping is shown in Figure 8.15
Complex-plane mapping in bilinear transformation
Observations Sigma < 0 |z| < 1, Sigma = 0 |z| = 1, Sigma > 0 |z| > 1 The entire left half-plane maps into the inside of the U
C. This is a stable transformation. The imaginary axis maps onto the UC in a one-to-one
fashion. Hence there is no aliasing in the frequency domain.
• Relation of ω to Ω is nonlinearω= 2tan-1(ΩT/2)↔ Ω=2tan(ω/2)/T;
Function [b,a] = bilinear(c,d,Fs)
Given the digital filter specifications wp,ws,Rp and As, we want to determine H(z). The design steps in this procedure are the following:
1. Choose a value for T. this is arbitrary, and we may set T = 1.
2. Prewarp the cutoff freq.s wp and ws; that is calculate Ωp and Ωs using (8.28) : Ωp=2/T*tan(wp/2), Ωs=2/T*tan(ws/2)
3. Design an analog filter Ha(s) to meet the specifications.
4. Finally set
And simplify to obtain H(z) as a rational function in z-1
1
1
1
12)(
z
z
THzH a
Ex 8.17
Advantage of the bilinear Transformation
It is a stable design There is no aliasing There is no restriction on the type of filter that
can be transformed.
Lowpass Design Using Matlab Matlab Function: [b, a] = butter(N, wn) [b, a] = cheby1(N, Rp, wn) [b, a] = cheby2(N, As, wn) [b, a] = ellip(N, Rp, As, wn) Buttord, cheb1ord, cheb2ord, ellipord can provide filter
order N and filter cutoff frequency wn, given the specification.
Lowpass filter design Digital filter specification Analog prototype specifications Analog prototype order calculation,Omega_c,wn
Digital Filter design (four types) dir2cas
Digital filter design examplesFor the same specifications, do the following: Ex8.21: Butterworth LP filter design; Ex8.22: Chebyshev-I LP filter design; Ex8.23: Chebyshev-II LP filter design; Ex8.24: Elliptic LP filter design;
dBAw
dBRw
ss
pp
15,3.0
1,2.0
Prototype Order N Stopband Att.
Butterworth 6 15
Chebyshev-I 4 25
Elliptic 3 27
Frequency-band Transformation Design other kinds of filters:
High-pass filters Band-pass filters Band-stop filters
Using the results of Low-pass filter and Frequency Band Transformation
Frequency-band TransformationLet HLP(Z) be the given prototype lowpass digital filter, and let H(z) be the desired frequency-selective digital filter. Define a mapping of the form
)(
1111|)()(thatsuch)(
zGZLP ZHzHzGZ
Given that HLP(Z) is a stable and causal filter, we also want H(z) to be stable and
causal. This imposes the following requirements:
1. G( ) must be a rational function in 1/z so that H(z) is implementable.
2. The unit circle of the Z-plane must map onto the unit circle of the z-plane.
3. For stable filters, the inside of the unit circle of the Z-plane must also map onto
the inside of the unit circle of the z-plane.
Frequency Transformation for Digital Filters
The general form of the function G() that satisfies the above requirements is a rational function of the all-pass type given by
1||,1
)(1
1
111
kk
knk z
zzGZ
Now by choosing an appropriate order n and the coefficients {alpah_k}, we can obtain a variety of mappings. The most widely used transformations are given in Table 8.2 (P352).
Ex8.25-8.26
Use zmapping function to perform the LP-to-HP transformation
Digital lowpass filter specifications Analog prototype specification Analogy Chebyshev prototype filter calculation Bilinear transformation Digital highpass filter cutoff frequency Lp-to-HP frequency-band transformation dir2cas
Design Procedure In practice we have to first design a prototype lowpas
s digital filter whose specification should be obtained from specifications of other frequency-selective filters are given in Fig.8.20
Matlab Implementation Function [b, a] = BUTTER(N, wn,’high’)
Designs an Nth-order highpass filter with digital 3dB cutoff frequency wn in unit of pi
Function [b,a] = BUTTER(N,wn,’pass’) Designs an order 2N bandpass filter if wn is a two-element vectro wn=[w1,w2],
with 3dB bandpass w1<w<w2 in unit of pi. Function [b,a] = BUTTER(N,wn,’stop’)
Designs an order 2N bandstop filter if wn=[w1,w2] with 3dB stopband w1<w<w2 in unit of pi.
Function [N,wn] = Buttord(wp, ws, Rp, As) Similar discussions apply for cheby1, cheby2, and ellip functions with appr
opriate modifications.
Comparison of FIR vs. IIR Filters In the case of FIR filters these optimal filters are the equiripple
filters designed via the parks-McClellan algorithm, while in the case of IIR filters these are the elliptic filters.
For FIR filter the standard realization is the linear-phase direct form, while for elliptic filters cascade forms are widely used.
Comparisons: Multiplications per output sample For most applications IIR elliptic filter are desirable from the c
omputational point of view. If we take into account the phase equalizers, then FIR filter designs look good because of their exact linear-phase characteristics.
Readings and exercises Readings:
Text book: pp301~362 Chinese text book: pp.151~178
Exercises : 1. p8.1 3. p8.4 1. P8.7,8.11 2. P8.15,p8.21; 选 p8.23
That’s all!
The End
Thanks for your attention!
Thanks for your cooperation!