資源簡介
合成孔徑雷達點目標 RD成像算法 MATLAB 源碼,可讀性強,適合新手學習。

代碼片段和文件信息
clear?all;
%%%(I)?parameters‘?definition
c=3e+8; %?speed?of?light
pi=3.1415926 ? ??? %?pi
j00=sqrt(-1); %?square?root?of?-1
res_a=1; %?required?azimuth?resolution
res_r=1; %?required?range?resolution
k_a=1.2; %?azimuth?factor
k_r=1.2; %?range?factor
Ra=4000.; %?radar?working?distance
va=70.;? %?radar/platform?forward?velocity
Tp=1.e-6;? %?transmitted?pulse?width??????
fc=1.e+9; ? ??? %?carrier?frequency?
FsFactor?=?1.0
lamda=c/fc; %?wavelength
B=k_r*c/2./res_r; %?required?transmitted?bandwidth
Fs=B*FsFactor; %?A/D?sampling?rate
bin_r=c/2./Fs; %?range?bin
gama=B/Tp; %?range?chirp?rate
delta_theta=k_a*lamda/2/res_a; %?required?azimuth?opening?angle
%?corresponding?to?processed?bandwith
%?(should?be?less?than?azimuth?3dB?opening?angle)
La=Ra*delta_theta; %?required?synthetic?aperture
Ta=La/va; %?required?synthetic?aperture?time
thetas_c=pi/2; %?zero?squint
fdc=2*va*cos(thetas_c)/lamda;?? %?doppler?centriod
fdr=-2*va*va*sin(thetas_c)^2/lamda/Ra; %?doppler?rate
Bd=abs(fdr)*Ta; %?doppler?bandwidth
prf=100.; %?PRF
%%%(II)?echo?return?modelling(point?target)
na=fix(Ta*prf/2); %?azimuth?sampling?number
ta=-na:na;
ta=ta/prf; %?slow?time?along?azimuth
xa=va*ta; %?azimuth?location?along?flight?track
na=2*fix(na);
%x0=[0??0?0?0?0?0???-60?-30?30?60];?
%R0=[-10?0?10?20?30?40?0?0?0?0];???????????%%%%%%%?more?than?one?point?target
x0=[0?];?
R0=[0?];
Npt_num?=?length(x0);
%?single?point?target‘s?azimuth?location?
%?positive?towards?forward?velocity
%?single?point?target‘s?slant?range?location
ra=zeros(Npt_num?length(xa));??????%?positive?towards?far?range
for?i=1:Npt_num????????????????????????????????????
ra(i:)=sqrt((Ra+R0(i)).^2+(xa+x0(i)).^2); %?single?point?target‘s?slant?range?history?
end???
rmax=max(max(ra)); %?max.?slant?range
rmin=min(min(ra)); %?min.?slant?range
rmc=fix((rmax-rmin)/bin_r); %?range?migration
rg=0*ra;
rg=fix((ra-rmin)/bin_r+1); %?range?gate?beause?of?range?migration
rgmax=max(max(rg));
rgmin=min(min(rg));
nr=round(Tp*Fs); %?min?range?samples
tr=1:fix(nr)+1;
tr=tr/Fs-Tp/2; %?fast?time?along?range
???????????????????????????????????????????????
[mNa]=size(ta);
Nr=nr+rgmax;
Na
Nr
sig=zeros(NaNr);
for?i=1:Na
for?k=1:Npt_num
?? sig(irg(ki):rg(ki)+nr)=sig(irg(ki):rg(ki)+nr)+exp(-j00*4*pi/lamda*ra(ki))*exp(-j00*pi*gama*(tr).^2);
???end??
end
disp(‘end?of?echo?return?modelling‘)
figure(1)
contour(abs(sig))
%%%===============================================================================
for?i=1:Na
???sig(i:)=fftshift(fft(sig(i:)));
end
disp(‘end?of?range?fft‘)
dfr=Fs/Nr;
fr=((0:Nr-1)-Nr/2)*dfr;??
phase1=exp(-j00*pi*(fr).^2/gama)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3951??2005-12-21?19:18??RD.m
-----------?---------??----------?-----??----
?????????????????4169????????????????????2
評論
共有 條評論