Создайте расширенный объект фильтра Калмана для онлайн-оценки состояния
создает расширенный объект фильтра Калмана для онлайн-оценки состояния нелинейной системы дискретного времени. obj
= extendedKalmanFilter(StateTransitionFcn
,MeasurementFcn
,InitialState
)StateTransitionFcn
- функция, которая вычисляет состояние системы в момент k времени, учитывая вектор состояния в момент времени k -1. MeasurementFcn
является функцией, которая вычисляет выходное измерение системы в момент времени k, учитывая состояние в момент k. InitialState
задает начальное значение оценок состояния.
После создания объекта используйте correct
и predict
команды для обновления оценок состояния и ковариационных значений ошибки расчета состояния с помощью алгоритма расширенного фильтра Калмана первого порядка в дискретном времени и данных в реальном времени.
задает дополнительные атрибуты расширенного объекта фильтра Калмана с помощью одного или нескольких obj
= extendedKalmanFilter(StateTransitionFcn
,MeasurementFcn
,InitialState
,Name,Value
)Name,Value
аргументы в виде пар.
создает расширенный объект фильтра Калмана с помощью заданных функций перехода и измерения. Перед использованием obj
= extendedKalmanFilter(StateTransitionFcn
,MeasurementFcn
)predict
и correct
команды, задайте начальные значения состояния с помощью записи через точку. Для примера - для системы с двумя состояниями с начальными значениями состояний [1;0]
, задайте obj.State = [1;0]
.
задает дополнительные атрибуты расширенного объекта фильтра Калмана с помощью одного или нескольких obj
= extendedKalmanFilter(StateTransitionFcn
,MeasurementFcn
,Name,Value
)Name,Value
аргументы в виде пар. Перед использованием predict
и correct
команды, задайте начальные значения состояния используя Name,Value
аргументы в виде пар или запись через точку.
создает расширенный объект фильтра Калмана со свойствами, заданными с помощью одного или нескольких obj
= extendedKalmanFilter(Name,Value
)Name,Value
аргументы в виде пар. Перед использованием predict
и correct
команды, задайте функцию перехода состояния, функцию измерения и начальные значения состояния используя Name,Value
аргументы в виде пар или запись через точку.
extendedKalmanFilter
создает объект для онлайн-оценки состояния нелинейной системы дискретного времени с помощью алгоритма расширенного фильтра Калмана первого порядка в дискретном времени.
Рассмотрим объект с x состояниями, входными u, выходными y, технологическими шумовыми w и шумовыми v измерения. Предположим, что можно представлять объект как нелинейную систему.
Алгоритм вычисляет оценки состояния нелинейной системы с использованием заданных Вами функций перехода и измерения. Программа позволяет вам задать шум в этих функциях как аддитивный или неаддитивный:
Условия аддитивного шума - Переходы состояний и уравнения измерений имеют следующую форму:
Здесь f является нелинейной функцией перехода состояния, которая описывает эволюцию состояний x
от одного временного шага до следующего. Нелинейная функция измерения h связана x
к измерениям y
в временной шаг k
. w
и v
являются нулевым средним, некоррелированным процессом и измерительными шумами, соответственно. Эти функции могут также иметь дополнительные входные параметры, которые обозначаются us
и um
в уравнениях. Для примера дополнительные аргументы могут быть временным шагом k
или входы u
в нелинейную систему. Таких аргументов может быть несколько.
Обратите внимание, что условия шума в обоих уравнениях аддитивны. То есть x(k)
линейно связан с технологическим шумом w(k-1)
, и y(k)
линейно связан с шумом измерения v(k)
.
Неаддитивные Условия Шума - Программное обеспечение также поддерживает более комплексный переход состояния и функции измерения, где x состояния [k] и y измерения [k] являются нелинейными функциями технологического шума и шума измерения, соответственно. Когда члены шума неаддитивны, переход состояния и уравнение измерений имеют следующую форму:
Когда вы выполняете онлайн-оценку состояния, вы сначала создаете нелинейные f функции перехода состояния и h функции измерения. Затем вы создаете extendedKalmanFilter
объект, использующий эти нелинейные функции, и определить, являются ли условия шума аддитивными или неаддитивными. Можно также задать якобианы функций перехода и измерения состояния. Если вы их не задаете, программа численно вычисляет якобианов.
После того, как вы создали объект, вы используете predict
команда для предсказания оценки состояния на следующем временном шаге, и correct
исправить оценки состояния с помощью алгоритма и данных в реальном времени. Для получения информации об алгоритме см. «Расширенные и нераскрытые алгоритмы фильтра Калмана для оценки состояния в режиме онлайн».
Можно использовать следующие команды с extendedKalmanFilter
объекты:
Команда | Описание |
---|---|
correct | Исправьте состояние и ошибку расчета ковариации во время шага k используя измеренные данные в момент шага k. |
predict | Предсказать состояние и ковариацию ошибки расчета состояния в момент следующего временного шага. |
residual | Верните различие между фактическими и предсказанными измерениями. |
clone | Создайте другой объект с теми же значениями свойств объекта. Не создавать дополнительные объекты с помощью синтаксиса |
Для extendedKalmanFilter
свойства объекта, см. Свойства.