demo5是作者rtklibexplore的一个RTKlib版本,本文参考了作者的博客Glonass Ambiguity Resolution with RTKLIB Revisited。

和其他导航系统不同,由于GLONASS 采用频分多址,因此各卫星的载波相位存在一定的频间差(inter-frequency bias),这个硬件偏差导致GLONASS卫星的整周模糊度固定会比其他系统更加困难。

通常来说,频间差和频率号成正比,同一颗卫星L1和L2的频间差基本一致。对于同一制造商的所有接收机,频间差特性保持一致。如果基站和移动站使用来自不同厂家的接收机,由于频间差即使双差后也无法抵消,因此需要对其进行处理。

在demo5版本的RTKlib代码中,作者设置了四种GLONASS的模式:

  • off: 如果Glonass AR设置为OFF,则GLONASS的伪距、载波相位只用于计算浮点解。如果基站和移动站使用了不同厂家的接收机,并且采用GLONASS整周模糊度固定情况很差,卫星足够的情况下,可以尝试该选项,不进行GLONASS的整周模糊度固定。不过如果在星况较差的情况下,这样会损失很多卫星。demo5中不推荐使用这个设置。
  • on: 如果Glonass AR设置为on, 那么RTKLIB对待GLONASS卫星和其他系统卫星一样,使用同样的方法去进行整周模糊度固定。如果基站和移动站接收机一致,或者移动站和基站的频间差一致,demo5推荐使用这个设置。 实际如果移动站和基站的频间差都非常小(毫米级或者亚毫米级),也可以先尝试这个配置,看看固定率和残差的情况,在决定是否需要更换设置。
  • Fix-and-Hold: 这是Demo5中增加的一个GLONASS设置选项,是其他系统Fix-and-Hold模式的延伸。在这个模式下,会等其他系统固定之后,才会进行GLONASS模糊度的固定。在这个模式下,每次会将GLONASS双差整周模糊度浮点解的小数部分认为是频间差,然后设置一个增益(0.01)将这部分误差存在glo_icbias中,让它慢慢收敛,在下一次更新时,会减掉这部分误差。具体可以参考原作者的这篇博客。作者用数据证明了这个方法的有效性,并且推荐在使用不同接收机且频间差未知的情况下,使用该配置。不过个人感觉这个方法的理论支撑不太强。
  • Auto-cal: 如果使用这个设置,会在卡尔曼滤波中增加额外的状态估计量来估计频间差。原版RTKLIB中也有这个选项,但是不能设置频间差的初始值和初始协方差阵。根据demo5作者描述,如果频间差初始值和实际值相差太多,或者协方差阵不准的话,结果不会太理想,频间差估计不准确。demo5在程序中增加了初始值和初始协方差的设置,并且在通过用零基线或者短基线的方法,基于这篇论文(这篇论文在标定频间差,和使用标定值作为先验值固定GLONASS整周模糊度方面起到了关键作用,值得仔细研读),标定出了不少接收机的频间差。个人觉得这个方法是理论支撑最强的方法。

demo5中和GLONASS频间差相关的配置:

pos2-arthres2 = relative GLONASS hardware bias in meters per frequency slot
pos2-arthres3 = initial variance of GLONASS hardware bias states
pos-arthres4 = process noise for GLONASS hardware bias states

demo5作者标定出的各接收机频间差:

ComNav = 2.3 cm
Leica = 2.3 cm
Novatel = 2.3 cm
Septentrio = -0.3 cm
Spectra Physics = 0.0 cm
SwiftNav = 0.0 cm
Tersus = 0.0 cm
Topcon = 0.0 cm
Trimble = -0.7 cm
u-blox M8T = -3.2 cm
u-blox F9P = 0.0 cm

我个人觉得,如果使用不同厂家的接收机,最好的方法还是用零基线的方法标定频间差,然后将这个先验值直接带入计算,从载波相位中把频间差扣除。

目前也看到GPS Solutions上的一篇论文[4],通过选两颗GLONASS参考星的方法,可以将由于时钟偏差引起的频间差消除。不过感觉作者也不确定频间差是否是由于时钟偏差引起,未曾尝试,不太确定这个方法是否靠谱,感兴趣的同学可以看看。

参考资料:
[1] https://rtklibexplorer.wordpress.com/2018/06/14/glonass-ambiguity-resolution-with-rtklib-revisited/
[2] https://rtklibexplorer.wordpress.com/2016/05/26/fix-and-hold-extended-to-glonass-and-sbas/
[3] Wanninger, Lambert. “Carrier-phase inter-frequency biases of GLONASS receivers.” Journal of Geodesy 86.2 (2012): 139-148.
[4] Banville, Simon, Paul Collins, and François Lahaye. “Model comparison for GLONASS RTK with low-cost receivers.” GPS Solutions 22.2 (2018): 1-12.

RTKLIB demo5对Glonass模糊度固定的算法优化相关推荐

  1. (四)GNSS定位中的距离测量(模糊度固定LAMBDA算法)

    GNSS定位中的距离测量 测距码 伪距观测方程 载波相位 重建载波 测量原理 观测方程 周跳的探测与修复 整周模糊度的确定 RTKLIB中的lambda函数代码 定位的手段源自距离交会,因此首先要搞懂 ...

  2. 网络RTK基准站模糊度固定方法——三步法

    在CORS网中,基线间的双频载波相位整周模糊度需要先被确定,模糊度固定之后,才可以精确计算与距离有关的相关误差项.然而,参考站间的基线长导致空间相关性降低,对流层折射与电离层折射误差变大,难以实现时模 ...

  3. PPP模糊度固定解文件下载

    PPP模糊度固定 PPP模糊度固定借助小数偏差产品,可以实现快速固定无电离层整周模糊度,大幅度提高定位精度和收敛速度. 小数偏差产品 目前可以公开下载的小数偏差产品包括武汉大学发布的FCB产品和法国C ...

  4. 专访 | PP云技术副总监:如何使用机器学习算法优化分发链路

    转载声明:本文转自公众号[PP视频云] 4月21日PP云作为LiveVideoStack的特别支持单位,将在上海浦东新区陆家嘴软件园苏宁文创园区举办<多媒体开发新趋势>系列沙龙,为大家展现 ...

  5. 快速排序quicksort算法优化

    1.基本想想 快速排序使用分治的思想 通过一趟排序将待排序列分割成两部分,其中一部分所有元素均比基准大,另一部分均比基准小 分别对这两部分元素继续进行排序,以达到整个序列有序 2.快排的步骤 1.选择 ...

  6. ElasticSearch cardinality基数 算法优化内存开销及HLL算法

    2019独角兽企业重金招聘Python工程师标准>>> cardinality 可用于聚合函数,可计算某个字段的基数,即该字段的distinct值,它基于HLL算法来实现的.HHL会 ...

  7. 基于帝企鹅算法优化BP神经网络实现数据预测matlab代码

    1 算法介绍 1.1 BP神经网络 1. 反向传播算法应用领域 反向传播算法应用较为广泛,从字面意思理解,与前向传播相互对应.在简单的神经网络中,反向传播算法,可以理解为最优化损失函数过程,求解每个参 ...

  8. 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码

    基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 文章目录 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 1 蝙蝠算法与BP神经网络分类模型 1.1 蝙 ...

  9. PID算法优化(以平衡小车代码为例)

    PID控制 这篇文章是PID控制的进阶说明,如果没有看过PID控制(上)的读者,请先看看PID控制(上),以便更容易看懂这篇文章.关注微信公众号"电子搬砖师"即可阅读PID控制(上 ...

最新文章

  1. 二维已经 OUT 了?3DPose 实现三维人体姿态识别真香 | 代码干货
  2. Dom4j 写文件不全
  3. python小练习—名片管理系统(增、删、改、查、数据本地保存)
  4. 表格下拉_【职场充电】要说制作一个漂亮的表格,高手都爱WPS
  5. 程序—java记事本
  6. redis高级用法:geo位置相关信息
  7. 微信小程序登录授权开发
  8. Evernote推出实体笔记本Evernote Business Notebook,支持搜索手写笔记,用实体便签将笔记同步到Evernote上的相应分类
  9. 2015校园O2O商业模式解析——从水果切入
  10. 我喜欢邓丽君,死掉了;
  11. 每月一书(202202): 《从零开始做自媒体》
  12. linux 'stack'未声明(在此函数内第一次使用,未定义的引用`__stack_chk_fail'
  13. 【UE虚幻引擎】手把手教学,UE打包全攻略
  14. MySql自定义函数的定义和使用
  15. 为什么 MySQL 执行完 Delete 操作之后,空间没有释放?
  16. ABB机器人负载测算评估方法
  17. 注册公用设备工程师考试——给水排水专业常用规范
  18. 摄像头模组 OTP(One Time Programmable) P1
  19. CSS3详解:text-shadow
  20. 微信小程序(看文档写实例九)微信小程序课堂宝APP实现练习模块逻辑代码

热门文章

  1. 第三方SDK集成库(授权/分享/支付)
  2. 时间序列分析这件小事(七)----协整
  3. 推荐一个为按钮加好看的css网站,大家可以参考一下
  4. 7种夏季人像暖色效果LR预设
  5. PAIR PROJECT 总结 PART1 --韦昀
  6. 基于多向梯度局部对比度的红外弱小目标检测算法(MDWCM)解析及代码(2021年IEEE GRSL 论文)
  7. 学java编程语言_为什么要学Java编程语言?
  8. P2P software list
  9. linux 系统如何ping通外网
  10. 最新的三星android版本是多少,我的手机是三星的怎么变成ANDROID版?