4 ms·
I'm afraid the interpretation of the output of FFT really has to go into some theory and the text book version of it. Here're some good description on the time
by ww520 10y ago
I'm afraid the interpretation of the output of FFT really has to go into some theory and the text book version of it. Here're some good description on the time-domain and frequency-domain of the FFT. http://www.dspguide.com/ch8/2.htm http://www.dspguide.com/ch8/2.htm, http://www.dspguide.com/ch8/3.htm http://www.dspguide.com/ch8/3.htm.
As for the output you got, the peaks at 300Hz, 600Hz, 900Hz, etc are the signal strength level at those frequencies of the speech. A voice is made up of many different frequencies at various strength levels. Most frequencies of a voice have nearly 0 energy. Some have more energy, with varying levels of strength. DFT breaks the voice down and figures out the strength levels for all the frequencies. The frequency range in human voice is from about 70Hz to 10KHz. That's why you see some strength at 300Hz, 600Hz, and 900Hz. Instead of just describing a voice as volume over time, DFT decomposes it into an array of frequency strengths, giving you the frequency characteristic of the voice.
The index into the FFT output array identifies the frequency. Let's say you sample the signal at 10000Hz (10000 samples per second). And you pass only 1000 samples into FFT. FFT always spits out an array F with half of the input size, i.e. 500 elements. Each element represents a frequency fraction with respect to the input size. So F[0] is at 1/1000 fraction, F[1] at 2/1000 fraction, etc, upto F[499] at 500/1000 fraction. To convert back to the real frequency, just multiply the fraction to the sampling rate. F[0] with 1/1000 * 10000Hz = at 10Hz. F[1] with 2/1000 * 10000Hz = at 20Hz, F[499] at 500Hz. The values at F[0], F[1], etc are the signal strength at those frequencies.