此技術文章說明了LabVIEW 與USRP 平臺的使用方式,進而打造出相位同調(Phase Coherent) 的MIMO 測試臺,可以從2x2 擴充為8x8 天線設定,并且用來測試多種MIMO 與多用戶的通信研究項目。
1. 8x8 MIMO 簡介
現在Single-Link 單連結MIMO (多重輸入與多重輸出) 通信的概念可說是非常普遍[1],新的無線標準也陸續采用此技術。 比如說LTE Advanced 標準,其中結合了高達4x4 MIMO 上行與8x8 MIMO 下行[2]。 隨著各式標準持續提高數據傳輸率、用戶人數與穩定的鏈接數量,工程師也必須開發新并仿真的算法,并且在實際情況下加以檢驗。 而且各機構也開始大量投資MIMO 應用,包含多使用者的MIMO (MU-MIMO)、合作式MIMO 與協作多點(CoMP) 等項目。 研究基金的競爭狀況越來越激烈,同時因為原型制作決定了新算法的實用性,重要性更甚于仿真通道,因此讓整個情況更具挑戰性。 如要發表全新的研究結果,必須建置原型,而且研究結果還要具有充分的重復使用率。 可擴充的現成軟件定義無線電(Software Defined Radio,SDR) 解決方案可在研究員制作算法原型時提供關鍵優勢,因其兼具了開發客制化無線電的低成本彈性,以及高成本傳統儀器的可重復使用效能。
圖1. NI USRP-2920 設備
通用軟件無線電外圍設備(USRP,見圖1) 可說是最方便好用也最經濟實惠的現成軟件定義無線電系統,非常適合更高階次的MIMO 應用。 此技術文章說明了LabVIEW (圖2) 與USRP 平臺的使用方式,進而打造出相位同調(Phase Coherent) 的MIMO 測試臺,可以從2x2 擴充為8x8 天線設定,并且用來測試多種MIMO 與多用戶的通信研究項目。
圖2. 8x8 MIMO LabVIEW 人機界面
2. USRP 硬件概述
USRP 平臺是一款RF 軟件設定的無線電收發器,可用于無線通信研究。 將USRP 連接至主計算機后,即可做為軟件定義的無線電,提供主機架構的數字信號處理功能。 每個USRP 設備都會提供獨立的傳送與接收通道,可針對特定的硬件配置提供全雙工作業效能。
USRP 設備會通過GB ETHERNET 端口連接至主計算機,此端口需要Standard 1 Gigabit Ethernet (GbE) 連接功能。 同時以6 伏特DC 運作,最高耗電量為18 瓦特。 請參閱USRP 系統方塊圖(圖3),傳送與接收鏈分別獨立運作,但會共享一個通用的內接10-MHz TCXO 參考頻率,局部震蕩器(LO) 便是來自此頻率。
圖3. NI USRP-2920 系統方塊圖
Rx 信號路徑
就接收端而言(圖3 下方),所接收的模擬RF 信號會通過RX 1 或RX 2 接頭進入,這會由可設定的切換開關來決定,并且經過可調整的(0-30dB) 增益階段到達混合器,進而將LO RF 頻率直接轉換為基帶IQ 組件。100MS/s、14 位的雙信道ADC 會過濾基帶I/Q 模擬信號并取得其樣本。 經過數字化的I/Q 數據會經過平行的內建信號處理(OSP) 程序,此程序會套用DC 偏移修正作業、采用CORDIC 執行數字降轉換以修正次要的頻率偏移并達到所需的RF 中央頻率,過濾并抽取100M S/sec 的輸入信號至用戶所指定的IQ 速率。 經過降轉換的樣本接著會通過標準的GbE 連接功能傳送至主計算機,如果是16 位模式的話基帶IQ 速率最高可達25 MS/s,如果是8 位模式的話則是50 MS/s。
Tx 信號路徑
就傳送端而言(圖3 上方),主計算機會合成基帶IQ 信號,接著通過GbE 連接功能把合成過的I/Q 信號樣本傳送至USRP,如果是16 位模式的話最高可達25 MS/s,如果是8 位模式的話則是50 MS/s。USRP 硬件OSP 會采用數字升轉換程序來插入合成信號并且升轉換至400MS/s,根據所需的RF 中央頻率套用CORDIC 以便修正次要的頻率偏移,接著通過16 位的雙信道DAC 將信號轉換為模擬信號。 再來會通過直接轉換架構來過濾并調變此模擬信號以達到指定的RF 頻率,進一步混合LO 與模擬基帶IQ 信號。 可調整的(0-30dB) 增益階段會放大信號,以便通過外接的TX 1 端口來傳送信號。
時序與頻率
有了MIMO 擴充埠即可同步化2 個USRP 的時序與頻率,此外也可做為以太網絡開關,一組USRP 就能夠共享單一GbE 連接。USRP 前端設備具有REF IN (10-MHz 參考頻率) 與PPS (每秒脈沖) SMA 連接,可提供外部頻率參考與時序的同步化功能,以便補足內接的TCXO 以提高頻率準確度,也可針對大量設備提供同步化功能。
NI-USRP 驅動程序
至于軟件方面,LabVIEW 開發系統提供方便的強大接口,可搭配USRP 硬件,以便快速制作通信算法原型。NI-USRP 軟件驅動程序提供直覺性的函式、VI (LabVIEW 虛擬儀器,可直接對應至硬件配置以便設定時序與同步狀態)、開啟/關閉階段,還能執行讀寫作業。 通過簡易的Rx 作業即可從LabVIEW 程序方塊圖呼叫驅動函式(圖4)。 第一個Tx 或Rx 應用一定會包含下列6 個參數:
Device Names:受控USRP 的專屬IP 地址。 新的USRP 硬件默認的IP 地址是192.168.10.2
IQ Rate:基帶IQ 波形的取樣率決定了擷取或合成作業的實時帶寬
Carrier Frequency:重點頻譜的中點。 轉換至基帶IQ 后載波頻率就會成為中心或DC 組件
Gain:套用至模擬RF 信號的可調整增益(通常為0 ~ 30dB)
Active Antenna:切換設定,可決定以RX 或TX SMA 埠來進行擷取或傳輸作業
Number of Samples:每次驅動程序呼叫元從設備擷取或傳送到Fetch Rx 或Write Tx VI 的取樣數量
圖4. 使用NI-USRP 驅動程序的LabVIEW 程序方塊圖
3. 可擴充的8x8 MIMO 硬件系統架構
多個USRP 設備可整合為單一個相位同調天線數組,以便傳送/接收信號。 本文所探討的MIMO 測試臺可從2x2 擴充為8x8 天線設定(最多有8 個傳輸器和8 個接收器)。 建置測試臺時必須考慮到的硬件組件與優缺點,包含了頻率與時序同步,以及數據總線帶寬。
頻率與時序同步化
就標準的MIMO 通信測試臺而言,所有的Rx 或Tx 通道必須做為單一接收器或傳輸器運作,同時搭配頻率與時序同步化功能以及一個相位同調的局部震蕩器(LO)。8x8 MIMO 測試臺的8 個USRP 設備都會采用相同的10MHz 參考頻率與PPS 時序基礎,借此達到同步化效能。 根據8x8 MIMO 系統方塊圖(圖5),4 個USRP 設備會直接連接至每個參考信號,接著另外4 個USRP 設備會通過MIMO Data 與Synchronization 接線共享此信號。 這樣一來即可同步化所有8 個USRP 設備的頻率與時序,同時單一10-MHz 參考頻率還會衍生出相位同調的LO。 用來產生頻率的硬件則是OCXO (Oven Controlled Oscillator 恒溫震蕩器),此硬件采用Trimble 公司的Thunderbolt® GPS 授時頻率,可提供10 MHz 的參考頻率輸出與數字PPS 輸出[4]。OCXO 的頻率來源非常準確,不必安裝GPS 天線即可運作。 安裝GPS 天線則可以改善GPS 授時的同步化效能,提供一致的時序概念。
圖5. 8x8 MIMO 系統方塊圖
此外10 MHz 與PPS 參考信號的功率準位也是相當重要的考慮,因為頻率信號會分配至所有的無線電。 在此應用中,通用的同軸BNC「T」連接會劃分信號兩次,以便同步化前4 個USRP 設備。Tunderbolt 可提供大約7dBm 的10MHz 參考,以及2.4 V 的數字PPS 信號。 二度劃分信號(也就是以傘狀分散至4 個設備) 就會變成1dBm 與0.6V 參考,接近推薦的USRP Ref In 與PPS 輸入準位(0dBm 與3.3V LVTTL 相容)。 如果必須進一步劃分參考信號以確保適當的同步化效能,NI 建議將10MHz 與PPS 信號放大至建議的功率準位。
8x8 MIMO 零件列表(表1) 包含了用來建置8x8 MIMO 測試臺的組件。 所有組件都是標準的現成零件。
數量 | 零件 | 數量 | 零件 | |
16 | SMA 連接的磁性天線 | 8 | 3 向的公-母-公BNC「T」 | |
16 | NI USRP-2920 套件 | 16 | 公BNC 至公SMA 的接線 | |
8 | USRP MIMO 同步化與數據接線 | 1 | 10 端口的Gigabit 以太網絡切換器 | |
2 | Trimble Thunderbolt (Ref + PPS) | 1 | 桌面計算機(Dell 計算機搭載Intel Xenon 處理器) | |
9 | Cat 5 以太網絡接線 | 1 | PCIe Gigabit 以太網絡卡(Intel 芯片組) | |
4 | 0.3 公尺的BNC 轉BNC 接線 | 1 | 顯示器、鍵盤、鼠標 | |
4 | 3 向的母BNC「T」 |
表1. 8x8 MIMO 零件列表
數據總線帶寬
GbE 連接功能可在USRP 設備與主計算機之間提供專屬連結,讓USRP 以高達25MS/s 的全雙工模式運作。 就MIMO 測試臺而言,16 個USRP 能有效共享同一個以太網絡鏈接,并且在所有通道間有效分配帶寬。 首先,計算單一USRP 全速運作的數據傳輸率為何(等式1),我們發現在不考慮任何通信處理時間的前提下,會用到80% 的1Gb 以太網絡帶寬。
等式1:1 GbE 的單一信道IQ 速率最大理想值
文字框: 圖5。8 通道同步化Rx 方塊圖(Part I)。測試臺內的整個Tx 與Rx 系統會共享單一1 GbE 連接,并且回傳至主計算機(已連接未受管理的標準1 GbE 切換器)。IQ 速率最大值會除以共享相同以太網絡鏈接的USRP 設備數量,此外還有額外的處理時間可用來同時管理多個設備。至于8x8 MIMO,IQ 速率的最大理想值為25MS/s IQ 速率除以8 (等式2),因此每個傳送器與接收器的3MHz 基帶頻寬皆可分配到3MS/s 左右。只要在同一個主計算機內加入專屬的1 GbE 控制器,即可提高最大理想值;不過內存與處理器瓶頸仍可能影響效能。
等式2:共享l GbE 連接的8 個天線IQ 速率最大理想值
就目前的測試臺狀態而言,每個不同的天線(共8 個) 都有1MS/s 的IQ 速率。
4. MIMO 系統軟件架構
就LabVIEW 來說,MIMO 系統軟件架構可分為2 個部分:
1.NI-USRP 硬件驅動程序
2.主機架構的通信程序代碼
NI-USRP 硬件驅動程序可讓所有的USRP 設備執行傳送或接收作業,而且只要通過一組驅動程序呼叫組件即可加以設定并控制。硬件驅動程序與主機之間的接口采用主機架構的通信程序代碼,屬于基帶IQ 數據的二維數組,每一列(row) 都代表了單一天線的復雜時域IQ 數據。 接著可藉由LabVIEW 環境內多個運算模型來執行主機架構的信號處理功能,其中包含圖形化LabVIEW 架構的算法、LabVIEW MathScript RT 內的.m 檔案腳本,或是可通過LabVIEW Call Library Node 存取的C 函式。
MIMO 搭配NI-USRP 驅動程序
所有8 個傳送器都會在單一傳送階段內進行設定,而所有8 個接收器都會在單一接收階段內進行設定(圖6)。
圖6. 8 信道同步化的Rx LabVIEW 程序方塊圖(Part I)
以MIMO 系統的Rx 端為例,設定與同步化流程包含6 個步驟:
1.在逗點分隔表中指定每個USRP 的IP 地址,以便開啟Rx Session。
2.設定Start Trigger Time (單位為整數秒或分數秒),代表所有USRP 設備開始擷取數據的時間。
3.設定所有8 個設備共享的參數。
4.指定哪些設備會使用外接參考或MIMO 接線。
5.將時基設為0 (僅限于PPS 頻率信號下個升緣具有外部PPS 連接的USRP 設備)。 注意: 信道表說明了需要此設定的設備。
6.使用單一驅動呼叫元來擷取數據,并以復雜樣本的二維數組送回,其中每一列都包含了單一天線的復雜IQ 波形。
一旦啟動會話之后,系統就會開始從所有的USRP 設備擷取時序同步化的連續樣本,并且做為二維數組通過NI-USRP Fetch 指令回傳至LabVIEW,數組中的每一列都是一個獨立通道。 接著樣本輸入數量會指定每次Fetch 操作需要擷取的樣本數量。 在此情況下(圖6),我們會記錄每一列,再將每個信道的I/Q 信號配置到各自的圖形中。
8x8 MIMO 主機架構的通信作業
圖6. 8 信道同步化的Rx LabVIEW 程序方塊圖(Part II)
位于美國奧斯汀的德州大學設有無線網絡與通信團體(Wireless Networking and Communications Group,WNCG),Robert Heath 教授與研究生Jackson Massey 采用此硬件與驅動軟件框架,打造出使用QPSK 符號的LabVIEW 架構MIMO-ODFM 鏈接 (圖2)。 這種可擴充的程序代碼可讓MIMO 設定從2x2 擴充至8x8,只要開啟或關閉USRP 設備就行了。 隨機數據位會對應至QPSK 符號,接著這些符號會通過62.5-kHz 帶寬對應至128 OFDM 子載波(其中有些通道無效,有些則是用于培訓)。 循環式的前置區段(Cyclic Prefix) 會插入內含20 個OFDM 符號的組合,并且建立Preamble。 最終的IQ 波形會分為平行串流,接著以系數16 進行升取樣。最后會以1 MS/s 的速度產生IQ 樣本的二維數組,而且每個USRP 設備(共8 個) 都會采用NI-USRP Write 函式來傳送特殊符號。
至于接收端,來自NI USRP 驅動器的數據擷取率為1MS/s,接著進行分析以偵測OFDM 框架位置。 抽出框架后,LabVIEW 架構的軟件就會估計頻率偏移并加以修正。 接著信號會區分為與FFT 尺寸相同的區塊,同時加上循環式前置區段,FFT 再套用至每個區塊。 無效音調(Null Tone) 會遭到移除,通信培訓信息可用來估計并修正多路徑干擾現象, 而引導音調(Pilot Tone) 則是用來估計并修正每個子載波的增益與相位移轉。 最終的QPSK 星座圖則會針對每個通道(共8 個) 進行配置。
LabVIEW 可混合不同的運算模型,以便快速制作OFDM 系統原型。OFDM 連結有許多面向都已在客制化的.m 檔案腳本中實作。 模擬環境內的.m 檔案腳本可通過MathScript RT Node (圖7) 直接整合至LabVIEW 以便立即執行,只需要小幅度的修改即可。
圖7. 使用 LabVIEW MathScript RT Node 整合.m 檔案腳本
5. 評估系統
使用USRP 來設計專屬的MIMO 測試臺時,請務必考慮到實時執行、相位校正vs. 相位同調、運用以太網絡卡達到最高的數據傳輸率等事項。
實時執行與延遲時間
系統與NI-USRP 驅動程序可納入共8 個傳送器與8 個接收器,以超過2MS/s 的速度串流復雜的基帶IQ 信號,并且實時處理信號。 但因為處理時間的關系,傳輸率會降低為每200 毫秒(ms) 1 個OFDM 框架,才能確保在Windows 系統內實時執行。OFDM 范例程序代碼的約略數據傳輸率計算方式如下:
等式3: 攜帶數據的OFDM 子信道
等式4:OFDM 測試臺數據傳輸率
最終的數據傳輸率為122.8Kb/s (62.5Khz 帶寬的通道)。 此設定可達到1.9648 位/秒/Hz 的數據傳輸率,這是相當可觀的數字。
請注意,此配置尚未經過效能優化處理,而是直接采用之前僅用于仿真的算法。 如果再進一步優化可能會大幅提高效能。
相位校正vs. 相位同調
所有USRP 皆共享通用的10-MHz 參考后,相位同調局部震蕩器(LO) 即可通過分數N 頻率的方式來處理合成作業。 在合成過程中,參考頻率會被劃分,此外升緣與降緣的相位可能會鎖定,針對每個通道產生固定的任意相位偏移。 就MIMO 通信而言,負責執行多路徑評估與修正的算法也會一并修正這些固定的任意相位偏移現象。
不過波束賦形應用則需要LO 的相位校正,所以會通過基帶I/Q 來控制并擷取此相位。此外也有更有效的方式,那就是使用已知的參考信號來偵測USRP 的相位偏移,并且針對方向尋找與波束賦形等研究將修正項目套用至接收到的信號。
達到完整的1 Gigabit 以太網絡數據傳輸率
如要達到完整的1 Gigibit 以太網絡數據傳輸率,就會需要最佳設定的網絡卡,以及順暢整合網絡卡/內存/處理器的計算機。 一般來說最理想的組合就是桌面計算機搭配Intel 的以太網絡控制器芯片組,同時還具備較新的驅動功能,例如要關閉「Energy Efficient Ethernet」,計算機的「Power Options」則得設為「High Performance」。
6. 結論
隨著MIMO 通信研究日漸普遍,NI USRP 硬件與LabVIEW 軟件則提供了理想的平臺,可快速制作新的算法原型并加以檢驗。 這樣的組合可提供優異的彈性與效能,有助于建置簡便的2x2 MIMO 系統,而且還可擴充為進階的8x8 MIMO OFDM 測試臺。 有了現成的NI USRP SDR 硬件,研究人員即可迅速建立測試臺,評估算法,分享可復制的研究結果。 如果將LabVIEW 用于開發作業,就可以整合現有的IP (例如.m 檔案腳本),同時根據個人需求輕松運用各種SDR 硬件平臺,無論是主機架構的USRP 原型制作流程,還是PXI 架構的儀器質量MIMO 都沒問題。 如要開始準備這類應用,請先前往 ni.com/usrp/zht/ 取得更多USRP 軟件定義無線電的相關信息。
7. 參考數據
[1] A. Paulraj, A.J., “An overview of MIMO communications - a key to gigabit wireless”, Proceedings of the IEEEE, vol. 92, no. 2, pp. 198-218, Feb 2004.
[2] 3GPP TR 36.913 V9.0.0 (2009-12), “Requirements for Further Advancements of E-UTRA (LTE-Advanced).”
[3] J. W. Massey, J. Starr, Seogoo Lee, Dongwook Lee, A. Gerstlauer, and R. W. Heath Jr. Implementation of a real-time wireless interference alignment network. To appear in the Proc. of the Asilomar Conference on Signals, Systems and Computers, 2012. (6x6 MIMO Code available on the USRP Code Sharing Community)