Fast Fourier Transform (hereafter referred to FFT) is a fast algorithm for Discrete Fourier Transform (hereinafter referred to DFT), which is one of the most basic methods in the analysis of time-domain a frequency-domain transform.
The algorithm enables interconversion of data from the time domain to the frequency domain, which provides another dimension of data processing method support.
In engineering practices, DFT algorithms cannot be widely implemented in reality due to the computationally excessive.
The FFT algorithm optimizes the computation to a practicable order of magnitude by improving the computing method of the DFT, and the discrete Fourier transform is really widely used in the engineering field.
FFT is an improved method based on the DFT algorithm, which is equivalent to DFT in terms of computational results and optimizes the computational process.
If F(n) is the discrete Fourier transform of f(n), the DFT formula is expressed as follows:
F(n)=k=0∑N−1f(k)WNkn,n=0,1,⋯,N−1
The rotation factor is WNkn=e−jN2πkn , and N is the input sequence length.
IDFT is the inverse of DFT which is expressed as follows:
f(n)=N1k=0∑N−1F(k)WN−kn,n=0,1,⋯,N−1
Another fundamental formula is Euler's formula:
eix=cos(x)+i∗sin(x)
From Euler's formula is deduced that the rotation factor has the following properties:
In the above figure, it can be seen that there is a bit-reversal relationship between F(n) and f(n) for n.
That is, in FFT, the indices of the input and output parameters are bit-reversals of each other,providing better support for optimized computational efficiency.
The calculation process of IFFT is similar to that of FFT, which can be derived based on the IDFT formula.