Lab Exercise:
A Low Pass Filter
In this exercise you are to implement a low pass filter on the 'C542. The filter is a causal linear time-invariant system with a finite impulse response, h(n), with nonzero values only in the range n = 0, 1, ..., 31:
h ( 0) = h(31) = -0.007141978 h ( 1) = h(30) = -0.003070801 h ( 2) = h(29) = 0.005891327 h ( 3) = h(28) = 0.01349923 h ( 4) = h(27) = 0.008087033 h ( 5) = h(26) = -0.01107258 h ( 6) = h(25) = -0.02420687 h ( 7) = h(24) = -0.009446550 h ( 8) = h(23) = 0.02544464 h ( 9) = h(22) = 0.03985050 h(10) = h(21) = 0.002753036 h(11) = h(20) = -0.05913959 h(12) = h(19) = -0.06841660 h(13) = h(18) = 0.03175741 h(14) = h(17) = 0.2080981 h(15) = h(16) = 0.3471138 The way these coefficients are obtained from a desired frequency response is described in sec 8.2 of [Proakis and Manolakis]. The coefficients are also listed in Table 8.4.
Each output is computed from 32 input samples, consisting of the current sample, and the 31 samples immediately preceding it. Hence, input samples need to be stored into a buffer of size at least 32.
To test the low pass filter, use the DTMF tone generator of the previous exercise: instead of taking input from the ADC, simulate an input DTMF tone by using the DTMF tone generator to store samples into the input buffer. Use the DTMF tone previously assigned to you. [tone assignments]. The input buffer is then processed by code implementing the low pass filter.
Approximately the same output should be produced by the actual low pass filter taking input from the ADC, when the DTMF tone is played into the system's microphone.
You should have the following during evaluation of this lab exercise:
- your DTMF tone generator from the previous exercise
- the actual low pass filter implementation that actually processes input samples from the ADC
- the low pass filter implementation that simulates a DTMF tone as its input
This page has been accessed
times since February 4, 2003.