Introduction

Precise satellite orbit and clock products are the two key elements for enabling precise point positioning (PPP) to obtain high-precision positioning solutions (Zumberge et al. 1997). Although the predicted part of the ultra-rapid products released by the international GNSS service (IGS) has sufficiently high accuracy (~5 cm) to be used in real-time applications, the predicted clock accuracy of ~3 ns and the large sample interval of 15 min limit their use. To overcome these limitations, the real-time high-rate satellite clocks must be estimated using a network of reference stations and disseminated to PPP users (Bar-Sever et al. 2001; Collins 2008; Hauschild and Montenbruck 2009; Ge et al. 2012a).

Since 2007, the IGS has issued a call for participation in a real-time pilot project where the generation and dissemination of real-time satellite clocks is one of the key objectives (Weber et al. 2007; Colombo 2008). In April 2013, the IGS officially launched the real-time service (RTS) to provide precise orbit and clock correction service via Radio Technical Commission for Maritime Services (RTCM) protocol for Global Positioning System (GPS) and GLONASS. However, support for other constellations is currently not available.

The BeiDou Navigation Satellite System (BDS) developed by China is currently providing operational services in the Asia–Pacific region and will be extended to a global system by 2020. Declared operational in December 2012, the regional constellation consists of five geostationary earth orbit (GEO) satellites, five inclined geosynchronous satellite orbit (IGSO) satellites and four medium earth orbit (MEO) satellites. This unique constellation design allows 8–9 visible BDS satellites on average in China and nearby regions. When combined with the existing GNSS systems, users will benefit from more simultaneously visible satellites and better observation geometry, providing a distinct advantage, especially under unfavorable observation conditions with restricted horizon visibility.

The performance of precise orbit determination and positioning with BDS has been studied in recent years. By evaluating the middle overlapping day of 3-day arc solutions, the three dimensional (3-D) root-mean-square (RMS) of difference in the orbits is approximately 1–2 m for GEO satellites and approximately 0.2–0.3 m for IGSO and MEO satellites in post-processed mode. The RMS in the radial component is <0.1 m for all BDS satellites. Positioning solutions based on these BDS products can achieve comparable results to GPS (Ge et al. 2012b; Shi et al. 2012; Montenbruck et al. 2013; Zhao et al. 2013; Lou et al. 2014a). All BDS satellites are equipped with rubidium clocks from manufacturers in Switzerland and China (Han et al. 2011). Studies revealed that all BDS clocks show similar performance, but have a slightly lower stability in comparison with Galileo and the latest generation of GPS satellites (Gong et al. 2012; Steigenberger et al. 2013). Most of these investigations of the BDS are based on post-processed solutions, while only a few focus on RTS. In addition, the strategies for dealing with inter-system, inter-frequency and inter-code biases in joint multi-GNSS processing remain a significant challenge for the GNSS community.

We present the model and processing strategy for the joint estimation of GPS and BDS satellite clocks and inter-system biases (ISB) that can be applied for real-time use. We first present the joint estimation model of GPS/BDS real-time clocks based on the mixed-differenced method. The data collection and detailed processing strategies are then described. We then present the results of receiver-specific ISB between GPS and BDS. The estimation models are validated through clock comparisons with IGS final products, the post-fit residuals and comparisons of PPP solutions for tracking station coordinates. The new joint estimation model will be compared with the system-by-system model in the last section.

Methodology

Real-time satellite clock corrections are usually estimated using the undifferenced method, the epoch-differenced method or the mixed-differenced method. Ge et al. (2012a) compared these three methods and determined that the mixed-differenced method can reduce the computation time significantly over the undifferenced method due to the removal of ambiguities, and the initial clock biases can be more precisely estimated compared to the epoch-differenced method. Because of these advantages, the mixed-differenced method is used to derive the joint estimation model of GPS/BDS clocks.

Epoch-differenced phase measurement model

Assuming that station coordinates and satellite orbits are held fixed in the clock estimation, the linearized observation equations of the ionospheric-free code and phase combinations can be expressed as

$$\begin{aligned} v_{{P,{\text{r}}}}^{\text{s}} \left( i \right) =\delta t_{\text{r}} \left( i \right) - \delta t^{\text{s}} \left( i \right) + b_{\text{r}} \left( i \right) - b^{\text{s}} \left( i \right) + m_{\text{r}}^{\text{s}} \left( i \right) \cdot \delta T_{\text{r}} \left( i \right) + l_{{P,{\text{r}}}}^{\text{s}} \left( i \right) \hfill \\ v_{{L,{\text{r}}}}^{\text{s}} \left( i \right) = \delta t_{\text{r}} \left( i \right) - \delta t^{\text{s}} \left( i \right) + B_{\text{r}} \left( i \right) - B^{\text{s}} \left( i \right) + m_{\text{r}}^{\text{s}} \left( i \right) \cdot \delta T_{\text{r}} \left( i \right) + \lambda_{1} \cdot N_{{c,{\text{r}}}}^{\text{s}} + l_{{L,{\text{r}}}}^{\text{s}} \left( i \right) \hfill \\ \end{aligned}$$
(1)

where i is the epoch time, v s P,r , v s L,r and l s P,r , l s L,r are the post-fit and pre-fit residuals of the ionospheric-free code and phase combinations, δt r and δt s denote the clock corrections of the receiver and satellite, respectively, m sr is the mapping function, δT r represents the zenith total delay (ZTD) parameter, and λ 1 denotes the wavelength of the GPS L1 or BDS B1 carrier. b r, b s, B r and B s are the receiver- and satellite-specific hardware biases of the ionospheric-free code and phase combinations, respectively, and N s c,r denotes the ambiguity of the ionospheric-free phase combination. The transmitted signals of both GPS and BDS satellites adopt the code division multiple access (CDMA) technique, which keeps the receiver hardware biases the same for all satellites from one system if code types and the tracking modes are the same. However, hardware biases are generally different for satellites from different GNSS systems.

Since satellite phase biases are quite stable over a period of several hours (Coco et al. 1991; Ge et al. 2008; Montenbruck et al. 2014a), differencing between consecutive epochs can eliminate the phase biases if there are no cycle slips. The GPS/BDS epoch-differenced phase observations in (1) can be expressed as

$$\begin{aligned}\Delta v_{{L,{\text{r}}}}^{{G,{\text{s}}}} \left( i \right) =\Delta \delta t_{\text{r}} \left( i \right) -\Delta \delta t^{{G,{\text{s}}}} \left( i \right) +\Delta B_{\text{r}}^{G} \left( i \right) +\Delta m_{\text{r}}^{{G,{\text{s}}}} \left( i \right) \cdot \delta T_{\text{r}} \left( i \right) +\Delta l_{{L,{\text{r}}}}^{{G,{\text{s}}}} \left( i \right) \hfill \\\Delta v_{{L,{\text{r}}}}^{{B,{\text{s}}}} \left( i \right) =\Delta \delta t_{\text{r}} \left( i \right) -\Delta \delta t^{{B,{\text{s}}}} \left( i \right) +\Delta B_{\text{r}}^{B} \left( i \right) +\Delta m_{\text{r}}^{{B,{\text{s}}}} \left( i \right) \cdot \delta T_{\text{r}} \left( i \right) +\Delta l_{{L,{\text{r}}}}^{{B,{\text{s}}}} \left( i \right) \hfill \\ \end{aligned}$$
(2)

where Δ denotes the epoch-differenced operator. There is no epoch-differenced operator before δT r(i) since it will be taken as piecewise constant over a period of time (2 h is used) in latter sections. The superscripts G and B represent the GPS and BDS satellite systems, respectively. Because of the rank deficiency among the Δδt r(i), ΔB Gr (i) and ΔB Br (i), we can define \(\Delta \delta \tilde{t}_{\text{r}} \left( i \right) \equiv\Delta \delta t_{\text{r}} \left( i \right) +\Delta B_{\text{r}}^{G} \left( i \right)\) which means the receiver clocks determined by the GPS are taken as the datum. Thus, Eq. (2) can then be reformulated as

$$\begin{aligned}\Delta v_{{L,{\text{r}}}}^{{G,{\text{s}}}} \left( i \right) =\Delta \delta \tilde{t}_{\text{r}} \left( i \right) -\Delta \delta t^{{G,{\text{s}}}} \left( i \right) +\Delta m_{\text{r}}^{{G,{\text{s}}}} \left( i \right) \cdot \delta T_{\text{r}} \left( i \right) +\Delta l_{{L,{\text{r}}}}^{{G,{\text{s}}}} \left( i \right) \hfill \\\Delta v_{{L,{\text{r}}}}^{{B,{\text{s}}}} \left( i \right) =\Delta \delta \tilde{t}_{\text{r}} \left( i \right) -\Delta \delta t^{{B,{\text{s}}}} \left( i \right) +\Delta {\text{ISB}}_{\text{r}} \left( i \right) +\Delta m_{\text{r}}^{{B,{\text{s}}}} \left( i \right) \cdot \delta T_{\text{r}} \left( i \right) +\Delta l_{{L,{\text{r}}}}^{{B,{\text{s}}}} \left( i \right) \hfill \\ \end{aligned}$$
(3)

