《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > MIMO OFDM系統(tǒng)中一種V-BLAST檢測(cè)算法的FPGA實(shí)現(xiàn)

MIMO OFDM系統(tǒng)中一種V-BLAST檢測(cè)算法的FPGA實(shí)現(xiàn)

2008-07-24
作者:舒 晶,王 強(qiáng),徐 縉,陶

??? 摘 要: 給出了一種V-BLAST" title="V-BLAST">V-BLAST檢測(cè)算法的FPGA實(shí)現(xiàn)方案,該算法基于Greville求偽逆的方法。設(shè)計(jì)主要考慮了流水線操作" title="流水線操作">流水線操作和并行度處理。算法在Xilinx公司的Vertex Ⅱ Pro系列FPGA中實(shí)現(xiàn),在B3G TDD MIMO OFDM系統(tǒng)硬件平臺(tái)上進(jìn)行了驗(yàn)證,性能良好。
??? 關(guān)鍵詞: FPGA;V-BLAST;MIMO;流水線操作

?

??? MIMO(Multiple Input Multiple Output)技術(shù)利用多根天線,在不增加帶寬和發(fā)送功率的情況下,可以成倍地提高信道容量。文獻(xiàn)[1]證明,信道容量會(huì)隨著天線數(shù)目的增加而線性增加。OFDM 技術(shù)能高效地利用頻譜資源并有效地對(duì)抗頻率選擇性衰落。MIMO和OFDM的結(jié)合可以克服頻率選擇性衰落、增加系統(tǒng)容量、提高頻譜利用率,成為4G中的關(guān)鍵技術(shù)之一。
??? V-BLAST(Vertical-Bell Laboratory Layered Space- Time)是Foschini等[2]提出的一種垂直分層空時(shí)碼,它利用空間維度大大提高了傳輸速率,被廣泛地應(yīng)用于MIMO系統(tǒng)中。其檢測(cè)算法也受到了國(guó)內(nèi)外研究學(xué)者的關(guān)注[3]-[5]。?FPGA具有開(kāi)發(fā)周期短、設(shè)計(jì)靈活等優(yōu)點(diǎn),將V-BLAST檢測(cè)算法在FPGA中實(shí)現(xiàn)驗(yàn)證,成為未來(lái)移動(dòng)通信實(shí)驗(yàn)系統(tǒng)采用的一種方式。
1 系統(tǒng)模型
??? 圖1給出了V-BLAST OFDM系統(tǒng)的原理框圖(M、N分別表示發(fā)送和接收天線數(shù),N≥M),包括信道編碼、交織、調(diào)制、IFFT、FFT、信道估計(jì)、V-BLAST檢測(cè)、解調(diào)、解交織、信道解碼等功能模塊。

?


??? 假設(shè)向量a(k)=(a1(k),a2(k),…,aM(k))T表示OFDM符號(hào)第k個(gè)子載波的M維向量(k=0,1,…,N-1),則相應(yīng)的N維接收信號(hào)向量可表示為:
???

其中,H(k)=(hij(k))N×M為第k個(gè)子載波上的N×M維的復(fù)信道矩陣,其中hij(k)代表第j個(gè)發(fā)送天線到第i個(gè)接收天線間的信道轉(zhuǎn)移特性;n(k)=(n1(k),n2(k),…,nN(k))T為第k個(gè)子載波上的N維加性復(fù)高斯噪聲向量,其均值為零。

??? V-BLAST檢測(cè)算法是在接收端對(duì)接收信號(hào)進(jìn)行處理以恢復(fù)發(fā)送信號(hào)。對(duì)應(yīng)以上的系統(tǒng)模型,檢測(cè)模塊接收信道估計(jì)模塊輸出的信道信息H和用戶信息r,根據(jù)公式(1)檢測(cè)出發(fā)送信號(hào)a。
??? V-BLAST OFDM系統(tǒng)在每一個(gè)子載波上,都是一個(gè)窄帶的V-BLAST系統(tǒng),因此在每個(gè)子載波上可以應(yīng)用標(biāo)準(zhǔn)的V-BLAST檢測(cè)算法獨(dú)立進(jìn)行信號(hào)檢測(cè)。
2 算法分析
??? 算法所涉及的各符號(hào)含義如下:
??? Hj代表H的第j列;Bk=(HM、HM-1,…,HM-k+1)代表H的后k列的逆序排列;

??? 代表將H的第k1,k2,…,ki列置零后得到的矩陣;行,即對(duì)應(yīng)第i根發(fā)射天線的迫零向量;
??? H′代表H經(jīng)過(guò)重新排列后得到的矩陣;(·)T表示矩陣的轉(zhuǎn)置;(·)H表示矩陣的共扼轉(zhuǎn)置;(·)+表示矩陣的Moore-Penrose偽逆;Q=(·)表示判決操作;

??? 表示對(duì)矩陣(矩陣的列數(shù)為total_num)的列向量按列向量的范數(shù)降序排列,其中表示返回的排列結(jié)果;

??? 給定的順序進(jìn)行排列。

2.1 算法描述
??? 根據(jù)運(yùn)算復(fù)雜度和性能的綜合考慮,本文所設(shè)計(jì)實(shí)現(xiàn)的V-BLAST檢測(cè)算法為文獻(xiàn)[5]提出的基于Greville遞歸求偽逆和分層空時(shí)相結(jié)合的次優(yōu)算法。算法首先對(duì)最強(qiáng)的信號(hào)解碼,然后在接收到的信號(hào)中減去這個(gè)最強(qiáng)的信號(hào),再對(duì)剩余信號(hào)中的最強(qiáng)信號(hào)解碼,再減去這個(gè)信號(hào),這樣依次進(jìn)行,直到所有的信號(hào)都被譯出。具體步驟如下:

???

???

2.2 算法的實(shí)現(xiàn)分析
??? 算法的實(shí)現(xiàn)主要包含以下三個(gè)方面:
??? (1)排序:通過(guò)乘加運(yùn)算得到矩陣的列范數(shù),然后根據(jù)列范數(shù)的大小進(jìn)行排序得到矩陣H′。由于列范數(shù)需要與檢測(cè)算法恢復(fù)的發(fā)送信息y同時(shí)輸出給V-BLAST檢測(cè)之后的軟解調(diào)模塊,因此排序過(guò)程中求得的列范數(shù)需要存儲(chǔ)一定的時(shí)間。
??? (2)獲取迫零向量:獲取迫零向量是一個(gè)循環(huán)迭代的過(guò)程,且每次循環(huán)都具有不同的維數(shù)。由于最后一次循環(huán)求出的迫零向量需要最先給譯碼運(yùn)算,因而為了配合時(shí)序,需要存儲(chǔ)先計(jì)算出的迫零向量。當(dāng)k等于M時(shí),不需要計(jì)算。

??? (3)譯碼:譯碼過(guò)程需將計(jì)算出的M個(gè)y信號(hào)轉(zhuǎn)換成排序之前的順序,然后和列范數(shù)一同輸出給系統(tǒng)的軟解調(diào)模塊。當(dāng)k等于M時(shí),

??? 表1給出了算法在實(shí)現(xiàn)中的復(fù)雜度。

?

?

3 算法的實(shí)現(xiàn)設(shè)計(jì)
??? 根據(jù)算法的特點(diǎn),將實(shí)現(xiàn)設(shè)計(jì)分為5個(gè)功能模塊:輸入模塊、輸出模塊、頂層控制模塊" title="控制模塊">控制模塊、排序迫零模塊和譯碼模塊。由于算法較為復(fù)雜,運(yùn)算較多,為達(dá)到速度的要求,在設(shè)計(jì)中采用流水線操作進(jìn)行并行處理,將各功能模塊再分為若干子功能模塊,具體的功能模塊框圖如圖2所示。

