陳洪燕,李 剛,景小榮
(1.重慶郵電大學 通信與信息工程學院,重慶 400065;2.中興通訊股份有限公司,深圳 518000)
隨著5G技術研究的深入,為了保證5G系統信息傳輸的可靠性,3GPP組織正式將低密度校驗碼(Low Density Parity Check,LDPC)碼和極化碼(Polar Code)納入5G的標準規范中,其中極化碼作為一種被嚴格證明了能在二進制離散無記憶信道下達到香農限的信道編碼,其編譯碼復雜度相對較低[1]。因此,有必要對極化碼信道編碼的大規模多輸入多輸出(Multiple-Input Multiple-Output,MIMO)系統進行深入研究。
然而,極化碼和大規模MIMO技術相結合,在商業化應用中目前仍面臨一些亟待解決的問題,如在極化碼信道編碼的大規模MIMO系統中,優化設計低復雜度信號檢測方案。
在大規模MIMO系統中,當N?K(N是基站天線數,K是用戶數)時,各用戶間信道趨于正交[2]。利用這一特性,線性檢測算法,如迫零(Zero-Forcing,ZF)檢測算法和最小均方誤差(Minimum Mean-Square Error,MMSE)檢測算法,在信道狀態信息完美條件下,可取得近似最優的檢測性能[3];然而這兩種算法均涉及矩陣求逆操作。同時,隨著5G技術的商業化應用,大規模MIMO系統的信道矩陣維度也越來越大,為了充分利用大規模MIMO的優勢,必須有效地解決線性信號檢測算法中所涉及到的高維矩陣求逆問題。
到目前為止,有三種近似矩陣求逆或間接對矩陣求逆的方法解決矩陣直接求逆的計算復雜度高的問題:一是分解法,如Cholesky分解法[4],基本思想是首先將矩陣轉變成一個上三角矩陣和一個下三角矩陣的乘積,然后進行求逆運算,但計算復雜度仍高達O(K3)。二是近似法,如Neumann級數展開[4]和Newton法[5]。Neumann級數展開的基本思想是對矩陣求逆運算采用級數展開來近似。基于Neumann級數展開的信號檢測算法面臨收斂速度慢且當Neumann序列階數大于2時,矩陣乘法大量存在,計算復雜度較高。Newton法的核心思想是對函數的泰勒展開,但需要求逆矩陣操作,計算復雜度較高。三是迭代法,其基本思想是將信號檢測問題轉化為求線性方程組的解,包括Jacobi檢測算法[6]、Gauss-Seidel檢測算法[7]、逐次超松弛迭代(Successive Over-Relaxation,SOR)檢測算法[8]等。將MMSE檢測算法與Jacobi檢測算法相結合,能改善Jacobi檢測算法的收斂速度較慢的缺陷且提升其性能[9]。為了加快Gauss-Seidel檢測算法的收斂速度,將最速下降算法與Gauss-Seidel檢測算法相結合,經過幾次迭代后就能收斂接近MMSE檢測算法的性能[10]。文獻[11]在SOR檢測算法的基礎上,提出了一種自適應排序干擾消除(Sorting Interference Cancellation,SIC)檢測算法,通過干擾消除降低待檢測矩陣的維度。該算法相較于SOR檢測算法,降低了計算復雜度且提升了性能。
本文在對極化碼信道編碼的大規模MIMO系統的信號檢測和大規模MIMO系統信號檢測研究現狀分析的基礎上,結合極化碼,提出了一種基于無轉置極小殘差(Transpose-Free Quasi-Minimal Residual,TFQMR)的低復雜度的次優信號檢測算法。該算法有效地回避了傳統MMSE檢測算法計算均衡矩陣所需要的求逆過程。數值仿真結果表明,在融合極化碼信道編碼的大規模MIMO系統中,提出的基于TFQMR的信號檢測算法的誤比特率(Bit Error Rate,BER)性能與計算復雜度均優于基于Neumann級數展開的信號檢測算法,而且經過5次迭代后,基于TFQMR的信號檢測算法收斂可取得傳統MMSE算法的性能。
考慮一單小區多用戶的極化碼信道編碼的上行大規模MIMO系統。假設大規模MIMO系統在基站端配置N根天線,同時為K(K?N)個單天線用戶設備提供服務。在發射端,在L個時隙內,每個用戶各自獨立生成mL個待傳輸的比特[12]。mRL比特為信息比特,其余為凍結比特,R為極化碼碼率。經過極化碼編碼后,然后進行2m-正交幅度調制(Quadrature Amplitude Modulation,QAM),各個用戶的mL比特被映射成L個符號,再將調制后的符號經過用戶的天線同時發射,最后基站端N根天線接收到合并信號并將發射的符號恢復出來。因此,大規模MIMO系統收發端的輸入輸出信號關系可表示為
y=H·s+n。
(1)
式中:yN×1是接收矢量;sK×1是發射矢量;HN×K是信道矩陣,且各元素相互獨立,服從均值為0、方差為1的復高斯隨機變量分布,假設基站端已知信道狀態信息(Channel State Information,CSI);n表示背景噪聲,假設為服從均值為0、協方差矩陣為σ2IN的復高斯隨機變量,IN為N階單位矩陣。接收天線上的信噪比(Signal-to-Noise Ratio,SNR)定義為
式中:Es表示各用戶的平均發射功率。
根據式(1)的信號指定,基于MMSE檢測準則,有

