完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
为了解决公司某型号芯片是否满足千寻RTK要求,测试单频RTK在不同卫星系统下模糊度固定率。因此,熟悉RTK算法原理和调试rtklib后处理程序是必要的。
一、测试数据获取 使用rtknavi采集数据,具体步骤可以参考manual,此处不再赘述。选择rtknavi有以下三个方面的考虑: (1)可以实时看到模糊度固定情况; (2)能保证基准站和流动站的数据流观测时段一致性,基准站使用TCP方式采集数据,rtcm3格式;流动站使用端口采集数据,ubx格式。 (3)第(2)步采集的数据可以使用rtkconv转换后,再rtkpost进行后处理。 二、manual中rtk算法解析 实现精密相对定位采用rtk算法,rtk算法定义此处不再赘述,推荐谢刚的《GPS原理与接收机设计》。manual中的rtk算法也有介绍,但是对于向量和矩阵大小,manual并没有给出具体的例子。为了便于理解,给出单频单系统下向量和矩阵大小设置的示例。 假设共视卫星有m颗,针对单频单系统数据,y=h(x)+v,向量和矩阵的大小如下所示: 1、 状态向量 x (3+3+m)*1 2、 DD测量向量y及其测量模型的向量大小均是 2(m-1)1,其中,假设DD的参考星为sat 1 3、 E表示m颗卫星的LOS三维向量 m3 4、 D 单差SD转换矩阵 (m-1)*m,则DE (m-1)*3 5、 测量误差R 2(m-1)*2(m-1) 其中,m表示单差相位偏差个数。 问:单频双系统、双频双系统、多频多系统大小又是多少呢?很有意思 三、rtklib后处理平台debug步骤 rtklib后处理平台的搭建在《RTKLIB Ver2.4.3在VS版本配置过程中出现的问题及其解决步骤》中已经对出现的问题做出了具体的解决,建议在调试的时候,先将trace宏打开,在配置中将level调为5,这时候跑数据可以看到所有的debug过程,对了解rtk算法的框架大有裨益。 精密相对定位relpos函数,主要由扩展卡尔曼滤波算法(时间更新udstate函数、量测更新filter函数)和模糊度固定算法(LAMBDA)组成。 根据trace得出源码relpos函数的流程大致如下: 1)先求出基站的非差残差zdres(打印中的y表示基站每颗卫星的非差残差); 2)再选取基站和流动站的共视星,然后进行时间更新 3)这时候trace 4 x(0)= 1 2 3(分界线) 4)对流动站求非差残余zdres(打印中的y表示流动站每颗卫星的非差残差),求双差残差和偏导数ddres(双差残差v、雅各比矩阵H、DD测量误差协方差阵R),然后进行量测更新filter 5)这时候trace 4 x(1)=1 2 3(分界线), 6)针对验后浮点解,再进行行流动站zdres、ddres、valpos操作,注意这时候ddres中的H=NULL,即表示H不打印,R矩阵不变,是打印的 7)然后再进行LAMBDA模糊度固定求解(打印单差SD转换矩阵D),如果通过的话,再进行第5步一样的操作 四、rtklib中观测误差的协方差矩阵R设置问题 在debug过程中,发现rtklib中随机模型使用高度角定权(有且仅有),rtk验前验后使用的都是这个模型,双差残差的协方差矩阵R是使用单差来计算的,就会导致双差残差大或者小都是一样的Ri值,可以使用Herment方差分量估计法,Herment方差分量估计可以根据验后估计调整权比。 具体代码实现和测试结果留待后补 |
|
|
|
只有小组成员才能发言,加入小组>>
4529个成员聚集在这个小组
加入小组3340 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4269 浏览 1 评论
4296 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 15:58 , Processed in 0.702802 second(s), Total 74, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号