?


3.1 輸入輸出模塊
??? 輸入輸出模塊是與系統(tǒng)其他功能模塊的接口。輸入模塊接收信道估計(jì)給出的信道矩陣H和用戶信息r,送入FIFO進(jìn)行緩存。當(dāng)接收一定數(shù)據(jù)量后,向頂層控制模塊發(fā)出指示信號(hào)flag_start,等待FIFO的讀使能信號(hào)。輸出模塊接收排序迫零模塊輸出的M個(gè)列范數(shù)和譯碼模塊輸出的M個(gè)y信號(hào),對(duì)齊時(shí)序后輸出給系統(tǒng)中的軟解調(diào)模塊。
3.2 排序迫零模塊和譯碼模塊
??? 排序迫零模塊和譯碼模塊均包含若干子模塊,分別完成公式(1)~公式(11)和公式(12)~公式(17)的運(yùn)算。各子模塊間的數(shù)據(jù)傳遞較多,將每個(gè)子模塊設(shè)計(jì)成一個(gè)流水單元以便時(shí)序的控制與調(diào)整。圖3為排序迫零模塊中流水線操作的示意圖。

?


??? 系統(tǒng)一幀發(fā)送符號(hào)數(shù)據(jù)的數(shù)量及一個(gè)H矩陣對(duì)應(yīng)的用戶信息量r是根據(jù)系統(tǒng)幀結(jié)構(gòu)設(shè)計(jì)的不同而不同。設(shè)H與r的數(shù)量對(duì)應(yīng)關(guān)系為1: n,則譯碼模塊的處理速度應(yīng)為排序迫零模塊的n倍,從而使得譯碼模塊成為整個(gè)算法實(shí)現(xiàn)的瓶頸。為了達(dá)到處理速度的要求,排序迫零模塊和譯碼模塊分別采用不同長(zhǎng)度的流水線單元和時(shí)鐘頻率,并根據(jù)流水線長(zhǎng)度選擇不同大小的計(jì)數(shù)器,用以標(biāo)記流水線單元。
??? 排序迫零模塊和譯碼模塊是檢測(cè)算法的核心,集中了大量的運(yùn)算。其中除法運(yùn)算采用查表的方式可以提高運(yùn)算速度,對(duì)加法器和乘法器" title="乘法器">乘法器的復(fù)用可以減少資源的利用。
3.3 頂層控制模塊
??? 檢測(cè)算法較復(fù)雜,設(shè)計(jì)頂層控制模塊便于控制各模塊間的時(shí)序關(guān)系。輸入模塊發(fā)出指示信號(hào)flag_start后,頂層控制模塊立即發(fā)出en_rd_h使能信號(hào)讀取FIFO中的信道矩陣H,每次連續(xù)讀取N×M個(gè)時(shí)鐘周期,同時(shí)向排序迫零模塊發(fā)出start_h信號(hào),用以觸發(fā)該模塊的流水線操作。直到排序迫零模塊輸出第一組M個(gè)迫零向量后,頂層控制模塊發(fā)出en_rd_r使能信號(hào)讀取FIFO中的用戶信息r,每次連續(xù)讀取N個(gè)時(shí)鐘周期,同時(shí)向譯碼模塊發(fā)送start_r信號(hào),用以觸發(fā)此模塊的流水線操作。譯碼模塊將一組M個(gè)y信號(hào)檢測(cè)完畢后,控制模塊發(fā)出指示信號(hào)flag_out,通知輸出模塊一并輸出列范數(shù)和檢測(cè)信號(hào)y。圖4為各控制信號(hào)的關(guān)系圖。

?


