clc;
%close all;
clear all;
%%%%%%%%参数设置%%%%%%%%%%%%%%%%%%%%%%%%%%
j=sqrt(-1);
c=3e8;
fc=10e9;
lamda=c/fc;
dr=0.3;%距离向分辨率
da=0.06;%方位向分辨率
B=c/(2*dr);%带宽
theta=lamda/(2*da);%累计旋转角度
pw=1e-6;%脉冲宽度
Kr=B/pw;%调频率
ft=2.5*B;%脉冲采样频率
Ns=pw*ft;%单个脉冲采样点数
t=linspace(-pw/2,pw/2,Ns);%快时间
dt=pw/Ns;%时间采样间隔
Chirp=exp(j*pi*Kr*(t.^2));%发射波形
figure;
plot(real(Chirp));
title('Chirp信号')
xlabel('时间');
ylabel('幅度');
%%%%%%%%目标坐标信息%%%%%%%%%%%%%%%%%%%%%%%%
Tar=[-3 0;-2 0;-1 0;0 0;1 0;2 0;3 0;-2 -2;-1 -2;0 -2;1 -2;2 -2;0 -1;0 1; 0 2; 0 3 ];
figure;
plot(Tar(:,1),Tar(:,2),'*');
axis([-10 10 -10 10]);
title('目标位置')
xlabel('x轴');
ylabel('y轴');
%%%%%%%针对目标生成回波%%%%%%%%%%%%%%%%%%%%%
[t1 t2] = size(Tar);
PR = [0 -10000]; %雷达位置
Rsee=[9990 10200]; %观察记录范围,距离雷达
Nr=floor((Rsee(2) - Rsee(1))/(c*dt/2));%距离向点数
Na=256;%方位向点数
%dtheta=theta/Na;
Sr=zeros(Na,Nr);
theta_t=linspace(0,theta,Na); %每个重频周期回波时旋转的角度
for ii=1:Na
ttrar=rotate(Tar,theta_t(ii));
for jj= 1:t1
R=sqrt((ttrar(jj,1)-PR(1))^2+(ttrar(jj,2)-PR(2))^2);
n=floor((R-Rsee(1))/(c*dt/2));
tChirp=Chirp*exp(-j*4*pi*R/lamda);
Sr(ii,n:n+Ns-1)=Sr(ii,n:n+Ns-1)+tChirp;
end
end
figure;
contour(abs(Sr));
title('目标原始回波')
xlabel('慢时间');
ylabel('快时间频率');
%%%%%%%%%%%%%%匹配滤波成像%%%%%%%%%%%%%%%%%%%%%%%%%
Hr=exp(-j*pi*Kr*t.*t);
Hr=Hr.*hamming(Ns)';
hr=[Hr zeros(1,Nr-Ns)];
Sout=Sr;
for ii=1:Na
Sout(ii,:) = fftshift(ifft((fft(Sr(ii,:))).*(fft(hr))));
end
Sout = Sout';
figure;
contour(abs(Sout));
axis([0 140 300 600])
title('距离压缩后的回波信号')
xlabel('慢时间');
ylabel('距离');
%%%%%%%%%%%%%%%%STFT进行方位向成像%%%%%%%%%%%%%%%%%%%%
out=zeros(Nr,Nr);
for ii=1:Nr
gauss=gausswin(32);
out(ii,:) = [Sout(ii,(1:32)).*gauss' zeros(1,Nr-32)];
out(ii,:)=fftshift(fft(out(ii,:)));
end
Sout=out;
kk=abs(Sout);
figure
contour(kk);
%imagesc(kk);
title('短时傅里叶ISAR成像')
xlabel('方位向');
ylabel('距离向');
% axis([0 1700 400 500])
axis on;
评论0