主要内容

initcapf

从检测报告创建恒定加速度跟踪粒子滤波

描述

例子

pf= initcapf (检测)初始化一个恒定加速度粒子滤波根据提供的信息在一个对象的跟踪objectDetection对象,检测

该函数初始化一个恒定加速度状态相同的约定constacccameas,(x;vx;一个x;y;vy;一个y;z;vz;一个z]。

例子

全部折叠

创建一个恒定加速度跟踪粒子滤波对象,trackingPF,从最初的检测报告。检测报告是由一个初始的3 d位置测量粒子滤波在直角坐标系中。您可以获得使用恒定加速度测量的三维位置测量功能,cameas

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

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

使用initcapf创建一个trackingPF过滤器提供位置和初始化使用上面定义的测量噪声。

pf = initcapf(检测)
pf = trackingPF属性:状态:[9⨯1双]StateCovariance:[9⨯9双]IsStateVariableCircular: [0 0 0 0 0 0 0 0 0] StateTransitionFcn: @constacc ProcessNoiseSamplingFcn: [] ProcessNoise: [3 x3双]HasAdditiveProcessNoise: 0 MeasurementFcn: @cameas MeasurementLikelihoodFcn: [] MeasurementNoise: [3 x3双]粒子:[9 x1000双]权重:[1.0000 e 03 1.0000 e 03 1.0000 e 03……]ResamplingPolicy: [1 x1 trackingResamplingPolicy] ResamplingMethod:多项式的

检查状态的值和测量噪声。验证滤波器的状态,pf.State,有大约相同的位置分量检测测量,detection.Measurement

pf.State
ans =9×10.9674 0.3690 0.3827 3.0317 0.3056 -0.5904 0.0038 0.0411 -0.6815

确认过滤测量噪声,pf.MeasurementNoise,是一样的detection.MeasurementNoise值。

pf.MeasurementNoise
ans =3×31.0000 0.2000 - 2.0000 1.0000 - 0.2000 0 0 0 0

创建一个恒定加速度跟踪粒子滤波对象,trackingPF,从最初的检测报告。检测报告是由一个初始的3 d位置测量粒子滤波在球坐标。您可以获得使用恒定加速度测量的三维位置测量功能,cameas

下面的例子使用了坐标,= 30,e1 = 5, r = 100, rr = 4和测量噪声诊断接头([2.5,2.5,0.5,1]。^ 2)

量= (30;5;100;4);measNoise =诊断接头([2.5,2.5,0.5,1]。^ 2);

使用MeasurementParameters财产的检测对象定义的框架。当没有定义的字段MeasurementParameters结构使用默认值。在这个例子中,传感器的位置,传感器速度、方向、高度和范围率旗帜违约。

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

使用initcapf创建一个trackingPF过滤器提供位置和初始化使用上面定义的测量噪声。

pf = initcapf(检测)
pf = trackingPF属性:状态:[9⨯1双]StateCovariance:[9⨯9双]IsStateVariableCircular: [0 0 0 0 0 0 0 0 0] StateTransitionFcn: @constacc ProcessNoiseSamplingFcn: [] ProcessNoise: [3 x3双]HasAdditiveProcessNoise: 0 MeasurementFcn: @cameas MeasurementLikelihoodFcn: [] MeasurementNoise: [4 x4双]粒子:[9 x1000双]权重:[1.0000 e 03 1.0000 e 03 1.0000 e 03……]ResamplingPolicy: [1 x1 trackingResamplingPolicy] ResamplingMethod:多项式的

验证过滤器状态产生大约相同的测量detection.Measurement

meas2 = cameas (pf。状态,detection.MeasurementParameters)
meas2 =4×129.9188 5.0976 99.8303 4.0255

输入参数

全部折叠

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

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

输出参数

全部折叠

恒定加速度粒子滤波跟踪的对象,作为一个返回trackingPF对象。

算法

  • 功能配置与1000个粒子滤波器。在创建过滤器,函数计算过程噪声矩阵假设单位标准差加速度变化率。

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

扩展功能

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

介绍了R2018b