<< Chapter < Page | Chapter >> Page > |
One wonders if the DFT can be computed faster: Does another computational procedure -- an algorithm -- exist that can compute the same quantity, but more efficiently. Wecould seek methods that reduce the constant of proportionality, but do not change the DFT's complexity .Here, we have something more dramatic in mind: Can the computations be restructuredso that a smaller complexity results?
In 1965, IBM researcher Jim Cooley and Princeton faculty member John Tukey developed what is now known as the Fast FourierTransform (FFT). It is an algorithm for computing that DFT that has order for certain length inputs . Now when the length of data doubles, the spectral computational time will not quadruple aswith the DFT algorithm; instead, it approximately doubles. Later research showed that no algorithm for computing the DFT could have asmaller complexity than the FFT. Surprisingly, historical work has shown that Gauss in the early nineteenth century developed the samealgorithm, but did not publish it! After the FFT's rediscovery, not only was the computation of a signal's spectrum greatlyspeeded, but also the added feature of algorithm meant that computations had flexibility not available to analog implementations.
Before developing the FFT, let's try to appreciate the algorithm's impact. Suppose a short-length transform takes1 ms. We want to calculate a transform of a signal that is 10 times longer. Compare how much longer a straightforwardimplementation of the DFT would take in comparison to an FFT, both of which compute exactly the same quantity.
If a DFT required 1ms to compute, and signal having ten times the duration would require 100ms to compute. Using theFFT, a 1ms computing time would increase by a factor of about , a factor of 3 less than the DFT would have needed.
To derive the FFT, we assume that the signal's duration is a power of two: . Consider what happens to the even-numbered and odd-numberedelements of the sequence in the DFT calculation.
Each term in square brackets has the form of a -length DFT. The first one is a DFT of the even-numbered elements, and the second of the odd-numberedelements. The first DFT is combined with the second multiplied by the complex exponential . The half-length transforms are each evaluated at frequency indices , , . Normally, the number of frequency indices in a DFT calculationrange between zero and the transform length minus one. The computational advantage of the FFT comes from recognizing the periodic nature of the discrete Fouriertransform. The FFT simply reuses the computations made in the half-length transforms and combines them through additions andthe multiplication by , which is not periodic over . [link] illustrates this decomposition. As it stands, we now compute two length- transforms (complexity ), multiply one of them by the complex exponential (complexity ), and add the results (complexity ). At this point, the total complexity is still dominated by the half-length DFT calculations, but theproportionality coefficient has been reduced.
Notification Switch
Would you like to follow the 'Pdf generation test course' conversation and receive update notifications?