This document is about choosing and using FFTs for ADSP- 21xx
This document is an Engineer To Engineer Note (EE-18) from Analog Devices regarding the use of Fast Fourier Transform (FFT) algorithms on the ADSP-21xx DSP family. It serves as a technical reference for engineers performing audio and video signal processing, detailing how to select appropriate FFT implementations based on speed and accuracy requirements.
The guide covers key considerations for choosing FFT implementations, including the trade-offs between Decimation in Time (DIT) and Decimation in Frequency (DIF) methods, the performance benefits of Radix-4 versus Radix-2, and the impact of FFT point count on resolution. It also discusses windowing techniques to reduce signal leakage and compares different scaling methods (Input Scaling, Unconditional Block Floating-Point, and Conditional Block Floating-Point) for fixed-point arithmetic.
| Cycles for 1024-point Radix-2 DIT FFT | 73928 cycles |
|---|---|
| Cycles for 1024-point Radix-4 FFT | 37016 cycles |
| Speed improvement of Radix-4 over Radix-2 | saves about half of cycles |
| Input scaling for 1024-pt FFT | 11 bits |
DIT takes sequential ordered inputs and generates bit-reversed ordered outputs, while DIF takes bit-reversed ordered inputs and generates sequential ordered outputs.
Radix-4 is significantly faster than Radix-2 on the ADSP-21xx due to its advanced addressing mechanism.
Conditional block floating-point scaling (CBFS) provides the best accuracy, followed by unconditional block floating-point scaling (UCBFS).