Professional Documents
Culture Documents
The Fast Fourier Transform Algorithm
The Fast Fourier Transform Algorithm
N −1 2 nk
−j
x [n ] e
1
X [k ] = N .............(1)
N n =0
For k=0,1,……….,N-1
N
Let N = 22 and M = we can separate even and odd terms of x[n] in eq.(1), we get
2
M −1
−
(2 n ) k M −1
−
(2 n +1) k
1 j 2 j 2
X [k ] = x [2n ] e 2M + x [2n + 1] e 2M
2M n = 0
n = 0
M −1
−
nk M −1
−
nk
−
k
1 1 j 2 1 j 2 j
= x [2n ] e M + x [2n + 1] e M .e M
2 M n =0 M n =0
M −1 nk k M −1 nk
− − −
1 1 j 2 1 j j 2
= x [2n ] e M + e M x [2n + 1] e M
2 M n =0 M
n = 0
k
1 −j
X [k ] = X even [k ] + X odd [k ].e M for k=0,1,.....,M-1 ........(3)
2
This formula gives us only M points rather than N. The other M points are obtained for k+M, that is:
1
(k +M )
− j
X [k + M ] = X even [k + M ] + X odd [k + M ].e M for k=0,1,.....,M-1 ........(4)
2
But
M −1 (k +M )n M −1 nk
− j 2 − j 2
1 1
X even [k + M ] = x [2n ] e M = x [2n ] e M . e− j 2 n = X even [k ]
M n =0
M n =0
And similarly
M −1 (k +M )
− j 2
x [2n + 1] e
1
X odd [k + M ] = M = X odd [k ]
M n =0
Finally,
(k +M ) k M k
− j −j − j −j
e M =e M .e M = −e M
k
1 −j
X [k + M ] = X even [k ] − e M Xodd [k ] ..............(5)
2
For k=0,1,2,….,M-1
Therefor, we can calculate the DFT of x[n] only by calculating Xeven [k] and Xodd[k] for k=0,1,……,M-1,
And then combining them according to Eqs (3) and (5).
This is called Fast Fourier Transform (FFT). This requires less number of computation as compared to the
original form of DFT.
Ex: Calculate the FFT of
X=[2 3 4 4]
Solution:
N=4 , M=2
• Divide these four points into two 2-poin FFTs
• This can be obtained using bit reversal for the index of the elements of x[n], as follows:
Original index Bit reversed index
X[0]=2 00 00 0
X[1]=3 01 10 2
X[2]=4 10 01 1
X[3]=4 11 11 3
Then, we must start with the following sequence:
x [0] = 2
3
3 X even [0]
even −1 X even [1]
x [2] = 4
-1
-1
k
1 −j
X [k ] = X even [k ] + X odd e M for k=0,1.
2
1
X[0]= ( X even [0] + X odd [0]) k = 0
2
and
1 − j
X [1] = X even [1] + X odd [1] e 2 k =1
2
k
1 −j
X [k + M ] = X even [k ] − e M X odd [k ] for k=0,1
2
1
X [2] = ( X even [0] − X odd [0]) k=0
2
and
1 −j
X [3] = X even [1] − e 2 X odd [1] k=1
2
−j
• Now, substituting the values of Xeven[k] and Xodd[k], together with e 2
=−j , we have:
1 6.5
X [0] = (3 + 3.5) = = 3.25
2 2
1 j 1
X [1] = (−1 + ) = (−2 + j )
2 2 4
1 1 1 −1
X [2] = (3 − 3.5) = (− ) =
2 2 2 4
1 1 1
X [3] = (−1 − j ) = (−2 − j )
2 2 4