掌桥专利:专业的专利平台
掌桥专利
首页

星历预报方法和装置

文献发布时间:2023-06-19 16:06:26



技术领域

本申请涉及卫星导航技术领域,尤其涉及一种星历预报方法和装置。

背景技术

目前,终端定位需要使用全球卫星导航系统(Global Navigation SatelliteSystem,GNSS)进行定位。具体地,终端设备通过网络请求的方式从服务器获取预报轨道和预报钟差,然后再根据预报轨道和预报钟差进行定位。

服务器在星历参数播发过程中,均是采用广播星历参数播发,即服务器以广播星历参数的形式,将预报轨道和预报钟差传输至终端设备。广播星历参数的数据量较多,使得参数播发数据量较大。

发明内容

本申请实施例提供一种星历预报方法和装置,可以有效降低星历参数播发数据量。

第一方面,本申请实施例提供一种星历预报方法,应用于服务器,该方法包括:获取EOP数据和预设时段的历史星历数据;根据EOP数据和历史星历数据进行卫星轨道预报和卫星钟差预报,得到未来预设时间段的预报轨道和预报钟差;将预报轨道拟合成轨道参数后,将属于同一个轨道面的卫星的轨道参数进行编码,得到每个轨道面的轨道参数编码;将预报钟差拟合成钟差参数后,对钟差参数进行编码,得到钟差参数编码;向终端设备发送星历参数编码,星历参数编码包括钟差参数编码和每个轨道面的轨道参数编码。

基于上述技术方案,服务器在将预报轨道分段拟合成轨道参数之后,再基于轨道面对轨道参数进行编码,得到每个轨道面的轨道参数编码,最后以星历参数编码的形式进行播发,有效地降低了参数播发数据量。

在第一方面的一些可能的实现方式中,上述根据EOP数据和历史星历数据进行卫星轨道预报和卫星钟差预报,得到未来预设时间段的预报轨道和预报钟差的过程可以包括:

根据卫星轨道数据和EOP数据进行卫星轨道预报,得到未来预设时间段的预报轨道;

根据卫星钟差数据进行钟差预报,得到未来预设时间段的预报钟差;

其中,历史星历数据包括卫星轨道数据卫星钟差数据。

在第一方面的一些可能的实现方式中,上述根据卫星轨道数据和EOP数据进行卫星轨道预报,得到未来预设时间段的预报轨道的过程可以包括:

根据EOP数据,将卫星轨道数据中的地固系下的卫星位置信息转换为惯性系下的卫星位置信息;

根据卫星类型和太阳光压模型的对应关系,确定卫星轨道数据中每颗卫星所使用的目标太阳光压模型;

基于每颗卫星的目标太阳光压模型和惯性系下的卫星位置信息,建立每颗卫星的卫星运动方程和变分方程;

基于每颗卫星的卫星运动方程和变分方程,通过使用数值积分方式得到每颗卫星在各时刻下的参考轨道位置和状态转移矩阵;

基于卫星轨道数据、参考轨道位置和状态转移矩阵,通过最小二乘整体解的方式,得到每颗卫星的参考时刻卫星轨道状态参数;

根据参考时刻卫星轨道状态参数和卫星动力学模型,通过数值积分的方式得到未来预设时间段的卫星轨道;

根据EOP数据,将未来预设时间段的卫星轨道从惯性系转换至地固系,得到未来预设时间段的预报轨道。

在该卫星轨道预报流程中,针对不同类型的卫星使用不同的太阳光压模型,提高了卫星轨道预报精度。

在第一方面的一些可能的实现方式中,上述卫星类型和太阳光压模型的对应关系可以包括:

GPS卫星或GLNOSS卫星对应的太阳光压模型为:ECOM5参数模型;

Galileo卫星对应的太阳光压模型为:box-wing初始光压模型和ECOM5参数模型;

北斗GEO卫星对应的太阳光压模型为:初始光压模型、ECOM5参数模型和周期性经验加速度参数;

QZSS卫星对应的太阳光压模型为:初始光压模型和ECOM5参数模型。

在第一方面的一些可能的实现方式中,上述卫星轨道数据可以包括连续两天的精密轨道产品。此处,将最优拟合时长设为两天,以更精确地估计卫星轨道动力学参数,进一步提高了卫星轨道预报精度。

在第一方面的一些可能的实现方式中,上述根据卫星钟差数据进行钟差预报,得到未来预设时间段的预报钟差的过程可以包括:

基于广播星历钟差数据,修正精密星历钟差数据的基准偏差,得到修正后的精密星历钟差数据,卫星钟差数据包括广播星历钟差数据和精密星历钟差数据;

根据每颗卫星的修正后的精密星历钟差数据中的单天钟差数据,拟合得到每颗卫星的单天钟速;

基于每颗卫星的单天钟速,得到每颗卫星的钟速时间序列;

根据每颗卫星的钟速时间序列,拟合得到每颗卫星的钟速变化率;

根据每颗卫星的钟差初始值、钟速以及钟速变化率,得到每颗卫星在未来预设时间段内的预报钟差。

在该卫星钟差预报流程中,使用广播星历钟差数据修正精密星历钟差数据的基准偏差,再使用修正后的精密星历钟差数据进行钟差预报,可以进一步提高卫星钟差预报的可靠性和精度。

在第一方面的一些可能的实现方式中,上述基于广播星历钟差数据,修正精密星历钟差数据的基准偏差,得到修正后的精密星历钟差数据的过程可以包括:

将同一个历元的广播星历钟差序列和精密星历钟差序列作差,得到每个历元的差值序列,其中,广播星历钟差数据包括各个历元的广播星历钟差序列,精密星历钟差数据包括各个历元的精密星历钟差序列;

确定每个差值序列的平均值和标准差;

针对每个差值序列,根据平均值和标准差,去除差值序列中不符合预设条件的差值点,得到目标差值序列;

根据目标差值序列,计算基准偏差;

将精密星历钟差数据和基准偏差作差,得到修正后的精密星历钟差数据。

在该实现方式中,基于广播星历数据修正精密星历钟差数据,以提高精密星历钟差数据的精度,进而提高后续钟差预报的精度和可靠性。

在第一方面的一些可能的实现方式中,上述根据平均值和标准差,去除差值序列中不符合预设条件的差值点,得到目标差值序列的过程可以包括:

基于平均值和标准差,判断差值序列中的每个差值点是否满足

若满足,则确定差值点不符合预设条件,去除不符合预设条件的差值点,得到剔除差值点之后的差值序列;

确定剔除差值点之后的差值序列的平均值和标准差后,将剔除差值点之后的差值序列作为差值序列,并返回基于平均值和标准差,判断差值序列中的每个差值点是否满足

在第一方面的一些可能的实现方式中,上述根据每颗卫星的钟速时间序列,拟合得到每颗卫星的钟速变化率的过程可以包括:

针对每颗卫星,使用滑动窗口对钟速时间序列进行拟合;

在滑动窗口滑动过程中,每当滑动窗口内的钟速数量大于或等于预设数量时,则根据当前时刻滑动窗口内的钟速和上一次拟合得到的拟合结果,预报下一个时刻的预报钟速;

当下一时刻的预报钟速和待加入滑动窗口的钟速之间的差值小于或等于第一预设阈值时,将待加入滑动窗口的钟速加入到滑动窗口后,根据滑动窗口内的钟速拟合得到当次钟速变化率,并得到拟合残差;

若拟合残差小于或等于第二预设阈值,则将当次钟速变化率作为钟速变化率;

若拟合残差大于第二预设阈值,则重置滑动窗口后继续向前滑动,直到遍历完钟速时间序列或拟合残差小于或等于第二预设阈值;

当下一时刻的钟速和待加入滑动窗口的钟速之间的差值大于第一预设阈值时,则重置滑动窗口后继续向前滑动,直到遍历完钟速时间序列或拟合残差小于或等于第二预设阈值。

在该实现方式中,利用滑动窗口对钟速时间序列进行拟合的过程中,通过比对拟合残差和第二预设阈值之间的大小,以及比对待加入窗口的钟速和拟合预报的下一时刻的钟速之间的大小,以对拟合过程中的异常情况进行检测和去除,进一步提高了钟速变化率的准确性,进而提高了钟差预报精度和可靠性。

第二方面,本申请实施例提供一种星历预报系统,该系统包括终端设备和服务器。

其中,服务器可以用于实现上述第一方面任一项所述的方法。

