孫 樂,孔 勇,黃 虎
(1.中國聯(lián)合網(wǎng)絡通信有限公司網(wǎng)絡技術研究院,北京 100048;2.北京中測安華科技有限公司,北京 100085;3.中國運載火箭技術研究院研究發(fā)展中心,北京 100076)
MIMO 系統(tǒng) V-BLAST 檢測算法的 FPGA 實現(xiàn)
孫 樂1,孔 勇2,黃 虎3
(1.中國聯(lián)合網(wǎng)絡通信有限公司網(wǎng)絡技術研究院,北京 100048;2.北京中測安華科技有限公司,北京 100085;3.中國運載火箭技術研究院研究發(fā)展中心,北京 100076)
用 FPGA 實 現(xiàn) 了 多 種 垂 直 分 層 空 時 碼 (Vertical-Bell Laboratories Layered Space-Time,V-BLAST) 檢測算法,包括最大似然 (Maximum Likelihood,ML) 檢測算法、破零 (Zero Forcing,ZF) 檢測算法和最小均方誤差 (Minimum Mean Square Error,MMSE) 檢測算法。首先研究了MIMO V-BLAST 系統(tǒng)架構、數(shù)學模型和多種接收機檢測算法,分析了關鍵檢測算法的特性和性能,重點使用 Verilog 硬件描述語言在 Xilinx 的 Vertex4-VC4VSX55 FPGA 開發(fā)板上實現(xiàn)了 V-BLAST 系統(tǒng)架構和三種檢測算法,并通過仿真結果比較了每一種算法的復雜度和性能。仿真結果表明對于V-BLAST 檢測,ML 具有最優(yōu)的性能但復雜度最高;ZF 算法具有較低的復雜度但比 ML 的性能略差;MMSE 算法復雜度只比 ZF算法略大但性能卻有顯著提升。
多輸入多輸出;垂直分層空時編碼;最大似然算法;最小均方算法;現(xiàn)場可編程門陣列
多 輸 入 多 輸 出 (Multiple-Input Multiple-Output,MIMO) 技術在不增加帶寬和天線功率譜的情況下可以成倍地增加通信系統(tǒng)的容量和頻譜利用率,已經(jīng)成為無線通信領域的一個熱門話題。信息論表明如果收發(fā)信機使用多個天線,系統(tǒng)容量隨著天線數(shù)的增加而增 加[1]。Foschini 在 1996 年 提 出 了 分 層 空 時 編 碼(BLAST)結 構[2],包 括 早 期 的 D-BLAST 和 后 來 的V-BLAST,都受到廣泛關注。BLAST 編碼是把多種檢測技術合并后來分離信號,可以實現(xiàn)較高的頻譜利用率,因此 V-BLAST 被廣泛應用于 MIMO 系統(tǒng)。為了在接收機分離多個空間復用的數(shù)據(jù)流,學者們提出了很多非線性(如最大似然算法)和線性檢測算法(如最小均方誤差算法、破零算法)。為了滿足不同系統(tǒng)不同性能和復雜度的需求,可以在不同的接收機采用不同的檢測算法。因此,這些檢測算法在實際應用中具有很大的應用價值。
現(xiàn) 場 可 編 程 門 陣 列 (Field Programmable Gate Array,F(xiàn)PGA)被認為是一種建立原型和開發(fā)設計的快速方法。它具有很多的優(yōu)點,包括更低的開發(fā)成本、更短的開發(fā)時間并且可以靈活地重新配置設計。MIMO系統(tǒng) V-BLAST 檢測算法的 FPGA 實現(xiàn)和驗證將成為未來無線通信的一種有效方法。
本文介紹了完整的 MIMO V-BLAST 系統(tǒng)模型,分析了不同的 MIMO 譯碼檢測算法,重點在 Xilinx Vertex 系統(tǒng) FPGA 開發(fā)板上使用 Verilog 硬件描述語言分別實現(xiàn) V-BALST 的三種檢測算法,最后對比分析了不同檢測算法的性能和復雜度。
在無線通信理論中多徑效應會導致信號衰落,但如果天線間距足夠大并且多徑分量足夠豐富,接收到的多徑信號將成為獨立的。MIMO 技術就是利用此特性獲得復用增益和分級增益以提高容量和無線鏈路質量。圖1 是 MIMO V-BLAST 系統(tǒng)模型。
圖1 MIMO V-BLAST 系統(tǒng)模型
3.1 最大似然檢測算法
最大似然譯碼是最佳的矢量譯碼方法[3~8]。假設一個線性時不變數(shù)據(jù)發(fā)射系統(tǒng),接收機的數(shù)據(jù)受到高斯白噪聲的干擾。ML算法是符號矢量r的最佳聯(lián)合檢測算法。當發(fā)送信息符號矢量具有相同概率時,ML算法可以被表示為:
作為最有效的檢測算法,ML可以得到最好的性能,但它的復雜度也是非常大的。
3.2 破零檢測算法
ZF算法使用信道矩陣H的偽逆矩陣作為權重矢量[3~8],檢測輸出結果如下所示:
ZF檢測算法通過引入偽逆矩陣簡化了算法,信道矩陣 H 被轉化為 NT個并行標量信道和噪聲的疊加。很明顯,噪聲分量由于左乘偽逆矩陣而被增強了。因此 ZF檢測算法相比于 ML檢測算法降低了復雜度,但同時性能也有所下降。
3.3 最小均方誤差檢測算法
ZF 可以消除其他天線的干擾,但會使放大背景噪聲性能略有下降。因此,一些學者提出了 MMSE 檢測算法[3~8]。MMSE 檢測算法不僅需要計算偽逆矩陣,還需要估計所有接收天線的 SNR。因此 MMSE 算法可以有效抑制背景噪聲干擾。MMSE 算法不同于 ZF 算法的地方在于使用了矩陣 GMMSE代替了 H+:
MMSE檢測算法可以被表示為:
其中 σ2是加性高斯白噪聲的方差,I是 NR×NT的單位矩陣。
基 于 Xilinx Virtex-4 XC4VSX55 芯片 的 ML402 FPGA 開發(fā)平臺,采用 Verilog 硬件描述語言實現(xiàn)了MIMOV-BLAST 系統(tǒng)不同檢測算法的 FPGA 設計實現(xiàn)。
4.1 ML 檢測算法的 FPGA 實現(xiàn)
根據(jù)公式(2),ML 算法可以被分成 4 個模塊,如圖2所示。
圖2 ML 檢測算法的 FPGA 功能模塊
4.1.1 初始空間模塊的 FPGA 實現(xiàn)
該模塊根據(jù)調制模式和發(fā)送機的發(fā)射天線數(shù)生成相應的碼字空間。為了搜索全部碼字空間,ML檢測器把這些碼字按照特定順序存儲到RAM中,稱作全部碼字空間的建立。本實現(xiàn)方案采用 MIMO 系統(tǒng)、BPSK 調制方式,2 個發(fā)射天線的發(fā)送數(shù)據(jù)有 4 種可能,如圖2所示。
4.1.2 模擬信道模塊的 FPGA 實現(xiàn)
該模塊首先接收到通過訓練符號估計出的信道矩陣 H,再通過 MIMO 信道模型計算每個碼字的接收信號。實現(xiàn) FPGA 內嵌的 IP 核復數(shù)乘法器 v2.1 技術進行 4個矩陣向量乘法操作,如下所示:
從式(6)中可以看出,需要 4 個硬件乘法器和 2 個加法器來計算一個接收信號。由于 Verilog 語言是一種并行處理語言,可以同時運行多個乘法器任務,6 個乘法器和2個加法器可以同時工作以便于實現(xiàn)高速數(shù)字信號處理。
4.1.3 差分模塊的 FPGA 實現(xiàn)
該模塊首先接受信號向量 r,然后根據(jù)公式(2)計算矩陣 c=r-Hs,最后獲得 4 個 2×1 向量矩陣 c1,c2,c3,c4,如下所示:
其中 GZF來自于轉置模塊的輸出,r是接收信號的輸入向量。這個模塊的關鍵矩陣和向量的乘法可以通過前面所述的方法來實現(xiàn)。
4.2.3 判決模塊的 FPGA 實現(xiàn)
該模塊考慮的是 BPSK 調制,因此判決模塊的結構如圖5所示。
BPSK 星座圖被提前存儲在 ROM 里。當信號s?到達時,把它的歐幾里德距離和星座圖進行比較,最小的歐幾里德距離用來判決輸出結果,然后再通過映射來輸出解調后的信號。
4.1.4 判決模塊的 FPGA 實現(xiàn)
該模塊首先從前一模塊讀取 c1,c2,c3,c4,再基于 ML檢測準則計算每個 Frobeniu 范數(shù),最后就可以判決出具有最小值的s?為最終輸出信號。
4.2 ZF 檢測算法的 FPGA 實現(xiàn)
ZF 檢測算法可以被分成 3 個模塊,如圖3 所示。
圖3 ZF 檢測算法的 FPGA 功能模塊
4.2.1 轉置模塊的 FPGA 實現(xiàn)
ZF檢測算法里最重要的部分就是計算檢測矩陣GZF,即矩陣轉置算法。矩陣轉置算法的流程圖如圖4所示。
圖4 矩陣轉置算法的 FPGA 實現(xiàn)
4.2.2 接收機模塊的 FPGA 實現(xiàn)接收機模塊的功能主要是計算如下公式:
圖5 ZF算法的判決模塊結構
4.3 MMSE 檢測算法的 FPGA 實現(xiàn)
ZF算法由于放大了背景噪聲,因而造成系統(tǒng)性能相比 ML算法略有下降。因此 MMSE算法被提出。MMSE 算法的 FPGA 實現(xiàn)框圖如圖6 所示。
圖6 MMSE 檢測算法的 FPGA 功能模塊圖
可以看出 MMSE 檢測算法分成三個功能模塊,和ZF檢測算法唯一的不同之處就是第一個模塊,即計算權重矩陣。因此重點設計權重矩陣的 FPGA 實現(xiàn)。
權重矩陣模塊接收到信道矩陣H后,通過公式(5)計算權重矩陣 GMMSE。權重矩陣模塊的實現(xiàn)框圖如圖7示。
圖7 MMSE檢測算法的權重矩陣計算框圖
因為 HHH具有共軛對稱性,就需要計算(HHH)ij(1≤i≤j≤2)的值。同時由于信道狀態(tài)已知,信道噪聲方差也是已知的。I是一個 2×2 單位矩陣,σ2是一個常數(shù)。因此,需要計算 Iii=σ2(i=1,2),此時并不需要乘法器,可以有效降低 FPGA 硬件資源的消耗。矩陣 C 的轉置可以通過 4.2 節(jié)模塊進行計算。最后計算 GMMSE=HHC-1。
為了直接比較 V-BLAST 檢測算法,采用不同SNR 和收發(fā)信機天線數(shù)下不同檢測算法的 BER 性能進行分析。信道模型采用準靜態(tài)瑞利平臺衰落信道模型,噪聲是獨立同分布復高斯噪聲,噪聲的方差是 σ2。信道狀態(tài)是已知的并保持精確同步。時鐘頻率 100 MHz,連續(xù)發(fā)送 80000 個數(shù)據(jù)。
圖8 比較了 NR=NT=2、BPSK 條件下三種檢測算法的 FPGA BER 性能。從圖8 中可以看出 ML 算法性能最優(yōu),但它復雜度最高、星座圖也很大。ZF 算法引入了信道轉置的概念來降低復雜度并從其他天線消除干擾,因此是一種簡單、實際的算法。MMSE 算法在接收端增加了 SNR 的信息,性能要好于 ZF 算法。
圖8 不同檢測算法的 BER 性能對比
為了進一步研究多天線的影響,圖9給出了 ZF算法 QPSK 調制下不同天線數(shù)的對比分析。從圖9 中可以看出,3×3 系統(tǒng)性能最優(yōu),2×2 系統(tǒng)次之,1×1 系統(tǒng)性能最差。這表明隨著發(fā)射天線和接收天線數(shù)的增加,接收機性能可以得到顯著改善。天線數(shù)越多,MIMO系統(tǒng)的增益階數(shù)越大,系統(tǒng)性能越好。
圖9 ZF 檢測算法不同天線數(shù)的 BER 性能對比
2×2 系統(tǒng) BPSK 調制情況下三種 V-BLAST 檢測算法的 FPGA 實現(xiàn)的資源使用情況如表1 所示。ML的信號空間是 4。由于仿真條件比較簡單,因此 ML 檢測器并不是消耗資源最大的。如果仿真條件更復雜,如采用 16QAM、4 天線,信號空間將是 164=65536,復雜度將是實際應用難以承受的。從圖9和表1中可以看出,MMSE 算法的復雜度比 ZF 要大,但性能得到顯著改善。因此,我們必須根據(jù)實際的特定環(huán)境在復雜度和檢測算法性能間取得一個平衡。
表1 不同檢測算法 FPGA 資源占用率
下一代移動通信系統(tǒng)中對 V-BLAST 系統(tǒng)進行了系統(tǒng)的研究和應用。本文設計了三種檢測算法(ML、ZF 和 MMSE)的硬件實現(xiàn)分發(fā)和架構,并比較了它們的復雜度和性能。對于 V-BLAST 檢測,ML 具有最優(yōu)的性能但復雜度最高;ZF算法具有較低的復雜度但比ML 的性能略差;MMSE 算法復雜度只比 ZF 算法略大但性能卻有顯著提升。因此,需要根據(jù)系統(tǒng)性能和復雜度的需求來選擇不同的檢測算法。V-BLAST 檢測算法還有很大的研究空間,可以與空時編碼來降低復雜度并獲得更好的系統(tǒng)性能。
[1]Foschini G J,Gans M J.On limits of wireless communications in a fading environment when using multiple antennas[J].Wireless Personal Communications, 1998:311-335.
[2]Foschini G J.Layered space-time architecture for wireless communications in a fading environment when using multi-element antennas[J].Bell Labs Technical Journal, 1996:41-59.
[3]Swetman H,Thompson S.A comparison of detection algorithms including blastfor wireless communication using multiple antennas[C].The 11thIEEE internationalSymposium on Personal Indoor and Mobile Radio Communications, IEEE Press,London,2000:698-703.
[4]Golden G D,Foschini G J,Valenzuelara,et a1.Detection algorithm and initial laboratory results using V-BLAST space-time communication architecture[J].Electronics Letters, 1999:14-16.
[5]Tang WanBin,Zhou YanLin,Li ShaoQian.MMSE iterative softinterference cancellation algorithm using transmitpower allocation scheme in V-BLAST system[C].2005 International Conference on Communications,Circuits and Systems.2005,1:462-466.
[6]Xie Z,Short R T,Rushforth C K.A Family of Suboptimum detectors for coherent multi-user communications[J].IEEE Journalon Selected a Areas in Communications,1990,8(4): 683-690.
[7]黃韜,袁超偉,劉鳴.MIMO 相關技術與應用[M].北京:機械工業(yè)出版社,2007:2-8,33-39.
[8]劉謙雷,楊綠溪,許道峰.用于 MIMO 信號檢測的降低復雜度 V-BLAST 算法[J].通信學報,2007,28(9):40-45.
FPGA Implementation of a V-BLAST Detection Algorithm in MIMO System
SUN Le1,KONG Yong2,HUANG Hu3
(1.China Unicom Network Technology Research Institute,Beijing 100048,China;2.Beijing ZCAH Technology Co.,Ltd.,Beijing 100085,China;3.China Academy of Launch Vehicle Technology,Research and Development Center,Beijing 100076,China)
The paper presents an FPGA implementation of various V-BLAST detection algorithms,such as Maximum Likelihood,Zero Forcing and Minimum Mean Squared Error.Firstly,the MIMO V-BLAST system structure,the mathematicalmodels and a variety ofreceiverdetection algorithms are studied in detail.Then the characteristic and performance of typical algorithms and focus on using the Verilog hardware description language are analyzed to implementthe V-BLAST system architecture and the three detection algorithms on the Xilinx's Vertex4-VC4VSX55 FPGA.Ultimately,simulation results are compared with each other in terms of complexity and performance.Simulation analysis shows that ML has the best performance and the greatest complexity;ZF has lower complexity and a larger gap from the performance of ML;MMSE's complexity is a litterbiggerthan ZF algorithm with significantly improved performance.
Multiple-Input Multiple-Output(MIMO);Vertical-Bell Laboratories Layered Space-Time (V-BLAST);Maximum Likelihood(ML);Minimum Mean Square Error(MMSE);Field Programmable Gate Array(FPGA)
TN911.23
A
1681-1070 (2017)06-0031-05
孫 樂(1986—),女,北京交通大學碩士,工程師,主要研究方向為無線通信系統(tǒng)解決方案和無線新業(yè)務解決方案。
2017-2-24