Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TRANSFORM
The Fast Fourier Transform
Title
Introduction
What is the FFT?
- A collection of tricks that exploit the
symmetryof the DFT calculation to
make its execution muchfaster .
- Speedup increases with DFT size.
Computational Cost of Discrete-Time Filtering
Convolution of an N-point input with an M-point unit sample
response .
- Direct convolution:
Number of multiplies MN
- Using transforms directly:
Computation of N-point DFTs requires N^2 multiplies.
Each convolution requires three DFTs of length N+M-1 plus an
additional N+M-1 complex multiplies or
For , for example, the computation is O(N^2)
y[n] = x[k]h[n k]
k=
X[k] = x[n]e
j2tkn / N
n=0
N1
3(N+ M1)
2
+ (N+ M1)
N >> M
Computational Cost of Discrete-Time Filtering
Convolution of an N-point input with an M-point unit sample response
.
- Using overlap-add with sections of length L:
N/L sections, 2 DFTs per section of size L+M-1, plus additional
multiplies for the DFT coefficients, plus one more DFT for
- For very large N, still is proportional to
2N
L
(L + M 1)
2
+
N
L
|
\
|
.
| (L + M 1) +( L + M 1)
2
h[n]
2
M
The Cooley-Tukey decimation-in-time
algorithm
Consider the DFT algorithm for an integer power of 2,
Create separate sums for even and odd values of n:
Letting for n even and for n odd, we obtain
N = 2
v
X[k] =
n=0
N1
x[n]W
N
nk
=
n=0
N1
x[n]e
j2tnk / N
; W
N
= e
j2t / N
X[k] = x[n]W
N
nk
+
n even
x[n]W
N
nk
n odd
X[k] = x[2r]W
N
2rk
+
r=0
N / 2 ( )1
x[2r +1]W
N
2r+1 ( )k
r=0
N / 2 ( )1
1 2 + = r n
n = 2r
The Cooley-Tukey decimation-in-time
algorithm
Splitting indices in time , we have obtained
But and
So
X[k] = x[2r]W
N
2rk
+
r=0
N / 2 ( )1
x[2r +1]W
N
2r+1 ( )k
r=0
N / 2 ( )1
W
N
2
= e
j 2t2 / N
= e
j2t /( N/ 2)
= W
N/ 2
rk
N
k
N
k
N
rk
N
W W W W
2 /
2
=
X[k] =
n=0
(N/ 2)1
x[2r]W
N / 2
rk
+ W
N
k
n=0
( N/ 2)1
x[2r +1]W
N / 2
rk
N/2-point DFT of x[2r] N/2-point DFT of x[2r+1]
Signal flowgraph representation of 8-
point DFT
Recall that the DFT is now of the form
The DFT in (partial) flowgraph notation:
] [ ] [ ] [ k H W k G k X
k
N
+ =
Continuing with the decomposition
So why not break up into additional DFTs? Lets take
the upper 4-point DFT and break it up into two 2-
point DFTs:
The complete decomposition into 2-point
DFTs
Closer look at the 2-point DFT
The expression for the 2-point DFT is:
Evaluating for we obtain
which in signal flow graph notation looks like
This topology is referred as the BASIC BUTTERFLY
X[k] =
n=0
1
x[n]W
2
nk
=
n=0
1
x[n]e
j 2tnk / 2
X[0] = x[0] + x[1]
X[1] = x[0] +e
j 2t1/ 2
x[1] = x[0] x[1]
k = 0,1
The complete 8-point decimation-in-time FFT
Number of multiplys for N-point FFTs
Let
(log
2
(N) columns)(N/2 butterflies/column)(2 mults/butterfly)
or multiplies
N = 2
v
where v = log
2
(N)
Nlog
2
(N)
CONCLUSION
Use of the FFT algorithm reduces the number of
multiplys required to perform the DFT by a factor of
more than 100 for 1024-point DFTs, with the advantage
increasing with increasing DFT size.