多基站星历合并方法与流程

文档序号:30299393发布日期:2022-06-04 21:25阅读:450来源:国知局
多基站星历合并方法与流程

1.本发明涉及卫星定位技术领域,尤其涉及一种多基站星历合并方法。


背景技术:

2.a-gnss(assisted-gnss),网络增强卫星定位系统,是利用普通的移动通信网络,传送增强改正数据,以缩短接收机首次定位时间,同时,可以在一定恶劣条件下,也能实现卫星导航定位。所提供的辅助信息,包括导航卫星的历书、星历、频率范围、标准时间和近似位置等。
3.其中卫星的星历数据需要在地面建基站获取,单个基站不足以覆盖全球所有卫星系统,同时也不利于系统稳定运行,所以要建立多个基站,覆盖全球所有卫星系统,同时具有互为备份的功能。在多个基站的情况下,就会存在数据重叠问题,即一颗卫星的星历数据可能会出现在多个基站中,提供给客户的星历数据每颗卫星只能有一份数据,这样就存在如何去重择优的问题,本算法旨在解决多基站情况下数据的去重择优问题。
4.在单基站的情况下,卫星系统较少,同时,一旦基站出问题就会导致系统无法提供服务,在多基站的情况下,多个基站出现较多份星历,如何筛选星历,得到最优星历,是需要解决的技术问题。


技术实现要素:

5.本发明实施例所要解决的技术问题在于,提供一种多基站星历合并方法,以选择最优星历数据。
6.为了解决上述技术问题,本发明实施例提出了一种多基站星历合并方法,包括:步骤1:事先定义一个数据结构,记作mergeitem,用于存储星历合并过程中的数据,所述数据结构包含:时间date[最大卫星编号]、星历数据二维数据data[最大卫星编号][每颗卫星星历数据长度],是否有数据标志位havedata[最大卫星编号],是否可用标志位usable[最大卫星编号];步骤2:采集各卫星基站上传的星历数据,所述上传的数据为rtcm格式,依据rtcm协议解析出卫星系统,根据基站和卫星系统把数据存成文件,按照基站和卫星系统命名文件,将数据文件放在待合并数据目录,每个基站只保留最新的一份数据;步骤3:根据预设的时间间隔,解析收到的所有基站最新数据文件,根据步骤2的命名规则,按照卫星系统把数据文件分类,对每类的每个基站数据文件执行以下操作:1) 根据当前卫星系统的最大卫星编号和卫星数据长度初始化步骤1定义的数据结构mergeitem中的各字段,同时把所有是否有数据标志位havedata和是否可用标志位usable置为false,即无数据不可用状态,日期date置为1980年1月1日0时0分1秒;2) 依据rtcm协议解析数据文件,解析得到数据对应为卫星系统、卫星编号、星历时间、卫星健康状态以及具体星历数据,然后依据卫星健康状态,过滤掉不健康的卫星;依据星历时间,过滤掉超时或超前的卫星;依据数据取值范围,过滤掉超出范围的卫星;
glonass文件命名规则:地区名_glo, qzss文件命名规则:地区名_qzs, galileo文件命名规则:地区名_gal),按照卫星系统把文件分成5类,对每类的每个基站数据文件执行以下操作:1) 根据当前卫星系统的最大卫星编号和卫星数据长度初始化步骤1定义的数据结构mergeitem中的各字段,(例如gps卫星系统最大卫星编号是32,卫星数据长度是67字节,data字段初始化为data[32][67],date字段初始化为date[32],havedata字段初始化为havedata[32],usable字段初始化为usable[32]),同时把所有是否有数据标志位havedata和是否可用标志位usable置为false,即无数据不可用状态,日期date置为1980年1月1日0时0分1秒;2) 依据rtcm协议解析数据文件,得到数据对应为卫星系统、卫星编号、星历时间、卫星健康状态以及具体星历数据,然后a) 依据卫星健康状态,过滤掉不健康的卫星;b) 依据星历时间,过滤掉超时或超前的卫星(不同的卫星系统,星历有效时间是不一样的);c) 依据数据取值范围,过滤掉超出范围的卫星(每个具体星历数据都有一个合理的取值范围);3) 把当前数据时间与上次保存的数据时间date[卫星编号](如果是初次,上次保存数据的时间就是初始化的时间)比较,如果时间小于或等于上次的时间,放弃这条数据,继续处理下一条数据,如果大于上次的时间,用当前数据替换上次数据。同时设置havedata[卫星编号]=true(true为一个数值,表示条件成立),usable[卫星编号] =true;4) 把当前系统的所有基站数据文件处理完成之后,a) 如果是首次执行,直接把有数据(havedata[卫星编号]=true)且可用的(usable[卫星编号] =true)数据保存成星历文件发布;b) 如果非首次执行,把上次得到的星历文件执行2)、3)两步(这样做的好处是,如果本次数据合并,有不健康的卫星,可以用上次的卫星数据补齐,同时,如果上次数据合并出现长期不健康的卫星,也可以过滤掉超时星历,这一步是保证星历及时准确的关键所在),然后把有数据(havedata[卫星编号]=true)且可用的(usable[卫星编号] =true)数据保存成星历文件发布。
[0017]
本发明依据时间、健康状态以及数据取值范围对数据校对,通过前后两次合并的数据比对及校对保证数据及时准确。
[0018]
步骤4:依次处理完所有数据文件,结束本次合并。
[0019]
本发明可以应用于a-gnss实时星历服务,也可以应用于其他相关领域。
[0020]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。


