【GNSS定位原理及算法杂记2】GNSS观测量:伪距、载波相位、多普勒频移
GNSS观测量有三种:伪距观测量、载波相位观测量和多普勒频移观测量。
这三种观测量在GNSS接收机中是同时被测量和处理的,它们相互补充,共同实现了GNSS的定位、测速和授时功能。伪距提供粗略的绝对距离,载波相位提供高精度的相对距离但有模糊度,多普勒频移则提供高精度的相对速度。
1 伪距 观测量
1.1 定义、测量原理、特点和用途
-
定义: 伪距是指从GNSS卫星到用户接收机之间的几何距离(即直线距离),加上各种误差(如卫星钟差、接收机钟差、电离层延迟、对流层延迟等)和噪声后的测量值。
- 它之所以被称为“伪距”,是因为它不仅包含了真实的几何距离,还混合了接收机钟差等未知的偏差。
-
测量原理:
- 卫星在某个精确时刻 t S t_S tS 广播导航信号。
- 接收机在接收到信号后,记录接收时刻 t R t_R tR。
- 信号在空间传播所需的时间 Δ t = t R − t S \Delta t = t_R - t_S Δt=tR−tS。
- 伪距 ρ = c ⋅ Δ t \rho = c \cdot \Delta t ρ=c⋅Δt,其中 c c c 是光速。
- 实际上,由于接收机时钟与GNSS系统时间不同步,这个 Δ t \Delta t Δt 包含了接收机的钟差。所以更准确的公式是:
ρ = c ⋅ ( ( t R − δ t R ) − ( t S − δ t S ) ) \rho = c \cdot ( (t_R - \delta t_R) - (t_S - \delta t_S) ) ρ=c⋅((tR−δtR)−(tS−δtS))
其中 δ t R \delta t_R δtR 是接收机钟差, δ t S \delta t_S δtS 是卫星钟差。
测量原理也可描述如下:
-
特点:
- 容易获取: 伪距是GNSS接收机最容易、最快获取的观测量,通常在首次定位时就会使用。
- 精度相对较低: 通常为米级到十米级。这是因为伪距测量受接收机钟差、卫星钟差、轨道误差、大气延迟(电离层和对流层)以及多径效应等误差的影响较大。
- 无模糊度问题: 伪距是直接的距离测量,没有载波相位测量中的“整周模糊度”问题。
-
主要用途:
- 单点定位 (SPP): 最基本的GNSS定位方式,用于手机、车载导航等消费级应用。
- 差分GNSS (DGNSS): 提供米级甚至亚米级精度的定位。
- 初始化: 作为载波相位定位(RTK/PPP)的初始定位值。
1.2 伪距观测量中,时间差如何获取?
伪距测量是基于码相位测量。其核心思想是测量卫星信号中的伪随机噪声(PRN)码从卫星发射到接收机接收所经过的时间。
-
发送端 (卫星):
- 卫星内部有一个高精度的原子钟,它以一个极高的固定频率(例如GPS的L1 C/A码速率为1.023 MHz)生成一个独特的伪随机噪声(PRN)码序列。
- 在特定的时刻 t S t_S tS,卫星开始发送其PRN码的一个特定点(例如码序列的起始点)。
-
接收端 (接收机):
- 复制和生成本地PRN码: 接收机并不知道卫星何时发射了信号,所以它会自己生成一个与卫星完全相同的PRN码序列(本地码)。
- 信号捕获 (Acquisition): 接收机首先会尝试寻找天空中的卫星信号。这通常通过二维搜索完成:
- 码相位搜索: 将本地生成的PRN码与接收到的卫星信号进行相关运算。由于信号传播有延迟,两者之间会存在一个时间差(码相位差)。接收机通过不断移动本地码的相位,直到与接收到的信号达到最大相关。
- 多普勒频率搜索: 卫星与接收机的相对运动会引起频率偏移(多普勒频移)。在码相位搜索的同时,接收机也会在可能的频率范围内进行搜索,以补偿多普勒效应。
- 当相关值达到峰值时,表示成功捕获到信号,此时接收到的信号的频率和码相位就找到了。
- 信号跟踪 (Tracking): 捕获成功后,进入跟踪阶段,以精确维持信号的同步:
- 码跟踪环 (DLL - Delay Lock Loop): 这是一个负反馈控制系统。它通过比较接收到的卫星PRN码与本地PRN码的“超前”和“滞后”副本(即本地码分别提前和滞后半个码片)的相关值,来精确地对齐本地码的相位。当“超前”和“滞后”的相关值相等时,表示本地码与接收到的卫星码实现了最佳对齐。
- 测量时间差: 当DLL稳定锁定后,接收机就可以精确地知道本地PRN码相对于接收到卫星PRN码的码相位延迟(或称时间延迟)。
- 这个码相位延迟可以直接转换为时间差 Δ t = 码相位延迟 / 码速率 \Delta t = \text{码相位延迟} / \text{码速率} Δt=码相位延迟/码速率。
- 伪距获取: 接收机记录下接收到这个特定码点时的接收机内部时钟时刻 t R x _ i n t e r n a l t_{Rx\_internal} tRx_internal。由于卫星发射时刻 t S t_S tS 是卫星内部原子钟的时间,且卫星在导航电文中会广播自己的钟差信息,所以通过一系列计算,可以得到卫星的真实发射时刻。
- 然后,伪距 = c × ( t R x _ i n t e r n a l − t S ) c \times (t_{Rx\_internal} - t_S) c×(tRx_internal−tS),其中 c c c 是光速。这个 t R x _ i n t e r n a l t_{Rx\_internal} tRx_internal 减 t S t_S tS 的时间差,包含了信号的传播时间,以及接收机时钟与卫星时钟之间的不同步导致的误差(即接收机钟差)。
-
总结: 伪距中的时间差是通过码跟踪环精确测量接收到的卫星PRN码相对于接收机本地时钟的延时来获取的。
2 载波相位 观测量
2.1 定义、测量原理、特点和用途
-
定义: 载波相位观测量是指接收机在接收到卫星载波信号时,测量到的载波相位与卫星发射时载波相位的相位差。
- 由于卫星持续发射载波信号,接收机无法直接知道从卫星到接收机之间包含了多少个完整的载波波长。这个未知的整数个波长就是整周模糊度。
-
测量原理:
- 卫星以特定频率 f f f 连续发射载波信号。
- 接收机测量到信号的相位 Φ R \Phi_R ΦR。
- 理论上,从卫星到接收机传输的完整波长数 N N N 是一个整数,再加上一个小数相位 ϕ f r a c \phi_{frac} ϕfrac。
- 载波相位观测量通常表示为:
L = λ ( Φ R − Φ S + N ) L = \lambda (\Phi_R - \Phi_S + N) L=λ(ΦR−ΦS+N)
其中 λ \lambda λ 是载波波长, N N N 是整周模糊度(一个未知整数), Φ S \Phi_S ΦS 是卫星发射时的初始相位。
- 通过对观测到的相位进行累计计数,可以得到从首次接收到信号以来经过的总相位周期数。
-
特点:
- 精度极高: 载波相位观测值的精度可达毫米到厘米级,远高于伪距。这是因为载波的波长非常短。
- 存在整周模糊度: 这是载波相位测量最大的挑战。在解算出 N N N 这个整数之前,无法获得高精度的绝对距离。
- 需要连续跟踪: 如果信号中断(如遮挡),整周模糊度就会丢失,需要重新进行模糊度初始化。
-
主要用途:
- RTK (实时动态定位): 实现厘米级实时定位。
- PPK (后处理动态定位): 实现厘米级后处理定位。
- PPP (精密单点定位): 实现分米到厘米级单点定位。
- 用于估计大气延迟: 其高精度特性使其可以用于精细建模电离层和对流层延迟。
2.2 载波相位观测量中,整周数如何获取?相位差如何获取?
载波相位观测量涉及到对GNSS信号的载波进行测量。
-
相位差如何获取?
- 载波跟踪环 (PLL - Phase Lock Loop): 这是一个更高精度的负反馈控制系统。在码跟踪环锁定后,PLL会进一步锁定载波的相位。
- PLL通过比较接收到的卫星载波信号与接收机内部产生的本地载波信号之间的相位差。
- 它会调整本地载波的频率和相位,使其与接收到的卫星载波信号的相位差最小(理想情况下为零)。
- 当PLL稳定锁定后,接收机就可以精确地测量出当前时刻接收到的卫星载波信号与本地载波信号之间的小数相位差 ϕ f r a c \phi_{frac} ϕfrac。这个小数相位差的范围通常在 [ 0 , 2 π ) [0, 2\pi) [0,2π) 或 [ 0 , 1 ) [0, 1) [0,1) 周。
-
整周数如何获取?
- 初始值(首次锁定): 当接收机首次捕获并锁定卫星信号时,它只能测量到当前时刻的小数相位。而从卫星发射到接收机接收之间经历了多少个完整的载波周期(即整周数 N N N),是无法直接知道的。这个 N N N 就是整周模糊度,它是一个未知整数。
- 跟踪过程中的积累: 一旦PLL锁定,接收机就会开始连续地累积从锁定时刻起接收到的完整的载波周期数。只要信号跟踪没有中断(即没有失锁),这个累积的整周数就是准确的。
- 后处理/算法解算: 整周模糊度 N N N 的获取是高精度GNSS定位(如RTK、PPP)的核心难点。它不是接收机直接测量出来的,而是通过复杂的算法进行解算的:
- 建立数学模型: 利用多颗卫星的载波相位观测量,构建包含模糊度 N N N 的线性化方程组。
- 浮点解: 首先通过最小二乘或卡尔曼滤波得到模糊度的浮点解(非整数值)。
- 整数解算算法: 然后,应用专门的模糊度解算算法(例如LAMBDA方法 - Least-squares Ambiguity Decorrelation Adjustment)将浮点解约束到最近的整数。这个过程通常会利用冗余观测、多频数据、时间相关性以及与伪距的联合使用来提高成功率和可靠性。
- 验证: 解算出的整数模糊度会通过残差、比率检验等方法进行验证,以确保其正确性。一旦整周模糊度被正确解算并固定为整数,载波相位观测量就可以转换为极其精确的卫星到接收机的距离。
-
总结: 相位差通过载波跟踪环实时测量。整周数无法直接获取,而是在信号跟踪不中断的情况下累积小数相位,并通过复杂的模糊度解算算法(如LAMBDA)从数学模型中推导并验证得到。
3 多普勒频移 观测量
3.1 定义、测量原理、特点和用途
-
定义: 多普勒频移是指由于GNSS卫星和用户接收机之间的相对运动,导致接收机接收到的卫星信号频率与卫星发射频率之间产生的偏差。(
想了解多普勒效应、多普勒测速原理,可以查阅“多普勒测速仪(Doppler Velocity Log, DVL)原理(多普勒效应介绍)”
)- 当卫星向接收机靠近时,接收频率会升高;当卫星远离接收机时,接收频率会降低。
-
测量原理:
- 卫星以标称频率 f 0 f_0 f0 发射信号。
- 接收机测量到实际接收频率 f R f_R fR。
- 多普勒频移 f D = f R − f 0 f_D = f_R - f_0 fD=fR−f0。
- 多普勒频移与卫星和接收机之间的径向相对速度 V R V_R VR 成正比: f D = − V R λ f_D = -\frac{V_R}{\lambda} fD=−λVR,其中 λ \lambda λ 是载波波长。
-
特点:
- 用于测速: 直接反映了接收机和卫星之间的相对径向速度。
- 精度高: 实时速度测量精度可以达到厘米/秒级别。
- 实时性好: 多普勒频移是瞬时变化的量,非常适合实时速度估计。
-
主要用途:
- 实时测速: GNSS接收机通过多普勒频移直接计算出载体的瞬时速度。这通常比通过连续位置差分计算速度更平滑、更精确。
- 辅助信号跟踪: 在接收机内部,多普勒频移用于调整接收机本地振荡器频率,以保持对卫星信号的精确跟踪,特别是在载体高速运动时。
- 辅助模糊度解算: 可以为载波相位模糊度解算提供约束信息。
- 故障检测: 异常的多普勒频移可能指示信号问题。
3.2 多普勒频移观测量中,频率之差如何获取?
多普勒频移的获取与载波跟踪环紧密相关。
-
测量原理:
- 本地振荡器频率: 接收机内部有一个高精度的本地振荡器,它产生一个标称频率(与卫星发射载波的标称频率相近)的信号。
- 鉴频器: 在PLL中,除了鉴相器(用于测量相位差)外,还有一个鉴频器。鉴频器会测量接收到的卫星信号频率与本地振荡器频率之间的频率偏差。
- 频率跟踪环 (FLL - Frequency Lock Loop): 在信号捕获初期或PLL失锁时,FLL会首先工作,通过调整本地振荡器的频率,使得接收到的信号频率与本地频率之间的差值最小化。一旦FLL稳定,通常会切换到精度更高的PLL进行精细跟踪。
- 多普勒频移获取: 当PLL或FLL稳定锁定后,为了使本地载波能够精确跟踪接收到的卫星载波,接收机内部的数控振荡器 (NCO) 会被调整到一个特定的频率。这个被调整后的频率与本地标称频率之间的差值,就是接收机测量到的多普勒频移。
- 例如,如果卫星发射频率是 f 0 f_0 f0,本地振荡器调整到了 f N C O f_{NCO} fNCO 才能锁定信号,那么多普勒频移 f D = f N C O − f 0 f_D = f_{NCO} - f_0 fD=fNCO−f0。
-
实际方法:
- 多普勒频移的测量是载波跟踪环的一部分。在数字接收机中,接收到的中频信号(IF)与本地产生的载波进行混频、滤波后,通过计算相位变化率(Phase Rate)或直接在鉴频器中进行频谱分析,就可以精确地提取出频率之差。
-
总结: 多普勒频移是通过`载波跟踪环(尤其是其中的鉴频器或数控振荡器调整量)来精确测量接收到的卫星信号频率与本地参考频率之间的偏差而获得的。