星历收集方法、装置、卫星导航接收机及存储介质与流程

文档序号:19672362发布日期:2020-01-10 22:47阅读:489来源:国知局
星历收集方法、装置、卫星导航接收机及存储介质与流程

本公开涉及通信技术领域,尤其涉及一种星历收集方法、装置、卫星导航接收机及存储介质。



背景技术:

卫星导航接收机收集星历的速度是影响北斗导航定位系统冷启动首次定位时间的一个关键因素。

相关技术中,卫星导航接收机接收卫星播放的星历信息,星历信息包括三个子帧,每个子帧包括字1到字10这十个字。对于每个子帧,卫星导航接收机对该子帧的十个字依次进行字校验,在这十个字的字校验全部通过后,才能成功收集该子帧的信息,若其中存在一个字的字校验失败,则该子帧收集失败,需要再等待一段时间才能再次有机会收集到该子帧的信息。

当卫星导航接收机处于城市峡谷环境等卫星信号较为微弱的情况下,随着信号能量降低,误码率增加,这种方法会导致收集星历的时长大幅增加,严重影响冷启动首次定位时间这一关键指标。



技术实现要素:

有鉴于此,本公开提出了一种星历收集方法、装置、卫星导航接收机及存储介质。

根据本公开的一方面,提供了一种星历收集方法,用于卫星导航接收机中,所述方法包括:

获取第n轮星历信息和第m轮星历信息,所述第n轮星历信息和所述第m轮星历信息为目标卫星播发的星历内容相同的两轮星历信息,所述第n轮星历信息和所述第m轮星历信息均存在字校验失败情况,所述n和所述m均为正整数;

根据所述第n轮星历信息和所述第m轮星历信息,收集正确的星历内容。

在一种可能的实现方式中,所述第n轮星历信息和所述第m轮星历信息均对应多个子帧,所述根据所述第n轮星历信息和所述第m轮星历信息,收集正确的星历内容,包括:

对于每个所述子帧,将所述第n轮星历信息中的子帧信息与所述第m轮星历信息中的子帧信息进行比对,确定正确子帧信息。

在另一种可能的实现方式中,所述对于每个所述子帧,将所述第n轮星历信息中的子帧信息与所述第m轮星历信息中的子帧信息进行比对,确定正确子帧信息,包括:

对于每个所述子帧,将所述子帧的当前检测字初始化设置为1,所述当前检测字用于指示所述第n轮星历信息中的子帧信息中的第n轮检测字和所述第m轮星历信息中的子帧信息中的第m轮检测字;

根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,确定所述当前检测字的正确比特信息;

当所述当前检测字等于最大当前检测字时,得到所述子帧的所述正确子帧信息;

当所述当前检测字不等于所述最大当前检测字时,将所述当前检测字加一,继续执行根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,确定所述当前检测字的正确比特信息的步骤。

在另一种可能的实现方式中,所述根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,确定所述当前检测字的正确比特信息,包括:

确定所述第n轮检测字和所述第m轮检测字各自对应的极性参数,所述极性参数用于指示字的极性是否已知;

当所述第n轮检测字和所述第m轮检测字中存在至少一个字的极性已知时,根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,确定所述当前检测字的正确比特信息。

在另一种可能的实现方式中,所述极性参数包括第一极性值、第二极性值和第三极性值中的一种,所述第一极性值用于指示字的极性已知且极性为正,所述第二极性值用于指示字的极性已知且极性为负,所述第三极性值用于指示字的极性未知。

在另一种可能的实现方式中,所述当前检测字为1,所述确定所述第n轮检测字和所述第m轮检测字各自对应的极性参数,包括:

当所述第n轮检测字的字校验参数为第一校验值时,根据所述第n轮检测字的同步码信息将所述第n轮检测字的极性值赋值给所述第n轮检测字的极性参数;

当所述第n轮检测字的字校验参数为第二校验值时,将所述第三极性值赋值给所述第n轮检测字的极性参数;

当所述第m轮检测字的字校验参数为所述第一校验值时,根据所述第m轮检测字的同步码信息将所述第m轮检测字的极性值赋值给所述第m轮检测字的极性参数;

当所述第m轮检测字的字校验参数为所述第二校验值时,将所述第三极性值赋值给所述第m轮检测字的极性参数;

其中,所述字校验参数包括所述第一校验值和所述第二校验值中的一种,所述第一校验值用于指示字校验成功,所述第二校验值用于指示字校验失败。

在另一种可能的实现方式中,所述当所述第n轮检测字和所述第m轮检测字中存在至少一个字的极性已知时,根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,确定所述当前检测字的正确比特信息,包括:

判断所述第n轮检测字和所述第m轮检测字是否满足第一预设条件;

当所述第n轮检测字和所述第m轮检测字不满足所述第一预设条件时,判断所述第n轮检测字和所述第m轮检测字是否满足第二预设条件;

当所述第n轮检测字和所述第m轮检测字满足所述第二预设条件时,根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,对所述第三极性值对应的字的极性参数进行重新赋值;根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息和极性参数,确定所述当前检测字的所述正确比特信息;

当所述第n轮检测字和所述第m轮检测字不满足所述第二预设条件时,根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息和极性参数,确定所述当前检测字的所述正确比特信息;

其中,所述第一预设条件包括:所述第n轮检测字和所述第m轮检测字各自对应的极性参数均为所述第三极性值;所述第二预设条件包括:所述第n轮检测字的极性参数或者所述第m轮检测字的极性参数为所述第三极性值,且所述第n轮检测字的字校验参数和所述第m轮检测字的字校验参数均为所述第一校验值。

在另一种可能的实现方式中,所述方法还包括:

当所述第n轮检测字和所述第m轮检测字满足所述第一预设条件时,确定所述子帧的子帧信息收集失败。

在另一种可能的实现方式中,所述当所述第n轮检测字和所述第m轮检测字满足所述第二预设条件时,根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,对所述第三极性值对应的字的极性参数进行重新赋值,包括:

当所述第n轮检测字和所述第m轮检测字满足所述第二预设条件,且所述第n轮检测字的原始比特信息与所述第m轮检测字的原始比特信息相同时,将目标字的极性参数赋值给所述第三极性值对应的字的极性参数;

当所述第n轮检测字和所述第m轮检测字满足所述第二预设条件,且所述第n轮检测字的原始比特信息与所述第m轮检测字的原始比特信息相反时,将1与所述目标字的极性参数的差赋值给所述第三极性值对应的字的极性参数;

其中,所述目标字为所述第n轮检测字和所述第m轮检测字中极性参数不是所述第三极性值的字。

在另一种可能的实现方式中,所述根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息和极性参数,确定所述当前检测字的所述正确比特信息,包括:

当所述第n轮检测字的极性参数为所述第一极性值时,确定所述当前检测字的所述正确比特信息为所述第n轮检测字的原始比特信息;

当所述第n轮检测字的极性参数为所述第二极性值时,确定所述当前检测字的所述正确比特信息为所述第n轮检测字的原始比特信息取反的内容;

当所述第n轮检测字的极性参数为所述第三极性值且所述第m轮检测字的极性参数为所述第一极性值时,确定所述当前检测字的所述正确比特信息为所述第m轮检测字的原始比特信息;

当所述第n轮检测字的极性参数为所述第三极性值且所述第m轮检测字的极性参数为所述第二极性值时,确定所述当前检测字的所述正确比特信息为所述第m轮检测字的原始比特信息取反的内容。

