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

				        Лекция 12

      Общие сведения по теории фильтрации
      Матричное уравнение регрессии является основным инструментом для пошагового уточнения не только постоянных параметров, но и вектора состояния, изменяющегося со временем. На нем основаны многие рекурсивные алгоритмы, известные как алгоритм Калмана. Среди всех алгоритмов следует выделить алгоритмы фильтрации, позволяющие выделять сигнал на фоне помех. Рассмотрим частный случай, когда наблюдения есть аддитивная смесь сигнала и помехи

										(12.1)
Пусть   – линейный оператор, преобразующий наблюдения    в оценку  
	
Роль этого оператора заключается в отделении   от  .  Процедура такого выделения сигнала называется фильтрацией. В некоторых случаях лучший результат можно получить, если оценивание сигнала   производить с запаздыванием на фиксированное время  
		
В этом случае процедура оценивания называется сглаживанием. В случае прогнозирования значения сигнала
		
процедуру оценивания называют упреждением или экстраполированием.
Все эти три типа задач можно объединить, если ввести понятие «желаемого» сигнала
		
где   – линейный оператор. В частности, если
		
будем иметь
	
Принципиально под    можно понимать любую линейную процедуру по переменной  :  дифференцирование, интегрирование со скользящими пределами и т.п.
Итак, по данным наблюдения    требуется определить оценку желаемого сигнала    Для того чтобы определить оптимальный в смысле наименьшей ковариационной матрицы оператор преобразования   и  , воспользуемся принципом некогеррентности погрешности оптимального оценивания к исходным данным. Другими словами, вся полезная информация, заключенная в исходных данных, должна быть исчерпана
		
Подставляя сюда вместо    линейное преобразование   и учитывая несмещенность оценки, при которой выполняется равенство
		
получим
	 
Следовательно, для определения оператора   имеем уравнение
										(12.2)
В частности, когда
		
уравнение (12.2) превращается в следующее
								(12.3)
Наконец, если    и   – скалярные стационарные случайные функции,   – импульсная характеристика стационарной системы, и положив    получим интегральное уравнение Винера-Хопфа
		
или
		.							(12.4)
Итак, для успешного решения задачи оценивания желаемого сигнала  , детерминировано связанного с  , по данным наблюдения   необходимо располагать априорной информацией о свойствах сигналов   и  . Например, для решения уравнения Винера-Хопфа (12.4), позволяющего определить интегральную переходную функцию   (или частотную характеристику!), необходимо знать автокорреляционную функцию наблюдений   и взаимную корреляционную функцию желаемого сигнала и наблюдений   Вместо них могут быть априорно заданы спектральные плотности этих сигналов или дифференциальные уравнения, решения которых суть случайные функции с заданными характеристиками. В последнем случае динамическая система называется формирующим фильтром. Например, для задания случайного процесса с автокорреляционной функцией
		
и со спектральной плотностью
		
нужно иметь формирующий фильтр, заданный уравнением первого порядка
		
где   – «белый шум»  с интенсивностью
		.
Формирующим фильтром является стационарная многоканальная система, подчиняющаяся матричному дифференциальному уравнению
										(12.5)
где   –вектор-функция, составляющие которой являются случайными функциями типа «белый шум». Можно показать, что при условии асимптотической устойчивости формирующего фильтра корреляционные функции всех составляющих вектора   и их взаимные корреляционные функции определяются линейными комбинациями функций типа   Спектральные плотности, соответствующие этим корреляционным функциям, имеют вид отношений полиномов от четных степеней частоты.
Уравнение Винера-Хопфа (12.4) имеет строгое аналитическое решение для так называемых марковских процессов различного порядка. Таким образом, представление формирующего фильтра в виде дифференциального уравнения (12.5) является достаточно универсальным, хотя существуют в природе процессы, которые не могут быть представлены таким образом.
Формирующий фильтр (12.5) может «генерировать» и такие сигналы, которые нельзя отнести к стационарным случайным процессам. Иллюстрацией к этому может служить так называемая «модель дрейфа»
		
Эта система наблюдаема, хотя наблюдения содержат шум. Видим, что  . Пусть   тогда
		
Неизвестные постоянные составляющие определяют из наблюдений методом наименьших квадратов.

Фильтр Калмана для дискретных наблюдений и дискретной модели сигнала

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

										(12.6)
Допустим, что в некоторый фиксированный момент нам известны априорные значения оценки вектора состояния и ковариационной матрицы погрешности, которые обозначим соответственно через   и  , временно опуская индекс  . 
Построим уравнение регрессии между случайными векторами: погрешностью оценивания   и остаточной разностью  :
	.								(12.7)

Умножив обе части уравнения справа на  , вычислим математическое ожидание
	
Поскольку   будем иметь
	
Учитывая некоррелированность   и ошибки  , получим
	,							(12.8)
где через   обозначена ковариационная матрица шумов
	
Отсюда
	.							(12.9)
Для экстраполяции значения  x  по заданному    и наблюдению  z  воспользуемся снова линейной зависимостью типа  (12.7), проводя прямую через точки   с угловым коэффициентом   (формула (12.9))
	.							(12.10)
