【无标题】

GNSS基础


前言


1、GPS空间星座 和 地面监测部分由政府控制

I\GEO高度:35786千米
MEO高度:21528千米

2、准确性,正直性,连续性,有效性

3、gnss定位影响因素

	由于整周模糊度,只利用载波一般不能SPP
	定位误差相关:
	1.H矩阵--DOP--卫星几何结构
	2.测量误差
	3.多普勒频率观测值,不受周跳的影响。
	4.伪距观测值的精度为分米到米级
	5.多普勒测量的精度为厘米到分米每秒
	6.宽巷组合波长达86.3cm,

4、电离层影响传播速度

	降低 测距码
	提高 载波相位

5、对流层干延迟和湿延迟

	干:主要指氧气和氮气等干空气
	湿:主要指水蒸气
	短期内对流层延迟具有较强的时间相关性,

6、动/静态 参数估计个数

静:一个钟差
动:每个历元钟差不一样

7、高度坐标分量与接收机钟差存在很高的相关性

8、收敛时间和固定解获取时间基本一致

9、多普勒探周跳

在这里插入图片描述
l /* 多普勒探测周跳:采用星间单差20140921-------------------------------------------------- */
//站际差分伪距减载波探测大的周跳

10、钟跳探测及粗差探测

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
钟跳:
1.ms级别,
2.且所有值均带有

粗差探测:
在这里插入图片描述

11、anubis

1.anubis -X 2> app/data/config3050.xml
2.app/anubis -x app/data/config3050.xml -v 9
3.scripts/plot_Anubis.pl --ifile app/data/20191101.xtr --plot=“app/data/20191101.eps” --all --all --title=" [TONJ 2019:305]"

app/data/JHZX3050.19O

12、netdiff问题

Undefined function or variable ‘matlabrc’.
tips: try deleting the folder mentioned there:
(C:\Users[username]\AppData\Local\Temp[username]\mcrCache[version])

13、PPP

Upd 由于受到卫星端初始相位,硬件延迟,weiju观测值群延迟等因素的影响,卫星的模糊度失去了整周特性,而模糊度中对应的小数部分被称为;UPD包含整数部分与小数部分,UPD的整数部分与相位模糊度不能分离,实际数据处理通常将其与模糊度合并,只分离UPD的小数部分,称为相位的小数轴偏差(Fractional Cycle Bias,FCB)
未校准相位延迟(Uncalibrated Phase Delays,UPD)的存在破坏了PPP模糊度的整数特性,限制了收敛速度和定位精度的提升。若能准确估计UPD的小数部分,即小数周偏差(Fractional Cycle Bias,FCB),便可恢复模糊度的整数特性,实现精密单点定位的整数模糊度解算(PPP Ambiguity Resolution,PPP-AR)。
Fcb(相位小数周偏差)
Dcb(differential code bias)
Sinex
Isb (inter-system biases)系统间差分:紧组合相关
Ifb (inter-freque biases)
Icb

初始相位偏差

硬件延迟
现有的精密单点定位的误差改正方法,利用基准站网估计出星间单差的卫星硬件延迟(UPD-Uncalibrated Phase Delays),然后进行PPP用户的星间单差卫星硬件延迟改正(Ge M,2008);根据基准站的PPP固定解计算出基准站的非差大气延迟误差,然后计算出PPP用户的大气延迟误差改正数(Li X,Zhang X,2011);同时对于卫星钟差和卫星轨道误差,则采用IGS的精密卫星星历和卫星钟差进行改正;也可以在基准站上使用精密卫星星历,实时估计出与观测时间同步的卫星钟差,用于PPP用户的精密定位(D Laurichesse,2011);并将对流层延迟误差分离出来,计算出PPP用户的对流层延迟误差改正数,用于用户对流层延迟误差的改正,然后PPP用户采用无电离层组合观测值进行精密定位。

PPP中卫星轨道误差和卫星钟差使用IGS的精密星历和精密卫星钟差进行改正,并在基准站上估计卫星硬件延迟用于PPP用户的卫星硬件延迟误差改正。使用IGS的精密星历进行卫星轨道误差改正,可以保证PPP用户在全球范围内进行精密定位。
接收机钟差:
1.对卫星坐标影响:SPP 消除
2.站星距离影响:参数估计
地球固体潮:差分可消除,ppp用模型
海洋潮汐:对对流层和钟差估计 有偏差
卫星钟差:广播星历可引起1.5-3m距离,不能当作参数估计,
卫星轨道:必须用igs
卫星天线相位中心:igs测得是到卫星质量中的,
相位缠绕:卫星右旋,绕极化方向旋转会改变测量值,差分消除,只影响载波相位
IGS 星历坐标:ITRF,
广播星历坐标:WGS84

目前的钟差产品釆用了与传统模型类似的钟差估计模型,导致钟差估计模型中的模糊度失去整数特性。因此,精密钟差估计模型中也需考虑上文所述的影响非差模糊度整数解的因素并结合上述分析与解决方法,对已有的钟差产品进行修正或生成新的钟差产品。非差模糊度整数解的关键转化为如何将所估计的模糊度中包含的常量偏差小数部分与整数模糊度度分离,且在导航卫星精密钟差产品生成和定位解算的过程中均需分离并使用一致的模型
在这里插入图片描述

14、电离层内插因素:

  1. 距离
    rms

15、影响ppp固定解的主要因素:初始相位偏差,硬件延迟

在这里插入图片描述
gamma=SQR(lam[j])/SQR(lam[i]); /* f12/f22 */
P1=obs->P[i];
P2=obs->P[j];
P1_P2=nav->cbias[obs->sat-1][0];
P1_C1=nav->cbias[obs->sat-1][1];
P2_C2=nav->cbias[obs->sat-1][2];

/* if no P1-P2 DCB, use TGD instead /
if (P1_P20.0&&(sys&(SYS_GPS|SYS_GAL|SYS_QZS))) {
P1_P2=(1.0-gamma)*gettgd(obs->sat,nav);
}
if (opt->ionoopt
IONOOPT_IFLC) { /
dual-frequency */

if (P1==0.0||P2==0.0) return 0.0;
if (obs->code[i]==CODE_L1C) P1+=P1_C1; /* C1->P1 */
if (obs->code[j]==CODE_L2C) P2+=P2_C2; /* C2->P2 */

/* iono-free combination */
PC=(gamma*P1-P2)/(gamma-1.0);

}
else { /* single-frequency */

if (P1==0.0) return 0.0;
if (obs->code[i]==CODE_L1C) P1+=P1_C1; /* C1->P1 */
PC=P1-P1_P2/(1.0-gamma);

}
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

16、周跳探测

根据观测值类型,接收机运动状态判断不同方法
接收机钟差对周跳探测影响
单频:码相位组合,
双频:1.mw:宽巷相位-窄巷伪距 -----利用mw的模糊度短时不变作为检测量,(受伪距观测噪声和多路径效应)
在这里插入图片描述

在这里插入图片描述
2.gf:电离层残差短时稳定
在这里插入图片描述

多普勒:受接收机钟差影响

17、整周模糊度

消去:
三差法,交换天线(两个双差相加)
坐标系域:
已知基线法(变形监测),模糊度函数法
观测值域:
固定宽相,TCAR
模糊度域:
最小残差平方和
无电离层法:
先确定宽相,确定L1或窄巷,最后确定if

18、电离层建模

测定两种频率信号到接收机天线的时延差,反推TEC

19、基准站模糊度固定

在这里插入图片描述

20、整周模糊度正确性检验

双差观测值的残差,满足观测值先验中误差 区间
验证最优整数解所得到的方差是否不明显超过先验双差观测值的方差
验证最优整数解的方差是否明显小于次优整数解的方差

21、相对路径(.user)

22、Static

静态变量,仅在本.C文件中可以调用
防止重命名

23、C++ main函数中参数argc和argv含义及用法

argv[0]一定是程序的名称(包含路径)
输入总参数个数:argc-1
传入参数两种方式:
1.右击项目—>属性—>配置属性—>调试—>命令参数,每个参数之间用空格隔开
2.bash 所在路径调试(./表示当前路径的.exe),后面+空格+参数

24、Socket网络编程

Client
Server
IP:
域名:ip的别名
DNS:将域名解析成ip
端口:程序和服务器通信时的port
Socket:程序和服务器通信时的 连线(平台通用)
WSA(Windows Socket API)
基本连接通信过程:
1.初始化Socket库
2.创建一条Socket
3.设置服务器端口,不需要客户端端口(动态生成)
4.设置服务器ip,
5.连接。。(做事)
6.send:客户端向服务器发;recv:接收
7.清理Socket库

25、Compile link

Complie:单一文件编译成.o,.obj
Link:.obj连接成.exe
添加.h文件 还要添加.lib动态库
静态库:代码编译进.exe ;不会有dll问题

26、Char* (头指针)指向任何二进制数据,不一定只字符数组

27、指针(指向)相关

