【SAR】合成孔径雷达成像及处理【文末附部分MATLAB代码】

作品简介
微信公众号: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,永久获取更多相关资料、代码。,永久获取更多相关资料、代码。


创作时间: