Keywords

1 Introduction

The positioning accuracy of the Global Navigation Satellite System (GNSS) is affected by different kinds of error sources, and the satellite clock error is one of the most influential factors. To meet the high-precision positioning requirement of precise point positioning (PPP) users, the estimation and service for the precise satellite clock becomes an essential routine of the International GNSS Service (IGS) [1, 2]. The ionosphere-free phase and pseudorange observations (L1/L2 and P1/P2) collected from the global observation stations are used in GNSS satellite clock error estimation [3-7]. Initially, final precise satellite clock products are provided and delayed by 15 days. Considering the influence of the phase ambiguity on the estimating efficiency, some computationally efficient approaches are presented for real-time application [3, 4, 6-8]. In these computationally efficient approaches, the time-varying satellite clock correction is computed according to the epoch-differenced algorithm and phase observation, while the satellite clock error of the reference epoch is estimated with code observation. Since then, in order that high-precision satellite clock and orbit products are provided for users, with the help of multiple agencies and centers, real-time service (RTS) of IGS is published as Ratio Technical Commission for Maritime Services (RTCM) and state-space representation (SSR) streams are broadcasted on the Internet [18]. Based on the analysis for triple-frequency observations, the GPS inter-frequency clock bias is noticed [9-11] and the estimation for the triple-frequency satellite clock is developed [12, 13]. The satellite clock services for the single, dual and triple-frequency users are realized based on the IGS clock products, which is estimated with ionosphere-free phase and pseudorange combinations, and the biases between the different observations.

The reasonable stochastic model is very important for processing the GNSS data to obtain the optimal solution [14-16]. The stochastic model is generally constructed with the elevation-dependent function and standard deviations of observations. In satellite clock estimating, the code and phase observations and their corresponding stochastic models are adopted. The different weights should be applied for observations of different stations considering their precision differences [17]. The 1:10000 of the weight ratio is generally adopted for pseudorange and phase observations in satellite clock error estimating [5, 6]. It is obvious that using the same weight ratio for all observation stations ignores the precision differences of observations for different GNSS receivers. It is well known that the performance of the GNSS receiver and their observations are improved with the continuous progress of the GNSS hardware technology. Thus, the satellite clock estimation is discussed and the construction strategy of the stochastic model is presented. GPS data from 56 IGS stations on DOY 100, 2021 are processed for analyzing the quality of the estimated satellite clock errors and data from 10 user stations are used for evaluating the performance of PPP.

2 Method

Generally, undifferenced ionosphere-free carrier-phase and pseudorange observations are adopted in satellite clock estimation. During the estimation process, the biases from the satellite and the receiver are included in the estimated satellite clock and receiver clock respectively. The contribution of the biases from the pseudorange and phase observations to the clock estimations determines the used weights of observations. Thus, the strategy of the satellite clock error resolution is discussed and then the establishment of the stochastic model is presented.

2.1 The Satellite Clock Estimation

The ionosphere-free carrier-phase and pseudorange observations can be described as:

$$\begin{array}{c}IF\left(L1,L2\right)=\rho +{\delta }^{r}-{\delta }^{s}+\left(\frac{{f}_{1}^{2}}{{f}_{1}^{2}-{f}_{2}^{2}}{N}_{1}{\lambda }_{1}-\frac{{f}_{2}^{2}}{{f}_{1}^{2}-{f}_{2}^{2}}{N}_{2}{\lambda }_{2}\right)-\left(\frac{{f}_{1}^{2}}{{f}_{1}^{2}-{f}_{2}^{2}}{FCB}_{1}^{r}-\frac{{f}_{2}^{2}}{{f}_{1}^{2}-{f}_{2}^{2}}{FCB}_{2}^{r}\right)\\ +\left(\frac{{f}_{1}^{2}}{{f}_{1}^{2}-{f}_{2}^{2}}{FCB}_{1}^{s}-\frac{{f}_{2}^{2}}{{f}_{1}^{2}-{f}_{2}^{2}}{FCB}_{2}^{s}\right)-{T}^{r,s}+{\varepsilon }_{\mathrm{1,2}}\\ IF\left(P1,P2\right)=\rho +{\delta }^{r}-{\delta }^{s}-\left(\frac{{f}_{1}^{2}}{{f}_{1}^{2}-{f}_{2}^{2}}{b}_{1}^{r}-\frac{{f}_{2}^{2}}{{f}_{1}^{2}-{f}_{2}^{2}}{b}_{2}^{r}\right)+\left(\frac{{f}_{1}^{2}}{{f}_{1}^{2}-{f}_{2}^{2}}{b}_{1}^{s}-\frac{{f}_{2}^{2}}{{f}_{1}^{2}-{f}_{2}^{2}}{b}_{2}^{s}\right)-{T}^{r,s}+{\omega }_{\mathrm{1,2}}\end{array}$$
(1)