在另一种可能的实现方式中,所述当所述当前检测字不等于所述最大当前检测字时,将所述当前检测字加一,继续执行根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,确定所述当前检测字的正确比特信息的步骤,包括:

当所述当前检测字不等于所述最大检测字数值时,将所述当前检测字加一;

判断所述第n轮检测字和所述第m轮检测字各自对应的字校验参数是否为所述第二校验值;

当所述第n轮检测字的字校验参数为所述第二校验值时,将所述第n轮检测字的极性参数重新赋值为所述第三极性值;

当所述第m轮检测字的字校验参数为所述第二校验值时,将所述第m轮检测字的极性参数重新赋值为所述第三极性值;

在判断完成后,继续执行判断所述第n轮检测字和所述第m轮检测字是否满足第一预设条件的步骤。

在另一种可能的实现方式中,所述第n轮星历信息和所述第m轮星历信息均为b1i信号的d1导航电文的星历信息。

根据本公开的另一方面,提供了一种星历收集装置,用于卫星导航接收机中,所述装置包括:

获取模块,用于获取第n轮星历信息和第m轮星历信息,所述第n轮星历信息和所述第m轮星历信息为目标卫星播发的星历内容相同的两轮星历信息,所述第n轮星历信息和所述第m轮星历信息均存在字校验失败情况,所述n和所述m均为正整数;

收集模块,用于根据所述第n轮星历信息和所述第m轮星历信息,收集正确的星历内容。

在一种可能的实现方式中,所述第n轮星历信息和所述第m轮星历信息均对应多个子帧,所述收集模块,还用于对于每个所述子帧,将所述第n轮星历信息中的子帧信息与所述第m轮星历信息中的子帧信息进行比对,确定正确子帧信息。

在另一种可能的实现方式中,所述收集模块,还用于:

对于每个所述子帧,将所述子帧的当前检测字初始化设置为1,所述当前检测字用于指示所述第n轮星历信息中的子帧信息中的第n轮检测字和所述第m轮星历信息中的子帧信息中的第m轮检测字;

根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,确定所述当前检测字的正确比特信息;

当所述当前检测字等于最大当前检测字时,得到所述子帧的所述正确子帧信息;

当所述当前检测字不等于所述最大当前检测字时,将所述当前检测字加一,继续执行根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,确定所述当前检测字的正确比特信息的步骤。

在另一种可能的实现方式中,所述收集模块,还用于:

确定所述第n轮检测字和所述第m轮检测字各自对应的极性参数,所述极性参数用于指示字的极性是否已知;

当所述第n轮检测字和所述第m轮检测字中存在至少一个字的极性已知时,根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,确定所述当前检测字的正确比特信息。

在另一种可能的实现方式中,所述极性参数包括第一极性值、第二极性值和第三极性值中的一种,所述第一极性值用于指示字的极性已知且极性为正,所述第二极性值用于指示字的极性已知且极性为负,所述第三极性值用于指示字的极性未知。

在另一种可能的实现方式中,所述当前检测字为1,所述收集模块,还用于:

当所述第n轮检测字的字校验参数为第一校验值时,根据所述第n轮检测字的同步码信息将所述第n轮检测字的极性值赋值给所述第n轮检测字的极性参数;

当所述第n轮检测字的字校验参数为第二校验值时,将所述第三极性值赋值给所述第n轮检测字的极性参数;

当所述第m轮检测字的字校验参数为所述第一校验值时,根据所述第m轮检测字的同步码信息将所述第m轮检测字的极性值赋值给所述第m轮检测字的极性参数;

当所述第m轮检测字的字校验参数为所述第二校验值时,将所述第三极性值赋值给所述第m轮检测字的极性参数;

其中,所述字校验参数包括所述第一校验值和所述第二校验值中的一种,所述第一校验值用于指示字校验成功,所述第二校验值用于指示字校验失败。

在另一种可能的实现方式中,所述收集模块,还用于:

判断所述第n轮检测字和所述第m轮检测字是否满足第一预设条件;

当所述第n轮检测字和所述第m轮检测字不满足所述第一预设条件时,判断所述第n轮检测字和所述第m轮检测字是否满足第二预设条件;

当所述第n轮检测字和所述第m轮检测字满足所述第二预设条件时,根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息,对所述第三极性值对应的字的极性参数进行重新赋值;根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息和极性参数,确定所述当前检测字的所述正确比特信息;

当所述第n轮检测字和所述第m轮检测字不满足所述第二预设条件时,根据所述第n轮检测字和所述第m轮检测字各自对应的原始比特信息和极性参数,确定所述当前检测字的所述正确比特信息;

其中,所述第一预设条件包括:所述第n轮检测字和所述第m轮检测字各自对应的极性参数均为所述第三极性值;所述第二预设条件包括:所述第n轮检测字的极性参数或者所述第m轮检测字的极性参数为所述第三极性值,且所述第n轮检测字的字校验参数和所述第m轮检测字的字校验参数均为所述第一校验值。

在另一种可能的实现方式中,所述收集模块,还用于当所述第n轮检测字和所述第m轮检测字满足所述第一预设条件时,确定所述子帧的子帧信息收集失败。

在另一种可能的实现方式中,所述收集模块,还用于:

当所述第n轮检测字和所述第m轮检测字满足所述第二预设条件,且所述第n轮检测字的原始比特信息与所述第m轮检测字的原始比特信息相同时,将目标字的极性参数赋值给所述第三极性值对应的字的极性参数;

当所述第n轮检测字和所述第m轮检测字满足所述第二预设条件,且所述第n轮检测字的原始比特信息与所述第m轮检测字的原始比特信息相反时,将1与所述目标字的极性参数的差赋值给所述第三极性值对应的字的极性参数;

其中,所述目标字为所述第n轮检测字和所述第m轮检测字中极性参数不是所述第三极性值的字。

在另一种可能的实现方式中,所述收集模块,还用于:

当所述第n轮检测字的极性参数为所述第一极性值时,确定所述当前检测字的所述正确比特信息为所述第n轮检测字的原始比特信息;

当所述第n轮检测字的极性参数为所述第二极性值时,确定所述当前检测字的所述正确比特信息为所述第n轮检测字的原始比特信息取反的内容;

当所述第n轮检测字的极性参数为所述第三极性值且所述第m轮检测字的极性参数为所述第一极性值时,确定所述当前检测字的所述正确比特信息为所述第m轮检测字的原始比特信息;

当所述第n轮检测字的极性参数为所述第三极性值且所述第m轮检测字的极性参数为所述第二极性值时,确定所述当前检测字的所述正确比特信息为所述第m轮检测字的原始比特信息取反的内容。

在另一种可能的实现方式中,所述收集模块,还用于:

当所述当前检测字不等于所述最大检测字数值时,将所述当前检测字加一;

判断所述第n轮检测字和所述第m轮检测字各自对应的字校验参数是否为所述第二校验值;

当所述第n轮检测字的字校验参数为所述第二校验值时,将所述第n轮检测字的极性参数重新赋值为所述第三极性值;

当所述第m轮检测字的字校验参数为所述第二校验值时,将所述第m轮检测字的极性参数重新赋值为所述第三极性值;

在判断完成后,继续执行判断所述第n轮检测字和所述第m轮检测字是否满足第一预设条件的步骤。

在另一种可能的实现方式中,所述第n轮星历信息和所述第m轮星历信息均为b1i信号的d1导航电文的星历信息。

根据本公开的另一方面,提供了一种卫星导航接收机,所述卫星导航接收机包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取第n轮星历信息和第m轮星历信息,所述第n轮星历信息和所述第m轮星历信息为目标卫星播发的星历内容相同的两轮星历信息,所述第n轮星历信息和所述第m轮星历信息均存在字校验失败情况,所述n和所述m均为正整数;

根据所述第n轮星历信息和所述第m轮星历信息,收集正确的星历内容。

根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述的方法。

本公开实施例提供了一种星历收集方法,通过卫星导航接收机获取第n轮星历信息和第m轮星历信息,第n轮星历信息和第m轮星历信息为目标卫星播发的星历内容相同的两轮星历信息,第n轮星历信息和第m轮星历信息均存在字校验失败情况;根据第n轮星历信息和第m轮星历信息,收集正确的星历内容,使得在有一定误码的情况下,卫星导航接收机利用目标卫星播发的星历内容相同的两轮星历信息确定出正确星历信息,在相当程度上缩短了收集星历的时长,提高了卫星导航接收机收集星历的效率,从而大大缩短了冷启动首次定位时间。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1和图2示出了相关技术中子帧的字校验情况和极性情况的示意图;

图3示出了本公开一个示例性实施例提供的星历收集方法的流程图;

图4示出了本公开另一个示例性实施例提供的星历收集方法的流程图;

图5示出了本公开另一个示例性实施例提供的星历收集方法的流程图;

图6示出了本公开另一个示例性实施例提供的星历收集方法的流程图;

图7示出了本公开另一个示例性实施例提供的星历收集方法涉及的极性设置方法的流程图;

图8示出了本公开另一个示例性实施例提供的星历收集方法涉及的记录方法的流程图;

图9示出了本公开另一个示例性实施例提供的星历收集方法涉及的极性设置的示意图;

图10示出了本公开一个示例性实施例提供的星历收集装置的结构示意图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

首先,对本公开实施例涉及的名词进行介绍。

1、冷启动首次定位时间:在卫星导航接收机的时间未知、当前历书和星历均未知的情况下,卫星导航接收机从加电至输出第一个有效定位点所持续的时长。

2、卫星导航接收机:接收卫星播放卫星导航信号的设备。比如,卫星导航接收机为中国北斗卫星导航系统(beidounavigationsatellitesystem,bds)接收机,简称为北斗卫星导航接收机。

3、b1i信号:是bds空间星座和用户终端之间的公开服务信号,包括卫星导航电文、测距码和载波。其中,卫星导航电文包括d1导航电文和d2导航电文。d1导航电文速率为50dps,内容包括基本导航信息;d2导航电文速率为500dps,内容包括基本导航信息和增强服务信息,其中,基本导航信息包括本卫星基本导航信息、全部卫星历信息与其它系统时间同步信息,增强服务信息包括bds的差分及完好性信息和格网点电离层信息。

4、卫星导航电文是由导航卫星播发给用户终端的用于描述导航卫星运行状态参数的电文。卫星导航电文一般采用帧结构的编排格式并按照子帧或页面顺序播发卫星导航电文,数据内容主要包括卫星星历、卫星钟差、电离层延迟改正参数、历书数据以及时间同步参数等。

卫星导航电文包括用户定位服务所需要的参数,一般来讲,通过导航卫星进行定位所需的参数有四类,包括星历、时钟修正参数、导航服务参数、历书。

星历是卫星导航电文中表示卫星精确位置的轨道参数,可以为用户提供计算卫星运动位置的信息。

历书是卫星导航电文中所有在轨卫星的粗略轨道参数,有助于缩短导航信号的捕获时间。

时间系统是以地面主控站的主原子钟为基准。由于导航卫星的时钟的不稳定性,使得卫星时钟和系统时存在着一定的差异。地面监测系统监测确定出这种差异,通过卫星导航电文播发给用户终端。卫星的时钟相对系统时之间的差异需加以改正,这就是卫星时钟改正参数。

导航服务参数包括卫星标识符、数据期号、导航数据有效性、信号健康状态等参数。

需要说明的是,本公开实施例提供的卫星导航电文为b1i信号的d1导航电文,星历信息为b1i信号的d1导航电文的星历信息。

卫星导航接收机收集星历的速度是影响北斗导航定位系统冷启动首次定位时间的一个关键因素。b1i信号的d1导航电文由子帧1到子帧5组成,每个子帧播发6s,每个子帧由10个字组成,分别为字1到字10。其中,子帧1到子帧3播发星历,子帧4到子帧5播发历书,每30秒重复一次,星历每整小时更新。子帧1到子帧3三个子帧全部收齐,则该颗卫星的星历收集成功,可以解出这颗卫星的星历。

每个子帧包括十个字,标记为字1到字10。每个字由30个比特组成,会独立做字校验。如果这个字所包含的30个比特中没有发生误码,则字校验通过,字校验参数为第一参数;若字校验失败,则字校验参数为第二参数。比如,第一参数为p,第二参数为f。

由b1i信号的d1导航电文格式决定,字1可以通过同步码得到当前数据比特的极性,若字1字校验通过,其极性可知。若为正,标记为极性参数等于0;若为负,标记为极性参数等于1。由于接收机基带设计的原因,传递给星历收集模块的原始数据比特的极性是连续的。若接下来播发的字2字校验也通过,由于其极性是连续的,所以字2的极性参数和字1的极性参数保持一致。若字3发生误码,字校验失败,则其极性变为未知,标记为字3的极性参数等于2。且不论接下来播发的字4到字10的字校验是否通过,字4到字10的极性都是未知的,标记为极性参数等于2。

由于d1导航电文的设计方式,只有在字1才知道当前原始数据比特的极性,如果在字2到字10中出现了误码的情况,则接下来收到的原始数据比特的极性都是未知的,直到下一次字1才能判断出极性。

在一个示意性的例子中,一个子帧的十个字都没有发生误码,即十个字的字校验都通过,且字1的极性为负,即字1的极性参数等于1,则该子帧的十个字各自对应的字校验情况和极性情况如图1所示。该子帧的十个字的字校验参数均为p,十个字的极性参数均为1。

在另一个示意性的例子中,一个子帧的字1到字3没有发生误码,字校验通过,字1的极性为正,即字1的极性参数为0,字4字校验失败,字5到字10字校验通过,该子帧的十个字各自对应的字校验情况和极性情况如图2(a)所示。该子帧的字1到字3的字校验参数均为p,极性参数均为0;字4的字校验参数为f,极性参数为2;字5到字10的字校验参数均为p,极性参数均为2。

在另一个示意性的例子中,一个子帧的1的字1到字5没有发生误码,字校验通过,字1的极性为负,即字1的极性参数为1,字6和字7的字校验均失败,字8到字10字校验通过,该子帧的十个字各自对应的字校验情况和极性情况如图2(b)所示。该子帧的字1到字5的字校验参数均为p,极性参数均为1;字6和字7的字校验参数均为f,极性参数均为2;字8到字10的字校验参数均为p,极性参数均为2。

相关技术中,卫星导航接收机必须保证字1到字10十个字的字校验全部连续通过,才能成功收集这一子帧的数据,若其中存在一个字的字校验失败,则该子帧收集失败,需要再等待30秒才能再次有机会收集到这一子帧的信息。

