Keywords

1 Introduction

To meet the increasing demands from real-time users, the IGS Real-Time Service (RTS) has been available to public users since April 2013 [1]. These corrections are disseminated via a networked transport of RTCM via Internet protocol (NTRIP) [7]. Abundant researches have been carried out about the real-time PPP with different real-time products [2, 3, 6, 8, 9]. Satellite clock prediction is of great importance to real-time GNSS applications [4, 5]. However, most research to date is based on the IGS final products or other products with long latency. This makes the predicted clocks generated from those products cannot meet the requirement of high precision real-time applications.

In this paper, a new satellite clock offsets prediction method will be proposed based on the IGS RTS clock products. In the new method, the satellite clock drifts from the broadcast ephemeris will be applied as pseudo-range observations in the estimation, and only clock drifts and clock drift rates are estimated in the polynomial fitting while the latest clock offsets are directly applied. Last but not least, the clock offsets of all GPS satellites will be predicted together.

The paper will be organized as follows: Sect. 2 briefly introduces the current atomic clocks onboard the GPS satellites and the IGS RTS products; Sect. 3 evaluates the stability of the IGS RTS clock products by differencing between consecutive epochs, meanwhile, the Allan Variance is applied for the analysis. In Sect. 4, the proposed prediction method is introduced in details. The comparison results between existing satellite clock offset prediction model and the newly proposed prediction model are presented in Sect. 5. Finally, the conclusions are summarized in Sect. 6.

2 Current Active Clocks Onboard GPS Satellites and IGS RTS Clock Products

The current active atomic clocks onboard GPS satellites can be divided into four types regarding the orbit block type and clock type as shown in Table 1.

Table 1 Block-type, PRN and clock type of GPS (up to 21st Aug 2017)

As we can see from Table 1, there are 12 active Rubidium (Rb) clocks onboard the GPS IIR satellites, which accounts for the largest clock group and followed by 10 active Rb clocks onboard the GPS IIF satellites. While 7 active Rb clocks are onboard the GPS IIR-M satellites, only two active Caesium (Cs) clocks are onboard the GPS IIF satellites. The ages of the total 31 active clocks up to August of 2017 are given in Fig. 1. The oldest clock group is the active Rb clocks onboard the GPS IIR satellites and the second oldest clock group is the 7 active Rb clocks onboard the GPS IIR-M satellites. The active clocks onboard the GPS IIF satellites are the youngest.

Fig. 1
figure 1

Ages of the GPS satellite clocks up to 21st Aug 2017

The IGS RTS corrected orbits are expressed in the International terrestrial reference frame 2014 and the commonly used IGS RTS products are listed in Table 2.

Table 2 Technical contents of IGS RTS

The IGS01 and IGC01 products are the single-epoch combination solutions produced using software developed by ESA/ESOC and the orbit reference points for the two products are different. The update rates are as high as 5 s for both orbit and clock corrections. The IGS02 and IGS03 products are combination solutions using Kalman filter approach with orbit and clock update rates at 60 and 10 s correspondingly. The contents of the satellite clock corrections include Delta Clock C0, Delta Clock C1 and Delta Clock C2, and they are applied using the following equations,

$$ \begin{aligned} &\updelta{\text{C}} = C_{0} + C_{1} \left( {t - t_{0} } \right) + C_{2} \left( {t - t_{0} } \right)^{2} \\ & t_{satellite} = t_{broadcast} + \frac{\delta C}{speed\;of\;light} \\ \end{aligned} $$
(1)

where \( \updelta{\text{C}} \) is the correction for the clock offset based on the broadcast navigation message, \( t \) is the calculation epoch, \( t_{0} \) the reference epoch, \( C_{i} \) is the polynomial term, \( t_{satellite} \) is the precise clock offsets, \( t_{broadcast} \) is the clock offsets calculated from the broadcast ephemeris.

3 Stability Analysis of the IGS RTS Clock Products

To investigate the stability of the IGS RTS clock products, the raw real-time satellite clock offsets on July 7th of 2017 from IGS01 and IGS03 are collected and stored. Furthermore, four satellites with different types of clocks are selected to present all the 31 active clocks onboard the GPS satellites, namely PRN 16, PRN 31, PRN 30 and PRN 8. The raw satellite clock offsets are shown in Fig. 2. As we can see that, the IGS03 clock products are more stable than the IGS01 clock products and the linear trend is obvious. While for IGS01 clock products, there are lots of jumps for all types of clocks.

Fig. 2
figure 2

IGS01 (in red) and IGS03 (in blue) satellite clock offsets for PRN 16, PRN 31, PRN 30 and PRN 8 with one-day length

