For a long time, I have a hard time to understanding the FFT in a DSP system.
Actually, FFT is one of algorithms to transform signals from time domain to frequency domain.
For example, one input signal is a sine wave and its frequency is Fin. If several noise signal are adding to it such as f1, f2, f3, etc. Then in time domain, you will see the following figure. It is hard to take the useful signal out of it.
If we want to detect the useful thing from the source like above figure, we have to change it to frequency domain.
In time domain, the horizontal axis is the time and vertical axis is the amplitude. Differently, the frequency domain has a frequency horizontal axis and power value in the vertical axis. Every signal with its frequency will be shown in a stick in frequency domain.
FFT is the fast calculation for discrete fourier transform. If the input signal is continuous, we need to use the sampling theorem to make it into discrete. Assume the sampling frequency is Fs. In the frequency spectrum, we only need to show these frequency component less than Fs/2 because it is periodical.
Based on the above figure, we can understand more better about FFT. In the time domain, the original signal is superposition of three different signals with different frequencies.
After sampling and doing the FFT, we can see three stick showing in the spectrum. If the sampling points are bigger enough, the FFT value is very accurate to represent the original signal.
The noise floor on the bottom of the frequency spectrum means that the power of those frequency components are very smaller than these three main signals.