initrpekf

等速范围-参数EKF初始化

描述

过滤= initrpekf(发现配置有6个扩展卡尔曼滤波器(EKFs)的过滤器,并且假设目标范围为内1E3和1E5场景单位。的功能配置与在加速单元的标准偏差的处理噪声。

的范围内,参数扩展的卡尔曼滤波器(RPEKF)是一个高斯累加滤波器(trackingGSF)具有多个EKFs,每个在所述目标的估计范围初始化。范围参数化是一种常用的技术来从仅角度检测初始化的滤波器。

过滤= initrpekf(发现numFilters指定在过滤器EKFs的数量。

过滤= initrpekf(发现numFiltersrangeLimits指定目标的范围限制。

例子

全部收缩

所述RPEKF是一种特殊类型的过滤器,可以只使用角的测量被初始化,即,方位角和/或仰角的。当。。。的时候'帧'设定为'球形''HasRange'设定为'假'中,检测具有[方位角仰角]测量。适当地指定测量参数来定义与无范围的信息的唯一角度测量。

measParam =结构('帧''球形''HasRange',假,'OriginPosition'[100; 10; 0]);

objectDetection类定义由传感器测得的角度仅检测的接口。该MeasurementParameters现场objectDetection携带关于什么传感器测量的信息。

检测= objectDetection(0,[30; 30],'MeasurementParameters',measParam,'MeasurementNoise',2 *眼(2));

initrpekf函数使用仅角检测初始化RPEKF。

rpekf = initrpekf(检测)%#好
rpekf = trackingGSF具有属性:状态:[6X1双] StateCovariance:[6x6的双] TrackingFilters:{6X1细胞} ModelProbabilities:[6X1双] MeasurementNoise:[2×2双]

也可以用10层的过滤器初始化RPEKF并[1000 10000]方案单元的范围限制内操作。

rangeLimits = [1000 10000];numFilters = 10;rpekf = initrpekf(检测,numFilters,rangeLimits)
rpekf = trackingGSF具有属性:状态:[6X1双] StateCovariance:[6x6的双] TrackingFilters:{10×细胞} ModelProbabilities:[10×双] MeasurementNoise:[2×2双]

您也可以指定initrpekf功能作为FilterInitializationFcntrackerGNN宾语。

funcHandle = @(检测)initrpekf(检测,numFilters,rangeLimits)
funcHandle =与价值function_handle:@(检测)initrpekf(检测,numFilters,rangeLimits)
跟踪= trackerGNN('FilterInitializationFcn',funcHandle)
跟踪= trackerGNN与属性:TrackerIndex:0 FilterInitializationFcn:[function_handle]赋值: 'MatchPairs' AssignmentThreshold:[30 Inf文件] MaxNumTracks:100个MaxNumSensors:20 TrackLogic: '历史' ConfirmationThreshold:[2 3] DeletionThreshold:[5 5] HasCostMatrixInput:假HasDetectableTrackIDsInput:假StateParameters:[1x1的结构] NumTracks:0 NumConfirmedTracks:0

可视化的过滤器。

TP = theaterPlot;componentPlot = trackPlotter(TP,'显示名称'“个人的款项”'MarkerFaceColor''R');sumPlot = trackPlotter(TP,'显示名称'“混合态”'MarkerFaceColor''G');indFilters = rpekf.TrackingFilters;POS =零(numFilters,3);COV =零(3,3,numFilters);对于I = 1:numFilters POS(I,:) = indFilters {I} .STATE(1:2:结束);COV(1:3,1:3,1)= indFilters {I} .StateCovariance(1:2:结束,1:2:结束);结束componentPlot.plotTrack(POS,COV);mixedPos = rpekf.State(1:2:结束)';mixedPosCov = rpekf.StateCovariance(1:2:结束,1:2:结束);sumPlot.plotTrack(mixedPos,mixedPosCov);

输入参数

全部收缩

检测报告,指定为objectDetection宾语。

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

EKFs数量各自在所述目标的估计范围,指定为正整数初始化。如果没有指定,EKFs的默认数量为6

数据类型:||INT8|INT16|INT32|Int64的|UINT8|UINT16|UINT32|UINT64

目标的范围限制,指定为两元素矢量。在载体中的两个元素表示目标范围的下限和上限。未指定的情况下,默认范围限制是[1E3 1E5]场景单位。

数据类型:||INT8|INT16|INT32|Int64的|UINT8|UINT16|UINT32|UINT64

输出参数

全部收缩

等速范围-参数扩展卡尔曼滤波器(EKF),返回为trackingGSF宾语。

参考

[1]桃,N“轴承只使用一组范围,参数化扩展卡尔曼滤波器跟踪。“IEE论文集-控制理论与应用142,第1期(1995):73-80。

扩展功能

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

介绍了在R2018b