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.

0 N2 ⁄<br />

W ,<br />

N<br />

WN<br />

( ) –<br />

• Reducing the size of the twiddle factor<br />

table from N real locati<strong>on</strong>s to N/2 real<br />

locati<strong>on</strong>s for normal order input DIT FFT<br />

(see reference 8). Notice that in normal<br />

order input DIT FFT the order that accesses<br />

the twiddle factor table is bit-reversal, i.e.<br />

1 N4 ⁄ N8 ⁄ ( 3N)<br />

⁄ 8 N4 ⁄<br />

, W<br />

N<br />

,W ,<br />

N<br />

W ,<br />

N<br />

…,<br />

W<br />

N<br />

( ) –<br />

N/2 complex numbers can be combined in<br />

pairs of two, which differ by a factor<br />

N⁄ 4<br />

W<br />

N<br />

=<br />

– j.<br />

In other words, the sec<strong>on</strong>d<br />

twiddle factor in the pair can be obtained by<br />

multiplying -j with the first twiddle factor. In<br />

fact, this optimizati<strong>on</strong> can be implemented<br />

with a minor modificati<strong>on</strong> to the previous<br />

butterfly core. All odd indexed groups will use<br />

negated, real and imaginary exchanged<br />

twiddle factors from the previous even<br />

indexed groups. Therefore, the number of<br />

groups in a pass is reduced to half of the<br />

previous <strong>on</strong>e and the access time of twiddle<br />

factors is also reduced to half of the previous<br />

<strong>on</strong>e.<br />

• Using a triple-nested DO-loop FFT to<br />

minimize the program memory space (as<br />

seen in Figure 4-5). Items 1 and 2 above<br />

save data memory space for the FFT<br />

calculati<strong>on</strong> <strong>on</strong>ly.<br />

5-4 MOTOROLA<br />

1

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

Saved successfully!

Ooh no, something went wrong!