微信公众号:EW Frontier
关注可了解更多的雷达、通信、人工智能相关代码。问题或建议,请公众号留言;
如果你觉得EW Frontier对你有帮助,欢迎加入我的知识星球或面包多,更多代码等你来学
知识星球:https://wx.zsxq.com/dweb2/index/group/15552518881412
面包多:https://mbd.pub/o/author-a2mYl2tsbA==/work
QQ交流群:729981694
主要内容
MATLAB仿真结果
chirp_sig.m
clear all;
%%% parameters' definition
c=3e+8; % speed of light
pi=3.1415926;
j=sqrt(-1);
Tp=1.e-6; % transmitted pulse width
fc=1.e+9; % carrier frequency
Br=50.e+6; % transmitted bandwidth
Fs=200.e+6; % A/D sample rate
kr=Br/Tp; % range chirp rate
Nr=Tp*Fs;
Ni=1:Nr;
tr=(Ni-Nr/2)*Tp/Nr;
%===============================
%Generate a Chirp pulse
%===============================
sig = exp(j*pi*kr*(tr).^2);
figure;
subplot(2,3,1); plot(real(sig));
subplot(2,3,2); plot(imag(sig));
%===============================
% Spectrum of this Chirp pulse
%===============================
sig_spec=fftshift(fft(sig));
subplot(2,3,3); ; plot(abs(sig_spec));
%===============================
%Match filtering in time domain
%===============================
mf_sig = conj(fliplr(sig));
subplot(2,3,4); plot(real(mf_sig));
subplot(2,3,5); plot(imag(mf_sig));
mf_out = conv(sig, mf_sig);
subplot(2,3,6); plot(abs(mf_out(Nr/2+1:Nr*3/2)));
pause;
%=====================================
%Match filtering in frequency domain
%=====================================
fr=(Ni-Nr/2)*Fs/Nr;
mf_spec=exp(j*pi*fr.^2/kr);
mf_spec_out=ifft(fftshift(sig_spec.*mf_spec));
figure;
subplot(1,2,1); plot(abs(mf_spec_out));
sig_un=20*log10(abs(mf_spec_out)/max(abs(mf_spec_out)));
for i=1 :Nr
if (sig_un(i)<-40 )
sig_un(i)=-40;
end
end
subplot(1,2,2); plot(sig_un);
range_compress.m
clear all;
%%% parameters' definition
c=3e+8; % speed of light
pi=3.1415926;
j=sqrt(-1);
Tp=1.e-6; % transmitted pulse width
fc=1.e+9; % carrier frequency
Br=50.e+6; % transmitted bandwidth
Fs=200.e+6; % A/D sample rate
kr=Br/Tp; % range chirp rate
Nr=Tp*Fs;
Ni=1:Nr;
tr=(Ni-Nr/2)*Tp/Nr;
%===============================
%Chirp pulse echo from point A
%===============================
sig_point0 = exp(j*pi*kr*(tr).^2);
%===============================
%Chirp pulse echo from point B
%===============================
dr=3; dr_t=2*dr/c; dN=dr_t*Fs;
sig_point1 = exp(j*pi*kr*(tr-dr_t).^2);
sig_0 = zeros(1, 3*Nr); sig_1 = sig_0; sum_sig = sig_0;
sig_0(Nr+1:2*Nr)=sig_point0;
sig_1(Nr+dN+1:2*Nr+dN)=sig_point1;
%===============================
% Summary echo signal of A and B
%===============================
sum_sig = sig_0 + sig_1;
figure;
subplot(4,1,1); plot(real(sig_0));
subplot(4,1,2); plot(real(sig_1));
subplot(4,1,3); plot(real(sum_sig));
%=====================================
% Range compression with match filter
%=====================================
mf_sig = conj(fliplr(sig_point0));
mf_out = conv(sum_sig, mf_sig);
Ns=Nr/2+1; Ne=3*Nr+Nr/2;
subplot(4,1,4); plot(abs(mf_out(Ns:Ne)));
range_migration.m
sar_echo.m
完
相关学习资料见面包多链接https://mbd.pub/o/author-a2mYl2tsbA==/work。
欢迎加入我的知识星球:https://wx.zsxq.com/dweb2/index/group/15552518881412,永久获取更多相关资料、代码。,永久获取更多相关资料、代码。