主要内容

正确的

正确的状态和状态估计误差协方差使用跟踪滤波器

自从R2021a

描述

例子

(xcorr,Pcorr正确]= (过滤器,zmeas)返回修正后的状态,xcorr修正后的状态估计误差协方差,Pcorr,为下一个时间步输入的跟踪滤波器基于当前测量,zmeas。修正后的值覆盖的内部状态和状态估计误差协方差过滤器

(xcorr,Pcorr正确]= (过滤器,zmeas,measparams)指定其他参数使用的测量中定义的函数MeasurementFcn的属性过滤器。您可以返回任何输出从之前的语法。

如果过滤器是一个trackingKFtrackingABF对象,然后你不能使用这个语法。

(xcorr,Pcorr正确]= (过滤器,zmeas,zcov)指定额外的测量协方差,zcov中使用,MeasurementNoise的属性过滤器

只有当你可以使用这个语法过滤器是一个trackingKF对象。

(xcorr,Pcorr,zcorr正确]= (过滤器,zmeas)还返回测量的校正,zcorr

只有当你可以使用这个语法过滤器是一个trackingABF对象。

(xcorr,Pcorr,zcorr正确]= (过滤器,zmeas,zcov)返回测量的校正,zcorr协方差,并指定额外的测量,zcov中使用,MeasurementNoise的属性过滤器

只有当你可以使用这个语法过滤器是一个trackingABF对象。

正确的(过滤器,___)更新过滤器修正后的状态和状态估计误差协方差没有返回正确值。指定跟踪滤波器和之前的任何输入参数组合语法。

xcorr=正确(过滤器,___)更新过滤器修正后的状态和状态估计误差协方差但只返回修正后的状态,xcorr

例子

全部折叠

创建一个二维trackingEKF对象来定义和使用名称-值对StateTransitionJacobianFcnMeasurementJacobianFcn属性。使用预定义的常速运动和测量模型和雅克比。

EKF = trackingEKF (@constvel @cvmeas, (0, 0, 0, 0),“StateTransitionJacobianFcn”@constveljac,“MeasurementJacobianFcn”,@cvmeasjac);

过滤器运行。使用预测正确的函数来传播。你可以叫预测正确的多次在任何顺序和你想要的。指定在笛卡尔坐标测量。

测量= (1;1,0);[xpred, ppr] =预测(EKF);[xcorr, Pcorr] =正确(卡尔曼滤波器,测量);[xpred, ppr] =预测(EKF);[xpred, ppr] =预测(EKF)
xpred =4×11.2500 0.2500 1.2500 0.2500
ppr =4×411.7500 - 4.7500 0 0 4.7500 - 3.7500 0 0 0 0 0 0 4.7500 3.7500 11.7500 - 4.7500

输入参数

全部折叠

过滤器对象跟踪、指定为这些对象之一:

测量跟踪对象,指定为一个向量或矩阵。

数据类型:|

测量函数参数,指定为一个以逗号分隔的参数。这些观点是相同的那些传递到指定的测量功能MeasurementFcn财产的跟踪滤波器。如果过滤器是一个trackingKFtrackingABF对象,然后你不能指定measparams

假设您设置MeasurementFcn@cameas,然后调用正确的:

[xcorr, Pcorr] =正确(过滤、帧sensorpos sensorvel)
正确的函数内部调用如下:
量= cameas(状态、帧sensorpos sensorvel)

测量协方差,指定为一个——- - - - - -矩阵,测量的尺寸。相同的测量假设协方差矩阵中所有测量zmeas

数据类型:|

输出参数

全部折叠

纠正的过滤器,指定为一个向量或矩阵。的状态属性的输入过滤器与这个值覆盖。

指定的过滤器,纠正状态协方差向量或矩阵。的StateCovariance属性的输入过滤器与这个值覆盖。

指定的过滤器,纠正测量向量或矩阵。你可以返回zcorr只有当过滤器是一个trackingABF对象。

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

版本历史

介绍了R2021a