本文主要是介绍RTKLIB中PPP调试过程及相关问题(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2.2 遇到的问题及解决方案
(1)精密星历读取错误
在使用bin程序进行PPP定位时显示无法读入精密星历,对照源码发现在读头文件时读取卫星个数时出现问题,源程序是默认从第四位开始读取两位,但是对于多系统卫星总数可能超过100。
此时需要在readpreceph->readsp3->readsp3h中进行相应修改:
(2)北斗TGD参数与频点选择
在RINEX导航电文中,北斗系统的TGD参数为B1I和B2I信号相对于B3I的群延迟,B1Cp、B2ap相对于B3I的群延迟 ,以及B1C、B2a数据和导频分量间的延迟未在电文中给出。在RTKLIB中,TGD数组的定义如下:
但是读取星历文件时只读取了前两项,后面几项的数值均为0。如果要提高单点定位精度,需要对频点进行选择。RTKLIB中频率索引编号以及同一频率索引中各个频点间的优先级为:
频点优先级可直接在codepris数组中修改,频率的选择可以直接在相应定位函数中进行。
(3)北斗二代和三代接收机端钟差区分
在使用北斗的精密星历进行伪距单点定位时,会出现残差平方和检验不通过的情况,用此结果继续进行精密单点定位,定位结果与真实值之间会存在较大偏差。经过检查和调试找到的解决方案如下:
- 使用GFZ的精密星历时,在单点定位环节应该取消TGD修正项(大概是数据中心在处理时就已经将其考虑进去了?)。
- 北斗二号(C01-C19)卫星和北斗三号(C19以后)卫星间存在系统偏差,接收机钟差未知数个数在SPP和PPP过程中都应该增加一位。也可也直接在inputobs或者procpos开头筛选观测值,只使用BDS2或者BDS3的信号。
未知数扩维时,在SPP中,需要注意修改H,v,x数组维数,否则容易出现数据溢出现象
这篇关于RTKLIB中PPP调试过程及相关问题(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!