SORA 微软基于PC的软件无线电平台
SORA是微软研究中心的软件无线电(Software Radio :简称Sora)是一种新型的软件无线电平台,为世界上第一款100%基于PC的高性能可编程无线通信系统。它充分发挥了通用处理器(GPP)性能和灵活性,采用软硬件联合优化技术,满足高速信号处理的挑战。可以在通用的PC或者服务器上实时运行无线通信协议,速率可达54Mbps以上,解决了PC架构实现"高速 SDR"的这一难题。
在传统的无线通讯系统,关键底层处理,如PHY层和介MAC层,通常ASIC芯片或者FPGA实现,因为有非常高的计算要求。这种设计更改或升级比较困难,对设计人员硬件水平要求很高,不适合作为科学研究或者算法工程师的研究平台。但是通用处理器(GPP)的软件和硬件系统都不是为了无线通信的信号处理而设计的,因此很难达到高性能的实时通信。例如,非常流行的USRP系列,只能实现8MHz带宽上,100多Kbps的实时通信。
高性能的无线通信对系统有非常严格的需求,主要是以下三个方面:
1.高速的系统吞吐量
包括远端射频头和PHY层协议之间以及PHY层协议内部的模块之间。例如,实现802.11系列协议,单天线需要大约1.2Gbps的吞吐量,如果支持4x4 MIMO应用,那么至少5Gbps以上,这个指标目前对大部分PC都是严峻的挑战。
2.高强度的计算
无线通信的算法需要大量的计算,而且为了保证实时性,很多计算又是突发性的,因此必须充分发挥GPP的性能才能保证。目前主流的GPP都采用多核架构,所以如何将多核的计算能力汇聚起来,实现通信协议对软件开发也是一个挑战。
3.实时的响应
无线通信协议中有很多响应门限,为了保证正常通信,这些响应门限必须满足。因此,低延迟的控制方法也很重要。例如,802.11系列的MAC层协议要在几个微秒内就可以得到响应。这对于PC和操作系统都是很难实现的。
Sora的解决之道:
SORA通过以下四种途径解决了GPP开发无线通信算法问题,分别是:
1.采用高速的PCI Express总线接口标准。
PCIe总线不仅吞吐量大,而且响应时间也优于USB、GbE等接口,非常适合软件无线电的应用场合。
2.充分优化的PHY 层协议实现方法
3.多核CPU之间的数量流水式操作。在不同内核之间通过FIFO同步,充分发挥各个内核的作用。
4.内核限定技术。通过设置,可以实现某个内核停止相应外部中断,专心计算,这样可以提高系统技术能力。
下图是Sora的系统结构:
Sora的硬件架构
Radio Control Board:RCB
RCB是Sora系统的核心板卡,采用了PCI Express 8x架构,最高吞吐率达到16Gbps。RCB上有8个通用的射频接口,可以支持最高8x8MIMO。FPGA内容逻辑框图如下:
Radio Adapter Board:RAB
实现ADC和DAC功能,将模拟基带转换为数字基带信号。采用USRP兼容的接口,可以支持Ettus公司大部分射频模块。双通道ADC,12位64MSPS以及双通道DAC,14位64MSPS。板上FPGA提供参考设计代码
Radio Module:
实现天线接口和上下变频,将射频芯片转换为模拟基带,频率范围覆盖WiFi、LTE和WiMax等主要通信频段,带宽最高可达80MHz。
Sora的软件架构
主要技术:
1. 采用查找表技术充分利用CPU的L2 Cache, 大部分的PHY层算法可以通过查找表来加速1.5~22倍。
2. SIMD指令集优化。充分利用CPU并行加速指令,特别适合FFT和IFFT这一类运算。
3. 利用多核流水线技术
通过同步FIFO,将PHY层实现的子流水线模块分配到不同的内核执行,充分利用多核
CPU的计算能力。
4. 独占内核技术
为了确保CPU可以实时响应,Sora采用了独占线程技术,可以让某个或者某几个内核专用于SDR的任务,不被其他系统调用影响。 实现这种技术不需要修改操作系统的内核。
Sora的性能测试
以WiFi 802.11a/b/g的实现为案例,测试Sora的性能。算法优化前后对比
Sora与商业网卡吞吐量对比
SoraSDK开发包
Sora学术套件提供了SDK开发包,提供了开源实现的802.11a/b/g的PHY和MAC实现。自从2010年发布以来,多次更新,目前的版本为SDK1.6,下载链接如下:
SDK不仅提供了PHY和MAC的实现代码,还提供了调试用的一些工具,如示波器
- 软件无线电技术与可重配置计算体系结构(12-05)
- 软件无线电技术解决无线通信的兼容问题(03-27)
- 软件无线电及其在移动通信中的应用(05-07)
- 软件无线电及其短波应用示例(12-23)
- NS基于模数转换器系列的软件无线电应用(12-11)
- 软件无线电:未来无线设备的DNA(12-16)