定位⽅程构建以及最⼩⼆乘
GNSS单点定位方程重构:地球自转改正与码偏差改正
单点定位(SPP)的核心是利用伪距观测值解算接收机的位置、速度和时间。为获得高精度结果,必须在观测方程中引入地球自转改正(Sagnac效应)和码偏差改正(硬件延迟)。以下从原始方程出发,逐步重构。
一、 原始伪距观测方程(未改正)

二、 地球自转改正(Sagnac效应)
1. 问题描述
GNSS星历给出的卫星位置是信号发射时刻
在地固坐标系(如WGS-84)中的坐标。但卫星信号在传播期间,地球发生了自转,因此接收机接收时刻
的地固系相对于发射时刻已旋转了一个角度。
若直接使用发射时刻的卫星坐标计算几何距离
,会引入最大可达 30米 的误差(因为光传播时间约0.07秒,地球自转线速度约460 m/s,0.07秒移动约32米)。
2. 改正方法

3. 近似公式(常用线性化)

三、 码偏差改正(Code Bias)
1. 来源
由于不同频率、不同码类型(C/A、P、L2C、B1I等)在卫星和接收机硬件通道中的传播延迟不同,导致测量值存在固定的系统性偏差。主要分为:
-
卫星码偏差:例如GPS的 TGD(Timing Group Delay,在导航电文中给出),或北斗的 TGD 和 ISC(Inter-Signal Correction)。
-
接收机码偏差:由接收机硬件特性引起,通常与频率和码类型相关。
2. 修正方法
对于单频用户(如仅使用L1 C/A码),导航电文中提供群延迟参数 TGD(GPS)或 TGD1(北斗),将其从卫星钟差中扣除:
改正后的卫星钟差为:
![]()
即将其归算到特定码(如L1 C/A)的延迟基准上。
对于双频用户,可通过无电离层组合消除一阶电离层延迟,但码偏差仍存在,需使用DCB(Differential Code Bias)产品进行精致改正。
3. 在定位方程中的实现
在重构定位方程时,码偏差可视为已知改正项(从导航电文或外部产品获取),合并到观测值的常数修正中:

或者直接将修正项写入观测方程:
![]()
对于接收机码偏差,若为单点定位且使用单一码类型,它会被吸收到接收机钟差参数
中(因为两者均对所有卫星有相同影响)。只有在需要高精度或使用不同码类型时,才需作为单独参数估计。
四、 重构后的单点定位观测方程

五、 总结
| 改正项 | 物理原因 | 处理方式 | 对定位精度的影响 |
|---|---|---|---|
| 地球自转(Sagnac) | 信号传播期间地球旋转导致卫星位置变化 | 将卫星坐标旋转到接收时刻 | 数米至30米,必须改正 |
| 卫星码偏差(TGD) | 卫星内部不同码信号延迟不同 | 从导航电文参数中扣除 | 亚米级,单频用户必须改正 |
| 接收机码偏差 | 接收机硬件延迟 | 吸收到接收机钟差中(单频单码) | 不影响定位结果,但影响钟差物理意义 |
要点:
-
在编写单点定位程序时,务必先进行地球自转改正,否则解算的接收机位置会有系统性偏差。
-
码偏差改正主要通过导航电文提供的TGD/ISC参数实现,对于高精度应用(如PPP)还需更精细的DCB产品。
-
电离层和对流层改正(如Klobuchar、Saastamoinen等模型)是单点定位的另一重要环节,但非本问题的焦点。
重构后的定位方程是标准单点定位软件的核心数学基础,正确实现上述两项改正是获得米级乃至分米级定位结果的前提。
GNSS观测值权重
在GNSS数据处理中,权重用于反映不同观测值的相对精度。合理赋权可以充分利用高质量观测值、抑制低质量观测值的影响,是获得最优参数估计的关键步骤。
一、 为什么需要权重?
不同卫星信号受以下因素影响,精度各不相同:
-
卫星高度角:低高度角信号受大气延迟和多路径影响更严重。
-
信噪比(SNR/CNR):信号质量直接影响观测噪声。
-
观测类型:伪距噪声远大于载波相位噪声。
-
频率/码类型:L2C、L5等新信号通常具有更好的精度。
加权的基本思想是:精度越高的观测值,权重越大。通常取权
为观测值的方差。
二、 常用定权模型
1. 基于卫星高度角的定权
这是最常用且简单有效的方法。低高度角卫星假设方差更大。
典型模型:

常用形式(RTKLIB等软件):

低高度角卫星权重显著降低。
2. 基于信噪比(SNR/C/N₀)的定权
信号质量直接影响观测噪声,尤其是伪距和多路径。常用指数或线性模型:

