%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% PULSED SPOTLIGHT SAR SIMULATION AND RECONSTRUCTION %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
colormap(gray(256))
cj=sqrt(-1);
pi2=2*pi;
%
c=3e8; % propagation speed
f0=50e6; % baseband bandwidth is 2*f0
w0=pi2*f0;
fc=200e6; % carrier frequency
wc=pi2*fc;
lambda_min=c/(fc+f0); % Wavelength at highest frequency
lambda_max=c/(fc-f0); % Wavelength at lowest frequency
kc=(pi2*fc)/c; % wavenumber at carrier frequency
kmin=(pi2*(fc-f0))/c; % wavenumber at lowest frequency
kmax=(pi2*(fc+f0))/c; % wavenumber at highest frequency
%
Xc=1000; % Range distance to center of target area
X0=20; % target area in range is within [Xc-X0,Xc+X0]
Yc=300; % Cross-range distance to center of target area
Y0=60; % target area in cross-range is within
% [Yc-Y0,Yc+Y0]
% Case 1: L < Y0; requires zero-padding of SAR signal in synthetic
% aperture domain
%
L=100; % synthetic aperture is 2*L
% Case 2: L > Y0; slow-time Doppler subsampling of SAR signal spectrum
% reduces computation
%
% L=400; % synthetic aperture is 2*L
theta_c=atan(Yc/Xc); % Squint angle
Rc=sqrt(Xc^2+Yc^2); % Squint radial range
L_min=max(Y0,L); % Zero-padded aperture is 2*L_min
%
Xcc=Xc/(cos(theta_c)^2); % redefine Xc by Xcc for squint processing
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% u domain parameters and arrays for compressed SAR signal %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
duc=(Xcc*lambda_min)/(4*Y0); % sample spacing in aperture domain
% for compressed SAR signal
duc=duc/1.2; % 10 percent guard band; this guard band
% would not be sufficient for targets
% outside digital spotlight filter (use
% a larger guard band, i.e., PRF)
mc=2*ceil(L_min/duc); % number of samples on aperture
uc=duc*(-mc/2:mc/2-1); % synthetic aperture array
dkuc=pi2/(mc*duc); % sample spacing in ku domain
kuc=dkuc*(-mc/2:mc/2-1); % kuc array
%
dku=dkuc; % sample spacing in ku domain
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% u domain parameters and arrays for SAR signal %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
if Yc-Y0-L < 0, % minimum aspect angle
theta_min=atan((Yc-Y0-L)/(Xc-X0));
else
theta_min=atan((Yc-Y0-L)/(Xc+X0));
end;
theta_max=atan((Yc+Y0+L)/(Xc-X0)); % maximum aspect angle
%
du=pi/(kmax*(sin(theta_max)- ...
sin(theta_min))); % sample spacing in aperture
% domain for SAR signal
du=du/1.4; % 20 percent guard band
m=2*ceil(pi/(du*dku)); % number of samples on aperture
du=pi2/(m*dku); % readjust du
u=du*(-m/2:m/2-1); % synthetic aperture array
ku=dku*(-m/2:m/2-1); % ku array
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Fast-time domain parmeters and arrays %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
Tp=2.5e-7; % Chirp pulse duration
alpha=w0/Tp; % Chirp rate
wcm=wc-alpha*Tp; % Modified chirp carrier
%
if Yc-Y0-L < 0,
Rmin=Xc-X0;
else
Rmin=sqrt((Xc-X0)^2+(Yc-Y0-L)^2);
end;
Ts=(2/c)*Rmin; % start time of sampling
Rmax=sqrt((Xc+X0)^2+(Yc+Y0+L)^2);
Tf=(2/c)*Rmax+Tp; % end time of sampling
T=Tf-Ts; % fast-time interval of measurement
Ts=Ts-.1*T; % start slightly earlier (10% guard band)
Tf=Tf+.1*T; % end slightly later (10% guard band)
T=Tf-Ts;
Tmin=max(T,(4*X0)/(c*cos(theta_max))); % Minimum required T
%
dt=1/(4*f0); % Time domain sampling (guard band factor 2)
n=2*ceil((.5*Tmin)/dt); % number of time samples
t=Ts+(0:n-1)*dt; % time array for data acquisition
dw=pi2/(n*dt); % Frequency domain sampling
w=wc+dw*(-n/2:n/2-1); % Frequency array (centered at carrier)
k=w/c; % Wavenumber array
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Resolution for Broadside: (x,y) domain rotated by theta_c %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
DX=c/(4*f0); % range resolution (broadside)
DY=(Xcc*lambda_max)/(4*L); % cross-range resolution (broadside)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Parameters of Targets %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
ntarget=9; % number of targets
% Set ntarget=1 to see "clean" PSF of target at origin
% Try this with other targets
% xn: range; yn= cross-range; fn: reflectivity
xn=zeros(1,ntarget); yn=xn; fn=xn;
% Targets within digital spotlight filter
%
xn(1)=0; yn(1)=0; fn(1)=1;
xn(2)=.7*X0; yn(2)=-.6*Y0; fn(2)=1.4;
xn(3)=0; yn(3)=-.85*Y0; fn(3)=.8;
xn(4)=-.5*X0; yn(4)=.75*Y0; fn(4)=1.;
xn(5)=-.5*X0+DX; yn(5)=.75*Y0+DY; fn(5)=1.;
% Targets outside digital spotlight filter
% (Run the code with and without these targets)
%
xn(6)=-1.2*X0; yn(6)=.75*Y0; fn(6)=1.;
xn(7)=.5*X0; yn(7)=1.25*Y0; fn(7)=1.;
xn(8)=1.1*X0; yn(8)=-1.1*Y0; fn(8)=1.;
xn(9)=-1.2*X0; yn(9)=-1.75*Y0; fn(9)=1.;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% SIMULATION %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
s=zeros(n,mc); % SAR signal array
%
for i=1:ntarget; % Loop for each target
td=t(:)*ones(1,mc)-2*ones(n,1)*sqrt((Xc+xn(i)).^2+(Yc+yn(i)-uc).^2)/c;
s=s+fn(i)*exp(cj*wcm*td+cj*alpha*(td.^2)).*(td >= 0 & td <= Tp & ...
ones(n,1)*abs(uc) <= L & t(:)*ones(1,mc) < Tf);
end;
%
s=s.*exp(-cj*wc*t(:)*ones(1,mc)); % Fast-time baseband conversion
% User may apply a slow-time domain window, e.g., power window, on
% simulated SAR signal array "s" here.
G=abs(s)';
xg=max(max(G)); ng=min(min(G)); cg=255/(xg-ng);
image(t,uc,256-cg*(G-ng));
axis('square');axis('xy')
xlabel('Fast-time t, sec')
ylabel('Synthetic Aperture (Slow-time) U, meters')
title('Measured Spotlight SAR Signal')
print P5.1.ps
pause(1)
%
td0=t(:)-2*sqrt(Xc^2+Yc^2)/c;
s0=exp(cj*wcm*td0+cj*alpha*(td0.^2)).*(td0 >= 0 & td0 <= Tp);
s0=s0.*exp(-cj*wc*t(:)); % Baseband reference fast-time signal
s=ftx(s).*(conj(ftx(s0))*ones(1,mc)); % Fast-time matched filtering
%
G=abs(iftx(s))';
xg=max(max(G)); ng=min(min(G)); cg=255/(xg-ng);
tm=(2*Rc/c)+dt*(-n/2:n/2-1); % fast-time array after matched filtering
image(tm,uc,256-cg*(G-ng));
axis('square');axis('xy')
xlabel('Fast-time t, sec')
ylabel('Synthetic Aperture (Slow-time) U, meters')
title('SAR Signal after Fast-time Matched Filtering')
print P5.2.ps
pause(1)
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Slow-time baseband conversion for squint %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
kus=2*kc*sin(theta_c)*ones(1,n); % Doppler frequency shift in ku
% domain due to squint
%
s=s.*exp(-cj*kus(:)*uc); % slow-time baseband conversion
fs=fty(s);
% Display aliased SAR spectrum
%
G=abs(fs)';
xg=max(max(G)); ng=min(min(G)); cg=255/(xg-ng);
image(k*c/pi2,kuc,256-cg*(G-ng));
axis('square');axis('xy')
xlabel('Fast-time Frequency, Hertz')
ylabel('Synthetic Aperture (Slow-time) Frequency Ku, rad/m')
title('Aliased Spotlight SAR Signal Spectrum')
print P5.3.ps
pause(1)
%
%%%%%%%%
spotlight.rar_spotlight_合成孔径雷达_成像_聚束成像
版权申诉
5星 · 超过95%的资源 187 浏览量
2022-07-13
19:05:16
上传
评论 2
收藏 5KB RAR 举报
林当时
- 粉丝: 94
- 资源: 1万+
最新资源
- 基于QT+QML+C++实现的仿 Windows10 画图3D 的颜色选择器+源码
- 32代码四驱简易电动小车蓝牙控制、语音控制、寻光、巡线、避障(内含语音模块为天问ASR-PRO开发板与32单片机串口通信的代码)
- 基于STM32的计步器的设计
- 基于Qt与STM32平台开发的汽车车机系统上位机
- 基于MQTT的智能宠物投喂系统
- 312749069629470selfieU重绘.apk
- http%3A%2F%2Fimg.wsdl.vivo.com.cn%2Fappstore%2Fdeveloper%2Ficon%2F201412%2F201412231038336
- 主要记录B站up主莫烦matplotlib教程中的代码.zip
- Java SE Development Kit 8u411 Windows x64 Installer
- 用于科学绘图的 Matplotlib 样式.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论2