Introduction

Following the rapid evolution of GNSS systems and receivers, the widespread use of combined multi-GNSS receivers in mass-market applications is expected. Gioia et al. (2014) demonstrated the benefits of the Galileo plus GPS solution with respect to the GPS-only case in terms of accuracy and availability. This multi-constellation approach increases the available measurements, improving the accuracy and continuity of the position-velocity-time (PVT) solution. Each GNSS system, however, is using its own reference time scale for the satellite clock corrections. Furthermore, it might be that the receiver hardware delay is different for signals from different constellations. Consequently, combining different GNSS solutions in a unique PVT solution requires taking into account the time offset between the different GNSS system times and hardware delays. The user can estimate this offset as one additional unknown in the PVT determination, but this requires one additional visible satellite (Mudrak et al. 2004; Gioia et al. 2014). For reduced visibility conditions, some GNSS providers also send this information in the navigation message broadcast by the satellites. This is the case, for example, for Galileo (Han and Powers 2005), which currently broadcasts Galileo-to-GPS-Time-Offset (GGTO) as mentioned in the Galileo Open Service Signal-In-Space Interface Control Document (2016). All GNSS providers are furthermore working on (or have established) broadcasting the time offset XYTO between their system reference time (X) and the other GNSS system reference times (Y). Such broadcast of multiple XYTOs may be impractical on a global scale. For this reason, it was suggested at the International Committee on GNSS to consider an alternative approach in which each system provides only one offset with respect to a reference common to all GNSS. Signorile et al. (2018) propose two options for this reference: either an average of the 4 GNSS time scales (GPS, Galileo, GLONASS and BeiDou) that can be computed easily by the 4 GNSS providers, or the prediction of UTC provided in the navigation messages of each GNSS. Sesia et al. (2020) show that the first approach (average of GNSS times) provides very good performances in terms of XYTO accuracy but requires adaptations at the system level. For what concerns the second approach, using the broadcast UTC information as reference does not require any change at the system level, but generates an error that can be as large as 20 ns on the XYTO, depending on the quality of the broadcast UTC prediction. It is, therefore, necessary to quantify the possible impact of a biased XYTO when this latter is fixed in the PVT solution.

The objective of this study is first to quantify the performances of combined GPS + Galileo PVT solutions when the GGTO is fixed to a given value or when it is estimated as an additional unknown, in order to determine whether it is better to fix or estimate the GGTO. We will then quantify the impact on multi-GNSS positioning and timing of a bias on the fixed GGTO value. Two different kinds of receivers will be considered, either a high precision receiver or a mass-market receiver, placed in different satellite visibility conditions. The GGTO is here considered at the user level and contains the contribution from both the GPS/Galileo time scale differences and the receiver inter-system hardware delay.

Starting with a description of the methodology and of the data campaigns, we then provide the positioning results for a high precision receiver and for a mass-market receiver. The correlations between our results and the GNSS satellite geometry will then be discussed, followed by the analysis for the timing applications.

Multi-GNSS solution

The observation equations for the pseudorange (in meters) from GPS and Galileo read, respectively:

$${\text{P}}^{{{\text{GPS}}}} { } = {\text{ R }} + {\text{ c }}(\tau_{i} + \tau_{t} { }) + {\text{c }}\left( { - (t_{s} - {\text{GPST}}} \right){ } + { }(t_{r} - {\text{GPST}})){ } + {\text{ c }}\tau_{{{\text{hw}}}}^{{{\text{GPS}}}} { } + {\text{ n}}_{{{\text{GPS}}}}$$
(1)
$${\text{P}}^{{{\text{GAL}}}} { } = {\text{ R }} + {\text{ c }}(\tau_{i} + \tau_{t} { }){ } + {\text{ c }}\left( { - (t_{s} - {\text{GST}}} \right){ } + { }(t_{r} - {\text{GST}})){ } + {\text{ c }}\tau_{{{\text{hw}}}}^{{{\text{GAL}}}} { } + {\text{ n}}_{{{\text{GAL}}}}$$
(2)

where R is the geometric distance from the satellite to the receiver antenna, GPST is the GPS Time and GST the Galileo System Time, \({(t}_{s}-\mathrm{G}\left(\mathrm{P}\right)\mathrm{ST})\) is the synchronization offset between the satellite clock and the GPS or Galileo time, \({(t}_{r}-\mathrm{G}\left(\mathrm{P}\right)\mathrm{ST})\) is the synchronization offset between the receiver clock and the GPS or Galileo time, \({\tau }_{\mathrm{t}}\) is the tropospheric delay, \({\tau }_{\mathrm{i}}\) is the ionosphere delay, \({\tau }_{\mathrm{hw}}^{\mathrm{GNSS}}\) is the instrumental code delay for GNSS signal and nGNSS is the GNSS code noise.

The user combining GPS and Galileo measurements, therefore, get five unknowns to be solved: the three-dimensional receiver antenna position hidden in the geometric distance R, the receiver clock error \({(t}_{r}-\mathrm{GPST})\) and the receiver clock error with respect to GST, i.e., \({(t}_{r}-\mathrm{GST})\). Note that the hardware delay \({\tau }_{\mathrm{hw}}^{\mathrm{GNSS}}\) is not known so that it is included in the estimated receiver clock error.