3. 基于方差分量估计(VCE)
赫尔默特方差分量估计(Helmert VCE)或最小二乘方差分量估计(LS-VCE)可在平差过程中从不问观测类型(伪距/相位、不同系统)的残差中估计出各自的方差因子,实现最优权比。常用于高精度精密定位软件中。
4. 经验固定权比
对于简单处理,常按观测类型赋予固定权比。例如:
-
伪距与载波相位:

-
GPS与GLONASS:假设精度相当,权比1:1。
-
不同频点:新信号(L5/B2a)通常比旧信号(L1 C/A)给与更高权重。
三、 权矩阵的构造
对于一次观测(单个卫星、单个频点、单个历元),权矩阵为对角阵:

四、 在定位解算中的应用
在最小二乘或卡尔曼滤波中,权矩阵直接参与法方程的构建:
最小二乘解:

后验残差检验:通过标准化残差可检测粗差,并进一步降权或剔除。
五、 推荐实践
| 应用场景 | 推荐定权模型 | 说明 |
|---|---|---|
| 实时单点定位(SPP) | 高度角模型 |
简单有效,无需其他信息 |
| 差分定位(RTK) | 高度角 + SNR 组合 | 可结合信噪比提升模糊度固定率 |
| 精密单点定位(PPP) | 高度角 + VCE 自适应 | 需处理多类型观测值(伪距/相位、不同频率) |
| 后处理(PPK) | 高度角 + 残差分析 | 可进行方差分量估计 |
经验值参考(天顶方向):
六、 常见误区
-
权重仅影响解的质量,不影响无偏性:错误。权重不合理虽不影响无偏性,但会降低效率,导致参数估计不是最优(方差非最小)。
-
所有卫星等权:仅在近似计算或数据量极小时使用,会降低定位精度和可靠性。
-
固定权比一次不变:在高精度应用中,方差应随高度角和信号质量动态更新。
总结
GNSS观测值权重是提升定位精度的核心技术之一。合理定权需综合考虑:
-
几何因素(高度角)
-
信号质量(SNR)
-
观测类型(伪距 vs 相位)
-
先验方差模型(出厂标定或经验)
在实际软件实现中,高度角定权是最简单且效果最好的方法,适合绝大多数实时应用。对于最高精度需求,建议结合 VCE 自适应调整权比,以获得最优估计。
GNSS定位精度因子(DOP)
精度因子(Dilution of Precision,DOP)是衡量GNSS卫星几何分布对定位精度影响的重要指标。它将观测值的测量误差“放大”为最终的位置(和时间)误差,反映了卫星空间构型的优劣。
一、 基本概念
GNSS定位的最终误差可以表示为:

-
DOP:几何精度因子,取决于卫星与接收机构成的空间几何图形。
含义:即使观测值精度相同,不同的卫星分布也会导致定位结果精度相差数倍。DOP越小,几何条件越好,定位精度越高。
二、 DOP的种类
![]() |
|---|
三、 DOP的计算方法
DOP源自最小二乘法方程的法矩阵(或协方差矩阵)。对于单点定位,设计矩阵 A 的第 ii行为:

前三列为卫星到接收机的单位视线向量分量,第4列为钟差系数(通常为1)。

四、 DOP数值意义与评级
| DOP值 | 评级 | 定位精度 | 适用场景 |
|---|---|---|---|
| < 1 | 理想 | 最高 | 罕见,极佳几何条件 |
| 1 ~ 2 | 优秀 | 高 | 开阔无遮挡,静态测量 |
| 2 ~ 5 | 良好 | 中等 | 一般车载导航、手持设备 |
| 5 ~ 10 | 中等 | 可接受但较差 | 部分遮挡、城市峡谷边缘 |
| > 10 | 差 | 不可靠 | 严重遮挡,不建议用于定位 |
典型值:
-
开阔天空下 PDOP 一般 1.5~3.0
-
城市峡谷中 PDOP 可达 5~10
-
室内无法定位
五、 影响DOP的因素
1. 卫星数量
-
最少4颗卫星才能定位(3颗位置+1颗时间)。
-
更多卫星(≥6)通常DOP更小,但不绝对,分布更重要。
2. 卫星空间分布
-
理想分布:一颗在天顶,其余均匀分布在四周较低高度角。
-
差分布:所有卫星聚集在同一方向或同一高度角范围。
3. 高度角截止角
-
设置过低(如5°):增加低高度角卫星,虽卫星数增多,但低仰角信号受大气/多路径影响大,实际定位精度不一定提升,且DOP可能表面改善但实际变差。
-
设置较高(如15°):减少卫星数,DOP可能变大,但观测值质量提高。
4. 接收机位置
-
极地地区:GLONASS等系统卫星分布可能更佳。
-
峡谷/高楼区域:遮挡严重,DOP恶化。
六、 如何改善DOP
-
多系统融合:GPS+北斗+GLONASS+Galileo可显著增加卫星数和改善几何分布,降低PDOP。
-
合理设置高度角截止角:典型10~15°。
-
辅助技术:使用惯性导航(INS)或伪卫星(Pseudolite)增强可用卫星。
-
选择观测时段:避开卫星分布最差的时段(可通过星历预报软件查看)。
七、 注意事项
-
DOP只反映几何影响,不代表真实总误差。真实误差还受观测值噪声、大气延迟、多路径等影响。
-
低DOP时定位一定好吗? 否。在强多路径或电离层活跃条件下,即使PDOP=1,定位也可能很差。
-
事后处理:动态定位中,可剔除PDOP过大的历元,或加权处理。
总结
DOP是GNSS定位中评价卫星几何构型的核心指标,它直观地告诉我们:在同等观测噪声下,当前卫星分布能使定位精度达到何种水平。实际应用中,应结合DOP、卫星数、信噪比、高度角等信息综合评估定位可靠性。利用多系统融合技术,可以显著改善DOP值,提高定位精度和可用性。
GNSS单点定位算法流程
单点定位(SPP)是利用单台接收机的伪距观测值和广播星历,直接解算接收机在地固系中的三维坐标和钟差的过程。典型的算法流程如下图所示:


