||
以“基于Visual Studio 2013调试RTKlib 2.4.3源码”中建立的RTKlib工程为基础,本文直接给出调试rtklib/PPP源码中,编译器设置及源码中几处bug的修复方法。
1、在项目文件夹中新建brdc、igs、rinex和tables等文件夹,用以存放GNSS数据处理过程中,所需的观测文件、星历文件和其他依赖文件。
2、在调试中设置命令参数,如下(文件路径根据实际情况进行修改):
-x 3 -k PPP.conf -ts 2021/10/03 00:00:00 -te 2021/10/03 23:59:30 -o jfng.pos F:\rtklib_b34\rinex\jfng2760.21o F:\rtklib_b34\brdc\brdc2760.21n F:\rtklib_b34\igs\wum21780.sp3 F:\rtklib_b34\igs\wum21780.clk
3、在预处理器定义中,开启BDS、GLO、GAL系统和日志文件打印的宏定义;
4、修复源码中读取sp3-d格式精密星历错误以及精密星历间隔异常的问题;
原码:
修改后:
精密星历间隔异常问题:
源码修改:
5、在处理BDS-3观测数据中,发现程序读取的BDS-3卫星只有B1I频点伪距、载波等观测量。该问题可通过改变源码rtkcmn.c中B2I和B3频点观测量读取顺序进行修复,具体如下:
修改1:
修改2:
6、解决源码中变量初始化问题;
原始:
修改:
7、对于源码中伪距单点定位(SPP)中,无法通过卡方检验;
解决方法:
8、修改ppp.c文件中的static void udclk_ppp(rtk_t *rtk)函数;
注:上述修改仍存在不足之处,发现问题欢迎交流。谢谢!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-10-20 01:31
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社