(2)

J=G+σ2IK。
(3)
式中:G=HHH為格拉姆矩陣。記
(4)
則MMSE檢測算法估計值又可表示為
(5)
采用MMSE信號檢測,顯然不可避免地需要對矩陣J進行求逆,矩陣求逆的計算復雜度約為O(K3)。當用戶數K越來越多,計算復雜度會越高,而且矩陣求逆的困難程度也會逐漸增大。因此,MMSE檢測算法很難在實際中應用于大規模MIMO系統上行信號檢測。為此,下一節將提出一種能夠適用于大規模MIMO系統的低復雜度的信號檢測算法。
TFQMR作為Krylov子空間中求解大型稀疏線性方程組的一種方法,可得到子空間中的近似解,當基逐漸變大時,近似解會逐漸逼近精確解,并收斂于精確解。TFQMR方法用于解線性方程組求解可描述為:當矩陣A對稱正定時,給定一初始解s(0),通過TFQMR方法可實現對線性方程A·s=b進行迭代求解。TFQMR方法需要數次迭代就會收斂[13],初始解s(0)越接近真實解向量,其收斂速度越快。

進一步,MMSE檢測算法的矩陣J可將其進行分解為
J=D+E。
(6)
式中:D是矩陣J的主對角矩陣元素所構成的矩陣,E代表矩陣J的非對角元素所構成的矩陣。由文獻[3]可知,在上行大規模MIMO系統中,當K?N時,信道矩陣會表現出漸近正交這一特性;同時,Marcenko-Pastur定律指出信道矩陣具有信道硬化這一特性,隨著N/K比值的逐漸增大,矩陣的主對角占優特性會更加明顯,則矩陣D會趨近于對角陣J,即J≈D。因此,可將初始解向量近似為
(7)

輸入:y,H,σ2,T(迭代次數)。
Step1 判斷t是奇數還是偶數,若t是奇數,則執行Step 2,若t是偶數,跳至Step 3。
Step2 若t是奇數,依次更新中間量:

Step3 依次更新中間量:
z(t)=Ju(t),
w(t+1)=w(t)-α(t)z(t),
d(t+1)=u(t)+((θ(t))2/α(t))η(t)d(t),
θ(t+1)=‖w(t+1)‖2/γ(t),
c(t+1)=(1+(θ(t+1))2)-1/2,γ(t+1)=γ(t)θ(t+1)c(t+1),
η(t+1)=(c(t+1))2α(t)。
Step4 更新解向量,s(t+1)=s(t)+η(t+1)d(t+1)。
Step5 若t是偶數,更新中間向量:

Step6 判斷t=T是否成立,若成立,則迭代結束并輸出,否則跳至Step 1。

后續仿真表明,當基于TFQMR的信號檢測算法在迭代5次后就能收斂,即當T=5時,該算法可取得接近于MMSE算法的性能。
計算復雜度是衡量算法性能優劣的重要指標,因此,本節主要介紹基于TFQMR的信號檢測算法的計算復雜度,定義為從基站端接收的合并的信號中恢復出發射信號矢量所需要的實數乘法與實數加法次數總和。
基于TFQMR的信號檢測算法中,在初始化部分,總共需要16K2+20K-4次浮點運算,而在基于TFQMR的迭代求解過程中,當t是奇數,每次迭代需要進行8K2+50K+44次浮點運算;當t是偶數,每次迭代需要進行16K2+76K+42次浮點運算,因此,其計算復雜度可表示為

式中:T為總迭代次數,?·」為向下取整符號。
為了與基于Neumann級數展開的信號檢測算法進行對比,表1給出了基于TFQMR的信號檢測算法與基于Neumann級數展開的信號計算算法的復雜度對比。

表1 計算復雜度對比
由表1可得,基于TFQMR的信號檢測算法的計算復雜度約為O(K2),相較于MMSE信號檢測算法降低了一個數量級。圖1給出了基于Cholesky分解的信號檢測算法、基于Neumann級數展開的信號檢測算法和基于TFQMR的信號檢測的計算復雜度比較。在圖1中,T表示基于 Neumann級數展開的信號檢測算法的Neumann序列階數,也表示基于TFQMR的信號檢測算法的迭代次數。仿真結果表明,當T≥3時,基于Cholesky分解的信號檢測算法和基于Neumann級數展開的信號檢測算法的計算復雜度遠遠高于基于TFQMR的信號檢測算法,這表明基于TFQMR的信號檢測算法在計算復雜度上相比基于Cholesky分解的信號檢測算法和基于Neumann級數展開的信號檢測算法有明顯的優勢,理論分析與實際仿真結果相符。

