主要内容

trackingkf.

用于对象跟踪的线性卡尔曼滤波器

描述

一种trackingkf.对象是用于跟踪位置和速度的离散时间线性卡尔曼滤波器目标平台。

卡尔曼滤波器是用于在对过程进行测量时估计过程的不断变化状态的递归算法。当状态的演进遵循线性运动模型时,滤波器是线性的,并且测量是状态的线性函数。过滤器假定过程和测量都具有添加性噪声。当过程噪声和测量噪声是高斯时,卡尔曼滤波器是用于线性过程的最佳最小均方误差(MMSE)状态估计器。

您可以在以下方式使用此对象:

  • 明确设置运动模型。设置运动模型属性,MotionModel., 至风俗,然后使用StateTransitionModel.属性设置状态转换矩阵。

  • 设定MotionModel.预定义状态转换模型的属性:

    运动模型
    '1d恒定速度'
    '1D常量加速'
    '2d恒定速度'
    '2D不断加速'
    '3D恒定速度'
    '3D不断加速'

创建

描述

过滤器= trackingkf.为离散时间,2-D,恒定速度移动对象创建线性卡尔曼滤波器对象。卡尔曼筛选器使用默认值StateTransitionModel.测量模型, 和ControlModel.特性。该功能还设置了MotionModel.财产'2d恒定速度'

