A(z) = H(z)H*(z), (13.3.6)
где H*(z)- функция, комплексно сопряженная с H(z). Переносим H(z) в левую часть формулы и для функций диракоидного типа заменяем выражение 1/H(z) = H-1(z):
А(z)H-1(z) = H*(z). (13.3.7)
Запишем последнее равенство в развернутом виде:
(a-Nz-N+ ... +a-1z-1+a0+a1z1+ ... +aNzN)(h0-1+h1-1z1+h2-1z2+ ... +hN-1zN) =
= h0*+h1*z-1+h2*z-2+ ... +hN*zN. (13.3.8)
В выражении (13.3.8) сумма коэффициентов при одинаковых степенях z в левой части равенства должна быть равна коэффициенту при соответствующей степени z в правой части равенства, что позволяет составить следующую систему из N уравнений для коэффициентов при степенях z0, z1, z2, ... , zN:
a0 h0-1 + a-1 h1-1 + a-2 h2-1 + a-3 h3-1 + ... + a-N hN-1 = h0* (13.3.9)
a1 h0-1 + a0 h1-1 + a-1 h2-1 + a-2 h3-1 + ... + a-N-1 hN-1 = 0
a2 h0-1 + a1 h1-1 + a0 h2-1 + a5 h3-1 + ... + a-N-2 hN-1 = 0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
aN h0-1 + aN-1 h1-1 + aN-2 h2-1 + aN-3 h3-1 +... +a0 h-N -1 = 0
В случае вещественных фильтров, когда ai = a-i и h0* = h0, уравнение (13.3.9) идентично уравнению (13.3.5).
Уравнение Левинсона. Практический способ расчета оптимальных инверсных фильтров по уравнению (13.3.9) предложен в 1947 году Н.Левинсоном.
Перепишем уравнение (13.3.9) в матричной форме:
(13.3.10)Так как коэффициенты инверсного фильтра достаточно определить с точностью до произвольного масштабного множителя, приведем ho-1 к 1, a функцию автоковариации переведем в функцию коэффициентов корреляции делением обеих частей уравнения на ао. Обозначая Ai = ai/ao, Wi = hi-1/ho-1 и V = ho*/(ho-1ao) = hoho*/ao , получаем:
(13.3.11)где для значений W и V введен индекс j номеров предстоящих итераций по циклу вычисления коэффициентов фильтра.
При нулевой итерации (N=0, j=0) имеем только одно уравнение:
. (13.3.12)Благодаря проведенной нормировке решения уравнения (13.3.12) не требуется:
А0= 1, V0= 1, W00= 1.
Составим уравнение для двучленного фильтра (N=1, j=1):
(13.3.13)Перепишем уравнение (13.3.12) в прямой форме:
А0 W00 = V0. (13.3.14)
Запишем вспомогательную систему, для чего к уравнению (13.3.14) добавим вторую строку с новой постоянной Ej:
A0 W00 + A1·0 = V0,
A1 W00 + A0 ·0 = E1.
В матричной форме:
(13.3.15)Реверсируем уравнение (13.3.15):
(13.3.16)Вычтем (13.3.16) из (13.3.15) с неопределенным множителем Rj:
(13.3.17)Из верхней строки уравнения (13.3.16) можно получить значение Е1:
Е1= A1W00. (13.3.18)
Уравнение (13.3.13) можно сделать равнозначным уравнению (13.3.17), если правую часть нижней строки уравнения (13.3.17) приравнять к правой части нижней строки уравнения (13.3.13):
E1 - R1V0 = 0, R1 = E1/V0. (13.3.19)
При этом из правых частей верхних строк уравнений (13.3.13, 13.3.17) будем иметь:
V1 = V0 - R1E1. (13.3.20)
Приравнивая друг другу левые части уравнений (13.3.13,13.3.17), получаем:
W01 = W00 - R1·0 = W00 = 1.
W11 = 0 - R1W00 = -R1W00. (13.3.21)
Этим заканчивается первая итерация. Аналогично, для второй итерации:
(13.3.22) (13.3.23) (13.3.24) (13.3.25)Из верхней строки уравнения (13.3.24):
Е2 = A1W11+A2W01.
Из правых частей нижней и верхней строк уравнений (13.3.22, 13.3.25):
R2 = E2/V1,
V2 = V1 - R2E2.
Новые коэффициенты из левых частей уравнений (13.3.22, 13.3.25):
W02 = W01 - R2 0= 1,
W12 = W11 - R2W11,
W22 = 0 - R2W01.
Анализ расчетов позволяет вывести следующие рекуррентные формулы:
Ej =
AiWj-i,j , j = 1,2,...,M. (13.3.26)Rj = Ej/Vj-1,
Vj = Vj-1 - RjEj,
Wi,j = Wi,j-1 - RjWj-1,j-1, i = 0,1,.., j.
Подпрограммы решения уравнений для ЭВМ приведены в литературе /12,22/.
Курсовая работа 21-07. Разработка программы расчета оптимального фильтра деконволюции сигналов и фильтрации цифровых данных.
13.4. Рекурсивная деконволюция /22/.
Уравнение фильтра рекурсивной деконволюции. Запишем уравнение (13.1.2) для инверсного фильтра в развернутой форме:
H-1(z) = 1/(h0+h1z+h2z2+ ...). (13.4.1)
Так как для минимально-фазового оператора всегда выполняется условие h0 0, приведем (13.4.1) к виду:
H-1(z) = (1/h0)/(1+h1z/h0+h2z2/h0+...) = G/(1+q1z+q2z2+ ...), (13.4.2)
где: G = 1/h0, q1 = h1/h0, q2 = h2/h0 и т.д. Но уравнение (13.4.2) есть не что иное, как уравнение передаточной функции рекурсивного фильтра, где цепь обратной связи образована коэффициентами нормированного оператора h(n). Алгоритм вычислений:
yk = G·xk –
qn·yk-n.Выражение (13.4.2) уникально по своим возможностям. В принципе, оно может реализовать оператор инверсной фильтрации с бесконечным импульсным откликом. На практике оно может использоваться вместо медленно затухающих инверсных операторов, модуль одного из полюсов которого очень близок к 1 (менее 1.1) при высоких требованиях к метрике приближения.
Пример рекурсивной деконволюции.
Рис.13.4.1. |
Оператор hn = {0.41, 0.791, 0.401, -0.193, -0.367, -0.166, 0.032, 0.068, 0.027, -0.001}, N=9.
1. Модуль одного из корней фильтра равен 1.032, что приводит к очень слабому затуханию инверсного оператора. Метрика приближения даже при N=100 для усеченного оператора составляет 0.3. Форма операторов приведена на рис. 13.4.1.
Рис.13.4.2. |
2. При использовании оптимального инверсного оператора с N=100 значение погрешности приближения уменьшается более чем в 20 раз, что позволяет уменьшить длину оператора до N=35 при погрешности приближения порядка 0.1 (рис 13.4.2(А)), при этом абсолютные значения погрешностей приближения не превышают 0.03 (рис. 13.4.2(В)).
3. Расчет коэффициентов фильтра рекурсивной деконволюции:
G = 1/ho = 2.441
gn = hn·G. gn = {1.932, 0.978, -0.472, -0.896, -0.405, 0.077, 0.165, 0.065, -0.003}, n=1, …, 9.
Рис. 13.4.3. |
На рис. 13.4.3 приведен результат рекурсивной деконволюции оператора hn. Деконволюция абсолютно точно, с нулевой метрикой, восстанавливает импульс Кронекера, хотя собственный импульсный отклик рекурсивного оператора повторяет оператор h-1n при его вычислении по формуле (13.2.2) и длительность его значимой части близка к 200. Коэффициент усиления дисперсии шумов при данной операции вычисляется по значениям импульсного отклика оператора рекурсивной деконволюции и весьма существенен, как и для всех инверсных операторов.
Курсовая работа 22-07. Разработка программы расчета рекурсивного фильтра деконволюции сигналов и фильтрации цифровых данных.