终端设备可以用于接收来自服务器的星历参数编码;将星历参数编码进行解码,得到轨道参数和钟差参数;根据轨道参数和钟差参数,确定可见GNSS卫星的位置、速度和钟差;根据可见GNSS卫星的位置、速度和钟差,确定当前位置和/或当前速度。

第三方面,本申请实施例提供一种星历预报方法,应用于服务器,该方法包括:获取EOP数据和预设时段的历史星历数据;根据EOP数据和历史星历数据进行卫星轨道预报和卫星钟差预报,得到未来预设时间段的预报轨道和预报钟差;将预报钟差拟合成钟差参数;使用多项式模型,将预报轨道拟合成多项式系数;向终端设备发送钟差参数和多项式系数。

本申请实施例的服务器端使用多项式模型将预报轨道拟合成多项式系数,并以多项式系数的形式进行参数播发,降低了终端设备在技术GNSS卫星位置和速度过程中的运算量。

在第三方面的一些可能的实现方式中,上述使用多项式模型,将预报轨道拟合成多项式系数,包括:

对每颗卫星的预报轨道进行等间隔采样,得到每颗卫星采样后的预报轨道;

对每颗卫星的采样后的预报轨道进行分段;

根据基函数和基函数的阶数对每颗卫星的每段预报轨道进行拟合,确定基函数系数,并将基函数系数作为多项式系数,多项式系数模型包括基函数。

在第三方面的一些可能的实现方式中,上述多项式模型的基函数为:

T

其中,n表示基函数阶数。

在第三方面的一些可能的实现方式中,上述根据EOP数据和历史星历数据进行卫星轨道预报和卫星钟差预报,得到未来预设时间段的预报轨道和预报钟差的过程可以包括:

根据卫星轨道数据和EOP数据进行卫星轨道预报,得到未来预设时间段的预报轨道;

根据卫星钟差数据进行钟差预报,得到未来预设时间段的预报钟差;

其中,历史星历数据包括卫星轨道数据和卫星钟差数据。

在第三方面的一些可能的实现方式中,上述根据卫星轨道数据和EOP数据进行卫星轨道预报,得到未来预设时间段的预报轨道的过程可以包括:

根据EOP数据,将卫星轨道数据中的地固系下的卫星位置信息转换为惯性系下的卫星位置信息;

根据卫星类型和太阳光压模型的对应关系,确定卫星轨道数据中每颗卫星所使用的目标太阳光压模型;

基于每颗卫星的目标太阳光压模型和惯性系下的卫星位置信息,建立每颗卫星的卫星运动方程和变分方程;

基于每颗卫星的卫星运动方程和变分方程,通过使用数值积分方式得到每颗卫星在各时刻下的参考轨道位置和状态转移矩阵;

基于卫星轨道数据、参考轨道位置和状态转移矩阵,通过最小二乘整体解的方式,得到每颗卫星的参考时刻卫星轨道状态参数;

根据参考时刻卫星轨道状态参数和卫星动力学模型,通过数值积分的方式得到未来预设时间段的卫星轨道;

根据EOP数据,将未来预设时间段的卫星轨道从惯性系转换至地固系,得到未来预设时间段的预报轨道。

在该卫星轨道预报流程中,针对不同类型的卫星使用不同的太阳光压模型,提高了卫星轨道预报精度。

在第三方面的一些可能的实现方式中,上述卫星类型和太阳光压模型的对应关系可以包括:

GPS卫星或GLNOSS卫星对应的太阳光压模型为:ECOM5参数模型;

Galileo卫星对应的太阳光压模型为:box-wing初始光压模型和ECOM5参数模型;

北斗GEO卫星对应的太阳光压模型为:初始光压模型、ECOM5参数模型和周期性经验加速度参数;

QZSS卫星对应的太阳光压模型为:初始光压模型和ECOM5参数模型。

在第三方面的一些可能的实现方式中,上述卫星轨道数据包括连续两天的精密轨道产品。此处,将最优拟合时长设为两天,以更精确地估计卫星轨道动力学参数,进一步提高了卫星轨道预报精度。

在第三方面的一些可能的实现方式中,上述根据卫星钟差数据进行钟差预报,得到未来预设时间段的预报钟差的过程可以包括:

基于广播星历钟差数据,修正精密星历钟差数据的基准偏差,得到修正后的精密星历钟差数据,卫星钟差数据包括广播星历钟差数据和精密星历钟差数据;

根据每颗卫星的修正后的精密星历钟差数据中的单天钟差数据,拟合得到每颗卫星的单天钟速;

基于每颗卫星的单天钟速,得到每颗卫星的钟速时间序列;

根据每颗卫星的钟速时间序列,拟合得到每颗卫星的钟速变化率;

根据每颗卫星的钟差初始值、钟速以及钟速变化率,得到每颗卫星在预设时间段内的预报钟差。

在该卫星钟差预报流程中,使用广播星历钟差数据修正精密星历钟差数据的基准偏差,再使用修正后的精密星历钟差数据进行钟差预报,可以进一步提高卫星钟差预报的可靠性和精度。

在第三方面的一些可能的实现方式中,上述基于广播星历钟差数据,修正精密星历钟差数据的基准偏差,得到修正后的精密星历钟差数据的过程可以包括:

将同一个历元的广播星历钟差序列和精密星历钟差序列作差,得到每个历元的差值序列,其中,广播星历钟差数据包括各个历元的广播星历钟差序列,精密星历钟差数据包括各个历元的精密星历钟差序列;

确定每个差值序列的平均值和标准差;

针对每个差值序列,根据平均值和标准差,去除差值序列中不符合预设条件的差值点,得到目标差值序列;

根据目标差值序列,计算基准偏差;

将精密星历钟差数据和基准偏差作差,得到修正后的精密星历钟差数据。

在该实现方式中,基于广播星历数据修正精密星历钟差数据,以提高精密星历钟差数据的精度,进而提高后续钟差预报的精度和可靠性。

在第三方面的一些可能的实现方式中,上述根据平均值和标准差,去除差值序列中不符合预设条件的差值点,得到目标差值序列的过程可以包括:

基于平均值和标准差,判断差值序列中的每个差值点是否满足

若满足,则确定差值点不符合预设条件,去除不符合预设条件的差值点,得到剔除差值点之后的差值序列;

确定剔除差值点之后的差值序列的平均值和标准差后,将剔除差值点之后的差值序列作为差值序列,并返回基于平均值和标准差,判断差值序列中的每个差值点是否满足

在第三方面的一些可能的实现方式中,上述根据每颗卫星的钟速时间序列,拟合得到每颗卫星的钟速变化率的过程可以包括:

针对每颗卫星,使用滑动窗口对钟速时间序列进行拟合;

在滑动窗口滑动过程中,每当滑动窗口内的钟速数量大于或等于预设数量时,则根据当前时刻滑动窗口内的钟速和上一次拟合得到的拟合结果,预报下一个时刻的预报钟速;

当下一时刻的预报钟速和待加入滑动窗口的钟速之间的差值小于或等于第一预设阈值时,将待加入滑动窗口的钟速加入到滑动窗口后,根据滑动窗口内的钟速拟合得到当次钟速变化率,并得到拟合残差;

若拟合残差小于或等于第二预设阈值,则将当次钟速变化率作为钟速变化率;

若拟合残差大于第二预设阈值,则重置滑动窗口后继续向前滑动,直到遍历完钟速时间序列或拟合残差小于或等于第二预设阈值;

当下一时刻的钟速和待加入滑动窗口的钟速之间的差值大于第一预设阈值时,则重置滑动窗口后继续向前滑动,直到遍历完钟速时间序列或拟合残差小于或等于第二预设阈值。

在该实现方式中,利用滑动窗口对钟速时间序列进行拟合的过程中,通过比对拟合残差和第二预设阈值之间的大小,以及比对待加入窗口的钟速和拟合预报的下一时刻的钟速之间的大小,以对拟合过程中的异常情况进行检测和去除,进一步提高了钟速变化率的准确性,进而提高了钟差预报精度和可靠性。

第四方面,本申请实施例提供一种星历预报方法,应用于终端设备,该方法包括:接收来自服务器的多项式系数和钟差参数;根据多项式系数,确定可见GNSS卫星的位置和速度;根据钟差参数,确定可见GNSS卫星的钟差;根据可见GNSS卫星的位置、速度和钟差,确定当前位置和/或速度。

本申请实施例通过多项式模型对预报轨道拟合成多项式系数,有效地降低了终端设备定位过程的运算量,进而降低了GNSS定位过程中的功耗。

在第四方面的一些可能的实现方式中,上述根据多项式系数,确定可见GNSS卫星的位置和速度的过程可以包括:

根据多项式系数和多项式模型的基函数,确定可见GNSS卫星的位置;

根据多项式系数和多项式模型的基函数导数,确定可见GNSS卫星的速度。

示例性地,上述多项式模型的基函数为:

T

其中,n表示基函数阶数;

基于基函数,GNSS卫星的位置为:

其中,x(t)、y(t)以及z(t)表示卫星三维位置。

基函数导数为:

F

基于基函数导数,GNSS卫星的速度为:

第五方面,本申请实施例提供一种星历预报系统,该系统可以包括服务器和终端设备。

其中,服务器可以用于实现上述第三方面任一项所述的方法。终端设备可以用于实现上述第四方面任一项所述的方法。

第六方面,本申请实施例提供一种服务器,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面或第三方面任一项的方法。

第七方面,本申请实施例提供一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第四方面任一项的方法。

第八方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面、第三方面或第四方面任一项的方法。

第九方面,本申请实施例提供一种芯片系统,该芯片系统包括处理器,处理器与存储器耦合,处理器执行存储器中存储的计算机程序,以实现如上述第一方面、第三方面或第四方面任一项所述的方法。该芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。

第十方面,本申请实施例提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面、第三方面或第四方面任一项所述的方法。

可以理解的是,上述第二方面至第十方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

图1为本申请实施例提供的标准AGNSS系统的架构示意图;

图2为本申请实施例提供的PGNSS系统的架构示意框图;

图3为本申请实施例提供的星历预报方案的系统架构示意框图;

图4为本申请实施例提供的终端设备31的结构示意框图;

图5为本申请实施例提供的星历预报方法的流程示意图;

图6为本申请实施例提供的卫星轨道预报流程示意框图;

图7为本申请实施例提供的卫星钟差预报流程示意框图;

图8为本申请实施例提供的精密星历钟差数据的基准偏差修正过程示意框图;

图9为本申请实施例提供的部分卫星235天的钟速时间序列;

图10为基于轨道面的轨道星历参数编码方式示意图;

图11为本申请实施例提供的星历预报方法的另一种流程示意框图;

图12为本申请实施例提供的星历预报装置的结构示意框图;

图13为本申请实施例提供的星历预报装置的另一种结构示意框图;

图14为本申请实施例提供的星历预报装置的另一种结构示意框图。

具体实施方式

随着手机、智能穿戴设备、平板电脑和车机等终端设备的广泛应用,基于位置的服务(Location Based Services,LBS)也获得越来越多的关注。在使用LBS的时候,终端设备需要先进行定位,以确定当前所在位置。

终端设备一般是基于全球卫星导航系统(Global Navigation SatelliteSystem,GNSS)进行定位。具体地,终端设备在发起定位请求的时候,使用内置GNSS芯片从卫星导航信号中解调出一套完整的星历,然后再基于完整的星历完成定位。

目前,终端设备基于GNSS进行定位时,首次定位时间(Time To First Fix,TTFF)如果过长,可能会影响用户体验。为了减小TTFF,提高用户体验,提出了辅助GNSS(AssistedGNSS,AGNSS)技术。AGNSS技术可以分为标准AGNSS服务和星历扩展(Extended Ephemeris)服务。下面将分别对标准AGNSS和预测GNSS(Predicted GNSS,PGNSS)进行示例性介绍。

(1)标准AGNSS。参见图1,为本申请实施例提供的标准AGNSS系统的架构示意图。如图1所示,该系统可以包括终端设备11、数据交换中心12、AGNSS服务器13、GNSS观测站14以及GNSS卫星15。

其中,GNSS观测站14用于获取GNSS卫星15的GNSS信号,并实时从GNSS信号中解调出广播星历参数;再将解调出的广播星历参数发送至AGNSS服务器13。

AGNSS服务器13用于接收GNSS观测站14发送的广播星历参数,并存储广播星历参数。另外,AGNSS服务器13还用于在接收终端设备11的定位请求之后,响应于该定位请求,向终端设备11发送广播星历参数。

终端设备11用于发起定位请求,并通过数据交换中心12将定位请求发送至AGNSS服务13。另外,终端设备11还用于接收AGNSS服务器13返回的广播星历参数,并基于广播星历参数进行定位。

示例性地,基于标准GNSS系统的终端定位过程包括:

终端设备11在每次定位过程中,通过网络将定位请求发送至AGNSS服务器13,该定位请求用于获取广播星历参数。AGNSS服务器13接收到终端设备11的定位请求之后,通过网络将定位请求对应的广播星历参数发送至终端设备11。

终端设备11通过网络接收AGNSS服务器13返回的广播星历参数,并基于该广播星历参数,使用内置的GNSS芯片计算出所有可见GNSS卫星的位置和速度;然后再基于GNSS卫星的位置和速度,以及GNSS观测数据,确定当前所在位置和/或当前速度。即终端设备可以基于GNSS,确定当前所在位置,或者,确定当前速度,或者,确定当前所在位置以及当前速度。

(2)PGNSS。参见图2,为本申请实施例提供的PGNSS系统的架构示意框图。如图2所示,该系统可以包括终端设备21、数据交换中心22、PGNSS服务器23、数据源服务器24以及GNSS卫星25。

其中,数据交换中心22用于传输数据。数据源服务器24用于存储数据源,该数据源可以为但不限于精密星历数据、广播星历数据或者原始载波相位观察量。PGNSS服务器23用于获取数据源服务器24上存储的数据源,并基于该数据源生成预报星历数据。

终端设备21用于获取PGNSS服务器23生成的预报星历数据,并基于预报星历数据,确定自身的当前所在位置和/或当前速度。

示例性地,基于PGNSS系统的终端定位过程包括:

PGNSS服务器23在获取到数据源之后,基于数据源进行建模,得到卫星轨道预报模型和卫星钟差预报模型;然后,基于卫星轨道预报模型进行卫星轨道预报,得到预报轨道,基于卫星钟差预报模型进行卫星钟差预报,得到预报钟差;再将预报轨道和预报钟差拟合成广播星历参数传输至终端设备21。

终端设备21获取到广播星历参数之后,可以定期将广播星历参数注入GNSS芯片,以使用GNSS芯片和广播星历参数,计算可见GNSS卫星的位置、速度和钟差,并基于可见GNSS卫星的位置、速度和钟差,以及伪距和载波相位观测量等,确定当前所在位置和/或当前速度。

在上文提及的标准AGNSS和PGNSS中,服务器在星历参数播发过程中,均是采用广播星历参数播发,即服务器以广播星历参数的形式,将预报轨道和预报钟差传输至终端设备。广播星历参数的数据量较多,使得参数播发数据量较大。

为了降低星历预报中的参数播发数据量,本申请实施例提出一种基于轨道面的星历参数播发方案。基于轨道面的星历参数播发方案中,服务器通过将属于同一个轨道面的卫星的星历参数进行编码,得到同一个轨道面的星历参数编码,并以星历参数编码的形式,将预报轨道和预报钟差传输至终端设备,相较于传统的以广播星历参数的形式进行播发,大大降低了参数播发数据量。

下面将详细描述本申请实施例提供的技术方案。以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。

参见图3,为本申请实施例提供的星历预报方案的系统架构示意框图。如图3所示,该系统可以包括终端设备31和服务器33,终端设备31和服务器33通过网络32连接。

终端设备31是一种具备无线收发功能的设备,其可以是手持式终端设备、车辆、车载终端、智能穿戴式设备或其它计算设备等。示例性地,终端设备为手机或平板电脑等便携式终端设备;还可以是增强现实(augmented reality,AR)设备、虚拟现实(virtualreality,VR)设备或超级移动个人计算机(ultra-mobile personal computer,UMPC)等。本申请实施例对终端设备31的具体类型不作限制。图3示例性地示出了终端设备31为手机。

终端设备31的类型不同,具体结构可能也会有所不同。参见图4示出的本申请实施例提供的终端设备31的结构示意框图,终端设备31可以包括但限于处理器311、GNSS芯片312以及存储器313,GNSS芯片312和存储器313均与处理器311通信连接。当然,该终端设备31还包括用于收发GNSS信号的GNSS天线。

处理器311可以包括一个或多个处理单元。例如,处理器311可以包括应用处理器(application processor,AP),调制解调处理器,控制器,以及基带处理器等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

其中,控制器可以是终端设备31的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

存储器313可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器311通过运行存储在存储器313的指令,从而执行终端设备31的各种功能应用以及数据处理。存储器313可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序等。存储数据区可存储终端设备31使用过程中所创建的数据等。例如,终端设备31接收到来自服务器端的广播星历参数之后,将广播星历参数存储在存储数据区,并定期从存储数据区读取广播星历参数,注入GNSS芯片312。

