This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: 03/02/12 page 1 Rev. D ECEn 487 Digital Signal Processing Laboratory Lab 3 FFT based Spectrum Analyzer Due Dates This is a three week lab. All TA check off must be completed prior to the beginning of class on the lab book submission due date listed below, or the lab will be marked late. Submit answers to the questions at the beginning of lab class on: Mar. 6. Lab book writeup copy submission, beginning of lab class: Tues., Mar. 20. Objectives The purpose of this lab is for each student to build a working audio spectrum analyzer and spectrogram using the builtin PC sound card and MATLAB. Principles of inplace computation FFT architecture, bit reversal addressing, and oscilloscope display synchronization will be studied. The spectrum analyzer will operate in continuous mode, real time, in the audio range of 20 Hz to 20 kHz. Reading Assignment 1. Oppenheim and Schafer chapters 8 and 9. 2. MATLAB online help and documentation on function "fft." 03/02/12 page 2 Rev. D Introduction One of the most useful signal analysis tools is the spectrum analyzer. It allows us to directly look at the frequency content of a signal as it evolves over time. I believe that the frequency domain representation is the more natural view for human interpretation because of our familiarity with pitch, and tonal quality. If an oscilloscope gives a graphical representation of the timedomain version of a signal, then a spectrum analyzer can be considered a "frequency domain oscilloscope." It allows us to view the signal's frequency content. It generally takes much more sophisticated electronics or processing to build a spectrum analyzer than an oscilloscope. We will use the PC (with MATLAB) to transform our signal into the frequency domain using an FFT algorithm. You will use the efficient builtin MATLAB FFT function, and will also code your own FFT algorithm. You will compare performance of the two algorithms. Experiment 1 Design and implement a spectrum analyzer using the builtin MATLAB FFT function. Procedure 1. Build a working realtime spectrum analyzer code based on your digital oscilloscope program from lab 1 and the MATLAB fft function. This fft implementation is a decimation intime, in place, very efficient CooleyTukey factored N implementation. It uses radix 4 decomposition if possible. Bit reversal data reordering is handled internally. 2. Use only the left input channel data. 3. Using the MATLAB plot function, display the FFT magnitude squared (not the full complex number or real or imaginary part) on the computer monitor. In MATLAB don't use abs(X).^2 to compute magnitude squared, use real(X).^2 + imag(X).^2. This is faster in a real DSP processor implementation since a square root is not computed, and closer to how this would really be implemented in a DSP processor. Update the display at lease once a second....
View
Full
Document
This note was uploaded on 03/16/2012 for the course ECEN 487 taught by Professor Dr.brianjeffs during the Winter '12 term at BYU.
 Winter '12
 Dr.BrianJeffs
 Digital Signal Processing, Signal Processing

Click to edit the document details