閆 迪, 王元欽, 吳 濤, 孫 克
(1. 航天工程大學電子與光學工程系, 北京 101416; 2. 北京航天飛行控制中心, 北京 102206)
數據中繼衛星、遙感偵察衛星和空間合成孔徑雷達對實時海量數據傳輸提出了越來越高的要求。美國國家航空航天局的同步航天器到地面的數據傳輸速率在2008年達到了800 Msps,預計2020年將達到100 Gbps[1-3]。目前,高速數傳調制體制主要以多進制數字相位調制為主[4-5],由于現場可編程門陣列(field programmable gate array,FPGA)速率的限制,為了提高解調速率,必然采用并行解調方式。目前,唯一公布的并行處理架構是并行接收結構(parallel receiver,PRX)和全數字并行接收結構(all-digital parallel receiver,APRX)[6]。基于APRX架構,文獻[7]于2008年完成了800 Mbps固定速率的8進制相移鍵控解調樣機。文獻[8]于2011年完成了1.5 Gbps的16進制正交振幅調制解調器。APRX結構要求采樣率必須為數據率的整數倍,信號中心頻率隨數據率選取,而在實際工程中,中頻頻率和采樣率多為固定值。在衛星通信等高動態應用背景下,多普勒效應帶來的數據率多普勒變化范圍大,為了保證采樣率和數據率的整數倍關系,需要在采樣模塊后增加內插器,目前沒有在文獻中找到相關做法。可見,APRX架構存在數據率不靈活的缺點。
通用處理器最大的優勢是核心多,擁有大量計算資源,可以實現多線程的并行處理。2016年9月,英特爾發布的基于眾核心架構的新型XeonPhi7200系列眾核處理器,代號Knights Landing[9],最多72核心288線程,主頻為1.5 GHz。同年,英偉達發布的Tesla P100 計算卡[10],擁有3 584個處理核心,核心頻率達1 328 MHz。大量的核心資源使得基于通用處理器的高速數字信號處理成為可能[11-13]。目前,相關研究主要有開源項目GNU Radio軟件無線電平臺[14-15],微軟亞洲研究院開發的Sora平臺[16],兩個平臺均使用軟件流水線的方法,把數字調制問題轉化為軟件編程問題。流水線這種并行處理方法依賴中央處理器(central processing unit,CPU)的高主頻,沒有充分發揮多核CPU的計算能力,GNU Radio的處理速率只可以實現幾十kbps,Sora達到的實時通信速率也只有43.8 Mbit/s。顯然,無法基于這兩種平臺實現高速數字信號處理。
本文提出一種適用于通用處理器平臺的高速正交相移鍵控(quadrature phase shift keying,QPSK)并行解調方法,具有以下3個特點:
(1) 高可用性
每個信號塊的解調處理是獨立的,如果某個解調進程意外終止,既不影響其他解調進程的運行,也能將未處理的信號塊轉移到其他解調進程,大大提高了本方法的可用性。
(2) 適用于任意數據率
在APRX框架上研制的解調器存在數據率不靈活的缺點,本方法可適用于任意數據率。
(3) 強伸縮性
本方法的實際解調速率取決于解調進程的數目,所以通過擴展計算資源可實現解調速率的近似線性提高。
該方法由并行處理框架和并行解調算法組成。并行解調框架基于數據分解的并行化思想,將中頻數字采樣后的數字信號按時間順序分解為信號塊,利用多核CPU的多線程處理能力,對信號塊進行并行解調。本文在最大似然(maximum likelihood,ML)估計的基礎上,提出了一種基于三維迭代搜索的QPSK開環解調算法,該算法具有以下3個特點:
(1) 利用分段積累求相關值的方法消除了調制信息的影響;
(2) 同時完成了載波同步和碼元同步;
(3) 用迭代搜索方法,不斷縮小載波參數搜索范圍,在保證載波參數估計精度的同時降低了計算量。
由于傳統解調算法存在任務串行和數據串行缺點,故提出了一種基于數據分解的并行解調框架,將通用處理器的多核心優勢轉化為高速數字信號的解調能力。并行解調框架由3部分組成:信號分割、信號處理和結果綜合,如圖1所示。
(1) 信號分割
信號分割的功能是把一維串行數字信號分解成多路信號塊。涉及到的參數是信號塊長度L,L由解調算法決定。如果在L時間內,QPSK載波頻率的變化量小到一定程度,就可以把載波同步問題轉化為關于載波頻率和載波初相的參數估計問題。后文將對L的設計方法進行研究。
(2) 信號處理
信號處理的功能是對信號塊進行多路并行解調,由多個解調進程組成,每個解調進程的處理程序完全相同,只有輸入數據不同。QPSK的常用解調方法是科斯塔斯環,科斯塔斯環是一種相干解調方法,其原理是在本地構造與QPSK同頻同相的載波,載波與QPSK混頻后的低頻信號就是基帶信號。科斯塔斯環是典型的串行算法,前后信號處理存在依賴性,不適用于本文提出的并行處理框架,后文將對開環解調算法進行研究。
(3) 結果綜合
結果綜合的功能是把多路解調結果綜合處理,形成最終解調結果。本地載波與QPSK的相位差存在4種模糊,各信號塊獨立解調,導致模糊不一致。在綜合各信號塊的解調結果時,要去除這種不一致性,后文將對相位模糊的一致性方法進行研究。

