By Eliezer Ben Zeev, Yaron Zolar, Avi Gal, Erez Steinberg, Kazuhiko Enosawa, and Ed Martinez, FreescaleDecember 03, 2007 -- dspdesignline.com
Here's how to implement an efficient radix-4 FFT, using the StarCore SC3000 as an example.
The Fast Fourier Transform (FFT) is a widely used algorithm that computes the Discrete Fourier Transform (DFT) using much fewer operations than a direct implementation of the DFT. FFTs are of great importance to a wide variety of applications. One of the most important application areas is telecommunications. FFTs are used in communications standards such as 3GPP-LTE, WiMAX, and many others. In fact, the ubiquitous OFDM (Orthogonal Frequency Division Multiplexing) signals are generated using the FFT.
In this article we present an implementation of the FFT on the StarCore SC3000 DSP core. We use a radix-4 decimation in frequency (DIF) variant of the FFT and optimize our code to take advantage of the SC3000's parallel architecture, resulting in a highly efficient implementation. We discuss the implementation in detail, including code structure and optimizations. The FFT output is verified against a floating-point MATLAB model, and actual implementation performance results are given for the MSC8144, the first device to utilize Freescale's StarCore SC3000 core architecture.
Click here to read more ...