Digital Signal Processing Reference
In-Depth Information
Please note this also requires taking a longer input sample
stream x i, equal to N. This, in turn, will require a much greater
number of operations to compute.
12.2 Fast Fourier Transform
At some point, some smart people searched for a way to
compute the DFT in a more efficient way. The result is the FFT, or
Fast Fourier Transform. Rather than requiring N 2 complex
multiplies and additions, the FFT requires N log 2 N complex
multiplies and additions. This may not sound like a big deal, but
look at the comparison in Table 12.3 below.
So by using the FFT algorithm on a 1024 point (or sample)
input, we are able to reduce the computational requirements to
less than 1%, or by two orders of magnitude.
The FFT achieves this by reusing previously calculated interim
products. We can see this through a simple example.
Let's start with the calculation of the simplest DFT: N ¼ 2 DFT.
Generic DFT equation for N ¼ 2
X k ¼ P i ¼ 0 x i e j2 p ki = 2
:
X 0 ¼ x 0 e j2 p 0 = 2
þ x 1 e j2 p 0 = 2
X 1 ¼ x 0 e j2 p 0 = 2
þ x 1 e j2 p 1 = 2
As e 0
¼ 1, we can simplify to find:
X 0 ¼ x 0 þ x 1
X 1 ¼ x 0 þ x 1 e j p ¼ x 0 x 1
Next, we will do the four point (N ¼ 4) DFT.
Generic DFT equation for N ¼ 4
X k ¼ P i ¼ 0 x i e j2 p ki = 4
:
Table 12.3
Fft
Log 2 n
Complex Multiplies &
Additions
L
N
3
N 2 Complex
Multiplies & Additions
Dft
L
Computational Effort
Of Fft Compared To Dft
N
8
64
24
37.50%
32
1024
160
15.62%
256
65,536
2048
3.12%
1024
1,048,576
10,240
0.98%
4096
16,777,216
49,152
0.29%
Search WWH ::




Custom Search