基于GPU加速的雷达信号处理并行技术

2017-08-17 14:28靳璐
魅力中国 2017年18期
关键词:并行计算处理技术

靳璐

摘要:充分发挥GPU(图形处理器)并行运算能力突出的优势,可以弥补CPU(中央处理器)平台在处理雷达信号时难以满足运行要求的不足。任务级、数据级和线程级三级并行策略同时运行在中央处理器-图形处理器组成的异构系统中,规划了多GPU并行运算处理雷达信号处理的算法。

关键词:软件雷达信号;处理技术;并行计算

一、前言

目前,雷达正在向数字化和软件化的方向发展,软件雷达采用开放式、标准化、通用化的硬件平台,通过现场加载的模块化软件实现雷达的各种功能,使软件雷达拥有多功能、多模式的发展潜力,同时具有研制和改进周期短、费用低、维护方便等诸多优势。因而,近年来成为相关领域的研究热点。

一直以来,软件雷达实现的瓶颈问题之一是实时性问题。其中信号处理的实时性更为突出,因而相当一部分工作都是集中在信号处理的软件化工作上,研究的主流方案一般都采用软件和硬件耦合紧密的多DSP+FPGA板实现。近年来,基于通用计算机平台的计算机图形处理器(Graphic Process Unit,GPU)运算能力的提升逐渐可为软件雷达的实现提供硬件支持。目前,GPU的主要用途由图形渲染已经过渡到通用计算方面,其含义也已由图形处理器演变为通用处理器。GPU属于众核架构,拥有数以百计的计算单元,单精度浮点处理能力已超过1TFlops,同时其双精度浮点处理能力也得到了加强,最高可达到600GFlops。针对基于GPU架构的并行计算研究也成为热点。在GPU加速雷达信号处理领域,提出基于GPU对软件雷达体系的设计,主要工作集中在信号的下变频和I和Q两路的分解。提出利用GPU硬件加速来提高连续波雷达的频谱分析和谱峰搜索实时性,将频谱分析和谱峰搜索移植至GPU进行运算,有效地缩短了系统的整体响应时间。

二、雷达信号处理在CPU-GPU系统中的执行策略

软件化雷达的硬件平台由天线系统、变频组件、A/D采样组件、通用处理计算机和雷达终端设备组成,如图1所示。

图1软件雷达系统组成框图

雷达接收信号在变频组件内经下变频转换为中频信号,送到高速A/D采样器件,转换为数字信号送通用处理计算机进行信号处理,雷达信号的检测和处理由软件来实现。由于雷达信号处理过程呈流水线模式,数据采样率高,通用处理计算机利用CPU完成预处理并控制信号处理的任务调度和负载分配,按照雷达信号处理流程,将数据通过PCI-E总线分块传输至显存,利用GPU特有的SIMT(Single Instruction Multiple Thread)方式实现线程并行化计算。每个脉冲重复周期(PRF)所包含的采样数据处理的方式相同,利于发挥GPU多线程、细粒度并行处理的优势。处理过程通过创建流来异步执行,使得前一个脉冲重复周期数据的计算与下一个周期数据流的传输并行进行,最大程度地重叠通信与计算的时间,如图2所示。

图2雷达信号处理并行执行过程

访存优化是提高GPU多线程并行计算的重要途径。为提高数据传输带宽,在本文研究过程中,对采样点开辟页锁定内存,通过GPU的zero-copy功能将主机端指针映射到GPU地址空间,信号处理模块中的内核函数可直接进行主机和设备端的通信,减少分配显存和数据拷贝的时间;采用纹理存储器来保存低通滤波器系数,使用纹理内核函数来读取纹理存储器。纹理存储器的存储方式为只读,可以通过缓存加速访问以优化空间局部行为;共享存储器的访存速度几百倍快于全局存储器,应用于雷达信号处理中的矩阵转置,脉冲积累及恒虚警检测,把采样数据分批划分到共享内存,通过共享存储器合作計算可获得更好的加速性能。

三、变频数字信号并行处理

将软件无线电技术应用于雷达领域的软件雷达,其硬件平台的组成成分一般包括通用处理计算机、高速模/数采样器件、变频组件和天线系统以及雷达显控终端部分。在变频组件内通过下变频转换的作用可以将通过雷达接收到的信号转换为中频信号,将中频信号传送至高速模/数采样器件并将其转换为数字信号,然后再将转换后的数字信号送至通用计算机平台实现对雷达接受信号的处理过程。