此外,存储器313可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。

终端设备31通过GNSS天线和GNSS芯片312,可以实现GNSS信号的接收和发送,以及GNSS定位和/或定速。

本申请实施例中,GNSS可以包括全球卫星定位系统(global positioningsystem,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidou navigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentationsystems,SBAS)。

可以理解的是,本申请实施例示意的结构并不构成对终端设备31的具体限定。在本申请另一些实施例中,终端设备31可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

示例性地,当终端设备31为智能可穿戴设备时,该智能可穿戴设备可以为智能手环、智能手表或智能眼镜等。此时,终端设备31还可以包括传感器和显示屏等,传感器可以包括光电传感器和生理传感器。

示例性地,当终端设备31为手机时,终端设备31还可以包括充电管理模块,电源管理模块,电池,移动通信模块,音频模块,扬声器,受话器,麦克风,耳机接口,传感器模块,按键,马达,指示器,摄像头,显示屏,以及用户标识模块(subscriber identificationmodule,SIM)卡接口等。

服务器32可以包括一个或多个服务器,通常情况下,服务器32主要包括PGNSS服务器。

具体应用中,服务器32用于获取数据源,并基于数据源进行卫星轨道预报和卫星钟差预报,再将预报轨道和预报钟差转化成一定的参数后,将参数传输至终端设备31。

终端设备31用于通过网络请求方式从服务器32获取预报轨道和预报钟差,并根据预报轨道和预报钟差,使用GNSS芯片计算可见GNSS卫星的位置和速度等,再基于GNSS卫星的位置和速度等,确定自身的当前所在位置和/或当前速度。

本申请实施例可以适用导航定位和/或测速的场景。例如,终端设备31为车载终端,车载终端使用GNSS进行车辆定位和车辆测速。又例如,终端设备31为手机,手机的应用程序使用LBS,为用户推荐商品。本申请实施例对应用场景不作限制。

在介绍完本申请实施例可能涉及的系统结构和应用场景之后,下面将结合附图对本申请实施例的技术方案进行详细阐述。

参见图5,为本申请实施例提供的星历预报方法的流程示意图。如图5所示,该流程可以包括以下步骤:

步骤S501、服务器获取EOP数据和预设时段的历史星历数据。

需要说明的是,上述历史星历数据可以包括精密星历数据,可以包括实时广播星历数据,也可以包括原始载波相位观测量。该历史星历数据可以是指PGNSS中的数据源。

通常情况下,上述历史星历数据包括卫星轨道数据和卫星钟差数据。卫星轨道数据包括每颗卫星在各个时刻下的卫星位置信息,卫星钟差数据包括每颗卫星在各个时刻下的卫星钟差信息。卫星轨道数据和地球定向参数(Earth Orientation Parameters,EOP)数据可以用于卫星轨道预报,EOP数据是服务器从外部获取的。卫星钟差数据可以用于卫星钟差预报。

例如,当历史星历数据包括精密星历数据时,精密星历数据可以包括精密轨道产品和精密钟差产品。精密轨道产品和EOP文件用于卫星轨道预报,精密钟差产品用于卫星钟差预报。

具体应用中,服务器可以从国际GNSS服务(International GNSS Service,IGS)的文件传输协议(File Transfer Protocol,FTP)服务器下载精密轨道产品和精密钟差产品,从国际地球旋转服务(International Earth Rotation Service,IERS)的服务器下载EOP文件。

预设时段可以根据实际需要设定,例如,预设时段为2天,即服务器获取2天的历史星历数据。

服务器在获取卫星轨道数据时,可以获取一天或多天的卫星轨道数据,并根据一天或多天的卫星轨道数据进行卫星轨道预报。可选地,本申请实施例可以将最优拟合时长设为两天,以更精确地估计卫星轨道动力学参数,提高卫星轨道预报精度。也就是说,服务器获取连续两天的卫星轨道数据,使用连续两天的卫星轨道数据进行卫星轨道预报,相较于使用一天或至少三天的卫星轨道数据进行卫星轨道预报,前者的卫星轨道预报精度更高。

步骤S502、服务器根据EOP数据和历史星历数据进行卫星轨道预报和卫星钟差预报,得到未来预设时间段的预报轨道和预报钟差。

可以理解的是,服务器可以使用EOP数据和历史星历数据中的卫星轨道数据,进行卫星轨道预报,使用历史星历数据中的卫星钟差数据进行卫星钟差预报。

需要说明的是,未来预设时间段可以根据实际需要进行设置,例如,该未来预设时间段可以为7~28天,即服务器可以预报未来7天~28天内的卫星轨道和卫星钟差。

下面分别对卫星轨道预报流程和卫星钟差预报流程进行介绍说明。

在一些实施例中,为了提高卫星轨道预报精度,本申请实施例提出一种改进的卫星轨道预报流程,该卫星轨道预报流程可以针对不同类型的卫星,使用不同的太阳光压模型。该卫星轨道预报流程可以参见图6示出的卫星轨道预报流程示意框图,如图6所示,该流程可以包括以下步骤:

步骤S601、服务器基于EOP数据,将地固系下的卫星位置信息转换为惯性系下的卫星位置信息。

其中,卫星轨道数据包括地固系下的卫星位置信息。该卫星轨道数据可以为精密轨道产品。

需要说明的是,为了更精确估计卫星轨道动力学参数,服务器可以基于连续两天的卫星轨道数据进行卫星轨道预报,即最优拟合估计时长设为两天。

步骤S602、服务器根据卫星类型和太阳光压模型的对应关系,确定卫星轨道数据中每颗卫星对应的目标太阳光压模型。

需要说明的是,卫星类型和太阳光压模型的对应关系是预先设置的,即预先确定每种类型的卫星所使用的太阳光压模型。

示例性地,卫星类型和太阳光压模型的对应关系可以如下表1所示。

表1

依据上述表1,当某颗卫星的卫星类型为GPS卫星或GLONASS卫星,则该颗卫星的目标太阳光压模型为:ECOM5参数模型。同理,当某颗卫星的卫星类型为QZSS卫星时,则该颗卫星的目标光压模型为:初始光压模型和ECOM5参数模型。

可以理解的是,卫星轨道数据中包括每颗卫星在各时刻下的三维位置信息,并且,卫星轨道数据中包括每颗卫星的标识信息,该标识信息例如可以为卫星编号。服务器根据卫星轨道数据中的卫星编号等标识信息,确定出卫星轨道数据中每颗卫星的卫星类型;再基于每颗卫星的卫星类型,根据预先设置的卫星类型和太阳光压模型的对应关系,确定出每颗卫星对应的目标太阳光压模型。

相较而言,针对不同类型的卫星,使用不同的太阳光压模型,可以提高卫星轨道预报精度。

步骤S603、服务器根据每颗卫星的目标太阳光压模型和惯性系下的卫星位置信息,建立每颗卫星的卫星运动方程和变分方程。

可以理解的是,针对单颗卫星而言,服务器根据该颗卫星的目标太阳光压模型,以及该颗卫星的惯性系下的卫星位置信息,建立该颗卫星的卫星运动方程和变分方程。

步骤S604、服务器基于每颗卫星的运动方程和变分方程,通过数值积分的方式得到每颗卫星在各个时刻下的参考轨道位置、速度和状态转移矩阵。

其中,服务器在通过数值积分方式得到各个时刻的参考轨道位置、速度和状态转移矩阵的过程,需要基于前一个时刻的参考轨道位置、速度和状态转移矩阵等信息,得到当前时刻的参考轨道位置、速度和状态转移矩阵。

步骤S605、服务器基于卫星轨道数据、参考轨道位置和状态转移矩阵,通过最小二乘整体解的方式得到每颗卫星的参考时刻卫星轨道状态参数。该参考时刻卫星轨道状态参数可以包括但不限于参考时刻卫星位置、速度、动力学模型参数以及经验力参数。

步骤S606、服务器根据参考时刻卫星轨道状态参数和卫星动力学模型,通过数值积分的方式得到未来预设时间段的卫星轨道。此时,得到的未来预设时间段的卫星轨道为惯性系下的卫星轨道。

步骤S607、服务器根据EOP数据,将惯性系下的未来预设时间段的卫星轨道转换至地固系下,得到未来预设时间段的预报轨道。

具体应用中,服务器可以根据EOP数据中的EOP预报值,将步骤S606中得到惯性系的卫星轨道转换至地固系。

