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