Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Книга по ЦОС в формате pdf

.pdf
Скачиваний:
219
Добавлен:
01.05.2014
Размер:
598.54 Кб
Скачать

Воспользовавшись (21.6) получаем, что hAX, Xi = 0, что противоречит положительной определенности матрицы A.

Заметим, что в подавляющем большинстве практических случаев кор• реляционная матрица наблюдаемого сигнала Ryy положительно определе• на.

Как и в случае корреляционной матрицы можно получить оценку для кросс-корреляционыого вектора входного и опорного сигналов. Аналогично (21.4)

 

1 N −1

 

ryx

 

X

 

N

m=0 Ymxm.

(21.7)

Как и в (21.5) получаем

 

ryx ≈ λryx + Ymxm.

(21.8)

Обозначим средний квадрат ошибки в (21.2) через ζ. Если считать что входной Ym и опорный xm сигналы являются стационарными случайными величинами, то функция ζ = ζ(W ) есть квадратичная функция компонен• тов вектора весовых коэффициентов. Вычислим градиент функции ζ(W )

(ζ) = = ∂W

=

∂w0

, ∂w1

. . . , ∂wL

= 2Ryy W − 2ryx.

(21.9)

 

∂ζ

 

 

∂ζ

 

∂ζ

 

∂ζ

 

 

Если матрица Ryy положительно определена, то квадратичная функция ζ(W ) является сильно выпуклой функцией и ее минимальное значение достигается в стационарной точке W , в которой градиет равен нулю. Тогда из (21.9) получаем

0 = = 2Ryy W − 2ryx.

(21.10)

Полагая, что Ryy неособенная матрица, из (21.10) находим вектор W , ино• гда называемый винеровским вектором весовых коэффициентов

W = Ryy−1ryx.

(21.11)

Равенство (21.11) называют уравнением Винера–Хопфа, записанным в мат• ричной форме. Подставляя теперь (21.11) в (21.2) получаем минимальное значение ζ(W )

ζmin = rxx − 2hW , ryxi + hRyy W , W i = rxx − hW , ryxi.

(21.12)

Используя (21.12) можно представить ζ(W ) в виде

 

ζ = ζmin + hRyy (W − W ), (W − W )i.

(21.13)

61

Действительно, так как Ryy симметрическая матрица, то для любых векторов X и Y справедливо

hRyy X, Y i = hRyy Y , Xi.

Тогда

ζ = ζmin + hRyy (W − W ), (W − W )i =

 

= ζmin + hRyy W , W i − 2hRyy W , W i + hRyy W , W i =

(21.14)

= ζmin + hRyy W , W i − 2hW, ryxi + hW , ryxi =

 

= hRyy W , W i − 2hW, ryxi + rxx.

Справедливость представления (21.13) установлена.

Квадратичную форму в (21.13) можно привести к более удобному ви• ду, если ввести вектор отклонения весовых коэффициентов

V = W − W = (v0, v1, . . . , vL).

(21.15)

Тогда выражение (21.13) принимает вид

ζ = ζmin + hRyy V , V i.

(21.16)

Вектор V отклонение вектора весовых коэффициентов от винеровского оптимального вектора весовых коэффициентов. Если Ryy – положительно определена, то из (21.16) очевидно, что любое отклонение W от W вызыва• ет увеличение функции ζ. Заметим, что градиент функции ζ относительно V такой же, как в (21.9), так как оба вектора V и W отличаются только на константу. Таким образом

=

∂ζ

=

 

∂ζ

= 2Ryy V = 2Ryy W − 2ryx = 2(Ryy W − ryx). (21.17)

 

 

 

∂W

∂V

При W = W имеет место полезное и важное соотношение между сигналом ошибки и компонентами вектора входного сигнала. Умножим обе части скалярного равенства (20.2) на Ym. Тогда

ǫmYm = xmYm − hW, YmiYm = xmYm − YmhW, Ymi =

 

 

 

 

 

x

 

Y

m

Y

Y

 

, W

i =

x

 

Y

m

Y

 

Y T W

 

x

 

Y

R

m)W.

=

 

m

 

 

mh

m

 

 

m

 

 

m

m

=

 

m

 

