论文部分内容阅读
SAR(合成孔径雷达)凭借其探测距离远、受气候和光线影响小等诸多优点,在国防军事上和人民生活中发挥着重要作用[1]。SAR成像需要处理的数据规模庞大,运算量大,难以实现高帧率的视频SAR。为了使SAR成像算法适应监测系统的实时性需求,快速成像并连续显示,成像算法的优化与搭建最优的硬件和软件环境是必不可少的两个方面。SAR成像算法发展至今已经相当成熟,寻求相应的硬件和软件环境就成为了提升成像算法运行效率的关键因素。本文以基于并行架构的视频SAR成像算法研究和软件实现为课题,重点讨论了算法在GPU并行计算平台——CUDA上的实施和相关优化过程,最终将成像效率提升了约24倍。其主要内容分为如下四个部分。1.该部分主要研究了成像算法的对比选择。从SAR成像的一般原理出发,对三种高分辨率SAR成像算法(RD算法,CS算法和ωK算法)进行比较,对比了各自的特点、处理步骤和不足,然后选择ωK算法作为适用的视频SAR成像方案。2.该部分主要研究了ωK算法的仿真和并行计算的硬件映射。在MATLAB平台上仿真实现视频SAR的ωK算法并测试通过,为了利用GPU并行计算平台CUDA的多核并行计算优势,需要对所选的成像算法进行硬件映射。根据成像算法涉及到的具体运算,抽象出矩阵接口和复数接口,在CUDA平台上实现,实现过程中兼顾了程序的扩展性和复用性。然后利用这两个接口将成像算法映射到CUDA平台。3.该部分主要研究了成像算法运行效率的优化。为了达到GPU执行效率的最大化,分析了GPU的硬件资源分配和执行模式,并根据与CPU执行模式的差异,分析了制约其运行效率的两个方面。在此基础上,从线程束分支、资源分配和时延隐藏三个方面讨论了优化的策略,并给出了核函数的最优化配置准则。然后对算法中出现最频繁的矩阵乘法进行了精度提升,并深度优化了其访问显存的速度和次数。通过改变矩阵乘法的运算结构,将矩阵分块,进一步减少了显存访问次数,提高了运行速度。最后借助Visual Studio的性能分析工具减少了成像算法中高密度运算部分的耗时,并通过对显存访问的分析,优化了算法的整体实现。4.该部分主要研究了成像软件的模块化设计。成像软件按照功能可分为雷达交互、成像算法处理和图像和波形显示三个部分,雷达交互部分通过串口通信设置波形参数和雷达硬件参数,控制雷达发射和接收波形信号,控制上位机(运行视频SAR成像算法的主机)通过UDP通信接收经雷达处理后的回波信号。成像算法处理模块根据输入的成像参数和设置的成像模式在上位机上调用并运行成像算法。图像和波形显示模块显示成像算法输出的图像和波形,并能设置显示模式和控制显示过程。最后通过成像质量分析,证明了基于CUDA平台的视频SAR成像算法能在不牺牲成像质量的前提下显著地提高成像速度,实现实时成像。