本发明涉及卫星导航技术领域,特别涉及一种卫星授时方法和装置、计算机可读存储介质。
背景技术
随着现代科技信息技术的快速发展,军事、航天、深空探测、通信、交通、电力、金融、国防等各行各业,对时间和频率的精度要求越来越高,高精度时间基准已经成为通信、电力、广播电视、安防监控、工业控制等领域的基础保障平台之一。采用全球导航卫星系统(globalnavigationsatellitesystem,gnss)卫星授时是目前远距离、大范围内高精度时间同步最有效的方式。
通常卫星授时装置采用单系统单频配置,如采用gps的l1频点(1575.42mhz)进行授时,这种卫星授时装置的授时精度不高,不能满足5g通信对授时精度的要求,其主要原因是电离层延时误差通过克罗布歇(klobuchar)模型来计算,电离层的模型值与真值之间存在一定的误差,导致接收机钟差的计算存在误差,进而导致秒脉冲(pulsepersecond,pps)的精度不高。
技术实现要素:
为了解决上述技术问题,本发明提供了一种卫星授时方法和装置、计算机可读存储介质,能够提升接收机钟差的精度。
为了达到本发明目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种卫星授时方法,包括:
获取两颗或两颗以上的卫星观测信息,利用获取的卫星观测信息计算影响伪距观测量的各误差项,并利用伪距观测量和预设的接收机坐标计算卫星到接收机的几何距离;
利用预先建立的观测方程以及计算出的各误差项、卫星到接收机的几何距离联合计算接收机钟差和电离层误差系数;
根据计算出的接收机钟差对接收机本地时钟进行调整。
进一步地,所述方法之前还包括:建立所述观测方程;所述观测方程包括:
其中,变量z=p-ρ+c·dts-t,p为伪距观测量,单位为米;ρ为卫星到接收机的几何距离;c为光速;dts为卫星钟差,t为对流层延迟;
变量δt=c·dtr,dtr为接收机钟差;
变量iklobuchar为根据克罗布歇模型计算出的电离层延迟模型值,变量k为电离层误差系数。
进一步地,所述利用预先建立的观测方程以及计算出的各误差项、卫星到接收机的几何距离联合计算接收机钟差和电离层误差系数之前,所述方法还包括:
利用载波相位观测量平滑伪距观测量,以减少伪距观测量中的观测噪声。
进一步地,所述联合计算接收机钟差和电离层误差系数的方法为最小二乘法或者卡尔曼滤波法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的卫星授时方法的步骤。
本发明实施例还提供了一种卫星授时装置,包括第一计算模块、第二计算模块和授时模块,其中:
第一计算模块,用于获取两颗或两颗以上的卫星观测信息,利用获取的卫星观测信息计算影响伪距观测量的各误差项,并利用伪距观测量和预设的接收机坐标计算卫星到接收机的几何距离,将计算出的各误差项、卫星到接收机的几何距离输出至第二计算模块;
第二计算模块,用于利用预先建立的观测方程以及计算出的各误差项、卫星到接收机的几何距离联合计算接收机钟差和电离层误差系数,将计算出的接收机钟差输出至授时模块;
授时模块,用于根据计算出的接收机钟差对接收机本地时钟进行调整。
进一步地,所述预先建立的观测方程为:
其中,变量z=p-ρ+c·dts-t,p为伪距观测量,单位为米;ρ为卫星到接收机的几何距离;c为光速;dts为卫星钟差,t为对流层延迟;
变量δt=c·dtr,dtr为接收机钟差;
变量iklobuchar为根据克罗布歇模型计算出的电离层延迟模型值,变量k为电离层误差系数。
进一步地,所述第一计算模块还用于:
利用载波相位观测量平滑伪距观测量,以减少伪距观测量中的观测噪声。
进一步地,所述第二计算模块的联合计算接收机钟差和电离层误差系数的方法为最小二乘法或者卡尔曼滤波法。
本发明的技术方案,具有如下有益效果:
本发明提供的卫星授时方法和装置、计算机可读存储介质,通过预先建立观测方程对接收机钟差和电离层误差系数进行联合计算,提高了接收机钟差的精度,进而提升了pps的精度,有效地降低了电离层误差对接收机授时精度的影响。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例的一种卫星授时方法的流程示意图;
图2为基于gpsl1频点的伪距测量值,利用本发明所述观测方程和卡尔曼滤波估计方法实时估计得到的系数k值示意图;
图3为基于gpsl1频点的伪距测量值,利用本发明所述观测方程和卡尔曼滤波估计方法实时估计得到的单频授时精度示意图;
图4为本发明实施例的一种卫星授时装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
参照图1,本发明实施例提供了一种卫星授时方法,包括如下步骤:
步骤101:获取两颗或两颗以上的卫星观测信息,利用获取的卫星观测信息计算影响伪距观测量的各误差项,并利用伪距观测量和预设的接收机坐标计算卫星到接收机的几何距离;
进一步地,在步骤101之前,所述方法还包括:建立观测方程,所述观测方程的未知量包含接收机钟差和电离层误差系数。
具体地,首先,建立gnss伪距和载波相位观测非差函数模型如下:
p=ρ+c(dtr-dts)+t+i+ν(1);
l=ρ+c(dtr-dts)+t-i+λn+ε(2);
式中,p和l分别表示伪距和载波相位观测量,单位为米;ρ表示卫星到接收机的几何距离;c为光速;dtr和dts分别表示接收机钟差和卫星钟差;t和i分别表示对流层延迟和电离层延迟;λ表示载波的波长;n表示载波相位观测中的整周模糊度;v和ε表示伪距和载波相位观测噪声。
公式(1)中,通过克罗布歇(klobuchar)模型计算得到电离层延迟模型值iklobuchar,设定电离层延迟模型值iklobuchar与电离层延迟真值ireal的关系为ireal=k·iklobuchar,变量k为电离层误差系数,则将公式(1)改写为:
p=ρ+c(dtr-dts)+t+k·iklobuchar+v(3)
进一步可得:
p-ρ+c·dts-t=c·dtr+k·iklobuchar(4)
不妨令
z=p-ρ+c·dts-t(5)
δt=c·dtr(6)
则将公式(4)该写为:
公式(7)即为建立的所述观测方程。
进一步地,所述影响伪距观测量的各误差项包括卫星钟差、电离层延迟模型值、对流层延迟等。
具体地,上述公式中,伪距p是接收机测量值,ρ可以根据接收机的位置和卫星伪距计算得到;卫星钟差dts从星历得到;对流层延迟t通过霍普菲尔德(hopfield)模型计算得到,电离层延迟模型值iklobuchar通过克罗布歇模型计算得到。
进一步地,所述步骤101还包括:
利用载波相位观测量平滑伪距观测量,以减少伪距观测量中的伪距观测噪声。
需要说明的是,通常情况下,载波相位观测量l的测量噪声ε比伪距观测量p的测量噪声v小很多,利用载波相位平滑伪距算法,来减少伪距噪声,以提升授时精度。
步骤102:利用预先建立的观测方程以及计算出的各误差项、卫星到接收机的几何距离联合计算接收机钟差和电离层误差系数;
进一步地,利用观测到的多个卫星的伪距观测量p计算变量z,根据公式(7),采用最小二乘法或者卡尔曼滤波法来得到状态量δt和k。
进一步地,如果存在多个卫星系统的伪距观测量p,则构建多个卫星系统的类似公式(7)所示的观测方程,多系统联合滤波估计状态量δt和k。
步骤103:根据计算出的接收机钟差对接收机本地时钟进行调整。
需要说明的是,基于gnss系统的卫星授时装置,能够跟踪到可见星,得到各颗星星历、伪距、载波和多普勒,利用卫星星历和观测量能够得到接收机钟差和钟漂。
在计算得到接收机钟差和钟漂后,可以知道接收机采样时刻所对应的精确的gnss时间,进而计算出到gnss整秒时刻需要的时钟脉冲数,在计数器计数到该脉冲数时,硬件会给出一个脉冲信号,即pps,实现gnss的高精度授时。因而高精度授时的关键是得到高精度的接收机钟差和钟漂。
通常情况下,接收机的钟漂值通过各颗卫星的多普勒和卫星速度等信息能够计算得到,而且精度较高,误差通常小于0.1m/s,对pps的精度影响小于0.5ns。接收机钟差的计算有双频和单频模式,双频模式精度较高,单频模式精度略低。基于gnss的单频授时,其精度受电离层延迟误差的影响较大,通常的klobuchar模型值只能补偿电离层延迟误差的50%左右,导致电离层残差较大,引起接收机钟差的误差较大,授时精度不高。
本发明利用观测到的多颗卫星的伪距测量值,通过建立观测方程联合计算电离层误差系数和接收机钟差,能够有效解决电离层延迟模型值iklobuchar不准的问题,估计得到的接收机钟差精度较高,将接收机钟差送给授时模块,能够输出高精度的pps。
附图2为基于gpsl1频点的伪距测量值,利用公式(7)所述观测方程和卡尔曼滤波估计方法,实时估计得到的系数k值,单频授时的精度如附图3所示。该pps与精确的时钟模块的pps对比,授时的误差峰峰值为16.6纳秒(ns),均方差为2.6ns。
本发明实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如以上任一项所述的卫星授时方法的步骤。
如图4所示,本发明实施例还提供了一种卫星授时装置,包括第一计算模块401、第二计算模块402和授时模块403,其中:
第一计算模块401,用于获取两颗或两颗以上的卫星观测信息,利用获取的卫星观测信息计算影响伪距观测量的各误差项,并利用伪距观测量和预设的接收机坐标计算卫星到接收机的几何距离,将计算出的各误差项、卫星到接收机的几何距离输出至第二计算模块402;
第二计算模块402,用于利用预先建立的观测方程以及计算出的各误差项、卫星到接收机的几何距离联合计算接收机钟差和电离层误差系数,将计算出的接收机钟差输出至授时模块403;
授时模块403,用于根据计算出的接收机钟差对接收机本地时钟进行调整。
进一步地,所述预先建立的观测方程为:
其中,变量z=p-ρ+c·dts-t,p为伪距观测量,单位为米;ρ为卫星到接收机的几何距离;c为光速;dts为卫星钟差,t为对流层延迟;
变量δt=c·dtr,dtr为接收机钟差;
变量iklobuchar为根据克罗布歇模型计算出的电离层延迟模型值,变量k为电离层误差系数。
进一步地,所述影响伪距观测量的各误差项包括卫星钟差、电离层延迟模型值、对流层延迟等。
具体地,上述公式中,伪距p是接收机测量值,ρ可以根据接收机的位置和卫星伪距计算得到;卫星钟差dts从星历得到;对流层延迟t通过霍普菲尔德(hopfield)模型计算得到,电离层延迟模型值iklobuchar通过克罗布歇模型计算得到。
进一步地,所述第一计算模块401还用于:
利用载波相位观测量平滑伪距观测量,以减少伪距观测量中的观测噪声。
需要说明的是,通常情况下,载波相位观测量l的测量噪声ε比伪距观测量p的测量噪声v小很多,利用载波相位平滑伪距算法,来减少伪距噪声,以提升授时精度。
进一步地,所述第二计算模块402的联合计算接收机钟差和电离层误差系数的方法为最小二乘法或者卡尔曼滤波法。
进一步地,如果存在多个卫星系统的伪距观测量p,则预先构建多个卫星系统的类似公式(7)的观测方程,多系统联合滤波估计状态量δt和k。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。