Я использовал следующее:
public static double Index2Freq(int i, double samples, int nFFT) {
return (double) i * (samples / nFFT / 2.);
}
public static int Freq2Index(double freq, double samples, int nFFT) {
return (int) (freq / (samples / nFFT / 2.0));
}
Входы:
i
: Bin для доступа к samples
: Частота дискретизации в герцах (т.е. 8000 Гц, 44100 Гц и т. Д.) nFFT
: размер вектора FFT