从原理上讲,SAR成像处理的过程是从回波数据中提取目标区域散射系数的二维分布,本质上是一个二维相关处理过程,因此最直接的处理方法是对回波进行二维匹配滤波,但其运算量很大,再加上SAR的数据率本来就高,这使得实时处难于实现。
通常,可以把二维过程分解成距离向和方位向两个一维过程,Range-DopperAlgorithm(简称RD算法)就是采用这种思想的典型算法,这里也只讨论RD算法。
Sr=ifty(fty(Srnm).*(ones(N,1)*conj(fty(Refr))));
和分别是Chirp信号的调频斜率和脉冲持续时间,Refr表示参考信号,fty,ifty是对矩阵的行(对应距离向)进行FFT和IFFT运算的子程序。
例如,fty的代码为:
%%FFTinrowofmatrix
functionfs=fty(s);
fs=fftshift(fft(fftshift(s.'))).';
●距离迁移矫正
距离迁移是SAR信号处理中必然出现的现象,它的大小随系统参数不同而变化,并不总需要补偿。
点目标仿真时,可以先不考虑。
●方位压缩
方位向的处理是SAR成像处理算法最核心的部分。
正侧式点目标(图2.2)情况下,回波经距离压缩后在方位向也是一Chirp信号,因此其压缩处理同距离压缩处理类似,只是压缩因子不同。
仿真中,调频斜率已知,因此不需要进行Doppler参数估计。
●SAR参数
SAR平台:
水平速度V=100m/s
高度H=5000m
天线等效孔径D=4m
SAR平台与测绘带的垂直斜距R0=11180m(计算结果)
发射信号:
载波频率=1GHz
Chirp信号持续时间=5us
Chirp信号调频带宽=30MHz
Chirp信号调频斜率=(计算结果)
脉冲重复频率PRF=57.6Hz(计算结果)
Doppler调频带宽=50Hz(计算结果)
Doppler调频斜率=-5.96(计算结果)
分辨率:
距离向分辨率DY=5m
方位向分辨率DX=2m
目标位置:
距离向Y=[Yc-Y0,Yc+Y0]=[9500,10500]m
方位向X=[Xmin,Xmax]=[0,50]m
目标个数Ntarget=3
目标位置矩阵:
格式[x坐标,y坐标,目标散射系数]
Ptarget=[Xmin,Yc,1
Xmin,Yc+10*DY,1
Xmin+20*DX,Yc+50*DY,1]
stripmapSAR.m程序(见附录)实现了仿真功能,图5.4到图5.7为仿真结果。
运行程序,在CommandWindow中列出了仿真的参数:
Parameters:
SamplingRateinfast-timedomain
3.0996
SamplingNumberinfast-timedomain
1024
SamplingRateinslow-timedomain
1.1525
SamplingNumberinslow-timedomain
512
RangeResolution
5
Cross-rangeResolution
2
SARintegrationlength
838.5255
Positionoftargets
0100001
0100501
40102501
当然,这些参数可以改变以得到不同的结果,但值得注意的是,采样点数不宜过大,否则数据量过大将导致程序运行时间过长,甚至计算机因内存耗尽而死机。
本例采用的是5121024个点。
图5.4:
SAR的点目标仿真结果
图5.5:
两点目标的回波仿真3D图
图5.6:
两点目标距离向压缩后的3D图
图5.7:
两点目标距离向和方位向压缩后的3D图
图5.8:
两点目标压缩后的3dB等高线图
附录:
SAR的点目标仿真Matlab程序
主程序:
stripmapSAR.m
%%========================================================
clear;clc;closeall;
%%========================================================
%%Parameter--constant
C=3e8;%propagationspeed
%%Parameter--radarcharacteristics
Fc=1e9;%carrierfrequency1GHz
lambda=C/Fc;%wavelength
%%Parameter--targetarea
Xmin=0;%targetareainazimuthiswithin[Xmin,Xmax]
Xmax=50;
Yc=10000;%centerofimagedarea
Y0=500;%targetareainrangeiswithin[Yc-Y0,Yc+Y0]
%imagedwidth2*Y0
%%Parameter--orbitalinformation
V=100;%SARvelosity100m/s
H=5000;%height5000m
R0=sqrt(Yc^2+H^2);
%%Parameter--antenna
D=4;%antennalengthinazimuthdirection
Lsar=lambda*R0/D;%SARintegrationlength
Tsar=Lsar/V;%SARintegrationtime
%%Parameter--slow-timedomain
Ka=-2*V^2/lambda/R0;%dopplerfrequencymodulationrate
Ba=abs(Ka*Tsar);%dopplerfrequencymodulationbandwidth
PRF=Ba;%pulserepititionfrequency
PRT=1/PRF;%pulserepititiontime
ds=PRT;%samplespacinginslow-timedomain
Nslow=ceil((Xmax-Xmin+Lsar)/V/ds);%samplenumberinslow-timedomain
Nslow=2^nextpow2(Nslow);%forfft
sn=linspace((Xmin-Lsar/2)/V,(Xmax+Lsar/2)/V,Nslow);%discretetimearrayinslow-timedomain
PRT=(Xmax-Xmin+Lsar)/V/Nslow;%refresh
PRF=1/PRT;
ds=PRT;
%%Parameter--fast-timedomain
Tr=5e-6;%pulseduration10us
Br=30e6;%chirpfrequencymodulationbandwidth30MHz
Kr=Br/Tr;%chirpslope
Fsr=3*Br;%samplingfrequencyinfast-timedomain
dt=1/Fsr;%samplespacinginfast-timedomain
Rmin=sqrt((Yc-Y0)^2+H^2);
Rmax=sqrt((Yc+Y0)^2+H^2+(Lsar/2)^2);
Nfast=ceil(2*(Rmax-Rmin)/C/dt+Tr/dt);%samplenumberinfast-timedomain
Nfast=2^nextpow2(Nfast);%forfft
tm=linspace(2*Rmin/C,2*Rmax/C+Tr,Nfast);%discretetimearrayinfast-timedomain
dt=(2*Rmax/C+Tr-2*Rmin/C)/Nfast;%refresh
Fsr=1/dt;
%%Parameter--resolution
DY=C/2/Br;%rangeresolution
DX=D/2;%cross-rangeresolution
%%Parameter--pointtargets
Ntarget=2;%numberoftargets
%format[x,y,reflectivity]
Ptarget=[Xmin,Yc,1%positionoftargets
Xmin,Yc+10*DY,1
Xmin+20*DX,Yc+50*DY,1];
disp('Parameters:
')
disp('SamplingRateinfast-timedomain');disp(Fsr/Br)
disp('SamplingNumberinfast-timedomain');disp(Nfast)
disp('SamplingRateinslow-timedomain');disp(PRF/Ba)
disp('SamplingNumberinslow-timedomain');disp(Nslow)
disp('RangeResolution');disp(DY)
disp('Cross-rangeResolution');disp(DX)
disp('SARintegrationlength');disp(Lsar)
disp('Positionoftargets');disp(Ptarget)
%%========================================================
%%Generatetherawsignaldata
K=Ntarget;%numberoftargets
N=Nslow;%numberofvectorinslow-timedomain
M=Nfast;%numberofvectorinfast-timedomain
T=Ptarget;%positionoftargets
Srnm=zeros(N,M);
fork=1:
1:
K
sigma=T(k,3);
Dslow=sn*V-T(k,1);
R=sqrt(Dslow.^2+T(k,2)^2+H^2);
tau=2*R/C;
Dfast=ones(N,1)*tm-tau'*ones(1,M);
phase=pi*Kr*Dfast.^2-(4*pi/lambda)*(R'*ones(1,M));
Srnm=Srnm+sigma*exp(j*phase).*(0
展开阅读全文
相关搜索
|