extendedKalmanFilter
创建用于在线状态估计的扩展卡尔曼滤波对象
语法
描述
为离散非线性系统的在线状态估计创建了扩展卡尔曼滤波对象。obj
= extendedKalmanFilter (StateTransitionFcn
,MeasurementFcn
,InitialState
)StateTransitionFcn
函数是计算系统时刻状态的函数吗k,给定时刻的状态向量k1。MeasurementFcn
是一个函数,计算输出测量系统的时间k,给定当时的状态k.InitialState
指定状态估计的初始值。
使用一个或多个扩展卡尔曼过滤器对象指定附加属性obj
= extendedKalmanFilter (StateTransitionFcn
,MeasurementFcn
,InitialState
,名称,值
)名称,值
对参数。
使用指定的状态转换和测量函数创建扩展的卡尔曼滤波器对象。在使用obj
= extendedKalmanFilter (StateTransitionFcn
,MeasurementFcn
)预测
而且正确的
命令时,使用点表示法指定初始状态值。例如,对于具有初始状态值的双状态系统(1, 0)
,指定obj。状态= [1;0]
.
使用一个或多个扩展卡尔曼过滤器对象指定附加属性obj
= extendedKalmanFilter (StateTransitionFcn
,MeasurementFcn
,名称,值
)名称,值
对参数。在使用预测
而且正确的
命令,使用指定初始状态值名称,值
对参数或点表示法。
对象描述
extendedKalmanFilter
利用一阶离散扩展卡尔曼滤波算法为离散非线性系统的在线状态估计创建对象。
考虑一个有状态的工厂x、输入u、输出y,过程噪声w,测量噪声v.假设你可以把植物表示成一个非线性系统。
该算法计算状态估计 利用你指定的状态转换和测量函数的非线性系统。该软件允许您指定这些函数中的噪声为加性或非加性:
附加噪声术语-状态转换和测量方程有如下形式:
在这里f是描述状态演化的非线性状态转移函数吗
x
从一个时间步骤到下一个。非线性测量函数h有关x
到测量y
时间步长k
.w
而且v
分别为零均值、不相关过程噪声和测量噪声。这些函数还可以有附加的输入参数,用u年代
而且u米
在方程中。例如,附加参数可以是时间步长k
或者输入u
对非线性系统。可以有多个这样的参数。注意,两个方程中的噪声项都是相加的。也就是说,
x (k)
是否与过程噪声线性相关w (k - 1)
,y (k)
是否与测量噪声线性相关v (k)
.非加性噪声项该软件还支持更复杂的状态转换和测量功能金宝appx[k]和测量y[k]分别是过程噪声和测量噪声的非线性函数。当噪声项非加性时,状态转移与测量方程有如下形式:
在执行在线状态估计时,首先要创建非线性状态转换函数f和测量函数h.然后构建extendedKalmanFilter
对象使用这些非线性函数,并指定噪声项是可加的还是不可加的。你也可以指定状态转换和测量函数的雅可比矩阵。如果你不指定它们,软件会数值计算雅可比矩阵。
对象创建后,使用预测
命令来预测下一个时间步骤的状态估计,以及正确的
利用算法和实时数据修正状态估计。有关算法的信息,请参见在线状态估计的扩展和Unscented卡尔曼滤波算法.
可以使用下面的命令extendedKalmanFilter
对象:
命令 | 描述 |
---|---|
正确的 |
在时间步上修正状态和状态估计误差协方差k使用时间步长的测量数据k. |
预测 |
预测下一时间步的状态和状态估计误差协方差。 |
剩余 |
返回实际测量值和预测测量值的差值。 |
克隆 |
创建另一个具有相同对象属性值的对象。 不使用语法创建额外的对象 |
为extendedKalmanFilter
对象属性,请参见属性.