[论文]数据融合报告_基于交互多模算法的机动目标跟踪.doc

上传人:小小飞 文档编号:3904864 上传时间:2019-10-10 格式:DOC 页数:29 大小:2.64MB
返回 下载 相关 举报
[论文]数据融合报告_基于交互多模算法的机动目标跟踪.doc_第1页
第1页 / 共29页
[论文]数据融合报告_基于交互多模算法的机动目标跟踪.doc_第2页
第2页 / 共29页
[论文]数据融合报告_基于交互多模算法的机动目标跟踪.doc_第3页
第3页 / 共29页
[论文]数据融合报告_基于交互多模算法的机动目标跟踪.doc_第4页
第4页 / 共29页
[论文]数据融合报告_基于交互多模算法的机动目标跟踪.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《[论文]数据融合报告_基于交互多模算法的机动目标跟踪.doc》由会员分享,可在线阅读,更多相关《[论文]数据融合报告_基于交互多模算法的机动目标跟踪.doc(29页珍藏版)》请在三一文库上搜索。

1、实验报告姓 名: 学 号: 院 系: 电子与信息工程学院 课程名称: 数据融合技术及应用 实验题目: 基于交互多模算法的机动目标跟踪 同 组 人: 实验成绩: 总成绩: 教师评语 教师签字: 年 月 日基于交互多模算法的机动目标跟踪 摘要 目标跟踪在国防和民用领域均有着广泛的应用。随着飞行器机动性的提高,目标运动轨迹呈现出一定的复杂性、随机性和多样性。因此,研究机动目标跟踪是一个在理论与应用中均具有挑战性的课题。设计目标跟踪系统的主要目的是可靠而精确地跟踪目标,因此,对机动目标跟踪问题进行理论和应用方面的研究,具有重大理论意义及工程应用价值。在二维空间内在建立目标运动模型和观测模型的基础上采用

2、基于交互多模算法(IMM)的卡尔曼滤波器对机动目标进行跟踪。IMM算法可以很好的完成对机动目标的跟踪。关键词 目标跟踪;机动;交互多模算法1、引言机动是指目标作改变原来规律的运动,比如为执行某种战术意图,作转向、俯冲、爬升、下滑、蛇形、增速、降速等都属于目标机动。在四五十年代,目标速度和机动性不高,可以假设其运动规律在一定的时间内为匀速直线运动。但是,随着目标性能及各种控制和制导技术的发展,目标在某些时刻,比如发现自身被跟踪或者要进攻时,目标也可以进行闪避机动或采取某些特殊的攻击姿态,这时目标的机动性就十分强。1由于机动的复杂性、随机性、多样性以及各种飞行器的机动性能越来越高。在此背景下,提高

3、对机动目标的跟踪性能便成为越来越重要的问题,迫切需要研究更合理的机动目标模型以及性能更为优越的跟踪滤波方法。实现机动目标精确跟踪,首要解决的问题就是使所建立的目标运动模型与实际的目标运动模型匹配。目前常用的有多模型(MM),交互式多模型(IMM),切换模型等。多模型方法就是对一组具有不同机动模型分别进行Kalman滤波,最终的参数估计是各滤波器估计值的加权和;在多模型基础上,Shalom提出了交互式多模型方法,这一方法对无序目标的机动检测,显示了更好的鲁棒性和跟踪的稳定性;切换模型则是分别建立机动和非机动运动模型,利用机动检测实现在这两个模型之间的切换。一般来说,交互式多模型的跟踪性能较好。本

4、文对作匀速运动的二维空中机动目标进行研究,利用交互式多模型方法对雷达目标进行跟踪,达到了比较好的效果。2、运动模型在二维平面内当目标在空中作匀速运动时,通常包括匀速直线运动和匀速转向运动或两者交替,设采样间隔为,目标检测概率,且无虚警存在,在笛卡尔坐标系下作匀速运动的目标离散运动模型和观测模型2(假定在采样时刻)为: (2-1) (2-2)2.1 匀速直线运动模型当目标作匀速直线运动时,有: (2-3)其中和分别为相互独立的零均值方差为和的高斯白噪声。 (2-4)其中是相互独立的高斯白噪声,均值为零,方差为。2.2 匀速转向运动模型当目标作匀速转向运动时,有: (2-5)其中、分别为相互独立的

