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. Between 4-point and 32768-point FFTs may be performed, the upper
limit depending on data-memory availability. The FFT decimates in time,
the computations being done in place with full intermediate scaling and
0.5lsb rounding.
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 example application files are provided with the code. Test
results are available.
Processor
Load:
| FFT
mode setting |
N-point |
Cycles# |
Data
memory (words) |
Prog
memory (words)# |
| Re,Im
samples, pre-stored twiddle factors |
16 |
640 |
48 |
244 |
| 256 |
14744 |
768 |
| 4096 |
323808 |
12288 |
| Re-only
samples, pre-stored twiddle factors |
16 |
418 |
48 |
295 |
| 256 |
11762 |
768 |
| 4096 |
276666 |
12288 |
| Re,
Im samples, twiddle factors computed |
16 |
1394 |
32 |
231 |
| 256 |
27278 |
512 |
| 4096 |
524522 |
8192 |
-
#figures for assembler interfaces with TMS320C54x operation
Availability:
NOW, sale is under licence - integration support offered
|
|