. ECE 40 DIGITAL SIGNAL PROCESSING D. Munson University of Illinois Chapter IIR Filter Design ) Based on Analog Prototype a) Impulse invariant design b) Bilinear transformation ( ) ~ widely used ) Computer-Aided Optimization Designs in category ) proceed by first designing an analog filter having a frequency response with the desired shape, and then transforming it to a digital filter. To use these design methods, we must first learn just a bit about analog filter design. Elements of Analog Filter Design Notation: H L (s) h a (t) e -st dt (Laplace transform) H a (Ω) H L (jω) (Fourier transform) Consider only lowpass Butterworth, Chebyshev, and elliptic (Cauer) filters. For each of these types of filters, H L (s) is found indirectly from a specified H a (Ω). We need H L (s) because, later, this is what will be transformed into H(z). For Butterworth, Chebyshev, and elliptic filters, H a (Ω) has the form: H a (Ω) M(Ω ) + F(Ω ) rational with real coeffs.
. How do we get H L (s) from H a (Ω)? That is, how do we find H L (s) satisfying Answer: H L (jω) H a (Ω) M(Ω )? (*) ) First find poles and zeros of M( s ) where s is a complex variable. Since M has real coefficients and is a function of s, the poles and zeros will have symmetry around both the real and imaginary axii. ) Take H L (s) to be the left-half-plane pole factors (for stability) and left-half-plane zero factors (for smallest delay, called minimum phase ). But, does this work? Need to show H L (jω) M(Ω ) () Have: H L (s) H L ( s) M( s ) RHP factors LHP factors which implies So, () will be true if H L (jω) H L ( jω) M(Ω ) H L ( jω) H (jω) () L This follows, though, because the poles and zeros of H L (s) are symmetric around the real axis, and therefore occur in complex-conjugate pairs. For any pole pair or zero pair (s p) (s p*) in H L (s), we have (s p) (s p ) s jω ( jω p) ( jω p*) [(jω p*) (jω p)]* (s p)(s p ) s jω which proves (), and therefore ().
.3 Example Find H L (s). H a (Ω) M(Ω ) +Ω We have M( s ) s ( s) ( + s) LHP factor H L (s) s + Let s check to see if H a (Ω) above M(Ω ): H a (Ω) H L (jω) jω+ jω+ Ω + M(Ω ) Example Suppose M(Ω ) +Ω + Ω 4 (not for a B, C, or E filter!) Then M(-s ) s +s 4. ( s)( + s) (s +γ)(s+γ*)(s γ)(s γ*)
.4 γ e jπ 4 + j Pole-zero diagram: Take H L (s) + s (s +γ)(s+γ ) (LHP factors) Can check that H L (jω) M(Ω ). M( Ω ) for B, C, and E Filters Butterworth M(Ω ) Result: + F(Ω ) with F(Ω ) Ω n for nth-order filter M(Ω ) H a (Ω).0.5 monotone ~ no ripple.0 Ω M(Ω ).5 at Ω Ω c.0. For a general cutoff frequency Ω c, use F(Ω ) Ω Ωc n.
.5 Here, we are defining the cutoff frequency to be the value of Ω where H a (Ω) is reduced to onehalf its maximum height, or correspondingly, H a (Ω) reaches times its maximum value. This definition of cutoff frequency is common, particularly for smooth frequency responses that contain little or no ripple. Optimality: This M(Ω ) has maximum # of derivatives 0 at the origin for its order. Thus, the response is very flat across lower frequencies. Can show poles of M( s ) H L (s) H L ( s) are equally spaced on the unit circle. This fact helps in factoring M( s ). Chebyshev F(Ω ) ε C n (Ω) where ε is a real constant chosen by the designer and C n ( ) is the nth-order Chebyshev polynomial: C n (Ω) ( ) Ω ( ) Ω > cos n cos (Ω) cosh ncosh (Ω) with cosh t et + e t Can show: C 0 (Ω), C (Ω) Ω, C (Ω) Ω, and that there is a recursion relation: C n+ (Ω) Ω C n (Ω) C n (Ω) Result:
.6 M(Ω ) H a (Ω).0 + ε.0 Ω For this type of filter, the cutoff frequency is defined to be the value of Ω where H a (Ω) first drops below /(+ ε ) or, correspondingly, H a (Ω) first drops below +ε. This is a Type Chebyshev filter. Its response is equiripple in the passband and monotone decreasing in the stopband. It has a narrower transition band than a Butterworth filter. Tradeoff: Smaller ε gives smaller passband ripple but a wider transition band. Poles of M( s ) H L (s) H L ( s) lie on an ellipse. There is also a Type Chebyshev filter that has a monotone response in its passband and equiripple behavior in its stopband. Elliptic F(Ω ) ε J n (Ω) where J n is the Jacobi elliptic function. The defining formulas for J n are so cumbersome that they are not presented here. Result:
.7 M(Ω ) H a (Ω).0 δ p Ω p Ω s δ s Ω The response is equiripple in both the passband and stopband. Elliptic filters are optimal in the sense that for a given n, δ p, δ s, Ω p, the transition bandwidth Ω s - Ω p is the smallest possible. H a (Ω) for B, C, and E filters is reasonably linear till you get near the edge of the passband, where it can be quite nonlinear. The phase response is closest to linear for B, then C. Elliptic is worst. All-pass filters are sometimes cascaded onto elliptic filters to compensate for the nonlinear phase of elliptic filters. All-pass filters have H a (Ω) constant and the coefficients are chosen to shape H a (Ω) in a desired way. Bilinear Transformation Start with analog prototype H L (s). Take H(z) H L (s) sα z +z α is a real positive constant that we will be able to choose to control the cutoff frequency of the digital filter.
.8 s α z is a bilinear transformation (BLT) of the z-plane to the s-plane. For + z example, the point z o maps to the point s o as shown below. Im(z) z-plane α Im(s) s-plane z o π 4 so jα tan π 8 Re(z) Re(s) z o e jπ 4 To see this, note: s o α z o + z o α e jπ 4 + e jπ 4 α e jπ 8 e jπ 8 e j π 8 e jπ 8 e jπ 8 + e jπ 8 α jsin π 8 cos π 8 j α tan π 8 π So, if we design a digital filter using the BLT, then H(z o ) H d 4 H L (s o ) H a α tan π 8. will have the same value as We must have a much broader understanding than this, however. Questions: i) Stable H L (s) stable H(z)? ii) How is H d (ω) H( e jω )related to H L (s)? Answer i) by considering a point s s o and determining what z it gets mapped to. BLT mapping is s α z + z s ( + z ) α ( z )
.9 z ( s +α) α s z α+s α s So, a point s o σ o + j Ω o. gets mapped to: z o α+σ o + jω o α σ o jω o (*) i.e., H(z o ) H L (s o ). From (*) z o ( ) +Ω o ( ) +Ω o α+σ o α σ o / So: < σ o < 0 z o σ ο 0 > σ ο > 0 giving: Note: a) Left-half s-plane is mapped inside the unit circle in the z-plane. b) Right-half s-plane is mapped outside the unit circle in the z-plane. c) Imaginary axis in s-plane is mapped onto the unit circle in the z-plane. [ a) stable H L (s) results in stable H(z) ] [ c) H d (ω) H(e jω ) depends only on H L (jω)h a (Ω)] What is the relationship between H d (ω) and H a (Ω)? H d (ω) is given by
.0 Note: H d (ω) H(e jω ) H L (s) sα e jω +e jω α e jω + e jω α e jω/ e j ω/ e jω / e jω / e j ω/ + e j ω / α jsin ω cos ω j α tan ω So, H d (ω) H L (s) s jα tan ω Since H a (Ω) H L (jω) we have H d (ω) H a αtan ω ( ) This equation tells us exactly how, when using the bilinear transformation design method, the frequency response of the designed digital filter will depend on the frequency response of the analog prototype.
. Pictorial interpretation of ( ): α tan ω Ω o H d (ω o ) H a (Ω o ) -π ω o π ω So, H d (ω) takes on exactly the same set of values as H a (Ω), but there is a squashing of the analog frequency axis, according to the above curve. This mapping is nonlinear, and it has to be, since the infinite-length analog frequency axis < Ω < is mapped onto the finite-length interval π < ω < π. Because of this, H d (ω) won't look like H a (Ω) in general. It will be a warped version. This effect is sometimes called frequency warping. Example Applying the BLT to an analog prototype having frequency response: H a (Ω) Ω
. results in: H d (ω) π ω In general, to design H d (ω) having a desired shape, we would need to design H a (Ω) so that after application of the BLT, the frequency warping produces the desired H d (ω). Thus, we would need to prewarp. Let the desired H d (ω) be D(ω). ( ) want H a αtan ω H a (Ω) D tan Ω α D(ω) ( ) If we could design H L (s) to satisfy ( ), the BLT, would then give H d (ω) D(ω). This is problematic, however. The design of H L with a general shape will require computer optimization. Thus, we may as well design H d directly, using computer optimization. Fortunately, for LPF s, BPF s and HPF s, there is no such problem. For these kinds of filters, frequency warping just affects the cutoff frequencies, e.g., H a (Ω) H d (ω) BLT From ( ): Ω c Ω π ω π ω c Ω c αtan ω c ( )
.3 So, we can simply pick Ω c to give the desired ω c. Equivalently, if H a (Ω) is normalized to Ω c, we can choose α in the BLT to give the desired ω c. This suggests two alternative, but equivalent, design procedures:. a) Choose α arbitrarily, say α. b) Then design the analog prototype to have cutoff Ω c given by ( ). c) Apply the BLT.. a) Use an analog prototype with Ω c. b) Choose α to give the desired ω c. From ( ), α Ω c cot ω c so that the BLT method becomes H(z) H L (s) s Ω c cot ω c z +z Analog prototype filters are usually designed with normalized cutoff frequencies Ω c.0. In this case, the bilinear transformation method of design reduces to H(z) H L (s) s cot ω c z +z (BLT) In this course, we will use the second option, with Eq. (BLT), to perform the bilinear transformation method of design. Example
.4 Design a first-order Butterworth digital filter with ω c π 4, using the BLT method Solution: First, find the analog prototype: H a (Ω) B(Ω ) +Ω B( s ) s s + s Pole locations: Take LHP factor for H L (s): H L (s) s + Apply (BLT): H(z) H(z) s + scot π z 8 +z.44 z.44 + + z + z.44 ( z ) + + z + z 3.44.44 z
.5.99 +.99 z.44 z Now, since H(z) resulted from a BLT design using an analog prototype filter with H a (0) and H d ( ) 0, we know H d (0) H a (0) and H a (π) H a ( ) 0 Furthermore, since the digital cutoff is π, we should have 4 π H d 4 Thus, H d (ω) should look like.0 0.707 H d (ω) π 4 The correctness of the values of H d (ω) at ω 0, π can be easily verified from the transfer function H(z). Note that H d (0) H(e j0 ) H() H d (π) H(e jπ ) H( ).99 +.99.44.99.99.44.0 0 For ω 0 or π we can always evaluate the magnitude response via the lengthier calculation H d (ω).99 +.99 e jω.44 e jω π ω (.99 +.99cosω) + (.99sinω) (.44 cosω) + (.44sinω)
.6 Finally, a plot of H d (ω) would show that the phase is nearly linear for ω < π 4 and becomes more nonlinear for ω π 4 and larger. Example Similar to previous example, but now design a second-order Butterworth digital filter with ω c π 4. To find analog prototype, note H a (Ω) M(Ω ) +Ω 4 B( s ) + s 4 e j 3π 4 j π e 4 e j 3π 4 e j π 4 Left-half-plane poles are used for H L (s): H L (s) s e j 3π 4 s e j3π 4 s + s + H(z) H L (s) scot π 8 z +z ( ) ( ) (.44) z z +.44 + z + z + ( + z ) (.44) ( z + z ) +.44 ( z ) + ( + z + z )
.7 + z + z 0.3 9.66z + 3.4z 0.098 + 0.96z + 0.098z 0.944 z + 0.333z Now, once again, from the shape of the analog prototype H a (Ω) we know π H d (0), H d 4, H d(π) 0 However, for the second-order filter, the frequency response makes a sharper transition around ω c π and looks like 4.0 0.707 H d (ω) π 4 π ω The phase H d (ω) will again be quite linear across the passband and more nonlinear across the stopband. Let s try to get a better feel for the BLT mapping by considering one further example. Example Suppose that an analog prototype filter H L (s) has the frequency response H a (Ω) 3 3 Ω
.8 and that the bilinear transformation is used to produce a digital filter with H(z) H L (s) z s. Sketch H d (ω). Label all critical frequencies and amplitudes. +z Solution H d (ω) is a squashed version of H a (Ω), described by H d (ω) H a αtan ω H a tan ω Thus, the value of H d (ω) equals the value of H a (Ω) at Ω tan ω. So a feature (e.g., jump) in H a (Ω) that occurs at Ω Ω 0 will occur in H d (ω) at ω 0 tan Ω 0 The interesting features in H a (Ω) occur at Ω 0,, and 3. In addition let s also consider Ω 0.5. The corresponding ω 0 are given in the table below. Ω 0.5 3 ω 0 0.5 π 0.66 π 0.705 π 0.795 π Thus, H d (ω) looks like H d (ω) π.795 π.66 π.705 π π π.66 π.705 π.795 π π ω Notice that H d (ω) takes on exactly the same set of values taken on by H a (Ω). It just does so at different frequencies, which causes a change in shape.. Computer-Aided Optimization
.9 Used for IIR designs with general magnitude and/or phase specifications (i.e., H d (ω) not LPF, HPF, or BPF). Digital Frequency Transformation By making a change of variable in H L (s) or H(z), we can transform an analog or digital LPF to a LPF having a different cutoff frequency, or to a HPF or BPF. We will consider only digital transformations (transformations of H(z)). Procedure: Let H(z) be the transfer function of a low-pass digital filter. Then simply substitute for z in H(z), using the expressions below, to produce filters having the described characteristics. Lowpass Lowpass where z z β β z ω c cutoff of new filter [ ] [ ] β sin (ω c ω c )/ sin (ω c +ω c )/ Lowpass Highpass z z β βz ω c cutoff of new filter [ ] [ ] β cos (ω c + ω c )/ cos (ω c ω c )/ Lowpass Bandpass z z β z +β β z β z +
.0 ω lower cutoff of BPF ω u upper cutoff of BPF β γ K/(K + ) β (K )/(K + ) [ ] [ ] γ cos (ω u +ω )/ cos (ω u ω )/ K cot ω u ω tan ω c Relationship Between Pole and Zero Locations and Frequency Response In digital filter design we choose the coefficients of H(z) a 0 + a z + + a N z N + b z + + b N z N to shape the frequency response H d (ω) H(e jω ) in a desired way. Since H(z) can also be written in terms of its poles and zeros as H(z) a 0 N i z z i z p i this provides an alternative parameterization of H(z). Choosing the pole and zero locations of the filter is basically equivalent to choosing the {a i } and {b i }. In this connection, it is worth exploring how the pole and zero locations affect the shape of H d (ω). The general shape of H d (ω) often can be visualized from knowledge of the pole and zero locations of H(z). This is especially true for situations where poles are near the unit circle and zeros are either on or near the unit circle. Example Consider a causal, stable all-pole filter with H(z) z αcosω ( p )z +α z αe jω p ( ) z αe jω p ( )
. and 0 < α <. H(z) approaches at the pole locations and approaches zero for z large. Thus, we expect H(z) to look somewhat like a two-pole circus tent: Im(z) ω p ω p Re(z) Here, the pole locations are marked by and are at a distance α from the origin. Since H(z) is causal, its ROC is {z : z > α} and the above tent covers only this set of z. (The tent is undefined elsewhere.) Since α <, ROC H includes the unit circle. Thus, the frequency response H d (ω) H(e jω ) is well defined and is a circular slice of the circus tent, around the unit circle. Now, since H(z) is infinite at z α e ±jω p, we expect that H(z) will be large for z near the poles. If α is nearly one then the poles are close to the unit circle and H d (ω) will be large for ω such that e jω is close to the poles. This suggests that H d (ω) will look like H d (ω) where the peaks occur near ω ω p. Example ω p ω p ω
. H(z) z ( cosω p )z + z αcosω ( p )z +α z e jω p ( ) z e jω p ( ) z αe jω p ( ) z αe jω p ( ) As before, H(z) approaches at the pole locations z α e ±jω p. H(z) 0 at the zero locations z e ±jω p. Thus, H(z) is similar to the previous two-pole circus tent except it touches the ground at the zero locations z e ±jω p as shown below, where poles are indicated by and zeros are represented by. Im(z) ω p ω p Re(z) Since the pole and zero locations are close together, it may seem difficult to determine what H d (ω) {H(z) for z on the unit circle} will look like. A simple observation helps greatly, though. Suppose so that H(z) ( z z ) z z ( z p ) z p ( ) ( ) ( ) H d (ω) H(e jω ) ejω z e jω z e jω p e jω p Then, the value of H d (ω) at some specific frequency ω* is
.3 e jω z e jω z e jω p e jω p. The factor e jω z i is the distance in the complex plane between e jω* and z i. Likewise, the factor e jω p i is the distance in the complex plane between e jω* and p i. Thus, H d (ω ) is the product of the distances between e jω* and z, and between e jω* and z, divided by the product of the distances between e jω* and p, and between e jω* and p. In our example, these distances can be visualized for three different frequencies ω by examining the figure below. Im(z) z p e jω * e jω 3 * ω p ω p e jω * Re(z) p z We see that the distances from e jω * to the zero z at e jω p and to the neighboring pole p are nearly the same. Likewise, the distances from e jω * to the zero z at e jω p and its neighboring pole p are nearly the same. Thus, H d ω ( ) e jω z e jω p e jω z e jω p ()() The same result holds for any ω that is close to zero. Similarly, in the case of e jω 3* we see that distances to all poles and zeros are nearly equal. Thus. H d ( ω 3 ),
.4 which holds for any ω 3 roughly satisfying π ω 3 π. The distance between e jω * and the zero at e jω p approaches zero as ω ω p. Thus H d ( ω ) 0 for ω close enough to ω p. These considerations lead to the H d (ω) sketched below. H d (ω) π ω p ω p π ω Here, we can find the precise values of H d (0) and H d (π) by using H d (0) H() cosω p +α αcosω p H d (π) H( ) + cosω p +α + αcosω p. The above frequency response is that of a crude notch filter where signal components near ω ω p are greatly attenuated and signal components at other frequencies are passed with nearly unit amplitude. The nulls (notches) in H d (ω) at ω ω p are caused by the zeros of H(z) at z e ±jω p. It is only slightly more difficult to gain a rough idea of what H d (ω) will look like. From ( ) we have H d (ω) (e jω z ) + (e jω z ) (e jω p ) (e jω p ) Each term (e jω z i ) or (e jω p i ) is a vector in the complex plane. (e jω z i ) and (e jω p i ) are simply the angles of these vectors with respect to the positive real axis. This interpretation can be helpful when trying to visualize H d (ω) for low-order filters. In general, however, Matlab should be used to plot both H d (ω) and H d (ω) for higher-order filters Example
.5 For an FIR lowpass filter, use Matlab to find the zero locations of H(z). (All poles are at z 0.) You will find that zeros in H d (ω) within the stopband are caused by zeros of H(z) on the unit circle. Other zeros of H(z) are strategically placed off the unit circle to give a flat response in the passband. Example For a Butterworth lowpass filter you will find that some poles are located near the unit circle e jω for ω corresponding to the cutoff frequency. Example For an elliptic lowpass filter you will find poles near e jω for ω cutoff frequency, and some zeros on the unit circle at locations corresponding to the stopband.