从4月开始接触AmariLTE (www.amarisoft.com) 软件。几个月过去了,经Amarisoft允许,写个小点评。各种实验测试是在 GeeFlex(www.geeflex.com) 公司的实验平台做的。
AmariLTE是全世界第一套纯软件实现的,完整的LTE系统。从Bellard (bellard.org)2012年9月发布这款软件至今,貌似还没有哪套代码能超越它。甚至各大电信设备厂家也没听说有同类产品出现。原因之一可能是不屑于做这个,原因之二可能是与当前产品线冲突。Vanu(www.vanu.com) 可能也有LTE软基站,但是我不了解Vanu方案的具体配置。
系统硬件架构
下图为AmariLTE系统的硬件组成。主要包括射频单元,标准的计算机和LTE终端。
射频单元
USRP是AmariLTE系统的标准配置。USRP,由Ettus Research公司 (www.ettus.com) 制造。该公司已被NI公司收购,但仍部分的保持自己独立的品牌和产品系列。USRP平台与计算机之间通过千兆以太网连接。这个接口限制了AmariLTE系统的射频带宽。如果将来升级到10G以太网,就能够支持更大的射频带宽。
USRP包括母板和子板两部分。母板可以选择N200或者N210。USRP2是不可以的,因为它的时钟精度不够,除非你使用外接时钟。母板我们用过Ettus和海曼无限 (www.open-mesh.com.cn) 的母板,都没有问题。另外USRP B200/210(USB3.0)应该也可以。我记得Ettus公司最近做过这种演示。
子板你可以选择你需要的LTE频段就可以了,SBX,WBX,RFX900,RFX2400应该都可以。我们尝试过SBX和RFX900,都可以用。只是RFX900的发射链路的功率不可调,稍微麻烦一些。SBX是最好的选择,因为这款子板覆盖了所有的LTE频段。
AmariLTE软件并不局限于USRP平台。只要射频前端模块具有与计算机的接口,AmariLTE软件只需对接口做适当修改,便可以适配其他的射频前端。只要客户有需求,相信Amarisoft是能够很快开发出新的接口适配其他射频前端。
计算机
AmariLTE能够运行在普通计算机上,非实时操作系统中。请注意,是非实时操作系统,连实时补丁都没有打。
由于所有的信号和信令处理,从LTE物理层到LTE核心网,都由计算机上的软件完成,所以对计算机的处理能力有较高的要求。计算机必须配置Intel 4核Core i7 CPU (Nehalem或更新的处理器),必须支持SSE4.1指令集。
计算机必须具备2个千兆以太网接口。其中一个接口与USRP连接,用于基带IQ数据的传输;另一个接口连接外部网络。
计算机可以选择普通台式机,或者服务器,也可以选择低功耗处理器的计算机,例如无风扇PC或者笔记本电脑。由于功耗的限制,它的主频不能达到标准台式机的频率,因此处理能力略低。适用于带宽较小,负载较轻的LTE系统,例如small cell、终端测试仪。
LTE终端
AmariLTE系统目前仅支持FDD LTE R8终端,TDD版本正在开发中。我们使用过:
– Huawei E398/K5005 USB数据卡
– Samsung Galaxy Note II LTE手机
– LG Optimus True HD LTE手机
理论上,所有的FDD LTE R8终端应该都可以使用。我们测试过一些常见的业务,比如手机上网,看视频,skype之类的。跟wifi的体验差不多,毕竟是在室内环境嘛,SNR好得很。听说Amarisoft最近在做室外远距离的实验,还没有进一步的消息。
系统软件架构
AmariLTE有两个可执行程序:lteenb和ltemme,都是高度优化的,非常小巧的代码。小到可执行文件分别只有1M和几百KB。运行在非实时Linux操作系统中。推荐使用Fedora系统。不需要实时操作系统和补丁。高效率的代码,以及使用非实时操作系统,是AmariLTE软件最杰出的两个特性,也是Fabrice Bellard这一著名程序员的过人之处。说实话,我真是好奇其中的源码啊,啥时候能开源呢?
在软件设计上lteenb并没有限制接入的 UE数量或RRC连接数。Lteenb的容量主要由计算机的处理能力决定,即处理器的内核数量、主频等因素。而CPU的负载主要由激活用户的业务量决定,Turbo译码器的运算量是其中最主要的因素。Ltemme包含了EPC中的MME,S-GW,P-GW和HSS。类似的,ltemme在软件设计上也没有限制EPC的容量。
AmariLTE的两部分软件是可以分开使用的。就是说,你可以用AmariLTE的eNB连接其他核心网软件,也可以用AmariLTE的MME连接其他eNB。这两种方式,据我所知,都已经有人尝试过了。
下图是AmariLTE运行时的截图。此时,两个LTE手机正在进行skype视频通话。左图是eNB的界面,显示了当前eNB下的UE的连接状况,上下行throughput, SNR,MCS,Turbo迭代次数等等。右上图是MME的界面,显示了当前eNB和UE的状态。右下图显示的是CPU占用率。这台计算机使用的是Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz。可以看到CPU的占用率并不高,大约在30%多。
软件特性
AmariLTE软件的开发和更新速度很快,请直接访问 www.amarisoft.com 查看最新的软件特性。下面挑选了一些关键特性简单介绍。
eNB特性
- 带宽支持:1.4,3,5,10,15,20MHz
- 可支持多个小区,同频或异频均可。可以在一个USRP上同时运行多个载波。我们尝试过2个载波同时运行。
- 支持的传输模式:单天线和2x2 MIMO。尝试过两天线的配置,但是没有测试性能增益。
- 能够满足HARQ时延要求
- 支持eNodeB内的切换,基于S1和X2的切换。我们实验过eNodeB内的切换。
EPC特性
- 包含内置SGW,PGW,HSS和MME。
- 支持通过标准S1接口与多个eNodeB连接(S1AP和GTP-U协议)。
- 支持USIM卡使用XOR或者Milenage鉴权算法。用户需要知道USIM卡的IMSI和KI序列号,写到HSS配置文件中。
- 透明访问IP网络(无需外部的服务网关和PDN网关)。
- 可配置的用户数据库。无需外部的HSS。
- 支持VoLTE。这个需要手机支持VoLTE功能,而且各个国家运营商的VoLTE解决方案不同,所以相应的手机配置也不相同。
CPU负载
在AmariLTE软件空载运行的时候,大约占用CPU负载为一半左右。因为我们还没有产生过极限负载的case,所以一般情况下(连接1~2个UE),CPU的负载就在50%附近波动,变化不大。
就简单介绍这些吧,希望这款优秀的软件能够推动SDR技术的发展。