基于多GPU的异构计算机平台处理信号的调度以及流程等全部由CPU负责,首先将单个子模块进行运算所需的内存空间以及显存空间开辟,在详细了解GPU初始化参数的前提下通过创建主机端线程来实现对设备端管理,按照“主机-设备端-主机”的流程将获取的数据自计算机主机内存传输至设备显存(通过PCI-E总线实现传输过程),然后即可进行对数据的密集型计算。

四、软件雷达信号并行处理的计算模型

(一)任务级并行

首先在软件雷达的主机端创建任务队列,用以中频数据的采样,并利用CPU主线程实现对任务的划分和控制工作,使用CPU并行线程(由Open Multi-Processing开辟)实现任务调度以及配置设备端ID的工作,并对任务队列进行按次序的访问。给基于多GPU异构系统上的GPU采取轮转的形式分配各个任务,将获取的第n个数据以迭代的形式传输至第n mod q个GPU,这样可以保证多块GPU的工作获得负载平衡,其中q为并行GPU的个数。

(二)数据级并行

进行正交相位检波和脉冲压缩计算时,每个脉冲重复周期t内采样点在周期之间无关联性,对获取的采样数据实施数据级并行处理可获得接近几乎线性的加速比。在数据级并行处理时为了得到较高的计算访存比,我们可以将整个脉冲压缩后的rn×k的二维数组规划成q个n×m数据部分,其中的二维数组域中每一行均含有m=k mod q个采样点,并行GPU的每块GPU对重构后的数据部分进行并行的计算,此时二维数据域对并行GPU的映射为一个线程网格。在数据级并行处理时,并行GPU的单个GPU只需对所属的重构数据域进行迭代计算。

(三)线程级并行算法

线程级并行算法是根据信号处理的数学模型和GPU并行计算的硬件特性,将数值计算映射到GPU细粒度并发线程的具体实现过程。

1.正交相位检波和脉冲压缩。在软件雷达处理信号时,进行正交相位检波可以把中频信号通过特殊方法转变为零中频的I、Q两路正交信号。其实现过程为:通过高速模/数变换器的中频信号能够直接进行采样和变换过程得到数字信号,将得到的数字信号与正交混频信号进行点乘、低通滤波处理即可得到零中频的I、Q两路正交信号。

在对正交混频信号与采样点进行点乘处理时,我们需要把正交混频信号以及整段脉冲重复周期内的采样数据全部输入到内核函数中才能进行点乘。由于内核函数与整段重复周期内的采样点线程网格是相互对应覆盖的,所以在将正交混频信号以及整段脉冲重复周期内的采样数据全部输入到内核函数时其中的每个线程块都可以进行n维度的采样数据计算,并且可以将每个采样数据作为一个处理单元将其映射到相关的线程中。

我们可以通过仿真计算得到数字低通滤波器的相关系数,并且可以根据纹理缓存将采样数据的读取速度不断提高(这是因为GPU的纹理存储器有高速片上缓存)。因此可以在纹理存储器存储以权库的形式表现的滤波器系数,当进行正交相位检波模块时即可进行读取过程。在软件雷达处理信号时所进行的正交相位检波、动目标检测以及频域脉冲压缩等计算时均需采用傅立叶变换(FFT)的方法进行变换处理。

2.MTI/MTD。在工程领域中我们较为常用的固定二次对消器一般都是由两个固定的一次对消器级联而成的。在一般结果的固定二次对消器设计中,输入采样数据信号尺寸的级联倍数即为开辟的显存空间大小,开辟的显存空间可以存储脉冲压缩后产生的连续采样回波数据信号。其中在显存空间中存储每个脉冲压缩后的回波数据的形式为“先进先出”的形式。对脉冲重复周期内数字信号进行迭代运算时需要通过线程索引号并发执行来完成,其中每个线程分别维护采样值经延迟线加权与相同距离分辨单元采样点隔周期相减。

动目标检测也是一项必要的工作,其实现动目标检测的原理为:在固定二次对消器(MTI)后串接一窄带滤波器组,通过窄带滤波器组实现对整个重复频率范围的覆盖,其工作的根本为相参积累不同通道,在对采样数据信号进行滤波处理时可采用FFT滤波器组完成。在进行MTD运算时,将相邻m个重复周期的数据作为一维数组存储起来,采用棋盘划分的方式实现矩阵转置,对其相同距离单元即矩阵每一行的数据进行FFT运算。