The mean offset rates for the above four satellites clocks are calculated as well by differencing satellite clock offsets between consecutive epochs, which are shown in Fig. 3. The IGS final clock products with a sample rate of 30 s for the same day are downloaded and used here as the reference. The magnitude of the mean offset rates for IGS01 can be more than one ns per second due to the jump, which are much larger than that of IGS03. The mean offset rates for the IGS03 and the IGS final clock products have the same magnitude at a level of several tens ps per second. Meanwhile, another phenomenon needs to be mentioned is that the big jumps for different satellites seem to happen at the same time, which may due to different strategies adopted for IGS clock combination.

Fig. 3
figure 3

Mean clock offset rate of IGS01, IGS03 and IGS final products

Additionally, the Allan Variance is applied to analyze the stability of different clock products. The Allan Variances of the PRN 16, PRN 31, PRN 30 and PRN 8 from IGS01, IGS03 and IGS final products are shown in Fig. 4. It is obvious the IGS01 has the poorest stability while the performance of the IGS03 and the IGS final products are quite similar when comes to the Allan Variance. The Cs clock onboard GPS IIF satellites shows the poorest stability among the four selected satellite clocks.

Fig. 4
figure 4

Allan Variance of PRN 16, PRN 31, PRN 30 and PRN 8 from IGS01, IGS03 and IGS final products

4 A New Satellite Clock Offset Prediction Method

The traditional satellite clock offset prediction equations can be expressed as follows:

$$ x(t) = x_{0} + y_{0} t + \frac{{z_{0} t^{2} }}{2} + \sum\limits_{l = 0}^{k} {A_{l} \sin (\omega t + \varphi_{l} )} +\Psi (t) $$
(2)

where \( x_{0} \), \( y_{0} \) and \( z_{0} \) are the polynomial parameters associated with the time offset, the drift and the drift rate, \( k \) denotes the number of periodic terms, \( A_{l} \) denotes the amplitude, \( \omega \) is the frequency, \( \varphi_{l} \) is the phase shift of the sinusoidal variation and \( \Psi (t) \) is the generic random noise process. In the traditional model, the satellite clock offsets are assumed as a combination of the polynomial and periodic terms, which fits well with IGS final products and IGS03 products. For products with lots of jumps such as the IGS01, the traditional prediction model may not fit anymore. The satellite clock offset can be expressed in another form,

$$ Offset_{AC}^{Sat} (t) = O_{AC} {\kern 1pt} + {\kern 1pt} {\kern 1pt} I_{AC}^{Sat} {\kern 1pt} {\kern 1pt} + V_{AC}^{Sat} (t) $$
(3)

where \( O_{AC} \) denotes the AC specific time offset, \( I_{AC}^{Sat} {\kern 1pt} \) is the initial satellite specific clock offset and \( V_{AC}^{Sat} (t) \) is the clock offset at the time \( t \). The above equation is primarily used for the combination of different RTS products or the accuracy evaluation process.

For each satellite clock offsets, the proposed model can be expressed as follows,

$$ \begin{aligned} x(t)^{j} - x_{tref}^{j} & = y_{0}^{j} t + \frac{{\beta z_{0}^{j} t^{2} }}{2} + \sum\limits_{l = 0}^{k} {A_{l}^{j} \sin (\omega t + \varphi_{l}^{j} )} +\Psi (t)^{j} , \\ y_{Brdc}^{j} & = y_{0}^{j} ,\quad \quad \quad \quad \quad \delta^{j2} \\ \end{aligned} $$
(4)

where \( y_{Brdc} \) is the satellite clock drift from the latest broadcast ephemeris; \( x_{tref} \) is the satellite clock offset from RTS; \( \delta \) is the standard deviation term for \( y_{Brdc} \); \( j \) denotes the GPS PRN number. The other parameters have the same denotes as Eq. 2. Note that the first polynomial term is not included in the estimation and the satellite clock offsets at the epoch closest to current are directly used. The clock drifts from the broadcast ephemeris are used in the estimation process as pseudo-observations. Furthermore, all the satellite clocks are predicted together and the whole prediction model for all satellites can be expressed as,

$$ \begin{aligned} x(t)^{1} - x_{tref}^{1} & = O_{AC} + y_{0}^{1} t + \frac{{\beta z_{0}^{1} t^{2} }}{2} + \sum\limits_{l = 0}^{k} {A_{l}^{1} \sin (\omega t + \varphi_{l}^{1} )} +\Psi (t)^{1} , \\ y_{Brdc}^{1} & = y_{0}^{1} ,\quad \quad \quad \quad \quad \quad \quad \delta^{{1^{2} }} \\ x(t)^{2} - x_{tref}^{2} & = O_{AC} + y_{0}^{2} t + \frac{{\beta z_{0}^{2} t^{2} }}{2} + \sum\limits_{l = 0}^{k} {A_{l}^{2} \sin (\omega t + \varphi_{l}^{2} )} +\Psi (t)^{2} , \\ y_{Brdc}^{2} & = y_{0}^{2} ,\quad \quad \quad \quad \quad \quad \quad \delta^{{2^{2} }} \\ x(t)^{j} - x_{tref}^{j} & = O_{AC} + y_{0}^{j} t + \frac{{\beta z_{0}^{j} t^{2} }}{2} + \sum\limits_{l = 0}^{k} {A_{l}^{j} \sin (\omega t + \varphi_{l}^{j} )} +\Psi (t)^{j} ,{\kern 1pt} \\ y_{Brdc}^{j} & = y_{0}^{j} ,\quad \quad \quad \quad \quad \quad \quad \delta^{{j^{2} }} \\ \end{aligned} $$
(5)

where \( O_{AC} \) is added in the estimation process and assumed to be the same for all satellite clocks at the same epoch and varies over different epochs. In the filter, satellite clock offsets are modelled by two polynomial parameters and 2 * k periodic parameters (k is usually set as 2 or 4). \( O_{AC} \) is estimated as random walk parameters. When the total epoch number is m and satellite number at an epoch in the RTS products is n, then the filter can be solved as long as the following requirement can be met.

$$ m \times n > m + n \times (2 + 2 \times k) $$
(6)

For example, if k equals to 4 and n equals to 31, the epoch number will be larger than 11. For IGS01 and IGS03, the minimum lengths for fitting are 11 * 5 and 11 * 10 s, respectively.

5 Experiments and Results

In this Section, several experiments are carried out to analyze and evaluate the proposed satellite clock offsets prediction model. Firstly, the variance for clock drifts from the broadcast ephemeris as the pseudo-observation is investigated. Afterwards, the predicted results with the proposed model are compared with IGS final products.

5.1 Evaluation of Satellite Clock Drifts from Broadcast Ephemeris

The proper weighting for broadcasted satellite clock drifts as pseudo-observations is important in the new method. To investigate the accuracy of the satellite clock drift from broadcast ephemeris, the broadcast ephemeris and IGS final clock products of whole 2016 year are downloaded. The satellite clock drifts calculated from the IGS final clock products are used as a reference. The satellite clock drifts from both broadcast ephemeris and IGS final clock products for PRN 16, PRN 31, PRN 30 and PRN 8 are shown in Fig. 5. As we can see that, the satellite clock drifts have linear trend for PRN 16, PRN 31 and PRN 30. PRN 30 has the largest drift rate and the clock drift over one year is more than four ps per second. For GPS PRN 8, the satellite clock drift doesn’t have linear trend and the value ranges in −2 ps per second to −1 ps per second. Meanwhile, the satellite clock drifts from broadcast ephemeris can keep the same value for several days.

Fig. 5
figure 5

Satellite clock drifts of PRN 16, PRN 31, PRN 30 and PRN 8 from broadcast ephemeris and IGS final clock products over 2016

Afterwards, the difference between satellite clock drifts from the broadcast ephemeris and IGS final clock products are calculated over the year 2016 and the Root Mean Square errors (RMS) are computed accordingly for each satellite, which is shown as Fig. 6. As we can see that, the RMS for most satellite clocks are smaller than 0.05 ps per second and the average RMS of all satellites is 0.05 ps per second. The RMS for GPS PRN 8, PRN 24, PRN 28 and PRN 32 are larger than 0.1 ps per second. The RMS for each satellite will be used for the weighting of the satellite clock drift from broadcast ephemeris as a pseudo-observation.

Fig. 6
figure 6

Satellite clock drift RMS of broadcast ephemeris for all GPS satellites

5.2 Satellite Clock Offset Prediction with the New Method

In this part, the satellite clock offset prediction will be carried out with the proposed method. The satellite clock products of IGS01, IGS03 and IGS final on July 7th of 2017 are used for prediction. More specifically, satellite clock products of a very short period, from 12:30 to 12:36 pm are used for fitting, which are shown as following Fig. 7.

Fig. 7
figure 7

Satellite clock offsets of IGS01, IGS03 and IGS final products for fitting

