0% found this document useful (0 votes)
223 views36 pages

IIR Filter Design Techniques Explained

This document discusses the design of infinite impulse response (IIR) digital filters using analog prototype filters. It describes how analog lowpass filters like Butterworth, Chebyshev, and Elliptical filters can be used as prototypes, then mapped to the digital domain using the impulse invariant or bilinear transformation methods. As an example, it shows the detailed design of a 6th order Butterworth IIR lowpass filter with specified passband and stopband cutoff frequencies.

Uploaded by

muniraeva
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
223 views36 pages

IIR Filter Design Techniques Explained

This document discusses the design of infinite impulse response (IIR) digital filters using analog prototype filters. It describes how analog lowpass filters like Butterworth, Chebyshev, and Elliptical filters can be used as prototypes, then mapped to the digital domain using the impulse invariant or bilinear transformation methods. As an example, it shows the detailed design of a 6th order Butterworth IIR lowpass filter with specified passband and stopband cutoff frequencies.

Uploaded by

muniraeva
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

6-1

6. Design of IIR Filters


Reference: Sections 7.1 of Text
A digital filter, ( )
j
H e

, with infinite impulse response (IIR), can be
designed by first transforming it into a prototype analog filter ( )
c
H j
and
then design this analog filter using a standard procedure. Once the analog
filter is properly designed, it is then mapped back to the discrete-time
domain to obtain a digital filter that meets the specifications.
The commonly used analog filters are
1. Butterworth filters no ripples at all,
2. Chebychev filters - ripples in the passband OR in the stopband, and
3. Elliptical filters - ripples in BOTH the pass and stop bands.
The design of these filters are well documented in the literature.
A disadvantage of IIR filters is that they usually have nonlinear phase.
Some minor signal distortion is a result.
There are two main techniques used to design IIR filters:
1. The Impulse Invariant method, and
2. The Bilinear transformation method.
6-2
6.1 The Impulse Invariant Method
In the impulse invariant method, the impulse response of the digital filter,
[ ] h n , is made (approximately) equal to the impulse response of an analog
filter,
( )
c
h t
, evaluated at
d
t nT
, where
d
T
is an (abitrary) sampling period.
Specifically
[ ] ( )
d c d
h n T h nT
From our discussion in Chapter 2,
( )
2
j
c
k
d d
k
H e H j j
T T

_
+

,

and aliasing would occur if ( )


c
H j
is not bandlimited to
/
d
T
(in rad/s).
If ( )
c
H j
is bandlimited to
/
d
T
, then
( ) ( )
/
j
c d
H e H j T


.
In this case, it is straight forward to specify the prototype analog filter.
However, all the commonly used prototype analog filters used in the
impulse invariant design method are indeed non-bandlimited. So there is
aliasing. However, the aliasing can be minimized if we over-design the
analog filter (especially in the stop band).
The picture below illustrates the design procedure. We first specify the
digital filter as shown in the first diagram. Then we map the digital
6-3
frequency

onto the analog frequency


/
d
T
and make
( )
( )
d
j T
c
H j H e


. Notice from the diagram that we can only control
the magnitude of the responses because of the nature of the analog filters
used.
Digital filter specifications
Prototype analog filter
1
1
1
( )
j
H e

1
1
1
( )
c
H j

p
d
T

s
d
T

d
T

6-4
Let
( )
c
H s
be the Laplace transform of
( )
c
h t
, where the complex number
s j +
is the Laplace domain variable. Assuming
( )
c
H s
has only single-order
poles
k
s
, then
1
( )
N
k
c
k
k
A
H s
s s

This implies
1
0
( )
0 0
k
N
s t
k
k
c
A e t
h t
t

'
<

,
( )
1
1
[ ] ( )
[ ]
[ ]
k d
k d
d c d
N
s nT
d k
k
N
n
s T
k d
k
h n T h nT
T A e u n
A T e u n

,
and
( )
( )
0 1
1
1 0
1
1
( ) [ ]



1
k d
k d
k d
n
n
N
n
s T n
k d
n k
N
n
s T
k d
k n
N
k d
s T
k
H z h n z
A T e z
A T z e
A T
z e

