D706: Complex Fast Fourier Transform

Author(s): K.S. Kölbig, H.-H. Umstätter Library: MATHLIB
Submitter: Submitted: 22.04.1996
Language: Fortran Revised:

Subroutine CFSTFT calculates the finite Fourier transform of a complex periodic sequence tex2html_wrap_inline82 , whose period n must be a power of two. Either the direct transform

equation42

or the unscaled inverse transform

equation48

where tex2html_wrap_inline86 and tex2html_wrap_inline88 are complex numbers, may be calculated.

If the tex2html_wrap_inline90 in (2) have the values defined by (1), then tex2html_wrap_inline92 . To ensure optimum use of storage, the same array is used for input and output, and all intermediate calculations are carried out in this array.

Structure:

SUBROUTINE subprogram
User Entry Names: CFSTFT

Usage:

    CALL CFSTFT(M,A)
M
(INTEGER) On entry, n is determined by the absolute value of M via tex2html_wrap_inline96 .
tex2html_wrap_inline98 The direct transform (1) is calculated.
tex2html_wrap_inline100 The inverse transform (2) is calculated.
Unchanged on exit.
A
(COMPLEX) One dimensional array of dimension (0:d), where tex2html_wrap_inline102 .
tex2html_wrap_inline104
On entry, tex2html_wrap_inline106 .
On exit, tex2html_wrap_inline108 , as defined by (1).
tex2html_wrap_inline110
On entry, tex2html_wrap_inline112 .
On exit, tex2html_wrap_inline114 , as defined by (2).

Method:

The method is based on an algorithm of Cooley, Lewis and Welch (see References), with the following modifications which increase speed for small values of M: multiplications by tex2html_wrap_inline116 are replaced by addition or subtraction, and terms of the form tex2html_wrap_inline118 are calculated recursively using only square roots and divisions.

References:

  1. G. Dahlquist and Å. Björck, Numerical methods (Prentice-Hall, Englewood Cliffs, 1974) 416.
  2. L.R. Rabiner and B. Gold, Theory and application of digital signal processing (Prentice-Hall, Englewood Cliffs, 1975) 332.
tex2html_wrap_inline120

Michel Goossens Wed Jun 5 01:41:57 METDST 1996