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

一种单星多历元校时方法、装置、计算机设备和存储介质与流程

2021-09-04 08:42:00 来源:中国专利 TAG:时方 接收 装置 卫星导航 计算机


1.本发明属于卫星导航接收技术领域,尤其涉及一种单星多历元校时方法、装置、计算机设备和存储介质。


背景技术:

2.随着现代社会的高速发展,对时间同步精确度的要求的不断提高,卫星授时研究及应用成为我国时频领域发展的重要趋势。卫星授时不仅在基础研究领域有重要的作用,在国防和国民经济建设中也有广泛的应用。而单星授时是卫星授时技术中比较简单的一种授时方法,是共视授时等一些授时方法的前提,所以,对单向授时的精度问题进行研究,可以提高北斗卫星的授时精度,有利于北斗卫星授时的后续展开工作。
3.单星授时是指在用户设备不发射信号的前提下,仅通过接收就可以获得高精度的系统时间。单星授时的目的是得到本地时钟与系统时间的时间差,即本地钟差,然后直接或间接将本地时间同步到系统时间。北斗单向授时获得的是本地时间与北斗的时间偏差。所以,本地钟差的精确水平直接影响了单星授时的精确水平。


技术实现要素:

4.针对以上技术问题,本发明提供一种可提高本地钟差的精确水平的单星多历元校时方法、装置、计算机设备和存储介质。
5.本发明解决其技术问题采用的技术方案是:
6.在一个实施例中,一种单星多历元校时方法,所述方法包括以下步骤:
7.步骤s100:获取单星卫星号,根据卫星号从预先存储的单向授时数据文件中提取所有历元单星的数据;
8.步骤s200:根据所有历元单星的数据计算得到各个历元单星的未考虑频差的本地钟差;
9.步骤s300:对各个历元单星的未考虑频差的本地钟差进行单位换算,获取频差相同的时间段的起始和终止时间,预先设置的滑动窗宽度内包含有预设数量的历元,根据所有历元单星的数据、换算后的各个历元单星的未考虑频差的本地钟差以及预设的滑动窗宽度内的各个历元通过滑动窗式得到预设的滑动窗宽度内的各个历元的频差,根据预设的滑动窗宽度内的各个历元的频差、起始和终止时间、预设的滑动窗内的各个历元和换算后的各个历元单星的未考虑频差的本地钟差得到频差相同的时间段内的各个历元的考虑频差后的本地钟差,完成校时。
10.优选地,所有历元单星的数据包括原始伪距、卫星位置、卫星钟差、电离层延迟改正、对流层延迟改正、地球自转改正、观测点位置。
11.优选地,步骤s200具体为:
[0012][0013]
其中,δt
rj
为各个历元未考虑频差的本地钟差,ρ'为原始伪距,(x,y,z)为观测点
的位置,x、y、z分别为观测点在x轴、y轴和z轴的位置,(x
j
,y
j
,z
j
)为卫星位置,x
j
、y
j
、z
j
分别为卫星在x轴、y轴和z轴的位置,δt
j
为卫星钟差,δ
ion
为电离层延迟改正,δ
tro
为对流层延迟改正,δρ为地球自转改正。
[0014]
优选地,步骤s300中根据所有历元单星的数据、换算后的各个历元的未考虑频差的本地钟差以及预设的滑动窗宽度内的各个历元通过滑动窗式得到预设的滑动窗宽度内的各个历元的频差具体为:
[0015]
x=(h
t
h)
‑1h
t
y
[0016]
其中,h矩阵中的δt
j
表示当前滑动窗内当前历元至第一个历元的时间间隔,x矩阵中的δf表示通过最小二乘法计算出的本地频差,y矩阵中的δt
r
'表示当前滑动窗内第一个历元未考虑频差时的本地钟差,y矩阵中的δt
rj
'表示各个历元考虑了对应的卫星钟差、电离层延迟改正、对流层延迟改正和地球自转改正后的本地钟差。
[0017]
优选地,步骤s300中根据预设的滑动窗宽度内的各个历元的频差、起始和终止时间、预设的滑动窗内的各个历元和换算后的各个历元的未考虑频差的本地钟差得到频差相同的时间段内的各个历元的考虑频差后的本地钟差,具体为:
[0018]
δt
rj
*=δt
r
(δt
×
δf)
[0019]
其中,δt
rj
*表示换算后的各个历元的未考虑频差的本地钟差,δt
r
为各个历元考虑频差后的本地钟差,δt表示当前滑动窗内当前历元与第一历元的时间差。
[0020]
优选地,步骤s300之后还包括:
[0021]
步骤s400:从预先存储的单向授时数据文件中提取已知钟差,根据考虑频差后的本地钟差和已知钟差得到钟差误差。
[0022]
优选地,步骤s400具体为:
[0023]
d_value=δt
r