圖1 并行解調方法框架Fig.1 Parallel demodulation method framework
本文解調算法通過對QPSK載波頻率和載波初相進行估計,得到同頻同相載波,其前提是QPSK的載波頻率是定值。實際情況中載波頻率是有多普勒變化的,對信號塊長度L產生了約束,若L太大,會發生基帶信號極性翻轉。因此,需要對L進行約束分析。
設接收信號載波頻率fc(t)按線性規律變化,即fc(t)=f0+f1t,其中f1是一階變化率,單位是Hz/s,載波頻率估計值是fn。為了防止基帶信號發生極性翻轉,必須保證
(1)
設載波頻率按線性規律變化,即fc(t)=f0+f1t,其中f1是一階變化率,單位是Hz/s。那么,式(1)可化簡為
ΔfL+0.5f1L2<0.25
(2)
式中,Δf=f0-fn是載波頻率估計精度。通過式(2)可大致估算出L,即
(3)
QPSK解調中最重要的部分是載波同步,載波同步技術分為兩類:一類是基于鎖相環理論的閉環反饋同步技術,另一類是基于ML的開環前饋同步技術。傳統的解調算法一般采用鎖相環的方法,存在掛起現象,建立同步時間較長。本文的并行解調方法使用開環解調算法,處理速度快,適用于短信號塊的處理。基于ML的開環解調算法存在去除調制信息問題,分為數據輔助法和非數據輔助法。
(1) 數據輔助法[17]
這種方法在每個信息幀前加入一段已知的前導碼,降低了信息傳輸效率。本文將連續的信號分解為較短的信號塊,即使存在前導碼,也無法保證每個信號塊內均存在前導碼。
(2) 非數據輔助法[18]
這種方法通過非線性變換法和M次倍頻法去除調制信息,但都有一定的處理增益損失。在低信噪比情況下,其惡化影響更嚴重。經理論分析,平方倍頻帶來的信噪比損失高達9 dB。
本文在ML基礎上,提出一種基于三維迭代搜索的QPSK解調算法。算法基本原理是在〈載波頻率,載波初相〉二維區間上,通過搜索QPSK信號與本地載波的最大相關值,得到QPSK信號的載波頻率和初相估值。為消除調制信息對相關值的影響,使用一種分段積累求積分的方法,同時得到第一個碼元的起始時刻。所以這種算法本質上是對QPSK信號的3個參數〈載波頻率,載波初相,第一個碼元起始時刻〉進行估計,稱之為“三維搜索”。通過迭代搜索,逐步縮小搜索區間,減小搜索步長,達到降低計算量的目的,故稱為“迭代搜索”。算法流程如圖2所示,詳細步驟如下。
步驟1初始化搜索區間
初始化搜索區間〈fn(i),φn(j),m〉p,其中,fn(i)是載波頻率,個數是Nf;φn(j)是載波初相,個數是Nφ;m∈[1,L0]是第一個碼元起始時刻;下標p=0表示迭代次數為0。
步驟2構造本地載波
根據〈fn(i),φn(j),m〉p構造本地載波信號locali,j(k)。
(4)

