Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.36 Mб
Скачать

Тема 7: деконволюция сигналов

Если дом красив, то мы понимаем, что он был выстроен для хозяев, а не для мышей.

Хрисипп (греческий философ).

Деконволюция сходна с археологией. Задача – восстановить дом из развалин. Обнадеживает, если все обломки на месте. Но если остался только песок, и для мышей дома не получится.

Григорий Старцев (Геофизик).

Содержание: 7.1. Понятие деконволюции. Определение деконволюции. Особенности деконволюции. Устойчивость фильтров деконволюции. 7.2. Инверсия импульсного отклика фильтра. 7.3. Оптимальные фильтры деконволюции. Принцип оптимизации. Уравнение оптимальной инверсии. Уравнение Левинсона. 7.4. Рекурсивная деконволюция. 7.5. Фильтры неполной деконволюции. Литература.

7.1. Понятие деконволюции.

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

Определение деконволюции. Если для прямой свертки сигнала x(k) c импульсным откликом h(n) линейной системы (фильтра) мы имеем уравнение:

y(k) = h(n) * x(k)  H(z)X(z) = Y(z),

то, в принципе, возможна постановка и обратной задачи, задачи деконволюции - определение сигнала на входе линейной системы по значениям выходного сигнала:

X(z) = Y(z)/H(z) = Y(z)H-1(z)  y(k) * h-1(n) = x(k), (7.1.1)

где индексом "-1" символически обозначен оператор обратного фильтра, инверсный прямому. Очевидно:

H(z)H-1(z) = 1  h(n) * h-1(n) = o(n), (7.1.2)

H-1(z) = 1/H(z)  h-1(n). (7.1.3)

где o(n) - импульс Кронекера (o(n) = 1 при n = 0, o(n) = 0 при n ≠ 0).

Пример инверсии оператора через спектральное представление приведен на рис. 7.1.1 (исходный оператор hn  спектральная плотность H(ω)  инверсная спектральная плотность H-1(ω)  инверсный оператор h-1n на начальном интервале отсчетов).

Рис. 7.1.1.

Особенности деконволюции. Выражение (7.1.3) позволяет сделать некоторые выводы об особенностях выполнения деконволюции.

При ограниченной импульсной реакции h(n) инверсный оператор h-1(n) в общем случае не ограничен. Так, например, если импульсная реакция представлена нормированным диполем h(n) = {1,a}  (1+az) = h(z), то имеем:

H-1(z) = 1/(1+az) = 1-az+a2z2-a3z3+ ....

h-1(n) = {1, -a, a2, -a3,....}.

Это действительно практически для любых операторов фильтров, энергия которых на каких-либо ограниченных участках главного частотного диапазона близка к нулевой. При инверсии спектральной функции таких операторов на этих участках возникают резкие энергетические пики, которые при обратном преобразовании Фурье дает медленно затухающие функции операторов. Пример такого явления приведен на рис. 7.1.2.

Рис. 7.1.2.

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

Устойчивость фильтров деконволюции. Функция H(z) в выражении (7.1.3) имеет особые точки - нули функции, которые становятся полюсами функции H-1(z) = 1/H(z) и определяют устойчивость инверсного фильтра. Для того чтобы фильтр деконволюции был устойчивым, ряд 1/H(z) должен сходиться, т.е. полюса функции должны находиться вне единичного круга на z-плоскости.

Многочлен H(z) порядка N может быть разложен на N простых сомножителей - двучленов (диполей):

H(z) = (а-z)(b-z)(c-z)...., (7.1.4)

где а, b, с,.. - корни полинома. Обращение передаточной функции:

H-1(z) = (7.1.5)

Если каждый из диполей функции (7.1.4) является минимально-фазовым диракоидом, т.е. корни диполей находится вне единичного круга на z-плоскости и модули нулевых членов диполей всегда больше следующих за ними первых членов (в данном случае: |а|>1, |b|>1, |с|>1), то и функция H(z) в целом также является минимально-фазовым диракоидом. При этом максимум энергии импульсного отклика сосредоточен в его начальной части и последовательность отсчетов представляет собой затухающий ряд. Соответственно, и функция 1/H(z) также будет представлять собой сходящийся ряд, и инверсный фильтр будет устойчив. Так, например, фильтр, реализующий передаточную функцию (7.1.5), в самой общей форме может быть выполнен в виде включенных последовательно фильтров, каждый из которых имеет передаточную функцию следующего типа (для первого фильтра):

H1-1(z) = 1/(a-z) = (1+z/a+z2/a2+...)/a.

Пример 1 проверки устойчивости инверсного фильтра.

Оператор фильтра hn = {0.131, 0.229, 0.268, 0.211, 0.111, 0.039, 0.009, 0.001}, N = 7. Оценить возможность инверсии оператора.

1. Переводим значения оператора в полином по zn: H(z) = n hn zn.

Рис. 7.1.3.

2. Находим модули корней полинома: zn = {1.896, 1.896, 1.896, 2.87, 2.87, 1.253, 1.253}.

Модули всех корней больше 1, следовательно, полюсы инверсного полинома будут находиться за пределами единичной окружности на z-плоскости, и инверсный оператор устойчив. Форма исходного оператора и положение полюсов инверсного оператора на z-плоскости приведены на рис. 7.1.3. Попутно отметим, что чем дальше от единичной окружности ближайшие к ней полюса, тем быстрее затухает инверсный оператор фильтра.

Пример 2 проверки устойчивости инверсного фильтра.

Рис. 7.1.4.

Оператор фильтра hn практически тот же самый, но сдвинут вправо на один отсчет и, соответственно, дополнен новым нулевым отсчетом h0 = 0.048.

Находим новые модули корней полинома: zn = {1.271, 1.271, 1.271, 1.924, 1.924, 0.84, 0.84}.

Форма исходного оператора и положение полюсов приведены на рис. 7.1.4. Два полюса находятся внутри единичного круга, а, следовательно, инверсный оператор не будет устойчивым (будет незатухающим расходящимся рядом).

Обращение недиракоидных функций. Если H(z) - реверсоид, т.е. корни составляющих его диполей находятся внутри и на единичном круге в z-плоскости, то устойчивое обращение H(z) является антиимпульсом (с отрицательными степенями z) и для его использования необходимо располагать "будущими" значениями входного сигнала.

Пример.

Передаточная функция фильтра: H(z) = 1-2z. Инверсная функция H-1(z) = 1/(1-2z). Частотные спектры функций приведены на рис. 7.1.5.

Рис. 7.1.5.

Полюс функции zp = 1/2 и находится внутри единичного круга на z-плоскости.

Перепишем выражение для инверсного фильтра в следующем виде:

H-1(z) = -(1/2z) [1+1/2z+1/(2z)2+...].

Это выражение является разложением в ряд по степеням 1/z и сходится к кругу радиусом 1/2 при z → . Коэффициенты при степенях 1/z являются, соответственно, коэффициентами инверсного фильтра с координатами (-n), т.е. фильтр оперирует с "будущими" отсчетами входного сигнала (см. рис. 7.1.5).

Если диполи функции (7.1.4) представляют собой и диракоиды, и реверсоиды, то обращение будет центроидом и определяется полным рядом Лорана:

H-1(z) = ...+h-2z-2+h-1z-1+h0+ h1z1+h2z2+ ...,

т.е. оператор инверсного фильтра является двусторонним и не обязательно симметричным, как мы обычно рассматривали ранее двусторонние операторы.