δt
r
*
[0024]
其中,d_value表示钟差误差,δt
r
为各个历元考虑频差后的本地钟差,δt
r
*表示各个历元对应的已知钟差。
[0025]
在一个实施例中,一种单星多历元校时装置,装置包括:
[0026]
数据提取模块,用于获取单星卫星号,根据卫星号从预先存储的单向授时数据文件中提取所有历元单星的数据;
[0027]
本地钟差计算模块,用于根据所有历元单星的数据计算得到各个历元单星的未考虑频差的本地钟差;
[0028]
考虑频差后的本地钟差计算模块,用于对各个历元单星的未考虑频差的本地钟差进行单位换算,获取频差相同的时间段的起始和终止时间,预先设置的滑动窗宽度内包含有预设数量的历元,根据所有历元单星的数据、换算后的各个历元单星的未考虑频差的本地钟差以及预设的滑动窗宽度内的各个历元通过滑动窗式得到预设的滑动窗宽度内的各个历元的频差,根据预设的滑动窗宽度内的各个历元的频差、起始和终止时间、预设的滑动
窗内的各个历元和换算后的各个历元单星的未考虑频差的本地钟差得到频差相同的时间段内的各个历元的考虑频差后的本地钟差,完成校时。
[0029]
在一个实施例中,一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述方法的步骤。
[0030]
在一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
[0031]
上述一种单星多历元校时方法、装置、计算机设备和存储介质,由于频差一段时间内是不变的,因此在计算得到各个历元单星的未考虑频差的本地钟差的基础上,利用预设的滑动窗计算得到各个历元的频差,再滑动窗式消除各个历元之间的频差影响,就可以获得更加精确的本地钟差,实现对单星多历元的本地钟差的校时,有效提高了本地钟差的精确水平。
附图说明
[0032]
图1为本发明一实施例提供的单星多历元校时方法流程图;
[0033]
图2为本发明另一实施例提供的单星多历元校时方法流程图;
[0034]
图3为单星多历元本地钟差误差

时间图;
[0035]
图4为单星单历元本地钟差误差

