基于GRT平台的全双工WiFi设计与实现

2016-06-22 00:08吴浩洋
中兴通讯技术 2016年3期

吴浩洋

摘要:出了一种基于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