Правильное состояние и ковариация ошибки оценки состояния с помощью расширенного или сигма-точечного фильтра Калмана или фильтра частиц и измерений
correct
команда обновляет ковариацию состояния и ошибки расчета extendedKalmanFilter
, unscentedKalmanFilter
или particleFilter
объект с использованием выходов измеренных систем. Чтобы реализовать расширенный или сигма-точечный фильтр Калмана, или фильтр частиц, используйте correct
и predict
команды вместе. Если ток выходного измерения существует, можно использовать correct
и predict
. Если измерение отсутствует, можно использовать только predict
. Для получения информации о порядке использования команд смотрите Использование предсказания и исправление команд.
[
исправляет ковариацию оценки состояния и ошибки расчета состояния расширенного или сигма-точечного фильтра Калмана или объекта фильтра частиц CorrectedState
,CorrectedStateCovariance
]
= correct(obj
,y
)obj
использование измеренной выход y
.
Вы создаете obj
использование extendedKalmanFilter
, unscentedKalmanFilter
или particleFilter
команды. Вы задаете функцию перехода состояния и функцию измерения вашей нелинейной системы в obj
. Вы также задаете, являются ли условия шума процесса и измерения аддитивными или неаддитивными в этих функциях. The State
свойство объекта сохраняет последнее расчетное значение состояния. Предположим, что во временной шаг k
, obj.State
является . Это значение является оценкой состояния для времени k
, оцененный с использованием измеренных выходов до времени k-1
. Когда вы используете correct
команда с выходным сигналом измеренной системы y[k]
, программное обеспечение возвращает исправленную оценку состояния в CorrectedState
выход. Где - оценка состояния во время k
, оцененный с использованием измеренных выходов до времени k
. Команда возвращает ковариацию ошибки расчета состояния в CorrectedStateCovariance
выход. Программное обеспечение также обновляет State
и StateCovariance
свойства obj
с этими скорректированными значениями.
Используйте этот синтаксис, если функция измерения h, что вы указали в obj.MeasurementFcn
имеет одну из следующих форм:
y(k) = h(x(k))
- для аддитивного шума измерения.
y(k) = h(x(k),v(k))
- для неаддитивного шума измерения.
Где y(k)
, x(k)
, и v(k)
- измеренные выходы, состояния и измерение шум системы на временном шаге k
. Единственными входами для h являются состояния и шум измерения.
[
задает дополнительные входные аргументы, если функция измерения системы требует этих входов. Можно задать несколько аргументов.CorrectedState
,CorrectedStateCovariance
]
= correct(obj
,y
,Um1,...,Umn
)
Используйте этот синтаксис, если h функции измерения имеет одну из следующих форм:
y(k) = h(x(k),Um1,...,Umn)
- для аддитивного шума измерения.
y(k) = h(x(k),v(k),Um1,...,Umn)
- для неаддитивного шума измерения.
correct
команда передает эти входы в функцию измерения, чтобы вычислить предполагаемые выходы.
clone
| extendedKalmanFilter
| initialize
| particleFilter
| predict
| residual
| unscentedKalmanFilter