1、引言
隨著移動通信用戶不斷增多,業務需求不斷多樣化,無線接入網的負載也逐漸增大,基站建設成本不斷升高[ 1 ]。將基帶信號處理算法用軟件來實現可以大大降低基站的硬件規模和成本,因而目前移動通信研究中對軟件無線電的研究成為熱點。而目前通用處理器性能不斷提高[ 1 ],也加速了軟件無線電的應用和發展。
本文將介紹一種新型的無線接入點OpenBTS,它結合了運用廣泛的GSM的空中接口和VoIP,形成了一種新的蜂窩系統;它在通用處理器上充分實現了軟件無線電的基帶處理,使系統成本大大降低;它的軟件部分運行在UNIX系統中,是一種真正的開源系統。但是現有的OpenBTS系統在GSM物理層設計上采用了性能較差的均衡算法,本文將對此進行改進和優化。
2 OpenBTS的系統組成和功能
OpenBTS通過基于UNIX平臺的開源軟件來實現基站的功能,它能夠通過通用軟件無線電設備(USRP)來實現與GSM手持端的空中接口(Um),并通過作為VoIP程控交換機的Asterisk軟件[2]來實現通話[3]。其系統組成如圖1所示:
USRP是由Ettus Research公司研制出售的[3],它提供天線端收發的數據通道,完成無線通信系統中的數字基帶和中頻的作用,比如上下變頻、抽樣和內插等高速操作都由USRP上的FPGA完成。GSM手持終端通過空中接口與這套硬件相連。
GNU Radio是一個軟件開發的工具包,提供了許多軟件無線電信號處理模塊。一方面它完成了與USRP硬件的連接和和驅動,另一方面,它為OpenBTS提供數據的接口和運行的平臺。
OpenBTS是開源軟件,其中集成了GSM基站的三層結構,分別是物理層、數據鏈路層和信令控制層,文獻[4-6]對它們作了詳細的描述。OpenBTS中包含會話初始協議(SIP),以SIP信令與Asterisk進行交互。這樣的設計使原GSM系統在MSC完成的功能都在Asterisk中完成,大大簡化了網絡設備的復雜度。
Asterisk是一種軟件實現的程控交換機,建立在UNIX系統上。它擁有VoIP系統的幾乎所有功能,徹底實現了將PC轉變成PBX。用Asterisk可以實現語音通話、電話會議、組撥、短信、語音郵件服務等功能。
3 OpenBTS系統物理層均衡算法
文獻[4]定義了GSM的突發脈沖(Burst)的幀結構,本文為便于說明且不失一般性,只研究正常突發脈沖(NormalBurst,以下簡稱NB),且每個NB都由156.25個比特構成,結構如圖2:
G是8.25bits保護間隔,TB是3bits尾比特,信息比特是57bits,TSC是一種訓練序列,共26bits。現有的OpenBTS系統物理層均衡采用了較為簡單的單徑處理算法,簡要算法步驟如下:
(1)用本地TSC序列與接收到的序列做相關得到相關序列R (n ):
(2)用插值的方法得到相關峰能量,記為E (l ):
由此得到最大相關峰能量E ch =max{E (l )},峰的位置l=L peak ,以及時間提前量TA =TA target -L peak ,TA target 表示峰的目標位置。
(3)除去信道增益,同步和解調,得到軟比特輸出:
(4)將ydemo(n)送去譯碼。
該算法在信道估計時,用Sinc函數重建相關峰值,從而得到主徑的信道增益和時間提前量。但多徑干擾比較大時,性能會大大降低,因此改進思路主要是消除多徑干擾和碼間串擾。
4 均衡算法的改進
本文對OpenBTS均衡算法進行了改進,采用維特比均衡算法代替原有的均衡算法。算法步驟如下:
(1)信道估計
假設接收到的序列為y (n ),過采樣倍數ovs =2,訓練序列為tsc (n ),長度為26。對于NB,只用了中間24位做相關,記相關后的序列為R corr (n ):
由此可以得到相關序列的能量序列E R c o r r (n ) =|R corr (n )|2,在其中找到能量最大點的位置L max ,于是得到時間提前量TA =L max ;同時,在該相關能量序列中搜尋最大的能量窗口。
假設信道多徑數為N ch ,為方便說明,令N =N ch -1,經過2倍過采樣,能量窗長度為(2N +1)。設最大能量窗口起始位置為L estart ,有:
則信道響應為:
h (n )=R corr (L max +2N -n ),n ∈[0,2N ]
(2)匹配濾波
設匹配濾波器輸出為Mf out (n ),有:
匹配濾波過程中進行了降采樣,并保證每采樣點的SNR最大。
(3)解旋轉
由于在發送端進行了GMSK調制和差分編碼,所以接收端需要對相位進行反轉,即:
(4)參數計算
如果將信道、匹配濾波、解旋轉看成一個系統,S參數就是對這個系統沖擊響應的估計,記為S p (l )。它是后續步驟的準備,定義如下:
5 維特比均衡算法的SSE優化
單指令多數據流(SIMD)是一種計算機系統結構,這種結構對不同的多組數據采用相同的計算指令,比較適合并行算法的實現,在信號處理中運用廣泛。SSE是Intel發布的對SIMD指令流的擴展指令,包含單指令多數據整數運算、浮點運算和高速緩存控制指令。它充分體現了并行運算的優勢,具備精度高和響應速度快的優點。
一個SSE寄存器有128比特,可以同時進行4個32比特單精度浮點數的運算,大大提高了運算效率。由于改進后算法中匹配濾波、維特比均衡和干擾消除三個步驟占整個程序70%以上的時間消耗,因此優化主要對這三個函數展開。
筆者運用SSE指令集對改進均衡算法中的復數乘法、卷積運算、相關運算、路徑度量計算等進行了大量優化,表2是取N ch =5時優化前后程序耗費時間的對比:
程序運行在主頻為1.6G的CPU上。由統計結果可知,優化后算法效率是優化前的3.2倍。一個NB的時間是0.577ms,優化后的處理時間是0.053ms,算法優化后不僅系統性能大大提高,而且能夠保證實時性要求。
6 結束語
OpenBTS系統嘗試用軟件無線電來降低基站規模和成本,并用Asterisk來實現軟交換,改變了現有的無線接入網的架構,為改進現有基站提供了一種新思路。本文改進了OpenBTS物理層均衡算法,大幅提高了系統性能,并用SSE并行處理對算法進行優化從而保證了系統實時性。在未來OpenBTS還可以有新的改進,比如如何增加其容量,如何用通用處理器池來增加其信號處理能力,用更新的EAGE、GPRS來取代GSM以獲得更多優勢等。
參考文獻
[1]黃宇紅. C-RAN無線接入網綠色演進白皮書[R].北京:中國移動通信研究院,2010.
[2]Meggelen J V, Madsen L. Asterisk-the future of telephone(secondedition)[M]. O'Reilly Media, Inc:2007.8: 3-8.
[3]David A Burgess, Harvind S Samra. The OpenBTS Project[EB/OL].[2008-8]http://openbts.sourceforge.net/.
[4]3GPP TS 05.01. Physical layer on the radio path Generaldescription[S].
[5]3GPP TS 04.05 V8.0.2. DataLink(DL) layer; Generalaspects[S]. 2002.5.
[6]3GPP TS 04.08 V7.21.0. Mobileradio interface layer3 specification[S]. 2003.12.
[7]孔德廷,伍守豪,等. 維特比均衡算法[J]. 通信技術,2010,43(9): 27-29.
[8]Recommendation ITU-R M.1225. GuidelinesforEvaluation of Radio Transmission Technologies for IMT-2000(Question ITU-R39/8)[S]. 1997.