initctpf

从检测报告中创建恒转速跟踪粒子滤波器

描述

例子

PF= initctpf (检测)初始化用于跟踪目标的恒转率粒子滤波器,该滤波器基于objectDetection宾语,检测

例子

全部折叠

创建一个恒定转弯速率跟踪粒子滤波对象,trackingPF,来自最初的检测报告。检测报告从颗粒过滤器状态的在直角坐标的初始3-d的位置测量制成。可以使用恒定转弯率测量功能获得3-d的位置测量,ctmeas

这个例子使用的坐标,x = 1, y = 3, z = 0和三维位置测量噪声[1 0.2 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);

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

pf = initctpf(检测)
PF = trackingPF具有属性:状态:[7⨯1双] StateCovariance:[7⨯7双] IsStateVariableCircular:[0 0 0 0 0 0 0] StateTransitionFcn:@constturn ProcessNoiseSamplingFcn:[] ProcessNoise:[4×4双] HasAdditiveProcessNoise:0MeasurementFcn:@ctmeas MeasurementLikelihoodFcn:[] MeasurementNoise:[3×3双]颗粒:[7x1000双]重量:[1x1000的双] ResamplingPolicy:[1x1的trackingResamplingPolicy] ResamplingMethod: '多项式'

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

pf.State
ans =7×10.9674 0.3690 3.0471 0.2733 0.3056 -0.0590 0.0382

验证滤波器测量噪声,pf.MeasurementNoise是一样的detection.MeasurementNoise值。

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

创建一个恒定转弯速率跟踪粒子滤波对象,trackingPF,来自最初的检测报告。检测报告是由粒子滤波状态在球坐标下的初始三维位置测量得到的。利用恒转率测量函数可以获得三维位置测量,ctmeas

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

MEAS = [30; 5; 100; 4];measNoise = 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: {}

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

pf = initctpf(检测)
pf = trackingPF属性:状态:[7⨯1双]StateCovariance:[7⨯7双]IsStateVariableCircular: [0 0 0 0 0 0 0] StateTransitionFcn: @constturn ProcessNoiseSamplingFcn: [] ProcessNoise: [4 x4双]HasAdditiveProcessNoise: 0 MeasurementFcn: @ctmeas MeasurementLikelihoodFcn: [] MeasurementNoise: [4 x4双]粒子:[7 x1000双)重量:[1 x1000双]ResamplingPolicy: [1 x1 trackingResamplingPolicy] ResamplingMethod:多项式的

验证滤波器状态产生的测量值与detection.Measurement

meas2 = ctmeas (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 0 2.0 0 0 0 1.5])

输出参数

全部折叠

恒定转弯率粒子滤波目标跟踪,返回为trackingPF宾语。

算法

  • 该函数将过滤器配置为1000个粒子。在创建滤波器时,该函数计算假设单位加速度标准差和单位角加速度标准差的过程噪声矩阵。

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

扩展功能

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

介绍了R2018b