Почему мне нужно применить функцию окна к образцам при построении спектра мощности аудиосигнала?
Я нашел несколько раз следующие рекомендации для получения спектра мощности аудиосигнала:
- собирают 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 визуализатор звука?)
Ответы
Ответ 1
Как поясняет @cyco130, ваши образцы уже окончены прямоугольной функцией. Так как преобразование Фурье предполагает периодичность, любой разрыв между последним образцом и повторным первым образцом вызывает артефакты в спектре (например, "размазывание" пиков). Это называется спектральной утечкой. Чтобы уменьшить эффект этого, мы применяем функцию конического окна, такую как окно Hann, которое сглаживает любой такой разрыв и тем самым уменьшает артефакты в спектре.
Ответ 2
Большинство аудиосигналов реального мира непериодичны, что означает, что реальные аудиосигналы обычно не повторяются точно в течение любого заданного промежутка времени.
Однако математика преобразования Фурье предполагает, что преобразованный Фурье сигнал является периодическим по рассматриваемому временному интервалу.
Это несоответствие между предположением Фурье о периодичности и реальным фактом, что аудиосигналы обычно непериодические, приводит к ошибкам в преобразовании.
Эти ошибки называются "спектральной утечкой" и обычно проявляются как противоправное распределение энергии по спектру мощности сигнала.
В приведенном ниже графике показан крупный план спектра мощности акустической гитары, исполняющей ноту A4. Спектр был рассчитан с помощью FFT (Fast Fourier Transform), но сигнал не был окончен до БПФ.
Обратите внимание на распределение энергии выше линии -60 дБ, а три различных пика - примерно 440 Гц, 880 Гц и 1320 Гц. Это конкретное распределение энергии содержит ошибки "спектральной утечки" .
![Power spectrum of guitar playing an A4 note, no window was applied]()
Чтобы несколько смягчить ошибки "спектральной утечки" , вы можете предварительно умножить сигнал на функцию окна, разработанную специально для этой цели, например, например, функцию окна Hann.
В приведенном ниже графике показана функция окна Hann во временной области. Обратите внимание на то, как хвосты функции плавно переходят в ноль, а центральная часть функции плавно переходит к значению 1.
![Hann window function]()
Теперь примените окно Hann к гитарным аудиоданным, а затем FFT результирующий сигнал.
В приведенном ниже графике показан крупный план спектра мощности того же сигнала (акустическая гитара, играющая ноту A4), но на этот раз сигнал был предварительно умножен на функцию окна Hann до БПФ.
Обратите внимание, что распределение энергии выше линии -60 дБ значительно изменилось и как три разных пика изменили форму и высоту. Это конкретное распределение спектральной энергии содержит меньше ошибок "спектральной утечки" .
![Power spectrum of guitar playing an A4 note, Hann window was applied]()
Акустическая гитара A4, используемая для этого анализа, была отбирана на уровне 44,1 кГц с высококачественным микрофоном в студийных условиях, она содержит практически нулевой фоновый шум, никаких других инструментов или голосов и никакой последующей обработки.
Литература:
Реальные данные аудиосигнала, функция окна Ханна, графики, БПФ и спектральный анализ были выполнены здесь:
Быстрое преобразование Фурье, спектральный анализ, функция окна Hann, аудиоданные
Ответ 3
Если вы не применяете какую-либо функцию окон, вы фактически используете прямоугольную функцию окон. Различные функции окна имеют разные характеристики, это зависит от того, что вы хотите точно.
Ответ 4
Обратите внимание, что непрямоугольное окно имеет как преимущества, так и затраты. Результат окна во временной области эквивалентен свертке оконного преобразования с спектром сигнала. Типичное окно, такое как окно фон Ханна, уменьшит "утечку" из любого непериодического спектрального содержимого, что приведет к менее шумному поисковому спектру; но, в свою очередь, свертка будет "размывать" любые точно или близко к периодическим спектральным пикам через несколько соседних бункеров. например все спектральные пики станут круглыми, что может снизить точность оценки частоты. Если вы знаете, априори, что нет непериодического контента (например, данных из некоторой системы синхронной синхронизации), непрямоугольное окно могло бы сделать FFT хуже.
Непрямоугольное окно также является процессом с информационной потерей. Значительное количество спектральной информации вблизи краев окна будет выброшено, предполагая арифметику с конечной точностью. Поэтому непрямоугольные окна лучше всего использовать с перекрывающейся обработкой окон и/или когда можно предположить, что интересующий спектр является либо стационарным по всей ширине окна, либо центрируется в окне.