在信号功率比较强的情况下,基本没有误码情况发生,对收集星历的时间影响不大,可以在30秒内收集到星历。但是当接收机处于城市峡谷环境等卫星信号较为微弱的情况下,随着信号能量降低,误码率增加,这种方法会导致收集星历的时间变为60秒、90秒、120秒、180秒,甚至更长,严重影响冷启动首次定位时间这一关键指标。

为此,本公开提供了一种星历收集方法、装置、卫星导航接收机及存储介质,以解决上述相关技术中存在的问题。因为星历信息每30秒重复播发一次,每小时更新一次。因此第一轮播发的星历,和第二轮第三轮播发的星历内容是相同的,直到整小时,播发内容才会更新。在有一定误码的情况下,本公开提供的技术方案通过卫星导航接收机利用目标卫星播发的星历内容相同的两轮星历信息,收集正确的星历内容,在相当程度上缩短了收集星历的时长,提高了卫星导航接收机收集星历的效率,从而大大缩短了冷启动首次定位时间。

请参考图3,其示出了本公开一个示例性实施例提供的星历收集方法的流程图。本公开实施例以该星历收集方法应用于卫星导航接收机中来举例说明。该星历收集方法包括:

步骤301,获取第n轮星历信息和第m轮星历信息,第n轮星历信息和第m轮星历信息为目标卫星播发的星历内容相同的两轮星历信息,第n轮星历信息和第m轮星历信息均存在字校验失败情况,n和m均为正整数。

可选地,目标卫星在预设时间段内重复多轮播发星历信息,即目标卫星在预设时间段内每隔指定时间间隔重复播发星历信息。对应的,卫星导航接收机接收目标卫星在预设时间段内每隔指定时间间隔重复播发的星历信息。

其中,在预设时间段内播放的多轮星历信息各自对应的星历内容是相同的。

可选地,目标卫星每隔预设时间段对星历信息进行更新,更新后的星历信息与更新前的星历信息相同或者不同。

比如,预设时间段为一个小时,指定时间间隔为30秒。目标卫星在一个小时内每隔30秒重复播发一次星历信息,每小时对星历信息进行更新。本实施例对此不加以限定。

第n轮星历信息和第m轮星历信息为目标卫星播发的星历内容相同的两轮星历信息。即第n轮星历信息和第m轮星历信息各自对应的星历内容是相同的。

可选地,第n轮星历信息和第m轮星历信息为目标卫星在预设时间段内播发的多轮星历信息中的任意两轮星历信息,或者,第n轮星历信息为目标卫星在预设时间段内第n轮播发的星历信息,第m轮星历信息为目标卫星在预设时间段内第m轮播发的星历信息,其中,n不等于m。

示意性的,第m轮星历信息为第n+1轮星历信息。比如,n为1,第n轮星历信息为第一轮星历信息,第m轮星历信息为第二轮星历信息。本实施例对n和m的具体取值不加以限定。

可选地,卫星导航接收机在第一时刻接收到目标卫星播发的第n轮星历信息,在第二时刻接受到目标卫星播发的第m轮星历信息,第一时刻和第二时刻为在预设时间段内的两个时刻且第一时刻与第二时刻的差值绝对值为指定时间间隔。

比如,在一个小时内,卫星导航接收机在时刻1接收到目标卫星播发的第n轮星历信息,间隔30秒在时刻2接收到目标卫星播发的第m轮星历信息。

步骤302,根据第n轮星历信息和第m轮星历信息,收集正确的星历内容。

由于第n轮星历信息和第m轮星历信息为目标卫星播发的星历内容相同的两轮星历信息,且第n轮星历信息和第m轮星历信息均存在字校验失败情况,因此卫星导航接收机可以根据第n轮星历信息和第m轮星历信息的一些共同性,收集正确的星历内容。

可选地,若卫星导航接收机根据第n轮星历信息和第m轮星历信息收集正确的星历内容失败,则重新确定第n轮星历信息和第m轮星历信息,重复执行上述步骤301和步骤302。即,若第n轮星历信息和第m轮星历信息分别为在预设时间段内接收到的目标卫星播发的第n轮星历信息和第n+1轮星历信息,若卫星导航接收机根据第n轮星历信息和第m轮星历信息收集正确的星历内容失败,则将第n+1轮星历信息重新确定为第n轮星历信息,将第n+2轮星历信息重新确定为第m轮星历信息,重复执行上述步骤301和步骤302进行星历收集,其中n为正整数。

比如,本公开实施例以比较在一个小时内接收到的目标卫星播发的第一轮星历信息即第n轮星历信息和第二轮星历信息即第m轮星历信息为例进行说明,实际应用中,可以利用更多轮的信息进行星历收集,原理相同,在此不再赘述。

综上所述,本公开实施例通过卫星导航接收机获取第n轮星历信息和第m轮星历信息,第n轮星历信息和第m轮星历信息为目标卫星播发的星历内容相同的两轮星历信息,第n轮星历信息和第m轮星历信息均存在字校验失败情况;根据第n轮星历信息和第m轮星历信息,收集正确的星历内容,使得在有一定误码的情况下,卫星导航接收机利用目标卫星播发的星历内容相同的两轮星历信息确定出正确星历信息,在相当程度上缩短了收集星历的时长,提高了卫星导航接收机收集星历的效率,从而大大缩短了冷启动首次定位时间。

其中,第n轮星历信息和第m轮星历信息均为b1i信号的d1导航电文的星历信息。可选地,第n轮星历信息和第m轮星历信息均对应多个子帧,第n轮星历信息和第m轮星历信息均包括多个子帧各自对应的子帧信息。

可选地,卫星导航接收机根据第n轮星历信息和第m轮星历信息,收集正确的星历内容,包括:对于每个子帧,将第n轮星历信息中的子帧信息与第m轮星历信息中的子帧信息进行比对,确定正确子帧信息。

可选地,对于多个子帧中的每个子帧,卫星导航接收机将第n轮星历信息中的第n轮子帧信息与第m轮星历信息中的第m轮子帧信息进行比对,确定正确子帧信息。

其中,第n轮子帧信息在第n轮星历信息中对应的子帧编号与第m轮子帧信息在第m轮星历信息中对应的子帧编号相同。比如,,第n轮子帧信息为第n轮星历信息中子帧1对应的子帧信息,第m轮子帧信息为第m轮星历信息中对子帧1对应的子帧信息。本实施例对此不加以限定。

其中,每个子帧包括多个字,每个字包括多个比特,每个子帧的子帧信息包括多个字各自对应的原始比特信息,对于每个字需要独立做字校验。

比如,一轮星历信息对应三个子帧,每个子帧包括十个字,每个字包括三十个比特。本实施例对此不加以限定。

第n轮子帧信息和第m轮子帧信息均包括多个字各自对应的原始比特信息,对于每个子帧,卫星导航接收机将第n轮星历信息中的第n轮子帧信息与第m轮星历信息中的第m轮子帧信息进行比对,确定正确子帧信息,包括但不限于以下几个步骤,如图4所示:

步骤401,对于每个子帧,将子帧的当前检测字初始化设置为1。

当前检测字用于指示第n轮星历信息中的子帧信息中的第n轮检测字和第m轮星历信息中的子帧信息中的第m轮检测字。

可选地,第n轮子帧信息和第m轮子帧信息均包括多个字和多个字各自对应的原始比特信息。为了方便区分,将第n轮星历信息中的子帧信息中的当前检测字称为第n轮检测字,将第m轮星历信息中的子帧信息中的当前检测字称为第m轮检测字。

需要说明的是,本公开实施例中仅以每个子帧包括十个字为例进行说明,本实施例对此不加以限定。

