C28x Fast Fourier Transforms Library SPRC081 (ACTIVE)
Fast Fourier Transforms are an efficient class of algorithms for the digital computation of the N-point Fourier transform (DFT). In general, their input sequence are assumed to be complex. In many real applications, the data sequences to be processed are real valued. Even though the data is real, complex-valued DFT algorithm can still be used. One simple approach creates a complex sequence from the real sequence; that is, real data for the real components and zeros for the imaginary components, The complex FFT can then be applied directly.
However, this method is not efficient as it consumes 2N memory locations (Real & Imaginary) for N point sequence. When input is purely real, their symmetric properties compute DFT very efficiently. One such optimized real FFT algorithm for 2N-point real data sequence is packing algorithm. The original 2N-point sequence is packed as N-point complex sequence and N -point complex FFT is performed on the complex sequence. Finally the resulting N -point complex output is unpacked into another N+1 point complex sequence, which corresponds to spectral bin 0 to N of 2N-point real input sequence. Spectral bin 0 to N is sufficient, as the remaining bins N+1 to 2N-1 are complex conjugates of spectral bins N-1 to 1.
The real FFT requires 2N+2 memory locations to compute the FFT for 2N-point real valued sequence, which is highly preferable in contrast to the complex FFT that consumes 4N-locations for 2N-point real valued sequence. Moreover using this strategy, the complex FFT size can be reduced by half, at the FFT cost function of O(N) operations to pack the input and unpack the output. Hence, the real FFT algorithm computes the FFT of a real input sequence almost twice as fast as the general FFT algorithm.
This FFT library contains generic FFT module (32-bit implementation) for real/complex FFT.
- Documentation of FFT Modules is archived in the self-extracting zip file,
and the pdf files can be found in c:\tidcs\c28\dsp_tbox\fft\doc directory.
- Software Test Bench (STB) support library must be downloaded to use the STB examples.