Skip to main content

Functional model modification of precise point positioning considering the time-varying code biases of a receiver


Precise Point Positioning (PPP), initially developed for the analysis of the Global Positing System (GPS) data from a large geodetic network, gradually becomes an effective tool for positioning, timing, remote sensing of atmospheric water vapor, and monitoring of Earth’s ionospheric Total Electron Content (TEC). The previous studies implicitly assumed that the receiver code biases stay constant over time in formulating the functional model of PPP. In this contribution, it is shown this assumption is not always valid and can lead to the degradation of PPP performance, especially for Slant TEC (STEC) retrieval and timing. For this reason, the PPP functional model is modified by taking into account the time-varying receiver code biases of the two frequencies. It is different from the Modified Carrier-to-Code Leveling (MCCL) method which can only obtain the variations of Receiver Differential Code Biases (RDCBs), i.e., the difference between the two frequencies’ code biases. In the Modified PPP (MPPP) model, the temporal variations of the receiver code biases become estimable and their adverse impacts on PPP parameters, such as ambiguity parameters, receiver clock offsets, and ionospheric delays, are mitigated. This is confirmed by undertaking numerical tests based on the real dual-frequency GPS data from a set of global continuously operating reference stations. The results imply that the variations of receiver code biases exhibit a correlation with the ambient temperature. With the modified functional model, an improvement by 42% to 96% is achieved in the Differences of STEC (DSTEC) compared to the original PPP model with regard to the reference values of those derived from the Geometry-Free (GF) carrier phase observations. The medium and long term (1 × 104 to 1.5 × 104 s) frequency stability of receiver clocks are also significantly improved.


In exploring the potential of Global Positioning System (GPS) for a variety of applications, Precise Point Positioning (PPP) has been developed as a tool for processing code and phase observations from a stand-alone GPS receiver at the undifferenced level (Zumberge et al. 1997a) along with the use of precise satellite orbit and clock products provided by the International GNSS (Global Navigation Satellite System) Service (IGS) (Kouba and Héroux 2001). The PPP can deliver various types of parameters, including station positions, receiver clock offsets, Zenith Troposphere Delays (ZTDs), and slant ionosphere delays, which are of great importance for practical uses. The positioning accuracy is at the level of a few centimeters in static mode and below one decimeter in kinematic mode (Bisnath and Gao 2009). This suggests PPP can be used for crustal deformation monitoring (Wright et al. 2012; Xu et al. 2013), marine surveying (Alkan and Öcalan 2013; Geng et al. 2010), and land-vehicle navigation (Rabbou and El-Rabbany 2015; Wielgosz et al. 2005). In recent years, the efficient and flexible PPP technique has also played a crucial role in several non-positioning applications, especially in atmospheric (ionosphere and troposphere) sounding (Rovira-Garcia et al. 2015; Shi et al. 2014; Yuan et al. 2014) as well as time and frequency transfer (Defraigne et al. 2007; Ge et al. 2019; Orgiazzi et al. 2005; Tu et al. 2019).

In the implementation of PPP, one needs to formulate the functional model (i.e., observation equations), relating the GPS observations to the parameters to be estimated. One assumption underlying this formulation is that the receiver code biases do not change significantly over time (Banville and Langley 2011b; Håkansson et al. 2017). A vast amount of work has cast considerable doubt on the validity of this assumption (Bruyninx et al. 1999; Coster et al. 2013; Wanninger et al. 2017) and found that the phenomenon of receiver code bias variation, which is closely related to the ambient temperature, is widespread. For example, the Geometry-Free (GF) receiver code biases, known as receiver Differential Code Biases (DCBs) (Montenbruck et al. 2014; Sardon et al. 1994), has been found to exhibit an apparent intraday variability of 4 ns to 9 ns (Ciraolo et al. 2007), far exceeding the code noise level (depending on the receiver type, but generally smaller than 1 ns). If the assumption of time-constant receiver code biases is taken, PPP solutions will be biased and hence the performances in PPP applications will be degraded. For the ionospheric Slant Total Electron Content (STEC) retrieval, the Modified Carrier-to-Code Leveling (MCCL) method (Zhang et al. 2019), as well as the integer-levelling procedure (Banville and Langley 2011a; Banville et al. 2012) can both effectively eliminate the effect of receiver code bias variations. As far as the GPS-based timing application is concerned, there are still a limited amount of research focusing on how to cope with the time-varying receiver code biases.

In this study, a modified version of PPP is proposed, whose functional model contains time-varying receiver code biases, and is formulated based on raw observations instead of the Ionosphere-Free (IF) combinations. The rank deficiencies are removed, which are caused by the functional model and lead to the non-estimability of all the parameters, by fixing a minimum set of parameters to their prior values, resulting in a full-rank system of observation equations (Odijk et al. 2016; Teunissen 1985). In this system of observation equations, the temporal variations of the receiver code biases on two frequencies become estimable. It will be shown that the ambiguity parameters, ionospheric delay, and receiver clock offset directly absorb the combination of time-varying receiver code biases, which are normally considered as constant in subsequent ionospheric modeling (Liu et al. 2017, 2018) and time transfer (Ge et al. 2019; Tu et al. 2019). This latter assumption causes adverse effects in these applications will be shown. In this regard, the Modified PPP (MPPP) functional model in ionospheric STEC retrieval and timing will be the focus of the research. The precise satellite orbit and clock products from an external provider such as the IGS are applied as deterministic corrections when conducting PPP, hence the MPPP proposed in this work is to be considered as a geometry-based method. The model can simultaneously obtain the variations of receiver code biases at two different frequencies using raw observations. In contrast, the MCCL method that is actually a kind of geometry-free method (Zhang et al. 2019) can only detect the between-epoch fluctuations of Receiver Differential Code Biases (RDCBs) and cannot be applicable to time or frequency transfer because the receiver clock parameter is eliminated in the geometry-free combinations of code and phase observations.

