Как преобразовать волновые данные в комплексные числа - PullRequest
6 голосов
/ 05 июля 2011

Я читаю необработанные данные с микрофона и загружаю их в FFT. Две библиотеки FFT, которые я пытаюсь использовать ( AForge и Exocortex.DSP ), принимают комплексные числа в качестве входных данных и выдают комплексные числа в качестве выходных.

Я пытаюсь понять, что такое комплексные числа.

Более конкретно - как преобразовать необработанные аудиоданные, полученные с микрофона, в комплексные числа для обработки в FFT?
И как мне отобразить вывод на хорошую спектрограмму (то есть считывание частот и амплитуд с выхода)?

Дополнительный бонус: Какие FFT-библиотеки существуют для .Net, кроме двух упомянутых?

Ответы [ 2 ]

5 голосов
/ 05 июля 2011

При выполнении БПФ на реальных данных вам просто нужно установить мнимую часть ввода на ноль. (Обратите внимание, что вывод БПФ все равно будет сложным.)

Построение спектрограммы более сложно - об этом есть предыдущие посты в SO, но по сути вам нужно вычислить спектр мощности для последовательных перекрывающихся временных окон (типичное перекрытие = 50%), а затем построить график (дБ) величина этих спектров мощности, используя интенсивность цвета или оттенков серого для величины (обычно со временем на оси X и частотой на оси Y). Для вычисления спектра мощности:

  • применить оконную функцию для ввода данных (например, окно Ханнинга)
  • FFT
  • принять квадрат величины первых N/2 значений выхода БПФ (re*re + im*im)
  • преобразование величины в значение дБ (10 * log10 (magnitude squared))
1 голос
/ 05 июля 2011

Для построения «красивой» спектрограммы:

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

Если вы не используете оконную функциюперед FFT оконная функция по умолчанию является прямоугольным окном длины FFT, которое имеет преобразование, которое может показаться довольно уродливым, если вы этого не ожидаете (некоторые называют его спектральной «утечкой»).Возможно, вы захотите попробовать использовать какую-нибудь другую оконную функцию (Von Hann, et.al.), где свертка, создаваемая оконным БПФ, может привести к «более приятной» спектрограмме.

...