SP_2 ВРЕМЕННОЕ ПРЕДСТАВЛЕНИЕ СИГНАЛОВ. Обработка сигналов временное представление сигналов временное представление сигналов разложение сигналов по единичным импульсам
![]()
|
ОБРАБОТКА СИГНАЛОВ 2. ВРЕМЕННОЕ ПРЕДСТАВЛЕНИЕ СИГНАЛОВ 2. ВРЕМЕННОЕ ПРЕДСТАВЛЕНИЕ СИГНАЛОВ 2.1. Разложение сигналов по единичным импульсам Прямая координатная форма представления сигналов соответствует их естественной и привычной для нас форме математического описания в виде функций независимых переменных (аргументов или координат). Единичные импульсы. Простейшим сигналом является единичный импульс. В качестве математической модели единичного импульса при анализе аналоговых сигналов используют дельта-функцию. Дельта-функция. По определению, дельта-функция описывается следующими математическими выражениями (в совокупности): (t-) = 0 при t , ![]() Функция (t-) равна нулю везде за исключением точки , в которой она бесконечно велика и не является дифференцируемой. Дельта-функция является полезной математической абстракцией. На практике такие функции не могут быть реализованы с абсолютной точностью, так как невозможно реализовать значение, равное бесконечности, в точке t = на временной шкале. Но во всех случаях, когда площадь импульса равна 1, а длительность импульса достаточно мала и за время его действия на входе сигнал на выходе системы практически не изменяется (реакция системы на импульс во много раз больше длительности самого импульса), входной сигнал можно считать дельта-функцией или, более точно, единичной импульсной функцией со свойствами дельта-функции. При всей своей абстрактности дельта-функция имеет вполне определенный физический смысл. Представим себе импульсный сигнал прямоугольной формы П(t-) длительностью , амплитуда которого равна 1/, а площадь соответственно равна 1. При уменьшении значения импульс, сокращаясь по длительности, сохраняет свою площадь, равную 1, и возрастает по амплитуде. Предел такой операции при 0 и носит название дельта-импульса. Этот сигнал (t-) сосредоточен в одной координатной точке t = , конкретное амплитудное значение его не определено, но площадь (интеграл) остается равной 1. Это не мгновенное значение функции в точке t = , а именно импульс – математическая модель короткого действия, значение которого равно 1. Функция Кронекера. Для дискретных и цифровых систем разрешающая способность по аргументу сигнала определяется интервалом его дискретизации t. Это позволяет в качестве единичного импульса использовать дискретный интегральный аналог дельта-функции - функцию единичного отсчета (kt-nt), которая равна 1 в координатной точке k = n и нулю во всех остальных точках. При этом функция (kt-nt) может быть определена для любых значений t = const, но только для целых значений координат k и n. Математические выражения (t-) и (kt-nt) называют также импульсами Дирака и Кронекера. Однако применяя такую терминологию, не будем забывать, что это не просто единичные импульсы в координатных точках и nt, а импульсные функции, определяющие как значения импульсов в определенных координатных точках, так и нулевые значения по всем остальным координатам, в пределе от - до . Разложение сигнала. Импульсы Дирака и Кронекера используются для разложения, соответственно, произвольных аналоговых сигналов s(t) и дискретных сигналов s(kt) в непрерывную последовательность неперекрывающихся импульсов: ![]() Рис. 2.1.1. s(t) = ![]() s(kt) = ![]() Для аналоговых сигналов разложение ( 2.1.1) в физическом представлении эквивалентно сканированию значений сигнала s(t) в моменты времени t = бесконечно узкой щелью, бегущей вдоль оси t. Для цифровых сигналов эта щель равна одному отсчету. Пример разложения дискретного сигнала приведен на рис. 2.1.1. С математических позиций единичные импульсные функции (t-), -<, и (kt-nt), - Импульсный отклик линейной системы. Если на вход линейной системы в момент времени t = 0 подать единичный импульс, то на выходе мы получим реакцию системы на единичный входной сигнал. Эта реакция называется функцией импульсного отклика системы и однозначно определяется оператором преобразования h(..): y(t) = T[(t-0)] = h(t). (2.1.2) y(kt) = T[(kt-0)] = h(kt). (2.1.2') Импульсный отклик аналоговой системы на входную дельта-функцию также в определенной степени представляет собой математическую абстракцию идеального преобразования. С практической точки зрения под импульсным откликом можно понимать отображение реакции системы на импульсный входной сигнал произвольной формы с единичной площадью, если длительность этого сигнала пренебрежимо мала по сравнению с временной (координатной) разрешающей способностью системы (например, с периодом ее собственных колебаний). Для цифровых систем импульсный отклик однозначно определяется реакцией системы на импульс Кронекера. Функцию импульсного отклика называют также весовой функцией системы. Очевидно, что в ЛИС-системах форма импульсного отклика не зависит от времени прихода входного сигнала и определяет только его положение на временной оси. Так, если входной импульс задержан (относительно 0) на время to, то соответствующий выходной сигнал будет определяться выражением: y(t) = T[(t-to)] = h(t-to). В любой системе, работающей в реальном масштабе времени, сигнала на выходе системы не может быть, если нет сигнала на ее входе. Отсюда следует односторонность импульсного отклика физических систем: h(t-) = 0 при t<. Для программных систем, работающих с массивами цифровых данных, импульсный отклик может быть и двусторонним, так как при обработке сигналов в любой текущей точке kt системе доступны как "прошлые" отсчеты kt-nt, так и "будущие" отсчеты kt+nt. Соответственно, сигнал на выходе системы может формироваться и по "будущим" отсчетам. Это расширяет возможности программной обработки сигналов по сравнению с физическими системами. На рисунке 2.1.2 приведен пример импульсного отклика h(t) элементарной физической системы преобразования электрических сигналов – динамической интегрирующей RC-цепи. ![]() Рис. 2.1.2. При подаче на вход RC-цепи единичного и очень короткого (t << RC) импульса заряда q емкость С заряжается до напряжения Vо = q/C и начинает разряжаться через сопротивление R, при этом напряжение на емкости изменяется по закону v(t) = Voexp(-t/RC) = (q/C)exp(-t/RC). Отсюда, импульсный отклик RC-цепи на единичный входной сигнал с единичным значением заряда q = 1 равен: h(t) = (1/C)exp(-t/RC), где форма отклика определяется функцией экспоненты, а множитель (1/С) является масштабным преобразователем сигнала (заряда в напряжение). По существу, импульсным откликом системы определяется доля входного сигнала, которая действует на выходе системы по истечении времени t после поступления сигнала на вход (запаздывающая реакция системы). Если функция импульсного отклика системы известна, то, с учетом принципа суперпозиции сигналов в линейной системе, можно выполнить расчет реакции системы в любой произвольный момент времени на любое количество входных сигналов с любыми моментами времени их прихода путем суммирования запаздывающих реакций системы на эти входные сигналы. На рис. 2.1.2 приведен пример входного сигнала s(t) для RC-цепи в виде последовательности импульсов и реакция системы y(t) на такой входной сигнал, образованная суммированием реакций системы на каждый импульс. Допустим, что на вход RC-цепи в моменты времени t1=1 и t2=2 поступили очень короткие (по сравнению со значением RC) импульсы заряда величиной A и В. Математически это можно отобразить сигналом s(t) = q1(t)+q2(t), где q1(t) = At-t1) и q2 = B(t-t2). Выходной сигнал системы при известном импульсном отклике h(t) соответственно отобразится формулой: y(t) = T[q1(t)+q2(t)] = T[A(t-t1)]+T[B(t-t2) = AT[(t-t1)+BT[(t-t2) = Ah(t-t1)+Bh(t-t2). При расчете значений выходного сигнала в произвольный момент времени t после прихода на вход системы сигналов q1 и q2, например, для t = 5, для каждого из сигналов вычисляются значения их запаздывающих реакций: y1 = Ah(5-1) = Ah(4) и y2 = Bh(5-2) = Bh(3), после чего значения запаздывающих реакций суммируются у = у1+у2. Пример этой операции приведен на рис. 2.1.3, где для удобства графического представления приняты значения А = 1 и В = 1. Сущность операции не изменяется при любых значениях А и В, а в общем случае и для любого количества импульсов. ![]() Рис. 2.1.3. 2.2. Свертка (конволюция) Интеграл Дюамеля. Произвольный сигнал на входе системы с использованием выражений разложения сигнала может быть представлен в виде последовательной линейной комбинации взвешенных единичных импульсов: y(t) = T[s(t)] = T[ ![]() На основании принципа суперпозиции линейный оператор Т может быть внесен под знак интеграла, т.к. последний представляет собой предельное значение суммы. При этом операция преобразования действует только по переменной t. Отсюда следует: y(t) = ![]() ![]() Это выражение представляет собой интеграл Дюамеля или свертку (конволюцию) входного сигнала с импульсной характеристикой системы. Заменой переменных t-= можно убедиться в том, что свертка коммутативна: ![]() ![]() Аналогично, для дискретных сигналов: y(kt) = ![]() Выражения (2.2.1) имеют специальную форму упрощенной математической записи в символическом виде: y(t) = s(t-) * h() s(t) * h(t). Техника свертки. Для вычисления свертки по выражению (2.2.1) функция импульсного отклика реверсируется по своей координате, т.е. строится в режиме обратного времени, и движется относительно функции входного сигнала в сторону возрастания значений t. ![]() Рис. 2.2.1. В каждый текущий момент времени значения обеих функций перемножаются (по всем значениям своих аргументов), а произведение интегрируется. Полученный результат относится к той координатной точке, против которой находится значение импульсного отклика h(0). На рис. 2.2.1. приведен пример выполнения свертки прямоугольного импульса с импульсным откликом RC-цепи, площадь которого нормирована к 1. Если площадь импульсного отклика h(t) равна 1, то площадь выходного сигнала свертки всегда должна быть равна площади входного сигнала, что можно видеть на верхнем графике рисунка, при этом одномасштабное сравнение входного и выходного сигналов наглядно демонстрирует характер преобразования сигнала в данной системе. На последующих графиках рисунка демонстрируется вычисление результатов свертки в ряде последовательных точек ti = {3.5, 4, 5, 6, 7} временной оси. В силу отрицательного знака в аргументах функции s(t-) интегрирование произведения h()s(t-) выполняется назад по времени и может ограничиваться только определенной длиной значимых значений импульсного отклика (которая в данном случае установлена равной r = 4), а результат относится к начальной точке h(0) импульсного отклика. Так как входной сигнал, рассмотренный на рисунке, представляет собой прямоугольный импульс с амплитудой 1, то интеграл свертки в каждой текущей точке расчета равен площади импульсного отклика в пределах границ входного прямоугольного импульса (заполнено точками). ![]() Рис. 2.2.2. Еще более наглядна техника выполнения цифровой свертки, приведенная на рис. 2.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ссоциативность: [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) становится невозможным. Любая практическая система должна быть устойчивой, т.е. для сигналов, конечных по энергии или средней мощности, выходные сигналы также должны быть конечными по этим параметрам. Устойчивость обеспечивается при выполнении условия абсолютной интегрируемости импульсного отклика системы: ![]() Системы свертки. Свертка выполняется системой (физическим или программным устройством). Физические системы, работающие в реальном времени, вычисляют текущее значение выходного сигнала по всем прошлым значениям входного сигнала и не могут иметь в своем распоряжении будущих значений входного сигнала. Операторы таких систем являются односторонними (каузальными). При сравнении выходного сигнала такой системы со входным нетрудно заметить, что выходной сигнал сдвигается относительно входного сигнала. Для каузальных систем такой "сдвиг по фазе" существует всегда и не может быть исключен. Входным сигналом программных систем обычно является весь сигнал в целом, записанный в память вычислительного устройства, и при обработке (свертке) входного сигнала в распоряжении системы при вычислении любой текущей точки выходного сигнала имеются как "прошлые" для данной точки, так и "будущие" значения входного сигнала. Это позволяет создавать системы без сдвига фазы выходного сигнала относительно входного. Для создания таких систем может использоваться два способа: ![]() Рис. 2.2.3. 1. Первый способ иллюстрирует рис. 2.2.3. Задается система с односторонним каузальным оператором h(). Входной сигнал s(t) пропускается через систему в обычном порядке и выполняется свертка g(t) = h()*s(t). Затем выходной сигнал g(t) реверсируется ( g(t)=>g(-t), конец сигнала становится его началом в порядке возрастания t) и повторно пропускается через систему, т.е. выполняется свертка y(-t) = h()*g(-t) . Полученный сигнал снова реверсируется (y(-t) => y(t) = h(-)*g(t)) и является окончательным выходным сигналом y(t) системы. Три последние операции (реверс g(t) свертка c h() реверс выходного сигнала) эквивалентны свертке сигнала g(t) с реверсированным откликом системы h(-), и сдвиг по фазе при свертке реверсированного сигнала компенсирует сдвиг по фазе сигнала, полученный при первой свертке. Общий результат операции y(t) = h()*h(-)*s(t) не имеет сдвига по фазе выходного сигнала относительно входного. ![]() Рис. 2.2.4. 2. Выходной результат y(t) = h()*h(-)*s(t) предыдущей операции позволяет, используя свойство коммутативности свертки, сначала выполнить свертку h()*h(-) = h() и получить один системный оператор h() (см. рис. 2.2.4), обеспечивающий свертку без сдвига фазы. Этот системный оператор является двусторонним и симметричным относительно = 0. Но использование его возможно только для предварительно записанных сигналов, т.к. при выполнении свертки y(t)= h()*s(t-) для отрицательных значений требуются "будущие" значения входного сигнала s(t+). Полученный результат полностью аналогичен первой операции ( рис. 2.2.3). Приведенное выше формирование двустороннего симметричного оператора свертки имеет чисто познавательный характер. На практике естественным является расчет симметричных двусторонних операторов под требуемые задачи обработки числовых данных (сигналов, зарегистрированных в дискретной числовой форме). ![]() Рис. 2.2.5. Начальные условия свертки. В начальный момент свертки, при вычислении значений y(ti) для значений ti < max оператора h(), функция оператора, построенная в режиме обратного времени, при >ti "зависает" для значений ti- против отсутствующих значений входной функции. Пример такого зависания оператора дискретной свертки против несуществующих отсчетов s-1 и s-2 входного массива данных при вычислении отсчета у0 приведен на рис. 2.2.5. Зависание исключают либо заданием начальных условий - дополнительных отсчетов, чаще всего нулевых или равных первому отсчету входной функции, либо началом свертки с отсчета входной функции ki = nmax с соответствующим сокращением интервала выходной функции на интервал задания системного оператора. Для симметричных операторов со значениями -n (вперед по времени) такой же момент наступает и в конце входного массива и требует задания конечных условий или сокращения размера выходного сигнала. |