The organization of this work proceeds as follows. In “Methods” section, the full-rank functional model for the original as well as the modified PPP are constructed, followed by the interpretation of the estimable parameters. “Results” secrtion provides numerical insights into the ability of the MPPP to exclude the effects that the short-term temporal variability of the receiver code biases has on ambiguity estimation, ionospheric STEC retrieval and timing. “Conclusions” section concludes the study with a short discussion.


In this section, the rank-deficient system of GPS observation equations is taken as a starting point, and then the two PPP models are presented (i.e., original and modified), focusing mainly on developing the functional model and interpreting the estimable parameters.

GPS observation equations

Let us consider a scenario where \(m\) satellites, transmitting signals on \(f\) frequencies, are tracked by a single receiver over \(t\) epochs. Under this scenario, the system of observation equations has the following form (Leick et al. 2015),

$$\begin{aligned} & p_{r,j}^{s} \left( i \right) = l_{r}^{s} \left( i \right) + m_{r}^{s} \tau_{r} \left( i \right) + \text{d}t_{r} \left( i \right) - \text{d}t^{s} \left( i \right) + \mu_{j} \iota_{r}^{s} \left( i \right) + d_{r,j} - d_{j}^{s} \\ & \phi_{r,j}^{s} \left( i \right) = l_{r}^{s} \left( i \right) + m_{r}^{s} \tau_{r} \left( i \right) + \text{d}t_{r} \left( i \right) - \text{d}t^{s} \left( i \right) - \mu_{j} \iota_{r}^{s} \left( i \right) + a_{r,j}^{s} \\ \end{aligned}$$

with \(r\), \(s = 1, \ldots, m\), \(j = 1, \ldots, f\) and \(i = 1, \ldots, t\) being the receiver, satellite, frequency and epoch indices, respectively, and where \(p_{r,j}^{s} \left( i \right)\) and \(\phi_{r,j}^{s} \left( i \right)\) denote, respectively, the code and phase observables, \(l_{r}^{s} \left( i \right)\) the receiver-satellite range, \(\tau_{r}^{{}} \left( i \right)\) the zenith troposphere delay and \(m_{r}^{s}\) the corresponding troposphere mapping function, \(\text{d}t_{r} \left( i \right)\) and \(\text{d}t^{s} \left( i \right)\) the receiver and satellite clock offsets, \(d_{r,j}\) and \(d_{,j}^{s}\) the frequency-dependent receiver and satellite code biases, \(\iota_{r}^{s} \left( i \right)\) the (first-order) slant ionosphere delay on the first frequency (\(\mu_{j} = {{\lambda_{j}^{2} } \mathord{\left/ {\vphantom {{\lambda_{j}^{2} } {\lambda_{1}^{2} }}} \right. \kern-\nulldelimiterspace} {\lambda_{1}^{2} }}\)) and \(a_{r,j}^{s}\) the (non-integer) ambiguity with \(\lambda_{j}\) the wavelength of frequency \(j\). Note that all quantities are in unit of range, and the time-constant parameters do not have an epoch index \(i\).

For positioning purposes the primary parameter of interest is the three-dimensional receiver position vector. To employ the least squares adjustment one needs to linearize the above observation equations. The linearized form of Eq. (1) is as follows (Teunissen and Kleusberg 2012):

$$\begin{aligned} & \Delta p_{r,j}^{s} \left( i \right) = m_{r}^{s} \tau_{r} \left( i \right) + \text{d}t_{r} \left( i \right) + \mu_{j} \iota_{r}^{s} \left( i \right) + d_{r,j} - d_{j}^{s} + d_{IF}^{s} \\ & \Delta \phi_{r,j}^{s} \left( i \right) = m_{r}^{s} \tau_{r} \left( i \right) + \text{d}t_{r} \left( i \right) - \mu_{j} \iota_{r}^{s} \left( i \right) + a_{r,j}^{s} + d_{IF}^{s} \\ \end{aligned}$$

where \(\Delta p_{r,j}^{s} \left( i \right)\) and \(\Delta \phi_{r,j}^{s} \left( i \right)\) are the code and phase observables that are corrected for the approximate receiver-satellite ranges and the satellite clocks. Note that the satellite positions and clocks computed using the IGS final products are not part of the parameters, and the receiver coordinates are fixed to the values in the IGS Solution Independent Exchange (SINEX) product and do not need to be estimated. Also the derived model shall not change if one further considers the receiver positions as unknown parameters. The ionosphere-free satellite code bias, \(d_{,IF}^{s}\), appears in both code and phase observations, because of its presence in the introduced satellite clocks (Zumberge et al. 1997b).

