2012
MEH329
DIGITAL SIGNAL PROCESSING
-9Fast Fourier Transform
Instructor: Assist.Prof.Dr. M. Kemal GLL
Dept. Of Electronics & Telecomm. Eng.
Kocaeli University
http://akademikpersonel.kocaeli.edu.tr/kemalg/
X k x[ n]e
j 2 / N kn
x[ n]
n 0
1
N
N 1
X k e
j 2 / N kn
k 0
Computational Complexity:
For each DFT coefficient:
N complex multiplication (4N real multiplication+2N real
addition)
N-1 complex addition (2(N-1) real addition)
12.12.2012
e j 2 / N k N e j 2 / N k
WNk N WNk
Conjugate symmetry
j 2 / N k
2
e j 2 / N k
WN
N
2
WNk
3
12.12.2012
X k x[n]e j 2 / N kn
n0
N 1
x[n]e
j 2 / N kn
N 1
x[n]e
n even
j 2 / N kn
n odd
X k
N / 2 1
2 rk
N
x[2r ]W
r 0
r 0
N / 2 1
x[2r 1]WN 2 r 1 k
N / 2 1
rk
N /2
x[2r ]W
k
N
r 0
x[2r 1]WNrk/ 2
r 0
G k WNk H k
N/2 point DFT of x[2r]
N/2 point DFT of x[2r]
12.12.2012
Total complexity
N2/2+N complex multiplications
N2/2+N complex additions
More efficient than direct DFT
12.12.2012
2-point
DFT
2-point
DFT
2-point
DFT
10
12.12.2012
WN(r+N/2) = -WNr
11
X0 0 x0 X0 000 x000
X0 1 x4 X 0 001 x100
X0 2 x2 X 0 010 x010
X0 3 x6 X0 011 x110
X0 4 x1 X 0 100 x001
X0 5 x5 X0 101 x101
X0 6 x3 X0 110 x011
X0 7 x7 X 0 111 x111
MEH329 Digital Signal Processing
12
12.12.2012
K[0]=1-1=0
G[0]=0+4=4
K[1]=1+1=2
G[1]=2+0j=2
L[0]=2+2=4
G[2]=0-4=-4
L[1]=2-2=0
G[3]=2-j0=2
M[0]=1-1=0
H[0]=0+4=4
M[1]=1+1=2
H[1]=2-j0=2
P[0]=2+2=4
H[2]=0-4=-4
P[1]=2-2=0
H[3]=2-j0=2
X[0]=4+4=8
X[1]=2+2(.707-j.707)
X[2]=-4-4(-j)
X[3]=2+2(-.707-j.707)
X[4]=4-4=0
X[5]=2+2(-.707+j.707)
X[6]=-4-4j
X[7]=2+2(.707+j.707)
13
X k x[n]WNnk
n0
N 1
N / 2 1
X 2r x[n]WNn 2r
n0
N / 2 1
X 2r
N / 2 1
x[n ]WNn 2 r
n 0
N 1
x[ n]WNn 2r
n 0
x[n N / 2]WN n N / 2 2 r
n 0
x[n ]WNn 2 r
n N /2
N / 2 1
nr
N /2
n 0
Even-indexed frequencies
N / 2 1
X 2r 1
x[n] x[n N / 2] W
n
N
WNrn/ 2
n0
Odd-indexed frequencies
MEH329 Digital Signal Processing
14
12.12.2012
-- Twiddle factors
15
-4
j4
X[0]=8
X[4]=0
X[2]=-4+j4
X[6]=-4-j4
2
2
X[1]=2+2(.707-j.707)
2(.707-j.707)
2(.707-j.707)
-1.414-j1.414
X[5]=2-2(.707-j.707)
X[3]=2-2(.707+j.707)
X[7]=2+2(.707+j.707)
MEH329 Digital Signal Processing
16