where ΔISBr = ΔB Br  − ΔB Gr  = Δ(B Br  − B Gr ) denotes the epoch-differenced phase ISB between GPS and BDS. As shown later, the ISBr is quite stable over a day and ΔISBr can be neglected in (3), giving

$$\begin{aligned}\Delta v_{{L,{\text{r}}}}^{{G,{\text{s}}}} \left( i \right) =\Delta \delta \tilde{t}_{\text{r}} \left( i \right) -\Delta \delta t^{{G,{\text{s}}}} \left( i \right) +\Delta m_{\text{r}}^{{G,{\text{s}}}} \left( i \right) \cdot \delta T_{\text{r}} \left( i \right) +\Delta l_{{L,{\text{r}}}}^{{G,{\text{s}}}} \left( i \right) \hfill \\\Delta v_{{L,{\text{r}}}}^{{B,{\text{s}}}} \left( i \right) =\Delta \delta \tilde{t}_{\text{r}} \left( i \right) -\Delta \delta t^{{B,{\text{s}}}} \left( i \right) +\Delta m_{\text{r}}^{{B,{\text{s}}}} \left( i \right) \cdot \delta T_{\text{r}} \left( i \right) +\Delta l_{{L,{\text{r}}}}^{{B,{\text{s}}}} \left( i \right) \hfill \\ \end{aligned}$$
(4)

where \(\Delta \delta \tilde{t}_{\text{r}} (i)\), Δδt G,s(i), Δδt B,s(i) and δT r(i) are parameters to be estimated. Compared to the GPS-only processing, only the epoch-differenced clock parameters for BDS satellites are added in the joint epoch-differenced clock estimation equation. This will not significantly increase the computational burden, which is one of the crucial requirements of the high-rate real-time clock estimation.

The initial clock bias estimation

Satellite clock corrections at epoch i can be decomposed into

$$\begin{aligned} \delta t^{{G,{\text{s}}}} \left( i \right) = \delta t^{{G,{\text{s}}}} \left( 0 \right) + \sum\limits_{j = 1}^{i} {\Delta \delta t^{{G,{\text{s}}}} \left( i \right)} \hfill \\ \delta t^{{B,{\text{s}}}} \left( i \right) = \delta t^{{B,{\text{s}}}} \left( 0 \right) + \sum\limits_{j = 1}^{i} {\Delta \delta t^{{B,{\text{s}}}} \left( i \right)} \hfill \\ \end{aligned}$$
(5)

where δt G,s(0) and δt B,s(0) denote the initial clock biases for GPS and BDS satellites, respectively. Taking (5) into consideration and introducing the ZTD parameters and epoch-differenced satellite clock parameters estimated from (4) to the code observation in (1), we can obtain

$$\begin{aligned} v_{{P,{\text{r}}}}^{{G,{\text{s}}}} \left( i \right) = \delta t_{\text{r}} \left( i \right) + b_{\text{r}}^{G} \left( i \right) - \delta t^{{G,{\text{s}}}} \left( 0 \right) - b^{{G,{\text{s}}}} \left( i \right) + \tilde{l}_{{P,{\text{r}}}}^{{G,{\text{s}}}} \left( i \right) \hfill \\ v_{{P,{\text{r}}}}^{{B,{\text{s}}}} \left( i \right) = \delta t_{\text{r}} \left( i \right) + b_{\text{r}}^{B} \left( i \right) - \delta t^{{B,{\text{s}}}} \left( 0 \right) - b^{{B,{\text{s}}}} \left( i \right) + \tilde{l}_{{P,{\text{r}}}}^{{B,{\text{s}}}} \left( i \right) \hfill \\ \end{aligned}$$
(6)

where \(\tilde{l}_{{P,{\text{r}}}}^{{G,{\text{s}}}} \left( i \right)\) and \(\tilde{l}_{{P,{\text{r}}}}^{{B,{\text{s}}}} \left( i \right)\) now contain the corrections of the epoch-differenced satellite clocks and ZTD parameters. The satellite code biases, i.e., b G,s(i) and b B,s(i), are also quite stable over the time scale of a month (Schönemann et al. 2011; Li et al. 2012; Montenbruck et al. 2014a). Therefore, they can be assimilated into the initial clock biases δt G,s(0) and δt B,s(0), namely \(\delta \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{t}^{{G,{\text{s}}}} \left( 0 \right) \equiv \delta t^{{G,{\text{s}}}} \left( 0 \right) + b^{{G,{\text{s}}}}\) and \(\delta \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{t}^{{B,{\text{s}}}} \left( 0 \right) \equiv \delta t^{{B,{\text{s}}}} \left( 0 \right) + b^{{B,{\text{s}}}}\). The b Gr (i) can be merged into the receiver clock parameter δt r(i), namely \(\delta \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{t}_{\text{r}} \left( i \right) \equiv \delta t_{\text{r}} \left( i \right) + b_{\text{r}}^{G} \left( i \right)\), similar to the strategy for the phase Eq. (3). Hence, Eq. (6) can be reformulated as

$$\begin{aligned} v_{{P,{\text{r}}}}^{{G,{\text{s}}}} \left( i \right) = \delta \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{t}_{\text{r}} \left( i \right) - \delta \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{t}^{{G,{\text{s}}}} \left( 0 \right) + \tilde{l}_{{P,{\text{r}}}}^{{G,{\text{s}}}} \left( i \right) \hfill \\ v_{{P,{\text{r}}}}^{{B,{\text{s}}}} \left( i \right) = \delta \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{t}_{\text{r}} \left( i \right) + {\text{ISB}}_{\text{r}} \left( i \right) - \delta \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{t}^{{B,{\text{s}}}} \left( 0 \right) + \tilde{l}_{{P,{\text{r}}}}^{{B,{\text{s}}}} \left( i \right) \hfill \\ \end{aligned}$$
(7)

where ISBr(i) = b Br (i) − b Gr (i) represents the receiver code ISB between GPS and BDS. We use lower case letters for ISBr to distinguish it from phase ISB, namely ISBr. ISBr can be estimated as a constant over the time period of 1 day, as will be shown later based on the selected tracking network data. We can form single differences between satellites by choosing one GPS satellite as a reference in (7), namely

$$\begin{aligned} {\nabla }v_{{P,{\text{r}}}}^{{GR,{\text{s}}}} \left( i \right) = \delta \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{t}^{{R,{\text{s}}}} \left( 0 \right) - \delta \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{t}^{{G,{\text{s}}}} \left( 0 \right) + {\nabla }\tilde{l}_{{P,{\text{r}}}}^{{GR,{\text{s}}}} \left( i \right) \hfill \\ {\nabla }v_{{P,{\text{r}}}}^{{BR,{\text{s}}}} \left( i \right) = \delta \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{t}^{{R,{\text{s}}}} \left( 0 \right) - \delta \overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{t}^{{B,{\text{s}}}} \left( 0 \right) + {\text{ISB}}_{\text{r}} + {\nabla }\tilde{l}_{{P,{\text{r}}}}^{{BR,{\text{s}}}} \left( i \right) \hfill \\ \end{aligned}$$
(8)

where ∇ is single-difference operator and superscript R denotes the reference satellite. The receiver clock parameters have been removed. Based on (8), the initial clock biases for each satellite can be solved and the satellite clock corrections at any epoch can then be derived using (5).

As can be seen from (8), only the initial BDS satellite clock errors and the constant ISBr for each receiver are added in the joint estimation model compared to the GPS-only clock estimation, which will not significantly increase the computational burden either.

The reference satellite in (8) can always be chosen to be the one with the highest elevation angle at each epoch when forming single-differences between satellites. It is not necessarily the same one as the datum satellite which is chosen to avoid a rank deficiency in (8). Generally, we constrain the initial clock bias of the datum satellite to the clock bias from the broadcast ephemeris. Once the datum satellite is chosen, it will not be changed in order to keep the datum consistent during the time period unless this satellite cannot be tracked by any of the receivers. In this case, we need to choose another datum satellite, and all the satellite clocks will experience a jump. This clock jump will have no impact on the positioning users but may affect time transfer. How to eliminate the satellite clock jump completely requires further investigation. However, for a global tracking network, it is rare that a GPS satellite cannot at all times be tracked by at least one ground station.

For one specific satellite, if a receiver tracking this satellite has a cycle slip, the epoch-differenced phase observations for measurements between the satellite–receiver pair at this epoch will not be formed until a quality control algorithm determines no further cycle slips are occurring. If all the receivers tracking this satellite have cycle slips, then the initial clock bias of this satellite will be re-computed as soon as one of these receivers recovers from the cycle slips.