5、零均值方差为、和的高斯白噪声。 (2-6)其中是相互独立的高斯白噪声,均值为零,方差为。3、卡尔曼滤波器在带有噪声(加性的背景噪声)的观测数据中进行随机信号本身取值的估计称为波形估计。波形估计所采用的基本方法是线性最小均方估计,实现这一估计的典型滤波器是卡尔曼滤波器2。3.1 状态方程卡尔曼滤波器基本的信号模型如下: (3-1)观测模型如下: (3-2)其中,为零均值高斯白噪声且有: (3-3)3.2 卡尔曼滤波基本步骤、根据前一次滤波值(或初值)经计算预测值 (3-4)、根据前次得到的滤波误差方差阵(或初值)计算预测误差方差阵 (3-5)、计算卡尔曼增益: (3-6)、计算滤波估计 (3-7

6、)、计算滤波误差方差阵 (3-8)下面是计算滤波估计以及Kalman滤波增益和误差方差阵计算的流程图:图3.1滤波估计计算流程图(左)、滤波增益和误差方差阵计算流程图(右)3.3 起始条件的确定在应用Kalman滤波算法时,需要指定滤波的初始条件,根据目标的初始状态来建立滤波器的起始估计,即。然而在实际情况中,通常目标的初始状态是无法得知的,可以利用前几个观测值建立状态的起始估计。对于只考虑目标位置和速度的状态估计的非机动模型,则可用两点起始法来确定初始条件,即用前两个观测值建立起始初值。起始估计值为: (3-9)起始估计的估计误差为 (3-10)起始估计的估计误差协方差矩阵为 (3-11)4

7、、交互多模算法假定有个模型: (4-1)其中,是均值为零、协方差矩阵为的白噪声序列。用一个马尔可夫链来控制这些模型之间的转换3,马尔可夫链的转移概率矩阵为: (4-2)测量模型为: (4-3)IMM算法步骤可归纳如下4:、输入交互 (4-4)其中,是模型转到模型的转移概率,为规一化常数,。、对应于模型,以,及作为输入进行Kalman滤波。1)预测 (4-5)2)预测误差方差阵 (4-6)3)卡尔曼增益 (4-7)4)滤波 (4-8)5)滤波误差方差阵 (4-9)、模型概率更新 (4-10)其中,为归一化常数,且,而为观测的似然函数,。、输出交互 (4-11) (4-12)其仿真流程如下图:图4

8、.1 IMM算法仿真流程图5、仿真实验5.1 仿真条件为了简便起见,采用简单运动模型。设模型仅有匀速直线运动和匀速圆周运动两种,仿真运动模型如图5.1,目标速度为300m/s,起始x方向位置为-20000m。雷达扫描周期2秒,x和y独立地进行观测,观测标准差为100米,噪声标准差为10。(-20000,y0)(0,0)v=300m/s雷达测量误差标准差为100m图5.1仿真运动模型5.2仿真结果当向心加速度时,。仿真结果如图5.2和图5.3所示。由图5.2可以看出其真实轨迹、观测样本、轨迹估计几乎完全重合。由图5.3中x、y向误差均值可以看出在开始时滤波误差较大,但随着时间的推移,滤波误差迅速

9、降低,估计值逐步逼近真实轨迹;x、y方向滤波误差标准差约为70。图5.2 真实轨迹、观测样本、轨迹估计图图5.3 x、y向误差均值、标准差当向心加速度时,。仿真结果如图5.4和图5.5所示。图5.4 真实轨迹、观测样本、轨迹估计图图5.5 x、y向误差均值、标准差由图5.4可以看出其真实轨迹、观测样本、轨迹估计近似重合。由图5.5可以看出在开始时滤波误差较大,但随着时间的推移,滤波误差迅速降低,估计值逐步逼近真实轨迹,当模型之间转换时,会带来较大的误差。其x、y方向滤波误差标准差约为80。然后,对向心加速度为,但雷达扫描周期为0.2s的情况进行仿真。仿真结果如图5.6和图5.7所示。由图5.6

