Decimation in Frequency (DIF) FFT Algorithm

You might also like

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

Decimation in frequency (DIF) FFT 

algorithm
N −1
X k = ∑ x n−nk
N
n=0

 N =e2  / N 

Splitting input sequence x(n) into  two parts 
(first half and second half)  based on time index n,

N /2−1 N −1
X k = ∑ x n−nk
N  ∑ x n−nk
N
n=0 n=N /2

1
ARJ_DSP_2010
DIF (Decimation in frequency)
N /2−1 N −1
X k = ∑ x n−nk
N  ∑ x n−nk
N
n=0 n=N /2
N /2−1 N /2−1
nN / 2 k 
X k = ∑ x n−nk
N  ∑ x n N /2−
N
n=0 n=0

− j2  Nk / 2 N  − j  k 
−Nk /2
N =e =e

e− j  k =1 for even k ,−1 for odd k


nN /2  k 
− −nk
N = N for even k
nN /2  k 
− −nk
N =− N for odd k

2
ARJ_DSP_2010
DIF algorithm
N / 2−1 N / 2−1
X even k = ∑ x n−nk
N  ∑ x nN / 2−nk
N
n=0 n=0

N /2−1 N / 2−1
X odd k = ∑ x n−nk
N − ∑ x nN /2−nk
N
n=0 n=0

3
ARJ_DSP_2010
DIF algorithm
For even k

let k=2r for even k , k=2r1 for odd k

N /2−1
X k=2r = ∑ [ x n x nN /2]−n2r
N
n=0
N /2−1
X k=2r = ∑ [ x n x nN /2]−nr
 N / 2
n=0

X even k = N / 2 point DFT of [ x nx nN / 2]

4
ARJ_DSP_2010
DIF algorithm
For odd k

Similarly putting k=2r1 for odd k

N /2−1
 2r1
X k=2r1= ∑ [ x n− x nN /2]−n
N
n=0

N /2−1
 2r 
X k=2r1= ∑ [ x n− x nN /2]−n
N . −n
N
n=0

X odd k = N /2 point DFT of [ x n− x nN /2]−n


N

5
ARJ_DSP_2010
8 point DIF Algorithm: STEP 1
X(0)
x(0)
E
x(1) X(2) V
4 point E
X(4) N
x(2) DFT
x(3) X6)

X(1)
x(4)
­1 0
8
x(5) 4 point X(3) O
­1 −1 D
x(6) 8 DFT X(5)
D
­1 −2
8
x(7) X(7)
­1 −3
8

6
ARJ_DSP_2010
8 point DIF Algorithm: STEP 2
This process is repeated for each 4 point DFT block

X(0) E
2 point V
X(4) E
N
X(2)
­1  04 2 point
−1 X(6)
­1  4

X(1)
2 point
X(5) O
D
X(3) D
­1  04 2 point
X(7)
­1 −1
 4

7
ARJ_DSP_2010
8 point DIF Algorithm: STEP 3
This process is repeated for each 2 point DFT block

­1  02

8
ARJ_DSP_2010
8 point DIF Algorithm: Flow graph

x(0) X(0)

x(1) X(4)
­1
x(2) X(2)
0
x(3) ­1  4
X(6)
­1 ­1
−1
4
X(1)
x(4) 
0
­1 8
x(5) X(5)
­1 −1
8 ­1 X(3)
x(6) ­1 0
x(7) −2
8
­1  4 X(7)
­1 −3 ­1
8 −1
4
­1

9
ARJ_DSP_2010

You might also like