图1 斑马图及不同波位PRF选择
1.参考文献
斑马图是在合成孔径雷达设计中,非常重要的一个工具,利用斑马图可以很方便的去选取PRF,减少方位模糊和距离模糊。关于PRF和斑马图的技术细节这里不再赘述,感兴趣的朋友可以去找下这篇文献看下:
[1]朱力,于立.星载合成孔径雷达(SAR)斑马图仿真与研究[J].计算机仿真, 2003, 20(5):4.DOI:10.3969/j.issn.1006-9348.2003.05.040.
[2]易锋,刘春静.基于斑马图的天基雷达PRF设计[J].雷达科学与技术, 2015, 13(6):4.DOI:10.3969/j.issn.1672-2337.2015.06.019.
2.斑马图怎么看
因为SAR是个比较冷门的领域,虽然有几篇文章提到了斑马图,但是怎么看斑马图,怎么用斑马图,怎么画斑马图都语焉不详,比较容易搜到的资源和文章也有不少错误。前段时间花了两天研究这个事情,这里写个文章记录下画斑马图的过程,如果对您有帮助,还请点个赞。
先解释一下斑马图怎么看,斑马图的横轴是PRF,即脉冲重复频率,纵轴是地距,也可以是入射角/地心角/下视角/时间(这些参数都可以互相转换,这个很重要)。
图2 SAR成像几何示意图
斑马图上有黑色和蓝色的条纹,蓝色代表发射的脉冲宽度,黑色代表星下点回波的脉冲宽度。SAR的发射和接受不能同时进行,而星下点回波会对图像质量造成严重影响,所以,黑色和蓝色之间的白色区域,就是可选的PRF区间。图1的纵轴是地距(ground range),那么红色的线条可以理解为成像的幅宽,即在这个PRF上,可以选取的幅宽。这十几个长块就是根据不同的波位,幅宽,在斑马图中选出的PRF,可以看到地距覆盖了70~500km的所有区域,由于地距和波位是可以相互转换的,那这个斑马图实际的意义是,在这个幅宽下,所有的波位都可以选到PRF。所以,幅宽和波位的设计是合理的。
3.斑马图怎么画
上文提到了时间(一个PRI之内),下视角(Off-Nadir Angle),入射角(Incidence Angle)都可以互相转换。这里直接给出matlab代码。
%输入:
%t,一个PRI之内的时间
%h,轨道高度
%输出:
%rs:地距
function rs=time2rs(t,h)
c=3e8;
re=6378137;
r=t*c/2;
alpha=acos((r^2+(re+h)^2-re^2)/(2*r*(re+h)));
theta=asin((re+h)*sin(alpha)/re);
rs=(theta-alpha)*re;
end
图3 SAR成像几何示意图
如图3所示,Rn和Rf是最小斜距和最大斜距,斜距和时间的转换很好理解,就是波传播一个来回的时间,tn=2*c/Rn,时间和地距的转换其实就是先把时间转换成斜距(Slant Range),再根据斜距通过通过正弦和余弦定理计算出地心角,根据圆弧周长公式将
转换成地距BC。
地心角和入射角
以及下视角
的关系如下:
所以画斑马图实际上就是根据脉冲宽度,求一个PRI内发射的上下沿时间T1,T2,以及星下点回波的上下沿时间Tnad1,Tnad2,再把时间转成地距即可,具体公式文章里都有,下面简单列一下:
具体算法如下:
首先确定最小PRF和最大PRF,,其中ka是保护系数,ka大于1,v是飞行速度,la是天线方位向长度,最大PRF根据实际设计确定。
然后确定PRF采样间隔,如:
prf=prf_min:5:prf_max;
计算imax,imin,jmax,jmin,这个过程和文章是完全一致的。
beta_min=asin((re+h)*sin(alpha_min)/re)-alpha_min;
beta_max=asin((re+h)*sin(alpha_max)/re)-alpha_max;
rg_min=sin(beta_min)*re/sin(alpha_min);
rg_max=sin(beta_max)*re/sin(alpha_max);
t_n=2*rg_min/c;
t_f=2*rg_max/c;
t_nad=2*h/c-tg_min;
j_min=floor(t_n*prf_min);
j_max=floor(t_f*prf_max);
i_min=j_min-floor((t_nad+tr_min+2*tg_min)*prf_min);
i_max=j_max-floor(t_nad*prf_max);
计算发射信号干扰带:
for j=j_min:j_max
for k=1:length(prf)
pri=1/prf(k);%PRF转PRI
tr=pri*tao;%PRI*发射占空比tao
tg=tr*tao_l;%发射时间*发射保护占空比tao_l
%计算发射信号干扰带
t_min(k)=j/prf(k)-tr-tg;
t_max(k)=j/prf(k)+(tr+tg);
r2_min(k)=time2rs(t_min(k),h);
r2_max(k)=time2rs(t_max(k),h);
end
fill([prf,flip(prf)],[r2_min,flip(r2_max)]/1e3,'b')
hold on
end
计算星下点回波干扰带:
for i=i_min:i_max
for k=1:length(prf)
pri=1 / prf(k);%PRF转PRI
tr=pri*tao;%PRI*发射占空比tao
tg=tr*tao_l;%发射时间*发射保护占空比tao_l
%计算星下点回波干扰带
t_min(k)=2*h/c+i/prf(k)-tr-tg;
t_max(k)=2*h/c+i/prf(k)+(tr+tg);
r1_min(k)=time2rs(t_min(k),h);
r1_max(k)=time2rs(t_max(k),h);
end
fill([prf,flip(prf)],[r1_min,flip(r1_max)]/1e3,'k')
hold on
end
由于参数不同,完整代码我就不贴了,拒绝伸手党,大家感兴趣可以自己动手完成一下。如果感觉这篇文章对您有帮助,还请动动小手点一个赞,谢谢!