Anda di halaman 1dari 14

# Efficient Computation of DFT

ALGORITHMS
(FFT)

2

## To evaluate X(k) for k=0,1,2,3..N-1, it follows that the direct determination

of the that
DFT the
requires
N2the
complex
multiplication
Recall
DFT of
sequence
x(n) is givenand
can become prohibitive for larger value of N.

2
X (k ) x(n) exp j
nk . k 0,1,2.........N 1
n 0
N

N 1

## For convenience, let us denote exp(-j2/N) by WN, so that

N 1

X (k ) x(n)WNkn . k 0,1,2.........N 1
n0

The basic idea in all approaches is to divide the given sequence into
Which can beofexplicitly
writtenand
as the combine these smaller DFTs suitably
subsequences
smaller length
to obtain the DFT of the original sequence

## Thus, Procedures that reduce the computational burden are of considerable

interest and these procedures in known as Fast Fourier-Transforms(FFT)
algorithms.

## The Decimation-in-Time Algorithm(DIF)

N
so
that
,
X
(
k
)

G
(
k
)

W
H
(
k
),
k

0
,
1

1
N
Here, X(n) is divided into two subsequence of length N/2, by grouping the
2
even-indexed samples and the odd-indexed samples together.
N
k

2
nk
nk
and
similarly
,
X
k

G
(
k
)

W
H ((1k))
i.e. X (k ) x( n)WN 2 x(n)WN N
n even
n odd
3K

## The signal flow graph for above equations are given as

Letting n=2r in first sum and n=2r+1 in the second sum,
N / 2 1

N / 2 1

2 rk

r 0

N / 2 1

( 2 r 1) k

r 0

N / 2 1

r 0

2 rk

r 0

2 rk

G(0)

X(0)

X(2)

X(0)

N/2 point
DFT

4
G(1)

G(2)
X(4)

Even number

## Can be explicitly divided into two

like odd(N=4) & even (N=4)
N/2 point
DFT
Odd number

WN

X(1)

WN

X(2)

G(3)
X(6)

WN

X(k+N/2)
K=0 & N=8

X(3)

WN

X(4)

WN

X(5)

WN

X(6)

WN7

X(7)

WN

## Flow graph for second stageG(0)

of DFT algorithm for N=4

X(0)

G(0)
X(0)

N/4 point
0
DFT
For N=8, this involves
dividing the sequence g(r) into the two
such as
Wsequences
N /2

X(4)

N/2 point

G(1)

DFT
X(2)

X(6)

Even

N/4
number
point
DFT

G(1)
X(1)

WN1/ 2
H(0)

H(1)

WN2/ 2

G(2)

WN3/ 2

G(3)

## Flow graph for second stageG(0)

of DFT algorithm for N=4

X(1)

H(0)
X(0)

N/4 point
0
DFT
For N=8, this involves
dividing the sequence g(r) into the two
such as
Wsequences
N / 2and {x(3), x(7)}
For N=8, this involves dividing the sequence h(r) into {x(1), x(5)}
{x(0), X(4)} and {x(2), x(6)}
G(1)
H(1)
X(1)
X(5)

N/2 point

DFT
X(3)

X(7)

Odd

N/4
Number
point
DFT

WN1/ 2
H(0)

H(1)

WN2/ 2

WN3/ 2

H(2)

H(3)

X(0)
Complete flow
of the DFT for N=8
W graph for computation
0
0

WN

WN4
x(2)

x(6)

WN0

X(1)

WN

WN1

## Re call that ,Bit-Reversal order N=8

WN

WN / 2 e
0

WN4

so that ,

WN4

2
2
jBit-Reversal
Binary
Decimal
2
N
6
Representaio
Representati
Equivale
WN
Number
n
on
ntN

Decimal
N / 2

WN2

WN

8
N
0
000
Number W
of stages
3 000
log

log
2
W2
0

1
2
3
4
5
6
7

001
010
011
100
101
110
111

X(2)

100
010
110
2N
N 001
2
101
011
111

W
0 N

4
2 5
6WN
1
5
6
3WN
7

X(3)
X(4)

N complex
multiplication and addition for each stage
W
4

W operation
and leading to a total of N log
WN0
WN4

WN4

WN6

WN7

X(5)

X(6)

X(7)

Forsignal
N 4flow
we have
graph.

## F1 (k 2) F1 (k ) For k 0, F1 (0)8 F1 (2) & For k 1, F1 (1) F1 (3)

Also
,
Solution
F (k 2) F (k ) 1 For k 0, F2 nk(0) F k(2) & For k 12,nkF (1) F (3)
0
0
0
2
X
(
k
)

x
(
2
n
)
W

W
x
(
2
n

1
)
W

F1 (0) But
x(0from
)W4 symmetry
W4 X (24 ) &property,
(0)W
W4 X (2)
have
iF.e1.,(41) xwe
44
2

N 1

X (k ) n x0 (n)WN x(n)W4nk
nk

F2 (0) x(1)W

W
X
(
3
)
&
F
(
1
)

x
(
1
)
W

W
X
(
3
)
N
F
(
0
)

W
F
(
0
)

