國防科學(xué)技術(shù)大學(xué)機電工程與自動化學(xué)院 張海楠
基于集群和GPU的寬帶混疊信號盲分離技術(shù)
國防科學(xué)技術(shù)大學(xué)機電工程與自動化學(xué)院 張海楠
PCMA(Paired Carrier Multiple Access: 成對載波多址)信號是一種比較典型的同頻同速率混疊信號,對提高衛(wèi)星鏈路的頻譜利用率具有重要的意義。本文通過對寬帶混疊信號實時處理技術(shù)的研究,設(shè)計了基于集群和GPU的信號處理平臺,提出了大運算量復(fù)雜算法條件下的高性能計算方法,能夠較好地實現(xiàn)寬帶混疊信號的盲分離。
PCMA;集群;GPU;單通道盲分離;并行計算
PCMA是一種新型的衛(wèi)星通信多址技術(shù)[1,2],該技術(shù)允許兩個不同的衛(wèi)星地面站使用相同的頻率、時隙或者CDMA碼字,其信號在時域和頻域上完全重疊或者部分重疊。經(jīng)過衛(wèi)星轉(zhuǎn)發(fā)器,兩個地面站的接收信號是包含對方信號和本地信號的混合信號,在接收端將本地信號作為自干擾進行重構(gòu)并抵消實現(xiàn)對方信號的可靠解調(diào)。它可以與FDMA、TDMA和CDMA多址技術(shù)結(jié)合用于衛(wèi)星雙向通信中。
作為非協(xié)作通信方,對混疊信號進行盲分離即第三方在沒有任一發(fā)送方信息序列先驗知識的情況下,從混合信號中解調(diào)出兩路信息序列。近些年,對于PCMA信號盲分離的相關(guān)研究不是很充分,主要有基于獨立分量分析ICA的單通道PCMA盲信號分離法[3,4],基于Turbo迭代的PCMA信號盲恢復(fù)算法[5],基于逐幸路徑(PSP)處理法的PCMA信號盲解調(diào)算法[6]等。本系統(tǒng)應(yīng)用的是基于PSP的盲分離技術(shù)來實現(xiàn)混合信號的參數(shù)跟蹤和穩(wěn)定分離,但由于該算法復(fù)雜度高,用主流的CPU處理器很難實現(xiàn)大運算量的快速處理。本文采用了以“束計算”為核心的多層次任務(wù)分配與線程調(diào)度模型,可實現(xiàn)盲分離算法與GPU并行結(jié)構(gòu)的最優(yōu)匹配,可較好地解決運算量復(fù)雜算法條件下的高性能計算問題。
由圖1所示,信號采集模塊主要完成的是對寬帶信號的中頻調(diào)理和模擬采集,采樣后的數(shù)據(jù)分段送至GPU服務(wù)器,進行對信號的分離和信道譯碼處理。由于混疊信號符號速率較高,可達25.387Msps,進行盲分離所需的采樣率為信號速率的9-10倍,因此數(shù)據(jù)速率達到了25.387M*9*16=3655Mbit/s,需采用萬兆網(wǎng)卡和交換機。最后,送至高速信息處理服務(wù)器進行后端的信息處理。
圖1 寬帶混疊信號盲分離的系統(tǒng)總方框圖
QPSK混疊信號盲分離和常規(guī)QPSK信號解調(diào)完全不同,每個碼元的求取都涉及大量的乘加運算及迭代回代等復(fù)雜運算,平均每求取一個碼元需要做24萬次浮點運算,對于5.6Msps信號,一秒鐘的計算量達到1.35萬億次浮點運算,計算量非常龐大。如果用主頻為2.4GHz的CPU單核來處理一秒的數(shù)據(jù),需要近1000秒才能完成處理,龐大的計算量給算法的工程化實現(xiàn)帶來了極大的困難。
如果采用CPU集群處理來完成信號的實時處理,一路信號就需要一臺大型CPU集群,費用無法承受。如果采用FPGA,則面臨片上資源不足,開發(fā)難度大,研制周期長等困難。經(jīng)過研究和分析,在綜合分析多種計算平臺基礎(chǔ)上,選擇了GPU+CPU的硬件架構(gòu),構(gòu)建了一個桌面級的超級計算平臺,單臺GPU服務(wù)器就實現(xiàn)了5.6Msps QPSK混疊信號實時處理,5臺GPU服務(wù)器構(gòu)成的小型集群就可實現(xiàn)25Msps高速Q(mào)PSK混疊信號實時處理。
GPU的計算能力雖然非常強大,但受GPU硬件架構(gòu)的限制,想發(fā)揮出GPU的計算能力,卻極為困難。最大的制約因素有兩個:一是GPU片上的高速緩存非常少,最大的共享內(nèi)存也僅為16KB,還需要給幾百個線程共享使用,每個線程平均不超過64字節(jié);二是GPU的工作方式是類似向量處理的方式,工作的時候每32個線程為一個束,這32個線程需要做到基本上運行相同的指令,齊頭并進,如果線程運行有分支就會使計算效率大大降低。以上兩個因素導(dǎo)致將一個串行算法簡單并行化后移植到GPU上,加速比通常并不高,即使采用了GPU的計算平臺也遠(yuǎn)遠(yuǎn)無法達到實時處理的要求。
為實現(xiàn)高效的GPU盲分離并行算法,我們采用了了以“束計算”為核心的多層次智能任務(wù)分配與線程調(diào)度模型,實現(xiàn)了盲分離算法與GPU并行結(jié)構(gòu)的最優(yōu)匹配,突破了線程并行和高速存儲的瓶頸,最大化的發(fā)揮出了GPU強大的計算能力。
在算法模型的最上層,是三個CPU線程分別綁定到三塊GPU,每個線程指揮調(diào)度一塊GPU。每塊GPU卡逐次從前端數(shù)據(jù)采集緩沖區(qū)內(nèi)讀取一塊數(shù)據(jù)分塊處理,并在處理完成后在CPU中完成數(shù)據(jù)的拼接。中間層為GPU卡內(nèi)數(shù)據(jù)分塊。這個層次的并行化受很多因素限制,首先任務(wù)數(shù)不能太多,太多就會增加分塊入鎖的計算量,而且任務(wù)數(shù)多了片上的高速儲存資源也不足分配。其次,任務(wù)數(shù)也不能太少,任務(wù)數(shù)太少會導(dǎo)致并行度不夠,無法充分發(fā)揮GPU的并行計算能力。根據(jù)GPU的硬件特點,采用了GPU中“束計算”的思想,一個束就是32個線程。GPU內(nèi)部處理線程的方式是以32個線程為單位處理的,這樣就采用32個線程共同完成一個任務(wù)的計算方式,將任務(wù)數(shù)設(shè)為256,達到了計算資源的充分利用以及高速存儲資源的合理均衡配置。在束計算這一層,優(yōu)化調(diào)整算法流程,盡量使束內(nèi)線程做到齊頭并進步調(diào)一致,減小性能損失,最大化的利用了計算資源;同時為適應(yīng)算法流程的改變,對數(shù)據(jù)結(jié)構(gòu)也做了整體的優(yōu)化調(diào)整,精細(xì)計算并分配了片上高速共享內(nèi)存并且防止訪存的端口沖突,最大化的利用了高速存儲資源和帶寬。在單個線程處理流程內(nèi)部,對計算過程進行優(yōu)化,緩存了部分中間結(jié)果,通過重用中間計算結(jié)果,減小了計算量,進一步提高了計算速度。除了整個算法模型的優(yōu)化設(shè)計,還利用GPU特有的紋理訪存、原子操作、數(shù)“0”計算等硬件加速部件,提高了算法速度。算法處理模型如圖2所示。
圖2 GPU盲分離并行算法模型
經(jīng)過驗證,構(gòu)建在以“束計算”為核心的多層次任務(wù)分配與線程調(diào)度模型上的優(yōu)化并行盲分離算法,達到了極高的算法效率。3塊C2050 GPU的峰值浮點計算能力為1.455萬億次/秒,實際完成1.35萬億次/秒,效率達到92.7%以上,解決了復(fù)雜算法條件下大運算量的實時處理難題。
[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].通信學(xué)報,2006,08:41-44.
[4]盧宏.欠定盲信號分離方法研究[學(xué)位論文].杭州:杭州電子科技大學(xué),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—),男,在讀碩士研究生,研究方向:自動化識別與檢測技術(shù)。