Свертка (конволюция) [1,11].

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

y(t) = T[s(t)] = T[ s(t)d(t-t) dt].

На основании принципа суперпозиции линейный оператор Т может быть внесен под знак интеграла, т.к. последний представляет собой предельное значение суммы. При этом операция преобразования действует только по переменной t. Отсюда следует:

y(t) = s(t) Т[d(t-t)] dt = s(t) h(t-t) dt. (3.2.1)

Это выражение представляет собой интеграл Дюамеля или свертку (конволюцию) входного сигнала с импульсной характеристикой системы. Заменой переменных t-t = t можно убедиться в том, что свертка коммутативна:

s(t) h(t-t) dt º h(t) s(t-t) dt. (3.2.1')

Аналогично, для дискретных сигналов:

y(kDt) = h(nDt) s(kDt-nDt). (3.2.1'')

Выражения (3.2.1) имеют специальную форму упрощенной математической записи в символическом виде:

y(t) = s(t-t) * h(t) º s(t) * h(t).

Сравнением выражений (3.2.1' и 3.2.1'') с выражениями (3.1.3) нетрудно убедиться в их полной идентичности, за исключением нижнего предела интегрирования (суммирования). Это и понятно, так как выражения (3.1.3) были получены при рассмотрении реальной физической системы, работающей в реальном масштабе времени, импульсный отклик которых является односторонним (равен нулю при t<0). Для таких систем интегрирование (и суммирование) от -¥ до 0 не имеет смысла. Кроме того, в реальных физических системах импульсный отклик, как правило, отличен от нуля только на определенном интервале, при этом верхний интервал интегрирования (суммирования) в выражениях (3.2.1) также может устанавливаться равным значению этого интервала. В общем случае пределы интегрирования (суммирования) ограничиваются значениями t, на которых функция h(t) существует или имеет значимые значения.

Рис. 3.2.1.

Техника свертки.Для вычисления свертки по выражению (3.2.1') функция импульсного отклика реверсируется по своей координате, т.е. строится в режиме обратного времени, и движется относительно функции входного сигнала в сторону возрастания значений t. В каждый текущий момент времени значения обеих функций перемножаются (по всем значениям своих аргументов), а произведение интегрируется. Полученный результат относится к той координатной точке, против которой находится значение импульсного отклика h(0).

На рис. 3.2.1. приведен пример выполнения свертки прямоугольного импульса с импульсным откликом RC-цепи, площадь которого нормирована к 1. Если площадь импульсного отклика h(t) равна 1, то площадь выходного сигнала свертки всегда должна быть равна площади входного сигнала, что можно видеть на верхнем графике рисунка, при этом одномасштабное сравнение входного и выходного сигналов наглядно демонстрирует характер преобразования сигнала в данной системе. На последующих графиках рисунка демонстрируется вычисление результатов свертки в ряде последовательных точек ti = {3.5, 4, 5, 6, 7} временной оси. В силу отрицательного знака t в аргументах функции s(t-t) интегрирование произведения h(t)s(t-t) выполняется назад по времени и может ограничиваться только определенной длиной значимых значений импульсного отклика (которая в данном случае установлена равной r = 4), а результат относится к начальной точке h(0) импульсного отклика. Так как входной сигнал, рассмотренный на рисунке, представляет собой прямоугольный импульс с амплитудой 1, то интеграл свертки в каждой текущей точке расчета равен площади импульсного отклика в пределах границ входного прямоугольного импульса (заполнено точками).

Рис. 3.2.2.

Еще более наглядна техника выполнения цифровой свертки, приведенная на рис. 3.2.2. Для вычисления свертки массив одной из функций (sk - входного или свертываемого сигнала) располагается по ходу возрастания номеров. Массив второй функции (hn - более короткой, которая обычно называется оператором свертки или оператором фильтра), строится параллельно первому массиву в обратном порядке (по ходу уменьшения номеров первого массива или в режиме обратного времени). Для вычисления yk значение h0 располагается против sk, все значения sk-n перемножаются с расположенными против них значениями hn и суммируются. Результаты суммирования являются выходным значением функции yk, после чего оператор hn сдвигается на один номер k вперед (или функция sk сдвигается ему навстречу) и вычисление повторяется для номера k+1 и т.д.

Свойства свертки.Для свертки характерны следующие свойства:

Ø 1. Дистрибутивность: h(t) * [a(t)+b(t)] = h(t) * a(t)+h(t) * b(t).

Ø 2. Коммутативность: h(t) * a(t) * b(t) = a(t) * b(t) * h(t).

Ø 3. Ассоциативность: [a(t) * b(t)] * h(t) = h(t) * a(t) * b(t).

Преобразование свертки однозначно определяет выходной сигнал y(t) для установленного значения входного сигнала s(t) при известном значении функции импульсного отклика системы h(t). Обратная задача деконволюции - определение функции s(t) по функциям y(t) и h(t), относится к разряду некорректных, и имеет решение только при вполне определенных условиях. Это объясняется тем, что свертка может существенно изменить частотный спектр сигнала y(t) относительно s(t) и восстановление функции s(t) становится невозможным, если определенные частоты ее спектра в сигнале y(t) полностью утрачены.

Любая практическая система должна быть устойчивой, т.е. для сигналов, конечных по энергии или средней мощности, выходные сигналы также должны быть конечными по этим параметрам. Устойчивость обеспечивается при выполнении условия абсолютной интегрируемости импульсного отклика системы:

|h(t)| dt < ¥.

Для систем с m входами и n выходами аналогично определяются парциальные импульсные отклики hij(t), i = {1,2, ... ,n}, j = {1,2, ... ,m}, каждым из которых отображается сигнал на i-м выходе при поступлении сигнала d(t) на j-й вход. Полная совокупность импульсных откликов образует матрицу:

,

а выражение свертки приобретает вид:

(t) = (t)(t-t) dt.

Здесь (и в дальнейшем тексте) жирным шрифтом с "крышкой" выделяются векторные величины.

Системы свертки. Свертка выполняется системой (физическим или программным устройством). Физические системы, работающие в реальном времени, вычисляют текущее значение выходного сигнала по всем прошлым значениям входного сигнала, и не могут иметь в своем распоряжении будущих значений входного сигнала. Операторы таких систем являются односторонними (каузальными). Вышеприведенная нормированная к 1 по площади функция RC-цепи h(t) = (1/RC)×exp(-t/RC), принятая в качестве системного оператора на рис. 3.2.1, является именно таким односторонним каузальным оператором. При сравнении выходного сигнала такой системы с входным нетрудно заметить, что выходной сигнал сдвигается относительно входного сигнала. Для каузальных систем такой "сдвиг по фазе" существует всегда и не может быть исключен (сигнал на выходе системы не может быть раньше сигнала на ее входе).

Входным сигналом программных систем является сигнал в целом, записанный в память вычислительного устройства. При обработке таких данных в распоряжении системы при вычислении любой текущей точки выходного сигнала имеются как "прошлые" для данной точки, так и "будущие" значения входного сигнала. Это позволяет создавать системы без сдвига фазы выходного сигнала относительно входного. Для создания таких систем может использоваться два способа:

1. Первый способ иллюстрирует рис. 3.2.3. Задается система с односторонним каузальным оператором h(t). Входной сигнал s(t) пропускается через систему в обычном порядке, и выполняется свертка g(t) = h(t)*s(t). Затем выходной сигнал g(t) реверсируется (g(t)=>g(-t), конец сигнала становится его началом в порядке возрастания t) и повторно пропускается через систему, т.е. выполняется свертка y(-t) = h(t)*g(-t) . Полученный сигнал снова реверсируется (y(-t) => y(t) = h(-t)*g(t)) и является окончательным выходным сигналом y(t) системы.

Рис. 3.2.3.

Три последние операции (реверс g(t) Þ свертка c h(t) Þ реверс выходного сигнала) эквивалентны свертке сигнала g(t) с реверсированным откликом системы h(-t), и сдвиг по фазе при свертке реверсированного сигнала компенсирует сдвиг по фазе сигнала, полученный при первой свертке. Общий результат операции y(t) = h(t)*h(-t)*s(t) не имеет сдвига по фазе выходного сигнала относительно входного. Такую операцию приходится выполнять для исключения сдвига фазы при применении рекурсивных фильтров, которые всегда являются односторонними.

Рис. 3.2.4.

2. Выходной результат y(t) = h(t)*h(-t)*s(t) предыдущей операции позволяет, используя свойство коммутативности свертки, сначала выполнить свертку h(t)*h(-t) = h(±t) и получить один системный оператор h(±t) (см. рис. 3.2.4), обеспечивающий свертку без сдвига фазы. Этот системный оператор является двусторонним и симметричным относительно t = 0. Но использование его возможно только для предварительно записанных сигналов, т.к. при выполнении свертки y(t)= h(±t)*s(t-t) для отрицательных значений t требуются "будущие" значения входного сигнала s(t+t). Результат свертки с симметричным оператором полностью аналогичен первой операции (сигнал y(t) на рис. 3.2.3).

Приведенное выше формирование двустороннего симметричного оператора свертки имеет чисто познавательный характер. На практике вполне естественным является расчет непосредственно симметричных двусторонних операторов под требуемые задачи обработки числовых данных (сигналов, зарегистрированных в дискретной числовой форме).

Рис. 3.2.5.

Начальные условия свертки.В начальный момент свертки, при вычислении значений y(ti) для значений ti < tmax оператора h(t), функция оператора, построенная в режиме обратного времени, при t>ti "зависает" для значений ti-t против отсутствующих значений входной функции. Пример такого зависания оператора дискретной свертки против несуществующих отсчетов s-1 и s-2 входного массива данных при вычислении отсчета у0 приведен на рис. 3.2.5. Зависание исключают либо заданием начальных условий - дополнительных отсчетов, чаще всего нулевых или равных первому отсчету входной функции, либо началом свертки с отсчета входной функции ki = nmax с соответствующим сокращением интервала выходной функции на интервал задания системного оператора. Для симметричных операторов со значениями -n (вперед по времени) такой же момент наступает и в конце входного массива, и требует задания конечных условий или сокращения размера выходного сигнала.

литература

1. Баскаков С.И. Радиотехнические цепи и сигналы: Учебник для вузов. - М.: Высшая школа, 1988.

11. Зиновьев А.Л., Филиппов Л.И. Введение в теорию сигналов и цепей: Учебное пособие для вузов. - М.: Высшая школа, 1975. - 264 с.