)
学习RTKLIB的同学可能都会对RTKLIB中的udbias函数有疑问下面根据自己的理解解释一下希望对刚学习的同学有点帮助首先需要明确只有 RTK 模式才需要这个函数DGPS模式不需要。这个函数最后得到的是站间单差模糊度和方差。有几个前提你要清楚要知道RTK计算过程需要用到EKF既然这样就需要有状态量即RTK-X和方差RTK-P。RTKLIB2.4.3版本里面根据配置文件RTK-X中前3个元素保存的位置信息在udpos里面更新。后面的元素按照卫星号和频率进行分配位置。然后再展开说说这个udbias函数其过程如下step1周跳检测目标找出“周跳”的卫星。手段调用detslp_ll()失锁标志、detslp_gf()几何无关组合等。结果在ssat[sat].slip[f]中标记周跳标志位。step2周跳-重置相位偏差目标清理“周跳”的卫星。操作遍历所有卫星和频率MAXSAT × nf。逻辑观测中断计数器outc若outc maxout超时或处于瞬时模式ARMODE_INST调用initx()将模糊度强制归零重置锁定计数器lock -minlockstep3过程噪声注入目标给单差状态变量加过程噪声。初次赋值用step7中的initx函数操作针对当前历元可用的卫星。动作增加对应模糊度在协方差阵P中的方差P[jj*nx] prn^2 * tt。原因时间越久未校正的误差越大。Step4 周跳响应目标剔除有周跳的模糊度。逻辑如果slip标志位为 1且非瞬时模式立即将状态向量中的模糊度x[j]清零并将lock设为负值。Step5 站间单差模糊度初始化注意这里得到的bias是个负数。Step6 公共偏差校正注意这里需要状态量中的单差模糊度有值才可以。Step7 初始化模糊度状态目的如果单差模糊度还没有赋值则将bias和std[0]分别赋值给rtk-x和rtk-P。