particleFilter
用于在线状态估计的粒子滤波对象
描述
粒子滤波器是一种递归的贝叶斯状态估计器,它使用离散粒子来近似估计状态的后验分布。当测量和系统模型(将模型状态与测量相关联)可用时,它对于在线状态估计是有用的。粒子滤波算法递归地计算状态估计,包括初始化、预测和校正步骤。
particleFilter
使用离散时间粒子滤波算法为离散时间非线性系统的在线状态估计创建一个对象。
考虑一个有状态的植物x、输入u、输出米,过程噪声w,以及测量y.假设你可以把植物表示成一个非线性系统。
该算法计算状态估计 用你指定的状态转移和测量似然函数来计算非线性系统。
该软件支持任意非线性状态转万博1manbetx换和测量模型,具有任意过程和测量噪声分布。
为了进行在线状态估计,需要建立非线性状态转移函数和测量似然函数。然后构造particleFilter
对象使用这些非线性函数。创建对象后:
方法初始化粒子
初始化
命令。方法预测下一步的状态估计
预测
命令。方法修正状态估计
正确的
命令。
预测步骤使用最新状态,根据您提供的状态转换模型预测下一个状态。修正步骤使用电流传感器测量来修正状态估计。该算法可选地对状态空间中的粒子进行重分布或重采样,以匹配估计状态的后验分布。每个粒子代表这些状态变量的一个离散状态假设。所有粒子的集合用来帮助确定状态估计。
创建
语法
pf = particleFilter(StateTransitionFcn, measurementlikehoodfcn)
对象描述
为离散时间非线性系统的在线状态估计创建粒子过滤器对象。pf
= particleFilter (StateTransitionFcn
,MeasurementLikelihoodFcn
)StateTransitionFcn
是一个函数,在给定某个时间步的状态向量的情况下,计算下一个时间步的粒子(状态假设)。MeasurementLikelihoodFcn
是一个基于传感器测量计算每个粒子的可能性的函数。
创建对象后,使用初始化
命令初始化具有已知均值和协方差的粒子或在定义边界内均匀分布的粒子。然后,使用正确的
而且预测
使用传感器测量来更新粒子(以及状态估计)的命令。
输入参数
属性
对象的功能
初始化 |
初始化粒子过滤器的状态 |
预测 |
利用扩展卡尔曼滤波器或无气味卡尔曼滤波器或粒子滤波器预测下一时间步的状态和状态估计误差协方差 |
正确的 |
使用扩展或无气味卡尔曼滤波或粒子滤波和测量修正状态和状态估计误差协方差 |
getStateEstimate |
从粒子中提取最佳状态估计和协方差 |
克隆 |
复制在线状态估计对象 |