國防科學技術大學機電工程與自動化學院 張海楠
基于集群和GPU的寬帶混疊信號盲分離技術
國防科學技術大學機電工程與自動化學院 張海楠
PCMA(Paired Carrier Multiple Access: 成對載波多址)信號是一種比較典型的同頻同速率混疊信號,對提高衛星鏈路的頻譜利用率具有重要的意義。本文通過對寬帶混疊信號實時處理技術的研究,設計了基于集群和GPU的信號處理平臺,提出了大運算量復雜算法條件下的高性能計算方法,能夠較好地實現寬帶混疊信號的盲分離。
PCMA;集群;GPU;單通道盲分離;并行計算
PCMA是一種新型的衛星通信多址技術[1,2],該技術允許兩個不同的衛星地面站使用相同的頻率、時隙或者CDMA碼字,其信號在時域和頻域上完全重疊或者部分重疊。經過衛星轉發器,兩個地面站的接收信號是包含對方信號和本地信號的混合信號,在接收端將本地信號作為自干擾進行重構并抵消實現對方信號的可靠解調。它可以與FDMA、TDMA和CDMA多址技術結合用于衛星雙向通信中。
作為非協作通信方,對混疊信號進行盲分離即第三方在沒有任一發送方信息序列先驗知識的情況下,從混合信號中解調出兩路信息序列。近些年,對于PCMA信號盲分離的相關研究不是很充分,主要有基于獨立分量分析ICA的單通道PCMA盲信號分離法[3,4],基于Turbo迭代的PCMA信號盲恢復算法[5],基于逐幸路徑(PSP)處理法的PCMA信號盲解調算法[6]等。本系統應用的是基于PSP的盲分離技術來實現混合信號的參數跟蹤和穩定分離,但由于該算法復雜度高,用主流的CPU處理器很難實現大運算量的快速處理。本文采用了以“束計算”為核心的多層次任務分配與線程調度模型,可實現盲分離算法與GPU并行結構的最優匹配,可較好地解決運算量復雜算法條件下的高性能計算問題。
由圖1所示,信號采集模塊主要完成的是對寬帶信號的中頻調理和模擬采集,采樣后的數據分段送至GPU服務器,進行對信號的分離和信道譯碼處理。由于混疊信號符號速率較高,可達25.387Msps,進行盲分離所需的采樣率為信號速率的9-10倍,因此數據速率達到了25.387M*9*16=3655Mbit/s,需采用萬兆網卡和交換機。最后,送至高速信息處理服務器進行后端的信息處理。

圖1 寬帶混疊信號盲分離的系統總方框圖
QPSK混疊信號盲分離和常規QPSK信號解調完全不同,每個碼元的求取都涉及大量的乘加運算及迭代回代等復雜運算,平均每求取一個碼元需要做24萬次浮點運算,對于5.6Msps信號,一秒鐘的計算量達到1.35萬億次浮點運算,計算量非常龐大。如果用主頻為2.4GHz的CPU單核來處理一秒的數據,需要近1000秒才能完成處理,龐大的計算量給算法的工程化實現帶來了極大的困難。
如果采用CPU集群處理來完成信號的實時處理,一路信號就需要一臺大型CPU集群,費用無法承受。如果采用FPGA,則面臨片上資源不足,開發難度大,研制周期長等困難。經過研究和分析,在綜合分析多種計算平臺基礎上,選擇了GPU+CPU的硬件架構,構建了一個桌面級的超級計算平臺,單臺GPU服務器就實現了5.6Msps QPSK混疊信號實時處理,5臺GPU服務器構成的小型集群就可實現25Msps高速QPSK混疊信號實時處理。
GPU的計算能力雖然非常強大,但受GPU硬件架構的限制,想發揮出GPU的計算能力,卻極為困難。最大的制約因素有兩個:一是GPU片上的高速緩存非常少,最大的共享內存也僅為16KB,還需要給幾百個線程共享使用,每個線程平均不超過64字節;二是GPU的工作方式是類似向量處理的方式,工作的時候每32個線程為一個束,這32個線程需要做到基本上運行相同的指令,齊頭并進,如果線程運行有分支就會使計算效率大大降低。以上兩個因素導致將一個串行算法簡單并行化后移植到GPU上,加速比通常并不高,即使采用了GPU的計算平臺也遠遠無法達到實時處理的要求。
為實現高效的GPU盲分離并行算法,我們采用了了以“束計算”為核心的多層次智能任務分配與線程調度模型,實現了盲分離算法與GPU并行結構的最優匹配,突破了線程并行和高速存儲的瓶頸,最大化的發揮出了GPU強大的計算能力。
在算法模型的最上層,是三個CPU線程分別綁定到三塊GPU,每個線程指揮調度一塊GPU。每塊GPU卡逐次從前端數據采集緩沖區內讀取一塊數據分塊處理,并在處理完成后在CPU中完成數據的拼接。中間層為GPU卡內數據分塊。這個層次的并行化受很多因素限制,首先任務數不能太多,太多就會增加分塊入鎖的計算量,而且任務數多了片上的高速儲存資源也不足分配。其次,任務數也不能太少,任務數太少會導致并行度不夠,無法充分發揮GPU的并行計算能力。根據GPU的硬件特點,采用了GPU中“束計算”的思想,一個束就是32個線程。GPU內部處理線程的方式是以32個線程為單位處理的,這樣就采用32個線程共同完成一個任務的計算方式,將任務數設為256,達到了計算資源的充分利用以及高速存儲資源的合理均衡配置。在束計算這一層,優化調整算法流程,盡量使束內線程做到齊頭并進步調一致,減小性能損失,最大化的利用了計算資源;同時為適應算法流程的改變,對數據結構也做了整體的優化調整,精細計算并分配了片上高速共享內存并且防止訪存的端口沖突,最大化的利用了高速存儲資源和帶寬。在單個線程處理流程內部,對計算過程進行優化,緩存了部分中間結果,通過重用中間計算結果,減小了計算量,進一步提高了計算速度。除了整個算法模型的優化設計,還利用GPU特有的紋理訪存、原子操作、數“0”計算等硬件加速部件,提高了算法速度。算法處理模型如圖2所示。

圖2 GPU盲分離并行算法模型
經過驗證,構建在以“束計算”為核心的多層次任務分配與線程調度模型上的優化并行盲分離算法,達到了極高的算法效率。3塊C2050 GPU的峰值浮點計算能力為1.455萬億次/秒,實際完成1.35萬億次/秒,效率達到92.7%以上,解決了復雜算法條件下大運算量的實時處理難題。
[1]DANKBERG M,MACK J,MILLER.Self-Interference Cancellations for Two-Party Relay Communication[P].US:Patent 5596439.1997:1-21.
[2]DANKBERG M.Paired carrier multiple access(PCMA) for satellite communication[A].Pacific Telecommunications Conference[C].1998,787-791.
[3]萬堅,許華,朱中梁.基于獨立分量分析的成對載波多址分離新算法[J].通信學報,2006,08:41-44.
[4]盧宏.欠定盲信號分離方法研究[學位論文].杭州:杭州電子科技大學,2011.
[5]ZHANG,Dongling,et al.A Blind Data Recovery of PCMA Signals Based on the Turbo Iterative Processing.Journal of Wuhan University(Natural Science Edition).2011,5:004.
[6]Shilong Tu,Zhang Hui,and Gu Na.Single-channel blind separation of two QPSK signals using per-survivor processing.IEEE Asia Pacific Conference on Circuits and Systems,2008.
Blind Separation Techniques of the Wideband Overlapping Signal based
Zhang Hainan
(National University of Defense Technology College of Mechatronic Engineering and Automation,Changsha of Hunan Province,China,410073)
the PCMA signal is a classical overlapping signal of the same frequency and the same speed,which is of great significance to improve the spectrum efficiency of satellite links.By studying real-time signal processing technology for wideband overlapping signal,the signal processing platform is designed based on the cluster and GPU,high-performance computing method is proposed under the amount of large complex algorithms conditions,which is achieved better wideband mixed blind separation of overlapping signal.
PCMA;clusters;GPU;blind separation of single-channel;parallel computing
張海楠(1985—),男,在讀碩士研究生,研究方向:自動化識別與檢測技術。