Introduction

Typically, there are three sets of data that are available to determine the instantaneous satellite position: almanac data, broadcast ephemerides, and the precise ephemeris. The almanac data and the broadcast ephemeris are transmitted by the satellites, and the precise ephemeris is available from several agencies, such as the International GNSS Service (IGS). Table 1 summarizes the availability and accuracy of IGS products (IGS 2013).

Table 1 IGS products description (IGS 2013)

In order to meet the needs of real-time precise applications, the IGS established a “Real Time Working Group (RTWG)” in 2001 and defined the real-time service (RTS). An RTS pilot project became initially operational in August 2011, providing access to precise orbit and clock corrections products in addition to GNSS data via internet. In April 1, 2013, the IGS RTS was officially launched.

RTS products

RTS is based on the IGS infrastructure of global network stations, data centers, and analysis centers. Eight analysis centers currently participating in the RTS: BKG (Bundesamt fur Kartographie und Geodäsie), CNES (Centre National d’Etudes Spatiales), DLR (Deutsches Zentrum für Luft- und Raumfahrt), ESA/ESOC (European Space Agency’s Space Operations Centre), GFZ (DeutschesGeoForschungsZentrum), GMV (GMV Aerospace and Defense), NRCan (Natural Resources Canada), and WUHAN (Wuhan Technical University). NRCan serves as RTWG chair, ESOC serves as Real Time Analysis Center Coordinator (RTACC), and BKG is the data flow coordinator. The RTS product streams consist of combination solutions generated by processing individual solutions from participating Real Time Analysis Centers (RTAC’s). The RTS combination centers are hosted by the ESA and BKG analysis centers. Currently, the RTS products include GNSS satellite orbit and satellite clock corrections to be applied to the broadcast ephemeris as well as GNSS data streams from globally distributed high-quality GNSS receivers. There are three streams considered here.

IGS01/IGC01 This is a single-epoch combination solution in which all epochs are independent of each other. Because no filters are applied to the IGS01/IGC01 product, it has its full accuracy starting with product generation. Satellite clocks are aligned by removing the epoch wise common offset from all satellite clocks. The weighted average of the aligned clocks of each satellite is calculated after outliers screening. Satellite orbits, on the other hand, are combined by averaging values from all contributions. Two products are then offered: The first is IGS01 which refers to satellite antenna phase center (APC), while the second is IGC01 which refers to satellite center of mass (CM).

IGS02 This is a Kalman filter combination solution. To reach its full accuracy, the solution requires a few minutes convergence time after that the solution accuracy is maintained. All satellite clocks from different Analysis Centers (ACs) are used as pseudo observations in the Kalman filter. The observation equation is linear and includes three parameters to estimate AC-specific offset, satellite-specific offset common to all ACs, and the satellite clock correction. In the Kalman filter, the satellite clock corrections are assumed to be static parameters, while AC-specific and satellite-specific offsets are white noise stochastic parameters. The orbit in IGS02 solution is the one of the ultra-rapid solutions. The mean satellite position is computed from all AC, and all individual AC solutions are compared with the mean orbit. At any epoch, if a specific AC orbit difference with respect to the mean orbit exceeds a threshold, the solution from such AC is ignored at this specific epoch. It should be noted here that the orbit in IGS02 solution refers to satellite antenna phase center.

IGS03 This is a Kalman filter combination offered as an experimental product. IGS03 is estimated following the same approach as IGS02, but it also includes GLONASS corrections. Like IGS02, the orbit of IGS03 refers to the satellite APC. Table 2 summarizes the RTS products specifications (IGS-RTS 2015).

Table 2 RTS Streams Description

Broadcasting of RTS products and application

