基于NI LabVIEW軟件和USRP搭建2X2 MIMO系統(tǒng)
本文檔描述了如何使用NI LabVIEW軟件和NI USRP™(通用軟件無線電外設(shè))硬件來搭建2x2多輸入多輸出(MIMO)系統(tǒng)。在對MIMO進(jìn)行簡短的介紹后,本文將基于LabVIEW深入探討采用Alamouti空時分組編碼和最大比合并(maximal ratio combining, MRC)的2x2系統(tǒng)的軟件和硬件。
什么是MIMO?
MIMO可在不增加功耗的情況下提高無線系統(tǒng)的性能。它是建立在以下理論的基礎(chǔ)上:使用多個天線時,傳輸?shù)男盘枏陌l(fā)射機(jī)天線沿著不同的無線信道傳輸至接收天線,通過信道分集來獲得容量增益。
開發(fā)2x2 MIMO系統(tǒng)
本文介紹的MIMO系統(tǒng)在發(fā)送端采用Alamouti空時分組編碼,在接收端采用最大比合并(MRC)。這兩種技術(shù)的結(jié)合使得2x2 MIMO系統(tǒng)能夠完全分集。
發(fā)射機(jī)根據(jù)Alamouti方案對符號進(jìn)行如下編碼:前兩個符號(s1和s2)轉(zhuǎn)化為一個2x2矩陣,
行代表不同的發(fā)射天線,列代表連續(xù)時隙。 連續(xù)傳送的每對符號重復(fù)此過程。
2x2 MIMO系統(tǒng): 硬件配置
2x2系統(tǒng)需要配置四個NI USRP收發(fā)器,因為單個收發(fā)器無法同步執(zhí)行兩次發(fā)送或接收。推薦采用以下配置:
· 配有免費兆位以太網(wǎng)端口的計算機(jī)。
· 連接至計算機(jī)的兆位以太網(wǎng)開關(guān)。
· 第一個收發(fā)器通過以太網(wǎng)直接連接至開關(guān),第二個收發(fā)器通過MIMO電纜連接至第一個收發(fā)器。這兩個收發(fā)器用作發(fā)射機(jī)。
· 第三個收發(fā)器通過以太網(wǎng)直接連接至開關(guān),第四個收發(fā)器通過MIMO電纜連接至第三個收發(fā)器。這兩個收發(fā)器用作接收機(jī)。
圖1. 2x2 MIMO硬件安裝圖
圖1顯示的配置可用于同步兩個發(fā)射機(jī)之間的參考時鐘源和兩個接收機(jī)之間的參考時鐘源。每個收發(fā)器的一根天線連接至其中一個端口(NI推薦較為方便的RX1/TX1)。為了使MIMO系統(tǒng)的每個信道完全分集,兩個發(fā)射機(jī)的間距應(yīng)大于所使用的載頻波長的一半(接收機(jī)端也是如此)。
2x2 MIMO系統(tǒng): 軟件配置
以下2x2 MIMO范例為LabVIEW應(yīng)用,需要配置以下軟件組件:
· NI LabVIEW 2011版(或更高版本)系統(tǒng)設(shè)計軟件—完整版、專業(yè)版或?qū)W生版
· NI-USRP 版本 1.1
· NI LabVIEW調(diào)制工具包版本4.3.1
· 2x2 MIMO VI范例
范例操作
將附件中的壓縮文件解壓到新文件夾并在LabVIEW中打開名為2x2QAMAlamouti.vi 的文件。
圖2. 2x2QAMAlamouti.vi范例中前面板的系統(tǒng)參數(shù)選項卡
在范例的前面板(圖2)上,單擊系統(tǒng)參數(shù)選項卡。Tx設(shè)置和Rx設(shè)置集群分別包含Tx對和Rx對的NI USRP收發(fā)器參數(shù)。按照以下指示在這些集群和鏈路參數(shù)集群中設(shè)置控件:
USRP IP地址:輸入每個Tx對和Rx對與兩個NI USRP收發(fā)器相對應(yīng)的IP地址。使用分號隔開每個地址,例如: “192.168.10.6; 192.168.10.5.”
I/Q采樣率[S/sec],符號率、Tx過采樣因子和Rx 過采樣因子:在I/Q采樣率中輸入Tx對和Rx對的基帶I/Q信號采樣率,以采樣點/每秒計。輸入符號率、Tx過采樣率因子和 Rx過采樣率因子的值,I/Q采樣率應(yīng)為所需符號率的偶倍數(shù)。輸入與該偶倍數(shù)對應(yīng)的過采樣因子偶數(shù)值。換而言之,I/Q采樣率、符號率和過采樣因子參數(shù)之間的關(guān)系應(yīng)為如下所示:
I/Q采樣率= 符號率* 過采樣因子
載波頻率[Hz]: 輸入Tx對和Rx對的正常載波頻率,單位為Hz。用戶需要選擇一個符合當(dāng)?shù)胤ㄒ?guī)定的頻率。
開始觸發(fā)時間集群—整數(shù)秒,小數(shù)秒:選擇開始觸發(fā)時間的整數(shù)秒和小數(shù)秒,確保接收機(jī)開始接收的時間剛好在發(fā)射機(jī)開始傳送之前。
每個設(shè)備陣列:每個設(shè)備陣列是指包含兩個元素的集群陣列。每個陣列的元素對應(yīng)Tx對或Rx對的各個NI USRP收發(fā)器。元素0對應(yīng)USRP IP地址中的第一個NI USRP收發(fā)器,元素1對應(yīng)USRP IP地址的第二個NI USRP收發(fā)器。用戶需要配置Tx對和Rx對的NI USRP收發(fā)器的值,使每個設(shè)備對的收發(fā)器共享同一參考頻率和時基時鐘源。用戶可設(shè)置每個設(shè)備對的一個NI USRP收發(fā)器(“初級收發(fā)器”),通過MIMO電纜連接將設(shè)置傳輸?shù)搅硪粋€收發(fā)器(“次級收發(fā)器”)。若需設(shè)置此配置,請按照以下說明設(shè)置每個設(shè)備陣列的元素:
每個設(shè)備陣列元素0:
參考頻率源:內(nèi)部
時基時鐘源:內(nèi)部
每個設(shè)備陣列元素1:
參考頻率源:MIMO
時基時鐘源:MIMO
參數(shù)正確設(shè)置后,就可運行VI。這樣,Tx對發(fā)射的突發(fā)信號將由Rx對接收。出現(xiàn)圖3所示的波形則表明重構(gòu)成功。

