📄 monochromatic_2d.m
字号:
%题目:Monochromatic 2D算法演示程序
%说明:
%1.仿真采用Monochromatic 2D算法;
%2.在时间域描述用了快时间和慢时间;
%3.这种算法在一定程度上类似于二维脉压法;
%****************************
clear;clc;close all;
%*********参数设置*******************
C=3e8; %光速
%雷达参数设置
Fc=1e9; %载波频率1GHz
labda=C/Fc; %波长
%目标区参数设置
Xmin=0; %目标区方位向区域[Xmin,Xmax]
Xmax=50;
Yc=10000; %测绘带中心距离
Y0=500; %目标区距离向区域[Yc-Y0,Yc+Y0],测绘带宽度2*Y0
%载机参数设置
V=100; %载机速度100 m/s
H=5000; %载机飞行高度5000 m
R0=sqrt(Yc^2+H^2);
%天线参数设置
D=4; %天线方位向线尺寸
Lsar=labda*R0/D; %SAR合成孔径长度
Tsar=Lsar/V; %SAR合成孔径时间
%慢时间域参数设置
Ka=-2*V^2/labda/R0; %多普勒调频斜率
Ba=abs(Ka*Tsar); %多普勒带宽
PRF=Ba; %脉冲重复周期
PRT=1/PRF; %脉冲重复时间
ds=PRT; %慢时间采样间隔
Nslow=ceil((Xmax-Xmin+Lsar)/V/ds); %慢时间域采样点数
Nslow=2^nextpow2(Nslow); %慢时间域作FFT的点数估算
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; %发射脉宽 5us
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);%快时间域采样点数
Nfast=2^nextpow2(Nfast); %FFT点数估计
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; %点目标个数
%格式[x, y, reflectivity]
Ptarget=[Xmin,Yc,1 %目标位置
Xmin,Yc+10*DY,1
Xmin+20*DX,Yc+5*DY,1];
disp('Monochromatic 2D算法参数如下:')
disp('雷达工作频率:');disp(Fc);
disp('雷达发射脉冲宽度:');disp(Tr);
disp('雷达脉冲重复频率:');disp(PRF);
disp('雷达采样频率:');disp(Fsr);
disp('载机飞行高度:');disp(H);
disp('载机飞行速度:');disp(V);
disp('距离向采样点数:');disp(Nfast);
disp('方位向采样点数:');disp(Nslow);
disp('距离分辨率:');disp(DY);
disp('方位分辨率:');disp(DX);
disp('合成孔径长度:');disp(Lsar);
disp('点目标位置:---格式[x, y, reflectivity]');disp(Ptarget);
%*********回波生成**********
K=Ntarget; %点目标个数
N=Nslow;
M=Nfast;
T=Ptarget;
Srnm=zeros(N,M);
for k=1:1:K
sigma=T(k,3);
Dslow=sn*V-T(k,1);
R=sqrt(Dslow.^2+T(k,2)^2+H^2);
tau=2*R/C;
Dfast=ones(N,1)*tm-tau'*ones(1,M);
phase=pi*Kr*Dfast.^2-(4*pi/labda)*(R'*ones(1,M));
Srnm=Srnm+sigma*exp(j*phase).*(0<Dfast&Dfast<Tr).*((abs(Dslow)<Lsar/2)'*ones(1,M));%原始回波数据
end
%*********窄聚焦处理**********
tr=tm-2*Rmin/C;
ta=sn-Xmin/V;
ta0=ta(N/2);
Refr=exp(j*pi*Kr*tr.^2+j*pi*Ka*ta0^2).*(0<tr&tr<Tr);%
RefrFFT=fftshift(fft(fftshift(Refr.'))).';%
SrFFT=fftshift(fft(fftshift(Srnm.'))).';%距离像FFT
SraFFT=fftshift(fft(fftshift(SrFFT)));%方位向FFT---二维FFT
Sra_FFT=SraFFT.*(ones(N,1)*conj(RefrFFT));%
Sa_FFT=fftshift(ifft(fftshift(Sra_FFT.'))).';%距离向IFFT
Gr=abs(Sa_FFT); %取模
%*********方位压缩**********
ta=sn-Xmin/V;
Refa=exp(j*pi*Ka*ta.^2).*(abs(ta)<Tsar/2);%方位向匹配函数
RefaFFT=fftshift(fft(fftshift(Refa))); %进行FFT以便在频域作乘法运算
%SrFFT=fftshift(fft(fftshift(Sr))); %对距离压缩后数据作方位向的FFT
Sa_FFT=Sa_FFT.*(conj(RefaFFT).'*ones(1,M));%频域相乘
Sa=fftshift(ifft(fftshift(Sa_FFT))); %IFFT变换生成时域数据
Ga=abs(Sa); %取模
%********结果显示***********
colormap(gray);
figure(1)
subplot(211);
row=tm*C/2-2000;col=sn*V-20;
imagesc(row,col,255-Gr); %Sr的灰度图像
axis([Yc-Y0,Yc+Y0,Xmin-Lsar/2,Xmax+Lsar/2]);
xlabel('\rightarrow\it距离向(m)'),ylabel('\it方位向(m)\leftarrow'),
title('窄聚焦效果图'),
subplot(212);
imagesc(row,col,255-Ga); %Sa的灰度图像
axis([Yc-Y0,Yc+Y0,Xmin-Lsar/2,Xmax+Lsar/2]);
xlabel('\rightarrow\it距离向(m)'),ylabel('\it方位向(m)\leftarrow'),
title('Monochromatic 2D算法处理后效果图'),
%--------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -