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

博文

基于Visual Studio 2013调试RTKlib 2.4.3源码(续)

已有 2267 次阅读 2022-1-29 00:07 |个人分类:RTKlib学习|系统分类:科研笔记

以“基于Visual Studio 2013调试RTKlib 2.4.3源码”中建立的RTKlib工程为基础,本文直接给出调试rtklib/PPP源码中,编译器设置及源码中几处bug的修复方法。

1、在项目文件夹中新建brdc、igs、rinex和tables等文件夹,用以存放GNSS数据处理过程中,所需的观测文件、星历文件和其他依赖文件。

image.png

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

image.png

3、在预处理器定义中,开启BDS、GLO、GAL系统和日志文件打印的宏定义;

image.png

4、修复源码中读取sp3-d格式精密星历错误以及精密星历间隔异常的问题;

原码:

image.png


修改后:

image.png

精密星历间隔异常问题:

image.png

image.png

源码修改:

image.png

5、在处理BDS-3观测数据中,发现程序读取的BDS-3卫星只有B1I频点伪距、载波等观测量。该问题可通过改变源码rtkcmn.c中B2I和B3频点观测量读取顺序进行修复,具体如下:

修改1:

image.png

修改2:

image.png

6、解决源码中变量初始化问题;

原始:

image.png

修改:

image.png

7、对于源码中伪距单点定位(SPP)中,无法通过卡方检验;

解决方法:

image.png

8、修改ppp.c文件中的static void udclk_ppp(rtk_t *rtk)函数;

image.png

注:上述修改仍存在不足之处,发现问题欢迎交流。谢谢!




https://blog.sciencenet.cn/blog-3486472-1323154.html

上一篇:在RTKlib2.4.3源码中启用LAPACK开源线性代数库
下一篇:在 Ubuntu 20.04 上安装 Vscode并构建Fortran开发环境
收藏 IP: 203.168.23.*| 热度|

0

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

数据加载中...

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

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

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部