Calculates the Fast Fourier transform of a series in Cartesian (Real/Imaginary) form.
FFT(series, len)
series |
- |
Any series or multi-column table. |
len |
- |
Optional. An integer, the FFT length. Defaults to the length of the input series. If |
A complex series or table in Cartesian form.
W1: fft({1, 2, 3})
returns the complex series {6, -1.5 + 0.8660i, -1.5 - 0.8660i}
W1: gsin(1021,0.01,1.0)
W2: gsin(1024,0.01,1.0)
W3: fft(w1)
W4: fft(w2)
Compare the speeds of the two FFTs. The 1024 (a power of 2 ) point FFT should be considerably faster.
W5: fft(w1, 1024)
calculates a 1024 point FFT of W1 by appending 3 (1024 – 1021) zeros before performing the FFT computation.
W6: fft(w1, bestpow2(w1))
calculates a 1024 point FFT of W1 where 1024 is the smallest power of two size based on the length of W1.
FFT and IFFT implement the discrete Fourier transform pair X[k] and x[n] for series x of length N and start index 1 by:
The FFT result is complex and by default the REAL component is displayed. Use MAGNITUDE to display the magnitude and PHASE to display the phase.
The FFT always obeys Parseval's Theorem:
For example:
W1: gsqr(1000, 1/1000, 4)
W2: fft(w1)
W3: {sum(mag(w1)^2)}
W4: {mean(mag(w2)^2)}
W3 == W4 == 500.0
A mixed radix FFT algorithm is employed to process series of any length, however series with lengths equal to a power of 2 will be processed faster than series with lengths that are not equal to a power of 2.
Use LENGTH or SIZE to find out if a series is a power of 2 points long.
If the series length is a power of two and the series is purely real, further speed optimizations based on symmetry are employed.
AMPSPEC computes a complex FFT normalized by the series length.
Use FFTP to create a magnitude/phase output and SPECTRUM to produce a normalized magnitude plot.
See NFFT to compute an N point FFT by zero padding or time aliasing.
See POWSPEC to compute the power spectrum.
See PSD to compute the power spectral density.
See WINFUNC for a list of windowing functions and amplitude correction schemes.
See DADiSP/FFTXL to optimize the FFT computation.
Oppenheim and Schafer.
Digital Signal Processing
Prentice Hall, 1975
Digital Signal Processing Committee
Programs for Digital Signal Processing
I.E.E.E. Press, 1979