logo search
ТеорИнфМетоды / Цифровая_обраб_сигналов

5.10. Фильтр Калмана.

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

Рис. 5.10. а – рекурсивная модель генерации сигнала; б – модель схемы измерения данных.

По существу, устройство калмановской оценки реализует процесс параметрического оценивания, основанный на авторегрессивной (АР) модели процесса генерации сигнала. АР-модель процесса превого порядка данного типа показана на рис. 5.10, а, а соответствующая модель измерений – на рис. 5.10,б. Модель измерений представляет просто усилительное зерноси источник адаптивного белого шумаv(n). Приняв эту модель генерации сигнала, поступающую выборку сигнала с номеромnможно определить как

y(n)=cx(n)+v(n). (5.36)

Рекурсивная формула оценки первого порядка имеет вид

. (5.37)

Отметим, что в (5.37) коэффициенты передачи обоих усилительных звеньев зависят от времени (структурная схема этого устройства оценки в общем виде показана на рис. 5.11).

Рис. 5.11. Обобщенная структурная схема рекурсивного устройства оценки первого порядка.

Для получения оптимального (с точки зрения метода наименьших квадратов) устройства оценки среднеквадратическая ошибка p(n)дифференцируется поb(n)иk(n), а результаты приравниваются нулю:

(5.38)

(5.39)

(5.40)

Соотношение между b(n)иk(n)можно вывести, воспользовавшись (5.39):

(5.41)

(5.42)

Подставив значение из (5.36), находим

(5.43)

Для оптимального устройства оценки должен выполняться принцип ортогональности, который приводит к следующим соотношениям:

и.

Тогда уравнение (5.43) примет вид

(5.44)

Из нашей модели генерации сигнала имеем

x(n)=ax(n–1)+g(n-1).(5.45)

Подставляя (5.45) в (5.44), получаем

(5.46)

Из уравнений (5.36) и (5.37) находим

(5.47)

а подстановка x(n)из (5.45) дает:

(5.48)

и поскольку среднее всех произведений членов (5.48) на g(n-1)равно нулю, можно записать

(5.49)

Воспользовавшись этим соотношением, преобразуем (5.46):

(5.50)

Это приводит к окончательному соотношению между b(n)иk(n):

(5.51)

Подставляя (5.51) в (5.37), находим

(5.52)

Уравнение (5.52) является определением рекурсивного устройства оценки первого порядка, или скалярного фильтра Калмана. Первый член предсказывает текущую выборку, а второй член корректирует на основании оценки ошибки с учетом калмановского коэффициентаk(n). Структура такого фильтра иллюстрируется на рис.5.12.

Рис. 5.12. Блок-схема скалярного фильтра Калмана первого порядка.

Определив структуру фильтра Калмана, необходимо получить выражения для изменяющегося во времени коэффициента усиления Калмана k(n). Сначала, подставляя (5.37) в (5.38), определим среднеквадратическую ошибку в виде

(5.53)

. (5.54)

Используем (5.36) вместо x(n)для подстановки в (5.54):

. (5.55)

Подставляя (5.55) в (5.54), находим

(5.56)

раскрывая e(n)и используя выражение (5.37) для x(n), получаем

, (5.57)

(5.58)

где σv2=E[v(n)]2. Теперь, подставляя (5.52) в выражение для среднеквадратической ошибки (5.38), имеем

(5.59)

а используя (5.36) и (5.45), находим

(5.60)

(5.61)

Подстановка (5.58) в (5.61) дает

(5.62)

Отметим, что сначала, зная p(n-1), надо рассчитатьk(n), а затем ужеp(n) по формуле

, (5.63)

Три уравнения: (5.52), (5.62) и (5.63) – являются рекурсивными уравнениями, необходимыми для реализации фильтра Калмана первого порядка. В отличие от фильтра Винера усиление фильтра Калмана должно быть выражено итерационным соотношением, а следовательно, его нельзя представить в виде универсального стационарного решения.

Методы обращения матриц. Для фильтра Винера-Хопфа при вычислении оптимального импульсного отклика фильтра необходимо выполнять обращение автокорреляционных или ковариационных матриц. Поэтому остановимся на методах обращения матриц, используемых при решении задач ЦОС.

Вычислительная сложность процедуры обращения матриц достаточно велика, поэтому предназначенные для решения задач ЦОС в реальном масштабе времени алгоритмы обращения должны допускать распараллеливание и конвейеризацию вычислений. По этим причинам для обращения матриц в задачах ЦОС часто используют методы обращения, основанные на процедуре исключения (алгоритмы Гаусса, Гаусса-Жордана) [12, 18]. Рассмотрим процедуру обращения матриц по методу Гаусса-Жордана.

Пусть для матрицы порядкатребуется найти обратную матрицу:

Заметим, что для матрицы может и не существовать обратная матрица. Для того, чтобы существовала матрица, необходимо и достаточно, чтобы матрицабыла не вырожденной [4], т.е. чтобы определитель матрицыdet[AN] ≠ 0.

Запишем матричное уравнение:

где IN - единичная матрица. Сформируем матрицу вида:

размером и заитераций приведем ее к виду:

при помощи соотношений:

(5.64)

(5.65)

причем a k-1lj=a^lj .Здесь - ведущий элемент, который может определяться по номеру итерации какk- тый элемент k- й строки, либо как максимальный элемент k -го столбца [4]. Выражение (5.65) определяет главный или ведущий элемент на каждой итерации и приведение (масштабирование) коэффициентов строки, содержащей главный элемент. Назовем такую строку ведущей. Выражение (5.29) определяет порядок исключения, т.е. вычитания ведущей строки из остальных строк матрицы.

Подобный алгоритм почти в N раз снижает вычислительные затраты по сравнению с обращением матрицы по формулам Крамера.

Тем не менее, вычислительная сложность процедуры обращения матрицы по выражениям (5.64) и (5.65) все же достаточно велика и составляет порядка N3 базовых операций.

С целью дальнейшего снижения вычислительной сложности в ряде случаев используют приближенные итерационные процедуры обращения, например, по алгоритму Ньютона. Согласно такому алгоритму, для матрицы выполняются последовательные приближения:

, (5.66)

где - произвольное начальное значение исходной матрицы. Если данная последовательность сходится, то ее пределом является.

Для ряда практических применений, например, расчета оптимального импульсного отклика адаптивного фильтра, используют упрощенные алгоритмы, к которым относится алгоритм Гриффитса [24]:

(5.67)

Вместо нахождения обратной матрицы при нахождении импульсного отклика фильтра Винера-Хопфа:

вычисляют матрицу:

(5.68)

где - некоторая действительная переменная:

Однако при этом остается открытым вопрос о сходимости последовательности , что требует в конкретном случае предварительного исследования такой сходимости.