一、 数据准备与预处理
-
原始观测值读取
从接收机获取伪距、载波相位、多普勒频移、信噪比及观测时间戳。 -
粗差剔除
利用伪距变化率、多普勒一致性检验等方法剔除异常值。 -
周跳检测(可选)
若使用载波相位平滑伪距,需进行周跳检测与修复。
二、 获取广播星历与计算卫星状态
-
读取广播星历
解析导航电文,获得每颗卫星的:-
开普勒轨道参数(长半轴、偏心率、倾角、升交点赤经、近地点角距、平近点角)
-
摄动改正项(∆n、Cuc、Cus、Crc、Crs、Cic、Cis)
-
星钟改正参数(a0、a1、a2)
-
电离层模型参数(Klobuchar 或 BDGIM)
-
-
计算卫星在信号发射时刻的位置
根据星历参数,按 ICD 规定的算法计算卫星在地固坐标系中的坐标
-
计算卫星钟差

三、 观测值改正
-
地球自转改正(Sagnac效应)
将卫星坐标从信号发射时刻旋转到信号接收时刻:
-
码偏差改正
单频用户须扣除导航电文中的群延迟参数 TGD(或 ISC):
-
天线相位中心改正(可选)
高精度应用需改正卫星和接收机天线相位中心偏移与变化。
四、 误差模型改正
-
电离层延迟
-
单频用户:使用广播电离层模型(GPS Klobuchar,北斗 BDGIM)计算 Irs。
-
双频用户:通过无电离层组合消除。
-
-
对流层延迟
-
使用经验模型(如 Saastamoinen、Hopfield)结合标准气象参数(或GPT系列模型)计算 Trs。
-
干分量:高程模型。
-
湿分量:基于大气压、温度、相对湿度。
-
-
多路径与噪声
通常归入残差或通过定权处理。
五、 建立线性化观测方程
1. 原始伪距方程

2. 未知参数
![]()
3. 线性化

六、 最小二乘求解

七、 迭代收敛
-
更新待求参数:

-
用
重新计算几何距离、地球自转改正、残差向量,构建新的设计矩阵。 -
重复迭代,直到
(位置改正量)小于阈值(如 1 cm)或达到最大迭代次数(如 10 次)。
八、 结果输出
-
位置:
地固系坐标,可转换为经纬度、高程。 -
钟差:
秒,可换算为接收机时间同步误差。 -
精度评定:从协因数阵衍生 DOP 值(PDOP、HDOP、VDOP)和后验标准差。
九、 算法关键点总结
| 步骤 | 关键技术 | 注意事项 |
|---|---|---|
| 卫星位置计算 | 开普勒轨道外推 + 摄动改正 | 使用正确的历元(信号发射时刻) |
| 地球自转改正 | 发射→接收坐标旋转 | 代入迭代更新后的接收机近似坐标 |
| 电离层改正 | Klobuchar/BDGIM | 单频必加,双频组合可免 |
| 对流层改正 | Saastamoinen/Hopfield | 缺少气象参数时用标准模型 |
| 线性化 | 泰勒展开一阶近似 | 收敛依赖初始值质量(可用 Bancroft 法或单历元近似) |
| 加权 | 高度角定权 | 有效抑制低仰角卫星影响 |
| 迭代 | 牛顿-高斯法 | 通常 3~5 次收敛 |
总结
GNSS单点定位算法本质上是一个非线性最小二乘迭代过程。其核心在于:
-
获取准确的卫星位置和钟差(广播星历)。
-
精细改正地球自转、大气延迟等系统误差。
-
构造线性化观测方程,并通过加权最小二乘优化求解。
-
迭代更新直至收敛。
该算法是几乎所有GNSS接收机标准定位服务的基石,掌握其流程对理解更高精度的差分定位和PPP具有重要意义。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)