Fast Fourier Transform
The Fast Fourier Transform is one of the most used algorithms that are used to compute the Discrete Fourier Transform. The Fourier Transform is used in many applications given its ability to transform a time-series into its equivalent frequency representation.
The Fourier Transform X(k) of the time-series x(k)
is the following expression:
The Fourier Transform has several interesting properties:
- The first value of the transformed series X(0) is the average of the time-series (DC component).
- The highest frequency sample is called the Nyquist frequency. This is the maximum frequency that can be represented using a Fourier Transform. This frequency is also the maximum that must be present in the time-series in order for the signal to be reconstructed exactly from the transform.
Before applying the Fourier Transform to your data yu should cosider detrending it. Leaving a trend in place puts a lot of energy at the lowest frequencies and adds a DC component. This normally impaires the frequency estimate (see below). The Fourier Transform has several other interesting mathematical properties:
- Linearity: transforms into:
- Scaling: transforms into:
- Shifting: transforms into:
- Duality: transforms into:
- Convolution: transforms into:
Example Fourier Transforms
Simple Sinusoidal
Simple Sinusoidal
Sinusoidal and Trend
Sinusoidal, Trend and Noise
References:
Cooley, James W., and John W. Tukey, 1965, “An algorithm for the machine calculation of complex Fourier series” H. V. Sorensen, D. L. Jones, M. T. Heideman, and C. S. Burrus, 1987, “Real-valued fast Fourier transform algorithms”