Complex FFT.
For a list of all members of this type, see ComplexFFT Members.
System.Object
Imsl.Math.ComplexFFT
Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.
Class ComplexFFT
computes the discrete complex Fourier transform of a complex vector of size N. The method used is a variant of the Cooley-Tukey algorithm, which is most efficient when N is a product of small prime factors. If N satisfies this condition, then the computational effort is proportional to N log N. This considerable savings has historically led people to refer to this algorithm as the "fast Fourier transform" or FFT.
Specifically, given an N-vector , method Forward
returns
Furthermore, a vector of Euclidean norm S is mapped into a vector of norm
Finally, note that we can invert the Fourier transform as follows:
This formula reveals the fact that, after properly normalizing the Fourier coefficients, one has the coefficients for a trigonometric interpolating polynomial to the data. An unnormalized inverse is implemented in Backward
. ComplexFFT
is based on the complex FFT in FFTPACK. The package, FFTPACK was developed by Paul Swarztrauber at the National Center for Atmospheric Research.
Specifically, given an N-vector c, Backward
returns
Furthermore, a vector of Euclidean norm S is mapped into a vector of norm
Finally, note that we can invert the inverse Fourier transform as follows:
This formula reveals the fact that, after properly normalizing the Fourier coefficients, one has the coefficients for a trigonometric interpolating polynomial to the data. Backward
is based on the complex inverse FFT in FFTPACK. The package, FFTPACK was developed by Paul Swarztrauber at the National Center for Atmospheric Research.
Namespace: Imsl.Math
Assembly: ImslCS (in ImslCS.dll)
ComplexFFT Members | Imsl.Math Namespace | Example