主要内容

initcaekf

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

描述

例子

过滤器= initcaekf (检测)创建并初始化一个恒定加速度扩展卡尔曼滤波过滤器中包含的信息检测报告。扩展卡尔曼滤波器的更多信息,请参阅trackingEKF

该函数初始化一个恒定加速度状态相同的约定constacccameas,(xvx一个xyvy一个yzvz一个z]。

例子

全部折叠

创建并初始化一个三维加速度恒定扩展卡尔曼滤波对象从最初的检测报告。

创建初始三维测量、检测报告(-200;30 0),对象的位置。假设不相关的测量噪声。

检测= objectDetection (0 (-200; -30; 0)“MeasurementNoise”,2.1 *眼(3),“SensorIndex”,1“ObjectClassID”,1“ObjectAttributes”,{“汽车”2});

创建新的滤波器的检测报告和显示其属性。

过滤器= initcaekf(检测)
过滤器= trackingEKF属性:状态:x1双[9]StateCovariance: [9 x9双]StateTransitionFcn: @constacc StateTransitionJacobianFcn: @constaccjac ProcessNoise: [3 x3双]HasAdditiveProcessNoise: 0 MeasurementFcn: @cameas MeasurementJacobianFcn: @cameasjac HasMeasurementWrapping: 1 MeasurementNoise: [3 x3双]HasAdditiveMeasurementNoise: 1 MaxNumOOSMSteps: 0 EnableSmoothing: 0

显示过滤器的状态。

filter.State
ans =9×1-30 -200 0 0 0 0 0 0 0

显示状态协方差矩阵。

filter.StateCovariance
ans =9×92.1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100.0000 100.0000 2.1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100.0000 100.0000 2.1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100.0000 100.0000

初始化一个3 d恒定加速度扩展卡尔曼滤波器从最初检测报告由一个初始测量球面坐标。如果你想使用球坐标,那么您必须提供一个测量参数结构的检测报告框架字段设置为“球”。设定目标的方位角 4 5 ,海拔 2 2 ,范围1000米,速度范围为-4.0 m / s。

帧=“球”;sensorpos = [25、-40、-10]。';sensorvel = (0; 5。0);宽松=眼(3);

创建测量参数结构。集“HasVelocity”“HasElevation”真正的。然后,测量向量由方位、仰角、范围、和范围。

measparms =结构(“帧”框架,“OriginPosition”sensorpos,“OriginVelocity”sensorvel,“定位”宽松的,“HasVelocity”,真的,“HasElevation”,真正的);量= (45,22,1000;4);measnoise =诊断接头(3.0、2.5、2、1.0。^ 2);检测= objectDetection(0,量,“MeasurementNoise”,measnoise,“MeasurementParameters”measparms)
检测与属性= objectDetection:时间:0测量:x1双[4]MeasurementNoise: [4 x4双]SensorIndex: 1 ObjectClassID: 0 ObjectClassParameters: [] MeasurementParameters: [1 x1 struct] ObjectAttributes: {}
过滤器= initcaekf(检测);

显示状态向量。

disp (filter.State)
-1.4984 364.6066 680.6180 - -2.6225 615.6180 - 2.3775 0 0

输入参数

全部折叠

检测报告,指定为一个objectDetection对象。

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

输出参数

全部折叠

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

算法

  • 函数计算过程噪声矩阵假设一秒钟时间步和1 m / s的加速度标准差3

  • 你可以使用这个函数FilterInitializationFcn财产的multiObjectTracker对象。

扩展功能

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

版本历史

介绍了R2017a