无线电系统 Sora

BSD
C/C++
嵌入式
微软
2015-07-20
叶秀兰

Sora (Microsoft Research Software Radio)

通常在无线通信系统中,关键的底层处理,例如物理层(PHY)和媒体访问控制(MAC),都是由专用硬件实现的(ASIC)。而设计和实现专用硬件 芯片成本高,而且很不灵活——芯片一旦流片后就无法修改和升级。因此,对于研究人员而言,使用这种硬件来开发新的实验原型系统是非常困难的。软件无线电则 不同,它利用软件来实现通信系统中的底层操作,从而可以快捷的开发、调试、以及进行后期的更新维护。然而,软件无线电的挑战在于,其性能能否赶上专用硬件 平台。

面对这一挑战,微软研究员们开发了Sora。

Sora 是一个完全可编程的,高性能的软件无线电系统,可以用于实现当前最前沿的无线通信技术(Wi-Fi,LTE,以及MIMO等)。Sora 运行于低成本的商用多核个人电脑上,并使用通用的Windows操作系统。一个多核商用个人电脑,一块定制的射频控制接口板(RCB),再加上第三方的射 频模块,就组成了一个强大的无线通信系统。射频控制接口板负责在个人电脑主存和射频模块之间传递高速的无线采样信号(I/Q samples),而所有的底层信号处理全部运行在软件上。

Sora的系统架构

Sora的软硬件平台的创新使得它可以在PC上完成高性能的无线信号处理。首先,我们设计了一款新的射频控制接口板,利用高速PCIE总线传输宽带 无线信号采样。其次,Sora充分利用了现代多核CPU的多种特性来平行加速无线信号处理(例如,SIMD指令及利用Cache构建查找表等)。Sora 的软件架构可以将处理流水线有效地分配到多个核上,从而实现流水线并行计算。最后,Sora中实现了一个新的内核服务,称为专属线程。专属线程可以被现实 指定在特定核上,用于保障处理的实时性。

Sora系统自2009年首次发表以来,已经在学术界获得多项最佳论文和演示大奖。2011年,我们首次向学术界开放了Sora API(应用程序编程接口), 包含在Sora SDK(软件开发工具包)中。此后,Sora得到了不断发展,从最初的单天线系统,到对大规模多天线的支持;从单一的ISM频道射频,到支持多种射频模式。Sora系统被用于TV白频谱,大规模MIMO,以及分布式MIMO系统的研究和实现中。

截至目前,已有50多家大学和科研机构在科研和教学中使用Sora。随着Sora被广泛的采用,为了满足研究者们日益迫切的各种研究需求,我们决定完全开放Sora平台。完全开源的Sora系统提供了大量特性,其中包括:

  • 支持定制的射频前端

  • 支持定制的RCB (包括可定制的时间控制和同步机制,新的加速器等)

  • 支持新的通信模式,例如全双工无线通信等

加载中

评论(1)

七液
七液
http://bellard.org/lte/ 贝拉表示已经用软件实现4G基站。 #Sora#

暂无资讯

暂无问答

#Sora#openstack基础库stevedore试用总结

什么是stevedore? stevedore是建立在setuptools的entry point的功能上的,用于python程序动态加载代码,在openstack中被多个组件使用:比如ceilometer,neutron的plugin。当然,你可以直接使...

2015/07/12 23:15
1K
0
#celery#集群管理实现

本来这个方案打算用在我的Sora上,但是因为某些问题打算弃用celery。但既然有人想问怎样实现多机器的管理,那就写出来了: 架构: 这里作为例子的celery app为myapp: root@workgroup0:~/ce...

2015/10/18 15:19
3.1K
2
Python元类的一些应用

最近刚接触python的元类,网络上有比较详细的介绍,这里是在看Django时候发现一点关于元类的应用,做个笔记。 from django.utils import six class A(type):     def __new__(cls...

2015/09/08 12:46
510
0
#SORA#celery研究中的一个小问题

sora的rpc机制打算使用celery处理,celery+rabbitmq。最近开始研究它的文档,试着写了段代码; from celery import Celery app = Celery('cagent',backend='redis://localhost',broker=...

2015/03/29 15:13
188
0
#SORA#celery原生配置文件研究

ps:百度是xxx的走狗 回到正题,今天研究了下用一个py文件作为celery的配置文件,所以,还是参考昨天的例子:http://my.oschina.net/hochikong/blog/396079 我们把celery.py的配置项拿出来,...

2015/04/05 16:36
390
0
#sora#实验2

昨天还是差不多12点半才睡,今天下午回去上自修肯定会困。。。 稍微试了下把flask应用中的类写在不同的python文件中。 实验目的:把flask应用中的类写成独立的模块,避免在主程序中写太多的c...

2015/04/19 14:29
90
0
#SORA#restapi的进一步的设计细节和实施

由于网络问题就不放图了 在RESTful API的设计中,我打算自定义一个请求头,把token放进去以便向其他sora组件请求服务。 于是,把之前的代码稍微改成这样: parser.add_argument('auth-token'...

2015/04/11 22:11
97
0
#Sora#OpenStack基础库oslo.config试用总结

什么是oslo.config? oslo.config是OpenStack用于解析配置文件和命令行参数的工具,大概是封装了argparse和configparse,令配置应用更方便。 官方文档:http://docs.openstack.org/developer...

2015/07/13 17:58
142
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部