SFTPACK
"Slow" Fourier Transforms


SFTPACK is a C++ library which carries out some "slow" Fourier transforms, that is, Fourier transforms without the techniques that allow for very fast computation.

The intention is to make the underlying calculation clear, and to provide a simple check and comparison of timing and usage for the fast calculations.

The fast Fourier transform is a highly efficient procedure. However, the coding of the algorithm, and the conventions for indexing, ordering, and normalization, can make it quite difficult to understand what is being done, or even to see how to use the software correctly. This means that a coding error or mistaken use can be undetected.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

SFTPACK is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

C4LIB, a C++ library which implements certain elementary functions for single precision complex variables;

C8LIB, a C++ library which implements certain elementary functions for double precision complex variables;

COMPLEX_NUMBERS, a C++ program which demonstrates some simple features involved in the use of complex numbers in C programming.

COSINE_TRANSFORM, a C++ library which demonstrates some simple properties of the discrete cosine transform (DCT).

FFT_OPENMP, a C++ program which demonstrates the computation of a Fast Fourier Transform in parallel, using OpenMP.

HAAR, a C++ library which computes the Haar transform of data.

SINE_TRANSFORM, a C++ library which demonstrates some simple properties of the discrete sine transform.

Reference:

  1. William Briggs, Van Emden Henson,
    The DFT: An Owner's Manual for the Discrete Fourier Transform,
    SIAM, 1995,
    ISBN13: 978-0-898713-42-8,
    LC: QA403.5.B75.
  2. Ralph Hartley,
    A More Symmetrical Fourier Analysis Applied to Transmission Problems,
    Proceedings of the Institute of Radio Engineers,
    Volume 30, 1942, pages 144-150.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.


Last revised on 22 June 2010.