Объект фильтра частиц для онлайновой оценки состояния
Фильтр частиц является рекурсивным, Байесовым средством оценки состояния, которое использует дискретные частицы, чтобы аппроксимировать апостериорное распределение предполагаемого состояния. Для онлайновой оценки состояния полезно, когда измерения и системная модель, которая связывает состояния модели с измерениями, доступны. Алгоритм фильтра частиц вычисляет оценки состояния рекурсивно и включает инициализацию, предсказание и шаги коррекции.
particleFilter
создает объект для онлайновой оценки состояния дискретного времени нелинейная система с помощью алгоритма фильтра частиц дискретного времени.
Считайте объект с состояниями x, входом u, выходом m, шум процесса w и измерение y. Примите, что можно представлять объект как нелинейную систему.
Алгоритм вычисляет оценки состояния из нелинейной системы с помощью функций правдоподобия изменения состояния и измерения вы задаете.
Программное обеспечение поддерживает произвольные нелинейные модели изменения состояния и измерения с произвольными распределениями шума процесса и измерения.
Чтобы выполнить онлайновую оценку состояния, создайте нелинейную функцию изменения состояния и функцию правдоподобия измерения. Затем создайте particleFilter
объект с помощью этих нелинейных функций. После того, как вы создаете объект:
Инициализируйте частицы с помощью initialize
команда.
Предскажите оценки состояния на следующем шаге с помощью predict
команда.
Откорректируйте оценки состояния с помощью correct
команда.
Шаг предсказания использует последнее состояние, чтобы предсказать следующее состояние на основе модели изменения состояния, которую вы предоставляете. Шаг коррекции использует измерение датчика тока, чтобы откорректировать оценку состояния. Алгоритм опционально перераспределяет или передискретизирует, частицы в пространстве состояний, чтобы совпадать с апостериорным распределением предполагаемого состояния. Каждая частица представляет гипотезу дискретного состояния этих переменных состояния. Набор всех частиц используется, чтобы помочь определить оценку состояния.
создает объект фильтра частиц для онлайновой оценки состояния дискретного времени нелинейная система. pf
= particleFilter(StateTransitionFcn
,MeasurementLikelihoodFcn
)StateTransitionFcn
функция, которая вычисляет частицы (гипотезы состояния) на следующем временном шаге, учитывая вектор состояния на временном шаге. MeasurementLikelihoodFcn
функция, которая вычисляет вероятность каждой частицы на основе измерений датчика.
После создания объекта используйте initialize
команда, чтобы инициализировать частицы известным средним значением и ковариацией или равномерно распределенные частицы в заданных границах. Затем используйте correct
и predict
команды, чтобы обновить частицы (и следовательно оценка состояния) использование измерений датчика.
initialize | Инициализируйте состояние фильтра частиц |
predict | Предскажите ошибочную ковариацию оценки состояния и оценки состояния на следующем временном шаге с помощью сигма-точечного фильтра Калмана или фильтра частиц |
correct | Правильное состояние и ковариация ошибки оценки состояния с помощью сигма-точечного фильтра Калмана, или фильтра частиц и измерений |
getStateEstimate | Извлечение лучше всего утверждает оценку и ковариацию от частиц |
clone | Скопируйте онлайновый объект оценки состояния |