2024年4月30日发(作者:)

统计信号处理仿真实验实验报告

卡尔曼滤波在目标跟踪中应用仿真研究

【摘要】目标跟踪问题的应用背景是雷达数据处理,即雷达在搜索到目标并记录目标的位置

数据,对测量到的目标位置数据(称为点迹)进行处理,自动形成航迹,并对目标在下一时

刻的位置进行预测。本文简要讨论了用Kalman滤波方法对单个目标航迹进行预测,并借助

于Matlab仿真工具,对实验的效果进行评估。

关键词:Kalman滤波、目标跟踪、Matlab仿真

1.情景假设

假定有一个二座标雷达对一平面上运动的目标进行观测,目标在

t0~400

秒沿

y

0~60

作恒速直线运动,运动速度为-15米/秒,目标的起始点为(2000米,10000米),在

t4

秒向

x

轴方向做

90

0

的慢转弯,加速度均为0.075米/秒

2

,完成慢转弯后加速度将降为零,

2

t610

秒开始做

90

0

的快转弯,加速度为0.3米/秒

,在660秒结束转弯,加速度降至零。

雷达扫描周期

T2

秒,

x

y

独立地进行观测,观测噪声的标准差均为100米。

2.Kalman滤波算法分析

为了简单起见,仅对

x

轴方向进行考虑。

首先,目标运动沿

x

轴方向的运动可以用下面的状态方程描述:

(k)

(T

2

/2)u

x

(k)x(k

1)

x(k)

Tx

(k

1)

x

(k)

Tu

x

(k)x

X(k1)X(k)W(k)

(2.1)

用矩阵的形式表述为,

(2.2)

1

2

T

x(k)1T







在上式中,

X(k)

W

(

k

)

u

x

2



01



x(k)



T

考虑雷达的观测,得出观测方程为:

Z(k)C(k)X(k)V(k)

(2.3)

在(2.3)中,

C(k)10

V(k)

为零均值的噪声序列,方差已知。

对目标进行预测,由相关理论可得到下面的迭代式:



ˆ

(k/k1)X

ˆ

(k1/k1)

X

(2.4)

ˆ

(k/k

1)

E[X(k)|Z

k

1

]

,反映了由前

k1

各观测值对目前状态的估计。 在(2.4)中,

X

而预测的误差协方差可由下式表出,

P

X

)P

X

)

T

Q(k1)

T

(k/k1

(k1/k1

第 1 页

(2.5)

2019.06.24

统计信号处理仿真实验实验报告

对于最佳滤波,迭代表达式为:

ˆ

(k/k)X

ˆ

(k/k1)K(k)[Z(k)C(k)X

ˆ

(k/k1)]

X

(2.6)

在式(2.6)中,

K(k)

为Kalman增益。

而滤波误差的协方差为,

P

X

)

(k/k)[IK(k)C(k)]P

(k/k1

X

(2.7)

在应用上面的公式进行Kalman滤波时,需要指定初值。由于实际中通常无法得到目标

的初始状态,我们可以利用前几个观测值建立状态的初始估计,比如采用前两个观测值,

此时,估计误差为

ˆ

(2/2)

z(2)X

x

z

x

(2)z

x

(1)

/T

T

T

(2.8)

(2/2)

v(2)

T

u(1)

v

x

(1)

v

x

(2)

X

x

x

2T



2

x

P

XX



(2/2)

2

x

/T

(2.9)

而误差协方差矩阵为,

x

2

/T

2

2

x

/T

(2.10)

3.仿真计算与结果

为了真实地反映出Kalman滤波的效果,采用了Monte-Carlo方法,采用多次实验取均

值的方法进行研究,可以计算出估计的误差均值和方差,其表达式为:

1

e

x

(k)

M

ˆ

(k|k)]

[x(k)

x

ii

i

1

M

(2.11)

而误差的标准差可以表示为:

1

x

M

ˆ

(k|k)]

[x(k)

x

ii

i

1

M

2

e

x

2

(k)

(2.12)

在(2.11)和(2.12)中,

M

就是进行Monte-Carlo仿真的次数,而

k

为取样点数。当仿真的次数

越多时,实验的效果越接近于实际,但是计算的速度会明显变慢。在仿真时,需要根据实际

适当选取。在本程序中,取

M50

另外,在仿真过程中,为了进一步研究目标的航迹,在660秒后又进行了一段时间的匀

速运动仿真。

下面是仿真的结果,仿真源文件分别为trajectory.m,Kalman_filter.m和filter_result.m,

分别产生原始目标航迹、卡尔曼滤波估计和最终的输出,为了方便观察,将原始航迹、观测

数据和经过滤波后的估计航迹反映在一张图上。并且,画出了给定Monte-Carlo仿真的次数

情况下,沿

x

轴方向和

y

轴方向估计误差值的均值和标准差随着采样点数的增多而发生变化

的情况。

首先给出原始航迹,

第 2 页 2019.06.24