The Galileo-to-GPS-Time-Offset (GGTO) is defined as the offset between GPS and Galileo time scales \((\mathrm{GPST}-\mathrm{GST})\). However, at the user level, also the different hardware delays for GPS and Galileo signals must be considered. We, therefore, define here the user GGTO as:

$${\text{GGTO}} = \left( {{\text{GPST}} - {\text{GST}}} \right) - \left( {\tau_{{{\text{hw}}}}^{{{\text{GPS}}}} - \tau_{{{\text{hw}}}}^{{{\text{GAL}}}} } \right)$$
(3)

Using this definition, the pseudorange equations of both GPS and Galileo can be expressed with respect to only one system time. Using Galileo as the final time reference, Eq. (1) becomes:

$$\begin{aligned} {\text{P}}^{{{\text{GPS}}}} { } =& {\text{ R }} + {\text{ c }}(\tau_{i} + \tau_{t} { }) + {\text{ c }}\left( { - (t_{s} - {\text{GPST}}} \right) \\ &+ { }(t_{r} - GST) - {\text{GGTO}}){ } + {\text{ c }}\tau_{{{\text{hw}}}}^{{{\text{GAL}}}} + {\text{ n}}_{{{\text{GPS}}}} \end{aligned}$$
(4)

This formulation allows getting a unique time solution \({(t}_{r}-\mathrm{GST}+ {\tau }_{\mathrm{hw}}^{\mathrm{GAL}})\) when combining GPS and Galileo observations, or Eqs. (2) and (4). Nevertheless, the determination or the knowledge of the GGTO value is required.

In what follows, we will consider both cases: either (1) the GGTO is introduced as a known value, in which case the number of unknowns is 4, as in classical single GNSS PVT algorithms or (2) the GGTO is determined for each observation epoch. A classical least square approach is used for the analysis. When the GGTO is fixed to a given value, it is introduced as a correction of the pseudoranges, and the normal equations read:

$$\left( {\begin{array}{*{20}c} {\overline{X}} \\ {\Delta t} \\ \end{array} } \right) = (A^{T} {\text{WA}})^{ - 1} \left( {\begin{array}{*{20}c} {\tilde{P}^{{{\text{GPS}}}} } \\ \vdots \\ {\tilde{P}^{{{\text{GAL}}}} } \\ \vdots \\ \end{array} } \right)$$
(5)

where \(\overline{X}\) is the three-component position vector, \(\Delta t = (t_{r} - {\text{GST}} + { }\tau_{{{\text{hw}}}}^{{{\text{GAL}}}} )\), \({\tilde{P}}^{\text{GNSS}}\) is the pseudorange observation corrected for the ionospheric delay, tropospheric delay, satellite clock error and the GGTO, A is the derivative matrix, W is the weighting matrix, in which the weight of each observation is equal to sin2(e) with e the satellite elevation. When the GGTO is not fixed but determined as an additional unknown, the corresponding equation reads:

$$\left( {\begin{array}{*{20}c} {\overline{X}} \\ {\Delta t} \\ {{\text{GGTO}}} \\ \end{array} } \right) = (A^{T} {\text{WA}})^{ - 1} \left( {\begin{array}{*{20}c} {\tilde{P}^{{{\text{GPS}}}} } \\ \vdots \\ {\tilde{P}^{{{\text{GAL}}}} } \\ \vdots \\ \end{array} } \right)$$
(6)

The least-square inversion will be performed for each observation epoch, taking into account all the available GPS and Galileo observed pseudoranges at that epoch. We will compute independent solutions, i.e., no constraint will be applied between successive epochs, neither on the position nor on the GGTO when this one is determined. Paziewski and Wielgosz (2015) as well as Gioia and Borio (2016) have shown that the inter-system bias is very stable. Therefore, using constraints based on the GGTO behavior significantly improves the performance of multi-constellation navigation. The idea of our study is rather to get an image of the best strategy to adopt for the GGTO when starting measurements with a receiver in different conditions of visibility. This is the reason why no constraint will be applied here.

Experimental setup