In the following two sections, only the dual-frequency case is considered (that is, \(f = 2\)) to keep the presentation of the functional model as simple as possible.

The original version of PPP

Equation (2) represents a rank-deficient system, implying that some of the parameters are not unbiased estimable, but only combinations of them. This becomes clearer if we write (Zhang et al. 2012),

$$d_{r,j} - d_{j}^{s} + d_{IF}^{s} = d_{r,IF} + \mu_{j} d_{r,GF} - \mu_{j} d_{GF}^{s}$$

with \(d_{r,IF}\) the ionosphere-free receiver code bias, \(d_{r,GF}\) and \(d_{,GF}^{s}\) the geometry-free receiver and satellite code biases. It then follows, \(d_{r,IF}\) is not separable from \(dt_{r} \left( i \right)\), and the \(\iota_{r}^{s} \left( i \right)\), \(d_{r,GF}\) and \(d_{,GF}^{s}\) are not separable from one another. The idea is therefore to reduce the number of parameters by lumping some of them together. For instance, with the lumped parameters,

$$\begin{aligned} & \text{d}\overline{t}_{r} \left( i \right) = \text{d}t_{r} \left( i \right) + d_{r,IF} \\ & \overline{\iota }_{r}^{s} \left( i \right) = \iota_{r}^{s} \left( i \right) + d_{r,IF} - d_{GF}^{s} \\ \end{aligned}$$

the code observation equation is of full-rank and reads,

$$\Delta p_{r,j}^{s} \left( i \right) = m_{r}^{s} \tau_{r}^{{}} \left( i \right) + \text{d}\overline{t}_{r} \left( i \right) + \mu_{j} \overline{\iota }_{r}^{s} \left( i \right)$$

with \(\text{d}\overline{t}_{r} \left( i \right)\) the biased receiver clock and \(\overline{\iota }_{r}^{s} \left( i \right)\) the biased slant ionosphere delay in (4).

Inserting \(\text{d}\overline{t}_{r} \left( i \right)\) and \(\overline{\iota }_{r}^{s} \left( i \right)\) into the phase observation equation and lumping \(a_{r,j}^{s}\) with \(d_{,IF}^{s}\), we eliminate the rank deficiency and then obtain

$$\Delta \phi_{r,j}^{s} \left( i \right) = m_{r}^{s} \tau_{r}^{{}} \left( i \right) + \text{d}\overline{t}_{r} \left( i \right) - \mu_{j} \overline{\iota }_{r}^{s} \left( i \right) + \overline{a}_{r,j}^{s}$$


$$\overline{a}_{r,j}^{s} = a_{r,j}^{s} + \left( {d_{IF}^{s} - d_{r,IF} } \right) - \mu_{j} \left( {d_{GF}^{s} - d_{r,GF} } \right)$$

being the biased ambiguity.

Equations (5) and (6) represent the full-rank functional model for the original PPP, in which all estimable parameters are interpreted by Eqs. (4) and (7). Recall that it is a common practice to use the (recursive) least-squares estimator to solve for the parameters. Bearing this in mind, a few remarks on the effects of time-varying receiver code biases are thus in order. Firstly, the time-constant of \(\overline{a}_{r,j}^{s}\), an implicit assumption made to exploit the very precise phase observable, becomes invalid. This, in turn, can introduce larger errors in comparison with the formal errors of all parameters. Secondly, the use of \(\text{d}\overline{t}_{r} \left( i \right)\) for timing and time transfer can be susceptible to batch boundary discontinuities (Collins et al. 2010; Defraigne and Bruyninx 2007), because time averaging of \(d_{r,IF}\) induces clock datum changes between batches. The variability of \(d_{r,IF}\), which does not average out to zero, limits the use of \(\text{d}\overline{t}_{r} \left( i \right)\) for frequency transfer, inducing worse frequency stability than one would expect theoretically (Bruyninx et al. 1999). Thirdly, when using the thin-layer ionosphere model for determining vertical TEC from \(\overline{\iota }_{r}^{s} \left( i \right)\), a temporal variation of \(d_{r,GF}\) is partially responsible for the occurrence of the model error effects (Brunini and Azpilicueta 2009).

The modified version of PPP

Let us consider again Eq. (2), but replace \(d_{r,j}\) by \(d_{r,j} \left( i \right)\), implying that the receiver code bias is allowed to vary freely over time. Thus

$$\begin{aligned} & \Delta p_{r,j}^{s} \left( i \right) = m_{r}^{s} \tau_{r} \left( i \right) + \text{d}t_{r} \left( i \right) + \mu_{j} \iota_{r}^{s} \left( i \right) + d_{r,j} \left( 1 \right) + \tilde{d}_{r,j} \left( i \right) - d_{j}^{s} + d_{IF}^{s} \\ & \Delta \phi_{r,j}^{s} \left( i \right) = m_{r}^{s} \tau_{r} \left( i \right) + \text{d}t_{r} \left( i \right) - \mu_{j} \iota_{r}^{s} \left( i \right) + a_{r,j}^{s} + d_{IF}^{s} \\ \end{aligned}$$


