RTKLIB整周模糊度固定的动态ratio门限

整周模糊度固定中的ratio检验

整周模糊度固定(Ambiguity resolution, AR)中,比较常用的方法是LAMBDA算法。计算所有候选模糊度组合的残差,通过比较次优和最优模糊度组合的残差,如果比值(AR ratio)大于某个门限,则认为该最优模糊度是真正的模糊度。通常ratio越大,那么模糊度解的可靠性就越高。

但ratio值通常是基于经验,在LAMBDA算法作者的论文The_GNSS_Ambiguity_Ratio-test_Revisited_a_Better_Way_of_Using_it中提到,最常用的经验值是3,但是也有其他论文通过研究认为2或者1.5是比较合适的值,如下图所示。这其实跟实验者的GNSS测试场景有很大的关系,事实上很难决定最优的ratio应该设置为多少。ratio值设置得过高,可能无法固定,设置得过低,又可能会得到错误的固定解。
在这里插入图片描述

商业后处理软件中的ratio值设置

RTKLIB使用ratio=3作为默认值,如果卫星数目比较多,这个值相对比较保守,而NOVATEL的商业后处理软件Grafnav将这个默认值设置为2,如下图中的Min.Reliability所示,我在后面附上了软件用户手册中对Min.Reliability的解释,其实就是次优和最优RMS的比值。当然用户可以根据自己的需求对这个值进行修改。
在这里插入图片描述
在这里插入图片描述

RTKLIB中的动态ratio门限

我所使用的RTKlib,是作者rtklibexplore在原版本上针对低成本接收机进行优化后的版本。该作者在博客A variable ambiguity resolution threshold for RTKLIB中描述他如何来设置动态ratio门限,感兴趣的同学可以阅读原作者的博客。

LAMBDA算法的作者团队提出了一种动态调整ratio门限的方法,该方法主要是基于当前历元的model strength来决定ratio值,model strength包括了卫星数量、测量精度等。通过大量数据的蒙特卡洛仿真,生成了ratio值查找表,可以根据卫星数量和模糊度固定的failure rate进行查表取值。他们将这个方法命名为fixed-failure rate ratio test (FFRT),我暂时没有仔细阅读原论文,具体可以参考论文The_GNSS_Ambiguity_Ratio-test_Revisited_a_Better_Way_of_Using_it

rtklibexplore通过测试认为,model strength的最大影响因素其实是卫星数量,因此将failure rate固定为0.1%,将ratio查找表用曲线进行拟合,ratio的取值将由卫星数量决定,而除了卫星数量以外的model strength由用户决定(即设定下图中的nominal Ratio to fix ambiguity, nominal ratio决定了当有8对卫星时,ratio值等于多少),随着卫星数量的增加,ratio值会变小,用户可以设置最大值(Max)和最小值(Min)进行约束。
在这里插入图片描述
在failure rate为0.1%时,将nominal ratio设置为1.5,2,3时,在rtklibexplore的版本中ratio随卫星数量的变化如下图所示(Pf_ILS 可以忽略不看,可以理解为除卫星数量外的其他model strength因子)。
在这里插入图片描述
如果将ratio最大值和最小值都设置3,那么ratio就会一直等于3,这样设置也就成了固定ratio。目前我做了些简单测试,大概有20颗卫星参与解算,使用固定ratio和动态ratio,解算结果没有太大差别。不过,有朋友反馈,当他有40颗卫星参与解算,使用固定ratio无法固定,使用动态ratio得到了很好的固定率。感兴趣的同学可以下载rtklibexplore的版本进行测试:https://rtklibexplorer.wordpress.com/resources/,ratio调整的核心代码位于rtkpost.c,如下所示:

	/* poly coeffs used to adjust AR ratio by # of sats, derived by fitting to  example from:
	   https://www.tudelft.nl/citg/over-faculteit/afdelingen/geoscience-remote-sensing/research/lambda/lambda*/
	static double ar_poly_coeffs[3][5] = {
	    {-1.94058448e-01, -7.79023476e+00, 1.24231120e+02, -4.03126050e+02,  3.50413202e+02},
	    {6.42237302e-01, -8.39813962e+00,  2.92107285e+01, -2.37577308e+01, -1.14307128e+00},
	    {-2.22600390e-02,  3.23169103e-01, -1.39837429e+00, 2.19282996e+00, -5.34583971e-02}};
    
        /* adjust AR ratio based on # of sats, unless minAR==maxAR */
        if (opt->thresar[5]!=opt->thresar[6]) {
            nb1=nb<50?nb:50; /* poly only fitted for upto 50 sat pairs */
            /* generate poly coeffs based on nominal AR ratio */
            for ((i=0);i<3;i++) {
                 coeff[i] = ar_poly_coeffs[i][0];
                 for ((j=1);j<5;j++)
                    coeff[i] = coeff[i]*opt->thresar[0]+ar_poly_coeffs[i][j];
            }
            /* generate adjusted AR ratio based on # of sat pairs */
            rtk->sol.thres = coeff[0];
            for (i=1;i<3;i++) {
                rtk->sol.thres = rtk->sol.thres*1/(nb1+1)+coeff[i];
            }
            rtk->sol.thres = MIN(MAX(rtk->sol.thres,opt->thresar[5]),opt->thresar[6]);
        } else
            rtk->sol.thres=(float)opt->thresar[0];
  • 18
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值