initapekf

等速角度参数EKF初始化

描述

过滤= initapekf(发现配置用10个扩展卡尔曼滤波器(EKFs)过滤器。的功能配置与在加速单元的标准偏差的处理噪声。

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

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

过滤= initapekf(发现numFiltersangleLimits规定了该目标的角位置的限制。

例子

全部收缩

所述APEKF是一种特殊类型的过滤器,可以只使用范围的测量被初始化的。当。。。的时候'帧'设定为'球形'中,检测具有[方位角仰角范围距离变化率]测量。适当地指定测量参数来定义仅范围测量。

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

objectDetection类定义由所述传感器测量的唯一范围检测的接口。该MeasurementParameters现场objectDetection携带关于什么传感器测量的信息。

检测= objectDetection(0100,'MeasurementNoise',100,'MeasurementParameters',measParam)
检测= objectDetection与属性:时间:0测量:100 MeasurementNoise:100 SensorIndex:1 ObjectClassID:0 MeasurementParameters:[1x1的结构] ObjectAttributes:{}

initapekf函数使用仅范围检测初始化APEKF。

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

也可以用10层的过滤器初始化APEKF和第[-30 30]°的角度范围内操作。

angleLimits = [-30 30];numFilters = 10;apekf = initapekf(检测,numFilters,angleLimits)
apekf = trackingGSF具有属性:状态:[6X1双] StateCovariance:[6x6的双] TrackingFilters:{10×细胞} ModelProbabilities:[10×双] MeasurementNoise:100

您也可以指定initapekf功能A FilterInitializationFcntrackerGNN宾语。

funcHandle = @(检测)initapekf(检测,numFilters,angleLimits)
funcHandle =与价值function_handle:@(检测)initapekf(检测,numFilters,angleLimits)
跟踪= trackerGNN('FilterInitializationFcn',funcHandle);

可视化的过滤器。

TP = theaterPlot;componentPlot = trackPlotter(TP,'显示名称'“个人的款项”'MarkerFaceColor''R');sumPlot = trackPlotter(TP,'显示名称'“混合态”'MarkerFaceColor''G');indFilters = apekf.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 = apekf.State(1:2:结束)';mixedPosCov = apekf.StateCovariance(1:2:结束,1:2:结束);sumPlot.plotTrack(mixedPos,mixedPosCov);

从[AZ R]检测创建角度参数EKF。

measParam =结构('帧''球形''HasAzimuth',真正,'HasElevation',假,'HasVelocity',假,'OriginPosition'[100; 10; 0]);

objectDetection类定义由所述传感器测量的唯一范围检测的接口。该MeasurementParameters现场objectDetection携带关于什么传感器测量的信息。

DET = objectDetection(0,[30; 100],'MeasurementParameters',measParam,'MeasurementNoise',10);

initapekf功能参数化apekf过滤的高度测量。

numFilters = 10;apekf = initapekf(DET,numFilters,[ -  30 30]);indFilters = apekf.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:结束);结束

可视化的过滤器。

TP = theaterPlot;componentPlot = trackPlotter(TP,'显示名称'“个人的款项”'MarkerFaceColor''R');sumPlot = trackPlotter(TP,'显示名称'“混合态”'MarkerFaceColor''G');componentPlot.plotTrack(POS,COV);mixedPos = apekf.State(1:2:结束)';mixedPosCov = apekf.StateCovariance(1:2:结束,1:2:结束);sumPlot.plotTrack(mixedPos,mixedPosCov);图(3);

输入参数

全部收缩

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

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

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

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

所述目标的角度的限制,指定为两元素矢量。在载体中的两个元素表示目标角位置的下限和上限。

当功能检测:

  • 范围测量值 - 默认角度限制为[-180 180]。

  • 方位角和距离测量 - 默认角度限制是[-90 90]。

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

输出参数

全部收缩

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

算法

该功能可支持以下类型的测量中检测。万博1manbetx

  • 范围测量值 - 参数对目标的方位角进行,和角限制为[-180 180]缺省。

  • 方位角和距离测量 - 参数对目标的高度完成,和角限制默认是[-90 90]。

参考

[1] Ristic的,茨尔,Sanjeev Arulampalam,和James麦卡锡。“算法,性能和应用到ISAR数据:只使用范围的测量目标的运动分析。“信号处理82,第2期(2002):273-296。

扩展功能

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

也可以看看

功能

对象

介绍了在R2018b