周宸顥 溫利嫄③ 錢 驊 康 凱*
①(中國科學院上海高等研究院 上海 201210)
②(中國科學院大學 北京 100049)
③(上海科技大學信息科學與技術學院 上海 201210)
大規模多輸入多輸出(Multiple-Input Multiple-Output, MIMO)技術是第六代移動通信系統的關鍵技術,利用預編碼技術在同一時頻資源下與多個用戶設備進行通信,從而顯著提高頻譜效率、能源效率和可靠性[1]。然而,隨著天線數量的大量增加,大規模MIMO系統的信號處理成本和復雜度呈指數增長,因此降低系統的成本和功耗是當前亟待解決的問題[2]。
隨著大規模MIMO系統天線數量的增加,功率放大器的平均功耗降低[3],射頻鏈的功耗變得越來越重要。其中數模轉換器(Digital-to-Analog Converter, DAC)是射頻鏈中功耗的主要來源,使用大量高分辨率DAC的成本和功耗是不可接受的。因此,現在越來越多的研究關注于通過低成本和功耗高效的硬件來推進大規模MIMO技術的發展,其中使用1比特DAC被認為是一種有效的解決方案。
一般而言,1比特預編碼技術可分為線性預編碼和非線性預編碼兩類。線性預編碼器在傳統線性預編碼后進行量化,在文獻[4]中,分析了當發射天線數與用戶數之比高時,1比特量化的迫零(Zero-Forcing,ZF)預編碼的性能。文獻[5]中,證明了在符號上添加隨機擾動可以有效地減輕量化誤差。線性預編碼雖然有效地降低了計算復雜度,但代價是顯著的誤碼率(Symbol Error Rate, SER)性能損失。
另一些工作轉而研究1比特非線性預編碼。相較于線性預編碼,非線性預編碼具有更出色的SER性能,但是實現需要更高的計算復雜度[6]。為了降低計算復雜度,一些研究提出了高效的1比特預編碼算法[7,8],這些算法實現計算復雜度較低,同時也能夠取得優異的性能表現。然而,適用于單載波系統的預編碼算法無法直接應用于正交頻分復用(Orthogonal Frequency Division Multiplexing,OFDM)系統中,這是由于OFDM系統中的預編碼技術需要考慮到頻域的特性和子載波之間的相互干擾。為了解決這一問題,文獻[9]將算法擴展到了頻率選擇衰落信道,對非凸進行松弛,得到了恒定包絡相位量化信號。文獻[10]中采用的方法在系統中存在大量子載波,導致矩陣維數大幅增加。文獻[11]提出了一種基于交替方向乘子法改進框架的高效算法,并保證了算法的收斂性。然而,這些1比特預編碼算法的計算復雜度較高,阻礙了實時系統中的應用。
近年來,深度學習技術已被廣泛應用于無線通信系統的物理層[12],包括信道狀態信息反饋[13]和預編碼器設計[14]等方面。盡管基于深度神經網絡和卷積神經網絡的預編碼方法在某些應用場景下表現出色,但它們需要大量的訓練數據,缺乏可解釋性和泛化能力。與之相比,基于模型的展開技術(Unfolding)因其可解釋的架構和快速的訓練而越來越受歡迎,尤其是針對下行大規模MIMO系統預編碼設計的問題。已有多項研究采用基于神經網絡的展開技術解決這一問題,例如He等人[15]將迭代離散估計算法展開為一個神經網絡,開發了一種基于深度學習的預編碼方法。Balatsoukas-Stimming等人[16]將近似解決雙凸松弛問題的預編碼算法迭代展開,在低2倍復雜度的情況下實現了相近的SER性能。Hu等人[17]提出了一種高效的基于迭代展開的算法,用以解決多用戶MIMO系統中預編碼設計的和速率最大化問題。
目前,基于深度學習的預編碼設計主要集中在單載波通信[15-17],而在多載波系統中的應用還未得到很好的研究。本文基于收斂保證的多載波1比特預編碼算法(Convergence-Guaranteed Multi-Carrier One-Bit Precoding, CG-MC1bit)[11]展開,提出了一種適用于下行大規模多用戶MIMO OFDM系統的算法CG-MC1bit-Net。具體來說,將 CG-MC1bit算法展開為神經網絡,用網絡層數替代迭代次數,用雙曲正切函數近似替代量化函數,并引入模型參數取代算法中的復雜性操作,從而將其展開為CGMC1bit-Net,該算法能夠在離線階段通過大量樣本的訓練獲得網絡權重,在線應用時利用所得權重,用較低的計算復雜度即可獲得優秀的性能。算法還具有對系數的更新更靈活的特點,能夠進一步提升系統性能。在數據集上對該算法進行了評估,結果表明,該預編碼算法得到的數據具有優秀的SER性能,計算復雜度低于現有的算法,收斂速度快,大大提升了運行速度,更加有利于實時系統中的應用。
本節介紹了發射端采用1比特DAC的MIMO OFDM系統模型,并研究了頻率選擇信道下的OFDM系統,通過適當的系統配置,每個子載波可以有效地通過平坦衰落信道。
如圖1所示的是發射機處使用1比特DAC的大規模多用戶MIMO OFDM系統的下行鏈路結構。配備Na根天線的基站同時服務M個單天線用戶,L表示OFDM系統的載波數。為簡單起見,每個用戶的模數轉換器假設都是理想的。