Data and processing strategy

The validation of the joint clock estimation model will be made on the basis of data collected from the IGS multi-GNSS experiment (MGEX) network (Montenbruck et al. 2014b) and BeiDou experimental tracking stations (BETS) network. MGEX is organized by the IGS to track, collect and analyze all available GNSS signals including those from the Galileo, BDS and QZSS systems, as well as from modernized GPS and GLONASS satellites and any space-based augmentation system (SBAS) of interest. BETS is a continuous tracking network organized by the GNSS Research Center of Wuhan University and was established worldwide for scientific and engineering applications with cooperating partners, operational since March 2011. Currently BETS is comprised of 15 stations that track signals from BDS and GPS satellites. One month of data from December 1 (DOY 335) to December 30, 2013 (DOY 364) are used. The network contains 106 stations with data available during the period, as shown in Fig. 1. Red circles and blue circles denote stations from MGEX and BETS, respectively. All the receivers in the network can track GPS signals, and those shown in black dots can also track BDS signals. Station CENT (114.36°E, 30.52°N), denoted as the red star, will be used for PPP validation and is excluded from the clock estimation. The receiver types and corresponding number of stations are listed in Table 1.

Fig. 1
figure 1

Map of the MGEX and BETS stations used in the experiments

Table 1 Summary of the receiver types used in the selected stations

All the data here are processed in simulated real-time mode. The data are read from Receiver Independent Exchange Format (RINEX) files instead of the real-time stream, and all time delays existing in real situations are neglected. In order to evaluate the clock estimation model independently of orbit errors (Lou et al. 2014b), the final GPS orbit products from IGS (Dow et al. 2009) and the final BDS orbit products generated by the Position and Navigation Data Analyst (PANDA) software (Shi et al. 2008; Zhao et al. 2013; Lou et al. 2014a) at Wuhan University are used instead of the ultra-rapid-predicted products. However, in the PPP section, the IGS ultra-rapid-predicted products are used in order to illustrate the performance of PPP in real-time situations, neglecting errors in BDS-predicted orbits since the BDS-predicted orbits are not currently available. Because we still have no receiver phase center offset (PCO) and phase center variation (PCV) corrections for BDS signals at this time, we simply use GPS corrections for BDS signals, which is consistent with the orbit products because the BDS orbit products generated at Wuhan University also use this strategy. C/A code measurements of GPS are corrected with CODE differential code biases (DCB) products (Schaer and Steigenberger 2006) to be consistent with IGS clock products, and only in-phase code measurements are used in the initial clock bias estimation for BDS. The detailed satellite clock estimation strategies are summarized in Table 2.

Table 2 Joint real-time clock estimation strategies for GPS and BDS

Inter-system bias estimation

The ISB parameters should be handled carefully in the multi-GNSS data processing. These biases are mainly caused by differences in the time system and by different system hardware delays introduced by the receivers. In this section, the estimated phase and code ISB between GPS and BDS are studied based on the selected tracking network data.

Inter-system bias on the phase measurements

The 30 days of observation are processed based on (3). However, the ΔISBr are not neglected but estimated as epoch-wise parameters without any constraint along with satellite clock, receiver clock and ZTD parameters (only in this section, they are not neglected for the purpose of studying the characteristics of ΔISBr). The statistical results for each day for the four receiver types that track BDS and GPS are presented in Fig. 2. The black squares and vertical bars denote the daily mean and standard deviations (STD) of ΔISBr, respectively, averaged over all of the receivers of that type. For all receivers tracking signals from both systems, the mean values of ΔISBr are very close to zero and the STD values are all below 1.5 cm. Shi et al. (2013) showed that the noise level of BDS undifferenced carrier phase measurements is about 2–4 mm on both B1 and B2. Therefore, the STD values are consistent with the noise level of epoch-differenced ionospheric-free phase combinations of about 4.2 times of original phase measurement noise. The ISB on the phase measurements are can be reasonably eliminated between consecutive epochs.

Fig. 2
figure 2

Mean and STD values of the epoch-differenced series of ISB estimates on the phase measurements for the four types of receiver that track both systems

Inter-system bias on the code measurement

The code ISB between GPS and BDS derived in Lou et al. (2014a) using data from BETS and MGEX networks show a mean standard deviation of about 1 ns for all stations and therefore can be taken as a constant over the course of a day. The time series of the estimated ISBr after removal of the station-specific mean value on DOY 335 is presented in Fig. 3 as an example for the purpose of validation. It is clear that the estimated ISBr are quite stable after the convergence. Taking the ISBr as a constant will be beneficial to the efficient determination of GPS and BDS satellite initial clock biases.

