謝登召
摘 要:軟件雷達概括的說就是在雷達領域中應用軟件無線電技術。就目前來說,軟件雷達難以克服的困難就是軟件雷達信號處理的實時性。本文在中央處理器-圖形處理器異構系統(tǒng)中采用任務級、數(shù)據(jù)級和線程級三級并行策略的基礎上設計了基于多GPU 的雷達信號處理并行算法,并取得了可觀的成就。
關鍵詞:軟件雷達 信號處理 技術
軟件雷達實現(xiàn)的瓶頸問題之一是信號的實時處理。為提高軟件雷達信號處理的實時性,利用圖形處理器的并行運算能力進行雷達信號處理的硬件加速。設計雷達信號處理在系統(tǒng)中的執(zhí)行策略。對GPU并行計算特點對雷達信號處理算法進行優(yōu)化。實驗結果表明,通過與同期中央處理器(CPU)運算平臺比較,GPU運算可實現(xiàn)20倍以上的加速比,并且可以實時完成雷達信號處理的整個流程,體現(xiàn)出良好的工程價值與應用前景。
1、頻數(shù)字信號并行處理
將軟件無線電技術應用于雷達領域的軟件雷達,其硬件平臺的組成成分一般包括通用處理計算機、高速模/數(shù)采樣器件、變頻組件和天線系統(tǒng)以及雷達顯控終端部分。在變頻組件內通過下變頻轉換的作用可以將通過雷達接收到的信號轉換為中頻信號,將中頻信號傳送至高速模/數(shù)采樣器件并將其轉換為數(shù)字信號,然后再將轉換后的數(shù)字信號送至通用計算機平臺實現(xiàn)對雷達接受信號的處理過程。基于多GPU 的異構計算機平臺處理信號的調度以及流程等全部由由CPU 負責, 首先將單個子模塊進行運算所需的內存空間以及顯存空間開辟,在詳細了解GPU 初始化參數(shù)的前提下通過創(chuàng)建主機端線程來實現(xiàn)對設備端管理,按照“主機-設備端-主機”的流程將獲取的數(shù)據(jù)自計算機主機內存?zhèn)鬏斨猎O備顯存,然后即可進行對數(shù)據(jù)的密集型計算。
2、軟件雷達信號并行處理的計算模型
2.1 任務級并行。首先在軟件雷達的主機端創(chuàng)建任務隊列, 用以中頻數(shù)據(jù)的采樣, 并利用CPU 主線程實現(xiàn)對任務的劃分和控制工作,使用CPU 并行線程實現(xiàn)任務調度以及配置設備端ID 的工作,并對任務隊列進行按次序的訪問。給基于多GPU 異構系統(tǒng)上的GPU 采取輪轉的形式分配各個任務,將獲取的第n 個數(shù)據(jù)以迭代的形式傳輸至第n mod q 個GPU,這樣可以保證多塊GPU 的工作獲得負載平衡, 其中q 為并行GPU 的個數(shù)。
2.2 數(shù)據(jù)級并行。進行正交相位檢波和脈沖壓縮計算時,每個脈沖重復周期t內采樣點在周期之間無關聯(lián)性,對獲取的采樣數(shù)據(jù)實施數(shù)據(jù)級并行處理可獲得接近幾乎線性的加速比[1]。在數(shù)據(jù)級并行處理時為了得到較高的計算訪存比,我們可以將整個脈沖壓縮后的rn×k 的二維數(shù)組規(guī)劃成q 個n×m 數(shù)據(jù)部分,其中的二維數(shù)組域中每一行均含有m=k mod q 個采樣點,并行GPU 的每塊GPU 對重構后的數(shù)據(jù)部分進行并行的計算,此時二維數(shù)據(jù)域對并行GPU 的映射為一個線程網(wǎng)格。在數(shù)據(jù)級并行處理時,并行GPU的單個GPU 只需對所屬的重構數(shù)據(jù)域進行迭代計算。
2.3 線程級并行算法。線程級并行算法是根據(jù)信號處理的數(shù)學模型和GPU 并行計算的硬件特性,將數(shù)值計算映射到GPU 細粒度并發(fā)線程的具體實現(xiàn)過程。1)正交相位檢波和脈沖壓縮。在軟件雷達處理信號時,進行正交相位檢波可以把中頻信號通過特殊方法轉變?yōu)榱阒蓄l的I、Q 兩路正交信號。其實現(xiàn)過程為:通過高速模/數(shù)變換器的中頻信號能夠直接進行采樣和變換過程得到數(shù)字信號, 將得到的數(shù)字信號與正交混頻信號進行點乘、低通濾波處理即可得到零中頻的I、Q 兩路正交信號。在對正交混頻信號與采樣點進行點乘處理時,我們需要把正交混頻信號以及整段脈沖重復周期內的采樣數(shù)據(jù)全部輸入到內核函數(shù)中才能進行點乘。由于內核函數(shù)與整段重復周期內的采樣點線程網(wǎng)格是相互對應覆蓋的,所以在將正交混頻信號以及整段脈沖重復周期內的采樣數(shù)據(jù)全部輸入到內核函數(shù)時其中的每個線程塊都可以進行n 維度的采樣數(shù)據(jù)計算,并且可以將每個采樣數(shù)據(jù)作為一個處理單元將其映射到相關的線程中。我們可以通過仿真計算得到數(shù)字低通濾波器的相關系數(shù),并且可以根據(jù)紋理緩存將采樣數(shù)據(jù)的讀取速度不斷提高。因此可以在紋理存儲器存儲以權庫的形式表現(xiàn)的濾波器系數(shù),當進行正交相位檢波模塊時即可進行讀取過程。在軟件雷達處理信號時所進行的正交相位檢波、動目標檢測以及頻域脈沖壓縮等計算時均需采用傅立葉變換(FFT)的方法進行變換處理。2)MTI/MTD,在工程領域中我們較為常用的固定二次對消器一般都是由兩個固定的一次對消器級聯(lián)而成的。在一般結果的固定二次對消器設計中,輸入采樣數(shù)據(jù)信號尺寸的級聯(lián)倍數(shù)即為開辟的顯存空間大小,開辟的顯存空間可以存儲脈沖壓縮后產(chǎn)生的連續(xù)采樣回波數(shù)據(jù)信號。其中在顯存空間中存儲每個脈沖壓縮后的回波數(shù)據(jù)的形式為“先進先出”的形式。對脈沖重復周期內數(shù)字信號進行迭代運算時需要通過線程索引號并發(fā)執(zhí)行來完成,其中每個線程分別維護采樣值經(jīng)延遲線加權與相同距離分辨單元采樣點隔周期相減。動目標檢測也是一項必要的工作,其實現(xiàn)動目標檢測的原理為:在固定二次對消器(MTI)后串接一窄帶濾波器組,通過窄帶濾波器組實現(xiàn)對整個重復頻率范圍的覆蓋,其工作的根本為相參積累不同通道,在對采樣數(shù)據(jù)信號進行濾波處理時可采用FFT濾波器組完成。在進行MTD 運算時,將相鄰m 個重復周期的數(shù)據(jù)作為一維數(shù)組存儲起來,采用棋盤劃分的方式實現(xiàn)矩陣轉置,對其相同距離單元即矩陣每一行的數(shù)據(jù)進行FFT 運算。3)脈沖積累和恒虛警檢測。如果要將算法效率有效提高,則需要對以共享存儲器做為中間數(shù)據(jù)訪存和線程通信載體進行合理地利用。在軟件雷達對信號進行處理時, 在脈沖積累運算時將以棋盤劃分的方式把數(shù)據(jù)域劃分給并行GPU,首先把矩陣設置成為一個n 行m 列的矩陣,并將整個線程網(wǎng)格劃分成n 個線程塊,對應的單個線程塊即可實現(xiàn)對m 個數(shù)據(jù)的處理運算,即得到一列的數(shù)據(jù)。然后將通過線程塊處理所得到的的每一列數(shù)據(jù)從顯存復制到線程塊中的共享存儲器,以并行歸約的方式將這些數(shù)據(jù)作求和處理,調用_syncthreads()函數(shù)對求和處理后的數(shù)據(jù)進行柵欄同步,最后即可將每個線程塊內運算得到的相關結果存入全局存儲器(n 維)中。在進行均值類恒虛警檢測算時,則需要對每個距離單元兩側各點的采樣數(shù)據(jù)進行求和處理,此外,將運算數(shù)據(jù)分段復制到線程塊內的共享存儲器可以將從全局存儲器中讀取數(shù)據(jù)的頻率降低。
基于多GPU 并行運算處理雷達信號算法,能夠滿足軟件雷達標準化、模塊化、開放性等的相關要求。通過仿真算法實例我們得知,基于多GPU 的多任務并行算法處理雷達信號時能夠滿足雷達工作的實時性。也很好的證明GPU 在加速雷達信號處理運算上的可行性,具有很重要的現(xiàn)實意義。
參考文獻
[1]張波,薛正輝,任武.基于圖形處理器的時域有限差分算法硬件加速[J].電波科學學報,
2015,(05).
[2]熊超.基于GPU 的連續(xù)波雷達頻譜分析與譜峰搜索技術研究[D].長沙:國防科學技術大學,2014,(09).
[3]張波,薛正輝,任武,等.基于圖形處理器的時域有限差分算法硬件加速[J].電波科學學報,2015.(09).