圖1 系統模型
在時域中,發射天線上的時域信號表示為xT[n]∈CNa×1,其取值范圍屬于一個有限的離散集X ∈CNa×1,假設預編碼向量滿足功率約束‖xT[n]=1。通過傅里葉變換,可以將時域信號轉換為頻域信號:
其中,載波數為L,FL ∈CL×L是一個L點的DFT矩陣,在(m,n)點時, (FL)mn=e(m-1)(n-1),XF= [x[1],x[2],...,x[L]]表示頻域上的發射信號。
在頻域中,當系統包含的載波數為L時,第l個子載波的接收信號數學模型可以表示為
其中,YF= [y[1],y[2],...,y[L]]表示用戶設備接收的信號,y[l]∈CM×1是YF的第l個子載波。ZF=[z[1],z[2],...,z[L]]表示獨立同分布的加性高斯白噪聲,每個子載波的概率分布服從高斯分布,即z[l]~CN(0,σ2IM),IM表示為維度為M×M的單位矩陣。x[l] 為發射信號XF的第l個子載波。H[l]∈CM×Na表示下行MIMO系統的第l個子載波的頻域信道矩陣。
當大規模MIMO系統采用1比特預編碼時,同相路徑和正交路徑都由1比特DAC提供,此時離散集其中,γ表示功率歸一化因子。s[l]∈JM×1表示第l個子載波傳輸的數據符號,并映射到星座點J上。
為了評估量化輸出系統的性能,可以通過評估輸入與輸出之間的均方誤差(Mean Square Error,MSE),將模型化簡成一個最小化所有子載波上的MSE優化問題:
其中,α表示預編碼調整因子,設置適當的預編碼調整因子能夠獲得較低的MSE。
文獻[11]中采用了CG-MC1bit算法,在式(3)的基礎上進一步化簡,并通過在拉格朗日函數上增加懲罰項進行求解,使得原本的優化問題可以通過X,R,V,α的迭代更新來解決,懲罰項的引入使得算法收斂更快。
其中,R ∈CNa×L是引入的輔助變量,V ∈CNa×L是引入的對偶變量,用k代表迭代次數,‖·‖F簡稱F-范數,代表矩陣各項元素的絕對值平方的總和。
首先Xk+1的最優解可以通過最小二乘法求出,它的第l個子載波可以表示為
輔助變量R的更新可以表示為
式(5)中首先將時域信號投影到給定的有限離散集合X上,然后轉換到頻域,投影表示為P(·)=sign(?(·))+jsign(?(·))。
預編碼因子α可以通過最小二乘法求出,αk+1的定義如下:αk+1
其中,hi[l]∈CNa×1,[l] 表 示H[l] 的 第i行 ,si[l]∈C1×1,[l]表示s[l]的第i行。
對偶變量V k+1由式(7)進行更新:
在進行K次迭代后,輸出的R記為Rout,通過Rout可以計算出信號XF:
CG-MC1bit算法將優化問題表述為MSE最小化問題,并在拉格朗日函數上增加懲罰項進行求解,可以減小1比特DAC帶來的失真,然而 CG-MC1bit算法需要的迭代次數高,并且部分求解步驟的計算復雜度較高,大大增加了計算成本,這不利于其在實時系統中的應用。
本節針對下行大規模MIMO OFDM系統的應用場景,提出了一種基于迭代展開的1比特預編碼算法,來降低系統中成本與功耗,解決實時系統中的應用問題。
迭代展開是一種深度學習中的優化方法,能夠將優化算法的循環結構展開成多層神經網絡。使得算法的迭代過程可以在神經網絡的訓練過程中進行,從而在一些應用領域中獲得更好的性能,已經有研究人員對半二次分裂算法[18]、壓縮感知圖像重構算法[19]進行了展開。需要注意的是,展開的方法通常需要根據具體的算法和應用場景進行調整和優化,以充分利用神經網絡的表達能力和訓練算法的優化能力。因此,在使用展開方法時,需要根據具體的問題和資源進行合理的調整和選擇。
CG-MC1bit算法結構上與神經網絡有著相似之處,算法的每次迭代可以被看作神經網絡的一層隱藏層,每次迭代中引入的非線性操作被視為激活函數,從而將CG-MC1bit算法展開成一個神經網絡的形式。圖2展示了CG-MC1bit算法展開后的數據流圖,其中,輸入S代表傳輸信號矩陣,H代表信道矩陣,K代表神經網絡層數。