由上可见,在该卫星预报轨道流程中,针对不同类型的卫星使用不同的太阳光压模型,提高了卫星轨道预报精度。进一步地,将最优拟合时长设为两天,以更精确地估计卫星轨道动力学参数,进一步提高卫星轨道预报精度。

当然,在另一些实施例中,也可以采用现有的卫星轨道预报方式进行卫星轨道预报。

也就是说,针对卫星轨道预报流程,服务器可以采用本申请实施例提出的改进的卫星轨道预报流程,也可以采用现有的卫星轨道预报流程。

同理,针对卫星钟差预报流程而言,服务器可以采用本申请实施例提出的改进的卫星钟差预报流程,也可以采用现有的卫星钟差预报流程。本申请实施例提出的改进的卫星钟差预报流程如图7所示。

参见图7示出的本申请实施例提供的卫星钟差预报流程示意框图,该流程可以包括以下步骤:

步骤S701、服务器基于广播星历钟差数据,修正精密星历钟差数据的基准偏差,得到修正后的精密星历钟差数据,卫星钟差数据包括广播星历钟差数据和精密星历钟差数据。

需要说明的是,GNSS卫星搭载的原子钟的钟差通常采用一次多项式或二次多项式进行描述。示例性地,广播星历钟差可以如下式(1)所示。

其中,clk

精密星历钟差数据可以如下式(2)所示。

其中,b(t)为基准偏差。

相较而言,精密星历钟差数据比广播星历钟差数据具有更高的精度,基于精密星历钟差数据可以生成精度更高的预报钟差。但精密钟差与广播星历钟差相比,存在一个时变的基准偏差b(t)。并且,不同来源的精密星历钟差数据,基准偏差b(t)各不相同。

基准偏差b(t)会影响到钟差预报的精度,为了进一步提高卫星钟差预报精度,可以在使用精密星历钟差数据进行卫星钟差预报之前,对精密星历钟差数据进行修正,再使用修正后的精密星历钟差数据进行卫星钟差预报。

在一些实施例中,参见图8示出的精密星历钟差数据的基准偏差修正过程示意框图,该修正过程可以包括以下步骤:

步骤S801、服务器将同一个历元的广播星历钟差序列和精密星历钟差序列作差,得到每个历元的差值序列,其中,广播星历钟差数据包括各个历元的广播星历钟差序列,精密星历钟差数据包括各个历元的精密星历钟差序列。

示例性地,某个历元下的GPS广播星历钟差和精密钟差分别对应32个钟差序列(即32颗星),其中,广播星历钟差序列为:

此时,将该历元下的广播星历钟差序列和精密星历钟差序列作差,得到该历元下的差值序列为:

可以理解的是,每个历元均对应有一个差值序列。

步骤S802、服务器确定每个差值序列的平均值和标准差。

具体地,在得到每个历元的差值序列之后,针对每个差值序列,计算该差值序列的平均值和标准差。

示例性地,某个历元下的差值序列为:

步骤S803、针对每个差值序列,服务器根据平均值和标准差,去除差值序列中不符合预设条件的差值点,得到目标差值序列。

在一些实施例中,可以采用迭代的方式,通过3sigma剔除差值序列中的异常差值。具体地,针对每个差值序列,基于平均值和标准差,判断差值序列中的每个差值点是否满足

可以理解的是,差值序列中存在多个差值点,基于差值序列的标准差和平均值,判断差值序列中每个差值点是否满足

如果某个差值点满足

在完成第一轮的异常差值剔除过程之后,基于剔除差值点之后的差值序列,进行下一轮的异常差值剔除过程。

在下一轮的异常差值剔除过程中,服务器计算剔除差值点之后的差值序列的平均值和标准差,根据该平均值和该标准差,判断剔除差值点之后的差值序列中每个差值点是否满足

迭代进行上述异常差值剔除过程,直到某个差值序列中没有差值点被剔除,该差值序列则为目标差值序列。

在迭代过程中,在进行第一轮异常差值剔除过程之后,可以看作是将剔除差值点之后的差值序列作为差值序列,并返回基于平均值和标准差,判断差值序列中的每个差值点是否满足

举例来说,某个差值序列为

首先,计算该差值序列的平均值和标准差,并分别判断这32个差值点是否满足

然后,进行下一轮异常差值点剔除过程。此时,计算包括30个差值点的差值序列的平均值和标准差,并基于该平均值和标准差,分别判断这30个差值点是否满足

接着,再进行下一轮异常差值点剔除过程。此时,计算包括29个差值点的差值序列的平均值和标准差,并基于该平均值和标准差,分别判断这29个差值点是否满足

接着,再进行下一轮异常差值点剔除过程。此时,计算包括28个差值点的差值序列的平均值和标准差,并基于该平均值和标准差,分别判断这28个差值点是否满足

需要说明的是,在实际应用中,也可以只进行一轮异常差值点剔除过程。

步骤S804、服务器根据目标差值序列,计算基准偏差。

示例性地,通过下式(3)计算基准偏差。

其中,N表示目标差值序列中包括的钟差差值个数,例如,经过多轮异常差值点剔除之后,目标序列中还剩余28个差值点,即目标序列中包括28个差值点,此时,N=28。

步骤S805、服务器将精密星历钟差数据和基准偏差作差,得到修正后的精密星历钟差数据。

具体地,服务器可以将卫星钟差数据中的精密星历钟差数据减去基准偏差,得到修正后的精密星历钟差数据。

需要说明的是,基于广播星历钟差数据修正精密星历钟差数据,可以进一步提高卫星钟差预报精度和可靠性。

步骤S702、服务器根据每颗卫星的修正后的精密星历钟差数据中的单天钟差数据,拟合得到每颗卫星的单天钟速。

可以理解的是,修正后的精密星历钟差数据中包括各颗卫星一天或多天的钟差数据,基于每颗卫星的单天钟差数据,对每颗卫星均进行单天拟合,得到单天钟速。

在一些实施例中,服务器可以先对修正后的精密星历钟差数据中的单天钟差数据进行粗差探测,得到粗差探测后的精密星历钟差数据。

在粗差探测时,如果原始钟差时间序列中的a

本申请实施例中,粗差探测方法可以是任意的,例如,粗查探测方法可以是中位数探测。

需要说明的是,在其它一些实施例中,服务器也可以不用对钟差数据进行粗差探测。但相较而言,粗差探测可以剔除钟差数据中的粗差,使得后续的钟差预报精度更高。

在粗差探测后,服务器将粗差探测后的精密星历钟差数据作为观测值,建立每颗卫星的一次多项式模型或二次多项式模型。示例性地,某颗卫星的观测方程如下式(4)所示。

其中,a

服务器基于每颗卫星的单天钟差数据,使用最小二乘法对钟差进行单天拟合,计算出每颗卫星每天的钟差模型系数。例如,以上式(4)为例,对钟差进行单天拟合,得到每颗卫星每天的钟差模型系数a

可以理解的是,假如没有进行粗差探测,则直接使用修正后的精密星历钟差数据作为观测值,拟合出每颗卫星的单天钟速。

步骤S703、服务器基于每颗卫星的单天钟速,得到每颗卫星的钟速时间序列。

可以理解的是,服务器基于每颗卫星每一天的卫星钟差数据,可以得到每颗卫星多天的钟差模型系数a

步骤S704、服务器根据每颗卫星的钟速时间序列,拟合得到每颗卫星的钟速变化率。

在一些实施例中,针对每颗卫星,可以使用滑动窗口对钟速时间序列进行拟合,即使用滑动窗口在钟速时间序列中滑动,在滑动窗口滑动过程中,每当滑动窗口内的钟速数量大于或等于预设数量时,则根据当前时刻滑动窗口内的钟速和上一次拟合得到的拟合结果,预报下一个时刻的预报钟速。

然后,判断下一个时刻的预报钟速和待加入滑动窗口的钟速之间的差值是否小于或等于第一预设阈值,如果预报钟速和待加入滑动窗口的钟速之间的差值小于或等于第一预设阈值,则可以让待加入滑动窗口的钟速参与到下一次钟速变化率的拟合过程,即将待加入窗口的钟速加入到滑动窗口后,根据滑动窗口内的钟速进行拟合,得到当次拟合的钟速变化率和拟合残差。

需要说明的是,待加入滑动窗口的钟速是下一个时刻的真实钟速。例如,某颗卫星的钟速时间序列包括5个钟速,这5个钟速按照时间先后顺序依次为b

假设t

