完整程序:
clear all;clc;close all;
fc=3e9; %载波频率
PRF=2000;
Br=5e6; %带宽
fs=10*Br; %采样频率
Tp=5e-6; %脉宽
Kr=Br/Tp; %频率变化率
c=3e8; %光速
lamda=c/fc; %波长
Tr=1/PRF; %脉冲重复周期
N_mc=1.5/60*PRF; %脉冲个数
t=0:1/fs:15*Tp+Tp; %采样时间
N_r=length(t); %采样点数
N_target=5; %目标个数
Rmax=c/2*15*Tp; %目标最大距离
R_t=Rmax*abs(rand(1,N_target)); %目标的距离
RCS_t=10*(exp(i*2*pi*rand(1,N_target))); %目标RCS,幅度为10,相位在(0,2pi)之间随机分布
Vmax=lamda*PRF/2; %目标最大速度
v=Vmax*((1+rand(1,N_target))/2); %目标速度
%% 生成目标矩阵
sr=zeros(N_mc,N_r);
for i=1:N_mc
ta=(i-1)*Tr;
sri=0;
for k=1:N_target
tao=2*(R_t(k)-v(k).*(ta+t))/c;
srj=RCS_t(k).*rectpuls(t-tao-Tp/2,Tp).*exp(-1j*2*pi*fc*tao+1j*pi*Kr.*(t-tao-Tp/2).^2);
sri=sri+srj;
end
sr(i,:)=sri;
end
%% 距离压缩前的回波
tm=(1:N_mc)/PRF;
R=c*t/2;
figure(1);
image(R,tm,255*abs(sr)/max(max(abs(sr))))
figure(2);
plot(t*c/2,abs(sr(1,:)))
%% 距离压缩
st=rectpuls(t-Tp/2,Tp).*exp(1i*pi*Kr*(t-Tp/2).^2);
stf=conj(fft(st));
for i=1:N_mc
sr(i,:)=ifft(fft(sr(i,:)).*stf);
end
figure(3);
image(R,tm,255*abs(sr)/max(max(abs(sr))))
figure;
plot(t*c/2,abs(sr(1,:)))
sr=fft(sr,[],1);
V=linspace(0,PRF,50)*lamda/2;
figure;image(R,V,255*abs(sr)/max(max(abs(sr))))