Introduction to GNSS Single Point Positioning (SPP)
Date:
GNSS Single Point Positioning (SPP) is the most fundamental positioning technique in Global Navigation Satellite Systems. It serves as the baseline for all advanced GNSS positioning methods and is widely used in smartphones, vehicles, and drones. This post introduces the basic principles, observation model, and challenges of GNSS SPP.
What is GNSS Single Point Positioning (SPP)?
GNSS SPP determines the position of a receiver using pseudorange measurements from multiple satellites. Unlike differential techniques (e.g., RTK or DGNSS), SPP relies on a single receiver without any reference station, making it the most accessible and widely deployed positioning method.
The typical accuracy of GNSS SPP is around 2–5 meters in open-sky environments, but can degrade significantly to 10–50+ meters in urban canyons due to multipath and non-line-of-sight (NLOS) signal reception.
Pseudorange Observation Model
The core measurement in SPP is the pseudorange, which represents the distance between the satellite and receiver estimated from the signal travel time. The pseudorange observation model can be expressed as:
\[\rho_{r,t}^{s} = r_{r,t}^{s} + c(\delta_{r,t} - \delta_{t}^{s}) + I_{r,t}^{s} + T_{r,t}^{s} + \epsilon_{r,t}^{s}\]where:
- $\rho_{r,t}^{s}$ is the pseudorange measurement (in meters) from satellite $s$ to receiver $r$ at time $t$
- $r_{r,t}^{s}$ is the true geometric range between the satellite and receiver
- $c$ is the speed of light ($\approx 3 \times 10^8$ m/s)
- $\delta_{r,t}$ is the receiver clock bias
- $\delta_{t}^{s}$ is the satellite clock bias (corrected using broadcast ephemeris)
- $I_{r,t}^{s}$ is the ionospheric delay
- $T_{r,t}^{s}$ is the tropospheric delay
- $\epsilon_{r,t}^{s}$ is the measurement noise (including multipath and thermal noise)
The true geometric range $r_{r,t}^{s}$ can be further expanded as:
\[r_{r,t}^{s} = \sqrt{(x^{s} - x_{r})^2 + (y^{s} - y_{r})^2 + (z^{s} - z_{r})^2}\]where $(x^{s}, y^{s}, z^{s})$ is the satellite position (computed from ephemeris) and $(x_{r}, y_{r}, z_{r})$ is the unknown receiver position.
State Estimation in SPP
In GNSS SPP, the unknown state vector consists of four parameters:
\[\mathbf{x} = [x_{r}, y_{r}, z_{r}, c \cdot \delta_{r,t}]^T\]This includes three position coordinates and the receiver clock bias (multiplied by the speed of light to convert to meters). Since each satellite provides one pseudorange equation, at least 4 satellites are required to solve for the 4 unknowns.
Weighted Least Squares (WLS) Solution
The linearized observation equation can be written as:
\[\Delta \boldsymbol{\rho} = \mathbf{H} \cdot \Delta \mathbf{x} + \boldsymbol{\epsilon}\]where $\mathbf{H}$ is the geometry (design) matrix containing the unit line-of-sight vectors from the receiver to each satellite, and $\Delta \boldsymbol{\rho}$ is the difference between measured and predicted pseudoranges.
The Weighted Least Squares (WLS) solution is:
\[\Delta \hat{\mathbf{x}} = (\mathbf{H}^T \mathbf{W} \mathbf{H})^{-1} \mathbf{H}^T \mathbf{W} \Delta \boldsymbol{\rho}\]where $\mathbf{W}$ is the weight matrix, typically derived from satellite elevation angles or signal-to-noise ratio (C/N0). This iterative process converges to the final position estimate.
Error Sources and Corrections
The main error sources in GNSS SPP include:
| Error Source | Magnitude | Correction Method |
|---|---|---|
| Ionospheric delay | 2–50 m | Klobuchar model (single-freq) or dual-frequency elimination |
| Tropospheric delay | 2–25 m | Saastamoinen or Hopfield model |
| Satellite clock error | 0–2 m | Broadcast ephemeris correction |
| Satellite orbit error | 1–2 m | Broadcast ephemeris |
| Multipath | 0.5–100+ m | Elevation masking, advanced algorithms |
| Receiver noise | 0.3–1 m | Receiver design, averaging |
In urban canyons, the dominant error sources are multipath and NLOS reception, where signals are reflected or blocked by buildings. These errors are difficult to model and represent a major research challenge addressed by our TAS Lab.
Challenges of GNSS SPP
Despite its simplicity and wide availability, GNSS SPP faces several fundamental challenges that limit its accuracy and reliability, particularly in complex environments:
1. Multipath and NLOS in Urban Canyons
In dense urban areas, GNSS signals are reflected by buildings, creating multipath errors, or completely blocked, causing non-line-of-sight (NLOS) reception. The receiver may track a reflected signal instead of the direct one, introducing pseudorange biases of tens to hundreds of meters. Unlike Gaussian noise, these errors are highly non-Gaussian and cannot be mitigated by simple averaging or filtering.
2. Limited Accuracy from Pseudorange-only Measurements
SPP relies solely on code-based pseudorange measurements, which have a typical noise level of 0.3–3 meters. This inherently limits SPP accuracy to the meter level, even in ideal conditions. The carrier-phase measurements used in RTK/PPP provide millimeter-level precision but require solving the integer ambiguity problem.
3. Ionospheric and Tropospheric Delays
The ionospheric delay can vary from 2 meters at zenith to over 50 meters at low elevation angles, and changes rapidly during ionospheric storms. Single-frequency receivers must rely on broadcast models (e.g., Klobuchar) that can only correct about 50–60% of the actual delay. Tropospheric delays, particularly the wet component, are also difficult to model accurately.
4. Satellite Geometry Degradation
In urban canyons, many satellites are blocked by tall buildings, leading to poor Dilution of Precision (DOP). The remaining visible satellites may cluster in a narrow field of view, amplifying the effect of measurement errors on the position solution:
\[\sigma_{position} \approx \text{DOP} \times \sigma_{pseudorange}\]A DOP value of 2–3 in open sky can easily exceed 10–20 in deep urban canyons, directly degrading positioning accuracy.
5. Dynamic Environments and Signal Interference
Moving vehicles, pedestrians, and vegetation create time-varying signal blockage and scattering. Radio frequency interference (RFI) from electronic devices, intentional jamming, or spoofing further degrades signal quality. These dynamic effects make it challenging to maintain consistent positioning performance.
6. Lack of Integrity Information
Standard SPP provides a position estimate but no reliability measure. For safety-critical applications such as autonomous driving and UAV navigation, it is essential to know how much we can trust the positioning result. Integrity monitoring — bounding the position error with a specified confidence — remains an open research challenge for SPP in urban environments.
Addressing These Challenges
Our research at the TAS Lab focuses on tackling these challenges through:
- 3D LiDAR aided GNSS NLOS detection and correction to identify and mitigate building-reflected signals
- Factor graph optimization as a flexible framework that can incorporate robust error models and outlier rejection
- Deep learning aided GNSS bias correction to learn complex multipath patterns from data
- Integrity-constrained positioning to provide safety guarantees for autonomous systems
- Multi-sensor fusion (GNSS/IMU/LiDAR/Camera) to maintain positioning when GNSS alone is insufficient
GNSS SPP vs. Advanced Techniques
| Feature | SPP | DGNSS | RTK | PPP |
|---|---|---|---|---|
| Accuracy | 2–5 m | 0.5–2 m | 1–2 cm | 5–30 cm |
| Reference station | No | Yes | Yes | No (uses corrections) |
| Convergence time | Instant | Instant | Instant | 15–30 min |
| Cost | Low | Medium | High | Medium |
| Core measurement | Pseudorange | Pseudorange | Carrier phase | Pseudorange + Carrier phase |
SPP is the foundation upon which all these advanced techniques are built. Understanding the pseudorange observation model and error characteristics is essential for developing robust navigation algorithms.
Our Research on Urban GNSS Positioning
At the TAS Lab, we focus on improving GNSS positioning in challenging urban environments. Our key contributions in this area include:
- 3D LiDAR Aided GNSS NLOS Mitigation: Using 3D point clouds to detect and correct NLOS errors (Wen & Hsu, IEEE T-ITS, 2022)
- Factor Graph Optimization for GNSS/INS Integration: A comparison with EKF showing superior performance (Wen et al., NAVIGATION, 2021)
- GraphGNSSLib: Our open-source package for GNSS positioning using factor graph optimization (GitHub, 573+ stars)
- pyrtklib: Open-source package for tightly coupled deep learning and GNSS integration (GitHub)
- Integrity Monitoring: Factor graph based integrity monitoring for GNSS positioning in urban canyons
References
- [1] Kaplan, E. D., & Hegarty, C. J. (2017). Understanding GPS/GNSS: Principles and Applications. Artech House.
- [2] Groves, P. D. (2013). Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems. Artech House.
- [3] Wen, W., Pfeifer, T., Bai, X., & Hsu, L.T. (2021). Factor Graph Optimization for GNSS/INS Integration: A Comparison with the Extended Kalman Filter. NAVIGATION, 68(2), 315-331.
- [4] Wen, W., & Hsu, L.T. (2022). 3D LiDAR Aided GNSS NLOS Mitigation in Urban Canyons. IEEE Transactions on Intelligent Transportation Systems.
- [5] Wen, W., & Hsu, L.T. (2021). Towards Robust GNSS Positioning and Real-time Kinematic Using Factor Graph Optimization. IEEE ICRA 2021.