%%========================================================
clear;clc;close all;
%%========================================================
%%常数
C=3e8; %光速
%%雷达特性
Fc=1e9; %载频1GHz
lambda=C/Fc; %波长
%%目标区域
Xmin=0; %方位向上的目标区域[Xmin,Xmax]
Xmax=50;
Yc=10000; %成像区域中心
Y0=500; %距离向上的目标区域[Yc-Y0,Yc+Y0]
%成像宽度 2*Y0
%%轨道信息
V=100; %合成孔径雷达速度 100 m/s
Vy=5; %动目标距离向速度
Vx=0; %动目标方位向速度
H=5000; %高度 5000 m
R0=sqrt(Yc^2+H^2); %目标距离雷达的距离
%%天线
D=4; %方位方向的天线长度
Lsar=lambda*R0/D; %SAR 积分长度
Tsar=Lsar/V; %SAR 积分时间
%%慢时域
Ka=-2*V^2/lambda/R0; %多普勒调频率
Ba=abs(Ka*Tsar); %多普勒调频带宽
PRF=2*Ba; %脉冲重复频率
PRT=1/PRF; %脉冲重复时间
ds=PRT; %慢时域中的采样间隔
Nslow=ceil((Xmax-Xmin+Lsar)/V/ds); %慢时域中的样本数
sn=linspace((Xmin-Lsar/2)/V,(Xmax+Lsar/2)/V,Nslow);%慢时域离散时间阵列
PRT=(Xmax-Xmin+Lsar)/V/Nslow;
PRF=1/PRT;
ds=PRT;
%%快速时域
Tr=5e-6; %脉冲持续时间 10us
Br=30e6; %调频带宽带宽 30MHz
Kr=Br/Tr; %调频斜率
Fsr=3*Br; %快速时域采样频率
dt=1/Fsr; %快速时域中的采样间隔
Rmin=sqrt((Yc-Y0)^2+H^2);
Rmax=sqrt((Yc+Y0)^2+H^2+(Lsar/2)^2);
Nfast=ceil(2*(Rmax-Rmin)/C/dt+Tr/dt);%快速时域中的样本数
tm=linspace(2*Rmin/C,2*Rmax/C+Tr,Nfast); %快速时域离散时间阵列
dt=(2*Rmax/C+Tr-2*Rmin/C)/Nfast;
Fsr=1/dt;
%%分辨率
DY=C/2/Br; %距离分辨率
DX=D/2; %方位向分辨率
%%点目标
Ntarget=3; %点目标个数
Ptarget=[Xmin+70*DX,Yc-100*DY,1
Xmin,Yc+10*DY,1
Xmin+20*DX,Yc+50*DY,1];
disp('参数:')
disp('快时间域采样率:');disp(Fsr/Br)
disp('快时间域采样点数:');disp(Nfast)
disp('慢时间域采样率:');disp(PRF/Ba)
disp('慢时间域采样点数:');disp(Nslow)
disp('距离分辨率:');disp(DY)
disp('方位分辨率:');disp(DX)
disp('合成孔径长度:');disp(Lsar)
disp('目标位置【(0-50),(9500-10500)】');disp(Ptarget)
%%========================================================
%%生成原始信号数据
K=Ntarget; %目标个数
N=Nslow; %慢时间域采样点数
M=Nfast; %快时间域采样点数
T=Ptarget; %目标位置
Srnm1=zeros(N,M);
Srnm2=zeros(N,M);
for k=1:1:K
sigma=T(k,3);
Dslow=sn*V-T(k,1);
R1=sqrt(Dslow.^2+(T(k,2)+sn*Vy).^2+H^2);
R2=sqrt(Dslow.^2+T(k,2)^2+H^2);
tau1=2*R1/C;
tau2=2*R2/C;
Dfast1=ones(N,1)*tm-tau1'*ones(1,M);
Dfast2=ones(N,1)*tm-tau2'*ones(1,M);
phase1=pi*Kr*Dfast1.^2-(4*pi/lambda)*(R1'*ones(1,M));
phase2=pi*Kr*Dfast2.^2-(4*pi/lambda)*(R1'*ones(1,M));
Srnm1=Srnm1+sigma*exp(j*phase1).*(0<Dfast1&Dfast1<Tr).*((abs(Dslow)<Lsar/2)'*ones(1,M));
Srnm2=Srnm2+sigma*exp(j*phase2).*(0<Dfast2&Dfast2<Tr).*((abs(Dslow)<Lsar/2)'*ones(1,M));
end
%%========================================================
%%距离压缩
tr=tm-2*Rmin/C;
Refr=exp(j*pi*Kr*tr.^2).*(0<tr&tr<Tr);
Sr1=ifty(fty(Srnm1).*(ones(N,1)*conj(fty(Refr))));
Sr2=ifty(fty(Srnm2).*(ones(N,1)*conj(fty(Refr))));
Gr1=abs(Sr1);
Gr2=abs(Sr2);
%%方位压缩
ta=sn-Xmin/V;
Refa=exp(j*pi*Ka*ta.^2).*(abs(ta)<Tsar/2);
Sa1=iftx(ftx(Sr1).*(conj(ftx(Refa)).'*ones(1,M)));
Sa2=iftx(ftx(Sr2).*(conj(ftx(Refa)).'*ones(1,M)));
Ga1=abs(Sa1);
Ga2=abs(Sa2);
%%========================================================
%%绘制信号的强度图像
colormap(gray);
figure(1)
subplot(2,2,1);
row=tm*C/2-2008;col=sn*V-26;
imagesc(row,col,255-Gr1); %强度图像Sr1
axis([Yc-Y0,Yc+Y0,Xmin-Lsar/2,Xmax+Lsar/2]);
xlabel('方位向距离/m'),ylabel('距离向距离/m'),
title('距离压缩后的运动点目标图像'),
subplot(2,2,2);
imagesc(row,col,255-Ga1); %强度图像Sa1
axis([Yc-Y0,Yc+Y0,Xmin-Lsar/2,Xmax+Lsar/2]);
xlabel('方位向距离/m'),ylabel('距离向距离/m'),
title('距离和方位压缩后的运动点目标图像'),
subplot(2,2,3);
row=tm*C/2-2008;col=sn*V-26;
imagesc(row,col,255-Gr2); %强度图像Sr2
axis([Yc-Y0,Yc+Y0,Xmin-Lsar/2,Xmax+Lsar/2]);
xlabel('方位向距离/m'),ylabel('距离向距离/m'),
title('距离后静止点目标图像'),
subplot(2,2,4);
imagesc(row,col,255-Ga2); %强度图像Sa2
axis([Yc-Y0,Yc+Y0,Xmin-Lsar/2,Xmax+Lsar/2]);
xlabel('方位向距离/m'),ylabel('距离向距离/m'),
title('距离和方位压缩后的静止点目标图像'),
%%========================================================