?

基于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小波融合算法的并行化設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合