指针赋值:改变指针指向内存的内容,指针直接指向内存空间地址
变量赋值:改变变量指向的内存
变量: 一块有名字的内存空间
Eg: p1=#
p2=p1; //p2指向p1当前指向的变量地址,不是指向p1
函数指针:在内部改变外部变量的值
指针比较(==):比较指针指向的内存

28、动态链接库

Extern “C” _declspeo(dllexport)
静态链接使用:
1…dll .lib 复制到工程中
2.#pragma comment (lib,"**.lib)
Extern “C” _declspeo(dllexport) 同名函数声明
3.正常函数调用
动态链接使用:(dll .lib 复制到工程中)
1.函数指针声明
2.句柄
3.实例
4.Loadlibrary(.dll 文件)
5.Getprocaddress(句柄,函数名(指针))
6.使用函数指针
7.FREELibrary

29、Git 使用

粘贴 :shift + 0(Ins)
ssh-keygen -t rsa -C “2068278287@qq.com”
git config --global user.name “noone77777”
git config --global user.email “2068278287@qq.com”

git init(在文件夹下先执行)
git add .(git add …/Qt)
git commit -m ‘本次提交的说明’
git remote add origin git@github.com:noone77777/matlab.git
git remote rm origin(删除关联的origin的远程库)
git push -u origin master

30、常用数值级别

接收机钟差(spp):100ns----1ns = 0.3m

星历钟差:
1.广播星历:5-10ns,1.5-3m
2.IGS:0.5ns,预报钟差产品精度较低(目前为3ns左右)
3.B2b:0.5m,分米级

星历钟差频率基准:
1.BDS 广播:B3I
2.BDS 精密钟差 :B1I/B3I无电离层组合
3.GPS:P1/P2无电离层组合
4.B2b: B3I

轨道误差:
1.广播星历:10m
2.IGS:3-5cm(5/10min)
3.B2b:0.3m

0基线残差:
1.伪距:5-10cm
2.载波:0.5mm

PPP-B2b:
发送频率:
1.钟差:6s 设置:22
2.轨道:48s 设置:106
3.DCB:48s
搜齐:24s

播发卫星:
GEO 1 ,2 3

适用于:
BDS-3 ,GPS

信息2:每次发6颗卫星轨道
信息3:n颗卫星DCB,16最大
信息4:23颗卫星钟差,C0
使用匹配:
1.Iob SSr:所有信息类型都要匹配,先保存掩码的,其他类型接受数据时不相同直接跳过;
2.IoDP(掩码16个),先保存掩码的,信息4接受数据时不相同直接跳过;
2. IODN (CNAV1,IODC),匹配轨道
3. IOD Corr(钟差和轨道)一致
4. URAI:5466.5m

过程:
1.匹配改正数,新建一个包含所有改正数的,先判断掩码的可用性,
依次存轨道、钟差,同时判断天内秒,轨道保存IODN,保存dcb,同时记录搜索到的类型总数,
在判断IOD Corr(钟差和轨道)一致,不一致时判断与上次记录iodp和iodssr,用上次记录结果代替,
改正卫星位置,
判断改正数与星历的iodn,本次星历不同,上此历元星历替代,
dcb改正伪距。

2.spp计算本次和上次历元,计算卫星位置
三频宽巷:仅有两个独立

一个码片(C/A):293m , 78ms
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

31、抗差 Kalman 滤波

在这里插入图片描述

32、MLAMBDA

输入量:
1.浮点解
2.对应方差

33、C和指针
1.位(bit)通常用于表示一个二进制数码0或1;字节(Byte)用于表示计算机文件大小,读文件。(1Byte=8bit)
2.32bit系统,指针4个字节
3.大端还是小端模式,都指向最低地址字节
4.const ,内容不变or地址不变
段错误:1.所指空间改变(开辟内存真正的属性,是否可读可写,eg.字符串常量(指针不能改变))
5.NULL:结束标志
6.char数组,“”时自动加‘\0’(结束标志)
7.strcpy()不能使用,内存泄露
8.类型定义考虑:优先级右边最高在这里插入图片描述
9.memcpy():
在这里插入图片描述
10.编译器一般从右开始解释在这里插入图片描述
11. stuct 字节对齐;
考虑效率
在这里插入图片描述
位域()在这里插入图片描述
12. 内存分布 在这里插入图片描述
*字符串占存储很多 (打印等)在这里插入图片描述
在这里插入图片描述
13.函数
1.通过 函数名 访问内存地址
2.注册和回调
3.sprint() 打印给内存
4.空间:首地址,结束标志 在这里插入图片描述
5.返回值
在这里插入图片描述
在这里插入图片描述

14.unsigned

15.位操作
在这里插入图片描述
在这里插入图片描述


总结

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值