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
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
takes four points in and four points out. The number<br />
of butterflies in each pass is N/4. Each butterfly<br />
uses four multiplicati<strong>on</strong>s, three additi<strong>on</strong>s, and three<br />
subtracti<strong>on</strong>s, except that the type (a) butterfly uses<br />
<strong>on</strong>ly two additi<strong>on</strong>s or two subtracti<strong>on</strong>s. For N=2 m ,<br />
Bergland algorithm may need<br />
i 1<br />
4 × N⁄ 4 4 BB 2 –<br />
i 1<br />
[ + ( – 1)<br />
]N 2 +<br />
m– 1<br />
+<br />
⁄ ( )<br />
∑<br />
i = 2<br />
Eqn. 6-4<br />
instructi<strong>on</strong> cycles to perform a N-point real FFT,<br />
where BB is the number of instructi<strong>on</strong>s for the Bergland<br />
butterfly. Theoretically, for the DSP96002<br />
and the DSP56001, BB should be 4 and 6, respectively.<br />
If the normal order output is desired, then<br />
c<strong>on</strong>verting Bergland order data to the normal order<br />
data must be included in the performance estimati<strong>on</strong>.<br />
At least two more instructi<strong>on</strong>s have to be<br />
added to the last pass for accessing the Bergland<br />
order table. The performance of the Bergland algorithm<br />
including unscrambling could be:<br />
i 1<br />
N 4 BB 2 –<br />
i 1<br />
[ + ( – 1)<br />
] N 2 +<br />
m– 1<br />
+ ( ⁄ ) +<br />
( N⁄ 2)<br />
– 1<br />
∑<br />
i = 2<br />
Eqn. 6-5<br />
Eventually, the real performance of an FFT is determined<br />
by the architecture of the DSP <strong>on</strong> which<br />
the FFT runs. As described in SECTION 4.4, the<br />
actual performance of the FFT is determined by<br />
the number of data paths, the number of registers,<br />
the instructi<strong>on</strong> type, the cycle time of DO loop, and<br />
the memory organizati<strong>on</strong>. In other words, a good<br />
6-8 MOTOROLA