Previous Abstract Return to Session F2 Next Abstract

Session F2: Advanced Software and Hardware Technologies for GNSS Receivers

Snapshot RTK with Galileo PRS: A Feasibility Analysis
Cillian O’Driscoll, Independent Consultant; Heike Dorner, Belen Castel, Daniel Rubino, Alexander Rügamer, Wolfgang Felber, Fraunhofer IIS
Date/Time: Wednesday, Sep. 21, 2:58 p.m.

Real Time Kinematic (RTK) positioning is a carrier phase differential positioning technique capable of achieving centimetre level accuracy over baselines as long as 100 km. RTK takes advantage of measurements of the phase of the received signal. For most GNSS signals, the carrier wavelength is of the order of 10 to 20 cm, and carrier phase measurements have an accuracy of the order of 100th of a cycle, or of the order of millimetres of precision. Unfortunately, the carrier phase measurement thus obtained is ambiguous, in that it is not possible to tell how many full carrier phase cycles have elapsed between transmitter and receiver. RTK is a technique to resolve this carrier phase ambiguity to solve for the difference in location between a known base station and a rover.
A recent pair of publications [1], [2] have demonstrated the feasibility of snapshot RTK positioning using both GPS and Galileo open service signals in the L1 band. It is a interesting development in the field of RTK positioning, as this is typically the preserve of large expensive receivers with continuous phase tracking over long time intervals. Conversely, Snapshot RTK (SRTK) is based on short “snapshots” of raw IF data that is post-processed to solve the integer ambiguity problem. The papers presents results for a variety of snapshot durations in the range of 40 to 100 ms, and a range of baseline lengths from 0 to 50 km.
The authors also consider the impact of multi-frequency and multi-constellation processing. The primary conclusion that we can draw from this work is that the quality of the initial position fix is critical in ensuring a high probability of successful ambiguity resolution. This can be seen in the manner in which improving the quality of the measurements leads to an increased probability of success (increasing signal bandwidth), and the manner in which increasing the number of available satellites improves the solution (moving from single constellation to multi-constellation).
Based on the results from the previously referenced papers, it appears that there may be a significant opportunity for Galileo Public Regulated Service (PRS)-based SRTK (SRTK-PRS). Due to its wide bandwidth, the Galileo PRS signal can provide precise pseudorange measurements that should result in highly accurate initial position fixes. Thereby, reducing the search space for the integer ambiguity resolution problem, and consequently increasing the probability of correctly fixing the ambiguities. In addition, a dual frequency snapshot should enable removal of any residual ionospheric effects, thereby increasing the operating range of the technique (longer baselines become possible). Moreover, since the Galileo PRS sequences are non-repeating, there is no ranging code ambiguity to be resolved as for OS signals.
There are, however, also a number of challenges that must be overcome to realise the potential performance of SRTK-PRS.
First, while the existing literature has demonstrated significant benefits in utilizing multiple constellations for SRTK, the SRTK-PRS solution is by definition limited to a single constellation. This challenge is mitigated somewhat if a dual frequency SRTK-PRS solution can be considered. The PRS signal structure presents another challenge to overcome, as the multi-peaked PRS correlation function can easily lead to biases in the pseudorange estimate. In a single snapshot solution, some of the existing techniques in the literature to resolve this issue are no longer valid, as they rely on solutions at the tracking level (such as code-subcarrier smoothing). Innovative ways to resolve this ambiguity may be required, particularly in light of the fact that in essence the SRTK-PRS solution will need to resolve ambiguities in both the code and carrier dimensions. It is unclear how such inter-connected ambiguity resolution mechanisms might perform at this stage.
Finally, the issue of security and managing access to the classified PRS components is an obvious challenge impacting on STRK-PRS. This can most easily be managed by a delayed release of the PRS chips for post-facto processing, as the chips themselves are unclassified once broadcast.
In this work, a snapshot tool developed by the Fraunhofer Institute for Integrated Circuits IIS is used to collect high bandwidth (approximately 60 MHz) synchronous, dual frequency snapshots covering both the Galileo E1 and E6 bands. The snapshot recordings are triggered by a Pulse Per Second (PPS) trigger, yielding sub-microsecond synchronization to Galileo system time. The snapshot tool includes an on-board u-Blox receiver that provides both the PPS trigger and logs raw observables and Position, Velocity, and Time (PVT) solution for each snapshot. This greatly simplifies the post-processing strategies.
The Galileo PRS chips are provided post-mission, at which point the chips are no longer classified and can be readily distributed.
The challenge remains to process the snapshots, given the available information, in order to compute pseudorange, carrier phase and Doppler observables that are used for RTK positioning.
The signal processing strategy is simple: the usual Cross-Ambiguity Function (CAF) is computed for a range of pseudorange and Doppler offsets from the theoretical values obtained by computing the satellite clocks and orbits and given the user PVT from the u-Blox receiver. The CAF is computed for both the E1 PRS, which is a cosine phased BOC(15, 2.5) signal centred at 1575.42 MHz and the E6 PRS which is a cosine phased BOC(10, 5) signal centred at 1278.75 MHz. One of the challenges encountered in processing the snapshots is this: while the PPS trigger assures that snapshot time is tightly synchronized to GNSS time, there is no such synchronization of the clock frequency. In essence, the on-board clock and the u-Blox internal clock are entirely separate. This necessitates a search over frequency for the true clock drift – an important consideration in the signal processing chain.
Once the peak of the CAF has been determined, a second CAF is computed, centred on the just determined peak. Once again, the peak is determined, and a simple interpolation is applied to find the Maximum Likelihood (ML) estimate of the true signal parameters: pseudorange, Doppler, and, critically, the carrier phase. These estimates produce what we refer to as a refined set of observations (which are stored in the usual RINEX format). At this point the pseudorange, Doppler, and carrier phase are all closely aligned.