$$d_{r,j} \left( i \right) = d_{r,j} \left( 1 \right) + \tilde{d}_{r,j} \left( i \right)$$

with \(\tilde{d}_{r,j} \left( i \right) = d_{r,j} \left( i \right) - d_{r,j} \left( 1 \right)\).

Note that if the \(\tilde{d}_{r,j} \left( i \right)\) is ignored, the (rank-deficient) design matrix of Eq. (8) turns out to be the same as that of Eq. (2). In the following \(\tilde{d}_{r,j} \left( i \right)\) is assumed as a time-varying parameter. But there will be a rank deficiency between \(\text{d}t_{r} \left( i \right)\), \(d_{r,j} (i)\) and \(a_{r,j}^{s}\) parameters. The receiver code biases at the first epoch are chosen as datum to eliminate the rank deficiency, thus the estimated \(\tilde{d}_{r,j} \left( i \right)\) are the variations of receiver code bias with respect to the first epoch, see Eq. (9). As for other parameters, the procedures described in the preceding subsection are closely followed to overcome the rank deficiency problem, thereby yielding

$$\begin{aligned} & \Delta p_{r,j}^{s} \left( i \right) = m_{r}^{s} \tau_{r} \left( i \right) + \tilde{d}{t}_{r} \left( i \right) + \mu_{j} \tilde{\iota }_{r}^{s} \left( i \right) + \tilde{d}_{r,j} \left( i \right) \\ & \Delta \phi_{r,j}^{s} \left( i \right) = m_{r}^{s} \tau_{r} \left( i \right) + \tilde{d}{t}_{r} \left( i \right) - \mu_{j} \tilde{\iota }_{r}^{s} \left( i \right) + \tilde{a}_{r,j}^{s} \\ \end{aligned}$$


$$\begin{aligned} & \tilde{{d}}{t}_{r} \left( i \right) = dt_{r} \left( i \right) + d_{r,IF} \left( 1 \right) \\ & \tilde{\iota }_{r}^{s} \left( i \right) = \iota_{r}^{s} \left( i \right) + d_{r,GF} \left( 1 \right) - d_{GF}^{s} \\ & \tilde{a}_{r,j}^{s} = a_{r,j}^{s} + \left[ {d_{IF}^{s} - d_{r,IF} \left( 1 \right)} \right] - \mu_{j} \left[ {d_{GF}^{s} - d_{r,GF} \left( 1 \right)} \right] \\ \end{aligned}$$

where a tilde marks the biased, but estimable parameters. Note the difference to the estimable parameters in Eqs. (5) and (6).

Equation (10) is a full-rank system, representing the full-rank functional model constructed for the modified PPP. Note that, the estimable receiver code biases \(\tilde{d}_{r,j} \left( i \right)\) only appear in the observation equations at the second epoch and beyond, i.e., \(i \ge 2\), for those at the first epoch get lumped with the parameters given in Eq. (11). The estimability of \(\tilde{d}_{r,j} \left( i \right)\) implies that any temporal variations in receiver code biases shall fully enter into \(\tilde{d}_{r,j} \left( i \right)\), and thus have no negative impacts on the estimation of remaining parameters.


The present section starts with a description of the experimental data and processing strategies, then proceeds with the results and analysis, and ends with some concluding remarks.

Experiment setup

The data for this analysis were collected at four stations with dual-frequency observations and a 30-s sampling interval. The detailed information is given in Table 1. Note that stations ALIC and MTDN have thermometers to gauge the air temperatures, and the receivers at stations NOT1 and MEDI were both connected to a high performance external frequency standard (H-maser).

Table 1 The information on the collected GPS data used in this study

Our data processing strategies are as follows. Firstly, the original as well as the modified PPP were conducted, solving for the parameters by means of Kalman filter. The estimated parameters included the ZTDs (a random walk process with a variance rate of 1 × 10−7 m2/s), the biased receiver clocks (time-varying), the biased slant ionosphere delay (time-varying), the biased ambiguities (time-constant), and the biased receiver code biases (time-varying for the modified PPP). The elevation cut-off angle was set as 10°, and the P1-C1 satellite DCB corrections provided by the IGS were applied to the C1 observations. The IGS final orbit and clock products were employed to correct for the satellite orbital and clock errors. The other critical corrections to raw observations were also considered, including the solid Earth tide, the phase wind-up effects, and the satellite and receiver phase center offsets and variations.

Second, The variations of the code observations were estimated on each frequency epoch by epoch. The results would allow us to verify the ability of the modified PPP to directly measure the temporal variability of the receiver code biases for each observable type.

Third, the time-varying receiver code biases are not considered in Global Ionosphere Maps (GIMs) provided by the IGS, and the GF carrier phase observables are almost unaffected by measurements noise and multipath. The Difference of Slant Total Electron Content (DSTEC) obtained from the GF carrier phase observations is thus chosen as the reference to evaluate the performance of the two sets of STEC results derived with the two PPP models (Hernández-Pajares et al. 2017; Roma-Dollase 2018).

Fourthly, in order to validate the feasibility and effectiveness of the MPPP model in timing, the Allan DEViation (ADEV) was used to evaluate the frequency stability of the receiver clock solutions.

