You are on page 1of 15

Fast Fourier Transform

TEE302 – Digital Signal Processing


Decimation-in-time Approach
DFT Summary
DFT of a sequence of length
where

For each value of , direct computation of involves complex


multiplications ( real multiplications) and complex additions (
real additions). Consequently, to compute all values of the
DFT requires complex multiplications and complex
additions.
Symmetry and periodicity properties
and
Radix-2 FFT Algorithm (1)
 Divide-and-conquer approach is used.
 When the number of data points is not a prime -- In
particular, the approach is very efficient when is highly
composite, that is, when N can be factored as …, where the
are prime.
Case in which , so that -- DFTs are of size , so that the
computation of the N-point DFT has a regular pattern. The
number is called the radix of the FFT algorithm.
Radix-2 algorithms are widely used and discussion will be
focused on that.
Radix-2 FFT Algorithm (2)
Let’s consider N-point DFT, where N can be factored as a
product of two integers ---
Now the sequence , can be stored in either a one dimensional
array indexed by or as a two-dimensional array indexed by
and , where and . --- - row index and - column index.
Sequence can be stored in a rectangular array, each of which
depends on the mapping of index to the indexes in such a
ways that;
--- elements of row by row
--- elements of column by column
 We select and where
Radix-2 FFT Algorithm (3)
Split of N-point data sequence into two data sequences and
(decimating by a factor of 2 --- decimation-in-time)

where
Radix-2 FFT Algorithm (4)
 and are the -point DFT of the sequences and , respectively.
 and are periodic, with period , we have and similarly, . In
addition, . Hence,

Computational Complexity:
 Direct computation of requires complex multiplications.
additional complex multiplications required to compute .
 Computation of requires complex multiplications --
reduction of the number of multiplications from to
Radix-2 FFT Algorithm (5)

 Decimation in time of a length-N DFT into two length-N/2 DFTs


followed by a combining stage.
Radix-2 FFT Algorithm (6)
Additional Simplifications:
A basic butterfly operation is shown in Figure, which requires
only twiddle-factor multiplies per stage. After merging the
twiddle factors to a single term on the lower branch, the
remaining butterfly is actually a length-2 DFT -- this must be
the case, and that FFTs of any factorable length may consist
of successive stages of shorter-length FFTs with twiddle-
factor multiplications in between.
Radix-2 FFT Algorithm (7)
Having performed the decimation-in-time once, we can
repeat the process for each of the sequences and into two
-point sequences.
and .
Similarly,
and .

Same can be applied for as well.


Radix-2 FFT Algorithm (8)
Computational Complexity:
Direct computation of requires multiplications.
Computation of requires complex multiplications --
reduction of the number of multiplications from to
computations.
Decimation of the data sequence can be repeated again and
again until the resulting sequences are reduced to one-point
sequences.
For , this decimation can be performed times.
Radix-2 FFT Algorithm (9)

 Three stages in the computation of an -point DFT


Radix-2 FFT Algorithm (10)

 8-point decimation in time FFT algorithm


Exercise # 1
Given a sequence and elsewhere. Find DFT for the first 4
point.
4-point DFT can be applied. Decimation can be performed times.
Exercise # 2
 Use the 8-point redix-2 DIT-FFT algorithm to find the
DFT of the sequence
Let’s determine the to point DFTs
Exercise # 2

You might also like