4 仿真與驗(yàn)證
??? 算法的實(shí)現(xiàn)首先要考慮每步數(shù)據(jù)定點(diǎn)運(yùn)算" title="定點(diǎn)運(yùn)算">定點(diǎn)運(yùn)算的Q值(即小數(shù)位和整數(shù)位的位寬)。COSSAP平臺(tái)上仿真了算法定點(diǎn)運(yùn)算的性能,根據(jù)仿真結(jié)果確定算法實(shí)現(xiàn)各部分運(yùn)算的Q值。圖5給出了定點(diǎn)和浮點(diǎn)仿真的性能對(duì)比圖。仿真結(jié)果表明,定點(diǎn)運(yùn)算帶來(lái)的性能損失很小。

?


??? 基于以上部分提出實(shí)現(xiàn)設(shè)計(jì)方案。本文應(yīng)用軟件設(shè)計(jì)平臺(tái)ISE 6.3,仿真工具M(jìn)odelSim 6.0,采用Xilinx公司的Virtex-II Pro系列的XC2VP70 FPGA芯片實(shí)現(xiàn)了4發(fā)4收的V-BLAST檢測(cè)算法。該系列的FPGA包含Block SelectRAM,18bit×18bit硬件乘法器等定制模塊,對(duì)這些模塊的利用可以減少片內(nèi)邏輯資源的占用。
??? RTL級(jí)的仿真波形如圖6。從左往右,第一、二個(gè)光標(biāo)分別指示了排序迫零模塊和譯碼模塊的流水起始時(shí)間,第三個(gè)主光標(biāo)指示了算法輸出信號(hào)的起始時(shí)間。FPGA實(shí)現(xiàn)占用了10 136個(gè)slices,2個(gè)全局時(shí)鐘,56個(gè)18bit×18bit硬件乘法器,39個(gè)Block SelectRAM。

?


??? 該FPGA實(shí)現(xiàn)在B3G TDD MIMO OFDM系統(tǒng)中的驗(yàn)證,使該系統(tǒng)的峰值速率達(dá)到了122Mb/s,頻譜利用率7.1(b/s)/Hz,具有較好的誤碼性能。
??? 本文給出了基于Greville求偽逆方法的V-BLAST檢測(cè)算法在FPGA中實(shí)現(xiàn)的設(shè)計(jì)方案,主要考慮了流水線操作和并行度處理。該方案對(duì)其他MIMO檢測(cè)算法的FPGA實(shí)現(xiàn)具有一定的參考作用。對(duì)算法實(shí)現(xiàn)的各步定點(diǎn)運(yùn)算的Q值進(jìn)行了仿真確認(rèn)。FPGA實(shí)現(xiàn)最后在B3G TDD MIMO OFDM系統(tǒng)硬件平臺(tái)上進(jìn)行驗(yàn)證,性能良好。
參考文獻(xiàn)
[1] FOSCHINI G J,GANS M J.On limits of wireless communications in a fading environment using multiple antennas.Wireless Personal Communications,1998,6(3):311-335.
[2] WOLNIANSKY P W,F(xiàn)OSCHINI G J,GOLDEN G D,et al.V-BLAST:An architecture for realizing very high data?rates over the rich-scattering wireless channel.Proc.ISSSE98,Pisa,Italy,1998,9.
[3] GOLDEN G D,F(xiàn)OSCHINI G J,VALENZUELA R A,et al.Detection algorithm and initial laboratory results using VBLAST space-time communication architecture.Electronics?Letters,1999,35(7):14-16.
[4] LI Dong,CAI Li Yu,YANG Hong Wei.New iterative detection algorithm for V-BLAST,in Proc.VTC2004,Milan,Italy,2004,4(5):2444-2448.
[5] 陶小峰,俞追專,秦海燕,等.V-BLAST的次優(yōu)譯碼[J].電子學(xué)報(bào),2003,31(5):703-706.
[6] 李亞卓,王勇,張平.B3G/4G TDD試驗(yàn)平臺(tái)框架及研究現(xiàn)狀[J].移動(dòng)通信,2006,(10):41-45.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。