Introduction

Precise point positioning (PPP) can provide centimeter- to decimeter-level accuracy using a single receiver in undifferenced mode. In recent years, the advent of real-time precise orbit and clock correction streams allows users to shift from the traditional post-mission PPP processing to real-time PPP (RT PPP) solution anywhere in the world. RT PPP is currently used in natural hazard early warning systems, crustal deformation and landslide monitoring. One example is the Jet Propulsion Laboratory’s GPS Real Time Earthquake and Tsunami Alert project (GREAT); (http://www.gdgps.net/products/great-alert.html). RT PPP can also be used for atmospheric water vapor measurement and remote sensing applications (Jin and Komjathy 2010), and it is becoming a popular approach in offshore hydrographic surveying. In addition, PPP-RTK represents a main component of Australia’s National Positioning Infrastructure (NPI), where it is planned to be used for various applications including intelligent transport systems. In all these applications, where RT PPP relays on online streaming of orbit and clock corrections, an obvious concern is the possibility of a disruption in receiving these corrections that may occur, for instance, due to a temporary modem failure or network outage, which may take from a few minutes up to hours to be fixed. In such a case, severe decline of PPP accuracy may result to the meter level due to switching to the default single point positioning mode. Solving this problem is the research question that is being addressed in this contribution. We propose to predict the real-time orbits and clock corrections as time series to enable RT PPP for a prolonged period of time until the break is fixed.

For prediction of satellite orbits, some previous studies discussed using numerical integration of the equations of motion in connection with a dynamic force modeling (Montenbruck and Gill 2000). This includes modeling earth, solar and lunar gravitation, solar radiation pressure, harmonic behavior and general relativity. Similarly, Seppänen et al. (2012) discussed solving the satellite equation of motion numerically and estimating the satellite’s initial states by a nonlinear least squares fitting algorithm. Leandro et al. (2011) studied applying Kalman filtering for estimation and prediction of satellite orbits. Moreover, Hadas and Bosy (2015) proposed a short-term prediction of real-time International GNSS Service (IGS) precise GPS orbits with less than 10 cm accuracy for up to 10 min using polynomial fitting. For prediction of satellite clocks, the current United States Naval Observatory (USNO) algorithm uses a linear model, where it was found that a quadratic model degraded the accuracy of satellite clock predictions rather than improving it (Hackman 2012). To improve the model, Heo et al. (2010) proposed adding cyclic terms to overcome possible periodic variation. Likewise, Huang et al. (2014) used a model with multiple periodic terms and weighted the observations as a linear function of age of data when predicting IGS ultra-rapid (IGU) clock corrections.

In this study, we restrict attention to GPS RT precise orbits and clock corrections owing to their availability, whereas similar products for other systems are currently in the experimental phase. We limit our analysis and proposed methods to the use of two open-access RT products, the IGS-RTS, which is the IGC01 stream and thereafter denoted as IGC for brevity, and the predicted half of the IGU. We assume that before a break in communications takes place, an RT PPP user can obtain the latest update of the IGU and IGC streams online. We first study the accuracy of the precise orbits and the performance of their prediction as a time series. Next, we analyze the accuracy, stability, spectrum and autocorrelation of the clock corrections and then investigate their prediction as time series. The steps of building the prediction models are discussed, and the accuracy of prediction is analyzed. For quality control, a process for detection of outliers in the data used in creating the prediction model was applied before commencement of this process. We fit the orbit and clock data to polynomials and check that the difference between each data point and its corresponding value from the fitting model does not differ by more than three times the standard deviation (STD), corresponding to 99.7% confidence level. A first-order fitting polynomial was used for clock corrections, and fourth-order polynomials were used for the orbits. When an outlier is found, the data of this epoch are excluded.

We next assess the impact of the proposed method on PPP positioning results by conducting many tests in the static and kinematic modes and analyzing the resulting solution convergence time and precision. Since the quality of orbits and clock corrections may affect the initialization period of PPP, i.e., conversion of the solution, we tested initialization of PPP assuming that the break is taking place at different instances in time. Test results are presented and discussed, and finally concluding remarks are given.

Implementation of the RT orbit and clock corrections

In April 2013, the IGS launched an open-access real-time service (RTS). Currently, this service includes the IGS01/IGC01 stream, which is based on a single epoch GPS combination solution, IGS02 stream that is a Kalman filter GPS combination solution and IGS03 stream, which is a Kalman filter GPS + GLONASS combination solution (http://www.igs.org/rts/products). These streams are a combination of products from nine analysis centers (ACs) that process more than 160 stations located around the world. In addition to IGS-RTS, the IGS provides the ultra-rapid (IGU) products with less accurate clock corrections, which do not need to be streamed in RT. The IGU is released four times each day and contains 2 days of orbits; the first day is computed from observations, and the second day includes predicted orbits and clocks that can be used for RT applications. Table 1 summarizes the current STD of the orbits, clock corrections root mean square (RMS) and product latency for both IGS-RTS and IGU products (http://rts.igs.org and http://www.igs.org/products/data). In a following section, we check this information by comparing them with the IGS final products. In addition to the open-access products, a number of private commercial providers serve similar products such as Trimble RTX service (Leandro et al. 2011), Fugro G2 service (http://www.starfix.com/positioning-systems) and TERRASTAR (http://www.terrastar.net/about-terrastar.html).

Table 1 IGS real-time products

Typically, a user can access the real-time products exploiting a wireless modem and employing the network transport of Radio Technical Commission for Maritime Services (RTCM) by the Internet Protocol (NTRIP) client application. The IGS-RTS products can be streamed using the RTCM-State Space Representation (SSR) format. The open-source application of Bundesamt für Kartographie und Geodäsie (BKG) Client (BNC) NTRIP and the RTKLIB software are two examples that allow NTRIP access to RT precise orbits and clock corrections.

The orbit corrections in RTCM-SSR are defined in terms of the radial, along-track and cross-track components, denoted here as \(\delta \rho_{r} , \delta \rho_{a} \quad {\text{and}}\quad \delta \rho_{c}\), respectively, along with their velocities (\(\delta \dot{\rho }_{r} , \delta \dot{\rho }_{a} \quad {\text{and }}\quad \delta \dot{\rho }_{c}\)). Using a broadcast navigation message with a reference time \(t_{o}\), the orbit corrections at time t can be computed as follows (Hadas and Bosy 2015):

$$\delta \rho = [\rho_{r}\,\delta \rho_{a}\, \delta \rho_{c} ]^{\text{T}} + [\delta \dot{\rho }_{r}\, \delta \dot{\rho }_{a}\, \delta \dot{\rho }_{c} ]^{\text{T}} (t - t_{o} )$$
(1)

These corrections are transformed to geocentric corrections by applying the radial, along-track and cross-track unit vectors (\(e_{r} , e_{a} \quad {\text{and}} \quad e_{c}\)) and adding them to the broadcast orbit \(x_{\text{brdcst }}\) to give the final precise orbit \(x_{\text{precise }}\):

$$x_{\text{precise}} = x_{\text{brdcst}} + {\text{diag}}(e_{r} e_{a} e_{c} )\delta \rho$$
(2)

The clock correction is given in terms of a quadratic polynomial with coefficients (\(q0, q1, q2\)) as a range correction such that:

$$c \delta t = q0 + q1 \left( {t - t_{o} } \right) + q2 \left( {t - t_{o} } \right)^{2}$$
(3)

where \(c\) is the speed of light. Hence, the corrected satellite clock offset \(t_{\text{sat}}\) is expressed as:

$$t_{\text{sat}} = t_{\text{brdcst }} + \delta t$$
(4)

where \(t_{\text{brdcst }}\) denotes the broadcast GPS satellite clock offset.

Dealing with the precise orbits during communication breaks

For prediction of the precise orbits, El-Mowafy (2006) studied several approaches and showed that prediction of the orbits as a time series can be successful for only a short period, up to 15 min, using Holt–Winters’ method (Chatfield and Yar 1991). In the same way, Hadas and Bosy (2015) predicted the IGS-RTS precise orbits with less than 10 cm accuracy for up to 10 min by using polynomial fitting. In addition to these methods, we tested another approach that can potentially provide this accuracy over a longer prediction period. In this approach, the difference between the IGC and IGU orbits is predicted through a high-order polynomial, e.g., a fourth-order polynomial, and the predicted differences are added to the IGU orbits to resemble approximate IGC orbits. Figure 1 demonstrates the performance of this method through one representative example. The 3D difference between the predicted orbits and the IGS final orbits on August 28, 2015, is depicted for PRN 16, 29 and 30, which represent the current GPS blocks IIR, IIR-M and IIF, respectively. The model is built from the data of the previous 2 h before prediction, based on autocorrelation analysis of the orbits. As Fig. 1 shows, a prediction error less than 10 cm can only be achieved for up to the first 0.5 h of prediction, and thereafter, the error significantly grows with time.

Fig. 1
figure 1

3D error of orbit prediction using a fourth-order polynomial

In PPP, the precise orbits need to be accurate to less than 10 cm; hence, in case the orbit corrections outage is longer than 0.5 h, an approach other than prediction of the corrections as a time series will be needed. To this end, we first investigated the accuracy of the RT orbit streams considered in this study, i.e., the IGU and IGC. The statistics of their 3D differences from the IGS final orbits, defined here for brevity as IGS orbits, are given in Table 2 for all GPS satellites during August 2015. Since the IGU orbits are updated every 6 h, the IGU data included here are the first 6 h of the predicted part of the updated files. Figure 2 shows the histogram of the absolute 3D differences among IGU–IGS (top), IGC–IGS (middle) and IGU–IGC (bottom) for PRN 16, 29 and 30, as exemplar of the current three GPS satellite blocks and using a 15-min sampling rate over the whole month of August 2015.

Table 2 Statistics of the 3D differences among precise orbits for all GPS satellites during August 2015 (m)
Fig. 2
figure 2

Histograms of 3D differences among precise orbit products for PRN 16, 29 and 30 over 1 month. IGU–IGS (top), IGC–IGS (middle), IGU–IGC (bottom)

Taking the IGS final products as ground truth, Table 2 and the sample histograms show that the differences between IGC and IGS were typically within ±7 cm (95% range) and the STDs were 0.023 m on average, which agree with the published values by the IGS-RTS monitoring facility (http://www.igs.org/rts/monitor). The differences between the IGU (predicted half) and IGS were in the same range, although at many epochs the IGU orbits had fewer errors than IGC. The differences between IGU and IGC orbits were mostly within ±6 cm. These results show that the IGU orbits are numerically compatible with the IGC orbits within this level of accuracy. This compatibility is further validated statistically by examining the significance of the residuals between the two sets of data and the IGS final orbits, i.e., IGC–IGS and IGU–IGS. As illustrated from the sample histograms in Fig. 3, the distribution of the orbit residuals is not Gaussian; therefore, nonparametric statistical hypothesis tests were used. The Wilcoxon signed-rank test of the IGU–IGS and IGC–IGS daily residuals over August 2015 was applied to assess whether their population mean ranks differ. The test passed for almost all samples. In addition, testing of their variances was performed using Kruskal–Wallis H test (Kruskal and Wallis 1952), which was successful for 93% of the data with P values > 0.05.

Fig. 3
figure 3

IGC referenced to IGS final clock corrections. GPS week 1859 (top) and week 1860 (bottom)

Based on the above, upon a break of receiving the IGC stream, for a short period of a few minutes one can predict the IGC orbits using a fourth-order polynomial, and for a medium period of about 3 h one may use the most recent IGU orbits as a reasonable substitute for the IGC orbits. In this case, the IGU orbits will be used in place of \(x_{\text{precise }}\) in (2). In a following section, the impact of this approach on PPP positioning results is investigated.

Dealing with clock corrections during communication breaks

Currently, all operational GPS satellites from block IIR onward have rubidium clocks except for PRN 8 and 24 (block IIF), which have cesium clocks. Rubidium clocks have short-term noise performance, but their temperature sensitivity and inherent high-frequency drift uncertainty limit their long-term stability (Trigo and Slomovitz 2011). To develop the best prediction model of the IGC clock corrections, we first analyze the accuracy and stability of these clock corrections. Next, we present the model and discuss the process of building it.

Accuracy and stability of IGC clock corrections

The accuracy of the IGC clock corrections can be computed in terms of their differences from the IGS final clock corrections. As an example, the IGC–IGS differences for all satellites and different blocks are illustrated for GPS weeks 1859 and 1860 in Fig. 3 after removing the average of the differences at each epoch. This average, which was approximately 15 ns, represents an offset between the IGC and IGS clock corrections. This offset is due to the IGC products being a combination of solutions from several contributing ACs, which follow their inherent timescales. The IGS aligns all these solutions to a reference AC, which can change at any time, as not all solutions are available at each epoch. Hence, the average can change between epochs. For PPP processing, the common part of this offset, for instance the mean value, for all satellites can be absorbed in the estimated receiver clock offset that is determined every epoch; thus, the PPP performance remains unaffected. The remaining clock differences from the mean value, which vary among different satellites in general within ±0.5 ns, as depicted in Fig. 3 for the two example weeks, are absorbed in the individual ambiguities for phase observations. The statistics of the IGC–IGS clock correction differences are given in Table 3 for different blocks. The table shows that error dispersion in IGC clock corrections was less in block IIF than that of older blocks IIR-M and IIR. The STD of the differences ranged between 0.161 and 0.254 ns with an overall mean of 0.230 and 0.203 ns for the two example weeks.

Table 3 Statistics of the IGC–IGS clock correction differences (in ns) for all GPS satellites during GPS weeks 1859 and 1860 after removing the mean of all satellites at each epoch

We next characterize the stability of the IGC clock corrections by means of their Allan deviation, which is the IEEE standard for clock frequency stability analysis. The Allan deviation, denoted as \(\sigma_{{{\text{d}}t}}\), is (Allan 1987):

$$\sigma_{{{\text{d}}t}} (\tau ) = \sqrt {\frac{1}{{2(n - 2)\tau^{2} }} \sum\nolimits_{i = 1}^{n - 2} {({\text{d}}t_{i + 2} - 2{\text{d}}t_{i + 1} + {\text{d}}t_{i} )^{2} } }$$
(5)

where n is the number of \({\text{d}}t\), which is the difference between IGC and the final IGS clock corrections, and \(\tau\) is the averaging time interval. Figure 4 shows Allan deviation for 1 week of data (GPS week 1859) for PRN 30 as an example. The plot shows the overlapping Allan STD (denoted as ADEV) and its lower and upper bounds, the modified Allan STD (denoted as MDEV) and the overlapping Hadamard STD (HDEV) (Snyder 1981; Ferre-Pikal et al. 1997). From the analysis of the data of all rubidium GPS satellites, one can conclude that the IGC clock corrections are reasonably stable with Allan deviations ranging between 10−11 and 10−14 s, which converges with the increase in the averaging time, and the clock corrections have mostly a white noise. Hence, we can proceed to the step of their prediction as a time series.

Fig. 4
figure 4

Allan deviation (ADEV) with up and lower bounds. Red color (modified Allan deviation MDEV), green color (Hadamard deviation HDEV), blue color (RT clock correction of PRN 30) over week 1859 in seconds

Building the clock prediction model

A possible prediction model of clock corrections is given as (Huang et al. 2014):

$$\delta t = a0 + a1\Delta t + \frac{{a2 \Delta t^{2} }}{2} + \mathop \sum \limits_{i = 0}^{k} A_{i} \sin \left( {\omega_{i} \Delta t_{i} + \phi_{i} } \right) + \varepsilon_{\delta t}$$
(6)

where \(\Delta t\) is the time since start of prediction, a0, a1 and a2 are the polynomial parameters corresponding to the bias, drift and drift rate of the clock corrections, respectively, and \(\varepsilon_{\delta t}\) denotes the noise. k is the number of sinusoidal periods considered, \(A_{i}\) is the amplitude of period i, \(\Delta t_{i}\) is the time since start of this period, \(\omega_{i}\) denotes the frequency of the period, and \(\phi_{i}\) is its phase. In the time domain, we rewrite (6) as follows:

$$\delta t = a0 + a1 \Delta t + \frac{{a2 \Delta t^{2} }}{2} + \mathop \sum \limits_{i = 0}^{k} A_{i} \sin \left( { \frac{{\Delta t_{i} }}{{\lambda_{i} }} \times 2 \pi + \frac{{ t_{{\phi_{i} }} }}{{\lambda_{i} }} \times 2 \pi } \right) + \varepsilon_{\delta t}$$
(7)

where \(\lambda_{i}\) is the time length for the periodic term i and \(t_{{\phi_{i} }}\) is its initial phase in time units. For a real-time user, the predicted clock correction \(\delta t\) is used whenever an outage of the IGC is experienced.

In our method, the parameters of (6) are determined using least squares except for \(\lambda_{i}\), which is preselected as will be explained next. The outlier-free observations are weighted according to age of data, where the most recent observations are given more weights. The weight is assumed decaying gradually with time in the form:

$$W = {\text{diag}}\left( {w_{j} } \right), \quad w_{j} = e^{ - \Delta t/T} \times 1/\sigma_{\delta t}^{2}$$
(8)

where \(W\) is the weight matrix, \(w_{j}\) is the individual weight for \(\delta t\) number j, taken during the regression period used for the development of the model. \(T\) is the correlation time length, which is determined from the autocorrelation analysis that will be discussed next. \(\sigma_{\delta t}\) is set according to Allan deviation given in (5). Results of our study show that the IGC clock corrections for GPS satellites are mainly driven by the bias and drift. The drift rate was insignificant, and therefore, the difference between predictions using first-order or second-order polynomials in (6) is 0.1 ns over a prediction period of 2–3 h. Likewise, the contribution of the periodic terms is small, typically less than 0.2 ns, which slightly varies among satellites.

The time length \(\lambda_{i}\) can be estimated from the analysis of the data in the frequency domain using, for instance, fast Fourier transform (FFT). As an example, Fig. 5 (top) illustrates the IGC clock corrections for PRN 30 over week 1859 in the frequency domain using FFT. The periodic terms are clear in the frequency spectrum. The bottom panel shows the frequency spectrum of the differences between IGC and IGS clock corrections. The signature of the clock correction error is noise like for high frequencies, and some periodic terms appear with periods ranging between 15 min and 3 h. For the shown example, and considering a prediction period of 2 h, the two periods of approximately 15 and 30 min are the most noticeable, and on a longer term, a 3-h period is noticeable.

Fig. 5
figure 5

Spectrum of IGC clock corrections (top) and IGC–IGS clock correction differences (bottom) for PRN 30 using 1 week of data

It is expected that different sampling rates would be exploited by various PPP users; therefore, instead of defining a specific number of data points for estimating the prediction model parameters, we define an equivalent time window during which this process is performed. In time series analysis, the time lag corresponding to a significant autocorrelation is often estimated and the number of data points within this time is used for building the prediction model (Box et al. 1994). Figure 6 shows the autocorrelation plots of the IGC clock corrections of the selected exemplar satellites PRN 16, 29 and 30. From these plots, the significant correlation time length can be estimated by the intersection of the red dotted lines, which correspond to 95% confidence level, with the autocorrelation function. Alternatively, it can be empirically selected at an autocorrelation with an arbitrary value, e.g., 0.7. The plots show that the significant correlation time length for clock corrections is approximately 1 to 1.5 h. This result was consistent for all GPS satellites during the test period.

Fig. 6
figure 6

Autocorrelation of IGC clock corrections (95 confidence level shown in red)

Accuracy of prediction of the clock corrections

The accuracy of prediction of IGC clock corrections using the presented model was evaluated by differencing the predicted values with their known IGC values at the prediction period. Table 4 summarizes the descriptive statistics of the prediction error of IGC clock corrections for the three GPS blocks over 1 week of data after an assumed break in receiving the RT products and for prediction periods of 1, 1.5 and 2.0 h. The table shows that the STD of different blocks ranges between 0.12 ns and 0.40 ns. As an example of the temporal change of the prediction errors, Fig. 7 shows the prediction errors for all satellites over 4 days (August 23–26, 2015) for up to 3 h of prediction. The figure clearly shows that the error increases with the increase in time for all satellites; it was typically within 0.5 ns during the first hour and 1 ns after 2 h. In addition, the satellites that have clock corrections causing most of the errors belong to the old generation of blocks IIR or IIR-M, such as PRN 20, 21, 05, 07 and 11. Moreover, the case of PRN 24 was an anomaly, where its prediction error was large even after a very short period. This satellite is the only satellite observed that has a cesium clock, whereas the rest of the satellites have rubidium clocks. Therefore, PRN 24 was excluded from computation of the statistics presented in Table 4. In general, our study shows that prediction of the clock corrections for the block IIF satellites was better than that of IIR-M satellites and those were better than IIR satellites. This clearly reflects the improvement in the stability of the newer generation of clocks, which allows for better prediction of their behavior.

Table 4 Statistics of the prediction error of IGC clock corrections (in ns) for three GPS blocks over 1 week of data
Fig. 7
figure 7

Prediction error of IGC clock corrections for up to 3 h for four separate days of August 23–26, 2015

Analysis of the impact of the proposed methods on PPP results

Although it would be desirable to use predicted clock and orbit corrections from the same solution, however, at present the prediction accuracy of the IGC orbits as a time series is good only for a few minutes. Nevertheless, the basic assumption in RT PPP is that the user employs IGC products as ‘known’ values. When a break in receiving this information occurs, we propose the use of the predicted orbits of IGU in place of predicted IGC orbits. The IGU and IGC orbits proved to be numerically and statistically compatible as discussed earlier. Thus, the IGU orbits are the best substitute currently available to the IGC orbits, which when used along with predicted IGC clock corrections provides a practical substitute to IGC corrections when they are not available.

The RT PPP algorithm, e.g., in early warning systems or hydrographic surveying, can use the precise IGU orbits as \(x_{\text{precise }}\) in (2) and apply the predicted clock corrections in (4). This will require the user to download the most recent IGU orbits, which are contained in one small-size file that is being updated every 6 h. It is proposed that the user sequentially builds the prediction model with a sliding time window and uses predicted clock corrections whenever real-time corrections are unattainable. To reduce the computational load, the process can be performed at a suitable time interval depending on the application, e.g., every 10 min, and to use the predicted corrections for the following 2–3 h.

In this section, the practical application of the proposed method is presented. Its impact on PPP solution convergence and precision in static and kinematic modes is evaluated. The observations used comprised ionospheric-free combination of L1 and L2 dual-frequency GPS data, which were validated and weighted using the single-receiver single-satellite method presented in El-Mowafy (2014, 2015) and processed in a float ambiguity PPP scheme.

Description of the static and kinematic tests

The static test was performed at four IGS stations with a global distribution. The stations are GMSD (Japan), CUT0 (Australia), DLF1 (the Netherlands) and ABMF (the Caribbean). The data used span GPS week number 1859 with a 30-s sampling interval. We assumed as an example an early warning system situation. We investigate the communication break taking place at three instants, including at the start of PPP initialization, at 0.5 and 1 h from the start of initialization. In each case, the IGC clock corrections were predicted for up to 3 h using parameters estimated through a regression period of 1.5 h. For demonstration of results, we show the PPP solution for 3 h from start of its initialization. The PPP started at 3:00 UTC each day, which is the middle of the IGU predicted orbit period. The performance was evaluated by comparing the obtained results with the results of PPP processing the same observations when using the IGC orbit and clock corrections without prediction. Since the data were reprocessed at several instances, processing was performed in a post-mission mode. Hence, data latency was not included in this analysis. During the test period, the differences between the predicted IGU orbits and IGC orbits were within ±6 cm. The predicted IGC clock corrections when compared with their streamed values were within 0.5 ns during the first hour and 1 ns after 2 h as mentioned earlier.

Two kinematic tests were carried out. The first test was performed in a shipborne mode, in an open-sky environment, spanning a 2-h period using 10 Hz sampling rate. In this test, a Trimble SPS855 receiver was mounted on a ship sailing in Tokyo Bay, Japan, for a total distance of almost 27 km. The second test was conduct on land, with a Trimble R10 receiver mounted on a vehicle traveled for 1.74 h using 1 Hz sampling rate in an urban area in Perth, Western Australia. The observation environment in this test had somewhat a challenging sky visibility during some periods due to the presence of trees close to the vehicle’s trajectory. For both tests, processing was performed in post-mission to compare the results between first using the orbit and clock corrections without experiencing a break in communications and second when assuming a break taking place after 1 h from the start.

Results of the static tests

The average STD \(\sigma_{E}\), \(\sigma_{N}\) and \(\sigma_{U}\) of the local grid Easting, Northing and Up (E, N and U) coordinates and convergence times of the static tests using the proposed approach are given in Table 5. The convergence time is defined as the first time that the STD reached 10 cm or less and maintained this level. In addition, the average results of PPP without prediction using only IGC products are given in the last row of the table as a reference to show the expected performance if no break was experienced. Figure 8 shows the solution precision for one test at station GMSD as an example. The top panel of the figure illustrates PPP results when the communication break is assumed at start of PPP initialization, which is the critical case among the three discussed outage cases. The bottom panel demonstrates PPP results without prediction.

Table 5 Average statistics of PPP for the static tests during the prediction period of the corrections after solution convergence (m)
Fig. 8
figure 8

PPP STD in Easting (E), Northing (N) and Up at GMSD. Top IGU orbits were used with predicted IGC clock corrections starting from PPP initialization. Bottom PPP using IGC without prediction

Results show that with the proposed method the achieved STDs after convergence were within 6 cm for a prediction period of 2 h. These results are slightly worse than PPP results without prediction that are given in the last row of Table 5. However, the convergence time needed to reduce noise of code observations over time increased with the use of the predicted orbit and clock corrections compared with the use of IGC corrections without prediction by almost 6 min.

Results of the kinematic tests

For the kinematic tests, processing was performed in post-mission to compare the results between two cases. In the first case, no outage of the IGC orbit and clock corrections was assumed, i.e., no prediction was applied. In the second case, a break in communications is assumed after PPP initialization, which is a more likely case in the kinematic mode. The break is assumed taking place after 1 h from the start of the test, and the proposed prediction method was used. During the two kinematic tests, the differences between the IGU and IGC orbits were within ±6 cm. The difference between the predicted IGC clock corrections using the proposed approach and their streamed values were within ±0.6 ns. Figure 9 shows results for the two kinematic tests, and Table 6 summarizes these results for the two compared cases, with and without prediction. For the first test in the shipborne mode, the solution converged after about 21 min and the average values of the E, N and Up STD were 0.035, 0.039 and 0.031 m, respectively, during which the number of satellites ranged between 8 and 10, which explained the good results obtained. The number of satellites and their geometry were not as good in the second test due to tree canopy, where five to nine satellites were observed, dropping to four at a few epochs. This resulted in the solution converged after about 38 min, and the average values of the E, N and Up STDs were 0.073, 0.073 and 0.084 m, respectively. The results of these tests are close to that of PPP without prediction of corrections as shown in Table 6 with a few millimeter increase in error when using the predicted corrections. The results of the static and kinematic tests demonstrate the practicality of the proposed method.

Fig. 9
figure 9

PPP results of the kinematic tests; shipborne (top) and vehicle (bottom)

Table 6 Statistics of PPP for the kinematic tests after solution convergence with and without prediction–convergence time (min) and STD (m)

Conclusion

An effective and practical approach is presented to solve a major concern in real-time PPP for applications that operate for long periods. This approach can maintain decimeter-level positioning accuracy using GPS observations during outages of the precise orbit and clock corrections that may need from a few minutes to a few hours to be regained. Both IGU (predicted half) and IGS-RTS (IGC) precise orbits were found to be statistically and numerically compatible with accuracy typically within ±7 cm when referenced to the IGS final orbits and with an average difference of about 3.6 cm. Therefore, for a few minutes of corrections outage, IGC can be predicted using a high-order polynomial, and for longer outage periods it is sufficient to use the IGU predicted orbits in place of the IGC orbits. For clock corrections, we investigated prediction of IGC clock corrections as a time series. A prediction model consisting of a low-order polynomial and cyclic terms can give prediction accuracy typically within 0.5 ns during the first hour and 1 ns for the second hour with STD between 0.12 and 0.40 ns. In general, prediction of clock corrections for block IIF satellites was better than that of block IIR-M and IIR, respectively, which show the improved stability of satellite clocks of the newer generation of satellites. It is proposed that the user sequentially builds the prediction model, with a sliding time window. To reduce the computational load, the process can be performed at a suitable time interval depending on the application, e.g., every 10 min.

Validation of the proposed approach in the static and kinematic modes showed that when a break in communications is experienced, the use of the GPS–IGU orbits with IGC predicted clock corrections can achieve positioning precision less than a decimeter after the solution converged. This accuracy was maintained for up to 2 h after the break. The number of data points needed to reliably estimate the prediction parameters was chosen within a time length corresponding to a significant autocorrelation, where 1–1.5 h of data was deemed sufficient for building the prediction model. When the PPP was initialized using the predicted corrections, the convergence time increased; however, positioning precision remained less than a decimeter after solution convergence. These results can be used as an indication of performance for other data sets under similar conditions.