The RTS products are distributed as RTCM state-space representation (SSR) correction streams, broadcast over the Internet using the Networked Transport of RTCM via Internet Protocol (NTRIP). These corrections are expressed within the International Terrestrial Reference Frame 2008 (ITRF08). No special licensing is required to use the NTRIP client application; it can be downloaded from http://igs.bkg.bund.de/ntrip/download. RTS products are available through several distribution centers around the world. The primary distribution centers of RTS products are the IGS Central Bureau (IGSCB) and the BKG. The only requirement is user registration, which can be done online through the IGS RTS website (http://igs.org/rts). As indicated in Table 2, the IGC01 orbit product, much like all the IGS products in Table 1, refers to the satellite CM rather than the satellite APC. So, in this case, the satellite APC offset should be added to transform satellite coordinates from CM to APC. However, there is no need to apply APC corrections if IGS01 or IGS02 or IGS03 is used because they like the broadcast ephemerides refer to satellite APC.

Real-time satellite position calculations

The broadcast ephemerides refer to Earth-Centered-Earth Fixed (ECEF) coordinate system. However, the real-time corrections are given in the orbital coordinate system (radial, along-track, and cross-track). Therefore, the real-time corrections must be transformed from orbital coordinate system to ECEF coordinate system. Three steps are required to compute the real-time satellite position at the current epoch. First, compute the real-time correction in the orbital plane at current epoch t,

$$\left[ \begin{aligned} \delta_{\text{r}} \hfill \\ \delta_{\text{a}} \hfill \\ \delta_{\text{c}} \hfill \\ \end{aligned} \right]_{{t,{\text{OR}}}} = \left[ \begin{aligned} \delta_{\text{r}} \hfill \\ \delta_{\text{a}} \hfill \\ \delta_{\text{c}} \hfill \\ \end{aligned} \right]_{{t_{0} ,{\text{OR}}}} + \left[ \begin{aligned} \dot{\delta }_{\text{r}} \hfill \\ \dot{\delta }_{\text{a}} \hfill \\ \dot{\delta }_{\text{c}} \hfill \\ \end{aligned} \right](t - t_{0} )$$
(1)

where \(\delta_{\text{r}} ,\delta_{\text{a}}\), and \(\delta_{\text{c}}\) are the radial, along-track, and cross-track corrections, \(t_{0}\) and t are the issue of data (IOD) and the current epoch, and \(\dot{\delta }_{\text{r}} ,\dot{\delta }_{\text{a}} ,\) and \(\dot{\delta }_{\text{c}}\) are the rate of the radial, along-track, and cross-track corrections. Second, compute the transformation matrix R and ECEF corrections (Hadas and Bosy 2015):

$$R = \left[ {\begin{array}{*{20}l} {\frac{{\dot{r}}}{{\left| {\dot{r}} \right|}} \times \frac{{r \times \dot{r}}}{{\left| {r \times \dot{r}} \right|}}} \hfill & {\frac{{\dot{r}}}{{\left| {\dot{r}} \right|}}} \hfill & {\frac{{r \times \dot{r}}}{{\left| {r \times \dot{r}} \right|}}} \hfill \\ \end{array} } \right]^{T}$$
(2)
$$\,\left[ {\begin{array}{*{20}c} {\delta_{x} } \\ {\delta_{y} } \\ {\delta_{z} } \\ \end{array} } \right]_{{t,{\text{ECEF}}}} = R\left[ {\begin{array}{*{20}c} {\delta_{\text{r}} } \\ {\delta_{\text{a}} } \\ {\delta_{\text{c}} } \\ \end{array} } \right]_{{t,{\text{OR}}}}$$
(3)

where \(\delta_{x} ,\delta_{y} ,\) and \(\delta_{z}\) are the orbital corrections in ECEF coordinate system, \(\delta_{\text{r}} ,\delta_{\text{a}} ,\) and \(\delta_{\text{c}}\) are the orbital corrections in the orbital coordinate system, and \(r\) and \(\dot{r}\) are the satellite unit and velocity vectors, computed from broadcast ephemerides. Third, apply real-time corrections to broadcast coordinates (precise orbit = broadcast orbit – RT corrections),

