Design of IIR Filters: Difference Method, and The Bilinear Z-Transform
Design of IIR Filters: Difference Method, and The Bilinear Z-Transform
Design of IIR Filters: Difference Method, and The Bilinear Z-Transform
Chapter 5
Design of IIR Filters
5.1 Introduction
IIR filter design primarily concentrates on the magnitude response of the filter and regards the phase response as
secondary. The most common design method for digital IIR filters is based on designing an analogue IIR filter and then
converting it to an equivalent digital filter.
There are many classes of analogue low-pass filter, such as the Butterworth, Chebyshev and Elliptic filters. The classes
differ in their nature of their magnitude and phase responses. The design of analogue filters other than low-pass is based
on frequency transformations, which produce an equivalent high-pass, band-pass, or band-stop filter from a prototype
low-pass filter of the same class. The analogue IIR filter is then converted into a similar digital filter using a relevant
transformation method. There are three main methods of transformation, the impulse invariant method, the backward
difference method, and the bilinear z-transform.
The finite difference equation and transfer function of an IIR filter is described by Equation 3.3 and Equation 3.4
respectively. In general, the design of an IIR filter usually involves one or more strategically placed poles and zeros in
the z-plane, to approximate a desired frequency response. An analogue filter can always be described by a frequency-
domain transfer function of the general form, shown in Equation 5.1.
( s − z1 )( s − z 2 )( s − z3 ) ⋅ ⋅ ⋅
H ( s) = K (5.1)
( s − p1 )( s − p 2 )( s − p3 ) ⋅ ⋅ ⋅
Where s is the Laplace variable and K is a constant, or gain factor. The filter is characterised by its poles p1, p2, p3…,
and its zeros z1, z2, z3…, which can be plotted in the complex s-plane. The frequency response of the filter H(ω), can be
obtained by replacing s = j ω into Equation 5.1. The complete response of the filter is then generated by varying ω in
Equation 5.2 between 0 and ∞.
( jω − z1 )( jω − z 2 )( jω − z 3 ) ⋅ ⋅ ⋅
H (ω ) = K (5.2)
( jω − p1 )( jω − p 2 )( jω − p3 ) ⋅ ⋅ ⋅
Chebyshev filter
0.707
H(ω)
Ideal low-pass filter Butterworth filter
Elliptic filter
0
ωo
Frequency ω
z −1
F ( z) = (5.3)
z +1
to give the following function of z:
z − 1 z − 1 z − 1
z + 1 − z 1 z + 1 − z 2 z + 1 − z 3 ⋅ ⋅ ⋅
H (z ) = K (5.4)
z − 1 z − 1 z − 1
z + 1 − p1 z + 1 − p 2 z + 1 − p 3 ⋅ ⋅ ⋅
The frequency response of this z-transfer function is obtained by substituting z = e jΩ in Equation (5.4). The result of
doing this is most easily seen by making this substitution first in the function F(z) in equation (5.3):
e jΩ − 1 e jΩ 2 − e − jΩ 2 j 2 sin (Ω 2 ) Ω
F (Ω) = = jΩ 2 = = j tan (5.7)
jΩ
e +1 e +e − jΩ 2
2 cos(Ω 2 ) 2
Substituting this into equation (5.4) we obtain:
H (Ω ) = K
[ j tan (Ω 2) − z1 ][ j tan (Ω 2) − z 2 ][ j tan (Ω 2) − z 3 ]⋅ ⋅ ⋅ (5.8)
[ j tan (Ω 2) − p1 ][ j tan (Ω 2) − p 2 ][ j tan (Ω 2) − p3 ]⋅ ⋅ ⋅
The frequency response of a desirable analogue filter was given by Equation (5.2). The function H(Ω) in equation (5.8)
takes all values of the frequency response of the analogue filter, but compressed into the range 0 ≤ Ω ≤ π. Note that the
compression of the frequency scale is non-linear. The shape of the tan function, as depicted in Figure 5.2, means that
the “warping” effect is small near Ω = 0, but increases greatly towards Ω = π/2.
Function ω=tan(Ω/2)
8
ω -2
-4
-6
-8
0 π/2 π 3π/2 2π
(Ω/2)
There are several advantages in using the bilinear z- transform. Firstly, the equiripple amplitude properties of the filters
are preserved when the frequency axis is compressed. Secondly, there is no aliasing of the original analogue frequency
response. As a result, the response of a low-pass filter falls to zero at Ω = π. This is an extremely important feature in
many practical applications. The principle of the bilinear z-transform, by making the substitution of Equation 5.6, is
illustrated in Figure 5.3 below. It shows that the imaginary axis in the s-plane (s = j ω) maps into the unit circle of the z-
plane.
Imag Imag
Real Real
s-plane z-plane
Figure 5.3: Illustration of s-plane to z-plane mapping using the bilinear z-transform.
The substitution maps the left-hand side of the s-plane to the inside of the unit circle in the z-plane. This ensures that the
Nyquist stability criterion is obeyed and therefore filter stability is preserved. To overcome the frequency “warping”
introduced by the bilinear z-transform, it is common practice to pre-warp the specification of the analogue filter, so that
after warping they will be located at the desired frequencies. For example, suppose we wish to design a digital low-pass
filter with a cut-off frequency Ωc. We first transform this frequency to the analogue-domain cut-off frequency ωac, using
the pre-warping relationship of Equation (5.9).
Ω 2
ω ac = k ⋅ tan c k =1 or (5.9)
2 T
We then proceed to design the analogue filter using the corresponding cut-off frequency, obtained from Equation (5.9).
After the analogue filter has been transformed using the bilinear z-transform, the resulting digital filter will have its cut-
off frequency in the correct place. Since pre-warping is performed in the beginning of the design procedure, and bilinear
transformation is performed at the end, the value of k is immaterial.
s
Low-pass to Low-pass transformation: s⇒ (5.10)
ω ac
ω ac
Low-pass to High-pass transformation s⇒ (5.11)
s
s 2 + ω 1ω 2
Low-pass to Band-pass transformation s⇒ (5.12)
(ω 2 − ω 1 ) s
(ω 2 − ω 1 ) s
Low-pass to Band-stop transformation s⇒ (5.13)
s 2 + ω 1ω 2
• Obtain the equivalent analogue filter cut-off frequency ωac using the pre-warping function of Equation 5.9.
• Denormalise the analogue filter by frequency scaling H(s), with one of the appropriate frequency transformations
e.g. s ⇒ s/ ωac etc.
• Apply the bilinear z-transform to obtain the digital filter transfer function H(z) by replacing s with (z - 1)/(z + 1).
5.6.1 Example
Design a digital filter equivalent of a 2nd order Butterworth low-pass filter with a cut-off frequency fc = 100 Hz and a
sampling frequency fs = 1000 samples/sec. Derive the finite difference equation and draw the realisation structure of the
filter. Given that the analogue prototype of the frequency-domain transfer function H(s) for a Butterworth filter is:
1
H (s) = 2
s + 2 ⋅ s +1
The normalised cut-off frequency of the digital filter is given by the following equation:
2πf c 2π 100
Ωc = = = 0.628
fs 1000
Now determine the equivalent analogue filter cut-off frequency ωac, using the pre-warping function of Equation 5.9.
The value of K is immaterial so let K = 1.
Ω 0.628
ω ac = K ⋅ tan c = 1 ⋅ tan
2 2
Now denormalise the frequency-domain transfer function H(s) of the Butterworth filter, with the corresponding low-
pass to low-pass frequency transformation of Equation 5.10. Hence the transfer function of the Butterworth filter
becomes:
1
H ( s) = 2
s s
0.325 + 2 ⋅ 0.325 + 1
Next, convert the analogue filter into an equivalent digital filter by applying the bilinear z-transform. This is achieved
by making a substitution for s in the transfer function.
z − 1 1 − z −1
s= ≡
z + 1 1 + z −1
1
H ( z) = 2
1 1 − z
−1
2 1 − z −1
⋅ −1
+ ⋅ −1
+1
0.325 2 1 + z 0.325 1 + z
The transfer equation H(z) above, resembles the direct structure of Equation 3.13, from Chapter 3. So the realisation of
this filter follows the same format as Figure 3.9, where the corresponding coefficients a1, a2, b0, b1, and b2 are taken
from the Equation above.
0.067
x[n] + + y[n]
z-1
1.1429 0.135
+ +
z-1
-0.4127 0.067
Figure 5.4: Direct realisation for a 2nd order Butterworth equivalent filter.
complex conjugate pair) at the locations z = r·exp(jθ) and z = r·exp(-jθ). In addition, it also has two zeros at the origin z
= 0.
(a )
4
(a ) r = 0 .9 , θ = 0
3
h [n ] 2
0
0 50 100 150 200 250 300 350 400 450 500
n
100
80
60
H (Ω )
40
20
0
0 π
(b )
4
(b ) r = 0 .9 9 , θ = 2 5
2
h [n ] 0
-2
-4
0 50 100 150 200 250 300 350 400 450 500
n
150
100
H (Ω )
50
0
0 π
(c )
1
(c) r = 0 .8 , θ = 1 10
0 .5
h [n ] 0
-0 .5
-1
0 50 100 150 200 250 300 350 400 450 500
n
3
2
H (Ω )
1
0
0 π
(d )
4
(d ) r = 0 .9 , θ = 18 0
2
h [n ] 0
-2
-4
0 50 100 150 200 250 300 350 400 450 500
n
100
80
60
H (Ω )
40
20
0
0 π
Figure 5.5: The impulse and frequency responses of several second-order systems.
1
H 1 ( z) = (5.14)
1 − αz −1
1
H 2 (z) = (5.15)
[1 − r ⋅ exp( jθ ) z ][1 − r ⋅ exp(− jθ ) z −1 ]
−1
By using the trigonometric representation of the exponential function, Equation 5.15 can be re-written as Equation 5.16,
after multiplying out the denominator.
1
H 2 ( z) = (5.16)
[1 − 2r ⋅ cosθ ⋅ z −1 + r 2 ⋅ z −2 ]
By changing the parameters r and θ, the impulse response h[n] and frequency response magnitude H(Ω) vary. Some
typical results are illustrated in Figure 5.3 for various second-order systems. In illustration (a) of Figure 5.3, the values
of r = 0.9, θ = 0 show that this configuration is a low-pass system with a second-order pole on the real axis in the z-
plane. The choice of r = 0.9 gives a moderately selective frequency response. In illustration (b), r = 0.99 and θ = 25 deg.
The poles are now much closer to the unit circle, giving a very selective frequency-domain characteristic H(Ω). In
the time-domain, the impulse response is prolonged, with the frequency of oscillation corresponding to θ = 25 deg,
which relates to 14 Hz. Diagram (c) illustrates the results for r = 0.8, θ = 110 deg. This system is much less selective in
the frequency domain, so its impulse response is short. Finally, (d) has r = 0.9 and θ = 180 deg, producing a high-pass
counterpart of the low-pass system shown in (a), but with the frequency response centered at Ω = π.
following output of a 1st order IIR filter, as shown in Figure 5.6, with a 4-bit data and register length. Notice how the
output oscillates between [-2, 2].
6
y(n) = x(n) –0.75y(n-1)
0
2 4 6 8
-2
-4
-6
Low-level limit cycles, as illustrated by Figure 5.6, can be reduced by using longer registers or by adding a dither signal
before rounding. In addition, arithmetic round off can also be reduced by utilising feedback and feedforward paths in
the 2nd order section, often known as error spectral shaping (ESS).
Real
b δ1
Figure 5.7: A single pole at z = b in the z domain, and a zero at the origin.
The z-transfer function of this first-order filter is given by the equation below:
1
H ( z) =
(1 − bz −1 )
The change δ1 in b that would cause the pole to lie at z = 1, is defined below:
1 − (b + δ 1 ) z −1 = 0
1 − (b + δ 1 ) = 0
δ1 = 1− b
As an example, let us assume that the position of the pole was located at b = 0.95. Then, from the equation above, δ1 =
0.05. Now let us assume that the specification of the filter coefficient is not permitted to exceed 1% of the value of δ1.
Therefore the precision of the filter coefficient has to be accurate to within 0.0005. The minimum number of bits that is
required to meet this specification, after rounding, is given below:
1 log10 (2000)
x = log 2 = log 2 (2000 ) = = 10.966 ≈ 11
0.0005 log10 (2)
Furthermore, an additional bit has to be added to x for the mantissa (or sign) of the filter coefficient, so the total number
of bits required to meet this specification is 12.
1 1 1
H ( z) = −1 2
= −1 2 −2
=
(1 − bz ) 1 − 2bz + b z 1 + a1 z + a 2 z − 2
−1
The δ2 change in coefficient a1 that would cause one of the two poles to lie at z = 1, is defined by equation
1 + (a1 + δ 2 ) z −1 + a2 z −2 = 0 , evaluated at z = 1 :
1 + (a1 + δ 2 ) + a2 = 0
δ 2 = −(0.05) 2 = −0.0025
with a corresponding coefficient wordlength requirement of:
1 log10 (40000)
x = log 2 = log 2 (4000 ) = = 15.287 ≈ 16 (+1 for the sign bit)
0.000025 log10 ( 2)
We can therefore conclude that fewer bits are required by implementing the filter as a cascade of two first-order
sections rather than a single second-order section. It is fairly easy to generalise this result to higher orders and state that
implementing a digital filter as a cascade of first or second-order sections always results in shorter coefficient
wordlength requirements than if it were implemented as a single high order section.
1 1
H ( z) = −1 −2
= where r = a 20.5 and θ = cos −1 (− a1 2r )
1 + a1 z + a 2 z [1 − 2r ⋅ cosθ ⋅ z −1 + r 2 ⋅ z − 2 ]
For stability the poles must lie within the unit circle, satisfying the conditions:
0 ≤ a 2 < 1 and a1 ≤ 1 + a2 (derivation not given here, and is not required for this course)
As an example, let us consider the second-order Butterworth filter designed in section 5.6.1. The coefficient values
turned out to be a1= -1.1429 and a2 = 0.4127. Calculate δ1 and δ2 (corresponding to the two conditions above) that
would put the poles on the unit circle.
2
π Real
Figure 5.8: A complex conjugate pole pair and a double zero at the origin.
Now let us assume that the specification of the filter coefficient is not permitted to exceed 1% of the lowest value of δ
(δ2 = 0.2698). Therefore the precision of the filter coefficient has to be accurate to within 0.002698. The minimum
number of bits that is required to meet this specification, after rounding up, is given below:
1.1429 2
⇒ = 741.2898 = 2 x
0.002698 0.002698
log10 (741.2898)
x= = 9.5339 = 10 (rounded up)
log10 (2)
Furthermore, an additional bit has to be added to x for the mantissa (or sign) of the filter coefficient, so the total number
of bits required to meet this specification is 11.