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)
。非加性噪声项-该软件还支持更复杂的状态转换和测量功能万博1manbetx,其中状态x(k]和测量y(k]分别为过程噪声和测量噪声的非线性函数。当噪声项为非加性时,状态跃迁和测量方程为:
当您执行在线状态估计时,您首先创建非线性状态转换函数f以及测量功能h。然后你构建extendedKalmanFilter
对象使用这些非线性函数,并指定噪声项是加性的还是非加性的。您还可以指定状态转换和测量函数的雅可比矩阵。如果你不指定它们,软件会计算雅可比矩阵。
创建对象之后,将使用预测
命令来预测下一个时间步的状态估计,和正确的
利用算法和实时数据修正状态估计。有关该算法的信息,请参见在线状态估计的扩展和无气味卡尔曼滤波算法。
可以使用以下命令extendedKalmanFilter
对象:
命令 | 描述 |
---|---|
正确的 |
修正时间步长的状态和状态估计误差协方差k使用时间步长的测量数据k。 |
预测 |
预测下一时刻的状态和状态估计误差协方差。 |
剩余 |
返回实际测量值和预测测量值之间的差值。 |
克隆 |
创建具有相同对象属性值的另一个对象。 不使用语法创建其他对象 |
为extendedKalmanFilter
对象属性,请参见属性。