对于每个子帧,卫星导航接收机将该子帧的当前检测字初始化设置为1。比如,当前检测字标记为curword,curword的初始值为1,最大当前检测字为10,curword需要从1循环到10。

步骤402,根据第n轮检测字和第m轮检测字各自对应的原始比特信息,确定当前检测字的正确比特信息。

可选地,卫星导航接收机确定第n轮检测字和第m轮检测字各自对应的极性参数,极性参数用于指示字的极性是否已知;当第n轮检测字和第m轮检测字中存在至少一个字的极性已知时,根据第n轮检测字和第m轮检测字各自对应的原始比特信息,确定当前检测字的正确比特信息。

当前检测字的正确比特信息为当前检测字最终所使用的电文内容。

可选的,一个字包括三十个比特,第n轮检测字和第m轮检测字各自对应的原始比特信息均包括三十个比特值,当前检测字的正确比特信息包括三十个比特值。

其中,极性参数包括第一极性值、第二极性值和第三极性值中的一种,第一极性值用于指示字的极性已知且极性为正,第二极性值用于指示字的极性已知且极性为负,第三极性值用于指示字的极性未知。

比如,第一极性值为0,用于指示字的极性已知且字的极性为正;第二极性值为1,用于指示字的极性已知且字的极性为负;第三极性值为2,用于指示字的极性未知。

可选地,当前检测字的字校验参数包括第一校验值和第二校验值中的一种,第一校验值用于指示字校验成功,第二校验值用于指示字校验失败。

当第n轮检测字的字校验参数为第一校验值时,根据第n轮检测字的同步码信息将第n轮检测字的极性值赋值给第n轮检测字的极性参数;当第n轮检测字的字校验参数为第二校验值时,确定第n轮检测字的极性参数为第三极性值。当第m轮检测字的字校验参数为第一校验值时,根据第m轮检测字的同步码信息将第m轮检测字的极性值赋值给第m轮检测字的极性参数;当第m轮检测字的字校验参数为第二校验值时,确定第m轮检测字的极性参数为第三极性值。

可选地,字的同步码信息用于指示字的极性值。

示意性的,第n轮检测字的同步码信息用于指示第n轮检测字的极性值。即当第n轮检测字的字校验参数为第一校验值时,通过第n轮检测字的同步码信息得到第n轮检测字的极性值,将第n轮检测字的极性值赋值给第n轮检测字的极性参数。

示意性的,第m轮检测字的同步码信息用于指示第m轮检测字的极性值。即当第m轮检测字的字校验参数为第一校验值时,通过第m轮检测字的同步码信息得到第m轮检测字的极性值,将第m轮检测字的极性值赋值给第m轮检测字的极性参数。

卫星导航接收机根据第n轮检测字和第m轮检测字各自对应的原始比特信息,确定出当前检测字的正确比特信息之后,执行后续步骤。若根据第n轮检测字和第m轮检测字各自对应的原始比特信息,无法确定出当前检测字的正确比特信息,则结束进程,当前子帧收集失败。

需要说明的是,卫星导航接收机根据第n轮检测字和第m轮检测字各自对应的原始比特信息,确定当前检测字的正确比特信息的过程可参考下面实施例中的相关细节,在此先不介绍。

步骤403,判断当前检测字是否等于最大当前检测字。

卫星导航接收机判断当前检测字是否等于最大当前检测字,若当前检测字等于最大当前检测字,则执行步骤404;若当前检测字不等于最大当前检测字,则执行步骤405。

步骤404,当当前检测字等于最大当前检测字时,得到子帧的正确子帧信息。

若当前检测字等于最大当前检测字,则表示当前子帧收集成功,得到子帧的正确子帧信息。

步骤405,当当前检测字不等于最大当前检测字时,将当前检测字加一。

若当前检测字不等于最大当前检测字,则将当前检测字加一,继续执行根据第n轮检测字和第m轮检测字各自对应的原始比特信息,确定当前检测字的正确比特信息的步骤,即继续执行步骤402。

综上所述,本公开实施例还通过对于每个子帧,将子帧的当前检测字初始化设置为1,根据第n轮检测字和第m轮检测字各自对应的原始比特信息,确定当前检测字的正确比特信息,若当前检测字不等于最大当前检测字,则将当前检测字加一,继续执行根据第n轮检测字和第m轮检测字各自对应的原始比特信息,确定当前检测字的正确比特信息的步骤,直到判断出当前子帧收集失败或者收集成功,进一步保证了星历信息中每个子帧的收集效率。

请参考图5,其示出了本公开另一个示例性实施例提供的星历收集方法的流程图。本公开实施例以该星历收集方法应用于卫星导航接收机中来举例说明。该星历收集方法包括:

步骤501,对于每个子帧,将子帧的当前检测字初始化设置为1。

当前检测字用于指示第n轮子帧信息中的第n轮检测字和第m轮子帧信息中的第m轮检测字。

需要说明的是,对于每个子帧,卫星导航接收机将子帧的当前检测字初始化设置为1的过程可参考上述实施例中的相关细节,在此不再赘述。

步骤502,确定第n轮检测字和第m轮检测字各自对应的极性参数。

可选地,当前检测字为1,卫星导航接收机判断第n轮检测字的字校验参数是否为第一校验值。当第n轮检测字的字校验参数为第一校验值时,根据第n轮检测字的同步码信息将第n轮检测字的极性值赋值给第n轮检测字的极性参数。当第n轮检测字的字校验参数为第二校验值时,将第三极性值赋值给第n轮检测字的极性参数。

示意性的,第n轮检测字的极性值为第一极性值或者第二极性值。第一极性值用于指示字的极性已知且字的极性为正,第二极性值用于指示字的极性已知且字的极性为负。

示意性的,第三极性值用于指示字的极性未知。

卫星导航接收机判断第n轮检测字的字校验参数是否为第一校验值之后,判断第m轮检测字的字校验参数是否为第一校验值。当第m轮检测字的字校验参数为第一校验值时,根据第m轮检测字的同步码信息将第m轮检测字的极性值赋值给第m轮检测字的极性参数。当第m轮检测字的字校验参数为第二校验值时,将第三极性值赋值给第m轮检测字的极性参数。

示意性的,第m轮检测字的极性值为第一极性值或者第二极性值。

步骤503,判断第n轮检测字和第m轮检测字是否满足第一预设条件。

卫星导航接收机判断第n轮检测字和第m轮检测字是否满足第一预设条件。其中,第一预设条件包括:第n轮检测字和第m轮检测字各自对应的极性参数均为第三极性值。

若第n轮检测字和第m轮检测字满足第一预设条件,则确定子帧的子帧信息收集失败,结束进程;若第n轮检测字和第m轮检测字不满足第一预设条件,则执行步骤504。

步骤504,当第n轮检测字和第m轮检测字不满足第一预设条件时,判断第n轮检测字和第m轮检测字是否满足第二预设条件。

卫星导航接收机判断第n轮检测字和第m轮检测字是否满足第二预设条件。其中,第二预设条件包括:第n轮检测字的极性参数或者第m轮检测字的极性参数为第三极性值,且第n轮检测字的字校验参数和第m轮检测字的字校验参数均为第一校验值。

若第n轮检测字和第m轮检测字满足第二预设条件,则执行步骤505;若第n轮检测字和第m轮检测字不满足第二预设条件,则执行步骤506。