Определим теперь апостериорную дисперсию  

	
Рассмотрим полученное выражение почленно:
а)  – ковариационная матрица погрешности априорной оценки  ;
б) 
ибо    вследствие независимости   от  ;
в)  
г)  
или с учетом (12.8)
						(12.11)
Суммируя (а), (б), (в) и (г), получим
	.								(12.12)
Итак, с получением информации в момент    можно уточнить и оценку вектора состояния, и ковариационную матрицу ошибки оценивания.
Чтобы перейти к следующему моменту времени   , необходимо получить снова априорные (предсказанные) оценки     и   Для этого обратимся к модели сигнала (12.6). Поскольку величина    нам неизвестна, остается для априорной оценки вектора состояния положить
										(12.13)
Ковариационную матрицу погрешности получим следующим образом
			(12.14)
где   – ковариационная матрица «возбуждающих шумов»  .
Итак, известны новые значения для априорно заданных вектора состояния и матрицы ковариаций. Это исходная позиция для нового шага определения апостериорных    и   и т.д.
Весь алгоритм дискретного фильтра Калмана, таким образом, можно изобразить в виде пяти основных равенств.
Дано:  
Определяем:
	
								(12.15)
Для того, чтобы этот рекурсивный алгоритм заработал, необходимо задать начальные априорные вектор состояния и ковариационную матрицу . Поскольку они могут не совпадать с истинными значениями этих характеристик состояния динамической системы, то эти неверно заданные начальные условия дадут искаженную оценку оцениваемого вектора состояния. Поскольку формирующий фильтр предполагается асимптотически устойчивой системой, постепенно влияние начальных условий сойдет на нет и фильтр будет работать устойчиво.
Одно из важных условий, соблюдение которого обязательно для работы фильтра, – наблюдаемость системы. Поэтому прежде, чем строить программу алгоритма, необходимо убедиться в наблюдаемости динамической системы «модель сигнала – наблюдения».

Фильтр Калмана для дискретных наблюдений и непрерывной модели сигнала

В отличие от случая, рассмотренного в предыдущем разделе, модель сигнала возьмем в виде матричного дифференциального уравнения
								(12.16)
где   – вектор размера  ,   – квадратная матрица, а   – белый шум – вектор с интенсивностью  , имеющий тот же размер, что и вектор состояния. Будем считать, что наблюденная информация поступает в дискретные моменты времени  
								(12.17)
Как мы видели, фильтр Калмана реализуется в два этапа. Первый этап – коррекция априорной оценки  – выполняется по тем же формулам, что и для дискретной модели. Это первые три формулы из (12.15). В обозначениях настоящего раздела они принимают вид
				(12.18)
Второй этап – экстраполяция оценок    и     на момент времени    – в непрерывном варианте должен опираться на дифференциальное уравнение системы, решение которого имеет вид
	
Функция     нам неизвестна, поэтому в качестве априорной оценки     в момент    примем
								(12.19)
Теперь нужно определить ковариационную матрицу погрешности для   Очевидно, что
	.
Для сокращения записи будем обозначать
	
Теперь
	
Вычислим матрицу ковариаций

Очевидно, что
		
поэтому
	(12.20)
На практике при экстраполяции вектора состояния с момента    на   мы рискуем внести большую погрешность за счет неучета влияния  ,  если интервал времени    слишком велик. При малых    формулы (12.19) и (12.20) могут быть упрощены.
Рассмотрим однородное уравнение
	
Для малых    можно записать
	
Сравнивая полученное выражение с (12.19), получим
								(12.21)
Следовательно, вместо (12.19) можно записать
							(12.22)
Подставляя (12.21) в (12.20), получим

Аналогично

Учитывая малость  , в дальнейшем будем пренебрегать величиной  . Кроме того будем также считать    малой величиной, так как в противном случае приращение   не будет малой величиной. Тогда
	
Введем обозначение
	
Теперь вместо (12.20) получим окончательную формулу для экстраполирования ковариационной матрицы погрешности оценивания
			(12.23)
Итак, формулы (12.18), (12.19) и (12.20) или формулы (12.18), (12.22) и (12.23) описывают алгоритм фильтрации в случае непрерывно изменяющегося сигнала  , формирующим фильтром которого является матричное уравнение (12.16).
В заключение нужно отметить, что в настоящее время существует много модификаций алгоритма фильтра Калмана, получивших широкое распространение в научных исследованиях. Среди них нужно отметить непрерывный алгоритм Калмана, случай с «цветными» шумами в наблюдениях, сглаживающие алгоритмы, применяющиеся в измерениях. Калмановская фильтрация прекрасно комплектуется с задачами управления, когда реальные наблюдения, участвующие в формировании сигнала управления в цепи обратной связи, оказываются «зашумленными». В практике геофизических и астрономических научных исследований нашли применение так называемые адаптивные фильтры Калмана. Из-за ограниченности объемов нашего курса мы не можем останавливаться на всех этих алгоритмах. Они заслуживают специального рассмотрения.