The refined observables are subsequently passed to RTKLIB, an open source RTK processing engine [3] for processing. A few minor modifications were made to the RTKLIB software (in particular the rnx2rtkp command line utility) in order to successfully process Galileo E1/E6 PRS data.
A number of utilities have been developed to process both single and double differences for troubleshooting and debugging in zero-baseline configurations, and a post-processing tool has been developed to facilitate the performance analysis.
Test data were collected over a number of days in October and November 2021. The following results were obtained from a scenario in which 130 snapshots of 100 ms duration were collected with a 10 s interval between snapshots. The rover antenna was positioned on the roof of the Fraunhofer IIS building in Nürnberg. Two reference receivers were utilised: one at a 2 metre baseline also on the roof of the Fraunhofer building, and one at a 14 km baseline, being the BKG base station ERLA00DEU in Erlangen. Several tests were conducted including zero baseline tests for debugging and calibration.
The “fixed” solutions largely coincide for the OS/CS and PRS solutions, but with a significant > 0.5 m bias in both North and East. The source of this error is under investigation at this time. These are the results obtained with the 14 km baseline.

Preliminary RKTLIB solutions using E1A/E6A (blue) and E1C/E6C (orange) combinations show the capability to achieve fixed position solutions using Galileo PRS snapshots. Note that there is an apparent bias of approximately 0.5 m North and 0.55 m East - this is currently under investigation
In conclusion, we have demonstrated the feasibility of PRS-based snapshot RTK using the Fraunhofer IIS snapshot tool and the delayed release of PRS chips. There are still a number of issues to be resolved, most notably the position solution biases obtained from RTKLIB – note that the same bias is reported for both Open Service (OS) and PRS processing, so it is not felt that this problem is related to the use of PRS per se.
Note that the RTKLIB tool was configured in a “instantaneous fix” mode, as there was no way to guarantee phase continuity between the snapshots – this greatly inhibits the potential performance that can be achieved. Nevertheless, the solution bias notwithstanding, the performance achieved in these preliminary results is promising. Note also that we have very little control over the relative scaling of the pseudorange and carrier phase observables in RTKLIB, and it should be possible to obtain better performance by tuning these parameters to the specifics of the PRS use-case.

[1] Liu et al (2020), “RTK Feasibility Analysis for GNSS Snapshot Positioning” In Proceedings ION GNSS+ 2020.
[2] Liu et al (2021), “Cloud-Based Single-Frequency Snapshot RTK Positioning”, Sensors, (21), 3688, 2021.
[3] RTKLIB, available online:

Previous Abstract Return to Session F2 Next Abstract