0% found this document useful (0 votes)
143 views

Fast Fourier Transforms: Quote of The Day

PPT ON DFT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
143 views

Fast Fourier Transforms: Quote of The Day

PPT ON DFT
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 13

Fast Fourier Transforms

Quote of the Day


On two occasions I have been asked, Pray, Mr.
Babbage, if you put into the machine wrong figures,
will the right answers come out? I am not able
rightly to apprehend the kind of confusion of ideas
that could provoke such a question.
Charles Babbage
Content and Figures are from Discrete-Time Signal Processing, 2e by Oppenheim, Shafer, and Buck, 1999-2000 Prentice Hall Inc.

Discrete Fourier Transform


The DFT pair was given as
Xk

N 1

x[n]e

j 2 / N kn

n0

1 N 1
x[n] Xk e j 2 / Nkn
N k 0

Baseline for computational complexity:


Each DFT coefficient requires
N complex multiplications
N-1 complex additions

All N DFT coefficients require


N2 complex multiplications
N(N-1) complex additions

Complexity in terms of real operations


4N2 real multiplications
2N(N-1) real additions

Most fast methods are based on symmetry properties


j 2 / N k N n
e j 2 / NkNe j 2 / Nk n e j 2 / Nkn
Conjugate symmetry e
j 2 / N kn
e j 2 / Nk n N e j 2 / N k Nn
Periodicity in n and k e

Copyright (C

351M Digital Signal Processing

The Goertzel Algorithm


Makes use of the periodicity

e j 2 / NNk e j2 k 1
Multiply DFT equation with this factor
Xk e
Define

j 2 / N kN

yk n

N 1

x[r]e

j 2 / N rn

r 0

N 1

x[r]e

j 2 / N r N n

r 0

j 2 / N k n r
x
[
r
]
e
un r

With this definition and using x[n]=0 for n<0 and n>N-1

Xk yk n n N
X[k] can be viewed as the output of a filter to the input x[n]
Impulse response of filter:

e j 2 / Nknun
X[k] is the output of the filter at time n=N

Copyright (C

351M Digital Signal Processing

The Goertzel Filter


Goertzel Filter

Hk z

1e

2
k
N

z 1

Computational complexity
4N real multiplications
2N real additions
Slightly less efficient than the direct method

Multiply both numerator and denominator

Hk z

Copyright (C

1e
2
j k

1
N
1 e z

2
k
N

z 1

2
k
N

1e
z 1

2
2k 1
j k

2
1
N
1

2
cos
z

1e
z
N

351M Digital Signal Processing

Second Order Goertzel Filter


Second order Goertzel Filter

2
k
N

1e
z 1
Hk z
2k 1
1 2 cos
z z 2
N
Complexity for one DFT coefficient
Poles: 2N real multiplications and 4N real additions
Zeros: Need to be implement only once
4 real multiplications and 4 real additions

Complexity for all DFT coefficients


Each pole is used for two DFT coefficients
Approximately N2 real multiplications and 2N2 real additions

Do not need to evaluate all N DFT coefficients


Goertzel Algorithm is more efficient than FFT if
less than M DFT coefficients are needed
M < log2N

Copyright (C

351M Digital Signal Processing

Decimation-In-Time FFT Algorithms


Makes use of both symmetry and periodicity
Consider special case of N an integer power of 2
Separate x[n] into two sequence of length N/2
Even indexed samples in the first sequence
Odd indexed samples in the other sequence

Xk

N 1

x[n]e

j 2 / N kn

n0

N 1

x[n]e

j 2 / N kn

n even

N 1

j 2 / N kn
x
[
n
]
e

n odd

Substitute variables n=2r for n even and n=2r+1 for odd

Xk

N / 2 1

x[2r]W

2rk
N

r 0

N / 2 1

x[2r]W
Gk W Hk

rk
N/2

r 0

N / 2 1

x[2r 1]W

2r 1 k
N

r 0

k
N

N / 2 1

x[2r 1]W

r 0

rk
N/2

k
N

G[k] and H[k] are the N/2-point DFTs of each subsequence

Copyright (C

351M Digital Signal Processing

Decimation In Time
8-point DFT example using
decimation-in-time
Two N/2-point DFTs
2(N/2)2 complex multiplications
2(N/2)2 complex additions

Combining the DFT outputs


N complex multiplications
N complex additions

Total complexity
N2/2+N complex multiplications
N2/2+N complex additions
More efficient than direct DFT

Repeat same process


Divide N/2-point DFTs into
Two N/4-point DFTs
Combine outputs

Copyright (C

351M Digital Signal Processing

Decimation In Time Contd


After two steps of decimation in time

Repeat until were left with two-point DFTs

Copyright (C

351M Digital Signal Processing

Decimation-In-Time FFT Algorithm


Final flow graph for 8-point decimation in time

Complexity:
Nlog2N complex multiplications and additions

Copyright (C

351M Digital Signal Processing

Butterfly Computation
Flow graph constitutes of butterflies

We can implement each butterfly with one multiplication

Final complexity for decimation-in-time FFT


(N/2)log2N complex multiplications and additions

Copyright (C

351M Digital Signal Processing

10

In-Place Computation
Decimation-in-time flow graphs require two sets of registers
Input and output for each stage

Note the arrangement of the input indices


Bit reversed indexing

X 0 0 x0 X 0 000 x000
X 0 1 x 4 X 0 001 x100

X 0 2 x2 X0 010 x010
X 0 3 x6 X0 011 x110
X 0 4 x1 X 0 100 x001
X 0 5 x5 X 0 101 x101

X 0 6 x3 X0 110 x011
X 0 7 x7 X0 111 x111

Copyright (C

351M Digital Signal Processing

11

Decimation-In-Frequency FFT Algorithm


The DFT equation
Xk

N 1

nk
x
[
n
]
W

n0

Split the DFT equation into even and odd frequency indexes
X2r

N 1

x[n]W

n2r
N

n0

N / 2 1

x[n]W

n0

n2r
N

N 1

n2r
x
[
n
]
W

n N / 2

Substitute variables to get


X2r

N / 2 1

x[n]W

n0

n2r
N

N / 2 1

x[n N / 2]W

n N / 2 2r

n0

N / 2 1

x[n] x[n N / 2]W

n0

nr
N/2

Similarly for odd-numbered frequencies


X2r 1

Copyright (C

N / 2 1

x[n] x[n N / 2]W

n0

n 2r 1
N/2

351M Digital Signal Processing

12

Decimation-In-Frequency FFT Algorithm


Final flow graph for 8-point decimation in frequency

Copyright (C

351M Digital Signal Processing

13

You might also like