Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

The Fast Fourier Transform Algorithm

The Fast Fourier Transform Algorithm:

• The direct form of a DFT is

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 

M − pointDFT of even- indexed M − point DFT of odd- indexed


elements of x[n] elements of x[n]
• Let’s define
M −1
− j 2
nk 
 x [2n ] e
1
X even [k ] = M 
M n =0 
M −1 nk
 for k=0,1,2,........,M-1
− j 2 
 x [2n + 1] e
1
X odd [k ] = M

M n =0 

 Eq.(2) may be rewritten as:

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

 Eq.(4) can be rewritten as :

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

x [1] = 3 3.5 3.5  X odd [0]


odd  −1
 x [3] = 4 -1/2  X odd [1]
2
-1
• The next step is to combine these results to get the complete answer according to eqs.(3) and (5).

• Eq.(3) gives the first 2 points of the final result :

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

You might also like