F
(
k
)
)
4N
4 W F ( kX
2 (0)
4
1
4
F1 (kOdd
and
) Even
) &2 Fwe
(khave
)1 F2 (k )
F
j 21( k
j 2
Split into
terms,
2
1
2
N
4 2
Here, But , W
e
WN4/ X
(e1) F1 (1)j W4 F2 (1)
N / 2N
1
2 1
2 nk
( 2 n 1) k
2
0)

j
2

X
(
k
)

x
(
2
n
W

x
(
2
n

1
)
W

Where
F
(k)
and
F
(k)
are
2
point
DFT
4
4
X (0) F21 (01n)0 W4 F222 (0) nX0 (2) F1 (0) W4 F2 (0)
W4 even
W2 1e
1odd
3
X (1) F1 (1)1 jW
3 4 F2 (1)
1 X (3) F1 (1) W4 F2 (1)
2 nk
( 2 n 1) k
3
0
2
e x(2
n2)W
x1(2n 1)W4
W
j
&
4 W4
4
X (2) F (2) W F (2)
n 00

n0

n 0

n 0

0 2
4 4 2

## Signal flow graph of DIT algorithm for N=4

F1(0)

x(0)

X(0)

F1(1)
x(2)

X(1)

-1
F2(0)

x(1)

W4 j
W42 1
Here,
1

X(2)

X (3 0) F1 (0) X(3)
W4 F2 (0)
x(3)
-1
W4 j
1
2
(1)0 W
F
(1)
4 X
2 (3)
F2 (0) x(1)W40 W40 X (3) & F2 X
(1)(1) x(F
1)1W
W
4
4
2 2
0
0
0
x2F
))4WW
F (0)
(X
01 ()(0W
4 4 2X ( 2)
FF2 (1 (00))xx(1()0)WX4 (3)W&4 X
F2((21)) &
xFX
(11()(12))W
3
4
F1 (0) x(0) X (2) & F1 (1) Xx((03)) XF1((21) W43 F2 (1)
F2(1)

## The Decimation-in-Frequency Algorithm (DIF)

10

To derive this algorithm, we group the first N/2 points and the last N/2 point
of the sequence x(n) together and write

X (k )

N / 2 1

)W
x(nLet

nk
N

n 0

N 1

x(n)W

n N / 2

nk
N

N nk

n) set
2r
xx( n&
nNwrite
we
x(gn()W
Wx ( nk)
/ 2)W
Nas

For k even,
can
n 0
n 0
2
( N / 2 ) 1
( N /22) 1
2 rn
rn
j
Nk / 2
Nk / 2
k
N
N
X
(
2
r
)

g
(
n
)
W

g
(
n
)
W

N e
N)
/2 n
By noting
that,
W

1
N x ( n ) n x
n 0 h( n)
0 n
WN
2 as
1 & write
N / 2 1can set k 2r
N
For k Odd, we

k
nk
X ( k ) (
x(n),0 (1n)
x/(2 )N
n1 /2) 1 WN

where
N
/
2
)

1
(
N

n 0
2 rn
2 rn

N / 2 1

n 0

nk
N

Nk / 2
N

N / 2 1

n 0

g(0)

x(0)

X(0)
X(2)

x(1)

g(1)

x(2)

g(2)

X(4)

x(3)

g(3)

X(6)

x(4)

x(5)

-1

-1

WN0
WN1

x(6)

-1

WN2

x(7)

-1

WN3

h(0)

h(1)

h(2)
h(3)

N/2-p0int
DFT

Let

X(1)

N X(3)
8
g (n) xN/2-p0int
( n ) x n

DFT
2X(5)
N 8 n

h( n) x ( n) x n
WN
2 X(7)

11

## Flow graph for the N/4 point DFTs 0f G(k)

12

g(0)

g1(0)

g(1)

g1(1)

g(2)
g(3)

-1
-1

WN / 2 WN
0

WN1/ 2 WN2

N
g1 (n) g (n) g n G(0) X ;(0even
4 )

N/4-p0int
N

DFT
g 2 (n) g (n) g n G(2) X;(Odd
4)
4

and

N
2)
h(n) h n G(1) X; (even
g (0) h1 ( n)N/4-p0int
4

DFT
GN
(3) X (6)
g (1)

4

## Flow graph for the N/4 point DFTs 0f H(k)

13

h(0)

h1(0)

h(1)

h1(1)

h(2)
h(3)

-1
-1

WN0/ 2 WN0
WN1/ 2 WN2

N
g1 (n) g (n) g n ; even
4

N/4-p0int
DFT
2) X (5)
H (N
g 2 (n) g (n) g n ; Odd
4

and
N
n ; even
4

H (3) X (7)
h (1)
N

4

h2(0)

N/4-p0int
h1 (n) DFT
h ( n ) h

H (0) X (1)

H (1) X (3)

X(0)

X(1)

X(0)
-1

-1

X(2)

X(3)

-1

-1

-1
-1
-1

WN0

WN0
WN2

X(4)

X(2)
-1

WN0

WN0

X(6)

X(1)

WN1

0
W
N
-1

WN2

-1

WN3

-1
14

WN0
WN2

X(5)
X(3)

-1

WN0

X(7)