利用FPGA对大规模MIMO信道进行特性描述
扫描二维码
随时随地手机看文章
多用户MIMO(MUMIMO)是一种无线通信技术,采用基础架构节点(例如基站和接入点)上的多个天线为多个客户同时提供服务。MU-MIMO是未来无线标准中必不可少的组成部分,有望为繁忙的网络带来显著的性能提升。
人们预想随着无线系统的更新换代,基站的天线数量将会不断增加,最终形成“大规模MIMO”系统。大规模MIMO方案将MU-MIMO基站上的天线数量增至数十个甚至数百个,以求在提高性能的同时简化基站的信号处理功能。有一种可扩展的大规模MIMO技术被称为共轭波束形成[1]。该技术的一种早期实现方案显示出实际性能提升潜力[2]。
多用户MIMO技术离不开无线传输环境的准确信息。一个MUMIMO基础架构节点可同时服务多个用户,前提条件是具备有关每个用户无线信道的准确的最新测量信息。实时收集信道信息极具挑战性,而且陈旧或不准确的信道信息对性能影响可能非常严重。
我们设计出一款用于描述大规模MIMO信道特性的集成系统,可帮助研究人员实时分析信道的动态特性。该系统的核心部分采用基于赛灵思FPGA的WARP硬件平台和Mango Communications的802.11参考设计,可通过莱斯大学(Rice University)的Argos平台将24个FPGA连接至96个天线[2]。Mango Communications开发的Python定制框架可用来实时控制和收集来自阵列中每个节点的数据。Mango和莱斯大学的这两款工具结合使用可提供深入的无线协议栈信息,包括对大规模MIMO进行特性描述所需的原始信道数据。
Mango Communications802.11定制模块的重要功能是实时发送来自各个接收天线的底层基带参数,例如AGC增益、信道估计值和原始数据包内容(甚至是含有错误的数据包)。参考设计的这项功能使莱斯大学的Argos阵列作为符合802.11标准的接入点(AP)使用,为商用Wi-Fi设备(例如智能手机、平板电脑或笔记本电脑)提供互联网,同时实时收集阵列天线与每个客户端之间的信道数据。赛灵思FPGA是实现每个天线上的实时处理的关键。
它们将来自各个天线的数据简化成可由定制模块发送和分析的每客户端信道特性信息。
让我们来具体了解一下WARP硬件平台、Mango的802.11模块以及针对MU-MIMO的共轭波束形成策略。最后,我们还会检查特性分析过程,包括实时从Wi-Fi客户端收集无线信道测量数据,以及处理信道数据以估计可达到的MU-MIMO性能。系统组件
无线开放访问研究平台(WARP)是一款全新构建的可扩展、可编程无线平台,用于高级无线网络的原型设计。WARP能够将高性能可编程硬件与包含参考设计和支持资料的开放源码库结合在一起。
WARP项目于2006年由莱斯大学教授Ashu Sabharwal创立,最初由美国国家科学基金会(National Science Foundation)提供资金支持,目前由赛灵思持续提供支持。自此,该项目已经发展成为能够自我维持的开放源码平台,其用户遍布世界各地。Mango Communications于2008年从莱斯大学WARP项目中拆分出来,最初的目的是制造和销售莱斯WARP硬件。2012年,Mango发布了经过彻底重新设计的WARP v3硬件。如今,Mango工程师是WARP资源库和论坛最活跃的贡献者,持续提供开发和开放源码WARP设计支持。
大规模MIMO信道测量系统的核心组成部分是Mango Communications的WARPv3硬件平台。WARP v3适用于快速、实时构建新型无线系统的原型设计。在硬件方面集成了一个赛灵思高性能Virtex®-6 FPGA,两个灵活的射频接口以及包括DDR3 DRAM和两个1Gbps以太网接口在内的多个外设。WARP v3板卡可通过Mango的双无线电FMC模块扩展至4个射频接口。图1中的硬件配置可提供具有FPGA独立数字基带连接的4个完全可编程的射频接口。
为了研究大规模MIMO系统,应该让多个WARPv3节点位于相同位置并共享电源、时钟和以太网连接。莱斯大学Argos项目能够满足这一要求。Argos v2阵列包含24个四天线WARP v3节点,如图2所示。Argos阵列旨在支持各种大规模MIMO实验,而且特别适合同时收集所有96个阵列天线的信道测量数据。
图2 – 莱斯大学Argos v2阵列包含24个四无线电WARP v3节点,具备共享时钟和以太网连接。
这种实时处理能力对于我们的大规模MIMO信道特性描述设计来说非常重要,因为这样系统就可以不断地测量信道,并可靠地观测小于毫秒的信道特性变化。执行该处理的FPGA定制设计正是针对WARP v3的Mango Communications 802.11参考设计。
该参考设计是802.11a/g介质访问控制层(MAC)和物理层(PHY)的实时FPGA实现方案。该设计用来与标准Wi-Fi设备进行交互操作,起到接入点(用于Wi-Fi客户端)、客户端(访问Wi-Fi接入点)或者监控器(只能接收的网络活动无源观测器)的作用。您可以对MAC和PHY进行定制,以探索从标准配置衍生出的变体方案。这种互操作性与可扩展性的完美结合能够实现各种规模的无线通信和网络实验。WARP v3硬件用户可免费获得802.11参考设计的完整源文件。
图3给出了参考设计架构。该设计使用两个赛灵思MicroBlaze™内核在软件中实现高电平和低电平MAC协议。MAC连接两个FPGA核,分别用于实现PHY发送器和接收器。我们在赛灵思系统生成器中实现了这些PHY内核。发送器内核实现了完整的字节至波形流水线,可从MAC读取数据包有效载荷,创建OFDM波形,并将波形驱动至射频接口DAC。该流水线包含编码、扰码、交织、IFFT和前同步码插入。MAC指定每个数据包的调制和编码速率;支持802.11a/g规定的全部8种数据速率。
接收器设计则实现了完整的波形至字节流水线,包括AGC、同步、FFT、信道估计、均衡、检测和解码。
Argos阵列中每个WARP v3节点上的FPGA都可提供接近射频接口的强大处理能力。在诸如Argos这样的大规模MIMO配置中,有大量数据需要处理。例如,当接收40MHz的带宽时,WARP v3上的每个射频接口都会产生960Mbps的采样流(双12位40Msps的ADC)。完整Argos阵列的总量是该值的96倍,远远超出可发送到PC和实时处理的最高值。相反,该系统能够利用FPGA实时对这些数据进行本地处理,并显著减少上游处理器的负担。
WARPnet框架针对我们的大规模MIMO信道特性描述设计,维持着与Argos阵列中每个节点的连接。每个节点都被配置为802.11监控器,可捕获来自每个接收数据包的信道估计值,并通过以太网下载这些数据包以备进一步分析。
WARPnet的完整Python源代码在WARP库中以开放源码方式提供。
理解MU-MIMO
采用MU-MIMO技术的基站需要为众多发射天线创建波形,这些天线与无线信道相结合时可同时为多个用户发送数据。创建多用户波形需要在基站上执行精细复杂的处理。我们现已提出很多种MU-MIMO技术。对MU-MIMO设计的普遍要求是准确掌握每个基站天线到每个客户设备间的无线传播特性。
有一种被称为“迫零”的MU-MIMO方法,与单用户技术相比,其无论从理论上还是从近期的实践上[3]都可实现显著的性能提升。迫零方法可最大程度地提高每个客户接收天线上的信号与干扰加噪声比(SINR)。将SINR实现最大化需要最大程度地提高达到用户天线的波形中的用户有效载荷的信号功率(即“S”),同时尽量减小其他用户的有效载荷功率(即“I”)。迫零法需要在基站上进行非常精细复杂的处理。采用迫零法,在计算特定基站天线的传输波形时需要了解每个用户的有效载荷以及从其它天线到每个用户的无线信道。计算复杂性会随着基站天线数量的增加而显著提高。
接收器使用数据包SIGNAL字段中的RATE值自动针对每个数据包配置解调和解码模块。接收器能以足够快的速度解码任何速率的数据包,并在接收后发出确认字符(ACK),以满足标准对于接收至发送(Rx-to-Tx)之间严格的转换要求。
接收器中的信道估计子系统对大规模MIMO信道的特性描述来说特别重要。在标准OFDM接收器中,信道估计器生成每个副载波的复杂信道系数。均衡器使用这些估计系数为每个接收到的数据符号校正信道幅度和相位衰减问题。此外,我们的设计还将每个接收数据包的信道估计值副本保存到片上存储区。MAC将这些信道估计值作为关于接收帧和标准信息(例如接收器功耗、AGC增益选择、校验和状态以及天线选择等)的额外元数据。然后,信道估计值会被复制到更高电平的MAC以备进一步处理。我们的特性描述平台从Argos 阵列中各个节点所接收到的每个数据包中收集这些估计值,以构成对大规模MIMO传播环境的实时视图。
WARPNET实验框架
大规模MIMO特性描述系统的最后一个部分是WARPnet框架,用于运行大型WARP节点网络的实验。WARPnet是一个Python定制软件包,使用专用控制连接功能连接至多个WARP节点。该框架允许Python脚本在PC上运行,以便实时地远程配置实验参数并检索实验数据。WARPnet通过每个WARP v3板卡上的次级以太网连接与Mango 802.11参考设计进行交互。上部的MicroBlaze器件用于处理WARPnet命令,使框架能够直接访问节点的高电平MAC状态以及从低电平MAC和PHY传送上来的全部数据。
仿真假设网络中有一个基站和八个用户,用独立且恒等分布的瑞利(Rayleigh)衰落信道对无线信道建模。仿真实验给出了同时服务一至八个用户时的总体网络速率与基站所用天线数量的对比情况。当天线数量很少时,我们发现一次对一个以上的用户采用共轭波束形成法并没有好处。如果基站只限制在几个天线,那么带分时功能的传统单用户波束形成法可能优于多用户共轭波束形成法。随着天线数量的增加,可以支持更多的用户,以获得整体网络速率的显著提升。
该仿真实验使用理想的信道模型展示说明多用户共轭波束形成法可实现性能提升。性能提升是否能够在真实系统中实现取决于基站与客户端设备之间真实的无线信道。我们的MU-MIMO信道特性描述平台可实时测量基站与真实用户设备之间的信道,为评估MU-MIMO技术的真实性能提供了强大的工具。
完美集成
既然我们已经了解了测量大规模MIMO信道的目的,以及Rice Argos阵列、WARP硬件和Mango 802.11参考设计所提供的工具,我们接下来就看一看如何将这些内容组成完整的实时大规模MIMO信道特性描述平台。
Argos阵列中的24个WARP v3节点由Mango 802.11定制参考设计版进行配置。这个版本以只接收监控器模式工作,使节点的四个天线都接收数据包。每次接收数据包时,节点都会为每个副载波估算复杂信道系数。
共轭波束形成[1]是另外一种MU-MIMO替代技术。使用这种方法时,基站会最大程度地提高发送到每个客户端设备的有效信号功率,而不会主动将干扰功率最小化。共轭波束形成法通过将信号功率最大化(SINR中的“S”)同时忽略干扰功率(SINR中的“I”)的方式增加每个用户的SINR,理论上这种方式会随天线数量的增加而改善。此外,进行每个传输天线波形的共轭波束形成计算时,无需知道其它天线的信道特性。以上因素综合起来使得共轭波束形成法特别适合用于大规模MIMO系统,其中基站天线数量比用户要多得多。
考虑一下经典的Shannon信道容量公式C =log(1+SINR)。无线信道的容量(比特/秒/Hz)与SINR成对数增长关系。当系统添加更多用户和天线时,多用户共轭波束形成法存在两个相互矛盾的因素。首先,多个天线的存在会增加接收信号功率,因为每个天线都可旋转相位,使传输信号在用户接收器端被有机地结合起来。第二,独立用户的多传输会增加干扰功率。叠加的干扰信号会随机组合。随着天线数量的增加,有机组合的信号功率增长速度超过随机组合的干扰功率,从而增大整体的SINR。
图4中的仿真结果显示出,在使用共轭波束形成法时,基站天线数量的增加对整体网络容量的影响。
对数据包进行解码并通过以太网发送数据包头和信道估计值以进行分析。这个处理流程在阵列中所有24个并行工作的节点中执行。
为了与标准Wi-Fi设备通信,信道测量平台必须实现一个标准的802.11接入点。使用另一个WARP v3节点来达到此目的,使Mango 802.11参考设计运行于AP模式。这个AP节点作为Argos阵列中的第25个节点。AP可提供开放的Wi-Fi网络,接受商用Wi-Fi设备的关联,并通过其主以太网连接提供互联网接入。
这是Mango 802.11参考设计中AP的标准特征。为了实现实时信道测量,AP需要实施一个附加功能。每次有Wi-Fi客户端加入或离开无线网络时,AP节点会通过WARP v3板卡上的副以太网连接发送一个以太网数据包。信道分析应用程序(下面将介绍)使用这些关联更新来维护活动客户端本地列表。 客户端传输
在从Wi-Fi商用设备接收到的数据包中收集信道估计值时所面临的一个重要挑战是确保设备的信息发送频率足够高。现代Wi-Fi设备经常采用严格的节电方案,在没有应用程序请求网络接入的情况下会关闭Wi-Fi连接。这些设备会定期与接入点报到,但其频率有可能不足以确保获得最新的阵列信道估计信息。
我们用两种方法解决客户端传输频率不足的问题。首先,修改由平台AP发送的信标中的流量指示图(TIM)字段,以通知所有连接客户端有新的数据包正排队等待。TIM字段一般用来帮助客户端实现节电效果,使客户端在纯接收模式下短暂唤醒,以接收信标,解码TIM,并在无流量等候时恢复到低功耗模式。通过在每个信标的TIM字段中列出每个节点,可以让节点较少地进入休眠模式。
第二种方法是使用客户端设备发送的ACK数据包来请求客户端传输。该阵列可以从客户端发送的任何数据包(包括短ACK)中提取信道估计值。不过,802.11 ACK数据包只包含一个目标MAC地址,通常会阻止阵列识别正在传输的客户端。
我们在802.11 MAC规范中使用一个特殊方法来解决这一问题。该标准要求802.11器件在成功接收发送到该客户端的单播数据包后发送一个肯定的确认数据包。即使数据包源地址无法识别,“强制ACK”要求仍然适用。因此, AP可发送一个采用唯一虚假源地址的数据包,以便让包含唯一标识符的客户端触发一个ACK发送信号。客户端收到数据包后会将ACK发送至AP所使用的唯一虚假源地址。阵列节点接收ACK,并明确地将得到的信道估计值与发送客户端进行关联。这个技巧非常好用,能够在阵列上为信道估计触发频率更新。之所以能使用这种方法,是因为Mango802.11参考设计具备完全可编程性。
实时分析
大规模MIMO信道测量平台的最后一个组成部分是定制应用程序,该应用程序能够收集阵列信道估计值,计算出可达到的多用户容量,并实时显示结果。我们采用Objective C开发该应用,使用本地UDP插口连接阵列的WARP v3节点,并利用OS X图形框架绘出结果。
该应用程序有两个主视图。第一个视图显示每个阵列天线针对各个副载波所收集的信道数量,共4,992个数据点(52个副载波x96个阵列天线)。该视图显示由阵列收集的原始信道数据,并主要负责传达由每个阵列天线观察到的大量信道值。
图5给出了该视图的屏幕截图。实际上,该视图会进行实时更新(10帧每秒更新活动Wi-Fi客户端)。
应用程序的第二个视图显示了根据阵列信道估计值得到的容量计算结果。在图6中给出该视图。执行两个容量计算。第一张图描绘了每个用户的容量与所用阵列天线数量的对比情况。图中的每条线近似等于可达到的单用户下行链路容量,并假设阵列在传统的单用户波束形成配置下使用部分天线。每条容量曲线斜度随天线数量增加而减小,这清楚地说明在使用传统单用户无线技术时多天线优势会减小。
第二张图显示了阵列使用部分天线实现下行链路多用户波束形成技术时的总体网络容量。四条曲线的走势清楚体现了在使用多用户技术时更多天线数量所带来的优势。当服务更多用户时斜率增加体现了采用多用户波束形成技术时所实现的“日志外(outside the log)”(常在MIMO中用 “prelog” 表达)网络容量增益。
我们在2月份举行的2014赛灵思新兴技术座谈会(ETS)上演示了大规模MIMO信道测量平台。演示具体内容,包括视频和补充材料链接均在http://warpproject.org/XilinxETS中提供。
参考资料
1. T.L. Marzetta, “Noncooperative Cellular
Wireless with Unlimited Numbers of Base
Station Antennas,” IEEE Transactions on
Wireless Communications, vol. 9, no. 11, pp.
3590–3600, 2010
2. C. Shepard, H. Yu, N. Anand, E. Li, T.
Marzetta, R. Yang and L. Zhong, “Argos:
Practical Many-Antenna Base Stations,” Proceedings
of ACM MobiCom, pp. 53–64, 2012
3. Q. Yang, X. Li, H. Yao, J. Fang, K. Tan, W.
Hu, J. Zhang and Y. Zhang, “Bigstation: Enabling
Scalable Real-time Signal Processing
in Large MU-MIMO Systems,” Proceedings
of ACM SIGCOMM, pp. 399–410, 2013