Introduction

Over the past decade, the Global Navigation Satellite System (GNSS) has experienced a fast development. Apart from the fully developed GPS and GLONASS systems, the European Galileo satellite navigation system, the Chinese BeiDou satellite navigation system (BDS) and the Japanese Quasi Zenith Satellite System (QZSS) are all advancing towards their global or regional services. Since 1994, GNSS users have been taking advantage of precise GPS orbit products provided by IGS. As currently stated by IGS, 1D mean RMS based on comparisons with independent laser ranging results and discontinuities between consecutive days is about 2.5 cm for GPS and 3.0 cm for GLONASS final orbit products (http://www.igs.org). To enhance the service of Multi-GNSS, the IGS initiated the MGEX (Multi-GNSS Experiment) in August 2011. Over the more than 5 years of its development, the MGEX comprised six data analysis centers (ACs). According to the cross-comparison between individual ACs as well as the evaluation of day boundary discontinuities, the 3D RMS is in general better than 5 cm for GPS orbits. However, for BDS Geostationary Earth Orbit (GEO) orbits the 3D RMS is several meters, and for BDS Inclined Geosynchronous Orbit (IGSO), BDS Medium Earth Orbit (MEO) and Galileo orbits the 3D RMS values are several decimeters (Li et al. 2015; Steigenberger et al. 2015; Guo et al. 2016; Montenbruck et al. 2017).

The final orbit products all have a latency of up to about 2 weeks (Dow et al. 2005; Johnston et al. 2017). To serve real-time users, IGS began providing Ultra-rapid (IGU) GPS orbits in November 2000, originally with updates every 12 h. Then, in April 2004, the update cycle was reduced to 6 h (Kouba 2009). Each IGU product covers 24-h observed orbits and 24-h propagated orbits, and the start-stop epochs continuously shift by 6 h with each update. In this case, a prior download of orbits is necessary. To provide better real-time service (RTS), the IGS announced the real-time pilot project (IGS-RTPP) in June 2007 aiming to acquire and distribute GNSS data and products in real-time based on the NTRIP protocol (http://www.igs.org/rts). Comparison with respect to the IGS final products verifies the high accuracy of RTS orbits, with a 3D RMS of 5 cm for GPS and 13 cm for GLONASS orbits (Hadas and Bosy 2015). Since November 2015 the German Research Centre for Geosciences (GFZ) has extended its ultra-rapid (GBU) products to Galileo, BDS and QZSS satellites with 3-h update rate in addition to GPS and GLONASS satellites. Deng et al. (2016) showed that BDS GEO and QZS-1 predicted orbits perform worse than other satellites. In addition to the insufficient number and distribution of tracking stations, the imperfect SRP model also limits the quality of the orbit products.

Rather than long arc predicting, a filter incorporates measurements at discrete intervals. The updated state estimate is formed as a linear blend of the previous estimate and the current measurement information. Parkinson et al. (1996) introduced how an extend Kalman filter used in the GPS operational control segment. By taking the similar procedures, Laurichesse (2013) tried to estimate precise real-time GPS satellite orbits. Satellite maneuvers are detected based on pseudorange residuals. Results show that the large 1D errors of more than 10 cm in the IGU products are mostly reduced. The Jet Propulsion Laboratory (JPL) presented initial results of real-time BeiDou orbits by using SRIF (Sibthorpe et al. 2016). Unhealthy satellites were removed from their analysis. The 3D RMS of orbit difference with respect to the post-processed orbits is about 2 m, 50 cm and 20 cm for BDS GEO, IGSO and MEO satellites, respectively. Following the same SRIF procedure, Dai et al. (2018) estimated real-time BDS orbits based on more tracking stations. However, there are few details about dealing with BDS satellite maneuvers and attitude switches in the filter processing.

Based on this background, we make comparisons between our post-processed, 6-h predicted and real-time estimated orbits by using the same tracking stations. Variable process noise on the SRP parameters is exploited when a satellite is experiencing maneuver or attitude switch. Epoch-wise ambiguity resolution procedure is employed to estimate better real-time orbits every epoch.

Performance of the predicted orbits

Choi et al. (2013) have studied how the GPS orbit prediction varies as a function of the fitted arc length by taking IGS rapid products as pseudo-observations. They found that an observed arc length of 40–45 h produced the most accurate predictions for GPS satellites. Apart from the observed arc length, the quality of the observed orbit itself also plays an essential role in precise orbit prediction (Lutz et al. 2016). To study the corresponding performance of Galileo and BDS predictions, we take the COM (CODE final MGEX orbit products) orbits from day of year (DOY) 335 to 364, 2015 as the observed orbits. Satellites in eclipse (C08, C11, C12) or maneuver (C10) periods are excluded from the analysis. BDS GEO satellites are not included in our study. The orbit model options are shown in Table 1. The observed arc lengths are tested from 24 to 72 h with updates every 2 h. The predicted arc length is 24 h.

Table 1 Settings of processing

Figure 1 shows the mean 3D RMS values of residuals in orbit fitting over 1 month. The RMS values are in general better than 1 cm for the observed arc length of 24 h while they are better than 2.5 cm for the observed arc length of 72 h. Thus, the adopted dynamic models in the orbital adjustment fit the COM orbits fairly well. Figure 2 illustrates 3D RMS values for orbit difference between predicted orbits and precise COM orbit products. There are clearly large RMS values for BDS IGSO satellites if the observed arc length is shorter than 36 h, but we do not find large difference when the arc length is exceeding 36 h. The reason might be that the revolution period of BDS IGSO satellites is \({23^{\text{h}}}{56^{\text{m}}}\), which is almost twice of Galileo and BDS-MEO satellites. In general, we would like to recommend using an observed arc length longer than 36 h for Galileo and BDS orbit predictions.

Fig. 1
figure 1

Mean 3D RMS values of residuals in orbit fitting by using individual arc lengths

Fig. 2
figure 2

Mean 3D RMS values of orbit difference between 24-h predicted orbits and COM orbits by using different fitted arc lengths

We use a network of 60 tracking stations over 1 month (DOY 335–364, 2015) in which all sites track GPS observations while 45 sites track Galileo observations and 36 sites track BDS observations. Details of error corrections (Dach et al. 2007), orbit dynamics (Beutler et al. 1994; Petit and Luzum 2010), and least squares adjustment (Ge et al. 2006) are not discussed. Settings and model options are listed in Table 1.

The precise Multi-GNSS orbit products from GFZ (GBM) and Satellite Laser Ranging (SLR) observations of Galileo satellites are considered to evaluate the estimated and predicted orbits. Table 2 shows the RMS values of orbit differences and standard derivation (STD) of SLR residuals. We observe immediately that RMS values of predicted orbits in the eclipse seasons are larger than those in the full sunlight periods, especially in the along-track component. Particularly, BDS orbit predictions show much worse performance in the eclipse seasons, for which the 3D RMS values are 3–4 times larger than those in the full sunlight periods. The reason might be that BDS IGSO and MEO satellites take two different attitude modes depending on the elevation of the Sun above the orbital plane (β). If the orbit prediction arc includes a switch from one attitude mode to the other, the accelerations are not continuous in the numerical integration. In addition, it has been proven that the ECOM2 model is not good enough for BDS satellites in the orbit normal mode (Prange et al. 2017). In the future, we are going to use a more precise SRP model for BDS satellites, for instance, the combination of an a priori box–wing model with the ECOM model, which has been proven to be more precise for BDS orbit predictions (Duan et al. 2019).

Table 2 RMS of orbit differences with respect to GBM orbits and STD of SLR residuals for post-processed and 6-h predicted orbits

Real-time orbit determination by means of SRIF

SRIF algorithms are introduced and explained in detail by Bierman (1977) and have been adopted by the Jet Propulsion Laboratory (JPL) orbit determination software. In general, the filter processing steps can be summarized as follows:

  1. (1)

    To start the filter, an initial state x at epoch t0 is selected. A trajectory is numerically integrated from epoch t0 to t1 as well as the variational equations that reflect how trajectories at each epoch are affected by changes in the initial state.

  2. (2)

    The partial derivatives of the observation equations and variational equations are combined to compose the design matrix A.

  3. (3)

    The design matrix A and the a priori covariance information \(\widetilde {{{R_{{t_0}}}}}\) are transformed by the Householder orthogonal transformation to form an equation \(\widehat {R}\widehat {x}=\widehat {z}\), where \(\widehat {R}\) is an upper triangular matrix.

  4. (4)

    Once the initial state is updated, the new trajectory can be generated, and the estimated \(\widehat {x}\) and \(\widehat {R}\) are propagated from epoch t0 to epoch t1 as the a priori information for the next processing step.

Real-time data cleaning and ambiguity resolution

In real-time processing, detection of outliers and cycle slips are implemented in three steps. The first step bases upon the linear combinations of pseudorange and phase measurements (Laurichesse 2013). The second step eliminates measurements with large residuals (20 m for pseudorange and 5 cm for phase). In the third step, maneuvers are detected using only pseudorange measurements. All the cleaned data information is stored for the later preprocessing and ambiguity resolution.

Ambiguity resolution algorithms of undifferenced GPS phase measurement were presented by a number of publications (Laurichesse et al. 2009; Laurichesse 2011; Loyer et al. 2012). Following Ge et al. (2005), the basic theory in our work can be summarized as follows.

Suppose that the undifferenced observation equation reads

$$v=Ax+l,P$$
(1)

where v is the residual vector, A the design matrix, x the parameter vector, l the observed minus computed, and P the weight matrix of observations. The float solution can be expressed as:

$$\begin{aligned} x= & - {({A^T}PA)^{ - 1}}{A^T}Pl \\ {\text{ }}= & - {N^{ - 1}}w \\ \end{aligned}$$
(2)

Resolving a double-difference ambiguity is equal to imposing strong constraints on the four related undifference ambiguities. The pseudo-observation equation of fixed double-difference ambiguities reads as:

$${v_{\text{b}}}=Dx - {l_{\text{b}}},{P_{\text{b}}}$$
(3)

where D is the coefficient matrix mapping the related undifferenced ambiguities to a set of double-difference ambiguities, Pb the given weights of the pseudo-observations that should be significantly larger than the observation weight, e.g., 1010. Then, the ambiguity-fixed solution becomes

$$\begin{aligned} {x_{{\text{fix}}}}= & - {({A^T}PA+{D^T}{P_{\text{b}}}D)^{ - 1}}({A^T}Pl - {D^T}{P_{\text{b}}}{l_{\text{b}}}) \\ {\text{ }}= & - N_{{{\text{fix}}}}^{{ - 1}}{w_{{\text{fix}}}} \\ \end{aligned}$$
(4)

The sequential formulas can be expressed as follows:

$$\beta ={(P_{{\text{b}}}^{{ - 1}}+D{N^{ - 1}}{D^T})^{ - 1}}$$
(5)
$${x_{{\text{fix}}}}=x+({N^{ - 1}}{D^T})\beta ({l_{\text{b}}} - Dx)$$
(6)
$${Q_{{\text{fix}}}}={N^{ - 1}} - ({N^{ - 1}}{D^T})\beta (D{N^{ - 1}})$$
(7)

However, to advance the SRIF processing, the reconstructed covariance \({Q_{{\text{fix}}}}\) after ambiguity resolution needs to be decomposed into an upper triangular matrix \(\widehat {{{R_{{\text{fix}}}}}}\), which will double the processing time. To avoid that, we present an epoch-wise ambiguity resolution method with the ambiguity resolution module running independently of the main filter. The normal equations, float ambiguity solutions, and the corresponding covariances are collected every epoch from the main filter as inputs for the ambiguity resolution module. Once there are ambiguities that can be fixed at a specific epoch, the collected normal equations are updated and all the estimations are recomputed. However, the updated normal equations and estimations are not fed back into the main filter and the advancing of the main filter is never disturbed.

Accommodation of satellite maneuvers and attitude changes

Discontinuous forces act on a satellite when a maneuver happens, which in most cases cannot be accurately modeled. In real-time processing, the filter needs to accommodate such problems automatically. To investigate the effect of satellite maneuver in the filter, we take BDS satellites as an example. As officially announced in the experimental time period, BDS C10 satellite experienced a repositioning maneuver, C11, C12 satellites had attitude turns, and C14 was unaffected by maneuvers. The experiment is confined to pseudorange observations, filter information for all the parameters are shown in Table 3.

Table 3 Settings of parameters in SRIF processing

Figure 3 shows the residuals of pseudorange observations after SRIF estimation. As a consequence of satellite maneuver, C10 and all the other satellites exhibit very large residuals. Moreover, the residuals of satellite C10 are contaminated right at the beginning of the maneuver event while residuals of other satellites are contaminated as well soon later. Attitude switches that are performed on satellites C11 and C12 cause the residuals to increase to a level of tens of meters, but results can converge again after several days. Thus, a positioning maneuver of satellite leads to completely wrong results if it is not taken into account in the filter.

Fig. 3
figure 3

Pseudorange residuals of four BDS satellites in filter processing (green and black lines indicate the start time of attitude switches for satellites C11 and C12, the red line denotes the start time of the maneuver for satellite C10)

To solve such issues in SRIF, processing noise of 10−14 km/s2 and 10−12 km/s2 every 5 min are employed on SRP parameters when BDS satellites are experiencing attitude changes and position maneuvers, respectively. In order to detect the exact time of such events, we run one additional filter parallel to the main filter involving only pseudorange observations. If the RMS values of pseudorange residuals at an epoch are larger than 5 times the observation accuracy for a specific satellite, it is considered to be in maneuver. For the attitude switches of BDS satellites, we can simply take the starting time when the absolute value of the β angle is 4°. Figure 4 shows pseudorange residuals after handling maneuver issues. It is clear that the residuals of C11, C12 and C14 are not affected by satellite attitude changes or the position maneuver. Only C10 shows large residuals at the beginning of the maneuver lasting about 6–8 h.

Fig. 4
figure 4

Pseudorange residuals of BDS observations in filter processing after handling maneuvers (green and black lines indicate the start time of attitude switches for satellites C11 and C12, the red line denotes the start time of the maneuver for satellite C10)

Performance of SRIF results

We use the same network of tracking stations and orbit model options as in the post-processing mode. Orbit differences of real-time estimated orbits with respect to GBM orbits at each epoch for all the satellites are shown in Fig. 5. Satellite orbits in maneuver days are not considered since there are no corresponding precise orbits. GPS satellite orbits exhibit much smaller differences all the time, especially in the radial direction, as all tracking stations track GPS. BDS and Galileo orbits show larger difference values than GPS and we can observe clear daily dependent variations. The reason is that only a subnet of the stations track Galileo and BDS, and the SRP model used by GFZ during the experimental period is different while in particular Galileo orbits are highly sensitive to SRP modeling. In addition, GBM orbit products exhibit day boundary discontinuities while the SRIF estimated orbits are continuous.

Fig. 5
figure 5

Differences of all the SRIF estimated orbits with respect to GBM orbits

The performance of float and ambiguity fixed real-time orbits are shown in Fig. 6. There is a clear improvement of the ambiguity-fixed solution over the float solution for GPS satellites, for which the 3D mean difference is about 20% smaller. For Galileo and BDS real-time orbits, we do not observe large difference between float and ambiguity fixed solutions, only a slight improvement of about 2% is identified on average. One aspect of the reason is that real-time data preprocessing might cut a long observation arc into small pieces, which leads to a low fixing rate. On the other hand, the ambiguity fixed information is not considered in the next epoch processing. The RMS of orbit differences and STD of SLR residuals are shown in Table 4. For GPS orbits, the RMS values of all three components are quite similar both in the full sunlight and eclipse seasons. For the BDS IGSO and MEO eclipsing satellites, the 3D RMS values are about 50% and 40% larger than those in full sunlight.

Fig. 6
figure 6

3D differences with respect to GBM orbits for float and ambiguity fixed solutions. Eclipsing satellites are not included (top panel: GPS and Galileo orbits, bottom panel: BDS orbits)

Table 4 RMS of SRIF estimated orbits with respect to GBM orbits and SLR observations

The 3D RMS of orbit differences with respect to GBM orbits as well as the STD of SLR residuals for post-processed, predicted, and real-time estimated orbits are shown in Fig. 7. The quality of predicted orbits decreases with the predicted arc length, especially for BDS eclipsing satellites. The real-time estimated orbits are much better than the predicted orbits except for BDS-MEO satellites that are in full sunlight. When further checking this case we find that only satellite C14 is in full sunlight during the experimental period, and the real-time data cleaning eliminates more observations than in the post-processing mode. The STD of SLR residuals of the real-time estimated Galileo orbits is slightly better than the post-processed orbits. This might be due to the continuous use of Galileo observations in the filter. In general, the 3D RMS values of the real-time estimated orbits exhibit an improvement of about 30%, 60% and 40% over the 6-h predicted orbits for GPS, BDS IGSO, and BDS-MEO eclipsing satellites, respectively.

Fig. 7
figure 7

3D RMS of orbit differences with respect to GBM orbits for post-processed, 3-h predicted, 6-h predicted, and SRIF estimated orbits as well as the STD of SLR residuals. F full sunlight satellites, E eclipsing satellites, IGSO and MEO BDS IGSO and MEO satellites, Gal Galileo satellites, SLR STD of SLR residuals for Galileo orbits

Summary and conclusions

Precise real-time GNSS orbit products are the basis for high accuracy real-time applications. To serve real-time users, orbit prediction is used in most cases. With precise initial condition and orbit force models, we can propagate GNSS orbits over a certain arc length. In this contribution, we study the quality degradation of predicted orbits in the full sunlight and eclipse seasons, respectively. In general, orbit predictions in the eclipse seasons show worse performance than in the full sunlight seasons. Particularly, the performance of BeiDou IGSO and MEO 6-h predicted orbits is 5–6 times worse than the corresponding estimated orbits when satellites are in the eclipse seasons.

To avoid long arc orbit prediction, we introduce real-time orbit determination using the SRIF method. Real-time data preprocessing and epoch-wise ambiguity resolution procedures are introduced. Satellite maneuver and attitude change events are handled by setting variable process noise of 10−16 km/s2, 10−14 km/s2 and10−12 km/s2 every 5 min on SRP parameters when the satellite is indicated to be in normal, attitude switching, and orbit maneuver mode, respectively. Results show that GPS real-time estimated orbits benefit from epoch-wise ambiguity resolution, for which an improvement of 20% is found compared to the float solutions. We do however not observe large differences between float and ambiguity fixed solutions for Galileo and BDS orbits due to the low fixing rate.

By comparing predicted orbits with the real-time estimated orbits based on the same network of tracking stations, we find that real-time estimated orbits show much better performance than 6-h predicted orbits, especially for the eclipsing satellites. In general, the 3D RMS values of the real-time estimated orbits show an improvement of about 30%, 60% and 40% compared to the 6-h predicted orbits for GPS, BDS IGSO, and BDS-MEO eclipsing satellites, respectively.