圖2 開環解調算法流程圖Fig.2 Flow chart of open loop demodulation algorithm
步驟3求相關值
對每個本地載波信號,與信號塊相乘,得到如式(5)所示的混頻信號mixi,j(k)。對每個混頻信號mixi,j(k)進行分段積累,得CORRi,j,m。設第一個碼元的起始采樣點是第m個采樣點,那么積分值CORRi,j,m求法如圖3所示。
mixi,j(k)=locali,j(k)×x(k)
(5)

(6)
步驟4參數估計
對于Nφ×Nf個混頻信號mixi,j(k),求其所有相關值CORRi,j,m的最大值,就是相關值EstCORRi,j,其對應的fn(i),φn(j),m就是載波參數的估計值。
(7)

圖3 分段積累的計算方法Fig.3 Calculation method of segmentation integral
步驟5更新搜索區間
當〈fn(i),φn(j),m〉p滿足迭代停止條件時,利用估計值進行相干解調;當〈fn(i),φn(j),m〉p不滿足迭代停止條件時,更新搜索區間〈fn(i),φn(j),m〉p+1,返回到步驟2。滿足以下三者中的任意一個即可停止迭代:
(1) 本次迭代的相關值小于上次迭代;
(2) 〈fn(i),φn(j),m〉p內載波頻率的步長小于50 Hz;
(3) 〈fn(i),φn(j),m〉p內載波初相的步長小于0.01。
根據經驗,搜索區間的更新方法是:對第p次迭代得到的fn(i),φn(j),分別取其左右相鄰值作為p+1次迭代搜索區間的邊界值,步長縮小為第p次步長的1/3,m值的區間不變化。
首先對單次迭代搜索的計算量進行分析,單次迭代搜索的計算量主要是構造搜索信號和分段相關計算。構造搜索信號的計算經過優化后,可由L次相位累加和L次求余弦組成。在N1×N2×N3次分段相關計算中,共有N1×N3次確定碼元分布計算,每次碼元分布計算包含L次加法;共有N1×N2×N3次積分計算,每次積分計算包含L次加法。因此,單次迭代搜索計算量為N1×N2×N3×2L+N1×N3×L+N1×N2×N3×L。大量仿真表明,在4次迭代內基本能完成參數估計,故算法的計算量是K×L,其中K=12×N1×N2×N3+4×N1×N3。
在科斯塔斯環方法中,本地恢復載波與接收QPSK載波的相位差有4種可能:0,0.5π,π,1.5π,從而導致解調結果存在4種模糊[19]。假設本地載波與QPSK載波同頻,只存在相位差Δφ,本地同相、正交載波與QPSK混頻后,得到低頻信號
(8)
Δφ的4種模糊對I、Q路解調比特流a(k)、b(k)的影響如表1所示。

表1 QPSK解調的相位模糊
對于本文的每個信號塊而言,同樣存在這種模糊現象,除此之外,信號塊的獨立解調引起了各信號塊的模糊不一致。在使用傳統方法進行解模糊之前,首先要消除各信號塊的模糊不一致性。本文提出了一種基于數據冗余的相位模糊一致性方法,利用相鄰兩個信號塊的冗余重疊,消除模糊的不一致性。
本方法的基本思想是利用信號冗余分割,使相鄰信號塊存在一定長度的重疊,利用重疊區的比特流進行相位模糊調整。圖4為信號冗余分割方法,L為信號塊長度,L0為信號塊重疊區長度。

圖4 信號冗余分割方法Fig.4 Redundancy segmentation method of signal

