📄 sar_r_d_rangewalk.asv
字号:
clear all;close all;clc;
%%%%%%%%%%%%%%%%%%%%%%%%% 参数设定 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 距离徙动忽略条件 rr^2*Rc/32/res_a^2<res_r/8
% 方位分辨率 0.5*rr/Lc*Rc
% V*T*cos(thrt0)*sin(angb/2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
c=3e8; %光速
lamda=0.3; %波长R
res_a=5; %方位分辨率
res_r=5; %距离分辨率
thrt0=1*pi/6; %斜视角
angb=0.6*lamda/res_a; %合成波束宽度
Rr=5000; %目标中心到航迹垂直距离
V=100; %飞机的航速
Tp=1e-6; %脉冲宽度
T=10e-3; %脉冲周期
B=0.5*c/res_r; %脉冲频宽
Kr=B/Tp; %频率调制率
fc=c/lamda; %载波频率
Rx=Rr*tan(thrt0); %目标区中心横坐标
R0=Rr*sec(thrt0); %目标区中x心距离
Lc0=1.0*angb*R0; %正视有效积累长度
Lc=Lc0*sec(thrt0); %斜视有效积累长度
Tc=Lc/V; %相干积累时间
wx=100; %场景长度
wy=100; %场景宽度
Na=2^(ceil(log2((wx+wy*tan(thrt0)+Lc)/(T* V))));%回波次数
T=(wx+wy*tan(thrt0)+Lc)/Na/ V; %脉冲重复时间间隔
x_rader=[1:Na]*T*V-Na*T*V/2; %雷达扫描历程
Soder=10; %点目标间距
y_order=Rr+[-wy/2:Soder:wy/2]; %目标区纵轴范围
x_order=Rx+[-wx/2:Soder:wx/2]; %目标区横轴范围
%定义目标形状
order=[ 0, 0,1;1, 0,1;2, 0,1;3, 0,1;
-1, 0,1;-2, 0,1;-3, 0,1;0, 1,1;
0,-1,1;-1, 2,1;-1,-2,1;-2, 3,1;
-2,-3,1;-4, 1,1;-4,-1,1];
%%%%%%%%%%%%%%%%%%%%%%%%%%% 回波产生 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
for i=1:Na %设定接收波门
Rrmx(i)=max(sqrt((Rr+wy/2)^2+(x_order+wy/2*tan(thrt0)-x_rader(i)).^2));
Rrmn(i)=min(sqrt((Rr-wy/2)^2+(x_order-wy/2*tan(thrt0)-x_rader(i)).^2));
end
Rmax=max(Rrmx); %最大照射距离
Rmin=min(Rrmn); %最小照射距离
fs=1.2*B; %调整采样率
Nr=2^ceil(log2((2*(Rmax-Rmin)/c+Tp)*fs));
fs=Nr/(2*(Rmax-Rmin)/c+Tp);
t=[1:Nr]*1/fs; %定义发射波
s=rectpuls(t-Tp/2,Tp).*exp(j*2*pi*(0.5*Kr*(t-Tp/2).^2));
t=2*Rmin/c+t;
for k=1:Na %定义接收波
for i=1:length(order(:,1))
r(k)=sqrt((Rx+order(i,1)*Soder-x_rader(k))^2+(Rr+order(i,2)*Soder)^2);
tr=2*r(k)/c;
wa=rectpuls(order(i,1)*Soder-order(i,2)*Soder*tan(thrt0)-x_rader(k),Lc);
wr=rectpuls(t-Tp/2-tr,Tp);
sr(k,:)=sr(k,:)+order(i,3)*wa*wr.*exp(j*2*pi*(0.5*Kr*(t-Tp/2-tr).^2-fc*tr));
end
end
figure;imagesc(abs(sr));title('回波信号');
%%%%%%%%%%%%%%%%%%%%%%%%% 脉冲压缩 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Hr=conj(fftshift(fft(s)));
fr=[1:Nr]*fs/Nr-fs/2;
sig_fft=fftshift(fft(sr'))';
for i=1:Na
sig_fft=(fft(sr(i,:)));
deltaR=-x_rader(i)*sin(thrt0);
RCMC=exp(j*4*pi*deltaR/c.*fr); %设定走动补偿函数
sig_pc(i,:)=ifft(sig_fft.*Hr.*RCMC);
%sig_pc(i,:)=ifft(sig_fft(i,:).*Hr.*RCMC);
end
% figure;imagesc(abs(sig_pc));title('距离压缩,并校正距离弯曲')
%%%%%%%%%%%%%%%%%%%%%%%%%% 方位方向脉冲压缩 %%%%%%%%%%%%%%%%%%%%%%%
tm=((1:Na)*T-Na*T/2)';
Ka=-2* V^2/lamda/R0*cos(thrt0)^2;
ha=rectpuls(tm,Tc).*exp(j*pi*(4*V*sin(thrt0)/lamda*tm+Ka*tm.^2));%方位匹配函数
Ha=conj((fft((ha))));
for i=1:Nr
sig_rd=(fft((sig_pc(:,i))));
temp1=sig_rd.*Ha;
sig_sar(:,i)=(ifft((temp1)));
end
figure;imagesc(abs(sig_sar));title('方位压缩')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -