建立用于在线状态估计的扩展卡尔曼滤波对象
建立了用于离散非线性系统在线状态估计的扩展卡尔曼滤波对象。obj
= extendedKalmanFilter (StateTransitionFcn
,MeasurementFcn
,InitialState
)StateTransitionFcn
是一个计算系统时刻状态的函数吗k,给出时刻的状态向量k-1.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)
.
非相加噪音方面-该软件还支持更复杂的状态转换和状态测量金宝app功能x[k)和测量y[k]分别为过程噪声和测量噪声的非线性函数。当噪声项为非加性时,状态跃迁和测量方程为:
当进行在线状态估计时,首先创建非线性状态转移函数f和测量功能h.然后构建extendedKalmanFilter
对象,并指定噪声项是可加性的还是非可加性的。你也可以指定状态转移和测量函数的雅可比矩阵。如果你没有指定它们,软件会数值计算雅可比矩阵。
创建对象后,使用预测
命令来预测下一个时间步骤的状态估计,并且正确的
利用算法和实时数据对状态估计进行修正。有关算法的信息,请参见在线状态估计的扩展和无迹卡尔曼滤波算法.
您可以使用以下命令extendedKalmanFilter
对象:
命令 | 描述 |
---|---|
正确的 |
修正状态和状态估计误差在时间步长的协方差k采用时间步长测量数据k. |
预测 |
预测下一时刻的状态和状态估计误差协方差。 |
剩余 |
返回实际测量值和预测测量值之间的差值。 |
克隆 |
使用相同的对象属性值创建另一个对象。 不使用语法创建其他对象 |
为extendedKalmanFilter
对象属性,看属性.