郭远标
(武汉邮电科学研究院,武汉,430074)
随着LTE技术的发展,中国正逐步推进LTE的商用化进程,中国移动加快TD-LTE试验网部署。与此同时,设备提供商纷纷加快了通信网络管理软件的研发和测试的步伐,作为LTE无线接入设备(eNodeB)的核心软件——操作维护中心(Operation Maintenance Center,OMC)系统也在紧张有序的测试之中。普通实验室往往无法实现一些与真实网元相关的测试场景,为了解决这个问题,我们利用网元仿真技术来辅助测试。
LTE系统同时定义了FDD和TDD两种方式,OMC系统同时支持对这两种类型eNodeB的管理。作为辅助的测试工具,网元仿真系统也需同步支持FDD和TDD设备的模拟以配合测试。在OMC系统研发过程中常会出现下层通信接口改动和需求变更等问题,仿真系统需要配套同步接口处理。为了配合测试适配中间版本通信库的OMC系统,仿真系统也需提供临时版本。这些都加大了仿真系统的维护难度,阻碍了OMC系统的测试进程,因此网元仿真系统的多版本兼容性是一个急需解决的问题。
为配合OMC整体测试,网元仿真系统根据eNodeB OAM接口规范提供的接口模拟eNodeB设备命令收发、数据存储过程,为OMC提供数据来源。不同版本之间的区别在于命令的不同,因此网元仿真系统的兼容性问题主要体现在对不同版本命令的识别、处理和不同版本设备的选择。
OMC和eNodeB之间有一套协定的通信接口,OMC通过数据库存储命令模型,因此网元仿真系统可以使用该数据源来提供协议支撑。设备类型分FDD和TDD两个版本,相应的有两套通信命令。通过在数据库中增加设备类型字段来标识命令所属的设备类型,进而可以查找指定设备支持的命令及其参数信息,建立协议模型。
网元仿真系统模拟设备,也就需要保存设备状态信息。在进行OMC功能测试时,仿真系统应该依据真实状态进行响应,以满足测试条件的数据逻辑性。在仿真系统中,为需要关注的状态信息分配存储空间,不同业务模块对相应状态信息进行独立处理,这使得需要对不同业务进行特殊处理。
在仿真系统的初始版本中,需要特殊处理的业务比较少,直接采用条件判断结构,不同的类型选择不同的处理方式。随着测试需求的不断增多,不断在业务处理流程中添加新的条件判断处理,造成了处理过程的冗长,使得扩展不方便。
在对仿真系统进行优化重构时,我们采用改进方案:抽象出不同类型设备,将具体业务处理封装到子类中,其抽象类结构如图1所示。
采用抽象工厂模式,设备抽象工厂封装创建具体版本设备对象的责任和过程,将客户与类的实现分离,客户通过它们的抽象接口操纵实例。对象的操作封装在各实例中,将实现隐藏而只显示它们的接口。
通过分析测试需求和设备支持的操作命令,可以得出对设备的操作主要是:增加、删除、修改、查询。这些命令处理的数据都是设备的业务状态信息,这些信息对应着数据库中的参数表,以参数ID作为唯一索引。数据操作关系体现在数据库中的命令参数表,表现为命令和参数的一对多关系,以命令ID和参数ID作为记录的联合索引,因此可以用表的形式建立协议模型。
系统中建立特殊处理命令表,表中包含需要关注的命令ID以及其操作类型(如增加、删除、修改、查询)。依据操作类型来对数据表进行不同的处理。
通过分析设备的信息,可以看出数据有一定层次关系,如设备状态属性信息,每台设备只有一组这样的记录,又如小区、RRU信息之类,每台设备有多组记录,而每个小区中又有多条邻区记录,依次类推,逐步分层。可以建立子表来存储相关记录,各级表之间建立关联表来表明子记录的从属关系。
对于每个数据单元,用参数对象来表示。定义参数对象属性为:参数ID、类型、长度、参数值等。参数ID作为参数的唯一索引。参数类型分为数值型、ip地址、日期、字符串、字节数组,在对参数值进行解析和反解析时根据不同类型来分别处理。长度表示数据所占字节数,在接收数据帧的解析中用于分段提取参数值,而在组应答帧时将数据转换成对应长度的字节流。
图1 设备抽象类结构
系统的数据处理流程如下:
1) 解析接收命令帧。从数据帧中解析出命令ID,根据该命令所对应的参数模型解析出各参数值。
2) 处理业务数据。在特殊处理命令表中查找该命令ID。如果存在,则根据其操作类型对参数表数据进行处理——查询各级参数表结构,依据接收参数增加、删除、修改记录。
3) 组应答命令帧。在命令表中查找对应接收命令的应答命令ID。如果是特殊命令,则根据上一步操作结果来组应答帧。特别是查询命令,以提供的键值为索引逐步搜索参数数据表,返回待查询的参数信息。如果不是特殊命令,则根据参数模型组随机值进行应答。
在测试时常常是对某一版本OMC的功能测试,相应的网元也应选择同类型的设备。在配置文件中增加当前设备类型字段,网元仿真系统在启动时根据选择的设备类型来初始化系统模型。
上述提出的两种解决兼容性问题的方案都能实现预期功能,但是在可扩展性和复杂度方面有所优劣,以下对这两个方面进行比较:
1) 可扩展性比较
命令处理的两种方案中,前者将设备对象的创建封装起来,使设计更松耦合、更有弹性。对于处理接口的变化,该方案只须修改相应子类的数据处理方法而不影响主业务流程。后者依赖于人工建立的关系表结构来实现命令的通用处理,它应对变化的处理接口,只须手动修改外部数据库中的关系表结构,而不用更改程信号特征,证明预映射算法是正确可行的。
预映射算法占用的FPGA资源如表1所示:
表1 预映射算法占用FPGA芯片资源表
由表1可知,在寄存器和查找表资源表几乎没有增加的情况下,节省75%的RAM资源,大大节省了FPGA的存储资源。
本文在现有的PDSCH下行基带算法的基础上,提出关于PDSCH资源粒子映射处理时更节省FPGA资源的设计方法。这种思路也可以推广到其他物理信道/物理信号的资源粒子映射的实现,在FPGA资源节省方面具有一定的借鉴意义。
图4 子帧0的I路和Q路时域图
[1]北京北方烽火科技有限公司.LTE系统中资源粒子的映射方法和装置:中国,201310359326.9
[2]3GPP TS 36.211,Physical Channels and Modulation(Release 8)[S]
[3]3GPP TS 36.213,Physical layer procedures(Release 8)[S]
[4]王映民,孙韶辉等.TD-LTE技术原理与系统设计.人民邮电出版社,2010.