技术特征:
1.一种多基站星历合并方法,其特征在于,包括:步骤1:事先定义一个数据结构,记作mergeitem,用于存储星历合并过程中的数据,所述数据结构包含:时间date[最大卫星编号]、星历数据二维数据data[最大卫星编号][每颗卫星星历数据长度],是否有数据标志位havedata[最大卫星编号],是否可用标志位usable[最大卫星编号];步骤2:采集各卫星基站上传的星历数据,所述上传的数据为rtcm格式,依据rtcm协议解析出卫星系统,根据基站和卫星系统把数据存成文件,按照基站和卫星系统命名文件,将数据文件放在待合并数据目录,每个基站只保留最新的一份数据;步骤3:根据预设的时间间隔,解析收到的所有基站最新数据文件,根据步骤2的命名规则,按照卫星系统把数据文件分类,对每类的每个基站数据文件执行以下操作:1)根据当前卫星系统的最大卫星编号和卫星数据长度初始化步骤1定义的数据结构mergeitem中的各字段,同时把所有是否有数据标志位havedata和是否可用标志位usable置为false,即无数据不可用状态,日期date置为1980年1月1日0时0分1秒;2)依据rtcm协议解析数据文件,解析得到数据对应为卫星系统、卫星编号、星历时间、卫星健康状态以及具体星历数据,然后依据卫星健康状态,过滤掉不健康的卫星;依据星历时间,过滤掉超时或超前的卫星;依据数据取值范围,过滤掉超出范围的卫星;3)把当前解析得到的数据时间与上次保存的数据时间date比较,如果时间小于或等于上次的时间,放弃这条数据,继续处理下一条数据,如果大于上次的时间,用当前数据替换上次数据;同时设置havedata[卫星编号]=true,usable[卫星编号]=true;4)把所有基站数据文件处理完成之后,如果是首次执行,则直接把有数据且可用的数据保存成星历文件发布;如果非首次执行,把上次得到的星历文件执行2)、3)两步,然后把有数据且可用的数据保存成星历文件发布;步骤4:依次处理完所有数据文件,结束本次合并。

技术总结
本发明实施例公开了一种多基站星历合并方法,包括:步骤1:事先定义一个数据结构;步骤2:采集各卫星基站上传的星历数据,依据星历系统及基站地点对数据进行分类存储;步骤3:依据时间、健康状态以及数据取值范围对数据校对,通过前后两次合并的数据比对及校对保证数据及时准确;步骤4:依次处理完所有数据文件。本发明通过时间、健康状态以及数据取值范围对数据做校对,同时通过前后对比,互为备份补充,提高了数据准确性和容错率。高了数据准确性和容错率。高了数据准确性和容错率。


技术研发人员:安士军 孙中亮
受保护的技术使用者:北京北斗华大科技有限公司
技术研发日:2022.05.06
技术公布日:2022/6/3
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1