10、可以看出其真实轨迹、观测样本、轨迹估计近似重合。由图5.7可以看出在开始时滤波误差较大,但随着时间的推移,滤波误差迅速降低,估计值逐步逼近真实轨迹,当模型之间转换时,会带来较大的误差。其x、y方向滤波误差标准差约为40。图5.6 真实轨迹、观测样本、轨迹估计图图5.7 x、y向误差均值、标准差6、总结通过以上仿真实验结果可以看出,在跟踪开始时滤波误差较大,但随着时间的推移,滤波误差迅速降低,估计值逐步逼近真实轨迹,当模型之间转换时,会带来较大的误差。当雷达扫描周期较长时,由于观测数据较少,滤波精度比较低;当扫描周期变短时,由于观测数据增多,滤波精度也有所提高,但是代价是处理速度的变慢。目标真实

11、轨迹和目标跟踪轨迹基本完全一致,故可以认为交互多模型算法是一种有效的机动目标跟踪算法。参考文献1. 沈英达,一种改进的机动目标的IMM状态估计算法D硕士论文. 南京理工大学,20092. 宋骊平,被动多传感器目标跟踪方法研究D博士论文. 西安电子科技大学,20083. 魏莉莉,梁彦,潘泉,吴益明基于IMM的估计算法对机动目标跟踪的比较J火力与指挥控制,2008,33(2),26-274. 丁兴俊,周德云主/被动雷达模糊自适应IMM融合跟踪算法J空军工程大学学报,2007,8(1),38-39附录一1、沈英达,一种改进的机动目标的IMM状态估计算法D硕士论文. 南京理工大学,20092、宋骊平,

12、被动多传感器目标跟踪方法研究D博士论文. 西安电子科技大学,2008 3、魏莉莉,梁彦,潘泉,吴益明基于IMM的估计算法对机动目标跟踪的比较J火力与指挥控制,2008,33(2),26-274、丁兴俊,周德云主/被动雷达模糊自适应IMM融合跟踪算法J空军工程大学学报,2007,8(1),38-39附录二%function IMM(a,t)%a为向心加速度,t为雷达扫描周期clc;T = t; %扫描周期num = 100; %仿真次数x(1) = -20000; %初始位置x值vx = 300; %运动速度vy = 0;ra = vx2/a; %圆周运动半径y(1) = ra; %初始位置x值

