<< Chapter < Page Chapter >> Page >

Many extremely efficient structures for IIR filter implementations exist. Two of special note are thefollowing:

  • All-pass filter implementations with N multiplies for an order N filter (instead of 2N multiplies for a cascade realization). These are structurally all-pass, meaningthat they remain all-pass even when their coefficients are quantized. (S. Mitra, Digital Signal Processing,a Computer Based Approach, 2nd Ed., pp. 378-382).
  • Parallel all-pass Realization of IIR transfer functions with N multiplies for an N 'th order filter. (S. Mitra, Digital Signal Processing, a ComputerBased Approach, 2nd Ed., pp. 401-405, and Sec. 9.9, pp. 629-633).

Questions

  • Generate an elliptic LPF using the command: [b,a]=ellip(4,.5,10,.1); Using MATLAB commands, generate a cascaded second-order system implementation and a lattice implementation (don'tworry about normalization if you don't want) of this system and compare their advantages and disadvantages -especially as they relate to implementation on the C5400.
  • How close to the unit circle are the poles of the system from question 1? Does this concern you? Explore how muchthe poles moved in the 2 implementations of part 1.
  • Use the grpdelay command to view the group delay for the filter in the passband. Is itapproximately linear?
  • Why does minimizing the $L$-norm equate to minimizing the L -norm maximum error over a given frequency range?

Simulation

Simulate the IIR system in MATLAB. Compute the response of the system with appropriate test inputs. Make sure toinclude side-effects due to finite precision in your simulation.

Multi-rate/multi-stage

Reading exercise

Read through the following resources:

  • "Optimum FIR Digital Filter Implementations for Decimation, Interpolation, and Narrow-Band Filtering," byCrochiere and Rabiner. This is colloquial paper on the topic of multi-stage filter implementation. The paper isavailable here .
  • Course notes on multi-stage filter implementation by Prof. Mark Fowler from Binghamton University. The notes are available here .

Design exercises

Given the filter specification given in the filter specification , answer the following questions:

  • What is the maximum decimation factor that can be used?
  • What is the average number of MACs per input sample that are required for a single stageimplementation?
  • What are the appropriate decimation and interpolation factors for a a two stageimplementation?
  • What are the appropriate pass-band and stop-band frequencies and maximum ripple for the overall filter ateach stage? Your answer will demonstrate that the use of multiple filter stages along with multi-rate signalprocessing can achieve a overall filter of lower order than just a single stage filter.
  • Estimate the filter order for each stage. We recommend using the MATLAB command remezord . This algorithm frequently underestimates the filter order needed, but gives you agood starting point. Verify that the filter specifications are met, i.e. pass-band and stop-bandripple and pass-band and stop-band band edge locations. Do this by passing the arguments returned by remezord to the MATLAB command remez . Observe the frequency response of the system described by the filtercoefficients returned by \texttt{remez} using the MATLAB command freqz . If the specifications are not met, increase the order of the filter until thespecifications are met.
  • Determine the average number of MACs per sample for the two-stage implementation. Which is more efficient,the single stage approach or the multistage approach?

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Ece 320 - spring 2003. OpenStax CNX. Jan 22, 2004 Download for free at http://cnx.org/content/col10096/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Ece 320 - spring 2003' conversation and receive update notifications?

Ask