where \(\rho\) is the geometric distance from a satellite to a receiver, \(\delta^r\) is the receiver clock error (unit: m), \(\delta^s\) is the satellite clock error (unit: m), \(f_i\)(i = 1,2) are carrier frequencies of signals, \(FCB_i^s\) (i = 1,2) are satellite FCBs of phase observations, which contain constant and time-varying parts, \(FCB_i^r\)(i = 1,2) are receiver FCBs, \(b_i^s\) (i = 1,2) are satellite hardware delays of pseudorange observations, which also contain constant and time-varying parts, \(b_i^r\)(i = 1,2) are receiver HDBs, T is tropospheric delay, \(\varepsilon_{1,2}\) and \(\omega_{1,2}\) are noises. During resolving, the estimated, reparameterized satellite clock error will absorb satellite-dependent biases and is written as:

$$ \overline{\delta^s } = \delta^s + \left[ {P_P \cdot \left( {\frac{f_1^2 }{{f_1^2 - f_2^2 }}FCB_1^s - \frac{f_2^2 }{{f_1^2 - f_2^2 }}FCB_2^s } \right) + P_c \cdot \left( {\frac{f_1^2 }{{f_1^2 - f_2^2 }}b_1^s - \frac{f_2^2 }{{f_1^2 - f_2^2 }}b_2^s } \right)} \right]/\left( {P_P + P_c } \right) $$
(2)

where \(P_p\) and \(P_c\) are the used weights of phase and pseudorange observations in satellite clock error estimating. Equation (2) indicates that the set weights are mainly determined by biases of pseudorange and phase observations when reparameterizing satellite clock error. Combined with the elevation-dependent weighting, the final weight function can be written as:

$$ w\left( {\theta_k } \right) = \left\{ \begin{gathered} \, 1/\sigma^2 \hfill \\ 2\sin \left( {\theta_k } \right)/\sigma^2 \hfill \\ \end{gathered} \right. \, \left. \begin{gathered} 30^\circ \le \theta_k \le 90^\circ \hfill \\ 7^\circ \le \theta_k < 30^\circ \hfill \\ \end{gathered} \right\} $$
(3)

where \(\theta\) is the elevation of the satellite; \(\sigma\) is the standard deviations of phase and pseudorange observations. Generally, the 1:100 standard deviations for phase and pseudorange observations are adopted and estimated, reparameterized satellite clock error contains almost all parts of FCB, since the weight of the phase observation is far greater than that of pseudorange observation. It is obvious that these weights do not consider the precision differences of the different GNSS receivers and is not beneficial for improving the estimated satellite clock results. The settings for satellite clock estimation are listed as follows. For measurements, the observation interval is 30s and the elevation cut-off angle is set as 70. In parameter correction, the least square filter is adopted and weighting is according to the presented method. Station coordinates are fixed values from IGS SINEX files and satellite orbits are based on precise ephemeris products released by IGS. Satellite and receiver clock errors are both solved as white noises at each epoch and ambiguity float solution is adopted. The troposphere delay is corrected by Saastamoinen model and residuals are estimated via piece-wise pattern. The phase center variation (PCV) is based on Absolute IGS 08 correction model. DCB(C1-P1) correction adopts monthly products released by CODE. In addition, phase windup, relativistic effects, solid tide and ocean tide corrections are also implemented.

The implementation of PPP requires dual-frequency observations and corresponding satellite clock and orbit products. Meanwhile, corrections are needed for ocean tide, solid tide, Earth rotation, phase center variation, relativistic effects and Differential Code Bias (DCB). The estimated parameters are receiver position and clock error, residual of troposphere delay and phase ambiguity. In PPP processing, the estimator of Least square filter and the corresponding stochastic model are used.

2.2 Stochastic Model

