The fast Fourier transform (FFT) is an efficient implementation
of the discrete Fourier transform (DFT) for highly
compositeA.1 transform
lengths
. When
is a power of 2, the computational complexity
drops from
(for the DFT) down to
for the
FFT, where
denotes the logarithm-base-2 of
.
The FFT was evidently first described by Gauss in 1805
[25] and rediscovered in the 1960s by Cooley and Tukey
[13].
Pointers to FFT software are given in §A.4.A.2
The first stage of a radix 2 FFT algorithm is derived below; the remaining stages are obtained by applying the same decomposition recursively. The DFT is defined by
There are two basic varieties of FFT, one based on decimation in time (DIT), and the other on decimation in frequency (DIF). Here we will derive decimation in time.