步骤505,当第n轮检测字和第m轮检测字满足第二预设条件时,根据第n轮检测字和第m轮检测字各自对应的原始比特信息,对第三极性值对应的字的极性参数进行重新赋值。

可选地,当第n轮检测字和第m轮检测字满足第二预设条件时,卫星导航接收机执行极性设置过程,即根据第n轮检测字和第m轮检测字各自对应的原始比特信息,对第三极性值对应的字的极性参数进行重新赋值。

可选地,卫星导航接收机根据第n轮检测字和第m轮检测字各自对应的原始比特信息,对第三极性值对应的字的极性参数进行重新赋值,包括:当第n轮检测字和第m轮检测字满足第二预设条件,且第n轮检测字的原始比特信息与第m轮检测字的原始比特信息相同时,将目标字的极性参数赋值给第三极性值对应的字的极性参数。当第n轮检测字和第m轮检测字满足第二预设条件,且第n轮检测字的原始比特信息与第m轮检测字的原始比特信息相反时,将1与目标字的极性参数的差赋值给第三极性值对应的字的极性参数。

其中,目标字为第n轮检测字和第m轮检测字中极性参数不是第三极性值的字。

在第n轮检测字和第m轮检测字满足第二预设条件的情况下,若第n轮检测字的极性已知即极性参数的数值不是第三极性值,则采用第n轮检测字的极性值设置第m轮检测字的极性参数;若第m轮检测字的极性已知即极性参数的数值不是第三极性值,则采用第m轮检测字的极性值设置第n轮检测字的极性参数。

在一种可能的实现方式中,若第n轮检测字的极性已知且第n轮检测字的原始比特信息与第m轮检测字的原始比特信息相同,则表示第n轮检测字和第m轮检测字的极性相同,将第n轮检测字的极性参数赋值给第m轮检测字的极性参数。若第n轮检测字的极性已知且第n轮检测字的原始比特信息与第m轮检测字的原始比特信息相反,则表示第n轮检测字和第m轮检测字的极性相反,将1与第n轮检测字的极性参数的差值赋值给第m轮检测字的极性参数。

在另一种可能的实现方式中,若第m轮检测字的极性已知且第n轮检测字的原始比特信息与第m轮检测字的原始比特信息相同,则表示第n轮检测字和第m轮检测字的极性相同,将第m轮检测字的极性参数赋值给第n轮检测字的极性参数。若第m轮检测字的极性已知且第n轮检测字的原始比特信息与第m轮检测字的原始比特信息相反,则表示第n轮检测字和第m轮检测字的极性相反,将1与第m轮检测字的极性参数的差值赋值给第n轮检测字的极性参数。

在另一种可能的实现方式中,若第n轮检测字的原始比特信息与第m轮检测字的原始比特信息既不相同也不相反,则表示当前系统运行错误或者字校验错误,返回失败,当前子帧校验失败。

可选地,卫星导航接收机在对第三极性值对应的字的极性参数进行重新赋值之后,执行步骤506。

步骤506,根据第n轮检测字和第m轮检测字各自对应的原始比特信息和极性参数,确定当前检测字的正确比特信息。

可选地,卫星导航接收机在对第三极性值对应的字的极性参数进行重新赋值之后,或者当第n轮检测字和第m轮检测字不满足第二预设条件时,卫星导航接收机执行记录过程,即根据第n轮检测字和第m轮检测字各自对应的原始比特信息和极性参数,确定当前检测字的正确比特信息。

可选的,当第n轮检测字和第m轮检测字满足第二预设条件时,步骤505和步骤506可以并列执行,本实施例对此不加以限定。

可选地,卫星导航接收机根据第n轮检测字和第m轮检测字各自对应的原始比特信息和极性参数,确定当前检测字的正确比特信息,包括:当第n轮检测字的极性参数为第一极性值时,确定当前检测字的正确比特信息为第n轮检测字的原始比特信息。当第n轮检测字的极性参数为第二极性值时,确定当前检测字的正确比特信息为第n轮检测字的原始比特信息取反的内容。当第n轮检测字的极性参数为第三极性值且第m轮检测字的极性参数为第一极性值时,确定当前检测字的正确比特信息为第m轮检测字的原始比特信息。当第n轮检测字的极性参数为第三极性值且第m轮检测字的极性参数为第二极性值时,确定当前检测字的正确比特信息为第m轮检测字的原始比特信息取反的内容。

步骤507,判断当前检测字是否等于最大检测字数值。

卫星导航接收机判断当前检测字是否等于最大检测字数值,若当前检测字等于最大检测字数值,则表示当前子帧收集成功;若当前检测字不等于最大检测字数值,则继续执行步骤508。

步骤508,当当前检测字不等于最大检测字数值时,将当前检测字加一。

若当前检测字不等于最大检测字数值,则将当前检测字加一。

步骤509,判断第n轮检测字的字校验参数是否为第二校验值。

卫星导航接收机在将当前检测字加一后,判断第n轮检测字的字校验参数是否为第二校验值,若第n轮检测字的字校验参数为第二校验值,则执行步骤510;若第n轮检测字的字校验参数不为第二校验值,则执行步骤511。

步骤510,当第n轮检测字的字校验参数为第二校验值时,将第n轮检测字的极性参数重新赋值为第三极性值。

步骤511,判断第m轮检测字的字校验参数是否为第二校验值。

卫星导航接收机判断第m轮检测字的字校验参数是否为第二校验值,若第m轮检测字的字校验参数为第二校验值,则执行步骤512;若第m轮检测字的字校验参数不为第二校验值,则执行步骤503,即在判断完成后,继续执行判断第n轮检测字和第m轮检测字是否满足第一预设条件的步骤。

步骤512,当第m轮检测字的字校验参数为第二校验值时,将第m轮检测字的极性参数重新赋值为第三极性值。

在一个示意性的例子中,当前检测字为curword,curword的初始值为1,最大当前检测字为10,第n轮子帧信息中的当前检测字为第n轮检测字curword_1,第m轮子帧信息中的当前检测字为第m轮检测字curword_2。字校验参数为p用于指示字校验通过,字校验参数为f用于指示字校验失败。第n轮检测字的极性参数为pola_1,第m轮检测字的极性参数为pola_2。第一极性值为0,用于指示字的极性为正;第二极性值为1,用于指示字的极性为负;第三极性值为2,用于指示字的极性未知。本公开实施例提供的星历收集方法包括但不限于以下几个步骤,如图6所示:

步骤601,设置curword的初始值为1。

卫星导航接收机设置curword的初始值为1,即从字1开始检查。

步骤602,判断curword_1的字校验参数是否为p。

卫星导航接收机判断curword_1的字校验参数是否为p,若curword_1的字校验参数为p,则执行步骤603;若curword_1的字校验参数不为p,则执行步骤604。

步骤603,若curword_1的字校验参数为p,则将curword_1的极性值赋值给pola_1。

若curword_1的字校验参数为p,其极性为正,则设置pola_1为0。若curword_1的字校验为p,其极性为反,则设置pola_1为1。

步骤604,若curword_1的字校验参数不为p,则设置pola_1为2。

若curword_1的字校验不为p即为f,设置pola_1为2。

步骤605,判断curword_2的字校验参数是否为p。

卫星导航接收机判断curword_2的字校验参数是否为p,若curword_2的字校验参数为p,则执行步骤606;若curword_2的字校验参数不为p,则执行步骤607。

步骤606,若curword_2的字校验参数为p,则将curword_2的极性值赋值给pola_2。

