IIR Filter Design
(i) Ability to design analog Butterworth filters
(ii) Ability to design lowpass IIR filters according to
predefined specifications based on analog filter theory and
analog-to-digital filter transformation
(iii) Ability to construct frequency-selective IIR filters based
on a lowpass IIR filter
Steps in Infinite Impulse Response Filter Design
The system transfer function of an IIR filter is:
(11.1)
The task in IIR filter design is to find and such that
satisfies the given specifications.
Once is computed, the filter can then be realized in
hardware or software according to a direct, canonic,
cascade or parallel form
We make use of the analog filter design to produce the
required
analog-to-digital
analog lowpass frequency band
filter
filter filter design transformation
transformation
specifications
Fig.11.1: Steps in determining transfer function of IIR filter
Note that is the Laplace transform parameter and
substituting in yields the Fourier transform of
the filter, that is,
Main drawback is that there is no control over the phase
response of , implying that the filter requirements can
only be specified in terms of magnitude response
Butterworth Lowpass Filter Design
In analog lowpass filter design, we can only specify the
magnitude of . Typically, we employ the magnitude
square response, that is, :
passband transition stopband
Fig.11.2: Specifications of analog lowpass filter
Passband corresponds to where is the passband
frequency and is called the passband ripple
Stopband corresponds to where is the
stopband frequency and is called the stopband
attenuation
Transition band corresponds to
The specifications are represented as the two inequalities:
(11.2)
and
(11.3)
In particular, at and , we have:
(11.4)
and
(11.5)
Apart from and , it is also common to use their
respective dB versions, denoted by and :
(11.6)
and
(11.7)
The magnitude square response of a th-order Butterworth
lowpass filter is:
(11.8)
The filter is characterized by and , which represent the
cutoff frequency and filter order
at and at for all
is a monotonically decreasing function of
frequency which indicates that there is no ripple
filter shape is closer to the ideal response as increases,
although the filter with order of is not realizable.
Fig.11.3: Magnitude square responses of Butterworth lowpass filter
To determine , we first make use of its relationship with
:
(11.9)
From (11.8)-(11.9), we obtain:
(11.10)
The poles of , denoted by , ,
are given as:
(11.11)
-plane -plane
Fig.11.4: Poles of Butterworth lowpass filter
are uniformly distributed on a circle of radius with
angular spacing of in the -plane
poles are symmetrically located with respect to the
imaginary axis
there are two real-valued poles when is odd
To extract from (11.10), we utilize the knowledge that
all poles of a stable and causal analog filter should be on
the left half of the -plane. As a result, is:
(11.12)
Example 11.1
The magnitude square response of a Butterworth lowpass
filter has the form of:
Determine the filter transfer function .
Expressing as:
From (11.8), and
From (11.11):
Finally, we apply (11.12) to obtain:
To find and given the passband and stopband
requirements in terms of , , and , we exploit
(11.4)-(11.5) together with (11.6)-(11.7) to obtain
(11.13)
and
(11.14)
Solving (11.13)-(11.14) and noting that should be an
integer, we get
(11.15)
where rounds up to the nearest integer.
The is then obtained from (11.13) or (11.14) so that the
specification can be exactly met at or , respectively
From (11.13), is computed as:
(11.16)
From (11.14), is computed as:
(11.17)
As a result, the admissible range of is:
(11.18)
Example 11.2
Determine the transfer function of a Butterworth lowpass
filter whose magnitude requirements are ,
, dB and dB.
Employing (11.15) yields:
Putting in (11.18), the cutoff frequency is:
For simplicity, we select . Using Example 11.1, the
filter transfer function is:
Magnitude Square Response
0
-8
-16
-50
0 4 6 20
/
Fig.11.5: Magnitude square response of Butterworth lowpass filter
The command freqs, which is analogous to freqz, is used to
plot
Analog-to-Digital Filter Transformation
Typical methods include impulse invariance, bilinear
transformation, backward difference approximation and
matched- transformation
Their common feature is that a stable analog filter will
transform to a stable system with transfer function .
Left half of -plane maps into inside of unit circle in -plane
Each has its pros and cons and thus optimal transformation
does not exist
Impulse Invariance
The idea is simply to sample impulse response of the analog
filter to obtain the digital lowpass filter impulse
response
The relationship between and is
(11.19)
where is the sampling interval
Why there is a scaling of T ?
With the use of (4.5) and (5.3)-(5.4), is:
(11.20)
where the analog and digital frequencies are related as:
(11.21)
The impulse response of the resultant IIR filter is similar to
that of the analog filter
Aliasing due to the overlapping of which
are not bandlimited. However, corresponds to a
lowpass filter and thus aliasing effect is negligibly small
particularly when is chosen sufficiently small.
To derive the IIR filter transfer function from ,
we first obtain the partial fraction expansion:
(11.22)
where are the poles on the left half of the -plane
The inverse Laplace transform of (11.22) is given as:
(11.23)
Substituting (11.23) into (11.19), we have:
(11.24)
The transform of is:
(11.25)
Comparing (11.22) and (11.25), it is seen that a pole of
in the -plane transforms to a pole at in the -
plane:
(11.26)
Expressing :
(11.27)
where is any integer, indicating a many-to-one mapping
Each infinite horizontal strip of width maps into the
entire -plane
maps to , that is, axis in the -plane
transforms to the unit circle in the -plane
maps to , stable produces stable
maps to , right half of the -plane maps into the
outside of the unit circle in the -plane
-plane -plane
Fig.11.6: Mapping between and in impulse invariance method
Given the magnitude square response specifications of
in terms of , , and , the design procedure
for based on the impulse invariance method is
summarized as the following steps:
(i) Select a value for the sampling interval and then
compute the passband and stopband frequencies for the
analog lowpass filter according to and
(ii) Design the analog Butterworth filter with transfer
function according to , , and
(iii)Perform partial fraction expansion on as in (11.22)
(iv)Obtain using (11.25)
Example 11.3
The transfer function of an analog filter has the form of
Use impulse invariance method with sampling interval
to transform to a digital filter transfer function .
Performing partial fraction expansion on :
Applying (11.25) with yields
Example 11.4
Determine the transfer function of a digital lowpass
filter whose magnitude requirements are , ,
dB and dB. Use the Butterworth lowpass filter
and impulse invariance method in the design.
Selecting the sampling interval as , the analog
frequency parameters are computed as:
and
Using Example 11.2, a Butterworth filter which meets the
magnitude requirements are:
Performing partial fraction expansion on with the use
of the MATLAB command residue, we get
Applying (11.25) with yields
The MATLAB program is provided as ex11_4.m.
Bilinear Transformation
It is a conformal mapping that maps the axis of the -
plane into the unit circle of the -plane only once, implying
there is no aliasing problem as in the impulse invariance
method
It is a one-to-one mapping
The relationship between and is:
(11.28)
Employing , can be expressed as:
(11.29)
maps to , that is, axis in the -plane
transforms to the unit circle in the -plane
maps to , stable produces a stable
maps to , right half of the -plane maps into the
outside of the unit circle in the -plane
-plane -plane
Fig.11.8: Mapping between and in bilinear transformation
H. C. So Page 34 Semester B 2011-2012
Although aliasing is avoided, the drawback of the bilinear
transformation is that there is no linear relationship
between and
Putting and in (11.28), and are related as:
(11.30)
Given the magnitude square response specifications of
in terms of , , and , the design procedure
for based on the bilinear transformation is
summarized as the following steps:
(i) Select a value for and then compute the passband and
stopband frequencies for the analog lowpass filter
according and
(ii) Design the analog Butterworth filter with transfer
function according to , , and .
(iii)Obtain from using the substitution of (11.28).
Example 11.5
The transfer function of an analog filter has the form of
Use the bilinear transformation with to transform
to a digital filter with transfer function .
Applying (11.28) with yields
Example 11.6
Determine the transfer function of a digital lowpass
filter whose magnitude requirements are , ,
dB and dB. Use the Butterworth lowpass filter
and bilinear transformation in the design.
Selecting , the analog frequency parameters are
computed according to (11.30) as:
and
Employing (11.15) yields:
Putting in (11.18), the cutoff frequency is:
For simplicity, is employed.
Following (11.11)-(11.12):
Finally, we use (11.28) with to yield
Frequency Band Transformation
The operations are similar to that of the bilinear
transformation but now the mapping is performed only in
the -plane:
(11.31)
where and correspond to the lowpass and resultant
filters, respectively, and denotes the transformation
operator.
To ensure the transformed filter to be stable and causal, the
unit circle and inside of the -plane should map into those
of the -plane, respectively.
Filter Transformation Operator Design Parameter
Type
Lowpass
Highpass
Bandpass
Bandstop
Table 11.1: Frequency band transformation operators
Example 11.7
Determine the transfer function of a digital highpass
filter whose magnitude requirements are , ,
dB and dB. Use the Butterworth lowpass filter
and bilinear transformation in the design.
Using Example 11.6, the corresponding lowpass filter
transfer function is:
Assigning the cutoff frequencies as the midpoints between
the passband and stopband frequencies, we have
With the use of Table 11.1, the corresponding value of is:
which gives the transformation operator:
As a result, the digital highpass filter transfer function is:
2. Analog Filter Design
Decades of analysis of transistor-based
filters – sophisticated, well understood
Basic choices:
ripples vs. flatness in stop and/or passband
more ripples narrower transition band
Family PB SB
Butterworth flat flat
Chebyshev I ripples flat
Chebyshev II flat ripples
Elliptical ripples ripples
10
CT Transfer Functions
Analog systems: s-transform (Laplace)
Continuous-time Discrete-time
Transform H a (s) = ha (t )e st
dt H d (z ) = hd [n] z n
Frequency
response H a ( j) Hd e( )j
Im{s} Im{z}
j ej
Pole/zero Re{z}
diagram Re{s}
1
stable s-plane stable z-plane
poles poles
Dan Ellis 2005-11-10 11
Butterworth Filters
Maximally flat in pass and stop bands
Magnitude 1 filter
response (LP): H a ( j) =
2
order
( )
2N N
1+ c
<<c,
|Ha(j)|2 1
= c,
|Ha(j)|2 = 1/2
3dB point
12
Butterworth Filters 6N dB/oct
rolloff
>>c, |Ha(j)|2 (c/)2
Log-log
magnitude
response
n
d
H a ( j) = 0
2
flat n
d
@ = 0 for n = 1 .. 2N-1
13
Butterworth Filters
How to meet design specifications?
1 1
( ) 1+2
p 2N
1+ c
Design
Equation
( )
1 1
2 1
2
A
1 log10 2
1+( )
s 2N A N
c
( )
2 log10 s
p
p
k1 = k=
A 1
2
s
=“discrimination”, <<1 =“selectivity”, < 1
14
Butterworth Filters
1
H a ( j) =
2
but what is Ha(s)?
1+ ( )2 N
c
Traditionally, look it up in a table
calculate N normalized filter with c = 1
scale all coefficients for desired c
Im{s}
1
In fact, H a ( s ) = c
i(s pi ) Re{s}
s 2N
= 1
j N +2 i1
where pi = c e 2N
i = 1..N c
s-plane
15
Butterworth Example
Design a Butterworth
filter with 1 dB cutoff
at 1kHz and a
minimum attenuation
of 40 dB at 5 kHz
1
1dB = 20 log10 = 0.259
2
1+ 2
9999
40dB = 20 log10 A A = 100
1 log
N 21 10 0.259
s log10 5
=5
p N = 4 3.28
16
Butterworth Example
Order N = 4 will satisfy constraints;
What are c and filter coefficients?
from a table, -1dB = 0.845 when c = 1
c = 1000/0.845 = 1.184 kHz
from a table, get normalized coefficients for
N = 4, scale by 1184·2
Or, use Matlab:
[b,a] =
butter(N,Wc,’s’);
17
M
Chebyshev I Filter
Equiripple in passband (flat in stopband)
minimize maximum error
1
H a ( j)
2
=
1+ 2TN2 (p )
Chebyshev
polynomial TN () =
(
cos N cos1 ) 1
of order N (
cosh N cosh 1 ) >1
18
Chebyshev I Filter
Design procedure:
desired passband ripple
min. stopband atten., p, s N :
1 1 1
= =
[
A 1+ TN ( p ) 1+ 2 cosh N cosh 1 s
( )]
2 2 2 s 2
p
N
cosh 1
( A 2 1
) 1/k1, discrimination
1 s
cosh p ( ) 1/k, selectivity
19
Chebyshev I Filter
What is Ha(s)?
complicated, get from a table
.. or from Matlab cheby1(N,r,Wp,’s’)
all-pole; can inspect them:
..like squashed-in Butterworth
20
Chebyshev II Filter
Flat in passband, equiripple in stopband
1
H a ( j) =
2
constant
T ( s )
2
2 N p
1+
TN (s )
~1/TN(1/)
zeros on imaginary axis
Filter has poles and zeros (some )
Complicated pole/zero pattern
21
Elliptical (Cauer) Filters
Ripples in both passband and stopband
1
H a ( j)
2
=
1+ 2 RN2 (p )
function; satisfies
RN(-1) = RN()-1 very narrow
zeros for <1 poles for >1 transition band
Complicated; not even closed form for
22
Analog Filter Types Summary
N=6
r = 3 dB
A = 40 dB
23