02.10.2019 Views

UploadFile_6417

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

The Fast Fourier Transform 187<br />

5.6 THE FAST FOURIER TRANSFORM<br />

The DFT (5.24) introduced earlier is the only transform that is discrete in<br />

both the time and the frequency domains, and is defined for finite-duration<br />

sequences. Although it is a computable transform, the straightforward<br />

implementation of (5.24) is very inefficient, especially when the sequence<br />

length N is large. In 1965 Cooley and Tukey [1] showed a procedure to<br />

substantially reduce the amount of computations involved in the DFT.<br />

This led to the explosion of applications of the DFT, including in the<br />

digital signal processing area. Furthermore, it also led to the development<br />

of other efficient algorithms. All these efficient algorithms are collectively<br />

known as fast Fourier transform (FFT) algorithms.<br />

Consider an N-point sequence x(n). Its N-point DFT is given by<br />

(5.24) and reproduced here<br />

X(k) =<br />

N−1<br />

∑<br />

n=0<br />

x(n)W nk<br />

N , 0 ≤ k ≤ N − 1 (5.46)<br />

where W N = e −j2π/N .Toobtain one sample of X(k), we need N complex<br />

multiplications and (N −1) complex additions. Hence to obtain a complete<br />

set of DFT coefficients, we need N 2 complex multiplications and N(N −1)<br />

≃ N 2 complex additions. Also one has to store N 2 complex coefficients<br />

{<br />

W<br />

nk<br />

N<br />

}<br />

(or generate internally at an extra cost). Clearly, the number of<br />

DFT computations for an N-point sequence depends quadratically on N,<br />

which will be denoted by the notation<br />

C N = o ( N 2)<br />

For large N, o ( N 2) is unacceptable in practice. Generally, the processing<br />

time for one addition is much less than that for one multiplication.<br />

Hence from now on we will concentrate on the number of complex multiplications,<br />

which itself requires 4 real multiplications and 2 real additions.<br />

Goal of an Efficient Computation In an efficiently designed algorithm<br />

the number of computations should be constant per data sample,<br />

and therefore the total number of computations should be linear with<br />

respect to N.<br />

The quadratic dependence on N can be reduced by realizing that most<br />

of the computations (which are done again and again) can be eliminated<br />

using the periodicity property<br />

W kn<br />

N<br />

= W k(n+N)<br />

N<br />

= W (k+N)n<br />

N<br />

Copyright 2010 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).<br />

Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!