Introduction

Due to effects of the environment and frequency-dependent signal hardware delays at the satellite and the receiver, there exists biases between different GNSS observations that are generically named differential code biases (DCBs). They can be classified into two types, referring to codes modulated on different carriers or on the same carrier. Currently, DCBs in GPS observations include: (1) DCB(P1–P2), i.e., bias between the P1 and P2 observations (Sardon et al. 1994; Goodwin and Breed 2001; Otsuka et al. 2002), (2) DCB(P1–P5), i.e., bias between the P1 and P5 observations and (3) DCB(C1–P1), i.e., bias between the C1 and P1 observations (Gao et al. 2001). The DCB(P1–P2) for receivers can be obtained via calibration, but the satellite DCB(P1–P2) component must be estimated together with ionospheric model parameters; its accuracy is influenced by pre-set ionospheric model errors. When computing, the DCB(P1–P2) values for all GNSS satellites and receivers are estimated as the constant values for each day based on the geometry-free linear combinations of global positioning system observables P1 and P2. Using multi-GNSS observations and global ionospheric maps, the DCB(P1–P5) is computed and discussed in Montenbruck et al. (2014). The DCB for the coarse/acquisition (C/A) code and the P1 code is labeled DCB(C1–P1). It differs from DCB(P1–P2) and DCB(P1–P5) since it pertains to the same carrier. The DCB(C1–P1) is required to obtain consistent parameters when estimated with C1 and P1. Another type of DCB is the bias between combined signals. It was noticed in triple-frequency GPS observations processing and has been called the inter-frequency clock bias (IFCB; Montenbruck et al. 2012; Li et al. 2012, 2013) and is a frequency-dependent satellite hardware delays as opposed to a receiver and satellite hardware delay. This satellite IFCB is presented to understand the differences between satellite clock errors estimated from ionospheric-free code and carrier phase observations on L1/L2 and P1/P2 versus L1/L5 and P1/P5, respectively. The satellite IFCBs can be expressed as a function of satellite DCB(P1–P2) and satellite DCB(P1–P5) (Li et al. 2016a):

$${\text{IFCB}}^{\text{s}} = \phi^{\text{s}} + {\text{IFHB}}^{\text{s}} = \frac{{f_{5}^{2} }}{{f_{1}^{2} - f_{5}^{2} }}{\text{DCB}}^{\text{s}} ( {\text{P1}} - {\text{P5)}} - \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}{\text{DCB}}^{\text{s}} ( {\text{P1}} - {\text{P2)}}$$
(1)

where IFCBs is the satellite IFCB, ϕ s is the variation part of the satellite IFCB, and IFHBs is the constant part. The latter term is called inter-frequency hardware bias (IFHB); note this narrow definition pertains only to the constant part. Further, f i (i = 1, 2, 5) are the carrier frequencies of P1, P2 and P5, and DCBs(P1–P2) and DCBs(P1–P5) are the satellite DCB(P1–P2) and DCB(P1–P5). The satellite IFCB, containing variation and constant part, is estimated from the GPS code and phase observations. The variation part is estimated with phase observation, while the constant part is estimated with code observation. The method of estimating IFCB differs from that of estimating the DCB(P1–P2), DCB(P1–P5) and DCB(P1–C1) biases. Although the satellite IFCB can be expressed as the function of the satellite DCB(P1–P2) and DCB(P1–P5), it cannot be simply replaced by the currently available DCB(P1–P2) and DCB(P1–P5) products. This is due to the facts that: (1) The DCBs are estimated with as a constant; (2) the DCBs estimation is more complicated than that of IFCB, and the estimated parameter includes the ionospheric model; and (3) the accuracy of the DCBs is affected by noise of the code observation and pre-set ionospheric model error.

In addition to applying DCBs in ionospheric delay estimation, its potential impact has to be carefully considered when designing other GNSS applications, such as precise positioning (Leick et al. 2015; Li et al. 2016b) and timing (Levine 2008). DCB estimates for GPS satellites have been routinely published by the International GNSS Service (IGS) since 1998 (Hernández-Pajares et al. 2009). Although new types of biases are noticed as GNSS develops, these are not provided by IGS. They are very important for dual- and triple-frequency satellite clock estimation and positioning. For application of the triple-frequency observations, the dual- and triple-frequency satellite clock estimation method should be further improved to meet all requirements for positioning. The performances of the new DCBs in positioning require further evaluation. Based on these considerations, the application of the DCBs in dual- and triple-frequency positioning and clock estimation is discussed and the method for estimating the triple-frequency uncombined satellite clock error is presented first. Next the performances of DCBs in dual- and triple-frequency positioning are used to evaluate the estimated satellite clock error. Finally, the research findings and outlooks are summarized.

