18-791 Lecture #17 Introduction To The Fast Fourier Transform Algorithm Richard M. Stern
18-791 Lecture #17 Introduction To The Fast Fourier Transform Algorithm Richard M. Stern
INTRODUCTION TO THE
FAST FOURIER TRANSFORM ALGORITHM
Richard M. Stern
Some dates:
– ~1880 - algorithm first described by Gauss
– 1965 - algorithm rediscovered (not for the first time) by Cooley and
Tukey
Carnegie
Mellon Slide 3 ECE Department
Measures of computational efficiency
Could consider
– Number of additions
– Number of multiplications
– Amount of memory required
– Scalability and regularity
Carnegie
Mellon Slide 4 ECE Department
Computational Cost of Discrete-Time Filtering
Direct convolution:
y[n] x[k]h[n k]
k
– Number of multiplies ≈ MN
Carnegie
Mellon Slide 5 ECE Department
Computational Cost of Discrete-Time Filtering
2
– For N M , for example, the computation is O(N )
Carnegie
Mellon Slide 6 ECE Department
Computational Cost of Discrete-Time Filtering
2
– For very large N, still is proportional to M
Carnegie
Mellon Slide 7 ECE Department
The Cooley-Tukey decimation-in-time algorithm
Carnegie
Mellon Slide 8 ECE Department
The Cooley-Tukey decimation in time algorithm
j 2 2 / N
2
But WN e e j2 /( N / 2) WN / 2 and WN2rk WNk WNk WNrk/ 2
Carnegie
Mellon Slide 9 ECE Department
Savings so far …
N 1
X[k] x[n]WN nk
k 0
( N/ 2)1 ( N/ 2)1
x[2r]WNrk/ 2 WNk x[2r 1]WNrk/ 2
n0 n0
Have we gained anything? Consider the nominal number of multiplications for
– Original form produces multiplications
– New form produces multiplications
8keep going!!
NLet’s
– So we’re already ahead …..
8 2 64
2(4 2 ) 8 40
Carnegie
Mellon Slide 10 ECE Department
Signal flowgraph notation
Carnegie
Mellon Slide 11 ECE Department
Signal flowgraph representation of 8-point DFT
Recall that the DFT is now of the form X[k] G[k] WNk H[k]
The DFT in (partial) flowgraph notation:
Carnegie
Mellon Slide 12 ECE Department
Continuing with the decomposition …
Carnegie
Mellon Slide 13 ECE Department
The complete decomposition into 2-point DFTs
Carnegie
Mellon Slide 14 ECE Department
Now let’s take a closer look at the 2-point DFT
Carnegie
Mellon Slide 15 ECE Department
The complete 8-point decimation-in-time FFT
Carnegie
Mellon Slide 16 ECE Department
Number of multiplys for N-point FFTs
WNr
WNr N / 2
N /2
Since WN 1 we
r
can reducing computation by 2 by
premultiplying by WN
WNr 1
Carnegie
Mellon Slide 19 ECE Department
Bit reversal of the input
Carnegie
Mellon Slide 20 ECE Department
Some comments on bit reversal
Carnegie
Mellon Slide 22 ECE Department