EEO 4 Digital Signal Processing Prof. Mark Fowler Note Set #34 IIR Design Characteristics of Common Analog Filters Reading: Sect..3.4 &.3.5 of Proakis & Manolakis /6
Motivation We ve seenthat the Bilinear Transform provides an easy and effective way to take some analog filter design and transform it into a DT IIR filter design. This viewpoint arose because when DT IIR filter designs were first being developed the understanding of analog filters was already well established. So here we take a look at some of the existing analog filters that are commonly used with the Bilinear Transform to make DT IIR filters. Here we focus on lowpass filters in the next note set we ll learn how to transform these into other filter types. Butterworth Filters Magnitude is monotonic with no ripples Maximally Flat Chebyshev Filters Type I: equiripple in passband & monotonic in stopband Type II: monotonic in passband & equiripple in stopband Elliptic Filters Ripple in passband & in stopband Bessel Filters Linear phase in passband but not preserved after bilinear transform! /6
Butterworth Filters An N th order Lowpass Butterworth filter is an all-pole filters with a frequency response satisfying the following on its magnitude squared response F H ( Ω ) = Ω N c = -3dB freq + ΩΩ ( cutoff freq. ) ( ) c Note: Evaluating this at Ω = Ω c gives F H ( Ω c) = = 3dB Converting this relationship into the s-form gives: L L H () sh ( s) = N + ( s Ω c ) ( s c ) N + Ω = Describes poles of H L (s) & H L (-s) Poles are equally spaced according to Poles equally spaced in angle at radius Ω c jπ/ j(k+ ) π/n sk ce e k N =Ω, =,,,, See plots on next page 3/6
4/6
Ω c = -3dB freq ( cutoff freq. ) 5/6
Specifying Butterworth Filters We need only specify order N and cutoff frequency Ω c (-3dB frequency) Sometimes it is desirable to use alternative specs H F ( Ω ) = = + ΩΩ + ΩΩ H F N ( c ) ε ( p ) N Ω p = passband edge Ω p = + ε Ω c is for ε = ( ) For a given Ω p and ε we can find the attenuation level at some specified stopband frequency Ω s F H ( Ω s) == = δ N + ε ( Ωs Ωp) Spec d value at Ω s Order needed: ( δ ) log log ( δε) N = = log Ω Ω log Ω Ω ( ) ( ) s c s p Example.3.6 shows how to use these to spec a Butterworth filter 6/6
Chebyshev Filters There are two types: Type I: equiripple in passband & monotonic in stopband Type II: monotonic in passband & equiripple in stopband Type I Type II 7/6
Type I Chebyshev lowpass filters are all-pole and are described by F H ( Ω ) = + ε T ΩΩ Sets Ripple Level N ( p) Type II Chebyshev lowpass filters are have poles and zeros and are described by H F Sets Ripple Level ( Ω ) = T ( Ω Ω ) N s p + ε TN ( Ωs Ω) Defined in terms of the Chebyshev Polynomials T N ( x) = cos( Ncos x), x cosh( Ncosh x), x which can be found iteratively: T ( x) = T ( x) = x T ( x) = xt ( x) T ( x), k =,3,4, > k k k As in Butterworth design there are equations that relate the design to specs on Cuttoff & stopband frequencies, ripple, and stopband attenuation 8/6
Elliptic (or Cauer) Filters This class of filters has both poles and zeros and has equiripple in both bands: H F Ω = where U N (x) is the Jacobian + ε U N ΩΩ elliptic function of order N. ( ) ( p) 9/6
Bessel Filters These all-pole filters are monotonic and described by: where B N (s) is the N th order Bessel polynomial H L () s = B N ( s) Linear Phase! But destroyed by Bilinear Transformer /6
MATLAB-Based IIR Design MATLAB has several easy commands for IIR design: butter, cheby, cheby, ellip There is a command for Bessel but its only for analog design Buttord Butterworth filter order and cutoff frequency [n,wn] = buttord(wp,ws,rp,rs) All use classic analog filter results with Bilinear Transform From MATLAB Website Description: Calculates the minimum order of a digital Butterworth filter required to meet a set of filter design specifications. Returns the lowest order, n, of the digital Butterworth filter with no more than Rp db of passband ripple and at least Rs db of attenuation in the stopband. The scalar (or vector) of corresponding cutoff frequencies, Wn, is also returned. Use the output arguments n and Wn in butter. Butter Butterworth filter design [b,a] = butter(n,wn) From MATLAB Website Description Returns the transfer function coefficients of an nth-order lowpass digital Butterworth filter with normalized cutoff frequency Wn. /6
Butterworth IIR Design Sets Order [b,a] = butter(7,.5); Sets Passband Edge b = [.66.6.3479.5798.5798.3479.6.66] a = [. -..9 -..97 -..77 -.] H(Ω) (db) -5 - -5...3.4.5.6.7.8.9 Normalized DT Frequency Ω/π Imaginary Part.8.6.4. -. <H(Ω) radians -5 - -5...3.4.5.6.7.8.9 Normalized DT Frequency Ω/π -.4 -.6 -.8 - - -.5.5 Real Part /6
chebord Chebyshev Type I filter order [n,wp] = chebord(wp,ws,rp,rs) From MATLAB Website Description: Calculates the minimum order of a digital Chebyshev Type I filter required to meet a set of filter design specifications. Returns the lowest order n of the Chebyshev Type I filter that loses no more than Rp db in the passband and has at least Rs db of attenuation in the stopband. The scalar (or vector) of corresponding cutoff frequencies Wp, is also returned. Use the output arguments n and Wp with the cheby function. cheby Chebyshev Type I filter design [b,a] = cheby(n,rp,wp) From MATLAB Website Description: Returns the transfer function coefficients of an nth-order lowpass digital Chebyshev Type I filter with normalized passband edge frequency Wp and Rp decibels of peak-to-peak passband ripple. Similar commands for Type II filters 3/6
Chebyshev (Type II) IIR [b,a]=cheby(7,6,.7); Sets Order Sets Stopband Height Sets Stopband Edge b = [.69.3789.978.58.58.978.3789.69] a = [..8.6599.99.64.98.473.48] H(Ω) (db) <H(Ω) radians - -4-6 -8 -...3.4.5.6.7.8.9 Normalized DT Frequency Ω/π - -4-6 -8 -...3.4.5.6.7.8.9 Normalized DT Frequency Ω/π Imaginary Part.8.6.4. -. -.4 -.6 -.8 - - -.5.5 Real Part 4/6
ellipord Minimum order for elliptic filters [n,wp] = ellipord(wp,ws,rp,rs) From MATLAB Website Description: Calculates the minimum order of a digital or analog elliptic filter required to meet a set of filter design specifications. Returns the lowest order, n, of the elliptic filter that loses no more than Rp db in the passband and has at least Rs db of attenuation in the stopband. The scalar (or vector) of corresponding cutoff frequencies Wp, is also returned. Use the output arguments n and Wp in ellip. ellip Elliptic filter design [b,a] = ellip(n,rp,rs,wp) From MATLAB Website Description: Returns the transfer function coefficients of an nth-order lowpass digital elliptic filter with normalized passband edge frequency Wp. The resulting filter has Rp decibels of peak-to-peak passband ripple and Rs decibels of stopband attenuation down from the peak passband value. 5/6
Elliptical IIR Sets Order Sets Passband Ripple [b,a] = ellip(7,.,6,.5); Sets Stopband Height Sets Passband Edge b = [.338.3.8.43.43.8.3.338] a = [. -.8994.386 -.5364.4793 -.737.378 -.75] H(Ω) (db) -5 -.8.6 <H(Ω) radians -5...3.4.5.6.7.8.9 Normalized DT Frequency Ω/π - -4-6 -8 -...3.4.5.6.7.8.9 Normalized DT Frequency Ω/π Imaginary Part.4. -. -.4 -.6 -.8 - - -.5.5 Real Part 6/6