彭 培 張云雷 李 軻 席澤敏
(海軍工程大學電子工程學院 武漢 430033)
基于CPU/GPU處理器的雷達脈沖壓縮算法并行機制研究?
彭 培 張云雷 李 軻 席澤敏
(海軍工程大學電子工程學院 武漢 430033)
為實現軟件化雷達在不同信號處理器上的實時信號處理,需要研究通用高性能處理器,如CPU和GPU信號處理算法的并行機制。論文以雷達脈沖壓縮運算模塊為例,重點研究了利用GPU信號處理的并行機制。首先給出雷達脈沖壓縮數學模型,然后針對算法實現流程,分別從片上緩存、內核線程和數據并行等方面設計了三種GPU并行優化策略。仿真測試表明,所提出的GPU并行機制與典型多核CPU平臺相比,具有更好的實時性能。
CPU∕GPU;并行機制;軟件化雷達;脈沖壓縮
隨著數字化技術的不斷成熟和發展,雷達系統將逐漸從傳統的“以硬件技術為中心,面向專用功能”的專用雷達發展到“以軟件技術為中心,面向實際需求”的軟件化雷達[1]。傳統的雷達系統功能多采用定制的專用電路實現,其緊耦合的特點決定了其硬件開發周期長,費用高等不便因素。軟件化雷達通過采用開放式體系結構和通用處理器,可實現應用程序快速開發和升級。由于通用信號處理器特別是GPU處理器,具備通用性好,可擴展易升級等優點[2~3],在軟件化雷達中得到重視。同時,近年來隨著通用處理器,特別是服務器刀片和GPU處理器的快速發展,在越來越多地基雷達中獲得應用。為適應雷達信號處理大容量大吞吐率要求,必須研究針對通用信號處理器的并行算法實現機制。當前,已經有不少關于GPU進行并行信號處理的論文[4~5],但是關于GPU并行化機制的研究并不多見。
本文以雷達信號處理典型算法——脈沖壓縮算法為例,探討通用信號處理器并行機制的實現。脈沖壓縮是將發射的大時寬帶寬積信號[6~7],通過匹配濾波器,輸出窄脈沖信號,以解決平均功率和距離分辨力之間的矛盾,使雷達提高檢測能力的同時不會降低距離分辨力。本文將基于CPU∕GPU的并行計算引入軟件雷達脈沖壓縮信號處理中,利用GPU細粒度多線程并發和適宜密集計算的特點發掘雷達信號處理潛在的并行性,從而利用GPU加速雷達信號處理運算速度。
脈沖壓縮可以在時域實現,也可以在頻域實現。時域實現是利用FIR濾波器實現時域脈沖壓縮,時域脈壓處理方法比較直觀。當距離單元數較小時,相對運算量不大,采用時域脈壓處理也可以滿足實時性要求。但是當距離單元數很大,時域卷積的運算量很大,這時宜采用頻域脈沖壓縮方法[8]。為了提高運算速度,離散傅里葉變換可以采用快速傅里葉變換實現。如果采樣數據長度為i點,需要將信號和匹配濾波器系數做2N≥i點離散傅里葉變換(DFT)變換。最后將雷達回波與匹配濾波器頻域響應系數相乘,再經過IFFT變換,得到脈沖壓縮處理結果。頻域脈壓處理實現如圖1所示。

圖1 脈沖壓縮頻域實現框圖
由于匹配濾波器是與輸入線性調頻脈沖信號完全匹配,故噪聲信號保持在原有電平上,而輸出信號的峰值功率提高了D=τ?B倍。故采用脈沖壓縮技術的雷達,使得在相同發射功率條件下,可有效改善信號信噪比,同時寬脈沖信號壓縮成窄脈沖信號,具有良好的測距精度和距離分辨力。
圖2是對發射脈沖信號寬度10μs,有效頻譜寬度30MHz的線性調頻信號的脈沖壓縮仿真。脈壓前的回波信號中,兩個目標在時間上沒有足夠的分離以至于不能分辨開,然而脈壓后目標分離,且識別為兩個獨立的目標,理論上只要相鄰目標時間間隔上相隔 1 B,目標回波就能分開。
本文將基于雷達脈沖壓縮的數學模型,將GPU并行計算設計劃分為片上緩存設計、內核線程設計、數據并行設計三級優化,在每級優化中針對應用特性提供了不同的優化策略。以漸近的方式完成應用的全局優化過程。

圖2 雷達回波脈沖壓縮效果
3.1 片上緩存設計
GPU有全局存儲器、共享存儲器、寄存器和紋理及常量存儲器的高速緩存,其中共享內存有著幾乎與寄存器一樣快的訪存速度,其中紋理存儲器和常量存儲器存儲方式為只讀。
GPU對全局存儲器的訪問延遲為400~600個時鐘周期,對共享存儲器的訪問延遲約為5個時鐘周期。內核函數將頻繁訪問且算法固定的變量轉移至共享內存,這樣可以減少訪存延遲[9],將數據從GPU的全局存儲器讀取到共享存儲器中進行內核函數運算,能夠極大地提高處理速度。共享存儲器中的線程通信把采樣數據分批劃分到共享內存,通過共享存儲器合作計算可獲得更好的加速性能。共享存儲器能夠開辟的空間有限,并且其生命周期同內核函數的調用保持一致。濾波器參數等以權庫的形式分配在紋理存儲器以提高訪問效率。
3.2 內核線程設計
多核CPU并行運算中,可利用OpenMP編譯指導語句和變量顯式地指導并行化[10~11]。而在GPU數值計算中,是按照“Grid-Block-Thread”的三層組織結構來并行執行,其劃分過程通過內核函數kernel的<<<dimBlock,dimThread >>>語句對其進行設置,每個kernel對應一個線程網格,線程網格內的多個線程塊能夠以任意順序搶占執行。這種獨立性允許內核函數kernel根據采樣點的數量和算法來確定線程塊。以一維實數向量X(i)和Y(i)求和計算為例,如圖3所示,不同的線程按索引號訪問向量X(i)和 Y(i)位于 Global Memory中數據元素,計算不同Id位置處的元素和,每一個線程塊完成連續m個元素的求和操作。

圖3 線程任務分配方案圖
CUDA利用SIMT執行模式,細粒度線程是以half-warp為單位同時對地址進行合并訪問。是否滿足合并訪問對CUDA程序的速度產生數量級上的差異。CUDA設定的half-warp數量為16,所以每個block的維度m需設置成16的倍數,這里設定每個block中線程數threads.x的取值為256。假設每個脈沖重復周期上采樣點數為Ns,Grid的維度設計為(Ns+threads.x-1)∕threads.x,使得一個 Grid中的block數量為整數,同時線程的規模只與采樣點的數量有關,采樣點在地址中的排列順序也應與threadldx.x的方向一致,這樣的線程安排也是為了滿足對全局地址的合并訪問條件,提高存儲器訪問的有效帶寬。
3.3 數據并行設計
GPU計算的數據需要經過PCI-E總線在主機內存和設備顯存之間進行通信。數據并行計算應力求重疊通信與計算的時間,進而減少應用的整體執行時間[12~13]。在進行GPU密集型計算前,先將預處理、邏輯控制和部分預計算分配在CPU上,然后利用cudaMemcpy函數將所需的數據從系統主存拷貝到設備顯卡,從而改進計算訪存比,以及各存儲層次上的延遲隱藏。
脈沖壓縮的重點在于設計接收機相頻特性與發射信號相位共軛匹配的壓縮網絡,即根據雷達信號波形獲得匹配濾波器系數,線性調頻信號的脈壓系數為復包絡信號s(n)的共軛翻轉,濾波器單位脈沖響應h(k)表達式為

雷達脈沖壓縮模塊的實現核心是將正交相位檢波的結果與匹配濾波器系數頻域相乘,系統采用多個線程并行處理。每個線程獨立維護采樣點數值和濾波器系數,線程之間并行執行傅立葉變換和復數點乘。系統運行步驟如圖4所示。

圖4 系統程序流程圖
具體說明如下:
第1步:判斷雷達信號波形是否發生變化,發生變化執行第2步,否則執行第4步。
第2步:主機端根據雷達波形計算匹配濾波器系數。
第3步:將匹配濾波器系數傳輸到設備端。
第4步:調用CUFFT函數對正交分解信號和匹配濾波器系數在頻域變換,并完成復數卷積。
為測試第4節并行算法效果,本文分別基于CPU和CPU∕GPU處理平臺,實現應用映射和性能優化實驗,其硬件參數及軟件環境如表1所示。其中,CPU采用具有4核8線程的XEON E5620處理器,CPU∕GPU采用NVIDIA 的Tesla C2050。

表1 硬件參數及軟件環境
在多核CPU和GPU的計算中,分別利用Intel.MKL.v10.0.2和CUDA Driver 4.1中的FFT函數庫加速計算。這兩種數學庫分別針對多核CPU、GPU提供了高度優化、線程安全的FFT函數,充分利用處理器的多核、多線程處理能力。
表2所示為線性調頻信號脈沖壓縮處理測試結果,其中GPU平臺處理時間包括內核計算時間和測試數據在內存和顯存之間的傳輸時間。

