GPS学习笔记

时间:2022-10-05 17:03:48

预备知识

1. 卫星发送信号时,是以特定频率的电磁波为载波,调整信号到载波上的。多普勒效应就是,卫星和接收机是相对运动的,那么载波的频率会随运动距离发生改变。(《GPS测量与数据处理》p3)

2. 全球卫星定位系统,主要由:卫星,地面监控站,用户部分组成。(《GPS测量与数据处理》p42)

三者关系是:

首先,地面监控站,对卫星进行跟踪,制定导航电文(其内容有:包含轨道信息的星历、时钟改正、电离层改正等导),发送给卫星。

然后,卫星用载波,加载这些导航电文、以及测距信号,广播给地面的用户。

GPS时间系统:《GPS测量原理及应用》P28

GPS卫星每时刻广播GPS信号,其中,包括信号发出时的时间。要知道信号发出的时间和地面接收到的时间,并且统一时间系统,那么时间差就出来了,粗略来说,时间差*光速=距离。

GPS卫星星历:《GPS测量原理及应用》P32

1. GPS卫星受地球引力(笼统称为中心引力)和非中心引力(又叫摄动力,包括月球,太阳等影响力)的影响下运动。

2. 广播星历误差构成了GPS相对定位误差的主要来源。轨道误差是广播星历的误差之一。

3. 无摄运动,与二体运动,可能是同一个意思。

4. 无摄运动中,a、e、v确定轨道的形状,大小。而开普勒轨道参数( a、e、v、Ω、i、ω)确定轨道运动(轨道的形状大小和卫星轨道平面与地球的相对位置和方向)。《GPS测量原理及应用》P33

通过变换,可以将开普勒轨道参数( a、e、v、Ω、i、ω)表示为( i、Ω、a、 e、ω、r),也就可以表示任意时刻的卫星位置以及其运动了。

5. 在受摄运动中,( a、e、v、Ω、i、ω)不再保持常数,是随时间变化的(《GPS测量原理及应用》P36)

6. 卫星星历是描述卫星运动轨道信息,即一组对应某一时刻的轨道参数以及其变率。

*有了星历,就可以计算出任意时刻的卫星位置以及其速度。

7. 广播星历:包含“在参考历元下的开普勒轨道参数”(又叫“参考星历”)和“轨道摄动改正参数”。《GPS测量原理及应用》P39

*历元:时间的起点。《GPS测量原理及应用》P28

*参考星历只能代表当时刻的参数,因为在下一时刻,在摄动力的影响下偏离。

GPS卫星的导航电文(卫星电文):《GPS测量原理及应用》P42

1. 卫星电文包括:卫星星历时钟改正电离层改正、工作作态等信息。

*卫星电文中,位于2,3子子帧(数据块)的GPS星历,30s重复一次,内容1h更新一次。(广播星历每2h更新一次)

*也就是说,从数据容量, 卫星电文>卫星星历

2. 虽然导航电文内容2h更新一次,但是可以 根据该卫星的轨道参数,速度,加速度等等,推算出卫星瞬时位置,从而进行地面点的交会定位。

*在做GPS定位时,假如30s定位一次,那么每30s就需要计算一次卫星的位置,通常来说,是不会每次都完整的从星历推算出卫星位置,而是拟合出多项式,保留其参数,每次计算位置,只需要简单进行加法和乘法即可。(《GPS测量与数据处理》p77)

GPS卫星信号:《GPS测量原理及应用》P44

1. GPS卫星信号是调制波,包含载波测距码和导航电文。(《GPS测量与数据处理》p49)

*调制波的意思是,本来一段载波中,是自然连续,周期固定,等频域的,调制后,相当于到某个时刻,波断了一下(其实是调整了一下相位,继续发),下一时刻恢复。那么断点的前后,就是0和1的区别,以此传递数据。

*载波经过调制,就变为调制波。

*调制办法就是,将Pseudo Random Noise (PRN) 伪随机噪声码如(+1,-1,+1,+1....)代表二进制数据的码波(非正弦波,二值),乘以载波(正弦波),就变成调制波(非二值非正弦的波)

2. GPS卫星虽然发送的都是电磁波,但是将电磁波解调后,能获得测距信号和导航电文。

GPS卫星位置计算:《GPS测量原理及应用》P48

计算GPS卫星在空间的瞬时位置,由卫星电文提供的轨道参数(卫星星历)计算出。要选定参考椭球才能得到坐标。

GPS接收机:《GPS测量原理及应用》P53

GPS信号有L1、L2两种,主要区别是频率和波长,卫星同时发出。由于接收地球环境,L1,L2到接收机的时间不同。根据接收到的时间差,可以消除电离层延迟误差。

所以,L1、L2都接收的机,叫双频接收机。

GPS卫星定位的基本原理(划重点):《GPS测量原理及应用》P58

步骤:

1. 地面3个以上的已知坐标的站点,测量某颗卫星的距离,利用空间距离交会原理,得到卫星的空间位置(可以猜测,卫星的星历由此得到,并存储在卫星中)

2. 地面上的未知点,测得已知位置的3个或以上的卫星,载利用距离交会原理,得出未知点坐标。

**所以,获取点到卫星之间的距离测量,就变得十分重要。

GPS定位的分类:(《GPS测量原理及应用》P58)(《GPS测量与数据处理》P195)

静态定位:GPS接收机放在未知点,固定,长时间观测3个以上的卫星。又叫绝对定位。

相对定位:2个GPS接收机放在未知点,固定,求出两个机之间的相对位置。

动态定位:在相对定位的基础上,其中一个接收机移动。

静态相对定位:就是使用载波相位观测值列观测方程,求两个静止接收机的相对位置(基线向量)。根据观测方程中,整周模糊度参数N的求解结果,最符合(最佳)理论模型的情况是, N是整数,那么就是“固定解”;否则,不符合(一般)理论模型的情况是,N是非整数,那么就是“浮点解”。

动态相对定位:在静态的基础上,有一个测站是动的。只是两个站要求数据实时互通,实时解算。观察方程和静态相对定位差不多。典型应用是Real Time Kinematic (RTK)。

