不久前,我參加了一個同學的聚會。朋友們都是學計算機的,于是聊起來我現(xiàn)在在做什么。我說:“我在做無線研究?!?/p>
“哦,什么標準?”?
“什么標準也不是,” 我說,“我在做自己的無線物理層?!?/p>
“哦,你現(xiàn)在改行搞硬件了?”朋友很驚奇的問。?
“沒有,沒有,我不懂硬件。我純粹在寫軟件,用軟件做?!蔽以噲D解釋。
“聽起來很酷。但,這,可能嗎?……”??
在過去的兩年里,類似的對話在我身邊經(jīng)常發(fā)生。每次當我向別人說我在通用PC上,用軟件的方法實現(xiàn)所有無線底層功能(即軟件無線電)時,大多數(shù)人都這樣表示懷疑。我完全理解,這樣的疑惑是很有道理的,因為如果在兩年前,我也會有同樣的懷疑。在人們的常識里,通用CPU并非設計用來進行數(shù)字信號處理工作的。因此,無線底層通訊中需要的高速信號處理應該是硬件電路和專用DSP處理器的專利。在我剛剛開始軟件無線電研究時,最好的軟件無線電系統(tǒng)才實現(xiàn)了幾百Kbps的窄帶數(shù)據(jù)通信;而我們的目標是高速寬帶的無線通訊系統(tǒng),例如WiFi,在20MHz寬帶上達到54Mbps的數(shù)據(jù)率。這完全是兩個數(shù)量級以上的差別!
兩年之后的今天,我所在的微軟亞洲研究院無線與網(wǎng)絡組成功開發(fā)了一種名為“Sora”的軟件無線電系統(tǒng)。利用普通商用的PC平臺和通用的無線前端,我們在Sora上成功實現(xiàn)了IEEE802.11a/b/g全部物理層和媒體訪問層協(xié)議,并可以和商用硬件網(wǎng)卡進行無縫的通訊,并達到類似的性能。這項研究成果獲得了網(wǎng)絡界的頂尖會議NSDI 2009的最佳論文獎。2009年秋天,我們進一步在Sora平臺上實現(xiàn)了第四代無線通訊標準3GPP LTE的上行部分。這進一步說明了利用現(xiàn)有的多核CPU,我們不僅可以實現(xiàn)現(xiàn)有的無線標準,而且也可以用來實現(xiàn)未來的標準。?
圖1 Sora徽標。用中國篆體書寫的SORA英文字母
因此,當上述的對話進行到這里時,我微笑了一下,回答說,“是的,這太可能了。要知道,軟件無線電的時代到了?!?br /> ??
告訴你一個新名詞:軟件無線電
在傳統(tǒng)的無線通訊系統(tǒng)中,關鍵的底層操作,例如物理層的信號處理,和媒體訪問層控制,都基本上是用專用的硬件芯片來實現(xiàn)的。但是,專用的硬件芯片一旦設計生產(chǎn),就無法修改了。而且,設計一款硬件芯片的成本非常高,因此僅有幾家大型的通訊公司有能力自行設計和制作通訊芯片。這極大地制約了無線技術的研究和發(fā)展,使得無線技術的升級換代需要十年,甚至更長的周期。而軟件無線電的思想則是在通用的計算平臺上(例如CPU),利用軟件程序完成大部分的無線底層功能。因為是軟件實現(xiàn)的,因此可以很方便的修改和升級。并且,通用處理器的發(fā)展速度遠遠超過專用硬件和處理器。這是因為通用處理器的背后有很廣大的市場驅動力,因此摩爾定律總是在通用處理器市場上發(fā)揮著主要的力量。
但是,通用處理器能夠完成高速的無線信號處理嗎?畢竟CPU不是為信號處理應用設計的。事實上,在Sora出現(xiàn)以前,人們普遍的看法是CPU的速度不夠,因此必須依賴專門的硬件設備。但Sora改變了人們對軟件無線電的看法。
Sora揭秘
如前所述,在通用處理器上實現(xiàn)高速的無線信號處理面臨著非常大的挑戰(zhàn)。首先,高速寬帶的無線信號需要很高的采樣率,因此需要高速的輸入輸出帶寬?,F(xiàn)在大家常用的高速串行接口USB2.0可以支持400Mbps的速度,而為了實現(xiàn)WiFi,我們需要至少1.4Gbps的速度;而為了支持新的802.11n,我們需要5G~10Gbps的速率。其次,如何在通用CPU架構上實現(xiàn)高速數(shù)字信號處理算法也是一個開放課題。過去的一些簡單的計算表明實現(xiàn)802.11a需要的計算量已經(jīng)超過了現(xiàn)有最新CPU的能力。這也正是許多人對軟件無線電表示懷疑的原因。最后,無線系統(tǒng)是一個實時系統(tǒng),因此要求軟件無線電也能夠精確的控制響應時間。這個實時要求的精確度在微秒級。而現(xiàn)在的操作系統(tǒng)能到達的實時性僅僅在毫秒級(有三個數(shù)量級的差距!)
Sora系統(tǒng)同時采用硬件和軟件技術來解決這些挑戰(zhàn)。首先,我們重新開發(fā)了一塊新的PC輸入輸出板卡,稱為無線控制板。無線控制板采用了最新的PCIe標準,可以實現(xiàn)10Gbps以上的傳輸速率,因此,可以滿足大部分無線技術的需要。無線控制板連接的無線收發(fā)天線和PC,并在它們之間高速地傳輸數(shù)據(jù)。
?
?
圖2 Sora基于PCIe接口的無線控制板
評論