前段时间有幸参加了亚研院的谭焜研究员关于“软件无线电”的讲座。在讲座中,谭老师详尽地介绍了研究院自行设计的软件无线电系统Sora的来龙去脉,让我获益颇深。尽管在之前几个月的实习中我一直在Sora这个平台上工作,但都只是窥一斑,此次讲解才让我真正看到了全貌,理解也深入了。更让我启发的是,谭老师结合自己的从“应用层转入物理层”的研究经历,阐述了计算机科学(CS)是如何进入到无线通讯这个通常属于电子工程(EE)的领域的。从这个层面上,他认为软件无线电一定能给无线通信的发展注入革命性的力量。
我们知道,在现代的人类社会中,无线通讯多姿多态,无处不在。随便拿起一个手机,上面可能就继承了多个不同的无线通讯模块, GSM/CDMA,Bluetooth,Wi-Fi…其它的通讯标准还有LTE, 3G, 4G, ZigBee, Wimax…复杂多样的标准让人头晕你是否想过有一天(这可能在2020年前就能真正发生),你的手机能够兼容所有的标准,当你需要某种资源时,你只需要启动对应的软件就可以了!而这些软件又都是可以在线下载的。
要实现这种梦想,一种办法是把所能想到的无线通讯标准的硬件模块都集成在设备上。这种办法显然是不可行的。其一,标准这么多,要都集成的话设备的体积,能耗,效能都会出现问题;其二,不具备兼容性,当新标准出来你就只能拆手机了…
另外一种办法就是传说中的软件无线电了。我们知道,一般的无线电系统,对于基带的处理(FFT,调制,编码等)都是由专用硬件芯片实现的。这是因为专用芯片(如FPGA)有天然的优势:速度快,他们的问题是可编程性非常差,所以只能适用于单一的标准。如果我们能把这些以前只有专用芯片能实现的运算交给通用的处理器(GPP),问题能否解决呢? 不然。通用处理器上的软件往往又很难达到专用芯片所能达到的速度,对实时处理的支持也很差。
历史上著名的软件无线电有两套。一套是美国的莱斯大学(Rice University)所开发的WARP Platform,然而其一万美元/套的造价使开发者们望而生畏。另一套是开源世界中著名的GNURadio/USRP。它可以在低成本的射频硬件和通用处理器上实现软件定义无线电。实际上它非常成功,广泛地应用于无线爱好者与开发人员。但人们也在抱怨,它的延迟和带宽非常有限,很难和真正的商用网卡匹敌。
(专用FPGA+DSP芯片速度快,可变成性岔,通用处理器上的软件可编程性高,速度慢。如何达到速度快,可编程性高的Sweet Point?)
如何才能达到上图中的Sweet-point呢?以谭焜研究员领头的 Sora开发小组注意到了计算机世界的变化:随着单个CPU核的计算能力逐渐达到瓶颈,摩尔定律并没有失效,而是在核的数量上依然发挥作用。同时,现代PC bus技术的进步速度也超出了人们的想象,PCIeV2能够达到了5Gbps每条,即将出现的PCIeV3将会更快。Sora正是利用了以上两个计算机世界中的技术发展,辅以多种多样的优化设计,如固化计算用以空间换时间,SIMD的数据并行计算,静态规划,核间流水线, 为实时处理设置专用核……把所有的这些结合在一起,把一台最不起眼的商用PC,变成了一个强大的软件无线电站,其速度能够与商用的产品匹敌。
在讲座的最后,谭焜研究员向我们分享一些在开发Sora过程中体悟到的一些心得:
1,“历史总会重复它自己”,通用的计算平台总是能够战胜专用的平台,只要前者的计算能力能够达到应用的要求。想想二十年的多媒体计算,谁知道现在通用的CPU,GPU能够处理那么大,当时只有专用图形芯片才能处理的图和视频呢?
2,软件无线电的时代已经到来。软件无线电会把无线通讯的研究带来本质的变化。比较下硬件和软件的变革周期。20年间,Windows换了近10个版本,而无线通讯更新了不过三代(2G,3G,4G)。相信无线电变成“软”的之后,其变革周期一定能大大缩短。
3,一般人们认为,无线是属于电子工程(EE)的活,网络是属于计算机(CS)的活 。在未来无线和网络无缝程度会越来越高,只能独挡一面已经不行了。
1. Kun Tan & Sora :
http://research.microsoft.com/en-us/projects/sora/
http://research.microsoft.com/en-us/people/kuntan/
2. WARP :
http://warp.rice.edu/news.php
3. GNURadio:
http://gnuradio.org/redmine/projects/gnuradio/wiki
此文转载自博客园,作者SouthSeven。