fft                  package:stats                  R Documentation

Fast Discrete Fourier Transform

Description:

     Performs the Fast Fourier Transform of an array.

Usage:

     fft(z, inverse = FALSE)
     mvfft(z, inverse = FALSE)

Arguments:

       z: a real or complex array containing the values to be
          transformed.

 inverse: if 'TRUE', the unnormalized inverse transform is computed
          (the inverse has a '+' in the exponent of e, but here, we do
          _not_ divide by '1/length(x)').

Value:

     When 'z' is a vector, the value computed and returned by 'fft' is
     the unnormalized univariate Fourier transform of the sequence of
     values in 'z'. When 'z' contains an array, 'fft' computes and
     returns the multivariate (spatial) transform.  If 'inverse' is
     'TRUE', the (unnormalized) inverse Fourier transform is returned,
     i.e., if 'y <- fft(z)', then 'z' is 'fft(y, inverse = TRUE) /
     length(y)'.

     By contrast, 'mvfft' takes a real or complex matrix as argument,
     and returns a similar shaped matrix, but with each column replaced
     by its discrete Fourier transform.  This is useful for analyzing
     vector-valued series.

     The FFT is fastest when the length of the series being transformed
     is highly composite (i.e., has many factors).  If this is not the
     case, the transform may take a long time to compute and will use a
     large amount of memory.

References:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

     Singleton, R. C. (1979) Mixed Radix Fast Fourier Transforms, in
     _Programs for Digital Signal Processing_, IEEE Digital Signal
     Processing Committee eds. IEEE Press.

See Also:

     'convolve', 'nextn'.

Examples:

     x <- 1:4
     fft(x)
     fft(fft(x), inverse = TRUE)/length(x)