得到当次钟速变化率和拟合残差之后,进一步判断拟合残差是否小于或等于第二预设阈值,如果拟合残差小于或等于第二预设阈值,则将当次钟速变化率作为该颗卫星的钟速变化率。反之,如果拟合残差大于第二预设阈值,则认为出现粗差或者a

如果预报钟速和待加入滑动窗口的钟速之间的差值大于第一预设阈值,则重置滑动窗口,并继续向前滑动,直到遍历完钟速时间序列或者拟合残差小于或等于第二预设阈值。

需要说明的是,上述第一预设阈值和第二预设阈值、预设数量可以根据实际需要进行设定,在此不作限定。

举例来说,滑动窗口的大小为5,即预先设置滑动窗口内所能容纳的钟速数量为5个。另外,设置当滑动窗口内的钟速数量大于或等于3个时,则开始根据滑动窗口内的钟速进行拟合和预报,即预设数量为3,每当滑动窗口内的钟速数量大于或等于3时,则开始根据滑动窗口内的钟速进行拟合和预报。

假设某颗卫星的钟速时间序列包括100个钟速,即t

然后,计算预报钟速B

如果预报钟速B

由上可见,该实施例在基于钟速时间序列拟合钟速变化率,通过滑动窗口对拟合预报的钟速和拟合残差进行异常检测,提高了钟速变化率的准确性,进而提高了卫星钟差预报的精度和可靠性。

当然,在其它一些实施例中,也可以采用现有的钟速变化率拟合方式。

步骤S705、服务器根据每颗卫星的钟差初始值、钟速以及钟速变化率,得到每颗卫星在未来预设时间段内的预报钟差。

具体应用中,服务器基于每颗卫星的钟速时间序列,拟合出钟速变化率之后,根据参考时间的卫星钟差a

由上可见,本申请实施例提出的改进的卫星钟差预报流程,可以进一步提高了卫星钟差预报的精度和可靠性。

步骤S503、服务器将预报轨道拟合成轨道参数后,将属于同一个轨道面的卫星的轨道参数进行编码,得到每个轨道面的轨道参数编码。

步骤S504、服务器将预报钟差拟合成钟差参数后,对钟差参数进行编码,得到钟差参数编码。

具体应用中,针对预报钟差,服务器将预报钟差拟合成钟差参数后,再对钟差参数进行编码,得到钟差参数编码。

针对预报轨道,服务器为了将预报轨道发送至终端设备,可以采用一组开普勒轨道参数,对卫星预报轨道进行分段拟合,以得到每段预报轨道的轨道参数。

服务器将预报轨道拟合成轨道参数的过程可以如下:

首先,服务器对预报轨道进行等间隔采样,得到每个采样点的卫星位置。采样间隔可以根据实际需要进行设定,例如,采样间隔可以为5分钟,即服务器每隔5分钟则采样一次,此时,假设初始采样点为T

然后,服务器按照时间对多个采样点进行分段,得到分段结果。示例性地,采用4小时进行分段,5分钟间隔采样得到的分段结果如表2所示。

表2

如上表2所示,4个小时一共有240分钟,每隔5分钟采样一次,故一共有49个采样点,分别为T

对预报轨道进行采样和分段之后,可以采用16参数广播星历模型或者18参数广播星历模型,对每段预报轨道进行拟合,得到每段预报轨道对应的广播星历参数。拟合过程中可采用最小二乘法等拟合算法。示例性地,16参数广播星历模型可以如下表3所示。

表3

需要说明的是,服务器将预报轨道分段拟合成轨道参数之后,可以直接将轨道参数发送至终端设备。但是,轨道星历参数的数据量较多,直接将轨道星历参数发送至终端设备,会导致参数播发数据量较多。

为了在不提升编码复杂的前提下,降低参数播发数据量,本申请实施例提出一种基于轨道面的星历参数播发方式,该方式将同属一个轨道面的轨道星历参数进行编码,得到每个轨道面的轨道星历参数编码。其中,同一个轨道面的卫星的轨道星历参数具有较强的一致性,因此可以将同一个轨道面的轨道星历参数进行编码。

具体来说,服务器先确定属于同一个轨道面的卫星,然后将属于同一个轨道面的卫星对应的轨道参数进行编码,得到该轨道面的轨道星历参数编码。示例性地,参见图10示出的基于轨道面的轨道星历参数编码方式示意图,如图10所示,对轨道面1的原始广播星历参数进行编码后,得到轨道面1的星历参数编码1,同理,对轨道面N的原始广播星历参数星历参数编码后,得到轨道面N的星历参数编码N。其中,原始广播星历参数是指服务器使用开普勒轨道参数对预报轨道进行分段拟合得到的星历参数。

在得到星历参数编码1,…,星历参数编码N之后,服务器将星历参数编码1,…,星历参数编码N发送至终端设备,而不是将原始广播星历参数发送至终端设备。这样,可以降低星历参数播发数据量。示例性地,下表4示出了基于原始广播星历参数播发和基于轨道面播发的数据量对比。

表4

由上表4可见,基于轨道面的播发方式比基于原始广播星历参数的播发方式的数据量要小。

需要说明的是,在对同一个轨道面的原始星历参数进行编码时,可以先对其中一个卫星的原始星历参数进行正常编码,然后再基于该正常编码的卫星的星历参数,对同一轨道面的其它卫星的星历参数进行增量编码,最终得到该轨道面的星历参数编码。

例如,轨道面1包括3颗卫星,选取这3颗卫星中的一颗卫星作为目标卫星,对目标卫星的原始广播星历参数进行正常编码,得到该目标卫星的轨道星历参数编码。而针对除了目标卫星之外的两颗卫星,基于目标卫星的星历参数编码,进行增量编码。

步骤S505、服务器向终端设备发送星历参数编码,星历参数编码包括钟差参数编码和每个轨道面的轨道参数编码。

可以理解的是,终端设备可以通过网络请求方式,从服务器获取预报轨道和预报钟差。服务器接收到终端设备的请求之后,可以响应于该请求,将钟差参数编码和每个轨道面的轨道参数编码发送至终端设备。终端设备获取到星历参数编码之后,通过对轨道参数编码进行解码得到每颗卫星的轨道星历参数,再基于轨道星历参数和钟差参数,计算出所有可见GNSS卫星的位置、速度和钟差,最后根据可见GNSS卫星的位置和速度,以及观测量等,确定当前所在位置和/或当前速度。

由上可见,本申请实施例在将预报轨道分段拟合成轨道星历参数之后,再基于轨道面对轨道星历参数进行编码,得到每个轨道面的轨道星历参数编码,可以有效地降低参数播发数据量。

进一步地,本申请实施例还提供了一种改进的卫星轨道预报流程,提高了卫星轨道预报精度。

进一步地,本申请实施例还提供了一种改进的卫星钟差预报流程,提高了卫星钟差预报精度和可靠性。

在一些实施例中,本申请实施例提供了另一种星历预报方案。参见图11,为本申请实施例提供的星历预报方法的另一种流程示意框图,该星历预报方法可以包括以下步骤:

步骤S1101、服务器获取EOP数据和预设时段的历史星历数据。

步骤S1102、服务器根据EOP数据和历史星历数据进行卫星轨道预报和卫星钟差预报,得到未来预设时间段的预报轨道和预报钟差。

需要说明的是,步骤S1101和步骤S1102的相关介绍可以参见上文的步骤S501和步骤S502,在此不再赘述。

其中,服务器在卫星轨道预报时,可以使用现有的卫星轨道预报方式进行卫星轨道预报,也可以使用本申请实施例提供的改进的卫星轨道预报方式进行卫星轨道预报。

服务器在卫星钟差预报时,可以使用现有的卫星钟差预报方式进行卫星钟差预报,也可以使用本申请实施例提供的改进的卫星钟差预报方式进行钟差预报。改进的卫星轨道预报流程可以参见上文图6和相关内容,改进的卫星钟差预报流程可以参见上文图7和相关内容,在此不再赘述。

步骤S1103、服务器使用多项式模型将预报轨道拟合成多项式系数,将预报钟差拟合成钟差参数。

需要说明的是,该多项式模型包括基函数和基函数的系数。例如,该多项式模型为切比雪夫多项式模型,其基函数为:

T

其中,n表示基函数阶数。

使用基函数可以表示GNSS卫星位置。例如,基函数为上式(5)时,卫星位置可以为:

其中,x(t)、y(t)以及z(t)表示卫星三维位置。

服务器使用多项式将预报轨道拟合成多项式系数的过程可以包括:

