clear all
close all
%%
cj=sqrt(-1);
c=3e8;
pi2=2*pi;
%天线参数
theta=15;%斜视角
theta=theta*pi/180;
lambda=0.03;%载频波长
La=2.5;%5;%天线方位向口径
beta=0.886*lambda/La; %发散角
%%测绘带
Xc=1e3;%41.65e3;
Yc=Xc*tan(theta);%方位向中心
Wr=200;
Wa=200;
%%距离向参数
fc=c/lambda;
wc=pi2*fc;
Tp=1.667e-6;%脉冲持续时间
Br=60e6;%带宽
Kr=Br/Tp;
fcm=fc-Kr*Tp;
wcm=fcm*pi2;
Fs=2.2*Br;%快时间采样率
dt=1/Fs;%快时间采样间隔
Rn=(Xc-Wr/2)/cos(theta-beta/2);%场景最近斜距
Rf=(Xc+Wr/2)/cos(theta+beta/2);%场景最远斜距
% T=2*(Rf-Rn)/c+Tp;
% Nr=ceil((2*(Rf-Rn)/c+Tp)*Fs);%距离向采样点个数
Ts=2*Rn/c;%距离向采样起始时间
Tf=2*Rf/c+Tp;%距离向采样截止时间
T=Tf-Ts;
Ts=Ts-.1*T;
Tf=Tf+.1*T;
T=Tf-Ts;
Nr=ceil(T*Fs);
t=Ts+dt*(0:Nr-1);%快时间采样序列;
df=Fs/Nr;
f=df*(-Nr/2:Nr/2-1);
%%方位向参数
Vr=250;%载机速度
PRF=1000;
dtao=1/PRF;%方位向采样间隔
Tas=-((Xc+Wr)*tan(theta+beta/2)-(Yc-Wa/2))/Vr; %方位向采样起始时刻
Tae=((Yc+Wa/2)-(Xc-Wr/2)*tan(theta-beta/2))/Vr;%方位向采样结束时刻
% Tae=(Wr/2*tan(theta-beta/2)+Wa/2+Xc*(tan(theta)-tan(theta-beta/2)));
Ta=Tas-Tae;
Tas=Tas-.1*Ta;
Tae=Tae+.1*Ta;
Ta=Tae-Tas;
Na=ceil(1.2*Ta*PRF);
tao=dtao*(-Na/2:Na/2-1);%慢时间采样序列
Ar=-2;
u=Vr*tao+.5*Ar.*(tao.^2);
du=Vr*dtao;
dfu=PRF/Na;
fu=dfu*(-Na/2:Na/2-1);
Ka=-2*((Vr*cos(theta))^2)/lambda/Xc;
fdc=2*Vr*sin(theta)/lambda;
% tao1=Tas+(0:Na-1)*dtao;
Tao=ones(Nr,1)*tao;
U=ones(Nr,1)*u;
FU=ones(Nr,1)*fu;
FU1=FU-fdc;
T=t(:)*ones(1,Na);
F=f(:)*ones(1,Na);
%%%实际物理尺寸
x=Xc+dt*(-Nr/2:Nr/2-1)*c/2;
y=du*cos(theta)*(-Na/2:Na/2-1);
%%目标区域
% Ntar=3;
% Xn=zeros(1,Ntar);Yn=zeros(1,Ntar);
% Xn(1)=Xc; Yn(1)=Yc;
% Xn(2)=Xc-.5*Wr/2;Yn(2)=Yc-.5*Wa/2;
% Xn(3)=Xc+.5*Wr/2;Yn(3)=Yc-.5*Wa/2;
P=50*du;%%P=100*du;可以看到条纹
dyn=du*5;
dxn=2.5;
nx=100;
% ny=10;
ny=2;
ntarget=nx*ny;
Xn=zeros(nx,ny);Yn=zeros(nx,ny);fn=ones(nx,ny);
% xn_o=(-ny/2*dx*0.5:0.5*dx:(ny/2-1)*0.5*dx);
% xn_o=0;
% Xn=ones(nx,1)*xn_o+Xc;
% yn_o(1:nx/4)=(-nx/4*dy*5:5*dy:(-1)*dy*5)-50+Yc;
% yn_o(nx/4+1:nx/2)=(-nx/4*dy*5:5*dy:(-1)*dy*5)+Yc;
% yn_o(nx/2+1:nx*3/4)=(-nx/4*dy*5:5*dy:(-1)*dy*5)+50+Yc;
% yn_o(nx*3/4+1:nx)=(-nx/4*dy*5:5*dy:(-1)*dy*5)+100+Yc;
% Yn=yn_o(:)*ones(1,ny);
% a=nx;
% b=ny;
xn_o=0;
xn_o=(-ny/2*dxn*0.5:0.5*dxn:(ny/2-1)*0.5*dxn);
Xn=ones(nx,1)*xn_o+Xc;
yn_o(1:nx)=(-nx/2*dyn:dyn:(nx/2-1)*dyn);
Yn=yn_o(:)*ones(1,ny)+Yc;
a=nx;
b=ny;
%%回波模拟
so=zeros(Nr,Na);
so2=zeros(Nr,Na);
for i=1:a;
i
for j=1:b;
j
Uci=((Yn(i,j)-Yc)-(Xn(i,j)-Xc)*tan(theta));%第i个目标方位向中心时刻
Rci=Xn(i,j)/cos(theta);%点目标中心斜距
Usi=Rci*(cos(theta)*tan(theta+beta/2)-sin(theta));% 目标方位向采样起始时刻
Uei=Rci*(sin(theta)-cos(theta)*tan(theta-beta/2));%目标方位向采样结束时刻
R=sqrt(Xn(i,j)^2+(Yn(i,j)-U).^2);%雷达和目标之间的瞬时斜距
DT=T-2*R/c;
phase=pi*Kr*(DT.^2)-4*pi*R/lambda;
sn=exp(cj*phase).*(DT >=0 & DT <=Tp).*(U >= (Uci-Usi) & U <= (Uci+Uei));
so=so+sn;
R2=sqrt(Xn(i,j)^2+(Yn(i,j)-U-P).^2);
DT2=T-2*R2/c;
phase2=pi*Kr*(DT2.^2)-4*pi*R2/lambda;
sn2=exp(cj*phase2).*(DT2 >=0 & DT2 <=Tp).*((U+P) >= (Uci-Usi) & (U+P) <= (Uci+Uei));
so2=so2+sn2;
end
end;
figure(1)
imagesc(real(so));
axis square;axis xy;
title('原始接收信号');
%%%%%%%%%%%%%%距离向匹配滤波
Rc=sqrt(Xc^2+Yc^2);
tr=T-2*sqrt(Xc^2+Yc^2)/c;
sr=exp(cj*pi*Kr*(tr).^2).*(tr >= 0 & tr <= Tp);
Nsr=300;
% winr=[zeros((Nr-Nsr)/2,1);hanning(Nsr);zeros((Nr-Nsr)/2,1)];
winr=hanning(Nr);
winr=winr*ones(1,Na);
sr=sr.*winr;
SR=ftx(sr);
S=ftx(so).*conj(SR);
s=iftx(S);
S2=ftx(so2).*conj(SR);
s2=iftx(S2);
figure(2)
imagesc(abs(s)');
axis square;axis xy
% % % % p0_2f=exp(j*pi/fc^2/Ka*(FU.*F).^2+j*pi*fdc^2/fc/Ka*F-j*pi/fc/Ka*FU.^2.*F);
% % % % S=fty(S);
% % % % S=S.*p0_2f;
% % %%二次距离压缩
% omga=sqrt(1-lambda*FU1./(2*Vr));
% Hrc=exp(-cj*pi*Xc*c*FU1.^2.*F.^2./(2*Vr^2*fc.^3.*omga.^3));
% Src=ftx(fty(s));
% S=Src.*Hrc;
% %%%%三次相位补偿
% PHI=exp(cj*pi*Xc*c*(FU1.^2).*(F.^3)./(2*Vr^2*fc.^4.*(omga.^5)));
% S=S.*PHI;
% %%%%%距离徙动校正
% EMEND=exp(cj*2*pi*F.*(2*Xc./omga/c));
% S=S.*EMEND;
% %%%%%%%%%%%多普勒相位补偿
% COM=exp(cj*2*pi*FU1.*Yc/Vr);
% S=S.*COM;
S=ftx(s);
S2=ftx(s2);
S=S.';
S2=S2.';
alpha=3.2;%
% dt=1/fs;
lambda=c/fc;
% df=fs/N;
% f=df*(-N/2:N/2-1);
f_matrix=repmat(f,Na,1);
m=(0:Na-1);
m_matrix=repmat(m(:),1,Nr);
alpha=alpha/180*pi;
Phi_rcmc=exp(-cj*2*pi*dt*tan(alpha)*m_matrix.*f_matrix);%这是什么意思??
S=S.*Phi_rcmc;
S2=S2.*Phi_rcmc;
S=S.';
S2=S2.';
s=iftx(S);
s2=iftx(S2);
figure(3)
imagesc(abs(s)');
axis square; axis xy
%%%%%%%%%%%%%%方位压缩
S_fut=fty(s);
S2_fut=fty(s2);
% Ha=exp(cj*pi*FU1.^2/Ka);
Uc0=0;%参考目标方位向中心时刻
Rc=Xc/cos(theta);%参考目标中心斜距
Us0=Rc*(cos(theta)*tan(theta+beta/2)-sin(theta));% 目标方位向采样起始时刻
Ue0=Rc*(sin(theta)-cos(theta)*tan(theta-beta/2));%目标方位向采样结束时刻
R0=sqrt(Xc^2+(Yc-U).^2);%雷达和目标之间的瞬时斜距
ta=2*R0/c;
sa=exp(-cj*wc*ta).*(U >= (Uc0-Us0) & U <= (Uc0+Ue0));
Nsa=1590;
% wina=[zeros((Na-Nsa)/2,1);hanning(Nsa);zeros((Na-Nsa)/2,1)];
wina=hanning(Na);
wina=ones(Nr,1)*(wina.');
sa=sa.*wina;
Ha=fty(sa);
Ha=conj(Ha);
S=S_fut.*Ha;
s_1=ifty(S);
S2=S2_fut.*Ha;
s_2=ifty(S2);
% save s_1 s_1;
% save s_2 s_2;
figure(4)
imagesc(x,y,abs(s_1)')
axis square;axis xy
figure(5)
imagesc(x,y,abs(s_2)')
axis square;axis xy
squint_sar.rar_SAR_matlab,目标_SAR,斜视_doppler sar_sar squint_距离多普勒
版权申诉
5星 · 超过95%的资源 141 浏览量
2022-07-15
03:53:55
上传
评论
收藏 2KB RAR 举报
JonSco
- 粉丝: 72
- 资源: 1万+
最新资源
- Python 程序语言设计模式思路-创建型模式:原型模式:通过复制现有对象来创建新对象,面向对象编程
- 卸载软件geek卸载软件geek
- Python 程序语言设计模式思路-创建型模式:单例模式,确保一个类的唯一实例(装饰器)面向对象编程、继承
- skywalking-plugins.jar skywalking-alarm.jar
- 独栋别墅图纸D020-两层-10.00&11.00米- 施工图.dwg
- Python 程序语言设计模式思路-创建型模式:工厂模式,创建对象的统一接口,封装对象的创建逻辑
- python自学教程-05-json数据格式的介绍.ev4.rar
- python自学教程-04-自定义JavaScript.ev4.rar
- 《淘宝后台系统...》
- skywalking-plugins.jar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