Digital Signal Processing, X, Zheng-Hua Tan, 2005 1
Digital Signal Processing, Fall 2005
- E-Study -
Zheng-Hua Tan
Department of Communication Technology Aalborg University, Denmark
Lecture 10: Fast Fourier Transform
Course at a glance
Discrete-time signals and systems
Fourier-domain representation
DFT/FFT
System analysis
Filter design z-transform
MM1
MM2
MM9,MM10 MM3
MM6 MM4
MM7, MM8 Sampling and
reconstruction MM5
System structure System
Digital Signal Processing, X, Zheng-Hua Tan, 2005 3
Digital computation of the DFT
The DFT of a finite-length sequence of length N
The inverse DFT
Due to the duality, focus on the DFT only.
Use the number of arithmetic multiplications and additions as a measure of computational complexity.
Fast Fourier transform (FFT) is a set of algorithms for the efficient and digital computation of the N- point DFT, rather than a new transform.
1 ,..., 1 , 0 , ] 1 [
]
[ 1
0
−
=
=
∑
−=
− n N
W k N X
n
x N
k
kn N
1 ,..., 1 , 0 , ] [ ]
[ 1
0
−
=
=
∑
−=
N k
W n x k
X N
n
kn N
Part I: Direct computation of the DFT
Direct computation of the DFT
Decimation-in-time FFT algorithms
Decimation-in-frequency FFT algorithms
Fourier analysis of signals using the DFT
Digital Signal Processing, X, Zheng-Hua Tan, 2005 5
The DFT of a finite-length sequence of length N
Direct computation: N2complex multiplications and N(N-1) complex additions
Compute and store (only over one period)
Compute the DFT using stored and input 1 ,..., 1 , 0 ), / 2 sin(
) / 2 cos(
) / 2 (
−
= +
=
= −
N k
N k j
N k e
WNk j N k
π π
π
Direct computation of the DFT
1 ,..., 1 , 0 , ] [ ]
[ 1
0
−
=
=
∑
−=
N k
W n x k
X N
n
kn N
] [n x
k
WN
complex be
may ] [ and x n WNk
1 ,..., 1 , 0 , ] [ ]
[ 1
0
−
=
=
∑
−=
N k
W n x k
X N
n
kn N
] [n
x X[k]
For each k
Therefore, for each value of k, the direct computation of X[k] requires 4N real multiplications and (4N-2) real additions.
The direct computation of the DFT requires real multiplications and real additions.
The efficiency can be improved by exploiting the symmetry and periodicity properties of
) 2 4 ( N− N
Direct computation of the DFT
4N2
kn
WN
1 ,..., 1 , 0 }), Re{
]}
[ Im{
} Im{
]}
[ (Re{
}) Im{
]}
[ (Im{
} Re{
]}
[ [(Re{
]
[ 1
0
−
= +
+
−
=
∑
−=
N k
W n
x W
n x j
W n
x W
n x k
X
kn N kn
N N
n
kn N kn
N
Digital Signal Processing, X, Zheng-Hua Tan, 2005 7
Symmetry and periodicity of complex exponential
Complex conjugate symmetry
Periodicity in n and k
For example
The number of multiplications is reduced by a factor of 2.
} Im{
} Re{
)
( *
]
[ kn
N kn
N kn
N kn
N n N k
N W W W j W
W − = − = = −
n N k N N
n k N kn
N W W
W = ( + ) = ( + )
} Re{
]}) [
Re{
]}
[ (Re{
} Re{
]}
[ Re{
} Re{
]}
[
Re{ [ ]
kn N
n N k N kn
N
W n
N x n
x
W n
N x W
n x
− +
=
−
+ −
Part II: Decimation-in-time FFT algorithms
Direct computation of the DFT
Decimation-in-time FFT algorithms
Decimation-in-frequency FFT algorithms
Fourier analysis of signals using the DFT
Digital Signal Processing, X, Zheng-Hua Tan, 2005 9
FFT
Cooley and Tukey (1965) published an algorithm for the computation of the DFT that is applicable when N is a composite number, i.e., the product of two or more integers. Later, it resulted in a number of highly efficient computational algorithms.
The entire set of such algorithms are called the fast Fourier transform, FFT.
FFT decomposes the computation of the DFT of a sequence of length N into successively smaller DFTs.
Decimation-in-time FFT algorithms
Where
decomposition is done by decomposing the sequence into successively smaller subsequences,
and both the symmetry and periodicity of complex exponential are exploited.
Consider and separate x[n] into two (N/2)- point sequences
N =2v
kn N j kn
N e
W = − (2π/ )
∑
∑
+=
odd even
] [ ]
[ ]
[
n
kn N n
kn
N x nW
W n x k
X
1 ,..., 1 , 0 , ] [ ]
[ 1
0
−
=
=
∑
−=
N k
W n x k
X N
n
kn N
Digital Signal Processing, X, Zheng-Hua Tan, 2005 11
Decimation-in-time FFT algorithms
y periodicit the
to due ) 1 2 / ,..., 1 , 0 for compute only
(
1 ,...., 1 , 0 ], [ ]
[
] 1 2 [ ]
2 [
) ](
1 2 [ )
](
2 [
] 1 2 [ ]
2 [
] [ ]
[ ]
[
1 ) 2 / (
0
2 / 1
) 2 / (
0
2 /
1 ) 2 / (
0 1 2
) 2 / (
0
2
1 ) 2 / (
0
) 1 2 1 (
) 2 / (
0
2
odd even
−
=
−
= +
=
+ +
=
+ +
=
+ +
=
+
=
∑
∑
∑
∑
∑
∑
∑
∑
−
=
−
=
−
=
−
=
−
=
− +
=
N k
N k
k H W k G
W r x W
W r x
W r
x W
W r x
W r x W
r x
W n x W
n x k
X
k N
N r
rk N k
N N
r
rk N
N r
rk N k
N N
r
rk N
N r
k r N N
r
rk N
n
kn N n
kn N
Flow graph of the decimation-in-time
Periodicity is applied, e.g. G[7]=G[3]
Digital Signal Processing, X, Zheng-Hua Tan, 2005 13
Decimation-in-time FFT
Further break down
∑
∑
∑
∑
∑
∑
∑
−
=
−
=
−
=
−
=
−
=
− +
=
−
=
+ +
=
+ +
=
+ +
=
=
1 ) 4 / (
0
4 / 2
/ 1
) 4 / (
0
4 /
1 ) 4 / (
0
4 / 2
/ 1
) 4 / (
0
4 /
1 ) 4 / (
0
) 1 2 (
2 / 1
) 4 / (
0
2 2 / 1
) 2 / (
0
2 /
] 1 2 [ ]
2 [ ]
[
] 1 2 [ ]
2 [
] 1 2 [ ]
2 [ ]
[ ]
[
N l
lk N k
N N
l
lk N
N l
lk N k
N N
l
lk N
N l
k l N N
l
lk N N
r
rk N
W l h W
W l h k
H
W l g W
W l g
W l g W
l g W
r g k
G
Combination of Fig. 9.3 and 9.4
Digital Signal Processing, X, Zheng-Hua Tan, 2005 15
2-point DFT
Flow graph
2N
log stages and each stage has N complex multiplications and N complex
additions . N Nlog2
In total, complex multiplications and additions.
240 , 10 log
576 , 048 , 1
1024 2
e.g.
2 2
10
=
=
=
= N N N N
A reduction of 2 orders!
Digital Signal Processing, X, Zheng-Hua Tan, 2005 17
Flow graph of butterfly computation
Flow graph
The number of complex multiplications are reduced by a factor of 2 over the number in Fig. 9.7.
Digital Signal Processing, X, Zheng-Hua Tan, 2005 19
Part III: Decimation-in-frequency FFT algorithms
Direct computation of the DFT
Decimation-in-time FFT algorithms
Decimation-in-frequency FFT algorithms
Fourier analysis of signals using the DFT
Decimation-in-frequency FFT algorithms
Fig. 9.20
Digital Signal Processing, X, Zheng-Hua Tan, 2005 21
Part IV: Fourier analysis of signals using the DFT
Direct computation of the DFT
Decimation-in-time FFT algorithms
Decimation-in-frequency FFT algorithms
Fourier analysis of signals using the DFT
Fourier analysis of signals using the DFT
Finite-duration requirement of DFT Æwindowing
Digital Signal Processing, X, Zheng-Hua Tan, 2005 23
Fourier analysis of signals using the DFT
Fig. 10.2 Tapers off but is
not band-limited.
Not ideal.
Low-pass filtered and modified.
∑∞
−∞
=
+
=
r c
j
T j r jT T X
e
X 2 )
1 ( )
( ω ω π
Fourier analysis of signals using the DFT
∫−
= π − π
θ ω θ
ω θ
π X e Ve d e
V j ( j ) ( j )
2 ) 1
( ( )
Windowing.
N n
kn N
j k N
e n v k
V 1
0
) / 2
( , 0,1,..., 1 ]
[ )
( − π
=
− = −
=∑
Digital Signal Processing, X, Zheng-Hua Tan, 2005 25 Effect of Windowing on Fourier analysis
Fig. 10.3
Effect of Windowing on Fourier analysis
A rectangular window of length 64.
) 2 (
) 2 (
) 2 (
) 2 (
) (
) cos(
] [ ) cos(
] [ ] [
) cos(
) cos(
] [
) cos(
) cos(
) (
) 1 (
) 1 (
) 0 (
) 0 (
1 1 1
0 0 0
1 1 1 0 0 0
1 1 1 0 0 0
1 1
1 1
0 0
0 0
ω ω θ ω
ω θ
ω ω θ ω
ω θ ω
θ ω θ
ω
θ ω θ
ω
θ θ
+
−
−
+
−
−
+ +
+
=
+ +
+
=
+ +
+
=
+ Ω +
+ Ω
=
j j j
j
j j j
j j
c
e W A e e
W A e
e W A e e
W A e e V
n n w A n
n w A n v
n A n
A n x
t A t
A t s
Effect of Windowing on Fourier analysis
Fig. 10.3
The DTFT of a sinusoidal signal is a pair of impulses.
Windowing broadens the impulses and reduces the distinction of signals that are close in frequency
Digital Signal Processing, X, Zheng-Hua Tan, 2005 27
Summary
Direct computation of the DFT
Decimation-in-time FFT algorithms
Decimation-in-frequency FFT algorithms
Fourier analysis of signals using the DFT
Course at a glance
Discrete-time signals and systems
Fourier-domain representation
DFT/FFT
System analysis
Filter design z-transform
MM1
MM2
MM6 MM4
MM7, MM8 Sampling and
reconstruction MM5
System structure System
Digital Signal Processing, X, Zheng-Hua Tan, 2005 29