Signals and Systems - Electrical Engineering

(avery) #1

662 C H A P T E R 11: Introduction to the Design of Discrete Filters


n Applying the bilinear transformation by hand to filters of order higher than 2 is cumbersome. When doing
so, HN(s)should be expressed as a product or sum of first- and second-order transfer functions before
applying the bilinear transformation to each. That is, we express HN(s)as

HN(s)=


i

HNi(s) or

=


`

HN`(s)

where HNi(s)or HN`(s)are first- or second-order functions with real coefficients. Applying the bilinear
transformation to each of the HNi(s)or HN`(s)components to obtain HNi(z)and HN`(z), the discrete
filter becomes

HN(z)=


i

HNi(z) or

=


`

HN`(z)

n Since the resulting filter has normalized magnitude, a specified dc gain can be attained by multiplying
HN(z)by a constant value G so that|GH(ej^0 )|equals the desired dc gain.

nExample 11.7
The specifications of a low-pass discrete filter are:

ωp=0.47π(rad) αmax=2 dB
ωst=0.6π(rad) αmin=9 dB
α(ej^0 )=0 dB

Use MATLAB to design a discrete low-pass Butterwoth filter by means of the bilinear
transformation.

Solution

Since the frequency specifications are in radians, we use these values directly in the MATLAB func-
tionbuttord, which for inputsαmax,αmin,ωp/π, andωst/π, provides the minimal orderNand the
half-power frequencyωhp/πof the filter. Notice that the input and the output frequencies are nor-
malized (i.e., divided byπ). With the outputs ofbuttordas inputs of the functionbutterwe obtain
the coefficients of the numerator and the denominator of the designed filterH(z)=B(z)/A(z).
The functionrootsis used to find the poles and the zeros ofH(z), whilezplaneplots them. The
magnitude and the phase responses are found usingfreqzaided by the functionsabs, angle, and
unwrap. Notice thatbutterobtains the normalized analog filter and transforms it using the bilinear
transformation. The script used is as follows.
Free download pdf