首先,服务器对预报轨道进行等间隔采样和分段,得到分段结果。采样和分段的介绍可以参见上文步骤S503中的相关内容,在此不再赘述。

然后,服务器选取合适的基函数阶数n后,使用基函数表示每个采样点的卫星位置,以确定出每个采样点的卫星位置对应的基函数系数。

例如,某一段预报轨道的分段结果如表2所示,使用上式(6)分别表示T

另外,服务器将预报钟差拟合成钟差参数。

步骤S1104、服务器向终端设备发送多项式系数和钟差参数。

可以理解的是,终端设备可以通过网络请求方式,从服务器获取预报轨道和预报钟差。服务器接收到终端设备的请求之后,可以响应于该请求,将多项式系数和钟差参数发送至终端设备。

具体地,终端设备接收来自发生器的多项式系数和钟差参数,终端设备获取到多项式系数之后,可以根据钟差参数计算可见GNSS卫星的卫星钟差,根据基函数和多项式系数,计算出GNSS卫星的位置,根据多项式系数和基函数导数计算出GNSS卫星的速度。

其中,基函数导数可以示例性为:

F

使用公式(7)示出的基函数导数,计算GNSS卫星速度可以如下式(8)所示:

需要说明的是,使用多项式模型将预报轨道拟合成多项式系数,可以降低终端设备定位过程中的运算量、运算耗时和GNSS芯片功耗。

具体来说,当服务器采用开普勒参数将预报轨道分段拟合成广播星历参数时,终端设备接收到服务器的广播星历参数之后,会基于广播星历参数计算出所有可见GNSS卫星的位置和速度。一方面,终端设备基于广播星历参数计算单颗GNSS卫星的位置和速度的过程中,涉及很多复杂的浮点运算,进而导致运算量较大,占用处理器很多的资源。另一方面,目前的每个定位历元中,可见GNSS卫星的数目高达50颗甚至更多。可见GNSS卫星数目越多,运算量也会越大。例如,假设终端设备每秒定位一次,终端设备在每秒内需要进行50多次GNSS卫星位置解算过程和速度解算过程,运算量十分庞大,功耗较高。

也就是说,终端设备基于广播星历参数计算GNSS卫星的位置和速度,运算量较大,运算耗时较长,GNSS芯片功耗较高。

而本申请实施例通过使用多项式模型将预报轨道分段拟合成多项式系数,终端设备接收到多项式系数之后,只需要根据多项式系数和基函数,即可计算出GNSS卫星的位置,根据多项式系数和基函数导数即可计算出卫星速度,计算过程中涉及较少的浮点运算,降低了运算量,减少了运算耗时,进而降低了GNSS芯片功耗。

另外,在对预报轨道进行分段拟合过程中,拟合误差会随着拟合时长的增加而变大。为了保证精度,在现有AGNSS和PGNSS方案中,每组广播星历参数拟合时长通常为4小时。

而本申请实施例中,通过多项式模型对预报轨道进行分段拟合,当基函数阶数n为18时,在相同精度情况下,每组参数有效期可长达12小时,这就意味着GNSS芯片可采用更低的参数更新频率。

由上可见,针对终端设备一侧来说,本申请实施例通过多项式模型对预报轨道拟合成多项式系数,有效地降低了终端设备定位过程的运算量,进而降低了GNSS定位过程中的功耗。

进一步地,本申请实施例还提供了一种改进的卫星轨道预报流程,提高了卫星轨道预报精度。

进一步地,本申请实施例还提供了一种改进的卫星钟差预报流程,提高了卫星钟差预报精度和可靠性。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

本申请实施例可以根据上述方法示例对终端和服务器进行功能模块的划分,例如,可以对应每一个功能划分每一个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以采用对应每一个功能划分每一个功能模块为例进行说明:

参见图12示出本申请实施例提供的星历预报装置的结构示意框图,该星历预报装置可以应用于服务器,该星历预报装置可以包括:

第一获取模块121,用于获取EOP数据和预设时段的历史星历数据。

第一预报模块122,用于根据EOP数据和历史星历数据进行卫星轨道预报和卫星钟差预报,得到未来预设时间段的预报轨道和预报钟差。

轨道参数编码模块123,用于将预报轨道拟合成轨道参数后,将属于同一个轨道面的卫星的轨道参数进行编码,得到每个轨道面的轨道参数编码;

钟差参数编码模块124,用于将预报钟差拟合成钟差参数后,对钟差参数进行编码,得到钟差参数编码;

第一发送模块125,用于向终端设备发送星历参数编码,该星历参数编码包括钟差参数编码和每个轨道面的轨道参数编码。

在一些可能的实现方式中,上述第一预报模块122具体包括:

第一轨道预报单元,用于根据卫星轨道数据和EOP数据进行卫星轨道预报,得到未来预设时间段的预报轨道;

第一钟差预报单元,用于根据卫星钟差数据进行钟差预报,得到未来预设时间段的预报钟差;

其中,历史星历数据包括卫星轨道数据和卫星钟差数据。

在一些可能的实现方式中,上述第一轨道预报单元具体用于:根据EOP数据,将卫星轨道数据中的地固系下的卫星位置信息转换为惯性系下的卫星位置信息;根据卫星类型和太阳光压模型的对应关系,确定卫星轨道数据中每颗卫星所使用的目标太阳光压模型;基于每颗卫星的目标太阳光压模型和惯性系下的卫星位置信息,建立每颗卫星的卫星运动方程和变分方程;基于每颗卫星的卫星运动方程和变分方程,通过使用数值积分方式得到每颗卫星在各时刻下的参考轨道位置和状态转移矩阵;基于卫星轨道数据、参考轨道位置和状态转移矩阵,通过最小二乘整体解的方式,得到每颗卫星的参考时刻卫星轨道状态参数;根据参考时刻卫星轨道状态参数和卫星动力学模型,通过数值积分的方式得到未来预设时间段的卫星轨道;根据EOP数据,将未来预设时间段的卫星轨道从惯性系转换至地固系,得到未来预设时间段的预报轨道。

在一些可能的实现方式中,上述卫星类型和太阳光压模型的对应关系可以包括:GPS卫星或GLNOSS卫星对应的太阳光压模型为:ECOM5参数模型;Galileo卫星对应的太阳光压模型为:box-wing初始光压模型和ECOM5参数模型;北斗GEO卫星对应的太阳光压模型为:初始光压模型、ECOM5参数模型和周期性经验加速度参数;QZSS卫星对应的太阳光压模型为:初始光压模型和ECOM5参数模型。

在一些可能的实现方式中,上述卫星轨道数据可以包括连续两天的精密轨道产品。

在一些可能的实现方式中,上述第一钟差预报单元具体用于:基于广播星历钟差数据,修正精密星历钟差数据的基准偏差,得到修正后的精密星历钟差数据,卫星钟差数据包括广播星历钟差数据和精密星历钟差数据;根据每颗卫星的修正后的精密星历钟差数据中的单天钟差数据,拟合得到每颗卫星的单天钟速;基于每颗卫星的单天钟速,得到每颗卫星的钟速时间序列;根据每颗卫星的钟速时间序列,拟合得到每颗卫星的钟速变化率;根据每颗卫星的钟差初始值、钟速以及钟速变化率,得到每颗卫星在未来预设时间段内的预报钟差。

在一些可能的实现方式中,上述第一钟差预报单元具体用于:将同一个历元的广播星历钟差序列和精密星历钟差序列作差,得到每个历元的差值序列,其中,广播星历钟差数据包括各个历元的广播星历钟差序列,精密星历钟差数据包括各个历元的精密星历钟差序列;确定每个差值序列的平均值和标准差;针对每个差值序列,根据平均值和标准差,去除差值序列中不符合预设条件的差值点,得到目标差值序列;根据目标差值序列,计算基准偏差;将精密星历钟差数据和基准偏差作差,得到修正后的精密星历钟差数据。

在一些可能的实现方式中,上述第一钟差预报单元具体用于:基于平均值和标准差,判断差值序列中的每个差值点是否满足

在一些可能的实现方式中,上述第一钟差预报单元具体用于:针对每颗卫星,使用滑动窗口对钟速时间序列进行拟合;在滑动窗口滑动过程中,每当滑动窗口内的钟速数量大于或等于预设数量时,则根据当前时刻滑动窗口内的钟速和上一次拟合得到的拟合结果,预报下一个时刻的预报钟速;当下一时刻的预报钟速和待加入滑动窗口的钟速之间的差值小于或等于第一预设阈值时,将待加入滑动窗口的钟速加入到滑动窗口后,根据滑动窗口内的钟速拟合得到当次钟速变化率,并得到拟合残差;若拟合残差小于或等于第二预设阈值,则将当次钟速变化率作为钟速变化率;若拟合残差大于第二预设阈值,则重置滑动窗口后继续向前滑动,直到遍历完钟速时间序列或拟合残差小于或等于第二预设阈值;当下一时刻的钟速和待加入滑动窗口的钟速之间的差值大于第一预设阈值时,则重置滑动窗口后继续向前滑动,直到遍历完钟速时间序列或拟合残差小于或等于第二预设阈值。

