Advertisement

合成孔径雷达成像matlab,【雷达图像】SAR合成孔径雷达成像及处理matlab源码

阅读量:

一、简介
b89dd42e54c3d0e6f497d846fb1e9b5d.png
4c761405badcba2517e196576839dda9.png
5ebbf1b574f27b82632b0058c91e3100.png
ff767cec0ecb330494ab086b6113c4dc.png
5447c60fd8d715eb02378b9c26170bac.png
e0fcac566e6a285183ca2fb76d3a03ad.png
4b645836844e35e86ba6c3aaa4c1eb89.png
f4c2f28f7820574cb2c25c4bd504f2d8.png
eb8c6e985bb179718b01baefc85d258d.png

二、源代码

clear all;

%======================================================================

%%% (I) parameters' definition

%======================================================================

c=3e+8;% speed of light

pi=3.1415926; % pi

j00=sqrt(-1); % square root of -1

res_a=2;% required azimuth resolution

k_r=1.2;% range factor

Ra=4000.;% radar working distance

va=70.; % radar/platform forward velocity

fc=3.e+9; % carrier frequency

FsFactor = 1.0;

theta=90*pi/180; % squint angle

%======================================================================

lamda=c/fc;% wavelength

Br=k_r*c/2./res_r; % required transmitted bandwidth

Fs=Br*FsFactor; % A/D sampling rate

bin_r=c/2./Fs; % range bin

Kr=Br/Tp; % range chirp rate

La=Rak_alamda/2/res_a; % required synthetic aperture length

Ta=La/va;% required synthetic aperture time

fdc=2vacos(theta)/lamda; % doppler centriod

fdr=-2*(va*sin(theta)).^2/lamda/Ra;% doppler rate

Bd=abs(fdr)*Ta; % doppler bandwidth

prf=round(Bd*2); % 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=vata-Racos(theta); % azimuth location along flight track

Na=2*fix(na);

%x0=[ 0 0 0 0 0 ]; % define multi points if you want

%R0=[-20 -10 0 10 20 ]; % x0: azimuth location (positive towards forward velocity)

% R0: slant range location (positive towards far range)

x0=[ 0 0 ]; R0=[ 0 10 ]; % only one point

Npt_num = length(x0);

ra=zeros(Npt_num, length(xa)); % calculate every point target's slant range history

for i=1:Npt_num

ra(i,:)=sqrt((Ra*sin(theta)+R0(i)).2+(xa+x0(i)).2);

end

rmax=max(max(ra));% max. slant range

rmin=min(min(ra));% min. slant range

rmc=fix((rmax-rmin)/bin_r);% range migration,number

rg=0*ra; % initialize

rg=fix((ra-rmin)/bin_r+1);% range gate index caused by range migration

rgmax=max(max(rg));

rgmin=min(min(rg));

nr=round(Tp*Fs);% samples of a pluse

tr=1:fix(nr)+1;

tr=tr/Fs-Tp/2;% fast time within a pluse duration

Nr=nr+rgmax;

%======================================================================

%%%(II) echo return modelling (point target)

%======================================================================

sig=zeros(Na,Nr);

for i=1:Na

for k=1:Npt_num

sig(i,rg(k,i):rg(k,i)+nr)=sig(i,rg(k,i):rg(k,i)+nr)+exp(-j004pi/lamdara(k,i))exp(-j00piKr*(tr).^2);

end

end

%%% 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(jpikr*(tr).^2);

%===============================

%Chirp pulse echo from point B

%===============================

dr=3; dr_t=2dr/c; dN=dr_tFs;

sig_point1 = exp(jpikr*(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));

三、运行结果
58347ad258becb202dedabfe591a4bae.png
0b31f4ac19f8f4a6aece01e9291f5b18.png

四、备注

完整代码或者代写添加QQ1575304183

往期回顾>>>>>>

标签:range,源码,sig,matlab,雷达,SAR,Nr

来源:

全部评论 (0)

还没有任何评论哟~