GNSS 之相位平滑伪距

本文介绍了GPS相位平滑伪距的概念,该技术结合了伪距码元和相位观测值,降低了噪声水平并解决了整周模糊度问题。然而,这种方法面临电离层延迟和初始值精度的挑战,可能导致平滑伪距的误差。在实际应用中,接收机通常输出的是载波相位平滑伪距而非直接伪距。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来源:谢钢. GPS原理与接收机设计[M]. 电子工业出版社, 2009.

一、笔记

相位平滑伪距的基本思想:伪距码元宽度为293m,噪声水平大约是码元宽度的1%,即3m左右;而相位观测值波长为19cm,噪声水平为波长的1/4,即5cm左右,但是相位观测值存在整周模糊度问题。相位平滑伪距就是将两种观测值结合起来,得到一种既没有整周模糊度问题,噪声水平又相当小的一种观测值。

文中所讲的平滑器有两个根本性的缺点:

  • 它假定电离层延时保持不变,但是若电离层延迟发生了较快较大变化,那么由于电离层对伪距和相位测量值有相反的作用(相速度与群速度,载波以相速度传播,信号能量和伪码以群速度传播),则有两倍的电离层延迟会进入平滑后的伪距。
  • 对平滑伪距初始值的精度依赖很大,若初值有较大偏差,则平滑器需较长一段时间才能逐步消除此偏差。

在多数情况下,接收机一般输出的伪距量测值实际上是载波相位平滑伪距,而不直接是伪距。如果载波相位测量值不直接用于定位算法中,那么定位算法中的伪距量基本上是载波相位平滑伪距,反之则不一定。

二、书本内容


### GNSS双频载波相位平滑计算TEC的方法 #### 定义与背景 GNSS系统的电离层延迟效应可以通过测量总电子含量(Total Electron Content, TEC)来量化。利用GNSS双频信号进行载波相位平滑计算是一种有效的方式,能够提高TEC估计精度。 #### 基本原理 在GNSS观测中,和载波相位是两个主要的观测量。由于含有较大的噪声成分,而载波相位具有较高的精度但存在整周模糊度问题,因此采用载波相位平滑技术可以在一定程度上克服上述缺点[^1]。 #### 数学模型 设\(P_1\) 和 \(P_2\) 分别表示L1和L2频率下的观测值;\(\phi_1\) 和 \(\phi_2\) 表示对应的载波相位观测值,则经过平滑后的表达式如下: \[ P_{smoothed}^{i}(t)=w(t)\cdot[P_i(t)-c\Delta t]+(1-w(t))\cdot[\lambda_i\phi_i(t)+b_i]\] 其中, - \( w(t) \in [0, 1] \),为加权因子; - \( c \) 是光速常数; - \( Δt \) 是接收机钟差; - \( λ_i=f^{-1}_i \),即第 i 频率的波长; - \( b_i \) 是初始偏置项。 对于双频情况,考虑到不同频率间的差异,通常会引入组合形式来进行更精确的计算: \[ S = (f_1^2/f_2^2) * (\Phi_2-\rho_2)-(Φ_1−ρ_1)\] 这里 \( f_1,f_2 \) 分别代表 L1,L2 的中心频率; \( Φ,\rho \) 则分别为相应频段上的载波相位平滑前的原始. 最终得到的STEC(Slant Total Electron Content)可通过下述关系转换成垂直方向上的VTEC(Vertical Total Electron Content): \[ VTEC=\frac{STEC}{\sin(elevation)}\] 此处 elevation 指的是卫星相对于地面站的角度高度角。 ```python def calculate_vtec(frequency_l1, frequency_l2, phase_diff_l1, phase_diff_l2, pseudorange_l1, pseudorange_l2, elevation_angle): """ Calculate Vertical Total Electron Content using dual-frequency GNSS measurements. Args: frequency_l1 (float): Frequency of the first signal in Hz. frequency_l2 (float): Frequency of the second signal in Hz. phase_diff_l1 (float): Phase difference at l1 band. phase_diff_l2 (float): Phase difference at l2 band. pseudorange_l1 (float): Pseudorange measurement at l1 band. pseudorange_l2 (float): Pseudorange measurement at l2 band. elevation_angle (float): Elevation angle between satellite and receiver in degrees. Returns: float: Estimated vertical total electron content value. """ import math wavelength_l1 = constants.c / frequency_l1 wavelength_l2 = constants.c / frequency_l2 stec = ((frequency_l1 ** 2 / frequency_l2 ** 2) * (phase_diff_l2 - pseudorange_l2 / wavelength_l2) - (phase_diff_l1 - pseudorange_l1 / wavelength_l1)) vtec = stec / math.sin(math.radians(elevation_angle)) return vtec ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流浪猪头拯救地球

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值