-
Notifications
You must be signed in to change notification settings - Fork 21
ppp
PPP is the ultimate positioning strategy currently available.
More than a strategy, usually PPP implies a complete algorithm with very specific conditions to comply with.
As previously stated, this framework allows tweaking everything, this gives you the ability to actually deploy
degraded PPP (quicker and easier to deploy) but also very advanced PPP (which is usually intended).
In PPP, Phase observations on two signals are now required. This makes it the most difficult strategy to comply with.
For example, when working with GPS, that means you have to mix observation of both Pseudo Range and Phase Range
on both L1 and either L2 or L5. Not many vehicles stream L5 as of today, and L2 is rarely dealt with. You can already see
it's going to be difficult to gather candidates. From our experience, in 2024, it is easier to work with Galileo when
advanced PPP is the ultimate end goal. But that highly depends on the data and hardware that is available to you.
Advanced PPP targetting centimetric solutions require you to provide SP3 and CLK RINEX.
To reach best performance, you will have to provide CLK RINEX that is expressed in the same timescale as your Observation RINEX.
If that is true, the frawork will print Temporal PPP Compliancy
in its initial logs. If that is not true, we will print a warning
and you will hardly reach centimetric solutions.
As stated in the first section of this Wiki, SP3 and CLK RINEX should also come from the same production program and agency.
If we spot that this is not true, we will also print a warning.
Ideally your SP3 coordinates should be expressed in WGS84 geoid, and we currently do not have the ability to convert those.
If you fail to comply with that, you will introduce bias in the solutions as well. This varies a lot depending on the production agency.
- Much harder to comply with (Phase is required, secondary signal required)
- Ionosphere bias is measured, not modeled
- Troposphere bias can either be modeled, or filtered (not yet available)
- Target centimetric solutions
- Much harder to comply with (Phase is required)
- Ionosphere bias is measured, not modeled
- Troposphere bias can either be modeled, or filtered (not yet available)
- Target centimetric solutions
rinex-cli \
-f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \
-f test_resources/CLK/V3/GRG0MGXFIN_20201770000_01D_30S_CLK.CLK.gz \
-f test_resources/NAV/V3/ESBC00DNK_R_20201770000_01D_MN.rnx.gz \
-f test_resources/SP3/GRG0MGXFIN_20201770000_01D_15M_ORB.SP3.gz \
-P GPS \
-p -c config/survey/ppp_kf.json \
| tee logs.txt
In this config script, the Navigation filter is set to Kalman, which is our most demanding as of today, which is typically implied by PPP. Our framework allows switching to LSQ or disabling the navigation filter.
Activate a secondary Kalman filter that serves as a Denoising Postfit filter:
rinex-cli \
-f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \
-f test_resources/CLK/V3/GRG0MGXFIN_20201770000_01D_30S_CLK.CLK.gz \
-f test_resources/NAV/V3/ESBC00DNK_R_20201770000_01D_MN.rnx.gz \
-f test_resources/SP3/GRG0MGXFIN_20201770000_01D_15M_ORB.SP3.gz \
-P GPS \
-p -c config/survey/ppp_kf_postfit.json \
| tee logs.txt
We currently support a single ambiguity solver, the so called Lambda method, which is not ideal but is compatible with 1D context (our current limitation). Once 2D contexts are supported (most likely when RTK becomes available), we will unlock other options to resolve the phase ambiguity.
Working with Galileo gives x10 better results directly, which is utterly interesting when considering PPP.
We continue with the previous setup, and simply consider Galileo constellation now:
rinex-cli \
-f test_resources/CRNX/V3/ESBC00DNK_R_20201770000_01D_30S_MO.crx.gz \
-f test_resources/CLK/V3/GRG0MGXFIN_20201770000_01D_30S_CLK.CLK.gz \
-f test_resources/NAV/V3/ESBC00DNK_R_20201770000_01D_MN.rnx.gz \
-f test_resources/SP3/GRG0MGXFIN_20201770000_01D_15M_ORB.SP3.gz \
-P GAL \
-p -c config/survey/gpst_ppp_postfit.json \
| tee logs.txt
- Add the CGGTTS option to convert the previous examples to CGGTTS
- Wiki
- RINEX Data
- Getting Started
- Filter Designer (Preprocessor)
- QC/Analysis mode
- File operations
- Post Processed Positioning (ppp)