Самообразование
Главная > Методы обработки сигналов > Модели и методы обработки сигналов

Основы фильтра Калмана

Предположим, имеются два наблюдения текущей координаты  положения объекта с приемников ГЛОНАСС и GPS:

 - наблюдение с ГЛОНАСС,

 - наблюдение с GPS,

где  и  - независимые величины шума (погрешности измерений) с известными дисперсиями  и  и нулевыми математическими ожиданиями (средними значениями). На основе этих двух наблюдений нужно вычислить значение координаты . Точно узнать значение , как правило, невозможно. Можно лишь уточнить значения наблюдений  и , стараясь максимально приблизиться к истинному значению координаты, т.е. избавиться от шумовых составляющих  и .

Если случайные величины  и  подчиняются нормальному закону распределения, то наилучшее приближение (наилучшую оценку)  можно построить по правилу

,             (1)

где  и  - некоторые (пока еще неизвестные) весовые коэффициенты, которые влияют на качество оценки . Можно заметить, если сумма коэффициентов

,                      (2)

то, оценка, построенная по линейному алгоритму (1), в среднем, будет равна истинному значению , т.е. будет несмещенной:

,

где  - оператор математического ожидания.

Для решения нашей задачи необходимо выполнение условия (2), иначе оценка будет «уходить» либо вниз, либо вверх от истинного значения координаты . Учитывая условие (2), алгоритм (1) можно переписать в виде:

или, заменяя ,

      (3)

Алгоритм (3) описывает принцип построения оценок с помощью фильтра Калмана, а неизвестный коэффициент  выбирается так, чтобы минимизировать критерий качества для оценки .

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

и желательно, чтобы эта ошибка была как можно меньше. Чтобы оценивать качество работы алгоритма (3) выберем функцию потерь (штрафа) в виде

,                                (4)

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

.            (5)

Выражение (5) можно интерпретировать как минимум дисперсии ошибки оценивания, т.к. случайная величина  имеет нулевое математическое ожидание, то ее возведение в квадрат  дает дисперсию ошибки оценивания:

        (6)

Последнее выражение показывает, что дисперсия  зависит от коэффициента , оптимальное значение которого находится в точке минимума дисперсии . Учитывая, что в точке минимума производная равна нулю, получаем уравнение для вычисления коэффициента :

.

и после вычисления производной, получаем

,

откуда имеем

.                                                 (7)

Выражение (7) определяет оптимальное значение коэффициента  для построения оценки  и алгоритм (3) принимает вид

                  (8)

Уравнение (8) является примером реализации фильтра Калмана для задачи построения оценки координаты  по двум наблюдениям  и  с независимым гауссовсовским шумом (погрешностями наблюдений). Из выражения (8) видно, что если  (GPS дает более точные значения, чем ГЛОНАСС), то больше информации будет извлекаться из наблюдения  и меньше из . Если же , то выражение (8) приобретает вид , т.е. происходит усреднение наблюдений. При этом, в каждом конкретном случае можно вычислить значение дисперсии ошибки оценивания , т.е. узнать насколько улучшилась оценка  по сравнению с исходными наблюдениями  и . Для этого достаточно подставить оптимальное значение коэффициента  в выражение (6) и сделать несложные математические преобразования:

        (9)

следовательно,

                           (10)

т.е. оптимальное значение коэффициента  также равно дисперсии ошибки оценивания деленной на дисперсию  погрешности второго наблюдения.

Обычно фильтр Калмана записывают в виде

,

и, подставляя вместо  значение (10), получаем известную  запись алгоритма калмановской фильтрации:

где ясно видно, что наблюдение  уточняется наблюдением  корректирующим коэффициентом .

Теперь предположим, что в рамках решаемой задачи, появилось еще одно наблюдение

,

координаты  от независимого источника информации. Тогда для уточнения текущей оценки  представим ее как первое наблюдение

,

с известной величиной дисперсии погрешности . В результате получим следующий алгоритм обработки наблюдений:

  (11)

где  в соответствии с выражением (9) вычисляется как

.                   (12)

Формулы (11) и (12) показывают принцип рекуррентного вычисления оценок (уточнения оценки) в фильтре Калмана  по серии наблюдений  Рекуррентное вычисление оценок является главным преимуществом фильтра Калмана перед другими способами фильтрации, используя на каждом шаге только два наблюдения. Вместе с тем, модель, в которой текущее наблюдение корректируется лишь предыдущим, соответствует марковской модели, где текущее состояние дает полную информацию для статистического описания поведения процесса в «будущем». Простым примером марковской модели может служить изменение координаты движения объекта в пространстве, когда знание его текущей координаты достаточно для вероятностного описания движения объекта в «будущем». При этом «знать» где он был «в прошлом» нет необходимости. Только для таких моделей фильтр Калмана дает оптимальные оценки. В ином случае необходимо либо соглашаться с неоптимальностью работы алгоритма, либо применять другие методы фильтрации.

Наша группа Вконтакте

Темы раздела