This action might not be possible to undo. Are you sure you want to continue?
https://www.scribd.com/doc/133323874/DesignandImplementationofIIRFilter
04/01/2013
text
original
AND
IMPLEMENTATION OF
IIR FILTER
By
SAURABH SHUKLA
M.Tech (CE)
ICE2012005
CONTENTS
Introduction
Two Approaches
The Main Problem
Characteristics of Prototype Analog Filters
Design of IIR Filter from Analog Filter
Different Methodologies to Design IIR Filter
Finite Difference Approximation Technique
Impulse Invariance Transformation
Bilinear Transformation
The Matched z Transform
Different IIR Filters Design Using MATLAB
GUI For Digital Filter Design
Implementation of IIR Filter
References
2
INTRODUCTION
IIR filter have infiniteduration impulse responses,
hence they can be matched to analog filters, all of
which generally have infinitely long impulse
responses.
The basic technique of IIR filter design transforms
wellknown analog filters into digital filters using
complexvalued mappings.
The advantage of this technique lies in the fact that
both analog filter design (AFD) tables and the
mappings are available extensively in the literature.
3
The basic technique is called the A/D filter
transformation.
However, the AFD tables are available only for low
pass filters. We also want design other frequency
selective filters (high pass, band pass, band stop, etc.)
To do this, we need to apply frequencyband
transformations to low pass filters. These
transformations are also complexvalued mappings.
4
TWO APPROACHES
Design analog
lowpass filter
Apply Freq. band
transformation
s>s
Apply filter
transformation
s>z
Desired
IIR filter
Design analog
lowpass filter
Apply filter
transformation
s>z
Apply Freq. band
transformation
z>z
Desired
IIR filter
Approach 1, used in Matlab
Approach 2, study
5
THE MAIN PROBLEM
We have no control over the phase characteristics
of the IIR filter.
Hence IIR filter designs will be treated as
magnitudeonly designs.
It doesn’t mean that we consider the phase
response unimportant.
We specify the desired magnitude characteristics
and accept the phase response that is obtained
from the design methodology.
6
CHARACTERISTICS OF PROTOTYPE ANALOG
FILTERS
IIR filter design techniques rely on existing analog
filter to obtain digital filters. We designate these
analog filters as prototype filters.
Three prototypes are widely used in practice
Butterworth lowpass
Chebyshev lowpass (Type I and II)
Elliptic lowpass
7
IIR Filter Types
Butterworth Chebyshev Type I
Elliptic
Chebyshev Type II
8
Basic idea behind the conversion of into is to
apply a mapping from the sdomain to the zdomain so that
essential properties of the analog frequency response are
preserved.
Thus mapping function should be such that
Imaginary ( ) axis in the splane be mapped onto the
unit circle of the zplane.(Thus there will be a direct
relationship b/w the two frequency variables in the two
domains. )
A stable analog transfer function should be mapped into
a stable digital transfer function (the left half of splane
should map into the inside of unit circle in the zplane)
9
) (s H
a
) (z H
O j
DESIGN OF IIR FILTER FROM ANALOG FILTER
An analog filter can be described by
(1)
where and are the filter coefficient.
An analog filter can also be described by the linear constant
coefficients differential equation
(2)
where x(t) denotes the input signal and y(t) denoted the output of
the filter.
10
¿
¿
=
=
= =
N
k
k
k
M
k
k
k
a
s
s
s A
s B
s H
0
0
) (
) (
) (
o

{ }
k
o
{ }
k

¿ ¿
= =
=
M
k
k
k
k
N
k
k
k
k
dt
t x d
dt
t y d
0 0
) ( ) (
 o
Maximum passband deviation=
maximum stopband magnitude = 1/A
Pass band Frequency (normalized)
Stop band Frequency (normalized)
11
2
1
1
c +
s
p
p
F
O
= e
s
s
s
F
O
= e
DIFFERENT METHODOLOGIES TO DESIGN IIR
FILTER
The transformations are derived by preserving different
aspects of analog and digital filters.
Finite difference approximation technique
Convert a differential eq. representation into a
corresponding difference eq.
Impulse invariance transformation
Preserve the shape of the impulse response from A to
D filter
Bilinear transformation
Preserve the system function representation from A to
D domain
The Matched Z transformation
Try to match the impulse response from A to D filter.
12
1FINITE DIFFERENCE APPROXIMATION
TECHNIQUE
One of the simplest methods for converting an analog
filter into digital filter.
For the derivative at time t=nT. we do,
In this we replace
13
T
T nT y nT y
dt
t dy
nT t
) ( ) ( ) ( ÷ ÷
=
=
T
n y n y ) 1 ( ) ( ÷ ÷
=
dt
t dy ) (
k
k
T
z
s


.

\

÷
=
÷1
1
Thus
and if we substitute s=jΩ in the above eq. we find
As Ω varies from ∞ to ∞, the corresponding locus of points in the
zplane is a circle of radius ½ and with a center z= ½ as shown
below
14
sT
z
÷
=
1
1
T j
z
O ÷
=
1
1
(
¸
(
¸
=
= O
frequency digital
frequency analog
e
The mapping takes points in the LHP of the splane
into corresponding points inside the circle in the z
plane and points in the RHP of the splane are
mapped into outside this circle.
Thus this mapping has the desirable property that a
stable analog filter is transformed into a stable digital
filter.
The possible location of poles of the digital filter are
confined to relatively small frequencies and the
mapping is restricted to design of lowpass filters and
a bandpass filters having relatively small resonant
frequencies.
15
2IMPULSE INVARIANCE TRANSFORMATION
Our objective to design an IIR filter having a unit sample
response h(n), that is the sampled version of the impulse
response of the analog filter.
h(n)=h(nT) n=0,1,2,…..
where T is the sampling interval.
for mapping
Thus for σ<0 (i.e. LHP) 0<r<1 & σ>0 (i.e. RHP) r>1.
When σ=0 (imaginary axis) r=1.
Therefore the LHP in s is mapped inside the unit circle in z and
the RHP in s is mapped outside the unit circle in z.
16
T
e e e r
T j j T
O = ¬
= = ¬
O
e
e o
and
sT
e z =
T j T j
e e re
O
= ·
o e
Also s=j Ω axis is mapped into the unit circle in z.
We have the following transformation from the splane to the
zplane: z=e
sT
Many s to one z mapping: manytoone mapping
Every semiinfinite left strip (so the whole left plane) maps
to inside of unit circle.
Since ω is unique over the range (π,π), the mapping
ω=ΩT implies in general
17
¿
·
÷· =

.

\

÷ =
k
a
k
T
j s H
T
z H
t 2 1
) (
Frequencydomain aliasing
formula
T k T k / ) 1 2 ( / ) 1 2 ( t t + s O s ÷
Causality and Stability are the same without changing.
Aliasing occur if filter not exactly bandlimited
So, The digital filter impulse response is similar to that of a
frequencyselective analog filter.
Advantages
It is a stable design and the frequencies Ω and w are linearly
related.
Disadvantage
We should expect some aliasing of the analog frequency
response, and in some cases this aliasing is intolerable.
Consequently, this design method is useful only when the
analog filter is essentially bandlimited to a lowpass or
bandpass filter in which there are no oscillations in the stopband.
18
MATLAB PROGRAM FOR IMPULSE INVARIANCE
TRANSFORMATION
Program1
[b,a] = butter(4,0.3,'s');
[bz,az] = impinvar(b,a,10);
sys = tf(b,a);
impulse(sys);
hold on;
impz(10*bz,az,[],10);
19
Zooming the resulting
plot shows that the
analog and digital
impulse responses are
the same.
Program2
clc
disp(' Impulse invariance transformation'); disp(' ');
Wp = input('Enter passband edge frequency in rad/sec = '); %1500
Rp = input('Enter passband ripple in dB = '); %.5
Ws = input('Enter stopband edge frequency in rad/sec = '); %3000
Rs = input('Enter stopband ripple in dB = '); %60
Fs = input('Enter the sampling frequency = '); %7000
[n,Wn] = cheb1ord(Wp,Ws,Rp,Rs,'s');
disp('The order of the filter is n = ');
disp(n); %display order of the filter%
[num,den] = cheby1(n,Rp,Wn,'s'); % calculates coefficients of analog filter%
[b,a] = impinvar(num,den,Fs) %applies IIT%
freqz(b,a,512,Fs); %frequency response %
grid on;
xlabel('Frequency in Hz');
ylabel('Gain in dB');
title('Frequency Response of the filter'); 20
21
3 BILINEAR TRANSFORMATION
The above two discussed design techniques have severe
limitation in that they are appropriate only for LPF and a limited
class of BPF.
This bilinear transformation is a mapping that transforms the jΩ
axis into the unit circle in the zplane only once.
Thus it avoids aliasing of frequency components.
Furthermore all points of the LHP of s are mapped inside the
unit circle in the zplane and all points in the RHP of s are
mapped into corresponding points outside the unit circle in z
plane.
This mapping is the best transformation method.
22
23
The complex plane mapping is shown as below
Relation of ω to Ω is nonlinear
Ω=2tan(ω/2)/T ω= 2tan1(ΩT/2)
Therefore due to this highly nonlinear mapping, we observe a
frequency compression or frequency warping.
2 / 1
2 / 1
1
1 2
1
1
sT
sT
z
z
z
T
s
÷
+
= ¬
+
÷
=
÷
÷
The entire range in Ω is mapped only once into the range
Frequency Warping
Because of the non linear mapping, the amplitude response of
digital IIR filter is expanded at lower frequencies and compressed
at higher frequencies in comparison to analog filter.
24
t e t s s ÷
The H
a
(jΩ) compressed in frequency by this
transformation.
But the characteristics of H
a
(jΩ) are preserved in H(z).
If H
a
(jΩ) is equiripple in passband or stopband, then
H(z)is also. This property is the most important feature of
bilinear transformation and made it most widely employed
transformation for classical designs.
Advantages
It is a stable design.
There is no aliasing.
There is no restriction on the type of filter that can be
transformed.
25
MATLAB PROG FOR BILINEAR TRANSFORMATION
Program1
clc
Wp = input('Enter passband edge frequency in rad/sec = ');
Rp = input('Enter passband ripple in dB = ');
Ws = input('Enter stopband edge frequency in rad/sec = ');
Rs = input('Enter stopband ripple in dB = ');
Fs = input('Enter the sampling frequency = ');
[n,Wn] = buttord(Wp,Ws,Rp,Rs,'s');
disp('The order of the filter is n = ');
disp(n); %display order of the filter%
[num,den] = butter(n,Wn,'s'); %calculates coefficients of analog filter%
[b,a] = bilinear(num,den,Fs) % apply bilinear transformation%
freqz(b,a,512,Fs); %frequency response %
grid on;
xlabel('Frequency in Hz');
ylabel('Gain in dB');
title('Frequency Response of the filter'); 26
27
4THE MATCHED Z TRANSFORM
In the matched ztransform digital filter design method we
try to “match” the impulse response of the analog filter with
that of the digital filter being designed.
To match the impulse responses, we take the inverse
Laplace transform of the analog filter H(s)h(t), then
sample the impulse response h(t)h[n], then take the z
transform of the sampled impulse response to get the z
transform transfer function h[n]H(z).
28
Example
And
thus
Note
Poles obtained from the matched ztransformation are
identical to the poles obtained with the impulse invariance
method.
But the two techniques results in different zero location
29
s
s H
1
) ( =
) ( ) ( t u t h = ] [ ] [ n u n h =
1
1
1
) (
÷
÷
=
z
z H
1
1
1
) (
) (
) (
÷
÷
= =
z z X
z Y
z H
) ( ] 1 )[ (
1
z X z z Y = ÷
÷
] [ ] 1 [ ] [ n x n y n y = ÷ ÷
DIFFERENT IIR DIGITAL FILTERS DESIGN USING
MATLAB
Program1 (Elliptic IIR Lowpass Filter Design)
%Nfilter order& Wn= Frequency scaling factor%
Wp = input('Normalized passband edge = ');
Ws = input('Normalized stopband edge = ');
Rp = input('Passband ripple in dB = ');
Rs = input('Minimum stopband attenuation in dB = ');
[N,Wn] = ellipord(Wp,Ws,Rp,Rs)
[b,a] = ellip(N,Rp,Rs,Wn);
[h,omega] = freqz(b,a,256);
plot (omega/pi,20*log10(abs(h)));grid;
xlabel('\omega/\pi'); ylabel('Gain, dB');
title('IIR Elliptic Lowpass Filter');
(in case of elliptic filter Wn=Wp)
30
31
Program2 (Type1 Chebyshev IIR HPF Design)
Wp = input('Normalized passband edge = ');
Ws = input('Normalized stopband edge = ');
Rp = input('Passband ripple in dB = ');
Rs = input('Minimum stopband attenuation in dB = ');
[N,Wn] = cheb1ord(Wp,Ws,Rp,Rs)
[b,a] = cheby1(N,Rp,Wn,'high');
[h,omega] = freqz(b,a,256);
plot (omega/pi,20*log10(abs(h)));grid;
xlabel('\omega/\pi'); ylabel('Gain, dB');
title('Type I Chebyshev Highpass Filter');
32
33
Program3 (Butterworth IIR BPF Design)
Wp = input('Passband edge frequencies = ');
Ws = input('Stopband edge frequencies = ');
Rp = input('Passband ripple in dB = ');
Rs = input('Minimum stopband attenuation = ');
[N,Wn] = buttord(Wp, Ws, Rp, Rs);
[b,a] = butter(N,Wn);
[h,omega] = freqz(b,a,256);
gain = 20*log10(abs(h));
plot (omega/pi,gain);grid;
xlabel('\omega/\pi'); ylabel('Gain, dB');
title('IIR Butterworth Bandpass Filter');
Note
(the i/p data are the vector of passband edges Wp= [0.45 0.65], the vector of
stop band edges Ws=[0.3 0.75])
34
35
Program4 (Butterworth IIR LPF/HPF Design)
clc;
clear all;
close all;
disp('enter the IIR filter design specifications');
rp=input('enter the passband ripple');
rs=input('enter the stopband ripple');
wp=input('enter the passband freq');
ws=input('enter the stopband freq');
fs=input('enter the sampling freq');
w1=2*wp/fs; w2=2*ws/fs;
[n,wn]=buttord(w1,w2,rp,rs,'s');
c=input('enter choice of filter 1. LPF 2. HPF \n ');
if(c==1)
disp('Frequency response of IIR LPF is:');
[b,a]=butter(n,wn,'low','s');
end
CONTD…..
36
if(c==2)
disp('Frequency response of IIR HPF is:');
[b,a]=butter(n,wn,'high','s');
end
w=0:.01:pi;
[h,om]=freqs(b,a,w);
m=20*log10(abs(h));
an=angle(h);
figure,subplot(2,1,1);plot(om/pi,m);
title('magnitude response of IIR filter is:');
xlabel('(a) Normalized freq. >');
ylabel('Gain in dB>');
subplot(2,1,2);plot(om/pi,an);
title('phase response of IIR filter is:');
xlabel('(b) Normalized freq. >');
ylabel('Phase in radians>');
37
38
39
GUI FOR DIGITAL FILTER DESIGN
There are some inbuilt function in MATLAB i.e. “fdatool,
sptool, fvtool”.
Filter Design with FDATOOL
40
GUI Window 2
41
IMPLEMENTATION OF IIR FILTER
1 Through TMS320 C6713 DSP starter KIT
Set up the DSK kit as shown below and load with the cprogram
(implementing IIR HPF with 7kHz cutoff Frequency) and the i/p is
given by function generator sinusoid of 11kHz and the o/p is also
shown below:
42
2 By LABVIEW Digital Filter Design Toolkit
The following figure illustrates the magnitude responses of a
typical LPF designed by the four IIR filter design methods. Each
filter has the same numerator and denominator order values.
43
REFERENCES
Digital Filters and Signal Processing: 3
rd
edition By Leland B. Jackson
Digital signal processing: 3
rd
edition by John G. Proakis & Manolakis.
Digital Signal ProcessingA computer based approach: 2
nd
Edition by Sanjit
K Mitra
Multirate System & Filter Banks By P.P. Vaidhyanathan
Digital Signal Processing By R A Barapate
http://nptel.iitm.ac.in/video.php?subjectId=117102060 (NPTEL Online Video
Course)
Mathworks Webpage
(http://www.mathworks.in/products/signal/description4.html)
Mikroelektronika Webpage
(http://www.mikroe.com/chapters/view/73/chapter3iirfilters/)
TMS320 C6713 DSP Starter KIT User Manual
Wikipedia
National Instrument (http://zone.ni.com/reference/enXX/help/371325F
01/lvdfdtconcepts/design_methods/)
EE TIMES (http://eetimes.com/electronicsnews/4164517/Practical
applicationsofdigitalfilters)
44
45
This action might not be possible to undo. Are you sure you want to continue?