Intraday variations of receiver code biases

Figure 1 depicts the relationship between the epoch-by-epoch estimates of receiver code biases derived by the MPPP and the temperature. It is shown that the variations of P1 (blue lines) and P2 (green lines) code biases are strongly correlated with the intraday temperature obtained from the IGS RINEX-MET data at stations ALIC and MTDN on day 002 in 2017 and 005 in 2018, respectively.

Fig. 1
figure 1

Time-varying of P1 (blue lines) and P2 (green lines) receiver code biases of ALIC (left column) and MTDN (right column) on day 002 in 2017 and day 005 in 2018, respectively, as estimated by the MPPP, and their ionosphere-free (gold lines) and GF (purple lines) combinations. The red lines depict intraday temperature values

The Pearson Correlation Coefficients (PCC) was used to measure the correlation between the time-varying receiver code biases and the intraday temperature (Zha et al. 2019). The corresponding PCC are all above 0.95. The ionosphere-free (gold lines) and GF (purple lines) combinations of P1 and P2 code bias variations also have a strong correlation with the intraday temperature (red lines), which is consistent with the previous research (Zha et al. 2019). Note that the variation values of receiver code biases and their GF/IF combinations in subplots (c), (d), (e) and (f) in Fig. 1 were reversed to make them consistent with the variations of temperature. Therefore, their variation series look consistent with the temperature, but their PCC values are negative.

Figure 2 shows the estimates of P1 (red lines) and P2 (green lines) receiver code biases by the MPPP proposed in this work and their ionosphere-free (gold line) and GF (blue line) combinations on an epoch-by-epoch basis at stations NOT1 and MEDI in two consecutive days.

Fig. 2
figure 2

Estimates of P1 (red lines) and P2 (green lines) receiver code biases and their ionosphere-free (gold line) and GF (blue line) combination on an epoch-by-epoch basis at stations NOT1 and MEDI for two consecutive days

It can be inferred from Fig. 2 that the principal factor responsible for this change cannot be the multipath effects, which should have a sidereal repeat period (Agnew and Larson 2007; Axelrad et al. 2005), but should be the difference of code bias variations for the two consecutive days.

According to the figures (Figs. 1, 2), the variations of P1 and P2 code biases range from a few nanoseconds to tens of nanoseconds. In this test the most significant change occurs at station MTDN on day 005 in 2018, with a peak-to-peak range of about 30 ns for the variation of P1 and P2 code biases as well as their ionosphere-free combinations. This is bound to bring disastrous effects on the estimated parameters, especially for ambiguity parameters, ionospheric STEC retrieval and receiver clock offsets, refer to Eq. (11).

It can be seen from Eq. (7) that the GF and ionosphere-free combinations of receiver code biases both enter ambiguity parameters when conducting the original PPP. The time-varying receiver code biases will therefore impair the ambiguity estimation performance and make them not constant because of the incorrect functional model. Let us take station MTDN associated with the largest variation of receiver code biases as an example. Figures 3 and 4 show the estimated ambiguities of L1 frequency based on the original PPP and MPPP models, respectively.

Fig. 3
figure 3

Estimated ambiguity parameters of L1 frequency at station MTDN using the original PPP model. Different colors correspond to different satellites

Fig. 4
figure 4

Estimated ambiguity parameters of L1 frequency at station MTDN using the MPPP model. Different colors correspond to different satellites

With the original PPP model, ambiguity estimates are subject to variations, not constant (see Fig. 3). Furthermore, the residuals obtained do not follow the normal distribution (see Fig. 5) owing to the effect of receiver code biases.

Fig. 5
figure 5

P1 (magenta dots) and P2 (green dots) residuals of code observations at station MTDN using the original PPP model

This will inevitably induce leveling errors in the STEC estimation. In contrast, with the MPPP model (see Fig. 4) where the variations of receiver code biases become estimable, the ambiguity estimates converge to constant reasonably and the residuals of code observations follow the normal distribution (see Fig. 6).

Fig. 6
figure 6

P1 (magenta dots) and P2 (green dots) residuals of code observations at station MTDN using the MPPP model

At this stage it is proved that MPPP model can get correct ambiguity estimates and reasonable code observation residuals. In the following sections the improvements in STEC retrieval and timing based on the MPPP model will be investigated.

Retrieval of STEC parameter

As mentioned earlier, also see Ciraolo et al. (2007), if the short-term variability of receiver DCBs is not properly managed, it can have significant impact on the STEC results. In order to evaluate the performance of the MPPP in retrieving STEC, we compared the DSTECs obtained by the original and modified PPP models was compared with those derived by using the GF carrier phase observations to minimize any impact from multipath or code biases. The corresponding results are shown in Fig. 7, where different colors represent different satellites.

Fig. 7
figure 7

Differences of DSTECs between the original PPP- (left column, Eqs. 5 and 6) as well as the MPPP-derived (right column, Eq. 10) STEC estimates and the STECs obtained from GF carrier phase observations. Different colors correspond to different satellites

