3 如果是PMODE_PPP_STATIC模式,状态量不变,只更新p阵,赋初值 4 如果是PMODE_PPP_KINEMA模式,但是运动模型不是动态,则直接初始化位置和方差 5 F阵设置 6 状态转移 7 Q阵更新 PPP时钟更新函数: udpos_ppp 1 循环遍历每一模式 2 检测是否为精密星历EPHOPT_PREC(精密星历的时间是基于gps时间,忽略系统间的偏...
3 如果是PMODE_PPP_STATIC 4 如果是PMODE_PPP_KINEMA模式,但是运动模型不是动态,则直接初始化位置和方差 5 F阵设置 6 状态转移 7 Q阵更新 PPP时钟更新函数: udpos_ppp 1 循环遍历每一模式 2 检测是否为精密星历EPHOPT_PREC(精密星历的时间是基于gps时间,忽略系统间的偏差) 3 否则利用前一秒的结果,并考虑...
状态更新函数: udstate_ppp 1 位置更新 2 时钟更新 3 对流层参数更新(如果配置为对流层参数估计模式)4 电离层参数更新(如果配置为电离层参数估计模式)5 更新L5接收机硬件延迟参数(如果频点配置⼤于等于3,包含L5)6 整周模糊度更新 PPP位置更新函数: udpos_ppp 1 如果是PMODE_PPP_FIXED模式,则直接...
1.udpos函数: 第一个历元下,利用SPP定位结果对状态参数矩阵x进行初始化,状态噪声的协方差矩阵P利用经验值进行初始化;非第一个历元下,针对静态相对定位模式static,直接使用上个历元的浮点解及其协方差矩阵,针对动态相对定位模式Kinematic,根据不同的动力学模型,计算状态转移矩阵及过程噪声协方差矩阵,得到预测后的状态参...
可以前往:RTKLIB学习(二)--1、PPP方程和扩展卡尔曼滤波等算法详解-CSDN博客 PPP定位主要流程图: 不同版本,流程略有差异 一、流程调用 1、main函数 在main函数这除了输入ppp所需文件,关注点就是关于ppp的处理选项设置了 具体可前往:RTKLIB学习开篇--将命令行程序转为代码调试-CSDN博客 ...
1 程序结构 2 重要函数 (1)pppos中主要函数 udstate_ppp:更新状态变量xp、更新Pp矩阵 ppp_res:计算观测值残差v、构造H矩阵、计算观测误差方差构造R矩阵 filter:卡尔曼滤波测量更新,得到x、P (2)udstate_ppp中主要函数 udpos_ppp:更新位置变量。首历元初始化,赋SPP定位解;static模式继承上一时刻x与P矩阵;kinem...
* 调用`udpos_ppp()`,位置参数更新 * 调用`udclk_ppp()`,钟差参数更新 * 如果在配置中选择的对流层模型为ZTD estimation或者ZTD+grad estimation,调用`udtrop_ppp()`,对流层参数更新 * 如果在配置中选择电离层模型为estimation,调用`udiono_ppp()`,电离层参数更新...
tomojitakasu/RTKLIBPublic Notifications Fork1.5k Star2.3k Files master app bin brd data doc lib src rcv convkml.c convrnx.c datum.c download.c ephemeris.c geoid.c ionex.c lambda.c options.c pntpos.c postpos.c ppp.c ppp_ar.c
udpos_ppp、udtrop_ppp、udiono_ppp函数与之前相对定位中udpos、udtrop、udion函数流程基本一致,就不再详细解释,具体可参考RTKlib相对定位源码解析: udstate函数。由于udbias_ppp和相对定位中不同,因此在下文中进行解析。 udbias_ppp static void udbias_ppp(rtk_t *rtk, const obsd_t *obs, int n, const...
( 7) sat= 31 iu= 9 ir=19 4.4 时间更新 udstate 3 udstate : ns=8 4.4.1 更新位置、速度、加速度 udpos 如果是第⼀个历元,则根据是否设置dynamic,对rtk-x[i]和rtk-P[i+j*rtk-nx] 进⾏赋值; 如果定位模式为:PMODE_STATIC;则退出函数; 如果⾮第⼀个历元,则根据定位模式,进⼊对应的分...