表2 脈沖壓縮處理對不同采樣點數量的執行時間對比
由表2可以看出,在相同的采樣點數量的情況下,GPU內核計算速度遠遠高于CPU,但是當采樣點數量較少時,GPU的整體計算速度優勢并不明顯。這是因為采樣點少時,不能最大發揮GPU并行計算能力,且數據的傳輸時間占用了一定比例。隨采樣點數量增加,GPU多線程細粒度的優勢發揮出來,運算效能明顯高于CPU,其中內核計算速度相對于CPU計算速度最大可達29倍。
本文針對雷達信號脈沖壓縮并行處理算法的特點,在CPU∕GPU并行計算架構上設計了并行加速機制,根據GPU物理架構實現了算法優化,基于實際硬件平臺進行了仿真試驗。實驗結果表明基于GPU加速的雷達信號脈沖壓縮算法與多核CPU相比具有較好的實時性。本文所提出的GPU加速機制,對于雷達信號處理其他模塊算法來說具有通用性,可為GPU加速軟件雷達信號處理運算進入工程應用階段奠定良好的基礎。
[1]湯俊,吳洪,魏鯤鵬.軟件化雷達技術研究[J].雷達學報,2015,4(4):481-489.
[2]LI Zhong zhi,WANG Xue gang,YU Xuelian.Orthogonal Software Architecture Design for Radar Data Processing System with Object-oriented Component and COM Interface[J].WSEA Transaction on Computers,2011,10(2):61-70.
[3]Malanowski,M.Kulpa,J.Porczyk,et al.Real-time software implementation of Passive Radar[C]∕Radar Conference,2009:33-36.
[4]秦華,周沫,察豪,左煒.軟件雷達信號處理的多GPU并行技術[J].西安電子科技大學學報,2013,40(03):145-151.
[5]陳文斌,楊瑞瑞,于俊清.基于GPU∕CPU混合架構的流程序多粒度劃分與調度方法研究[J].計算機工程與科學,2017,39(01):15-26.
[6]馬曉巖,向家彬.雷達信號處理[M].長沙:湖南科學技術出版社,1999:182-194.
[7] Skolnik M I. Radar Handbook[M].New York:Mc Graw-Hill Book Co,1990:125-130.
[8]David K B,Sergey A L.Radar Technology Encyclopedia(Electronic Edition)[M].Boston and London:Artech House,1998:115-120.
[9]Stanko,Stephan,et al.Synthetic aperture radar for all weather penetrating UAV application(SARAPE)-project presentation[C]∕Synthetic Aperture Radar,2012,EUSAR,9th European Conference on:290-293.
[10]Song J P,Ross J A,Shires D R.Hybrid Core Acceleration of UWB SIRE Radar Signal Processing[J].IEEE Transactions on Parallel and Distributed Systems.2011,22(1):46-57.
[11]肖漢.基于CPU+GPU的影像匹配高效能異構并行技術研究[D].武漢:武漢大學,2011.
[12]張保,董曉社,白秀秀等.GPU-CPU系統中基于剖分的全局性能優化方法[J].西安交通大學學報·信息科學版,2012,46(2):17-23.
[13]楊靖宇,張永生,李正國等.遙感影像正射糾正的GPU-CPU協同處理研究[J].武漢大學學報·信息科學版,2011,36(9):1043-1046.
Parallel Mechanism Study of Radar Pulse Compression based on CPU/GPU Processor
PENG Pei ZHANG YunleiLI KeXI Zemin
(College of Electronic Engineering,Navy University of Engineering,Wuhan 430033)
In order to achieve the real-time signal processing of software radar for various processors,it is essential to study the parallel mechanism for the general high performance processor,i.e.,CPU and GPU.Focusing on the parallel realization of GPU processor,this paper takes the pulse compression processing as an example.Firstly the algorithm model is presented,and then three parallel ways are designed,including the on-chip cache,kernel threads and data in parallel.The simulations show that the proposal mechanism for GPU has a better real-time property comparing to the multiple-kernel CPU.
CPU∕GPU,parallel mechanism,software radar,pulse compression
TN957.51
10.3969∕j.issn.1672-9730.2017.10.007
Class Number TN957.51
2017年4月8日,
2017年5月27日
彭培,碩士,助教,研究方向:雷達信號處理。張云雷,碩士,講師,研究方向:MIMO雷達信號處理。李軻,博士,講師,研究方向:目標跟蹤與識別。席澤敏,博士,副教授,研究方向:故障診斷和雷達目標識別。