$$\left[ {\begin{array}{*{20}c} X \\ Y \\ Z \\ \end{array} } \right]_{{t,{\text{ECEF}}}} = \left[ {\begin{array}{*{20}c} X \\ Y \\ Z \\ \end{array} } \right]_{{t,{\text{BRD}}}} - \left[ {\begin{array}{*{20}c} {\delta_{x} } \\ {\delta_{y} } \\ {\delta_{z} } \\ \end{array} } \right]_{{t,{\text{ECEF}}}}$$
(4)

where \(X,Y,\) and \(Z\) are the satellite coordinates in the ECEF coordinate system.

Calculation of real-time satellite clock corrections

Similar to the broadcast ephemerides, real-time satellite clock corrections are streamed in the form of polynomial coefficients \(C_{0} ,C_{1}\), and \(C_{2}\). The precise satellite clock correction at any epoch t can be calculated by subtracting the real-time correction from the correction computed from the broadcast ephemerides at the same epoch as follows:

$$t_{\text{c}} = C_{0} + C_{1} (t - t_{0} ) + C_{2} (t - t_{0} )^{2}$$
(5)

where \(t_{\text{c}}\) is the satellite clock correction to the broadcast clock correction, \(t_{0}\) and \(t\) are the IOD and the current epoch, and \(C_{0} ,C_{1},\) and \(C_{2}\) are the polynomial coefficients of RT satellite clock corrections.

IGS RTS products versus IGS rapid products

