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.