"FFT Demo" is a program designed to demonstrate some of the operations
on waveforms facilitated by use of the Fast Fourier Transform (FFT) and its
inverse transform (IFFT). The program and associated files are contained
The menu bar is equipped with the following items:
Open Complex File
Open Real File
Cos + jSin (Temporal)
Cos + jSin (Spectral)
R0= X + bY
Phase shift R0
Power Spectrum R0
In order to have data to work with, functions are needed. These can be generated from the menu list for functions, or loaded in from previously prepared files. All data is loaded into the R0 array memory. Data can be copied back and forth between R0 and the X and Y arrays. FFT operations are always performed on the data in R0 only. This necessitates some trading back and forth on dyadic operations. Data in R0 can be saved to file and retrieved any time.
The autocorrelation operation is analogous to stepping one waveform past another (or the same waveform) and adding up the shared area at each step. If a part of one waveform overlaps one of opposite sign, that contribution to shared area is negative. If both are the same sign, the area is positive. When a waveform is being compared with itself (autocorrelation), a positive maximum is always obtained when both waveforms are exactly coincident. This maximum is a measure of the total energy of the waveform.
Convolution is similar to correlation, but one waveform is reversed in time. If the reversed waveform is the impulse response of a digital filter, then the result of convolution is to apply the filter to the other waveform, and the result is a filtered version of the original signal.
The FFT and its inverse, the IFFT, are reciprocal operations. Performing one after the other will return the original signal.
The FFT transforms a signal in the time domain to one in the frequency domain. Each bin of the transformed data represents a harmonic of the repetition rate of the entire signal array. Remember that the FFT assumes that the original signal is repeated endlessly. Even though the source data may be real valued, the transformed data is usually complex, having both a real and an "imaginary" component. The power of each frequency component is obtained by multiplying the component value by its complex conjugate. The aggregate result is the power spectrum of the source signal.
The "Cos + jSin (Spectral)" function generates a waveform which can be applied in the frequency domain to time shift a signal.
The functions and operations provided permit the user to synthesize a wide variety of waveforms for study.
For further knowledge, please consult a book and/or web pages on the FFT and its uses in signal processing.
This is written in text format. The user can add notes to this file, or substitute a new text file using the same name "FFT Demo Help.txt".
February 20, 2007