时间图;
[0036]
图5为单星单历元、多历元本地钟差误差对比图;
[0037]
图6为验证单星多历元较单历元精度更高流程图。
具体实施方式
[0038]
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。
[0039]
在一个实施例中,如图1所示,一种单星多历元校时方法,方法包括以下步骤:
[0040]
步骤s100:获取单星卫星号,根据卫星号从预先存储的单向授时数据文件中提取所有历元单星的数据。
[0041]
具体地,单星授时是指在用户设备不发射信号的前提下,仅通过接收就可以获得高精度的系统时间。单星授时的目的是得到本地时钟与系统时间的时间差,即本地钟差,然后直接或间接将本地时间同步到系统时间。北斗单向授时获得的是本地时间与北斗的时间偏差。所以,本地钟差的精确水平直接影响了单星授时的精确水平。
[0042]
进一步地,所有历元单星的数据包括原始伪距、卫星位置、卫星钟差、电离层延迟改正、对流层延迟改正、地球自转改正和观测点位置。
[0043]
步骤s200:根据所有历元单星的数据计算得到各个历元单星的未考虑频差的本地钟差。
[0044]
具体地,利用单星多历元计算本地钟差是指根据单颗卫星的数据依次计算多个历元的本地钟差。由于观测点位置的坐标x、y、z已知,假设在历元t时刻,利用接收机在已知坐标的观测点位置上观测卫星s
j
,相应的伪距观测方程为:
[0045]
[0046]
其中,δt
rj
为各个历元单星的本地钟差,单位:米(已乘以光速进行转换),ρ'为原始伪距,(x,y,z)为观测点的位置,x、y、z为观测点在x轴、y轴和z轴的位置,单位:米,(x
j
,y
j
,z
j
)为卫星位置,x
j
、y
j
、z
j
分别为卫星在x轴、y轴和z轴的位置,单位:米,δt
j
为卫星钟差,单位:米(已乘以光速进行转换),δ
ion
为电离层延迟改正,δ
tro
为对流层延迟改正,δρ为地球自转改正。
[0047]
因为受地球自转的影响,在卫星信号发射时刻对应的地固坐标系和信号被接收机接收的时刻对应的地固坐标系是不一样的,因此原始伪距应加上地球自转改正。
[0048]
所以在顾及其他误差影响的前提下历元t时刻接收机的本地钟差为:
[0049][0050]
其中,δt
rj
为各个历元未考虑频差的本地钟差,ρ'为原始伪距,x、y、z为观测点位置,x
j
、y
j
、z
j
为卫星位置,δt
j
为卫星钟差,δ
ion
为电离层延迟改正,δ
tro
为对流层延迟改正,δρ为地球自转改正。
[0051]
步骤s300:对各个历元单星的未考虑频差的本地钟差进行单位换算,获取频差相同的时间段的起始和终止时间,预先设置的滑动窗宽度内包含有预设数量的历元,根据所有历元单星的数据、换算后的各个历元单星的未考虑频差的本地钟差以及预设的滑动窗宽度内的各个历元通过滑动窗式得到预设的滑动窗宽度内的各个历元的频差,根据预设的滑动窗宽度内的各个历元的频差、起始和终止时间、预设的滑动窗内的各个历元和换算后的各个历元单星的未考虑频差的本地钟差得到频差相同的时间段内的各个历元的考虑频差后的本地钟差,完成校时。
[0052]
具体地,需要将本地钟差的单位由米换算成秒。频差是指接收机处接收到的频率与发射信号频率之间存在一个频差,该频差的大小与物体相对于接收机的运动方向有关,而且运动速度越高,频差就越大。所以每过一段时间,就得消除一次频差带来的影响。
[0053]
在一个实施例中,步骤s300中对各个历元的未考虑频差的本地钟差进行单位换算,具体为:
[0054]
δt
rj
*=δt
rj
÷
c
[0055]
其中,δt
rj
为各个历元未考虑频差的本地钟差,δt
rj
*表示换算后的未考虑频差的本地钟差,c为光速,取值299792458.458m/s。
[0056]
在一个实施例中,步骤s300中根据所有历元单星的数据、换算后的各个历元的未考虑频差的本地钟差以及预设的滑动窗宽度内的各个历元通过滑动窗式得到预设的滑动窗宽度内的各个历元的频差具体为:
[0057]
x=(h
t
h)
‑1h
t
y
[0058]
其中,h矩阵中的δt
j
表示当前滑动窗内当前历元至第一个历元的时间间隔,x矩阵中的δf表示通过最小二乘法计算出的本地频差,y矩阵中的δt
r
'表示当前滑动窗内第一个历元未考虑频差时的本地钟差,y矩阵中的δt
rj
'表示各个历元考虑了对应的卫星钟差、电离层延迟改正、对流层延迟改正和地球自转
改正后的本地钟差。
[0059]
具体地,在单星单历元本地钟差计算的基础上再消除各个历元之间的频差影响,就可以获得更加精确的本地钟差即考虑频差后的本地钟差。由于频差一段时间内是不变的,利用宽度为n的滑动窗计算滑动窗内各个历元的频差,进一步地,虽然频差在一段时间内总体是不变的,但是会有细微变化,因此,滑动窗每向后滑动一次,就重新计算当前滑动窗内的各个历元的频差,这样得到的频差更为精确,经测试,在该示例中滑动窗宽度n为30个历元是较为精确的,但具体宽度要依据具体情况而定,通过上式滑动窗式计算可以求得频差不变的时间段内滑动窗内的各个历元的频差δf的值。
[0060]
在一个实施例中,步骤s300中根据预设的滑动窗宽度内的各个历元的频差、起始和终止时间、预设的滑动窗内的各个历元和换算后的各个历元的未考虑频差的本地钟差得到频差相同的时间段内的各个历元的考虑频差后的本地钟差,具体为:
[0061]
δt
rj
*=δt
r
(δt
×
δf)
[0062]
其中,δt
rj
*表示换算后的各个历元的未考虑频差的本地钟差,δt
r
为各个历元考虑频差后的本地钟差,δt表示当前滑动窗内当前历元与第一历元的时间差。
[0063]
具体地,得到频差后,根据该频差计算得到当前滑动窗内第二个历元考虑频差后的本地钟差,滑动窗向后移动,再次求得当前滑动窗内第二个历元考虑频差后的本地钟差,同理,依次求得频差相同的时间段内的各个历元考虑频差后的本地钟差,进一步地,在本实施例中,30个历元为滑动窗的宽度,利用这30个历元根据频差计算方法计算出该三十个历元的频差,该频差用于消除这30个历元中第二个历元频差带来的影响,随后滑动窗向后移动,继续计算下一个30个历元的频差,用于消除下一个30个历元中第二个历元频差带来的影响,直至把频差相同的时间段内的历元计算完毕,从而完成校时。
[0064]
在一个实施例中,如图2所示,步骤s300之后还包括:
[0065]
步骤s400:从预先存储的单向授时数据文件中提取已知钟差,根据考虑频差后的本地钟差和已知钟差得到钟差误差。
[0066]
在一个实施例中,步骤s400具体为:
[0067]
d_value=δt
r