圖3. 最上方的大圖表明2x2系統(tǒng)中的4QAM成功重構(gòu),圖中顯示的是兩根接收天線的I/Q元件接收的時域信號樣本(總共4個信號)。左下方的兩個星座圖顯示的是兩個Rx NI USRP收發(fā)器接收到的信號。右下星座圖顯示的是重構(gòu)后的星座圖。
使用LabVIEW搭建2x2 MIMO系統(tǒng)
圖4顯示的是此范例的實現(xiàn)框圖(LabVIEW圖形化程序)。以下部分描述的是該系統(tǒng)的一些主要應(yīng)用領(lǐng)域。
圖4. 2x2QAMAlamouti.vi LabVIEW框圖由三部分組成。左上部分的代碼用于合成傳輸信號。中間靠下部分的代碼用于啟動NI USRP硬件的Tx/Rx操作。右上部分的代碼用于處理接收的信號并顯示接收的波形。
傳輸信號準(zhǔn)備
傳輸信號準(zhǔn)備的第一步是從LabVIEW調(diào)制工具包中調(diào)用子VI(子路徑)。調(diào)用MT Generate Bits將會生成用作信息位的PN序列。這些信息位通過調(diào)用MT Map Bits to Symbols映射為符號。
然后根據(jù)Alamouti編碼方案對上一步生成的符號(圖 5)進(jìn)行編碼。結(jié)果產(chǎn)生一個包含兩個數(shù)據(jù)流的二維符號陣列,每個數(shù)據(jù)流對應(yīng)一個發(fā)射機(jī)。
圖5. subApplyAlamoutiCode.vi的框圖,該子VI簡單明了,采用了Alamouti編碼,通過幾次陣列處理生成所需的二維符號陣列。符號編碼后,該應(yīng)用將訓(xùn)練符號序列置于每個數(shù)據(jù)流之前。接收機(jī)通過訓(xùn)練序列實現(xiàn)同步和通道估計。
訓(xùn)練序列加法運算將同一的序列置于每個數(shù)據(jù)流之前,并對數(shù)據(jù)進(jìn)行排列,使得序列先由其中一個Tx NI USRP收發(fā)器傳輸,然后再由另一個收發(fā)器傳輸——例如,兩個Tx NI USRP收發(fā)器中的其中一個收發(fā)器傳輸序列時,另一個收發(fā)器為靜止?fàn)顟B(tài)。而另一個收發(fā)器傳輸相同的序列時,前一個收發(fā)器就處于靜止?fàn)顟B(tài)。
發(fā)射/接收信號之前信號合成的最后一步是以Tx過采樣控件中指定的速率對即將傳輸?shù)姆柨臻g樣本進(jìn)行上采樣,然后通過脈沖整形濾波器對上采樣信號進(jìn)行濾波。
信號恢復(fù)
在接收端,USRP Fetch Rx Data VI恢復(fù)為接收信號的二維陣列,每一行代表從每根天線接收的信號樣本的數(shù)據(jù)流。
在信號恢復(fù)的第一步,用戶需要從接收端的數(shù)據(jù)幀中提取接收的數(shù)據(jù)包。采用能量檢測算法來確定數(shù)據(jù)包的起始點,并丟棄數(shù)據(jù)幀中剩下的非數(shù)據(jù)包部分。
然后,使用匹配濾波器對每個數(shù)據(jù)流進(jìn)行濾波,并對接收的二維陣列的兩行數(shù)據(jù)之間的能量進(jìn)行比較,確定較強(qiáng)的信號。最后,對信號較強(qiáng)的那一行進(jìn)行符號同步,并在兩行數(shù)據(jù)上加上所計算的偏移量。
圖6. 圖中顯示的是接收到的四個波形—來自兩根Rx天線的I和Q波形。 接收的數(shù)據(jù)包的起始部分可進(jìn)行放大,方便用戶觀察從每個Tx天線接收的訓(xùn)練序列。幀同步較為復(fù)雜,且取決于發(fā)送端的兩個訓(xùn)練序列結(jié)構(gòu)。在此情況下,兩個發(fā)射機(jī)使用的是相同的訓(xùn)練序列,但序列之間存在偏移,因此當(dāng)序列重疊時,看起來就像是一串兩倍長的連續(xù)訓(xùn)練序列。該應(yīng)用通過搜索接收信號中兩個包含T個符號的連續(xù)符號集(每個訓(xùn)練序列的長度為T)之間關(guān)聯(lián)性最高的部分來實現(xiàn)幀同步。在接收到的二維陣列的兩行數(shù)據(jù)上加上所計算的幀補(bǔ)償量。
針對信道估計,有四個不同的信道可供選擇。二維陣列的每一行包含兩個訓(xùn)練序列(每個序列對應(yīng)一個發(fā)射機(jī))。因此,通過對每行的每個訓(xùn)練序列進(jìn)行信號估計,就可估計四個信道的參數(shù)。
這些參數(shù)估計對于下一步非常重要,因為在下一步中用戶將會對Alamouti編碼方案進(jìn)行解碼,執(zhí)行MRC,從而將二維符號陣列轉(zhuǎn)化為正確的一維符號陣列。用戶可分開執(zhí)行最后兩步,或者在此應(yīng)用中使用單矩陣乘法。單矩陣乘法方法比大型MIMO系統(tǒng)更容易普及。
結(jié)果
圖3顯示的是由四個NI USRP收發(fā)器組成的2x2 MIMO系統(tǒng)測試運行時的兩個Rx信號星座圖。最右邊的圖顯示的是執(zhí)行Alamouti解碼、MRC和信道均衡后的最終信號星座圖。該圖表明此范例運行正常。