段紅亮,劉 浩,楊志遠,任 斌,陳曉光
(1.北京航天長征飛行器研究所,北京 100076;2.西北工業大學 機電學院,西安 710072)
當今無線通信領域內,多種通信體系并存,各種標準競爭激烈,頻譜資源緊張,傳統的以硬件為主、面向特定用途機制的不足日益突顯等一系列問題制約著無線通信技術的發展,而具備通用性、開放性和全面可編程性的軟件無線電技術則適應了時代發展的需求[1]。軟件無線電由J.Mitola于1992年首次提出[2],全稱為軟件定義的無線電,即Software Defined Radio,SDR。其核心思想是:構造一個具有開放性、標準化、模塊化的通用硬件平臺,使A/D和D/A轉換器盡可能靠近天線,將其他各種功能,如物理層和協議棧等都由軟件來實現。理想的軟件無線電結構如圖1所示。

圖1 理想的軟件無線電結構
近年來SDR已經獲得了迅猛的發展,然而由于受到硬件性能和軟件處理時延等諸多因素的限制,如寬帶天線、高速A/D(D/A)、高吞吐量總線架構以及不同編程語言的實時性等,SDR存在著多種問題[3-4],目前硬件的性能尚未達到理想SDR的要求,因此,如何在現有的有限軟硬件性能的限制下,盡可能實現SDR的功能成為了當今SDR通信原型平臺的熱點。
基于通用硬件架構的平臺代表了SDR的發展趨勢,但是由于通用平臺在處理速度、吞吐量及實時性方面的限制,基于通用平臺的SDR研究難以獲得廣泛的應用可行性。隨著近幾年來通用硬件性能的飛速提升和軟件技術的發展,微軟亞洲研究院于2009年推出了基于普通PC和Windows操作系統的通用SDR平臺——Sora,它實現了IEEE 802.11 a/b協議,采用一系列技術較好地解決了如何在通用平臺和非實時操作系統中研究開發SDR的難題[5]。Sora平臺實現了基于CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)接入機制的802.11 a/b協議,并實現了點與點之間的通信[5]。然而,當采用多點構建多址接入網絡時,由于這些接入點之間不存在統一的時鐘,無法實現網絡同步,因此難以模擬實時性的多址接入,如GSM,TD-LTE等TDMA特性的接入系統。目前商用的無線通信系統中的網同步(也稱為時鐘同步)利用GPS(Global Positioning System)等作為基站同步時鐘源,這是TDMA (如GSM)或是CDMA(IS-95)等系統的首選方案,另外相鄰基站間的時鐘同步直接影響到越區切換的成功率,也是CDMA系統中能夠實現軟切換的重要前提之一。
在此提出了一種基于通用硬件平臺的軟時鐘同步實現機制,相比于GPS等“硬”時鐘同步,該機制稱之為軟時鐘同步,它在現有Sora原型平臺上實現了TDMA接入方式的模擬蜂窩通信。
在數字通信系統中,同步包括載波同步,碼元同步,群同步和網同步4種[6]。載波同步和碼元同步是解調時所必需的,進一步是群同步(或稱為幀同步),它是用來識別信息分組,如一個完整的物理幀等,如圖2所示,上述三種是點對點之間成功通信所必需取得的同步,而網同步則描述了通信網中所有參與者的時鐘關系,稱之為時鐘同步,使得在整個通信網內有一個統一的時間節拍標準,它反映了基站和終端、多終端之間的協作關系,是構成數字蜂窩網和多用戶調度的基礎。時鐘同步又分為基站間的時鐘同步和蜂窩小區內的時鐘同步兩種。在現有移動通信系統中,相鄰小區的基站之間必須取得時鐘同步,因為時鐘同步是影響越區切換的重要因素之一。且對于那些TDD模式的蜂窩系統,在每個蜂窩小區內,每個終端必然也要與基站取得時鐘同步,否則無法正常接入系統,例如基站會連續指示每個連接狀態下的終端上行時間提前量,即TA(timing advanced)補償信號的空間傳播延時從而在基站取得時鐘同步[7]。