The quality of any GNSS solution depends heavily on the pseudorange noise. Therefore, we use two different types of receivers with different noise characteristics: a high precision receiver and a mass-market receiver. The latter is a Xiaomi MI8 smartphone, equipped with the Broadcom BCM47755 chip, a dual-frequency chip measuring simultaneously on the frequencies of Galileo (E1/E5a) and GPS (L1/L5). We use the permanent GNSS station BRUX for the high precision receiver, belonging to the International GNSS Service (IGS) network (http://www.igs.org/network), and located at the Royal Observatory of Belgium. This station was using a PolaRx4TR receiver connected to a choke-ring JAVAD antenna at the time of this analysis. Of course, data from geodetic stations are never analyzed with broadcast satellite products for real-time positioning. The BRUX station is used only as a source of high precision pseudorange measurements to investigate the best strategy to be adopted for the GGTO and to determine the possible sensitivity to the measurement noise. One day of data (November 1, 2019) at a sampling rate of 30 s is used for this study. The pseudorange noise of BRUX is less than 40 cm (http://epncb.oma.be), i.e., about one order of magnitude lower than the smartphone noise estimated to 4 m for Galileo and 6 m for GPS by Robustelli et al. (2019). Both estimations contain noise and multipath and are based on the code-carrier combination corrected for the ionosphere using the geometry-free carrier phase combination.

Different conditions of visibility are considered with both receivers. For the high precision station, reduced visibility is simulated by variable azimuth-dependent elevation cutoffs. For the mass-market receiver, the smartphone was placed in two different fixed locations corresponding to full visibility (on the roof of the Royal Observatory of Belgium), and a moderate urban environment (see Fig. 1). This latter corresponds to a space of 13 m between buildings about 9 m high, and the smartphone was in a car parked at 3 m from one building. Each measurement campaign had a duration of at least 4 h, so that a high number of different satellite geometries were covered, and the data were collected with a sampling rate of 1 s.

Fig. 1
figure 1

Moderate urban location, the smartphone is placed inside the car as indicated by the arrow

The same PVT algorithm is used for the smartphone and the high precision receiver. Satellite clocks and orbits are from the navigation message. A dry tropospheric delay is removed using the model from Saastamoinen (1973). In the single-frequency analyses, the ionosphere correction is applied using the Klobuchar model (Klobuchar 1987) with parameters broadcast by GPS.

The GGTO is varying slowly from day to day (Gioia and Borio 2016). In the navigation message of Galileo, it is broadcast as a first-order polynomial. The GGTO determined by the user contains additional short-term variations due to the pseudorange noise and multipath, and also due to the uncertainties in the satellite clock products as broadcast by both GPS and Galileo. In the current study, as we are looking at the impact on positioning and timing from a bias on the GGTO, it is important to know its true value. We, therefore, determined the true GGTO using the pseudorange measurements from the station BRUX which was calibrated for GPS and Galileo signals. In that sense, we computed the GGTO from the calibrated clocks solutions BRUX-GPST and BRUX-GST in the common GNSS time transfer standard (Defraigne and Petit 2015), i.e., with a dual-frequency approach. We then used the average GGTO of each day as the true value (Fig. 2).

Fig. 2
figure 2

GGTO as computed from the GNSS station BRUX calibrated for both GPS and Galileo, with the moving average (in black) and the dates used in the current study (boxes)

For the GPS signals, the calibration of BRUX was carried out (Uhrich et al. 2017) in the frame of the calibrations organized by the International Bureau for Weights and Measures (BIPM). This calibration is relative to a reference maintained by the BIPM and some selected time laboratories. As no reference had been defined for the Galileo signals, the hardware delays were computed using the method proposed by Defraigne et al. (2014). It considers that both Galileo and GPS L1 signals are affected by the same hardware delay. For the PolaRx4 receivers, a difference lower than 1 ns was indeed confirmed by absolute calibration (Fonville et al. 2012; Garbin et al. 2019; Valat and Delporte 2020). Considering the calibration uncertainties, the computed GGTO is determined from the station BRUX with an uncertainty of 3 ns (1σ).

Table 1 summarizes the data used for the study. It must be noted that at the epoch of the measurements used in this study, there was an offset of about 10 ns between the GGTO determined from a calibrated ground station and the value broadcast by the Galileo satellites in the navigation message. However, as will be seen in our results, multi-GNSS solutions obtained using the GGTO computed from the calibrated BRUX station are more reliable than these obtained using the broadcast GGTO values. Note that since the end of January 2020, there is no more bias between the GGTO computed from our calibrated BRUX station and the value broadcast in the navigation message.

Table 1 Measurement data sets and associated GGTO

As explained in the introduction, inter-system bias values could be transmitted to the user either directly in the navigation message (or even from ground services) or known through the dissemination of UTC provided by all GNSS in the navigation message. An error on the broadcast value can exist in the former case due to the current calibration uncertainties. To date, the Galileo satellites broadcast the GGTO with an uncertainty of 20 ns (2σ) as mentioned in the Galileo Open Service Signal-In-Space Interface Control Document (2016). Furthermore, as it contains the differential receiver hardware delays of GPS and Galileo, the user GGTO (Eq. 3) can be different from the true value computed with a fully calibrated receiver.

On the other side, using the UTC as a pivot to get GGTO can induce an error in GGTO so-determined, as the UTC predictions provided by the different GNSS are not equal. In Sesia et al. (2020), an error of up to 20 ns was shown for an inter-system bias assessed from this method. We consider this as an extreme case, keeping in mind that the GNSS systems are continuously improving as well as their realizations of UTC. For this reason, we investigate here the impact on positioning and timing of errors between  − 20 ns and + 20 ns in the fixed GGTO value. In the next sections, we will compare the positioning and timing results when the GGTO is either estimated or fixed and consider different errors on the fixed value.

High precision receiver positioning results

This section addresses our results for the high precision GNSS station. While this station was used to determine the true GGTO from calibrated clock solutions, the pseudoranges are used here without any calibration. The user GGTO could therefore be different from the true GGTO even for station BRUX if the receiver hardware delays for GPS and Galileo signals are different. This section considers only single-frequency solutions based on pseudoranges in L1. Figure 3 presents an example of positioning results in terms of horizontal (2D) and 3D position errors for the whole day and in the open sky. These errors are the 2D or 3D distances between the estimated position and the true position. In Fig. 3, black dots correspond to the position errors obtained when the GGTO is determined, white dots when the GGTO is fixed to its true value, and brown dots when the GGTO is fixed with a bias varying from  − 20 ns to + 20 ns. We can see that for both the horizontal and 3D positions, the error is nearly always the smallest when the GGTO is determined or fixed to its true value. Nevertheless, there are some periods where a biased GGTO gives a smaller error.

Fig. 3
figure 3

Horizontal (top) and 3D (down) errors on the position when the GGTO is fixed or determined, for the high precision receiver in full visibility

In order to quantify the impact of fixing or estimating the GGTO, and the impact of an error on the fixed GGTO value, we compute the root mean square (rms) of all the horizontal and 3D position errors obtained for the full day. Figure 4 shows the 2D and 3D rms when the GGTO is estimated (dashed line) or fixed (solid line). The rms in the “fixed” case has been calculated for GGTO values with a 1 ns step in a window ranging from  − 20 ns to + 20 ns from the true GGTO value. These results show that determining the GGTO gives a better position than fixing the GGTO, except if this parameter is accurately known, i.e., with an error lower than 2 ns. In this case, the two methods give similar rms of positioning errors. In this Figure, we also see that when the GGTO is fixed in the algorithm, the smallest errors are for the GGTO value considered as the true value. This confirms that the true value as determined from the calibrated station BRUX is a good approximation of the truth.

Fig. 4
figure 4

Rms of the position errors for the high precision receiver in full visibility when the GGTO is determined (dashed line) or fixed (full line). The true GGTO is indicated with a vertical line, together with an area of ± 3 ns to highlight its 1−σ uncertainty

As some errors are common to the fixed and estimated cases, e.g., the multipath or the remaining atmospheric delay after the modeled correction, we also consider the differences at each epoch between the position errors when fixing or when determining the GGTO. These are presented as histograms in Fig. 5. The error difference on the x-axis, therefore, corresponds to ∆(fixed GGTO)-∆ (determined GGTO), where ∆ is the 2D or 3D distance between the computed and the true position. For the fixed GGTO case, the results are provided for biases of ± 10 ns or ± 20 ns with respect to the true value, giving five different histograms. Here, the zero value on the x-axis separates cases where it is better to determine the GGTO from cases where it is instead better to fix it. Negative values of error differences indeed indicate that the errors in the position calculated when the GGTO is determined are smaller than these in the position found when fixing the GGTO. Subsequently in this case, it is more interesting to determine the GGTO. On the contrary, positive values in the error difference indicate that the errors in the position calculated using a determined GGTO are larger than these when fixing the GGTO. In consequence, fixing the GGTO will be preferable in this case. These results are presented using a logarithmic scale in order to improve the visibility of the tails. In these tails, we find the largest errors in either “determine” or “fix” approach, also important to validate which approach is the most appropriate to be recommended.

Fig. 5
figure 5

Horizontal (top) and 3D (bottom) position error differences for the high precision receiver in full visibility with different biases on the fixed GGTO

The results displayed in Fig. 5 confirm that for a high precision receiver located in a full visibility, determining or fixing the GGTO gives similar position performances, provided that the GGTO has a very small bias with respect to the true value. We see, however, that for some epochs, the error when fixing the GGTO is lower than when estimating it (positive differences), while the opposite occurs for other epochs (negative differences). This will be studied in more detail later, looking at possible correlations with the dilution of precision.

In order to simulate a situation where a high precision receiver is located in severely reduced visibility conditions, we performed the same analysis applying an elevation cutoff at 20° for azimuths 0°–60° and 180°–240°, and an elevation cutoff of 45° for azimuths 60°–180° and 240°–360°. The average number of observed satellites falls down from 18 in full visibility to 7 with the elevation cutoff. The rms of the 2D and 3D positioning errors is presented in Fig. 6. Solid lines are calculated with a fixed value of GGTO, varying within ± 20 ns from the true value, and the dashed lines indicate the rms obtained when the GGTO is determined. Under these conditions, the position is improved if the GGTO is fixed to its true value, or fixed with a bias lower than about 10 ns for the horizontal position and about 5 ns for the 3D position. We can also observe in Fig. 6 that the minimum of the rms does not lie at the best-fixed GGTO value; this is most probably due to the reduced visibility: a smaller number of satellites are observed in this case, which causes less mitigation of the errors in the broadcast satellite clock parameters. The distribution of the errors (2D and 3D) is displayed in Fig. 7 for the same particular GGTO biases as before. While in full visibility, determining the GGTO was in all cases providing similar or better solutions, reduced visibility conditions make the fixed GGTO more advantageous at least for a reasonable GGTO bias between the fixed value and the true value, reasonable meaning lower than about 5 ns (for 3D) or about 10 ns (for 2D) in this specific elevation cutoff. Note that the test performed here is just a particular case of visibility, used to illustrate the general trend. The numerical results are then just provided as an illustration.

Fig. 6
figure 6

Rms of the position errors for high precision receiver in a reduced visibility when the GGTO is determined (dashed line) or fixed (full line). The true GGTO is indicated with a vertical line, together with an area of ± 3 ns, corresponding to its 1−σ uncertainty

Fig. 7
figure 7

Horizontal (top) and 3D (bottom) position error differences for the high precision receiver in reduced visibility with different biases on the fixed GGTO

The results of the high precision GNSS receiver are summarized in Table 2. The rms is indicated for the solutions obtained with determined or fixed GGTO, and in this latter case, when it is fixed to the true value or to a value affected by a given bias. The increase in the error due to the bias in the fixed value is indicated as a percentage of the error obtained when the GGTO is fixed to the true value. These results indicate that for a high precision receiver, an error of 10 ns on the fixed GGTO can lead to an increase on the positioning error of factor 0.5 in full visibility, while in that case, anyway, the best solution is obtained when the GGTO is determined. In a strongly reduced visibility, as we simulated, the error in the fixed GGTO value has a larger impact, with an increase of up to a factor of 4 for an error of 10 ns in this particular case. However, if the true value of the GGTO is known with an error lower than 10 ns (resp. 5 ns) in this case, fixing this true value provides a better 2D (resp. 3D) positioning accuracy than estimating the GGTO.

Table 2 Rms (in m) of the position errors for the high precision receiver and rms increase (in %) between the GGTO fixed to its true value and to the biased value

Mass-market receiver results

The second set of results comes from a mass-market receiver, the Xiaomi MI8, which was placed in the two different environments described before, taking data for several hours in order to see the variable geometries of the satellites. For a full visibility situation, the smartphone was placed on the roof of the Royal Observatory of Belgium. The moderate urban configuration was obtained by placing the smartphone in a parked car next to the car dashboard. In this situation, the smartphone sees many multipath signals corresponding to reflections on the buildings. Since the analysis performed does not make any difference between a direct or indirect signal, multipath is considered a direct signal. This increases the number of observations but also induces additional noise in the data and in the solution.

Full visibility

Figure 8 shows an example of the horizontal and 3D position errors computed with single-frequency measurements when the smartphone is in full visibility on the roof of the Observatory. Contrary to the high precision receiver, the difference is not so clear between the average position errors and the errors induced by a bias on the GGTO. The numerical analysis of the rms is presented in Fig. 9. In this configuration, with a mass-market receiver in full visibility condition, fixing the GGTO to its accurate value gives similar position performance as determining the GGTO, or even better, provided that the fixed GGTO has a maximum bias of about 7 ns with respect to the true value. Outside this range, a better rms performance is obtained when determining the GGTO parameter. We also see that the minimum rms for fixed GGTOs is very close to the true value, which indicates that the hardware delays of GPS and Galileo L1 signals do not differ significantly in the Broadcom BCM47755 chip.

Fig. 8
figure 8

Horizontal (top) and 3D (down) errors on the position when the GGTO is fixed or determined with the smartphone in open sky

Fig. 9
figure 9

Rms of the position errors for the smartphone in full visibility when the GGTO is determined (dashed line) or fixed (full line). The true GGTO is indicated with a dashed gray vertical line, together with an area of ± 3 ns corresponding to its 1-σ uncertainty

Figure 10 presents the histograms of the differences between the position errors obtained by determining or fixing the GGTO for different biases of the fixed value with respect to the true value. As already observed for the high precision receiver, we can see that the histograms are distributed on both sides around zero. This means that for some epochs, the error when fixing the GGTO is lower than when estimating it, while the opposite occurs for other epochs. An additional statistical analysis will be presented later, looking at possible correlations between these errors and either the number of visible satellites or the dilution of precision.

Fig. 10
figure 10

Horizontal (top) and 3D (bottom) position error differences for the smartphone in full visibility with different biases on the fixed GGTO

Moderate urban situation

In the moderate urban configuration, the mass-market receiver of the Xiaomi MI8 has collected data for several hours inside a car parked between two buildings, as described before. The rms analysis is reported in Fig. 11. Contrary to the previous configuration, the best approach here is to fix the GGTO, even with a bias up to 20 ns on the fixed value. The reason why the minimum of the rms does not lie at the true GGTO value is most probably the reduced visibility, as was already observed previously with the high precision station. Furthermore, note that the average rms is here about 9 m in 2D (15 m in 3D), while it was 2 m (5 m in 3D) for the smartphone in full visibility.

Fig. 11
figure 11

Rms of the position errors for the smartphone in a moderate urban situation when the GGTO is determined (dashed line) or fixed (full line). The true GGTO is indicated with a vertical line, together with an area of ± 3 ns corresponding to its 1−σ uncertainty

The impact of the biases up to 20 ns from the best GGTO value is very small, as it can be evidenced from the quantification proposed in Table 3, as well as from Fig. 12 where we histogram the error difference in 2D or 3D positions between the determined or fixed GGTO. Furthermore, in the histograms, some very large errors can occur when the GGTO is determined in moderate urban situations.

Table 3 Rms (in m) of the position errors for the smartphone and rms increase (in %) between the GGTO fixed to its true value and to the biased value
Fig. 12
figure 12

Horizontal (top) and 3D (bottom) position error differences for the smartphone in moderate urban situation, with different biases on the fixed GGTO

The results obtained with the smartphone in two different locations are summarized in Table 3. The rms is indicated for the solutions obtained with the GGTO determined or fixed, and in this latter case, when it is fixed to the true value or to a value affected by a given bias. The increase in the error due to the GGTO bias is indicated in percentages as in Table 2. These results confirm that as already seen in the histograms, for this mass-market receiver, an error of up to 20 ns on the fixed GGTO has a very small impact on the positioning, with a maximum increase in the positioning error of a factor 0.5 in full visibility, and less than 0.16 in conditions of reduced visibility.

Correlation with the DOP and satellite number

From the results presented in the previous Sections, it appears that the choice between estimating or fixing the GGTO is not unique and depends on the satellite visibility for both the mass-market receiver and the high precision station. In particular, we have seen from the histograms that there are some epochs where the positioning error is larger for an estimated GGTO, and other epochs where the positioning error is larger for a fixed GGTO even at its true value (or a value within the uncertainties). Therefore, this section looks for a possible criterion, which would indicate in which case fixing or determining the GGTO is preferable. To that aim, we compute the correlation between the 3D positioning error differences between fixing and estimating the GGTO, and either the number of observed satellites (nbsat) or the position dilution of precision (PDOP). The PDOP quantifies, at each epoch, the position error caused by the satellite geometry. The PDOP term is calculated as:

$${\text{PDOP}} = \sqrt {\sigma_{{\text{x}}}^{2} + \sigma_{{\text{y}}}^{2} + \sigma_{{\text{z}}}^{2} }$$

where \({\sigma }_{\mathrm{x}}\), \({\sigma }_{\mathrm{y}}\) and \({\sigma }_{\mathrm{z}}\) are the position diagonal terms of the covariance matrix. For the same satellite configuration, the PDOP is always larger when the GGTO is estimated as there is one additional unknown to be solved for, but we observed that its variations with the satellite geometry are similar as for a fixed GGTO. In the following, we use the PDOP corresponding to an estimated GGTO for the correlations. We also consider only the epochs where the number of visible satellites is at least five, and we do not consider the cases when a solution is established with only GPS satellites or only Galileo satellites, as in these cases the GGTO does not make sense, and the error differences between fixing or estimating the GGTO are equal to zero. All the Xiaomi data, corresponding to the 3 locations, are assembled and analyzed as a whole. And the same for the two data sets from the high precision receiver (without and with elevation cutoff).

The correlation between the PDOP and the positioning error difference between GGTO estimated and GGTO fixed to the true value is presented in Fig. 13 for the high precision receiver and in Fig. 14 for the smartphone. In Fig. 13, we also propose a zoom that excludes the very large errors and PDOP. As can be seen, the PDOP values are smaller for the smartphone than for the high precision receiver. This is a consequence of the strong elevation cutoff used for the station BRUX in the case of reduced visibility (PDOP is always lower than 4 m in full visibility), as well as to the non-rejection of multipath in the smartphone. This latter implies that even in the moderate urban situation, some hidden satellites are considered visible, improving the geometry and hence the PDOP, while increasing the observation noise. Figure 15 presents the correlation between the number of observed satellites and the positioning error difference between GGTO estimated and GGTO fixed to the true value for both the high precision receiver and the smartphone.

Fig. 13
figure 13

Correlation between the positioning error difference between estimated and fixed GGTO, and the PDOP for the high precision receiver

Fig. 14
figure 14

Correlation between the positioning error difference between estimated and fixed GGTO, and the PDOP for the smartphone

Fig. 15
figure 15

Correlation between the positioning error difference between estimated and fixed GGTO, and the number of visible satellites for the high precision receiver (left) and for the smartphone (right)

The Pearson’s correlation coefficients \(r\) between the 3D position error and the PDOP are 0.3 for the smartphone and 0.7 for the high precision receiver. The Pearson’s correlation coefficients \(r\) between the 3D position error and the number of visible satellites are very small,  − 0.2 for the smartphone and  − 0.1 for the high precision receiver. In all cases, the p value is lower than 1e-10, which confirms that the correlation coefficients obtained are statistically significant. From these results, we see that with a mass-market receiver, the solution noise hides any possible correlation with the geometry of the satellites. For the high precision receiver, the higher value of the correlation is due to the very large errors for very large PDOP values occurring in the reduced visibility. Indeed, when computing the correlation for the high precision receiver data in open visibility, the correlation drops to 0.1. In order to decrease the sensitivity of the correlation to outliers, we also computed the Spearman’s r coefficient. While Pearson correlation assesses linear relationships, Spearman correlation assesses monotonic relationships, whether linear or not, and is, therefore, less sensitive to outliers. Using all data from full and reduced visibility, Spearman’s correlation coefficient between the 3D error and the PDOP is 0.1 for both the high precision receiver and the smartphone, which confirms that there is no monotonic relation between the PDOP and the 3D error. All these results clearly show that neither the number of observed satellites nor the PDOP can be used as a criterion to inform the user that it is better to determine or to fix the GGTO to a broadcast value in the PVT algorithm.

Timing

The antenna of timing receivers is generally installed in quite good visibility and in a fixed position. Therefore, the algorithms used by these receivers usually fix the position to the coordinates determined after convergence at the starting time of the receiver. Afterward, only one unknown is to be solved, which is the time synchronization error between the receiver clock and the GNSS time. In the case of a multi-constellation receiver, the inter-system bias must, however, also be considered either determined or fixed. The time accuracy will be determined by both the receiver calibration uncertainty and the noise of the clock solution. Only the noise of the solution (and hence the frequency stability) will be considered here. The noise of the timing solution will be determined from the Allan deviation obtained for short averaging times. Timing receivers are also used as disciplined oscillators. In that case, a voltage-controlled oscillator (VCO), based on either a crystal or a rubidium atomic frequency standard, is steered on the GNSS time with a given time constant (Lombardi 2016). This time constant depends on the oscillator stability, of which the short-term stability is usually better than the GNSS clock solution, while the longer-term stability of GNSS time is by far better than any crystal oscillator or rubidium atomic frequency standard. Classical time constants in the GNSS disciplined oscillators are ranging from a few minutes to a few hours.

A clock solution is always a difference between two time scales. The stability of the clock solution, determined, e.g., by the Allan deviation, is therefore the stability of the less stable among the two time scales. In our case, the two time scales are the receiver oscillator and the GNSS time as determined from both the GNSS code measurements and the broadcast satellite orbits and clock errors. Using the station BRUX, which is driven by a stable hydrogen maser, the stability of the solution will correspond to the GNSS time which, when determined from GNSS code measurements and satellite clock products, is less stable than a H-maser for averaging times lower than several days (Defraigne 2017). Using the smartphone data, the stability of the solution can, however, be dominated by the oscillator instability, especially at long averaging times.

Figure 16 presents the uncalibrated clock solutions H-maser–GST, obtained for the high precision receiver, when the GGTO is either determined or fixed with an error between  − 20 and + 20 ns (indicated by the numbers on the right-hand side of the plots). As we look at the stability of the solution, which is affected by the remaining ionosphere delays, we consider here both the single-frequency and the dual-frequency solutions. For the dual-frequency solutions, we use the ionosphere-free combination based on L1 and L5, to have the same frequencies used for GPS and Galileo. We see in Fig. 16 that determining or fixing the GGTO to its true value gives only small differences. When there is a bias in the fixed GGTO value, we observe an offset of half the bias in the single-frequency solution, as a consequence of the approximately constant and equal number of observed satellites of each constellation. Indeed, the final solution is the average of all the satellites, while the GGTO (and hence its bias) is applied to the pseudoranges of only one constellation, i.e., approximately half of the satellites. For the dual-frequency case, only a limited number of GPS satellites can be used, those of blocks IIF that provide the signals in the L5 frequency band. As a consequence, fixing a biased GGTO induces a distortion of the clock solutions which is following the normalized difference between the number of GPS and Galileo satellites, or more exactly the normalized difference between the weight of each constellation [(wGPS-wGalileo)/(wGPS + wGalileo)] shown in Fig. 17, with wGNSS being the sum of sin2(elevation) of all visible satellites at a given epoch. It must be noted that the bias in the fixed GGTO value can be due to a bias in the broadcast information or to a receiver inter-system hardware delay. This stresses the importance of calibration not only for time accuracy but also for frequency stability.

Fig. 16
figure 16

Clock solution UTC(ORB)-GST obtained from station BRUX in full visibility using either a GGTO determined or a GGTO fixed with biases between -20 and + 20 ns (numbers on the right)

Fig. 17
figure 17

Normalized difference between the number of GPS and Galileo satellites for the high precision receiver in full visibility

Figure 18 presents the clock solutions obtained with the reduced visibility of the high precision receiver, with the same azimuth-dependent elevation cutoff as for the positioning analysis. The epochs around 58788.05 and 58788.75 correspond to periods where only Galileo satellites are available for the dual-frequency solution. Therefore, in that case, no GGTO has to be considered. From all these results, with full or reduced visibility, we directly see the advantage of determining the GGTO.

Fig. 18
figure 18

Clock solution UTC(ORB)-GST obtained from station BRUX in reduced visibility, using either a GGTO determined or a GGTO fixed with biases between -20 and + 20 ns (numbers on the right)

This is also confirmed by the analysis of the frequency stability of the different solutions, provided in Fig. 19, for the case of open visibility. To improve the legibility, only the GGTO errors of  − 10 and + 10 ns are shown. The frequency stability of a H-maser for these averaging times is between 10–14 and 10–15, so that the results shown here provide the stability of the GNSS time as determined by the receiver. For the single-frequency solutions, the degraded stability for averaging times longer than 1 h is due to the residual ionosphere delay after the modeled correction, while for the dual-frequency solution, there is a degradation only when the GGTO is fixed with a bias, due to the variable relative number of GPS and Galileo satellites. Finally, the only curve that shows the expected slope of -1 corresponding to white phase noise is for the dual-frequency solution when the GGTO is determined or fixed to its true value. We can conclude that even if fixing the GGTO improves the very-short-term stability, it also degrades de longer-term stability and it is, therefore, preferable to determine the GGTO in a timing solution with a high precision receiver. Note that the dual-frequency results have been obtained with the L1 L5 combination for both GPS and Galileo. Another option would be to use the L1 L2 combination for GPS, in which case we would have the same number of satellites as in single-frequency solutions. The noise of the solution, in that case, would be reduced, translating the dual-frequency Adev curve downward. However, we preferred to show here the results with the L1 L5 combination to illustrate the impact of the relative number of visible satellites from each constellation.

Fig. 19
figure 19

Frequency stability of the clock solution of BRUX in full visibility, when the position is fixed, and the GGTO is either estimated or fixed to the true value or with an error of ± 10 ns

The situation with a mass-market receiver is completely different, as the measurements are noisier. Therefore, the ionospheric-free combination is not used here as it still increases the noise level, and the impact of the remaining ionospheric error after the modeled correction is lower than the observation noise. While in the station BRUX, the noise of the clock solution came from the GNSS measurements only because the H-maser contribution was negligible; here the stability of the smartphone oscillator is not known. Therefore, considering the Allan deviation, it is impossible to distinguish the contribution of the oscillator instability from the contribution of the GNSS measurement noise. Figure 20 presents the Adev of the clock solutions. It is very difficult to make a distinction between the solutions when the GGTO is fixed rather than estimated. However, while a slope of -1 for the Adev curve would be expected if the GNSS measurement noise dominates the stability, this is not observed at all. We can therefore conclude that the stability curve obtained in Fig. 20 is limited, at all averaging times, by the stability of the quartz oscillator inside the smartphone.

Fig. 20
figure 20

Frequency stability of the clock solution for the smartphone in full visibility

We therefore need to get rid of the impact of the oscillator on the analysis. To that aim, we computed two separate clock solutions, each obtained with half of the satellites distributed randomly (half of GPS and half of Galileo, at each epoch). We then computed the difference of these two solutions. This difference does no more contain the receiver oscillator, but only the noise due to the GNSS measurements and broadcast orbits and clock errors. This noise is multiplied by 2 with respect to the noise due to the GNSS measurements and broadcast orbits and clock errors, since each solution is obtained with half of the satellites, which gives the first factor of \(\surd 2\), and the difference of the two solutions adds a supplementary factor of \(\surd 2\). This noise doubling corresponds to an upward shift of the Adev curves. However, this noise doubling is the same for a fixed or determined GGTO, so it does not prevent comparing the two approaches. Furthermore, a longer observation campaign was carried out to get stability at longer averaging times. Figure 21 presents the Adev of these new solutions when the GGTO is either estimated or fixed, with either the true value or with an error of ± 10 ns or ± 20 ns. This Figure shows clearly that with a noisy receiver, it is better to fix the GGTO, which gives better frequency stability at all averaging times, at least up to 7 h. Hence, for time constants up to 7 h, fixing the GGTO will improve the stability of the GNSS disciplined oscillator. Even for time constants larger than 7 h, only a bias as large as 20 ns on the fixed GGTO could provide a stability slightly worse than the solution obtained with a GGTO determined, as expected from the extrapolation of the curves in (Fig. 21).

Fig. 21
figure 21

Frequency stability of the clock solution differences for the smartphone in full visibility

Conclusions

Our study aimed at determining in which case the inter-system GNSS biases should be either estimated or fixed in the PVT algorithms. Our analysis focused on the GPS and Galileo constellations, with the inter-system bias called GGTO for Galileo-to-GPS-Time-Offset, and which contains, in this case, both the GPS-Galileo time scale differences and the receiver inter-system differential hardware delay.

The results show that with a high precision receiver, in good visibility conditions, the GGTO should always be determined unless it can be fixed with a bias lower than 2 ns, which is lower than the current uncertainties on the broadcast GGTO and receiver calibration. The same conclusion was obtained if the receiver is used for timing or to steer an oscillator. With such high precision receivers, in case the visibility is strongly reduced, fixing the GGTO can give better results but only if the fixed value has a bias lower than about 10 ns with respect to the true value.

Our study investigated the case of a mass-market receiver, characterized by a high noise level, and located in different satellite visibility conditions: open sky or moderate urban. The results demonstrated that for this kind of receiver, the GGTO should be fixed to get a better PVT solution, as well as to steer an oscillator on GNSS time. For positioning only, and only in full visibility, determining the GGTO improves very slightly (less than 5%) the solution if the bias on the fixed GGTO with respect to the true value is larger than about 7 ns. For this mass-market receiver, a bias on the fixed GGTO with respect to the true value has a limited impact on the position accuracy and on frequency stability. For an extreme bias of 20 ns, the results showed an increase in the rms of the errors of less than 50% in case of full visibility (from 4 to maximum 6 m in 3D positions), and less than 16% in conditions of reduced visibility. This is very small compared to the impact of the same bias for a high precision receiver, for which the increase in the rms of the position errors reached a factor of 1.5 in full visibility and a factor of 8 in reduced visibility. The study also showed that there is no significant correlation between the superiority of determining or fixing the GGTO and the dilution of precision or the number of visible satellites.

As a general conclusion, the recommendation on fixing or determining the GGTO depends heavily on the level of noise of the receiver, just as the impact of a bias on the fixed GGTO value. Determining the GGTO should be preferred in high precision receivers, while fixing the GGTO should be preferred in mass-market receivers.