lfm雷达信号处理matlab,雷达信号处理-线性调频(LFM)Chirp信号脉冲压缩
%本程序用來模擬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'])
回波信號與脈沖壓縮效果
總結
以上是生活随笔為你收集整理的lfm雷达信号处理matlab,雷达信号处理-线性调频(LFM)Chirp信号脉冲压缩的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++基础知识(三)—— 常量
- 下一篇: matlab数据存成脚本,matlab的