FFT
Time-to-Frequency TMS320C5000 DSP Code
Description:
this routine performs the tasks involved in FFT spectral analysis ie a
complete time-to-frequency FFT on an N = 2M time sample array in
one call. The FFT conversion is programmable from 4- to 16384-points.
The FFT decimates in time, the computations being done in place with full
intermediate scaling and 0.5lsb rounding. The main FFT routine is also
programmable for FFT conversion in stages. This can be useful for spreading
the processing load in a real-time system.
Routine calls are provided for:
zeroing the FFT array, pre-computing the "twiddle factors",
performing the FFT, and converting the output spectra real and imag parts
to magnitudes. Optionally, the FFT computation may be done on: real and
imag time samples or on real samples only, both with pre-stored twiddle
factors, or on real and imag time samples with twiddle factors calculated
on-the-fly. These options give various trade-offs between cycles taken,
data memory required, and program memory used.
In the assembler interface, the
code is re-entrant so multiple channels in one DSP can readily be processed.
A C-callable wrapper can also be provided. A comprehensive user's guide,
together with test results and an example application file, is provided
with the code.
Processor
Load:
FFT
mode setting |
N-point
|
Cycles#
|
Data
memory (words)
|
Prog
memory (words)#
|
Re,Im
samples, pre-stored twiddle factors |
16
|
580
|
48
|
237
|
256
|
12700
|
768
|
4096
|
274660
|
12288
|
Re-only
samples, pre-stored twiddle factors |
16
|
337
|
48
|
294
|
256
|
8797
|
768
|
4096
|
212197
|
12288
|
Re,
Im samples, twiddle factors computed |
16
|
1210
|
32
|
230
|
256
|
23178
|
512
|
4096
|
442586
|
8192
|
-
#figures for assembler interfaces with TMS320C54x operation
Availability:
NOW, sale is under licence - integration support offered
|
|