<< Chapter < Page | Chapter >> Page > |
Once our magnitude response has been selected, we need to
perform group delay equalization to yield approximatelyconstant group delay. This can be done using the
iirgrpdelay
command in the FD Toolbox.
Again, note that a least-
th algorithm is used
and that we can constrain the radius of the poles. Theresulting all-pass filter can be connected in series with
the nonlinear phase low-pass filter created with
iirlpnormc
to complete the entire system.
The FD Toolbox can also aid in analyzing quantization
effects. We suggest using
FDATool
, a
convenient GUI for interacting with the FD Toolbox, to carryout the analysis. See the internet documentation for more
information on the functions available. Of course, you maychoose to do this by scaling and rounding as you have done
in previous labs. Note that even though MATLAB useshigh-precision arithmetic you may find that for long IIR
filters MATLAB has difficulty rendering frequency responses,etc. Thus, you may find it useful to design a filter that
has half the passband ripple, half the stop-bandattenuation, etc. and implement it twice in your code to
meet the specification.
Note that
FDAtool
and the filter design
toolbox (
qfilt
function) can be used to
analyze quantization effects on various filter structures,as well as on the FFT. The quantization parameters can be
chosen and optimized in
FDAtool
. Also,
FDAtool
(with or without the filter
design toolbox) can compute correct scaling to avoidoverflow.
There are several ways to implement an IIR filter. One of these, a cascade of second-order systems, we have alreadyseen. An alternative is placing these second-order sections in parallel. Another common implementation is a latticestructure (see any standard DSP textbook), which tends to be more resistant to finite word-length effects and may be morecomputationally efficient. To examine your choices, as a starting point you should examine the MATLAB functionslisted as "Linear System Transformations" when you type help signal at the command prompt (does not require the FDToolbox).
One of the difficult aspects of an IIR lattice is that
although the lattice coefficients are in the interval(-1,1), the internals of the lattice can grow to be
prohibitively large. To compensate for this, an m-file(
latcfiltn.m
) has been created that
performs normalization after each lattice section to preventoverflow. If you are interested in exploring a lattice
implementation you may want to copy this m-file to your owndirectory and modify it to suit your needs. Note that there
are comments within the file to indicate where you might addchecks for overflow conditions.
We suggest the use of
FDAtool
and
dfilt
for structure transformations.
The function
dfilt
works also without
the Filter Design Toolbox. It is also useful for evaluatingcascade or parallel connections of sub-filters. The MATLAB
command
fvtool
can be used to quickly
evaluate frequency response of various filter structures.
Notification Switch
Would you like to follow the 'Ece 320 - spring 2003' conversation and receive update notifications?