圖2 數據流圖
本文提出了CG-MC1bit-Net算法,具體的算法流程如算法1所示,算法具體描述為:首先初始化網絡,在前向傳播中,按照步驟(5)-步驟(13)計算出第k層預編碼因子αk和對偶變量V k,并將這兩個值將作為第k+1層神經網絡的輸入來參與運算,在最后K層處輸出時域上的輔助變量RKT,并計算 lossMSE。在反向傳播中,根據損失函數的定義,計算各個模型參數的梯度,并利用Adamax優化器來更新每一層的訓練參數,需要注意的是每層的訓練參數的更新都是獨立的。由于反向傳播求取梯度時僅支持實值操作,在使用神經網絡處理復數數據時,可以將復數矩陣的實部和虛部拆開拼成實矩陣,然后在實數域上進行前向傳播和反向傳播計算。
在CG-MC1bit算法中,由于每次迭代都使用了量化函數,會導致部分計算步驟不能正常微分,這對神經網絡來說是不可忽視的,因為只有具有良好梯度的函數才能正常地進行反向傳播,從而實現模型參數的更新。分析CG-MC1bit算法,發現式(5)中使用了投影函數ρ(·),其中的符號函數會導致梯度消失,需要使用其他的函數進行近似替代。目前,有幾種常用的近似符號函數的方法,并能解決梯度消失的問題。例如使用軟符號函數[20]或剪切函數[21],由于它們只能在截斷間隔內傳遞梯度信息,對于[-1,1]之外的參數,梯度被限制為 0,這一特性極大地限制了反向傳播的更新能力。因此,在本文的研究中采用了文獻[22]中提出的方法,該方法能夠保證訓練早期的更新能力,并逐漸將曲線演變到階梯函數的形狀,值得注意的是,算法中輸出值最終會進行歸一化,并將注意力集中于虛部和實部的正負關系,從而進一步減小了符號函數和近似函數之間的信息丟失問題。因此使用了σtanh(·×δ)去近似代替P(·) , 其中σ,δ表示訓練參數,為了更好地處理,將式(5)拆分為式(9)和式(10):

算法 1 CG-MC1bit-Net算法
由式(6)可知,求取α涉及不同載波數的求和,計算復雜度較高,特別是當載波數較大時,不僅會大大降低訓練的效率,在反向傳播時可能也容易導致梯度消失或者梯度爆炸。從訓練時間和復雜度的方向考慮,可以將α設置成神經網絡中的一個模型參數,通過優化器進行自動更新,大大降低成本的同時還能保證其性能。
每次迭代過程中,由于近似替代了符號函數,需要對損失函數重新進行定義,讓CG-MC1bit-Net最終輸出時域上的輔助信號,結合式 (1)、式(8)和式(10)可知,與時域上的發射信號XT矩陣中對應元素的正負關系是相同的,因此對網絡輸出值R與實際值XT作如下處理,首先讓通過激活函數 ReLU,并使用min函數設置輸出值不超過1,得到=min(ReLU(),1),對實際值XT進行如下處理,=0.5sign(XT)+0.5,將網絡輸出值和真實值映射到(0,1)之間,并計算每個子載波的誤差,用 lossMSE作為訓練過程中的損失函數,損失定義如下:
在反向傳播中,根據損失函數計算梯度,并通過神經網絡的訓練過程來更新每個階段的模型參數,以最小化 lossMSE。
本節通過仿真分析了所提出的1比特非線性預編碼算法的性能。
為了驗證本文所采用的CG-MC1bit-Net算法在解決下行大規模多用戶MIMO ODFM系統預編碼的有效性,本文考慮了用戶設備數M=8和 載波數L=1024的系統,為每種不同參數的模型生成1 000組訓練樣本的數據集,在仿真實驗中,前700組數據為訓練數據集,后300組數據為測試數據集,值得注意的是,網絡模型中初始值的選擇綜合考慮了網絡結構、收斂速度、穩定性等多個因素,通過實驗驗證,確保了神經網絡的訓練過程能夠更穩定、高效地進行,并使模型能夠在最終收斂到更好的結果。
將文獻[9]和文獻[10]中提出的非線性算法作為對比算法,分別為平方無窮范數道格拉斯-拉奇福德分裂算法(Squared-infinity-norm Douglas-Rachford Splitting, SQUID)、恒包絡符號級預編碼算法(Constant Envelope Symbol Level Precoding,CESLP)。文中提出的算法記為“CG-MC1bit-Net”,參考的算法記為“CG-MC1bit”。無限分辨率DAC的WF預編碼記為“WF-inf”,1比特DAC的WF預編碼記為“WF-1bit”,分別作為理想情況和最壞情況的基線。
首先考慮一個具有Na=128個天線的基站,此時選取的用于訓練和測試的信道矩陣H和傳輸信號S的維度分別為 8×128×1024 和 128×1×1024。
圖3比較了CG-MC1bit和CG-MC1bit-Net算法在測試階段的SER隨迭代次數(或神經網絡層數)的變化情況。設置初始參數σ=3.0,α=0.1,λ=3.0,δ=2.2 ,選取學習率η=0.1,SNR設置為2 dB。從圖3可以看出,兩種算法的性能損失均是隨著迭代次數(神經網絡層數)的增加而逐漸下降,但是CG-MC1bit-Net算法的收斂速度明顯更快,僅僅使用了6層神經網絡就達到了CG-MC1bit經過近20次迭代的誤差水平。

圖3 CG-MC1bit與CG-MC1bit-Net算法收斂性對比
在上述的對比中, CG-MC1bit算法本身是一個固定參數的計算過程,算法的最終性能依賴于設置參數的初始值;而CG-MC1bit-Net算法受益于神經網絡內部權重更新,能夠快速自動地更新模型參數,因此CG-MC1bit-Net算法收斂更快。
需要指出的是,CG-MC1bit-Net前向傳播中的每一層的運算量比CG-MC1bit算法的1次迭代的運算量要少,這是由于將α設置成神經網絡中的一個訓練參數,通過神經網絡自動進行更新,從而減少不必要的計算。此外,將CG-MC1bit算法展開為神經網絡后,可以加快收斂速度,大大減少所需的迭代次數,降低了整個算法的計算量。
表1是算法在運行一次蒙特卡羅迭代所需的時間,通過運行時間來測試算法的計算復雜度,采用3.60 GHz的雙核CPU進行測試,表中的時間為平均運行時間,分別測試了發射天線數為128根和512根的情況,初始參數設置與上述相同,可以觀察到,CG-MC1bit-Net運行一次蒙特卡羅迭代所需的時間更短,結果表明,本文提出的算法能夠在大大降低計算復雜度的情況下取得與CG-MC1bit算法相近的性能。

表1 運行速度對比
在網絡訓練過程中,不同學習率下的CG-MC1bit-Net算法的收斂速度隨著訓練數據批次數的變化如圖4所示。其中,SNR以及初始參數的設置均與上述相同,每4組數據為一個批次,神經網絡層數設置為6。可以看出,不同學習率下算法的SER性能隨著訓練批次的增加而逐漸下降,當學習率設置偏高時,可能導致模型參數在更新過程中跳過最優解,使模型在最優解附近波動,進而在圖中呈現出誤碼率的交叉。相對地,當學習率較小時,優化算法可能需要更多迭代次數才能達到最優解,導致訓練過程變得緩慢,同時還可能導致算法陷入局部最優解,進而增加誤碼率,并加大訓練成本。因此,設定合適的學習率能夠使模型更穩定、更快速地收斂,并獲得更好的SER性能。

圖4 不同學習率下的收斂速度
值得強調的是雖然對于CG-MC1bit仿真所得的數據集,CG-MC1bit-Net只需6層固定長度的神經網絡就接近了CG-MC1bit算法的性能,但是對于不同的數據集,CG-MC1bit-Net需要的神經網絡層數并不一定相同。盡管如此,CG-MC1bit-Net算法的收斂性仍快于CG-MC1bit算法。
為了衡量算法的訓練效果,在圖5展示了損失函數 lossMSE的最小化過程,SNR以及初始參數的設置均與上述相同,學習率設置為0.10。圖中顯示了隨著訓練損失函數逐步降低的趨勢,證明了所提出的CG-MC1bit-Net算法在訓練過程中不斷優化。