δt
r
*
[0068]
其中,d_value表示钟差误差,δt
r
为各个历元考虑频差后的本地钟差,δt
r
*表示各个历元对应的已知钟差。对应的单星多历元本地钟差误差

时间图如图3所示,根据各个历元未考虑频差后的本地钟差与各个历元对应的已知钟差,可得到单星单历元本地钟差误差,如图4所示。
[0069]
具体地,由此可以看出,接收机的伪距测量精度、观测测站已知的位置精度、卫星的位置精度、卫星钟差的精度、对流层延迟改正以及电离层延迟改正的精度等是接收机钟差的精度水平的主要影响因素。
[0070]
在一个实施例中,如图5、6所示,由单星单历元本地钟差计算原理、单星多历元本地钟差计算原理计算得到单星单历元和单星多历元的本地钟差误差,根据同一时间段内单星单历元的本地钟差、单星多历元的本地钟差和已知钟差分别得到单星单历元本地钟差误差和单星多历元本地钟差误差,对比其误差可知单星多历元较单星单历元精确度更高。
[0071]
上述单星多历元校时方法,由于频差在一段时间内是不变的,因此在计算得到各个历元单星的未考虑频差的本地钟差的基础上,利用预设的滑动窗计算得到当前滑动窗内
各个历元的频差,再滑动窗式消除各个历元之间的频差影响,就可以获得更加精确的本地钟差,实现对单星多历元的本地钟差的校时,可有效提高本地钟差的精确水平。
[0072]
在一个实施例中,一种单星多历元校时装置,装置包括数据提取模块、本地钟差计算模块和考虑频差后的本地钟差计算模块,
[0073]
数据提取模块,用于获取单星卫星号,根据卫星号从预先存储的单向授时数据文件中提取所有历元单星的数据;
[0074]
各个历元单星的本地钟差计算模块,用于根据所有历元单星的数据计算得到各个历元单星的未考虑频差的本地钟差;
[0075]
考虑频差后的钟差计算模块,用于对各个历元单星的未考虑频差的本地钟差进行单位换算,获取频差相同的时间段的起始和终止时间,预先设置的滑动窗宽度内包含有预设数量的历元,根据所有历元单星的数据、换算后的各个历元单星的未考虑频差的本地钟差以及预设的滑动窗宽度内的各个历元通过滑动窗式得到预设的滑动窗宽度内的各个历元的频差,根据预设的滑动窗宽度内的各个历元的频差、起始和终止时间、预设的滑动窗内的各个历元和换算后的各个历元单星的未考虑频差的本地钟差得到频差相同的时间段内的各个历元的考虑频差后的本地钟差,完成校时。
[0076]
关于单星多历元校时装置的具体限定可以参见上文中对于单星多历元校时方法的限定,在此不再赘述。上述单星多历元校时装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0077]
在一个实施例中,一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现单星多历元校时方法的步骤。
[0078]
在一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现单星多历元校时方法的步骤。
[0079]
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计
算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0080]
以上对本发明所提供的一种单星多历元校时方法、装置、计算机设备和存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