Fig. 3
figure 3

Estimated ISB on the code measurements for all receivers tracking signals from both systems on DOY 335, 2013. The station-specific mean value has been removed

Clock validation

The computational efficiency and accuracy of the proposed joint clock estimation model are assessed in this section. The estimated GPS clocks are compared first to the IGS final 30-s GPS clock products. Due to the absence of the precise BDS clock products, the post-fit residuals of the BDS measurements and GPS measurements are taken as quality indicators. Finally, data from the chosen station CENT is processed in both static and kinematic PPP mode using the estimated satellite clocks and the corresponding orbit products to determine the resulting accuracy of the positioning.

Computation time for satellite clocks

All of the computations presented here are executed on a server equipped with two 2.4 GHz Intel® Xeon® processors and 16 G RAM. Figure 4 shows the average single epoch computation time for DOY 335 to DOY 364. The results show that the clock estimate can be updated within ~0.4 s for each epoch based on the proposed model for the network comprised of 106 stations. Although only about half of these stations track BDS signals, a larger number of receivers tracking BDS will not increase the parameters to be estimated in the most time-consuming epoch-differenced estimation Eq. (4). Therefore, the model can meet the requirement for the 1-Hz clock updates even using ~100 stations with all tracking GPS and BDS if 1 Hz reference network data are available. Since our analysis was done at 30 s, we do not address here the predictability of the BDS clocks necessary for real-time use.

Fig. 4
figure 4

The average computation time per epoch for the clock estimation

Comparison with IGS final clock products

The differences between the estimated 30-s GPS clocks and the IGS 30-s final clock products are calculated to evaluate the performance of the joint clock estimation. The derived time series are aligned relative to a reference satellite in order to remove the system bias, which follows the standard IGS clock comparison procedure (Ge et al. 2012a). The STD and RMS values of the differenced clocks for each satellite over the 30-day period are calculated and shown in Fig. 5. The STD values represent the accuracy of the clock biases which have significant impacts on the phase-based positioning solutions. The values of all satellites are smaller than 0.13 ns (~4 cm) with average STD over all satellites of ~0.1 ns (~3 cm), which is about the same size as results in Ge et al. (2012a, b). The RMS values indicate the consistency of clock biases and code measurements which affect the code range modeling and convergence time in PPP. The RMS value over all satellites is about 0.7 ns, which corresponds to ~20 cm of error on the code measurements. These errors are equivalent to the expected noise level of GPS code measurements.

Fig. 5
figure 5

STD and RMS values of the estimated GPS clocks compared to the IGS final products

Post-fit residuals analysis

As the precise BDS clock products are not currently available for direct comparison, it is necessary to examine the post-fit residuals of the BDS measurements to provide an indication of the solution accuracy. The post-fit residual analysis for GPS measurements is also provided for comparison.

Figure 6 shows the daily RMS values of the post-fit residuals for each GPS and BDS satellite for 30 days. The daily RMS values for all satellites are within 1 cm except for very few cases. The average over 30 days of the daily post-fit residual RMS for each satellite is presented in Fig. 7. The RMS values are ~0.8 cm for GPS satellites and 0.4–0.7, 0.7 and 0.75 cm for BDS GEO, IGSO and MEO. The BDS MEO and GPS satellites, which are in similar orbits, show equivalent RMS values. The RMS values of C01–C04 are significantly smaller than those of other BDS satellites. The reason may be that most of the BDS receivers are located in China and nearby regions which can always track the GEO signals. Compared to GPS, BDS MEO and IGSO, and C05 (located at 84°E) satellites, the elevation angles for BDS C01–C04 are stable and relatively higher with smaller multipath variation, resulting in more stable ambiguities and a better fit to the observations. Additionally, the elevation-dependent weighting strategy is used in our study. Since there are proportionally more observations from GEO satellites, which are continuously visible over 24 h for the majority of BDS receivers in Asia, the unmodeled errors will likely be transferred into the residuals of other satellites with lower elevation angles. Similarly, compared to the GPS and BDS MEO satellites, the IGSO satellites can always be tracked by more receivers, resulting in slightly smaller RMS values in the analysis. These results are consistent with what is reported in Zhao et al. (2013). Further investigation is still needed when more BDS stations and final BDS clock solutions become available. It should be noted that all the post-fit residuals are based on the epoch-differenced ionospheric-free phase combinations.

