FFT : Fast Fourier Transform Unit
Input Types :
Output Types :
SampleSet,
ComplexSpectrum,
ComplexSampleSet,
Spectrum,
Spectrum2D
Date : 09th March 2001
If the user chooses automatic operation in the user interface window, and if the input is a Signal or Spectral data type, then the unit automatically performs the correct type of transform. Therefore, two successive applications of the FFT unit, starting with either a SampleSet or a ComplexSpectrum, will produce a final output identical to the original input, to within roundoff error. Here is how the unit makes its choices:
If the input is a Spectral data type, FFT performs the direct FFT. The output data type is a Spectrum or ComplexSpectrum. A normalization is applied to ensure that the FFT output is a sampled representation of the continuous Fourier transform X(f) of the function of time x(t) represented by the input set, according to the following equation
X(f) = integral[ x(t) exp( -2 Pi i f t )] dt.
This transfroms the input signal from a time representation to a frequency one. The output data is a one-sided representation of the spectrum (negative frequencies are not stored) if the input is a SampleSet. The output is normally a ComplexSpectrum, but if the input is a ComplexSampleSet with sufficient symmetry, the output will be a real Spectrum. For display or further work, the ComplexSpectrum can then be transformed into an amplitude spectrum or a power spectrum.
If the input is a Spectrum or a ComplexSpectrum, the unit performs the inverse FFT. The output data type is a SampleSet or a ComplexSampleSet, depending on whether the input set is one-sided or two-sided and what symmetry it has. A normalization factor ensures that the inverse FFT output is a sampled representation of the continuous data set x(t) represented by the following continuous transform of the input set X(f):
x(t) = (1/ 2 Pi ) integral[ X(f) exp( 2 Pi i f t )] df.
This transforms the input spectrum back to the time domain.
If the user chooses direct or inverse operation, then the unit ignores the type of the input data set and performs the requested operation. It applies normalizing factors (1/N) if the appropriate factor is chosen.
For some purposes, a windowing function should be applied to data before it is transformed. The user interface gives a choice of some standard windows. The choices are Bartlett, Blackman, Gaussian, Hamming, Hanning, and Welch. These are described in the help file for WindowFnc.
For convenience, the user has an option to maximize speed of the transform in the 1D case, or to minimize storage. The minimum storage option produces a one-sided output, while the maximum speed option produces a two-sided output.
For efficient operation, it is best that the input length should be a power of 2. The unit allows the user to choose that the input is padded to the nearest larger power of two.
The FFT's parameter window allows the user to choose the type of operation of the transform. There are 5 modes : Automatic, Direct, Direct/normalizated(1/N), inverse or inverse/normalized(1/N). For one-dimensional data sets there are three further options. One is to optimize the speed of the calculation or the storage space of the result. A second option allows the user to specify the windowing function required (if any). The third is a choice of whether the unit should automatically pad out with zero's to the right when applying the FFT.