蔣 曄,孫文勝
(杭州電子科技大學通信工程學院,浙江 杭州 310018)
在大規(guī)模多輸入多輸出(Multiple-input Multiple-output, MIMO)技術中,一般是在基站側檢測上行信道中不同小區(qū)不同用戶之間的信號,按檢測方式可分為線性檢測和非線性檢測。常用傳統(tǒng)線性檢測方法有迫零(Zero Forcing,ZF)檢測、最小均方誤差(Minimum Mean Square Error,MMSE)檢測和最大比傳輸(Maximum Ratio Transmission,MRT)檢測。非線性檢測則是遍歷所有發(fā)射信號域中的信號,實現(xiàn)復雜度非常高,難于實現(xiàn)。由于存在信道硬化現(xiàn)象,即使是簡單的線性算法檢測也能接近最優(yōu)接收機的性能,同時其檢測復雜度為多項式級別,比非線性算法的指數(shù)級別的復雜度低很多。所以,近幾年的大規(guī)模MIMO檢測算法研究基本集中在線性算法上。
基于MMSE的簡化復雜度的檢測方法分為級數(shù)展開法和迭代法?;诩墧?shù)展開的諾曼級數(shù)展開法(Norman Series Expansion,NE)是采用級數(shù)序列的前幾項和近似矩陣求逆,級數(shù)展開次數(shù)的高低決定了其近似程度。迭代法又可分為求解方程組解的迭代法和直接求逆的迭代法。第一類迭代法有雅克比迭代(Jacobi, JC)、高斯迭代(Gauss-Seidel,GS)、(對稱)連續(xù)超松弛算法(Successive Over-Relaxation,SOR)[1],第二類迭代法是基于Cholesky分解和Sherman-Morrison公式的CSM檢測算法[2],首先使用Cholesky分解信道矩陣,然后使用Sherman-Morrison公式迭代計算信道信息。申濱等[3]把Kaczmarz算法引入大規(guī)模MIMO系統(tǒng),并且引入收斂因子,改變Kaczmarz算法的內部迭代順序,加快了收斂速度。丁春輝等[4]利用增廣矩陣避免了Gram矩陣的計算,減少了Kaczmarz算法的計算量。但是迭代次數(shù)增多時,該算法的復雜度反而會急劇增長。本文提出一種改進的Kaczmarz算法——半遞推Kaczmarz(Partial Recursive Kaczmarz, PR-Kaczmarz)算法,以遞推關系代替部分迭代部分,在保持性能基本不變的同時,降低復雜度。
為了簡化分析過程,使用用戶設備為單天線的單小區(qū)大規(guī)模MIMO上行鏈路系統(tǒng)模型。假設用戶數(shù)量為Mt個,基站天線數(shù)量為Mr根,其中Mr?Mt。上行信道HC(t)為Mr×Mt維,服從循環(huán)對稱復高斯噪聲(Circularly Symmetric Complex Zero-mean White Gaussian Noise, CSCG)分布的時變信道矩陣[5]。假定基站檢測信號的時間小于相干時間間隔,那么時變信道函數(shù)HC(t)可簡記為時間無關信道HC。離散均勻分布的Mt維實基帶信號向量為bR={b1,b2,…,bMt},其中的元素bk∈+,+為正整數(shù)域。發(fā)送信號sC為經(jīng)過多進制正交幅度調制(Multiple Quadrature Amplitude Modulation,MQAM)后再次經(jīng)過功率歸一化的發(fā)射信號,M階調制的調制符號集為ΩM。為使得總發(fā)射功率為單位值,功率歸一化因子記為FM:
(1)
調制過程可記為ΩMmap(·)操作符。整個上行傳輸系統(tǒng)可表示為:
sC=ΩMmap(bR)×FM
(2)
yC=HCsC+nC
(3)
式(2)中的sC=(s1,s2,…,sMt)Η,右上角的Η代表共軛轉置。發(fā)射信號sC中元素的sk代表第k位用戶的發(fā)射信號。nC為服從CSCG的獨立Mr×1維加性白噪聲,nC~CN(0,σ2IMr)。式(3)中yC為基站處的接收信號。
上行信道基站側的常用線性檢測為MMSE檢測,可表示為:
(4)
(5)
Kaczmarz算法是一種求解大型線性方程組最小范數(shù)解的迭代算法。將式(4)代入式(5),經(jīng)過變形得到:
(6)
(7)
(8)
圖1 t=4,k=2時,Kaczmarz算法幾何逼近原理
迭代法的初始值選取影響算法的收斂速度,初始值與解析解越是接近,其收斂速度越快。一般選取零向量作為迭代初始值,但是在MIMO系統(tǒng)中就不適用。考慮到發(fā)射天線增多時體現(xiàn)的信道硬化特性,且濾波矩陣W為共軛對稱、對角占優(yōu)。所以濾波矩陣可取W≈MrIMt。初始解為:
(9)
圖2 PR-Kaczmarz算法流程圖
Kaczmar算法被證明收斂,然而由于其收斂速度比GS算法和SOR算法慢,且復雜度高,所以得不到應用[7]。為此,本文用部分遞推代替迭代,提出改進的PR-Kaczmarz算法。PR-Kaczmarz算法把迭代次數(shù)N分成兩部分:前半部分采用與Kaczmarz算法相同的策略。確保第N次是迭代的前提下,后半部分算法采用交替迭代與遞推的方式。需要說明的是,PR-Kaczmarz算法的N>4,否則算法就退化為普通Kaczmarz算法。算法的總迭代次數(shù)為N。定義3個新的存儲結構。第一個存儲結構為內循環(huán)結果序列表,記為R。R記錄后半部分算法迭代或遞推的結果值rk。第二個存儲結構為R中相鄰結果值的差值表,記為S,S記錄迭代或遞推的方向向量sk。最后一個存儲結構為S中相鄰元素的比值表,記為A。A記錄方向向量sk改變趨勢ak。ak一定程度上描述Kaczmar算法前后兩次外迭代的方向相關性。提出半迭代思想,即強相關性的ak之間可以相互替代。實驗中發(fā)現(xiàn),基于范數(shù)排序的Kaczmar算法的后半部分迭代過程呈現(xiàn)出強相關性。PR-Kaczmarz算法的具體流程如圖2所示。
表1 計算復雜度對比
為了驗證PR-Kaczmarz算法的檢測性能,使用MATLAB進行仿真實驗。實驗中采用隨機瑞利衰落信道,天線配置分別為128×32和128×16配置下的調制方式分別為32QAM調制和64QAM。信噪比區(qū)間為-5~20 dB。每用戶發(fā)送的信號數(shù)量為5 000個。t表示算法的迭代次數(shù),n表示諾曼級數(shù)的展開次數(shù)。實驗中PR-Kaczmarz算法的對比算法為展開次數(shù)為5次的Neumann級數(shù)檢測算法、標準MMSE檢測算法、迭代5次的梯度下降法、迭代5次的超松弛迭代法、迭代5~8次的Kaczmarz算法和迭代5~8次的PR-Kaczmarz算法。天線配置分別為128×32時,大規(guī)模MIMO上行信道系統(tǒng)中各類算法的誤比特率(Bit Error Rate, BER)曲線如圖3所示。整體上看,各算法的誤比特率隨著信噪比增加一致降低。同迭代次數(shù)下,Kaczmarz算法和PR-Kaczmarz算法的BER基本一致。同迭代次數(shù)的Kaczmarz算法和PR-Kaczmarz算法的BER性能遠差于梯度下降法和超松弛迭代法,這說明基于MMSE算法的Kaczmarz算法性能有限。圖4給出了128×16天線配置下的各算法BER曲線圖。圖4中,5次迭代的Kaczmarz算法和PR-Kaczmarz算法BER曲線差距明顯。其余迭代次數(shù)下,兩者的BER曲線接近。這說明低迭代次數(shù)下PR-Kaczmarz算法的優(yōu)勢不明顯,迭代次數(shù)超過5次時,PR-Kaczmarz算法的低復雜的優(yōu)勢能夠得到體現(xiàn)。對比兩圖,圖3的BER性能遠差于圖4。這是因為Kaczmarz算法的幾何逼近原理導致發(fā)射用戶Nt越大,算法的收斂速度越慢。
結合表1、圖3和圖4的性能曲線分析,可知PR-Kaczmarz算法在維持BER性能的同時,最多能降低17%的復乘計算量,在一定程度上降低算法的復雜度,從而減少基站端的硬件開銷。表1中數(shù)據(jù)表明,同樣的計算量下,PR-Kaczmarz算法至少比Kaczmarz算法多進行一次迭代或者遞推。為了進一步說明PR-Kaczmarz算法的優(yōu)勢,將同計算量不同迭代次數(shù)的PR-Kaczmarz算法和Kaczmarz算法對比。從圖3可知,誤碼率為10-2時,8次迭代PR-Kaczmarz算法相比于7次迭代Kaczmarz算法有著15 dB左右的增益。圖4中,誤碼率為10-4時,7次迭代的PR-Kaczmarz算法相比于6次迭代的Kaczmarz算法有著3 dB左右的增益。
圖3 128×32系統(tǒng)BER曲線
圖4 128×16系統(tǒng)BER曲線
針對大規(guī)模上行鏈路中Kaczmarz檢測算法復雜度高的問題,本文依據(jù)算法逼近原理,提出一種PR-Kaczmarz算法。算法利用Kaczmarz算法的幾何特性,采取將部分迭代過程替換成遞推的方法,有效解決了Kaczmarz算法復雜度高的問題。本文算法的簡化思想也可應用到大規(guī)模MIMO通信系統(tǒng)中的預編碼中,具有一定參考價值。后續(xù)研究中,可引入因子來控制遞推的步長,以改進BER性能;或者引入信道編碼,使用軟判決代替硬判決以提升誤碼率性能。