www.pudn.com > test2012_6_19_model.rar > test2012_6_19_model.m, change:2013-01-23,size:7781b


close all 
clear all 
clc 
thetaT=40;%T平台波束斜视角 
thetaT=thetaT*pi/180;%rad 
thetaR=40;%R平台波束斜视角 
thetaR=thetaR*pi/180; 
c=3e8;%光速 
fc=15e9;%载频 
lambda=c/fc;%波长 
%%测绘带区域 
%X0=325;%方位向[-X0,X0] 
Rtc=6000;  
Rrc=6000; 
Rc=(Rtc+Rrc)/2; 
Rref=Rc/sin(thetaT); 
R0=1000;%距离向[Rc-R0,Rc+R0] 
v=1600;%SAR 平台速度 
ftdc=v*cos(thetaT);           %??????这个地方应该存在一个lambda 
ftdr=-(v*sin(thetaT))^2/Rref; 
frdc=v*cos(thetaR); 
frdr=-(v*sin(thetaR))^2/Rref; 
fdc=(ftdc+frdc)/lambda;%Doppler调频中心频率 
%fdc=-2*v*cos(thetaT)/lambda; 
%fdr=2*v/lambda/Rref-lambda*fdc^2/2/Rref; 
fdr=(ftdr+frdr)/lambda;%Doppler调频斜率 
%%距离向(Range),r/t domain 
Tr=2.666e-5;%LFM信号脉宽1.33us (200m) 
Br=100e6; %LFM信号带宽 150MHz 
Kr=Br/Tr; %调频斜率 
Nr=2048; 
Na=3072; 
X0=192; 
du=2*X0/Na/v; 
%Na=1024; 
%r=Rc+linspace(-R0,R0,Nr); 
%r1=r/sin(thetaT) 
r1=Rc/sin(thetaT)+linspace(-R0,R0,Nr); 
R1=r1'*ones(1,Na); 
t=2*r1/c;%t域序列 
ttag=2*Rc/sin(thetaT)/c; 
dt=R0*4/c/Nr;%采样周期 
f=linspace(-1/2/dt,1/2/dt,Nr);%f域序列 
 
%%方位向(Azimuth,Cross-Range),x/u domain 
Lsar=2*X0;%合成孔径长度 
F=f'*ones(1,Na); 
x=linspace(-X0,X0,Na);%u域序列 
u=x/v;    %慢变时间 
%du=2*X0/v/Na; 
%du=1e-4; 
 
