Chapter 7
Digital Filter Design
Objective - Determination of a realizable
transfer function G(z) approximating a
given frequency response specification is
an important step in the development of
a digital filter
If an IIR filter is desired,G(z) should be
a stable real rational function
Digital filter design is the process of
deriving the transfer function G(z)
§ 7.1 Digital Filter Specifications
Usually,either the magnitude and/or the
phase (delay) response is specified for the
design of digital filter for most applications
In some situations,the unit sample response
or the step response may be specified
In most practical applications,the problem of
interest is the development of a realizable
approximation to a given magnitude response
specification
§ 7.1 Digital Filter Specifications
We discuss in this course only the magnitude
approximation problem
There are four basic types of ideal filters with
magnitude responses as shown below
§ 7.1 Digital Filter Specifications
As the impulse response corresponding
to each of these ideal filters is noncausal
and of infinite length,these filters are
not realizable
In practice,the magnitude response
specifications of a digital filter in the
passband and in the stopband are given
with some acceptable tolerances
In addition,a transition band is
specified between the passband and
stopband
§ 7.1 Digital Filter Specifications
For example,the magnitude response
|G(ej?)| of a digital lowpass filter may be
given as indicated below
§ 7.1 Digital Filter Specifications
As indicated in the figure,in the
passband,defined by 0p,we
require that |G(ej?)|?1 with an errorp,
i.e.,
1-?p? |G(ej?)|? 1+?p,|?|p
In the stopband,defined by?s,we
require that |G(ej?)|?0 with an error?s
i.e.,|G(ej?)|p,?s?|?|
§ 7.1 Digital Filter Specifications
p - passband edge frequency
s - stopband edge frequency
p - peak ripple value in the passband
s - peak ripple value in the stopband
Since G(ej?) is a periodic function of?,and
|G(ej?)| of a real-coefficient digital filter is an
even function of?
As a result,filter specifications are given only
for the frequency range 0?|?|
§ 7.1 Digital Filter Specifications
Specifications are often given in terms of
loss function G(?)=-20log10 |G(ej?)| in dB
Peak passband ripple
p= -20log10 (1-?p ) dB
Minimum stopband attenuation
s= -20log10 (?s ) dB
§ 7.1 Digital Filter Specifications
Magnitude specifications may alternately be
given in a normalized form as indicated below
§ 7.1 Digital Filter Specifications
Here,the maximum value of the
magnitude in the passband is assumed to
be unity
1/?(1+?2) - Maximum passband
deviation,given by the minimum value
of the magnitude in the passband
1/A - Maximum stopband magnitude
§ 7.1 Digital Filter Specifications
For the normalized specification,
maximum value of the gain function or
the minimum value of the loss function
is 0 dB
Maximum passband attenuation
)21(lo g20 10m a x p dB
For?p<<1,it can be shown that
210m a x 1l o g20 dB
§ 7.1 Digital Filter Specifications
In practice,passband edge frequency
Fpand stopband edge frequency Fs are
specified in Hz
For digital filter design,normalized
bandedge frequencies need to be
computed from specifications in Hz
using
TFF FF p
T
p
T
p
p
22
TFF FF s
T
s
T
ss 22
§ 7.2 Selection of Filter Type
The transfer function H(z) meeting the
frequency response specifications should be a
causal transfer function
For IIR digital filter design,the IIR transfer
function is a real rational function of z-1:
N
N
M
M
zdzdzdd
zpzpzppzH




2
2
1
10
2
2
1
10)(
H(z) must be a stable transfer function and
must be of lowest order N for reduced
computational complexity
§ 7.2 Selection of Filter Type
For reduced computational complexity,degree
N of H(z) must be as small as possible
If a linear phase is desired,the filter
coefficients must satisfy the constraint:
h[n] =? h[N-n]

N
n
nznhzH
0
][)(
For FIR digital filter design,the FIR transfer
function is a polynomial in z-1 with real
coefficients:
§ 7.2 Selection of Filter Type
Advantages in using an FIR filter -
(1) Can be designed with exact linear phase,
(2) Filter structure always stable with
quantized coefficients
Disadvantages in using an FIR filter - Order
of an FIR filter,in most cases,is considerably
higher than the order of an equivalent IIR
filter meeting the same specifications,and FIR
filter has thus higher computational
complexity
§ 7.3 Digital Filter Design,
Basic Approaches
Most common approach to IIR filter
design –
(1) Convert the digital filter
specifications into an analog prototype
lowpass filter specifications
(2) Determine the analog lowpass filter
transfer function Ha(s)
(3) Transform Ha(s) into the desired
digital transfer function G(z)
§ 7.3 Digital Filter Design,
Basic Approaches
This approach has been widely used for the
following reasons:
(1) Analog approximation techniques are
highly advanced
(2) They usually yield closed-form solutions
(3) Extensive tables are available for analog
filter design
(4) Many applications require digital
simulation of analog systems
§ 7.3 Digital Filter Design,
Basic Approaches
An analog transfer function to be
denoted as
Ha(s)= Pa(s) / Da(s)
where the subscript,a” specifically
indicates the analog domain
A digital transfer function derived from
Ha(s) shall be denoted as
G(z)=P(z)/D(z)
§ 7.3 Digital Filter Design,
Basic Approaches
Basic idea behind the conversion of Ha(s) into
G(z) is to apply a mapping from the s-domain
to the z-domain so that essential properties of
the analog frequency response are preserved
Thus mapping function should be such that
– Imaginary (j? ) axis in the s-plane be
mapped onto the unit circle of the z-plane
– A stable analog transfer function be
mapped into a stable digital transfer
function
§ 7.3 Digital Filter Design,
Basic Approaches
FIR filter design is based on a direct
approximation of the specified
magnitude response,with the often
added requirement that the phase be
linear
The design of an FIR filter of order N
may be accomplished by finding either
the length-(N+1) impulse response
samples {h[n]} or the (N+1) samples of
its frequency response H(ej?)
§ 7.3 Digital Filter Design,
Basic Approaches
Three commonly used approaches to
FIR filter design -
(1) Windowed Fourier series approach
(2) Frequency sampling approach
(3) Computer-based optimization
methods
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Above transformation maps a single point
in the s-plane to a unique point in the z-
plane and vice-versa
Relation between G(z) and Ha(s) is then
given by


1
1
112)()(
z
z
Ts
a sHzG



1
1
1
12
z
z
Ts
s
sz

1
1
Bilinear transformation
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Digital filter design consists of 3 steps:
(1) Develop the specifications of Ha(s) by
applying the inverse bilinear transformation
to specifications of G(z)
(2) Design Ha(s)
(3) Determine G(z) by applying bilinear
transformation to Ha(s)
As a result,the parameter T has no effect on
G(z) and T = 2 is chosen for convenience
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Mapping of s-plane into the z-plane
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
For z=ej? with T = 2 we have
)(
)(
1
1
2/2/2/
2/2/2/






jjj
jjj
j
j
eee
eee
e
ej
)2/t a n ()2/c o s (2 )2/s in (2 jj
or?=tan(?/2)
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Mapping is highly nonlinear
Complete negative imaginary axis in the s-
plane from?= -? to?=0 is mapped into the
lower half of the unit circle in the z-plane from
z = -1 to z = 1
Complete positive imaginary axis in the s-
plane from?=0 to?=? is mapped into the
upper half of the unit circle in the z-plane
from z = 1 to z = - 1
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Nonlinear
mapping
introduces a
distortion in the
frequency axis
called frequency
warping
Effect of
warping shown
right
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Steps in the design of a digital filter -
(1) Prewarp (?p,?s) to find their analog
equivalents (?p,?s)
(2) Design the analog filter Ha(s)
(3) Design the digital filter G(z) by applying
bilinear transformation to Ha(s)
Transformation can be used only to design
digital filters with prescribed magnitude
response with piecewise constant values
Transformation does not preserve phase
response of analog filter
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Applying bilinear transformation to the
above we get the transfer function of a
first-order digital lowpass Butterworth
filter
c
c
a ssH
)(
)1()1(
)1()()(
11
1
11
11




zz
zsHzG
c
c
z
zsa
Example - Consider
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Rearranging terms we get
1
1
1
1
2
1)(

z
zzG
)2/t a n (1
)2/t a n (1
1
1
c
c
c
c




where
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
for which |Ha(j?0)| = 0
|Ha(j0)| = |Ha(j?)| = 0
0 is called the notch frequency
If |Ha(j?2)| = |Ha(j?1)| =1/?2 then
B =?2 -?1 is the 3-dB notch bandwidth
22
22
)(
o
o
a sBs
ssH


Example - Consider the second-order analog
notch transfer function
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Then
1
1
11
)()(

zzsa
sHzG
22122
22122
)1()1(2)1(
)1()1(2)1(




zBzB
zz
ooo
ooo
21
21
)1(21
21
2
1




zz
zz


)2/t a n (1
)2/t a n (1
1
1
2
2
w
w
o
o
B
B
B
B



o
o
o

c o s
1
1
2
2where
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Example - Design a 2nd-order digital
notch filter operating at a sampling rate
of 400 Hz with a notch frequency at 60
Hz,3-dB notch bandwidth of 6 Hz
Thus?0 = 2?(60/400) = 0.3?
Bw = 2?(6/400) = 0.03?
From the above values we get
= 0.90993
= 0.587785
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
The gain and phase responses are shown below
21
21
9 0 9 9 3.01 2 2 6 2 8 7.11
9 5 4 9 6 5.01 2 2 6 2 8 7.19 5 4 9 6 5.0)(




zz
zzzG
Thus
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Example - Design a lowpass Butterworth
digital filter with?p =0.25?,?s = 0.55?,
p?0.5 dB,and?s?15 dB
Thus?2=0.1220185,A2=31.622777
If |G(ej0)|=0 this implies
20log10|G(ej0.25?)|?-0.5
20log10|G(ej0.55?)|?-15
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Prewarping we get
p=tan(?p/2)=tan(0.25?/2)=0.4142136
s =tan(?s/2)=tan(0.55?/2)=1.1708496
The inverse transition ratio is
1/k =?s/?p = 2.8266809
The inverse discrimination ratio is
1/k1 =?(A2-1)/?= 15.841979
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Thus
N=log10(1/k1)/ log10(1/k) =2.6586997
Choose N = 3
To determine?c we use
|Ha(j?p)|2= 1/[1+(?p/?c)2N]=1/(1+?2)
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
We then get
c= 1.419915(?p)=0.588148
3rd-order lowpass Butterworth transfer
function for?c=1 is
Han(s)=1/[(s+1)(s2+s+1)]
Denormalizing to get?c=0.588148 we
arrive at
Ha(s)= Han(s/0.588148)
§ 7.4 IIR Digital Filter Design,
Bilinear Transformation Method
Applying bilinear transformation to Ha(s) we
get the desired digital transfer function
1
1
1
1)()(

z
zsa sHzG
Magnitude and gain responses of G(z) shown
below:
§ 7.5 IIR Highpass,Bandpass,and
Bandstop Digital Filter Design
First Approach -
(1) Prewarp digital frequency
specifications of desired digital filter
GD(z) to arrive at frequency
specifications of analog filter HD(s) of
same type
(2) Convert frequency specifications of
HD(s) into that of prototype analog
lowpass filter HLP(s)
(3) Design analog lowpass filter HLP(s)
§ 7.5 IIR Highpass,Bandpass,and
Bandstop Digital Filter Design
(4) Convert HLP(s) into HD(s) using
inverse frequency transformation used
in Step 2
(5) Design desired digital filter GD(z) by
applying bilinear transformation to
HLP(s)
§ 7.5 IIR Highpass,Bandpass,and
Bandstop Digital Filter Design
Second Approach -
(1) Prewarp digital frequency
specifications of desired digital filter
GD(z) to arrive at frequency
specifications of analog filter HD(s) of
same type
(2) Convert frequency specifications of
HD(s) into that of prototype analog
lowpass filter HLP(s)
§ 7.5 IIR Highpass,Bandpass,and
Bandstop Digital Filter Design
(3) Design analog lowpass filter HLP(s)
(4) Convert HLP(s) into an IIR digital
transfer function GLP(z) using bilinear
transformation
(5) Transform GLP(z) into the desired
digital transfer function GD(z)
We illustrate the first approach
§ 7.5 IIR Highpass,Bandpass,and
Bandstop Digital Filter Design
Design of a Type 1 Chebyshev IIR
digital highpass filter
Specifications,Fp=700Hz,Fs = 500Hz,
p=1 dB,?s=32dB,FT=2 kHz
Normalized angular bandedge
frequencies
p =2?Fp/ FT= 2700/2000=0.7?
s = 2?Fs/ FT= 2500/2000=0.5?
§ 7.5.1 IIR Highpass Digital Filter Design
Analog lowpass filter specifications,?p = 1,
s = 1.926105,?p=1 dB,?s=32 dB
9 6 2 6 1 0 5.1)2/t a n ( pp
0.1)2/ta n ( ss
Prewarping these frequencies we get
For the prototype analog lowpass filter choose
p = 1

pp
Using we get?s = 1.962105
§ 7.5.1 IIR Highpass Digital Filter Design
MATLAB code fragments used for the design
[N,Wn] = cheb1ord(1,1.9626105,1,32,’s’)
[B,A] = cheby1(N,1,Wn,’s’);
[BT,AT] = lp2hp(B,A,1.9626105);
[num,den] = bilinear(BT,AT,0.5);
§ 7.5.2 IIR Bandpass Digital Filter Design
Design of a Butterworth IIR digital bandpass
filter
Specifications,?p1=0.45?,?p1=0.65?,
s1=0.3?,?s2=0.75?,?p=1 dB,?s=40 dB
Prewarping we get
8540807.0)2/t a n (? 11 pp
6 3 1 8 5 1 7.1)2/t a n (? 22 pp
4 1 4 2 1 3 5 6.2)2/ta n (? 22 ss
5 0 9 5 2 5 4.0)2/ta n (? 11 ss
§ 7.5.2 IIR Bandpass Digital Filter Design
For the prototype analog lowpass filter we
choose?p = 1
3 9 3 7 3 3.1 212 ppo
221?2 3 0 1 0 3 2 5.1 oss
7 7 7 7 7 1.0 12 ppwB? Width of passband
5773031.0? 1 s? We set
1?s? 1?s? 2?s?2?
o?
We therefore modify so that and
exhibit geometric symmetry with respect to
§ 7.5.2 IIR Bandpass Digital Filter Design
Specifications of prototype analog
Butterworth lowpass filter,?p = 1,
s=2.3617627,?p=1 dB,?s=40 dB
3 6 1 7 6 2 7.27 7 7 7 7 1.05 7 7 3 0 3 1.0 3 3 3 2 7 8 8.03 9 3 7 3 3.1 s
w
o
p B?

22
Using we get
§ 7.5.2 IIR Bandpass Digital Filter Design
MATLAB code fragments used for the design
[N,Wn] = buttord(1,2.3617627,1,40,’s’)
[B,A] = butter(N,Wn,’s’);
[BT,AT] = lp2bp(B,A,1.1805647,0.777771);
[num,den] = bilinear(BT,AT,0.5);
§ 7.5.3 IIR Bandstop Digital Filter Design
Design of an elliptic IIR digital bandstop
filter
Specifications,?s1=0.45?,?s2=0.65?,
p1=0.3?,?p2=0.75?,?p=1 dB,?s=40 dB
Prewarping we get
,8 5 4 0 8 0 6.0? 1 s,6 3 1 8 5 1 7.1? 2 s
,5 0 9 5 2 5 4.0? 1 p 41 42 13 6.? 2 p
3 9 3 7 3 3.1 122 sso
212?2 3 0 1 0 3.1 opp
Width of stopband
§ 7.5.3 IIR Bandstop Digital Filter Design
For the prototype analog lowpass filter we
choose?s= 1
0,4 2 3 4 1 2 63 3 3 2 7 8 7.03 9 3 7 3 3.1 7 7 7 7 7 1.05 0 9 5 2 5 4.0 p
1?s? 1?s? 2?s?2?
o?
We therefore modify so that and
exhibit geometric symmetry with respect to
577303.0? 1 p? We set
22


o
w
s
B
Using we get
§ 7.5.3 IIR Bandstop Digital Filter Design
MATLAB code fragments used for the design
[N,Wn] = ellipord(0.4234126,1,1,40,’s’);
[B,A] = ellip(N,1,40,Wn,’s’);
[BT,AT] = lp2bs(B,A,1.1805647,0.777771);
[num,den] = bilinear(BT,AT,0.5);
§ 7.6 Fixed Window Functions
Using a tapered window causes the height of
the sidelobes to diminish,with a
corresponding increase in the main lobe width
resulting in a wider transition at the
discontinuity
Hann:
W[n[=0.5+0.5cos[2?n/(2M+1)],-M?n?M
Hamming:
W[n[=0.54+0.46cos[2?n/(2M+1)],-M?n?M
Blackman:
W[n[=0.42+0.5cos[2?n/(2M+1)]
+0.08cos[4?n/(2M+1)]
§ 7.6 Fixed Window Functions
Plots of magnitudes of the DTFTs of these
windows for M = 25 are shown below
0 0.2 0.4 0.6 0.8 1-100
-80
-60
-40
-20
0
/?
Ga
in,
dB
Rectangular window
0 0.2 0.4 0.6 0.8 1-100
-80
-60
-40
-20
0
/?
Ga
in,
dB
Hanning window
0 0.2 0.4 0.6 0.8 1-100
-80
-60
-40
-20
0
/?
Ga
in,
dB
Hamming window
0 0.2 0.4 0.6 0.8 1-100
-80
-60
-40
-20
0
/?
Ga
in,
dB
Blackman window
§ 7.6 Fixed Window Functions
Magnitude spectrum of each window
characterized by a main lobe centered at
= 0 followed by a series of sidelobes
with decreasing amplitudes
Parameters predicting the performance
of a window in filter design are:
Main lobe width
Relative sidelobe level
§ 7.6 Fixed Window Functions
Main lobe width?ML- given by the
distance between zero crossings on both
sides of main lobe
Relative sidelobe level Asl - given by the
difference in dB between amplitudes of
largest sidelobe and main lobe
§ 7.6 Fixed Window Functions
Observe
Thus,Passband and stopband ripples are the
same
§ 7.6 Fixed Window Functions
Distance between the locations of the
maximum passband deviation and
minimum stopband valueML
Width of transition band
sp <?ML
§ 7.6 Fixed Window Functions
To ensure a fast transition from
passband to stopband,window should
have a very small main lobe width
To reduce the passband and stopband
ripple?,the area under the sidelobes
should be very small
Unfortunately,these two requirements
are contradictory
§ 7.6 Fixed Window Functions
In the case of rectangular,Hann,
Hamming,and Blackman windows,the
value of ripple does not depend on filter
length or cutoff frequency?c,and is
essentially constant
In addition,
c / M
where c is a constant for most practical
purposes
§ 7.6 Fixed Window Functions
Rectangular window -?ML=4?/(2M+1)
Asl=13.3 dB,?s=20.9 dB,=0.92?/M
Hann window -?ML=8?/(2M+1)
Asl=31.5 dB,?s=43.9 dB,=3.11?/M
Hamming window -?ML=8?/(2M+1)
Asl=42.7 dB,?s=54.5 dB,=3.32?/M,
Blackman window -?ML=12?/(2M+1)
Asl=58.1 dB,?s=75.3 dB,=5.56?/M
§ 7.6 Fixed Window Functions
Filter Design Steps -
(1) Set
c =(?p +?s )/2
(2) Choose window based on specified
(3) Estimate M using
c / M
§ 7.7 FIR Filter Design Example
Lowpass filter of length 51 and?c=?/2
0 0.2 0.4 0.6 0.8 1
-100
-50
0
/?
Ga
in,
dB
Lowpass Filter Designed Using Hann window
0 0.2 0.4 0.6 0.8 1
-100
-50
0
/?
Ga
in,
dB
Lowpass Filter Designed Using Hamming window
0 0.2 0.4 0.6 0.8 1
-100
-50
0
/?
Ga
in,
dB
Lowpass Filter Designed Using Blackman window
§ 7.7 FIR Filter Design Example
An increase in the main lobe width is
associated with an increase in the width
of the transition band
A decrease in the sidelobe amplitude
results in an increase in the stopband
attenuation
§ 7.7 FIR Filter Design Example
Specifications,?p=?,?s=?,?c=40dB
Thus
4.02/)( spc
01.010 20/ ss
3953.31907886.0)19(5842.0 4.0
28 86.22)2.0(28 5.2 32N
Choose N = 24 implying M =12
§ 7.7 FIR Filter Design Example
Hence ht[n]=sin(0.4?n)/?n,-12?n?12
where w[n] is the n-th coefficient of a
length-25 Kaiser window with?=3.3953
0 0.2 0.4 0.6 0.8 1-80
-60
-40
-20
0
/?
Ga
in,
dB
Kaiser Window
0 0.2 0.4 0.6 0.8 1-80
-60
-40
-20
0
/?
Ga
in,
dB
Lowpass filter designed with Kaiser window
Homework
Read textbook from 423 to 437,from
447 to 460
Problems
7.6,7.12,7.14,7.60,7.61,7.62
M7.2,M7.3,M7.6