www.gusucode.com > 《雷达数据处理及应用》之Singer模型雷达目标跟踪源码程序 > 《雷达数据处理及应用》之Singer模型雷达目标跟踪源码程序/Singer_target_movement.m

    function [x,y,zx,zy,NN]=Singer_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('目标运动轨迹')