fu=linspace(-1/2/du,1/2/du,Na);%fu域序列 
fu=fu;%调频范围。 
Fu=ones(Nr,1)*fu; 
%%目标位置 
Xlab=Rc/tan(thetaT); 
Ntar=18;%目标个数 
Ptar=[Rrc,Xlab,1 
      Rrc+100,Xlab,1 
      Rrc+200,Xlab,1 
      Rrc+300,Xlab,1 
      Rrc+400,Xlab,1 
      Rrc+500,Xlab,1 
      Rrc+600,Xlab,1 
      Rrc+700,Xlab,1 
      Rrc+800,Xlab,1 
      Rrc,Xlab,1 
      Rrc-100,Xlab,1 
      Rrc-200,Xlab,1 
      Rrc-300,Xlab,1 
      Rrc-400,Xlab,1 
      Rrc-500,Xlab,1 
      Rrc-600,Xlab,1 
      Rrc-700,Xlab,1 
      Rrc-800,Xlab,1 
      Rrc,Xlab+450,1 
      Rrc,Xlab+500,1 
      Rrc,Xlab+550,1 
      Rrc,Xlab+600,1 
      Rrc,Xlab+640,1 
      Rrc+100,Xlab,1 
      Rrc+100,Xlab+50,1 
      Rrc+100,Xlab+150,1 
      Rrc+100,Xlab+100,1 
      Rrc+100,Xlab+200,1 
      Rrc+100,Xlab+250,1 
      Rrc+100,Xlab+300,1 
      Rrc+100,Xlab+350,1 
      Rrc+100,Xlab+400,1 
      Rrc+100,Xlab+450,1 
      Rrc+100,Xlab+500,1 
      Rrc+100,Xlab+550,1 
      Rrc+100,Xlab+600,1 
      Rrc+100,Xlab+640,1 
      Rrc+200,Xlab,1 
      Rrc+200,Xlab+50,1 
      Rrc+200,Xlab+150,1 
      Rrc+200,Xlab+100,1 
      Rrc+200,Xlab+200,1 
      Rrc+200,Xlab+250,1 
      Rrc+200,Xlab+300,1 
      Rrc+200,Xlab+350,1 
      Rrc+200,Xlab+400,1 
      Rrc+200,Xlab+450,1 
      Rrc+200,Xlab+500,1 
      Rrc+200,Xlab+550,1 
      Rrc+200,Xlab+600,1 
      Rrc+200,Xlab+640,1 
      Rrc+400,Xlab+0,1 
      Rrc+400,Xlab+50,1 
      Rrc+400,Xlab+150,1 
      Rrc+400,Xlab+100,1 
      Rrc+400,Xlab+200,1 
      Rrc+400,Xlab+250,1 
      Rrc+400,Xlab+300,1 
      Rrc+400,Xlab+350,1 
      Rrc+400,Xlab+400,1 
      Rrc+400,Xlab+450,1 
      Rrc+400,Xlab+500,1 
      Rrc+400,Xlab+550,1 
      Rrc+400,Xlab+600,1 
      Rrc+400,Xlab+640,1 
      Rrc+600,Xlab+0,1 
      Rrc+600,Xlab+50,1 
      Rrc+600,Xlab+150,1 
      Rrc+600,Xlab+100,1 
      Rrc+600,Xlab+200,1 
      Rrc+600,Xlab+250,1 
      Rrc+600,Xlab+300,1 
      Rrc+600,Xlab+350,1 
      Rrc+600,Xlab+400,1 
      Rrc+600,Xlab+450,1 
      Rrc+600,Xlab+500,1 
      Rrc+600,Xlab+550,1 
      Rrc+600,Xlab+600,1 
      Rrc+600,Xlab+640,1 
      Rrc+800,Xlab+0,1 
      Rrc+800,Xlab+50,1 
      Rrc+800,Xlab+150,1 
      Rrc+800,Xlab+100,1 
      Rrc+800,Xlab+200,1 
      Rrc+800,Xlab+250,1 
      Rrc+800,Xlab+300,1 
      Rrc+800,Xlab+350,1 
      Rrc+800,Xlab+400,1 
      Rrc+800,Xlab+450,1 
      Rrc+800,Xlab+500,1 
      Rrc+800,Xlab+550,1 
      Rrc+800,Xlab+600,1 
      Rrc+800,Xlab+640,1 
      Rrc+500,Xlab-100,1 
      Rrc+500,Xlab-200,1 
      Rrc+500,Xlab-300,1 
      Rrc+500,Xlab-400,1 
      Rrc+500,Xlab-500,1 
      Rrc+500,Xlab-600,1 
      Rrc+500,Xlab-700,1 
      Rrc+640,Xlab+600,1 
      Rrc+640,Xlab+500,1 
      Rrc+640,Xlab+400,1 
      Rrc+640,Xlab+300,1 
      Rrc+640,Xlab+200,1 
      Rrc+640,Xlab+100,1 
      Rrc+640,Xlab,1 
      Rrc+640,Xlab-100,1 
      Rrc+640,Xlab-200,1 
      Rrc+640,Xlab-300,1 
      Rrc+640,Xlab-400,1 
      Rrc+640,Xlab-500,1 
      Rrc+640,Xlab-600,1 
      Rrc+640,Xlab-700,1 
       
      Rrc+100,Xlab-100,1 
      Rrc-100,Xlab-100,1 
      Rrc+200,Xlab-100,1 
      Rrc-200,Xlab-100,1 
      Rrc+300,Xlab-100,1 
      Rrc-300,Xlab-100,1 
      Rrc+400,Xlab-100,1 
      Rrc-400,Xlab-100,1 
      Rrc+500,Xlab-100,1 
      Rrc-500,Xlab-100,1 
      Rrc+640,Xlab-100,1 
      Rrc-640,Xlab-100,1 
      Rrc+50,Xlab-100,1 
      Rrc-50,Xlab-100,1 
      Rrc+100,Xlab-150,1 
      Rrc-100,Xlab-150,1 
      Rrc+200,Xlab-150,1 
      Rrc-200,Xlab-150,1 
      Rrc+300,Xlab-150,1 
      Rrc-300,Xlab-150,1 
      Rrc+400,Xlab-150,1 
      Rrc-400,Xlab-150,1 
      Rrc+500,Xlab-150,1 
      Rrc-500,Xlab-150,1 
      Rrc+640,Xlab-150,1 
      Rrc-640,Xlab-150,1 
      Rrc+50,Xlab-150,1 
      Rrc-50,Xlab-150,1 
      Rrc+100,Xlab-200,1 
      Rrc-100,Xlab-200,1 
      Rrc+200,Xlab-200,1 
      Rrc-200,Xlab-200,1 
      Rrc+300,Xlab-200,1 
      Rrc-300,Xlab-200,1 
      Rrc+400,Xlab-200,1 
      Rrc-400,Xlab-200,1 
      Rrc+500,Xlab-200,1 
      Rrc-500,Xlab-200,1 
      Rrc+640,Xlab-200,1 
      Rrc-640,Xlab-200,1 
      Rrc+50,Xlab-200,1 
      Rrc-50,Xlab-200,1 
      Rrc+100,Xlab+50,1 
      Rrc-100,Xlab+50,1 
      Rrc+200,Xlab+50,1 
      Rrc-200,Xlab+50,1 
      Rrc+300,Xlab+50,1 
      Rrc-300,Xlab+50,1 
      Rrc+400,Xlab+50,1 
      Rrc-400,Xlab+50,1 
      Rrc+500,Xlab+50,1 
      Rrc-500,Xlab+50,1 
      Rrc+640,Xlab+50,1 
      Rrc-640,Xlab+50,1 
      Rrc+50,Xlab+50,1 
      Rrc-50,Xlab+50,1 
      Rrc+100,Xlab+100,1 
      Rrc-100,Xlab+100,1 
      Rrc+200,Xlab+100,1 
      Rrc-200,Xlab+100,1 
      Rrc+300,Xlab+100,1 
      Rrc-300,Xlab+100,1 
      Rrc+400,Xlab+100,1 
      Rrc-400,Xlab+100,1 
      Rrc+500,Xlab+100,1 
      Rrc-500,Xlab+100,1 
      Rrc+640,Xlab+100,1 
      Rrc-640,Xlab+100,1 
      Rrc+50,Xlab+100,1 
      Rrc-50,Xlab+100,1 
      Rrc+100,Xlab+150,1 
      Rrc-100,Xlab+150,1 
      Rrc+200,Xlab+150,1 
      Rrc-200,Xlab+150,1 
      Rrc+300,Xlab+150,1 
      Rrc-300,Xlab+150,1 
      Rrc+400,Xlab+150,1 
      Rrc-400,Xlab+150,1 
      Rrc+500,Xlab+150,1 
      Rrc-500,Xlab+150,1 
      Rrc+640,Xlab+150,1 
      Rrc-640,Xlab+150,1 
      Rrc+50,Xlab+150,1 
      Rrc-50,Xlab+150,1 
      Rrc+100,Xlab+200,1 
      Rrc-100,Xlab+200,1 
      Rrc+200,Xlab+200,1 
      Rrc-200,Xlab+200,1 
      Rrc+300,Xlab+200,1 
      Rrc-300,Xlab+200,1 
      Rrc+400,Xlab+200,1 
      Rrc-400,Xlab+200,1 
      Rrc+500,Xlab+200,1 
      Rrc-500,Xlab+200,1 
      Rrc+640,Xlab+200,1 
      Rrc-640,Xlab+200,1 
      Rrc+50,Xlab+200,1 
      Rrc-50,Xlab+200,1 
      Rrc+100,Xlab+200,1 
      Rrc+100,Xlab+200,1 
      Rrc+150,Xlab,1 
      Rrc+150,Xlab-50,1 
      Rrc+150,Xlab-100,1 
      Rrc+150,Xlab-150,1 
      Rrc+150,Xlab-200,1 
      ];   %距离向坐标,方位向坐标,sigma              
                  
 