Typically, the IGS performs daily comparison between the real-time products (ultra-rapid orbit and real-time clock corrections) and the rapid products (rapid orbit and rapid clock corrections). The daily comparison reports are available at the IGS global data centers (http://igs.org/rts/monitor). Daily reports include not only comparison of the combined streams but also the comparison of products from different analysis centers. Figure 1 shows the RMS of the IGS ultra-rapid orbit, compared with the IGS rapid orbit for both IGS01 and IGS02 streams. Figure 2 shows the real-time clock standard deviation (sigma) for both streams.

Fig. 1
figure 1

IGS real-time orbit compared with the IGS rapid orbit

Fig. 2
figure 2

IGS real-time clock compared with the IGS rapid clock

Figures 1 and 2 show that the performance of the single-epoch stream IGS01 is better than the Kalman filtered stream, IGS02. In addition, the RMS of the IGS ultra-rapid orbit ranges from 31.0 to 41.2 mm, which is at the same level of the predicted part of the ultra-rapid orbit (Table 1). Moreover, the range of the standard deviation of the real-time clock is 0.11–0.13 ns which is ten times better than the predicted part of the ultra-rapid clock corrections of 1.5 ns. In general, we can conclude that the IGS RTS products meet the target accuracies, which are 5 cm for the orbit, the accuracy of the predicted part of the ultra-rapid, and 0.3 ns for satellite clocks.

Positioning performance of RTS products

Precise Point Positioning (PPP) is one of the main applications of RTS products. PPP can be used to indirectly verify the quality of RTS products. GPS data collected from IGS stations shown in Fig. 3 are processed using all IGS products (RTS, predicted part of the ultra-rapid, rapid, and final) and the broadcast ephemerides.

Fig. 3
figure 3

IGS stations used for verification of RTS products

The well-known first-order ionospheric-free linear combinations are as follows:

$$\begin{aligned} P_{3} & \equiv \xi_{1} P_{1} - \xi_{2} P \\ & = \rho + c(dt^{r} - dt^{s} ) + T + b_{P3}^{r} - b_{P3}^{s} + \varepsilon_{P3} \\ \end{aligned}$$
(6)
$$\begin{aligned} \varPhi_{3} & \equiv \xi_{1} \varPhi_{1} - \xi_{2} \varPhi_{2} \\ & = \rho + c(dt^{r} - dt^{s} ) + T + b_{\varPhi 3}^{r} - b_{\varPhi 3}^{s} + \lambda_{3} N_{3} + \varepsilon_{\varPhi 3} \\ \end{aligned}$$
(7)

with \(\xi_{1} = \frac{{f_{1}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}\), \(\xi_{2} = \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}\), \(b_{P3}^{r} = c\left( {\xi_{1} d_{P1}^{r} - \xi_{2} d_{P2}^{r} } \right)\), \(b_{P3}^{s} = c\left( {\xi_{1} d_{P1}^{s} - \xi_{2} d_{P2}^{s} } \right)\), \(b_{\varPhi 3}^{r} = c\left( {\xi_{1} \delta_{\varPhi 1}^{r} - \xi_{2} \delta_{\varPhi 2}^{r} } \right) + \left( {\xi_{1} \lambda_{1} \phi_{\varPhi 1}^{r} (t_{0} ) - \xi_{2} \lambda_{2} \phi_{\varPhi 2}^{r} (t_{0} )} \right)\), \(\lambda_{3} = \frac{c}{{f_{1}^{2} - f_{2}^{2} }}\), \(\,N_{3} = f_{1} N_{1} - f_{2} N_{2}\) \(b_{\varPhi 3}^{s} = c\left( {\xi_{1} \delta_{\varPhi 1}^{s} - \xi_{2} \delta_{\varPhi 2}^{s} } \right) + \left( {\xi_{1} \lambda_{1} \phi_{\varPhi 1}^{s} (t_{0} ) - \xi_{2} \lambda_{2} \phi_{\varPhi 2}^{s} (t_{0} )} \right)\), where \(P_{1}\) and \(P_{2}\) are the pseudorange measurements on L1 and L2, \(\varPhi_{1}\) and \(\varPhi_{2}\) are the scaled carrier phase measurements, \(\rho\) is the topocentric distance between satellite and receiver antenna phase centers, \(dt^{s}\) and \(dt^{r}\) are the satellite and receiver clock errors, T is the slant tropospheric delay, \(c\) is the speed of light in vacuum, \(\delta_{*}^{s}\) and \(\delta_{*}^{r}\) are the frequency-dependent carrier phase hardware delays for satellite and receiver, \(d_{*}^{s}\) and \(d_{*}^{r}\) are satellite and receiver code hardware delays, \(\lambda_{1}\) and \(\lambda_{2}\) are the wavelengths at frequencies L1 and L2, \(N_{1} \,\) and \(N_{2}\) are the integer ambiguity parameters, \(\phi_{{\varPhi_{*} }}^{s} (t_{0} )\) and \(\phi_{{\varPhi_{*} }}^{r} (t_{0} )\) are frequency-dependent carrier phase initial phase bias for satellite and receiver, and \(\varepsilon_{P3}\) and \(\varepsilon_{\varPhi 2}\) are the noise of the ionospheric-free functions which are respective functions of \(\varepsilon_{P1} ,\,\varepsilon_{P2} ,\,\varepsilon_{\varPhi 1}\) and \(\varepsilon_{\varPhi 2}\) (unmodeled errors, multipath effect, and observational noise of pseudorange and phase observations).

A reparameterized version of (6) and (7) which eliminates linear dependencies, known as the traditional PPP model, can then be written as:

$$P_{3} = \rho + c(dt_{P3}^{r} - dt_{P3}^{s} ) + T + \varepsilon_{P3}$$
(8)
$$\varPhi_{3} = \rho + c(dt_{P3}^{r} - dt_{P3}^{s} ) + T + \lambda_{3} N^{\prime}_{3} + \varepsilon_{\varPhi 3}$$
(9)

where \(dt_{P3}^{r} = dt^{r} + b_{P3}^{r} /c,\) \(dt_{P3}^{s} = dt^{s} + b_{P3}^{s} /c,\) and \(N_{3}^{{\prime }} = ( - b_{P3}^{r} + b_{P3}^{s} + b_{\varPhi 3}^{r} - b_{\varPhi 3}^{s} )/\lambda_{3} + N_{3}.\)

The observations are processed in both static and kinematic modes using the PPP software developed by the first author (Elsobeiey 2015; Elsobeiey and El-Rabbany 2014). The input is the first-order ionospheric-free code and carrier phase (8) and (9). The satellite orbit and satellite clock corrections are accounted for depending on the product used (i.e., broadcast ephemerides, predicted part of the ultra-rapid, IGS01 of the RTS products, rapid, or final). The hydrostatic tropospheric delay is accounted for using the Global Pressure and Temperature 2 (GPT2) model (Lagler et al. 2013; Rózsa 2014). Wet tropospheric delay, on the other hand, is estimated as an additional unknown with a random walk process noise of 3 mm/√hour (Kouba 2009). The Vienna mapping function 1 (VMF1) is used for the mapping of both wet and dry zenith tropospheric delays to the elevation angle of each satellite (Boehm et al. 2006a, b). All remaining errors, including earth tides, ocean loading, carrier phase windup, sagnac, and relativity, are accounted for with sufficient accuracy using existing models (Kouba 2009). Figures 4 and 5 show 1 h of static positioning errors in East, North, and Up directions for stations CNMR and PARC, as examples. Similar results are obtained for other stations.

Fig. 4
figure 4

Static position errors in North (top), East (middle) and Up (bottom) at station CNMR

Fig. 5
figure 5

Static position errors in North (top), East (middle) and Up (bottom) at station PARC

In static PPP, as can be seen in Figs. 4 and 5, the performance of the IGS RTS orbit and clock corrections is superior to the predicted part of the IGS ultra-rapid products. This is clear from the convergence time required by each product. As expected, the performance of the broadcast ephemerids is the worst. Because of its low accuracy (Table 1) and ephemerides update, the broadcast ephemerides solution is not stable over time. In general, the broadcast ephemerides solutions experience jumps when the ephemerides are updated. For post-processing, the user may take advantage of the combined broadcast ephemerides available at the IGS ftp site, which includes the broadcast ephemerides for all satellites with an update interval of 2 h. In addition, in order to reduce solution jumps, one may use the nearest time of ephemerides to compute the satellite orbit and clock corrections. Regardless of the performance of the broadcast ephemerides, the only available real-time precise products are the predicted part of the IGS ultra-rapid products and the RTS orbit and clock corrections.

For kinematic PPP, the RMS for each 1 h session is computed as the average value of the last 5 min. Figures 6 and 7 show the kinematic results of stations ADIS and FLRS, as example. Table 3 summarizes the solution RMS for all stations using the IGS precise real-time products. These results are comparable to the IGS PPP monitoring, which can be found at ftp://igs.bkg.bund.de/NTRIP/ppp.

Fig. 6
figure 6

Kinematic positioning error at station ADIS

Fig. 7
figure 7

Kinematic positioning error at station FLRS

Table 3 Performance comparison of IGS RTS and ultra-rapid products

Table 3 shows that the solution average RMS of the RTS products are 0.16, 0.09, and 0.23 m in East, North, and Up directions, respectively, compared with 0.32, 0.23, and 0.43 m average RMS using the ultra-rapid products. In addition, the average 2D and 3D RMS of the RTS solution are 0.18 and 0.30 in comparison with the corresponding values of the ultra-rapid solution of 0.4 and 0.6 m, respectively. These results are very significant making the RTS products superior to the ultra-rapid products. The inherent improvement, which is about 50 %, is attributed to the satellite clock accuracy of the RTS products, which are ten times better than the predicted part of the ultra-rapid clock corrections.

Conclusions

With the availability of the IGS real-time service, it becomes possible to obtain satellite precise orbit and satellite clock corrections in real-time with accuracy better than that of the ultra-rapid products (predicted part). A detailed description and analysis of IGS RTS products was provided. The broadcasting of the IGS RTS orbit and clock corrections and their implementation as corrections for the broadcast ephemerides are also described. In order to verify the RTS products in PPP, GPS data from several globally distributed and randomly selected IGS stations were processed. The results obtained from RTS products were compared with that obtained from other IGS precise products (ultra-rapid, rapid, and final), with more emphases on the ultra-rapid results. It is shown that the RTS products are superior to the ultra-rapid products. In addition, using IGS RTS products in real-time PPP can improve the solution RMS by about 50 % compared with the solution that obtained from the predicted part of the IGS ultra-rapid products.