3.脉冲积累和恒虚警检测。如果要将算法效率有效提高,则需要对以共享存储器做为中间数据访存和线程通信载体进行合理地利用。在软件雷达对信号进行处理时,在脉冲积累运算时将以棋盘划分的方式把数据域划分给并行GPU,首先把矩阵设置成为一个n行m列的矩阵,并将整个线程网格划分成n个线程块,对应的单个线程块即可实现对m个数据的处理运算,即得到一列的数据。然后将通过线程块处理所得到的的每一列数据从显存复制到线程块中的共享存储器,以并行归约的方式将这些数据作求和处理,调用_syncthreads()函數对求和处理后的数据进行栅栏同步,最后即可将每个线程块内运算得到的相关结果存入全局存储器(n维)中。

在进行均值类恒虚警检测算时,则需要对每个距离单元两侧各点的采样数据进行求和处理,此外,将运算数据分段复制到线程块内的共享存储器可以将从全局存储器中读取数据的频率降低。在本文中采用共享存储器数据复用可以避免由于重叠的数据元素引起的线程之间的访问竞争。

五、仿真分析与功能验证

以上所述为完整的雷达信号处理流程算法,为了对本文提出的基于多GPU并行处理雷达信号合理性,现记录在不同的数据采样频率下处理雷达中频数字信号的执行时间,然后与CPU处理雷达信号的执行时间进行比较。软件雷达系统的计算平台采用NVIDIATeslaC2050的GPU以及IntelCorei7@2.67GHz的CPU。在对雷达信号进行处理时GPU和CPU均采用相同的运算模型和运算参数,而基于CPU的雷达信号处理算法中以Open Multi-Processing展开并行执行循环和迭代运算,并且其对采样数据进行傅立叶变换是采用英特尔数学核心函数库来实现的。

(一)仿真分析

在进行仿真算例分析时,采用线性调频形式的雷达信号,利用 8 点 FFT 多普勒滤波器组和双延迟线对消器实现动目标检测以及显示是。 设雷达中频信号具有 6×107Hz 的中心频率以及 1×107Hz 的中频带宽 ,为了显示处理整体信号的执行时间受采样点数量影响的程度, 我们设雷达具有 0.6-2.0ms 的脉冲重复周期,所对应的采样点数量的变化为 4×104-1.6×105 。 在具有相同采样点数的时, 基于 CPU 处理的计算设备无法将处理信号的执行时间缩短在 10 个脉冲重复周期内,而随着并行 GPU 数量的不断增多,处理信号的执行时间不断缩短,因此多任务并行化算法具有可扩放性。

在采样点数比较少的情况下,GPU*3 与 GPU*4 执行速度很接近,并且与 GPU*1 相比执行速度比并无明显的提升现象;随着采样点数不断增多, 基于多 GPU 的并行化算法执行速度比具有明显的优势。

(二)功能验证

在满足信号处理的实时性前提下, 根据本文所提出的信号处理流程和算法, 利用某型雷达脉压后提供的采样数据进行功能验证和分析,其中进行实测数据的方位距离分辨单元为 4096×10000 个采样点 , 经过正交相位检波和脉冲压缩 、MTI/MTD 以及脉冲积累和恒虚警检测过程, 雷达信号中的噪声和干扰信号得到了有效的抑制,其中的噪声、云雨杂波强度、地物杂波等均有不同程度的降低,而且目标回波的信噪比有了明显的提高,及时被噪声所覆盖的信号也能被发现。 以上实例证明通过设计流程能较好的完成处理雷达信号过程。

六、结束语

基于多 GPU 并行运算处理雷达信号算法, 能够满足软件雷达标准化、模块化、开放性等的相关要求。 通过仿真算法实例我们得知, 基于多 GPU 的多任务并行算法处理雷达信号时能够满足雷达工作的实时性。 也很好的证明 GPU 在加速雷达信号处理运算上的可行性,具有很重要的现实意义。

参考文献:

[1]肖汉.基于CPU+GPU的影像匹配高效能异构并行技术研究[D].武汉:武汉大学, 2011(12):98-102.

[2]张波 薛正辉 任武等.基于图形处理器的时域有限差分算法硬件加速[J].电波科学学报, 2011(05):64-68.

[3]任新涛.雷达信号处理技术及仿真[J]. 现代电子技术. 2012(03)

猜你喜欢
并行计算处理技术
基于自适应线程束的GPU并行粒子群优化算法
浅议大数据的产生与发展现状
简析常用园林生态水处理技术
云计算中MapReduce分布式并行处理框架的研究与搭建
矩阵向量相乘的并行算法分析
浅析城市生活污水处理技术现状及发展趋势
Java千万级别数据处理与优化
并行硬件简介
基于GPU的超声场仿真成像平台
基于Matlab的遥感图像IHS小波融合算法的并行化设计