由于CNES发布的CLK系列北斗的SSR更改了格式,因此使用rtklib的用户也需要更改。
一、RTKLIB代码bug描述
根据CNES The PPP-WIZARD project 官网(http://www.ppp-wizard.net/news.html),BDS系统IOD字节数由24 bits 改为8 bits如图1所示。
如图2、3所示,BKG在自定义了RTCM3.1 BDS SSR改正数,用户可以通过接收SSRA00CNE0实时流获得BDS的轨道、钟差等改正数,从而恢复精密星历进行实时定位。在RTKLIB中存在着RTCM1260、RTCM1261解码代码,但是是在图1信息公告之前的版本。所以利用RTKLIB B34版本进行解码时会出现问题,IODE匹配不成功。
二、RTKLIB RTCM1261代码修改
解决方案可以通过阅读BKG的client程序BNC源代码来修改RTKLIB中存在的bug。BNC源代码可以通过https://igs.bkg.bund.de/ntrip/bnc链接进行下载。在bnc-2.12.18-source/BNC_2.12.18/src/RTCM3/clock_and_orbit/clock_orbit_rtcm.cpp文件可以在GetSSR函数查看到如图4。
其中需要在RTKLIB中修正bug需要参考的代码如图5、6、7所示。



根据图5、6、7修改之后的RTKLIB代码如图8、9所示。

三、星历IODE获得
IODE的匹配策略也有所更改,具体参考链接https://blog.youkuaiyun.com/xiaoxiao133/article/details/108072286?spm=1001.2014.3001.5501