Свертка и дискретная фильтрация. Функция свертки и обратная ей функция. Функция свертки двумерных массивов.
В этом разделе рассмотрены базовые средства для проведения операций свертки и фильтрации сигналов на базе алгоритмов быстрого преобразования Фурье. Многие дополнительные операции, относящиеся к этой области обработки сигналов, можно найти в пакете прикладных программ Signal Processing Toolbox.
Для двух векторов х и у с длиной тxn определена операция свертки:
В ее результате получается вектор z с длиной (т+п- 1). Для осуществления свертки используется функция conv(x.y).
Обратная свертке функция определена как [q,r]=deconv(z,x). Она фактически определяет импульсную характеристику фильтра. Если z=conv(x,y), то q=y и г=0. Если х и у – векторы с коэффициентами полиномов, то свертка эквивалентна перемножению полиномов, а обратная операция – их делению. При этом вектор q возвращает частное (фактор), а вектор r – остаток от деления полиномов.
Функция свертки двумерных массивов
Для двумерных массивов также существует функция свертки: Z=conv2(X.Y) и Z=conv2(X,Y. 'option').
Для двумерных массивов X и Y с размером m хп и тхп соответственно результат двумерной свертки порождает массив размера (т +т -1)х(m +п -1). Во второй форме функции параметр option может иметь следующие значения:
- 'full' – полноразмерная свертка (используется по умолчанию);
- 'same' – центральная часть размера тхп;
- 'valid' – центральная часть размера (т-т +1)х(n-n +1), если (тхn х )>(тхn).
Возможность изменить решение или трактовку данных с помощью параметров является свойством ряда функций системы MATLAB. Позже мы столкнемся с этой возможностью еще не раз.