6-5
It is observed that the pole
k k k
s j +
in the s-plane is mapped into the
pole

k d
k d k d
s T
k
T j T
p e
e e

in the z-plane. If all the


k
s
s are on the left half of the s-plane, i.e.
0, 1,2,...,
k
k N <
, then all the
k
p
s are within the unit-circle in the z-
plane (i.e.
1
k
p <
). This means that a stable analog filter always yields a
stable digital filter with the impulse invariant method.
It should be emphasized that
d
sT
z e
in general.
Example: Design a digital low pass IIR filter with the following
specificiations:
( )
( )
0.89125 1, 0 0.2
0.17783, 0.3
j
j
H e
H e





Use the impulse invariant technique and an analog Butterworth filter.
Assume
1
d
T
and that there is minimal aliasing.
6-6
Solution
- with
1
d
T
, this means , and ( )
( )
j
c
H j H e


. Consequently, the
specifications of the analog prototype filter are
( )
( )
0.89125 1, 0 0.2
0.17783, 0.3
c
c
H j
H j



Notice that we did not specify an upperlimit for the stopband frequency.
- The magnitude square response of a Butterword filter of order N is
( )
2
2
1
( )
1
c
c N
H j


+
where
c
is the 3-dB frequency of the filter. It is observed that the
magnitude square response decreases monotonically with frequency.
The larger N is, the closer the Butterworth filter is to an ideal low pass
filter.
The term ( )
a
H j in this figure is the same as our ( )
c
H j
6-7
- The 3-dB frequency and the filter order N are solutions of the two
simultaneous equations:
2
2
2
2
0.2 1
1
.89125
0.3 1
1
.17783
N
c
N
c

_
_
+

,
,
_
_
+

,
,
The exact results are 5.8858 N and
.70474
c

. After rounding, we
have 6 N and
.7032
c

. This latter set of results means the passband
requirement is met exactly at
0.2
p

and met with margin at
0.3
s

. Specifically,
( 0.3 ) 0.1700 0.17783
c
H j <
.
- The next step is to find the poles of the Butterworth filter. Note that
( )
2
1
( ) ( )
1
c
c c
N
s
j
H s H s


1 +
]
has 2N poles whose locations in the s-plane are depicted in the diagram
below.
6-8
Mathematically, these poles are
2
0.7032exp ( 1) ; 1,2,...,2
12 2 12
k
r j k k N

_
+ +
' )

,

Half of these poles are the poles of the Butterworth filter. Specifically
we choose those
k
r
s on the left-half s-plane to be the poles of
( )
c
H s
.
Consequently the poles of
( )
c
H s
are
0.182 0.679
0.497 0.497
0.679 0.182
j
j
j
t
t
t
The poles of the corresponding digital filter are
0.649 0.524
0.535 0.290
0.499 0.092
j
j
j
t
t
t
- The transfer function of the Butterworth filter is
( )
( ) ( )( )
6 6
6
1
1
2 2 2
6
1
1
( )
1
0.12093

0.3640 0.4945 0.9945 0.4945 1.3585 0.4945

c
c
k
k
k
k
k
k
k
H s
s
s s
s
s s s s s s
A
s s

+ + + + + +

where the
k
A
s are the partial fraction expansion coefficients.
6-9
- The transfer function of the digital filter ( ) H z is (remember 1
d
T )
1
1
1 1
1 2 1 2
1
1 2
( )
1
0.2871 0.4466 2.1428 1.1455

1 1.2971 0.6949 1 1.0691 0.3699
1.8557 0.6303

1 0.9972 0.2570
k
N
k
s
k
A
H z
z e
z z
z z z z
z
z z

+
+
+ +

+
+

6-10
- If Matlab is used to design the above prototype analog filter, first set
10
Wp=0.2 0.62832
Ws=0.3 0.94248
Rp=20log (0.89125) 1
Rs=20log10(0.17783) 15



Then issue the Matlab command
[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s')
Matlab with return the filter order in N and its 3db frequency
c

in the
variable Wn. The results I got is N=6, Wp=0.70866. The latter result is
slightly different from
0.7032
c

.
The poles of the corresponding Butterworth filter can be obtained by
issuing the Matlab command
[Z,P,K]=butter(N,Wn,'s')
where the array Z contains the zeros, the array P contains all the poles,
and the variable K is the gain. The poles I obtained for this example are
-6.8451e-001 +1.8341e-001i
-6.8451e-001 -1.8341e-001i
-5.0109e-001 +5.0109e-001i
-5.0109e-001 -5.0109e-001i
-1.8341e-001 +6.8451e-001i
-1.8341e-001 -6.8451e-001i
which are slightly different from those in the text.
Finally use the matlab command impinvar to convert the analog
prototype filter into a corresponding digital filter.
6-11
Example: Repeat the last example using a Chebyshev filter.
- The magnitude square response of a N-th order Chebyshev filter with a
ripple parameter of

is
( )
2
2 2
1
( )
1
c
c
N
H j
V


+
,
where
( )
N
V x
is the N-th order Chebysheve polynomial, defined as
( )
1
( ) cos cos
N
V x N x

For example,
0
( ) 1 V x
,
1
( ) V x x ,
2
2
( ) 2 1 V x x . In general,
1 1
( ) 2 ( ) ( )
N N N
V x xV x V x
+

- It is observed that when
x
is between 0 and unity, ( )
N
V x varies between
0 and unity. However, when
x
is greater than 1,
1
cos x

is imaginary
and so ( )
N
V x behaves like a hyperbolic cosine and consequently
increases monotonically for
x
greater than unity. Consequently, the
magnitude response of a Chebyshev filter looks like the following
(correction: replace 1 by
2
1/ 1 + )
6-12
- We will design a Chebyshev filter such that the passband requirement is
met exactly at 0.2 . Consequently,
0.2
c

and
2
2
1
0.89125 , or 0.50885
1


+
.
- To determine the filter order N, we calculate
2
(0.3 )
c
H
for different
values of N and pick the smallest N that exceeds the specification. Note
that the requirement is
(0.3 ) 0.17783
c
H
or
2
(0.3 ) 0.031624
c
H
. It can
be shown that
2
2
3, (0.3 ) 0.04551
4, (0.3 ) 0.00694
c
c
N H
N H



Consequently the filter order is N=4.
- The poles of the Chebyshev filter lie on an ellipse in the s-plane with
minor axis
c
a
and major axis
c
b
, where
( )
1/ 1/
1
0.3646
2
N N
a


,
( )
1/ 1/
1
1.0644
2
N N
b

+
,
and
1 2
1 4.1702

+ +
.
The equation of this ellipse is given by
2 2
2 2 2 2
1
c c
a b

+

6-13
where
s j +
is the complex s variable. In addition to the above
ellipse, we defined the major circle as the circle centered at 0 s and
with a radius
c
b
. Similarly, the minor circle is the circle centered at
0 s and with a radius
c
a
To locate the poles, we first identify the points on the major and minor
circles that are equally spaced in angle with a spacing of / N and
arranged in such a way that the points are symmetrically located with
respect to the imaginary axis (but never fall on the imaginary axis) and a
point occurs on the real axis for N odd but not for N even.
The poles of a Chebyshev filter fall on the above ellipse with the
ordinate specified by the points identified on the major circle and the
abscissa specified by the points identified on the minor circle.
The diagram below illustrates how the poles can be located for the case
N=3.
An example for finding the poles of a Chebyshev filter with N=3.
It should be emphasized that only poles on the left-half plane are used in
the transfer function of the filter.
6-14
- Once all the 4 poles,
1 2 3 4
, , , s s s s
, are found, the transfer function of the
Chebyshev filter can be written as (please verify)
( )( )
4
1
4 2 2
2
1
1 0.038286
( )
0.4233 0.1103 0.1753 0.3894
1
( )
k
k
c
k
k
s
H s
s s s s
s s


+ + + +
+

The magnitude and phase of this transfer function are shown below
6-15
- If you use Matlab to determine this filter, first set
10
Wp=0.2 0.62832
Ws=0.3 0.94248
Rp=20log (0.89125) 1
Rs=20log10(0.17783) 15



and then issue the Matlab command
[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs,'s')
Finally complete the filter design by issuing the command
[Z,P,K]=cheby1(N,-Rp,Wn,s)
The zeros of the filter will be returned in the array Z, the poles stored in
P, and the gain stored in K. What I found for the poles were
-2.1166e-001 +2.5593e-001i
-2.1166e-001 -2.5593e-001i
-8.7673e-002 +6.1788e-001i
-8.7673e-002 -6.1788e-001I
and the gain was K=0.038286. There are no zeros. These results agree
with those obtained through analysis.
- The transfer function of the corresponding digital IIR filter is
1 1
1 2 1 2
0.08327 0.0239 0.08327 0.0246
( )
1 1.5658 0.6549 1 1.4934 0.8392
z z
H z
z z z z


+
+
+ +
- It is interesting to point out the Chebyshev filter has a lower order than
the Butterworth filter in the last example.
6-16
6.2 The Bilinear Transformation Method
In the impulse invariant method, aliasing occurs when the prototype analog
filter is transformed back into the digital filter. To reduce the distortion
introduced by aliasing, we start off by tightening the specifications on the
digital filter. This is somewhat cumbersome and may lead to several
iterations before the optimal filter is found.
Aliasing occurs because points in the axis separated by
2 /
d
T
are
mapped into the same digital frequency

. In the Bilinear transformation


method, there is a one-to-one correspondence between and

. So
aliasing is avoided in transforming the prototype analog filter back into the
digital filter.
Since

is limited to [ , ] but varies from to +, it becomes clear


that must be compressed when it is mapped to

. In other word,
Bilinear transformation is non-linear in nature.
Let ( )
c
H s be the transfer function of the protype analog filter. The transfer
function ( ) H z of the digital filter is obtained by substituting
1
1
2 1
1
d
z
s
T z

+
into the expression of ( )
c
H s . In other word
1
1
2 1
( )
1
c
d
z
H z H
T z


+
,
6-17
The Bilinear transformation can be written alterantively as:
( ) ( )
( )
1 1
1 1
1
2
2
1 2 1 , or
2 2 , or
2 2 , or
2
, or
2
1

1
d
d
d
d d
d d
d
d
sT
sT
z sT z
sT z sT z
sT z sT
sT
z
sT

+
+
+
+

If
s j +
, where is the analog frequency, then
( )
( )
( ) ( ) ( ) ( )
{ }
( ) ( ) ( ) ( )
{ }
{ }
2 2
2 2
2 2
2 2 2 2
2 2
2 2 2 2
1
1
1 exp arctan 1

1 exp arctan 1
exp
d d
d d
d d d d
d d d d
T T
T T
T T T T
T T T T
j
z
j
j
j
z j



+ +


1
+ + +
]