%%产生回波 
s_ut=zeros(Nr,Na); 
U=ones(Nr,1)*u;%扩充为矩阵,横向量为慢时间。 
T=t'*ones(1,Na);%纵向为快变时间。 
for i=1:1:Ntar 
    rn=Ptar(i,1);xn=Ptar(i,2);sigma=Ptar(i,3); 
    rtn=rn+Rtc-Rrc; 
    RT=sqrt(rtn^2+(xn-v*U).^2); 
% RT=sqrt((v*U).^2+Rref^2-2*Rref*v*U*cos(thetaT)); 
%   RT=Rref+1/2*(fdc*U+1/2*fdr*U.^2); 
%    RR=sqrt(rn^2+(xn-v*U).^2); 
    R=2*RT; 
    DT=T-R/c; 
    phase=-pi*Kr*DT.^2-2*pi/lambda*R; 
    s_ut=s_ut+sigma*exp(j*phase).*(abs(DT)<Tr/2).*(abs(v*U+Xlab-xn)<1343); %注意此处时间的选择。。韦1343=22*7/180*pi; 
    clear DT; 
  % s_ut=s_ut+sigma*exp(j*phase); 
end; 
clear phase; 
clear DT; 
clear RT; 
clear R; 
clear R1; 
%s_ut1=s_ut.*[zeros(Nr,Na/4),ones(Nr,Na/2),zeros(Nr,Na/4)]; 
%s_ut2=s_ut.*[zeros(Nr,Na*3/4),ones(Nr,Na/4)]; 
%s_ut3=s_ut(:,Na*3/4+1:Na); 
figure(1)  
imshow(real(s_ut)) ;