Я нашел несколько раз следующие рекомендации для получения спектра мощности аудиосигнала:
- собирают N выборок, где N - степень 2
- примените подходящую функцию окна к образцам, например. Хеннинга
- передайте оконные образцы в подпрограмму FFT - в идеале вы хотите получить реальный комплексный FFT, но если все, что у вас есть, комплексно-сложное БПФ, то передайте 0 для всех мнимых входных частей
- вычислить квадрат величины выходов FFT (re * re + im * im)
- (необязательно) вычислить 10 * log10 каждого выходного лотка с квадратичной величиной, чтобы получить значение величины в дБ
- Теперь, когда у вас есть спектр мощности, вам просто нужно определить пик (ы), который должен быть довольно простым, если у вас есть разумное соотношение S/N. Обратите внимание, что частотное разрешение улучшается с увеличением N. Для приведенного выше примера частоты дискретизации 44,1 кГц и N = 32768 разрешение по частоте каждого бина составляет 44100/32768 = 1,35 Гц.
Но... зачем мне нужно применять оконную функцию к образцам? Что это значит?
Как насчет спектра мощности, является ли мощность каждой частоты в диапазоне частоты дискретизации? (например: Windows Media Player визуализатор звука?)