You are on page 1of 16

Lecture 19 EE-802 ADSP SEECS-NUST

EE 802-Advanced Digital Signal


Processing
Dr. Amir A. Khan
Office : A-218, SEECS
9085-2162; amir.ali@seecs.edu.pk
Lecture 19 EE-802 ADSP SEECS-NUST
Lecture Outline
Efficient Computation of DFT
Complexity of Direct Computation
FFT-Radix 2
Material taken from
Proakis (Chapter 6: 6.1.1; 6.1.3)
Oppenheim (Chapter 9: 9.1; 9.3)
Lecture 19 EE-802 ADSP SEECS-NUST
Direct Computation of DFT




DFT pair
Computational complexity
N complex multiplications (per DFT coefficient)
N-1 complex additions (per DFT coefficient)
N-point DFT requires
N
2
complex multiplications
N(N-1) complex additions
Complexity in terms of real operations
1 complex multiplication = 4 real multiplications + 2 real additions
1 complex addition = 2 real additions


Real multiplications for N-point DFT
= N(4N) = 4N
2
Real additions for N-point DFT N(2(2N-1)) = N(4N-2)
| |
( )

=
t
=
1 N
0 k
kn N / 2 j
e k X
N
1
] n [ x
| |
( )

=
1
0
/ 2
] [
N
n
kn N j
e n x k X
t
( )
2
N O
Complexity order
Lecture 19 EE-802 ADSP SEECS-NUST
From Direct Computation to FFT
Schematic Representation of DFT
( ) | |
| | ( )
( ) | |
| | ( )
1

tion Representa Alternate
synthesis
1
analysis
1
0
1
0
1
0
2
1
0
2

=
=
=
=
N
n
kn
N
N
n
kn
N
N
n
N
kn
j
N
n
N
kn
j
W k X
N
n x
W n x k X
e k X
N
n x
e n x k X
t
t

: y Periodicit 2.
: Symmetry 1.
2 /
k
N
N k
N
k
N
N k
N
W W
W W
=
=
+
+
Properties
Lecture 19 EE-802 ADSP SEECS-NUST
Radix based FFT Algorithm
Consider that we need to compute N-point DFT and N = r
v
where v is an integer and r is called the radix of the FFT algorithm
Each DFT is of size r, thus giving a regular pattern to computation of DFT
Development of radix-2 FFT algorithm is often cited as the most important
event in digital signal processing
Other FFT algorithms (radix-4, split radix, etc) also exist
Classical FFT computation algorithms
Decimation in Time (DIT) algorithm
Decimation in Frequency (DIF) algorithm
Decompose the input sequence (or DFT coefficients) into successively
smaller subsequences and compute smaller DFTs
Exploit periodicity/symmetry property of complex exponential in DFT Eq.
Lecture 19 EE-802 ADSP SEECS-NUST
Radix-2 Decimation in Time FFT
G[k] and H[k] are N/2 point
DFTs of x[2r] and x[2r +1]
Lecture 19 EE-802 ADSP SEECS-NUST
Radix-2 Decimation in Time FFT
| | ( ) ( ) ( ) ( )
/ 2 / 2
0,1, , 1
k
N
N N
X k G k W H k k N

= + =

For N/2 (8/2=4)
point DFTs

By implicit
periodicity
G[0] = G[4]
Lecture 19 EE-802 ADSP SEECS-NUST
Radix-2 Decimation in Time FFT
Repeat the process to break each
N/2 point DFT further into N/4
point DFTs
| | | |
( )
| |
( )
| |
( )
( )
/ 2 1 / 4 1 / 4 1
2 1 2
/ 2 / 2 / 2
0 0 0
2 2 1
N N N
k rk k
N N N
r
G k g r W g W g W

+
= = =
= = + +

l l
l l
l l +
| | | |
( )
| |
( ) / 4 1 / 4 1
/ 4 / 2 / 4
0 0
2 2 1
N N
k k k
N N N
G k g W W g W

= =
= + +

l
l l
l l +
Lecture 19 EE-802 ADSP SEECS-NUST
Radix-2 Decimation in Time FFT
Lecture 19 EE-802 ADSP SEECS-NUST
Radix-2 Decimation in Time FFT
2-point DFT
basic butterfly
computation
8-point DFT using DIT algorithm
Number of DFT stages
v = log
2
N as 2
v
= N
Computations per stage
N complex multiplications
N complex additions
Total computations
N.log
2
N
Lecture 19 EE-802 ADSP SEECS-NUST
Radix-2 DIT (Complexity Reduction)
2 complex multiplications
1 complex multiplication
Lecture 19 EE-802 ADSP SEECS-NUST
Radix-2 DIT (Complexity Reduction)
Total computations
N/2.log
2
N
Lecture 19 EE-802 ADSP SEECS-NUST
Radix-2 DIT Bit-reversed Input Ordering
i/p
Indx
b
2
b
1
b
0
b
2
' b
1
' b
0
'
Bit-reversed order
Input placement
x[0] 0 0 0 0 0 0 0
0
x[1] 1 0 0 1 1 0 0
4
x[2] 2 0 1 0 0 1 0
2
x[3] 3 0 1 1 1 1 0
6
x[4] 4 1 0 0 0 0 1
1
x[5] 5 1 0 1 1 0 1
5
x[6] 6 1 1 0 0 1 1
3
x[7] 7 1 1 1 1 1 1
7
x[0] goes in location 0; x[1] goes in location 4; x[6] goes in location 3,
Lecture 19 EE-802 ADSP SEECS-NUST
Radix-2 DIT In-Place Computations
A = a + W
N
r
b
B = a - W
N
r
b
Once (a,b) are used to calculate (A,B), there is no need for (a,b)
Hence (A,B) results can be saved in the same memory location as (a,b)
resulting in efficient memory utilization and the name in-place computation
2N memory registers required
Condition : inputs (sequence) /outputs (DFT coefficients) be stored in bit-
reversed order
Lecture 19 EE-802 ADSP SEECS-NUST
Direct DFT vs FFT Round-up
Understanding DSP (Lyons)
Lecture 19 EE-802 ADSP SEECS-NUST
Further Recommended Reading
Understanding DSP (Lyons)
Chapter 4 (Section 4.2: Hints on using FFTs in Practice)
*
Other FFT Algorithms
Radix-4
Split Radix FFT
Other DFT algorithms (Discussion in Next lecture)
Goertzel Algorithm (Tone-detector)
Winograd Algorithm
Chirp-z Transform Algorithm
* Highly recommended

You might also like