As we can see from Fig. 7, the IGS03 and IGS final products have quite similar trend over time and the bias between them is at ns level for four selected satellites clocks. The satellite clock offsets from IGS01 showed different characters and jumped a lot during the very short period of 6 min. The epoch number of the IGS01, IGS03 and IGS final products are 72, 36 and 12 correspondingly due to different sample rates at 5, 10 and 30 s. Afterwards, the satellite clock offsets prediction with the traditional method and proposed method are carried out for IGS01, IGS03 and IGS final. The satellite clock drifts of IGS01, IGS03 and IGS final derived from the traditional method are shown in Fig. 8.

Fig. 8
figure 8

Satellite clock drifts obtained with traditional prediction method for IGS01, IGS03 and IGS final products

As we can from Fig. 8, the derived satellite clock drifts for IGS03 and IGS final with the traditional satellite clock offset prediction method are similar, which are quite different to the IGS01 resutls. The main reason for the differences is the jumps in the satellite clock offsets from IGS01. For some satellites such as PRN 1 and PRN 5, the clock drift differences between IGS01 and IGS final can be more than five ps per second, which equals to 4.5 ns difference with prediction over half hour. Furthermore, the fitting residuals of IGS01, IGS03 and IGS final products are shown as Fig. 9. As we can see that, the residuals of IGS01 products are very large, which accounts for poor internal reliability of the traditional prediction model. While the residuals of IGS03 and IGS final products are much smaller and the values are less than one ns.

Fig. 9
figure 9

Residuals of satellite clocks of PRN 16, PRN 31, PRN 30 and PRN 8 after fitting with the traditional method for IGS01, IGS03 and IGS final products

The proposed new prediction method is then applied and the satellite clock drifts are shown as following Fig. 10.

Fig. 10
figure 10

Satellite clock drifts obtained with proposed prediction method for IGS01, IGS03 and IGS final products

We can see that, the derived satellite clock drifts from IGS01, IGS03 and IGS final products with the proposed new method are quite similar with each other. The fitting residuals are shown in Fig. 11. The residuals for IGS01 are at the same level with IGS03 and IGS final products, and all the residuals are less than 0.3 ns. When compared to the traditional method, the residuals for IGS01 are much smaller with the new prediction method, which indicates the internal reliability of the proposed new method is much better.

Fig. 11
figure 11

Residuals of satellite clocks of PRN 16, PRN 31, PRN 30 and PRN 8 after fitting with the new prediction method for IGS01, IGS03 and IGS final

Apart from above comparisons regarding the internal reliability, the extern reliability is also briefly investigated here. Both the traditional prediction method and the proposed prediction method are applied for the same data of IGS01 and IGS03 products. The reference is the IGS final clock products and the standard deviation of the predicted satellite clocks over ten minutes are shown in Fig. 12.

Fig. 12
figure 12

Comparison of the proposed (new) and traditional (old) method for satellite clock offset prediction with IGS01 and IGS03 products

As we can see, the improvement for IGS01 is obvious for all the satellites. The improvements can be more than 2 ns for some satellites such as PRN 5 and PRN 12. The average standard deviation of the traditional method for IGS01 is 1.408 ns while that with the proposed new method is 0.079 ns. When comes to IGS03, the average standard deviation of the traditional method is 0.243 ns and that with the proposed new method is 0.080 ns. Thus, the external reliability of the proposed method is also proved.

6 Conclusions

A new satellite clock offset prediction method based on the IGS RTS is proposed in this paper. The IGS RTS combined clock products are firstly investigated regarding stability. The results show the stability of IGS03 is similar to IGS final clock products and the mean clock offset rate between consecutive epochs is at several tens ps per second level. The IGS01 show obvious jump over time and the mean clock offset rate between consecutive epochs can be around one ns. Meanwhile, those jumps for different satellite clocks occurred at similar epoch which may due to the datum change in the combination process. Afterwards, the new satellite clock offset prediction method is introduced, in which all the active GPS satellite clocks are predicted together and one common parameter for all satellite clocks is added for every epoch. The satellite clock drifts from broadcast ephemeris are used as pseudo-observations in the estimation process and the weighting is based on the comparison with IGS final clock products. The average RMS of satellite clock drifts for satellites from broadcast ephemeris is 0.05 ps per second when the IGS final clock products are used as the reference. Finally, the comparison is carried out between the proposed satellite clock offset prediction method and the traditional method. Both the internal and external reliability are investigated and compared. The residuals with traditional method for IGS01 can reach several ns while those with proposed method are less than 0.3 ns. The standard deviation for predicted IGS01 products are 1.408 ns and 0.079 ns with proposed method and tradition method. For IGS03, the values are 0.243 ns and 0.080 ns correspondingly. In a word, the proposed satellite clock offsets prediction method shows better performance with IGS RTS products.