圖2 TDMA蜂窩通信中的四種同步
基于通用硬件架構的Sora作為仿真平臺(如圖3所示)搭建仿真系統場景,仿真場景中存在一個單獨的基站(BS),以它的時鐘作為蜂窩小區的基準時鐘,其他平臺作為終端(UE)取得與基站的時鐘同步。為簡化仿真復雜度且不失一般性,本文采用一基站、兩終端的簡單蜂窩場景,設計幀長為10 ms,每幀包含有10個子幀,每個子幀1 ms,#0子幀基站用來發送一個特殊MAC幀(軟同步序列,software synchronization sequence,SSS),SSS中包含了時間提前量TA、幀號和上下行幀配置等信息,具體場景和幀配置如圖3所示。

圖3 模擬TDMA蜂窩通信場景
基于通用CPU平臺的軟件無線電原型平臺中實現網同步必須具備兩個條件:一是要有一個實時高精度的時鐘源;二是每個時鐘要取得同步??紤]到采用GPS的不足和SDR的可擴展性問題,由軟件生成一個時鐘源來取代GPS等外接時鐘源是較優的選擇。
相比于GPS或晶振等“硬”時鐘源,由軟件生成的時鐘源有以下三方面優勢:1)時鐘的頻率在其精度允許范圍內任意可調;2)程序處理軟時鐘中斷的系統開銷小于I/O硬中斷;3)便于SDR的集成與交互。然而如何在非實時操作系統(如Windows)中實現實時的、高精度的軟時鐘是現代操作系統的一大難題[8]。intel提供了一種直接提取CPU時鐘運行周期的技術—RDTSC,它可以達到ns級的時間精度[9],然而在多核的操作系統上該技術的精度不能夠保證,原因是它每次讀取的CPU邏輯核可能不相同,而多個CPU核之間并不完全均衡,時鐘運行周期數一般不相等,所以RDTSC指令讀取的數據可能存在著較大的誤差,另外非實時操作系統中一旦將運行著RDTSC功能的線程調度出當前CPU核,也就無法保證實時性,例如Windows的調度時間片大小約為10 ms[8]。
文獻[5]中提出了一種獨占性線程技術(exclusive thread),該技術在多核CPU平臺下能使某個線程始終獨占一個CPU邏輯核(目前Intel CPU可以在一個物理核中同時運行兩個線程,故稱之為兩個邏輯核),保證它不會被操作系統調度出去,從而保證了處理的實時性。這項技術充分利用了現有硬件平臺的優勢,尤其是多核的優勢,一定程度上彌補了多任務操作系統在實時性方面不足,在非實時的系統平臺中同時實現了局部實時的操作響應。從Windows的任務管理器可以看到被某個獨占性線程占用的CPU邏輯核的使用率始終保持在100%,如圖4所示,該CPU包含8個邏輯核,核3、5、7分別被3個獨占性線程占用。

