Skip to content

Releases: pppx-dev/pppx

v1.3.0

Choose a tag to compare

@YuanxinPan YuanxinPan released this 27 Jun 17:06

This release brings performance gains and several features to pppx. Besides, the PPPx Web Viewer is now live — an interactive tool for visualizing .pos and .stat files right in your browser. It also supports online RINEX-OBS processing (PPP mode only), so you can try pppx without installing anything.

Bug fixes

  1. The solution status is written as 1/2 (fixed/float) in the .stat file for EKF-based PPP-AR.

Performance improvements

  1. Runtime for EKF-based PPP has been roughly halved. Other processing modes also see notable speedups.
  2. Removed limit on the number of epochs for FGO.
  3. Added inter-epoch position constraints for FGO-based kinematic RTK and PPP.
  4. Added support for base observations at a lower sampling rate for RTK (maxage: 3 s, not configurable).
  5. Added support for CODE rapid products in scripts/pppx.sh.
  6. Refined ambiguity resolution for EKF-based RTK and PPP.
  7. Improved the scripts/plot_ppppos.py script .

Others

  1. Residuals are no longer written to the .log file (log level moved from info to debug)
  2. Processing progress is no longer printed to stdout
  3. ZTD ($TROP) is now written to the .stat file

v1.2.4-repack

Choose a tag to compare

@YuanxinPan YuanxinPan released this 07 Mar 09:57

⚠️ Notice: Distribution Method Update

There are no new features or bug fixes in this release.
I have changed how pppx is distributed. To keep the repository size small and follow best practices, compiled executables are no longer stored in the bin/ folder of the source tree. In the meantime, the capability for different Linux distributions is maximized with AppImage.

⬇️ How to get the software now:
Automated installation scripts for provided for Linux/macOS and Windows, respectively. If you prefer manual installation, please download the compressed archive for your operating system from the Assets section below, extract it, and move the executable to either your system's or user bin folder.

(See the repository README for detailed installation instructions)

🛠️ Troubleshooting
If you encounter any issues related to installation, please create an issue.

v1.2.4

Choose a tag to compare

@YuanxinPan YuanxinPan released this 02 Feb 15:17

This release resolves a configuration issue that caused empty output in specific scenarios.

Bug fixes:

  1. End time would be 0 if [session] date is set and end is not set.

v1.2.3

Choose a tag to compare

@YuanxinPan YuanxinPan released this 26 Aug 14:52

This release mainly fixes the bug of phase windup correction and evidently improves the precision of PPP.

Bug fixes:

  1. Phase windup correction
  2. [session] start & end settings in the configuration file

Performance improvements:

  1. Output receiver clocks with 4 decimal places in the pos file

v1.2.2

Choose a tag to compare

@YuanxinPan YuanxinPan released this 14 Jun 08:45

This release fixes several bugs and further enhances the command-line argument parsing for pppx. Now, the configuration file has to be specified by -c/--cfg, and table files and products files can be configured via command line arguments. Note that configurations made via command line will overried those in the .ini file.

Bug fixes:

  1. Parse the RINEX event flag first when parsing lines containing the time info
  2. Exclude GLONASS from AR for RTK+FGO if glonass_ar == no

Performance improvements:

  1. The option fgo_var is added to control the output of variance infomation in the pos file when FGO is used
  2. Output amb estimates for FGO in the log file
  3. Output position estimates with 4 decimal places in the pos file
  4. Use satellite observations for RTK if only single-frequency data are available

v1.2.1

Choose a tag to compare

@YuanxinPan YuanxinPan released this 20 Dec 20:16

This release mainly introduces enhancement to the command-line arguments of pppx. Users can run pppx -v and pppx -h to get the software version and help information, respectively. Additionally, pppx -x <sol_mode> outputs defeault settings to stdout for the specified solution mode (e.g., spp/ppp/rtk/tdp), allowing users to redirect the output to generate a configuration file. It could be useful if a configuration file is not prepared.

Bug fixes:

  1. Disable the error when spp fails but approximate station position is available in the RINEX file
  2. Fix typos in the manual

Performance improvements:

  1. Enhance command-line arguments: -v/--version, -h/--help, -x <sol_mode>
  2. Support FGO-based RTK with ambiguity resolution
  3. Output fixed information for PPP-AR in the .stat file when solver_type = ekf

v1.2.0

Choose a tag to compare

@YuanxinPan YuanxinPan released this 12 Nov 14:54

This release introduces a new feature: PPP-AR with Observable-specific Signal Bias (OSB) products. Currently, this feature has been tested with COD and WHU phase bias products, though occasional wrong fixing may still occur, especially with the EKF solver.

Additionally, this release includes minor bug fixes and performance improvements, along with updates to the user manual.

Bug fixes:

  1. Resolve an issue in reading RINEX-2 obs files containing multi-GNSS data (e.g., Galileo and BeiDou). Only GPS and GLONASS observations will now be processed for RINEX-2.

Performance improvements:

  1. Implement PPP-AR. The LAMBDA and rounding methods are used to resolve integer ambiguities for EKF and FGO solvers, respectively. The Antenna Phase Center (APC) correction is also considered for Wide-Lane fixing.
  2. Correct station antenna NEU offset and PCO for spp/tdp/rtk as well
  3. Enable antenna PCV correction for rtk
  4. Add pseudorange OMC-based outlier detection for rtk
  5. Output messages for unhealthy broadcast ephemeris as info instead of warning

Updates to pppx.ini:

  1. Add a new option [estimation] ppp_ar to enable PPP-AR
  2. Rename [estimation] enable_ar to rtk_ar for RTK
  3. Change the default value of [estimation] sol_mode from spp to ppp
  4. Enable default values for [product] src and [output] level
  5. Make [table] oceanload optional

v1.1.0

Choose a tag to compare

@YuanxinPan YuanxinPan released this 19 Sep 19:44

This release includes general bug fixes and performance improvements. Notably, a user manual has been added.

Bug fixes:

  1. Fix a bug of adding between-epoch ZWD constraints for FGO-based PPP

Performance improvements:

  1. Enhance the stability of configuration file parsing
  2. Improve cycle slip detection for PPP
  3. Results are now output even if the solution does not converge for FGO-based PPP
  4. Add pseudorange OMC-based outliers detection for spp/ppp
  5. Enable SNR-based weighting for all solution modes
  6. Force to compute initial station position using SPP if [estimation] site_pos is not set
  7. Add support for [estimation] pos_mode = fixed in FGO-based PPP
  8. Automatically disable GNSS systems unavailable in the RINEX-OBS file (rinex3 only)
  9. Stop reading the RINEX file when t > [session] end, rather than continuing
  10. Always output CLK instead of ISB in the .stat file
  11. Refine the scripts/plot_ppppos.py script

Updates to pppx.ini:

  1. [session] date can be automatically set from the first epoch of the RINEX file
  2. The [estimation] solver option has been changed from kalman to ekf
  3. Add [estimation] site_pos to optionally set the initial station position
  4. Add more explanations for the [product] section

v1.0.0

Choose a tag to compare

@YuanxinPan YuanxinPan released this 17 Jul 12:02

First release