Fig. 6
figure 6

Daily RMS values of the post-fit residuals for each BDS and GPS satellite

Fig. 7
figure 7

30-day average of the daily RMS values of the post-fit residuals for each BDS and GPS satellite

Precise point positioning

The IGS ultra-rapid-predicted orbit products for GPS are used to re-estimate the clocks for evaluating the accuracy of PPP positioning. However, the BDS final orbit products are still used since the predicted BDS products are not currently available. Unlike the clock estimation strategy, the undifferenced ionospheric-free GPS and BDS phase and code observations are used with satellite orbits and clock solutions held fixed. The coordinate parameters are taken as constants in the static PPP mode, while estimated at each epoch without any constraint between epochs in the kinematic PPP mode. The receiver clocks are estimated at each epoch as white noise parameters, and the ISB of each receiver is taken as constant over a day. The ambiguities are estimated as real constants for the entire satellite pass. The least squares estimator and SRIF are used in the static PPP mode and kinematic PPP mode, respectively.

In order to obtain an independent evaluation of the clock solution, station CENT, selected for PPP processing, is excluded in the satellite clock estimation. The GPS-only, BDS-only and GPS/BDS combined PPP solution using the jointly estimated GPS and BDS clocks are carried out and presented in this section. Furthermore, the GPS-only PPP solution using IGS final GPS clock products are also computed for comparison. The averaged coordinates of one-week static PPP solutions are taken as the ground truth.

Static PPP results

Table 3 summarizes the coordinate biases of daily static PPP solutions in three components with respect to the ground truth for station CENT from DOY 335 to DOY 341. Four sets of PPP solutions are computed using different products: “IGS” denotes the GPS-only PPP using IGS final orbits and clocks; “GPS”, “BDS” and “Mix” denote the GPS-only, BDS-only and GPS/BDS combined PPP solutions using the jointly estimated satellite clocks and the corresponding orbits. As can be seen from Table 3, there are no significant biases in the “GPS” solution (GPS-only PPP solutions using the joint estimated GPS clocks). All the coordinate biases in three components are within ~2 cm. The weekly RMS values of biases are about 1.0, 0.9 and 0.8 cm in the east, north and up component, respectively. On the other hand, the coordinate biases in the east component of BDS-Only PPP solution are relatively larger (~3.4 cm), especially on DOY 337 and DOY 339 reaching approximately 5 cm. The weekly RMS values of biases are ~3.4, 1.5 and 1.8 cm in three components for BDS-Only PPP solutions. These larger biases may occur because of the biases between these two systems and the ground truth is determined by GPS-only. The relatively poorer orbit accuracy of the BDS satellites with an error level of decimeters may also contribute to the positioning biases. Another possible explanation for larger biases in the BDS-only solutions is the higher effective weight of BDS GEO satellites that are always visible from a nearly constant elevation angle, and provide a weaker geometry. This could potentially be compensated with a lower observation weight, but in any case will be mitigated as more of the MEO satellites are launched. The accuracy of GPS/BDS combined PPP solutions falls in between the GPS-only and BDS-only PPP results where the weekly RMS values are 2.0, 1.1 and 0.9 cm in the three components.

Table 3 Statistics of coordinate biases of daily static PPP solutions

Kinematic PPP results

Data from DOY 335 to DOY 341 for CENT are processed again in simulated real-time kinematic PPP mode, namely only forward filtering is allowed. The time series of the coordinate differences on DOY 335 are shown in Fig. 8 as an example for 1 day. Four sets of solutions, “IGS”, “GPS”, “BDS” and “Mix,” are computed as defined in the previous static PPP analysis. “GPS,” “BDS” and “Mix” time series have been offset by 0.2, 0.4 and 0.6 m on the Y-axis for clarity. It can be easily seen that the convergence time for BDS-only PPP is significantly longer than that for “GPS” and “IGS.” The “BDS” solution needs ~2 h to converge to within 10 cm, while “IGS” and “GPS” need <1 h. This is mainly because of the weaker geometry of the geostationary GEO satellite observations for the BDS-only solutions. The coordinate differences for the GPS/BDS combined PPP solutions are more stable after convergence than those of the PPP solutions with single-system observations. The convergence time also appears to be shorter for the combined PPP solutions.

Fig. 8
figure 8

Coordinate differences of kinematic PPP solutions for DOY335 with respect to ground truth for station CENT in the east (top), north (middle), and up (bottom) component

