www.pudn.com > targer_point.zip > point_target.m, change:2013-10-10,size:5145b


clc;clear all; 
%%恒值参数 
cj=sqrt(-1); 
C=3e8;  %光速 
%%典型雷达参数 
Fc=1e9; % 1GHz载波频率 
lamda=C/Fc;  %波长 
H=5000; 
D=4; 
%%目标范围参数 
X0=200;  %方位向[-X0,X0] 
Yc=3000;  
R01=sqrt(Yc^2+H^2); 
%%距离向(Range),r/t domain m 
Tr=1.5e-6;%LFM信号脉宽 1.5us (200m) 
Br=150e6; %LFM信号带宽 150MHz 
Kr=Br/Tr; %调频斜率 
Fsr=1.3*Br; 
dt=1/Fsr; 
V=100;%SAR平台速度 
Lsar=300;%合成孔径长度 
Tsar=4.*Lsar/V;%合成孔径时间 
Nr=512; 
Tr_ref=1/Fsr*[-Nr/2:Nr/2-1]; 
tm=Tr_ref+2*R01/C; 
 
 
 
 
%%方位向(Azimuth,Cross-Range),x/u domain 
Na=512; 
Ka=-2*V^2/lamda/R01; %doppler 调频斜率 
Ba=abs(Ka*Tsar); %doppler 调频带宽 
PRF=2*Ba; 
PRI=1/PRF; 
sn=PRI*[-Na/2:Na/2-1];	% slow-time domain离散化 
 
%目标位置 
Ntar=3;%目标个数 
Ptar=[Yc,0,1                    %距离向坐标,方位向坐标,sigma              
        Yc+50,-50,1 
        Yc+50,50,1]; 
 
