SORA 微软基于PC的软件无线电平台

2012-12-17 来源:微波射频网 字号:

 

    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

RCBSora系统的核心板卡,采用了PCI Express 8x架构,最高吞吐率达到16GbpsRCB上有8个通用的射频接口,可以支持最高8x8MIMOFPGA内容逻辑框图如下:

 

Radio Adapter Board:RAB

实现ADCDAC功能,将模拟基带转换为数字基带信号。采用USRP兼容的接口,可以支持Ettus公司大部分射频模块。双通道ADC1264MSPS以及双通道DAC1464MSPS。板上FPGA提供参考设计代码

 

Radio Module:

实现天线接口和上下变频,将射频芯片转换为模拟基带,频率范围覆盖WiFiLTEWiMax等主要通信频段,带宽最高可达80MHz

 

Sora的软件架构

主要技术:

1. 采用查找表技术充分利用CPUL2 Cache, 大部分的PHY层算法可以通过查找表来加速1.5~22倍。

2. SIMD指令集优化。充分利用CPU并行加速指令,特别适合FFTIFFT这一类运算。

3. 利用多核流水线技术

    通过同步FIFO,将PHY层实现的子流水线模块分配到不同的内核执行,充分利用多核

    CPU的计算能力。

4. 独占内核技术

为了确保CPU可以实时响应,Sora采用了独占线程技术,可以让某个或者某几个内核专用于SDR的任务,不被其他系统调用影响。 实现这种技术不需要修改操作系统的内核。

 

Sora的性能测试

WiFi 802.11a/b/g的实现为案例,测试Sora的性能。算法优化前后对比

Sora与商业网卡吞吐量对比

 

SoraSDK开发包

Sora学术套件提供了SDK开发包,提供了开源实现的802.11a/b/gPHYMAC实现。自从2010年发布以来,多次更新,目前的版本为SDK1.6,下载链接如下:

SDK不仅提供了PHYMAC的实现代码,还提供了调试用的一些工具,如示波器

主题阅读:SORA  软件无线电