距离

跟踪滤波器的电流和预测测量值之间的距离

描述

经销=距离(过滤器,zmeas)计算一个或多个当前对象测量值之间的归一化距离,zmeas,以及由输入计算得到的相应的预测测量值过滤器。使用此函数将测量值分配到轨道。

这种距离计算考虑了预测状态的协方差和测量噪声。

经销=距离(过滤器,zmeas,measparams)方法使用的其他参数MeasurementFcn的过滤器。

如果filter是trackingKFtrackingABF对象,则不能使用此语法。

输入参数

全部折叠

对象跟踪过滤器,指定为这些对象之一:

被跟踪对象的度量,指定为矩阵。矩阵的每一行包含一个测量向量。

用于测量函数的参数,指定为单元格数组。参数被传递给定义在MeasurementFcn财产的过滤器如果过滤器是一个trackingKFtrackingABF对象,则无法指定measparams

假设你设置MeasurementFcn的属性过滤器@cameas,然后设置这些值:

measurementParams ={框架、sensorpos sensorpos}

距离函数内部调用如下:

cameas(状态、帧sensorpos sensorvel)

输出参数

全部折叠

测量值之间的距离,以行向量的形式返回。每个元素对应于输入中预测测量值之间的距离过滤器和包含在行的测量值zmeas

算法

距离函数计算筛选器对象和一组测量值之间的归一化距离。这种距离计算是马氏距离的一种变体,它考虑了残差(目标测量值与滤波器预测值之间的差值)、残差协方差和测量噪声。

考虑一个带状态的扩展卡尔曼滤波器x和测量z。计算残差的方程,zres,残差协方差,年代,都是

zres=z- - - - - -h(x),

年代=R+HPHT,

地点:

  • h中定义了度量函数吗MeasurementFcn筛选器的属性。

  • R测量噪声协方差是否定义在MeasurementNoise筛选器的属性。

  • H中定义了测量函数的雅可比矩阵吗MeasurementJacobianFcn筛选器的属性。

由于跟踪滤波器将协方差传播到测量空间的方式不同,其它滤波器的残差协方差计算可能与所示略有不同。例如,不使用测量函数的雅可比矩阵来传播协方差,unscented Kalman过滤器对协方差进行采样,然后传播采样点。

马氏距离的方程,d2,是

d2=zresT年代1z,

距离函数计算归一化距离,dn,因为

dn=d2+日志(|年代|),

日志(|年代|)是残差协方差行列式的对数年代

日志(|年代|)定期帐户的轨道是摸样,表示它们是预测的,但很长一段时间没有更新。这种状态下的轨迹可以年代非常大,导致相对于更新轨道的Mahalanobis距离更小。距离值的这种差异可能会导致滑行轨迹不正确地从更新的轨迹获取检测结果。日志(|年代|)项通过惩罚这些轨道来补偿这种效应,因为这些轨道的预测是高度不确定的。

扩展功能

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

介绍了R2018b