Application of the DCBs in dual- and triple-frequency satellite clock estimation

With development of the precise point positioning (PPP; Zumberge et al. 1997), dual- and triple-frequency uncombined and combined observations can be used in PPP computation. A dual- and triple-frequency satellite clock errors service of the uncombined and combined observations should be provided. But, the current satellite clock is estimated with the ionospheric-free phase (L1/L2) and code (P1/P2) observations as provided by IGS (Dow et al. 2009). In other words, the current clock products are based on the L1/L2 and P1/P2 observations. To meet all the needs for positioning, the dual- and triple-frequency satellite clock estimation is introduced in this section based on contributions of the DCBs to the estimated satellite clock errors. The L1/L2 and P1/P2 ionospheric-free observation is written as:

$${\text{IF}}(L_{1} ,L_{2} ) = \rho + \delta^{\text{r}} - \delta^{\text{s}} + N_{1,2} \cdot \lambda_{1,2} + T + \varepsilon_{1}$$
(2)
$${\text{IF}}(P_{1} ,P_{2} ) = \rho + \delta^{\text{r}} + b_{1,2}^{\text{r}} - \delta^{\text{s}} - b_{1,2}^{\text{s}} + T + \omega_{1}$$
(3)

where ρ is the satellite-to-receiver range, T is tropospheric delay, δ r and δ s are the receiver and satellite clock errors in meter, N 1,2 is the ambiguity of L1/L2, and λ 1,2 is its corresponding wavelength, and ε 1 and ω 1 are the respective noises of the L1/L2 and P1/P2 observations. Further, b r1,2 and b s1,2 are the receiver and satellite hardware delays of P1/P2. In computing, the receiver hardware delay is absorbed by the estimated receiver clock error, while the satellite hardware delay is absorbed by the estimated satellite clock error. The estimated, reparameterized satellite clock error \(\overline{{\delta_{1,2}^{s} }}\) is:

$$\overline{{\delta_{1,2}^{s} }} = \delta^{s} + b_{1,2}^{s} = \delta^{s} + b_{1}^{s} + \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}{\text{DCB}}^{\text{s}} ({\text{P}}1 - {\text{P}}2) = \delta^{s} + b_{2}^{s} + \frac{{f_{1}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}{\text{DCB}}^{\text{s}} ({\text{P}}1 - {\text{P}}2)$$
(4)

where b s1 and b s2 are the satellite hardware delay of P1 and P2, and DCBs (P1–P2) is the satellite DCB(P1–P5). Equation (4) shows that the estimated satellite clock contains the satellite DCB. The estimation of the satellite clock error is carried out as a routine service and the satellite clock error products are computed using the L1/L2 and P1/P2 ionospheric-free observations.

For a single-frequency user merely tracking P1, the satellite clock error is written as:

$$\overline{{\delta_{1}^{s} }} = \delta^{s} + b_{1}^{s} = \overline{{\delta_{1,2}^{s} }} - \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}{\text{DCB}}^{\text{s}} ({\text{P}}1 - {\text{P}}2)$$
(5)

The satellite clock error of P2 is:

