IIR Filters (II)
Total Page:16
File Type:pdf, Size:1020Kb
Lecture 8 - IIR Filters (II) James Barnes ([email protected]) Spring 2009 Colorado State University Dept of Electrical and Computer Engineering ECE423 – 1 / 27 Lecture 8 Outline ● Introduction ● Digital Filter Design by Analog → Digital Conversion ● (Probably next lecture) ”All Digital” Design Algorithms ● (Next lecture) Conversion of Filter Types by Frequency Transformation Colorado State University Dept of Electrical and Computer Engineering ECE423 – 2 / 27 ❖ Lecture 8 Outline Introduction ❖ IIR Filter Design Overview Method: Impulse Invariance for IIR FIlters Approximation of Derivatives Bilinear Transform Matched Z-Transform Introduction Colorado State University Dept of Electrical and Computer Engineering ECE423 – 3 / 27 IIR Filter Design Overview ● Methods which start from analog design ✦ Impulse Invariance ✦ Approximation of Derivatives ✦ Bilinear Transform ✦ Matched Z-transform All are different methods of mapping the s-plane onto the z-plane ● Methods which are ”all digital” ✦ Least-squares ✦ McClellan-Parks Colorado State University Dept of Electrical and Computer Engineering ECE423 – 4 / 27 ❖ Lecture 8 Outline Introduction Method: Impulse Invariance for IIR FIlters ❖ Impulse Invariance ❖ Impulse Invariance (2) ❖ Impulse Invariance (3) ❖ Impulse Invariance (5) ❖ Impulse Invariance Procedure ❖ Impulse Invariance Example Method: Impulse Invariance for IIR FIlters ❖ Impulse Invariance Example (2) Approximation of Derivatives Bilinear Transform Matched Z-Transform Colorado State University Dept of Electrical and Computer Engineering ECE423 – 5 / 27 Impulse Invariance We start by sampling the impulse response of the analog filter: ha(t) h[n]= ha(nt0) t0 Sampling Theorem gives relation between Fourier Transform of sampled and continuous ”signals”: ∞ 1 ω 2πk H(z)|z=ejω = Ha(j − j ), (1) t0 t0 t0 k=X−∞ where ω =Ωt0 = 2πf/fs and f is the analog frequency in Hz. Colorado State University Dept of Electrical and Computer Engineering ECE423 – 6 / 27 Impulse Invariance (2) Analytic Continuation: assume eqn (1) holds true over the entire complex s and z s st0 planes. Equvalent to replacing Ω with j and ω with j . Sampling the impulse response is equivalent to mapping the s-plane to the z-plane using z = est0 = eσt0 ejΩt0 (2) From the polar representation of z = r ejω: ● The entire Ω axis of the s-plane wraps around the unit circle of the z-plane an infinite number of times; ● The negative half s-plane maps to the interior of the unit circle and the RHP to the exterior. This means stable analog filters (poles in LHP) will transform to stable digital filters (poles inside unit circle). ● This is a many-to-one mapping of strips of the s-plane to regions of the z-plane. ✦ Not a conformal mapping. ✦ The poles map according to z = est0 , but the zeros do not Colorado State University Dept of Electrical and Computer Engineering ECE423 – 7 / 27 Impulse Invariance (3) Mapping jΩ . 3 π t0 z-plane s-plane π t 0 1+j0 σ - π t0 . Colorado State University Dept of Electrical and Computer Engineering ECE423 – 8 / 27 Impulse Invariance (5) Limitation of Impulse Invariance: overlap of images of the frequency response. This prevents it from being used for high-pass filter design Ha(jΩ) 1 Ω Ωc H(ejω) 1 t0 ω -2π 2π Ωct0 Advantage of Impulse Invariance: linear translation between Ω and ω - preserves shape of filter frequency response. Colorado State University Dept of Electrical and Computer Engineering ECE423 – 9 / 27 Impulse Invariance Procedure How do we use Impulse Invariance for IIR filter design? Start with Partial Fraction Expansion of Analog Filter, where αkare the pole locations. NOTE: IN THIS AND MOST OF THE FOLLOWING, IT IS ASSUMED THAT ALL POLES ARE FIRST-ORDER (NOT MULTIPLE). N N Ak αkt Ha(s) = ⇒ ha(t) = Ake u(t) (3) s − αk kX=1 kX=1 and the sampled impulse response is N αk nt0 h[n] = ha(nt0) = Ake u[n] (4) kX=1 with discrete-time transfer function N Ak H(z) = − (5) 1 − eαkt0 z 1 kX=1 Colorado State University Dept of Electrical and Computer Engineering ECE423 – 10 / 27 Impulse Invariance Example s+a Let Ha = (s+a)2+b2 . This filter has a zero at β=-a and poles at αk = −a ± jb. The partial fraction expansion is 1/2 1/2 H (s) = + . (6) a s + a + jb s + a − jb The corresponding discrete-time filter has a transfer function given by 1/2 1/2 H(z) = − − − + − − , (7) 1 − e (a jb)t0 z 1 1 − e (a+jb)t0 z 1 or − − B(z) 1 − e at0 cos(bt ) z 1 0 (8) H(z) = = −at −1 −2at −2 A(z) 1 − 2e 0 cos(bt0) z + e 0 z Colorado State University Dept of Electrical and Computer Engineering ECE423 – 11 / 27 Impulse Invariance Example (2) Pole and Zero Locations Colorado State University Dept of Electrical and Computer Engineering ECE423 – 12 / 27 ❖ Lecture 8 Outline Introduction Method: Impulse Invariance for IIR FIlters Approximation of Derivatives ❖ Method: Approximation of Derivatives ❖ Approximation of Derivatives (2) ❖ Approximation of Approximation of Derivatives Derivatives (3) Bilinear Transform Matched Z-Transform Colorado State University Dept of Electrical and Computer Engineering ECE423 – 13 / 27 Method: Approximation of Derivatives This is a plausibility argument, not a rigorous proof. Start with an analog filter with system function H(s) expressed in rational form with constant coefficients: M β sk H(s) = k=0 k . (9) PN k k=0 αks In the time domain, this is equivalent toP the differential equation M N dky(t) dkx(t) α = β . (10) k dtk k dtk kX=0 kX=0 But we can approximate a derivative by a backward difference: dy(t) ∼ y(nt0) − y(nt0 − t0) y[n] − y[n − 1] |t=nt0 = = . (11) dt t0 t0 Colorado State University Dept of Electrical and Computer Engineering ECE423 – 14 / 27 Approximation of Derivatives (2) The left hand and right hand sides of eqn(11) represent a continuous time and discrete time system which are supposed to be equivalent: dy y(t) dt H(s) = s y[n] − y[n]−y[n−1] 1−z 1 H(z) = t0 t0 For both systems to be equivalent, we must have the following mapping: 1 − z−1 s = . (12) t0 This relationship between s and z holds for all orders of the derivative, with s replaced by skand the first order difference replaced by the k-th order difference. Hence it holds for the system described by eqn (10). Colorado State University Dept of Electrical and Computer Engineering ECE423 – 15 / 27 Approximation of Derivatives (3) Solving previous for z: 1 z = (13) 1 − st0 This is one mapping between the s and z-planes. It maps the entire LH plane of the s-plane into a circle centered at z=[1/2,0] and radius 1/2. It is not a useful mapping if you want to create a digital filter with poles in other regions inside the unit circle. However, there is no aliasing. Colorado State University Dept of Electrical and Computer Engineering ECE423 – 16 / 27 ❖ Lecture 8 Outline Introduction Method: Impulse Invariance for IIR FIlters Approximation of Derivatives Bilinear Transform ❖ Method: Bilinear Transform ❖ Bilinear Transform (2) ❖ Bilinear Transform - Bilinear Transform Pre-warping ❖ Bilinear Transform - Pre-warping (2) ❖ Design Example for Second Order Section ❖ Second-order Section (2) ❖ Second-order Section (3) Matched Z-Transform Colorado State University Dept of Electrical and Computer Engineering ECE423 – 17 / 27 Method: Bilinear Transform BLT is the standard method for designing digital filters ”by hand”. Like the previous method (Approximating Derivatives), it is based on an approximate solution of the continuous-time equation (11), but instead of approximating the derivative(s), it approximates integrals using the Trapezoidal Rule. Consider the system 0 c1ya(t) + c0ya(t) = d0x(t), (14) with system function H(s) given by: d0 Ha(s) = . (15) c1s + c0 0 Express ya(t) as an integral of ya(t): t 0 ya(t) = ya(t) dt + ya(τ), (16) Zτ and let t = nt0 and τ =(n − 1)t0 . Colorado State University Dept of Electrical and Computer Engineering ECE423 – 18 / 27 Bilinear Transform (2) Then (see Oppenheim and Schafer), using the Trapezoidal Rule to approximate the integral, (16) can be written: t 0 0 y (nt ) = y ((n − 1)t ) + 0 [y (nt ) + y ((n − 1)t ). (17) a 0 a 0 2 a 0 a 0 0 Substituting for ya(nt0) from equation (14) and using y[n] = y(nt0), we have : t c d (y[n] − y[n − 1]) = 0 [− 0 (y[n] + y[n − 1]) + 0 (x[n] + x[n − 1])]. (18) 2 c1 c0 Taking the z-transform of this equation and using the fact that Z{y[n − 1]} = z−1Y (z), ..., we get Y (z) d 0 (19) H(z) = = 2 1−z−1 . X(z) c −1 + c 1 t0 1+z 0 Colorado State University Dept of Electrical and Computer Engineering ECE423 – 19 / 27 Bilinear Transform - Pre-warping − Comparing (19) to (15): H(z) = Ha(s)| 2 1−z 1 , i.e. the discrete-time transform s= − t0 1+z 1 will equal the continuous time transform if 2 1 − z−1 (20) s = −1 . t0 1 + z Substituting s = jΩ and z = ejω and using the definition sin(x) ejx − e−jx tan(x) = = j , (21) cos(x) ejx + e−jx we get the following relation between Ω and ω : 2 ω Ω = tan( ). (22) t0 2 Colorado State University Dept of Electrical and Computer Engineering ECE423 – 20 / 27 Bilinear Transform - Pre-warping (2) The relation between Ω and ω and the mapping between s- and z-planes are shown below: Note that the bilinear transform maps the entire left-hand s-plane to the interior of the unit circle of the z-plane, and that higher frequencies along the jΩ axis are compressed compared with frequencies near 0.