文章目录
非机动目标跟踪算法原理 一、Singer 模型算法 二、当前统计模型算法 三、交互多模型算法
实验仿真 一、低机动情况 1.1 Singer模型参数设置 1.2 当前统计模型参数设置 1.3交互多模型参数设置 1.4 对比分析
二、一般机动情况 2.1 Singer模型参数设置 2.2 当前统计模型算法 2.3 交互多模型算法 2.4 对比分析
三、高机动情况 3.1 Singer模型参数设置 3.2 当前统计模型算法参数设置 3.3 交互多模型算法 3.4 对比分析
部分代码
非机动目标跟踪算法原理
一、Singer 模型算法
二、当前统计模型算法
三、交互多模型算法
IMM算法流程图如下所示:
实验仿真
一、低机动情况
假设目标起始状态为
X
(
0
)
=
[
2000
m
,
0
m
/
s
,
10000
m
,
15
m
/
s
]
T
X(0)=[2000m,0m/s,10000m,15m/s]^T
X ( 0 ) = [ 2000 m , 0 m / s , 10000 m , 15 m / s ] T ,目标机动情况如下表所示,目标运动过程历时
700
s
700s
700 s 。在仿真过程中,假设雷达采样间隔为
T
=
1
s
T=1s
T = 1 s ,在x轴和y轴的测距误差为
100
m
100m
100 m ,蒙特卡洛次数为100次。采用卡尔曼滤波进行跟踪。
目标发生机动时刻
t
=
200
t=200
t = 200
t
=
400
t=400
t = 400
t
=
410
t=410
t = 410
t
=
470
t=470
t = 470
x
x
x 轴加速度
(
m
/
s
2
)
(m/s^2)
( m / s 2 ) 0.075 0 -0.25 0
y
y
y 轴加速度
(
m
/
s
2
)
(m/s^2)
( m / s 2 ) -0.075 0 0.25 0
1.1 Singer模型参数设置
机动频率
α
=
1
/
20
\alpha=1/20
α = 1/20 ,机动加速度
σ
m
2
=
0.4
\sigma^2_m=0.4
σ m 2 = 0.4 ,仿真图为
1.2 当前统计模型参数设置
机动频率
α
=
1
/
20
\alpha=1/20
α = 1/20 ,最大加速度
a
m
a
x
=
1
m
/
s
2
a_{max}=1m/s^2
a ma x = 1 m / s 2 ,仿真图为
1.3交互多模型参数设置
采用三个模型,模型的过程噪声方差
q
q
q 分别为0、0.01、0.09,模型先验概率分别为1/3、1/3、1/3,模型转移概率矩阵为
P
=
[
0.8
0.15
0.05
0.3
0.4
0.3
0.05
0.15
0.8
]
P=\begin{bmatrix} 0.8 & 0.15 &0.05\\ 0.3 & 0.4&0.3\\0.05&0.15&0.8 \end{bmatrix}
P =
0.8 0.3 0.05 0.15 0.4 0.15 0.05 0.3 0.8
1.4 对比分析
随着跟踪步数的增加,在低机动情况下Singer模型算法、当前统计模型算法和IMM算法在x轴和y轴上的位置均方根误差均逐渐收敛,且相应的收敛值均小于雷达的测距误差,这说明上述三种算法可实现对低机动目标的跟踪。对x轴和y轴上的位置均方根误差进行比较可知,Singer模型算法与当前统计模型算法十分接近,而IMM算法低于另外两种算法。由于IMM算法设置了多个模型,而不同的模型可以匹配目标在不同阶段的运动模型,因此IMM算法的跟踪 精度高于Singer模型算法和当前统计模型算法。根据前面的分析可知,在低机动情况 下IMM算法的跟踪精度比另外两种算法的高,当前统计模型算法的跟踪精度略高于Singer模型算法。
二、一般机动情况
假设目标起始状态为
X
(
0
)
=
[
0
m
,
500
m
/
s
,
3500
m
,
0
m
/
s
]
T
X(0)=[0m,500m/s,3500m,0m/s]^T
X ( 0 ) = [ 0 m , 500 m / s , 3500 m , 0 m / s ] T ,目标机动情况如下表所示,目标运动过程历时
120
s
120s
120 s 。在仿真过程中,假设雷达采样间隔为
T
=
1
s
T=1s
T = 1 s ,在x轴和y轴的测距误差为
100
m
100m
100 m ,蒙特卡洛次数为100次。采用卡尔曼滤波进行跟踪。
目标发生机动时刻
t
=
10
t=10
t = 10
t
=
40
t=40
t = 40
t
=
80
t=80
t = 80
t
=
100
t=100
t = 100
t
=
110
t=110
t = 110
x
x
x 轴加速度
(
m
/
s
2
)
(m/s^2)
( m / s 2 ) 0 5 -6 2 0
y
y
y 轴加速度
(
m
/
s
2
)
(m/s^2)
( m / s 2 ) -2 -3 5 8 0
2.1 Singer模型参数设置
机动频率
α
=
1
/
20
\alpha=1/20
α = 1/20 ,机动加速度
σ
m
2
=
416.67
\sigma^2_m=416.67
σ m 2 = 416.67 ,仿真图为
2.2 当前统计模型算法
机动频率
α
=
1
/
20
\alpha=1/20
α = 1/20 ,最大加速度
a
m
a
x
=
25
m
/
s
2
a_{max}=25m/s^2
a ma x = 25 m / s 2 ,仿真图为
2.3 交互多模型算法
采用三个模型,模型的过程噪声方差
q
q
q 分别为0.01、0.09、20,模型先验概率分别为1/9、5/9、1/3,模型转移概率矩阵为
P
=
[
0.8
0.15
0.05
0.3
0.4
0.3
0.05
0.15
0.8
]
P=\begin{bmatrix} 0.8 & 0.15 &0.05\\ 0.3 & 0.4&0.3\\0.05&0.15&0.8 \end{bmatrix}
P =
0.8 0.3 0.05 0.15 0.4 0.15 0.05 0.3 0.8
2.4 对比分析
随着跟踪步数的增加,在一般机动情况下Singer 模型算法、当前统计模型算法和IMM算法在x轴和y轴上的位置均方根误差均逐渐收敛,且相应的收敛值均小于雷达的测距误差,这说明上述三种算法可实现对一般机动目标的跟踪。对x轴和y轴上的位置均方根误差进行比较可知,Singer模型算法高 于当前统计模型算法。这是因为当前统计模型算法是对Singer模型算法的一种改进,当前统计模型算法根据机动加速度均值实时调整过程噪声协方差,从而可以自适应跟踪机动目标。而Singer模型算法是利用先验模型去描述目标的机动运动。因此在一般机动情况下,当前统计模型算法的跟踪精度较Singer模型算法的高。而在低机动情况 下,当前统计模型算法对Singer模型算法的改进程度不高,因此这两种算法的跟踪精 度十分接近,但当前统计模型算法的跟踪精度略高于Singer模型算法。IMM算法在 x轴和y轴上的位置均方根误差仍较另外两种算法的小,这依然是模型集中包含目标 运动模型的结果。综合前面的分析可知,在一般机动情况下,按照跟踪精度从高往低进行排列,这三种算法依次为IMM算法、当前统计模型算法、Singer模型算法。
三、高机动情况
假设目标起始状态为
X
(
0
)
=
[
38480
m
,
−
426
m
/
s
,
12000
m
,
0
m
/
s
]
T
X(0)=[38480m,-426m/s,12000m,0m/s]^T
X ( 0 ) = [ 38480 m , − 426 m / s , 12000 m , 0 m / s ] T ,目标机动情况如下表所示,目标运动过程历时
85
s
85s
85 s 。在仿真过程中,假设雷达采样间隔为
T
=
1
s
T=1s
T = 1 s ,在x轴和y轴的测距误差为
100
m
100m
100 m ,蒙特卡洛次数为100次。采用卡尔曼滤波进行跟踪。
目标发生机动时刻
t
=
11
t=11
t = 11
t
=
18
t=18
t = 18
t
=
41
t=41
t = 41
t
=
51
t=51
t = 51
t
=
71
t=71
t = 71
x
x
x 轴加速度
(
m
/
s
2
)
(m/s^2)
( m / s 2 ) 10 0 -5 -10 40
y
y
y 轴加速度
(
m
/
s
2
)
(m/s^2)
( m / s 2 ) 12 0 -8 -13 18
3.1 Singer模型参数设置
机动频率
α
=
1
/
20
\alpha=1/20
α = 1/20 ,机动加速度
σ
m
2
=
10133
\sigma^2_m=10133
σ m 2 = 10133 ,仿真图为
3.2 当前统计模型算法参数设置
机动频率
α
=
1
/
20
\alpha=1/20
α = 1/20 ,最大加速度
a
m
a
x
=
80
m
/
s
2
a_{max}=80m/s^2
a ma x = 80 m / s 2 ,仿真图为
3.3 交互多模型算法
采用三个模型,模型的过程噪声方差
q
q
q 分别为0.01、10、100,模型先验概率分别为1/9、4/9、4/9,模型转移概率矩阵为
P
=
[
0.8
0.15
0.05
0.3
0.4
0.3
0.05
0.15
0.8
]
P=\begin{bmatrix} 0.8 & 0.15 &0.05\\ 0.3 & 0.4&0.3\\0.05&0.15&0.8 \end{bmatrix}
P =
0.8 0.3 0.05 0.15 0.4 0.15 0.05 0.3 0.8
3.4 对比分析
随着跟踪步数的增加,在高机动情况下Singer模 型算法、当前统计模型算法和IMM算法在x轴和y轴上的位置均方根误差均逐渐收敛,且相应的收敛值均小于雷达的测距误差,这说明上述三种算法可实现对高机动目标的跟踪。 对x轴和y轴上的位置均方根误差进行比较可知,Singer模型算法高于当前统计模型算法,这仍然是因为当前统计模型算法可以自适应跟踪机动目标。IMM算法在x轴和y轴上的位置均方根误差整体上仍较上述两种算法的小,这依然是因为模型集中包含的不同模型可以匹配目标在不同阶段的运动模型。当跟踪步数在70到80之间时,IMM算法在x轴上的位置均方根误差有一个快速上升过程,且在一些位置上IMM算法在x轴上的位置均方根误差大于Singer模型算法和 当前统计模型算法在x轴上的位置均方根误差,但仍小于雷达的测距误差。在71s到81s间,目标在x轴上的加速度由
−
10
m
/
s
2
-10 m/s^2
− 10 m / s 2 变为
40
m
/
s
2
40m/s^2
40 m / s 2 ,x轴上的加 速度在10s内的变化量达到了
50
m
/
s
2
50 m/s^2
50 m / s 2 ,因此IMM算法在这一期间由于模型间转移引起的时延会导致较大跟踪误差的产生。类似的,当跟踪步数在70到80之间时,IMM 算法在y轴上的位置均方根误差也有一个上升过程,但由于y轴上的加速度在71s到 81s这10s内的变化量为
31
m
/
s
2
31 m/s^2
31 m / s 2 ,小于同一时期x轴上的加速度的变化量,因此IMM 算法在y轴上的位置均方根误差的上升幅度较在x轴上的位置均方根误差的上升幅度小。根据前面的分析可知,在高机动情况下,当前统计模型算法的跟踪精度较Singer模型的高,在整体上,IMM算法的跟踪精度较上述两种算法的高。 综上所述,通过在低机动、一般机动和高机动这三种情况下对Singer模型算法、 当前统计模型算法和IMM算法的跟踪结果进行比较分析可知:IMM算法在整体上的跟踪精度较高于另外两种算法,而当前统计模型算法在一般机动和高机动情况下的跟 踪精度比Singer模型的高,在低机动情况下当前统计模型算法的跟踪精度与Singer 模型算法的接近。
部分代码
function [ x_est, p_est, xn_est, pn_est, u] = imm ( xn_est, pn_est, T, Z, Delta, u)
p= [ 0.8 0.15 0.05 ;
0.3 0.4 0.3 ;
0.05 0.15 0.8 ] ;
phi{ 1 , 1 } = [ 1 T 0 0 ;
0 1 0 0 ;
0 0 1 T;
0 0 0 1 ] ;
phi{ 1 , 1 } ( 6 , 6 ) = 0 ;
phi{ 2 , 1 } = [ 1 T 0 0 T^ 2 / 2 0 ;
0 1 0 0 T 0 ;
0 0 1 T 0 T^ 2 / 2 ;
0 0 0 1 0 T;
0 0 0 0 1 0 ;
0 0 0 0 0 1 ] ;
phi{ 3 , 1 } = phi{ 2 , 1 } ;
g{ 1 , 1 } = [ T/ 2 , 0 ;
1 , 0 ;
0 T/ 2 ;
0 1 ] ;
g{ 1 , 1 } ( 6 , 2 ) = 0 ;
g{ 2 , 1 } = [ T^ 2 / 4 , 0 ;
T/ 2 , 0 ;
0 , T^ 2 / 4 ;
0 T/ 2 ;
1 0 ;
0 1 ] ;
g{ 3 , 1 } = g{ 2 , 1 } ;
q{ 1 , 1 } = 0.01 * eye ( 2 ) ;
q{ 2 , 1 } = 10 * eye ( 2 ) ;
q{ 3 , 1 } = 10 * eye ( 2 ) ;
H = [ 1 0 0 0 0 0 ;
0 0 1 0 0 0 ] ;
R = eye ( 2 ) * Delta^ 2 ;
mu= zeros ( 3 , 3 ) ;
c_mean = zeros ( 1 , 3 ) ;
for i = 1 : 3
c_mean= c_mean+ p ( i , : ) * u ( i ) ;
end
for i = 1 : 3
mu ( i , : ) = p ( i , : ) * u ( i ) ./ c_mean;
end
想要全部代码可以直接加我Q 2647782128 记得备注
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)