Fast Fourier Transform (FFT)
The Fast Fourier Transform (FFT) is an efficient recursive algorithm for computing the Discrete Fourier Transform (DFT) of a sequence. The DFT itself converts a finite sequence of equally spaced samples (usually from a time-domain signal) into a sequence of complex numbers representing the amplitudes and phases of sinusoidal frequency components. For the DFT equations
Intuition
The FFT algorithm drops the inverse period multiplication in the standard discrete Fourier calculations, such that
The FFT optimizes computational time by only taking periods in the scope of , where This step ensures that the finite signal will always have an even number of elements, and is useful for performing linear algebra on the above equations.
For simplification, we will take . The FFT also performs decimation in time, dividing into two sets of even and odd multiples of , such that two calculations are performed where
This can equivalently be represented using , such that
We see that the right hand side of the equation above closely resembles two Fourier coefficients, one for and another for . Therefore, we can represent the above as
However, this only represents the signal for the first half of the period (). By shifting by , we can obtain the decomposition for the second half of the signal, such that we get This is very straightforward, since the DFT kernel is periodic on , and therefore both and are periodic on . The equation becomes
Therefore, we get the piecewise equation