Невозможно получить правильное значение частоты на iphone - PullRequest
0 голосов
/ 28 февраля 2012

Я пытаюсь проанализировать алгоритмы определения частоты на платформе iOS.Поэтому я нашел несколько реализаций, использующих FFT и CoreAudio ( пример 1 и пример 2 ).Но в обоих случаях существует некоторая неточность в частоте:

  • (1) Для A4 (440 Гц) показано 441,430664 Гц.
  • (1) Для C6 (1046,5 Гц) показывает 1518,09082 Гц.
  • (2) Для A4 (440 Гц) показывает 440,72 Гц.
  • (2) Для C6 (1046,5 Гц) показывает 1042,396606 Гц.

Почему это происходит икак избежать этой проблемы и более точно определить частоту?

1 Ответ

4 голосов
/ 28 февраля 2012

Разрешение в частотной области обратно пропорционально количеству элементов FFT. Вам нужно либо:

  • увеличьте размер вашего БПФ, чтобы получить более точное разрешение
  • используйте величину смежных бинов, чтобы настроить оценку частоты
  • использовать альтернативный метод для оценки частоты, а не FFT, например. параметрическая модель
...