<< Chapter < Page | Chapter >> Page > |
Implementing the narrow-band LPF using an IIR filter is probably the most difficult option to design but the moststraightforward to implement. One reason for the design difficulty stems from the fact that in order to get such asharp response poles close to the unit circle are needed. These poles can then drift outside the unit circle and thesystem can then become unstable when finite precision effects are added. Also, perfectly linear phase (constantgroup delay) cannot be realized using IIR filtering.
There are several approaches to designing an approximatelylinear phase IIR filter. For example, an IIR filter could
be run on blocks of samples in both the forward and reversedirection and the results of each block added together;
using the filter in both directions would cancel thenonlinear phase response of the filter. Also, iterative
design methods exist to design filters that simultaneouslyminimize errors in magnitude and group delay. Yet another
approach is to design an IIR filter which approximates thedesired magnitude response (e.g., an elliptic filter using
the
ellip
command in MATLAB) and then
design an IIR all-pass filter which compensates for thenonlinear phase. This last approach is the one we will
examine here.
The MATLAB Filter Design (FD) Toolbox contains algorithms used for optimal or near optimal design of filters subjectto various constraints. You can view a description of the toolbox and the functions it contains at this link . The FD Toolbox will be installed on the white Dell machinenearest the door in the ECE 320 lab.
Although it is possible to design a very good LPF magnitude
response using an elliptic filter, we do not have theadvantage with the
ellip
command of
being able to constrain the poles away from the unit circleto prevent instability. Fortunately, the FD Toolbox
provides a command called
iirlpnormc
which allows us to keep the poles within a circle of a
specified radius. Note that this command implements aleast-
'th
algorithm. The term least-
'th signifies that
the algorithm attempts to minimize a
-norm
error. In the case of the magnitude response, the
-norm
error is given as
where
is
the actual frequency response,
is the desired response, and
is some weighting
function. Most of the time the weighting function used isone which equals 1 over the passband and stop-band and 0 in
the transition band. The role of
in the above
equation is similar to that used in FIR filter design(
remez
). The relative weights in the
stop-band and pass-band are set by
and control the
relative magnitude of the ripples in these bands. Note thatminimizing the
-norm
is equivalent to minimizing the RMS error in the magnitude.In contrast, the
-norm
is equivalent to minimizing the maximum error over thefrequencies of interest (why?). In this lab we areconcerned with minimizing the
-norm.
Of course, we cannot use infinity in any of our computationsso using a large number (e.g. 128) must suffice.
Notification Switch
Would you like to follow the 'Ece 320 - spring 2003' conversation and receive update notifications?