文档

initcvkf

根据检测报告创建等速线性卡尔曼滤波器

语法

过滤器= initcvkf(检测)

描述

例子

过滤器= initcvkf (检测创建并初始化一个等速线性卡尔曼滤波器,过滤器,从检测报告所包含的信息,检测

例子

全部折叠

根据初始检测报告创建和初始化二维线性卡尔曼滤波对象。

根据物体位置的初始二维测量(10,20)创建检测报告。

检测= objectDetection(0(10、20)“MeasurementNoise”, 0.2;0.2 - 2),...“SensorIndex”, 1“ObjectClassID”, 1“ObjectAttributes”, {“黄色的车”, 5});

从检测报告中创建新的跟踪。

过滤器= initcvkf(检测)
State: [4x1 double] StateCovariance: [4x4 double] MotionModel: '2D Constant Velocity' ControlModel: [] ProcessNoise: [4x4 double] MeasurementModel: [2x4 double] MeasurementNoise: [2x2 double]

显示状态。

过滤器。状态
ans =4×110 0 20 0

显示状态转换模型。

过滤器。状态TransitionModel
ans =4×41 1 0 0 0 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1

根据初始检测报告创建并初始化一个3-D线性卡尔曼滤波对象。

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

检测= objectDetection(0(10、20;5)“MeasurementNoise”眼睛(3),...“SensorIndex”, 1“ObjectClassID”, 1“ObjectAttributes”, {“绿色汽车”, 5});

从检测报告创建新的过滤器并显示其属性。

过滤器= initcvkf(检测)
State: [6x1 double] StateCovariance: [6x6 double] MotionModel: '3D Constant Velocity' ControlModel: [] ProcessNoise: [6x6 double] MeasurementModel: [3x6 double] MeasurementNoise: [3x3 double]

显示状态。

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

显示状态转换模型。

过滤器。状态TransitionModel
ans =6×61 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1

输入参数

全部折叠

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

例子:detection = objectDetection(0,[1;4.5;3],' measuentnoise ', [1.0 0 0;2.0 0 0;0 0 1.5])

输出参数

全部折叠

线性卡尔曼滤波器,指定为trackingKF类对象。

算法

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

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

扩展功能

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

介绍了R2017a

这个话题有帮助吗?