A goal of this experiment is to implement discrete-time (digital) filtering techniques in real time.
In this experiment you will come across 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:
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 fault/poor codec, bad signal generator, etc)
Directions:
Here is a list of tasks to complete for the lab and the accompanying assembly code files convol1.sa and convolve.sa.
LabVIEW Implementation:
Correction: The LabVIEW implementation will be provided to you for this lab.
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:
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.
LabVIEW:
Virtual instrument for test and measurement of laboratory #3 results.
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.
Recitation Slides by Mr. Akshaya Srivatsa (UT Austin): Parts 1 and Parts 2 and 3
Recitation Slides for Lab 3 by Prof. Steven Tretter
Assignment
Submitting this assignment is optional, but doing it would be useful with your QUIZ preparations