lecture_36

advertisement
ECE
8443
– PatternContinuous
Recognition
EE
3512
– Signals:
and Discrete
LECTURE 36: DESIGN OF IIR FILTERS
• Objectives:
Filters and Difference Equations
Signal Flow Graphs
FIR and IIR Filters
Bilinear Transform
Digital Conversion of Filters
Design of Analog Filters
• Resources:
ISIP: Filter Transformations
Wiki: Digital Filter Design
JOS: Digital Filters
Wiki: Bilinear Transform
CNX: IIR Design
URL:
Converting Difference Equations To Signal Flow Graphs
• Recall our expression for a linear, constant-coefficient difference equation:
y[n]  a1 y[n 1]  a2 y[n  2]  ... aN y[n  N ]  b0 x[n]  b1 x[n 1]  ... bM x[n  M ]
• This equation can be written succinctly using summations:
N
M
k 1
l 0
y[n]   ak y[n  k ]   bl x[n  l ]
• We can draw a signal flow graph implementation of this equation:
b0
x[n]
z
z
1
1
b1
b2
y[n]
+
+
+
+
1
+
2
+
a
1
z
a
1
z
...
...
• This is known as the Direct Form I implementation of the above difference
equation. Can we implement this more efficiently?
EE 3512: Lecture 36, Slide 1
Direct Form II: Sharing Delay Elements (Memory)
• One of the more elementary aspects of the field of digital signal processing is
to develop more efficient implementations of digital filters, as well as improve
their ability to produce accurate results with less numerical precision.
• A more efficient implementation of our filter is a Direct Form II:
x[n]
b0
+
+
+
a
1
z
1
a
2
z 1
b1
b2
+
y[n]
+
+
...
• This filter has the same transfer function, but shares the delay element
between the feedforward (moving average/finite impulse response) and
feedback (autoregressive/infinite impulse response) portions of the filter.
• Analog differential equations can be represented by similar signal flow graphs,
but their implementation involves physical components (e.g., RLCs, op amps).
EE 3512: Lecture 36, Slide 2
More About Types of Filters
• Consider a filter with only
feedforward components:
• The transfer function is:
M
y[n]   bl x[n  l ]
l 1
Y ( z) M
H ( z) 
  bl z l
X ( z ) l 0
• Since the impulse response of this filter, h[n], has a finite number of nonzero
terms, this filter is referred to as a finite impulse response (FIR) filter. Observe
that this filter only has zeroes.
• Next, consider a filter with only
feedback components:
• The transfer function is:
N
y[n]   ak y[n  k ]  b0 x[n]
k 1
H ( z) 
b0
N
1   ak z  k
k 1
• This is an all-pole filter with an infinite impulse response (IIR). Why?
EE 3512: Lecture 36, Slide 3
Design of Digital Filters Using Analog Prototypes
• Analog filter design theory was developed in the mid-1900’s.
• As digital signal processing developed, it seemed reasonable to leverage
existing knowledge in analog filter design.
• Our strategy will be to design the filter in the analog domain, and then
transform the filter to the digital domain.
• We can derive this transformation by recalling the relationship between the
Laplace transform and the z-transform:
1
z  e sT  s  ln( z )
T
• We can approximate the logarithm using a Taylor series:
1
2  z  1  2  1  z 1 

s  ln( z )  
  
1 
T
T  z 1 T 1 z 
• This transformation is known as the bilinear transform. It maps the left-half
s-plane to the interior of the unit circle in the z-plane.
• Unfortunately, it also “warps” the frequency axis, so the analog filter design
must be prewarped so that it lands at the proper frequency in the z-plane.
Let s =  + j and z = re j:
2  1  re  j
  j  
T  1  re j
EE 3512: Lecture 36, Slide 4



Frequency Warping In the Bilinear Transform
• We can solve for  and  by equating real and imaginary parts:

2
r 2 1

  
2
T  1  r  2r cos 

2
2r sin 



T  1  r 2  2r cos 
• To understand the implications on frequency response, set r = 1 and  = 0 :

2 sin 
2
 
 tan 
T 1  cos T
2
 T 

2


  2 tan1 
• This suggests a design strategy where:
(1) Establish requirements (e.g., cutoff frequency of c = 2(1 kHz)/(8 kHz)).
2
 
(2) “Prewarp” by computing the equivalent analog frequency: c  tan c  .
T
 2 
(3) Design an analog filter, generating H(s).
(4) Derive: H ( z )  H ( s) s  2 z 1
T z 1
EE 3512: Lecture 36, Slide 5
Design Example: Butterworth Lowpass Filter
• Recall our expression for a second-order Butterworth filter:
c2
H ( s)  2
s  2c s  c2
(1) Requirements: Let our sample frequency be 5 Hz, and our desired lowpass
cutoff frequency be 0.318 Hz (2 rd/sec). Our desired digital cutoff frequency
is 2 rd/sec * (1/5 Hz) = 0.4 rd.
2
2
 
 0.4 
(2) Prewarp:
c  tan c  
tan
  2.027 rd / sec
T
 2  1 / 5  2 
f c  c / 2  0.323 Hz (shiftedfrom 0.318 Hz)
2

0.16
c
(3) Derive: H (s) 

2
s 2  2c s  c2 s  0.567s  0.16
0.0309(1  2 z 1  z 2 )
H ( z )  H ( s) s  2 z 1 
1  1.444z 1  0.5682z 2
T z 1
(5) Compare frequency responses:
(4) Derive:
H ( z ) no warping
H ( z ) prewarped
0.0302(1  2 z 1  z 2 )

1  1.4514z 1  0.5724z 2
0.0309(1  2 z 1  z 2 )

1  1.444z 1  0.5682z 2
EE 3512: Lecture 36, Slide 6
Design of Analog Filters in MATLAB
• Butterworth: Let our sample frequency be 5 Hz, and our desired lowpass
cutoff frequency be 0.318 Hz (2 rd/sec). Our desired digital cutoff frequency is 2
rd/sec * (1/5 Hz) = 0.4 rd.
[z, p, k] = buttap(2);
% creates a 2-pole filter
[num, den] = zp2tf(z, p, k);
wc = 2;
% desired cutoff frequency
[num, den] = lp2lp(num, den, wc);
T = 0.2;
[numd, dend] = bilinear(num, den, 1/T);
numd = [0.0302 0.0605 0.5724]
dend = [1 -1.4514 0.5724]
• Note that a direct digital design
can be done using the “butter”
command.
• Chebyshev Type 1 Highpass Filter:
Let our sample frequency be 5 Hz, and
our desired highpass cutoff frequency be
0.318 Hz (2 rd/sec). Our passband ripple
is 3 dB.
N = 2;
% number of poles;
Rp = 3;
% passband ripple;
T = 0.2;
% sampling period;
wc = 2;
% analog cutoff frequency;
Wc = wc * T / pi;
% normalized cutoff frequency
[numd, dend] = cheby1(N,Rp,Wc,’high’);
numd = [0.5697 -1.1394 0.5697]
dend = [1 -1.516 0.7028]
EE 3512: Lecture 36, Slide 7
• Note this filter was designed
directly in the digital domain.
Summary
• Introduced realizations of difference equations using signal flow graphs.
• Introduced the concept of FIR and IIR filters.
• Discussed a method for transforming an analog filter to a digital filter that
preserves the stability of the filter.
• Described a method to prewarp the frequency axis so that the analog filter
results in a digital filter at the correct frequency.
• Demonstrated this design process using Butterworth and Chebyshev
prototype analog filters.
EE 3512: Lecture 36, Slide 8
Download