赞
踩
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)=[2000m,0m/s,10000m,15m/s]T,目标机动情况如下表所示,目标运动过程历时 700 s 700s 700s。在仿真过程中,假设雷达采样间隔为 T = 1 s T=1s T=1s,在x轴和y轴的测距误差为 100 m 100m 100m,蒙特卡洛次数为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/s2) | 0.075 | 0 | -0.25 | 0 |
y y y轴加速度 ( m / s 2 ) (m/s^2) (m/s2) | -0.075 | 0 | 0.25 | 0 |
机动频率
α
=
1
/
20
\alpha=1/20
α=1/20,机动加速度
σ
m
2
=
0.4
\sigma^2_m=0.4
σm2=0.4,仿真图为
机动频率
α
=
1
/
20
\alpha=1/20
α=1/20,最大加速度
a
m
a
x
=
1
m
/
s
2
a_{max}=1m/s^2
amax=1m/s2,仿真图为
采用三个模型,模型的过程噪声方差
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=
随着跟踪步数的增加,在低机动情况下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)=[0m,500m/s,3500m,0m/s]T,目标机动情况如下表所示,目标运动过程历时 120 s 120s 120s。在仿真过程中,假设雷达采样间隔为 T = 1 s T=1s T=1s,在x轴和y轴的测距误差为 100 m 100m 100m,蒙特卡洛次数为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/s2) | 0 | 5 | -6 | 2 | 0 |
y y y轴加速度 ( m / s 2 ) (m/s^2) (m/s2) | -2 | -3 | 5 | 8 | 0 |
机动频率 α = 1 / 20 \alpha=1/20 α=1/20,机动加速度 σ m 2 = 416.67 \sigma^2_m=416.67 σm2=416.67,仿真图为
机动频率
α
=
1
/
20
\alpha=1/20
α=1/20,最大加速度
a
m
a
x
=
25
m
/
s
2
a_{max}=25m/s^2
amax=25m/s2,仿真图为
采用三个模型,模型的过程噪声方差
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=
随着跟踪步数的增加,在一般机动情况下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)=[38480m,−426m/s,12000m,0m/s]T,目标机动情况如下表所示,目标运动过程历时 85 s 85s 85s。在仿真过程中,假设雷达采样间隔为 T = 1 s T=1s T=1s,在x轴和y轴的测距误差为 100 m 100m 100m,蒙特卡洛次数为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/s2) | 10 | 0 | -5 | -10 | 40 |
y y y轴加速度 ( m / s 2 ) (m/s^2) (m/s2) | 12 | 0 | -8 | -13 | 18 |
机动频率 α = 1 / 20 \alpha=1/20 α=1/20,机动加速度 σ m 2 = 10133 \sigma^2_m=10133 σm2=10133,仿真图为
机动频率
α
=
1
/
20
\alpha=1/20
α=1/20,最大加速度
a
m
a
x
=
80
m
/
s
2
a_{max}=80m/s^2
amax=80m/s2,仿真图为
采用三个模型,模型的过程噪声方差
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=
随着跟踪步数的增加,在高机动情况下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
−10m/s2变为
40
m
/
s
2
40m/s^2
40m/s2,x轴上的加 速度在10s内的变化量达到了
50
m
/
s
2
50 m/s^2
50m/s2,因此IMM算法在这一期间由于模型间转移引起的时延会导致较大跟踪误差的产生。类似的,当跟踪步数在70到80之间时,IMM 算法在y轴上的位置均方根误差也有一个上升过程,但由于y轴上的加速度在71s到 81s这10s内的变化量为
31
m
/
s
2
31 m/s^2
31m/s2,小于同一时期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];
%采用三个不同的模型参数,模型1个非机动模型,模型2、3为机动模型(Q值不同)
phi{1,1}=[1 T 0 0 ;
0 1 0 0;
0 0 1 T;
0 0 0 1];%此为CV模型的状态转移矩阵
phi{1,1}(6,6)=0;%模型1,状态转移方程。
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];%模型2,状态转移方程。
%此为CA模型的状态转移矩阵
phi{3,1}=phi{2,1};%模型3,状态转移方程。
g{1,1}=[T/2,0;
1,0;
0 T/2;
0 1];
g{1,1}(6,2)=0;%模型1
%卡尔曼滤波中的过程噪声转移矩阵
g{2,1}=[T^2/4,0;
T/2,0;
0,T^2/4;
0 T/2;
1 0 ;
0 1];%模型2
%模型二的过程噪声转移矩阵
g{3,1}=g{2,1};%模型3
%产生过程噪声协方差矩阵 用公式g*Q*g'
q{1,1}=0.01*eye(2);
q{2,1}=10*eye(2);
q{3,1}=10*eye(2);
% Q = g{j,1}*q{j,1}*g{j,1}';
%此为量测矩阵
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);%归一化常数
%u为k-1时刻混合概率
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
需要的可以加我企鹅
2376137981
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。