This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: UCLA Electrical Engineering Professor Jain EE 113D TA Delbert Huang Experiment 2 Digital Filtering (FIR) Purpose To design a FIR filter in MATLAB and to implement and test it on the TMS320C542-based DSKplus board. Introduction A filter is the one of the most common algorithms in digital signal processing systems. In the first part of this experiment, you will design a FIR filter using MATLAB. To implement this filter on a fixed-point DSP requires quantizing these filter coefficients. Because quantization modifies coefficient values, you will verify that the filter response is still satisfactory. You will export these quantized coefficients to assembly and, in second part of the experiment, complete a program that will implement the difference equation associated with them. In the second part of the experiment, you will be implementing this filter on the C54x by programming the chip to perform the difference equation computation. The inputs will be sampled data values from the AC01 and the output will be sent out in the usual manner via the D/A on the AC01. The main purpose is to acquire a data signal via the input port of the DSKplus, filter it, and then pass it out via the output port. In the filter processing section, a general purpose FIR code should be designed so that it can easily be modified if the number of filter taps or the tap weights need to be changed. Thus, depending on the tap weights (filter coefficients) an arbitrary low-pass, high-pass, band-pass, etc. filter can be implemented using this same code. Your program should have a similar structure to the programs you have been working with in the previous experiments: 1. a main program which defines all the labels, memory locations and makes all the initialization function calls; 2. an initialization file (AC01 init, e.g.) which is similar to the initialization file you have see before, which sets all the AC01 registers, as per your requirements for sampling frequency, input gain, etc.; 3. and an interrupt vector table, as seen before. It is useful to have the program file read in a fourth file, a filter coefficient file, which stores the filter coefficients for a particular filter structure. This is good, modular programming practice, since you now can have different coefficient files for different filter structures. After your program is up and running, you will record observations and compare them to theoretical results....
View Full Document
- Spring '09
- Electrical Engineering