Fourier Transform Algorithms for Spectral Analysis Derived with MACSYMA

  • Robert H. Berman


The general problem of computing the power spectrum from N samples of a signal x(t) by Fourier Transform (FT) methods is considered. It is commonly, and erroneously, believed that fast (FFT) methods apply efficiently only when N is a power of 2. Instead, I describe several techniques, using MACSYMA, applicable for computing transforms, correlation functions and power spectra that are faster than radix-2 FFTs. I also mention the possibility of a quasi-analytic B-spline method for computing transforms. For these problems, I will illustrate certain systematic techniques to generate optimized FORTRAN code from MACSYMA.

One technique uses (1, exp(2πi/3)) as a basis for complex numbers instead of the more familiar (1, exp(πi/2)) to derive radix-3 and radix-6 FFTs without multiplications. A second technique rederives the Good algorithm for computing the discrete Fourier transform when N can be factored into relatively prime factors. Finally, I describe the automatic generation of complete FORTRAN programs within MACSYMA that implement the Good algorithm.

Taken together, these automatic program generating examples illustrate several ideas important for further development of general automatic facilities for organizing, documenting, and producing run-time efficient large scale FORTRAN codes.


Correlation Function Power Spectrum Discrete Fourier Transform Good Algorithm Automatic Documentation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    G. Cook, Ph. D. thesis, UCRL-53324, U. California (1982).Google Scholar
  2. [2]
    M.C. Wirth, Ph. D. thesis, UCRL-52996, U. California (1980).Google Scholar
  3. [3]
    R.W. Hockney, 1978, in Fast Poisson Solvers and Applications, ed. U. Schumann, (Advance Publications: London), 78 – 97.Google Scholar
  4. [4]
    R. H. Berman, 1984, “Measuring the Performance of a Computational Physics Environment” in Proceedings of the 1984 MACSYMA Users’ Conference, (GE: Schenectaday).Google Scholar
  5. [5]
    R.H. Berman, “Vectorizing a Particle Push for the Cray-1” Buffer, 3, 12 (1979).Google Scholar
  6. [6]
    D.J. Kuck and M. Wolfe, “A Debate: Retire FORTRAN ? No.” Physics Today, 37, 67 (1984).CrossRefGoogle Scholar
  7. [7]
    J. R. McGraw, “A Debate: Retire FORTRAN ? Yes.” Physics Today, 37, 66 (1984).CrossRefGoogle Scholar
  8. [8]
    K.G. Wilson, “Science, Indiustry and the New Japanese Challenge” Proc. IEEE, 72, 6 (1984).CrossRefGoogle Scholar
  9. [9]
    R.W. Hockney and J.W. Eastwood, 1981, Computer Simulation Using Particles, (McGraw Hill: New York).Google Scholar
  10. [10]
    R.H. Berman, D.J. Tetreault, and T.H. Dupree, “Observation of Turbulent Self-binding Fluctuations in Simulation Plasma and their Relation to Kinetic Theory of Plasma” Phys. Fluids, 26, 2437 (1983).MathSciNetMATHCrossRefGoogle Scholar
  11. [11]
    R.H. Berman, D.J. Tetreault, and T.H. Dupree, “Simulation of Growing Phase Space Holes and the Development of Intermittent Plasma Turbulence” to appear in Phys. Fluids, 1984.Google Scholar
  12. [12]
    H.J. Nussbaumer, 1982, Fast Fourier Transform and Convolution Algorithms (New York: Springer-Verlag).CrossRefGoogle Scholar
  13. [13]
    E.O. Bingham, 1974, The Fast Fourier Transform, (Prentice-Hall: New York).Google Scholar
  14. [14]
    J.W. Cooley, P.A.W. Lewis, and P.D. Welch, “Historical Notes on the Fast Fourier Transform Algorithm” IEEE Trans. Audio Electroacoust., AU-15, 76 (1967).CrossRefGoogle Scholar
  15. [15]
    J.W. Cooley, P.A.W. Lewis, and P.D. Welch, “The Fast Fourier Transform Algorithm: Programming Considerations in the Calculation of Sine, Cosine and Laplace Transforms” J. Sound Vib. 12, 315 (1970).MATHCrossRefGoogle Scholar
  16. [16]
    J.W. Cooley and J.W. Tukey, “An Algorithm, for the Machine Calculation of Complex Fourier Series” Math. Comp, 19, 297 (1965).MathSciNetMATHCrossRefGoogle Scholar
  17. [17]
    I.J. Good, “The Interaction Algorithm and Practical Fourier Series” J. Roy. Statis. Soc, 20, 361 (1958).MathSciNetMATHGoogle Scholar
  18. [18]
    D.E. Dudgeon and R.M. Mersereau, 1984, Multidimensional Signal Processing, (Prentice-Hall: New Jersey).MATHGoogle Scholar
  19. [19]
    CM. Rader, “Discrete Fourier Transforms When the Number of Data Samples is Prime” Proc. IEEE, 56, 1107 (1968).CrossRefGoogle Scholar
  20. [20]
    T. G. Stockham, “High Speed Convolution and Correlation” AFIPS Conf. Proc., 28, 229 (1966).Google Scholar
  21. [21]
    CM. Rader, “An Improved Algorithm for High Speed Autocorrelation with Application to Spectral Estimation” IEEE Trans. Audio Electroacoust., 18, 439 (1970).CrossRefGoogle Scholar
  22. [22]
    R.H. Berman, 1984 in preparation.Google Scholar
  23. [23]
    H.S. Hou and H.C Andrews, “Cubic Splines for Image Interpolation and Digital Filtering” IEEE Trans. Acous., Speech, Signal Processing, 26, 508 (1978).MATHCrossRefGoogle Scholar
  24. [24]
    S. Haykin and S. Kesler, 1983, in Nonlinear Methods of Spectral Analysis, ed. S. Haykin (New York: Springer-Verlag).Google Scholar
  25. [25]
    A.V. Oppenheim and R.W. Schafer, 1975, Digital Signal Processing (Prentice-Hall: New Jersey).MATHGoogle Scholar
  26. [26]
    R.W. Johnson and J.E. Shore “Which is the Better Entropy Expression for Speech processing: -S log S or log S?” IEEE Trans. Acoustics, Speech and Signal Proc, 32 (1983).Google Scholar
  27. [27]
    A. Papoulis “Maximum Entropy and Spectral Estimation: A Review” IEEE Trans. Acoustics, Speech and Signal Proc. 29, 1176 (1981).MathSciNetMATHCrossRefGoogle Scholar
  28. [28]
    N-L. Wu “An Explicit Solution and Data Extension method in the Maximum Entropy Method” IEEE Trans. Acoustics, Speech and Signal Proc. 486 (1983).Google Scholar
  29. [29]
    C. de Boor “FFT as Nested Multiplication, with a Twist” SIAM J. Sci. Stat. Comput. 1, 173 (1980).MATHCrossRefGoogle Scholar
  30. [30]
    D. E. Knuth, 1969, The Art of Computer Programming. Vol. II. Seminumerical Algorithms, (Addison-Wesley: Reading).Google Scholar

Copyright information

© Kluwer Academic Publishers 1985

Authors and Affiliations

  • Robert H. Berman
    • 1
  1. 1.Massachusetts Institute of TechnologyCambridgeUSA

Personalised recommendations