主要内容

initcvekf.

从检测报告中创建恒定速度扩展卡尔曼滤波器

描述

例子

筛选= initcvekf(检测创建并初始化恒定速度扩展卡尔曼筛选从包含的信息检测报告。有关扩展卡尔曼筛选器的更多信息,请参阅trackingekf.

该函数用与相同的惯例初始化恒定速度状态Constvel.cvmeas.,[X;V.X;y;V.y;Z.;V.Z.]。

例子

全部收缩

从初始检测报告创建并初始化3-D常量速度扩展Kalman过滤器对象。

从初始3-D测量创建检测报告(10,20,-5),对象位置。

检测= ObjectDetection(0,[10; 20; -5],'MeasurementNoise',1.5 *眼睛(3),......'sensorindex',1,'objectclassid',1,'ObjectAttributes',{'跑车',5});

从检测报告创建新过滤器。

筛选= initcvekf(检测)
Filter = trackingekf具有属性:状态:[6x1 double] stateComovariance:[6x6 Double] StateTransitiveFCN:@constvel stateTransitionJacobianfcn:@constveljac processnoise:@constveljac processnoise:[3x3 double] hasadditive processnoise:0 measurementfcn:@cvmeas测量jacobianfcn:@cvmeasjac mefoructionnoise:[3x3 double] hasadditivemeasurementnoise:1启动现有:0

显示过滤状态。

filter.state.
ans =.6×110 0 20 0 -5 0

显示国家协方差。

filter.statecovariance.
ans =.6×6.1.5000 0 0 0 0 0 0 0 0 0 0 0 0 1.5000 0 0 0 0 0 0 0 1.5000 0 0 0 0 0 0 100.0000

从球形坐标中的3-D测量中的初始检测报告初始化3-D常数扩展卡尔曼滤波器。如果要使用球形坐标,那么您必须提供测量参数结构作为检测报告的一部分框架字段设置为'球形'。将目标的方位角设定为45度,高度至-10度,范围为1000米,范围率至-4.0 m / s。

框架='球形';传感器= [25,-40,0]。';SensorVel = [0; 5; 0];laxes =眼睛(3);measparms = struct('框架',框架,'originposition',sensorpos,......'OriginVelocity',sensorvel,'方向',宽松,'hasvelocity',真的,......'haselevation',真的);meas = [45; -10; 1000; -4];measnoise = diag([3.0,2.5,2,1.0]。^ 2);检测= ObjectDetection(0,MEA,'MeasurementNoise'......麻疹,'测量参数',measparms)
检测=具有属性的ObjectDetection:时间:0测量:[4x1双]测量管理:[4x4 double] sensorIndex:1 objectclassid:0测量参数:[1x1 struct] ObjectAttributes:{}
过滤器= initcvekf(检测);

过滤状态向量。

disp(filter.state)
721.3642 -2.7855 656.3642 2.2145 -173.6482 0.6946

输入参数

全部收缩

检测报告,指定为一个ObjectDetection.目的。

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

输出参数

全部收缩

扩展卡尔曼滤波器,返回atrackingekf.目的。

算法

  • 该功能假设一秒秒的时间步长和1米/秒的加速标准偏差计算过程噪声矩阵2

  • 您可以使用此功能FilterInitializationFCN.A的财产Trackergnn.或者trackertomht.目的。

扩展能力

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

在R2018B中介绍