m byy (

(21.18)

Найдем математическое ожидание функции (21.18)

 

 

 

 

 

 

 

 

 

 

 

 

E{ǫmYm} = ryx − Ryy W.

 

 

 

 

 

(21.19)

62

Подставим в (21.19) оптимальное значение W = W . Тогда

E{ǫmYm}W =W = 0.

(21.20)

Равенство (21.20) дает хорошо известный результат теории фильтрации: если импульсная характеристика адаптивного фильтра оптимальна т. е. W = W , то сигнал ошибки не коррелирован (ортогонален) со входным сигналом, взятым с весовыми коэффициентами.

Вернемся к поиску минимума функции ζ(W ). Умножая векторное ра•

венство для градиента (21.17) слева на Ryy−1 и используя (21.11) имеем

2

1

Ryy−1 = W − Ryy−1ryx = W − W .

(21.21)

 

 

 

2

Перепишем (21.21) в виде

 

1

 

 

 

 

 

W = W −

 

 

Ryy−1 .

(21.22)

 

 

2

Равенство (21.22) запишем в виде адаптивного алгоритма

 

1

Ryy−1 m.

(21.23)

 

 

Wm+1 = Wm

 

 

 

2

Равенство (21.23) описывает метод Ньютона. Если функция ошибки явля• ется квадратичной, то этот метод, как и (21.22) приводит к оптимальному решению за один шаг.

Для функции ζ(W ) оценка корреляционной матрицы Ryy изменяется на каждой итерации, поэтому, для того, чтобы использовать соотношение (21.23), на каждой итерации нужно пересчитывать оценку Ryy и соответ• ственно Ryy−1. Используем для пересчета Ryy оценку с экспоненциальным окном забывания (21.5).

Справедливо следующее утверждение.

Лемма 21.1 (об обратной матрице). Пусть A и B положительно определенные L × L матрицы, связанные соотношением

A = B−1 + CD−1CT ,

(21.24)

где D – положительно определенная N × N матрицa и C некоторая

L

×

N матрицa. Тогда для обратной матрицы A−1

справедлива формула

 

A−1 = B − BC D + CT BC −1 CT B.

 

 

 

(21.25)

63

Применим формулу (21.25) для пересчета оценки Ryy−1, где Ryy вычис• ляется по схеме (21.5). Тогда в обозначениях леммы об обратной матрице

имеем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ryy (m) = A,

1

Ryy−1(m − 1) = B,

 

Ym = C,

 

 

D = I,

(21.26)

 

 

 

 

 

 

λ

 

 

 

где I единичная матрица. Подставляя (21.26) в (21.25) получаем

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

1

R−1

(m

 

1)Y

m

Y T R−1

(m

 

 

1)

 

 

Ryy−1(m) =

 

 

 

Ryy−1(m − 1) −

 

 

 

 

yy

 

 

 

 

 

 

 

 

 

 

m

 

yy

 

 

.

(21.27)

 

λ

λ2

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 +

 

 

 

 

 

 

R−1(m

1)Ym, Ym

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

λh

 

yy

 

 

 

 

 

 

 

 

 

 

 

 

 

Для упрощения дальнейших преобразований введем обозначения:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Φyy (m) = Ryy−1(m),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

R−1(m

1)Y

m

 

 

 

 

1

 

 

 

 

 

 

 

 

Φ

yy

(m

1)Y

m

 

 

 

 

m =

 

 

 

 

 

 

 

 

 

yy

 

 

 

 

 

 

 

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(21.28)

λ

 

 

 

 

1

 

 

R−1

(m

 

 

1)Ym, Ym

 

λ

 

 

 

 

 

1

 

 

Φyy (m

 

 

1)Ym, Ym

 

 

1 +

 

 

 

 

 

 

 

1 +

 

 

 

 

 

 

 

λh

i

λh

i

 

 

 

 

 

 

yy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C учетом обозначений (21.28) рекуррентную формулу (21.27) для вычисле•

ния Ryy−1(m) можно записать в виде

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Φyy (m) =

1

 

 

 

 

 

 

 

 

 

 

1

 

mYmT Φyy (m − 1).

 

 

 

 

 

 

 

 

 

 

 

 

Φyy (m − 1) −

 

 

 

 

(21.29)

 

 

 

 

 

 

λ

λ

 

 

C учетом (21.29) формулу (21.28) для m можно упростить

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

1

 

mYmT Φyy (m − 1) Ym = Φyy (m)Ym.

 

 

m =

 

Φyy (m − 1) −

 

 

 

(21.30)

λ

 

λ

C учетом соотношений (21.29) и (21.30) получим теперь формулы для рекурсивного метода наименьших квадратов. Запишем один шаг метода

Ньютона в виде приближенного уравнения Винера-Хопфа

 

Wm = Ryy−1(m)ryx(m) = Φyy (m)ryx(m).

(21.31)

Используем для оценки ryx формулу (21.8) с экспоненциальным окном за• бывания. Тогда для (21.31) получим

Wm = Φyy (m) [λryx(m − 1) + Ymxm] = λΦyy (m)ryx(m − 1) + Φyy (m)Ymxm.

 

 

 

 

 

(21.32)

C учетом (21.29) и (21.30) равенство (21.32) преобазуется к виду

Wm =

λ Φyy (m − 1) −

λ mYmT Φyy (m − 1)

λryx(m − 1) + mxm =

 

1

 

1

 

 

= Φyy (m − 1)ryx(m − 1) − mYmT Φyy (m − 1)ryx(m − 1) + mxm.

(21.33)

64

Заметим, что согласно (21.31)

Wm−1 = Φyy (m − 1)ryx(m − 1).

Подставляя последнее равенство в (21.33) и учитывая (20.2) имеем

Wm = Wm−1 m(xm − hYm, Wm−1i) = Wm−1 mǫm.

(21.34)

Запишем теперь получившийся алгоритм по шагам. Входными данными для него являются наблюдаемый и опорный сигналы Ym и xm.

Инициализация (m = 0).

Полагаем Φyy (0) = δI, W0 = Winit.

Очередной шаг (m = 1, 2, . . . ,).

1.

Вычисляем вектор m согласно (21.30)

 

 

m =

 

1

 

 

 

 

Φyy (m − 1)Ym

.

 

 

λ

1

yy (m − 1)Ym, Ymi

 

 

 

 

 

 

1 +

 

 

 

 

 

λ

 

2.

Вычисляем сигнал ошибки согласно (20.2)

 

 

 

ǫm = xm − hYm, Wm−1i.

 

3.Вычисляем текущий вектор коэффициентов адаптивного фильтра со• гласно (21.34)

Wm = Wm−1 mǫm.

4.Вычисляем текущую оценку обратной корреляционной матрицы со• гласно (21.29)

Φyy (m) = λ1 Φyy (m − 1) − λ1 mYmT Φyy (m − 1).

22.Метод наискорейшего спуска

Рассмотрим еще один метод поиска минимума функции ζ(W ). Быст• рая сходимость метода Ньютона (в случае, когда ζ(W ) – квадрадичная функция) является достоинством при численном анализе процессов, когда нужно уменьшить число итераций при поиске минимума. Однако, алгорит• мы с меньшей скоростью сходимости также имеют свои достоинства. При

65

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

Метод наискорейшего спуска для поиска минимума функции ζ(W ) можно записать следующим образом

Wm = Wm−1 − µ m−1,

(22.1)

где параметр µ является константой, определяющей размер шага, а век• тор m−1 градиент функции ζ в точке Wm−1, определенный в (21.9). Подставим в (22.1) сначала (21.9), а затем (21.10). При этом

Wm = Wm−1 + 2µRyy (W − Wm−1) = (I − 2µRyy )Wm−1 + 2µRyy W . (22.2)

Рассмотрим вектор смещения весовых коэффициентов Vm = Wm −W , введенный в (21.15). Тогда равенство (22.2) примет вид

Vm = (I − 2µRyy )Vm−1.

(22.3)

Пусть {λ0, λ1, . . . , λL} собственные числа матрицы Ryy без учета кратности. Рассмотрим ортонормированный базис соответствующих соб• ственных векторов {Q0, Q1, . . . , QL}

Ryy Qi = λiQi, kQik = 1, i = 0, 1, . . . , L hQi, Qii = 0 при i 6= j.

(22.4)

Объединяя L + 1 равенств (22.4) получаем равенство

 

 

 

Ryy [Q0 Q1

. . . QL] = [Q0 Q1

. . . QL]

..

λi

..

(22.5)

 

 

 

λ0

· · ·

0

 

 

 

 

 

.

 

.

 

 

 

 

 

0

· · ·

λL.

 

Обозначим через Q матрицу из столбцов собственных векторов Qi

Q= [Q0 Q1 . . . QL] ,

ачерез Λ диагональную матрицу собственных чисел. Тогда равенство (22.5) можно переписать в виде

Ryy Q = QΛ или Ryy = QΛQ−1.

(22.6)

Равенство (22.6) называется нормальной формой матрицы Ryy . Так как {Q0, Q1, . . . , QL} ортонормированный базис, то очевидно, что матрица Q также ортонормированная, т. е.

QQT = I и следовательно Q−1 = QT .

66

Поставляея последнее равенство в (22.6) имеем

 

 

 

 

Ryy = QΛQT .

 

(22.7)

Введем обозначения

 

 

 

 

 

 

Vˆ = QT V = Q−1V.

 

(22.8)

Тогда с учетом (22.7) перепишем равенство (21.16) в виде

 

ζ = ζmin + hRyy V , V i = ζmin + V T Ryy V = ζmin + V T (QΛQT )V =

(22.9)

T T

T

ˆ T

ˆ

ˆ ˆ

 

= ζmin + (Q V )

Λ(Q V ) = ζmin + V

ΛV = ζmin + hΛV , V i.

 

 

 

 

ˆ

 

 

 

 

Дифференцируя (22.9) по V получаем равенство для градиента анало•

гичноe (21.17)

 

 

 

 

 

 

 

=

∂ζ

ˆ

 

T

 

 

 

 

 

 

 

ˆ

= 2ΛV = 2 [λ00

λ11 . . . λLL]

 

.

(22.10)

 

∂V

 

 

 

 

 

Замечание 22.1. Заметим, что преобразование (21.15) смещение

к началу координат, а (22.8) вращение к главным осям.

 

Используя введенные обозначения (22.8) и представление (22.7) преоб•

разуем уравнение (22.3). Имеем

 

 

 

 

QVˆm = (QQ−1 − 2µQΛQ−1)Vm−1 = (Q − 2µQΛ)Vˆm−1.

(22.11)

Умножив слева (22.11) на Q−1, получим

 

 

 

 

 

 

ˆ

 

ˆ

 

 

(22.12)

 

 

Vm

= (I − 2µΛ)Vm−1.

 

 

Применяя равенство (22.12) m − 1 раз приходим к

 

 

 

 

 

ˆ

 

m ˆ

 

 

(22.13)

 

 

Vm

= (I − 2µΛ) V0.

 

 

Из (22.13) очевидно, что алгоритм наискорейшего спуска сходится, если

 

lim (I

2µΛ)m = 0.

 

 

(22.14)

 

m

→∞

 

 

 

 

 

 

 

 

 

 

 

В силу диагональности матрицы I −2µΛ равенство (22.14) можно записать

в виде

 

 

 

 

 

 

 

limm→∞(1 − 2µλ0)m

limm→∞(1 − 2µλ1)m

µλ

 

= 0.

 

 

 

 

...

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

limm→∞(1 − 2

L)

 

 

 

 

 

 

 

 

(22.15)

67

Из (22.15) очевидно, что условие сходимости выполняется, если

0 < µ <

 

1

,

(22.16)

λ

 

 

 

max

 

где λmax максимальное собственное число матрицы Ryy . При выполнении условия (22.16)

ˆ

lim Vm = 0. (22.17)

m→∞

Подставляя в (22.17)

ˆ −1 −1

V = Q V = Q (W − W ),

получаем

lim Wm = W .

m→∞

Замечание 22.2. Из (22.15) видно, что собственное число λi опреде• ляет скорость сходимости вектора коэффициентов W по i-й компонен• те. Таким образом общая скорость сходимости определяется размахом корреляционной матрицы λmaxmin.

23.Метод минимальной среднеквадра• тичной ошибки (LMS)

Согласно (20.2) сигнал ошибки фильтра в момент времени m определя• ется как

ǫm = xm − WmT Ym = xm − hWm, Ymi.

(23.1)

Процесс адаптации основан на минимизации мгновенного значения квадрата ошибки. Из (23.1) имеем

ζ(Wm) = ǫm2 = xm2 − 2xmhWm, Ymi + hYmYmT Wm, Wmi.

(23.2)

Если считать что входной Ym и опорный xm сигналы являются стацио• нарными случайными величинами, то функция ζ = ζ(W ) есть квадратич• ная функция компонентов вектора весовых коэффициентов.

Замечание 23.1. Как и в случае критерия среднего квадрата ошиб• ки имеет место следующее свойство функции ζ. Если матрица YmYmT положительно определена, то квадратичная функция ζ(W ) являет• ся сильно выпуклой функцией и ее минимальное значение достигается в стационарной точке W , в которой градиет равен нулю.

68

Заметим, что

hYmYmT X, Xi = hYm, Xi2 > 0, для любого вектора X,

следовательно матрица YmYmT всегда неотрицательно определена и явля• ется вырожденной только когда kYmk = 0, т. е. сигнал Ym тождествен• ный ноль.

Вычислим градиент функции ζ(W ) в точке Wm. Используя (23.1) по• лучаем

(ζ(W ))W =Wm

= m = ∂W |W =Wm

=

∂w0

, ∂w1

. . . , ∂wL

=

(23.3)

 

 

∂ζ

 

 

∂ζ

 

∂ζ

 

∂ζ

 

 

= 2YmYmT Wm − 2xmYm = −2Ym(xm − WmT Ym) =

= −2ǫmYm.

Имея такую простую оценку для градиента m определим адаптивный алгоритм, аналогичный формуле метода наискорейшего спуска. Из (22.1) имеем формулу алгоритма:

Wm = Wm−1 − µ m−1 = Wm−1 + 2µ ǫm−1 Ym−1.

(23.4)

Здесь, как и для метода наискорейшего спуска параметр µ определяет ско• рость и устойчивость процесса адаптации.

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

Основными преимуществами алгоритма LMS является простота вы• числений и небольшие требования по памяти. Легко убедится в том, что вычислительная сложность алгоритма есть O(L), где L - длина фильтра.

Как и в предудущих случаях легко показать, что процесс вычислений (23.4) будет устойчивым, если

0 < µ <

2

.

(23.5)

 

λmax

Заметим, что

 

 

 

λmax 6 tr[Ryy ],

(23.6)

69

где tr[ ] обозначает след матрицы (сумму ее диагональных элементов). Для трансверсального адаптивного фильтра

tr[Ryy ] = (L + 1)E [ym2 ],

или мощности наблюдаемого сигнала, умноженной на L + 1. Тогда из (23.6) справедливо

0 < µ <

2

 

(L + 1)E [ym2 ].

(23.7)

Обычно на практике применяется оценка (23.7). Она строже, чем (23.5), но ее проще использовать, так как вычислить можность сигнала существенно легче, чем найти оценку Ryy и определить ее собственные числа.

24.Модификации классического LMS алгоритма

Leaky LMS фильтр. Минимизируемая функция (функция стоимо• сти) имеет вид:

ζ(Wm) = ǫ2m + γkWmk2.

Пересчет вектора коэффициентов адаптивного фильтра ведется по формуле

Wm+1 = (1 − µγ)Wm + µ ǫmYm.

(24.1)

Процесс вычислений (24.1) будет устойчивым, если

 

2

.

(24.2)

0 < µ <

 

λmax + γ

При этом γ и µ согласованы условием

0 < 1 − µγ < 1, т. е. 0 < µγ < 1.

VS LMS LMS алгоритм с переменным шагом. Для вычисле• ния величины очередного шага используется последнее значение сигна•

ла ошибки ǫm. Пересчет вектора коэффициентов адаптивного фильтра ведется по следующей схеме

Wm+1 = Wm + µm ǫmYm,

 

µm+1

= αµm + γǫm2 ,

(24.3)

µmin

6 µn 6 µmax, 0 < α < 1, γ > 0.

 

70