<< Chapter < Page Chapter >> Page >
The DFT can be reduced from exponential time with the Fast Fourier Transform algorithm.

We now have a way of computing the spectrum for an arbitrary signal: The Discrete Fourier Transform (DFT) computes the spectrum at N equally spaced frequencies from a length- N sequence. An issue that never arises in analog "computation," like that performed by a circuit, ishow much work it takes to perform the signal processing operation such as filtering. In computation, this considerationtranslates to the number of basic computational steps required to perform the needed processing. The number of steps, known asthe complexity , becomes equivalent to how long the computation takes (how long must we wait for ananswer). Complexity is not so much tied to specific computers or programming languages but to how many steps are required on anycomputer. Thus, a procedure's stated complexity says that the time taken will be proportional to some function of the amount of data used in the computation and theamount demanded.

For example, consider the formula for the discrete Fourier transform. For each frequency we chose, we must multiply eachsignal value by a complex number and add together the results. For a real-valued signal, each real-times-complexmultiplication requires two real multiplications, meaning we have 2 N multiplications to perform. To add the results together, we must keep the real and imaginary partsseparate. Adding N numbers requires N 1 additions. Consequently, each frequency requires 2 N 2 N 1 4 N 2 basic computational steps. As we have N frequencies, the total number of computations is N 4 N 2 .

In complexity calculations, we only worry about what happens as the data lengths increase, and take the dominantterm—here the 4 N 2 term—as reflecting how much work is involved in making the computation. As multiplicative constants don'tmatter since we are making a "proportional to" evaluation, we find the DFT is an O N 2 computational procedure. This notation is read "order N -squared". Thus, if we double the length of the data, we would expect that thecomputation time to approximately quadruple.

In making the complexity evaluation for the DFT, we assumed the data to be real. Three questionsemerge. First of all, the spectra of such signals have conjugate symmetry, meaning that negative frequency components( k

    N 2 1 ... N 1
in the DFT ) can be computed from the corresponding positive frequency components. Does thissymmetry change the DFT's complexity?

Secondly, suppose the data are complex-valued; what is the DFT's complexity now?

Finally, a less important but interesting question is suppose we want K frequency values instead of N ; now whatis the complexity?

When the signal is real-valued, we may only need half the spectral values, but the complexity remainsunchanged. If the data are complex-valued, which demands retaining all frequency values, the complexity is again thesame. When only K frequencies are needed, the complexity is O KN .

Got questions? Get instant answers now!

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Signals and systems. OpenStax CNX. Aug 14, 2014 Download for free at http://legacy.cnx.org/content/col10064/1.15
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Signals and systems' conversation and receive update notifications?

Ask