上述星历预报装置具有实现上述星历预报方法的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。

需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

参见图13示出本申请实施例提供的星历预报装置的另一种结构示意框图,该星历预报装置可以应用于服务器,该星历预报装置可以包括:

第二获取模块131,用于获取EOP数据和预设时段的历史星历数据。

第二预报模块132,用于根据EOP数据和历史星历数据进行卫星轨道预报和卫星钟差预报,得到未来预设时间段的预报轨道和预报钟差。

钟差拟合模块133,用于将预报钟差拟合成钟差参数。

多项式拟合模块134,用于使用多项式模型,将预报轨道拟合成多项式系数。

第二发送模块135,用于向终端设备发送钟差参数和多项式系数。

在一些可能的实现方式中,上述多项式拟合模块134具体用于:对每颗卫星的预报轨道进行等间隔采样,得到每颗卫星采样后的预报轨道;对每颗卫星的采样后的预报轨道进行分段;根据基函数和基函数的阶数对每颗卫星的每段预报轨道进行拟合,确定基函数系数,并将基函数系数作为多项式系数,多项式系数模型包括基函数。

在一些可能的实现方式中,上述多项式模型的基函数为:T

在一些可能的实现方式中,上述第二预报模块132包括:

第二轨道预报单元,用于根据卫星轨道数据和EOP数据进行卫星轨道预报,得到未来预设时间段的预报轨道;

第二钟差预报单元,用于根据卫星钟差数据进行钟差预报,得到未来预设时间段的预报钟差;

其中,星历数据包括卫星轨道数据和卫星钟差数据。

在一些可能的实现方式中,上述第二轨道预报单元具体用于:根据EOP数据,将卫星轨道数据中的地固系下的卫星位置信息转换为惯性系下的卫星位置信息;根据卫星类型和太阳光压模型的对应关系,确定卫星轨道数据中每颗卫星所使用的目标太阳光压模型;基于每颗卫星的目标太阳光压模型和惯性系下的卫星位置信息,建立每颗卫星的卫星运动方程和变分方程;基于每颗卫星的卫星运动方程和变分方程,通过使用数值积分方式得到每颗卫星在各时刻下的参考轨道位置和状态转移矩阵;基于卫星轨道数据、参考轨道位置和状态转移矩阵,通过最小二乘整体解的方式,得到每颗卫星的参考时刻卫星轨道状态参数;根据参考时刻卫星轨道状态参数和卫星动力学模型,通过数值积分的方式得到未来预设时间段的卫星轨道;根据EOP数据,将未来预设时间段的卫星轨道从惯性系转换至地固系,得到未来预设时间段的预报轨道。

在一些可能的实现方式中,上述卫星类型和太阳光压模型的对应关系可以包括:GPS卫星或GLNOSS卫星对应的太阳光压模型为:ECOM5参数模型;Galileo卫星对应的太阳光压模型为:box-wing初始光压模型和ECOM5参数模型;北斗GEO卫星对应的太阳光压模型为:初始光压模型、ECOM5参数模型和周期性经验加速度参数;QZSS卫星对应的太阳光压模型为:初始光压模型和ECOM5参数模型。

在一些可能的实现方式中,上述卫星轨道数据包括连续两天的精密轨道产品。

在一些可能的实现方式中,上述第二钟差预报单元具体用于:基于广播星历钟差数据,修正精密星历钟差数据的基准偏差,得到修正后的精密星历钟差数据,卫星钟差数据包括广播星历钟差数据和精密星历钟差数据;根据每颗卫星的修正后的精密星历钟差数据中的单天钟差数据,拟合得到每颗卫星的单天钟速;基于每颗卫星的单天钟速,得到每颗卫星的钟速时间序列;根据每颗卫星的钟速时间序列,拟合得到每颗卫星的钟速变化率;根据每颗卫星的钟差初始值、钟速以及钟速变化率,得到每颗卫星在未来预设时间段内的预报钟差。

在一些可能的实现方式中,上述第二钟差预报单元具体用于:将同一个历元的广播星历钟差序列和精密星历钟差序列作差,得到每个历元的差值序列,其中,广播星历钟差数据包括各个历元的广播星历钟差序列,精密星历钟差数据包括各个历元的精密星历钟差序列;确定每个差值序列的平均值和标准差;针对每个差值序列,根据平均值和标准差,去除差值序列中不符合预设条件的差值点,得到目标差值序列;根据目标差值序列,计算基准偏差;将精密星历钟差数据和基准偏差作差,得到修正后的精密星历钟差数据。

在一些可能的实现方式中,上述第二钟差预报单元具体用于:基于平均值和标准差,判断差值序列中的每个差值点是否满足

在一些可能的实现方式中,上述第二钟差预报单元具体用于:针对每颗卫星,使用滑动窗口对钟速时间序列进行拟合;在滑动窗口滑动过程中,每当滑动窗口内的钟速数量大于或等于预设数量时,则根据当前时刻滑动窗口内的钟速和上一次拟合得到的拟合结果,预报下一个时刻的预报钟速;当下一时刻的预报钟速和待加入滑动窗口的钟速之间的差值小于或等于第一预设阈值时,将待加入滑动窗口的钟速加入到滑动窗口后,根据滑动窗口内的钟速拟合得到当次钟速变化率,并得到拟合残差;若拟合残差小于或等于第二预设阈值,则将当次钟速变化率作为钟速变化率;若拟合残差大于第二预设阈值,则重置滑动窗口后继续向前滑动,直到遍历完钟速时间序列或拟合残差小于或等于第二预设阈值;当下一时刻的钟速和待加入滑动窗口的钟速之间的差值大于第一预设阈值时,则重置滑动窗口后继续向前滑动,直到遍历完钟速时间序列或拟合残差小于或等于第二预设阈值。

上述星历预报装置具有实现上述星历预报方法的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。

需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

参见图14示出本申请实施例提供的星历预报装置的另一种结构示意框图,该星历预报装置可以应用于终端设备,该星历预报装置可以包括:

接收模块141,用于接收来自服务器的多项式系数和钟差参数。

第一确定模块142,用于根据多项式系数,确定可见GNSS卫星的位置和速度。

第二确定模块143,用于根据钟差参数,确定可见GNSS卫星的钟差;

第三确定模块144,用于根据可见GNSS卫星的位置、速度和钟差,确定当前位置和/或速度。

在一些可能的实现方式中,上述第一确定模块142具体用于:

根据多项式系数和多项式模型的基函数,确定可见GNSS卫星的位置;

根据多项式系数和多项式模型的基函数导数,确定可见GNSS卫星的速度。

其中,上述多项式模型的基函数为:

T

其中,n表示基函数阶数;

基于基函数,GNSS卫星的位置为:

其中,x(t)、y(t)以及z(t)表示卫星三维位置。

基函数导数为:

F

基于基函数导数,GNSS卫星的速度为:

上述星历预报装置具有实现上述星历预报方法的功能,该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现,硬件或软件包括一个或多个与上述功能相对应的模块,模块可以是软件和/或硬件。

需要说明的是,上述装置/模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

本申请实施例提供的终端设备,可以包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述终端设备一侧的星历预报方法实施例中任一项的方法。

本申请实施例提供一种服务器,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述服务器一侧的星历预报方法实施例中任一项的方法。

本申请实施例还提供了一种星历预报系统,该系统包括服务器和终端设备,其中,服务器用于实现如上述服务器一侧的星历预报方法实施例中任一项的方法。终端设备用于实现如上述终端设备一侧的星历预报方法实施例中任一项的方法。

本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行时实现可实现上述各个方法实施例中的步骤。

本申请实施例还提供一种芯片系统,所述芯片系统包括处理器,所述处理器与存储器耦合,所述处理器执行存储器中存储的计算机程序,以实现如上述各个方法实施例所述的方法。所述芯片系统可以为单个芯片,或者多个芯片组成的芯片模组。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。此外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。

最后应说明的是:以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 星历预报方法和装置
  • 低轨卫星星历预报装置及应用方法
技术分类

06120114707394