<< Chapter < Page | Chapter >> Page > |
Using the zero-placement method, design the FIR filters for the multirate system in Lab 2: Overview . Recall that the -transform of a length- FIR filter is a polynomial in , and that this polynomial can be factored into roots.
Use this relation to design a low-pass filter (for the anti-aliasing and anti-imaging filters of the multiratesystem) by placing twelve complex zeros on the unit circle at , , , , , and . This filter that you have just designed will serve for both FIR 1 and FIR 3. For filter FIR 2 (operatingat the decimated rate), use four equally-spaced zeros on the unit circle located at and . Be sure to adjust the resulting filter coefficients to ensure that the gain does not exceed oneat any frequency.
Design your filters by writing a MATLAB script to compute the
filter coefficients from the given zero locations. The MATLABfunction
poly
is very useful for this; type
help poly
in MATLAB for details.
Once you have determined the coefficients of the filters, use
MATLAB function
freqz
to plot the frequency
responses. You will find that the frequency response of thesefilters has a large gain. Adjust the resulting filter
coefficients to ensure that the largest frequency gain is lessthan or equal to one by dividing the coefficients by an
appropriate value. Do the frequency responses match yourexpectations based on the locations of the zeros in the
z-plane?
In Part 2 of Lab 1 , you learned how to return a value from assembly to C. High-level C program is easy to develop and maintain, while assembly program directly exploits specialized instructions, providing run-time efficiency.
In this section, you will learn how to pass in an argument from C to the assembly function. More specifically, in the cascaded multirate system, the output of one filtering or rate conversion block is the input to another block. Thus the C program needs to be able to pass the argument to the assembly function. Your new function declaration should be of the following form:
extern int filter(int filt_input);
To do this, review Sections 6.4 and 6.5 of the TMS320C55x Optimizing C/C++ Compiler User's Guide . Pay attention to the naming convention, data types and passing arguments order.
Implement the complete multirate system shown in Lab 2: Overview . Here are some guidelines:
Notification Switch
Would you like to follow the 'Ece 420 fall 2013' conversation and receive update notifications?