基于开源SDR实现LTE系统对比*
2015-07-03吴彤张玉艳赵慧席雨
吴彤, 张玉艳, 赵慧, 席雨
(1 北京邮电大学泛网无线通信教育部重点实验室,北京 100876;2 北京邮电大学网络教育学院,北京 100876)
在移动互联网大规模发展的背景之下,智能手机的普及和各种互联网OTT (Over The Top)应用的流行,对无线网络需求呈几何级增长,导致移动运营商之间激烈的竞争愈演愈烈。但由于资费下调等各种因素影响,运营商从每个用户获得的收益在慢慢减少,这大大的降低了移动运营商的收入水平。同时由于移动互联网业务所产生流量的迅速增长,用于建设、运维和无线网络升级的投资不断增加,但收入却增长缓慢。为了保证长期盈利增长,运营商必须节流,找到在保证提供优质无线接入业务的同时并能有效降低成本的方法[1]。SDR(Software Defined Radio,软件无线电)刚好可以提供一种低成本解决方案,将基站信号处理功能尽量使用软件来实现,使用通用硬件平台,可以快速地实现信号的调制解调,编解码运算,实现不同的信号频带宽度,并快速切换不同工作模式。在通用硬件平台上尽量使用软件技术实现新的功能模块,同时通过软件来实现系统的升级[2],这给现有通信系统建设提供了一种全新的思路,给技术研究开发提供了更快的实现方式,降低了开发成本和周期,并且还能保持目前这一代系统的后向兼容性。
但是目前还没有相关的文献进行对比介绍两种软件,下面本文将详细的介绍OAI (Open Air Interface)trunk_7165版本和openlte-00-v18-02版本。主要从软件实现整体架构,PHY(Physical Layer,物理层)、MAC (Media Access Control,介质访问控制)、RLC (Radio Link Control,无线链路控制器协议)、PDCP (Packet Data Convergence Protocol,分组数据汇聚协议)、RRC (Radio Resource Control,无线资源控制协议)各层功能实现和软件整体功能实现3个方面进行对比,无线通信技术研究人员基于结果能够对开源SDR有一个初步的了解,同时也为他们对平台的选择提供了一个参考依据。
1 SDR硬件平台
通用软件无线电外设 USRP是一种低成本的软件无线电实现的硬件平台。本次对比测试中采用了Ettus公司的B210型号产品。USRP B210是一个完全集成的单板,其频率范围从70 MHz!6 GHz,能覆盖LTE的所有频段,同时作为低成本的实验硬件平台,它结合了单芯片直接变频收发器,提供高达56 Mbit/s实时带宽,开放和可重编程FPGA Spartan6,通过总线供电的超高速USB 3.0与PC连接。该款设备支持全双工FDD/TDD,同时还支持2×2 MIMO,通过开源驱动UHD实现了PC对USRP的控制。
2 软件平台
2.1 OAI
OAI是一个致力于无线数字通信创新研究的开放源代码的硬件/软件开发平台,世界上第一个以软件实现了完整的3GPP的协议栈[3]。它用标准C基于Linux实时内核优化完成的,OAI实现思想是:PC机通过软件实现PHY、MAC、RLC、PDCP、RRC各层功能,最后将生成的IP数据通过Linux IP协议栈进行发送,将NAS (Non-Access Straum,非接入层)的消息通过AT (Attention)命令进行发送,eNode B与MME之间基于各自IP进行连接,信息传输也是基于各自的IP地址进行交换。OAI软件平台已经被使用作为无线通信技术研究与实现的验证平台,目前基于OAI已经实现了DSRC协议[4],低复杂度MIMO接收机[5]等,将来应用场景在[6]中有详细的介绍。
2.2 OpenLTE
OpenLTE是在Linux系统下的使用GNURadio软件开发包实现的3GPP通信协议的一个开源项目,主要实现一个简单的基站的功能。其功能模块主要包括:PHY、MAC、RLC、PDCP、RRC、MME等,模块都是使用 C++开发。由于GNURadio的开源性,全世界已经有很多开发者提供很多的常用的通信模块,如常用的FFT算法模块,各种常用的调制解调模块等等,还提供了一些开发函数的API (Application Programming Interface,应用编程接口),这给开发者提供了很多便捷。GNURadio作为软件无线电开发工具已经被全世界软件无线电开发者所使用,基于GNURadio开发的OpenLTE被很多开源爱好者进行使用,这个平台获得了大量研究者的关注。
3 软件评测标准
对于本次两种软件的对比分析主要从以下两个方面进行:
(1)用户使用角度:软件的可操作性、易维护性,调试方法难易程度对于用户的学习使用有一定的影响,同时对于软件功能的进一步拓展也会有很大的影响。这部分可以从源码以及自带的调试工具方面进行分析。
(2)软件功能完整性角度:软件的基本功能实现对用户是一个基本的要求。这部分可以从下面的整体架构对比,各层的功能实现对比,以及整体实现的功能上进行详细的分析获得结论。
4 两种软件系统对比
4.1 整体架构比较
目前,OAI软件平台整体架构按照类似网络ISO分层的思想进行实现的,通过各层预留的接口实现了层与层之间的数据的传递,由图1可知,主要分了4层: Openair0主要实现的射频端的功能,由硬件USRP实现;Openair1主要对应的是LTE的物理层,以及USRP实现的数据传输接口和上层MAC层数据接口;Openair2主要实现的MAC层,相关调度任务都是在该层中实现的;网络层及以上功能都是在Openair3中实现的。
图1 OAI的整体框架图
OpenLTE系统基于GNURadio开发模块化思想来实现的,由PHY、MAC、RLC、PDCP、RRC等相应的模块组成,HSS模块实现归属用户服务器的所有配置;GW模块完成了eNode B侧网关IP的配置;MME模块实现的是eNode B的移动管理实体模块的功能。上述各个模块通过软件实现,最终通过USB3.0将基带信号传到USRP中,经过采样变频后生成了射频信号并发射出去。
4.2 物理层对比
OAI中的物理层协议实现的比较完整,实现了Release 8.6,同时实现了Release 10部分功能,主要是MBMS (Multimedia Broadcast/Multicastservice,多媒体广播多播业务)功能。对于发送模式支持单发单收、双发双收、一发两收、两发一收等方式,支持所有的物理信道,用速率匹配控制码率实现了控制传输块大小自适应传输,然后依次经过比特交织、调制、映射完成了物理层的功能。OAI支持所有的物理信道,其中的PDCCH信道,支持协议中所有DCI格式,下行调制方式能实现64QAM,上行调制方式能实现16QAM,现有的物理层也能通过上报的CQI实现自适应编码调制。
目前使用的openlte_v00-18-02版本中,只实现Release 8部分协议。对于发送模式目前只支持单收多发即接收侧只支持单天线,发送侧支持1、2、4根天线。物理信道中除去PUCCH信道没有完成,其余信道都已经完成,但是对于下行的PDCCH中能使用的DCI控制信息只实现了DCI1A一种格式。
4.3 MAC层调度实现对比
调度主要是由MAC层完成,MAC是LTE系统无线网络接口协议栈的重要组成部分。MAC层将RLC层的逻辑信道映射到传输信道,同时,MAC层要根据逻辑信道的速率为每个传输信道选择合适的传输格式,以提高传输信道的利用率[7]。总体上说调度算法从吞吐量,链路利用率以及复杂度和公平性方面综合考虑并提供更有效资源共享方式。MAC层通过特定的调度算法,对上下行子帧进行资源分配,同时还决定了其调制编码方式。目前也存在很多调度算法,每一种都有不同的使用特性。对于LTE网络系统常见的算法有:轮询算法(Round Robin)、最大载干比(Best CQI)以及比例公平(Proportional Fair)等在文献[8]中已经有了详细的介绍。
4.3.1 OAI 调度方式
OAI中物理层给MAC层提供了相应的调度请求和HARQ (Hybrid Automatic Repeat Request)等信息,MAC层中使用的是轮询调度算法,具体的OAI下行调度流程在[9]中进行了详细的介绍,其调度算法功能比较完善,能够完成了实际用户的数据业务调度任务。
表1 物理层内容比较
4.3.2 OpenLTE调度方式
OpenLTE使用的也是轮询调度算法,但是实现机制比较简单:首先将需要调度的子帧放在一个队列中,每次都是对队列的第一个子帧进行调度,对该帧进行判断依次做出相应的处理,这符合轮询调度的先到先处理机制。但是主要从调度流程图可以看到,对于条件判断的地方,多处只完成了一种条件的判断,没有对其他情况进行处理,对于一些异常情况也没有完善的处理机制,在实际的测试过程中会出现直接崩溃的情况,这与调度方面的功能还不完善有很大的原因,具体实现的流程如图2所示。
图2 OpenLTE 调度实现机制
4.4 MAC以上层实现功能对比
对于MAC层以上主要包括RLC、PDCP、RRC。RLC层为无线链路提供可靠的数据传输,支持3种传输模式:TM(Transparent Mode,透明模式),UM(Unacknowledged Mode,非确认模式),AM(Acknowledged Mode,确认模式)[10]。PDCP用于控制平面主要实现加密和完整性保护功能以及控制平面数据传输;用于用户平面主要实现头压缩与解压缩,对低层SDU数据的重复检测,支持RLC确认模式逻辑信道PDCP SDU的重传[11]。RRC层主要完成的是非接入层和接入层的信息广播,建立、维持和重建立UE与UTRAN的RRC连接,无线资源的分配、重新配置和释放、高层路由等功能[12]。现有的OAI这3层功能都能够实现,但是OpenLTE中的RLC层的3种模式中AM模式还没有实现,主要在AM模式的接收端接收到的AMD PDU最大序列号,该序列号值在接收到新的AMD PDU时候不会持续更新,相应的数据传输部分功能还没有实现。OAI和OpenLTE对于PDCP层和RRC层基本功能都能实现。
5 软件功能测试
分别使用OAI和OpenLTE软件结合USRP搭建一个个人私有的LTE基站作为测试平台,使用多款商用终端进行接入网络,测试其实现的功能并给出测试结果和客观评价。本次测试使用的设备有:惠普PC Z230(运行Linux Ubuntu系统)、USRP B210、华为数据卡E3276S-210。
5.1 Amarisoft MME+OAI eNode B网络
图3 用户接入OAI网络
由于OAI的MME安装后存在较多的问题,暂时先用第三方的Amarisoft软件的MME替换进行了测试。安装完OAI之后开始运行该程序,在Shell终端中运 行sudo ./lte-softmodem–d–O ../../PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.usrpb210.conf–V,其中,参数d能打印出调试信息,参数O读取配置文件,配置文件中可以手动修改一些常用参数,如设置频点、发射接收增益、发射接收天线数量等;V参数则是能显示调试图形界面。图3中是MME侧数据库的信息,MME中已经接入了一个eNode B,一个用户已经完成了小区搜索,随机接入,用户注册和鉴权,数据业务承载等一系列过程,相应的SIM卡的IMSI和终端的IMEI的信息已经在MME的数据库中列出来了,也给该终端分配了IP地址。在下面两种模式下分别进行了上下行速率的测试:(1)单发单收模式,带宽5 Mbit/s,上行最高速率1.8 Mbit/s,下行最高速率是3.76 Mbit/s。
(2)双发双收模式,带宽5 Mbit/s,上行最高速率2.6 Mbit/s,下行最高速率是4.9 Mbit/s。
速率低的原因是OAI中传输数据并没有用到一帧中的所有的20个子帧,而只利用到其中的几个子帧进行数据业务的传输,同时该子帧中也只使用了部分资源块传输数据业务的数据,因此测试的结果显示的上下行的速率离理论值还有较大的差距。
5.2 OpenLTE网络
OpenLTE中已经集成了MME功能,所以不需要第三方的MME,在shell终端中运行sudo ./LTE_enodeb,接着在终端输入用户的配置信息参数,如频点设置、发射接收增益、用add_user命令添加用户信息等,会将其存储在用户数据库中,再输入start该程序就启动,然后终端可以启动终端搜索网络,依次完成了小区搜索,随机接入和数据业务承载等过程。由于该软件平台起步较晚,用户数据业务处理方面功能还没有完全实现。如图4所示,显示了用户接入网络后基站侧回馈的消息。
5.3 结果分析
结合源代码和测试的结果通过用户使用角度和实现功能两个方面进行分析。
从用户使用角度分析,OAI代码结构比较复杂,编译选项参数较多,但是自身提供了丰富的开发环境以及内置的工具,如实时的仿真模式,软监控和调试工具,协议分析器,性能分析器,并配置日志记录系统的所有图层和通道;OpenLTE代码结构比较清晰,更加易于开发和维护,但是没有提供完善的调试工具,每次调试还需要重新输入配置的参数,调试比较麻烦。
从实现功能上看,OAI能够实现上下行同步,同时还能实现用户数据业务功能,在数据业务处理方面还比较稳定,缺点是多用户接入还不够稳定,整体的下行速率仍达不到理想的速率,代码仍需要进一步的优化。OpenLTE能实现简单的基站的功能,商用终端接入该网络中只完成了下行同步,用户数据业务功能还没实现,仍需要进一步的完善和优化。
6 结论
图4 用户接入OpenLTE网络
本文梳理了现有两套开源SDR的整体架构不同实现方式,PHY、MAC、RLC、PDCP、RRC各层的实现功能的完整性,以及整体能够实现的功能进行了详细的分析。开源SDR系统能够实现LTE协议的基本功能,这两种软件都能够为我们进行无线通信相关的研究提供一个平台,可以基于该平台进行下一代无线通信技术的快速验证与实现。
[1]杨!.绿色无线接入网络架构C_RAN研究[D].北京:北京邮电大学,2012.
[2]郭芳华.软件无线电技术综述[J].现代电子技术,2003,26 (21):67-73.
[3]Navid Nikaein, Raymond Knopp, et al.OpenAirInterface 4G: an open LTE network in a PC[J].MOBICOM,2014:305-308.
[4]Philippe Agostini, Raymond Knopp, et al.Implementation and Test of a DSRC Prototype on OpenAirInterface SDR Platform[J].Communications Workshops, 2013:510-514.
[5]Florian Kaltenberger, Rizwan Ghaffar, et al.Low-complexity Distributed MIMO Receiver and its Implementation on the OpenAirInterface Platform[J].Indoor and Mobile Radio Communications, 2009:2494-2498.
[6]Navid Nikaein,Mahesh K.Marina,et al.OpenAirInterface: A Flexible Platform for 5G Research[J].ACM SIGCOMM Computer Communication Review, 2014,44(5):33-38.
[7]陶乃勇,王振玉,傅海阳.第三代移动通信系统WCDMA[J].广东通信技术, 2002,11(1):5-7.
[8]Salman A.AlQahtani,MohammedAlhassany,et al,Comparing Different LTE Scheduling Schemes,Wireless Communications and Mobile Computing Conference (IWCMC)[J].2013:264-269.
[9]Renyuan wang,Yuexing Peng, et al.OpenAirInterface-an effective emulation platform for LTE and LTE-Advanced, Ubiquitous and Future Networks (ICUFN)[J].2014:127-132.
[10]3GPP TS 36.323 V12.0.0[S].Evolved Universal Terrestrial Radio Access(E-UTRA), Radio Link Control protocol specification, 2014.
[11]3GPP TS 36.323 V8.6.0[S].Evolved Universal Terrestrial Radio Access(E-UTRA), Packet Data Convergence Protocol specification, 2014.
[12]3GPP TS 25.331 V10.0.0[S].Evolved Universal Terrestrial Radio Access(E-UTRA), Radio Resource Controlspecification, 2010.