fftw_test


fftw_test, a FORTRAN77 code which uses fftw(), a Fast Fourier Transform (FFT) code, by Matteo Frigo and Steven Johnson.

FFTW is a library of C routines which can compute the Fast Fourier transform very efficiently.

FFTW can compute the discrete Fourier transform of:

FFTW can also compute the discrete Hartley transform of real data.

The length of the data is not required to be a power of 2. Any length of data can be processed.

The data is not restricted to 1 dimensional vectors. FFTW can handle data that is 2 or 3 dimensional. In fact, the program can handle data with any dimensionality.

The FORTRAN77 include file is in /usr/local/include. A sample copy is also available in this directory.

Interested users should go to the FFTW home page: http://www.fftw.org/ which contains the current source code, examples, and documentation.

Usage:

Any program, subroutine or function that calls the FFTW functions must include, in its declarations, the statement


        include "fftw3.f"
      
which will add the appropriate declarations for the FFTW functions.

At link time, you must include the compiled FFTW library, which is probably a file with the name libfftw.a. If directory is the directory where this library is stored, then an appropriate command might be


        gfortran myprog.f -Ldirectory -lfftw
      

Licensing:

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

Non-free licenses may also be purchased from MIT, for users who do not want their programs protected by the GPL.

Languages:

fftw_test examples are available in a C version and a FORTRAN77 version and a FORTRAN90 version.

Related Programs:

FFTPACK5, a FORTRAN77 library which contains FFT routines.

GSL, a C++ library which includes a number of FFT routines.

NMS, a FORTRAN90 library which includes a number of FFT routines.

SFTPACK, a FORTRAN77 library which implements the "slow" Fourier transform, intended as a teaching tool and comparison with the fast Fourier transform.

WALSH, a FORTRAN77 library which implements versions of the Walsh and Haar transforms.

Author:

Matteo Frigo and Steven Johnson

Reference:

  1. William Briggs, Van Emden Henson,
    The Discrete Fourier Transform,
    SIAM,
    LC: QA403.5 B75
  2. Elbert Brigham,
    The Fast Fourier Transform and Its Applications,
    Prentice-Hall, 1988.
  3. Matteo Frigo, Steven Johnson,
    User Manual for FFTW.

Source code:


Last revised on 06 October 2023.