Li et al. [17] show that the reasonable stochastic model should be constructed for obtaining the optimal results. The stochastic model is established by means of the evaluation of ionosphere-free pseudorange observations. As for the presented method, the standard deviation of differenced ionosphere-free phase and pseudorange observations is described as:

$$ \sigma_{dif} = \sqrt {\sigma_{ifp}^2 + \sigma_{ifc}^2 } $$
(4)

where \(\sigma_{ifp}^2\) and \(\sigma_{ifc}^2\) are variances of ionosphere-free phase and pseudorange observations, respectively. In Li et al. [17], the weight ratio of the adopted phase and pseudorange observations can be obtained, once the standard deviation as Eq. 4 shown is calculated and standard deviation of ionosphere-free phase observations is determined according to the priori information.

3 Data Processing and Analysis

To validate the performance of modified satellite clock errors with presented method, GPS data of 56 IGS stations collected on DOY 100, 2021 is processed with different weights. The distribution of used stations can be seen from Fig. 1.

Fig. 1.
figure 1

Distribution of the 56 IGS stations (Red dots) and the 10 user stations (blue dots).

Based on the strategy presented in Li et al. [17], pseudorange observations are evaluated and related results can be seen from Fig. 2. It is shown that standard deviations of differenced ionosphere-free carrier-phase and pseudorange observations of different stations are different. These validate that the accuracy of different GNSS receivers is different and the different weight should be set in GNSS processing, when the different GNSS receiver are used.

Fig. 2.
figure 2

The standard deviations of differenced ionosphere-free carrier-phase and pseudorange observations of different stations

To validate the presented approach, data is processed according to the settings. A simulated real-time experiment is implemented, in which streamed data from daily files are analyzed in epoch-wise pattern. The estimated satellite clock results are in comparison with that of IGS. The computed convergence time is considered as the elapsed time when the difference between estimated clock results and corresponding IGS products is less than 0.1 ns. In difference computing, the reference satellite of PRN02 is selected:

$$ RMS_{if} = \sqrt {\frac{{\sum_{i = 1}^n {(\sigma_{IGS} - \sigma_E )_i } }}{n}} $$
(5)

where \(\sigma_E\) refers to the estimated satellite clock error and \(\sigma_{IGS}\) refers to the satellite clock error released by IGS. In data processing, the different strategies of #1 and #2 are used. In the #1, the traditional weights ratio of the phase and pseudorange observations is used, while the presented stochastic model is applied in #2. In the strategies of #1 and #2, the standard deviation of L1/L2 of 0.001 m is used. The convergence time can be seen from table 1. It is observed that the convergence time of #1 is longer than that of #2. The shortened time results indicate that the presented method is beneficial to build the reasonable stochastic model. This new built stochastic model considers the difference of GNSS receiver and observing environment so that the good results are obtained. Meanwhile, modified satellite clock errors are adopted in PPP positioning. In processing, convergence time of positioning refers to the elapsed time when the errors between estimated coordinates and that of IGS are all smaller than 10 cm in all directions of north, east and up. The convergence time of positioning for 10 users are shown in Table 2. The results indicate that the convergence time is shortened, when the method of #2 is used to process the GNSS data. This can be interpreted as the estimated satellite clock error values of #2 are better than of #1. When the better satellite clock error values are serviced for PPP users, high-precision PPP positioning can be obtained.

Table 1. Convergence time of satellite clock errors estimated by different strategies
Table 2. The convergence time results of positioning for 10 users for the different strategies

4 Conclusion

The reasonable stochastic model is very important for obtaining the optimal estimated results. In the GNSS data processing, the weight for the GNSS observations of the phase and pseudorange is generally determined by the prior experience, for example the ratio of 1:10000. It is obvious that this neglects the precision differences of different GNSS receivers and observation space. In Li et al. [17], the standard deviation of differenced ionosphere-free carrier-phase and pseudorange observations is computed and then the weight ratio of pseudorange and phase observations are obtained using the computed standard deviation. This presented method is introduced in satellite clock estimating and the data is processed. In this processing, the results show the proposed strategy for establishing the stochastic model is feasible and it is beneficial to improve the accuracy of estimated satellite clock results. Further, improved satellite clock results are used in PPP and positioning results of 10 users demonstrate that the convergence time is shortened when satellite clock errors are estimated with the presented method.