A goal of this experiment is to implement discrete-time (digital) filters in real time.
In this experiment you will see the special architectural features of digital signal processors such as circular buffers that make the processors well suited for signal processing. You will implement different digital filters using in two different programming approaches:
The response of these filters will be measured in two ways:
Equipment to be checked out
All the above equipment can be checked out from the checkout in the second floor. The above list of equipment is the equipment required per work station.
Directions
Downloads
Recitation slides Part 1 and Part 2 by Ms. Debarati Kundu, The University of Texas at Austin
Lab #3 Handout explaining milestones for lab #3. Updated Sept. 26, 2011
Assembly code files convol1.sa and convolve.sa.
TI C6748DSP files for lab #3 as a single zip file (7-zip free zip program). Updated Oct. 4, 2011
Overview Slides by Prof. Steven Tretter, University of Maryland (from Jan. 2008 lab manual)
OLD: LabVIEW Virtual instrument for test and measurement of results on the C6713 DSK.
Lab Report
All measurements and findings should be in lab report (cycle counts, frequency response, phase responses, etc.). Your report must contain the following:
Milestones to Demonstrate to the TA
After each one of these parts, show them to the TA:
Coding Guidelines
For this lab, it is especially important to realize that the addition of an element into a circular array and the actual convolution calculation are two entirely separate operations.
Labs 5, 6, and 7 will directly involve performing multiple convolutions for FIR filters, so it makes sense to go ahead and put the Lab #3 convolution routine in a function.
As mentioned on the code grading page, the use of the C modulo operator "%" is discouraged and will be penalized.
Debugging and Troubleshooting Tips
Here are general tips for debugging and troubleshooting:
When seeing an incorrect output on the oscilloscope, the cause may be one of the following:
LabVIEW Implementation: (not for fall 2011)
Correction: The LabVIEW implementation will be provided to you for this lab.
The advantage of using LabVIEW to analyze the output as this is testing can be automated with fairly complicated analysis techniques (e.g. FFT) and these methods are not affected by non-ideal hardware (such as a faulty/poor data converter, bad signal generator, etc.)
The LabVIEW portion will generate a random signal (that has frequency content throughout the spectrum), send it to the DSP, the DSP will filter it (FIR or IIR), and LabVIEW will read the result. Then, by knowing the input signal and the output signal, the transfer function of the filter can be found. Conceptually, by knowing the z-transforms (or Fourier transforms) of both the input and the output, the transfer function can be found by dividing the two. The LabVIEW VIs for generating random noise and finding the transfer function work with arrays of data rather than individual samples. Thus, your LabVIEW VI will need to use a "for" loop to read and write samples to the DSP. The following LabVIEW VI's may be of use:
Assignment
Submitting this assignment is optional, but doing it would be useful with your QUIZ preparations