It can be clearly seen that the STECs retrieved by the MPPP (right column) are more accurate and stable than those by the original PPP model (left column). Table 2 summarizes the Root-Mean-Square (RMS) values for the original PPP-DSTEC as well as MPPP-DSTEC. Note that the most obvious improvement of 96% occurs at station MTDN, which also has the significant variations of code biases on P1 and P2 as shown in Fig. 1. The other three stations (ALIC, NOTI and MEDI) also show considerable improvements. Considering the fact that the MPPP results are free of the effects due to variability of code biases, we can thus interpret the differences as the errors to which the original PPP results are subject.

Table 2 RMS and improvement percentage of the MPPP-DSTEC


Generally, the colored signature of the code noise is an interfering factor for the medium and long-term (from some hours to some days) stability of receiver clock solutions (Martínez-Belda et al. 2011; Martinez-belda et al. 2012). The MPPP (see Eq. 10) can theoretically eliminate the effect caused by the time-varying receiver code biases. To validate its effectiveness, the data at station NOT1 on day 001 in 2018 and station MEDI on day 009 in 2018 were used. Figure 8 shows the Allan deviation of receiver clock offsets at station NOT1 and MEDI, respectively, which are both connected to the external Hydrogen atomic clock.

Fig. 8
figure 8

Comparison of Allan deviation of the receiver clock error between the original PPP (blue lines) and modified PPP (red lines) at station NOT1 on day 001 in 2018 and MEDI on day 009 in 2018

The blue lines and red lines represent the Allan deviation of the PPP-derived and MPPP-derived receiver clock offsets, respectively. It can be clearly seen that the frequency stability of the MPPP-derived solutions is improved significantly relative to the original PPP-derived solutions. For stations NOT1 and MEDI, the medium and long term stabilities (1 × 104 to 1.5 × 104 s) of receiver clock are improved from 2.18 × 10−14 to 4.75 × 10−15 and 4.08 × 10−14 to 1.04 × 10−14, respectively. Therefore, the MPPP model can greatly improve the medium and long term (1 × 104 to 1.5 × 104 s) frequency stability of PPP-based timing.


As well known, receiver code biases may exhibit dramatic variations in hours or less. Therefore, the original PPP model cannot give optimal results, because it implicitly assumes receiver code biases are constant over the time course of interest. To account for this, the PPP functional model was modified by assuming that the receiver code biases can vary freely in time. By means of re-parameterization the rank deficiencies were overcome, resulting in a full-rank functional model in which the variations of receiver code biases on both frequencies between epochs are directly estimated, and thus have no impact on the performance.

A series of experiments were carried using the observations at four stations equipped with dual-frequency receivers. By comparing the results using the original and modified PPP, the following conclusions can be drawn. First, the modified PPP is capable of determining the short-term temporal variability of the bias associated with a single receiver and a code observable. The intraday variations of receiver code biases are indeed quite significant in some cases (see MTDN in Fig. 1), varying in a magnitude of a few nanoseconds to tens of nanoseconds and showing a strong correlation with the intraday temperature. Secondly, for the estimated STEC parameters the accuracy of MPPP-based STECs was improved by 46% to 96% compared with the PPP-based STECs. This was evaluated by comparing with a set of reference DSTEC values obtained using the GF carrier phase observations. Thirdly, for the timing, after eliminating the influence of the time-varying receiver code biases with the modified PPP model, the medium and long term (1 × 104 to 1.5 × 104 s) frequency stability of the MPPP-derived receiver clock was improved remarkably relative to the PPP-derived ones.

Availability of data and materials

