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