Зачем мне применять оконную функцию к сэмплам при построении спектра мощности аудиосигнала? - PullRequest
20 голосов
/ 07 сентября 2011

Я обнаружил несколько раз следующие рекомендации для получения спектра мощности аудиосигнала:

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

Но ... почемумне нужно применить оконную функцию к образцам?Что это на самом деле означает?

Как насчет спектра мощности, это мощность каждой частоты в диапазоне частоты дискретизации?(пример: Windows Media Player визуализатор звука?)

Ответы [ 4 ]

33 голосов
/ 01 марта 2013

Большинство реальных аудиосигналов непериодические, это означает, что реальные аудиосигналы обычно не повторяются точно в течение любого заданного промежутка времени.

Однако математика преобразования Фурье предполагает, что преобразуемый Фурье сигнал является периодическим в течение рассматриваемого промежутка времени.

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

Эти ошибки называются "спектральной утечкой" и обычно проявляются как неправильное распределение энергии по спектру мощности сигнала.

График ниже показывает крупный спектр мощности акустической гитары, играющей ноту А4. Спектр был рассчитан с помощью БПФ (быстрого преобразования Фурье), но сигнал не был оконным до БПФ.

Обратите внимание на распределение энергии над линией -60 дБ и три отчетливых пика примерно при 440 Гц, 880 Гц и 1320 Гц. Это конкретное распределение энергии содержит ошибки "спектральной утечки".

Power spectrum of guitar playing an A4 note, no window was applied

Чтобы несколько смягчить ошибки «спектральной утечки», вы можете предварительно умножить сигнал на оконную функцию, разработанную специально для этой цели, например, оконную функцию Ханна.

На графике ниже показана оконная функция Ханна во временной области. Обратите внимание, как хвосты функции плавно переходят в ноль, а центральная часть функции плавно стремится к значению 1.

Hann window function

Теперь давайте применим окно Hann к аудиоданным гитары, а затем БПФ результирующий сигнал.

График ниже показывает крупный план спектра мощности того же сигнала (акустическая гитара, играющая ноту А4), но на этот раз сигнал был предварительно умножен оконной функцией Ханна до FFT.

Обратите внимание, как значительно изменилось распределение энергии над линией -60 дБ, и как три различных пика изменили форму и высоту. Это конкретное распределение спектральной энергии содержит меньше ошибок "спектральной утечки".

Power spectrum of guitar playing an A4 note, Hann window was applied

Нота А4 акустической гитары, использованная для этого анализа, была взята на частоте 44,1 кГц с высококачественным микрофоном в студийных условиях, она практически не содержит фонового шума, никаких других инструментов или голосов и никакой постобработки.

Ссылки

Реальные данные аудиосигнала, оконная функция Ханна, графики, БПФ и спектральный анализ были выполнены здесь:

Быстрое преобразование Фурье, спектральный анализ, оконная функция Ханна, аудиоданные

14 голосов
/ 07 сентября 2011

Как говорит @ cyco130, ваши сэмплы уже имеют прямоугольную функцию.Поскольку преобразование Фурье предполагает периодичность, любой разрыв между последним образцом и повторным первым образцом будет вызывать артефакты в спектре (например, «размытие» пиков).Это известно как спектральная утечка .Чтобы уменьшить эффект этого, мы применяем функцию конусного окна, такую ​​как окно Ханна , которое сглаживает любую такую ​​несплошность и тем самым уменьшает артефакты в спектре.

7 голосов
/ 08 сентября 2011

Обратите внимание, что непрямоугольное окно имеет как преимущества, так и затраты. Результат окна во временной области эквивалентен свертке преобразования окна со спектром сигнала. Типичное окно, такое как окно фон Ханна, уменьшит «утечку» из любого непериодического спектрального содержимого, что приведет к менее шумно выглядящему спектру; но, в свою очередь, свертка «размывает» любые точные или близкие к периодическим спектральным пикам через несколько соседних элементов разрешения. например все спектральные пики станут более округлыми, что может снизить точность оценки частоты. Если вы знаете, априори, что непериодическое содержимое отсутствует (например, данные из некоторой вращательно-синхронной системы выборки), непрямоугольное окно может фактически ухудшить БПФ.

Непрямоугольное окно также является информационным процессом с потерями. Значительное количество спектральной информации вблизи краев окна будет отброшено, если предположить, что арифметика имеет конечную точность. Поэтому непрямоугольные окна лучше всего использовать с обработкой перекрывающихся окон и / или когда можно предположить, что интересующий спектр либо стационарен по всей ширине окна, либо центрирован в окне.

6 голосов
/ 07 сентября 2011

Если вы не применяете какую-либо оконную функцию, вы фактически применяете прямоугольную оконную функцию.Различные оконные функции имеют разные характеристики, это зависит от того, что именно вы хотите.

...