• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      D—BLAST基帶系統(tǒng)的FPGA實(shí)現(xiàn)研究

      2016-12-10 09:33:12黃虎孔勇李華孫樂
      移動通信 2016年20期
      關(guān)鍵詞:現(xiàn)場可編程門陣列誤碼率

      黃虎+孔勇+李華+孫樂

      【摘 要】設(shè)計(jì)了適合于現(xiàn)場可編程門陣列實(shí)現(xiàn)的多輸入多輸出系統(tǒng)的對角分層空時碼編譯碼算法。采用Verilog硬件描述語言在Xilinx Virtex4-VC4VSX55現(xiàn)場可編程門陣列開發(fā)板上實(shí)現(xiàn)了3×3對角分層空時編碼基帶處理系統(tǒng)。通過現(xiàn)場可編程門陣列仿真評估了采用迫零串行干擾抵消和最小均方誤差串行干擾抵消檢測算法時3×3對角分層空時編碼基帶系統(tǒng)的誤碼率性能。仿真分析和實(shí)驗(yàn)表明了現(xiàn)場可編程門陣列對角分層空時編碼基帶處理系統(tǒng)設(shè)計(jì)的正確性和高效性。同時,還論證了在同樣條件下對角分層空時編碼系統(tǒng)的性能優(yōu)于垂直分層空時編碼系統(tǒng)。

      【關(guān)鍵詞】多輸入多輸出 對角分層空時編碼 串行干擾抵消 現(xiàn)場可編程門陣列 誤碼率

      doi:10.3969/j.issn.1006-1010.2016.20.015 中圖分類號:TN911.23 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-1010(2016)20-0077-07

      1 引言

      未來移動通信的空中接口將采用多輸入多輸出(Multiple-Input Multiple-Output,MIMO)技術(shù)成倍地提高通信系統(tǒng)的容量和頻譜利用率[1]。Foschini所提出的貝爾實(shí)驗(yàn)室分層空時(Bell Laboratories Layered Space-Time,BLAST)編碼方案是一種有效的MIMO處理算法[2]。BLAST系統(tǒng)的基本思想是把高速數(shù)據(jù)業(yè)務(wù)分解為若干個低速數(shù)據(jù)業(yè)務(wù),通過普通并行信道編碼器編碼后,使用向量編碼器對其進(jìn)行并行的分層編碼,編碼信號經(jīng)調(diào)制后用多個天線發(fā)射,實(shí)現(xiàn)發(fā)射分集[3]。

      根據(jù)分層后的天線映射方式和數(shù)據(jù)流的不同,BLAST可分為對角分層空時碼(Diagonally–Bell Laboratories Layered Space-Time,D-BLAST)與垂直分層空時碼(Vertically–Bell Laboratories Layered Space-Time,V-BLAST)結(jié)構(gòu)。D-BLAST是將每一層的數(shù)據(jù)流在N根天線上依照次序循環(huán)地發(fā)送,即每一個數(shù)據(jù)層都是在發(fā)射矩陣的對角線上;而V-BLAST的映射關(guān)系是固定的,即每層數(shù)據(jù)流都在同一根天線上傳輸,每個數(shù)據(jù)層都對應(yīng)于發(fā)射矩陣的某一行。D-BLAST的數(shù)據(jù)流在各發(fā)射天線上是遍歷的,其優(yōu)點(diǎn)是D-BLAST具有較好的空時特性和層次結(jié)構(gòu),子信道的深衰落對它的影響要比V-BLAST小。

      現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)具有架構(gòu)靈活、算法高效、吞吐率高、可實(shí)現(xiàn)并行計(jì)算和動態(tài)配置等優(yōu)勢,特別適合用于設(shè)計(jì)并驗(yàn)證無線通信系統(tǒng)基站中的基帶處理部分功能。

      為此,通過Xilinx FPGA開發(fā)平臺,設(shè)計(jì)了基于FPGA的D-BLAST系統(tǒng)結(jié)構(gòu)、算法,實(shí)現(xiàn)了D-BLAST高效的編譯碼器和檢測,并對不同的檢測算法進(jìn)行了分析和性能仿真,對研發(fā)D-BLAST類MIMO原型系統(tǒng)具有重要的參考價值。

      2 MIMO D-BLAST系統(tǒng)模型

      圖1為MIMO D-BLAST系統(tǒng)結(jié)構(gòu)模型,QPSK調(diào)制后的信息流,經(jīng)過串并變換、信道編碼和D-BLAST空時編碼后,分別通過N根天線發(fā)送出去,接收端為M根天線,M≥N。假設(shè)信道為準(zhǔn)靜態(tài)的、平坦瑞利衰落信道,即信道傳輸矩陣H在發(fā)送L個符號的期間是恒定的,并且信道信息狀態(tài)可得到有效估計(jì)。這樣,接收信號和發(fā)送信號的關(guān)系表示為:

      式(1)中,信道傳輸矩陣H為一個N行M列的矩陣,其中hi,j表示的是第j根發(fā)射天線到第i根接收天線的信道系數(shù),hi,j服從單位方差、零均值的復(fù)高斯分布;X=[xi]T,i=1, 2, …, N表示N根發(fā)射天線所發(fā)射信號矢量;Y=[yi]T,i=1, 2, …, M表示M根接收天線上所收到信號矢量;n=[ni]T,i=1, 2, …, M表示M根接收天線上的噪聲矢量,ni服從高斯分布,均值為0,方差為σ2。

      3 MIMO D-BLAST的FPGA實(shí)現(xiàn)

      基于Xilinx的ML402的FPGA開發(fā)平臺,采用Virtex-4 XC4VSX55芯片和Verilog硬件描述語言實(shí)現(xiàn)了3×3 MIMO D-BLAST基帶系統(tǒng)的FPGA設(shè)計(jì)。該系統(tǒng)主要包含D-BLAST編碼模塊,對映射后的符號先進(jìn)行串并轉(zhuǎn)換后再進(jìn)行交織來實(shí)現(xiàn)D-BLAST編碼;MIMO檢測模塊對空間復(fù)用的數(shù)據(jù)流進(jìn)行分離和檢測;D-BLAST譯碼模塊對檢測后的信息流進(jìn)行D-BLAST空時譯碼,恢復(fù)原始比特流的估計(jì)值。

      3.1 D-BLAST編碼

      D-BLAST系統(tǒng)的基本思想是把高速數(shù)據(jù)業(yè)務(wù)分解為若干低速數(shù)據(jù)業(yè)務(wù),通過普通的并行信道編碼器編碼后,使用交織編碼器對其進(jìn)行并行的分層編碼,編碼后信號使用多個天線發(fā)射,實(shí)現(xiàn)發(fā)射分集[3]。在接收端,把多根接收天線同時接收的所有數(shù)據(jù)進(jìn)行解交織,再通過并串變換最終輸出譯碼后的串行數(shù)據(jù)。V-BLAST編碼是對數(shù)據(jù)流進(jìn)行串并變換,而D-BLAST與V-BLAST不同的是在串并變換后還要對數(shù)據(jù)流進(jìn)行交織,因此D-BLAST的復(fù)雜度要比V-BLAST大,但是其性能卻要比V-BLAST好。圖2為D-BLAST結(jié)構(gòu)圖。

      如圖1所示,D-BLAST編碼器從并行信道編碼器輸出的碼元接收數(shù)據(jù),再根據(jù)圖2所示的對角線方向來進(jìn)行空間編碼,第1個信道編碼器輸出的開始N個碼元排在第1個對角線,第2個信道編碼器輸出的開始N個碼元排在第2條對角線上。一般第i個信道編碼器輸出的N個碼元排在第(i+(j-1)×N)條對角線,沒有排滿的空位置零[4,5]??諘r碼元矩陣中的每一列就是編碼后的數(shù)據(jù),通過N個發(fā)射天線同時發(fā)射。

      如圖3所示,假設(shè)輸入信號c=[c1, c2, c3…]來自于QPSK星座圖Q,調(diào)制信號經(jīng)串并變化后得到的矢量為uj[6]:

      這樣,通過一個交織矩陣M,可以得到D-BLAST發(fā)射信號xj為:

      D-BLAST編碼模塊主要就是實(shí)現(xiàn)對角分層循環(huán)發(fā)送功能,本文設(shè)計(jì)的是3×3系統(tǒng),根據(jù)式(3)提出了一種易于FPGA實(shí)現(xiàn)的D-BLAST編碼算法。首先通過狀態(tài)機(jī)產(chǎn)生交織圖案,從而實(shí)現(xiàn)待編碼字與矩陣M的乘積。如圖3所示,D-BLAST編碼FPGA實(shí)現(xiàn)共包括4個模塊,分別為串并變換、時序控制模塊、狀態(tài)機(jī)和存儲器。FPGA硬件仿真對時序的要求很嚴(yán)格,因此采用了一個單獨(dú)的時序控制模塊來控制FPGA實(shí)現(xiàn)中的時序。先對調(diào)制信號c=[c1, c2, c3…]進(jìn)行串并變換成uj=[uj1,…,ujk]存入寄存器RAM中,然后在時序控制模塊控制下產(chǎn)生一個狀態(tài)機(jī),再利用狀態(tài)機(jī)來產(chǎn)生一個交織圖案,映射到寄存器中控制RAM輸出信號xj=[xj1,…, xjk],最終實(shí)現(xiàn)了D-BLAST的對角分層編碼。本設(shè)計(jì)的核心就是采用狀態(tài)機(jī)來實(shí)現(xiàn)傳輸符號的交織。

      接收端根據(jù)特殊的結(jié)構(gòu)方式與信號處理過程分離各子信號流,分別進(jìn)行MIMO檢測、空時譯碼、信道解碼,再通過并串變換將各子信號流合并為原來的串行數(shù)據(jù)信息。

      3.2 MIMO檢測

      接收端首先要根據(jù)不同的準(zhǔn)則接收信號進(jìn)行MIMO檢測,從而確定每根天線的權(quán)值。MIMO檢測的準(zhǔn)則主要有迫零(ZF)和最小均方誤差(MMSE)準(zhǔn)則。

      ZF算法是簡單的利用信道矩陣H的偽逆矩陣H+作為權(quán)值矩陣GZF。

      可以看出ZF算法在檢測時損失了有用信息,影響了系統(tǒng)性能,MMSE算法用滿足下式的權(quán)值矩陣GMMSE代替ZF中的GZF。

      其中,表示矩陣的共軛轉(zhuǎn)置,表示矩陣的Moore-Penrose偽逆,σ2為噪聲方差,IM是M×M維的單位矩陣,GMMSE的行矢量gi是接收天線對于發(fā)送信號ci所形成的權(quán)矢量。

      ZF和MMSE這兩種算法的唯一不同之處就在于檢測矩陣GZF和GMMSE的求解。因?yàn)镚ZF=H+,而GMMSE=HH(HHH+σ2I)+,從上述兩個算法的檢測矩陣就可以看出,MMSE算法的復(fù)雜度比ZF算法的復(fù)雜度大,但MMSE算法由于考慮了噪聲的影響,性能要比ZF算法好。

      ZF和MMSE檢測算法同時分離出M個子數(shù)據(jù)流,檢測過程中任一個子數(shù)據(jù)流都將受到其他M-1個子數(shù)據(jù)流的干擾。為此,引入串行干擾抵消算法后的ZF和MMSE稱為ZF-SIC(Zero Forcing-Successive Interference Cancellation,迫零串行干擾抵消)接收機(jī)和MMSE-SIC(Minimum Mean-Squared Error-SIC,最小均方誤差串行干擾抵消)接收機(jī),可以進(jìn)一步提高系統(tǒng)的性能[7]。引入SIC后,對M個子數(shù)據(jù)流按照一定的順序依次檢測,計(jì)算各子數(shù)據(jù)流的信號估值并硬判決,之后再在下一個信號的檢測中抵消掉硬判決的值,循環(huán)往復(fù),直到檢測完所有的子數(shù)據(jù)流。

      為改善系統(tǒng)的性能,對MIMO D-BLAST檢測的FPGA實(shí)現(xiàn)分別采用了ZF-SIC和MMSE-SIC這2種不同的檢測方法。因此,該MIMO檢測器的FPGA實(shí)現(xiàn)設(shè)計(jì)共包括4個功能模塊:輸入輸出模塊、檢測矩陣模塊、譯碼模塊和時序控制模塊。本設(shè)計(jì)中采用流水線操作進(jìn)行并行處理來提高運(yùn)算速度,功能模塊框圖如圖4所示:

      (1)輸入輸出模塊

      輸入輸出模塊是與系統(tǒng)其他功能模塊的接口。輸入模塊接收信道矩陣H和接收信號R然后送入檢測矩陣模塊進(jìn)行運(yùn)算。輸出模塊接收譯碼模塊輸出的信號存儲在寄存器中,等待同一時刻的所有信號譯碼完成后輸出譯碼數(shù)據(jù)。

      (2)檢測矩陣模塊

      在MIMO-DBLAST檢測中,F(xiàn)PGA實(shí)現(xiàn)最重要的就是檢測矩陣G的求解,而求解檢測矩陣時最關(guān)鍵的就是矩陣求逆。矩陣求逆的算法如下所示:

      其中H∈Cn×m,而H的前k列表示為Ak∈Cn×k,Hj代表H的第j列,則H=Am,Ak=(Ak-1,Hk)。

      根據(jù)上面的矩陣求逆算法可以得到圖5所示的FPGA實(shí)現(xiàn)流程圖。本文FPGA設(shè)計(jì)采用了迭代運(yùn)算、加法運(yùn)算和乘法運(yùn)算,采用復(fù)用的方式來減少資源占用,除法運(yùn)算采用查表的方式來提高運(yùn)算速度。如圖5所示,首先初始化得到A1+,然后用一個計(jì)數(shù)器K來控制迭代次數(shù),當(dāng)k

      檢測矩陣模塊首先根據(jù)ZF-SIC和MMSE-SIC算法特點(diǎn)選擇相應(yīng)的檢測矩陣GZF和GMMSE,然后完成上述矩陣求逆子模塊,把求逆的輸出存入寄存器中,根據(jù)式(4)和式(5)進(jìn)行相應(yīng)檢測矩陣的運(yùn)算。當(dāng)完成檢測矩陣G計(jì)算后送入譯碼模塊,同時輸出一個使能信號enb送入譯碼模塊。

      (3)譯碼模塊

      計(jì)算出檢測矩陣G后,開始進(jìn)行接收信號譯碼。譯碼主要是通過逐步檢測相消法來進(jìn)行子流的區(qū)分和檢測。串行干擾抵消檢測器通過M次迭代實(shí)現(xiàn)所有M個子數(shù)據(jù)流的檢測。每次檢測出一個子數(shù)據(jù)流,然后將其從接收信號向量中減掉,如此循環(huán),直到檢測完最后一個子數(shù)據(jù)流[8]。其具體算法如下所示:

      譯碼模塊首先接收輸入模塊的用戶信號R,存入緩存中等待檢測矩陣的使能信號enb。當(dāng)enb變高后,同時接收到檢測矩陣送入的數(shù)據(jù)進(jìn)行譯碼處理。譯碼處理部分總共包含6個子模塊,分別完成公式(11)~(17)的計(jì)算。即首先計(jì)算ki、wki、ski和,再把判決的值送入輸出模塊同時反饋回去譯碼模塊,同時接收信號再減去對剩余信號的干擾,如此不斷循環(huán)直到最后一個信號譯碼完成。圖6為譯碼模塊的FPGA實(shí)現(xiàn)流程圖。

      檢測矩陣模塊和譯碼模塊需要進(jìn)行大量的運(yùn)算,加法運(yùn)算和乘法運(yùn)算采用復(fù)用的方式來減少資源占用,除法運(yùn)算采用查表的方式來提高運(yùn)算速度。

      3.3 D-BLAST譯碼

      接下來進(jìn)行D-BLAST譯碼,D-BLAST譯碼是按照對角線型方向來進(jìn)行譯碼的,實(shí)際上是如圖2所示編碼的逆過程。由于在編碼端對信號串并變換后再進(jìn)行交織,因此接收端的D-BLAST譯碼是與發(fā)射端的編碼相對應(yīng)的操作,先進(jìn)行解交織,然后再進(jìn)行并串變換。

      首先信號乘以解交織矩陣M-1,得到:

      然后將并串變換后得到串行信號流=[1,2,3…]。

      根據(jù)式(7),譯碼的重點(diǎn)是如何獲得解交織矩陣M-1,然后與信號進(jìn)行乘法運(yùn)算。D-BLAST譯碼的設(shè)計(jì)實(shí)現(xiàn)共4個模塊,包括存儲器模塊、狀態(tài)機(jī)控制模塊、時序控制模塊、并串轉(zhuǎn)換模塊,如圖7所示。譯碼時把檢測后的信號=[,…,jk]存儲在RAM中,時序控制模塊控制狀態(tài)機(jī)產(chǎn)生交織圖案,時序控制模塊控制從RAM中讀出并行的譯碼數(shù)據(jù),最后對譯碼后的3路并行數(shù)據(jù)流進(jìn)行并串變換,形成串行數(shù)據(jù)流,實(shí)現(xiàn)D-BLAST譯碼。

      4 性能仿真分析

      通過Verilog硬件描述語言在Virtex4-VC4VSX55芯片上實(shí)現(xiàn)了帶寬為33 MHz、速率為200 Mbps的3×3 D-BLAST基帶FPGA硬件系統(tǒng),并在獨(dú)立同分布的平坦瑞利衰落信道下對系統(tǒng)的性能進(jìn)行了FPGA運(yùn)行仿真評估。全局時鐘采用了100 MHz的時鐘頻率,發(fā)射端和接收端均采用了同步電路,以保證系統(tǒng)的穩(wěn)定性。

      圖8是分別采用ZF-SIC和MMSE-SIC檢測方法的MIMO D-BLAST系統(tǒng)在FPGA上運(yùn)行的誤碼率曲線。從圖8中很明顯地可以看出MMSE-SIC性能優(yōu)于ZF-SIC檢測算法,在誤碼率為10-3時,MMSE-SIC的性能要比ZF-SIC大約有2 dB~3 dB的增益。在收發(fā)天線相同的系統(tǒng)中,MMSE-SIC的性能優(yōu)于ZF-SIC。

      從圖8中還可以看出,在誤碼率為10-3時,采用16-QAM調(diào)制方式的ZF-SIC檢測所需要的信噪比是23 dB,采用QPSK調(diào)制方式的ZF-SIC檢測的信噪比是21 dB,因此16-QAM調(diào)制的性能略差于QPSK調(diào)制。同時QPSK承載2 bit信息,16-QAM符號承載4 bit信息,因此QPSK速率小于16-QAM。實(shí)際應(yīng)用中需要通過自適應(yīng)調(diào)制技術(shù)在不同的信道情況下自適應(yīng)地選擇不同的調(diào)制方式。

      表1列出了兩種不同檢測算法接收機(jī)所占用硬件資源的情況。從表1可以清楚地看出,ZF-SIC算法消耗的硬件資源要少于MMSE-SIC,即MMSE-SIC檢測算法性能的提高是以計(jì)算復(fù)雜度為代價的。

      圖9對比了3×3 D-BLAST和V-BLAST基帶FPGA的仿真性能,可以看到,D-BLAST的性能相對于V-BLAST系統(tǒng)大約有1 dB的增益。

      表2列出了D-BLAST和V-BLAST接收機(jī)所占用硬件資源的情況。從表2可以清楚地看出,D-BLAST譯碼端消耗的硬件資源要多于V-BLAST,即D-BLAST譯碼算法的復(fù)雜度要高于V-BLAST。這是因?yàn)閂-BLAST編碼只是對數(shù)據(jù)流進(jìn)行了簡單的串并變換,但D-BLAST不僅進(jìn)行了串并變換還對數(shù)據(jù)流進(jìn)行了交織和解交織,因此D-BLAST譯碼的復(fù)雜度要比V-BLAST的復(fù)雜度大。

      5 結(jié)束語

      通過Verilog硬件描述語言在Virtex4-VC4VSX55芯片上實(shí)現(xiàn)了帶寬為33 MHz、速率為200 Mbps的3×3 D-BLAST基帶FPGA硬件系統(tǒng),對系統(tǒng)的性能進(jìn)行了FPGA運(yùn)行仿真評估,對系統(tǒng)占用的硬件資源進(jìn)行了統(tǒng)計(jì)。設(shè)計(jì)中涉及QPSK調(diào)制解調(diào)、D-BLAST編碼、MIMO檢測和譯碼等主要功能模塊的實(shí)現(xiàn)。其中,MIMO檢測采用了ZF-SIC和MMSE-SIC兩種不同的檢測算法以提高系統(tǒng)的性能。對3×3 D-BLAST和V-BLAST基帶FPGA運(yùn)行仿真性能還進(jìn)行了對比。這些工作對研發(fā)基于D-BLAST檢測的MIMO原型系統(tǒng)具有重要的參考價值。

      參考文獻(xiàn):

      [1] Foschini G J, Gans M J. On limits of wireless communications in a fading environment using multiple antennas[J]. Wireless Personal Communications, 1998(3): 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 Technique Journal, 2002(2): 41-49.

      [3] 謝顯中. 移動通信中的空時編碼技術(shù)與接收機(jī)設(shè)計(jì)[D]. 西安: 西安電子科技大學(xué), 2000.

      [4] H E Gamal, A R J Hammons. A New Approach to Layered Space time Coding and Signal Processing[J]. IEEE Transactions on Information Theory, 2001(6): 2321-2334.

      [5] H E Gamal, M O Damen. Universal Space-time Coding[J]. IEEE Transactions on Information Theory, 2003(5): 1097-1119.

      [6] Narayan Prasad, Mahesh K, Varanasi. Analysis and Optimization of Diagonally Layered Lattice Schemes for MIMO Fading Channels[J]. IEEE Transactions on Information Theory, 2008(3): 1162-1185.

      [7] Branka Vucetic, Jinhong Yuan. 空時編碼技術(shù)[M]. 王曉梅,譯. 北京: 機(jī)械工業(yè)出版社, 2004.

      [8] 劉謙雷,楊綠溪,許道峰. 用于MIMO信號檢測的降低復(fù)雜度V-BLAST算法[J]. 通信學(xué)報, 2007,28(9): 40-45.

      [9] 黃虎. D-BLAST MIMO-OFDM基帶系統(tǒng)的FPGA實(shí)現(xiàn)[D]. 北京: 北京交通大學(xué), 2009.

      [10] 王利勇. MIMO檢測算法的研究與實(shí)現(xiàn)[D]. 西安: 西安電子科技大學(xué), 2010.

      猜你喜歡
      現(xiàn)場可編程門陣列誤碼率
      面向通信系統(tǒng)的誤碼率計(jì)算方法
      一種快速同步統(tǒng)計(jì)高階調(diào)制下PN 碼誤碼率的方法?
      任務(wù)間通訊郵箱的硬件實(shí)現(xiàn)
      一種千兆以太網(wǎng)SerDes 接口與電接口的轉(zhuǎn)換方法
      UWB多徑信道調(diào)制方式的誤碼率分析
      基于FPGA的遺傳算法在交通控制中的應(yīng)用
      基于FPGA的顏色識別觸摸屏系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      泰克推出BERTScope誤碼率測試儀
      關(guān)于OTN糾錯前誤碼率隨機(jī)波動問題的分析
      星載干涉合成孔徑雷達(dá)系統(tǒng)的誤碼率指標(biāo)分析
      化州市| 虹口区| 思茅市| 喀喇沁旗| 拉萨市| 儋州市| 寿光市| 德州市| 高密市| 景德镇市| 读书| 南丹县| 玉树县| 南宫市| 竹北市| 宣威市| 兴国县| 五华县| 富锦市| 赤水市| 泰和县| 慈溪市| 大理市| 定陶县| 上饶市| 石柱| 贵州省| 武威市| 苏尼特左旗| 鲁甸县| 图木舒克市| 行唐县| 井冈山市| 达拉特旗| 灵寿县| 平度市| 孟村| 武穴市| 株洲市| 惠州市| 曲松县|