Окно Хэмминга¶
Окно Хэмминга — это математическая функция, применяемая в цифровой обработке сигналов для уменьшения эффекта растекания спектра (утечки спектральных компонент) при выполнении дискретного преобразования Фурье (ДПФ). Относится к классу оконных функций — весовых коэффициентов, на которые умножается исходный дискретный сигнал перед его спектральным анализом. Окно Хэмминга было предложено американским математиком и специалистом в области теории информации Ричардом Хэммингом в 1977 году как улучшение более простого прямоугольного окна.
¶История
Проблема спектральной утечки (спектрального размытия) возникает при анализе сигналов конечной длины. Если взять фрагмент сигнала (например, речевого или радиосигнала) и применить к нему ДПФ без предварительного взвешивания, то на границах фрагмента возникают резкие разрывы, которые в частотной области проявляются как дополнительные ложные спектральные компоненты. Для борьбы с этим эффектом в 1950-х — 1960-х годах были разработаны различные оконные функции: окно Ханна (Ханнинга), окно Блэкмана, окно Кайзера и другие.
Ричард Хэмминг, известный своими работами в области кодирования (коды Хэмминга) и численных методов, в 1977 году в книге «Цифровые фильтры» (Digital Filters) предложил оконную функцию, которая является модификацией окна Ханна. Окно Хэмминга отличается от окна Ханна тем, что его коэффициенты не обращаются в ноль на краях окна, что позволяет уменьшить уровень боковых лепестков в спектре по сравнению с прямоугольным окном, но при этом сохранить несколько более высокий уровень первого бокового лепестка, чем у окна Ханна.
¶Определение и математическое описание
Окно Хэмминга для дискретного сигнала длины \( N \) (где \( n \) — номер отсчёта, \( n = 0, 1, \dots, N-1 \)) задаётся формулой:
\[ w(n) = 0.54 - 0.46 \cdot \cos\left( \frac{2\pi n}{N-1} \right) \]
В некоторых источниках (особенно в англоязычной литературе) используется альтернативная запись с коэффициентами 0.53836 и 0.46164, однако классическое значение — 0.54 и 0.46.
¶Свойства
- Форма окна: симметричная, колоколообразная, но с ненулевыми значениями на краях (на концах окна \( w(0) = w(N-1) = 0.08 \)).
- Спектральные характеристики: окно Хэмминга обеспечивает подавление первого бокового лепестка в частотной области примерно на -43 дБ относительно главного лепестка. Это значительно лучше, чем у прямоугольного окна (-13 дБ), но несколько хуже, чем у окна Ханна (-31 дБ). Однако скорость спада боковых лепестков у окна Хэмминга составляет около -6 дБ на октаву, что медленнее, чем у окна Ханна (-18 дБ на октаву).
- Ширина главного лепестка: примерно 8π / (N-1) (в радианах на отсчёт), что в 1.5 раза шире, чем у прямоугольного окна. Это означает некоторое снижение частотного разрешения.
¶Сравнение с другими окнами
| Оконная функция | Уровень первого бокового лепестка (дБ) | Скорость спада боковых лепестков (дБ/октава) | Ширина главного лепестка (относительно прямоугольного) |
|---|---|---|---|
| Прямоугольное | -13 | -6 | 1.0 |
| Ханна (Ханнинг) | -31 | -18 | 1.5 |
| Хэмминга | -43 | -6 | 1.5 |
| Блэкмана | -58 | -18 | 1.7 |
| Кайзера (β=6) | -44 | -6 | 1.6 |
Из таблицы видно, что окно Хэмминга обеспечивает наилучшее подавление первого бокового лепестка среди простых косинусоидальных окон, но при этом имеет медленный спад остальных боковых лепестков.
¶Применение
Окно Хэмминга широко используется в задачах, где требуется минимальное влияние соседних частотных компонент при сохранении приемлемого частотного разрешения. Основные области применения:
¶Спектральный анализ
При анализе стационарных сигналов (например, аудиосигналов, вибраций) окно Хэмминга применяется для уменьшения утечки спектра при выделении коротких фрагментов. Оно часто используется в спектроанализаторах реального времени и в программных пакетах для обработки сигналов (MATLAB, GNU Octave, SciPy).
¶Цифровая обработка речи
В системах распознавания речи, синтеза речи и кодирования аудио (например, в кодеках) окно Хэмминга применяется при вычислении мел-частотных кепстральных коэффициентов (MFCC). Оно позволяет снизить влияние краевых эффектов при анализе коротких (20–30 мс) фреймов речевого сигнала.
¶Радиолокация и гидролокация
В системах обработки сигналов с фазированными антенными решётками окно Хэмминга используется для снижения уровня боковых лепестков диаграммы направленности, что улучшает разрешающую способность по угловым координатам и уменьшает влияние помех.
¶Обработка изображений
В задачах фильтрации изображений (например, при подавлении эффекта Гиббса после обратного преобразования Фурье) окно Хэмминга может применяться как двумерная оконная функция.
¶Цифровые фильтры
Окно Хэмминга используется при синтезе нерекурсивных цифровых фильтров (КИХ-фильтров) методом оконного взвешивания. В этом случае идеальная импульсная характеристика фильтра умножается на оконную функцию, что позволяет получить фильтр с заданными свойствами (например, с низким уровнем пульсаций в полосе пропускания).
¶Достоинства и недостатки
¶Достоинства
- Простота вычисления: формула окна содержит всего одно косинусное слагаемое, что позволяет быстро вычислять коэффициенты как в аппаратных, так и в программных реализациях.
- Хорошее подавление первого бокового лепестка: -43 дБ — один из лучших показателей среди простых окон.
- Нулевые значения на краях: в отличие от окна Ханна, окно Хэмминга не обнуляет крайние отсчёты, что может быть полезно при анализе сигналов с малым числом отсчётов.
¶Недостатки
- Медленный спад боковых лепестков: -6 дБ на октаву означает, что на удалённых частотах боковые лепестки затухают медленно, что может приводить к заметному влиянию сильных сигналов на соседние частотные каналы.
- Увеличение ширины главного лепестка: по сравнению с прямоугольным окном, частотное разрешение снижается примерно в 1.5 раза, что может быть критично при анализе сигналов с близко расположенными спектральными компонентами.
¶Интересные факты
- Окно Хэмминга часто путают с окном Ханна (Ханнинга). Основное различие — в значении коэффициентов: у окна Ханна формула имеет вид \( w(n) = 0.5 - 0.5 \cdot \cos(2\pi n/(N-1)) \), что приводит к обнулению крайних отсчётов.
- В некоторых источниках окно Хэмминга называют «окном с поднятым косинусом» (raised cosine window), однако этот термин чаще применяется к окну Ханна.
- Ричард Хэмминг также известен как создатель кодов Хэмминга, используемых в системах обнаружения и исправления ошибок, и как автор принципа «Хэммингово расстояние».
¶Источники
- Хэмминг Р. В. Цифровые фильтры / Пер. с англ. — М.: Советское радио, 1980. — 224 с.
- Оппенгейм А. В., Шафер Р. В. Цифровая обработка сигналов. — 3-е изд. — М.: Техносфера, 2012. — 1048 с.
- Harris F. J. On the use of windows for harmonic analysis with the discrete Fourier transform // Proceedings of the IEEE. — 1978. — Vol. 66, No. 1. — P. 51–83.
- Smith J. O. Spectral Audio Signal Processing. — W3K Publishing, 2011. — 624 с.