| ELEC 6410 | Project #4 | Fall 2009 | |||
| Assigned: 10/09/09 | Due: 10/16/09 | ||||
This project will emphasize the practical aspects of the use of the DFT and the FFT in digital signal processing.
Exercises
function
that implements a DFT using the DFT summation formula. Include a listing of your function.
F = dftmtx(2^11);
tic
and
tic
or
cputime
to time this operation. (To get accurate timing, before you begin, create the
output variable by doing something like
Xf = zeros(2^11,1);
fft
to compute the DFT of the same sequence, and report the time.
(Do the FFT in a loop 10,000 times and average the resulting time.)
function
that implements a linear convolution using power-of-two FFT's.
(You can call the MATLAB fft function with an optional argument
that specificies the sequence length; specify a length that is
equal to a power of two.) Include a listing of your function.
Generate two sequences of length 2^12. (It doesn't matter what
they are.) Convolve the two sequences with your function and with
conv.
Compare the result to make sure they're the same, and compare the
time required to run them. (You may need to accumulate the time
required for 1000 runs and then average.)
function
that implements a non-power-of-two FFT using power-of-two FFT's, as
discussed in class. Compare the timing on a random sequence of length
999,983 to the MATLAB FFT. Include a listing of your function.
Write a short report describing your findings following
my format instructions.
The text should be no
more than two pages of 12-point type with 1.5 line spacing, not including plots.
The report should contain a concise description of your results.
Include all plots you were required to generate. Include
the plots as small as possible within the text of the
report, not at the end.
Be sure to answer all questions.
NOTE: All out-of-class work is to be done independently. Sharing of programming tips and discussing general concepts is ok. Collaborating on experiments or code-writing is not. Any such collaboration on these assignments will be considered an act of dishonesty and will be treated accordingly.
For further help: