- #1

Richard_Steele

- 53

- 3

I'm writting a program in the computer and I've to perform a fast Fourier transform to get the frequency domain information. I've read different website, I've watched some videos, etc and I don't fully understand the whole theory about FFT. I've to say that I don't have a solid mathematics and physics background.

As far I know the FFT is an algorithm to represent the information in the frequency domain. The audio signal I've is in the time domain. The purpouse of the FFT is to obtain the main 'ingredients' and their quantities from the original time domain signal. It's like if I've an ice-cream and I've to obtain the ingredients (3 parts of sugar, 5 parts of milk...).

To obtain the frequency information from the time domain signal, I've to apply filters and observe the results. These filters are harmonic frequencies, one at time. So I've to compare, one by one, the basis signals (harmonics) with the time domain signal to see how much correlation there is.

Each harmonic has to be compared in two ways: comparing the real part (cosine) and comparing the imaginary part (sine) of that harmonic with the time domain signal. A high correlation means that when the time domain signal is positive, the harmonic is also positive and when it's negative the harmonic is also negative. The cosine correlation has a result a real number. The sine correlation has a result an imaginary number. The real + imaginary number is a complex number. Well, the absolute value of that complex number in a given point, is the magnitude of the specific spectrum. All this is right?

Time domain signal

Cosine

Sine

One of the parts I don't understand is after performing the correlation. The result is the above graph and I've to obtain a number from that graph. How can I obtain the correlation value using that graphic? For example, if I've to obtain the sine correlation number, how can I get that number from the graphic?