圖5 損失函數的下降趨勢
下面從接收端誤碼率的角度給出了在基站采用不同預編碼算法時的解調性能。能夠直觀地展示不同算法對性能的改善。
采用發射天線數Na=128 ,用戶數M=8,載波數L=1024的 數據集進行性能分析,學習率η=0.1,其他初始參數設置與上述相同。假設基站與所有用戶之間的距離相近,即不同用戶的信道具有相似的路徑損耗。對QPSK調制信號和16QAM調制信號進行仿真,結果如圖6所示。可以觀察到,線性預編碼WF-1bit性能最差,隨著SNR的增大,SER并沒有明顯改善,這反映了線性預編碼無法彌補1比特DAC造成的損失。與線性預編碼方法相比,非線性預編碼方法的SER隨SNR的增大而減小,這一趨勢與WF-inf相一致,表明非線性預編碼在高SNR的情況下也能補償1比特量化損失。

圖6 當 M =8 , Na =128時各算法的誤碼率性能對比
由于實驗中的神經網絡是以CG-MC1bit算法的仿真數據為樣本來進行訓練的,性能可能會比較接近原本算法。其中圖6(a)采用QPSK調制, 圖6(b)采用16QAM調制。圖6(a)中,CG-MC1bit-Net算法表現出比QCESLP和SQUID更好的SER性能,并且與CG-MC1bit算法的性能十分相近,幾種算法的SER最終都能收斂到 10-5的水平。圖6(b)中CG-MC1bit-Net算法的性能在高信噪比情況下略遜于CG-MC1bit算法,但比 SQUID性能更好,與QCESLP表現相近。值得注意的是,CG-MC1bit算法的計算復雜度與SQUID算法相近并且低于QCESLP算法,因此,根據表1的數據可知,相同設備的條件下,CG-MC1bit-Net運行一個蒙特卡羅迭代的速度更快,即CG-MC1bit-Net以最低的計算復雜度獲得了具有競爭力的性能。
另外,本文研究了發射天線數對SER性能的影響,令天線數Na=512,用戶設備數和載波數與上述設置相同。此時信道矩陣H和傳輸信號S的維度分別為 8×512×1024 和 512×1×1024。圖7是天線數Na=512時各算法的SER性能對比。在圖7(a)中,CG-MC1bit-Net算法的性能十分接近CG-MC1bit,并且在某些SNR的情況下性能更優,明顯好于QCESLP和SQUID算法的性能,在圖7(b)中,CGMC 1bit-Net算法的性能比圖6(b)中表現得更好,優于其他兩個對比算法,與CG-MC1bit性能比較接近。結果表明在基站處使用更多天線的系統在不同調制方案下的性能都會表現得更好。

圖7 當 M =8 , Na =512時各算法的誤碼率性能對比
本文還對于用戶數量對SER性能的影響進行了研究。在此實驗中,保持發射天線數、載波數不變,即Na=128,L=1024,選用QPSK調制方法,僅改變用戶數量,探究用戶數對系統性能的影響。圖8展示了用戶數M=4及M=8時算法的SER性能對比情況,在不同的用戶數下,提出的算法CGMC1bit-Net均能展現出優秀的SER性能,和原CGM C 1 b i t 算法的S E R 性能十分接近,并好于QCESLP和SQUID算法的性能,特別是在用戶數較大的情況下。這表明提出的算法具有魯棒性,在不同用戶數量場景下都能保持穩定的性能。

圖8 當 Na =128時不同用戶數的誤碼率性能對比
由上述對比可以看出,CG-MC1bit-Net算法計算復雜度最低,相同蒙特卡羅迭代的情況下運行時間更短,并且能夠取得比QCESLP, SQUID算法更好的SER性能,當改變天線數、用戶數量以及調制方式時,CG-MC1bit-Net算法都表現出了優秀的性能,特別是在天線數較大時,對QPSK,16QAM調制都表現較好,十分接近CG-MC1bit算法的性能,并且在部分SNR下的SER性能會表現得更好。
本文針對現有MIMO OFDM下行系統的1比特預編碼算法計算量大的問題以及無法在實時系統中運用的問題,提出了一種基于深度學習的預編碼算法,并在數據集上對算法進行了評估和仿真。結果表明該算法能夠自動更新模型參數,克服了現有優化算法對初始參數敏感以及收斂速度慢的問題,能夠將優化問題變為離線的神經網絡進行訓練,在線使用時收斂速度更快,計算復雜度更低,并獲得了優秀的SER性能,在運行一個蒙特卡羅迭代的平均時間降低至CG-MC1bit算法的20%左右,并且當天線數量、用戶數量增加時,CG-MC1bit-Net算法能夠獲得更加優越的性能。