WOLFRAM|DEMONSTRATIONS PROJECT

Numerical Approximation of the Fourier Transform by the Fast Fourier Transform (FFT) Algorithm

​
f(x) =
​
interval length β
0.04
Fourier transform
inverse Fourier transform
real part
Imaginary Part
m
9
2
10
2
11
2
12
2
13
2
14
2
15
2
points
f(t) =
-t

θ(t)
inverse Fourier transform
-1
ℱ
t
[f(t)](x) =
1
2π
∞
∫
-∞
f(t)
itx
e
t
interval length
input β = 0.040
output γ = 0.077
real part of
-1
ℱ
t
[f(t)](x)
The Fourier transforms of some classical functions are calculated and their real and imaginary parts are plotted. The Fourier transform (FT) is numerically calculated by using the step function approximation to the Fourier integral; this finally leads to the discrete Fourier transform (DFT).
The DFT is rapidly evaluated by using the fast Fourier transform (FFT) algorithm. The list of data for the FFT is obtained from a finite number of sample points using an initial function. The number of sample points is chosen to be an integer power of 2, which is convenient for the evaluation of the FFT. To obtain accurate results for the continuous Fourier transform (CFT) the sample spacing must be small enough and the number of sample points must be large. This implies that the list of values at sample points for a given initial function contains many zeros, because the sampling range becomes very wide. After evaluating the FFT, the output list also contains a large number of zeros, but only the central fraction of the output list is of interest. The final result of this procedure is the continuous Fourier transform in the form of points whose spacing depends on the number of the input sample points and its sample spacing. These facts make the straightforward application of the FFT to the numerical approximation of the Fourier transform fundamentally inflexible.
Usually this procedure is used when the input sample spacing and output spacing are comparable. This Demonstration lets you control this aspect of the algorithm. The accuracy of the continuous Fourier transform is visible when the values of data points number and the sample spacing are changed.
The method is fast and reliable for functions that tend to zero quickly for large absolute values of the argument. This condition on the function is needed to avoid an undesirable aliasing effect. The algorithm is very useful in performing a fast continuous Fourier transform for numerical data.