|
From: vik on 9 Dec 2005 19:38 Hi I am using TI eZdsp f2812 board to do a DFT. The sampling rate is 4 MHz, so in order to get good accuracy, I need to do a 1024/2048 point DFT for good frequency resolution. The incoming data is continuous. I want to know if this can be done accurately in real time? If not, how can i make it happen in real time provided that I have other algorithms like filtering/decoding running at the same time on real data.
From: john on 10 Dec 2005 05:44 vik wrote: > Hi > > I am using TI eZdsp f2812 board to do a DFT. The sampling rate is 4 MHz, > so in order to get good accuracy, I need to do a 1024/2048 point DFT for > good frequency resolution. The incoming data is continuous. I want to know > if this can be done accurately in real time? If not, how can i make it > happen in real time provided that I have other algorithms like > filtering/decoding running at the same time on real data. I hope that you are planning to use an FFT and not a straight DFT! To do a back of the envelope sanity check, you need to figure out how how many FFTs per second are required. From your numbers, it sounds like it could be as high as 2000. Now multiply that number by the number of cycles per FFT, a number that is typically available in the benchmark section of the FFT documentation (see for example TI's DSPLIB). If that product is close to the instruction rate of the DSP chip, you won't be able to keep up, in which case you could FFT every other 2k segment or something like that. Other things to watch out for include the cost of bit reversing the FFT input, the cost of converting the FFT output to magnitude, and the cost of memory accesses for FFT data and coefficients. John
|
Pages: 1 Prev: Preamble detection in ofdm synchronization Next: HW interrupt problem |