1
+
]

where
( ) ( )
( ) ( )
2 2
2 2
2 2
2 2
1
1
d d
d d
T T
T T
z

+ +

+
and
6-18
( ) ( ) ( ) ( )
2 2 2 2
arctan 1 arctan 1
d d d d
T T T T


1 1
+ +
] ]
are respectively the magnitude and phase of z .
Observations:
1. When 0 < ,
1 z <
. So left-plane poles of ( )
c
H s will be mapped into
poles within the unit circle in the z-plane. In other word, a stable
prototype analog filter will lead to a stable digital filter.
2. When 0 ,
1 z
. In other word, z lies on the unit circle and can be
written as
(when =0)
j
z e


where
2arctan
2
d
T




' )

represents the digital frequency. Alternatively, we can express the
analaog frequency in terms of the digital frequency as
2
tan
2
d
T


,
The figure below illustrates the relationship between and

. It is
clear that compression occurs in the mapping process.
These results indicate that the entire left-half s-plane is mapped into a
disc of radius 1 in the z-plane.
6-19
Example: Design a digital low pass filter with the following specifications
( )
( )
0.89125 1, 0 0.2
0.17783, 0.3
j
j
H e
H e





using the Bilinear transformation method and a Butterworth prototype
filter. Compare the results with those obtained through the impulse
invariant method.
Solution:
For simplicity, set
1
d
T
. So ( ) 2tan / 2
. This means the digital
passband and stopband frequencies,
6-20
0.2 , 0.3
p s

are mapped into the analog passband and stopband frequencies
( )
( )
2tan / 2 0.64984,
2tan / 2 1.0191
p p
s s



The specifications of the prototype analog filter become
( )
( )
0.89125 1, 0 0.64984
0.17783, 1.0191
c
c
H j
H j


Next we define the following Matlab variables
Rp=20log10(0.89125)=-1
Rs=20log10(0.17783)=-15
Wp=0.64984
Ws=1.0191
and issue the command [N,Wn]=buttord(Wp,Ws,Rp,Rs,s). Matlab will
return the order of the Butterworth filter in the variable N and the 3-db
frequency in the variable Wn. It was found that
N=6
Wn=0.76627
c

To complete the design of the protoype Butterworth filter, we next issue the
Matlab command [Z,P,K]=butter(N,Wn,s). The zeros of
( )
c
H s
will then
be returned in the array Z, the poles in the array P, and the filter gain (same
as
N
c

) in the variable K. It was found that there are no zeros, the poles are
6-21
-7.4016e-001 +1.9832e-001i
-7.4016e-001 -1.9832e-001i
-5.4183e-001 +5.4183e-001i
-5.4183e-001 -5.4183e-001i
-1.9832e-001 +7.4016e-001i
-1.9832e-001 -7.4016e-001I
and the gain is 0.20243. Denoting the poles as
1 2 6
, ,..., s s s
, the transfer
function of the Butterworth filter is
( ) ( )( )
6
1
2 2 2
K
( )
( )
0.20243

0.39665 0.58716 1.0837 0.58716 1.4803 0.58716
c
k
k
H s
s s
s s s s s s

+ + + + + +

This result is very close to that in Example 7.3 of the Text. Compared to
the result obtained under the impulse invariant method, we observe a
noticeable difference in
( )
c
H s
.
Finally, the last step in the design exercise is to map the above transfer
function into a digital filter using Bilinear transformation, i.e.
1
1
1
( ) 2
1
c
z
H z H
z


+
,
This can be done by using the Matlab command
[Zd,Pd,Kd]=bilinear(Z,P,K,1)
where Z, P, and K are same as before, 1 corresponds to the sampling
frequency
1/
d
T
, Zd is an array containing the zeros of ( ) H z , Pd is the array
6-22
storing the poles of ( ) H z , and Kd is the gain of ( ) H z . The results I
obtained are:
Kd= 0.00073798
Zd=
-1
-1
-1
-1
-1
-1
Pd =
4.5216e-001 +1.0510e-001i
4.5216e-001 -1.0510e-001i
5.0527e-001 +3.2087e-001i
5.0527e-001 -3.2087e-001i
6.3430e-001 +5.5026e-001i
6.3430e-001 -5.5026e-001I
Calling the 6 zeros as
1 2 6
, ,..., z z z
and the 6 poles as
1 2 6
, ,..., p p p
. Then the
transfer function of the digital filter ( ) H z can be written as
( )
( )
( )
( ) ( )
( )
6
1
1
6
1
1
6
1
1 2 1 2
1 2
1
( ) Kd
1
0.00073798 1

1 1.2686 0.70512 1 1.0105 0.35826
1

1 0.90433 0.21550
k
k
k
k
z z
H z
p z
z
z z z z
z z

+

+ +
+

The result is once again close to that in Example 7-3 of the text.
6-23
6.3 Frequency Transformation of Lowpass IIR Filters
So far, we focus our discussion on the design of lowpass IIR filters. How
about highpass, bandpass, and bandstop filters?
Frequency responses of lowpass, highpass, bandpass, and bandstop filters.
The impulse invariant method will not be suitable for the highpass and
bandstop filters because of heavy aliasing.
6-24
It is possible to get around the problem by first designing a digital
portotype lowpass filter and then perform an algebraic transformation on
the digital lowpass filter to obtain the desired frequency selective filter.
The tranfer function of the digital prototype low pass filter is denoted by
( )
lp
H p
where
p
plays the same role as z , the conventional z -transform
variable.
The transfer function of the desired frequency selective filter is denoted by
( ) H z .
We want to find a relationship between p and z, denoted by
( )
1 1
p G z