Figure 9 illustrates the daily mean and STD values of coordinate differences in the three components as well as the 3-D RMS with respect to the ground truth. Only results after convergence are used in the statistics. As can be seen from the figure, the 3-D RMS values of GPS-only PPP solutions using the estimated GPS clocks are within 5 cm in all three components, showing slightly degraded accuracy compared to that using IGS final clock products, especially on DOY 337, DOY 339 and DOY 341. The 3-D RMS values of BDS-only PPP solutions are within 6 cm except on DOY 340, reaching nearly 10 cm with a large bias in the vertical component. Interestingly, all the RMS values of GPS/BDS combined PPP solutions are within 4 cm, which is considerably smaller than that of GPS-only and BDS-only PPP solutions except for the east component on DOY 336 and DOY 338, although no definitive conclusion can be drawn about the real-time advantage of the mixed solution because of the use of final BDS orbits.

Fig. 9
figure 9

Daily mean (squares) and STD (vertical bars) values of coordinate differences of kinematic PPP solutions in the east (a), north (b), up (c) component as well as 3-D RMS (d) with respect to the ground truth for station CENT

Comparison with single system estimation model

In this section, the satellite clocks are also computed based on the conventional single system estimation model (Ge et al. 2012a). The estimation model for BDS is exactly the same as GPS. The estimation strategies for the single-system estimation model are same as those in the joint model except the ISB. The satellite clock solutions and corresponding orbit products are used to conduct kinematic PPP for station CENT from DOY 335 to DOY 341. The results are presented in Fig. 10.

Fig. 10
figure 10

Daily mean (squares) and STD (vertical bars) values of coordinate differences of kinematic PPP solutions in the east (a), north (b), and up (c) component as well as 3-D RMS (d) based on the proposed joint estimation model and conventional single system estimation model for station CENT

“COMB_G” and “COMB_B” denote the results of coordinate differences for GPS-only and BDS-only kinematic PPP results based on the joint estimated clocks. “SING_G” and “SING_B” denote the GPS-only and BDS-only results based on the corresponding single-system estimated clock products. As can be seen from Fig. 10, the performance of kinematic PPP using the joint estimation model is better than the single system estimation model for BDS, and the improvement of the joint model for GPS is minor. Although the mean value in the vertical component on DOY 340 has decreased accuracy, the STD of BDS solutions using joint estimated clocks are much smaller in the east component, still resulting in a better accuracy in 3-D RMS than single system results.

The average computation time per epoch for BDS-only, GPS-only and joint clock estimation is ~0.06, ~0.32 and ~0.36 s, indicating that the joint estimation model does not significantly increase the computation time.

Discussion and conclusion

The joint estimation model of GPS/BDS real-time clocks was proposed based on the mixed-differenced estimation method. We analyzed the estimated phase and code ISB between GPS and BDS using data from IGS MGEX and BETS networks. The biases tend to be quite stable over 1 day, which indicates the biases can be eliminated in the epoch-differenced phase equation and taken as constants in the initial clock bias estimation. The proposed model is shown to be efficient enough to provide a clock estimate in <0.4 s in real-time applications based on a network comprised of about 100 stations.

The joint estimated GPS and BDS clock solutions were assessed through a comparison with final GPS clock products and analysis of post-fit residuals. The clock solutions calculated with GPS ultra-rapid-predicted and BDS final orbits were then used to illustrate the anticipated performance of real-time PPP, albeit neglecting at present the errors in predicted BDS orbits, for which there is no current service provider. RMS values of coordinate biases are around 1 and 2–3 cm for GPS-only and BDS-only daily static PPP solutions, respectively. Accuracy of GPS/BDS combined PPP solutions falls in between that of GPS-only and BDS-only PPP results, with RMS values approximately 1–2 cm. The large biases of BDS-only solutions are likely due to the exaggerated weight of geostationary observations and the weaker satellite geometry.

Kinematic PPP solutions were also calculated and compared to static final IGS solutions. RMS values are normally within 4 cm and 6 cm after convergence for GPS-only and BDS-only solutions, respectively. In contrast, the GPS/BDS combined PPP results show better accuracy and shorter convergence time.

In the last section, the kinematic PPP solutions using clock products based on the proposed joint estimation model and the conventional single system estimation model were compared. The results have illustrated a better performance of the joint estimation model for BDS.

BDS is still under development. As more tracking stations are installed in the future and the geographic distribution is improved, satellite orbit and clock products for BDS can be refined to further reduce systematic errors to maintain better consistency between the different systems.