步驟1I路匹配
Ibit_last分別與Ibit、-Ibit、Qbit和-Qbit進行匹配,得到匹配結果和重疊比特數。以Ibit為例,對于每一個Nbit取值,分別求出Ibit_last末尾Nbit個比特與Ibit起始Nbit個比特的歐幾里得距離d,如式(9)所示。如果d=0,則匹配成功,同時得到了重疊比特數,否則匹配不成功。
(9)
步驟2I路更新
用與Ibit_last匹配成功的解調結果對Ibit_last進行更新,并輸出Ibit_last。
步驟3Q路處理
用步驟1和步驟2中的方法對Qbit_last進行處理,輸出Qbit_last。
步驟4對下一信號塊進行處理。

圖5 相位模糊一致性方法流程圖Fig.5 Flow chart of phase ambiguity consensus method
APRX是目前唯一公布并被大量采用的并行全數字接收機設計方案。本文方法與APRX方法相比,具有以下3點不同:
(1) 同步原理不同
APRX結構上的載波、符號同步原理是基于鎖相環理論。本文方法是把連續時間上的同步問題轉化為短時間的參數估計問題,利用估計參數構造本地載波,是一種迭代搜索的ML方法。
(2) 并行原理不同
APRX將高速率信號串并轉換為多路低速率信號,完成并行頻域匹配濾波得到基帶信號,繼而進行并行載波、符號同步。并行載波同步環路采用并行處理方法,通過并行提取一幀(N點)的頻率誤差,然后進行并行環路濾波產生控制字,并行碼元同步環路也是此原理[20]。本文方法是將連續信號拆分為信號塊,利用多進程并行方法同時對多信號塊進行處理。在每個信號塊處理任務中,需要大量的相關運算,利用多線程方法同時進行多個相關運算。
(3) 適用平臺不同
APRX適用于FPGA平臺,如果在CPU和通用計算圖形處理器(general purpose graphics processing unit,GPGPU)的異構平臺上實現,需要數據反饋和大量線程同步,必然帶來性能下降。本文方法需要大量計算資源,適用于CPU-GPGPU平臺,而不適用于FPGA平臺。
本節對本文提出的方法進行仿真,統一設置仿真參數為:QPSK信號碼率Rb=2 Gbps;載頻頻率fc=1 GHz;采樣頻率是fs=4 GHz;多普勒頻率fd=12 345 GHz;載波初相φc=0.40 rad;碼元起始時刻是第2個采樣點。
5.2.1 分段積累方法的仿真結果

圖6是采用分段積累方法的搜索結果,為了表示方便,沒有畫出m維,在多普勒12 000 Hz,載波初相0.39 rad時取得最大相關值39 930,搜索結果是正確的。取12 000 Hz,0.39 rad,對不同m值下的分段積分進行仿真,結果如圖7所示,在m=4時,取得最大相關值,可見對碼元起始時刻的搜索結果是正確的。圖8是采用普通相關方法的搜索結果,在載波多普勒20 000 Hz,載波初相1.57 rad時取得最大相關值501,搜索結果是錯誤的。

圖6 分段積累方法的搜索結果Fig.6 Search results of segmentation integral method

圖7 不同m值下的相關值Fig.7 Correlation values of different m values

圖8 普通相關方法的搜索結果Fig.8 Search results of correlation method
5.2.2 三維迭代搜索算法的仿真結果



圖9 三維迭代搜索算法的仿真結果Fig.9 Results of three dimentional iterative search algorithm
5.2.3 誤碼率仿真結果
用本文的并行解調方法,對QPSK信號進行解調,統計誤碼率結果與克拉美羅下界(Cramer-Rao lower bound, CRLB)如圖10所示。由仿真結果可得,本文方法的解調信噪比損失在0.1 dB以內。
為了進一步驗證本文算法的可行性和解調速度,在CPU-GPGPU異構平臺上搭建驗證系統。驗證系統由調制機和解調機兩部分組成,二者之間通過萬兆網連接,調制機產生8 bit量化的QPSK信號后,直接傳給解調機進行處理,略去數模轉換和模數轉換環節。調制機采用“多線程計算,輪流輸出”的方法,利用多線程并行計算能力,每個線程產生時間上間隔的QPSK信號塊,然后按順序輪流讀取各線程產生的信號塊,就得到了時間上連續的QPSK信號流。系統配置如表2所示,系統實物如圖11所示。

