孫 樂,孔 勇,黃 虎
(1.中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司網(wǎng)絡(luò)技術(shù)研究院,北京 100048;2.北京中測(cè)安華科技有限公司,北京 100085;3.中國(guó)運(yùn)載火箭技術(shù)研究院研究發(fā)展中心,北京 100076)
MIMO 系統(tǒng) V-BLAST 檢測(cè)算法的 FPGA 實(shí)現(xiàn)
孫 樂1,孔 勇2,黃 虎3
(1.中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司網(wǎng)絡(luò)技術(shù)研究院,北京 100048;2.北京中測(cè)安華科技有限公司,北京 100085;3.中國(guó)運(yùn)載火箭技術(shù)研究院研究發(fā)展中心,北京 100076)
用 FPGA 實(shí) 現(xiàn) 了 多 種 垂 直 分 層 空 時(shí) 碼 (Vertical-Bell Laboratories Layered Space-Time,V-BLAST) 檢測(cè)算法,包括最大似然 (Maximum Likelihood,ML) 檢測(cè)算法、破零 (Zero Forcing,ZF) 檢測(cè)算法和最小均方誤差 (Minimum Mean Square Error,MMSE) 檢測(cè)算法。首先研究了MIMO V-BLAST 系統(tǒng)架構(gòu)、數(shù)學(xué)模型和多種接收機(jī)檢測(cè)算法,分析了關(guān)鍵檢測(cè)算法的特性和性能,重點(diǎn)使用 Verilog 硬件描述語(yǔ)言在 Xilinx 的 Vertex4-VC4VSX55 FPGA 開發(fā)板上實(shí)現(xiàn)了 V-BLAST 系統(tǒng)架構(gòu)和三種檢測(cè)算法,并通過仿真結(jié)果比較了每一種算法的復(fù)雜度和性能。仿真結(jié)果表明對(duì)于V-BLAST 檢測(cè),ML 具有最優(yōu)的性能但復(fù)雜度最高;ZF 算法具有較低的復(fù)雜度但比 ML 的性能略差;MMSE 算法復(fù)雜度只比 ZF算法略大但性能卻有顯著提升。
多輸入多輸出;垂直分層空時(shí)編碼;最大似然算法;最小均方算法;現(xiàn)場(chǎng)可編程門陣列
多 輸 入 多 輸 出 (Multiple-Input Multiple-Output,MIMO) 技術(shù)在不增加帶寬和天線功率譜的情況下可以成倍地增加通信系統(tǒng)的容量和頻譜利用率,已經(jīng)成為無(wú)線通信領(lǐng)域的一個(gè)熱門話題。信息論表明如果收發(fā)信機(jī)使用多個(gè)天線,系統(tǒng)容量隨著天線數(shù)的增加而增 加[1]。Foschini 在 1996 年 提 出 了 分 層 空 時(shí) 編 碼(BLAST)結(jié) 構(gòu)[2],包 括 早 期 的 D-BLAST 和 后 來(lái) 的V-BLAST,都受到廣泛關(guān)注。BLAST 編碼是把多種檢測(cè)技術(shù)合并后來(lái)分離信號(hào),可以實(shí)現(xiàn)較高的頻譜利用率,因此 V-BLAST 被廣泛應(yīng)用于 MIMO 系統(tǒng)。為了在接收機(jī)分離多個(gè)空間復(fù)用的數(shù)據(jù)流,學(xué)者們提出了很多非線性(如最大似然算法)和線性檢測(cè)算法(如最小均方誤差算法、破零算法)。為了滿足不同系統(tǒng)不同性能和復(fù)雜度的需求,可以在不同的接收機(jī)采用不同的檢測(cè)算法。因此,這些檢測(cè)算法在實(shí)際應(yīng)用中具有很大的應(yīng)用價(jià)值。
現(xiàn) 場(chǎng) 可 編 程 門 陣 列 (Field Programmable Gate Array,F(xiàn)PGA)被認(rèn)為是一種建立原型和開發(fā)設(shè)計(jì)的快速方法。它具有很多的優(yōu)點(diǎn),包括更低的開發(fā)成本、更短的開發(fā)時(shí)間并且可以靈活地重新配置設(shè)計(jì)。MIMO系統(tǒng) V-BLAST 檢測(cè)算法的 FPGA 實(shí)現(xiàn)和驗(yàn)證將成為未來(lái)無(wú)線通信的一種有效方法。
本文介紹了完整的 MIMO V-BLAST 系統(tǒng)模型,分析了不同的 MIMO 譯碼檢測(cè)算法,重點(diǎn)在 Xilinx Vertex 系統(tǒng) FPGA 開發(fā)板上使用 Verilog 硬件描述語(yǔ)言分別實(shí)現(xiàn) V-BALST 的三種檢測(cè)算法,最后對(duì)比分析了不同檢測(cè)算法的性能和復(fù)雜度。
在無(wú)線通信理論中多徑效應(yīng)會(huì)導(dǎo)致信號(hào)衰落,但如果天線間距足夠大并且多徑分量足夠豐富,接收到的多徑信號(hào)將成為獨(dú)立的。MIMO 技術(shù)就是利用此特性獲得復(fù)用增益和分級(jí)增益以提高容量和無(wú)線鏈路質(zhì)量。圖1 是 MIMO V-BLAST 系統(tǒng)模型。
圖1 MIMO V-BLAST 系統(tǒng)模型
3.1 最大似然檢測(cè)算法
最大似然譯碼是最佳的矢量譯碼方法[3~8]。假設(shè)一個(gè)線性時(shí)不變數(shù)據(jù)發(fā)射系統(tǒng),接收機(jī)的數(shù)據(jù)受到高斯白噪聲的干擾。ML算法是符號(hào)矢量r的最佳聯(lián)合檢測(cè)算法。當(dāng)發(fā)送信息符號(hào)矢量具有相同概率時(shí),ML算法可以被表示為:
作為最有效的檢測(cè)算法,ML可以得到最好的性能,但它的復(fù)雜度也是非常大的。
3.2 破零檢測(cè)算法
ZF算法使用信道矩陣H的偽逆矩陣作為權(quán)重矢量[3~8],檢測(cè)輸出結(jié)果如下所示:
ZF檢測(cè)算法通過引入偽逆矩陣簡(jiǎn)化了算法,信道矩陣 H 被轉(zhuǎn)化為 NT個(gè)并行標(biāo)量信道和噪聲的疊加。很明顯,噪聲分量由于左乘偽逆矩陣而被增強(qiáng)了。因此 ZF檢測(cè)算法相比于 ML檢測(cè)算法降低了復(fù)雜度,但同時(shí)性能也有所下降。
3.3 最小均方誤差檢測(cè)算法
ZF 可以消除其他天線的干擾,但會(huì)使放大背景噪聲性能略有下降。因此,一些學(xué)者提出了 MMSE 檢測(cè)算法[3~8]。MMSE 檢測(cè)算法不僅需要計(jì)算偽逆矩陣,還需要估計(jì)所有接收天線的 SNR。因此 MMSE 算法可以有效抑制背景噪聲干擾。MMSE 算法不同于 ZF 算法的地方在于使用了矩陣 GMMSE代替了 H+:
MMSE檢測(cè)算法可以被表示為:
其中 σ2是加性高斯白噪聲的方差,I是 NR×NT的單位矩陣。
基 于 Xilinx Virtex-4 XC4VSX55 芯片 的 ML402 FPGA 開發(fā)平臺(tái),采用 Verilog 硬件描述語(yǔ)言實(shí)現(xiàn)了MIMOV-BLAST 系統(tǒng)不同檢測(cè)算法的 FPGA 設(shè)計(jì)實(shí)現(xiàn)。
4.1 ML 檢測(cè)算法的 FPGA 實(shí)現(xiàn)
根據(jù)公式(2),ML 算法可以被分成 4 個(gè)模塊,如圖2所示。
圖2 ML 檢測(cè)算法的 FPGA 功能模塊
4.1.1 初始空間模塊的 FPGA 實(shí)現(xiàn)
該模塊根據(jù)調(diào)制模式和發(fā)送機(jī)的發(fā)射天線數(shù)生成相應(yīng)的碼字空間。為了搜索全部碼字空間,ML檢測(cè)器把這些碼字按照特定順序存儲(chǔ)到RAM中,稱作全部碼字空間的建立。本實(shí)現(xiàn)方案采用 MIMO 系統(tǒng)、BPSK 調(diào)制方式,2 個(gè)發(fā)射天線的發(fā)送數(shù)據(jù)有 4 種可能,如圖2所示。
4.1.2 模擬信道模塊的 FPGA 實(shí)現(xiàn)
該模塊首先接收到通過訓(xùn)練符號(hào)估計(jì)出的信道矩陣 H,再通過 MIMO 信道模型計(jì)算每個(gè)碼字的接收信號(hào)。實(shí)現(xiàn) FPGA 內(nèi)嵌的 IP 核復(fù)數(shù)乘法器 v2.1 技術(shù)進(jìn)行 4個(gè)矩陣向量乘法操作,如下所示:
從式(6)中可以看出,需要 4 個(gè)硬件乘法器和 2 個(gè)加法器來(lái)計(jì)算一個(gè)接收信號(hào)。由于 Verilog 語(yǔ)言是一種并行處理語(yǔ)言,可以同時(shí)運(yùn)行多個(gè)乘法器任務(wù),6 個(gè)乘法器和2個(gè)加法器可以同時(shí)工作以便于實(shí)現(xiàn)高速數(shù)字信號(hào)處理。
4.1.3 差分模塊的 FPGA 實(shí)現(xiàn)
該模塊首先接受信號(hào)向量 r,然后根據(jù)公式(2)計(jì)算矩陣 c=r-Hs,最后獲得 4 個(gè) 2×1 向量矩陣 c1,c2,c3,c4,如下所示:
其中 GZF來(lái)自于轉(zhuǎn)置模塊的輸出,r是接收信號(hào)的輸入向量。這個(gè)模塊的關(guān)鍵矩陣和向量的乘法可以通過前面所述的方法來(lái)實(shí)現(xiàn)。
4.2.3 判決模塊的 FPGA 實(shí)現(xiàn)
該模塊考慮的是 BPSK 調(diào)制,因此判決模塊的結(jié)構(gòu)如圖5所示。
BPSK 星座圖被提前存儲(chǔ)在 ROM 里。當(dāng)信號(hào)s?到達(dá)時(shí),把它的歐幾里德距離和星座圖進(jìn)行比較,最小的歐幾里德距離用來(lái)判決輸出結(jié)果,然后再通過映射來(lái)輸出解調(diào)后的信號(hào)。
4.1.4 判決模塊的 FPGA 實(shí)現(xiàn)
該模塊首先從前一模塊讀取 c1,c2,c3,c4,再基于 ML檢測(cè)準(zhǔn)則計(jì)算每個(gè) Frobeniu 范數(shù),最后就可以判決出具有最小值的s?為最終輸出信號(hào)。
4.2 ZF 檢測(cè)算法的 FPGA 實(shí)現(xiàn)
ZF 檢測(cè)算法可以被分成 3 個(gè)模塊,如圖3 所示。
圖3 ZF 檢測(cè)算法的 FPGA 功能模塊
4.2.1 轉(zhuǎn)置模塊的 FPGA 實(shí)現(xiàn)
ZF檢測(cè)算法里最重要的部分就是計(jì)算檢測(cè)矩陣GZF,即矩陣轉(zhuǎn)置算法。矩陣轉(zhuǎn)置算法的流程圖如圖4所示。
圖4 矩陣轉(zhuǎn)置算法的 FPGA 實(shí)現(xiàn)
4.2.2 接收機(jī)模塊的 FPGA 實(shí)現(xiàn)接收機(jī)模塊的功能主要是計(jì)算如下公式:
圖5 ZF算法的判決模塊結(jié)構(gòu)
4.3 MMSE 檢測(cè)算法的 FPGA 實(shí)現(xiàn)
ZF算法由于放大了背景噪聲,因而造成系統(tǒng)性能相比 ML算法略有下降。因此 MMSE算法被提出。MMSE 算法的 FPGA 實(shí)現(xiàn)框圖如圖6 所示。
圖6 MMSE 檢測(cè)算法的 FPGA 功能模塊圖
可以看出 MMSE 檢測(cè)算法分成三個(gè)功能模塊,和ZF檢測(cè)算法唯一的不同之處就是第一個(gè)模塊,即計(jì)算權(quán)重矩陣。因此重點(diǎn)設(shè)計(jì)權(quán)重矩陣的 FPGA 實(shí)現(xiàn)。
權(quán)重矩陣模塊接收到信道矩陣H后,通過公式(5)計(jì)算權(quán)重矩陣 GMMSE。權(quán)重矩陣模塊的實(shí)現(xiàn)框圖如圖7示。
圖7 MMSE檢測(cè)算法的權(quán)重矩陣計(jì)算框圖
因?yàn)?HHH具有共軛對(duì)稱性,就需要計(jì)算(HHH)ij(1≤i≤j≤2)的值。同時(shí)由于信道狀態(tài)已知,信道噪聲方差也是已知的。I是一個(gè) 2×2 單位矩陣,σ2是一個(gè)常數(shù)。因此,需要計(jì)算 Iii=σ2(i=1,2),此時(shí)并不需要乘法器,可以有效降低 FPGA 硬件資源的消耗。矩陣 C 的轉(zhuǎn)置可以通過 4.2 節(jié)模塊進(jìn)行計(jì)算。最后計(jì)算 GMMSE=HHC-1。
為了直接比較 V-BLAST 檢測(cè)算法,采用不同SNR 和收發(fā)信機(jī)天線數(shù)下不同檢測(cè)算法的 BER 性能進(jìn)行分析。信道模型采用準(zhǔn)靜態(tài)瑞利平臺(tái)衰落信道模型,噪聲是獨(dú)立同分布復(fù)高斯噪聲,噪聲的方差是 σ2。信道狀態(tài)是已知的并保持精確同步。時(shí)鐘頻率 100 MHz,連續(xù)發(fā)送 80000 個(gè)數(shù)據(jù)。
圖8 比較了 NR=NT=2、BPSK 條件下三種檢測(cè)算法的 FPGA BER 性能。從圖8 中可以看出 ML 算法性能最優(yōu),但它復(fù)雜度最高、星座圖也很大。ZF 算法引入了信道轉(zhuǎn)置的概念來(lái)降低復(fù)雜度并從其他天線消除干擾,因此是一種簡(jiǎn)單、實(shí)際的算法。MMSE 算法在接收端增加了 SNR 的信息,性能要好于 ZF 算法。
圖8 不同檢測(cè)算法的 BER 性能對(duì)比
為了進(jìn)一步研究多天線的影響,圖9給出了 ZF算法 QPSK 調(diào)制下不同天線數(shù)的對(duì)比分析。從圖9 中可以看出,3×3 系統(tǒng)性能最優(yōu),2×2 系統(tǒng)次之,1×1 系統(tǒng)性能最差。這表明隨著發(fā)射天線和接收天線數(shù)的增加,接收機(jī)性能可以得到顯著改善。天線數(shù)越多,MIMO系統(tǒng)的增益階數(shù)越大,系統(tǒng)性能越好。
圖9 ZF 檢測(cè)算法不同天線數(shù)的 BER 性能對(duì)比
2×2 系統(tǒng) BPSK 調(diào)制情況下三種 V-BLAST 檢測(cè)算法的 FPGA 實(shí)現(xiàn)的資源使用情況如表1 所示。ML的信號(hào)空間是 4。由于仿真條件比較簡(jiǎn)單,因此 ML 檢測(cè)器并不是消耗資源最大的。如果仿真條件更復(fù)雜,如采用 16QAM、4 天線,信號(hào)空間將是 164=65536,復(fù)雜度將是實(shí)際應(yīng)用難以承受的。從圖9和表1中可以看出,MMSE 算法的復(fù)雜度比 ZF 要大,但性能得到顯著改善。因此,我們必須根據(jù)實(shí)際的特定環(huán)境在復(fù)雜度和檢測(cè)算法性能間取得一個(gè)平衡。
表1 不同檢測(cè)算法 FPGA 資源占用率
下一代移動(dòng)通信系統(tǒng)中對(duì) V-BLAST 系統(tǒng)進(jìn)行了系統(tǒng)的研究和應(yīng)用。本文設(shè)計(jì)了三種檢測(cè)算法(ML、ZF 和 MMSE)的硬件實(shí)現(xiàn)分發(fā)和架構(gòu),并比較了它們的復(fù)雜度和性能。對(duì)于 V-BLAST 檢測(cè),ML 具有最優(yōu)的性能但復(fù)雜度最高;ZF算法具有較低的復(fù)雜度但比ML 的性能略差;MMSE 算法復(fù)雜度只比 ZF 算法略大但性能卻有顯著提升。因此,需要根據(jù)系統(tǒng)性能和復(fù)雜度的需求來(lái)選擇不同的檢測(cè)算法。V-BLAST 檢測(cè)算法還有很大的研究空間,可以與空時(shí)編碼來(lái)降低復(fù)雜度并獲得更好的系統(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 相關(guān)技術(shù)與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2007:2-8,33-39.
[8]劉謙雷,楊綠溪,許道峰.用于 MIMO 信號(hào)檢測(cè)的降低復(fù)雜度 V-BLAST 算法[J].通信學(xué)報(bào),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—),女,北京交通大學(xué)碩士,工程師,主要研究方向?yàn)闊o(wú)線通信系統(tǒng)解決方案和無(wú)線新業(yè)務(wù)解決方案。
2017-2-24