圖4 獨占性線程的CPU占用率
為了保證多核系統中時鐘的精度和實時性的要求,本文在Windows中創建一個獨占性線程,在該線程在核7(圖4)中始終在讀取CPU的運行周期,克服了RDTSC指令在多核架構中的不足,從而實現了高精度的、實時的軟時鐘源,完全達到(甚至超過)GPS的商用授時精度(誤差<100 ns)。
近年來,許多學者對數字無線通信中的時鐘同步做出了大量的有益探索與創新。如文獻[10]針對采用GPS授時的網絡同步提出了時鐘差分的方法,N.Wu[11]等人利用差分GPS實現了TDMA網絡中的時鐘同步,C.E.Wheatley[20]對CDMA2000的BS間的時鐘同步給出了一種時差傳遞測量技術,較好地達到了BS之間的時鐘同步且有效降低了系統對GPS的依賴性,文獻[12]對[13]所提出的技術進一步做了詳細的仿真與證明。另外,文獻[14]提出了一種基于TDMA自組織網絡時鐘的主從同步算法,而文獻[15]則實現了自組織網絡中時鐘的互同步算法。然而,與GSM、CDMA等商用網絡或自組織網絡不同的是,基于非實時操作系統的SDR原型平臺在信號處理及信令交互等方面有著自己獨特的方面,例如采用復雜指令集(CISC)的通用處理器(general-purpose processor,GPP)(如Intel,AMD)不能夠精準地估計出指令的處理時延,另外,PC通過PCIe連接前端RF還會存在一個指令的傳輸時延[7]等等,因此針對通用平臺軟件無線電,在如何取得軟時鐘同步方面,提出了一種回程時延(round trip delay,RTD)算法。
RTD算法的核心思想是:基站每隔一定的時間間隔(如40 ms)廣播一個軟同步序列 SSS,終端在接收到該幀并進行PHY層解碼后遞交到MAC層,根據SSS的發送時延、傳播時延、接收時延和解碼時延等確定出終端時鐘的時間提前量(time advanced,TA),只要能確定終端時鐘的TA,那么就實現了終端與基站之間的時鐘同步。因此如何確定SSS從基站到終端的總的時延是軟時鐘同步技術的關鍵,考慮基站只能測出發送時延,而終端僅能測出接收和解碼時延,所以如果僅僅在任意一端均不能正確估計出總的時延大小。
RTD算法的基本過程是:首先將SSS調制編碼后放置RF緩存,BS在一定的時間節點首先指示發送一個SSS給UE,UE在接收并在PHY成功解碼SSS后,立即指示發送一個回程SSS給BS,BS端再接收和解碼該回程SSS。RTD算法如圖5所示。

圖5 RTD算法示意圖
為了簡化起見,上圖中僅考慮BS與一個UE取得時鐘同步的情況,水平橫軸代表絕對時間軸。圖中各參數的表示意義如下:

1)程序執行的時延,包括運行在GPP上程序的跳轉、函數調用、代碼編譯和指令執行等;
2)指令通過PC的通用外設接口的傳輸時延,如以太網卡、USB、PCIe、串/并口等;
3)RF前端對指令的反應時延,如DSP或FPGA或專用IC從接收到執行指令的時延,一般來說,該時延在實時控制系統中也是存在的,一是它的量級非常小,二是它可以較為準確地估計出來。


RTD1:表示在BS中從軟件指示SSS發送到接收到回程信號到達指示的時間間隔;
RTD2:表示在UE端從接收到信號到來指示到成功解碼SSS的時間間隔。
RTD算法有兩個前提假設:
1)無論BS還是UE,它們都采用完全相同的SDR原型平臺,包括相同的硬件架構和軟件架構,考慮到軟處理時延具有較好地統計穩定性且時延比軟時鐘的要求精度小2~3個數量級(參見本文仿真實驗一),那么工程上即用它們的統計均值來代替,由對稱性有:
(1)
2)BS與UE都是相對靜止的,SSS的來回路程是完全相同的,即:
(2)
那么從圖5中不難看出,BS到UE的軟時延大小為:
(3)
聯立以上三式,可以得到:
Te1+TD+Te2= (RTD1 -RTD2) / 2
(4)
UE端若在“Indicate Signal Arrived”時刻啟動自身的軟時鐘,那么它的時間提前量為:
TA=Te1+TD+Te2
(5)
值得注意的是,RTD2主要是由終端的接收和PHY解碼時延構成,時延較大且在不同系統中、不同負載下、不相同時波動也較大,另外可能在對數據幀解碼過程中也有很多不確定時延,稱為Dead Time,但并不影響TA的結果,因為TA是RTD1與RTD2的差,兩者相減完全將這些不確定時延抵消。TA是基于兩個統計量的,為了防止誤差累積,一般要每隔一定的時間間隔重新做一次軟時鐘同步,在目前商用通信系統中也采用此種方法來消除累積誤差。
在軟件無線電平臺上對軟時鐘精度、回程時延算法和軟時鐘同步機制進行了測試和驗證。選取一臺Sora作為中繼,另外兩臺作為終端,硬件配置如表1所示。實驗一中對參數TA進行了1 000次樣本的抽樣統計,實驗二是用示波器在射頻端對軟同步機制的驗證。

