sar合成孔径雷达图像点目标仿真报告附matlab代码
![sar合成孔径雷达图像点目标仿真报告附matlab代码](https://img.360docs.net/img02/1atog8m2o5uw1z4lshhe11x9cgp7is8-21.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S A R 图像点目
标仿真报告
徐一凡 1 SAR 原理简介
合成孔径雷达(Synthetic Aperture Radar ,简称SAR)是一种高分辨率成像雷达技术。它利用脉冲压缩技术获得高的距离向分辨率,利用合成孔径原理获得高的方位向分辨率,从而获得大面积高分辨率雷达图像。
SAR 回波信号经距离向脉冲压缩后,雷达的距离分辨率由雷达发射信号带宽决定:2r r
C B ρ=,式中r ρ表示雷达的距离分辨率,r B 表示雷达发射信号带宽,C 表示光速。同为
(PT x
=
,0z =;), (;)PT R s r = = (2) (;)R s r 就表示任意时刻s 时,目标与雷达的斜距。一般情况下,0v s s r -<<,于是通过傅里叶技术展开,可将(2)式可近似写为:
2
20(;)()2v R s r r s s r =≈+- (3) 可见,斜距是s r 和的函数,不同的目标,r 也不一样,但当目标距SAR 较远时,在观测带
内,可近似认为r 不变,即0r R =。
图2:空间几何关系 (a)正视图 (b)侧视图
图2(a)中,Lsar 表示合成孔径长度,它和合成孔径时间Tsar 的关系是Lsar vTsar =。(b)中,θ?为雷达天线半功率点波束角,θ为波束轴线与Z 轴的夹角,即波束视角,min R 为近距点距离,max R 为远距点距离,W 为测绘带宽度,它们的关系为:
2min (R H tg θθ?=?-) 式中,rect()表示矩形信号,r K 为距离向的chirp 信号调频率,c f 为载频。
雷达回波信号由发射信号波形,天线方向图,斜距,目标RCS ,环境等因素共同决定,若不考虑环境因素,则单点目标雷达回波信号可写成式(6)所示:
()()r n n s t wp t n PRT στ∞=-∞=
-?-∑ (6) 其中,σ表示点目标的雷达散射截面,w 表示点目标天线方向图双向幅度加权,n τ表
示载机发射第n 个脉冲时,电磁波再次回到载机时的延时2*(;)n R s r C
τ=,带入式(6)中得: 22(;)/()(
exp[(2(;)/)]4 exp[-(;)]exp[2()]r n r r c n t n PRT R s r C s t w rect T j K t n PRT R s r C j
R s r j f t n PRT σπππτλ∞=-∞-?-=
???-?-?
?-?-∑ (7) 式(7)就是单点目标回波信号模型,其中,2exp[(2(;)/)]r j K t n PRT R s r C π-?-是
)
) 为了进行方位向的压缩,方位向的回波数据必须在同一条直线上,也就是说必须校正距离徙动(,)R s r ?。由式(10)可知,不同的最近距离r 对应着不同的(,)R s r ?,因此在时域处理距离徙动会非常麻烦。因此,对方位向进行傅里叶变换,对距离向不进行变换,得到新的域。由于方位向的频率即为多普勒频率,所以这个新的域也称为距离多普勒域。
将斜距R 写成多普勒fa 的函数,即(,)a R f r 。众所周知,对最近距离为r 的点目标P ,回波多普勒a f 是倾斜角θ的函数,即2sin a V
f θλ=,斜距(,)/cos a R f r r θ=,于是
22(,)/cos / /1 ()8a a R f r r r r r rf V
θλ===≈+ (11)
所以距离多普勒域中的我距离徙动为(,)a R f r ?=221()8a rf V
λ,可发现它不随慢时间变换,
同一最短距离r 对应着相同大小的距离徙动。因此在距离多普勒域对一个距离徙动校正就是对一组具有相同最短距离的点目标的距离徙动校正,这样可以节省运算量。
为了对距离徙动进行校正,需要得到距离徙动单元,即距离徙动体现在存储单元中的移
5 点目标成像matlab 仿真
5.1距离多普勒算法
距离多普勒算法(RDA )是在1976年至1978年为民用星载SAR 提出的,它兼顾了成熟、简单、高效和精确等因素,至今仍是使用最广泛的成像算法。它通过距离和方位上的频域操作,到达了高效的模块化处理要求,同时又具有了一维操作的简便性。
图7示意了RDA 的处理流程。这里主要讨论小倾斜角及短孔径下的基本RDA 处理框图。
1.当数据处在方位时域时,可通过快速卷积进行距离压缩。也就是说,距离FFT 后随即进行距离向匹配滤波,再利用距离IFFT 完成距离压缩。回波信号为:
0020(,)[2()/]()
exp{-4()/}exp{(-2()/)}
r a c r s t s A w t R s c w s s j f R s c j K t R s c ππ=--?(14)
距离向压缩后的信号为: 000(,){(,)()}
[2()/]()exp{4()/}rc t t t r a c s t s IFFT S f s H f A t R s c w s s j f R s c ρπ==--- (15)
2
0(){}exp{}exp{2}||t f f H f rect j j ft K T K
ππ=-- (16) 2.通过方位FFT 将数据变换至距离多普勒域,多普勒中心频率估计以及大部分后续操作
) )
3200004 (2/)()exp{}s s az s r a s sc f R A p t R c W f f j c
π=--- (20) 5.最后通过方位IFFT 将数据变换回时域,得到压缩后的复图像。复原后的图像为:
30000(,){(,)}
(-2/)()
4 exp{-}exp{2}c ac s s r a s s t s IFFT S t f A p t R c p s f R j j f s c ππ==? (21)
图8 距离多普勒算法流程图
5.2 Chirp Scaling算法
距离多普勒算法具有诸多优点,但是距离多普勒算法有两点不足:首先,当用较长的核函数提高距离徙动校正(RCMC)精度时,运算量较大;其次,二次距离压缩(SRC)对方位频率的依赖性问题较难解决,从而限制了其对某些大斜视角和长孔径SAR的处理精度。
Chirp Scaling算法避免了RCMC中的插值操作,通过对Chirp信号进行频率调制,实现了对该信号的尺度变换或平移。
图8显示了Chirp Scaling算法处理流程。这里主要讨论小倾斜角及短孔径下的基本CSA 处理框图。主要步骤包括四次FFT和三次相位相乘。
1.通过方位向FFT将数据变换到距离多普勒域。
2.通过相位相乘实现Chirp Scaling操作,使所有目标的距离徙动轨迹一致化。这是第一步相位相乘。用以改变线调频率尺度的Chirp Scaling二次相位函数为:
中
6.1 使用最近邻点插值的距离多普勒算法仿真结果
本文首先对5个点目标的回波信号进行了仿真,5个点目标构成了矩形的4个顶点和中心,其坐标分别如下,格式为(方位向,距离向,后向反射系数):
0 9750 1
100 9750 1
50 10000 1
0 10250 1
100 10250 1
图9的上图是距离向压缩后的图像,从图中可以看到5条回波信号(其中有几条部分重合,但仍能看出来)目标回波信号存在明显的距离徙动,需要进行校正。图9的下图是通过
最近邻点插值法校正后的图像,可以看出图像基本被校正为直线。
图9距离向压缩后最近邻点插值的结果
图10为进行方位向压缩后形成的图像,可以明显看出5个点目标,并且5个点目标构成了矩形的四个顶点及其中心。
图10 通过最近邻点插值生成的点目标图像
6.2 使用最近邻点插值的距离多普勒算法仿真结果
图11上图为通过距离压缩后的图像,图11的下图为通过sinc插值法校正后的图像。
图11 距离向压缩后sinc插值的结果
图12为进行方位向压缩后形成的图像,可以明显看出5个点目标,并且5个点目标构成了矩形的四个顶点及其中心。
图12 通过sinc插值生成的点目标图像
本文讨论了距离多普勒算法和Chirp Scaling算法,其中距离多普勒算法考虑了最近邻点插值和sinc插值两种插值方法。
距离多普勒算法兼顾了成熟、简单、高效和精确等因素,至今仍被广泛使用,但是距离多普勒算法有两点不足:首先,当用较长的核函数提高距离徙动校正(RCMC)精度时,运算量较大;其次,二次距离压缩(SRC)对方位频率的依赖性问题较难解决,从而限制了其对某些大斜视角和长孔径SAR的处理精度。
最近邻点插值的优点是速度快,该插值的运行时间为2.267137秒,缺点是不够精确;sinc插值的优点是精确,该方法的运行时间为29.148728秒,缺点是速度慢;Chirp Scaling 算法避免了插值运算,提高了速度,运行时间为0.323327秒,但是其算法较为复杂。
%%================================================================
%%文件名:NearSAR.m
%%作者:徐一凡
%%功能:合成孔径雷达距离多普勒算法点目标成像
%%================================================================
clear;clc;close all;
%%================================================================
%%常数定义
C=3e8; %光速
%%雷达参数
Fc=1e9; %载频1GHz
lambda=C/Fc; %波长
的图理解
Nslow=2^nextpow2(Nslow); %nextpow2为最靠近2的幂次函数,这里为fft变换做准备
sn=linspace((Xmin-Lsar/2)/V,(Xmax+Lsar/2)/V,Nslow);%慢时间域的时间矩阵
PRT=(Xmax-Xmin+Lsar)/V/Nslow; %由于Nslow改变了,所以相应的一些参数也需要更新,周期减小了
PRF=1/PRT;
ds=PRT;
%%快时间域参数设置
Tr=5e-6; %脉冲持续时间5us
Br=30e6; %chirp频率调制带宽为30MHz
Kr=Br/Tr; %chirp调频率
Fsr=2*Br; %快时域采样频率,为3倍的带宽
dt=1/Fsr; %快时域采样间隔
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);%快时域的采样数量
Nfast=2^nextpow2(Nfast); %更新为2的幂次,方便进行fft变换tm=linspace(2*Rmin/C,2*Rmax/C+Tr,Nfast); %快时域的离散时间矩阵
dt=(2*Rmax/C+Tr-2*Rmin/C)/Nfast; %更新间隔
Fsr=1/dt;
K=Ntarget; %目标数目
N=Nslow; %慢时域的采样数
M=Nfast; %快时域的采样数
T=Ptarget; %目标矩阵
Srnm=zeros(N,M); %生成零矩阵存储回波信号
for k=1:1:K %总共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); %(t-tau),其实就是时间矩阵,
ones(N,1)和ones(1,M)都是为了将其扩展为矩阵
phase=pi*Kr*Dfast.^2-(4*pi/lambda)*(R'*ones(1,M));%相位,公式参见P.96
Srnm=Srnm+sigma*exp(j*phase).*(0 end %%================================================================ %%距离-多普勒算法开始 %%距离向压缩 tic; : Sa_RD(n,m)=Sa_RD(n,M/2); else if delta_RMC>=0.5 %五入 Sa_RD(n,m)=Sa_RD(n,m+round(RMC)+1); else %四舍 Sa_RD(n,m)=Sa_RD(n,m+round(RMC)); end end end waitbar(n/N) end close(h) %======================== Sr_rmc=iftx(Sa_RD); %%距离徙动校正后还原到时域 Ga = abs(Sr_rmc); %%方位向压缩 ta=sn-Xmin/V; Refa=exp(j*pi*Ka*ta.^2).*(abs(ta) Sa=iftx(ftx(Sr_rmc).*(conj(ftx(Refa)).'*ones(1,M))); Gar=abs(Sa); toc; %%作者:徐一凡 %%功能:合成孔径雷达距离多普勒算法点目标成像 %%================================================================ clear;clc;close all; %%================================================================ %%常数定义 C=3e8; %光速 %%雷达参数 Fc=1e9; %载频1GHz lambda=C/Fc; %波长 %%目标区域参数 Xmin=0; %目标区域方位向范围[Xmin,Xmax] Xmax=50; Yc=10000; %成像区域中线 Y0=500; %目标区域距离向范围[Yc-Y0,Yc+Y0] %成像宽度为2*Y0 %%轨道参数 V=100; %SAR的运动速度100 m/s H=5000; %高度 5000 m R0=sqrt(Yc^2+H^2); %最短距离 %%天线参数 Kr=Br/Tr; %chirp调频率 Fsr=2*Br; %快时域采样频率,为3倍的带宽 dt=1/Fsr; %快时域采样间隔 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);%快时域的采样数量 Nfast=2^nextpow2(Nfast); %更新为2的幂次,方便进行fft变换tm=linspace(2*Rmin/C,2*Rmax/C+Tr,Nfast); %快时域的离散时间矩阵 dt=(2*Rmax/C+Tr-2*Rmin/C)/Nfast; %更新间隔 Fsr=1/dt; %%分辨率参数设置 DY=C/2/Br; %距离向分辨率 DX=D/2; %方位向分辨率 %%点目标参数设置 Ntarget=5; %点目标的数量 %点目标格式[x,y,反射系数sigma] Ptarget=[Xmin,Yc-50*DY,1 %点目标位置,这里设置了5个点目标,构成一个矩形以及矩形的中心 Xmin+50*DX,Yc-50*DY,1 Xmin+25*DX,Yc,1 Xmin,Yc+50*DY,1 ones(N,1)和ones(1,M)都是为了将其扩展为矩阵 phase=pi*Kr*Dfast.^2-(4*pi/lambda)*(R'*ones(1,M));%相位,公式参见P.96 Srnm=Srnm+sigma*exp(j*phase).*(0 end %%================================================================ %%距离-多普勒算法开始 %%距离向压缩 tic; tr=tm-2*Rmin/C; Refr=exp(j*pi*Kr*tr.^2).*(0 Sr=ifty(fty(Srnm).*(ones(N,1)*conj(fty(Refr)))); Gr=abs(Sr); %%开始进行距离弯曲补偿正侧视没有距离走动项主要是因为斜距的变化引起回波包络的徙动 %%补偿方法:最近邻域插值法,具体为:先变换到距离多普勒域,分别对单个像素点计算出距离徙动量,得到距离徙动量与距离分辨率的比值, %%该比值可能为小数,按照四舍五入的方法近似为整数,而后在该像素点上减去徙动量%%方位向做fft处理再在频域做距离弯曲补偿 Sa_RD = ftx(Sr); % 方位向FFT 变为距离多普域进行距离弯曲校正 end close(h) %======================== Sr_rmc=iftx(RMCmaxtix); %%距离徙动校正后还原到时域 Ga = abs(Sr_rmc); %%方位向压缩 ta=sn-Xmin/V; Refa=exp(j*pi*Ka*ta.^2).*(abs(ta) Sa=iftx(ftx(Sr_rmc).*(conj(ftx(Refa)).'*ones(1,M))); Gar=abs(Sa); toc; %%================================================================ %%绘图 colormap(gray); figure(1) subplot(211); row=tm*C/2-2008;col=sn*V-26; imagesc(row,col,255-Gr); %距离向压缩,未校正距离徙动的图像axis([Yc-Y0,Yc+Y0,Xmin-Lsar/2,Xmax+Lsar/2]); xlabel('距离向'),ylabel('方位向'), title('距离向压缩,未校正距离徙动的图像'), kx=linspace(-1/dx/2,1/dx/2,Nfast);%kx域序列 %%方位向参数cross-range:y domain Ta=300;%时宽300m,合成孔径长度 Ba=1;%带宽1(1/m) Ka=Fc/Xc;%调频斜率 Ka=Ba/Ta=Fc/Xc Nslow=1024;%为了快速运算 Y0=200; y=linspace(-Y0,Y0,Nslow);%y域序列:-Y0~Y0 dy=2*Y0/Nslow; ky=linspace(-1/dy/2,1/dy/2,Nslow);%ky域序列 %%目标几何关系target geometry %x坐标,y坐标,复后向散射系数 Ptar=[Xc,0,1+0j Xc+50,-50,1+0j Xc+50,50,1+0j Xc-50,-50,1+0j Xc-50,50,1+0j]; disp('Position of targets');disp(Ptar) %%生成SAR正交解调后的回波数据 Srnm=zeros(Nfast,Nslow); N=size(Ptar,1);%目标个数 s1=ifty(scs_xky);%为显示存储数据 scs_kxky=fftshift(fft(fftshift(scs_xky)));%距离向FFT(步骤3) srmc_kxky=scs_kxky.*exp(j*pi*(kx.^2'*ones(1,Nslow))./(1+Cs)./Ks... +j*2*pi*Xc*Cs.*(kx'*ones(1,Nslow)));%距离迁移校正&距离向匹配滤波(步骤4) srmc_xky=fftshift(ifft(fftshift(srmc_kxky)));%距离向IFFT(步骤5) f_xky=srmc_xky.*exp(-j*pi*Ks.*Cs.*(1+Cs).*((x-Xc).^2'*ones(1,Nslow))... -j*2*pi*phi0);%消除误差函数,方位向匹配滤波(步骤6) f_xy=fftshift(ifft(fftshift(f_xky).')).';%方位向IFFT(步骤7) %%CSA:7步结束 toc; %%为了显示CSA算法的一致RCMC,将s1进行距离向压缩显示 p0_x=exp(j*pi*Kr*(x-Xc).^2).*(abs(x-Xc) p0_kx=fftshift(fft(fftshift(p0_x))); p0_y=exp(-j*pi*Ka*y.^2).*(abs(y) p0_ky=fftshift(fft(fftshift(p0_y))); s_kxy=fftshift(fft(fftshift(s1)));%距离向FFT sxc_kxy=s_kxy.*(conj(p0_kx).'*ones(1,Nslow)); sxc_kxky=fftshift(fft(fftshift(sxc_kxy).')).';%距离压缩后的2D频域信号sxc_xy=fftshift(ifft(fftshift(sxc_kxy)));%距离压缩后的信号 sxc_xky=fftshift(fft(fftshift(sxc_xy).')).';%距离压缩后,距离-多普勒域 imagesc(255-abs(f_xy)); xlabel('方位向'),ylabel('距离向'), title('生成的点目标');