文章目录
1 目的
使用visual studio(VS),整合RTKlib中的源代码成控制台。通过控制器读入本地的GNSS数据(Renix文件)调试并观察数据流,可以让我们理解GNSS双差解算流程、查看数据变化的趋势。
2 前期准备
2.1 下载资料
VS软件(本项目使用VS2019)、构建好的RTKlib控制台程序、数据文件。
控制台软件
自己构建可参考基于rtklib_2.4.2生成VS2019控制台工程
直接获取控制台工程可下载RTK-main.zip
【以下使用RTK-main代码进行调试。】
数据文件下载及下载方法
武汉大学IGS数据中心网站的下载方法
【以下使用 hksl1460.20o ,hkws1460.20o,brdc1460.20n 进行双差单频定位解算调试】
2.2 数据说明
hksl
位于香港屯门,其测站信息(经纬度、天线型号)见文件
Google 地图位置
坐标 屯门 22.372109473551312, 113.92803112094805
用作基站
hkws
位于香港黄石,其测站信息见文件
google地图位置
坐标黄石 22.43428235,114.33537730277777
作用流动站
使用经纬度坐标求距离的工具可以求得两站距离约42千米,在定点情况下,满足短基线要求。
3 过程
3.1 使用GUI观察结果
运行…\rtklib_2.4.2\rtklib_2.4.2\bin\rtkpost.exe.,使用方法见B站视频,如下设置并使用view、plot等选项卡观察数据结果。目的是
1、体会双差运算结果:两地距离ENU差不多是42公里,结果正确。使用plot可以观察到模糊度fix状态的(模糊度不失锁)占35%左右,最后精度在2cm内。即静态单频双差解算结果精度在2cm以内。
2、导出options的conf文件以供VS2019使用,选项卡内save即可。
3.2 构建CUI
3.2.1 不重要的过程记录
1、使用RTK-main代码文件夹下rtksingle工程进行编译。调试命令参数为
-k opts_d1.conf -o DDpos.txt hksl1460.20o hkws1460.20o brdc1460.20n -x 3
得出结果,Q=5,所有数据都不变,出来的差分结果也是错的
(
E
2
+
N
2
+
U
2
)
≠
42
\sqrt{(E^2+N^2+U^2)} \neq42
(E2+N2+U2)=42
2、命令参数输入 -
即可打印对命令参数的说明help[ ]
代码见
help中说明:
第一个OBS文件要为流动站
第二个OBS文件要为基站
需要至少有1个nav
所以上面是文件顺序错了,另外再加个stat状态文件输出
-k opts_d1.conf -o DDpos.txt hkws1460.20o hksl1460.20o brdc1460.20n -y 2 -x 3
结果报错:
3、重启VS2019 去除-y -x (不输出过程文件),可以正常解算。又重新添加了-y 2 -x 3,可以了。这里就不去追究2的错误在哪里了。
运行…\rtklib_2.4.2\rtklib_2.4.2\bin\rtkplot.exe查看结果是否和GUI的结果相同。
结果相同则可以单步调试差分程序了。
4、单步调试过程