1.本发明涉及gnss卫星信号处理技术领域,尤其涉及一种提高授时精度的方法、系统、存储介质和电子设备。
背景技术:
2.gps授时系统授时原理是由每颗卫星上原子钟的铯和铷原子频标保持的。这些星钟一般来讲精确到世界协调时(utc)的几纳秒以内,utc是由海军观象台的“主钟”保持的,每台主钟的稳定性为若干个10-13秒。gps卫星早期采用两部铯频标和两部铷频标,后来逐步改变为更多地采用铷频标。通常,在任一指定时间内,每颗卫星上只有一台频标在工作。我们想要得到高精度的导航定位结果,就需要对时间测量得很准的设备,这个在卫星上主要是通过星载原子钟得到的,星载原子钟包括氢原子钟、铷钟等设备,原子钟的原理是:原子中的电子从一个能级跃迁到另一个能级的时候频率很稳定,以这个频率作为钟摆就能得到非常精准的时间。
3.这个时钟能够让各个卫星之间保持高精准的时间同步,并且各自的时间起始时刻能够对的很准。考虑到用户和卫星的钟差,所以通常至少需要四颗卫星才能实现导航定位,而当用户解算出来自己和卫星的钟差之后就可以校正自己本地的时钟,将其和卫星的非常精准的时钟同步到同一个时刻,这个过程也叫做授时。
4.gps授时原理是在任意时刻能同时接收其视野范围内4~8颗卫星的信号,其内部硬件电路和软件通过对接收到的信息进行编码和处理,能从中提取并输出两种时间信号:一个是间隔为1秒的同步脉冲信号1pps,其脉冲前沿与uct的同步误差不超过1ns,二是包括在串口输出信息中的uct绝对时间(年、月、日、时、分、秒),它是与1pps脉冲相对应的。一旦天线位置固定下来,gps授时只需要接收一颗卫星的信号变可维持其精密的时间输出。
5.现有技术及其缺点如下:
6.1)公开号cn108931915a、主题名称为“利用导航卫星的授时方法和装置、计算机可读存储介质”的发明专利,利用全球导航卫星系统来实现远距离、大范围内高精度时间同步。该专利探讨了钟差优化的方法,利用修正后的用户接收机钟差来对接收机本地时钟进行调整。没有考虑到接收机整秒输出中的量化误差对授时精度的影响。
7.2)公开号为cn110445571a、主题名称为“一种授时系统延时误差的补偿方法、系统、终端及存储介质”的发明专利,说明了系统延时的存在,并给出了利用系统时间对比utc时间,得到延时时间,并对其进行补偿修正的方法。其中标准时间的获取是通过移动智能终端经注册运营商网络获得,因此该方法获得的标准时间精度有限。
8.3)公开号为cn115453851a、主题名称为“基于bd3的多卫星综合授时方法、系统、设备及介质”的发明专利,利用bd3卫星实现综合授时,通过对所有bd3卫星进行组合,多轮迭代中遍历所有授时卫星组合,计算得出卫星的授时权重,然后根据卫星授时权重进行中断设备授时,并根据卫星授时权重计算组合授时误差,在达到最大迭代轮数是,筛选出用于终端设备授时的最优授时卫星组合。该方法给出了一种多卫星加权授时的方法,但是计算量
过大,并且没有考虑到授时系统内部的各种误差。
技术实现要素:
9.本发明所要解决的技术问题是针对现有技术的不足,提供了一种提高授时精度的方法、系统、存储介质和电子设备。
10.本发明的一种提高授时精度的方法的技术方案如下:
11.s1、利用本地时间系统获取当前时刻的本地维持时间和pvt解算时间,其中,使用压控振荡器代替本地的gnss系统中的温补振荡器,得到本地时间系统;
12.s2、计算当前时刻的本地维持时间和pvt解算时间之间的误差项;
13.s3、利用当前时刻的误差项计算得到当前时刻的pps频率;
14.s4、根据当前时刻的pps频率调整所述压控振荡器的控制电压,以使施加当前时刻的控制电压的压控振荡器生成时钟信号,对当前时刻的时钟信号进行处理,得到新的pps频率;
15.s5、利用新的pps频率更新当前时刻的本地维持时间,得到下一时刻的本地维持时间,获取下一时刻的pvt解算时间,并将下一时刻作为当前时刻,返回执行s2,并进行多次迭代,以降低误差项。
16.本发明的一种提高授时精度的系统的技术方案如下:
17.包括获取模块、第一计算模块、第二计算模块、控制处理模块、更新模块和迭代模块;
18.所述获取模块用于:利用本地时间系统获取当前时刻的本地维持时间和pvt解算时间,其中,使用压控振荡器代替本地的gnss系统中的温补振荡器,得到本地时间系统;
19.所述第一计算模块用于:计算当前时刻的本地维持时间和pvt解算时间之间的误差项;
20.所述第二计算模块用于:利用当前时刻的误差项计算得到当前时刻的pps频率;
21.所述控制处理模块用于:根据当前时刻的pps频率调整所述压控振荡器的控制电压,以使施加当前时刻的控制电压的压控振荡器生成时钟信号,对当前时刻的时钟信号进行处理,得到新的pps频率;
22.所述更新模块用于:利用新的pps频率更新当前时刻的本地维持时间,所述获取模块还用于:利用所述本地时间系统得到下一时刻的本地维持时间,获取下一时刻的pvt解算时间;
23.所述迭代模块用于:将下一时刻作为当前时刻,重新调用所述第一计算模块、所述第二计算模块、所述更新模块和所述获取模块,并进行多次迭代,以降低误差项。
24.本发明的一种存储介质,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如上述任一项所述的一种提高授时精度的方法。
25.本发明的一种电子设备,包括处理器和上述的存储介质,所述处理器执行所述存储介质中的指令。
26.本发明的技术效果如下:
27.通过使用压控振荡器vctcxo代替本地的gnss系统中的温补振荡器tcxo,作为本地的gnss系统中的时钟源,并利用当前时刻的误差项来调节压控振荡器vctcxo控制电压,以
使施加当前时刻的控制电压的压控振荡器生成时钟信号,对当前时刻的时钟信号进行处理,得到新的pps频率,然后进行迭代,以达到使本地时间系统即pps系统累加计时得到的整秒时刻与真实整秒完全对齐的目的,也就是说,经过多次迭代后,从理论上讲,能够从误差项中完全消除本地时间系统中的整数倍的pps时钟周期无法准确对应整秒时刻带来的量化误差,提高授时精度。
附图说明
28.通过阅读参照以下附图所作的对非限制性实施例的详细描述,本发明的其它特征、目的和优点将会变得更明显:
29.图1为本发明实施例的一种提高授时精度的方法的流程示意图之一;
30.图2为本发明实施例的一种提高授时精度的方法的流程示意图之二;
31.图3为本发明实施例的一种提高授时精度的系统的结构示意图。
具体实施方式
32.如图1所示,本发明实施例的一种提高授时精度的方法,包括如下步骤:
33.s1、利用本地时间系统获取当前时刻的本地维持时间和pvt解算时间,其中,使用压控振荡器代替本地的gnss系统中的温补振荡器,得到本地时间系统;
34.s2、计算当前时刻的本地维持时间和pvt解算时间之间的误差项;
35.s3、利用当前时刻的误差项计算得到当前时刻的pps频率;
36.s4、根据当前时刻的pps频率调整压控振荡器的控制电压,以使施加当前时刻的控制电压的压控振荡器生成时钟信号,对当前时刻的时钟信号进行处理,得到新的pps频率;
37.s5、利用新的pps频率更新当前时刻的本地维持时间,得到下一时刻的本地维持时间,获取下一时刻的pvt解算时间,并将下一时刻作为当前时刻,返回执行s2,并进行多次迭代,以降低误差项。
38.本发明通过使用压控振荡器vctcxo代替本地的gnss系统中的温补振荡器tcxo,作为本地的gnss系统中的时钟源,并利用当前时刻的误差项来调节压控振荡器vctcxo控制电压,以使施加当前时刻的控制电压的压控振荡器生成时钟信号,对当前时刻的时钟信号进行处理,得到新的pps频率,然后进行迭代,以达到使本地时间系统即pps系统累加计时得到的整秒时刻与真实整秒完全对齐的目的,也就是说,经过多次迭代后,从理论上讲,能够从误差项中完全消除本地时间系统中的整数倍的pps时钟周期无法准确对应整秒时刻带来的量化误差,提高授时精度。
39.可选地,在上述技术方案中,s4中,根据当前时刻的pps频率调整压控振荡器的控制电压,包括:
40.s41、根据当前时刻的pps频率得到当前时刻的电压调整量,根据当前时刻的电压调整量更新对压控振荡器的控制电压。
41.例如,根据当前时刻的pps频率得到当前时刻的电压调整量为5v,当前时刻的压控振荡器的控制电压为10v,根据当前时刻的电压调整量更新对压控振荡器的控制电压的过程为:将当前时刻的压控振荡器的控制电压调整为5
×
α 10,单位为v,其中,α为预设系数,具体α=0.1或0.2等,可根据实际情况设置。
42.可选地,在上述技术方案中,s4中,对当前时刻的时钟信号进行处理,得到新的pps频率,包括:
43.s42、将当前时刻的时钟信号进行m倍频和n分频,得到新的pps频率。
44.下面通过一个完整实施例对本发明的一种提高授时精度的方法进行阐述,如图2所示,包括:
45.s100、利用本地时间系统获取当前时刻的本地维持时间ppstime和pvt解算时间pvttime,其中,使用压控振荡器vctcxo代替本地的gnss系统中的温补振荡器tcxo,作为时钟源,由此得到本地时间系统;
46.s101、计算当前时刻的本地维持时间pvttime和pvt解算时间pvttime之间的误差项timeerr,当前时刻的本地维持时间pvttime和pvt解算时间pvttime之间的偏差即为误差项timeerr;
47.s102、利用当前时刻的误差项计算得到当前时刻的pps频率fpps_c;
48.s103、根据当前时刻的pps频率fpps_c调整压控振荡器的控制电压,具体地:
49.根据当前时刻的pps频率fpps_c得到当前时刻的电压调整量,根据当前时刻的电压调整量更新对压控振荡器vctcxo的控制电压,得到用于施加在压控振荡器vctcxo上的当前时刻的控制电压;
50.s104、在压控振荡器vctcxo上施加当前时刻的控制电压,以使施加当前时刻的控制电压的压控振荡器生成时钟信号;
51.s105、对当前时刻的时钟信号进行处理,得到新的pps频率,具体将当前时刻的时钟信号进行m倍频和n分频,得到新的pps频率。
52.s106、利用新的pps频率更新当前时刻的本地维持时间,得到下一时刻的本地维持时间,获取下一时刻的pvt解算时间,并将下一时刻作为当前时刻,返回执行s102,并进行多次迭代,以降低误差项。
53.从理论上讲,经过多次迭代,能够从误差项timeerr中完全消除整数倍的pps时钟周期无法准确对应整秒时刻带来的量化误差,提高授时精度。
54.需要说明的是,每次迭代均会降低误差项timeerr,具体迭代的次数并不固定,一般情况下,当多次迭代后,误差项timeerr会稳定在一定范围内,此时可认为已经最大程度上消除了整数倍的pps时钟周期无法准确对应整秒时刻带来的量化误差。
55.本发明人能够降低误差项timeerr,提高授时精度的原因,如下:
56.1)当前gnss授时技术具体实现的过程中,一般都是利用上一秒的设备锁存信息和时间信息,估算出实时设备pps时钟频率,利用其计算出下一整秒时刻pps脉冲输出对应的硬件计数值。该过程中,射频时钟源一般采用温补振荡器(temperature compensate x'tal(crystal)oscillator,tcxo)作为目标源,又称频率源,由于温补振荡器tcxo自身频率固定,同时稳定度有限,因此利用其得到的pps计数器的分辨率有限,且pps计数器计满时刻并不准确对应整秒时刻,存在误差。该误差使得pps脉冲精度变差。
57.通过改用压控振荡器(voltage controlled temperature compensate x'tal(crystal)oscillator,vctcxo),利用反馈环路即s2~s5的循环跌代微调其pps频率,使其pps计数器计满时刻准确对应整秒时刻,从而消除上述误差。
58.2)在gnss授时技术的实现过程中,gnss系统中有两套时间系统:解算时间和本地
时间系统时间。解算时间由模块利用观测量和星历信息进行pvt解算得到,其对应某一时刻的准确时间,但无法保证解算时间对应整秒时间;pps时间由模块内部计数器维护,同时每隔一段时间将其与解算时间进行比较,从而得到实时的pps频率(晶振短稳特性导致pps频率会缓慢漂移),并校准pps时间。利用校准时刻的pps时间和pps频率,即可得到pps计数阈值ppscntth,对于pps计数器,每经过1个pps周期(1/fpps),其计数值加一,当计数值累加到达预设阈值ppscntth后,计数值归零,并输出pps脉冲。
59.假设校准后的pps时间距离下一个整秒时刻的时间为t0,当前的pps频率为fpps_0,对应周期tpps_0=1/fpps_0。则可计算出到达整秒需要的pps周期为t0
×
fpps_0,由于周期计数为整数,因此需要对其进行四舍五入量化,int(t0
×
fpps_0 0.5),该值与计算值之间存在误差。误差模型可近似为(-1/(2
×
fpps_0),1/(2
×
fpps_0))之间均匀分布,因此可得误差方差为var1=tpps2/12。该误差影响授时精度,影响因素只与pps频率相关。
60.因此,在本发明中,使用vctcxo代替tcxo作为时钟源,在上述pps本地时间校准环节,通过利用上一秒的本地pps时间与pvt解算时间的误差,来反馈调节压控振荡器的频率,进而调整pps频率fpps_0,使t0
×
fpps_0逐渐接近整数,最终达到消除整数计数周期带来的误差的目的。
61.本发明的一种提高授时精度的方法,是一种利用反馈环路实时调整晶振频率来提高授时精度的方法,具体可应用到到卫星导航系统中系统时钟的生成和授时,有益效果如下:
62.1)针对gnss授时过程中,pps脉冲输出时刻与整秒时刻存在量化误差的现象,提出一种利用反馈环路实时调整晶振频率的方法,以期完全消除该量化误差,提高pps授时精度。该方法可以根本性的消除量化误差,有效提高pps授时精度。
63.2)通过使用vctcxo代替gnss系统中的时钟源tcxo,并利用上一秒的时间误差来调节vctcxo的输出时钟频率,以达到使pps系统累加计时得到的整秒时刻与真实整秒完全对齐的目的。该理论上方法可完全消除量化误差,提高授时精度。
64.在上述各实施例中,虽然对步骤进行了编号s1、s2等,但只是本技术给出的具体实施例,本领域的技术人员可根据实际情况调整s1、s2等的执行顺序,此也在本发明的保护范围内,可以理解,在一些实施例中,可以包含如上述各实施方式中的部分或全部。
65.如图3所示,本发明实施例的一种提高授时精度的系统200,包括获取模块210、第一计算模块220、第二计算模块230、控制处理模块240、更新模块250和迭代模块260;
66.获取模块210用于:利用本地时间系统获取当前时刻的本地维持时间和pvt解算时间,其中,使用压控振荡器代替本地的gnss系统中的温补振荡器,得到本地时间系统;
67.第一计算模块220用于:计算当前时刻的本地维持时间和pvt解算时间之间的误差项;
68.第二计算模块230用于:利用当前时刻的误差项计算得到当前时刻的pps频率;
69.控制处理模块240用于:根据当前时刻的pps频率调整压控振荡器的控制电压,以使施加当前时刻的控制电压的压控振荡器生成时钟信号,对当前时刻的时钟信号进行处理,得到新的pps频率;
70.更新模块250用于:利用新的pps频率更新当前时刻的本地维持时间,获取模块还用于:利用本地时间系统得到下一时刻的本地维持时间,获取下一时刻的pvt解算时间;
71.迭代模块260用于:将下一时刻作为当前时刻,重新调用第一计算模块、第二计算模块、更新模块和获取模块,并进行多次迭代,以降低误差项。
72.通过使用压控振荡器vctcxo代替本地的gnss系统中的温补振荡器tcxo,作为本地的gnss系统中的时钟源,并利用当前时刻的误差项来调节压控振荡器vctcxo控制电压,以使施加当前时刻的控制电压的压控振荡器生成时钟信号,对当前时刻的时钟信号进行处理,得到新的pps频率,然后进行迭代,以达到使本地时间系统即pps系统累加计时得到的整秒时刻与真实整秒完全对齐的目的,也就是说,经过多次迭代后,从理论上讲,能够从误差项中完全消除本地时间系统中的整数倍的pps时钟周期无法准确对应整秒时刻带来的量化误差,提高授时精度。
73.可选地,在上述技术方案中,控制处理模块240根据当前时刻的pps频率调整压控振荡器的控制电压的过程,包括:
74.根据当前时刻的pps频率得到当前时刻的电压调整量,根据当前时刻的电压调整量更新对压控振荡器的控制电压。
75.可选地,在上述技术方案中,控制处理模块240对当前时刻的时钟信号进行处理的过程,包括:
76.将当前时刻的时钟信号进行m倍频和n分频,得到新的pps频率。
77.上述关于本发明的一种提高授时精度的系统200中的各参数和各个单元模块实现相应功能的步骤,可参考上文中关于一种提高授时精度的方法的实施例中的各参数和步骤,在此不做赘述。
78.本发明实施例的一种存储介质,所述存储介质中存储有指令,当计算机读取所述指令时,使所述计算机执行如上述任一项所述的一种提高授时精度的方法。
79.本发明实施例的一种电子设备,包括处理器和上述的存储介质,所述处理器执行所述存储介质中的指令。其中,电子设备可以选用电脑、手机、gnss系统等。
80.所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。
81.因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
82.可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一一但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram),只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
83.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。