欢迎光临散文网 会员登陆 & 注册

【滤波跟踪】Singer-Kalman模型下的机动目标跟踪算法含Matlab源码

2022-05-18 23:54 作者:Matlab工程师  | 我要投稿

1 简介

现实跟踪场景中,运动方式多样性、随机性运动和运动规则不确定性是机动目标的典型运动特征。机动目标跟踪的难点主要有: 建模一个准确的、通用的先验数学模型来表示机动目标的运动特性; 设计基于完善的先验参数信息的自适应滤波算法以抑制系统的不确定性的干扰。机动目标跟踪的本质是递推滤波,即采用先进的自适应滤波技术,根据一定的滤波准则以最大限度地减小各滤波时刻目标的状态估计与真实状态间的偏差。机动目标跟踪过程可简要概括为: 首先由含有噪声的传感器观测和目标预测状态计算得出当前时刻的残差向量,然后基于该残差向量的变化进行目标机动辨识,即跟踪场景中被跟踪目标是否发生了机动运动,最后采用相应的目标滤波技术计算机动目标的状态估计值,至此完成跟踪过程中的一个时刻的滤波; 将当前时刻得出的目标的状态和协方差传递至下一时刻作为下一次滤波的初始值,然后重复上述过程,循环往复,直到遍历所有跟踪时刻。通过以上机动目标跟踪原理的分析可以看出,预测和自适应滤波模块是整个跟踪体系的核心和关键之一。



2 部分代码

function [x,y,zx,zy,NN]=target_movement%函数定义:生成目标运动的真实值和测量值% %***************仿真条件*******************************************************T=2;      %雷达扫描周期r=10000;  %量测误差方差x0=2000;%目标在X轴方向的起始位置y0=10000;%目标在Y轴方向的起始位置xv0=0;%目标在X轴方向的起始速度yv0=-15;%目标在Y轴方向的起始速度NN=500;%采样点数x=zeros(NN,1);%X轴位置初始化y=zeros(NN,1);%Y轴位置初始化x(1)=x0;%X轴初始位置y(1)=y0;%Y轴初始位置vx(1)=xv0;%X轴初始速度vy(1)=yv0;%Y轴初始速度for i=1:NN-1    if i<200        ax=0;        ay=0;        vx(i+1)=vx(i)+ax*T;        vy(i+1)=vy(i)+ay*T;    elseif (i>=200)&(i<=300)        ax=15/200;        ay=15/200;        vx(i+1)=vx(i)+ax*T;        vy(i+1)=vy(i)+ay*T;    elseif (i>300)&(i<=500)        ax=0;        ay=0;        vx(i+1)=vx(i)+ax*T;        vy(i+1)=vy(i)+ay*T;        end    x(i+1)=x(i)+vx(i)*T+0.5*ax*T^2+0.5*0*T^2*randn;%X轴的动态方程    y(i+1)=y(i)+vy(i)*T+0.5*ay*T^2+0.5*0*T^2*randn;%Y轴的动态方程end%***************产生量测噪声********************nx=100*randn(NN,1);ny=100*randn(NN,1);%***************量测值**************************zx=x+nx;zy=y+ny;vvx=vx;vvy=vy;save target_movement_out vvx vvy%i=1:NN;%k=4:1:NN;%l=4:1:NN;%figure(1)%plot(x,y,'-dm');%title('目标运动轨迹')%xlabel('x方向')%ylabel('y方向')%legend('目标运动轨迹')

3 仿真结果

4 参考文献

[1]宁静, 陈俊, 吴麒. 一种基于期望模型的自适应Singer模型滤波算法. 

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。



【滤波跟踪】Singer-Kalman模型下的机动目标跟踪算法含Matlab源码的评论 (共 条)

分享到微博请遵守国家法律