具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
在系统存在时延的情况下,测试设备的Timer的精确性是测试设备精确性的重要保证,即需要提供一种使测试设备的时间更高精度地反映UE的时间的方式,基于此,本发明实施例一提供一种基于一致性测试的时延补偿方法,在测试设备对UE进行一致性测试的过程中,对时延进行补偿。
具体的,该测试设备可以为协议一致性测试仪(如TD-SCDMA(Time Division-Synchronous Code Division Multiple Access,时分同步码分多址)协议一致性测试仪或TD-LTE(Time Division- Long Term Evolution,时分长期演进)协议一致性测试仪等);此外,TTCN脚本中定义了许多根据3GPP协议要求的Timer,各Timer均与UE相关,即要求UE达到相关的时限要求;因此,测试设备需要在对UE进行一致性测试的过程中,对时延进行补偿,以准确的获得时延的相关信息,更加真实地反映UE的时延值。
如图4所示,该基于一致性测试的时延补偿方法包括以下步骤:
步骤401,测试设备确定Timer启动的位置点和检查Timer是否超时的位置点。
本发明实施例中,Timer启动的位置点为:测试设备发送下行数据前、或测试设备发送下行数据后、或测试设备接收到上行数据后、或测试设备处理完当前上行数据后且开始接收上行数据前。
检查Timer是否超时的位置点为:测试设备发送下行数据前、或测试设备发送下行数据后、或测试设备接收到上行数据后、或测试设备处理完当前上行数据后且开始接收上行数据前。
步骤402,测试设备根据Timer启动的位置点和检查Timer是否超时的位置点确定时延补偿值。
本发明实施例中,可分为以下情况确定时延补偿值:
情况一:测试设备在如下情况下确定时延补偿值为0。
Timer启动的位置点为测试设备发送下行数据前、且检查Timer是否超时的位置点为测试设备发送下行数据前;
或Timer启动的位置点为测试设备发送下行数据后、且检查Timer是否超时的位置点为测试设备发送下行数据后;
或Timer启动的位置点为测试设备接收到上行数据后、且检查Timer是否超时的位置点为测试设备接收到上行数据后;
或Timer启动的位置点为测试设备处理完当前上行数据后且开始接收上行数据前、且检查Timer是否超时的位置点为测试设备处理完当前上行数据后且开始接收上行数据前;
或Timer启动的位置点为测试设备发送下行数据后、且检查Timer是否超时的位置点为测试设备接收到上行数据后;
或Timer启动的位置点为测试设备处理完当前上行数据后且开始接收上行数据前、且检查Timer是否超时的位置点为测试设备发送下行数据前。
情况二:测试设备在如下情况下确定时延补偿值为系统下行时延值,该系统下行时延值为根据实际经验确定的数值。
Timer启动的位置点为测试设备发送下行数据前、且检查Timer是否超时的位置点为测试设备发送下行数据后;
或Timer启动的位置点为测试设备发送下行数据前、且检查Timer是否超时的位置点为测试设备接收到上行数据后;
或Timer启动的位置点为测试设备处理完当前上行数据后且开始接收上行数据前、且检查Timer是否超时的位置点为测试设备发送下行数据后;
或Timer启动的位置点为测试设备处理完当前上行数据后且开始接收上行数据前、且检查Timer是否超时的位置点为测试设备接收到上行数据后。
情况三:测试设备在如下情况下确定时延补偿值为系统上行时延值,该系统上行时延值为根据实际经验确定的数值。
Timer启动的位置点为测试设备发送下行数据后、且检查Timer是否超时的位置点为测试设备发送下行数据前;
或Timer启动的位置点为测试设备发送下行数据后、且检查Timer是否超时的位置点为测试设备处理完当前上行数据后且开始接收上行数据前;
或Timer启动的位置点为测试设备接收到上行数据后、且检查Timer是否超时的位置点为测试设备发送下行数据前;
或Timer启动的位置点为测试设备接收到上行数据后、且检查Timer是否超时的位置点为测试设备处理完当前上行数据后且开始接收上行数据前。
情况四:测试设备在如下情况下确定时延补偿值为系统上行时延值与系统下行时延值之和。
Timer启动的位置点为测试设备发送下行数据前、且检查Timer是否超时的位置点为测试设备处理完当前上行数据后且开始接收上行数据前;
或Timer启动的位置点为测试设备接收到上行数据后、且检查Timer是否超时的位置点为测试设备发送下行数据后。
步骤403,测试设备通过时延补偿值对时延进行补偿。
本发明实施例中,通过每个Timer启动的位置点和检查Timer是否超时的位置点确定时延补偿值,并利用时延补偿值自动对时延进行补偿,可以准确地为每一个Timer进行补偿,以达到最优精度,更加真实地反映UE的时延值。
为了更加清楚的阐述本发明实施例提供的技术方案,以下结合具体的应用进行详细阐述。
实施例二
本发明实施例二提供一种基于一致性测试的时延补偿方法,以在测试设备对UE进行一致性测试的过程中,对时延进行补偿;该方法可分为测试设备调度过程的Timer实现、以及测试设备的时延补偿的实现等两部分。
1、测试设备调度过程的Timer实现。
A、在不考虑Timer调度过程的情况下,如图5所示的数据调度过程示意图(即时延的分类、定义以及各Timer的采样时间点),包括以下步骤:
步骤1、测试设备向UE发送下行数据。其中,测试设备可利用自身的TTCN脚本向UE发送下行数据。
步骤2、测试设备接收UE返回的上行数据。之后执行下一次下行数据的发送过程,开始下一轮循环,后续不再赘述。
通过上述数据调度过程可以分析到以下情况,数据调度过程的位置点包括:(1)测试设备发送下行数据前;(2)测试设备发送下行数据后;(3)测试设备接收到上行数据后;(4)测试设备处理完当前上行数据后且开始接收上行数据前。需要注意的是,由于缓冲区调度等过程的存在,测试设备发送下行数据前与测试设备发送下行数据后并不是同一个位置点。
基于上述分析得到的数据调度过程的位置点,则:
B、如图6所示,为Timer可能启动的位置点的示意图,由于只有TTCN脚本引挚才能开启Timer,因此启动Timer只能在图6所示的位置,包括:(1)测试设备发送下行数据前;(2)测试设备发送下行数据后;(3)测试设备接收到上行数据后;(4)测试设备处理完当前上行数据后且开始接收上行数据前。需要注意的是,由于缓冲区调度等过程的存在,测试设备发送下行数据前与测试设备发送下行数据后并不是同一个位置点。
C、如图7所示,为检查Timer是否超时的位置点的示意图,可能检查Timer是否超时的位置点包括:(1)测试设备发送下行数据前;(2)测试设备发送下行数据后;(3)测试设备接收到上行数据后;(4)测试设备处理完当前上行数据后且开始接收上行数据前。
2、基于上述确定的Timer启动的位置点和检查Timer是否超时的位置点,可实现时延补偿过程。为了方便描述,后续以位置点1表示测试设备发送下行数据前、以位置点2表示测试设备发送下行数据后、以位置点3表示测试设备接收到上行数据后、以位置点4表示测试设备处理完当前上行数据后且开始接收上行数据前。
利用Timer启动的位置点和检查Timer是否超时的位置点,本发明实施例中,测试设备通过如下方式确定时延补偿值:
(1)当TStart与TOut相同时,则测试设备确定时延补偿值TReal Delay为0。
TStart为Timer启动的位置点,该Timer启动的位置点属于(位置点1、位置点2、位置点3、位置点4);TOut为检查Timer是否超时的位置点,该检查Timer是否超时的位置点属于(位置点1、位置点2、位置点3、位置点4)。
(2)当TStart与TOut不同时,则测试设备确定时延补偿值TReal Delay为:
TReal Delay=(TReal Dl Delay + TReal Ul Delay);其中,
当(位置点1,位置点2)属于(TStart,TOut)时,TReal Dl Delay=TDl Delay,该TDl Delay为系统下行时延值(根据经验确定);否则,TReal Dl Delay为0。
当(位置点3,位置点4)属于(TStart,TOut)时,TReal Ul Delay= TUl Delay,该TUl Delay为系统上行时延值(根据经验确定);否则,TUl Delay为0。
需要说明的是,本发明实施例中,假定忽略超过一圈的情况,即超过一圈作为一圈处理;TStart - TOut- =-1时,表示该Timer走过了一整圈;TStart - TOut- <0时,则该Timer走过的需要补偿的区间=全部的区间-TOut到TStart之间的区间。
基于上述分析,TStart为位置点1,TOut为位置点1时,TReal Delay为0;TStart为位置点2,TOut为位置点2时,TReal Delay为0;TStart为位置点3,TOut为位置点3时,TReal Delay为0;TStart为位置点4,TOut为位置点4时,TReal Delay为0。
TStart为位置点1,TOut为位置点2时,(位置点1,位置点2)属于(位置点1,位置点2),TReal Dl Delay=TDl Delay;(位置点3,位置点4)不属于(位置点1,位置点2),TUl Delay为0,因此TReal Delay为TDl Delay。
同理,TStart为位置点1,TOut为位置点3时,(位置点1,位置点2)属于(位置点1,位置点3),(位置点3,位置点4)不属于(位置点1,位置点3),TReal Delay为TDl Delay。
TStart为位置点1,TOut为位置点4时,(位置点1,位置点2)属于(位置点1,位置点4),(位置点3,位置点4)属于(位置点1,位置点4),TReal Delay为TDl Delay + TUl Delay。
TStart为位置点2,TOut为位置点1时,(位置点1,位置点2)不属于(位置点2,位置点1),即(位置点2,位置3,位置4,位置点1),(位置点3,位置点4)属于(位置点2,位置点1),TReal Delay为TUl Delay。
TStart为位置点2,TOut为位置点3时,(位置点1,位置点2)不属于(位置点2,位置点3),(位置点3,位置点4)不属于(位置点2,位置点3),TReal Delay为0。
TStart为位置点2,TOut为位置点4时,(位置点1,位置点2)不属于(位置点2,位置点4),(位置点3,位置点4)属于(位置点2,位置点4),TReal Delay为TUl Delay。
TStart为位置点3,TOut为位置点1时,(位置点1,位置点2)不属于(位置点3,位置点1),(位置点3,位置点4)属于(位置点3,位置点1),TReal Delay为TUl Delay。
TStart为位置点3,TOut为位置点2时,(位置点1,位置点2)属于(位置点3,位置点2),(位置点3,位置点4)属于(位置点3,位置点2),TReal Delay为TDl Delay + TUl Delay。
TStart为位置点3,TOut为位置点4时,(位置点1,位置点2)不属于(位置点3,位置点4),(位置点3,位置点4)属于(位置点3,位置点4),TReal Delay为TUl Delay。
TStart为位置点4,TOut为位置点1时,(位置点1,位置点2)不属于(位置点4,位置点1),(位置点3,位置点4)不属于(位置点4,位置点1),TReal Delay为0。
TStart为位置点4,TOut为位置点2时,(位置点1,位置点2)属于(位置点4,位置点2),(位置点3,位置点4)不属于(位置点4,位置点2),TReal Delay为TDl Delay。
TStart为位置点4,TOut为位置点3时,(位置点1,位置点2)属于(位置点4,位置点3),(位置点3,位置点4)不属于(位置点4,位置点3),TReal Delay为TDl Delay。
基于上述分析,时延补偿情况可以如表1所示:
表1
进一步的,为了查询方便,时延补偿情况还可如表2所示:
表2
在表2中,A表示时延补偿值为TDl Delay + TUl Delay,U表示时延补偿值为TUl Delay,D表示时延补偿值为TDl Delay,0表示时延补偿值为0。基于表2的内容,对于每一个脚本中定义的Timer,在运行时可自动匹配表2中的内容,从而可以对每一个Timer自动进行高精确度补偿,用户只需要事先设置好TDl Delay和TUl Delay即可。
综上所述,本发明实施例中,可以为各种Timer进行时延补偿,且自动分析每一个Timer,为其自动进行补偿,以解决手工设置,对于同一个用例,用多种类型Timer而不能精确补偿的问题,从而在提高精度的同时,大大提高了易操作性。进一步,通过每个Timer启动的位置点和检查Timer是否超时的位置点确定时延补偿值,利用时延补偿值自动对时延进行补偿,可以准确地为每一个Timer进行补偿,以达到最优精度,更加真实地反映UE的时延值。
实施例三
基于与上述方法同样的发明构思,本发明实施例中还提供了一种基于一致性测试的时延补偿设备,如图8所示,该设备包括:
第一确定模块11,用于确定计时器Timer启动的位置点和检查Timer是否超时的位置点;
第二确定模块12,用于根据所述Timer启动的位置点和所述检查Timer是否超时的位置点确定时延补偿值;
补偿模块13,用于通过所述时延补偿值对时延进行补偿。
所述Timer启动的位置点为:所述测试设备发送下行数据前、或所述测试设备发送下行数据后、或所述测试设备接收到上行数据后、或所述测试设备处理完当前上行数据后且开始接收上行数据前;
所述检查Timer是否超时的位置点为:所述测试设备发送下行数据前、或所述测试设备发送下行数据后、或所述测试设备接收到上行数据后、或所述测试设备处理完当前上行数据后且开始接收上行数据前。
所述第二确定模块12,具体用于当所述Timer启动的位置点为所述测试设备发送下行数据前、且所述检查Timer是否超时的位置点为所述测试设备发送下行数据前,
或所述Timer启动的位置点为所述测试设备发送下行数据后、且所述检查Timer是否超时的位置点为所述测试设备发送下行数据后,
或所述Timer启动的位置点为所述测试设备接收到上行数据后、且所述检查Timer是否超时的位置点为所述测试设备接收到上行数据后,
或所述Timer启动的位置点为所述测试设备处理完当前上行数据后且开始接收上行数据前、且所述检查Timer是否超时的位置点为所述测试设备处理完当前上行数据后且开始接收上行数据前,
或所述Timer启动的位置点为所述测试设备发送下行数据后、且所述检查Timer是否超时的位置点为所述测试设备接收到上行数据后,
或所述Timer启动的位置点为所述测试设备处理完当前上行数据后且开始接收上行数据前、且所述检查Timer是否超时的位置点为所述测试设备发送下行数据前时,
确定所述时延补偿值为0。
所述第二确定模块12,具体用于当所述Timer启动的位置点为所述测试设备发送下行数据前、且所述检查Timer是否超时的位置点为所述测试设备发送下行数据后,
或所述Timer启动的位置点为所述测试设备发送下行数据前、且所述检查Timer是否超时的位置点为所述测试设备接收到上行数据后,
或所述Timer启动的位置点为所述测试设备处理完当前上行数据后且开始接收上行数据前、且所述检查Timer是否超时的位置点为所述测试设备发送下行数据后,
或所述Timer启动的位置点为所述测试设备处理完当前上行数据后且开始接收上行数据前、且所述检查Timer是否超时的位置点为所述测试设备接收到上行数据后时,
确定所述时延补偿值为系统下行时延值。
所述第二确定模块12,具体用于当所述Timer启动的位置点为所述测试设备发送下行数据后、且所述检查Timer是否超时的位置点为所述测试设备发送下行数据前,
或所述Timer启动的位置点为所述测试设备发送下行数据后、且所述检查Timer是否超时的位置点为所述测试设备处理完当前上行数据后且开始接收上行数据前,
或所述Timer启动的位置点为所述测试设备接收到上行数据后、且所述检查Timer是否超时的位置点为所述测试设备发送下行数据前,
或所述Timer启动的位置点为所述测试设备接收到上行数据后、且所述检查Timer是否超时的位置点为所述测试设备处理完当前上行数据后且开始接收上行数据前时,
确定所述时延补偿值为系统上行时延值。
所述第二确定模块12,具体用于当所述Timer启动的位置点为所述测试设备发送下行数据前、且所述检查Timer是否超时的位置点为所述测试设备处理完当前上行数据后且开始接收上行数据前,
或所述Timer启动的位置点为所述测试设备接收到上行数据后、且所述检查Timer是否超时的位置点为所述测试设备发送下行数据后时,
确定所述时延补偿值为系统上行时延值与系统下行时延值之和。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。