不久前,我参加了一个同学的聚会。朋友们都是学计算机的,于是聊起来我现在在做什么。我说:“我在做无线研究。”
“哦,什么标准?”
“什么标准也不是,” 我说,“我在做自己的无线物理层。”
“哦,你现在改行搞硬件了?”朋友很惊奇的问。
“没有,没有,我不懂硬件。我纯粹在写软件,用软件做。”我试图解释。
“听起来很酷。但,这,可能吗?……”
在过去的两年里,类似的对话在我身边经常发生。每次当我向别人说我在通用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接口的无线控制板
评论
查看更多