利用GPU实现SAR图像的并行处理

2011-09-30 01:37张晓东孔祥辉张欢阳
火控雷达技术 2011年4期
关键词:方位校正处理器

张晓东 孔祥辉 张欢阳

(西安电子工程研究所 西安 710100)

1 引言

合成孔径雷达因具有全天候、全天时、远距离成像等特点,可以大大提高雷达的捕获信息能力,因而成为雷达技术的热门研究领域,在战场感知和灾情监测等方面有着不可替代的作用[1]。随着SAR成像技术的发展,对回波数据实现实时处理的要求也越来越迫切。这就意味着信号处理器能够满足SAR信号处理过程中大运算量的快速运算等处理能力的要求,由于SAR成像算法本身的复杂度和雷达数据的高速率,实时处理面对很大的挑战性,使用单处理器或处理芯片几乎难以实现,为了在不影响成像精度的前提下获得更好的实时性,并行处理成为解决这一问题的关键技术。

2 GPU 技术简介[2]

受到游戏市场和军事实景仿真的要求,图形处理器(Graphics Processing Unit)性能提高速度很快,大大超过了摩尔定律,支持越来越复杂的运算,其编程性和功能都大大扩展了。GPU通用计算性能的提高为高效SAR成像算法提供了具有发展前景的新型运算平台。GPU在处理能力和存储带宽上相对CPU有明显的优势,在成本和功耗上也不需要付出太大代价,从而为SAR实时成像提供了新的解决方案。

当前的NIVIDA GPU中有1~60个包含完整前端的流多处理器(SM),每个流多处理器可以看作一个包含8个1D流处理器的SIMD处理器。显卡就是利用多个流多处理器间的粗粒度任务级或数据级并行,以及流多处理器内的细粒度数据并行。尽管GPU的运行频率比一般的CPU低,但是更多的执行单元数量还是使GPU能够在浮点处理能力上获得优势。DUDA(Compute Unified Device Architecture)是NIVIDA公司推出的一种不需借助图形学API就可以使用类C语言进行通用计算的开发环境和软件体系。采用C语言作为编程语言,进行了适度的扩展,提供大量的高性能计算指令开发能力,使开发者能够在GPU强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。CUDA对图形硬件和API进行封装,让开发人员把GPU看成一个具有多核多线程的处理器,并在类似于CPU的编程环境下对GPU进行编程,开发GPU通用程序,降低了软件开发时间和成本。

3 RD算法简介及其在GPU上的实现

本文采用最常用的RD算法。RD算法首先对距离进行脉冲压缩,然后进行距离徙动校正,运动补偿,然后进行方位向压缩,具体算法参考文献[1]。RD算法的本质是将SAR成像的二维处理分解为两个一维处理过程,分别为距离向处理和方位向处理。RD算法的并行化程度成为获取高加速比的关键。距离脉压和方位脉压通常使用频域匹配滤波的实现方式,主要涉及的算法是FFT、点乘和IFFT。GPU开发软件CUDA有自身的FFT库可以实现快速的并行FFT变换,对于点乘运算,由于距离向和方位向压缩和距离徙动校正和运动补偿都是点乘,所以可以将其中的部分运算合并以减少运算次数提高计算速度。

利用GPU实现的基于RD算法的SAR成像算法实现的流程如下:

第一、把原始数据从通过CPU传输到GPU,计算徙动补偿所要的参数。

第二、距离向的压缩和走动校正。具体描述为:首先将原始数据沿距离向做FFT,然后乘以通过内核函数生成的距离向匹配函数和走动校正函数完成距离向包络移动,再利用距离向IFFT完成距离向压缩。然后再进行一次相位校正。

第三、将做完走动校正的数据进行转置。

第四、利用惯性导航系统数据通过内核函数生成运动补偿函数,对数据进行运动补偿。

第五、通过内核函数生成方位向匹配函数并进行FFT,对数据进行FFT然后点乘,在进行IFFT,完成方位向的脉冲压缩

第六、将方位向脉压完的数据即图像传回主机。

图1 GPU SAR成像算法流程

4 实验与结果

为了测试本文所提出的SAR成像方法的有效性,本部分介绍实验及其结果。本试验采用的计算机为普通商用计算机CPU为E8400,显卡为NIVIDA公司的9500GT,板载显存为1G字节,运算能力为1.1,其SM数量只有4个,运算精度为单精度;软件使用的是Windows XP下的CUDA3.0。数据来源为某机载雷达的真实回波,PRF为1KHz,采用惯性导航单元进行运动补偿,图像分辨率为1m,一次成像所需的数据长度为8192×8192复数。由于显卡上的存储器容量有限,所以在处理的数据较大时不能完全将数据一次性放入显卡上的存储器,要将数据分成几部分处理,本文在进行距离压缩时分成4个部分,在进行方位压缩时分成8个部分进行。成像所需时间为4.21s,成像各个部分的运算时间分布如表1所示,这其中还包含了由于显卡现存不足,转置的过程中在内存和显存之间缓冲数据的时间0.35s,在PRF=1KHz时,采集一幅图像数据时间为8s,所以本系统可以达到实时成像的要求,成像结果如图2所示。

表1 SAR成像时间统计(单位:s)

图2 利用GPU实现的RD成像结果

由测试结果可知,本文提出的利用CUDA实现的基于GPU的RD成像算法具有极高的效率,相比传统的基于CPU的SAR成像算法,效率得了显著的提升,达到了实时处理的速度。并且成像效果并未受到多大的影响,完全可以满足下一步处理的需求。

5 结束语

本文提出了利用GPU实现RD成像算法。该成像算法利用GPU通用计算的编程模型,极大地发挥出了GPU并行计算的优势。通过实验表明:本文提出的基于GPU的SAR成像方案实现了实时RD成像的要求,具有较好的成像效果。为了使当前的研究结果更加完善,在将来可以利用CPU和GPU进行协同合作,并开发更加完善的并行算法,提高并行度,进一步提高运算速度。

[1]保铮,邢孟道,王彤.雷达成像技术[M].北京:电子工业出版社,2005.

[2]张舒,褚艳利.CPU高性能运算之CUDA[M].中国水利水电出版社,2009.

[3]NVIDIA.NVIDIA CUDA Programming Guide Version 3.0[Z].2010.

[4]肖江,胡柯良,邓元勇.基于CUDA的矩阵乘法和FFT性能测试[J].计算机工程,2009.

猜你喜欢
方位校正处理器
认方位
劉光第《南旋記》校正
建立在校正系统上的强大实力Sonance所能士i12
在Lightroom中校正镜头与透视畸变
机内校正
基于TMS320C6678的SAR方位向预滤波器的并行实现
Word Fun
ADI推出新一代SigmaDSP处理器
火线热讯
AItera推出Nios II系列软核处理器