Открыть сервис

Свёртка сигналов

Свёртка сигналов — это математическая операция, применяемая в теории обработки сигналов, цифровой обработке сигналов, теории вероятностей и других областях, результатом которой является третий сигнал (функция), выражающий степень «похожести» одной функции на зеркально отражённую и сдвинутую версию другой. В контексте обработки сигналов свёртка описывает прохождение сигнала через линейную стационарную систему (ЛСС), где выходной сигнал представляет собой интеграл (или сумму) от произведения входного сигнала и импульсной характеристики системы, сдвинутой на время задержки.

Определение и математическая запись

Свёртка двух непрерывных функций \( f(t) \) и \( g(t) \) обозначается символом \( * \) и определяется как:

\[ (f * g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t - \tau) \, d\tau \]

Для дискретных сигналов (последовательностей) \( x[n] \) и \( h[n] \) дискретная свёртка записывается в виде суммы:

\[ (x * h)[n] = \sum_{k=-\infty}^{\infty} x[k] \, h[n - k] \]

где \( n \) — номер отсчёта, \( k \) — индекс суммирования. В практических приложениях суммирование ведётся по конечному числу ненулевых отсчётов.

История

Понятие свёртки впервые было формализовано в математике в XVIII веке. В 1768 году Леонард Эйлер применил интеграл, аналогичный свёртке, при решении дифференциальных уравнений. В 1823 году Огюстен Луи Коши использовал подобную операцию в теории вероятностей. Название «свёртка» (нем. Faltung, англ. convolution) закрепилось в конце XIX века благодаря работам немецких математиков, в частности, Карла Вейерштрасса и Давида Гильберта. В XX веке, с развитием радиотехники и цифровой обработки сигналов, свёртка стала ключевым инструментом для анализа линейных цепей и фильтров.

Свойства свёртки

Свёртка обладает рядом фундаментальных свойств, которые делают её удобной для анализа и вычислений:

  • Коммутативность: \( f g = g f \). Это означает, что порядок операндов не влияет на результат.
  • Ассоциативность: \( (f g) h = f (g h) \). Позволяет последовательно применять несколько фильтров.
  • Дистрибутивность относительно сложения: \( f (g + h) = f g + f * h \).
  • Сдвиг: если \( f(t) \) сдвинуть на \( a \), то \( f(t - a) g(t) = (f g)(t - a) \).
  • Свёртка с дельта-функцией Дирака: \( f * \delta = f \). Импульсная характеристика идеальной системы — единичный импульс.
  • Теорема о свёртке: преобразование Фурье от свёртки двух функций равно произведению их преобразований Фурье: \( \mathcal{F}\{f * g\} = \mathcal{F}\{f\} \cdot \mathcal{F}\{g\} \). Это свойство широко используется для ускорения вычислений через быстрое преобразование Фурье (БПФ).

Физическая интерпретация

В теории линейных стационарных систем свёртка описывает реакцию системы на произвольный входной сигнал. Если система имеет импульсную характеристику \( h(t) \) (отклик на единичный импульс), то выходной сигнал \( y(t) \) при входном \( x(t) \) равен:

\[ y(t) = (x * h)(t) \]

Физически это означает, что каждый импульс входного сигнала «размазывается» импульсной характеристикой, и все такие «размытые» копии суммируются. Например, в электронике свёртка позволяет рассчитать напряжение на выходе RC-цепи при подаче прямоугольного импульса.

Виды свёртки

Линейная (апериодическая) свёртка

Применяется для сигналов конечной длительности. Результат имеет длину \( N + M - 1 \), где \( N \) и \( M \) — длины исходных последовательностей. Используется в цифровых фильтрах с конечной импульсной характеристикой (КИХ-фильтрах).

Циклическая (круговая) свёртка

Выполняется для периодических сигналов или при использовании дискретного преобразования Фурье (ДПФ). Длина результата равна длине операндов (обычно \( N \)). Применяется в алгоритмах быстрого умножения многочленов и в спектральном анализе. Для корректного вычисления линейной свёртки через БПФ требуется дополнение последовательностей нулями до длины \( N + M - 1 \).

Дискретная свёртка

Является основой для цифровой обработки сигналов. Реализуется как сумма произведений отсчётов. В вычислительной практике часто используется алгоритм БПФ, снижающий сложность с \( O(N^2) \) до \( O(N \log N) \).

Применение

Цифровая фильтрация

Свёртка лежит в основе работы цифровых фильтров: фильтров нижних частот, верхних частот, полосовых и режекторных. Например, для сглаживания сигнала применяется свёртка с прямоугольным окном (скользящее среднее) или с гауссовым ядром.

Обработка изображений

В компьютерном зрении свёртка используется для размытия, повышения резкости, выделения границ (операторы Собеля, Превитта, Лапласа). Свёрточные нейронные сети (CNN) — основной инструмент современного глубокого обучения — базируются на многократном применении дискретной свёртки с обучаемыми ядрами.

Распознавание речи и аудио

Свёртка применяется для моделирования акустической среды (реверберация), синтеза звука, а также в спектральном анализе (спектрограммы).

Теория вероятностей

Свёртка распределений используется для нахождения суммы независимых случайных величин. Например, распределение суммы двух нормальных величин также является нормальным, а его плотность равна свёртке исходных плотностей.

Радиолокация и связь

В радиолокации свёртка используется для согласованной фильтрации — оптимального обнаружения сигнала на фоне шума. В системах связи — для коррекции межсимвольной интерференции.

Вычислительные аспекты

Прямое вычисление свёртки для длинных сигналов требует больших вычислительных затрат. Для ускорения применяют:

  • Быстрое преобразование Фурье (БПФ): вычисление свёртки через умножение спектров с последующим обратным преобразованием.
  • Алгоритм перекрытия с накоплением (overlap-add): разбиение длинного сигнала на блоки, обработка каждого через БПФ и объединение результатов.
  • Алгоритм перекрытия с сохранением (overlap-save): аналогичный метод, но с перекрытием блоков и отбрасыванием искажённых краёв.

В современных процессорах и графических ускорителях (GPU) свёртка реализуется с помощью специализированных инструкций (например, в библиотеках cuDNN для нейросетей).

Интересные факты

  • Операция свёртки является аналогом умножения в алгебре функций: она превращает пространство интегрируемых функций в коммутативную алгебру без делителей нуля (при определённых условиях).
  • В русскоязычной литературе термин «свёртка» также используется для обозначения операции свёртывания тензоров (контракции), что является отдельным математическим понятием.
  • В квантовой механике свёртка волновых функций возникает при описании измерений и квантовой томографии.

Критика и ограничения

Основное ограничение свёртки — её линейность. Она не может описывать нелинейные эффекты, такие как насыщение усилителей или модуляцию. Для нелинейных систем применяют другие подходы (например, ряды Вольтерра). Кроме того, при цифровой реализации свёртки возникают краевые эффекты (искажения на границах сигнала), которые требуют специальной обработки (дополнение нулями, зеркальное отражение).

Источники

  • Оппенгейм А. В., Шафер Р. В. Цифровая обработка сигналов. — М.: Техносфера, 2006.
  • Гонсалес Р., Вудс Р. Цифровая обработка изображений. — М.: Техносфера, 2012.
  • Гуднайт Дж. Цифровая обработка сигналов: практический подход. — М.: Вильямс, 2004.
  • Корн Г., Корн Т. Справочник по математике для научных работников и инженеров. — М.: Наука, 1974.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →