ELEC4620/7462 Digital Signal Processing Assignment 4
The assignment should be presented in the form of a brief report including code, images, and descriptive text outlining the DSP principles and operations implemented by your code. Assignments are to be submitted electronically as pdf via Turnitin.
The coversheet is available from https://student.eait.uq.edu.au/coversheets/.
1. Design a 4th order low pass IIR Butterworth filter assuming a sampling frequency of 25 kHz and a passband edge at 6 kHz (hint ¡ª use the BUTTER(), FREQZ(), and ZPLANE() commands). Plot the frequency response and pole zero plots. Now quantize all the coefficients to 16 bits (hint ¡ª after normalizing coefficients to a maximum value of between 0.5 and 1, multiply by 215, remove the fractional part and then divide by 215, renormalize). Replot the graphs and comment on the positions of the poles.
2. Repeat question 1 using a 10th order low pass filter and comment on the results.
(2 marks)
(2 marks)
3. Use the Euclidean algorithm to find the Greatest Common Divisor (GCD) of the numbers 15267252 and 326823997.
(2 marks)
4. Write MATLAB or C code to perform a 30-point (N=30) Cooley-Tukey FFT. Use a 5×6
array for the transform. Transforms on the individual rows and columns should be performed by direct implementation of the DFT as nested FOR loops. Compare the number of operations required for the FFT versus the DFT in this case. In your answer you should describe the steps required to perform the transform and explain the indexing of the data. Make sure you check that the FFT gives the same result as the direct application of the DFT matrix.
(4 marks)
5. Re-implement Question 4 using the Good-Thomas (Prime Factor) algorithm to perform the FFT. Comment on the performance of this implementation as compared to the Cooley- Tukey Method.
(4 Marks)
6. Extend Question 4 by writing MATLAB or C code to perform a 30-point (N=30) Cooley- Tukey FFT. Use a 5x3x2 structure for the transform. Transforms on the individual rows and columns should be performed by direct implementation of the DFT as nested FOR loops. Compare the number of operations required for the FFT versus the DFT in this case and also to the 2 stage method of Question 4. In your answer you should describe the steps required to perform the transform and explain the indexing of the data. Make sure you check that the FFT gives the same result as the direct application of the DFT matrix.
How many different (cosine and sine) coefficients are required for this implementation? How many coefficients are required for a radix-2 Cooley Tukey Transform with N=32.
Is it possible to also implement this using a 3-stage Good-Thomas algorithm? Explain.
(6 Marks)
(Total: 20 Marks)