<< Chapter < Page | Chapter >> Page > |
Although there can be significant differences in the efficiencies of the various Cooley-Tukey and Split-Radix FFTs, thenumber of multiplications and additions for all of them is on the order of $NlogN$ . That is fundamental to the class of algorithms.
The development of fast algorithms usually consists of using special properties of the algorithm of interest to remove redundant or unnecessary operations of a direct implementation. The discrete Fourier transform(DFT) defined by
where
has enormous capacity for improvement of its arithmetic efficiency. Most fast algorithms use the periodic and symmetric properties of its basisfunctions. The classical Cooley-Tukey FFT and prime factor FFT [link] exploit the periodic properties of the cosine and sine functions. Their use of the periodicities to share and, therefore, reduce arithmeticoperations depends on the factorability of the length of the data to be transformed. For highly composite lengths, the number of floating-pointoperation is of order $N\phantom{\rule{0.166667em}{0ex}}log\left(N\right)$ and for prime lengths it is of order ${N}^{2}$ .
This section will look at an approach using the symmetric properties to remove redundancies. This possibility has long been recognized [link] , [link] , [link] , [link] but has not been developed in any systematic way in the open literature. We will develop an algorithm,called the quick Fourier transform (QFT) [link] , that will reduce the number of floating point operations necessary to compute the DFT by afactor of two to four over direct methods or Goertzel's method for prime lengths. Indeed, it seems the best general algorithm available for primelength DFTs. One can always do better by using Winograd type algorithms but they must be individually designed for each length. The Chirp Z-transform can be used for longer lengths.
We use the fact that the cosine is an even function and the sine is an odd function. The kernel of the DFT or the basis functions of the expansion isgiven by
which has an even real part and odd imaginary part. If the data $x\left(n\right)$ are decomposed into their real and imaginary parts and those into their even andodd parts, we have
where the even part of the real part of $x\left(n\right)$ is given by
and the odd part of the real part is
with corresponding definitions of ${v}_{e}\left(n\right)$ and ${v}_{o}\left(n\right)$ . Using Convolution Algorithms: Equation 32 with a simpler notation, the DFT of Convolution Algorithms: Equation 29 becomes
The sum over an integral number of periods of an odd function is zero and the sum of an even function over half of the period is one half the sumover the whole period. This causes [link] and [link] to become
for $k=0,1,2,\cdots ,N-1$ .
The evaluation of the DFT using equation [link] requires half as many real multiplication and half as many real additions as evaluating it using [link] or [link] . We have exploited the symmetries of the sine and cosine as functions of the time index $n$ . This is independent of whether the length is composite or not. Another view of this formulation is thatwe have used the property of associatively of multiplication and addition. In other words, rather than multiply two data points by the same value ofa sine or cosine then add the results, one should add the data points first then multiply the sum by the sine or cosine which requires onerather than two multiplications.
Notification Switch
Would you like to follow the 'Fast fourier transforms' conversation and receive update notifications?