圖1 各種算法浮點數運算次數與用戶個數的關系
本節采用數值仿真來驗證基于TFQMR的信號檢測算法的性能,并將其與基于Neumann級數展開的信號檢測算法和傳統的MMSE信號檢測算法進行對比。
仿真中極化碼碼率R=0.5,調制方式為16-QAM調制。首先每個用戶各自獨立生成mL個待傳輸的比特,其中L設為1。mRL比特為信息比特,其余為凍結比特,R為極化碼碼率。經過極化碼編碼后,然后進行2m-QAM調制,各個用戶的m比特被映射成1個符號,再將調制后的符號經過用戶的天線同時發射。基站接收天線接收到的信號根據檢測算法對發射矢量進行信號估計,再將信號估計值進行解調,計算出對數似然比值,最后將對數似然比值送進串行抵消(Successive Cancellation,SC)譯碼器進行譯碼得到比特流。設定用戶平均發射功率為1 mW,即Es=1 mW。
圖2給出了當基站天線數N=128、用戶數K=32時,基于Neumann級數展開的信號檢測算法與基于TFQMR的信號檢測算法的性能比較曲線。從圖2中可看出,在大規模MIMO系統中,基于Neumann級數展開的信號檢測算法和基于TFQMR的信號檢測算法的BER均隨著SNR不斷增加而不斷降低;同時,基于TFQMR的信號檢測算法在第2次迭代時的性能已優于基于Neumann級數展開的信號檢測算法當Neumann級數為5的性能,這說明本文算法更適宜用戶數較多的場景;且在迭代次數為5時,基于TFQMR的檢測算法的誤碼率性能曲線已經逼近于基于MMSE的信號檢測算法。

圖2 K=32時BER隨SNR變化的曲線圖
圖3給出了當基站天線數N=128、用戶數K=16時,基于Neumann級數展開的檢測算法與基于TFQMR的檢測算法的BER性能對比曲線。從圖3可看出,基于TFQMR的檢測算法在迭代次數為3次時,就可取得逼近MMSE檢測算法的性能,且其性能優于基于Neumann級數展開的檢測算法在Neumann級數為5的性能。相較于用戶數K=16的情況,圖3中由于用戶數的不斷減少,用戶之間的干擾會降低,因此其性能相比圖2,基于Neumann級數展開的檢測算法與基于TFQMR的檢測算法的BER性能均有所改善。

圖3 K=16時BER隨SNR變化的曲線圖
圖4給出了當用戶數K=16、信噪比為2 dB時,基于Neumann級數展開的信號檢測算法與基于TFQMR的信號檢測算法的BER隨著基站天線數變化的性能對比曲線。隨著天線數的不斷增加,基于Neumann級數展開的信號檢測算法、基于TFQMR的信號檢測算法和MMSE信號檢測算法的性能逐漸變得更優,且隨著迭代次數的增加,基于Neumann級數展開的信號檢測算法與基于TFQMR的信號檢測算法的性能曲線都逐漸逼近MMSE檢測算法的性能曲線;然而在迭代次數相同的情況下,基于TFQMR的信號檢測算法的性能明顯優于基于Neumann級數展開的信號檢測算法的性能。

圖4 BER隨基站天線數變化的曲線圖
圖5給出了當基站天線數N=128、信噪比為2 dB時,基于Neumann級數展開的信號檢測算法和基于TFQMR的信號檢測算法的BER隨著用戶數的變化曲線。如圖5所示,基于Neumann級數展開的信號檢測算法和基于TFQMR的信號檢測算法的BER性能隨著用戶數的不斷增加逐漸變差。原因是隨著用戶數的增加,用戶之間的干擾不斷增加,導致BER不斷上升。但在同一T取值,基于TFQMR的檢測算法性能明顯優于基于Neumann級數展開的算法。
圖6給出了當基站天線數N=128、用戶數K=16時,基于TFQMR的檢測算法的BER性能隨迭代次數和SNR的變化曲線。從圖中可以看出,隨著SNR不斷增加,BER不斷下降;同時,當迭代次數T≥5時,BER性能變化趨于平穩,因此本文提出的基于TFQMR的檢測算法在迭代5次后趨于穩定。

圖6 BER隨迭代次數變化的曲線圖
本文提出了一種基于TFQMR的低復雜度信號檢測算法。在該算法中,充分利用TFQMR迭代求解線性方程組的優勢,從而避免了MMSE算法求解矩陣逆的運算,將計算復雜度數量級由O(K3)降為O(K2)。同時,與目前比較流行的基于Neumann級數展開的信號檢測算法相比,本文所提算法在性能和計算復雜度上更具有明顯的優勢。
然而,本文算法僅考慮融合了極化碼的大規模MIMO系統上行鏈路,如何對融合極化碼的大規模系統下行進行深入研究,將是未來工作的重點。