FFT - Maple Help

FFT

compute fast Fourier transform

iFFT

compute inverse fast Fourier transform

 Calling Sequence FFT(m, x, y) evalhf(FFT(m, var(x), var(y))) iFFT(m, x, y) evalhf(iFFT(m, var(x), var(y)))

Parameters

 m - non-negative integer x, y - arrays of floats indexed from 1 to 2^m

Description

 • Important: The FFT and iFFT functions have been deprecated.  For FFT, use the superseding functions DiscreteTransforms[FourierTransform] and SignalProcessing[FFT] instead.  For iFFT, use the superseding functions DiscreteTransforms[InverseFourierTransform] and SignalProcessing[InverseFFT] instead. These new functions can compute the fast Fourier transform for sequences of arbitrary length (not restricted to a power of 2).
 • The FFT(m,x,y) and iFFT(m,x,y) commands compute in place the fast Fourier transform and the inverse fast Fourier transform of a complex sequence of length ${2}^{m}$.
 • The first argument m should be a non-negative integer and the second and third arguments x and y should be arrays of floats indexed from 1 to ${2}^{m}$ .  The array x contains the real part of the complex sequence on input and contains the real part of the fast Fourier transform on output.  The array y contains the imaginary part of the complex sequence on input and contains the imaginary part of the fast Fourier transform on output. Both procedures return 2^m, the number of points in the complex sequence.
 • These procedures may be invoked with evalhf, which uses the hardware floating-point number system.

Examples

Important: The FFT and iFFT functions have been deprecated.  For FFT, use the superseding functions DiscreteTransforms[FourierTransform] and SignalProcessing[FFT] instead.  For iFFT, use the superseding functions DiscreteTransforms[InverseFourierTransform] and SignalProcessing[InverseFFT] instead.

 > $x≔\mathrm{array}\left(\left[7.,5.,6.,9.\right]\right):$
 > $y≔\mathrm{array}\left(\left[0,0,0,0\right]\right):$
 > $\mathrm{FFT}\left(2,x,y\right)$
 ${4}$ (1)
 > $\mathrm{print}\left(x\right)$
 $\left[\begin{array}{cccc}{27.}& {1.}& {-1.}& {1.}\end{array}\right]$ (2)
 > $\mathrm{print}\left(y\right)$
 $\left[\begin{array}{cccc}{0}& {4.}& {0.}& {-4.}\end{array}\right]$ (3)
 > $\mathrm{iFFT}\left(2,x,y\right)$
 ${4}$ (4)
 > $\mathrm{print}\left(x\right)$
 $\left[\begin{array}{cccc}{7.000000000}& {5.000000000}& {6.000000000}& {9.000000000}\end{array}\right]$ (5)
 > $\mathrm{print}\left(y\right)$
 $\left[\begin{array}{cccc}{0.}& {0.}& {0.}& {0.}\end{array}\right]$ (6)

References

 Oppenheim, Allan, V., and Schafer, Ronald W. Digital Signal Processing. New Jersey: Prentice-Hall, 1975.  See Fig. 6.5, p. 332.