校正线性距离走动的距离多普勒算法.docx
《校正线性距离走动的距离多普勒算法.docx》由会员分享,可在线阅读,更多相关《校正线性距离走动的距离多普勒算法.docx(3页珍藏版)》请在冰点文库上搜索。
%校正线性距离走动的距离多普勒算法
%注:
波束射线有一定的斜视角,距离弯曲的影响仍然可以忽略,但距离走动的影响必须加以考虑
%%%%%%%%%%%%%%%%%%%%%%
clear;clc;closeall;
%%========================================================
C=3e8; %电磁波传播速度
Fc=1e9; %载频
lambda=C/Fc; %波长
Xmin=0; %目标方位区域[Xmin,Xmax],地面沿航线方向Xmax=50;
Yc=10000; %条带中心,地面垂直航线距离
Y0=500; %条带宽度区域[Yc-Y0,Yc+Y0]
V=100; %雷达平台速度
H=0; %雷达平台高度
Rb=sqrt(Yc^2+H^2);%条带中心到航线的垂直距离xsj=30/180*pi;%天线的斜视角,弧度表示
D=4; %天线方位向有效长度
Lsar=Rb*(tan(xsj+1/2*(lambda/D))-tan(xsj-1/2*(lambda/D))); %合成孔径长度Tsar=Lsar/V; %合成孔径时间
R0=Rb*sec(xsj);
Ka=-2*V^2*cos(xsj).^2/lambda/R0; %多普勒调制频率Ba=abs(Ka*Tsar); %多普勒带宽
PRF=2*Ba;
PRT=1/PRF;
ds=PRT; %慢时间域的抽样间隔Nslow=ceil((Xmax-Xmin+Lsar)/V/ds);%慢时间域的抽样数Nslow=2^nextpow2(Nslow);
sn=linspace((Xmin-Rb*(tan(xsj+1/2*(lambda/D))-tan(xsj)))/V,(Xmax+Rb*(tan(xsj)-tan(xsj-1/2*(lambda/D))))/V,Nslow);
PRT=(Xmax-Xmin+Lsar)/V/Nslow; %更新xmin=Xmin-Rb*(tan(xsj+1/2*(lambda/D))-tan(xsj));xmax=Xmax+Rb*(tan(xsj)-tan(xsj-1/2*(lambda/D)));L1=-Rb*(tan(xsj+1/2*(lambda/D))-tan(xsj));L2=Rb*(tan(xsj)-tan(xsj-1/2*(lambda/D)));PRF=1/PRT;
ds=PRT;
Tr=5e-6; %发射脉冲宽度
Br=30e6; %发射脉冲带宽
Kr=Br/Tr;
Fsr=2*Br; %快时间域的抽样频率dt=1/Fsr;
ifxsj<=1/2*(lambda/D)
elseend
Rmin=sqrt((Yc-Y0)^2+H^2);
Rmin=sqrt(((Yc-Y0)^2+H^2)*(1+tan(xsj-1/2*(lambda/D)).^2));
Rmax=sqrt(((Yc+Y0)^2+H^2)*(1+tan(xsj+1/2*(lambda/D)).^2));Nfast=ceil(2*(Rmax-Rmin)/C/dt+Tr/dt);%快时间域抽样数Nfast=2^nextpow2(Nfast);tm=linspace(2*Rmin/C,2*Rmax/C+Tr,Nfast);
dt=(2*Rmax/C+Tr-2*Rmin/C)/Nfast; %更新Fsr=1/dt;
%fr=linspace(-0.5*Fsr,0.5*Fsr,Nfast);fr=linspace(0,Fsr,Nfast);
DY=C/2/Br; %距离分辨率
DX=D/2; %方位分辨率
Ntarget=3; %目标数
Ptarget=[Xmin,Yc,1 %目标位置及散射强度Xmin,Yc+10*DY,1
Xmin+20*DX,Yc+50*DY,1];
%%原始回波数据产生
K=Ntarget; %目标数
N=Nslow; %慢时间域采样数
M=Nfast; %快时间域采样数
T=Ptarget;Srnm=zeros(N,M);fork=1:
1:
K
sigma=T(k,3);
Dslow=sn*V-T(k,1);
temp0=sqrt(T(k,2)^2+H^2)*sec(xsj);R=sqrt(temp0.^2+Dslow.^2-2*temp0*Dslow*sin(xsj));tau=2*R/C;
Dfast=ones(N,1)*tm-tau'*ones(1,M);phase=pi*Kr*Dfast.^2-(4*pi/lambda)*(R'*ones(1,M));
Srnm=Srnm+sigma*exp(j*phase).*(0<=Dfast&Dfast<=Tr).*((L1<=Dslow&Dslow<=L2)'*ones(1,M
));
end
%%========================================================
Lfast=ones(N,1)*tm*C/2;Lslow=(sn*V)'*ones(1,M);LY=sqrt(Lfast.^2-H^2-Lslow.^2);imagesc(LY(1,:
),sn*V,255-abs(Srnm));
%距离压缩tr=tm-2*Rmin/C;
Refr=exp(j*pi*Kr*tr.^2).*(0
F_Refr=fft((Refr));Sr=zeros(N,M);fork2=1:
1:
N
temp1=fft(Srnm(k2,:
));
Zdbc=exp(-j*4*pi*V*sin(xsj)*sn(k2)*fr/C);FSrnm=temp1.*conj(F_Refr).*Zdbc;Sr(k2,:
)=ifft(FSrnm);
end
%方位压缩
ta=sn-(xmin+xmax)/2/V;Refa=exp(j*2*pi*2*V/lambda*sin(xsj)*ta-
j*pi*2*V^2*cos(xsj)^2/lambda/R0*ta.^2).*(ta>=(L1/V)&ta<=(L2/V));F_Refa=fft(Refa);
Sa=zeros(N,M);fork3=1:
1:
M
temp2=fft(Sr(:
k3));F_Sa=temp2.*conj(F_Refa.');Sa(:
k3)=fftshift(ifft(F_Sa));
endrow=tm*C/2;col=sn*V;figure
(1)
imagesc(255-abs(Srnm));
title('原始的回波信号幅度图像')figure
(2)
imagesc(row,col,255-abs(Sr));
title('距离压缩'),xlabel('距离向'),ylabel('方位向');figure(3)
Ga=abs(Sa);imagesc(row,col,255-Ga);
title('方位压缩'),xlabel('距离向'),ylabel('方位向');figure(4)
mesh(Ga((400:
600),(200:
500)));axistightxlabel('Range'),ylabel('Azimuth');
展开阅读全文
相关搜索
资源标签
|