主要内容

initcvekf

从检测报告创建等速扩展卡尔曼滤波器

描述

例子

滤波器= initcvekf (侦查)创建并初始化等速扩展卡尔曼滤波器滤波器从包含在侦查报告。有关扩展卡尔曼滤波器的更多信息,请参阅trackingEKF.

该函数使用与相同的约定初始化恒定速度状态康斯特维尔cvmeas, [x;vx;Y;vY;Z;vZ].

例子

全部崩溃

根据初始检测报告创建并初始化三维等速扩展卡尔曼滤波对象。

根据初始三维测量创建检测报告(10,20,−5) ,对象位置的。

检测=对象检测(0,[10;20;-5],“测量噪音”,1.5*眼(3),...“传感器索引”1.“ObjectClassID”1.“对象属性”,{“跑车”,5});

根据检测报告创建新过滤器。

过滤器=初始CVEKF(检测)
filter = trackingEKF with properties: State: [6x1 double] StateCovariance: [6x6 double] stattransitionfcn: @constvel stattransitionjacobianfcn: @constveljac ProcessNoise: [3x3 double] HasAdditiveProcessNoise: 0 MeasurementFcn: @cvmeas MeasurementJacobianFcn: @cvmeasjac MeasurementNoise: [3x3 double] hasadditivemeasumentnoise:1 EnableSmoothing: 0

显示过滤器状态。

过滤状态
ans=6×110 0 20 0 -5 0

显示状态协方差。

过滤状态Covariance
ans=6×61.5000 0 0 0 0 0 0 100.0000 0 0 0 0 0 0 1.5000 0 0 0 0 0 0 100.0000 0 0 0 0 0 0 1.5000 0 0 0 0 0 0 100.0000

根据球坐标系下三维测量的初始检测报告初始化三维等速扩展卡尔曼滤波器。若要使用球坐标,则必须提供测量参数结构,作为检测报告的一部分框架字段设置为“球形”.将目标方位角设置为45度,仰角设置为-10度,射程设置为1000米,射程速率设置为-4.0米/秒。

框架=“球形”; sensorpos=[25,-40,0];sensorvel=[0;5;0];松弛=眼睛(3);measparms=struct(“帧”框架,“原始位置”,sensorpos,...“原始速度”,sensorvel,“定位”,松懈,“HasVelocity”是的,...“HasElevation”,对);meas=[45;-10;1000;-4];measnoise=diag([3.0,2.5,2,1.0]。^2);检测=对象检测(0,meas,“测量噪音”,...小米,“测量参数”,米斯帕姆斯)
detection=objectDetection,属性为:时间:0度量:[4x1 double]MeasurementNoise:[4x4 double]SensorIndex:1 ObjectClassID:0度量参数:[1x1 struct]对象属性:{}
过滤器= initcvekf(检测);

过滤状态向量。

disp(过滤器状态)
721.3642 -2.7855 656.3642 2.2145 -173.6482 0.6946

输入参数

全部崩溃

检测报告,指定为目标检测对象。

例子:检测= objectDetection(0,[1;4.5;3],'MeasurementNoise', [1.0 0 0;2.0 0 0;0 0 1.5])

输出参数

全部崩溃

扩展卡尔曼滤波器,返回为trackingEKF对象。

算法

  • 该函数计算过程噪声矩阵,假设时间步长为1秒,加速度标准差为1m /s2..

  • 您可以将此函数用作过滤器初始化FCN财产多目标跟踪器对象。

扩展能力

C/C++代码生成
使用Matlab®编码器生成C和C++代码™.

R2017a中引入