RINEX observation data and RINEX-MET data (temperature data) of IGS stations, precise orbit and clock products are obtained from the online archives of the Crustal Dynamics Data Information System,


  • Agnew, D. C., & Larson, K. M. (2007). Finding the repeat times of the GPS constellation. GPS Solutions, 11, 71–76.

    Article  Google Scholar 

  • Alkan, R. M., & Öcalan, T. (2013). Usability of the GPS precise point positioning technique in marine applications. Journal of Navigation, 66, 579–588.

    Article  Google Scholar 

  • Axelrad, P., Larson, K., & Jones, B. (2005). Use of the correct satellite repeat period to characterize and reduce site-specific multipath errors. In Proceedings of the ION GNSS, 2005. Citeseer (pp 2638–2648).

  • Banville, S., & Langley, R. B. (2011a). Defining the basis of an "integer-levelling" procedure for estimating slant total electron content. In ION GNSS 2011

  • Banville, S., & Langley, R. B. (2011b). Defining the basis of an integer-levelling procedure for estimating slant total electron content. In Proceedings of the 24th international technical meeting of the satellite division of the institute of navigation (ION GNSS 2011) (pp 2542–2551).

  • Banville, S., Zhang, W., Ghoddousi-Fard, R., & Langley, R. B. (2012). Ionospheric monitoring using "integer-levelled" observations. In ION GNSS 2012.

  • Bisnath, S., & Gao, Y. (2009). Current state of precise point positioning and future prospects and limitations. Berlin: Springer.

    Google Scholar 

  • Brunini, C., & Azpilicueta, F. J. (2009). Accuracy assessment of the GPS-based slant total electron content. Journal of Geodesy, 83, 773–785.

    Article  Google Scholar 

  • Bruyninx, C., Defraigne, P., & Sleewaegen, J.-M. (1999). Time and frequency transfer using GPS codes and carrier phases: Onsite experiments. GPS Solutions, 3, 1–10.

    Article  Google Scholar 

  • Ciraolo, L., Azpilicueta, F., Brunini, C., Meza, A., & Radicella, S. (2007). Calibration errors on experimental slant total electron content (TEC) determined with GPS. Journal of Geodesy, 81, 111–120.

    Article  Google Scholar 

  • Collins, P., Bisnath, S., Lahaye, F., & Héroux, P. (2010). Undifferenced GPS ambiguity resolution using the decoupled clock model and ambiguity datum fixing. Navigation, 57, 123–135.

    Article  Google Scholar 

  • Coster, A., Williams, J., Weatherwax, A., Rideout, W., & Herne, D. (2013). Accuracy of GPS total electron content: GPS receiver bias temperature dependence. Radio Science, 48, 190–196.

    Article  Google Scholar 

  • Defraigne, P., & Bruyninx, C. (2007). On the link between GPS pseudorange noise and day-boundary discontinuities in geodetic time transfer solutions. GPS Solutions, 11, 239–249.

    Article  Google Scholar 

  • Defraigne, P., Bruyninx, C., & Guyennon, N. (2007). PPP and phase-only GPS time and frequency transfer. In 2007 IEEE international frequency control symposium joint with the 21st European frequency and time forum, 2007, (pp. 904–908). IEEE.

  • Ge, Y., Zhou, F., Liu, T., Qin, W., Wang, S., & Yang, X. (2019). Enhancing real-time precise point positioning time and frequency transfer with receiver clock modeling. GPS Solutions, 23, 20.

    Article  Google Scholar 

  • Geng, J., Teferle, F. N., Meng, X., & Dodson, A. H. (2010). Kinematic precise point positioning at remote marine platforms. GPS Solutions, 14, 343–350.

    Article  Google Scholar 

  • Håkansson, M., Jensen, A. B., Horemuz, M., & Hedling, G. (2017). Review of code and phase biases in multi-GNSS positioning. GPS Solutions, 21, 849–860.

    Article  Google Scholar 

  • Hernández-Pajares, M., Roma-Dollase, D., Krankowski, A., García-Rigo, A., & Orús-Pérez, R. (2017). Methodology and consistency of slant and vertical assessments for ionospheric electron content models. Journal of Geodesy, 91, 1405–1414.

    Article  Google Scholar 

  • Kouba, J., & Héroux, P. (2001). Precise point positioning using IGS orbit and clock products. GPS Solutions, 5, 12–28.

    Article  Google Scholar 

  • Leick, A., Rapoport, L., & Tatarnikov, D. (2015). GPS satellite surveying. New York: Wiley.

    Book  Google Scholar 

  • Liu, T., Yuan, Y., Zhang, B., Wang, N., Tan, B., & Chen, Y. (2017). Multi-GNSS precise point positioning (MGPPP) using raw observations. Journal of Geodesy, 91, 253–268.

    Article  Google Scholar 

  • Liu, T., Zhang, B., Yuan, Y., & Li, M. (2018). Real-time precise point positioning (RTPPP) with raw observations and its application in real-time regional ionospheric VTEC modeling. Journal of Geodesy, 92, 1267–1283.

    Article  Google Scholar 

  • Martínez-Belda, M. C., Defraigne, P., Baire, Q., & Aerts, W. (2011). Single-frequency time and frequency transfer with Galileo E5. In 2011 Joint conference of the IEEE international frequency control and the European frequency and time forum (FCS) proceedings, 2011i (pp. 1–6). IEEE.

  • Martinez-Belda, M. C., Defraigne, P., & Bruyninx, C. (2012). On the potential of Galileo E5 for time transfer. IEEE Transactions on Ultrasonics, Ferroelectrics, and Frequency Control, 60, 121–131.

    Article  Google Scholar 

  • Montenbruck, O., Hauschild, A., & Steigenberger, P. (2014). Differential code bias estimation using multi-GNSS observations and global ionosphere maps. Navigation: Journal of The Institute of Navigation, 61, 191–201.

    Article  Google Scholar 

  • Odijk, D., Zhang, B., Khodabandeh, A., Odolinski, R., & Teunissen, P. J. (2016). On the estimability of parameters in undifferenced, uncombined GN network and PPP-RTK user models by means of S-system theory. Journal of Geodesy, 90, 15–44.

    Article  Google Scholar 

  • Orgiazzi, D., Tavella, P., & Lahaye, F. (2005). Experimental assessment of the time transfer capability of precise point positioning (PPP). In Proceedings of the 2005 IEEE international frequency control symposium and exposition, 2005 (pp. 337–345). IEEE.

  • Rabbou, M. A., & El-Rabbany, A. (2015). Tightly coupled integration of GPS precise point positioning and MEMS-based inertial systems. GPS Solutions, 19, 601–609.

    Article  Google Scholar 

  • Roma-Dollase, D. (2018). Consistency of seven different GNSS global ionospheric mapping techniques during one solar cycle. Journal of Geodesy, 92, 691–706.

    Article  Google Scholar 

  • Rovira-Garcia, A., Juan, J. M., Sanz, J., & González-Casado, G. (2015). A worldwide ionospheric model for fast precise point positioning. IEEE Transactions on Geoscience and Remote Sensing, 53, 4596–4604.

    Article  Google Scholar 

  • Sardon, E., Rius, A., & Zarraoa, N. (1994). Estimation of the transmitter and receiver differential biases and the ionospheric total electron content from Global Positioning System observations. Radio Science, 29, 577–586.

    Article  Google Scholar 

  • Shi, J., Xu, C., Guo, J., & Gao, Y. (2014). Real-time GPS precise point positioning-based precipitable water vapor estimation for rainfall monitoring and forecasting. IEEE Transactions on Geoscience and Remote Sensing, 53, 3452–3459.

    Google Scholar 

  • Teunissen, P. (1985). Zero order design: generalized inverses, adjustment, the datum problem and S-transformations. In E. W. Grafarend & F. Sansò (Eds.), Optimization and design of geodetic networks (pp. 11–55). Berlin: Springer.

    Chapter  Google Scholar 

  • Teunissen, P. J., & Kleusberg, A. (2012). GPS for geodesy. Berlin: Springer.

    Google Scholar 

  • Tu, R., Zhang, P., Zhang, R., Liu, J., & Lu, X. (2019). Modeling and performance analysis of precise time transfer based on BDS triple-frequency un-combined observations. Journal of Geodesy, 93, 837–847.

    Article  Google Scholar 

  • Wanninger, L., Sumaya, H., & Beer, S. (2017). Group delay variations of GPS transmitting and receiving antennas. Journal of Geodesy, 91, 1099–1116.

    Article  Google Scholar 

  • Wielgosz, P., Grejner-Brzezinska, D., & Kashani, I. (2005). High-accuracy DGPS and precise point positioning based on Ohio CORS network. Navigation, 52, 23–28.

    Article  Google Scholar 

  • Wright, T. J., Houlié, N., Hildyard, M., & Iwabuchi, T. (2012). Real-time, reliable magnitudes for large earthquakes from 1 Hz GPS precise point positioning: The 2011 Tohoku-Oki (Japan) earthquake. Geophysical Research Letters, 39, 12302.

    Article  Google Scholar 

  • Xu, P., Shi, C., Fang, R., Liu, J., Niu, X., Quan, Z., & Yanagidani, T. (2013). High-rate precise point positioning (PPP) to measure seismic wave motions: an experimental comparison of GPS PPP with inertial measurement units. Journal of Geodesy, 87, 361–372.

    Article  Google Scholar 

  • Yuan, Y., Zhang, K., Rohm, W., Choy, S., Norman, R., & Wang, C. S. (2014). Real-time retrieval of precipitable water vapor from GPS precise point positioning. Journal of Geophysical Research: Atmospheres, 119, 10044–10057.

    Google Scholar 

  • Zha, J., Zhang, B., Yuan, Y., Zhang, X., & Li, M. (2019). Use of modified carrier-to-code leveling to analyze temperature dependence of multi-GNSS receiver DCB and to retrieve ionospheric TEC. GPS Solutions, 23, 103.

    Article  Google Scholar 

  • Zhang, B., Ou, J., Yuan, Y., & Li, Z. (2012). Extraction of line-of-sight ionospheric observables from GPS data using precise point positioning. Science China Earth Sciences, 55, 1919–1928.

    Article  Google Scholar 

  • Zhang, B., Teunissen, P. J., Yuan, Y., Zhang, X., & Li, M. (2019). A modified carrier-to-code leveling method for retrieving ionospheric observables and detecting short-term temporal variability of receiver differential code biases. Journal of Geodesy, 93, 19–28.

    Article  Google Scholar 

  • Zumberge, J. F., Heflin, M. B., Jefferson, D. C., Watkins, M. M., & Webb, F. H. (1997). Precise point positioning for the efficient and robust analysis of GPS data from large networks. Journal of Geophysical Research: Solid Earth, 102, 5005–5017.

    Article  Google Scholar 

  • Zumberge, J. F., Watkins, M. M., & Webb, F. H. (1997). Characteristics and applications of precise GPS clock solutions every 30 seconds. Navigation, 44, 449–456.

    Article  Google Scholar 

Download references


The authors would like to acknowledge the IGS and Geoscience Australia (GA) for providing observations, meteorological data and precise satellite orbit and clock products.


This work was partially funded by the National Natural Science Foundation of China (Grant No. 41774042) and the Scientific Instrument Developing Project of the Chinese Academy of Sciences (Grant No. YJKYYQ20190063). The first author is supported by the Chinese Academy of Sciences (CAS) Pioneer Hundred Talents Program.

Author information

Authors and Affiliations



All authors contributed to the design of the research plan. BZ proposed the idea of the modified precise point positioning model and drafted the manuscript. CZ carried out the experiments, performed post-processing analyses and modified the manuscript. RO and TL gave the valuable suggestions and modified the manuscript. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Baocheng Zhang.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Zhang, B., Zhao, C., Odolinski, R. et al. Functional model modification of precise point positioning considering the time-varying code biases of a receiver. Satell Navig 2, 11 (2021).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: