Analog IIR Filter Design
Commonly used analog filters :
1
• Lowpass Butterworth filters G ( jω ) = H ( j ω ) =
2
ω 2N
all-pole filters characterized 1+ ( )
ωc
by magnitude response. 1
G ( s) = H ( s) H (− s) =
(N=filter order) − s2
1+ ( )N
ωc2
Poles of H(s)H(-s) are equally spaced points on a circle of
radius ω c in s-plane
|ωc |
poles of H(s) N=4
Butterworth Filters
• Lowpass Butterworth filters
monotonic in pass-band & stop-band
ωc
`maximum flat response’: (2N-1) derivatives are zero at
ω = 0 and ω = ∞
Analog IIR Filter Design
Commonly used analog filters :
• Lowpass Chebyshev filters (type-I)
all-pole filters characterized by magnitude response
1 (N=filter order)
G ( jω ) = H ( jω ) =
2
ω
1+ ε T ( )
2 2
N
ωc
G ( s ) = H ( s ) H (− s ) T0 ( x) = 1
T1 ( x) = x
ε is related to passband ripple
T
TN (x) are Chebyshev polynomials: 2 ( x ) = 2 x 2
−1
...
TN ( x) = 2 xTN −1 ( x) − TN − 2 ( x)
Chebyshev & Elliptic Filters
• Lowpass Chebyshev filters (type-I)
– All-pole filters, poles of H(s)H(-s) are on ellipse in s-plane
– Equiripple in the pass-band
– Monotone in the stop-band
• Lowpass Chebyshev filters (type-II)
– Pole-zero filters based on Chebyshev polynomials
– Monotone in the pass-band
– Equiripple in the stop-band 1
H( jω) =
2
ω
1+ ε 2UN ( )
• Lowpass Elliptic (Cauer) filters ωc
– Pole-zero filters based on Jacobian elliptic functions
– Equiripple in the pass-band and stop-band
– (hence) yield smallest-order for given set of specs
Analog IIR Filter Design
Frequency Transformations :
• Principle : prototype low-pass filter (e.g. cut-off frequency
= 1 rad/sec) is transformed to properly scaled low-pass,
high-pass, band-pass, band-stop,… filter
s
• example: replacing s by ω moves cut-off frequency to ω C
C
• example: replacing s by ω C turns LP into HP, with cut-off ω C
frequency s
s 2 + ω1ω2
• example: replacing s by turns LP into BP
s (ω2 − ω1 )
Analog -> Digital
• Principle :
– design analog filter (LP/HP/BP/…), and then convert it to a
digital filter.
• Conversion methods:
– convert differential equation into difference equation
– convert continuous-time impulse response into discrete-
time impulse response
– convert transfer function H(s) into transfer function H(z)
• Requirement:
– the left-half plane of the s-plane should map into the
inside of the unit circle in the z-plane, so that a stable
analog filter is converted into a stable digital filter.
Analog -> Digital
(I) convert differential equation into difference equation :
– in a difference equation, a derivative dy/dt is replaced by a
‘backward difference’ (y(kT)-y(kT-T))/T=(y[k]-y[k-1])/T,
where T=sampling interval.
– similarly, a second derivative, and so on.
– eventually (details omitted), this corresponds to replacing s by
(1-1/z)/T in Ha(s) (=analog transfer function) : H ( z ) = H a ( s ) 1− z −1
s=
T
jw j
s-plane z-plane
s = 0 ⇒ z =1
1 s=∞⇒ z=0
– stable analog filters are mapped into stable digital filters, but
pole location for digital filter confined to only a small region
(o.k. only for LP or BP)
Analog -> Digital
(II) convert continuous-time impulse response into discrete-time
impulse response :
– given continuous-time impulse response hc(t), discrete-time impulse
response is h[k ] = hc (kTd ) where Td=sampling interval.
– eventually (details omitted) this corresponds to a (many-to-one)
mapping
jw j
z=e sTd
s-plane z-plane
s = 0 ⇒ z =1 1
s = ± j π / Td ⇒ z = − 1
– aliasing (!) if continuous-time response has significant frequency
content above the Nyquist frequency (i.e. not bandlimited)
Example: Filter Design by
Impulse Invariance
Many-to-one mapping
Example: A Low-Pass Filter
Then
By using Butterworth filter, then
Consequently,
Then
N=5.8858
Since N must be integer. So, N=6. And we obtain Ωc=0.7032
We can obtain 12 poles of |Hc(s)|2. They are uniformly distributed in
angle on a circle of radius Ωc=0.7032
K0=0.12093
Discrete Filter
Analog -> Digital
• (III) convert continuous-time system transfer function into
discrete-time system transfer function : Bilinear Transform
– mapping that transforms (whole!) jw-axis of the s-plane into
unit circle in the z-plane only once, i.e. that avoids aliasing of
the frequency components.
s = 0 ⇒ z =1
H ( z ) = H a ( s ) s = 2 ( 1− z
−1
T 1+ z −1
) s = j.∞ ⇒ z = −1
jw j
s-plane z-plane
1
– for low-frequencies, this is an approximation of z = e
sT
– for high frequencies : significant frequency compression
(`warping’)
Non-linear transform
– sometimes pre-compensated by ‘pre-warping’
The bilinear transformation avoids
the problem of aliasing problem
because it maps the entire
imaginary axis of the s-plane onto
the unit circle in the z-plane. The
price paid for this, however, is the
nonlinear compression the
frequency axis (warping).
Conclusions/Software
• IIR filter design considerably more complicated
than FIR design (stability, phase response, etc..)
• (Fortunately) IIR Filter design abundantly available
in commercial software
• Matlab:
[b,a]=butter/cheby1/cheby2/ellip(n,…,Wn),
IIR LP/HP/BP/BS design based on analog prototypes, pre-warping,
bilinear transform, …