C语言sar图像几何校正,软件cache技术用于SAR图像几何校正的方法与流程

f3f3e3642e328cf1dc798a98f3ceab3f.gif

本发明涉及一种软件缓存(cache)技术用于SAR图像几何校正的方法,属于SAR成像技术领域。

背景技术:

合成孔径雷达(Synthetic Aperture Radar,SAR)是一种高分辨成像雷达,它克服了光学成像受天气、昼夜影响的缺点,具有全天时、全天候的工作能力。但是,经过两维脉压后生成的SAR图像与真实地理图形相比存在一定的几何形变。几何校正即是消除SAR图像几何形变的过程,最终得到与真实地理环境相一致的SAR图像。

几何校正是计算密集型处理,具有计算量大,存储器访问频率高的特点。现有若干文献从并行处理的角度尝试解决几何校正的效率问题,但并没有考虑到数据读写外存的效率问题。在雷达信号处理系统中,SAR图像一般存储于外部存储器中。与处理器访问内部存储器的速率相比,处理器对外存的访问速率要低很多。而且,大部分处理器在设计访问外部存储器的硬件cache时,更多地考虑其通用性,没有针对SAR几何校正的运算特点进行优化。这进一步制约了处理器计算SAR几何校正时访问外存的效率。

因此,在SAR图像的几何校正过程中,处理器需要频繁地访问外存,读写外存的效率成为了SAR图像几何校正效率的瓶颈。

技术实现要素:

为解决几何校正过程中,频繁地、小数据量地访问外部存储器时效率低下的问题,本发明提出一种软件cache技术用于SAR图像几何校正的方法。

本发明方法是通过下述技术方案实现的:

一种软件cache技术用于SAR图像几何校正的方法,具体步骤为:

步骤一、在处理器内存中,把一段空闲的区域作为软件cache区,再把软件cache区划分为若干cache行;将外存中存储未校正图像的部分划分成多个块block,且每个block的容量与一个cache行的容量相等;将未校正SAR图像存储于多个block中,每个block内存储的数据的地址连续;

步骤二、根据几何校正规律,确定校正前SAR图像与预先给定的空白的校正后图像各像素点之间的对应关系,并将所述空白的校正后图像存储于外存中;

步骤三、沿着天线方位角方向斜线遍历空白的校正后图像上的像素点,根据步骤二中确定的对应关系,判断cache中是否存有当前遍历的像素点所对应的未校正SAR图像的像素点的像素值,若存在,则从cache中提取该像素值填入空白的校正后图像中,否则从外存中读入所述对应的未校正SAR图像的像素点所在的一个block的数据放入cache,再从cache中提取像素值填入空白的校正后图像中;

步骤四、判断是否空白的校正后图像中的所有像素点都被遍历过,若是,则得到几何校正后的图像,否则返回步骤三。

进一步地,当软件cache区存储已满时,若有新的数据要进入cache,则按照先入先出的方法,舍弃软件cache区中的一行数据。

有益效果

本发明把软件cache技术应用到SAR图像的几何校正过程中,突破了处理器访问外部存储器的效率低下造成的瓶颈,提高了数据交互效率。

附图说明

图1为几何校正处理流程图;

图2为使用软件cache机制读像素点数据流程图;

图3为斜线遍历矩阵示意图,图中的θ角与雷达天线的方位角相同;

图4为实施例中执行不同cache行策略的对应的cache行策略性能评估参数为e;

图5对比了使用软件cache前后几何校正运算中提取未校正图像像素点的耗时。

具体实施方式

下面结合附图和实施例对本发明做进一步说明。

软件cache技术的原理:软件cache是把一段空闲的内存空间虚拟成处理器访问外存的cache,通过软件调度实现cache的功能。在软件cache中建立一个处理器近期可能要访问到的外存中像素点数据的镜像,让处理器能直接从内存中获得与外存中相同的数据,减少了处理器访问外存的次数,从而提高了处理器访问外存效率。

如图1所示,本发明软件cache技术用于SAR图像几何校正的方法,其具体步骤为:

步骤一、首先,在处理器内存中,把一段空闲的区域作为软件cache区,要求处理器软件能确保此段内存不被其它数据占用。

本发明中将校正前的图像按行依次存放于外存中,且校正前图像在外存中以最直观的行连续的方式排列像素点。

然后,把软件cache区划分为若干cache行(cache line)。cache行是cache系统对外存访问基本单位,每个cache行中存储外存中一段连续地址的数据。将未校正图像占用的外存地址划分成多个块block,且每个block的容量与一个cache行的容量相等;将未校正SAR图像存储于多个block中,每个block内存储的数据的地址连续;制定cache行策略,即确定cache区划分的cache行数量和cache行深度,cache行数量×cache行深度=cache区容量。

依照以下原则制定cache行策略:

假设SAR图像校正后图像的像素点总数为N,cache命中概率为p,从cache中提取一个像素点的时间为Tc,从外存中创建一个block数据的副本到cache中并提取一个像素的时间为TB,那么使用软件cache提取像素点总耗时为:

Tcache=NpTc+N(1-p)TB (1)

而TB又可被分为两部分,即从外存中创建一个block数据的副本到cache的时间TBL和从副本中提取一个像素点的时间TC,所以有TB=TBL+TC。则公式(1)可改写为:

Tcache=NTc+N(1-p)TBL (2)

在一套信号处理系统中,Tc通常是定值。cache行策略可以影响到cache命中概率p和创建一个block数据的副本到cache的时间TBL。优化cache行策略的目标是让(1-p)TBL尽可能地小,从而降低几何校正提取像素点的耗时Tcache。

设cache行策略性能评估参数为e。

e=(1-p)TBL (3)

测量各种cache行策略下cache命中概率p和创建一个block数据的副本到cache的时间TBL,找出cache行策略性能评估参数e最小的cache行策略,即得到最优化的cache行策略。步骤二和步骤三给出了,针对SAR图像如何提高命中概率p的方法;

步骤二、根据以上给出的cache行策略的原则,针对于SAR图像,预先给定一幅空白的校正后图像,根据几何校正规律(即公式(4)和(5)),确定所述SAR图像与空白的校正后图像各像素点之间的对应关系;即根据空白的校正后图像的坐标(x,y)换算出该像素点在未校正图像中的坐标(R,fd)。遍历空白的校正后图像中的每一个像素点,得到SAR图像与空白的校正后图像各像素点之间的对应关系。

其中h表示在获取SAR图像时雷达与地面之间的距离,v在获取SAR图像时雷达的飞行速度,λ在获取SAR图像时雷达发射信号的波长,Δy当前处理的像素点与SAR图像上参考点在y方向上的距离;

对应关系已经获取,接下来未校正图像中取出坐标(R,fd)上的像素值填入空白的校正后图像(x,y)中。

步骤三、尽可能沿着空白的校正后图像中天线方位角方向遍历其上的一行像素点。根据步骤二中确定的对应关系,如图2所示,判断cache中是否存有当前遍历行的像素点所对应的未校正图像的像素点的像素值,若存在,则从cache中提取未校正图像的像素值填入空白的校正后图像中,否则从外存中读入所需像素值所在的一个block的数据放入cache,再从cache中提取像素值填入空白的校正后图像中。

如何在几何校正过程中尽可能提高cache命中率,此时进入步骤三,按照步骤三的方式来实现。

由于本发明中未校正图像和空白的校正后图像在外存中都以行连续存储,未校正图像中不同行的像素点一定被分在不同的block中。在映射像素点的过程中,未校正图像中提取数个像素点像素值的行跳变次数越少,cache命中的概率p就越高。未校正图像中的每一行的像素的物理意义是:相同多普勒频率、不同距离值的像素点的集合。所以,在遍历空白的校正后图像时要遵循的原则是:尽可能地让相同多普勒频率的像素点集中处理。

由于校正后图像中的等多普勒线的方向与天线的方位角相关,沿着空白的校正后图像中天线方位角的方向遍历空白的校正后图像,就可以降低遍历过程中从未校正图像中提取数个像素点像素值的行跳变次数,即提高了cache命中概率。

因此本发明步骤三中沿着空白的校正后图像中方位角的方向遍历其上的像素点,如图3所示,即在空白的校正后图像上遍历的方向与其列向的夹角为θ,所述θ与雷达天线的方位角相同。

经测试,基于天线方位角的斜线遍历可以实现未校正图像中连续取点的坐标相对集中在较少的行中,减少在cache中创建复本的block数,从而提高cache命中率。

由于外存的存储空间远大于cache,当一部分数据要调入cache时,可能会出现cache空间已满的情况,这时必须腾出一个cache行以供新调入的cache行使用。这时,要淘汰哪个cache行是cache淘汰算法要研究的问题。

本发明按固定的规律遍历空白的校正后图像,这会让几何校正从未校正图像中取数的坐标也相对集中,不会出现反复。一旦一个cache行的数据在一段时间内没有被访问到,那么它就永远都不会被再次访问到。针对几何校正的这种取数规律,本发明当软件cache区存储已满时,则按照先入先出的方法,舍弃软件cache区中的一行数据。

实施例

本发明设计在PC环境下,实现软件cache,并评测其效率。表一中描述了测试环境的各参数。表格中的快速设备即软件cache所在的实际位置,慢速设备即外存,是校正前后图像的存放位置。

表一测试平台基本情况

测试的基本参数如下:

可被开辟为软件cache的内存空间大小:4096字。

未校正图像大小:712×2096

飞机高度:5000m

飞行速度:100m/s

未校正图像中的最小斜距:18428m

未校正图像中的最大斜距:21572m

脉冲重复频率:1000Hz

雷达波长:0.03m

天线方位角:90°或45°

经评估,可被开辟为软件cache的内存空间为4096words,设W表示cache行宽度(单位words),N表示cache行个数,则有:

N*W=4096 (6)

计算了指定实验参数下,执行不同cache行策略的对应的cache行策略性能评估参数为e(图4)

根据测试结果,可以得出e值最小的cache行策略,将其选为后续性能评测所用的cache行策略。

表二最优cache行策略

在PC环境下,我们把PC机的内存的一部分开辟为处理器访问硬盘的软件cache。校正前后的图像都以文件形式保存在硬盘中。

无cache几何校正即是从硬盘中的校正前图像中提取出像素数据,对应地布置到校正后图像在硬盘中的文件中去,中间不经过任何cache。无cache几何校正的性能作为对比实验数据。

图5显示了PC环境下的几何校正运算中提取未校正图像像素点的耗时。

实验结果表明,在PC环境下,天线正侧视和斜视的几何校正处理在使用了软件cache后,计算耗时都大幅减少。

以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值