PPP精密单点定位 GAMP(三)——提高北斗系统定位精度
GAMP是我精密单点定位学习之旅上最好的老师
这篇博客将介绍我在GAMP上学到的知识和踩过的坑。
1、数据下载
GAMP对于文件的命名格式是有要求的,我们常用的文件下载方式主要是GAMPII和FAST
1、对于我个人来说更喜欢用FAST的下载观测文件o、导航文件n/p、北斗的DCB文件,下载的混合nav文件,要把brdc改为brdm才可以用,不然有时会显示没有nav文件。
2、其余的文件我一般用GAMPII进行下载,省去了文件命名的问题。
2、提高GAMP北斗系统精度
GAMP程序在2018年发布,所以使用最近的北斗的文件会出现很多问题,no valid obs / 定位结果较差/无法收敛。下图就是用gamp程序测试北斗动态PPP与我最近修改后的结果。
(这个图RMS值是错的)
3、如何提高GAMP北斗精度
1、将北斗二系统与北斗三系统分开
2、北斗二系统与北斗三系统间实现ISB(目前我还未实现)
3、增加多频点,至少满足用B1 B3频点进行定位,增加B2a B2b
4、增加频点与信道的选择,rtklib在2020之后的版本加入了sat2freq方便选择频点与频率的优先级
4、程序简单修改
1、MAXPRNCMP 调整为61
2、Obsscan_PPP
因为北斗B1 B3 是存到obs[i].L[0]、 obs[i].L[2]
3、修改readantex
4、频率修改(这个根据个人选择)
以下这几个位置需要改正
因为GAMP有些程序是定死的,常用 lam[0] lam[1],我们需要根据自己简单修改一下。
非差非组合选频
gfmeas
udiono_ppp
ppp_res
5、更改下gamp pos的输出格式
double pos[3], dms1[3], dms2[3], P[9], Q[9], dxyz[3], denu[3];const char* sep = opt2sep(opt);char* p = (char*)buff, c;int i;for (i = 0; i < 3; i++)dxyz[i] = denu[i] = 0.0;ecef2pos(sol->rr, pos);soltocov(sol, P);covenu(pos, P, Q);//if (opt->height == 1) { /* geodetic height */// pos[2] -= geoidh(pos);}if (opt->degf) {deg2dms(pos[0] * R2D, dms1, 5);deg2dms(pos[1] * R2D, dms2, 5);p += sprintf(p, "%s%s%4.0f%s%02.0f%s%08.5f%s%4.0f%s%02.0f%s%08.5f", s, sep,dms1[0], sep, dms1[1], sep, dms1[2], sep, dms2[0], sep, dms2[1], sep,dms2[2]);}elsep += sprintf(p, "%s%s%14.9f%s%14.9f", s, sep, pos[0] * R2D, sep, pos[1] * R2D);p += sprintf(p, "%s%11.4f%s%14.4f%s%14.4f%s%14.4f", sep, pos[2], sep, sol->rr[0], sep, sol->rr[1], sep, sol->rr[2]);p += sprintf(p, "%s%20.12e%s%20.12e", sep, sol->dtr[0], sep, sol->dtr[1]);//if (0.0 == PPP_Glo.crdTrue[0])ecef2pos(sol->rr, pos);elseecef2pos(PPP_Glo.crdTrue, pos);for (i = 0; i < 3; i++)denu[i] = sol->rr[i + 3];ecef2enu(pos, sol->rr + 3, denu);p += sprintf(p, "%s%10.4f%s%10.4f%s%10.4f", sep, denu[0], sep, denu[1], sep, denu[2]);p += sprintf(p, "%s%2d%s%2d%s%2d%s%2d", sep, sol->ns[0], sep, sol->ns[1], sep, sol->ns[2], sep, sol->ns[3]);if (0.0 == PPP_Glo.crdTrue[0])denu[0] = denu[1] = denu[2] = 0.0;else {ecef2pos(PPP_Glo.crdTrue, pos);for (i = 0; i < 3; i++)denu[i] = dxyz[i] = sol->rr[i] - PPP_Glo.crdTrue[i];ecef2enu(pos, dxyz, denu);}p += sprintf(p, "%s%8.4f%s%8.4f%s%8.4f%s%8.4f", sep, denu[0], sep, denu[1], sep, denu[2], sep, norm(denu, 3));p += sprintf(p, "\n");return p - (char*)buff;
今天就先介绍这,后面将继续介绍如何修改clk与isb
PPP精密单点定位 GAMP(三)——提高北斗系统定位精度相关推荐
- PPP精密单点定位GAMP(二)—将北斗三与北二系统分开
首先了解GAMP北斗系统设定 1.修改MAXCMP 我们需要将北斗MAXCMP改为63 这样就可以读取所有北斗观测文件信息了. 2.修改配置文件 我们加上BDSselect这个选择 %0的时候计算bd ...
- PPP精密单点定位GAMP(一)
周峰老师的GAMP是一款非常优秀的PPP定位开源程序,将rtklib中某些多余的函数.代码简洁化. 学习配置文件 配置文件可以设置我们解算的模式.参数处理,相当于我们窗口信息用文本存储下来obs # ...
- 北斗b2频点频率_北斗系统中“三”的奥秘
今天是太空与您相伴的[第609期] 道家鼻祖老子,骑牛有云,"道生一,一生二,二生三,三生万物".北斗系统的发展中也蕴含了很多与"三"有关的奥秘,包括北斗 ...
- 综述 | 北斗系统应用趋势分析
来源:智绘科服 初审:张艳玲 复审:宋启凡 终审:金 君 一.前言 2020年6月23日,北斗三号最后一颗组网卫星成功发射.2020年7月31日,北斗三号建成暨开通仪式举行,北斗三号全球卫星导航系 ...
- 北斗系统基础知识2(北斗一代定位原理详述)
需求说明:知识储备 内容 :北斗系统起源及工作原理 来自 :时间的诗 原文:http://bbs.tianya.cn/post-funinfo-3117078-1.shtml ...
- GNSS精密单点定位(PPP)基本原理
本文旨在对GNSS的PPP技术进行原理性总结.并对PPP涉及的一些细节进行了详细的叙述,相当于一个综述性文章.希望对初入GNSS的小白有所帮助. 1 背景 精密单点定位技术(Precise Point ...
- GNSS精密单点定位(PPP)基本原理(进阶篇)
上节介绍了精密单点定位的基本原理,本文继续在精密单点定位的基础上进行更深层次的介绍. 一.精密单点定位的函数模型 上节说过,在精密单点定位之前,也有一种绝对定位技术,那就是伪距单点定位.伪距单点定位靠 ...
- RTKLIB专题学习(七)---精密单点定位实现初识(三)
RTKLIB专题学习(七)-精密单点定位实现初识(三) 上两篇我们介绍了RTKLIB中精密单点定位的大致流程,今天我们对照RTKLIB学习手册,来学习相应改正公式和误差源 1.在PPP模式中 RTKL ...
- 精密单点定位技术(PPP)和RTK技术有什么区别
首先用通俗的话来说,RTK是先架设一个基站,基站把自己的误差是多少告诉我,我再用这个误差项去消除自己移动站的误差.而PPP不用我们自己架设基站,已经有一些基础的基站,通过卫星发送的数据,把误差分离处理 ...
最新文章
- java小程序查看器_JAVA的一个查看图片的小程序
- Android MediaPlayer
- 2015毕业找工作纪实|一年的蜕变毕业生
- 初始化_Linux的内存初始化
- python第五章课后作业_python 入门到实践第五章课后练习
- 震惊!谷歌专家爆料:Python和AI这回真的玩大了!网友:好方法!
- html打印成功回调,web前端打印实现
- C语言小知识——uthash使用
- 方舟服务器物品代码,方舟:生存进化 全物品代码ID一览 物品修改代码大全
- Java多线程编程实战指南(核心篇)读书笔记(三)
- 14亿人参与,共建台湾省实景地图!
- 开启微信悬浮窗权限有什么用_这个功能比微信自带的还好用
- 25匹马,5个跑道,不用外界工具怎样选出最快的5匹,要次数最短
- 保龄球计分java代码_保龄球记分程序用C#该怎么写
- 关于对游戏帧率的学习
- fiddler手机抓包抖音无网问题
- 常见加密算法特点及适用场景
- 设计分享 | 基于51单片机实现红外控制系统控制电机调速
- JUC--005--locks1
- RouterOS(ROS)软路由PPPOE拨号上网配置指南(附授权镜像下载)