13、ax = 0;ay = 0;w = vx/ra; %圆周运动角速度var = 100; %观测标准差sigma= 10; %驱动噪声标准差N1 = int16(abs(x(1)/vx/T)+1;N2 = N1+int16(ra*pi/vx/T);N3 = N2+int16(abs(x(1)/vx/T);%产生真实轨迹for i=1:N1-1 x(i+1)=x(i)+vx*T+0.5*ax*T2; y(i+1)=y(i)+vy*T+0.5*ay*T2;endfor i=N1:N2-1 x(i+1)=cos(w*T)*x(i)+sin(w*T)*y(i); y(i+1)=cos(w*T)*y(i)

14、-sin(w*T)*x(i); endfor i=N2:N3-1 x(i+1)=x(i)-vx*T-0.5*ax*T2; y(i+1)=y(i)-vy*T-0.5*ay*T2;end%匀速直线运动模型参数F1=1 T 0 0; 0 1 0 0; 0 0 1 T; 0 0 0 1;C1=1 0 0 0;0 0 1 0;G1=T.2/2,0;T,0;0,T.2/2;0,T;%匀速圆周运动模型参数F2=1,T,0,0,T2,0; 0,1,0,0,T,0; 0,0,1,T,0,T2/2; 0,0,0,1,0,T; 0,0,0,0,1,0; 0,0,0,0,0,1;C2=1,0,0,0,0,0;0,0,

15、1,0,0,0;G2=T2/4,0;T/2,0;0,T2/4;0,T/2;1,0;0,1;%驱动误差和观测噪声方差阵R=var2*eye(2);Q1=sigma2*eye(2);Q2=sigma2*eye(2);p=0.95 0.05;0.05 0.95; %转移概率u=0.95 0.5;%输出初始化xx=zeros(1,N3);yy=zeros(1,N3);ex1=zeros(1,N3);ex2=zeros(1,N3);ey1=zeros(1,N3);ey2=zeros(1,N3);%进行num次仿真for m=1:num %产生观测数据 nx=var*randn(1,N3); ny=var

16、*randn(1,N3); zx=x+nx;zy=y+ny; z=zx;zy; %两点起始法确定初值 perr=var2 var2/T 0 0 var2/T 2*var2/(T2)+2*sigma2/T2 0 0 0 0 var2 var2/T 0 0 var2/T 2*var2/(T2)+2*sigma2/T2; xk=zx(2);(zx(2)-zx(1)/2;zy(2);(zy(2)-zy(1)/2; xx(1)=xx(1)+zx(1);yy(1)=yy(1)+zy(1); ex1(1)=ex1(1)+x(1)-zx(1);ex2(1)=ex2(1)+(x(1)-zx(1)2; ey1(1

17、)=ey1(1)+y(1)-zy(1);ey2(1)=ey2(1)+(y(1)-zy(1)2; %滤波起始值 xk1=xk 0 0; xk2=xk 0 0; %滤波协方差起始值 perr1=perr zeros(4,2);zeros(2,6); perr2=perr zeros(4,2);zeros(2,6); perr2(5,5)=sigma2; perr2(6,6)=sigma2; for k=2:N3 %形成混合初始条件 c_=p*u; uu=p.*(u*ones(1,2)./(ones(2,1)*c_); x01=xk1*uu(1,1)+xk2*uu(2,1); x02=xk1*uu(

18、1,2)+xk2*uu(2,2); p01=uu(1,1)*(perr1+(xk1-x01)*(xk1-x01)+. uu(2,1)*(perr2+(xk2-x01)*(xk2-x01); p02=uu(1,2)*(perr1+(xk1-x02)*(xk1-x02)+. uu(2,2)*(perr2+(xk2-x02)*(xk2-x02); %各模型滤波器滤波,计算似然函数 x01=x01(1:4); p01=p01(1:4,1:4); xk1,perr1,e1=kfilter(F1,C1,G1,Q1,R,x01,p01,z,k); xk1=xk1 0 0; perr1=perr1 zeros

19、(4,2);zeros(2,6); xk2,perr2,e2=kfilter(F2,C2,G2,Q2,R,x02,p02,z,k); %概率模型修正 e=e1,e2; c=e*c_; u=(e.*c_)/c; %输出交互及误差计算 xk=xk1*u(1)+xk2*u(2); xx(k)=xx(k)+xk(1); yy(k)=yy(k)+xk(3); ex1(k)=ex1(k)+x(k)-xk(1); ex2(k)=ex2(k)+(x(k)-xk(1)2; ey1(k)=ey1(k)+y(k)-xk(3); ey2(k)=ey2(k)+(y(k)-xk(3)2; endend%计算滤波误差for

20、 k=1:N3 ex_(k)=ex1(k)/num; ex(k)=sqrt(ex2(k)/num-ex_(k)2); ey_(k)=ey1(k)/num; ey(k)=sqrt(ey2(k)/num-ey_(k)2); xx(k)=xx(k)/num; yy(k)=yy(k)/num;end%画出图形figure(1);plot(x,y,k-,zx,zy,g:,xx,yy,r);title(真实轨迹,观测样本,轨迹估计);legend(真实轨迹,观测样本,轨迹估计);xlabel(x/m);ylabel(y/m);figure(2);subplot(2,2,1)plot(ex_);title(

21、x方向滤波误差均值);ylabel(误差均值/m);xlabel(t/s);subplot(2,2,2)plot(ex);title(x方向滤波误差标准差);ylabel(标准差/m);xlabel(t/s);subplot(2,2,3)plot(ey_);title(y方向滤波误差均值);ylabel(误差均值/m);xlabel(t/s);subplot(2,2,4)plot(ey);title(y方向滤波误差标准差);ylabel(标准差/m);xlabel(t/s);%kalman滤波子程序function xk,perr,e=kfilter(O,C,T,Q,R,x0,p0,z,i)xk1=O*x0;perr1=O*p0*O+T*Q*T;S=C*perr1*C+R;K=perr1*C*inv(S);v=z(:,i)-C*xk1;xk=xk1+K*v;perr=(eye(length(xk)-K*C)*perr1;e=exp(-v*inv(S)*v/2)/(2*pi)*sqrt(det(S);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1