筛选= trackingkf(FH指定状态转换模型,F和测量模型,H。使用此语法,该函数也设置了MotionModel.财产'风俗'

筛选= trackingkf(FHG还指定控制模型,G。使用此语法,该函数也设置了MotionModel.财产'风俗'

筛选= trackingkf('motionmodel'模型设置运动模型属性,MotionModel., 至模型

例子

筛选= trackingkf(___名称价值使用一个或多个配置卡尔曼滤波器的属性名称价值对参数和以前的任何语法。任何未指定的属性都占用默认值。

特性

展开全部

卡尔曼滤波器状态,指定为真实值m- 再生矢量。m是国家矢量的大小。典型的状态矢量大小描述于MotionModel.财产。当初始状态指定为标量时,状态将扩展为一个m- 再生矢量。

您可以在这些情况下将状态设置为标量:

  • 当。。。的时候MotionModel.属性设置为'风俗'm由状态转换模型的大小决定。

  • 当。。。的时候MotionModel.属性设置为'2d恒定速度''3D恒定速度''2D不断加速', 或者'3D不断加速',必须首先将状态指定为m- 再生矢量。您可以针对状态向量的所有后续规范使用标量。

例子:[200; 0.2; -40; -0.01]

数据类型:双倍的

状态错误协方差,指定为正标量或积极的真实值m-经过-m矩阵,其中m是国家的大小。指定值作为标量创建一个倍数m-经过-m身份矩阵。该矩阵表示状态的不确定性。

例子:[20 0.1;0.1 1]

数据类型:双倍的

卡尔曼滤波器运动模型,指定为'风俗'或这些预定义模型中的一个。在这种情况下,状态向量和状态转换矩阵采用表中指定的表单。

运动模型 状态矢量的形式 国家过渡模型的形式
'1d恒定速度'

[x; vx]

[1 dt;0 1]

'2d恒定速度'

[x; vx; y; vy]

阻止对角线矩阵[1 dt;0 1]块重复了Xy空间尺寸

'3D恒定速度'

[x; vx; y; vy; z; vz]

阻止对角线矩阵[1 dt;0 1]块重复了Xy, 和Z.空间尺寸。

'1D常量加速'

[x; vx;斧头]

[1 dt 0.5 * dt ^ 2;0 1 dt;0 0 1]

'2D不断加速'

[x; vx;斧头; y; vy; ay]

块对角线矩阵[1 dt 0.5 * dt ^ 2;0 1 dt;0 0 1]块重复了Xy空间尺寸

'3D不断加速'

[x; vx,斧头; y; vy; y; z; vz; az]

阻止对角线矩阵[1 dt 0.5 * dt ^ 2;0 1 dt;0 0 1]块重复了Xy, 和Z.空间尺寸

当。。。的时候ControlModel.属性定义,状态转换模型的每个非零元素都被替换为DT.

什么时候MotionModel.'风俗',您必须指定状态转换模型矩阵,测量模型矩阵和可选的控制模型矩阵作为卡尔曼滤波器的输入参数。

数据类型:char

状态转换模型之间的时间步长,指定为真实值m-经过-m矩阵。m是国家矢量的大小。在没有控制和噪声的情况下,状态转换模型将状态涉及前一步的状态的任何时间。状态转换模型是滤波时间步长的函数。

例子:[1 0;1 2]

依赖性

启用此属性,设置MotionModel.'风俗'

数据类型:双倍的

控制模型,指定为一个m-经过-L.矩阵。m是国家矢量的维度和L.是控制或力量的数量。控制模型增加了控制对国家演变的影响。

例子:[.01 0.2]

数据类型:双倍的

过程噪声的协方差,指定为正标量或一个m-经过-m矩阵在哪里m是国家的维度。如果将此属性指定为标量,则过滤器将使用该值作为乘法器m-经过-m身份矩阵。过程噪声表达动态模型中的不确定性,并且被认为是零表示高斯白噪声。

小费

如果您指定了MotionModel.属性作为任何预定义的运动模型,然后在施工期间自动生成相应的过程噪声并在传播期间更新。在这种情况下,您无需指定processnoise.财产。实际上,过滤器忽略了对象构造过程中的过程噪声输入。如果要指定除默认值以外的进程噪声,请使用trackingekf.目的。

数据类型:双倍的

来自状态矢量的测量模型,指定为真实值N-经过-m矩阵,其中N是测量矢量的大小和m是国家矢量的大小。这测量模型是从预测状态确定预测测量的线性矩阵。

例子:[1 0.5 0.01;1.0 1 0]

数据类型:双倍的

测量噪声的协方差,指定为正标量或积极的,真实值N-经过-N矩阵,其中N是测量矢量的大小。如果将此属性指定为标量,则过滤器将使用该值作为乘法器N-经过-N身份矩阵。测量噪声表示测量的不确定性,并且被假定为零为高斯白噪声。

例子:0.2

数据类型:双倍的

启用状态平滑,指定为错误的或者真的。将此属性设置为真的需要传感器融合和跟踪工具箱™许可证。指定为真的, 你可以:

  • 使用光滑的在传感器融合和跟踪工具箱中提供的功能,以平滑的状态估计在前面的步骤中。在内部,过滤器将结果存储在先前步骤中以允许向后平滑。

  • 使用使用的最大平滑步骤数maxnumsmoothingsteps.跟踪过滤器的属性。

最大向后平滑步骤数,指定为正整数。

依赖性

要启用此属性,请设置启动财产真的

对象功能

预测 线性卡尔曼滤波器的状态和状态估计误差协方差
正确的 使用跟踪过滤器的正确状态和状态估计错误协方差
corrictjpda. 使用跟踪过滤器和JPDA的正确状态和状态估计错误协方差
距离 跟踪滤波器电流和预测测量之间的距离
可能性 从跟踪过滤器测量的可能性
克隆 创建重复的跟踪过滤器
剩余的 跟踪滤波器测量残差和残留噪声
光滑的 跟踪过滤器的后向平滑状态估计
初始化 初始化跟踪过滤器的状态和协方差

例子

全部收缩

创建一个使用a的线性卡尔曼筛选器2D恒定速度运动模型。假设测量由对象组成X-Y.地点。

指定初始状态估计以具有零速度。

x = 5.3;y = 3.6;initialstate = [x; 0; y; 0];kf = trackingkf('motionmodel''2d恒定速度''状态',initialstate);

从恒定速度轨迹创建测量位置。

Vx = 0.2;VY = 0.1;t = 0.5;pos = [0:vx * t:2; 5:vy * t:6]';

预测并纠正对象的状态。

为了k = 1:尺寸(pos,1)pstates(k,:) =预测(kf,t);cstates(k,:) =正确(kf,pos(k,:));结尾

绘制曲目。

绘图(POS(:,1),POS(:,2),'k。',pstates(:,1),pstates(:,3),'+'......cstates(:,1),cstates(:,3),'o')Xlabel('x [m]')ylabel('y [m]')网格xt = [x-2 pos(1,1)+0.1 pos(end,1)+0.1];YT = [Y POS(1,2)POS(终端,2)];文字(xt,yt,{'第一次测量''第一位置''最后一个位置'}) 传奇('对象位置''预测位置''纠正立场'

图包含轴。轴包含6个类型的类型线,文本。这些对象表示对象位置,预测位置,校正位置。

更多关于

展开全部

算法

卡尔曼滤波器通过估计其状态来描述对象的运动。国家通常由对象位置和速度组成,可能是其加速度。状态可以跨越一个,两个或三个空间尺寸。最常使用Kalman滤波器来模拟恒定速度或恒定加速运动。线性卡尔曼滤波器假定过程遵循以下线性随机差分方程:

X K. + 1 = F K. X K. + G K. K. + V. K.

XK.是迈出的状态K.FK.是状态转换模型矩阵。GK.是控制模型矩阵。K.表示作用在物体上的已知的广义对照。除了指定的运动方程之外,运动可能受到随机噪声扰动的影响,V.K.。状态,状态转换矩阵和控制一起提供足够的信息来确定对象在没有噪声的情况下的未来运动。

在卡尔曼滤波器中,测量结果也是状态的线性函数,

Z. K. = H K. X K. + W. K.

在哪里HK.是测量模型矩阵。该模型表示测量结果作为状态的函数。测量可以包括物体位置,位置和速度,或其位置,速度和加速度,或这些数量的一些功能。测量还可以包括噪声扰动,W.K.

这些方程在没有噪声的情况下,模拟物体的实际运动和实际测量。每个步骤的噪声贡献都未知,无法建模。只知道噪声协方差矩阵。州协方差矩阵仅通过了解噪声协方差。

有关线性卡尔曼滤波算法的简要说明,请参阅线性卡尔曼滤波器

参考

[1]棕色,r.g.和p.y.c.王。随机信号分析和应用Kalman滤波简介。第3版。纽约:John Wiley&Sons,1997。

[2]卡尔曼,R.E。“一种新的线性滤波和预测问题的方法。ASME的交易 - 基础工程学报,卷。82,系列D,1960年3月,第35-45页。

[3]布莱克曼,塞缪尔。具有雷达应用的多目标跟踪。Artech House。1986年。

扩展能力

在R2018B中介绍