fft Fast Fourier Transform (1)

The fft transformation is not a new algorithm, it is just a method to speed up the dft operation. The expression of dft is as follows:
insert image description here
Obviously, finding X(k) of N points requires N 2 N^{2}N2 times of complex number multiplication and N*(N - 1) times of complex number addition; we all know that realizing a complex number multiplication requires four real numbers multiplied by two real number additions, and realizing a complex number addition requires two real number additions; then when N is large , the amount of calculation will be quite large. As the most commonly used algorithm in signal processing, dft obviously cannot be well applied in practice with such a large amount of calculation, so fft appears; how does fft work? A detailed introduction will be made below.

For the video, please click
1. Time-based extraction (DIT) base 2fft algorithm
For the following formula
insert image description here
, let N = x MN = x^{M}N=xM M M M is a positive integer, andx ( n ) x(n)x ( n ) is divided into two groups according to parity, base ordern = 2 rn=2rn=2 r andn = 2 r + 1 n=2r+1n=2 r+1 , andr = 0 , 1 , . . . , N / 2 − 1 r = 0,1,...,N/2 - 1r=0,1,...,N/21 , then we
insert image description here
have
insert image description here
A
insert image description here
( k ) and B ( k ) A(k) and B(k)A ( k ) and B ( k ) are bothN / 2 N/2dft of N / 2 points,X ( k ) X(k)X ( k ) is N-point dft, so X ( k ) X(k)in the above formulaX ( k ) is not in perfect form, but
insert image description here
soA(k), B(k) A(k), B(k)A ( k ) , B ( k ) can completely representX ( k ) X(k)X ( k ) , whenN = 8 N = 8N=8 ,A ( k ) , B ( k ) and X ( k ) A(k), B(k) and X(k)The relationship between A ( k ) , B ( k ) and X ( k ) can be shown in the figure below.A ( k ) and B ( k )
insert image description here
deduced above), B(k) is still a high composite number (N / 2)A ( k ) and B ( k ) are still dft of high composite number ( N ​​/ 2 ) , and can be further decomposed according to the above method, respectively letr = 2 l , r = 2 l + 1 , l = 0 , 1 , . . . , N / 4 − 1 r = 2l, r = 2l + 1, l = 0, 1, ..., N / 4 − 1r=2l r _=2 l+1l=0,1...N/41 , thenA ( k ) and B ( k ) A(k) and B(k)A ( k ) and B ( k ) canbe
insert image description here
respectivelyexpressedas__
insert image description here

insert image description here

insert image description here

insert image description here
insert image description here
N=8,那么C ( k ) , D ( k ) , E ( k ) , F ( k ) C(k),D(k),E(k),F(k)C ( k ) , D ( k ) , E ( k ) , F ( k ) are two-point dft, no need to continue to expand, then if
insert image description here
N= 16 , 32 or a higher power of 2 N = 16, 32 or a higher power of 2N=16,3 2 or a higher power of 2 , you can continue to expand according to the above method; the above method is to expand the time n according to parity, so it is called time extraction DIT, the 8-point DFT of the above method can be expressed as follows Figure:
insert image description here
The basic operation unit is as follows:
insert image description here

Guess you like

Origin blog.csdn.net/pikaqiu_n95/article/details/109903507