zoukankan      html  css  js  c++  java
  • RTKLIB中relpos()函数之——udstate()函数

    udstate()函数-->/* temporal update of states */

    udstate()函数功能是状态更新,可以看出待估参数X中的各元素

    /* temporal update of states --------------------------------------------------*/
    static void udstate(rtk_t *rtk, const obsd_t *obs, const int *sat,
                        const int *iu, const int *ir, int ns, const nav_t *nav)
    {
        double tt=rtk->tt,bl,dr[3];
        
        trace(3,"udstate : ns=%d
    ",ns);
        
        /* temporal update of position/velocity/acceleration */
        udpos(rtk,tt);
        
        /* temporal update of ionospheric parameters */
        if (rtk->opt.ionoopt>=IONOOPT_EST) {
            bl=baseline(rtk->x,rtk->rb,dr);
            udion(rtk,tt,bl,sat,ns);
        }
        /* temporal update of tropospheric parameters */
        if (rtk->opt.tropopt>=TROPOPT_EST) {
            udtrop(rtk,tt,bl);
        }
        /* temporal update of receiver h/w bias */
        if (rtk->opt.glomodear==2&&(rtk->opt.navsys&SYS_GLO)) {
            udrcvbias(rtk,tt);
        }
        /* temporal update of phase-bias */
        if (rtk->opt.mode>PMODE_DGPS) {
            udbias(rtk,tt,obs,sat,iu,ir,ns,nav);
        }
    }

    在函数udbias()中我们可以看到一段代码

                    cp=sdobs(obs,iu[i],ir[i],f); /* cycle */
                    pr=sdobs(obs,iu[i],ir[i],f+NFREQ);
                    lami=nav->lam[sat[i]-1][f];
                    if (cp==0.0||pr==0.0||lami<=0.0) continue;
                    
                    bias[i]=cp-pr/lami;

    其中sdobs()函数的意思是rover与base观测值作差

    所以可以发现,估计的是单插模糊度

    RTKLIB使用手册中提提到了这点,这样做可以避免考虑参考星换星问题,如果换了参考星,相当于基本所有的双差模糊度都需要重新估计 

     
  • 相关阅读:
    线段树
    数据结构<三> 队列
    数据结构<二>双向链表
    数据结构<一>单链表
    扩展欧几里德算法
    90 个 node.js 扩展模块,我们疯了
    nodejs的查询构造器
    express的路由配置优化
    express路由方案
    Redis学习笔记~目录
  • 原文地址:https://www.cnblogs.com/y-z-h/p/15370525.html
Copyright © 2011-2022 走看看