EE 451

Lab 8: IIR Filters and the 56000

1. Use MATLAB to design an elliptic filter to meet the following specifications:

 fpass : 4 kHz Apass : 0.1 dB fstop : 4.5 kHz Astop : 70 dB

What order of filter is this? Make a pole-zero plot for this filter, and plot |H(w)| vs. w.

2. Implement this IIR filter on the 56002. The program iir.asm has a macro to implement an IIR filter on the 56002, and shows how to use the macro. Note that when you call the iir macro, it expects the new input data x(n) to be in the a accumulator, and when it exits, the new output data y(n) will be in the a accumulator. You need to reserve storage in x data space for the filter states ( states in the iir program), and need to put the filter coefficients and gain in the y data space ( coef and gain in the iir program). Each time you call the iir macro you need to set up r0 to point at the states array and r4 to point at the filter coefficients.

3. Measure the frequency response of the elliptic filter. Compare the frequency response to the plots of Part 1.

4. What is the maximum order IIR filter you could implement on the 56002, keeping the 48 kHz sampling rate?

5. Use MATLAB to find out the order of a Butterworth filter to meet the same specifications of Part 1. Could you implement this filter on the 56002?

Make a pole-zero plot for this filter, and plot |H(w)| vs. w.

6. To compare elliptic and Butterworth filters of the same order, design a Butterworth filter of the same order as the elliptic filter of Part 1. The filter should meet the same specifications for fpass and Apass. What is magnitude of the frequency response at fstop?

7. Implement this filter on the 56002. Measure the frequency response and compare to the elliptic filter.

Wed Nov 20 1996