$$\overline{{\delta_{2}^{s} }} = \delta^{s} + b_{2}^{s} = \overline{{\delta_{1,2}^{s} }} - \frac{{f_{1}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}{\text{DCB}}^{\text{s}} ({\text{P}}1 - {\text{P}}2)$$
(6)

In satellite clock estimation, the ionospheric-free phase and code observations from different types of receivers are used. While some receivers merely track the C1 and P2 observables, others track P1 and P2. The estimated satellite clocks using the two types of observables differ since there is a DCB bias between the C1 and P1 observables. To maintain the consistency of the estimated clocks, the DCB(C1–P1) must be applied to the receiver observing C1 and P2. Therefore, for a receiver tracking C1 and P2 observations the DCB(C1–P1) should be considered carefully in precise undifferenced positioning. For such observations, the satellite clock error is written as:

$$\overline{{\delta_{{{\text{c}}1/{\text{p}}2}} }} = \overline{{\delta_{1,2}^{\text{s}} }} - \frac{{f_{1}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}{\text{DCB}}^{\text{s}} ( {\text{C1}} - {\text{P1)}}$$
(7)

For triple-frequency observations, other ionospheric-free phase (L1/L5) and code (P1/P5) observations can be written as:

$${\text{IF}}(L_{1} ,L_{5} ) = \rho + \delta^{\text{r}} - \delta^{\text{s}} + N_{1,5} \cdot \lambda_{1,5} + T + \varepsilon_{2}$$
(8)
$${\text{IF}}(P_{1} ,P_{5} ) = \rho + \delta^{\text{r}} + b_{1,5}^{\text{r}} - \delta^{\text{s}} - b_{1,5}^{\text{s}} + T + \omega_{2}$$
(9)

where N 1,5 is the ambiguities of L1/L5, and λ 1,5 is its corresponding wavelength, b r1,5 and b s1,5 are the receiver and satellite hardware delay of P1/P5, and ε 2 and ω 2 are the noises of L1/L5 and P1/P5. Similarly, the estimated satellite clock error can be written as:

$$\overline{{\delta_{1,5}^{\text{s}} }} = \delta^{\text{s}} + b_{1,5}^{\text{s}} = \delta^{\text{s}}+ b_{5}^{\text{s}} + \frac{{f_{1}^{2} }}{{f_{1}^{2} - f_{5}^{2} }}{\text{DCB}}^{\text{s}} (P1 - P5)$$
(10)

where DCBs (P1–P5) is the satellite DCB for P1 and P5. According to definition of the IFCB, the satellite clock error computed with P1/P5 and L1/L5 also can be written as:

$$\overline{{\delta_{1,5}^{\text{s}} }} = \delta^{\text{s}} + b_{1,5}^{\text{s}} = \overline{{\delta_{1,2}^{\text{s}} }} + {\text{IFCB}}^{\text{s}}$$
(11)

Equations (5) to (7) and (11) show that the estimated satellite clock errors using different observations can be expressed as a function of the estimated satellite clock error for L1/L2 and P1/P2 and the DCBs. The time-variant IFCB and its expression of DCB(P1–P2) and DCB(P1–P5) reveal the fact: (1) Real DCB(P1–P2) and DCB(P1–P5) are time-variant; (2) the IFCB cannot be replaced by the current constant DCB [DCB(P1–P2) and DCB(P1–P5)] products. Although this is the fact, it does not mean that the constant DCB products cannot be used in the GPS satellite clock errors estimation. This can be explained by the fact that the variation parts of the DCB(P1–P2) and DCB(P1–P5) are absorbed by the estimated satellite clock errors and ionospheric delay model during the satellite clock error and ionospheric delay processing. Thus, the estimated satellite clock error of P1 (L1) and P2 (L2) is computed with (5) and (6) based on the IGS DCB(P1–P2) product and the L1/L2 and P1/P2 ionospheric-free functions. Similar to computing these satellite clock errors, the computed satellite clock of the P5 (L5) observation can be written as:

$$\overline{{\delta_{5}^{\text{s}} }} = \overline{{\delta_{1,5}^{\text{s}} }} - \frac{{f_{1}^{2} }}{{f_{1}^{2} - f_{5}^{2} }}{\text{DCB}}^{\text{s}} ({\text{P}}1 - {\text{P}}5) = \overline{{\delta_{1,2}^{\text{s}} }} + {\text{IFCB}} - \frac{{f_{1}^{2} }}{{f_{1}^{2} - f_{5}^{2} }}{\text{DCB}}^{\text{s}} ({\text{P}}1 - {\text{P}}5)$$
(12)

Using (5), (6) and (12), the satellite clock errors of the triple-frequency uncombined observations can be obtained. The application of the DCBs in dual- and triple-frequency satellite clock estimation shows that the dual- and triple-frequency satellite clock estimation includes transformation terms of DCBs between the reference observation L1/L2 and P1/P2 and other raw and combination observations.

The estimated satellite clock errors are different due to the effect of the frequency-dependent satellite hardware delays. To realize consistency of the same estimated parameters and improve the positioning accuracy, the inter-transformation method for computing the dual- and triple-frequency GPS satellite clock is presented based on the established observation reference (L1/L2 and P1/P2) and the respective satellite clock products. Using the current satellite clock products estimated with L1/L2 and P1/P2, the satellite clock error of other observations is computed. Figure 1 shows the flowchart for estimating and transforming the dual- and triple-frequency GPS satellite clock. Two steps are involved in the dual- and triple-frequency GPS satellite clock error estimation: estimation and transformation. In the first step, the current satellite clock products are computed based on L1/L2 and P1/P2 observations. Using the current satellite clock errors, IFCB, the DCB(P1–P2) and DCB(P1–P5) products, the transformation is realized according to (57), (11) and (12). In the transformation processing, the application of the DCBs is the major step. The satellite clock errors of \(\overline{{\delta_{c1/p2} }}\), \(\overline{{\delta_{1,5}^{\text{s}} }}\), \(\overline{{\delta_{1}^{\text{s}} }}\), \(\overline{{\delta_{2}^{\text{s}} }}\) and \(\overline{{\delta_{5}^{\text{s}} }}\) are obtained based on the DCB corrections.

Fig. 1
figure 1

Flowchart of application of the DCBs in dual- and triple-frequency satellite clock estimation

Performance evaluation of DCB in positioning

Biases in the code observation not only affect positioning but also ambiguity solution. Thus, rigorous modeling of all error sources affecting carrier phase and code observations is required in undifferenced processing. Li et al. (2016b) discuss the performance of DCB(C1–P1) in the C1/P2-based positioning and show that its influence in the up direction is more evident than in horizontal directions. The accuracy improves 50% and reaches decimeter level when applying DCB(C1–P1) and also accelerates convergence time by means of improving the accuracy of the code observation. Different from the traditional PPP computation in which the ionospheric-free combinations (L1/L2 and P1/P2) are used, the uncombined PPP computation was presented in Teunissen et al. (2010). In this strategy, the raw phases of L1 and L2 and codes of P1 and P2 are processed and the ionospheric delay is estimated together with station coordinates, receiver clock, zenith tropospheric delay and ambiguities. In that PPP computation, the DCBs dominate the PPP performance. Thus, the performances of DCB(P1–P2), DCB(P1–P5) and IFCB in the triple-frequency PPP are investigated to study their role and significance in dual- and triple-frequency positioning and satellite clock estimation. To evaluate the estimated triple-frequency satellite clock, the performance of the IFCB in the P1/P5-based single point positioning (SPP) is also studied. Five days, April 26–30, 2016, of triple-frequency GPS data was collected in Urumqi for processing. The data are sampled at 30 s, and cutoff elevation is set at 10°. The triple-frequency GPS data set from 40 IGS stations is processed to estimate the satellite IFCB. Figure 2 shows the distribution of these 40 stations.

Fig. 2
figure 2

Distribution of the 40 IGS stations tracking GPS triple-frequency signals

Performance of IFCB in the P1/P5-based SPP

The undifferenced P1/P5 observations are processed to study the performance of IFCB in SPP. In processing, we take the elevation-dependent function as follows:

$$w(\theta ) = \left\{ {\begin{array}{*{20}c} {1/\sigma^{2} } & {30^\circ \le \theta \le 90^\circ } \\ {2\sin (\theta )/\sigma^{2} } & {10^\circ \le \theta < 30^\circ } \\ \end{array} } \right.$$
(13)

where θ is the satellite elevation; σ is the standard deviations of P1/P5. The corrections such as earth rotation, earth tides and relativistic effects are implemented. The tropospheric delay is corrected using the Saastamoinen model. An estimator of least squares is used to solve the epoch-wise coordinates in two strategies labeled #1 and #2. No IFCB correction is applied in strategy #1, while the IFCB is corrected according to (11) in strategy #2. The IFCB is estimated with the triple-frequency observations from 40 IGS stations according to the method in Li et al. (2016a). In both strategies, the IGS final clock and orbit products are used. The RMSs of SPP solution with respect to the ground truth coordinates are computed for three coordinates of north, east and up and are shown in Table 1. Comparing the results of the two strategies, it is observed that significant improvements are achieved in all three coordinate components when the IFCB is corrected. Similar to the effect of other DCBs on positioning, the effect of the IFCB in the up direction is more obvious than in the north and east directions. The relative improvements are about 29, 35 and 52% for north, east and up components.

Table 1 RMS (m) for two strategies. The strategy #1 does not apply the IFCB corrections, while strategy #2 applies the estimated IFCB

Performance of DCBs in triple-frequency PPP

Since the DCB corrections can improve the accuracy of the code observation, we study the performance of DCB(P1–P2), DCB(P1–P5) and IFCB in triple-frequency PPP convergence. For a triple-frequency user, different raw observations and combinations can be used to realize PPP computation. Although the ionospheric-free combination could be combined between any two frequencies, the two groups of ionospheric-free combinations (L1/L2 & P1/P2 and L1/L5 & P1/P5) are used. This choice is related to the noises and correlations of the related observations. For example, the noise of the L2/L5 and P2/P5 functions is magnified about 21.9 times which makes the function unfit for high-accuracy positioning computation. The same data sets, i.e., 5-day (April 26–30, 2016) data collected in Urumqi, are processed using two strategies labeled #3 and #4. In strategy #3, the ionospheric-free functions (L1/L2 & P1/P2 and L1/L5 & P1/P5) are used, while in strategy #4, the triple-frequency raw phase (L1, L2, L5) and code (P1, P2, P5) observations are used. The DCB(P1–P2), DCB(P1–P5) and IFCB are ignored (IG) and corrected (CO) for each strategy, respectively. The DCB(P1–P2), DCB(P1–P5) and IFCB are corrected according to (5), (6), (11) and (12). The elevation-dependent weighting function (13) is applied with different standard deviations as shown in Table 2 for phase and code observations. We test the different variance ratios considering the fact that the code precisions could be remarkably differed by receiver types and may significantly improve with receiver technology development. Also, different variance ratio settings are used to study the role and significance of the DCBs in the triple-frequency PPP computation. The data are processed in the static mode, where the earth tides, the relativistic effects and the antenna phase center offset are corrected with classic models. The Saastamoinen model is used to get the a priori correction. The remaining wet part of tropospheric delay is estimated as a constant per 1 h. In uncombined PPP computation, the slant path ionospheric delay is epoch-wise estimated. The convergence time is defined as the elapsed time when the estimated coordinate errors in the north, east and up directions are smaller than 10 cm. The convergence times of two strategies #3 and #4 are shown in Table 2.

Table 2 Convergence time (min) for strategy #3 with corrections ignored (IG) and corrected (CO). σ P and σ C denote the standard deviations of the raw phase (L1, L2, L5) and code (P1, P2, P5) observations in meter

The results in Table 2 show that the convergence time becomes longer with increasing code weights when the DCB(P1–P2), DCB(P1–P5) and IFCB are not corrected. However, if these corrections are applied, the convergence time shortens when the code weights increase. The result indicates that the correction of the bias in the code and phase observation and the setting of code weights are very important, and the reasonable weights should be taken to obtain the optimal solutions. Therefore, we should use the stochastic model evaluation method to re-assess the stochastic modeling of the used GNSS receivers in the real application. Comparing the results of #3 and #4, we see that their convergence time is approximately equal. This verifies the equivalence between the uncombined and combined triple-frequency PPP processing. So far, twelve BLOCK IIF satellites have been in operation and the number of visible BLOCK IIF satellites is less than 6 at a time. Although the improvement documented here cannot effectively demonstrate the triple-frequency contribution to positioning, it shows the effect of the DCB(P1–P2), DCB(P1–P5) and IFCB on the estimated satellite clock error and it also indicates that the DCB(P1–P2), DCB(P1–P5) and IFCB corrections are meaningful for precise positioning.

Conclusion and discussion

There are biases in GPS observations due to a different influence of space environment and hardware delays of satellite and receiver. The modernized GPS satellites provide signals on three or more carrier frequencies. The new bias, for example the GPS IFCB, which contains changing and a constant part IFHB, is noticed. The characteristics of the DCBs and their application in dual- and triple-frequency satellite clock estimation are introduced. Meanwhile, a method for estimating the satellite clock errors of the triple-frequency uncombined observations is presented. The variation of IFCB reveals that the real DCB(P1–P2) and DCB(P1–P5) vary with time. But using the current constant DCB(P1–P2) and DCB(P1–P5) estimation products does not affect the application of DCB(P1–P2) and DCB(P1–P5) in the satellite clock estimation of uncombined observations and the uncombined observations-based positioning. This can be explained by the fact that the variational parts of DCB(P1–P2) and DCB(P1–P5) are absorbed by the estimated clock in satellite clock estimation. To evaluate the estimated satellite clock error, the performance of IFCB in P1/P5-based SPP is studied. The results show that the effect of IFCB on the up direction is more evident than on the north and east directions. The improvements are about 29, 35 and 52% for north, east and up components. Aiming at validating the role and significance of the DCBs in the triple-frequency uncombined clock error estimation and validating the contribution of the code observation on PPP convergence, the performance of DCB(P1–P2), DCB(P1–P5) and IFCB in the triple-frequency combined and uncombined PPP convergence was studied. The results indicate that the DCB corrections benefit PPP initialization. The performance of DCBs in dual- and triple-frequency positioning also verifies the correctness of the method for estimating satellite clock error.