initcackf

从检测报告中创建恒定加速度跟踪立方卡尔曼滤波器

描述

例子

位置= initcackf (检测)初始化一个用于跟踪目标的恒定加速度三次方根卡尔曼滤波器objectDetection对象,检测

例子

全部折叠

创建一个恒定加速度跟踪立方体卡尔曼滤波对象,trackingCKF,来自最初的检测报告。检测报告是由卡尔曼滤波状态在直角坐标下的初始三维位置测量得到的。利用恒定加速度测量函数可以获得三维位置测量,cameas

这个例子使用了坐标,x = 1, y = 3, z = 0和三维位置测量噪声0.2 [1 0;0.2 - 2 0;0 0 1]

检测= objectDetection(0, [1;3;0],“MeasurementNoise”,[1 0。2 0;0.2 - 2 0;0 0 1);

使用initcackf创建一个trackingCKF过滤器初始化在提供的位置并使用上面定义的测量噪声。

位置= initcackf(检测)
ckf = trackingCKF with properties: [9x1 double] StateCovariance: [9x9 double] State transitionfcn: @constacc ProcessNoise: [3x3 double]有额外的ProcessNoise: 0 MeasurementFcn: @cameas MeasurementNoise: [3x3 double]有额外的easurementnoise: 1

检查状态值和测量噪声。验证过滤器状态,ckf.State,具有与检测测量相同的位置分量,detection.Measurement

ckf.State
ans =9×11 0 0 3 0 0 0 0 0 0

验证滤波器测量噪声,ckf.MeasurementNoise,等于detection.MeasurementNoise值。

ckf.MeasurementNoise
ans =3×31.0000 0.2000 00 2000 2.0000 00 1.0000

MathWorks, Inc.版权所有

创建一个恒定加速度跟踪立方体卡尔曼滤波对象,trackingCKF,来自最初的检测报告。检测报告是通过在球坐标下对卡尔曼滤波状态进行初始三维位置测量得到的。利用恒定加速度测量函数可以获得三维位置测量,cameas

本例使用坐标az= 30, e1 = 5, r = 100, rr = 4和测量噪声diag([2.5, 2.5, 0.5, 1].^2)

量= (30;5;100;4);测量噪声= diag([2.5, 2.5, 0.5, 1].^2);

使用MeasurementParameters财产的检测对象来定义框架。未定义时,的字段MeasurementParameters结构体使用默认值。在本例中,传感器位置、传感器速度、方向、仰角和距离速率标记是默认的。

measParams =结构(“帧”,“球”);检测= objectDetection(0,量,“MeasurementNoise”measNoise,“MeasurementParameters”measParams)
测量:[4x1双]Measurement: [4x4双]SensorIndex: 1 ObjectClassID: 0 MeasurementParameters: [1x1 struct] ObjectAttributes: {}

使用initcackf创建一个trackingCKF过滤器初始化在提供的位置并使用上面定义的测量噪声。

位置= initcackf(检测)
ckf = trackingCKF with properties: [9x1 double] StateCovariance: [9x9 double] State transitionfcn: @constacc ProcessNoise: [3x3 double] HasAdditiveProcessNoise: 0 MeasurementFcn: @cameas MeasurementNoise: [4x4 double] HasAdditiveMeasurementNoise: 1

验证筛选器状态是否产生与上述相同的测量值。

meas2 = cameas位置。状态,measParams)
meas2 =4×130.0000 5.0000 100.0000 4.0000

输入参数

全部折叠

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

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

输出参数

全部折叠

用于物体跟踪的恒定加速度、体积的卡尔曼滤波器,返回为atrackingCKF对象。

算法

  • 该函数假设加速度变化率的单位标准差,计算过程噪声矩阵。

  • 你可以用这个函数FilterInitializationFcn的属性trackerTOMHTtrackerGNN系统对象。

扩展功能

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

介绍了R2018b