Создайте объект сигма-точечного фильтра Калмана для онлайновой оценки состояния
obj = unscentedKalmanFilter(StateTransitionFcn,MeasurementFcn,InitialState)
obj = unscentedKalmanFilter(StateTransitionFcn,MeasurementFcn,InitialState,Name,Value)
obj = unscentedKalmanFilter(StateTransitionFcn,MeasurementFcn)
obj = unscentedKalmanFilter(StateTransitionFcn,MeasurementFcn,Name,Value)
obj = unscentedKalmanFilter(Name,Value)
создает объект сигма-точечного фильтра Калмана для онлайновой оценки состояния дискретного времени нелинейная система. obj
= unscentedKalmanFilter(StateTransitionFcn
,MeasurementFcn
,InitialState
)StateTransitionFcn
является функцией, которая вычисляет состояние системы во время k, учитывая вектор состояния во время k-1. MeasurementFcn
является функцией, которая вычисляет выходное измерение системы во время k, учитывая состояние во время k. InitialState
задает начальное значение оценок состояния.
После создания объекта используйте correct
и команды predict
, чтобы обновить оценки состояния и ошибочные значения ковариации оценки состояния с помощью алгоритма сигма-точечного фильтра Калмана дискретного времени и данных реального времени.
задает дополнительные атрибуты объекта сигма-точечного фильтра Калмана, использующего один или несколько аргументов пары obj
= unscentedKalmanFilter(StateTransitionFcn
,MeasurementFcn
,InitialState
,Name,Value
)Name,Value
.
создает объект сигма-точечного фильтра Калмана использование заданных функций изменения состояния и измерения. Перед использованием obj
= unscentedKalmanFilter(StateTransitionFcn
,MeasurementFcn
)predict
и команд correct
, задайте значения начального состояния с помощью записи через точку. Например, для системы с двумя состояниями со значениями начального состояния [1;0]
, задайте obj.State = [1;0]
.
задает дополнительные атрибуты объекта сигма-точечного фильтра Калмана, использующего один или несколько аргументов пары obj
= unscentedKalmanFilter(StateTransitionFcn
,MeasurementFcn
,Name,Value
)Name,Value
. Перед использованием predict
и команд correct
, задайте значения начального состояния с помощью аргументов пары Name,Value
или записи через точку.
создает объект сигма-точечного фильтра Калмана со свойствами, заданными с помощью одного или нескольких аргументов пары obj
= unscentedKalmanFilter(Name,Value
)Name,Value
. Перед использованием predict
и команд correct
, задайте функцию изменения состояния, функцию измерения и значения начального состояния с помощью аргументов пары Name,Value
или записи через точку.
unscentedKalmanFilter
создает объект для онлайновой оценки состояния дискретного времени нелинейная система с помощью алгоритма сигма-точечного фильтра Калмана дискретного времени.
Считайте объект с состояниями 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. Вы затем создаете объект unscentedKalmanFilter
с помощью этих нелинейных функций и задаете, являются ли шумовые условия дополнением или недополнением. После того, как вы создадите объект, вы используете команду predict
, чтобы предсказать оценки состояния на следующем временном шаге и correct
, чтобы исправить оценки состояния с помощью алгоритма сигма-точечного фильтра Калмана и данных реального времени. Для получения информации об алгоритме смотрите Расширенный и Алгоритмы Сигма-точечного фильтра Калмана для Онлайновой Оценки состояния.
Можно использовать следующие команды с объектами unscentedKalmanFilter
:
Команда | Описание |
---|---|
correct | Исправьте ошибочную ковариацию оценки состояния и оценки состояния на временном шаге k с помощью результатов измерений на временном шаге k. |
predict | Предскажите ошибочную ковариацию оценки состояния и оценки состояния во время следующий временной шаг. |
clone | Создайте другой объект с теми же значениями свойства объекта. Не создавайте дополнительные объекты с помощью синтаксиса |
Для свойств объектов unscentedKalmanFilter
смотрите Свойства.