Результат FFTW на конкретной частоте аудиосигнала удваивается, остальные идут нормально - PullRequest
0 голосов
/ 02 мая 2011

Я новичок в DSP и FFT и нашел этот сайт чрезвычайно полезным в моих поисках дополнительной информации и понимания предмета. Я столкнулся с интересной проблемой, на которую, я надеюсь, кто-то сможет пролить свет:

Сначала немного контекста: я запускаю 2048 выборочных кадров 16-битного аудио с частотой дискретизации 44100 через FFTW (потрясающая библиотека!) С этим планом:

p = fftw_plan_dft_1d (nFrames, data_in, data_out, FFTW_FORWARD, FFTW_ESTIMATE);

Если это имеет значение, я запускаю его на MacOSX 10.6.7 ...

Мое намерение состоит в том, чтобы получить базовую частоту звука, которая является всего лишь одной нотой для фортепиано.

Все это работает хорошо, и результаты находятся там, где и следовало ожидать, за исключением того, что E выше среднего C (329,63 Гц) имеет примерно вдвое большую частоту. Другие ноты для фортепиано (Middle-C, A ниже Middle-C, G, F) появляются на или около их соответствующих частот, что является своеобразным.

Если я запускаю тот же тест на аудио, который получен из струн вместо пианино, этой проблемы не существует. Я понимаю, почему строки дали бы лучшие результаты, но мне интересно, почему этот один результат будет отличаться.

Может быть, кто-то может указать мне правильное направление?

Спасибо!

...