若curword_2的字校验参数为p,其极性为正,则设置pola_2为0。若curword_2的字校验为p,其极性为反,则设置pola_2为1。

步骤607,若curword_2的字校验参数不为p,则设置pola_2为2。

若curword_2字校验不为p即为f,设置pola_2为2。

步骤608,判断pola_1和pola_2是否均为2。

即卫星导航接收机判断pola_1和pola_2是否满足公式“pola_1==2&&pola_2==2”,若pola_1和pola_2均为2,则当前子帧收集失败,结束进程,等待下一轮该子帧的子帧信息。若pola_1和pola_2不均为2,则执行步骤609。

步骤609,判断pola_1或pola_2是否为2,且curword_1和curword_2的字校验参数均为p。

即卫星导航接收机判断pola_1和pola_2是否满足公式“(pola_1==2||pola_2==2)&&(curword_1为p&&curword_2为p)”,若pola_1和pola_2满足上述公式,则执行步骤610。若pola_1和pola_2不满足上述公式,则执行611。

若pola_1或pola_2是否为2,且curword_1和curword_2的字校验参数均为p,pola_1或pola_2中存在一个极性未知,且curword_1和curword_2的字校验均为p,则可以通过设置极性模块来确定未知的极性。

步骤610,若pola_1或pola_2为2,且curword_1和curword_2的字校验参数均为p,则通过设置极性模块来确定极性未知的字的极性参数。

设置极性模块用于在pola_1和pola_2的极性一个已知而另一个未知,且curword_1和curword_2的字校验都为p的情况下,通过比对curword_1和curword_2的原始比特信息,将极性未知的字的极性参数赋值。

在一种可能的实现方式中,设置极性模块执行的极性设置方法包括但不限于以下几个步骤,如图7所示。步骤701,卫星导航接收机判断pola_1是否小于2。若pola_1小于2则执行步骤702,若pola_1不小于2则执行步骤706。步骤702,若pola_1小于2则判断curword_1和curword_2的原始比特信息是否相同。步骤703,若相同则pola_2等于pola_1。步骤704,若不同则判断curword_1和curword_2的原始比特信息是否相反。步骤705,若相反,则pola_2等于1-pola_1。若不相反,则表示当前系统运行有误,或者字校验有误,返回失败,当前子帧校验失败。步骤706,若pola_1不小于2则判断curword_1和curword_2的原始比特信息是否相同。步骤707,若相同则pola_1等于pola_2。步骤708,若不同则判断curword_1和curword_2的原始比特信息是否相反。步骤709,若相反,则pola_1等于1-pola_2。若不相反,则表示当前系统运行有误,或者字校验有误,返回失败,当前子帧校验失败。

步骤611,通过记录模块记录curword的正确比特信息。

记录模块用于根据curword_1和curword_2各自对应的原始比特信息和极性参数(即pola_1和pola_2),确定当前检测字的正确比特信息。

可选的,若pola_1或pola_2为2,且curword_1和curword_2的字校验参数均为p,则步骤610和步骤611可以并列执行。本实施例对此不加以限定。

在一种可能的实现方式中,标记curword_1的原始比特信息为curword_1电文,标记curword_2的原始比特信息为curword_2电文,标记当前检测字的正确比特信息为final_curword电文。记录模块执行的记录方法包括但不限于以下几个步骤,如图8所示。

步骤801,判断pola_1是否为0。步骤802,若pola_1为0,表示当前curword_1的极性为正,则确定final_curword电文为curword_1电文。步骤803,若pola_1不为0,则判断pola_1是否为1。步骤804,若pola_1为1,表示当前curword_1的极性为反,则确定final_curword电文为curword_1电文取反的内容。步骤805,判断pola_2是否为0。步骤806,若pola_2为0,表示当前curword_2的极性为正,则确定final_curword电文为curword_2电文。步骤807,若pola_2不为0,则pola_2为1,表示当前curword_2的极性为反,则确定final_curword电文为curword_2电文取反的内容。

需要说明的是,本实施例提供的星历收集方法应用于卫星导航接收机的星历收集模块,该星历收集模块可以包括上述的设置极性模块和记录模块。

步骤612,判断curword是否等于字10。

若curword等于10,则表示当前子帧的十个字都收集成功,当前子帧的子帧信息收集成功。若curword不等于10,则执行步骤613。

步骤613,若curword不等于10,则将curword加1。

在将curword加1以后,开始对下一个检测字进行检测,即将curword_1重新确定为第n轮子帧信息中的下一个检测字的原始比特信息,将curword_2重新确定为第m轮子帧信息中的下一个检测字的原始比特信息。

步骤614,判断curword_1的字校验是否为f。

步骤615,若curword_1为f,则将pola_1设置为2。

步骤616,若curword_1不为f,则判断curword_2的字校验是否为f。

步骤617,若curword_2为f,则将pola_2设置为2,继续执行步骤608。

步骤618,若curword_2不为f,则继续执行步骤608。

在一个示意性的例子中,基于上述图2所示的两个子帧,第n轮星历信息的子帧1的字校验情况如图2(a)所示,第n轮星历信息的子帧1的字1到字3没有发生误码,字校验通过,字1的极性为正,即字1的极性参数为0,字4字校验失败,字5到字10字校验通过,记录下这十个字的原始比特信息和字校验情况。第m轮星历信息的子帧1的字校验情况如图2(b)所示,第m轮星历信息子帧1的字1到字5没有发生误码,字校验通过,字1的极性为负,即字1的极性参数为1,字6和字7的字校验均失败,字8到字10字校验通过,记录下这十个字的原始比特信息和字校验情况。采用本公开实施例提供的星历收集方法,在子帧收集过程中对子帧1的十个字各自对应的极性参数进行设置,设置后的第n轮星历信息的子帧1和第m轮星历信息的子帧1的极性情况如图9所示。子帧信息收集过程包括但不限于以下几个步骤:将curword设置为1,对于字1,curword_1的字校验参数和curword_2的字校验参数均为p,pola_1=0,pola_2=1,记录字1的正确比特信息为curword_1的原始比特信息;将curword加1,对于字2,同理记录字2的正确比特信息为curword_1的原始比特信息;将curword加1,对于字3,同理记录字3的正确比特信息为curword_1的原始比特信息;将curword加1,对于字4,curword_1的字校验参数为f,curword_2的字校验参数为p,pola_1=2,pola_2=1,根据pola_2的极性记录字4的正确比特信息;将curword加1,对于字5,curword_1的字校验参数和curword_2的字校验参数均为p,pola_1与字4的极性参数相同,即pola_1=2,pola_2=1,若curword_1和curword_2的原始比特信息相同,表示二者极性相同,则设置pola_1等于1,若curword_1和curword_2的原始比特信息相反,表示二者极性相反,则设置pola_1等于0,因此pola_1极性变为0或1,根据pola_1或pola_2的极性记录字5的正确比特信息;将curword加1,对于字6,curword_1的字校验参数为p,curword_2的字校验参数为f,pola_1=0或1,pola_2=2,根据pola_1极性记录字6的正确比特信息;将curword加1,对于字7,curword_1的字校验参数为p,curword_2的字校验参数为f,pola_1=0或1,pola_2=2,根据pola_1的极性记录字7的正确比特信息;将curword加1,对于字8,curword_1的字校验参数和curword_2的字校验参数均为p,pola_1=0或1,pola_2=2,若curword_1和curword_2的原始比特信息相同,表示二者极性相同,则设置pola_1等于1,若curword_1和curword_2的原始比特信息相反,表示二者极性相反,则设置pola_1等于0,因此pola_2的极性变为已知,根据pola_1或pola_2的极性记录字8的正确比特信息;将curword加1,对于字9,curword_1的字校验参数和curword_2的字校验参数均为p,pola_1的极性参数与字8的pola_1的极性参数相同,pola_2的极性参数与字8的pola_2的极性参数相同,同理根据pola_1或pola_2的极性记录字9的正确比特信息;将curword加1,对于字10,curword_1的字校验参数和curword_2的字校验参数均为p,pola_1的极性参数与字9的pola_1的极性参数相同,pola_2的极性参数与字9的pola_2的极性参数相同,同理根据pola_1或pola_2的极性记录字10的正确比特信息;当curword等于10时,当前子帧收集成功。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

请参考图10,其示出了本公开一个示例性实施例提供的星历收集装置的结构示意图。该星历收集装置可以通过专用硬件电路,或者,软硬件的结合实现成为卫星导航接收机的全部或一部分,该星历收集装置包括:获取模块1010和收集模块1020。

获取模块1010,用于获取第n轮星历信息和第m轮星历信息,第n轮星历信息和第m轮星历信息为目标卫星播发的星历内容相同的两轮星历信息,第n轮星历信息和第m轮星历信息均存在字校验失败情况,n和m均为正整数;

收集模块1020,用于根据第n轮星历信息和第m轮星历信息,收集正确的星历内容。

在一种可能的实现方式中,第n轮星历信息和第m轮星历信息均对应多个子帧,收集模块1020,还用于对于每个子帧,将第n轮星历信息中的子帧信息与第m轮星历信息中的子帧信息进行比对,确定正确子帧信息。

在另一种可能的实现方式中,收集模块1020,还用于:

对于每个子帧,将子帧的当前检测字初始化设置为1,当前检测字用于指示第n轮星历信息中的子帧信息中的第n轮检测字和第m轮星历信息中的子帧信息中的第m轮检测字;

根据第n轮检测字和第m轮检测字各自对应的原始比特信息,确定当前检测字的正确比特信息;

当当前检测字等于最大当前检测字时,得到子帧的正确子帧信息;

当当前检测字不等于最大当前检测字时,将当前检测字加一,继续执行根据第n轮检测字和第m轮检测字各自对应的原始比特信息,确定当前检测字的正确比特信息的步骤。

在另一种可能的实现方式中,收集模块1020,还用于:

确定第n轮检测字和第m轮检测字各自对应的极性参数,极性参数用于指示字的极性是否已知;

当第n轮检测字和第m轮检测字中存在至少一个字的极性已知时,根据第n轮检测字和第m轮检测字各自对应的原始比特信息,确定当前检测字的正确比特信息。

在另一种可能的实现方式中,极性参数包括第一极性值、第二极性值和第三极性值中的一种,第一极性值用于指示字的极性已知且极性为正,第二极性值用于指示字的极性已知且极性为负,第三极性值用于指示字的极性未知。

在另一种可能的实现方式中,当前检测字为1,收集模块1020,还用于:

当第n轮检测字的字校验参数为第一校验值时,根据第n轮检测字的同步码信息将第n轮检测字的极性值赋值给第n轮检测字的极性参数;

当第n轮检测字的字校验参数为第二校验值时,将第三极性值赋值给第n轮检测字的极性参数;

当第m轮检测字的字校验参数为第一校验值时,根据第m轮检测字的同步码信息将第m轮检测字的极性值赋值给第m轮检测字的极性参数;

当第m轮检测字的字校验参数为第二校验值时,将第三极性值赋值给第m轮检测字的极性参数;

其中,字校验参数包括第一校验值和第二校验值中的一种,第一校验值用于指示字校验成功,第二校验值用于指示字校验失败。

在另一种可能的实现方式中,收集模块1020,还用于:

判断第n轮检测字和第m轮检测字是否满足第一预设条件;

当第n轮检测字和第m轮检测字不满足第一预设条件时,判断第n轮检测字和第m轮检测字是否满足第二预设条件;

当第n轮检测字和第m轮检测字满足第二预设条件时,根据第n轮检测字和第m轮检测字各自对应的原始比特信息,对第三极性值对应的字的极性参数进行重新赋值;根据第n轮检测字和第m轮检测字各自对应的原始比特信息和极性参数,确定当前检测字的正确比特信息;

当第n轮检测字和第m轮检测字不满足第二预设条件时,根据第n轮检测字和第m轮检测字各自对应的原始比特信息和极性参数,确定当前检测字的正确比特信息;

其中,第一预设条件包括:第n轮检测字和第m轮检测字各自对应的极性参数均为第三极性值;第二预设条件包括:第n轮检测字的极性参数或者第m轮检测字的极性参数为第三极性值,且第n轮检测字的字校验参数和第m轮检测字的字校验参数均为第一校验值。

在另一种可能的实现方式中,收集模块1020,还用于当第n轮检测字和第m轮检测字满足第一预设条件时,确定子帧的子帧信息收集失败。

在另一种可能的实现方式中,收集模块1020,还用于:

当第n轮检测字和第m轮检测字满足第二预设条件,且第n轮检测字的原始比特信息与第m轮检测字的原始比特信息相同时,将目标字的极性参数赋值给第三极性值对应的字的极性参数;

当第n轮检测字和第m轮检测字满足第二预设条件,且第n轮检测字的原始比特信息与第m轮检测字的原始比特信息相反时,将1与目标字的极性参数的差赋值给第三极性值对应的字的极性参数;

其中,目标字为第n轮检测字和第m轮检测字中极性参数不是第三极性值的字。

在另一种可能的实现方式中,收集模块1020,还用于:

当第n轮检测字的极性参数为第一极性值时,确定当前检测字的正确比特信息为第n轮检测字的原始比特信息;

当第n轮检测字的极性参数为第二极性值时,确定当前检测字的正确比特信息为第n轮检测字的原始比特信息取反的内容;

当第n轮检测字的极性参数为第三极性值且第m轮检测字的极性参数为第一极性值时,确定当前检测字的正确比特信息为第m轮检测字的原始比特信息;

当第n轮检测字的极性参数为第三极性值且第m轮检测字的极性参数为第二极性值时,确定当前检测字的正确比特信息为第m轮检测字的原始比特信息取反的内容。

在另一种可能的实现方式中,收集模块1020,还用于:

当当前检测字不等于最大检测字数值时,将当前检测字加一;

判断第n轮检测字和第m轮检测字各自对应的字校验参数是否为第二校验值;

当第n轮检测字的字校验参数为第二校验值时,将第n轮检测字的极性参数重新赋值为第三极性值;

当第m轮检测字的字校验参数为第二校验值时,将第m轮检测字的极性参数重新赋值为第三极性值;

在判断完成后,继续执行判断第n轮检测字和第m轮检测字是否满足第一预设条件的步骤。

在另一种可能的实现方式中,第n轮星历信息和第m轮星历信息均为b1i信号的d1导航电文的星历信息。

需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

可选地,本公开实施例还提供了一种卫星导航接收机,该卫星导航接收机包括:处理器和用于存储处理器可执行指令的存储器;其中,处理器被配置为实现上述各个方法实施例中由卫星导航接收机执行的步骤。

可选地,本公开实施例还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器执行时上述各个方法实施例中由卫星导航接收机执行的步骤。

本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1