时间更新方法,装置及可移动平台与流程

文档序号:16504671发布日期:2019-01-05 08:57阅读:234来源:国知局
时间更新方法,装置及可移动平台与流程

本申请涉及时间校准技术领域,尤其涉及一种时间更新方法,装置及可移动平台。



背景技术:

全球卫星导航系统(globalnavigationsatellitesystem,简称gnss)已在全球得到广泛应用。当gnss授时给其他设备时,其他设备通常需要专有的硬件电路来对本地的时间进行校准和更新,该硬件电路的体积、重量、复杂度及成本较高。



技术实现要素:

本发明实施例提供一种时间更新方法,装置及可移动平台,用以在确保时间更新准确性的同时,降低时间更新的复杂度,降低成本。

本发明实施例的第一方面是提供一种时间更新方法,包括:

获取计数器的至少两个在第一预设时间内的变化量;

对所述至少两个变化量进行求平均处理;

基于所述求平均处理的结果和所述第一预设时间,确定所述计数器的晶振频率;

基于所述晶振频率,更新本地时间。

本发明实施例的第二方面是提供一种时间更新方法,包括:

获取计数器的两个以上的单位时间变化量;

对所述计数器的两个以上的单位时间变化量进行求平均处理,获得所述计数器的晶振频率;

基于所述晶振频率,更新本地时间。

本发明实施例的第三方面是提供一种时间更新装置,包括:

一个或多个处理器;所述一个或多个处理器单独或协同工作;

所述处理器用于:获取计数器的至少两个在第一预设时间内的变化量;对所述至少两个变化量进行求平均处理;基于所述求平均处理的结果和所述第一预设时间,确定所述计数器的晶振频率;基于所述晶振频率,更新本地时间。

本发明实施例的第四方面是提供一种时间更新装置,包括:

一个或多个处理器;所述一个或多个处理器单独或协同工作;

所述处理器用于:获取计数器的两个以上的单位时间变化量;对所述计数器的两个以上的单位时间变化量进行求平均处理,获得所述计数器的晶振频率;基于所述晶振频率,更新本地时间。

本发明实施例的第五方面是提供一种可移动平台,包括:如上述第三方面或第四方面所述的时间更新装置。

本发明实施例第六方面是提供一种计算机可读存储介质,包括指令,当所述指令运行时,执行上述第一方面或第二方面所述的时间更新方法。

本发明实施例提供的时间更新方法、处理器及可移动平台,通过获取计数器的至少两个在第一预设时间内的变化量,并对获取到的至少两个变化量进行求平均处理,基于求平均的结果和第一预设时间确定计数器的晶振频率,从而根据确定获得的晶振频率更新本地时间。由于本发明实施例中是通过对获取到的至少两个两个变化量进行求平均处理,并根据求平均处理的结果和第一预设时间来确定计数器的晶振频率,因此能够隔离晶振个体的差异,以及温度对晶振频率的影响,保证了计时器晶振频率的准确性和实时性,从而根据该晶振频率更新本地时间时能够得到准确的本地时间,并且不需要借助专用的硬件电路,节约了安装硬件电路所需要的空间,降低了成本。

附图说明

图1为本发明实施例提供的一种场景示意图;

图2是本发明实施例提供的一种时间更新方法的流程图;

图3是本发明实施例提供的步骤204的执行方法流程图;

图4是本发明实施例提供的时间累积误差的更新方法的流程图;

图5是本发明实施例提供的一种时间更新装置的结构示意图;

图6是本发明实施例提供的一种可移动平台的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

图1为本发明实施例提供的一种场景示意图,图1中包括卫星10、卫星接收机11和接受授时的装置12,其中,本实施例中卫星接收机11安装在接受授时的装置12上,但不局限于安装在装置12上,实际上,卫星接收机11和装置12可以分别设置成两个独立的实体。本实施例中装置12可以被具体为无人机、汽车或其他可移动平台。当卫星10授时时,卫星10向外产生一个秒脉冲(pulsepersecond,简称pps)信号,同时通过通信链路(比如串口或总线,但不局限于串口或总线)将pps信号的上升沿或下降沿对应的世界标准时间(utc)发送出去。卫星接收机11接收到卫星10的pps信号,以及对应的utc之后,将该pps信号引入装置12的外部终端中,并在引入pps信号之后的第二预设时间内,通过通信链路将该pps信号对应的utc发送给装置12,装置12会以中断的形式响应卫星接收机11输出pps信号这一事件。进一步的,在接收到utc后,装置12对本地时间进行初始化处理,将本地时间更新为utc,并通过获取至少两个计数器在第一预设时间内的变化量,基于对获取到的至少两个变化量的求平均结果和第一预设时间来确定计数器的晶振频率,基于该晶振频率,更新本地时间,从而能够获得准确的本地时间,并且不需要借助专用的硬件电路,因此,能够节约装置12的空间,降低装置12的重量,降低成本。

具体的,图2是本发明实施例提供的一种时间更新方法的流程图,该方法可以由一种时间更新装置来执行,该装置可以被具体为具有运算和处理能力的处理器,或者诸如无人机,汽车等可移动平台。如图2所示,该方法包括如下步骤:

步骤201、获取计数器的至少两个在第一预设时间内的变化量。

在一种可能的实现方式中,可以先通过获取计数器的三个以上的计数值,使得该三个以上的计数值中包括至少两组计数值之间的时间间隔等于第一预设时间,再基于获取到的三个以上的计数值中的至少两组计数值,计算获得至少两个第一预设时间内的变化量。比如,获取到的计数值为a,b,c,其中,a与b以及b与c之间的时间间隔等于第一预设时间,计算计时器的变化量为|a-b|和|c-b|。当然这里仅为示例说明,而不是对本发明的唯一限定。

在另一种可能的实现方式中,可以先分别获取计数器在两个以上的第一预设时间中的起始计数值和终止计数值,再基于计数器在该两个以上的第一预设时间中的起始计数值和终止计数值,计算获得至少两个第一预设时间内的变化量。比如,假设计数器在第1秒的计数值为a,在第2秒的计数值为b,在第3秒的计数值为c,在第4秒的计数值为d,则至少可获得计数器在第一预设时间内如下变化量:|a-b|、|c-b|、|c-d|。当然这里仅为示例说明,而不是对本发明的唯一限定。

可选的,为了确保获取到的变化量的准确性,本实施例还可以通过获取计数器的翻转周期数,并结合上述两种可能的实现方式中任意一种实现方式获取到的计数器的计数值来计算获得计数器在第一预设时间内的变化量。

以第一预设时间等于1秒为例,假设计数器在第1秒时的计数值为counter(n-1),在第2秒时的计数值为counter(n),计数器的翻转周期数为t_counter,则可以根据如下表达式计算获得计数器在1秒钟内的变化量delta(n):

delta(n)=[counter(n)-counter(n-1)+t_counter]%t_counter

当然这里仅为示例说明,而不是对本发明的唯一限定。

可选的,本实施例中,第一预设时间可以指一个统一的时间值,比如1秒,但不局限于1秒。也可以指多个不同的时间值,比如,可以根据设定将1秒,2秒,3秒等都统称为第一预设时间。当然当然这里仅为示例说明,而不是对本发明的唯一限定。

本实施例还以直接获取计数器的两个以上的单位时间变化量,比如,获取计数器在第1秒的变化量,第2秒的变化量,第3秒的变化量等,当然这里仅为示例说明而不是对本发明的唯一限定。

步骤202、对所述至少两个变化量进行求平均处理。

在第一种可能的平均处理方式中,可以直接对获取到的所有变化量进行求平均处理。

在第二种可能的实现方式中,可以在获取到的第一预设时间的变化量的数量大于两个时,先从获取到的所有变化量中去除其中的最大值和/或最小值,再对去除最大值和/或最小值剩下的变化量进行求平均处理。

承接上例,假设,获取到的计数器在第一预设时间(上例中为1秒)内的变化量的数量大于预设的采样数量filter_num,则可以通过如下滤波算法对获取到的变化量进行平均滤波处理,求得平均结果

delta_min=min{delta(n-filter_num+1)…delta(n)}

delta_max=max{delta(n-filter_num+1)…delta(n)}

其中,filter_num可以取6~8范围内的任意值,但不局限于6~8,实际上filter_num的取值可以根据需要进行设定,本实施例中不做限定。本实施例中,将filter_num的取取值范围设置为6~8可以避免filter_num设置的过导致无法消除干扰,或者设置的过大导致反应迟钝,无法对温度变化做出快速响应。这里需要说明的是,当第一预设时间为1秒,即单位时间时,上述获得的即为求得的计数器的晶振频率,若第一预设时间不为单位时间时,则需要进一步根据和第一预设时间确定计数器的晶振频率。

当然,上述示例仅是对上述第二种可能的实现方式的示例说明,而不是对本发明的唯一限定。

在第三种可能的实现方式中,可以先从获取到的至少两个变化量中提取出数值大小在第一预设范围内的目标变化量,以从所有获取到的变化量中去除异常值。进一步的,再对提取获取的所有目标变化量进行求平均处理。

步骤203、基于所述求平均处理的结果和所述第一预设时间,确定所述计数器的晶振频率。

当第一预设时间指代的是预设的一个统一的时间值时,可以利用求平均处理得到的平均变化量除以第一预设时间,获得计数器的晶振频率。

当第一预设时间指代的是预设的多个时间长度时,则可以通过对获取到的所有变化量所对应的第一预设时间进行求平均处理,得到平均时间长度,再利用前述计算获得的平均变化量除以平均时间长度,获得计数器的晶振频率。

步骤204、基于所述晶振频率,更新本地时间。

可选的,本实施例可以根据预设周期,周期性的更新本地时间,其中,预设周期可以是任意值,比如,实际场景中,可以将预设阈值设置为小于计数器的翻转周期数与计数器的晶振频率的比值的任意值,以避免计数器溢出导致时间损失。

可选的,图3是本发明实施例提供的步骤204的执行方法流程图,如图3所示,该方法包括:

步骤301、获取所述计数器在本地时间初始化时刻到当前时刻时间内的变化量。

在一种可能的实现方式中,可以直接通过计数器在当前时刻的计数值减去计数器在本地时间初始化时刻的计数值,得到计数器在本地时间初始化时刻到当前时刻时间内的变化量。

在另一种可能的实现方式中,可以基于计数器的翻转周期数,以及计数器在本地时间初始化时刻的计数值和当前时刻的计数值,计算获得计数器在本地时间初始化时刻到当前时刻时间内的变化量。其具体执行方法可以参见步骤201中求解计数器1秒钟内变化量的示例,在这里不再赘述。

步骤302、基于所述计数器在所述时间内的变化量和所述计数器的所述晶振频率,确定偏差时间。

示例的,可以通过如下表达式计算获得偏差时间delta_s:

delta_s=delta_counter/freq

其中,delta_counter为计数器在本地时间初始化时刻到当前时刻时间内的变化量,freq为计数器的晶振频率。当然实际场景中计算偏差时间也可以不局限于上述示例的方法,也可以根据需要采用其他自定义的方法。

步骤303、基于所述偏差时间,对本地时间进行修正,获得当前时刻的时间。

可选的,在一种可能的实现方式中,可以直接利用如下表达式对本地时间进行修正,获得当前时刻的时间:

local_now=local_time+delta_s

其中,local_now为修正后得到的当前时刻的时间,local_time为修正前的本地时间。当然这里仅为示例说明而不是对本发明的唯一限定。

在另一种可能的实现方式中,可以基于偏差时间和预先确定的时间累积误差,对本地时间进行修正,获得当前时刻的准确时间,示例的,在这种方式中,求解当前时刻时间的表达式可以表示为如下形式:

local_now=local_time+delta_s+t_error_filter

其中,t_error_filter为预先确定的时间累积误差。

可选的,在本实施例中,当时间更新装置接收到utc之后,还可以基于接收到的utc以及接收到utc时的本地时间,更新上述方法涉及的时间累积误差。这其中可以接收到一次utc就更新一次时间累积误差,也可以根据预先设定的策略,每接收到预设数量的utc,更新一次本地的时间累积误差。

以每接收到预设数量的utc,更新一次时间累积误差为例,图4是本发明实施例提供的时间累积误差的更新方法的流程图,如图4所示,时间累积误差的更新方法包括:

步骤401、每接收到一个utc,计算一次本地的时间累积误差。

示例的,可以根据如下表达式计算本地的时间累积误差:

t_error=utc-local_time

其中,local_time为接收到utc时的本地时间,t_error为接收到utc时本地的时间累积误差。

可选的,若在接收到utc时,计算获得的时间累积误差的绝对值小于第一预设阈值,则确定本次接收到utc时对应的本地的时间累积误差为预设值(比如,“0”但不局限于0),并将本地的时间累积误差更新为预设值。

若在接收到utc时,计算获得的时间累积误差的绝对值大于或等于第一预设阈值,则确定本次接收到utc时对应的本地的时间累积误差等于接收到该utc之前的时间累积误差。

若在接收到utc时,计算获得的时间累积误差的绝对值大于第二预设阈值,则基于预设的时间累积误差与第二预设阈值之间的关联关系,确定当前本地的时间累积误差,并将本地的时间累积误差更新为确定获得的时间累积误差。其中,上述时间累积误差与第二预设阈值之间的关联关系可表示为:

t_error_now=sign(t_error)*limit

其中,t_error_now为当前本地的时间累积误差,t_error为接收到utc前本地的时间累积误差,limit为第二预设阈值(比如1秒,但不局限与1秒),sign()是取符号,正数为1,负数为-1。

若在接收到utc时,计算获得的时间累积误差的绝对值小于或等于第二预设阈值,则确定本次接收到utc时对应的本地的时间累积误差等于接收到该utc之前的时间累积误差。

步骤402、在接收到预设数量的utc后,对计算获得的预设数量的时间累积误差进行中值滤波处理,获得所述预设数量的时间累积误差的中值。

示例的,假设在接收到3个utc后更新本地的时间累积误差,其中,在接收到第一个utc时,计算的时间累积误差为t_error1,在接收到第二个utc时,计算的时间累积误差为t_error2,在接收到第三个utc时,计算的时间累积误差为t_error3,则进行中值滤波处理后得到的时间累积误差的中值为:t_error_filter=mid{t_error1t_error2t_error3}。

当然,虽然本实施例采用的中值滤波的方法,获得并更新本地的时间累积误差,但是实际中并不局限于中值滤波的方法,实际上,还可以在获得预设数量的时间累积误差后,根据求平均的方法来确定本地的时间累积误差。

步骤403、将本地的时间累积误差更新为所述中值。

本实施例提供的时间更新方法,即使时间更新装置因故收不到pps信号和utc,也能在较长一段时间内提供较高精度的时间,提高了时间更新的可靠性,另外,本实施例通过在接收到utc后确定并更新本地的时间累积误差,将时间累积误差作为时间更新的一个考虑因素,能够消除随时间累加导致的误差,提高时间更新的精确度。

可选的,本实施例还以直接获取计数器的两个以上的单位时间变化量,对计数器的两个以上的单位时间变化量进行求平均处理,获得计数器的晶振频率;基于该晶振频率,更新本地时间。其具体执行过程与上述方法实施例类似,在这里不再赘述。

本实施例提供的时间更新方法、处理器及可移动平台,通过获取至少两个计数器在第一预设时间内的变化量,并对获取到的至少两个变化量进行求平均处理,基于求平均的结果和第一预设时间确定计数器的晶振频率,从而根据确定获得的晶振频率更新本地时间。由于本实施例中是通过对获取到的至少两个两个变化量进行求平均处理,并根据求平均处理的结果和第一预设时间来确定计数器的晶振频率,因此能够隔离晶振个体的差异,以及温度对晶振频率的影响,保证了计时器晶振频率的准确性和实时性,从而根据该晶振频率更新本地时间时能够得到准确的本地时间,并且不需要借助专用的硬件电路,节约了安装硬件电路所需要的空间,降低了成本。

图5是本发明实施例提供的一种时间更新装置的结构示意图,该时间更新装置可以安装在任何具有时间计时和时间更新功能的设备上,尤其可以安装在无人机等可移动平台上。如图5所示,该时间更新装置50包括:一个或多个处理器51;所述一个或多个处理器单独或协同工作;所述处理器用于:获取计数器的至少两个在第一预设时间内的变化量;对所述至少两个变化量进行求平均处理;基于所述求平均处理的结果和所述第一预设时间,确定所述计数器的晶振频率;基于所述晶振频率,更新本地时间。

可选的,所述处理器51用于:获取计数器的三个以上的计数值,所述三个以上的计数值中包括至少两组计数值之间的时间间隔为第一预设时间,基于所述三个以上的计数值中的所述至少两组计数值,计算获得至少两个第一预设时间内的变化量。

可选的,处理器用于:分别获取计数器在两个以上的第一预设时间中的起始计数值和终止计数值;基于所述计数器在所述两个以上的第一预设时间中的起始计数值和终止计数值,计算获得至少两个第一预设时间内的变化量。

可选的,所述处理器51用于:获取所述计数器的翻转周期数,基于所述计数器在所述两个以上的第一预设时间中的起始计数值和终止计数值,以及所述计数器的翻转周期数,计算获得至少两个第一预设时间内的变化量。

可选的,所述处理器51用于:当获取到的所述第一预设时间的变化量的数量大于两个时,去除获取到的所有第一预设时间的变化量中的最大值和/或最小值,对去除最大值和/或最小值后剩余的第一预设时间的变化量进行求平均处理。

可选的,所述处理器51用于:对获取到的所述至少两个变化量中的目标变化量进行求平均处理,其中,所述目标变化量为数值大小在第一预设范围内的变化量。

可选的,所述处理器51用于:对本地时间进行初始化处理。

可选的,所述处理器51用于:在接收到秒脉冲pps信号之后的第二预设时间内接收发送设备发送的世界标准时间utc,所述utc对应所述pps信号上升沿或下降沿的时刻,将所述本地时间更新为所述utc。

可选的,所述处理器51用于:获取所述计数器在本地时间初始化时刻到当前时刻时间内的变化量,基于所述计数器在所述时间内的变化量和所述计数器的所述晶振频率,确定偏差时间,基于所述偏差时间,对本地时间进行修正,获得当前时刻的时间。

可选的,所述处理器51用于:基于所述计数器的翻转周期数,以及所述计数器在本地时间初始化时刻的计数值和当前时刻的计数值,计算获得所述计数器在本地时间初始化时刻到当前时刻时间内的变化量。

可选的,所述处理器51用于:基于所述偏差时间和预先确定的时间累积误差,对本地时间进行修正,获得当前时刻的时间。

可选的,所述处理器51用于:在接收到所述utc后,基于所述utc与接收到所述utc时的本地时间,更新本地的时间累积误差。

可选的,所述处理器51用于:每接收到预设数量的utc,更新一次本地的时间累积误差。

可选的,所述处理器51用于:每接收到一个utc,计算一次本地的时间累积误差,在接收到预设数量的utc后,对计算获得的预设数量的时间累积误差进行中值滤波处理,获得所述预设数量的时间累积误差的中值,将本地的时间累积误差更新为所述中值。

可选的,所述处理器51用于:在接收到utc时,若所述utc与接收到所述utc时的本地时间的差值绝对值小于第一预设阈值,则确定所述utc对应的时间累积误差等于预设值;若所述utc与接收到所述utc时的本地时间的差值绝对值大于或等于第一预设阈值,则所述utc对应的时间累积误差等于接收到所述utc之前的时间累积误差。

可选的,所述处理器51用于:在接收到utc时,若所述utc与接收到所述utc时的本地时间的差值绝对值大于第二预设阈值,则基于预设的时间累积误差与所述第二预设阈值之间的关联关系,确定所述utc对应的时间累积误差;若所述utc与接收到所述utc时的本地时间的差值绝对值小于或等于所述第二预设阈值,则所述utc对应的时间累积误差等于接收到所述utc之前的时间累积误差。

可选的,所述处理器51用于:基于预设周期更新本地时间,所述预设周期小于所述计数器的翻转周期数与所述计数器的晶振频率的比值。

本实施例提供的时间更新装置能够用于执行上述方法实施例的技术方案,其执行方式和有益效果类似,在这里不再赘述。

本发明还提供一种时间更新装置,该时间更新装置包括一个或多个处理器;所述一个或多个处理器单独或协同工作;

所述处理器用于:获取计数器的两个以上的单位时间变化量;对所述计数器的两个以上的单位时间变化量进行求平均处理,获得所述计数器的晶振频率;基于所述晶振频率,更新本地时间。

本实施例提供的时间更新装置能够用于执行上述方法实施例的技术方案,其执行方式和有益效果类似,在这里不再赘述。

图6是本发明实施例提供的一种可移动平台的结构示意图,如图6所示,可移动平台60包括如上述实施例所述的时间更新装置50。

本发明实施例还提供一种计算机可读存储介质,包括指令,当所述指令运行时,执行上述实施例的时间更新方法。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1