%本程序用来模拟Chirp信号的脉冲压缩,并进行目标识别
%输入:Tp-脉宽 B-带宽 Fc-载频 R-目标位置 Sigma-目标散射系数
%输出:脉冲压缩前后效果
clear
close all
clc
Tp=6e-6;
%参数定义:脉宽
B=400e6;
%带宽
Alpha=B/Tp;
Fc=5.321e9;
%载频
C=3e8;PI=3.1415926;
Fs=5*B;Ts=1/Fs;
Rn=500;Rf=1500;
%处理窗口范围
R=[995 1000 1001 1005];
%目标位置坐标
Sigma=[1 1.5 2.25 3.375];
%目标散射系数
Tn=2*Rn/C;Tf=2*Rf/C;
t=Tn:Ts:Tf;
%时间窗取样
Ns=length(t);Nr=length(R);
St=zeros(1,Ns);
%生成回波信号
for i=1:Nr
tt=2*R(i)/C;
for
j=1:Ns
St(j)=St(j)+Sigma(i)*(exp(1i*((2*PI*Fc-PI*B)*(t(j)-tt)+PI*Alpha*((t(j)-tt)^2))))*(abs((t(j)-tt))
end
end
ti=-Tp/2:Ts:Tp/2;Nr=length(ti);
%生成参考信号
Sr=exp(1i*(PI*Alpha*(ti.^2)+(2*PI*Fc-PI*B)*ti)).*(abs(ti)
% Sr=zeros(1,length(ti));
% for i=1:length(ti)
%
Sr(i)=exp(1i*((2*PI*Fc-PI*B)*ti(i)+PI*Alpha*(ti(i).^2)))*(abs(ti(i))
% end
Nfft=2^nextpow2(Ns);
Stw=fft(St,Nfft);
Srw=fft(Sr,Nfft);
So=fftshift(ifft(Stw.*conj(Srw)));
%匹配滤波
% So=ifft(Stw.*conj(Srw));
N0=Nfft/2-Nr/2;
A=abs(So(N0:N0+Ns-1));
% A=abs(So(1:Ns));
A=A/max(A);
A=20*log10(A);
figure
subplot(211)
plot(C*t/2,real(St))
%绘制回波信号
% xlim([980 1020])
title(['散射回波信号波形-B=',num2str(B/(1e6)),'MHz'])
xlabel('横向距离/m')
ylabel('脉冲幅度')
subplot(212)
%绘制脉冲压缩之后的波形
plot(C*t/2,A(1:Ns))
title(['脉冲压缩之后波形-B=',num2str(B/(1e6)),'MHz'])
xlabel('横向距离/m')
ylabel('增益/dB')
xlim([980 1020])
saveas(gcf,['Chirp-',num2str(B/(1e6)),'MHz.jpg'])
回波信号与脉冲压缩效果