such that
( )
( )
1 1
( )
lp
p G z
H z H p

It should be emphasized that the transformation relates


1
p

to
1
z

, not p to
z. This is due to the fact that ( )
lp
H p
is usually expressed as a function in
1
p

instead of p.
We want a stable, rational ( )
lp
H p
be mapped into a stable rational ( ) H z .
Consequently, the requirements on the mapping function
( )
1 1
p G z

are:
1. ( )
1
G z

must be a rational function of


1
z

.
2. The inside of the unit circle in the p-plane is mapped into the inside of
the unit circle in the z-plane.
6-25
3. The unit circle in the p-plane is mapped into the unit circle in the z-
plane. So if and

are the frequency variables in the p-plane and the


z-plane, then
( )
j j
e G e

Consequently
( )
1
j
G e

and
( )
j
G e


R
.
The most general form of the function ( )
1
G z

that satisfies all the above


requirements is:
( )
1
1 1
1
1
; 1
1
N
k
k
k
k
z
p G z
z

t <

By choosing appropiate values for N and the


k

s, a variety of mappings
can be obtained.
Low-pass to Low-pass transformation:
1
1
1
1
z
p
z

This means the relationship between and

is
1
j
j
j
e
e
e

6-26
or
( ) ( )
( ) ( )
( ) ( )
2 2
2
1
1

1 1
2 1 cos( ) 1 sin( )

1+ 2 cos( )
j
j
j
j j
j j
e
e
e
e e
e e
j

+
+ +

+ +
+ + +

+
or
( )
( )
2
2
1 sin
arctan
2 1 cos

1
+ +
1
]
For a given pair of
p

and
p

, the parameter

is
( )
( )
sin / 2
sin / 2
p p
p p

1
+
]
It can be shown that the absolute value of

is less than 1.
6-27
Transformations from LP to LP, HP, BP, and BS filters are shown below:
The corresponding definitions of filter cutoff frequencies are shown in the
next page.
6-28
(a) low pass, (b) high pass, (c) bandpass, (d) bandstop.
6-29
Example: The prototype low pass filter
( ) ( )
1 4
1 2 1 2
0.001836(1 )
( )
1 1.5548 0.6493 1 1.4996 0.8482
lp
p
H p
p p p p

+ +
satisfies
( )
( )
0.89125 1, 0 0.2
0.17783, 0.3
j
j
H e
H e





Determine the corresponding high pass filter that satisfies the requirements
( )
0.89125 1; 0.6
j
H e


Solution:
The passband frequency of the high pass filter is
0.6
p

and the
passband frequency of the digital prototype filter is
0.2
p

. So according
to the design formula,
( )
( )
2
2
cos
0.38197
cos
p p
p p


This means
1 1
1
1 1
0.38197
1 1 0.38197
z z
p
z z


+ +

+
Consequently,
6-30
( ) ( )
( )
( ) ( )
1 1 1
0.38197 / 1 0.38197
4
1
1 2 1 2
( ) ( )
0.02426 1

1 1.0416 0.4019 1 0.5661 0.7647
lp
p z z
H z H p
z
z z z z

+

+ +
It should be pointed out that in actual design, the stopband frequency of the
digital prototype filter will be determined by the stopband frequency of the
high pass (or desired) filter. We assume in this example that the stop band
frequency of the high pass filter is mapped into
0.3
s

based on
0.38197.
6.4 Implementation Structures for IIR Filters
Reference: Section 6.3 of Text
The transfer function of an IIR filter can always be expressed as a ratio of
two polynomials, i.e.
( )
( )
( )
B z
H z
A z

,
where ( ) A z and ( ) B z are respectively polynomials of orders N and M
in
1
z

.
It is the denominator polynomial that makes the impulse response of the
filter infinitely long.
6-31
Different expressions for
( ) A z
,
( ) B z
, and
( ) H z
lead to different
implementation structures. For example, if these two polynomials are
written as
1
( ) 1
N
k
k
k
A z a z

and
0
( )
M
k
k
k
B z b z

,
then
0
1
( )
1
M
k
k
k
N
k
k
k
b z
H z
a z

.
This means in the time domain, the input [ ] x n
and the output [ ] y n of the
filter satisfies
1 0
[ ] [ ] [ ]
N M
k k
k k
y n a y n k b x n k


,
which is simply a linear constant coefficient different equation.
A a possible computational structure for [ ] y n is shown in the signal flow
graph in the next page. There, a branch with a transmittance of
1
z

is
equivalent to a delay of 1 sample, and a branch with a transmittance
i
a
(or
j
b
) implies a scaling of the signal at the originating node of that branch by
the constant
i
a
(or
j
b
). As in any signal flow graph, the signal at any node,
i.e. the node value, is the sum of products of the signal at an originating
node and the corresponding branch transmittance.
6-32
The above computational structure is called the Direct Form I
implementation of an IIR filter. Note that for simplicity, we assume that
the order of the numerator and denominator polynomials are identical, i.e.
N M .
It is observed that the Direct Form I implementation structure requires
2 1 N + multiplications, 2N additions, and 2N delay elements.
The number of delay elements can be reduced to N if we interchange the
two sections in the Direct Form I structure. This leads us to the Direct
Form II structure shown below.
6-33
It is also possible to express the transfer function of an IIR filter in product
form as
( ) ( )( )
( ) ( ) ( )
1 2
1 2
1 1 * 1
1 1
1 1 * 1
1 1
1 1 1
( )
1 1 1
M M
k k k
k k
N N
k k k
k k
f z g z g z
H z C
c z d z d z







,
where C is a constant, the
k
f
s are the real zeros of the transfer function,
the
k
g
s are the complex zeros (which always exist in conjugate pairs), the
k
c
s are the real poles, and the
k
d
s are the complex poles (which always
exist in conjugate pairs).
Note that the products ( ) ( )
1 * 1
1 1
k k
g z g z

and ( )( )
1 * 1
1 1
k k
d z d z

are 2
nd
order polynomials in
1
z

with real coefficients.


6-34
For simplicity, we assume that
1 1
2 N M K (K an integer) and
2 2
N M .
This means we can combine pairs of real poles and combine pairs of real
zeros and rewrite ( ) H z
as
( )
1 2
0 1 2
1 2
1
1 2
1
1
( ),
s
s
N
k k k
k
k k
N
k
k
b b z b z
H z
a z a z
H z

+ +

+ +

where
1 2
0 1 2
1 2
1 2
( )
1
k k k
k
k k
b b z b z
H z
a z a z


+ +

+ +
and
2 s
N K N +
.
This expression for the transfer function enables us to visualize the IIR
filter as the serial concatentation of
s
N
subsystems. Subsequently it leads
to the Cascade implementation structure; see for example the case of
3
s
N
below.
Exercise: Draw the Cascade form of the high pass filter in Section 6-3.
6-35
With the Cascade form implementation, the locations of the poles and zeros
will not change dramatically when the
ij
a
s and the
ij
b
s are quantized (as
in fixed point implementation). This is in contrast to the Direct form
implementation where the poles and zeros can change substantially because
of quantization. This issue will be discussed in details in Chapter 7 of the
lecture notes.
If we express the transfer function as a partial fraction expansion, then
1
0 1
1 2
1
1 2
1
( )
1
( ),
s
s
N
k k
k
k k
N
k
k
e e z
H z
a z a z
G s

where
1
0 1
1 2
1 2
( )
1
k k
k
k k
e e z
G s
a z a z


and all the polynomial coefficients are real.
The transfer function suggests that the IIR filter can be viewed as a large
system comprising of
s
N
parallel subsystems. The input to all the
subsystems is [ ] x n and the output of the IIR filter, [ ] y n , is the sum of the
[ ]
k
y n s , the individual outputs of the subsystems.
The figure below shows this parallel form of the IIR filter.
6-36
The parallel form offers robustness against quantization error for the poles.
The zeros, however, will be affected by the shifting of the poles in the
individual subsystems.
Exercise: While it is straight forward to incorporate any given initial
condition of an IIR filter in the Direct Form I structure, it is not clear how
this can be done in the other structures. Is this a matter of great concern? If
so, suggest how a given initial condition can be incorporated into the Direct
Form II, the Cascade form, and the Parallel form.

You might also like