14.08.2013 Views

Fast Fourier Transforms on Motorola's Digital Signal Processors

Fast Fourier Transforms on Motorola's Digital Signal Processors

Fast Fourier Transforms on Motorola's Digital Signal Processors

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The power of magnitude of the DFT coefficient is<br />

easy to show:<br />

y<br />

k<br />

( N)<br />

2<br />

I 2 ( N)<br />

2cos( 2πk ⁄ N)IN<br />

( )IN ( – 1)<br />

I 2 =<br />

–<br />

+ ( N – 1)<br />

Eqn. 6-16<br />

Hence, <strong>on</strong>ly <strong>on</strong>e real coefficient is required to compute<br />

the energy of the signal. Figure 6-6 shows the<br />

DSP56001 assembly language code used to detect<br />

the energy of a frequency specified by the Goertzel<br />

algorithm. The recursive part of the IIR filter is effectively<br />

implemented by three instructi<strong>on</strong>s. The total<br />

instructi<strong>on</strong> cycles for a N-point input sequence is<br />

3N+8. Only <strong>on</strong>e coefficient cos(2pk/N) is stored in<br />

the <strong>on</strong>-chip memory and two more memory locati<strong>on</strong>s<br />

are used to store internal states I(N) and I(N-1).<br />

6.5 Real-Time Data<br />

Acquisiti<strong>on</strong> <strong>on</strong><br />

Motorola DSPs<br />

A very important feature of a DSP is its capability to<br />

carry data in and out in a deterministic amount of<br />

time without interfering with the CPU core operati<strong>on</strong>s.<br />

“Real-time FFT” refers to the sampled data<br />

from an A/D c<strong>on</strong>verter or other devices that is<br />

stored in a buffer. Once this buffer is full, the DSP<br />

starts the FFT program executi<strong>on</strong>. In the mean<br />

time, the DSP grabs the sampled data and puts it<br />

into another buffer. Whichever finishes first, (the<br />

6-20 MOTOROLA

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!