Skip to content

Introduction

PPPx is a cross-platform C++ software package for high-precision multi-GNSS data processing — and, as the name hints, it goes well beyond PPP. This documentation covers pppx, the package’s main program for multi-GNSS positioning.

  • Solution modes: Single Point Positioning (SPP), Precise Point Positioning (PPP), RTK, and Time-Differenced Positioning (TDP).
  • Constellations: GPS, GLONASS, Galileo, BeiDou-2 & BeiDou-3, and QZSS.
  • Solvers: Least Squares (LSQ), Extended Kalman Filter (EKF), and Factor Graph Optimization (FGO).
  • PPP-AR: ambiguity resolution using Observable-specific Signal Bias (.BIA / OSB) products.
  • Flexible frequencies: configurable signal combinations across L1/L2/L5, E1/E5a and more.
  • Unified I/O: the same inputs, configuration file, and output formats across every solution mode.
  • Fast and light: a full day of 30 s data — 2880 epochs — in under 1 second, using roughly 150 MB of memory and a single CPU core.
  • Cross-platform: Linux, Windows (incl. WSL), and macOS (Apple silicon).

In a hurry? The PPPx Web Viewer needs no install: it processes a RINEX file on the server with a fixed PPP configuration, and plots .pos and .stat files in your browser. Install PPPx locally for full control over the configuration — see Try it online.

PPPx is distributed under the PPPx Software License Agreement (academic and non-commercial use only). Copyright © 2026 Yuanxin Pan.

In short, you may download, install, and use PPPx free of charge for non-commercial use — academic research, scholarly study, education, or teaching. You may not use it commercially, redistribute or host it (including the binary), reverse engineer it, or create derivative works from the executables. The software comes with no warranty.

Work that presents results produced with PPPx must cite the software — see Citation.

For commercial licensing or redistribution rights, contact the author at support@pppx.dev. The authoritative text is the repository LICENSE.