Fourier Transform Algorithms for Spectral Analysis Derived with MACSYMA
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.
KeywordsCorrelation Function Power Spectrum Discrete Fourier Transform Good Algorithm Automatic Documentation
Unable to display preview. Download preview PDF.
- G. Cook, Ph. D. thesis, UCRL-53324, U. California (1982).Google Scholar
- M.C. Wirth, Ph. D. thesis, UCRL-52996, U. California (1980).Google Scholar
- R.W. Hockney, 1978, in Fast Poisson Solvers and Applications, ed. U. Schumann, (Advance Publications: London), 78 – 97.Google Scholar
- R. H. Berman, 1984, “Measuring the Performance of a Computational Physics Environment” in Proceedings of the 1984 MACSYMA Users’ Conference, (GE: Schenectaday).Google Scholar
- R.H. Berman, “Vectorizing a Particle Push for the Cray-1” Buffer, 3, 12 (1979).Google Scholar
- R.W. Hockney and J.W. Eastwood, 1981, Computer Simulation Using Particles, (McGraw Hill: New York).Google Scholar
- 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
- E.O. Bingham, 1974, The Fast Fourier Transform, (Prentice-Hall: New York).Google Scholar
- T. G. Stockham, “High Speed Convolution and Correlation” AFIPS Conf. Proc., 28, 229 (1966).Google Scholar
- R.H. Berman, 1984 in preparation.Google Scholar
- S. Haykin and S. Kesler, 1983, in Nonlinear Methods of Spectral Analysis, ed. S. Haykin (New York: Springer-Verlag).Google Scholar
- 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
- 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
- D. E. Knuth, 1969, The Art of Computer Programming. Vol. II. Seminumerical Algorithms, (Addison-Wesley: Reading).Google Scholar