%%分辨率 
DY=C/2/Br;  %距离向分辨率 
DX=D/2;     %方位向分辨率 
 
 
disp('Parameters:') 
disp('方位向过采样率:');disp(PRF/Ba) 
disp('方位向采样点数:');disp(Na) 
disp('距离向过采样率:');disp(Fsr/Br) 
disp('距离向采样点数:');disp(Nr) 
disp('距离分辨率:');disp(DY) 
disp('方位分辨率:');disp(DX)      
disp('合成孔径长度:');disp(Lsar)      
% disp('目标点坐标:');disp(Ptar) 
%%======================================================== 
%%Generate the raw signal data产生原始信号数据K个理想点目标的回波经采样后 
K=Ntar;           %目标个数 
N=Na;            %slow-time domain采样个数 
M=Nr;            %fast-time domain采样个数 
T=Ptar;           %目标位置 
Srnm=zeros(N,M); 
seta=zeros(1,N); 
for k=1:Ntar 
    sigma=T(k,3); 
    Dslow=sn*V-T(k,2); 
    R=sqrt(Dslow.^2+T(k,1)^2+H^2); 
    R0=sqrt(T(k,1)^2+H^2); 
    seta=acos(R0./R); 
    w=sinc(seta.*D/lamda).*sinc(seta.*D/lamda); 
    tau=2*R/C; 
    Dfast=ones(N,1)*tm-tau'*ones(1,M); 
    phase=pi*Kr*Dfast.^2-(4*pi/lamda)*(R'*ones(1,M)); 
%   Srnm=Srnm+sigma*exp(j*phase).*(-Tr/2<Dfast&Dfast<Tr/2).*((abs(Dslow)<Lsar/2)'*ones(1,M)); 
    Srnm=Srnm+sigma*exp(j*phase).*(-Tr/2<Dfast&Dfast<Tr/2).*((w)'*ones(1,M)); 
end 
figure(1) 
colormap(gray) 
imagesc(255-abs(real(Srnm))) 
xlabel('\fontsize{9}距离向Nr'); 
ylabel('\fontsize{9}方位向Na'); 
title('\fontsize{9}点目标回波实部幅值'); 
%%======================================================== 
%%Range compression距离压缩 
Refr=exp(j*pi*Kr*Tr_ref.^2).*(-Tr/2<Tr_ref&Tr_ref<Tr/2); 
Sr=ifty(fty(Srnm).*(ones(N,1)*conj(fty(Refr)))); 
% Sr_spec=fty(Srnm).*(ones(N,1)*conj(fty(Refr))); 
Gr=abs(Sr); 
% figure(2) 
% colormap(gray); 
% imagesc(255-abs(real(Sr))); 
 
R=8;  %sinc插值 
%============================================ 
%方位向傅立叶变换 
%=========================================== 
Sr_1=ftx(Sr);    %方位向傅立叶变换 
Temp=zeros(N,M); 
fn=PRF/Na*[-Na/2:Na/2-1]; 
 
 
%============================================= 
%距离徙动校正RCMC 
%============================================= 
for i=1:512 
        for j=240:310 
             
            R0=tm(j)*C/2; 
            deta_RCM =lamda^2*R0*fn.^2/(8*V^2);  %需要校正的RCM 
            deta_n=2*deta_RCM/C/dt;  
            deta_n1=deta_n(i); 
            Z_n=floor(deta_n1); 
            X_n= deta_n1-Z_n; 
            Temp(i,j)=sum(Sr_1(i,j+Z_n-R/2+1:j+Z_n+R/2).*sinc((R/2-1+X_n:-1:-R/2+X_n))); 
        end 
end 
Temp_1=iftx(Temp); 
% figure 
% colormap(gray); 
% imagesc(255-abs(Temp_1)); 
 
%=========================================================== 
%方位压缩与方位傅立叶逆变换 
%=========================================================== 
ta=sn; 
Refa=exp(cj*pi*Ka*ta.^2).*(abs(ta)<Tsar/2); 
Sa=iftx(ftx(Temp_1).*(conj(ftx(Refa)).'*ones(1,M))); 
Sa_sepc = ftx(Temp_1).*(conj(ftx(Refa)).'*ones(1,M)); 
Sa_sepc_db = 20*log10(abs(Sa_sepc)/max(max(abs(Sa_sepc)))); 
 
Ga=abs(Sa); 
figure 
colormap(gray); 
imagesc(255-abs(Sa)); 
% plot(abs(Sa(:,256))); 
xlabel('\fontsize{9}距离向Nr'); 
ylabel('\fontsize{9}方位向Na'); 
title('\fontsize{9}点目标成像灰度图'); 
 
 
figure; 
plot(Sa_sepc_db(:,257)); %方位压缩后距离多普勒域信号,理想信号为一个窗函数 
xlabel('\fontsize{9}方位向Na'); 
ylabel('\fontsize{9}频域幅值'); 
title('\fontsize{9}点目标成像后频域谱'); 
 
% maxs=0; 
% for i=1:512 
%     for j=1:512 
%  if(abs(Sa(i,j)>maxs)) 
%      maxs=abs(Sa(i,j)); 
%      disp(i); 
%      disp(j); 
%  end 
%     end 
% end 
figure; 
% t1=linspace(-T,T,N); 
Sa_db=20*log10(abs(Sa)/max(max(abs(Sa)))); 
plot(Sa_db(:,257)); 
grid on; 
% set(gca,'Ytick',[-14.0072,0],'Xtick',[257,271]); 
xlabel('\fontsize{9}距离向Nr'); 
ylabel('\fontsize{9}时域幅值'); 
title('\fontsize{9}点目标成像后时域幅值'); 
 
 %峰值旁瓣比 
 PSLR=max((Sa_db(275:1:512,257))); 
 disp('峰值旁瓣比:');disp( PSLR); 
 
%积分旁瓣比 
P1=Sa(257:1:271,257).*conj(Sa(257:1:271,257)); 
P2=Sa(271:1:512,257).*conj(Sa(271:1:512,257)); 
a=sum(P1); 
b=sum(P2); 
ISLR=b/a; 
ISLR=10*log10(ISLR); 
disp('积分旁瓣比:');disp( ISLR); 
%%======================================================== 
%draw 3d figure 
%============================================================= 
figure; 
for i=1 :Na-1 
    for j=1:Nr-1 
    if ( Sa_db(i*Na+j)<-60 ) 
         Sa_db(i*Na+j)=-60; 
    end  
    end 
 end 
mesh(Sa_db);axis tight 
xlabel('距离向'),ylabel('方位向'), 
title('点目标成像三维图'),