shaoxiaodong92的个人博客分享 http://blog.sciencenet.cn/u/shaoxiaodong92

博文

基于RTKLIB进行SBAS改正信息进行伪距单点定位

已有 7387 次阅读 2016-3-21 14:33 |个人分类:GNSS定位算法|系统分类:科研笔记

最前面要说的话:

本人博客才疏学浅,仅作为自己学习工作之余,记录所做过的工作之用。如果能帮到一些同学,那也是极好的- - 。

开源,分享经验,让生活工作更美好!!!!!!!!!



先来说一下搞这个的由头吧,当时公司让利用UBLOX提供的SBAS信息进行伪距定位。虽然UBLOX提供的伪距改正信息等精度比较差,但已经给出了相应卫星的改正数,用户只需解码UBLOX定义的文件格式,获得改正信息较为简单。但本着求根问底的心态,我就来看了一下DO-229D对SBAS的文件规定的格式说明。


待我弄明白流程,来写。其实,怎么利用SBAS信息的进行定位解算并不难,难就难读英文标准,看懂其编码格式,解码其中的信息!!!(英文不好 - -)

那么,就开始一起学习吧。慢慢更……………………


首先,我们可以去ftp://serenad-public.cnes.fr/Niveau0/SERENAD0/FROM_NTMF/MSG/

里面下载标准SBAS文件。需要注意的事情,目前有两种格式的SBAS文件可提供下载,而rtklib2.4.3仅能识别如下格式的数据:

GPS周 周内秒 SBAS卫星  type类型号:29*2个16进制数据   

因此,直接观察数据就可以知道某一时刻发送了哪些类型的电文信息,根据O文件观测时刻匹配相应的SBAS信息,然后对SBAS信息解码就可以得到播发的改正数,最后进行定位解算。


然后,就可以正式进入解码阶段。当然,解码工作必须参考SBAS国际标准《DO-229D》。


上图可知道,SBAS可由上述63条电文组成。每条电文格式如下:

总共250bit,8bit(电文头01010011 10011010 11000110 轮换)+6bit(类型号type)+212(SBAS电文信息)+24bit(奇偶检验数)


这里,我们就可以正式进入解码工作了。

首先,提取6bit(类型号type)判断是1~63哪条电文信息;然后,根据每条电文的格式进行解码工作。


由于,63条电文真的太多,而且SBAS卫星是1s播发一条信息(1s播发一种TYEPE类型的),其中有好多也是空或无用的信息。下面,我们一起来学习一下常用的几条电文(短、长周期改正、电离层对流层改正、完备性信息等)

type=0


type=1

编码卫星PRN号,这个很简单。从第14位开始,只要二进制位为1时,记下当前的位置即为PRN号。

1~37GPS 38~61GLONASS……一次类推

type=2

type=3

type=4

type=5

type=2到type=5都是Fast Corrections Message Types,区别就是他们分别负责对不同的卫星进行改正。

type=2负责1-13号卫星     type=3负责14到26号卫星 type=4 27-39  type=5 40-51


type=6


type=7


type=9


type=18

优点复杂,不能一眼辨明,暂时没时间仔细研究

type=24


type=25


type=26


解码就简单的写到这里吧,详细的还得细读标准。

接下来的事情就是存储SBAS信息。

由于SBAS信息是1s发送一条message type,因此,每次只能存储一条message type,与此同时匹配观测文件的历元时间,一旦相差在1s以内,就可以利用已接收到的SBAS信息定位。


具体的解码代码和改正信息定位代码参照RTKLIB2.4.3中的代码就行了。


好吧,就到此为止吧,没那么多时间进行细致研究。不过,相信在深入研究DO229D之前,这个可以作为一个基础来方面学习。





https://blog.sciencenet.cn/blog-3080107-963900.html

上一篇:解决RCTM2.3的解码中的BUG-2016.3.18
下一篇:FTP下载软件编写
收藏 IP: 59.42.52.*| 热度|

1 wynmng

该博文允许注册用户评论 请点击登录 评论 (1 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-26 10:54

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部