学习rtklib的PPP模块,先对重要的算法进行原理性阐述
一、PPP原理
精密单点定位采用双频伪距观测值、和载波相位观测值、获得测点的三维位置。在基本观测方程的基础上,通常有三种模型,分别是传统的无电离层组合观测模型、UofC模型(半和模型)、以及非差非组合模型。
基本观测方程:
假定接收机i在时刻接收到卫星j于时刻发送的卫星信号,则对于载波相位观测值、和P码伪距观测值
式中,
1、传统无电离层组合模型
卫星信号所收到的电离层延迟影响与频率的平方成反比,利用这一性质,可将伪距观测值、和载波相位观测值、组合成合适的组合观测值,消除电离层影响:
式中,
2、UofC模型(半和模型)
半和模型除了采用传统的无电离层载波相位组合观测值,还包括
3、非差非组合模型
消电离层的组合观测方程不仅会造成一些有用信息的丢失,还会放大观测噪声,因此基于原始观测值的非差非组合模型显得尤为重要,trklib中一般采用非差非组合模型和无电离层模型。
4、周跳探测
M-W组合法
式中
将当前历元的
参考:《GNSS精密单点定位及非差模糊度快速确定研究方法》李星星
《GNSS数据处理》蒋卫平
LLI标志
LLI(Loss of Lock Indicator)表示失锁标识符,它的范围为0~7,转化为二进制格式000-111,即有3个bit位。其中bit 0和bit 1仅用于相位。
(1)0 或空格:正常或未知
(2)Bit0 置位:先前与当前观测值之间失锁,可能发生了周跳(只针对相位观测值)。
(3)Bit1 置位:接收机进行半周模糊度解算,或程序不能处理半周数据而跳过该观测值的记录(只对当前历元有效)。
(4)Bit2 置位:bit 2置1表示为反欺骗(AS)下的观测值
参考:周跳探测——LLI_lli gnss-CSDN博客
GF(Geometry_free)法
通过
参考:108-周跳探测之GF_周跳检测gf法-CSDN博客
在rtklib的PPP模式中通过后两种方法判断是否发生周跳
二、扩展卡尔曼滤波原理
推荐文章:
卡尔曼滤波系列——(二)扩展卡尔曼滤波-CSDN博客
【精选】扩展卡尔曼滤波_菜鸟知识搬运工的博客-CSDN博客
卡尔曼滤波(Kalman Filter)原理浅析-数学理论推导-2_爱听歌的周童鞋的博客-CSDN博客
扩展卡尔曼滤波相比卡尔曼滤波多了泰勒级数线性化的内容,解算步骤还是一样的。rtklib中用到的就是扩展卡尔曼滤波EKF
状态方程:
观测方程:
进行如下步骤:
1、计算状态转移矩阵
状态转移矩阵定义了状态向量随时间变化的规律。
2、计算系统噪声协方差矩阵
该矩阵定义了在卡尔曼滤波模型噪声源的影响下,状态估计的不确定度随时间增长的规律。
3、状态向量先验估计值的传播,从
4、误差协方差矩阵的传播(预测),从到;
5、计算观测矩阵有的也用;
6、计算观测噪声协方差矩阵;
7、计算卡尔曼增益矩阵;
8、构建观测向量
9、状态向量后验估计值的更新到
10、误差协方差矩阵的更新(估计),从到
严恭敏老师的《捷联惯导算法与组合导航原理》中也有很详细的公式推导
三、模糊度固定
1、最小二乘模糊度降相关平差法(LAMBDA)
在模糊度固定过程中,对于一个模糊度参数,假设落入其置信区间内的整数个数为n
个,则称这 n 个整数为此模糊度参数的备选解。所有模糊度参数的备选解构成了整个模糊
度向量 N 的备选组,而正确的模糊度组合仅仅是其中的一组。理论上而言,使观测值的
残差平方和最小的一组模糊度即为正确的模糊度组合,即使一个模糊度参数固定错误也会导致较大残差,在解算过程中,每个备选组的残差平方和需耗费巨大工作量。
LAMBDA通过整数变换以减小搜索范围,通过从备选组中挑选模糊度组合使观测值的残差平方和最小等价于:
再利用前面所述算法求得的置信空间,构成值的备选组合,然后逐一搜索挑选出满足上式的整数,值组合。通过前述的整数变换使,值之间的相关性大幅降低,故此时的搜索将相当迅速,求得满足上式的值组合后再实施逆变换:
N即为所求整周模糊度整数解组合
2、Melbourne-Wuebbena(MW)方法
利用双频P码观测值来确定宽巷模糊度,主要用于LC观测值进行解算时的模糊度固定。
同一历元的相位与双频P码伪距观测值有以下关系:
在rtklib中pppamb 中
if (n<=0||rtk->opt.ionoopt!=IONOOPT_IFLC||rtk->opt.nf<2) return 0;
只有消电离层模型可以进行模糊度固定。
参考《GNSS数据处理》
四、各项误差改正
1、与卫星有关的误差
卫星天线相位中心偏差改正
GNSS观测量是相对于卫星天线相位中心的,而卫星定轨所用的轨道力模型参数、IGS精密星历和卫星钟差是相对于卫星质量中心,因此建立观测方程时必须顾及卫星天线质量中心和相位中心之间的偏差(《GNSS数据处理》蒋卫平)。卫星天线相位中心偏差包括两个部分,一个是基于物理参考位置的平均相位中心偏移(PCO),另一个是相位中心变化值,与高度角和方位角有关,是一个变化量。RTKLIB中采用的是绝对相位中心修正模型(IGS-08)[1]。表示为:
相位缠绕改正
GNSS卫星发射的是右旋极化(RHCP)的电磁波信号,接收机观测到的相位值依赖于卫星与接收机天线间的方位关系。接收机天线或卫星天线绕极化轴方向的旋转会改变相位观测值,最大可达一周(天线旋转一周),这个效应就称为“相位缠绕”。对于接收机天线而言,如果是静态观测,天线不发生旋转。但是对于卫星天线,卫星为了保持其太阳能翼板指向太阳,卫星天线相应地会发生缓慢的旋转,而且站星间的几何关系也不断变化。此外在卫星进出地影区域时,卫星为了使其太阳能翼板指向太阳会快速旋转。卫星在0.5h 内可旋转一周,在这段时间,载波相位观测数据需要进行相位缠绕改正,或者删除该部分数据(《GNSS数据处理》蒋卫平)。相位缠绕修正公式为[1]
2、与传播路径有关的误差
电离层延迟
Ionosphere-free LC
在消电离层模型中通过双频观测值的组合来消除或减弱电离层影响,详细PPP基础方程。
Single layer model
在RTKLIB的manual找到如下:
对流层延迟
对流层延迟一般泛指非电离大气对电磁波信号的折射。非电离大气包括对流层和平流层,大约是大气层中从地表面向上 50km 的部分。由于折射的 80% 发生在对流层,所以通常将两者对 GPS 信号的影响统称为对流层延迟。研究表明,对于工作频率在15GH 以内的微波而言,对流层使该种信号的传播路径比几何路径长,所导致的传播路径弯曲较小可忽略不计。对流层导致的 GNSS 信号传播路径增长的距离即为对流层延迟量,天顶方向的对流层延迟约为 2.3m;当卫星高度角为 10时,对流层延迟将增加至 13m 左右。(《GNSS数据处理》)
对流层延迟通常包括干延迟量和湿延迟量,90%左右是干分量,10%左右是湿分量;干分量可以通过 Saastamoinen先验 模型精确修正,湿分量是由大气中的水汽引起的,变化较快,难以通过模型完全修正,对流层延迟采用RTKLIB中的水平梯度的对流层改正模型[1]
在RTKLIB的manual中基础对流层计算模型( Saastamoinen):
精密对流层模型
当”Troposphere Correction”为”Estimate ZTD”或”Estimate ZTD+Grad”,使用如下精密模型
3、与接收机测站有关的误差
固体潮改正
摄动天体 (月亮、太阳) 对弹性地球的引力作用,使地球表面产生周期性的涨落称为地球固体潮现象。它使地球在地心与摄动天体的连线方向拉长,与连线垂线方向上趋于扁平。固体潮对测站的影响包含着与纬度有关的长期偏移和主要由半日周期组成的周期项(《GNSS数据处理》)。
测站固体潮改正的近似公式为[1]
大洋潮汐改正
由于日月引力作用,实际的海平面相对于平均海平面会有周期性的潮汐变化,即海潮。地壳对海潮的这种海水质量重新分布所产生的弹性效应通常称为海潮负载。它引起的台站位移要比固体潮的影响小一个量级,约为几厘米,但规律性要差一些(《GNSS数据处理》)。改正模型[1]:
地球极潮改正
由于极移现象的存在,地球自转产生的离心力可使得地球发生形变,称为极潮。极移使地球自转轴在北极描出直径约 20cm 的圆,极潮位移取决于观测瞬间自转轴与地壳的交点位置,它随时间而变化。极潮引起的台站漂移为1~2cm(GNSS数据处理)。
RTKLIB中的地球潮汐模型是根据 IERS Conventions 2010 solid earth tides model
4、其他误差
地球自转校正[2]
参考文献:
[1]潘军道,韦照川,杨柯.基于RTKLIB的精密单点定位及结果分析[J].Gnss World OF China,2017,42(1):95-99
[2]杨旭.GNSS多系统融合短基线解算方法研究与软件实现[D].安徽:安徽理工大学,2016:1-101
五、代码分析
在RTKLIB架构下的详细代码分析 可以前往:
RTKLIB学习(二)–2、PPP代码分析-CSDN博客
版权声明:本文为博主作者:进击中的小龙原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/yitian_00/article/details/135607130