圖10 本文方法誤碼率Fig.10 Error rate of the proposed method

系統組成配置參數解調機惠普Z820工作站Intel E5-2630 v2×26核12線程 2.6 GHz64 GB內存NVIDIA TESLA K20×2核心數目:2 496核心頻率:706 MHz顯存大小:5 GB顯存頻率:2.6 GHz調制機惠普Z820工作站Intel E5-2630 v2×26核12線程 2.6 GHz64 GB內存網絡Mellanox IS5023 InfiniBand 交換機18個端口 40 Gbps

圖11 系統硬件組成Fig.11 Hardware composition of the system
為了驗證解調速度與解調進程數目的關系,采用以下3種測試方案:
方案1解調機使用5個解調進程+1塊NVIDIA TESLA K20;
方案2解調機使用10個解調進程+1塊NVIDIA TESLA K20;
方案3解調機使用15個解調進程+2塊NVIDIA TESLA K20。
統計100 s穩定運行時間內信號解調機的網絡接收速度,如圖12所示。方案1的平均處理速度是826.9 MB/s,處理速度標準差是19.6 MB/s;方案2的平均處理速度是1 564.6 MB/s,處理速度標準差是17.5 MB/s;方案3的平均處理速度是2 308.3 MB/s,處理速度標準差是21.3 MB/s。

