一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种晶振时钟修正方法、装置、设备和介质与流程

2021-11-22 13:45:00 来源:中国专利 TAG:


1.本技术涉及时钟修正技术领域,尤其涉及一种晶振时钟修正方法、装置、设备和介质。


背景技术:

2.当前电力系统授时源主要有gps时钟、北斗时钟以及晶振时钟,单一时钟源授时,会出现授时精度不足、授时稳定性差、安全性不足等问题,因此,需要将各时钟源的优点结合,补齐授时短板,最终实现精度更高、完全性更强、稳定性更好的对时服务。
3.若直接采用gps或北斗卫星导航系统作为对时网络的时钟源,由于卫星信号可靠性较差,不足以保障计时的稳定性,所以需要设计高精度时钟。一般情况下,卫星时钟的秒脉冲只会产生单个的随机误差,且误差符合正态分布。从统计意义上来看,无累计误差。而晶振秒时钟与之相反,在短时间内非常稳定,几乎没有单个随机误差,但因为温度、老化等原因,长期运行会产生较大的累计误差。这种“卫星时钟没有累计误差和晶振时钟没有随机误差”的特性,可以称之为卫星时钟与晶振时钟的误差互补特性。传统的修正晶振时钟的方法是通过gps对晶振校频存在校正准确性不高的问题。


技术实现要素:

4.本技术提供了一种晶振时钟修正方法、装置、设备和介质,用于改善现有技术通过gps对晶振校频存在校正准确性不高的技术问题。
5.有鉴于此,本技术第一方面提供了一种晶振时钟修正方法,包括:
6.获取当前时刻的晶振时钟与卫星时钟的误差序列,其中,所述误差序列中的误差数据包括卫星时钟的随机误差和晶振时钟的累计误差;
7.对所述误差序列进行滤波处理,以滤除所述误差序列中的卫星时钟的随机误差,得到当前时刻的滤波后误差序列;
8.将当前时刻的所述滤波后误差序列输入到预置误差预测模型中进行晶振时钟误差预测,得到下一时刻的晶振时钟的误差预测值;
9.根据下一时刻的晶振时钟的所述误差预测值对下一时刻的晶振时钟进行修正,得到下一时刻的修正后晶振时钟。
10.可选的,所述获取当前时刻的晶振时钟与卫星时钟的误差序列,包括:
11.获取晶振时钟距离当前时刻最近的若干个误差值,并根据晶振时钟的误差值计算晶振时钟的累计误差;
12.通过高频振荡计数信号测量出距离当前时刻最近的若干个修正前后的卫星时钟的相位差,并根据晶振时钟的所述累计误差和所述相位差计算距离当前时刻最近的晶振时钟与卫星时钟的误差;
13.结合距离当前时刻最近的晶振时钟与卫星时钟的若干个误差生成当前时刻的晶振时钟与卫星时钟的误差序列。
14.可选的,所述对所述误差序列进行滤波处理,以滤除所述误差序列中的卫星时钟的随机误差,得到当前时刻的滤波后误差序列,包括:
15.采用小波变换对所述误差序列进行滤波处理,以滤除所述误差序列中的卫星时钟的随机误差,得到当前时刻的滤波后误差序列。
16.可选的,所述小波变换采用的小波函数为9阶db6函数。
17.可选的,所述预置误差预测模型的训练过程为:
18.根据晶振时钟与卫星时钟的历史误差序列获取训练样本,所述训练样本的标签为该训练样本中的历史误差训练所在时刻的下一时刻的实际频率误差;
19.通过所述训练样本训练径向基函数神经网络,得到该训练样本在下一时刻的频率误差预测值;
20.根据所述训练样本在下一时刻的频率误差预测值和实际频率误差计算损失值;
21.通过所述损失值更新所述径向基函数神经网络的网络参数,直至所述径向基函数神经网络收敛,将训练好的径向基函数神经网络作为预置误差预测模型。
22.本技术第二方面提供了一种晶振时钟修正装置,包括:
23.获取单元,用于获取当前时刻的晶振时钟与卫星时钟的误差序列,其中,所述误差序列中的误差数据包括卫星时钟的随机误差和晶振时钟的累计误差;
24.滤波单元,用于对所述误差序列进行滤波处理,以滤除所述误差序列中的卫星时钟的随机误差,得到当前时刻的滤波后误差序列;
25.预测单元,用于将当前时刻的所述滤波后误差序列输入到预置误差预测模型中进行晶振时钟误差预测,得到下一时刻的晶振时钟的误差预测值;
26.修正单元,用于根据下一时刻的晶振时钟的所述误差预测值对下一时刻的晶振时钟进行修正,得到下一时刻的修正后晶振时钟。
27.可选的,所述获取单元具体用于:
28.获取晶振时钟距离当前时刻最近的若干个误差值,并根据晶振时钟的误差值计算晶振时钟的累计误差;
29.通过高频振荡计数信号测量出距离当前时刻最近的若干个修正前后的卫星时钟的相位差,并根据晶振时钟的所述累计误差和所述相位差计算距离当前时刻最近的晶振时钟与卫星时钟的误差;
30.结合距离当前时刻最近的晶振时钟与卫星时钟的若干个误差生成当前时刻的晶振时钟与卫星时钟的误差序列。
31.可选的,所述滤波单元具体用于:
32.采用小波变换对所述误差序列进行滤波处理,以滤除所述误差序列中的所述卫星时钟的随机误差,得到滤波后误差序列。
33.本技术第三方面提供了一种晶振时钟修正设备,所述设备包括处理器以及存储器;
34.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
35.所述处理器用于根据所述程序代码中的指令执行第一方面任一种所述的晶振时钟修正方法。
36.本技术第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于
存储程序代码,所述程序代码被处理器执行时实现第一方面任一种所述的晶振时钟修正方法。
37.从以上技术方案可以看出,本技术具有以下优点:
38.本技术提供了一种晶振时钟修正方法,包括:获取当前时刻的晶振时钟与卫星时钟的误差序列,其中,误差序列中的误差数据包括卫星时钟的随机误差和晶振时钟的累计误差;对误差序列进行滤波处理,以滤除误差序列中的卫星时钟的随机误差,得到当前时刻的滤波后误差序列;将当前时刻的滤波后误差序列输入到预置误差预测模型中进行晶振时钟误差预测,得到下一时刻的晶振时钟的误差预测值;根据下一时刻的晶振时钟的误差预测值对下一时刻的晶振时钟进行修正,得到下一时刻的修正后晶振时钟。
39.本技术中,考虑到卫星时钟的随机误差,在获取到误差序列后,对其进行滤波处理,以滤除该误差序列中卫星时钟的随机误差,有助于提高后续模型对晶振时钟的误差的预测准确性,在得到当前时刻滤波后误差序列后,通过预置误差预测模型对当前时刻滤波后误差序列进行处理来预测下一时刻的晶振时钟的误差预测值,进而通过下一时刻的晶振时钟的误差预测值对下一时刻的晶振时钟进行修正,改善了现有技术通过gps对晶振校频存在校正准确性不高的技术问题。
附图说明
40.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
41.图1为本技术实施例提供的一种晶振时钟修正方法的一个流程示意图;
42.图2为本技术实施例提供的一种多源授时系统;
43.图3为本技术实施例提供的一种卫星时钟误差曲线;
44.图4为本技术实施例提供的一种晶振时钟误差曲线;
45.图5为本技术实施例提供的一种结合后的卫星时钟与晶振时钟的误差曲线;
46.图6为本技术实施例提供的一种9阶db6小波滤波效果图;
47.图7为本技术实施例提供的一种晶振时钟修正装置的一个结构示意图。
具体实施方式
48.本技术提供了一种晶振时钟修正方法、装置、设备和介质,用于改善现有技术通过gps对晶振校频存在矫正准确性不高的技术问题。
49.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.为了便于理解,请参阅图1,本技术提供的一种晶振时钟修正方法的一个实施例,包括:
51.步骤101、获取当前时刻的晶振时钟与卫星时钟的误差序列,其中,误差序列中的
误差数据包括卫星时钟的随机误差和晶振时钟的累计误差。
52.本技术实施例中,基于北斗和gps卫星授时模块搭建授时系统,多授时源形成互备,保障在单授时源故障时仍能可靠精确授时,避免授时系统出现混乱,具体可以参考图2。将晶振时钟与卫星时钟的秒时钟进行相位比较,得到对应的秒脉冲时间间隔数据,由多个秒脉冲时间间隔数据生成的序列即为晶振时钟与卫星时钟的误差序列,该误差序列中的误差数据包括卫星时钟的随机误差和晶振时钟的累计误差。误差序列的具体获取过程为:
53.s1011、获取晶振时钟距离当前时刻最近的若干个误差值,并根据晶振时钟的误差值计算晶振时钟的累计误差。
54.恒温晶振通过处理后将会产生高频计数的信号,频率设为f0。频率高则计数较为精确,可以采用100mhz的频率。先由计数器对信号进行计数,然后用比较器与比较值s来对比,当计数值与比较值相等时,输出修正后的秒脉冲s信号,同时计数器清零。cpu的设定的比较值s
n
为(其中,首次比较值设置为f0):
55.s
n
=f0 c
n

56.式中,c
n
为当前时刻下晶振时钟的误差值。
57.获取cpu中存储的距离当前时刻最近的n个晶振时钟的误差值,得到晶振时钟的误差值序列为c1,c2,c3,...,c
x
,...,c
n

58.用校准过的秒时钟为标准,晶振时钟在历史时刻第x秒的累计误差μ

(x)为:
[0059][0060]
s1012、通过高频振荡计数信号测量出距离当前时刻最近的若干个修正前后的卫星时钟的相位差,并根据晶振时钟的累计误差和相位差计算距离当前时刻最近的晶振时钟与卫星时钟的误差。
[0061]
采用高频振荡计数信号测量出距离当前时刻最近的若干个修正前后的卫星时钟的相位差φ,φ反映出卫星时钟秒脉冲的随机误差,采用cpu读取距离当前时刻最近的n个随机误差,得到随机误差序列φ1,φ2,φ3,...,φ
x
,...,φ
n

[0062]
根据晶振时钟的累计误差和修正前后的卫星时钟的相位差计算距离当前时刻最近的晶振时钟与卫星时钟的误差,其中,第x秒的误差y
x
为:
[0063][0064]
s1013、结合距离当前时刻最近的晶振时钟与卫星时钟的若干个误差生成当前时刻的晶振时钟与卫星时钟的误差序列。
[0065]
结合距离当前时刻最近的n个晶振时钟与卫星时钟的误差,得到误差序列y1,y2,y3,...,y
x
,...,y
n

[0066]
步骤102、对误差序列进行滤波处理,以滤除误差序列中的卫星时钟的随机误差,得到当前时刻的滤波后误差序列。
[0067]
可以采用小波变换对误差序列进行滤波处理,以滤除误差序列中的卫星时钟的随机误差,从而提取出晶振频率误差特性的近似曲线。可以在matlab软件中调用小波包中的dbn函数进行滤波,对所采用的小波函数可以依据最小均方误差(mse)来作为评判小波滤波效果的主要方式,mse的表达式如下所示:
[0068][0069]
式中,y
i
为实际情况下的滤波后误差序列中的第i个误差值,为理想状态下的滤波后误差序列中的第i个误差值。
[0070]
在确定滤波函数时,可以选择滤波前的误差序列和没有随机误差的实际晶振误差序列,即理想状态下的滤波后误差序列;采用若干个小波函数对误差序列进行滤波处理,得到若干个滤波后误差序列;计算各误差序列对应的滤波后误差序列和理想状态下滤波后误差序列的均方误差值;选择最小的均方误差值对应的滤波函数作为最优的滤波函数,用来对误差序列进行滤波处理。本技术实施例筛选得到小波函数为9阶db6函数的滤波效果最佳。
[0071]
本技术实施例中采用的授时系统为于北斗/gps卫星授时模块进行搭建的多源授时系统,在传统gps卫星授时系统的基础上加入了北斗卫星授时系统,可以保证在gps系统关闭或不正常运行时,仍可依靠北斗卫星授时系统进行可靠精确的计时;并且在预测误差时,抛开传统的卫星时钟对晶振校频的方法,采用先滤波再预测,进而根据误差预测值修正晶振时钟,提高修正准确性。
[0072]
步骤103、将当前时刻的滤波后误差序列输入到预置误差预测模型中进行晶振时钟误差预测,得到下一时刻的晶振时钟的误差预测值。
[0073]
本技术实施例中,预置误差预测模型的训练过程为:
[0074]
根据晶振时钟与卫星时钟的历史误差序列获取训练样本,训练样本的标签为该训练样本中的历史误差训练所在时刻的下一时刻的实际频率误差;
[0075]
通过训练样本训练径向基函数神经网络,得到该训练样本在下一时刻的频率误差预测值;
[0076]
根据训练样本在下一时刻的频率误差预测值和实际频率误差计算损失值;
[0077]
通过损失值更新径向基函数神经网络的网络参数,直至径向基函数神经网络收敛,将训练好的径向基函数神经网络作为预置误差预测模型。
[0078]
本技术实施例中,判断径向基函数神经网络是否收敛,可以根据训练的迭代次数是否达到预设的最大迭代次数来确定径向基函数神经网络是否收敛,也可以根据径向基函数神经网络的训练误差是否小于预设误差阈值来确定径向基函数神经网络是否收敛,还可以根据径向基函数神经网络的训练准确率是否达到预设准确率阈值来确定径向基函数神经网络是否收敛。本领域技术人员可以根据实际情况来选择收敛条件,在此不做具体限定。
[0079]
在得到预置误差预测模型后,将当前时刻的滤波后误差序列输入到预置误差预测模型中进行晶振时钟误差预测,得到下一时刻的晶振时钟的误差预测值。
[0080]
步骤104、根据下一时刻的晶振时钟的误差预测值对下一时刻的晶振时钟进行修正,得到下一时刻的修正后晶振时钟。
[0081]
在得到下一时刻的晶振时钟的误差预测值后,可以对下一时刻的晶振时钟进行在线修正,得到下一时刻的修正后晶振时钟。
[0082]
本技术实施例中,考虑到卫星时钟的随机误差,在获取到误差序列后,对其进行滤波处理,以滤除该误差序列中卫星时钟的随机误差,有助于提高后续模型对晶振时钟的误
差的预测准确性,在得到当前时刻滤波后误差序列后,通过预置误差预测模型对当前时刻滤波后误差序列进行处理来预测下一时刻的晶振时钟的误差预测值,进而通过下一时刻的晶振时钟的误差预测值对下一时刻的晶振时钟进行修正,改善了现有技术通过gps对晶振校频存在校正准确性不高的技术问题。
[0083]
以上为本技术提供的一种晶振时钟修正方法的一个实施例,以下为本技术提供的一种晶振时钟修正方法的一个具体应用例。
[0084]
在matlab中构建卫星时钟误差曲线和晶振时钟误差曲线,将卫星时钟误差曲线和晶振时钟误差曲线结合得到晶振时钟与卫星时钟的误差曲线。其中,生成的曲线采用2000组数据,卫星时钟误差曲线服从n(0,100)的正态分布规律,可以参考图3,而晶振时钟误差曲线采用曲线y=x
a
,a=0.5,可以参考图4。将两者结合生成晶振时钟与卫星时钟的误差曲线,请参考图5。
[0085]
在matlab中调用小波包中的9阶db6函数对振时钟与卫星时钟的误差曲线进行滤波,以去除该误差曲线中的卫星时钟误差,得到滤波后误差曲线,9阶db6函数的滤波效果图请参考图6。
[0086]
将滤波后误差曲线作为径向基函数神经网络的训练样本对径向基函数神经网络进行训练,通过训练好的径向基函数神经网络预测下一时刻的晶振的频率误差,通过预测得到的下一时刻的晶振的频率误差预测值对下一时刻的晶振时钟进行修正,得到下一时刻的修正后晶振时钟。
[0087]
以上为本技术实施例提供的一种晶振时钟修正方法的一个具体应用例,以下为本技术提供的一种晶振时钟修正装置的一个实施例。
[0088]
请参考图7,本技术实施例提供的一种晶振时钟修正装置,包括:
[0089]
获取单元,用于获取当前时刻的晶振时钟与卫星时钟的误差序列,其中,误差序列中的误差数据包括卫星时钟的随机误差和晶振时钟的累计误差;
[0090]
滤波单元,用于对误差序列进行滤波处理,以滤除误差序列中的卫星时钟的随机误差,得到当前时刻的滤波后误差序列;
[0091]
预测单元,用于将当前时刻的滤波后误差序列输入到预置误差预测模型中进行晶振时钟误差预测,得到下一时刻的晶振时钟的误差预测值;
[0092]
修正单元,用于根据下一时刻的晶振时钟的误差预测值对下一时刻的晶振时钟进行修正,得到下一时刻的修正后晶振时钟。
[0093]
作为进一步地改进,获取单元具体用于:
[0094]
获取晶振时钟距离当前时刻最近的若干个误差值,并根据晶振时钟的误差值计算晶振时钟的累计误差;
[0095]
通过高频振荡计数信号测量出距离当前时刻最近的若干个修正前后的卫星时钟的相位差,并根据晶振时钟的累计误差和相位差计算距离当前时刻最近的晶振时钟与卫星时钟的误差;
[0096]
结合距离当前时刻最近的晶振时钟与卫星时钟的若干个误差生成当前时刻的晶振时钟与卫星时钟的误差序列。
[0097]
作为进一步地改进,滤波单元具体用于:
[0098]
采用小波变换对误差序列进行滤波处理,以滤除误差序列中的卫星时钟的随机误
差,得到滤波后误差序列。
[0099]
本技术实施例中,考虑到卫星时钟的随机误差,在获取到误差序列后,对其进行滤波处理,以滤除该误差序列中卫星时钟的随机误差,有助于提高后续模型对晶振时钟的误差的预测准确性,在得到当前时刻滤波后误差序列后,通过预置误差预测模型对当前时刻滤波后误差序列进行处理来预测下一时刻的晶振时钟的误差预测值,进而通过下一时刻的晶振时钟的误差预测值对下一时刻的晶振时钟进行修正,改善了现有技术通过gps对晶振校频存在校正准确性不高的技术问题。
[0100]
本技术实施例还提供了一种晶振时钟修正设备,设备包括处理器以及存储器;
[0101]
存储器用于存储程序代码,并将程序代码传输给处理器;
[0102]
处理器用于根据程序代码中的指令执行前述方法实施例中任一项的晶振时钟修正方法。
[0103]
本技术实施例还提供了一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码被处理器执行时实现前述方法实施例中的晶振时钟修正方法。
[0104]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0105]
本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0106]
应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0107]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0108]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0109]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0110]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read

only memory,英文缩写:rom)、随机存取存储器(英文全称:random access memory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0111]
以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献