rtklib基于同一组数据的实时(rtknavi)和后处理(rtkpost)和vs后处理平台的结果差异分析

rtklibexplorer的一篇文章该问题做了分析,文章Exploring differences between real-time and post-processed solutions.,我在实际测试中出现了类似的问题。
问题描述:
1、数据采集
rtknavi实时采集数据,log数据的时候需要勾选时间戳(这样做的目的是,可以利用log数据和时间戳在rtknavi中回放数据,在回放过程中,可以打开残差和trace,有利于后续分析)。log的数据包括solution文件(.pos),input stream数据(基站和流动站的数据,我的rover是ubx格式的,base是rtcm3格式的),时间戳数据。
2、数据转换
在使用rtkpost进行后处理的时候,需要使用rtkconv转换ubx、rtcm3格式的数据为观测文件和导航电文文件,我转换的是rinex3.00格式。
3、将转换的o文件和p文件使用rtkpost处理,此时的conf文件要跟rtknavi一致,得到结果文件;使用vs后处理平台,也可以得到结果文件。
4、结果说明
三种情况下的结果不一致,rtknavi的固定率最高,rtkpost和vs后处理平台的固定率偏低,并且二者也不一致。
问题解决:
前提说明一下我使用的是单频数据,我对结果的可视卫星数进行了分析,发现rtknavi比rtkpost和vs后处理平台的可视卫星数比较多,同时比较了观测文件的头文件中北斗系统的观测值类型,确定是北斗的观测值类型出错,同时查看了trace中的观测值打印,发现北斗的频率1和频率2数据反了,更改观测值文件头文件中的观测值类型即可。重新测试,结果一致。
上一个图吧
各个版本结果比较
图1是vs后处理平台修改代码后的结果;图2是修改后的代码使用c++ builder生成的rtkpost跑出来的结果;图3是rtknavi实时结果;图4是vs后处理平台未修改代码的结果。其实rtknavi回放的结果跟图4固定率一样。
注:开头提到的rtklibexplorer观点是数据转换会造成信息丢失,rtkpost后处理时差分龄期比rtknai小,反正巴拉巴拉说了三篇,也没个最后结论。

猜你喜欢

转载自blog.csdn.net/weixin_43074576/article/details/106255512