rtklib相对定位流程EKF
时间: 2024-01-18 14:05:10 浏览: 244
在simulink环境下实现了两颗卫星的相对导航(EKF + CW方程)
RTKLIB使用了一个EKF(扩展卡尔曼滤波器)来对状态进行简单的滤波,实现了RTK定位的相对定位流程。在RTKLIB中,有几个关键的函数用于更新状态和参数。
其中,函数initx用于初始化状态向量rtk->x\[i\]和协方差矩阵rtk->P\[i\]。在该函数中,通过赋值操作将rtk->x\[i\]赋值为xi,将rtk->P\[i,i\]和rtk->P\[i\]上的非对角线元素赋值为0。这样可以初始化状态向量和协方差矩阵的初始值。
函数udrcvbias用于更新接收机硬件偏移参数。在该函数中,通过遍历GLONASS的频率,对接收机硬件偏移参数进行更新。如果接收机硬件偏移参数为0,则将其初始化为1E-6,并用VAR_HWBIAS进行初始化。如果已经获得了固定解(rtk->nfix>=rtk->opt.minfix)并且解的比率(rtk->sol.ratio)大于阈值(rtk->opt.thresar\[0\]),则将接收机硬件偏移参数初始化为rtk->xa\[j\],并用rtk->Pa\[j+j*rtk->na\]进行初始化。否则,将协方差矩阵rtk->P\[j+j*rtk->nx\]加上过程噪声。
函数udbias用于更新单差相位偏移参数。在该函数中,通过单差模糊度更新原理,对单差相位偏移参数进行更新。
总结来说,RTKLIB的相对定位流程使用了EKF滤波器对状态进行简单的滤波,通过初始化状态向量和协方差矩阵,更新接收机硬件偏移参数和单差相位偏移参数,以实现RTK定位的相对定位过程。\[1\]\[2\]\[3\]
#### 引用[.reference_title]
- *1* *2* [RTKLIB学习总结(九)相对定位算法](https://blog.csdn.net/daoge2666/article/details/130674816)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [MATLAB算法实战应用案例精讲-【自动驾驶】精准定位RTK](https://blog.csdn.net/qq_36130719/article/details/130973888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文