单点定位:单点定位分为sigle point positioning(SPP),即:标准单点定位,或伪距单点定位; 以及 precise point positioning(PPP),即:精密单点定位,其观测值使用载波相位观测值,需要有精密星历(《GPS测量与数据处理》P190)

*根据RTKLIB,对PPP还有细分,动态PPP、静态PPP、固定PPP;

*PPP中,即使使用载波相位观测值模型,也不能求出“固定解”,因为:只有一台接收机,不能通过观测方程间求差,消除同一卫星的硬件延迟,从而达不到固定整周未知数。所以,“固定解”和“浮点解”是相对定位专属说法。

GPS卫星到信号接收机的距离测量

1. 伪距测量:GPS卫星发射的测距码信号到达GPS接收机的传播时间*光速。所以,这里主要问题,是求解传播时间。(《GPS测量原理及应用》P59)

*之所以成为“伪距”,是因为(有卫星钟差,接收机、电离层、对流层等造成的误差,而且这个误差在伪距测量中不消除)距离不准确。

*由于接收机在处理卫星信号是需要时间,而且由于传播中造成的误差,所以,即使卫星是静止,被接收器接收完毕后,每次的时间可能都不相同。所以,要借助测距码来解出时间。时间差的初值,是接收完毕的时间-卫星发送电文的时间

*测距码是一组特殊的,“自相关性”良好的码,所以,接收机只要调整“自己接受到的测距码”(又叫:“复制码”),直到自相关系数达标(根据频率,从而调整接收时间),就可以计算出较准确的时间。

*猜测,自相关性,就是随机给定初始值后,后面的值根据初始值产生,到最后又能兜回计算出初始值,也就是有周期性的。

*伪距定位:是需要测到4个以上的卫星,通过距离交会,得到接收机坐标。一个卫星,一个伪距,得到一条方程。之所以要4个卫星4个方程,是因为还有额外的第4个参数:接收机钟差。

深入:

有关伪距测量传播时间的求解办法:(见《GPS测量与数据处理》P136)

假如测距码,是有关一个时间的函数,只要给定任意时刻t,就有y=u(t);y是一段独特的码(可能横坐标不是t,而是从字节0~n)

假如,在接收机开始接收的时刻为t。那么,假如卫星发送测距码的时刻就是t-△t;△t就是想要知道的传播时间了!

那么,卫星的测距码应该为: y1=  u(t-△t);重点是,△t是未知的,但是,y1能被接收机记录下来。(那么,是不是可以根据y1,通过方程,求解△t了?事实上,不是这样,可能是u不可逆性)

那么,可以根据y2=u(t+τ),不断调整τ,生成一个个码(此码,又叫“复制码”),如果y1和y2,经过函数(一条计算自相关的)计算,Y1和Y2的自相关系数为1时,那么就说明Y1=Y2,那么就说明,τ=△t,△t得到了!

2. 载波相位测距。(《GPS测量原理及应用》P61)

首先,距离除了  传播时间x光速 这种办法计算出距离外,还有 传播总周期数  x 波长 能得到距离。(波长:一周期的载波的长度)

那么,求解传播的 总周期数,成了主要问题。

*求时间,好歹有卫星发送时间和接收机接收时间解出,而周期数是不能这么“直接”得出的。

总周期数 = 周期的整数部分 + 周期的小数部分

周期的小数部分,其实就是载波相位

*相位,就是sin(x + △φ) = sin(x + △φ + 2π) 中的φ。

*载波相位,就是假定在接收机开始接收的时刻,接收机自己产生了一个参考波,其波形为sin(x);接收到的卫星的载波信号,其波形为sin(x + φ) ,那么,相位差△φ就作为“载波相位观测值”

理论上,在初始时刻T0,可以得到T0时刻传播的总周期数 = △φ + 起始T0周期的整数部分。(那么就可以 距离=总周期数*波长)。

实际上,虽然φ可以被直接观测出来,但是“周期的整数部分”不可以被观测出来。

假如,能持续观测,这样,在T0时刻后,任意的Ti时刻,有 总周期数 =△φi(能观测到) + 起始时刻T0周期的整数部分 (整周期未知数No)+ To到Ti时刻接收到卫星信号的整周期数(能观测到,又叫"Int(φ)")

然而,持续观测,也仅仅是能多观测出更多的△φiInt(φ),还是解不出“起始T0周期的整数部分”(整周期未知数No)。

所以,可以借助测量平差的思想来解:

*测量平差,总是以“观测值的真实值 = f(参数)”作为数学模型开始,然后通过“观测值的假设值 = f(参数的假设值)”,得到“观测值的假设值-观测值的参考值=理论上为0”,也就是"v=bx-l,v理论上为0"的误差方程,通过最小二乘的办法,解出X。

*更有甚者,将每次解出的X,作为下一次迭代的“参数的假设值”,迭代平差,直至两次解出的X之间差别很小。

那么,有很多观测方程, φ=f(N),φ为载波相位观测值,No为起始时刻,整周期未知数。(《GPS测量原理及应用》P63)

f当然是,由频率,光速,卫星坐标,Int(φ)等算术关系构成的数学模型了。N的假设值,估计是可以从伪距测量中,估算出来。

所以,实际的载波相位观测值:Φ=Int(φ)+△φ(《GPS测量原理及应用》P65)

周跳:(《GPS测量原理及应用》P64)

在载波相位观测值:Φ = Int(φ)+△φ中,从To到Ti时刻持续观测,测到的整周数是Int(φ)。但是,如果观测不持续,Int(φ)就不准确。这直接导致观测值粗差了。

由于卫星移动速度很快,所以Φ值也是会相差好几千。(由 距离=周期数*波长,距离变化大,周期变化肯定也大)。

1. 使用高次差探测出周跳:

假如有:

一次差:

dΦ1=Φ2-Φ1,dΦ2=Φ3-Φ2,.....

二次差:

ddΦ1=dΦ2-dΦ1,ddΦ2=dΦ3-dΦ2,....

三次差:

dddΦ1=ddΦ2-ddΦ1

....

直到5次差,那么dddddΦ应该是有规律,或者差不多大小的。如果有特别突出的,证明了有周跳。

