該論文是實驗室師兄最新發表於WCL(IEEE Wireless Communication Letters)的一篇論文(tql !!!)。這種採用深度學習與BF結合的方法給了我很大的啓發。(膜拜,嘿嘿!)
IEEE link:https://ieeexplore.ieee.org/document/8847377/
Arxiv link: https://arxiv.org/abs/1904.03657
Code Guithub(記得關注師兄github以及本CSDN賬戶,博主更新不易,需要支持!): https://github.com/TianLin0509/BF-design-with-DL
背景
混合波束賦形(HBF)已經得到了廣泛的研究,它在有效抵消毫米波嚴重路徑損耗與降低大規模MIMO系統開銷方面有十分重要的意義。一些傳統的方法,大多是基於凸優化、矩陣論、最優化理論等等(可以參考本博主混合波束賦形專欄)的設計。而最近通過深度學習的方法來處理這種傳統問題引起了人們的關注。
系統模型
考慮下圖的下行窄帶MISO系統,採用HBF架構。
重要的一些參數(其餘請參照論文):
:維度爲的模擬預編碼
: 數字預編碼權值(標量)
:維度爲 的信道矩陣
該系統的SE(Spectral Efficiency):
其中,最大發送功率約束爲:,受到恆定模量約束:。可以證明,最優是,即滿足最大功率約束。
此時,BF的設計問題可以表示爲:
其中,代表信噪比(SNR)。由於SNR一般認爲可以比CSI更加準確的估計,因此作者假設。
文章貢獻
文章貢獻如下:
- 新的設計方法:利用估計的CSI作爲BFNN輸入,直接輸出最優beamforming權值
- 新穎的Loss函數:創新性地提出了與SE十分相關的一個Loss函數
- 對於非理性CSI的魯棒性:提出了一種兩階段設計方法,利用估計的CSI作爲輸入,讓BFNN學會接近理想CSI下的SE。在線部署階段,BFNN能夠適應非理性CS實現對信道估計誤差的魯棒性。
NN(Neural Network)設計
一些挑戰
BFNN的設計存在以下幾個挑戰:
- BFNN的輸入應該是什麼?大多基於深度學習的工作是將接收到的基帶信號作爲輸入,而接收信號本身也是的函數需要去優化。同時接收信號維度太低。
- 如何保證BFNN的輸出滿足約束?大多深度學習(Deep Learning)如,tensoflow、pytorch框架並不支持複數輸出。因此對輸出施加恆模約束很困難。
- 訓練BFNN的時候如何打標籤?大多傳統的智能通信系統設計,標籤是設定爲傳輸比特或理想CSI。對於BF設計很難找到一個合適的標籤(首先,目前到這篇博文爲止無世界上最優的HBF,只有更優的HBF設計…其次,如果採用的傳統HBF算法的爲標籤,無論怎麼設計也不可能優於傳統算法)
作者的精彩應對:
- BFNN的輸入:估計的信道矩陣,估計的信噪比作爲輸入。
- Lamda層滿足恆模約束:經典的、完美的歐拉公式將相位作爲在最後一個Dense層的輸出,然後添加一個基於歐拉公式的Lamda層滿足恆模約束。(雖然理論公式簡單…但是這種想法太妙,使得輸出自然滿足恆模約束!tql)
- Loss 函數:在作者的設計中不需要標籤,直接將Loss函數定義爲:
其中是訓練樣本總個數,,和分別代表第個樣本的SNR、CSI和輸出模擬波束賦形權值。(注意:Loss函數的減少正好對應着平均SE的增加!)
兩階段設計方法
作者提出了兩階段設計方法,如下圖所示:
- 離線訓練階段:通過仿真,產生信道樣本(理想CSI)、傳輸導頻信號,噪聲樣本。然後在BS端實際的毫米波信道估計器利用獲得部分的CSI(非理想CSI)。將估計的信道矩陣,估計的信噪比作爲BFNN的輸入然後輸出最優最小化Loss函數。這裏直接將理想CSI和SNR作爲Loss的輸入,這樣做的好處是BFNN可以通過訓練學會如何儘可能接近基於理想CSI下的SE從而對信道估計誤差產生魯棒性!
- 在線部署階段:實際的在線部署,BFNN的所有參數已被訓練完畢並且固定,同時接收非理想CSI作爲輸入,直接輸出模擬波束賦形權值。
仿真性能
考慮一個的MISO系統。將估計的基帶等效信道矩陣拆分爲實部和虛部同時與串聯而成一個實值輸入向量。三個Dense層分別有256、128和64個神經元。爲了增強收斂性,每個Dense層之前連接一個batch-normalization層。最後,添加一個Lamda層使得最後的輸出滿足恆模約束,整個BFNN的細節如下圖。
在實驗中,訓練、驗證、測試集分別包含了,和個樣本。學習速率初始化爲0.001,使用Adam優化器。具體的信道生成參照論文。
下圖展示了,三種導頻信噪比(PNR),即:-20dB,0dB和20dB下,,且估計的信道徑數正確。可以看出,在PNR=20dB的時候有一定的增益,在低PNR的時候增加變得更大!
最後一張圖考慮了對徑數估計存在誤差時的情況,實際情況中徑數被預設爲一個很小的值。同樣可以看出,基於BFNN的設計仍然有一個更大的性能改善。
結論
針對採用大規模天線陣列的毫米波系統,作者提出了基於深度學習的BF設計方法。採用自定義的Lamda層和Loss函數很好地處理了存在硬件約束和非理想CSI挑戰的毫米波系統設計。仿真結果展示了:相較於傳統算法,BFNN設計所帶來的性能提升十分具有競爭力!