%%========================================================
clear;clc;close all;
%%========================================================
j=sqrt(-1)
C=3e8; %propagation speed;;光速
%%Parameter--radar characteristics
Fc=9e10; %carrier frequency 1GHz;中心频率
lambda=C/Fc; %wavelength ;波长
%%Parameter--target area
Xmin=0; %target area in azimuth is within[Xmin,Xmax];
Xmax=1;
Yc=0.3; %center of imaged area;图像的中心位置
Y0=0.1; %target area in range is within[Yc-Y0,Yc+Y0];
%imaged width 2*Y0
%%Parameter(参数)--orbital information(轨道信息)
V=0.5; %SAR velosity 100 m/s;雷达速度
H=1; %height 5000 m;雷达高度
R0=sqrt(Yc^2+H^2);
%%Parameter--antenna(天线参数)
D=0.01; %antenna length in azimuth direction(在方位向上的天线真实长度)
Lsar=lambda*R0/D; %SAR integration length;雷达合成孔径长度
Tsar=Lsar/V; %SAR integration time;合成孔径时间
%%Parameter--slow-time domain(慢时间域参数)
Ka=-2*V^2/lambda/R0; %doppler frequency modulation rate;多普勒斜率
Ba=abs(Ka*Tsar); %doppler frequency modulation bandwidth;多普勒带宽;f(t)=fdc+fdr*t(其中fdc为多普勒质心,一般fdc=0,fdr为多普勒斜率,fdr=-2*v^2/波长/R)
PRF=Ba; %pulse repitition frequency;脉冲重复频率
PRT=1/PRF; %pulse repitition time;脉冲重复周期
ds=PRT; %sample spacing in slow-time domain;慢时间域的采样间隔
Nslow=ceil((Xmax-Xmin+Lsar)/V/ds); %sample number in slow-time domain;慢时间域采样点数(ceil是取最接近且大于等于的整数)
Nslow=2^nextpow2(Nslow); %for fft;p=nextpow2(A)则2^p>=abs(A)
sn=linspace((Xmin-Lsar/2)/V,(Xmax+Lsar/2)/V,Nslow);%discrete time array in slow-time domain;慢时间域离散时间数组
PRT=(Xmax-Xmin+Lsar)/V/Nslow; %refresh;采样间隔
PRF=1/PRT; %采样频率
ds=PRT;
%%Parameter--fast-time domain(快时间域参数)
Tr=5e-6; %pulse duration 10us(脉冲持续时间)
Br=1.5e10; %chirp frequency modulation bandwidth 30MHz(调频信号带宽)
Kr=Br/Tr; %chirp slope(调频率)
Fsr=3*Br; %sampling frequency in fast-time domain;快时间域采样频率
dt=1/Fsr; %sample spacing in fast-time domain;快时间域采样间隔
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);%sample number in fast-time domain;采样点数
Nfast=2^nextpow2(Nfast); %for fft
tm=linspace(2*Rmin/C,2*Rmax/C+Tr,Nfast); %discrete time array in fast-time domain;离散向量
dt=(2*Rmax/C+Tr-2*Rmin/C)/Nfast; %refresh
Fsr=1/dt;
%%Parameter--resolution(分辨率)
DY=C/2/Br; %range resolution;距离分辨率
DX=D/2; %cross-range resolution;方位向分辨率
%%Parameter--point targets(点目标参数)
Ntarget=9; %number of targets(目标数)
%format [x, y, reflectivity]
Ptarget=[(Xmin+Xmax)/2,Yc,1 %position of targets;目标位置
(Xmin+Xmax)/2,Yc+0.005,1
(Xmin+Xmax)/2,Yc-0.005,1
(Xmin+Xmax)/2+0.01,Yc,1
(Xmin+Xmax)/2-0.01,Yc,1
(Xmin+Xmax)/2+0.1,Yc,1
(Xmin+Xmax)/2+0.1007,Yc,1
(Xmin+Xmax)/2,Yc+0.05,1
(Xmin+Xmax)/2,Yc+0.053,1];
disp('Parameters:')
disp('Sampling Rate in fast-time domain');disp(Fsr/Br)
disp('Sampling Number in fast-time domain');disp(Nfast)
disp('Sampling Rate in slow-time domain');disp(PRF/Ba)
disp('Sampling Number in slow-time domain');disp(Nslow)
disp('Range Resolution');disp(DY)
disp('Cross-range Resolution');disp(DX)
disp('SAR integration length');disp(Lsar)
disp('Position of targets');disp(Ptarget)
%%========================================================
%%Generate the raw signal data;原始信号数据
K=Ntarget; %number of targets
N=Nslow; %number of vector in slow-time domain;慢时间域向量数
M=Nfast; %number of vector in fast-time domain;快时间域向量数
T=Ptarget; %position of targets
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/lambda)*(R'*ones(1,M));
Srnm=Srnm+sigma*exp(j*phase).*(0<Dfast&Dfast<Tr).*((abs(Dslow)<Lsar/2)'*ones(1,M));
end
%%========================================================
%%Range compression;距离向压缩
tr=tm-2*Rmin/C;
Refr=exp(j*pi*Kr*tr.^2).*(0<tr&tr<Tr);
ftys=fftshift(fft(fftshift(Srnm.'))).';
ftyr=fftshift(fft(fftshift(Refr.'))).';%匹配滤波函数
%Sr=ifty(fty(Srnm).*(ones(N,1)*conj(fty(Refr))));
A=ftys.*(ones(N,1)*conj(ftyr));
Sr=fftshift(ifft(fftshift(A.'))).'
Gr=abs(Sr);
%%Azimuth compression;方位向压缩
ta=sn-Xmin/V;
Refa=exp(j*pi*Ka*ta.^2).*(abs(ta)<Tsar/2);
ftxs=fftshift(fft(fftshift(Sr)));%注意此处对Sr做FFT
ftxr=fftshift(fft(fftshift(Refa)));%匹配滤波函数
%Sa=iftx(ftx(Sr).*(conj(ftx(Refa)).'*ones(1,M)));
B=ftxs.*(conj(ftxr).'*ones(1,M));
Sa=fftshift(ifft(fftshift(B)));
Ga=abs(Sa);
%%========================================================
%%graw the intensity image of signal
colormap(gray);
figure(1)
subplot(2,1,1);
row=tm*C/2-2008;col=sn*V-26;
imagesc(row,col,255-Gr); %intensity image of Sr
axis([Yc-Y0,Yc+Y0,Xmin-Lsar/2,Xmax+Lsar/2]);
xlabel('\rightarrow\itRange in meters'),ylabel('\itAzimuth in meters\leftarrow'),
title('Stripmap SAR after range compression'),
subplot(2,1,2);
imagesc(row,col,255-Ga); %intensity image of Sa
axis([Yc-Y0,Yc+Y0,Xmin-Lsar/2,Xmax+Lsar/2]);
xlabel('\rightarrow\itRange in meters'),ylabel('\itAzimuth in meters\leftarrow'),
title('Stripmap SAR after range and azimuth compression'),
%%========================================================
%%draw 3D picture
figure(2)
waterfall(real(Srnm((200:205),:)));axis tight
xlabel('Range'),ylabel('Azimuth'),
title('Real part of the raw signal'),
figure(3)
waterfall(Gr((200:205),(600:1000)));axis tight
xlabel('Range'),ylabel('Azimuth'),
title('Stripmap SAR after range compression'),
figure(4)
mesh(Ga((200:300),(750:860)));axis tight
xlabel('Range'),ylabel('Azimuth'),
title('Stripmap SAR after range and azimuth compression'),
%%========================================================
%%draw -3dB contour
figure(5)
a=max(max(Ga));
contour(row,col,Ga,[0.707*a,a],'b');grid on
axis([9995,10050,-20,20]),
xlabel('\rightarrow\itRange in meters'),ylabel('\itAzimuth in meters\leftarrow'),
title('Resolution Demo: -3dB contour');
%%=======================================================
SAR.rar_SAR radar _matlab SAR回波_回波信号算法_多普勒雷达
版权申诉
5星 · 超过95%的资源 19 浏览量
2022-09-24
08:37:30
上传
评论
收藏 2KB RAR 举报
weixin_42653672
- 粉丝: 93
- 资源: 1万+
最新资源
- tensorflow-gpu-2.7.4-cp37-cp37m-manylinux2010-x86-64.whl
- 多段线、 圆、弧转多段线(仅我可见)
- tensorflow-2.7.2-cp38-cp38-manylinux2010-x86-64.whl
- yeyue-p8Yi4-ve4a83792.apk
- tensorflow-gpu-2.7.3-cp38-cp38-manylinux2010-x86-64.whl
- 五相感应电机矢量控制模型MATLAB
- RGLED (1) (1).circ
- IMG_20240427_215747.jpg
- python下前端WEB学习笔记
- 田间种植行排号自动生成工具
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论1