The Basic Idea
A Fourier Transform converts a wave in the time domain to the frequency domain.
Note, for a full discussion of the Fourier Series and Fourier Transform that are the foundation of the DFT and FFT, see the Superposition Principle, Fourier Series, Fourier Transform Tutorial.
Every wave has one or more frequencies and amplitudes in it. An example is a sound wave. If someone speaks, whistles, plays an instrument, etc., to generate a sound wave, then any sample of that sound wave has a set of frequencies with amplitudes that describe that wave.
According to the mathematician Joseph Fourier, you can take a set of sine waves of different amplitudes and frequencies and sum them together to equal any wave form. These component sine waves each have a frequency and amplitude. A plot of frequency versus magnitude (amplitude) on an x-y graph of these sine wave components is a frequency spectrum, or frequency domain, plot. See Diagram 1, below.
An inverse Fourier Transform converts the frequency domain components back into the original time wave.
You can reassemble the time wave from the frequency components using the Inverse Fourier Transform. The inverse Fourier won't be discussed here, but after learning the Fourier the Inverse is very easy to learn, because the math is almost identical. Using the Fourier and Inverse Fourier together, not only can you reassemble the original wave, you can also change the time wave by altering its frequency components. You can add them, remove them, or tweak their values. This is a powerful method by which to change the character of the time wave.
A DFT is a "Discrete Fourier Transform". An FFT is a "Fast Fourier Transform". The IDFT below is "Inverse DFT" and IFFT is "Inverse FFT". A DFT is a Fourier that transforms a discrete number of samples of a time wave and converts them into a frequency spectrum. However, calculating a DFT is sometimes too slow, because of the number of multiplies required. An FFT is an algorithm that speeds up the calculation of a DFT. In essence, an FFT is a DFT for speed. The entire purpose of an FFT is to speed up the calculations.
The equation for the Discrete Fourier Transform is:
Where F(n) is the amplitude at the frequency, n, and N is the number of discrete samples taken.