(相当于求导一次,看变化速度;在求导一次,看变化速度的变化速度......。因为,实际上,卫星运行是连续的过程,所以导数的导数的导数....理论上也是光滑的,如果不光滑,就有问题了。)

2.(P66) 使用双频观测值探测,L1和L2均可以列出观测方程,但是必须L1或L2其中一个不出现周跳。原理就是,L1和L2两个频段,都能得出Φ1Φ2,如果使得Φ=Φ2-Φ1(那么,代入原来的f模型中,就可以消除一些有关电离层参数的项),根据这个值是否符合L1和L2的频率关系,确定是否含有周跳。(如下面介绍的双差法)

3. 使用平差后的残差发现和修复周跳。上面介绍到,用平差的办法求解“整周期未知数No”,求解后,回代到数学模型中,能得到“近似的Φ”,和原来实测Φ对比一下,差距较大的就存在周跳。

4. 使用多项式拟合法。假如在To~Ti之间卫星没有失锁,那么,可以建立如下模型:

Φ=a0 + a1(Ti-To)² + a2(Ti-To)² + a3(Ti-To)³ +....

一般取4次,然后平差,计算出a0~a4,然后将Ti代回去,计算出Φi,和原来的Φ相减,计算出V,然后计算出中误差δ=VV/(m-n-1)(这就是测量平差中的单位权中误差。)

那么,对于其他Ti+1的时间,代入去,计算出的Φ和实际观测出的Φ,如果差异大于3δ则认为有周跳。

5. 使用双频P码伪距观测值来探测、修复周跳。(广泛使用)(划重点)(见《GPS测量与数据处理》P159)

首先,得复习一下,C/A码,P码是什么东西。

要明确一点,书上定义,卫星信号由载波、测距吗和导航电文,三部分构成。(见《GPS测量与数据处理》P159)

那么,载波就是类似L1,L2的高频电磁波,用来“承载”信号(二值波),卫星电文就是其中的一个信号。

那么可以猜测, 其他解调出来的码,都属于测距码,理论上都可以用于伪距测量的。(回忆用码相关法,求△t)

L1上,有C/A码、P码、导航电文、Y码。

L2上,有P码,导航电文、Y码。(肯能还不完整,待补充)

*Y码是结构未公开的 ,事实上是用P码和W码组合的,但可以用Z跟踪技术,获得P码, (见《GPS测量与数据处理》P55)。

以下,开始探测了: (见《GPS测量与数据处理》P55)。

1. 求出第i+1个历元的“宽巷观测值的整周模糊度N△”(注意区别于整周未知数N),这个N△,很明显是根据2个“载波相位观测值”、“伪距”、“载波频率” 计算出来一个量,用来衡量“相符度”的。

2. 求出第1~i个历元的N△,并且求其均值avg(N△(1~i)),和中误差σ

3. 判断,如果N△(i+1)与avg之间的差,大于4倍σ,那么,i+1历元的数据,肯定有问题的。要么有周跳(跳变),要么有粗差。

*历元,可以理解为次,第几次接收到的GPS信号。

那么,到底是周跳还是粗差,就要看i+2的N△,它和i+1,以及i+2和前1~i的N△之间的关系了。

假如:如果 | N△(i+2)  -  avg |  >  4 σ ,那么证明和之前1~i的相差很大;并且,如果   N△(i+2) 和 N△(i+1)差不多(少于4 σ??),那么,就发生周跳(跳变)。(采取额外从i+1个历元开始,检查新的周跳段)

假如:如果 | N△(i+2)  -  avg |  >  4 σ ,那么证明和之前1~i的相差不大;并且,如果   N△(i+2) 和 N△(i+1)差很多(大于4 σ??),那么,就发生粗差。(采取剔除i+1个历元数据)

6. 周跳修复,只是让Φ = Int(φ)+△φ变回正确的观测值,那么,效果如何,只有平差后,看观测值的残差是否过大,才能最终判断。

 深入探讨:

要知道变化率(斜率)是否发生改变

对于一些随着时间(历元)变化的量(观测值),例如:载波相位观测值,距离等等,要想知道其在某一个时间节点,是否产生了变化(不符合以往规律,或不符合以往变化率,例如:速度下降,上升),那么:

1. 首先要构造一个量,干脆叫“构造量”,例如:“宽巷观测值的整周模糊度N△”,瞬时速度等等。

2. 这个“构造量”,和以往各个时间点的“构造量”均值,是否大于N倍“构造量”中误差。

* 凡是和均值比较,比较的标准都离不开中误差,这涉及到正态分布,根据正态分布,值-均值>4倍中误差,是小概率事件。

进而,如果想知道当期(第i+1期)观测值的变化,是因为跳变,还是因为粗差,那么就要参考第(i+2)期了。

如果:第(i+2)期的“构造量” -  前 i期的 “构造量”均值 > 4倍中误差, 证明和前i期的数据不符,但是和第i期的“构造量”相符,那么就是发生跳变。(可以想象一下,一条斜率固定的曲线,在i+1期突然换另外一个斜距继续跑)

如果:第(i+2)期的“构造量” -  前 i期的 “构造量”均值 < 4倍中误差, 证明和前i期的数据相符,但是和第i期的“构造量”不符,那么就是发生粗差。(可以想象一下,一条斜率固定的曲线,在i+1期跳了一下,在i+2期又按照之前的斜率跑)

如果:第(i+2)期的“构造量” -  前 i期的 “构造量”均值 > 4倍中误差, 证明和前i期的数据不符,但是和第i期的“构造量”也不符,那么可能i+1和i+2期的观测数据,都发生了粗差。

GPS的单点定位:(《GPS测量原理及应用》P67)

静态单点定位:

1. 使用伪距观测值进行单点定位。

使用伪距观测模型,主要是sigle point positioning(SPP):标准单点定位。也就是伪距单点定位。在PPP中作为定位的初始解(GPS测量与数据处理P186)

在上述提到的伪距测量中,提到伪距测量,最直接的观测值是△t,但是实际中列立观测方程中,不直接使用。而是使用  伪距 =   光速*△t + 电离层改正项 +对流层改正项 + 卫星钟差改正项  作为“线性观测值”;

而对于参数,也不直接求(X,Y,Z),而是假定有(X0,Y0,Z0)作为初始值,其改正数(x,y,z)和 “接收机钟差改正项” 4 个参数。(所以为什么要同步观测4个卫星)

再说测量平差:(划重点)

假如有观测量L,参数X,如果L和X都是真值的时候,有L=f(X)(函数模型)。如果有很多个观测量Li,那么就有很多条等式。如果每条等式中,X是线性的(或者使用泰勒在X0处展开使其线性化,X0的含义见下),那么L=AX;

让X = X0 + x , X0是近似值,x是X0的改正数(作为待求参数)

那么,根据矩阵相乘是一个“线性变换”的性质,有L = AXo + Ax;

但是L往往是不知道的(真值怎么可能知道),那么就使用“测量的值L‘”(直接或间接从仪器测出的值)代入去。

L = AXo + Ax;  这条公式中,AXo是常数,而且,他相当于L0,就是观测量的算术近似值

那么,公式L‘= L0 + Ax,这就是观测方程。

如果令 V = Ax - (L'-L0) = Ax - l;

最小二乘的开始,就在这里登场。

假如,我们想V=0,这不就是想(这不就等于AX - L‘=0)的意思吗。但是当L'的值是真值时,X才有唯一解,x自然有唯一的解。但是L’肯定不是真值(再次真值怎么可能知道)

( 线性代数的知识,m>n时,Rank=n,那么x又唯一解或无解。PS.m是行,n是列,也为未知数个数。)

那么,想V=0有解,现实又无解,要解一个无解的问题。这就十分矛盾了。那么,退而求其次,使得 ΣV*V尽量能达到最小也算数了,  就借用最小二乘的办法。(转去最小二乘的几何解释)。

//

2. 使用载波相位测量进行单点定位。其基本原理,其实和伪距测量的差不多,只是观测量为Φ=Int(φ)+△φ,参数多了“整周未知数”。

使用载波相位观测值模型,主要是precise point positioning(PPP):精密单点定位技术 中应用(GPS测量与数据处理P190)

总结:(划重点)(见《GPS测量与数据处理》P146)

无论伪距测量,还是载波相位测量,其观测方程均为:观测量 = A[参数1,参数2,参数3,参数4....]

在实际平差中,参数往往是很多的,可分为两类:

必要参数:就是用户感兴趣的参数,如(X,Y,Z)或(△X,△Y,△Z)

多余参数:就是用户不感兴趣的,但是为了模型严谨,要加入的,例如:卫星钟差,接收机钟差等。

在一条观测方程中,有  观测量 = A[X,Y,Z,钟差改正....],假如将两条观测方程相减,那么,假如钟差改正参数,其系数恰恰为固定的常数,那么,就可以消除参数了。

而且有,虚拟观测量= 观测量1- 观测量2,形成一个新的数学模型。

如此类推,有:

二次差虚拟观测量 = 一次虚拟观测量1 -   一次虚拟观测量2。从而继续消去更多的参数。

但是,也有一些副作用:

1. 观测量的利用率低。(本来好多方程了,方程间求差后,导致方程数减少)。

2. 如果,从第1条之后的方程,都和第1条方程相减,那么就面临一个矛盾,要不要求方程间的协方差阵(因为每条二次差方程都和方程1有关系,相互不独立),代入到平差中的P(权阵)。

3. 没办法求出多余参数。(就例如做高次曲线拟合,只能求出部分参数,一些参数求不出(例如常数项),那么想预测后续的曲线样子,就不可以了)。

整周模糊度解算(见《GPS测量与数据处理》P164)

整周模糊度,其实就是整周未知数,复习一下,在T0时刻,从卫星发射到接收机接收,一共经历的相位=Fr(φ0)+N ; 而持续观测,在第Tn时刻,总相位=Fr(φn)+Int(φ)+N,其中Fr(φn)+Int(φ)就是每个历元的载波相位观测值。

求解整周模糊度,其目的就是为了把载波相位值,换算为精确地距离观测值,从而解算出基线向量。

求解办法1:用伪距观测值来确定。

求解办法2:依据较为精确的先验站坐标以及卫星星历来确定。

*解算基线向量时,必须已知其中一个端点的坐标,因此解算基线向量也相当于求解另一个端点的坐标。

求解办法3:(常用,划重点)将模糊度作为待定参数,通过平差计算来进行估计。(见《GPS测量与数据处理》P146)

固定解:当整周模糊度取整(是人为取整吗?)时,所求得的“基线向量解”称为“整数解”,也称为“固定解”。

浮点解:那么,模糊度无法取整时,得到的解,称为“浮点解”。

*其实固定解的前提是,必须用能持续观察,不失锁的载波相位观测值,或至少是,用修复好周跳,剔除粗差后的,“干净”的载波相位观测值。

*不难理解,根据观测方程,观测量=f(参数),如果观测量出了问题(周跳),那么参数肯定也不正确的。不但不能求出固定解,连浮点解的误差也很大。

求解步骤:

1. 求初始解(很重要,在后边都用到:就是用已经修复好周跳的载波相位观测值,列误差方程,求解基线向量,以及整周模糊度参数。

2. 在1中,只是用最小二乘的办法,求得最佳参数,使得ΣVV(矩阵形式V'PV)最小;然而,在某些场合,观测值的改正数平和和最小,未必就最符合理论值。例如,整周模糊度,理论上应该是整数的,但是平差出来的“最佳”结果,往往是浮点的。

3. 在2中,挑出一些比较好的(如何为之比较好的??)整周模糊度解,并固定为整数(如何固定,仅仅四舍五入吗?),然后作为已知值,重新平差,解出基线向量和其他整周模糊度。(因此未知数个数减少,改善了图形强度)

*如果能将一些“比较好”的模糊度固定下来,解出其基线向量,就叫“固定解”。

*反之,可以肯定的是,挑不出“好的”模糊度以固定,肯定是“浮点解”。

*猜测,“好的模糊度”的标准,肯定和平差中的,“后验中误差”有极大的关系。

固定整周模糊度的基本原理:(见《GPS测量与数据处理》P168)

*在上述中,说到要将某些“较好”的整周模糊度固定为整数,先不论那些为之“较好的”,先讨论如何固定。并不是采用四舍五入的“粗暴”办法。

*首先,在平差中,除了解出待求参数,还可以经过参数回代,求出各个观测值的改正数V,单位权中误差u = VPV/(n-r),(n-r)也称为*度,熟悉间接平差的都知道,n是观测值个数,也为方程个数;r为参数个数。

*还有,各个参数(包括基线向量△X,△Y,△Z和各个整周模糊度)的中误差 m = u * √Q ,Q是协因数中的对角线元素。(涉及到协因数,就要考虑到权阵了)

一. 构建置信区间构建:

1. 选择一个置信度,(1 - a);*a可以称为“不信度”吧;

2. 根据置信度(1-a),以及*度(n - r),通过查表,得到系数β;

3. 那么,置信区间(Ni - β * mi , Ni + β * mi),Ni就是平差后得到的参数值,mI是这个参数值对应的中误差。

* 置信度越大,置信区间也就越大。举个例子:一个中国人,在地球的置信度为1-0.01 = 99%;而在美国(比地球范围小)的置信度为1-0.1=60%。这个概念,对于后续有作用。

* 在一个置信度(假如置信度为99.7%)对应的置信区间中,获得整个空间的所有整数。那么,这些整数,都极有可能(有99.7%)的可能性,为真正的整周模糊度。那么到底要挑哪个呢?(其实如果区间少,只能夹着一个整数,想都不用想,就它了,所以说,“较好”的整周模糊度,跟中误差有关)。那就称这些整数,为一个整周模糊度的“备选组”。

*如果置信度跳得过大,那么“备选组”中元素的个数,自然会越大了。

4. 那么,假设有m个整周模糊度需要固定,每个整周模糊度的“备选组”有ni个整数,那么,一共有 N = n1*n2*......nm个组合。如果将这些组合一一代回方程中,再次平差求解,一共有N个结果。从中,抽出单位权中误差最小的那个,就是最佳结果。

总结一下,其实就是:1 . 普通的平差 ; 2. 将某些认为靠谱的参数,作为已知数,并且这些已知数,通过置信区间,使得每个参数都有一组“备选值”;3. 将这些组各种排列组合,再平差,求得单位权中误差最小的那个,作为最优解。

快速固定整周模糊度(见《GPS测量与数据处理》P170)

*如上述所示,如果整周模糊度参数较多,而且每个整周模糊度的“备选组”的元素又较多,那么完全组合起来,数字会非常庞大。

*如果想着少观测一些历元,缩短观测时间,那么卫星的位置变化有限,那也会导致观测方程几乎线性相关(想象一下行向量之间的夹角很小)。从线性代数的几何意义上讲,图形强度很差,从代数的角度讲,观测方程组的状态很差,方程是病态的。

那么,如何提出一部分的组合,就成了关键的问题。

FARA法快速固定整周模糊度:

1. 构建两个(假如其中其中两个分别为Ni和Nj), 相减△N = Ni - Nj ;

2. 根据误差传播定律,结合在求得“初始解”的协因素Qnn,求得△N的中误差。

3. 按照一定的(1-a),求出△N的置信区间。

4. 筛选,假如从备选组中,选中Nj',Ni',那么他们相减,不落在置信区间中,那么这个组合肯有可能是错误的,所以要剔除。(当然也有可能是对的,因为落在置信区间内,仅仅说明真值落在里面的概率大,而不能说明就绝对正确的)。

5. 将筛选完的模糊度,代入方程中,再次解。

LAMBDA法快速固定整周模糊度:(见《GPS测量与数据处理》P172)

*LAMBDA法,使用的双差观测值

1. 还是要平差,求的初始解。

2. 在T(N-No)Inv(Qn)(N-No) = min的条件下,搜索模糊度。 Qn是初始解中的协方差阵。(类似于,以初始解No为中心,个个“备选值”到中心的加权距离最小值的一个“备选值”组合,就是所求)

*这是比较复杂的一步,由于是用双差观测值,所以Qn肯定不是对角阵了,因为观测之间是有相关性的;那么,为了使得T(N-No)Inv(Qn)(N-No) = min变得简单直观,要进行将相关处理(这步太复杂了),概括来说,就是将Qn,No,阵进行变换(矩阵对角化,矩阵分解之类),然后还是根据min的条件搜索,然后变换回来。

3. 确定好一组模糊度组合后,再次代入方程中,解基线向量

值得留意的是,无论使用FARA法还是LAMBDA法,对于一个“最佳组合”的整周模糊度,都需要进行以下检验:(见《GPS测量与数据处理》P170)

1. 整数解与实数解中所求得的基线向量的一致性检验。(有一致性)

2. 整数解与实数解的单位权中误差的一致性检验。(有一致性)

3. 整数解的最小单位权中误差,和第二小的单位权中误差之间的显著性检验(要显著变小)

(见《GPS测量与数据处理》P171)

GPS相对定位 (见《GPS测量与数据处理》P195)

相对定位:同步跟踪相同的GPS卫星信号的多台接收机之间的相对位置(坐标差)的定位。

*坐标差可以用向量(△X,△Y,△Z)来表示,又称为“基线向量”。

*静态定位:如果整个时段,待定点坐标都假定为固定不变的待求参数

*动态定位:整个时段,包含多个历元,每个历元,待定点坐标都为一组待求参数,那就有多组参数。严格来说,如果待定点位置变化:允许误差 不显著,那也可像静态定位一样,只求一组参数。

静态相对定位的解算基本原理(划重点):

* φ=Int(φ)+△φ 为修复好周跳后的载波相位观测值。

*Vts:卫星钟差改正数(同一卫星是一样的) ,Vtr:接收机钟差改正数(同一接收机是一样的),Vion:电离层延迟,Vtrop:对流层延迟,N:整周模糊度,dX:坐标改正数

Part1:

有i,j两台接收机,观测p卫星,则有观测方程,并且已经处理成线性形式(是指L = ax+by+cz+.....+d,x、y、z等等为参数,a、b、c、d为常数):

λ(φi)p =  F0(dXi,dYi,dZi,(Ni)p,(Vts)p,(Vtr)i,((Vion)i)p,((Vtrop)i)p)

λ(φj)p =  F0(dXj,dYj,dZj,(Nj)p,(Vts)p,(Vtr)j,((Vion)j)p,((Vtrop)j)p)

*F0为方程的意思。

由此可见,如果λφi 和λφj 两个观测方程,是对同一卫星p的不同接收机的观测方程,有:

λ(φi)p-λ(φj)p = F1(dXi,dYi,dZi,(Ni)p,...........dXj,dYj,dZj,(Nj)p,.......) =λ(△φij)p =  F1(dXij,dYij,dZij,(△Nij)p,(△Vtr)ij,((Vion)ij)p,((Vtrop)ij)p)

*F1又叫单差观测方程,很明显,消除了(Vts)p,因为两个观测方程中(Vts)p的系数都是c(光速);而dXij就称为了坐标差改正数,也就是“基线向量改正数”了(也就是△Xij的改正数了吧)(见《GPS测量与数据处理》P198)。

假如:i接收机的坐标是已知的(或者假设了值),那么j最终算出来的坐标,其实是在i的体系下的坐标。如果i的精度不高,那么j的坐标精度也不高。所以,求出j的坐标,其实并无实际意义,求得其△Xij才是有意义的。

Part2:

假如有:

λ(△φij)p =  F1(dXij,dYij,dZij,(△Nij)p,(△Vtr)ij,((Vion)ij)p,((Vtrop)ij)p) 也就是i和j接收机对p卫星进行观测的

λ(△φij)q =  F1(dXij,dYij,dZij,(△Nij)q,(△Vtr)ij,((Vion)ij)q,((Vtrop)ij)q) 也就是i和j接收机对q卫星进行观测的

那么,如果λ(△φij)p -λ(△φij)q = λ(△φij)pq  = F2(dXij,dYij,dZij,(△Nij)pq,((Vion)ij)pq,((Vtrop)ij)pq),很明显,又是(△Vtr)ij,因为两个观测方程中(Vts)p的系数都是c(光速)

F2又叫双差观测方程。

双差观测方程是在静态相对定位中,被广泛使用的。

*(△Nij)pq得到保留,需要用上面求整周模糊度的办法,快速固定整周模糊度。

Part3:

流程总结:

1. 收集资料,主要是基线起始点的坐标。从接收机下载卫星星历,观测值,气象,卫星钟差等等数据,一般为RINEX格式。

2. 修复周跳,剔除粗差,以获得“干净”的载波相位观测值。

3. 列基线观测方程,解基线。重点提及,首次解出的结果叫“初始解”,解出的整周模糊度一般为浮点数,需要用上面提及的,诸如FARA或者LAMBDA等方法,使得整周模糊度为整数,然后作为参数初始值(仍然为参数),或者直接为已知值(不作为参数了),再次解得基线,得到固定解。

4. 利用基线的解,各个(△X,△Y,△Z),以及求得的协方差阵D(平差的附带成果),来解出各个点的坐标(可以另起其中一个点的高精度的坐标,作为起算)。

Par4:

遗留的问题:

1. 上面的式子,是距离的等式,也就是,假设伪距测量非常准确(或者接近载波相位观测值)时,等号左边其实是可以用伪距的。

2.  如果有i和j接收机对m个卫星观测,那就有2m个方程(i和j对每个卫星,占一个方程),那就有m个F1(单差观测方程)很好理解,同卫星两两相减;

在m个F1方程两两相减,又得到m-1个F2(双差观测方程)。(F1)1-(F1)2,(F1)2-(F1)3,.....(F1)m-1-(F1)m,一共(m-1)。

那问题是,(m-1)个双差方程,有(dXij,dYij,dZij),和(m-1)个(△Nij)pq(双差模糊度),则m-1个方程, 有 3+m-1 个未知数,秩亏!!!

*((Vion)ij)pq,((Vtrop)ij)pq可能是已知的,反正书本没提是双差参数。(见《GPS测量与数据处理》P199)。

3. 破解秩亏的办法,只能是确定一些整周模糊度,减少参数个数了。

RTK(Real Time Kinematic):实时运动 (见《GPS测量与数据处理》P200)

RTK其实也是载波相位测量的相对定位,只是基准站i实时第将其观测数据(载波相位观测值,卫星星历,基准站坐标等),通过电台、或者4G网络等方式,发送给流动用户的接收机j,再由接收机j上的RTK软件,实时地解算出。

RTK软件需要有以下功能:1. 快速确定整周模糊度;2. 基线向量解算;3. 精度评定;4. 坐标转换;5. 数据存储等等。

不足:如果距离基准站i和接收机j之间的距离大于15km,那么会导致各种误差的空间相关性将迅速下降,导致只能得到浮点解。(猜测,可能是距离大了,对流层电离层的影响变得不一致导致;或者观测方程中,一些没有加入去的参数,通过双差观测值也不能消除导致的,诸如此类)

网络RTK (见《GPS测量与数据处理》P202)

part1

是指在大范围内(50~100KM)有多台主机,而移动站,在这个范围内工作。

回顾上面提及的:λ(△φij)pq  = F2(dXij,dYij,dZij,(△Nij)pq,((Vion)ij)pq,((Vtrop)ij)pq),一般短距离(15km内),对双差的Vion(电离层延迟),Vtrop(对流层延迟)忽略不计(猜测是由于小范围内都差不多,通过双差可以消除,故不列入方程模型中)。

但是,距离大了,就不能忽略不计了。

那么,办法就是:

1. 几个基准站之间的观测值,加上其已知坐标,反算出Vion,Vtrop;

2. 因为移动站是在几个基准站围城的范围内作业,所以,流动站的Vion和Vtrop,是可以根据各个基准站之间的Vion和Vtrop进行内插(猜测,假如有3个基准站,那就有3个距离,3个Vion和Vtrop,那可以根据距离作权,得出移动站的Vion和Vtrop)。

网络RTK系统的构成:

1. 基准站网。

2. 数据处理中心。主要是对各个基准站的观测值进行解算,算出各个站的Vion和Vtrop之类(这些可能是双差下的),然后发给移动站。

3. 用户移动站。

*不论数据处理中心还是用户站,都要有相应的通讯设施。

part2

在上述的网络RTK系统的基础上,有虚拟参考站(VRS)技术,能提高精度,被广泛使用:

1. 数据处理中心,收集各个基准站的观测数据,生成数学模型。

2. 用户移动站,发送 测距码伪距观测值 得到的 单点定位 数据,给数据中心;

3. 数据中心根据数学模型,生成“虚拟基准站”及其“虚拟载波相位观测值”,并返回给用户移动站。

4. 用户移动站根据数据中心发来的“虚拟基准站”及其“虚拟载波相位观测值” , 按照套路算出当前坐标。

* 其实关键是数据中心,数学模型的正确性,导致“虚拟基准站”及其“虚拟载波相位观测值” 准不准确。

*“虚拟基准站”猜测,是按照移动站当前位置,弄出一个距离移动站很近的基准站, 要做到能忽略Vion,Vtrop的地步,然后给到移动站

CORS(Continuously Operating Reference System),连续运行参考系统。

其实可以理解为网络RTK的升级版,只是服务更多样,运行时间长,稳定。偏向卫星导航定位。

GNSS的全称是全球卫星导航系统(Global Navigation Satellite System)

应该能理解为CORS再次升级版的系统

差分GPS(见《GPS测量与数据处理》P208)

在已知点上获得观测数据,根据已知点坐标,求出改正数,然后发送给移动站,移动站根据这些改正数,进行定位计算。

位置差分:由单点定位得到接收机位置P',又有已知的坐标P,那么两个坐标值相减,得到(△X,△Y,△Z)。那么其点测得的坐标q',减去P点的坐标差,就可以求出了。

*位置差分,要求在同一时刻,基准站可见卫星数目,和移动站要一致,否则会造成相关性差。

*值得注意的是,位置差分中,P'和P两个坐标,都是以同一个坐标系,即各轴方向一致为前提。应用到其他三位测量,也是要各轴方向一致才行。

距离差分:基准站测得卫星的距离p‘,这是实时由卫星当前位置得到的距离;而能根据卫星星历,确定卫星的位置(有误差),加上基准站已知坐标,得到距离p。△p = p - p',△p就是由星历误差,接收机钟差,大气延迟等等造成的。如果同一时刻,用户也在测这个卫星,那么可以q' = q' + △p,就可以使得用户测到的距离q'更加准确。

* 距离差分的条件,是基准站和移动站不能太远,因为远了之后,大气延迟等误差可能不一致。

*差分GPS主要是用于提高导航定位用的。

单基准站差分

用户接收一个基准站的改正信号,使用位置差分,或则距离差分的数学模型进行定位。

* 单差分GPS是建立在用户的位置或者距离误差与基站的误差完全相同这一基础上的,所以用户接收机和基准站之间距离不能过远。

多基准站GPS差分

用户接收多个基准站的改正信号、以及其已知位置信息,先用特殊的办法求出差分距离改正数,然后进行定位。

无论哪种方法求出用户的改正数,已知条件,都是基准站(假如有3个基准站)各自获得的改正数V1,V2,V3,以及已知的位置P1,P2,P3

加权平均法:就是通过用户到各基准站的距离产生权,使用加权平均值,(有点类似于全站仪测水准时对闭合差使用距离加权改正),Vu = V1 * S1 / (S)sum + V2 * S2 / (S)sum +....

偏导数法: 假如基准站之间的坐标差,和对应的改正数有关系,那么

V2 = V1 +  K1 * (L2 - L1) + K2 * (B2- B1);

V3 = V1 +  K1 * (L3 - L1) + K2 * (B3- B1);

(L1,B1),(L2,B2),(L3,B3)分别是3个基准站的大地坐标。

// K1,K2分别是其他卫星,到1号基准站的, 改正数 在L方向和B方向上的变化率。

用至少3个卫星,求出K1,K2。

然后,求出用户接收机所用到的改正数:Vu = V1 + K1 * (Lu-L1) + K2 * (Bu-B1);

值得注意的是,无论单站差分,还是多站差分,在计算改正数的时候,都是将所有误差都合起来再计算分配(根据距离分配,根据位置分配)。事实上,有些如卫星钟差这些和距离无关,是定值的东西,在差分时也合起来算,就会影响精度。

深入探讨(划重点):

差分的思想就是,根据控制点的坐标,计算出观测值的近似值(或者反过来,根据观测值,计算出控制点的近似坐标),两者之间产生矛盾,造成差值。

然后,对所有的差值,计算加权平均值。

最后,将加权平均值,想办法应用到其他非控制点中,改善其观测值(或者直接作用到观测结果),从而提高观测结果的精度。

GPS测量中的基本概念:

观测时段:从开始接收,到结束接收,持续工作时段。

同步观测:几台接收机,对同一组卫星,同时观测。同步观测,是进行相对定位的必要条件。

同步观测环:指3台以上接收机,同步观测,形成由基线组成的环状结构图形。

异步观测环:如果环的节点太多,造成不能全部基线同步观测完,分次观测,形成异步观测环。

独立基线向量:就是任一基线向量,无法被其他基线向量线性组合出来(注意,这个线性组合和线代的不一样,线代中是可以取n倍数的,这里只能取1,这里是从图形上讲的)。相当于线性独立。例如:有3个几点,应该只有2个独立基线。

反正各种组合,最多有n(n+1)/2个基线向量,不独立的;有n-1条独立的基线向量。

*理论上,一个GPS网,应该由独立的基线向量所构成。不同取法的独立基线向量,解算出来的结果理论上都是等价的,也就是说,结果与独立基线向量取法无关。

 重点提醒:虽然在解算基线的时候,n个节点,任意取n-1条独立基线,理论上平差出来的基线向量,在到网平差的阶段,平差出来的坐标都是一致的。实际上,由于基线解算的模型不完善(或许有些导致误差的参数,没有考虑进去),所以不同的选择结果不完全相同。那么,基本原则就是,选择数据质量好的点,作为基准点(基准点坐标不需要太高精度,只是象征意义,因为解基线只是求向量),或者,选择距离较短的边作为基线。

GPS数据解算过程:

1. 数据传输;2. 格式传输;3. 基线解算;4. 网平差

其中:

基线解算:由多台PS接收机同步观测的数据,确定接收机间的基线向量及其方差-协方差阵

网平差:拿到基线向量,作为观测值;拿到基线向量的方差-协方差阵,用于定权。加上若干个已知点的坐标,平差出其他未知点的坐标。(之后做大地坐标转换,高斯投影等)。

GPS网平差(划重点)(见《GPS测量与数据处理》P321)

* 说到平差,首先是要明确观测值是什么,参数是什么,已知值是什么,观测值=f(参数),f是怎样的公式,已知值怎样作用到f中。

* GPS网平差,最基本的观测量,就是经过基线解算后的基线向量,根据附加的已知值,附加的其他观测值,分为如下几种平差模型。

无约束/最小约束平差

无约束平差,观测量完全为GPS基线向量。不引入(无约束)或引入一个(最小约束)起算点,用于提供基准位置信息的。之所以只引入一个起算点,是因为,如果引入更多的起算点,就相当于引入了边长、方位角等,就相当于使得基线边长,最终平差出的成果,收到起算数据的影响,使得其尺度、方位发生改变(特别是起算数据的长度精度,还不如GPS基线长度的时候更坏)。

所以,由于无约束,所以结果是不能直接被工程使用的(起码方位和尺度不是工程所需)。

无约束平差,其目的,是为了通过内符合精度的指标(通过改正数得到内符合),过滤一下粗差,剔除一些观测值(基线向量)。

具体方程(见《GPS测量与数据处理》P337)

约束平差

约束平差,观测值完全为GPS基线向量。引入多个起算点。方程和无约束平差是差不多的。(但是起码起算点的精度,或者边长精度要比基线高吧),这样就对GPS网的尺度,方位发生变化,解算结果符合工程需要。

具体方程(见《GPS测量与数据处理》P339)

联合平差

联合平差,观测值除了GPS基线外,还包括其他观测值(如全站仪的角度,距离),所以方程组又两部分,一部分是和约束平差一样的;另一部分是其他采集器的观测值;而两部分的参数,都是一样的。

常见有空间距离观测值,方位角观测值,方向观测值,天顶距观测值。

具体方程(见《GPS测量与数据处理》P343)

平差的流程:目的是到联合平差,使得结果能被工程所用。

先无约束平差,根据其单位权中误差,进行卡方检验,看看是否符合先验单位权中误差(应该由硬件标称的);以及对基线向量,各个分量的改正数, 是否符合规范(GB/T 18314-2009)要求,必要时要剔除基线。

然后进行约束平差,约束平差时,也不能一股脑将所有控制点作为已知,代入进去。因为,上面提及,如果起算数据精度太差,甚至长度精度比基线还差,那平差出来也没什么用。具体做法,假如有i,j,k三个已知点,先放i进去平差,得到j的坐标Pj’,和已知的Pj进行比较,当然结果可能达到分米级别,Pk'-Pk也一样。然后将i,j同时放进去,得到Pk',Pk,要是这时差异依然是分米级别,或者更大,证明已知点有问题了。

已知点有问题,其实是无法确定哪个有问题的,所以可以借助计算机的算力,尝试各种组合,获得无问题(或者最佳)的两个点。

*同时,改正数也要符合规范。如果通过了无约束平差,在约束平差阶段出问题(再次通过卡方分布),很大的原因是起算数据精度不够。

最后联合平差。

坐标转换总结

大地坐标转空间直角坐标:(X,Y,Z)= F(B,L,H):F需要椭球参数a(长半轴), b(短半轴)(见《GPS测量原理及应用》P17)

空间直角坐标转大地坐标:(B,L,H)= F(X,Y,Z):F需要的条件同上

高斯投影:(x,y)= F(B,L):F需要椭球参数,和*子午线度数。*x方向和*子午线方向平行,y方向和赤道平行;*子午线可以根据工程选定,一般越接近L值,y就越准(由于投影造成的变形小);以*子午线为x轴(指向北极),该处y=0。(见《GPS测量原理及应用》P28)

空间直角坐标转换:(X',Y',Z')= F(X,Y,Z):F需要七参数((见《误差理论与测量平差基础》P167))

七参数平差(求七参数):需要3对以上(X',Y',Z')(X,Y,Z)((见《误差理论与测量平差基础》P169))

空间直角坐标转站心直角坐标:((N)ij,(E)ij,(Z)ij)= F(Xj,Yj,Zj,Xi,Yi,Zi):以i点位原点(之前是以椭球心为原点的),求j的坐标。F要求是椭球参数。(见《GPS测量与数据处理》P328) * i为原点,那么N方向应该和B轴方向一致

相对定位方式总结

使用伪距进行相对定位

名称 简写 距离 观测值 星历 误差修正方式 精度
常规伪距差分 CDGPS <200km C/A码伪距 广播星历 综合伪距误差  1~5m
广域伪距差分 WADGPS <2000km C/A码伪距 精密星历 卫星钟差改正、电离层改正
1~5m
广域增强系统 WAAS  全球 C/A码伪距 精密星历 卫星钟差改正、电离层改正  1~5m
局域增强系统 LAAS <10km C/A码伪距 广播星历加地基卫星固定星历 卫星钟差改正、电离层改正  1~5m

*差分基本思想,就是利用基站的坐标已知为条件,与观测值产生矛盾,形成改正参数,再传递给流动站,使得流动站定位得到进一步改正。

使用载波相位观测值进行相对定位

名称 简写 相对定位距离 观测值 采用星历 误差修正方式 精度
双差静态定位 DD 0.005~3000km 双差相位 广播星历、精密星历 数学模型解算 10E-6~10E-7
实时双差动态定位 RTK 0.005~10km 双差相位 广播星历 基准站相位误差修正 10E-5
网络动态实时定位 Network RTK 0.005~100km 双差相位 广播星历 网络相位误差修正 10E-5
全球动态定位   Global RTK  全球 相位 精密星历 卫星钟差、电离层对流层误差 0.1~0.4m

*双差观测值就是,每个接收机,对每个卫星,测到的一个相位观测值,能列一条方程。而对同一卫星,不同接收机的方程求差,就是一次差;在一次差的基础上,对同一接收机,不同卫星求差,就形成双差。目的是抵消部分参数。