软件无线电时迎面而来!

RF/无线

1773人已加入

描述

不久前,我参加了一个同学的聚会。朋友们都是学计算机的,于是聊起来我现在在做什么。我说:“我在做无线研究。”

“哦,什么标准?” 

“什么标准也不是,” 我说,“我在做自己的无线物理层。”

“哦,你现在改行搞硬件了?”朋友很惊奇的问。 

“没有,没有,我不懂硬件。我纯粹在写软件,用软件做。”我试图解释。

“听起来很酷。但,这,可能吗?……”  

在过去的两年里,类似的对话在我身边经常发生。每次当我向别人说我在通用PC上,用软件的方法实现所有无线底层功能(即软件无线电)时,大多数人都这样表示怀疑。我完全理解,这样的疑惑是很有道理的,因为如果在两年前,我也会有同样的怀疑。在人们的常识里,通用CPU并非设计用来进行数字信号处理工作的。因此,无线底层通讯中需要的高速信号处理应该是硬件电路和专用DSP处理器的专利。在我刚刚开始软件无线电研究时,最好的软件无线电系统才实现了几百Kbps的窄带数据通信;而我们的目标是高速宽带的无线通讯系统,例如WiFi,在20MHz宽带上达到54Mbps的数据率。这完全是两个数量级以上的差别!

两年之后的今天,我所在的微软亚洲研究院无线与网络组成功开发了一种名为“Sora”的软件无线电系统。利用普通商用的PC平台和通用的无线前端,我们在Sora上成功实现了IEEE802.11a/b/g全部物理层和媒体访问层协议,并可以和商用硬件网卡进行无缝的通讯,并达到类似的性能。这项研究成果获得了网络界的顶尖会议NSDI 2009的最佳论文奖。2009年秋天,我们进一步在Sora平台上实现了第四代无线通讯标准3GPP LTE的上行部分。这进一步说明了利用现有的多核CPU,我们不仅可以实现现有的无线标准,而且也可以用来实现未来的标准。 

图1 Sora徽标。用中国篆体书写的SORA英文字母

因此,当上述的对话进行到这里时,我微笑了一下,回答说,“是的,这太可能了。要知道,软件无线电的时代到了。”
  

告诉你一个新名词:软件无线电

在传统的无线通讯系统中,关键的底层操作,例如物理层的信号处理,和媒体访问层控制,都基本上是用专用的硬件芯片来实现的。但是,专用的硬件芯片一旦设计生产,就无法修改了。而且,设计一款硬件芯片的成本非常高,因此仅有几家大型的通讯公司有能力自行设计和制作通讯芯片。这极大地制约了无线技术的研究和发展,使得无线技术的升级换代需要十年,甚至更长的周期。而软件无线电的思想则是在通用的计算平台上(例如CPU),利用软件程序完成大部分的无线底层功能。因为是软件实现的,因此可以很方便的修改和升级。并且,通用处理器的发展速度远远超过专用硬件和处理器。这是因为通用处理器的背后有很广大的市场驱动力,因此摩尔定律总是在通用处理器市场上发挥着主要的力量。

但是,通用处理器能够完成高速的无线信号处理吗?毕竟CPU不是为信号处理应用设计的。事实上,在Sora出现以前,人们普遍的看法是CPU的速度不够,因此必须依赖专门的硬件设备。但Sora改变了人们对软件无线电的看法。

Sora揭秘

如前所述,在通用处理器上实现高速的无线信号处理面临着非常大的挑战。首先,高速宽带的无线信号需要很高的采样率,因此需要高速的输入输出带宽。现在大家常用的高速串行接口USB2.0可以支持400Mbps的速度,而为了实现WiFi,我们需要至少1.4Gbps的速度;而为了支持新的802.11n,我们需要5G~10Gbps的速率。其次,如何在通用CPU架构上实现高速数字信号处理算法也是一个开放课题。过去的一些简单的计算表明实现802.11a需要的计算量已经超过了现有最新CPU的能力。这也正是许多人对软件无线电表示怀疑的原因。最后,无线系统是一个实时系统,因此要求软件无线电也能够精确的控制响应时间。这个实时要求的精确度在微秒级。而现在的操作系统能到达的实时性仅仅在毫秒级(有三个数量级的差距!)

Sora系统同时采用硬件和软件技术来解决这些挑战。首先,我们重新开发了一块新的PC输入输出板卡,称为无线控制板。无线控制板采用了最新的PCIe标准,可以实现10Gbps以上的传输速率,因此,可以满足大部分无线技术的需要。无线控制板连接的无线收发天线和PC,并在它们之间高速地传输数据。
 


 

图2 Sora基于PCIe接口的无线控制板

其次,我们考虑了无线信号处理算法的实现策略,采用了和硬件实现完全不同的方式。例如,在CPU架构上,我们大量的利用查找表的方式来加速算法;而这在硬件实现是不可想象的,因为在传统硬件无线系统中,存储器是一个稀有资源。Sora充分利用的现代CPU的多项特性,例如高速缓存和SIMD指令,并且同时可以利用多个CPU核并行加速算法的执行。这些软件优化技术大大提高了信号处理算法在CPU上的执行速度,从而可以满足实时通讯的要求。

最后,Sora采用了一项非常简单但有效的方式来实现对实时性的支持。Sora可以将多核系统的几个核从操作系统中分割出来。这些CPU核仅用来进行软件无线电的操作,而操作系统无法再对这些核进行调度,因此软件无线电的实时性得到了保障。 

图3 Sora软件无线电系统。完全基于一台商用PC

Sora正名:勇敢的先驱

2008年9月,在我们已经基本完成了软件无线电系统的时候,项目组的成员们激动地聚在一起各抒己见,想给系统起个好名字。在此之前,我们都是用Microsoft Research Software Radio这个描述性的名字。大家讨论了好久,都没有什么好的主意。正在这个时候,由于我们使用多核的CPU,因此有人提议用Cora,但过去已经有太多的研究项目叫Cora了。这时,突然有一名同事紧跟着建议道:“为什么不干脆叫Sora(SOftware Radio的前两个字母组合)算了。”这一下倒醍醐灌顶了所有的人,大家都夸口称赞:一个好名字的诞生往往就来自最简单的灵感。

回到家里,我在因特网上搜索了一下,发现Sora是日文中“天空”的意思。同时,Sora也是迪斯尼动画游戏“王国之心”的男主角。在故事中,这个十六岁的勇敢男孩,手持“钥匙刀”,成为拯救世界的先驱。这些也正暗喻了我们对Sora软件无线电系统的期望,希望它能启发更多的灵感,开辟另一个天空,从而为推动整个无线系统研究作出贡献。 


图4 为了庆祝Sora获得最佳论文奖,我们用所得的奖金制作的纪念文化衫。图为文化衫背面图案。上面写着:你是Sora,想象力才是你的极限。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分