4
$\begingroup$

I am currently reading the paper A Highly Robust Audio Fingerprinting System and on page 4 one can read about the technical parameters they use: Sampling rate of 5000 Hz, frames of 2048 samples as input to the FFT and with these settings they analyse frequencies from 300 Hz to 2000 Hz. Here are the respective quotes:

Since the algorithm only takes into account frequencies below 2kHz the received audio is first down sampled to a mono audio stream with a sampling rate of 5kHz.

.

The most computationally demanding operation is the Fourier transform of every audio frame. In the down sampled audio signal a frame has a length of 2048 samples.

.

These bands lie in the range from 300Hz to 2000Hz

What I don't understand: How can one analyse frequencies up to 2000 Hz using 2048 samples as input to the FFT? As far as I know the FFT output is mirrored, therefore with 2048 samples as input I get an output vector of length 2048, however what I can effectively really use are the first 1024 values (2048/2 due to mirroring). So I would have only 1024 values for 2500 different frequencies? (sample rate is 5000 Hz and according to Nyquist maximum possible frequency therefore 2500 Hz)

Thanks for any hint!

$\endgroup$
11
$\begingroup$

The first 1024 output bins of the FFT represent frequencies from 0 Hz to Fs / 2 = 2.5 kHz. So each bin is 2500 / 1024 = 2.44 Hz wide. In other words you have a resolution of 2.44 Hz in the frequency domain.

$\endgroup$
  • 2
    $\begingroup$ +1. The key here is that the frequency "coverage" of a DFT is not related to its length (except for the even/odd corner cases); it is only related to the sample rate of the input data. $\endgroup$ – Jason R Jun 19 '12 at 21:45
  • $\begingroup$ Thank you both :-) Just to make sure I understand this right: The first value returned by FFT is then the first bin, at a resolution of 2.44 Hz it is therefore the sum of the amplitudes for all frequencies between 0 and 2.44 Hz? Also, if I would have 1000 (2000 including the mirrored ones) output bins and 1000 frequencies, then the mapping wouldn't be 1:1, but I would have e.g. frequencies from 1 to 2 in the second bin, not only the amplitude for exactly 2.0 Hz, right? $\endgroup$ – stefan.at.wpf Jun 21 '12 at 11:31
  • 1
    $\begingroup$ More or less - the first bin (bin index 0) is centered on 0 Hz +/- 1.22 Hz, the second bin (bin 1) is centered on 2.44 Hz +/- 1.22 Hz, etc. $\endgroup$ – Paul R Jun 21 '12 at 12:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.