圖12 信號解調機的網絡接收速度Fig.12 Network receiving speed of the signal demodulator
經過分析,可以得到以下結論:處理速度與解調進程數近似成正比關系,增加計算資源可以有效提高處理速度。法國IN-SNEC公司的Cortex HDR 3200代表當前國際高碼率接收機方面的最高發展水平,其QPSK解調速率高達3.2 Gbps。方案3的處理速度轉化為信息速率后,為1 154.2 Mbps,雖然不及Cortex HDR 3200,但只要增加計算資源和解調進程數,就能實現解調速率的可持續提高。
本文提出一種適用于通用處理器平臺的高速QPSK并行解調方法。該方法基于數據并行思想,將串行信號流拆分為信號塊,能夠充分利用多核多線程資源對各信號塊進行處理,而后將各信號塊處理結果進行綜合,得到最終解調結果。此外,提出了一種適用于本并行解調方法的開環解調算法和相位模糊一致性方法。該解調算法基于ML,采用三維迭代搜索的方式,仿真結果表明,解調損失在0.1 dB以內。為了進一步將本文方法應用于通用處理器平臺,在惠普Z820工作站上搭建調制解調驗證系統。測試結果表明,處理速度與解調進程數近似成正比關系,增加計算資源可以有效提高處理速度。在2個NVIDIA TESLA K20+2個Intel E5-2630 v2的硬件配置下,每個符號4個采樣點的采樣條件下,得到了1 154.2 Mbps的碼速率解調速度。
參考文獻:
[1] STACKLER M, GLASCOTT A, CHANTIER N. A high speed transmission system using QAM and direct conversion with high bandwidth converters[C]∥Proc.of the Aerospace Conference, 2015: 1-8.
[2] RAVISHANKAR C, CORRIGAN J, GOPAL R. High data rate and bandwidth efficient designs for satellite communication systems[C]∥Proc.of the 35th IEEE International Communications Satellite Systems Conference, 2017: 5417-5420.
[3] YEM V V. Results on design and implementation of earth station based on software defined radio for geostationary satellite communication systems[J]. Systematic Biology, 2016, 55(1): 122-137.
[4] THUNE N N, HARIDAS S L. 4D-8PSK trellis coded modulation for high speed satellite communication[C]∥Proc.of the IEEE International Conference on Advances in Electronics, Communication and Computer Technology, 2017: 469-473.
[5] JIA Q, WANG X. Research on high-speed communication technology between DSP and FPGA[C]∥Proc.of the IEEE International Conference on Control and System Graduate Research Colloquium, 2017: 62-66.
[6] 林長星. 2Gbps高速通信解調技術及其實現研究[D]. 北京: 清華大學, 2012: 23-26.
LIN C X. Research on demodulation technique and its implementation for 2Gbps high speed communication[D]. Beijing: Tsinghua University, 2012: 23-26.
[7] 梁俠, 任海根, 徐先超,等. 800 Mb/s高速解調器的定時恢復算法及實現研究[J]. 現代電子技術, 2007, 30(23): 1-3.
LIANG X, REN H G, Xü X C, et al. 800 Mb/s timing recovery algorithm and implementation for high speed demodulator[J]. Modern Electronics Technique, 2007, 30(23): 1-3.
[8] 郭曉峰, 鄭雪峰, 盧滿宏,等. 高速數傳QAM解調器設計及應用[J]. 遙測遙控, 2011, 32(3): 21-25.
GUO X F, ZHENG X F, LU M H, et al. Design and application of high-data-rate QAM demodulator[J]. Journal of Telemetry, Tracking and Command, 2011, 32(3): 21-25.
[9] RHO S, PARK G, KIM J S, et al. A study on optimal scheduling using high-bandwidth memory of knights landing processor[C]∥Proc.of the 2nd IEEE International Workshops on Foundations and Applications of Self Systems, 2017: 289-294.
[10] KIRK R O, MUDALIGE G R, REGULY I Z, et al. Achieving performance portability for a heat conduction solver mini-application on modern multi-core systems[C]∥Proc.of the IEEE International Conference on Cluster Computing, 2017: 834-841.
[11] KIM J, KANG M, ISLAM M S, et al. A fast and energy-efficient Hamming decoder for software-defined radio using graphics processing units[J].The Journal of Supercomputing,2015,71(7):2454-2472.
[12] WUBBEN D, ROST P, BARTELT J S, et al. Benefits and impact of cloud computing on 5G signal processing: flexible centralization through cloud-RAN[J]. IEEE Signal Processing Magazine, 2014, 31(6): 35-44.
[13] YUAN Z, WANG J, JIANG K, et al. A real-time ISAR imaging structure based on GPU and CPU heterogeneous parallel processing[C]∥Proc.of the 13th IEEE International Conference on Signal Processing, 2016: 1539-1544.
[14] TRUONG N B, SUH Y J, YU C. Latency analysis in GNU radio/USRP-based software radio platforms[C]∥Proc.of the IEEE Military Communications Conference, 2014: 305-310.
[15] ANJANA C, SUNDARESAN S, ZACHARIA T, et al. An experimental study on channel estimation and synchronization to reduce error rate in OFDM using GNU radio[J]. Procedia Computer Science, 2015, 46: 1056-1063.
[16] LI R, DOU Y, ZHOU J, et al. CuSora: real-time software radio using multi-core graphics processing unit[J]. Journal of Systems Architecture, 2014, 60(3): 280-292.
[17] ALMRADI A, HAMDI K A. DA and NDA SINR estimation in non Gaussian noise[C]∥Proc.of the IEEE International Conference on Wireless Communications and Networking, 2015: 642-646.
[18] LI M, ZHAO J, CHEN L. Multi-symbol QPSK partitioning for improved frequency offset estimation of 16-QAM signals[J]. IEEE Photonics Technology Letters, 2015, 27(1): 18-21.
[19] OYAMA T, HOSHIDA T, NAKASHIMA H, et al. Linewidth-tolerant carrier phase estimation for N-PSK based on pilot-assisted N/2th-power method[C]∥Proc.of the 42th European Conference on Optical Communication, 2016: 19-21.
[20] FIALA P, LINHART R. Symbol synchronization for SDR using a polyphase filterbank based on an FPGA[J]. Radio Engineering, 2015, 24(3): 772-782.