1
IEEE TRANSACTIONS ON COMPUTERS, FEBRUARY 1969 Correspondence. Comments on "A High-Speed Algorithm for the Com- puter Generation of Fourier Transforms" Abstract-The efficiency (in terms of both execution time and storage requirements) of a recently presented algorithm for comput- ing the fast Fourier transform is compared to that of alternative algorithms. Index Terms-Fast Fourier transform algorithm, Fourier trans- forms, spectral analysis. Andrews' gives an algorithm for evaluating an N=2v-point Fourier transform (-y =1, 2, 3, * - * ). The algorithm completes the transform calculation with N log2 (N) complex additions and 1N[log2 (N) -21 +1 complex multiplications. A separate input and output array and (N-2) temporary storage locations are required, with no provision being made for a table of sines. In terms of either the execution time or the storage required, this algorithm is not as efficient as other algorithms currently available. If one of the terms in a complex multiplication is ± i, then no real additions or multiplications (other than by - 1) are required in performing this multiplication. Similarly, if one of the terms is ± (1± i)/\/2, then two real additions and two real multiplications, rather than the two real additions and four real multiplications neces- sary for the general complex multiplication, are required (assuming that the complex numbers are expressed in the form a+ib). Such terms occur in evaluating the discrete Fourier transform, and savings of this type have been employed by Gentleman and Sande2 in con- structing an algorithm for an N=47 (i.e., base 4 iteration) point Fourier transform which is more efficient than base 2 algorithms. Bergland' has extended this work to base 8 and base 16 algorithms which are more efficient still. By means of a single separate iteration with a lower-base algorithm, a base 4, base 8, or base 16 algorithm can perform most of the computation for the case of N=2y, with -y3$0 modulo 2, 3, or 4, respectively, and so retain an improvement over the base 2 algorithm. Bergland gives a comparison table of the number of arithmetic operations for algorithms of base 2, 4, 8, and 16. For a 4096-point transform, Andrews' algorithm requires 81 924 real multiplications and 139 266 real additions, versus 49 156 real multiplications and 126 978 real additions for the base 8 algorithm. For large transforms, the storage requirements of Andrews' algorithm are a limitation, while the other algorithms discussed above require only a small and constant number of temporary storage loca- tions and replace the input values with the transformed values.2"3 With base 2 algorithms, provision of a table of sines can yield a worthwhile reduction in execution time by eliminating references to sine and cosine subroutines. It is necessary to store only one quadrant of a sinusoid, the additional storage required being one eighth that occupied by the input array. With higher-base algorithms it is possible to compute several required sine-cosine pairs from one such pair obtained via reference to subroutines, using sin 2A = 2 sin A cos A, etc. If the resultant increase in numerical error is tolerable, use of this technique may be nearly as fast as reference to a table of sines, be- cause of the overhead in indexing such a table. Manuscript received August 15, 1968; revised October 21, 1968. 1 H. Andrews, "A high-speed algorithm for the computer generation of Fourier transforms,' IEER Trans. Computers (Short Notes), vol. C-17, pp. 373-375, April 1968. 2 W. M. Gentleman and G. Sande, 'Fast Fourier transforms-for fun and prof- it,' 1966 Fall Joint Computer Conf., AFIPS Proc., vol. 29. Washington, D. C.: Spartan, 1966, pp. 563-578. 3 G. D. Bergland, "A fast Fourier transform algorithm using base 8 iterations.' Math. Computation, vol. 22, pD. 275-279, April 1968. For the higher-base algorithms, fewer bit-reversed (or spectral) numbers are required and the time spent in their computation (or the storage required if they are tabulated) is reduced. The main disadvantage of the higher-base algorithms is the in- creased complexity (when time-saving symmetries are taken into account) and the resultant increase in storage required for the coding. I. D. G. MACLEOD Dept. of Engineering Physics Australian National University Canberra, Australia Comment on "Solution of Nonlinear Equations" The new method of solving nonlinear equations suggested by Kuo' is very interesting and the insight is truly commendable. How- ever, the claim that the new method involves a smaller measure of- work than the Newton-Raphson (N-R) method is somewhat mis- leading. This statement is explained as follows. 1) Using Kuo's example, let fi(x, y) = 2x1 + y' + 25 f2(x,y) =xy + y2-6. Then the Jacobian matrix J is given by ax Oy _ [ 12 af] X 3 + 2yj Now suppose we made initial guesses xl [ X2 i [X3 Then, Kuo's matrices are given explicitly by c [Xl X3] yI y2 YS B L 2X12 + y3 + 252 2x + Y23 + 25 2X32 + y33 + 25j. x13ys + yi'-6 X23y2 + Y22-6 x33y3 + y32-6 In this particular example, the evaluation of J requires 9 multi- plications and one addition while the evaluation of B calls for 24 multiplications and 12 additions. Thus, if the initial condition is chosen so that the N-R method converges in two steps, then a total of 18 multiplications and 2 additions would have been performed and the N-R method would be faster. The classical Newton-Raphson method requires the inversion of I while Kuo's method calls for the inversion of B. Since B is of higher dimension than J, there is inevitably greater number of numerical operations involved in its inversion than in the inversion of J. 2) Close to the solution point, the B matrix has vanishingly small elements in all but the first row. Thus the inversion of B can experience large disturbances due to round-off errors. Manuscript received November 1, 1968. 1 M. C. Y. Kuo, 'Solution of nonlinear equations,' IEEE Trans. Computers (CorresPondence). vol. C-17, pp. 897-898, September 1968. 182

Comments on "A High-Speed Algorithm for the Computer Generation of Fourier Transforms"

  • Upload
    idg

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

IEEE TRANSACTIONS ON COMPUTERS, FEBRUARY 1969

Correspondence.

Comments on "A High-Speed Algorithm for the Com-puter Generation of Fourier Transforms"

Abstract-The efficiency (in terms of both execution time andstorage requirements) of a recently presented algorithm for comput-ing the fast Fourier transform is compared to that of alternativealgorithms.

Index Terms-Fast Fourier transform algorithm, Fourier trans-forms, spectral analysis.

Andrews' gives an algorithm for evaluating an N=2v-pointFourier transform (-y =1, 2, 3, * - * ). The algorithm completes thetransform calculation with N log2 (N) complex additions and1N[log2 (N) -21 +1 complex multiplications. A separate input andoutput array and (N-2) temporary storage locations are required,with no provision being made for a table of sines. In terms of eitherthe execution time or the storage required, this algorithm is not asefficient as other algorithms currently available.

If one of the terms in a complex multiplication is ± i, then no realadditions or multiplications (other than by -1) are required inperforming this multiplication. Similarly, if one of the terms is± (1± i)/\/2, then two real additions and two real multiplications,rather than the two real additions and four real multiplications neces-sary for the general complex multiplication, are required (assumingthat the complex numbers are expressed in the form a+ib). Suchterms occur in evaluating the discrete Fourier transform, and savingsof this type have been employed by Gentleman and Sande2 in con-structing an algorithm for an N=47 (i.e., base 4 iteration) pointFourier transform which is more efficient than base 2 algorithms.Bergland' has extended this work to base 8 and base 16 algorithmswhich are more efficient still. By means of a single separate iterationwith a lower-base algorithm, a base 4, base 8, or base 16 algorithmcan perform most of the computation for the case of N=2y, with-y3$0 modulo 2, 3, or 4, respectively, and so retain an improvementover the base 2 algorithm. Bergland gives a comparison table of thenumber of arithmetic operations for algorithms of base 2, 4, 8, and 16.For a 4096-point transform, Andrews' algorithm requires 81 924real multiplications and 139 266 real additions, versus 49 156 realmultiplications and 126 978 real additions for the base 8 algorithm.

For large transforms, the storage requirements of Andrews'algorithm are a limitation, while the other algorithms discussed aboverequire only a small and constant number of temporary storage loca-tions and replace the input values with the transformed values.2"3

With base 2 algorithms, provision of a table of sines can yield aworthwhile reduction in execution time by eliminating references tosine and cosine subroutines. It is necessary to store only one quadrantof a sinusoid, the additional storage required being one eighth thatoccupied by the input array. With higher-base algorithms it is possibleto compute several required sine-cosine pairs from one such pairobtained via reference to subroutines, using sin 2A = 2 sin A cos A,etc. If the resultant increase in numerical error is tolerable, use of thistechnique may be nearly as fast as reference to a table of sines, be-cause of the overhead in indexing such a table.

Manuscript received August 15, 1968; revised October 21, 1968.1 H. Andrews, "A high-speed algorithm for the computer generation of Fourier

transforms,' IEER Trans. Computers (Short Notes), vol. C-17, pp. 373-375, April1968.

2 W. M. Gentleman and G. Sande, 'Fast Fourier transforms-for fun and prof-it,' 1966 Fall Joint Computer Conf., AFIPS Proc., vol. 29. Washington, D. C.:Spartan, 1966, pp. 563-578.

3 G. D. Bergland, "A fast Fourier transform algorithm using base 8 iterations.'Math. Computation, vol. 22, pD. 275-279, April 1968.

For the higher-base algorithms, fewer bit-reversed (or spectral)numbers are required and the time spent in their computation (or thestorage required if they are tabulated) is reduced.

The main disadvantage of the higher-base algorithms is the in-creased complexity (when time-saving symmetries are taken intoaccount) and the resultant increase in storage required for the coding.

I. D. G. MACLEODDept. of Engineering Physics

Australian National UniversityCanberra, Australia

Comment on "Solution of Nonlinear Equations"The new method of solving nonlinear equations suggested by

Kuo' is very interesting and the insight is truly commendable. How-ever, the claim that the new method involves a smaller measure of-work than the Newton-Raphson (N-R) method is somewhat mis-leading. This statement is explained as follows.

1) Using Kuo's example, let

fi(x, y) = 2x1 + y' + 25

f2(x,y) =xy+y2-6.Then the Jacobian matrix J is given by

ax Oy _

[ 12 af] X 3 + 2yj

Now suppose we made initial guesses

xl [ X2 i [X3

Then, Kuo's matrices are given explicitly by

c [Xl X3]yI y2 YS

B L 2X12 + y3 + 2522x + Y23 + 25 2X32 + y33 + 25j.x13ys+ yi'-6 X23y2 + Y22-6 x33y3 + y32-6

In this particular example, the evaluation of J requires 9 multi-plications and one addition while the evaluation of B calls for 24multiplications and 12 additions. Thus, if the initial condition ischosen so that the N-R method converges in two steps, then a totalof 18 multiplications and 2 additions would have been performed andthe N-R method would be faster.

The classical Newton-Raphson method requires the inversion ofI while Kuo's method calls for the inversion of B. Since B is of higherdimension than J, there is inevitably greater number of numericaloperations involved in its inversion than in the inversion of J.

2) Close to the solution point, the B matrix has vanishinglysmall elements in all but the first row. Thus the inversion of B can

experience large disturbances due to round-off errors.

Manuscript received November 1, 1968.1 M. C. Y. Kuo, 'Solution of nonlinear equations,' IEEE Trans. Computers

(CorresPondence). vol. C-17, pp. 897-898, September 1968.

182