吳浩洋


摘要:出了一種基于GRT平臺的全雙工WiFi通信系統設計和實現,它可以支持20 MHz的帶寬,能夠提供不同的調制/解調方式,包括802.11a/g模式中的標準二進制相移鍵控(BPSK)、正交相移鍵控(QPSK)、16 正交振幅調制(QAM)和64 QAM調制。測試結果顯示:基于GRT的全雙工系統的吞吐率可以達到92.45 Mbit/s,相當于802.11a/g標準吞吐率的1.7倍,兩幀之間的延遲可以低至9.85 μs。
關鍵詞: 全雙工;WiFi;軟件定義無線電;吞吐率
Abstract: In this paper, we propose the full-duplex WiFi design and implementation based on GRT platform. The system supports 20 MHz bandwidth operation, and offers various modulation/demodulation schemes, including binary phase shift keying (BPSK), quadrature phase shift keyin (QPSK), 16 QAM, and 64 quadrature amplitude modulation (QAM), for standard 802.11a/g frames in the full-duplex mode. Our system further delivers throughput up to 92.45 Mbit/s, about 1.7 times compared with the half-duplex 802.11a/g standards, and the frame interaction intervals can be as small as 9.85 us.
full duplex; WiFi; software defined radio (SDR); throughput
1 全雙工技術和GRT系統
1.1 全雙工技術
由于全雙工技術理論上可以將頻譜利用率提高1倍,并能夠更加靈活地利用頻譜資源,因此近年來隨著器件技術和信號處理技術的發展,同頻同時全雙工技術逐漸成為研究熱點,是5G 移動通信系統充分挖掘無線頻譜資源的一個重要方向。
傳統的無線通信系統無法實現同頻同時全雙工傳輸,因為當無線設備處于全雙工的工作狀態時,接收天線會接收到很強的由其自身發射機產生的信號,這一信號被稱為自干擾信號。因此,要實現全雙工通信,需要解決的首要問題就是如何消除自干擾信號。從理論上來講,由于設備完全了解自身的發射機所發出的信號,因此自干擾信號可以通過一些特殊的處理完成消除[1-2]。
自干擾消除方法大體分為3類:天線消除、模擬消除以及數字消除。天線消除利用了天線的極化與方向特性,盡可能地讓發射和接收天線隔離;模擬消除指的是利用設計好的模擬電路,分離出發射信號與接收信號;數字消除是通過基帶處理算法,完成自干擾信號的消除。數字消除通常分為兩個步驟:首先,在兩臺設備同時發送數據幀之前,訓練信號將會被分別發送,這個過程中同時對目標信道以及干擾信道做出估計;之后,根據已知的信道信息,就可以從接收的信號中減去自干擾信號得到目標信號[3-4]。
1.2 GRT系統
GRT[5-6]系統是一種高性能、可編程、小型化的基于現場可編程門陣列(FPGA)的軟件無線電系統。用戶可以基于GRT系統完成小型化無線系統的快速開發,并實現當前主流無線協議所需的性能要求(包括吞吐率和延遲)。GRT系統主要由4部分組成:主機、物理(PHY)層、媒體訪問控制(MAC)層和射頻前端[1]。主機為用戶提供了一些非常靈活方便的用戶接口,無線協議中MAC、PHY的大部分功能都是基于FPGA實現的,射頻前端完成無線基帶信號和射頻信號的互相轉換。
研究人員普遍希望用于研發的軟件無線電平臺同時滿足3個要求:高性能、可編程和小型化。可編程的平臺可以讓研究者快速實現新的設計想法,研究者同時希望無線平臺能夠提供足夠的用戶接口及應用程序編程接口(API),保證用戶可以靈活、方便地在無線平臺上完成開發。
高性能則可以保證系統工作的高吞吐率和低延遲,由于無線環境的復雜性,傳統的軟件仿真方式無法驗證系統在真實環境中的工作情況,即便是在低速、高延遲的無線平臺上完成了系統實現,其信道模型仍然和系統工作于高性能時是有區別的,因此也無法完全驗證系統在高性能情況下的工作情況。
小型化對于研究者來說是一個比較容易忽略的特征。一般情況下,無線設備的終端是具備移動性的。如果研究者在大型化的系統中完成系統實現,就很難模擬無線終端在無線環境中的移動,大型化無線系統同樣也不利于在不同無線環境中的系統測試。
1.3 相關工作
人們已經在一些軟硬件開發平臺上實現過全雙工系統,包括開源軟件無線電平臺(GNU Radio)[5],基于FPGA的無線平臺WARP[2,4,6],以及基于WARPLab[7]實現的全雙工系統。基于GNU Radio實現的全雙工系統最多只能支持幾個Mbit/s速率的實時吞吐率,這遠遠達不到當前WiFi標準(例如802.11a/g要求達到54 Mbit/s的數據吞吐率[1])。基于WARP實現的全雙工系統[2,4,6]可以工作在20 MHz帶寬,但幀與幀之間的響應延遲較大(75 μs)[4],因此無法滿足短幀間間隔(SIFS)的定時標準。基于WARPLab實現的全雙工系統使用WARPLab來完成全雙工的核心算法,其處理延遲最高可達50 ms[7],這比802.11a/g的延遲要求整整高出了3個數量級。根據我們的調研,當前已有的全雙工系統實驗平臺在性能上還有許多不足之處[8-10]。
2 全雙工WiFi系統設計
2.1 GRT平臺設計
GRT平臺的系統設計面臨以下兩個挑戰:
(1)對于一個軟件無線電平臺,要同時達到可編程性與高性能的目標是較為困難的。基于軟件的無線平臺,中央處理器 (CPU)的處理速度是主要的瓶頸。雖然軟件平臺具有良好的可編程性,但它們卻不能保證當前主流無線協議的吞吐率和延遲要求。基于硬件的平臺雖然有較好的性能,但因其邏輯結構固定,不易編程,因此大幅度地延長了無線系統的開發周期和成本。
(2)全雙工WiFi平臺應能夠提供多變的應用編程接口。一般一個全雙工WiFi系統由以下幾個組件構成:PHY、MAC、射頻(RF)前端以及用于控制的主計算機。在不同的應用設置下,研究人員會應用不同的模塊,且需要模塊間實現不同的連接方式,因此各模塊之間必須要有靈活的接口。
為解決第1個問題,GRT平臺中的PHY層基于FPGA,并采用模塊式設計以同時滿足系統高性能與可編程性的需求。FPGA能夠確保PHY層模塊的并行處理,確保了無線系統的高性能要求,在GRT平臺中,每一個PHY模塊作為一個算術單元獨立工作。通過使用通用異步先進先出(FIFO),信號可以在任意兩個模塊之間互相傳輸,且每個模塊可以工作于不同的時鐘域。
圖1展示了PHY層中的模塊連接架構。例如,如果要將模塊5插入到模塊1與模塊2之間,只需要刪除原來連接它們的FIFO并直接插入模塊5即可。這種靈活的模塊設計可以實現絕大多數PHY結構,包括全雙工、多輸入多輸出(MIMO)以及其他異構型PHY架構。
為了解決第2個問題,可以使用不同的接口來保證靈活的連接方式。GRT有4個組成部分:PHY層、MAC層、RF前端以及主計算機。它們彼此之間共有3種交互式接口:直接存儲器存儲接口(DMA)、可編程輸入輸出接口(PIO)和中斷接口,以滿足不同的需要。特別地,DMA接口支持高速數據流,PIO接口可以傳輸某些狀態信息,中斷接口能夠保證低延遲控制。
靈活的系統連接方式保證了系統的小型化需求。對于需要開發小型化無線系統的研究者來說,可以選擇更為小型的RF前端和便攜性高的筆記本電腦作為主計算機。GRT平臺如圖2所示。
總之,我們提出了一種新型的基于硬件的模塊化結構,以保證高性能、可編程和小型化的需求。這種設計不僅適合全雙工WiFi的研究,還適用于不同的復雜PHY層的實現,包括MIMO系統等。
2.2 全雙工幀結構設計
為了實現基帶部分的數字消除,需要完成目標信道與干擾信道的信道估計。為此需要在數據幀發送之前發送若干訓練序列,很顯然,訓練序列所占時間越長,信道估計結果也越為準確。但由于冗余增多,數據傳輸速率也會大幅度降低。因此設計高效的幀交互方式是全雙工設計的重點。
為了實現數字消除,我們同時對目標信道與干擾信道做出估計。當兩臺設備工作于全雙工模式時,目標信號與干擾信號會混合在一起,使得信道估計難度增大。因此需要設計一種新的幀交互方式。圖3中可以看到全雙工幀交互的設計細節。
全雙工MAC使用點協調信道接入機制。為了開始全雙工數據交換,無線訪問節點(AP)和某裝置必須分別先傳輸一個訓練幀。首先,AP發出一個AP訓練幀,此時AP和設備分別對干擾信道與目標信道進行估計;隨后,設備發出一個設備訓練幀,AP和設備再次分別對目標信道與干擾信道進行估計;在兩次握手過程后,AP和設備同時發出和接收對方的等長幀,并用32位循環冗余校驗(CRC)來驗證收到幀的有效性。如果CRC校驗錯誤,則需要完成重發。
訓練幀與全雙工數據幀都是標準的802.11a幀。因此,其他的非全雙工設備可以解調這個全雙工幀,全雙工設備在完成“握手”過程之前也可以看做是一個非全雙工設備。在全雙工設備發出訓練幀之前,它應當先完成退避過程。這里設置了SIFS時間(16 μs)使得全雙工設備可以在非全雙工環境下工作。
3 全雙工WiFi系統實現
3.1 高性能、可編程的全雙工WiFi實現
為了確保全雙工系統的高性能,我們需要考慮每一個運算模塊的運算性能。由于采用了模塊化的設計思路,且模塊之間相互獨立,系統的總延遲等同于每個模塊的延遲之和,每個模塊的延遲需要盡可能地將至最低。因此,采用模塊化的設計思路,就將整個系統的性能優化簡化為對每個模塊的性能優化,有效地提升了開發效率。
對于射頻部分,這里考慮了兩種射頻前端設備,包括了通用軟件無線電外設(USRP)和一款高性能射頻前端設備AD9361。USRP使用以太網絡電纜來同時傳輸數據以及控制信息,這會造成系統的高延遲。其中以太網絡電纜至少會引起20~30 μs的延遲,達不到全雙工通信中的SIFS實時性要求(16 μs)。因此我們選擇了只有不到2 μs延遲的AD9361 RF前端。
在模塊化的設計框架下,用戶可以靈活的增、刪、改其中的任何模塊。此外,我們還提供了很多的用戶接口及API,用戶可以靈活地對系統進行編程開發。
3.2 小型化全雙工WiFi的實現
之前提到,GRT系統主要由4部分組成,且每一部分都可以按照研究者的需求進行設備的選擇。這里選取了筆記本電腦作為主機,射頻前端也采用了AD9361設備,直接通過AD9361和FPGA進行連接,盡可能地減小天線和射頻消除設備的體積與重量。系統的實現如圖4所示。
其中,基于GRT的PHY層以及MAC層在Xilinx Virtex-7 FPGA開發板上實現。同時又加裝了包括天線對消以及模擬對消模塊設置的兩個AD9361前端,并使用一臺電腦,采用PIO接口來監測全雙工的工作狀態以及控制操作模式。這里采用VIVADO 2013.4版本完成系統的Verilog代碼。此外采用自主研發的前端設備實現了模擬消除與天線消除——通過這兩部分的消除算法,能夠去除40~50 dB的自干擾。
3.3 GRT模塊庫
商用WiFi網卡一般采用無線芯片完成WiFi的PHY層算法,因此用戶無法在上面進行編程。基于其他平臺實現的標準WiFi系統也很難將其擴展為全雙工WiFi。因此我們首先實現了一套完整的802.11a協議模塊庫,再利用這一模塊庫實現標準的802.11a協議。在主機上增加無線驅動,系統就可以像普通網卡一樣工作。之前的工作顯示:GRT系統已經可以完成802.11a的完整功能,手機等商用WiFi設備可以順利連接上GRT搭建的AP,并通過GRT搭建的AP連接上網絡。
3.4 GRT系統PHY層實現
圖5表示了基于GRT的全雙工WiFi的PHY層硬件架構。其中黑色模塊代表現存庫內提供的模塊,綠色部分表示為實現全雙工而新增的模塊。從圖中可以看出,由于GRT平臺的可編程特性,只需要做少量的修訂就能夠實現較為完整的全雙工WiFi系統。
4 測試評估
4.1 實驗環境
用戶可以通過PIO接口任意設置GRT平臺的中心頻率、采樣率,以及發送與接收增益。實驗平臺支持802.11a協議中的所有數據速率(6~54 Mbit/s)以及幀長度(1~4 095字節)。每一個GRT設備都可以通過PIO接口的適當設置來作為AP或者用戶設備。
在實驗中采用802.11a中的所有8種調制方案,數據幀長度定為1 500字節,中心頻率為2.457 GHz,抽樣率為20 MHz——這些參數正是工作于10頻道上的商用WiFi設備的典型參數。在MAC層上的CRC結果可以表明一幀是否被成功接收。
4.2 GRT系統可編程性評估
GRT提供標準化802.11協議中的19個模塊[10-12]。為實現全雙工WiFi,實驗中修訂了模塊庫中的3個模塊,并額外添加了4個模塊用于進行數字對消。通過分析,得知GRT系統的模塊庫中有92%的代碼是可以直接復用的。
4.3 全雙工系統性能評估
實驗中,一個終端能夠在9.85 μs內對對方的請求幀作出回應,而標準802.11a要求在16 μs內對接收到的幀作出回應。實驗結果不僅達到了標準802.11WiFi的要求,還額外增加了6.15 μs的容度。
考慮到訓練幀的開銷,實驗還測試了MAC層的理論吞吐率并將結果列在了表1中。結果表明:吞吐率提高到標準WiFi系統的1.71~1.96倍。
5 結束語
文章介紹了一種基于GRT平臺的全雙工WiFi通信系統設計和實現。該設計可以利用GRT提供的802.11a協議模塊庫,完成了高性能、可編程、小型化的全雙工無線系統。實驗結果表明:基于GRT平臺實現的全雙工WiFi系統達到92.45 Mbit/s的吞吐率,幀響應延遲最低達9.85 μs。
參考文獻
[1] CHOI J I, JAIN M, SRINIVASAN K, et al. Achieving Single Channel, Full Duplex Wireless Communication[C]// MobiCom10 Proceedings of the 16th Annual International Conference on Mobile Computing and Networking, 2010. USA: ACM, 2010: 1-12. DOI: 10.1145/1859995.1859997
[2] GNU-Radio [EB/OL]. [2016-04-21]. http://gnuradio.org
[3] BHARADIA D, MCMILIN E, KATTI S. Full Duplex Radios [J]. ACM SIGCOMM Computer Communication Review, 2013, 43(4): 375-386
[4] JAIN M, CHOI J I, KIM T M, et al. Practical, Real-time, Full Duplex Wireless[C]// MobiCom11 Proceedings of the 17th Annual International Conference on Mobile Computing and Networking, 2011.USA: Stanford University, 2011: 301-312
[5] WANG T, SUN G, CHEN J, et al. GRT: A Reconfigurable SDR Platform with High Performance and Usability [J]. ACM SIGARCH Computer Architecture News (CAN), 2014, 42(4): 51-56
[6] CHEN J, WANG T, WU H, et al. A High-Performance and High-Programmability Reconfigurable Wireless Development Platform (demostration paper)[C]//Proceedings of the 2014 International Conference on Field-Programmable Technology (ICFPT 2014). USA, IEEE: 350-353, 2014. DOI: 10.1109/FPT.2014.7082817
[7] WU H, WANG T, CHEN J, et al. GRT: A High-Performance Customizable HW/SW Open Platform for Underlying Wireless Networks [J]. Journal of University of Electronic Science and Technology of China, 2015, 44(1): 23-128
[8] IEEE 802.11 Standard: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications [S]. USA: IEEE Standards Association, 2012
[9] BHARADIA D, KATTI S. Full Duplex MIMO Radios[C]// Proceedings of the 11th USENIX Symposium on NSDI14, 2014. USA: USENIX, 2014: 359-372
[10] ARYAFAR E, KHOJASTEPOUR M A, SUNDARESAN K, et al. MIDU: Enabling MIMO Full Duplex[C]//Mobicom12 Proceedings of the 18th annual international conference on Mobile Computing and Networking, 2012. USA, USENIX: 257-268
[11] WU D, ZHANG C, GAO S, et al. A Digital Self-Interference Cancellation Method for Practical Full-Duplex Radio[C]// 2014 IEEE International Conference on Signal Processing, Communications and Computing (ICSPCC), 2014. USA: IEEE, 2014: 74-79
[12] EVERETT E, SAHAI A, SABHARWAL A. Passive Self-Interference Suppression for Full-Duplex Infrastructure Nodes [J]. IEEE Transactions on Wireless Communications, 2014, 13(2): 680-694