表1 Sora平臺配置
實驗一:回程時延算法驗證
物理層采用802.11 a,圖6是802.11a協議中的preamble結構,它在協議中由10個短訓練序列和2個長訓練序列組成,完成信號檢測、頻率同步、碼元同步,自動增益控制、信道估計等,在RTD算法中TD參數包含了信號檢測的時延,所以參數TD肯定大于5.6 μs(7個短同步序列的時間長度)。

圖6 802.11a的preamble結構
在室內測試兩天線間的距離為3 m(包含了兩端屏蔽線的長度在內),則傳播時延TD為:
TD=3/3×108=10 ns
(7)
所以傳播時延與其他兩個參數和Te1+Te2相比,TD可以忽略不計。表2和圖7分別是在Sora平臺上所做的1 000次回程時延的統計表和樣本分布直方圖。

表2 TA測試值的統計結果

圖7 TA統計結果的分布情況
通過統計表和直方圖可以看到,均值為16.08 μs,均方差(MSE)僅為1.54 μs2,最重要的是無論是最大統計值,還是最小統計值,與均值差的絕對值不超過5 μs,具備了良好地統計穩定性,所以工程上完全可以采用均值作為TA的估計值來使用,5 μs的誤差對于時隙長度為3 ms,在工程上是完全可以接受的。另外,該實驗也較好地證明了RTD算法在通用處理器(GPP)架構和非實時操作系統環境中的可行性和正確性。RTD算法充分考慮了軟件無線電平臺的處理時延問題,對于時延的估計既具備統計穩定性,又能反映出軟件無線電的軟處理時延的瞬時波動性。算法的復雜度較小,極易工程實現,具備較高的工程實用性。
實驗二:軟同步機制的驗證
為了簡便又不失一般性,該實驗中測試了一終端接入中繼的情景,保證在隨機接入過程中沒有沖突發生。當終端偵聽到中繼端廣播的軟同步序列后發起一個隨機接入過程,然后根據中繼指示的TA值調整本地時鐘,使之與中繼完成時鐘同步,直到1 s后再重新發起一次重同步過程。在這1 s的時間內,中繼每隔10 ms發送一個軟同步序列,終端也每隔10 ms發送一個軟同步序列。也就是說,中繼端在1 s內發送了100個軟同步序列,而終端只發送了99個軟同步序列(相差的一個用于終端接入和時鐘同步過程,在此終端未發送任何序列)。
若終端與中繼完成時鐘同步后,兩端會在每隔10 ms相同的時間點(時間上是重合的)發送電磁信號,兩者的電磁信號在空間內相互干擾,第三方測試點是不能夠正確檢測到兩者任何一個的,然而可以采用雙通道的數字示波器同時測量兩者的天線射頻信號,即一個高電平信號。雙通道數字示波器的兩個通道共用一個時間軸,所以可以用來驗證兩個軟同步序列是否在時間上是真正重合的,如圖8所示。

圖8 雙通道示波器對軟同步機制的測試
由示波器的測試結果可以看到兩點:一是中繼端與終端的軟同步序列在時間軸上是良好地重合的;二是相鄰的兩個序列之間的時間間隔為10 ms,從另外一個層面也證明了軟時鐘的可靠性。
本文針對微軟的Sora軟件無線電平臺提出一種軟時鐘同步機制,首先用軟件在Windows操作系統中實現了實時的高精度時鐘源,然后采用回程時延算法取得軟時鐘同步,即實現了多臺Sora構成的蜂窩通信場景的網同步。進一步而言,軟時鐘同步機制有很好的靈活性,它并依賴于Sora平臺,可以適用到其他基于通用硬件架構(GPP)和非實時操作系統的軟件無線電平臺中,大大的拓寬了軟件無線電的研究與應用范圍。