620 likes | 937 Views
CHAPTER 7 filter design techniques. 7 .0 introduction 7.1design of discrete-time IIR filters from continuous-time filters 7.1.1 filter design by impulse invariance 7.1.2 filter design by bilinear transform 7.1.3 not low pass filter design and other method
E N D
CHAPTER 7 filter design techniques 7.0 introduction 7.1design of discrete-time IIR filters from continuous-time filters 7.1.1 filter design by impulse invariance 7.1.2 filter design by bilinear transform 7.1.3 not low pass filter design and other method 7.2 design of FIR filters by windowing.7.3 summary
7.0 introduction ideal frequency selective filter band-stop filter:notch filter;quality factor of band-pass filter=pass-band width/center frequency
Figure 7.1 impulse response of ideal low-pass filter,noncausal,unrealizable Specifications for filter design :given in frequency domain phase:linear? magnitude:given by a tolerance scheme analog or digital,absolute or relative
absolute specification magnitude response of equivalent analog system passband tolerance 3dB cutoff frequency stopband tolerance Figure 7.2 monotonous descent passband cutoff frequency stopband cutoff frequency
relative specifications:maximum magnitude in passband is normalized to 1, viz. 0dB maximum attenuation in passband minimum attenuation in stopband 3dB cutoff frequency: magnitude response of equivalent analog system: digital specification, finally:
Specifications for bandpass and bandstop filters: up and down passband cutoff frequency, up and down stopband cutoff frequency Design steps: (1)decide specifications according to application (2)decide type according to specification:generally , if the phase is required , choose FIR. (3)approach specifications using causal and stable discrete-time system: viz. design H(z0) or h[n],nonuniform (4)choose a software or hardware realization structure, take effects of limited word length into consideration H(z) or h[n]
7.1 design of discrete-time IIR filters from continuous-time filters attention:original analog filter and equivalent analog filter is different, their frequency response is not always the same 7.1.0 introduction of analogy filter 7.1.1filter design by impulse invariance 7.1.2 filter design by bilinear transform
7.1.0 introduction of analog filter comparison: 1.wave 2.the same order, increase performance 3.increase design complexity (A)(C)small aliasing in the impulse invariance design technique
BW design formula: specificationsystem function magnitude frequency function: take the specifications into system function and get the results from equation group: OR confirm the poles of system function: (in the left half plane) get system function:
design a low pass analogy filter: EXAMPLE [N,Wc]=buttord(2000*pi,4000*pi,1,15, 's') [Bs,As]=butter(N,Wc, 's') [H,W]=freqs(Bs,As); plot(W/2/pi,20*(log10(abs(H)))) axis([1000,2000,-16,0]) grid on OUTPUT: N = 4 Wc = 8.1932e+003 Bs = 1.0e+015 * 0 0 0 0 4.5063 As = 1.0e+015 * 0.0000 0.0000 0.0000 0.0014 4.5063
Or: [N,Wc]=buttord(2000*pi,4000*pi,1,15, 's') [z,p,k]=butter(N,Wc, 's' ) Output: z = Empty matrix: 0-by-1 p = 1.0e+003 * -7.5695 + 3.1354i -7.5695 - 3.1354i -3.1354 + 7.5695i -3.1354 - 7.5695i k = 4.5063e+015
design a low pass cheby analogy filter: EXAMPLE [N,Wc]=cheb1ord(2000*pi,4000*pi,1,15, 's') [Bs,As]=cheby1(N,1,Wc, 's') [H,W]=freqs(Bs,As); plot(W/2/pi,20*(log10(abs(H)))) axis([0,4000,-30,0]) grid on
design a low pass cheby analogy filter: EXAMPLE [N,Wc]=cheb2ord(2000*pi,4000*pi,1,15, 's') [Bs,As]=cheby2(N,15,Wc, 's') [H,W]=freqs(Bs,As); plot(W/2/pi,20*(log10(abs(H)))) axis([0,4000,-30,0]) grid on
EXAMPLE design a high pass analogy filter: [N,Wc]=buttord(4000*pi,2000*pi,1,15, 's') [Bs,As]=butter(N,Wc, 'high','s') [H,W]=freqs(Bs,As); plot(W/2/pi,20*(log10(abs(H)))) axis([0,4000,-16,0]) grid on
S plane Z plane imaginary axis the unit circle poles in left half plane inside the unit circle transformation from analog filter to digital filter: H(s)H(z),viz. mapping from S plane to Z plane, must satisfy: the same frequency response(map imaginary axis to the unit circle); causality and stability is preserved(map poles from left half plane to the inside circle)。
7.1.1 filter design by impulse invariance according to : conversion formula:
Relationship between poles(causal and stable): relation between frequencies: S plane Z plane
relation between frequency response: when aliasing is small, the frequency response is the same. strongpoint:linear frequency mapping; shortcoming:aliasing in frequency response。 restriction in application:can not used in high-pass and bandstop filter
Design steps: (3) about Td: independent of T; do not influence aliasing; arbitrary value,generally, take 1(attention(1)and(3)have the same value).
EXAMPLE wp=0.2*pi; ws=0.4*pi ap=1; as=12 Td=1; Wp=wp/Td; Ws=ws/Td [N,Wc]=buttord(Wp,Ws, ap , as, 's') [Bs,As]=butter(N,Wc, 's') [Bz,Az]=impinvar(Bs,As,1/Td) [H,W]=freqs(Bs,As); plot(W/pi,20*(log10(abs(H))), 'r*') hold on [H,w]=freqz(Bz,Az); plot(w/pi,20*(log10(abs(H)))) axis([0.2,0.4,-20,0]) grid
design formula: 7.1.2 filter design by bilinear transform design thought:
left half s-plane inside the unit circle in the z-plane(causality and stability are preserved); imaginary axis of the s-plane the unit circle in z-plane (the same frequency response), one-by-one mapping relation between frequencies:
relation between frequency response: strongpoint:no aliasing; shortcoming:nonlinear。 restriction in application: can not used in differentiator.
design steps: (1) (3) about Td: independent of T; arbitrary value,generally, take 1(attention(1)and(3)have the same value).
EXAMPLE wp=0.2613*pi; ws=0.4018*pi; ap=0.75; as=20; Td=1; Ws=2/Td*tan(ws/2); Wp=2/Td*tan(wp/2) [N,Wc]=buttord(Wp,Ws,ap,as,’s’) [Bs,As]=butter(N,Wc, ‘s’) [Bz,Az]=bilinear(Bs,As,1/Td) [H,W]=freqs(Bs,As); plot(W/pi,20*(log10(abs(H))),’Rx‘) hold on [H,w]=freqz(Bz,Az); plot(w/pi,20*(log10(abs(H)))) ylabel(‘虚线:模拟滤波器幅度[dB] 实线:数字滤波器幅度[dB]’) xlabel(‘虚线:模拟角频率[*π弧度/秒] 实线:数字角频率[*π弧度]’) axis([0.25,0.5,-20,-0.45]) grid
OR wp=0.2613*pi; ws=0.4018*pi; ap=0.75; as=20 [N,wc]=buttord(wp/pi,ws/pi,ap,as) [Bz,Az]=butter(N,wc) [H,w]=freqz(Bz,Az); plot(w/pi,20*(log10(abs(H))))
EXAMPLE [N,Wc]=buttord(0.6,0.5,ap,as) [Bz,Az]=butter(N,Wc, 'high') [H,w]=freqz(Bz,Az); plot(w/pi,20*(log10(abs(H)))) grid
[N,wc]=buttord([0.45 0.55],[0.4 0.6],3,10) %双线性变换法 [B,A]=butter(N,wc) [H,w]=freqz(B,A); plot(w/pi,20*(log10(abs(H)))) ylabel(‘20log|H(ejω)| [dB]’) xlabel(‘数字角频率[*π弧度]’) axis([0.4,0.6,-10,0]); grid on Output: N = 2 wc = 0.4410 0.5590 B = 0.0271 0 -0.0541 0 0.0271 A = 1.0000 0 1.4838 0 0.5920
7.1.3 IIR summary 1.design steps 2. impulse invariance: frequency axis is linear many-to-one mapping , aliasing in frequency response, inapplicable to high-pass filter. bilinear transformation: frequency axis is one-to-one mapping with aberrance, no aliasing in frequency response, inapplicable to differentiator
7.1.4 frequency conversion Frequency conversion in analog domain:
7.2 design of FIR filters by windowing 7.2.1 design ideas7.2.2 properties of commonly used windows7.2.3 effect to frequency response7.2.4 design step
Gibbs phenomenon: frequency response oscillate at wc. transition width of filer’smainlobe width of window spectrum length and shape of window’s passband-stopband error of filter’ssidelobe amplitude of window spectrum window’s shape The smaller mainlobe width, the narrower transition width of filter’s; The smaller sidelobe amplitude of window spectrum, the smaller relative error of filter’s. M increases mainlobe width of window spectrum minishes filter oscillate more quickly, transition width minishes, relative amplitude of oscillation is preserved. In order to improve relative amplitude of oscillation, we need to change the shape of window’s.
A general designation: Blackman window family, except triangular window Figure 7.21
(a)-(e) attenuation of sidelobe increases, width of mainlobe increases.
As B increases, attenuation of sidelobe increases, width of mainlobe increases. M=20 B=6 As N increases: attenuation of sidelobe is preserved, width of mainlobe decreases. Figure 7.24(b)(c)
Transition width is a little less than mainlobe width Table 7.1
7.2.3 effect to frequency response attenuation of window spectrum’s sidelobe attenuation of filter’s stopband width of window spectrum’s mainlobetransition width of filter’s check the table for Blackman window; formulas of Kaiser window: A:attenuation of stopband, Δω:transition width
7.2.4 design step 1. Write the ideal impulse response: 2.Comfirm the shape of window’s based on attenuation of stopband: (1)check the table for Blackman window (2)calculation for Kaiser window
We can think that the 4 specifications is transformed into: The same with IIR, maybe the specification is equivalent analog one. 3.Comfirm length of window’s based on transition width(M is even): (1) check the table for Blackman window: compute the length of window’s based on width of mainlobe: (2) calculation for Kaiser window : 4.Cut the ideal impulse response 5.
Blackman family Example 1 (1) (2) hamming (3) (4)
(5)validate the frequency response in MATLAB h=fir1(26,0.62, 'high',hamming(27)) H=fft(h,512); plot([0:511]/256,20*log10(abs(H))) axis([0.5,0.7,-50,0]); grid on
(6)correct h=fir1(24,0.665, 'high',hamming(25)) H=fft(h,512); plot([0:511]/256,20*log10(abs(H))) axis([0.5,0.7,-80,0]); grid on h= 0.0001 0.0023 -0.0040 0.0004 0.0104 -0.0170 0.0009 0.0358 -0.0538 0.0014 0.1288 -0.2727 0.3357 -0.2727 0.1288 0.0014 -0.0538 0.0358 0.0009 -0.0170 0.0104 0.0004 -0.0040 0.0023 0.0001
Kaiser family Example 2 Solution1: (1) (2) (3) (4)