Introduction

Precise point positioning (PPP) (Malys and Jensen 1990; Zumberge et al. 1997; Kouba and Héroux 2001) can provide decimeter- to centimeter-level positioning service with the application of precise orbit and clock offset in any location worldwide. In recent years, real-time PPP has attracted much interest. However, high-precision real-time orbits and clock offsets are key requirements for achieving high-precision real-time PPP. With the increasing demand for real-time applications such as precision agriculture, precise offshore positioning, PPP-based zenith tropospheric delay (ZTD) estimation and earthquake warning, the requirement for real-time orbit and clock offset corrections is growing urgently.

According to the way of the real-time satellite orbit and clock offset obtaining, the real-time PPP can be divided into two categories. One is based on Internet communication (named Internet-based real-time PPP), and the other is based on satellite communication link (named Satellite-based real-time PPP). The former mainly refers to the open-access real-time service (RTS) provided by the International GNSS Service (IGS). Its RTS corrections are converted to state space representation (SSR) message format according to the standard of Radio Technical Commission for Maritime Service (RTCM-SSR) (RTCM-SC 2016). The corrections are sent to users via the Internet using Networked Transport of RTCM via Internet Protocol (NTRIP) (Weber et al. 2007). The IGS-RTS started its service in 2013. GPS/GLONASS real-time users can benefit from IGS-RTS products to realize real-time PPP (Hadas and Bosy 2015; Elsobeiey and Al-Harbi 2016; Nie et al. 2020a). Multi-GNSS users may take advantage of the real-time products provided by a single analysis center, such as the Centre National d’Études Spatiales (CNES) (Kazmierski et al. 2018, 2020). Many scholars have evaluated the performance of real-time PPP based on products provided by IGS-RTS or other analysis centers. Currently, positioning accuracy of 5 cm in horizontal and 10 cm in vertical can be achieved (Zhang et al. 2017). The superior quality of Galileo and GPS real-time orbit and clock offset products has been confirmed. The signal in space ranging error (SISRE) is about 2 cm (Hadas and Bosy 2015; Kazmierski et al. 2018). The accuracy of BDS-2 real-time orbit and clock offset products is relatively poor, about 2–3 times worse than other GNSS (Kazmierski et al. 2018, 2020). The poor monitoring stations, poor monitoring geometry, and poor satellite geometry may be the main reasons for the poor PPP performance of BDS-2.

Satellite-based real-time PPP mainly refers to those real-time PPP service systems provided by some commercial companies, such as RTX of Trimble (Leandro 2011), OmniStar (Booth and Snow 2009) and StarFire of NavCom (Dai et al. 2016). Those systems usually maintain a global tracking station network to routinely generate custom formatted precise correction products and transmit them to users through a satellite communication link to provide decimeter- to centimeter-level real-time positioning service globally. At present, this kind of service technology has been relatively mature and widely used in offshore oil drilling platforms, offshore survey ships, precision agriculture, etc. Both internet-based real-time PPP and satellite-based real-time PPP technologies can achieve real-time positioning at decimeter- to centimeter-level. The advantage of internet-based real-time PPP is that users can get free services through the Internet, but the prerequisite for Internet facilities limits its application, especially in marine areas (Nie et al. 2019, 2020a). For the satellite-based real-time PPP service, the users need to buy a dedicated receiver to support corresponding services. The high costs for maintaining such service may scare individual users away. Fortunately, with the gradual maturity of satellite-based real-time PPP technology and the growth of real-time application demand, BeiDou global navigation satellite system (BDS-3) and Galileo system have taken the precise point positioning service as one of the system standard services. This service will become an important means of precise real-time positioning in the future (CSNO 2019a, b).

The full constellation of BDS-3 was officially put into service on July 31, 2020. BDS-3 provides more services compared with other GNSS (Lu et al. 2020a; Li et al. 2020b). As one of the standard services to be provided, the real-time PPP service is newly supplied by BDS-3. The correction parameters, including satellite orbit correction, clock offset correction and differential code bias, are transmitted by B2b signal from BDS-3 geosynchronous orbit (GEO) satellites. Users in China and surrounding areas are expected to achieve kinematic decimeter-level and static centimeter-level real-time PPP services (Yang et al. 2019; Lu et al. 2020a).

This contribution is devoted to conducting a comprehensive evaluation of the accuracy, availability, matching characteristics of PPP-B2b corrections and the real-time PPP performance for BDS-3. After a brief introduction of the PPP-B2b corrections, the real-time PPP model based on PPP-B2b corrections is proposed first. Then the accuracy of the PPP-B2b real-time orbit and clock offset is evaluated and compared to the broadcast ephemeris and CNES RT products. The availability and matching characteristics of PPP-B2b corrections are also assessed and discussed, and some notes are given. Finally, the positioning performance of BDS-3 real-time PPP using PPP-B2b corrections is evaluated in terms of positioning accuracy and convergence time, and some conclusions are summarized.

BDS-3 PPP-B2b correction parameters and real-time PPP model

This section first gives a brief introduction to the type, content, and user algorithm of the correction parameters. Then the real-time PPP model using PPP-B2b corrections is proposed.

PPP-B2b correction parameters

Mainly four types of PPP-B2b corrections, including satellite orbit correction, clock offset correction, differential code bias (DCB) and user range accuracy index (URAI), are broadcasted by PPP-B2b correction message (CSNO 2020). It should be noted that only the correction parameters for BDS-3 and GPS are currently provided.

The orbit and clock offset corrections are used to provide high-precision real-time orbit and clock offset. The orbit correction parameters contain the orbit corrections in the radial, along-track and cross-track directions \(\delta \user2{O} = \left[ {\delta O_{r} ,\delta O_{e} ,\delta O_{c} } \right]^{T}\). Using these corrections, the precise satellite position \({\mathbf{x}}_{{{\text{prec}}}}^{s}\) can be obtained by (CSNO 2020):

$$\begin{gathered} {\mathbf{x}}_{{{\text{prec}}}}^{s} = {\mathbf{x}}_{{{\text{brdc}}}}^{s} - \left[ {{\mathbf{e}}_{{{\text{radial}}}} \quad {\mathbf{e}}_{{{\text{along}}}} \quad {\mathbf{e}}_{{{\text{cross}}}} } \right]\delta {\mathbf{O}} \hfill \\ {\mathbf{\mathop{e}\limits^{\rightharpoonup} }}_{{{\text{radial}}}} = \frac{{\vec{r}_{{\text{s}}} }}{{\left| {\vec{r}_{{\text{s}}} } \right|}},\quad {\mathbf{\mathop{e}\limits^{\rightharpoonup} }}_{{{\text{cross}}}} = \frac{{\vec{r}_{s} \times \vec{v}_{s} }}{{\left| {\vec{r}_{s} \times \vec{v}_{s} } \right|}},\quad {\vec{\mathbf{e}}}_{{{\text{along}}}} = {\mathbf{\mathop{e}\limits^{\rightharpoonup} }}_{{{\text{cross}}}} \times {\mathbf{\mathop{e}\limits^{\rightharpoonup} }}_{{{\text{radial}}}} \hfill \\ \end{gathered}$$
(1)

where \({\mathbf{x}}_{{{\text{brdc}}}}^{s}\) denotes the broadcast satellite position. \(\vec{r}_{{\text{s}}}\) and \(\vec{v}_{{\text{s}}}\) are the satellite position and velocity vectors in the ECEF coordinate system.

PPP-B2b correction message directly provides the clock offset corrections with respect to the broadcast clock offsets (CSNO 2020). The precise real-time clock offset \(dt_{{{\text{prec}}}}^{s}\) can be obtained directly by:

$$dt_{{{\text{prec}}}}^{s} = dt_{{{\text{brdc}}}}^{s} - \frac{{\delta \tau^{s} }}{c}$$
(2)

where \(dt_{{{\text{brdc}}}}^{s}\) denotes the broadcast clock offset, \(\delta \tau^{s}\) is the clock offset correction in meter, and \(c\) is the velocity of light in vacuum.

The URAI parameters are used to calculate the user range accuracy (URA) for the calculated real-time orbit and clock offset (CSNO 2020). The DCB corrections are used to correct the inter code bias caused by frequency selection (Guo et al. 2015). Currently, only DCB corrections for BDS-3 are provided. Since the legacy signals B1I and B3I and the new signals B1C, B2a and B2b are broadcasted by BDS-3 (Yang et al. 2018), the PPP-B2b correction message provides multiple types of DCB corrections, including DCBs for B1I-B3I, B1C-B3I, B2a-B3I and B2b-B3I. With the help of these DCBs, users can realize BDS-3 multi-frequency real-time PPP.

Real-time PPP model based on PPP-B2b corrections

The dual-frequency ionospheric-free (IF) combinations of GNSS code and phase observations can be written as (Leick et al. 2015):

$$\begin{aligned} & p_{{r,IF_{jk} }}^{s} { = }\,\rho_{r}^{s} + \left( {dt_{r} + d_{{r,{\text{IF}}_{jk} }} } \right) - \left( {dt^{s} + d_{{,{\text{IF}}_{jk} }}^{s} } \right) + T_{r}^{s} + \varepsilon_{{p_{{r,{\text{IF}}_{jk} }}^{s} }} \\ & \phi_{{r,{\text{IF}}_{jk} }}^{s} { = }\,\rho_{r}^{s} + \left( {dt_{r} + b_{{r,{\text{IF}}_{jk} }} } \right) - \left( {dt^{s} + b_{{,{\text{IF}}_{jk} }}^{s} } \right) + T_{r}^{s} + \lambda_{{{\text{IF}}_{jk} }} N_{{r,{\text{IF}}_{jk} }}^{s} + \varepsilon_{{\phi_{{r,{\text{IF}}_{jk} }}^{s} }} \\ \end{aligned}$$
(3)

where \(p_{{r,{\text{IF}}_{jk} }}^{s}\) and \(\phi_{{r,{\text{IF}}_{jk} }}^{s}\) are code and phase IF measurements. The superscript \(s\) denotes the satellite number, the subscript \(r\) denotes the station number, \(j\) and \(k\) represent the signal frequencies used to form the IF combination, \(\rho_{r}^{s}\) is the satellite-to-receiver range, \(dt_{r}\) and \(dt^{s}\) are the clock offsets of receiver and satellite, respectively. \(T_{r}^{s}\) is the tropospheric delay, \(d_{{r,{\text{IF}}_{jk} }}\) and \(b_{{r,{\text{IF}}_{jk} }}\) are the hardware delays of code and phase IF combinations for the receiver, \(d_{{,{\text{IF}}_{jk} }}^{s}\) and \(b_{{,{\text{IF}}_{jk} }}^{s}\) are the hardware delays of code and phase IF combinations for satellite. \(N_{{r,{\text{IF}}_{jk} }}^{s}\) is the IF ambiguity, \(\lambda_{{{\text{IF}}_{jk} }}\) is the wavelength of IF combination, and \(\varepsilon_{{p_{{r,{\text{IF}}_{jk} }}^{s} }}\) and \(\varepsilon_{{\varphi_{{r,{\text{IF}}_{jk} }}^{s} }}\) denote the measurement noises of code and phase IF combinations. The other effect, such as the tide displacement, relativistic effect and the phase windup, etc., have been corrected in advance with the associated empirical model.

Since the BDS-3 broadcast clock offset uses B3I signal as frequency reference, the calculated real-time clock offset contains the satellite code hardware delay of B3I signal. Denoting that \(\delta \hat{t}_{r} = dt_{r} + d_{{r,{\text{IF}}_{jk} }}\) and \(\delta \hat{t}^{s} = dt^{s} + d_{,B3I}^{s}\), we rewrite (3) as:

$$\begin{aligned} & p_{{r,{\text{IF}}_{jk} }}^{s} { = }\,\rho_{r}^{s} + \delta \hat{t}_{r} - \delta \hat{t}^{s} + T_{r}^{s} - \left( {d_{{,{\text{IF}}_{jk} }}^{s} - d_{,B3I}^{s} } \right) + \varepsilon_{{p_{{r,{\text{IF}}_{jk} }}^{s} }} \\ & \varphi_{{r,{\text{IF}}_{jk} }}^{s} { = }\,\rho_{r}^{s} + \delta \hat{t}_{r} - \delta \hat{t}^{s} + T_{r}^{s} + \lambda_{{{\text{IF}}_{jk} }} B_{{r,{\text{IF}}_{jk} }}^{s} + \varepsilon_{{\varphi_{{r,{\text{IF}}_{jk} }}^{s} }} \\ \end{aligned}$$
(4)

where \(\lambda_{{{\text{IF}}_{jk} }} B_{{r,{\text{IF}}_{jk} }}^{s} = \lambda_{{{\text{IF}}_{jk} }} N_{{r,{\text{IF}}_{jk} }}^{s} + \left( {b_{{r,{\text{IF}}_{jk} }} - d_{{r,{\text{IF}}_{jk} }} } \right) - \left( {b_{{,{\text{IF}}_{jk} }}^{s} - d_{,B3I}^{s} } \right)\), and \(d_{{,{\text{IF}}_{jk} }}^{s} - d_{,B3I}^{s}\) is the satellite DCB between IF combination and B3I signal. It can be corrected by the PPP-B2b DCB corrections according to the following formula:

$$\begin{aligned} d_{{,{\text{IF}}_{jk} }}^{s} - d_{,B3I}^{s} & { = }\left( {\frac{{f_{j}^{2} }}{{f_{j}^{2} - f_{k}^{2} }}d_{,j}^{s} - \frac{{f_{k}^{2} }}{{f_{j}^{2} - f_{k}^{2} }}d_{,k}^{s} } \right) - d_{,B3I}^{s} = \frac{{f_{j}^{2} }}{{f_{j}^{2} - f_{k}^{2} }}\left( {d_{,j}^{s} - d_{,B3I}^{s} } \right) - \frac{{f_{k}^{2} }}{{f_{j}^{2} - f_{k}^{2} }}\left( {d_{,k}^{s} - d_{,B3I}^{s} } \right) \\ & = \frac{{f_{j}^{2} }}{{f_{j}^{2} - f_{k}^{2} }}{\text{DCB}}_{,j}^{s} - \frac{{f_{k}^{2} }}{{f_{j}^{2} - f_{k}^{2} }}{\text{DCB}}_{,k}^{s} \\ \end{aligned}$$
(5)

where \(DCB_{,j}^{s}\) and \(DCB_{,k}^{s}\) are the PPP-B2b DCB corrections for frequencies \(j\) and \(k\).

After applying the calculated real-time orbit and satellite clock offset as known values, the linearized equations of ionosphere-free code and phase measurements read:

$$\begin{aligned} & \tilde{p}_{{r,{\text{IF}}_{jk} }}^{s} { = }\,{{\varvec{\upgamma}}}_{r}^{s} d{\mathbf{x}} + \delta \hat{t}_{r} + g_{r}^{s} \tau_{r} + \varepsilon_{{p_{{r,{\text{IF}}_{jk} }}^{s} }} \\ & \tilde{\phi }_{{r,{\text{IF}}_{jk} }}^{s} { = }\,{{\varvec{\upgamma}}}_{r}^{s} d{\mathbf{x}} + \delta \hat{t}_{r} + g_{r}^{s} \tau_{r} + \lambda_{{IF_{jk} }} B_{{r,{\text{IF}}_{jk} }}^{s} + \varepsilon_{{\varphi_{{r,{\text{IF}}_{jk} }}^{s} }} \\ \end{aligned}$$
(6)

where \(\tilde{p}_{{r,{\text{IF}}_{jk} }}^{s}\) and \(\tilde{\phi }_{{r,{\text{IF}}_{jk} }}^{s}\) represent observed-minus-computed observations of code and phase IF combinations, \({{\varvec{\upgamma}}}_{r}^{s}\) is the coefficient vector to the coordinate unknowns \(d{\mathbf{x}}\), and \(\tau_{r}\) is the residual zenith tropospheric delays with mapping coefficients \(g_{r}^{s}\).

The extended Kalman filter is used to estimate the unknowns. The variance of single-satellite ionosphere-free observation is given as:

$$\begin{aligned} & \sigma_{i}^{2} = \sigma_{{{\text{eph}},i}}^{2} + \sigma_{{{\text{noise}},i}}^{2} \\ & \sigma_{{{\text{eph}},i}}^{2} = \left( {{{{\text{URA}}} \mathord{\left/ {\vphantom {{{\text{URA}}} {1000}}} \right. \kern-\nulldelimiterspace} {1000}}} \right)^{2} \\ \end{aligned}$$
(7)

where \(\sigma_{{{\text{eph}},i}}^{2}\) is the variance of satellite orbit and clock offset error calculated from the URAI parameters, and \(\sigma_{{{\text{noise}},i}}^{2}\) is the variance of noise and multipath, which is calculated by the elevation angle weighted model (Takasu 2013).

Accuracy evaluation of PPP-B2b corrections

This section mainly focuses on the accuracy evaluation of PPP-B2b corrections towards the variation characteristics of the correction time series and the accuracy of the calculated real-time orbit and clock offset.

Variation characteristics of correction time series

Taking PPP-B2b correction message on August 4, 2020, as an example, the time series of PPP-B2b clock offset and orbit corrections for BDS-3 MEO and IGSO satellites are shown in Fig. 1. Hourly piecewise variation can be found in the time series for each satellite to compensate for the discontinuous clock offset and orbit errors caused by broadcast ephemeris updating (Lu et al. 2020b). The clock offset corrections of almost all satellites vary within 2 m with nonzero mean values, while the magnitude of the orbit corrections is far less than that of the clock offset corrections. This is because that the BDS-3 broadcast orbit is relatively accurate under the condition of satellite-ground and inter-satellite joint orbit determination, and the positioning accuracy is mainly restricted by the clock accuracy (Yang et al. 2020; Lv et al. 2020; Liu et al. 2020). It is found that the orbit corrections of IGSO satellites are obviously larger than that of MEO satellites. This indicates that the broadcast orbit of BDS3 IGSO satellite has poor accuracy compared with MEO satellite, resulting in larger orbit errors to be compensated.

Fig. 1
figure 1

Time series of PPP-B2b clock offset and orbit corrections for BDS-3 satellites

Accuracy of real-time orbit

Final precise products delivered by the international GNSS Monitoring and Assessment System (iGMAS, Li et al. 2019) are used as a reference to evaluate the accuracy of the real-time orbit. The satellite phase center offset (PCO) has been corrected to eliminate the coordinate offset between the precise orbit and broadcast orbit (Montenbruck et al. 2018). Figure 2 shows the error series of the PPP-B2b real-time orbit and broadcast orbit for BDS-3 MEO satellites. Due to the influence of broadcast ephemeris updating, hourly discontinuous variation can be found in the error series of broadcast orbit. However, the PPP-B2b orbit corrections have effectively corrected this discontinuous error, resulting in a smoother and more continuous error series for the real-time orbit. This indicates that the PPP-B2b real-time orbit has better consistency with the final precise orbit, which will facilitate the convergence of filtering. The orbit errors are within 0.2 m in the radial component and 0.5 m in the along-track and cross-track components for both the PPP-B2b real-time orbit and broadcast orbit.

Fig. 2
figure 2

Error series of the broadcast orbit (left) and PPP-B2b real-time orbit (right) for BDS-3 MEO satellites

Figure 3 shows the error series of the PPP-B2b real-time orbit and broadcast orbit for BDS-3 IGSO satellites. It can be seen that the error series of the IGSO satellite real-time orbit are slightly smoother than that of the broadcast orbit, but discontinuous variations still exist. This indicates that the quality of PPP-B2b orbit corrections for IGSO satellites is relatively poor due to its more frequent piecewise variation. The orbit errors of the IGSO satellites are bigger than those of the MEO satellites, reaching 0.4 m in the radial component and 1 m in the along-track and cross-track components.

Fig. 3
figure 3

Error series of the broadcast orbit (left) and PPP-B2b real-time orbit (right) for BDS-3 IGSO satellites

To further evaluate the BDS-3 PPP-B2b real-time orbit quality, the root mean square (RMS) error of the PPP-B2b real-time orbit was calculated based on a one-month dataset in October 2020. The accuracy of the broadcast orbit and the CNES real-time orbit were also evaluated for comparison. The corresponding results are given in Fig. 4, and the satellite-averaged statistics are presented in Table 1. The RMS errors of the PPP-B2b real-time orbit for MEO satellites are 6.8 cm, 33.4 cm and 36.6 cm in the radial, along-track and cross-track components, respectively, which are significantly better than these of 15.6 cm, 39.8 cm and 51.8 cm for the IGSO satellites. The accuracy of the PPP-B2b real-time orbit is slightly better than that of the broadcast orbit, and the two are basically at the same level with a difference of several centimeters. This indicates that the PPP-B2b orbit corrections contribute more to improving the discontinuous orbital error caused by broadcast ephemeris updating than improving the orbit's accuracy. As for the CNES RT orbit, its RMS errors of MEO satellites are 3.9 cm, 8.7 cm and 6.5 cm in the radial, along-track and cross-track components, respectively. The accuracy of the CNES RT orbit is better than that of the PPP-B2b real-time orbit, especially in the along-track and cross-track components. The reason may be that the CNES RT orbit is calculated using a global tracking network, while the PPP-B2b corrections are calculated using a restricted regional tracking network.

Fig. 4
figure 4

RMS errors of BDS-3 satellite orbits in radial (top), along-track (middle) and cross-track (bottom) directions. The timespan is from October 1 to 31, 2020

Table 1 Statistical accuracy of BDS-3 satellite orbits and clock offsets (unit: cm)

Accuracy of real-time clock offset

The PPP-B2b real-time clock offset performance is also evaluated using the iGMAS final products. Due to the fact that the frequency reference and timescale datum between the BDS-3 broadcast and precise clock offsets are different, they must be unified before comparison (Montenbruck et al. 2015, 2018; Wu et al. 2017). The time group delay (TGD) was corrected to unify the frequency reference (CSNO 2020), and the so-called single-satellite reference method (Yao et al. 2017) was adopted to eliminate the influence of the timescale bias by selecting a reference satellite.

We select C38 as the reference satellite considering its long observation arc. The error series of the broadcast clock offsets and the PPP-B2b real-time clock offsets for BDS-3 satellites are shown in Figs. 5 and 6. The gap in the time series is caused by the fact that the reference satellite (C38) is not available from 15 to 21 h. Hourly discontinuous variation caused by the broadcast ephemeris updating can also be found in the error series of the broadcast clock offsets. It is obvious that the PPP-B2b real-time clock offset has higher accuracy since its error series are smoother and have a smaller variation range. However, clear color stratification between satellites can be found in Fig. 6, revealing that there are satellite-specific systematic biases in the PPP-B2b real-time clock offsets. This satellite-specific systematic biases may be caused by the pseudo-range deviation (Lv et al. 2020). Fortunately, the systematic biases can be absorbed by the ambiguity parameters in PPP and will have no effect on the positioning accuracy.

Fig. 5
figure 5

Error series of the broadcast clock offsets for BDS-3 satellites

Fig. 6
figure 6

Error series of the PPP-B2b real-time clock offsets for BDS-3 satellites

Since there are satellite-specific systematic biases, standard deviation (STD) instead of RMS is used to evaluate the precision of the real-time clock offset. The STD values of PPP-B2b real-time clock offset, broadcast clock offset and CNES RT clock offset were calculated using the one-month dataset in October 2020. The corresponding results for BDS-3 satellites are given in Fig. 7, and the satellite-averaged STDs of clock offset are also given in Table 1. It should be noted that CNES RT products provide only the clock offsets for C19–C37, and C19 is selected as reference to calculate the STD of CNES RT clock offsets. Almost all satellites achieve a STD within 10 cm for PPP-B2b real-time clock offset. An average STD of 40.8 cm (about 1.36 ns) is obtained for the broadcast clock offset. The average STD of the PPP-B2b real-time clock offset is 6.0 cm (about 0.2 ns), which is improved by about 85.1% compared with that of the broadcast clock offset. Still, the CNES RT clock offset accuracy is the best, with an average STD of 2.2 cm.

Fig. 7
figure 7

STDs of BDS-3 satellites clock offset errors. The timespan is from October 1 to 31, 2020

Availability and matching characteristics of PPP-B2b corrections

The performance of PPP-B2b corrections in terms of availability and matching characteristics is also evaluated and discussed. Lacking of corrections or having mismatched corrections may significantly degrade the performance of real-time PPP.

Availability of corrections

Due to the restricted distribution of regional tracking networks, only limited arcs of PPP-B2b corrections are currently provided for BDS-3 satellites. This will lead to a situation that satellites can be observed in some observation epochs, but there is no corresponding PPP-B2b correction. In order to investigate the availability of PPP-B2b corrections, we define an empirical availability rate (EAR) as the ratio of the length of the observation sub-arcs with available PPP-B2b corrections to the length of the total observation arcs. Using a dataset of one week, the EARs of users located in China and surrounding area (55–170° E, 0–60° N) were calculated according to the grid point of 5° by 5°, and the distribution of EARs is shown in Fig. 8. It can be found that the EARs in area of China are better than 80%, and its maximum is up to 95% at the location near 120°E longitude and 40°N latitude. Currently, the PPP-B2b services are mainly concentrated in China and surrounding areas. The EAR drops significantly as it moves away from China. In particular, the EAR in areas south of the equator is even less than 65%, and the users with such low EAR can hardly have good real-time positioning results. With the further development of PPP-B2b services, the availability of PPP-B2b correction is expected to be further improved.

Fig.8
figure 8

EAR of BDS-3 PPP-B2b correction in Chia and surrounding area (55–170° E, 0–60° N). The color bar represents the EAR value (unit : %)

Figure 9 presents the average number of visible satellites with available PPP-B2b correction in Chia and surrounding area. In China, at least 7 satellites with available PPP-B2b corrections can be guaranteed, ensuring a normal performance of real-time PPP. Users in the southeast coastal area of china have the largest average number of visible satellites with available PPP-B2b correction, reaching about 9, indicating that the PPP-B2b service in those areas will have better performance. Compared with the number of visible satellites for BDS-3, it is found that on average, one visible satellite cannot participate in positioning due to lack of PPP-B2b correction in china areas. The average number of visible satellites with available PPP-B2b correction also significantly decreases as it moves away from China. It should be noted that GEO satellites have not been taken into account since there are no corrections broadcasted.

Fig.9
figure 9

Average number of visible satellites with available PPP-B2b correction in Chia and surrounding area (55–170° E, 0–60° N). The color bar represents the average number of satellites with a contour interval of 0.5

Matching characteristics between corrections and broadcast ephemeris

The Issue of Data for Navigation (IODN) parameter broadcasted by PPP-B2b correction message is used to select the matched broadcast ephemeris. When the IODN matches the IOD provided by GNSS broadcast ephemeris, the PPP-B2b corrections and broadcast ephemeris can be combined to provide precise real-time orbit and clock offset for PPP. The corresponding relationships between IODN and the broadcast ephemeris of GNSS are as follows (CSNO 2020): (1) BDS-3: IODC in CNAV1 message; (2) GPS: IODC in LNAV message; (3) Galileo: IOD Nav in I/NAV message; (4) GLONASS: Tb in L1OCd message. The IOD of broadcast ephemeris changes with the update of broadcast ephemeris. Since there are time delays for PPP-B2b corrections, users should continue to use the previous broadcast ephemeris until the IODN parameter in PPP-B2b correction message gets updated and matches the IOD from the updated broadcast ephemeris.

Matching characteristics between the orbit and clock offset corrections

In the PPP-B2b correction message, the Issue of Data for Correction (IOD CORR) parameter is used to match the orbit and clock offset corrections. Each orbit and clock offset correction corresponds to an IOD CORR parameter separately. Only when the orbit IOD CORR matches with the clock IOD CORR, can the orbit and clock offset corrections be used in combination. The clock offset correction is updated every 6 s, while the orbit correction is updated every 48 s. Figure 10 shows the time series of the IOD CORR parameters for satellite C19 on August 4, 2020. In the figure, the red circle represents the updating of clock offset correction, and the blue star represents the updating of orbit correction. It can be seen that the orbit and clock IOD CORR can be well matched (the two are equal) in most epochs. However, when the IOD CORR parameter changes, there will be a temporary mismatching state between the orbit and clock offset corrections due to the different updating frequencies. As shown in the enlarged area, the temporary mismatching occurs in time period B. When the clock offset correction is updated and its IOD CORR changes to 6 at time t3, the orbit correction has not been updated and its IOD CORR remains 5, leading to mismatching. This mismatched state will change back to the matching state when the orbit correction and IOD CORR are updated at time t4. Unfortunately, the IOD CORR of all satellites usually changes synchronously, making the correction parameters for all visible satellites unmatched during this period. Users should be noticed about the temporary mismatching situation. One solution is to use the previous clock offset corrections that match with the orbit corrections, which have little impact on positioning accuracy since the orbit corrections will be updated soon.

Fig. 10
figure 10

Time series of orbit IOD CORR and clock IOD CORR for satellite C19 on August 4, 2020

Positioning performance of real-time PPP

We use the observations collected at 4 stations located in Beijing (BJYF), Chengdu (CDTF), Nanjing (NJXW) and Haikou (HKCB) China to evaluate the positioning performance of real-time PPP using the PPP-B2b corrections. The observations were collected from 00:00:00 of August 4 to 23:59:30 of August 10, 2020, with a sampling interval of 30 s. The extended Kalman filter was used to estimate the unknown parameters. Both the B1I/B3I and B1C/B2a IF combinations were employed to achieve the dual-frequency real-time PPP. The cutoff elevation angle was set as 7°. The processing strategies for the real-time PPP are shown in Table 2 in detail. The daily solution of GPS static PPP was used as a reference to evaluate the positioning performance.

Table 2 Processing strategies for the real-time PPP based on PPP-B2b corrections

Positioning accuracy

Figure 11 shows the static and kinematic positioning errors of the real-time PPP based on PPP-B2b corrections for BJYF station. Similar results are obtained for other stations. It can be seen that the real-time kinematic PPP can quickly converge to decimeter-level positioning accuracy for both B1C/B2a and B1I/B3I IF combinations. Almost all positioning errors in the East (E), North (N) and Up (U) components are within 30 cm when the positioning errors tend to be stable, indicating that the real-time kinematic PPP can achieve a positioning accuracy of several decimeters. As for the static positioning mode, the real-time PPP employing B1C/B2a and B1I/B3I IF combinations can both converge to centimeter-level positioning accuracy.

Fig. 11
figure 11

Static (left) and kinematic (right) positioning errors of real-time PPP using PPP-B2b corrections for BJYF station

To demonstrate the positioning performance of the real-time PPP with PPP-B2b corrections, we calculate the RMS values of positioning errors in horizontal (H) and vertical (V). Meanwhile, the real-time PPP using broadcast ephemeris (abbreviated as PPP-Broad) and the real-time PPP using CNES RT products (abbreviated as PPP-CNES-RT) are also evaluated for comparison. Since only a limited number of BDS-3 satellites have CNES RT orbits and clock offsets, the PPP-CNES-RT we conducted refers to the real-time PPP using both BDS-2 and BDS-3 satellites. The corresponding statistical results for kinematic and static PPP are shown in Tables 3 and 4, respectively. It is noted that only the positioning errors from 2:00:00 to 23:59:30 were counted. That is to say, the positioning errors ahead of convergence were excluded when calculating RMS values. From Tables 3 and 4, the following conclusions can be drawn:

  1. 1.

    The real-time PPP using PPP-B2b corrections can achieve dynamic decimeter-level and static centimeter-level positioning accuracy. For kinematic positioning mode, the average horizontal and vertical RMS are 8.5 cm and 13 cm for the B1C/B2a IF combination, compared with 11 cm and 16.8 cm for the B1I/B3I IF combination. Regarding the static positioning mode, the average horizontal and vertical RMS of the B1C/B2a IF combination are 2.4 cm and 6.4 cm, respectively, while those of the B1I/B3I IF combination are 3.9 cm and 8.5 cm.

  2. 2.

    The positioning accuracy of real-time PPP using PPP-B2b corrections is slightly better than that of PPP-CNES-RT. The reason may be that the accuracy of CNES RT products for BDS-2 satellites is relatively poor, thus affecting the positioning performance.

  3. 3.

    The positioning accuracy of real-time PPP using PPP-B2b corrections is significantly better than that of PPP-Broad. However, the PPP-Broad can achieve decimeter-level positioning accuracy, indicating that the accuracy of BDS-3 broadcast ephemeris is relatively high.

  4. 4.

    The positioning accuracy of the B1C/B2a IF combination is better than that of the B1I/B3I IF combination. The reason may be that the B1C/B2a combination has a larger frequency interval, which is beneficial to mitigate the ionospheric delay (Li et al. 2020a). The noise amplification factor of the B1C/B2a IF combination is 2.588, about 26.6% less than that of the B1I/B3I IF combination (3.528). As a result, the smaller observation noise makes the positioning accuracy of the B1C/B2a IF combination better.

Table 3 RMS of horizontal (H) and vertical (V) positioning errors for real-time kinematic PPP (unit: cm)
Table 4 RMS of horizontal (H) and vertical (V) positioning errors for real-time static PPP (unit: cm)

Convergence time

The positioning circular error probable (CEPs) (van Bree and Tiberius 2012; Nie et al. 2020a, b) is given as a function of time to analyze the convergence performance of the real-time PPP based on PPP-B2b corrections. For daily observations, the 24-h data are reorganized into 43 groups of 3-h subsets. The starting time of the subset is set to start from 00:00:00 and slide backward in steps of 30 min until 21:00:00. Then, the horizontal and vertical CEPs at different convergence times are calculated based on the positioning errors of these subsets. The corresponding results for real-time kinematic and static PPP are shown in Figs. 12 and 13, respectively, and the statistical values of CEPs at different convergence time nodes are given in Table 5. For kinematic positioning, it is obvious that the B1C/B2a IF combination converges faster than the B1I/B3I IF combination in both horizontal and vertical components. The horizontal and vertical CEPs of the B1C/B2a IF combination achieves 27.8 cm and 36 cm in 30 min, respectively, compared with 42.8 cm and 53 cm for the B1I/B3I IF combination at the same positioning time. After one hour, the B1C/B2a IF combination converges to an accuracy of 18.6 cm in horizontal and 18.7 cm in vertical, while the B1I/B3I IF combination achieves 27.8 cm and 34.4 cm in the two components, respectively.

Fig. 12
figure 12

Horizontal and vertical CEPs at different convergence time for real-time kinematic PPP

Fig. 13
figure 13

Horizontal and vertical CEPs at different convergence times for real-time static PPP

Table 5 Statistics of horizontal (H) and vertical (V) CEPs at different convergence time nodes (unit: cm)

As for the static positioning mode, the CEPs of B1C/B2a IF combination converge to 20 cm in horizontal and 25.1 cm in vertical in 30 min, and 11.5 cm in horizontal and 11.6 cm in vertical in 60 min, respectively. The B1I/B3I IF combination also shows poor convergence performance. Its positioning accuracy achieves 31.3 cm for horizontal and 39.4 cm for vertical in 30 min, and 18.5 cm for horizontal and 20.1 cm for vertical in 60 min. It takes about 67 min for the B1C/B2a IF combination to converge to centimeter-level in both horizontal and vertical components, whereas the B1I/B3I IF combination requires about 118 min.

Conclusions

The BDS-3 PPP-B2b precise point positioning service brings promising opportunities and new challenges for the real-time PPP. In this study, we have made a comprehensive investigation of the BDS-3 PPP-B2b service performance, including the accuracy, availability, matching characteristics of PPP-B2b corrections, and the real-time PPP performance. Some conclusions are summarized as follows:

  1. 1.

    PPP-B2b orbit corrections contribute more to improving the discontinuous orbit error caused by the broadcast ephemeris updating but less to the accuracy of the broadcast orbit. An accuracy of 6.8 cm, 33.4 cm and 36.6 cm in radial, along-track and cross-track components is achieved for BDS-3 MEO real-time orbit, while the accuracy of IGSO real-time orbit is about two times poor than that of MEO real-time orbit.

  2. 2.

    PPP-B2b clock offset corrections can significantly improve the accuracy of the clock offset. The average STD of PPP-B2b real-time clock offset is about 0.2 ns, improved by 85.1% compared with that of the broadcast clock offset.

  3. 3.

    Restricted by the regional tracking network, the accuracies of the PPP-B2b real-time orbit and clock offset are slightly poor than those of the CNES RT products. The RMS errors of CNES RT orbit are 3.9 cm, 8.7 cm and 6.5 cm in the radial, along-track and cross-track components, respectively, and the average STD of clock offset is 2.2 cm (0.07 ns).

  4. 4.

    Currently, the PPP-B2b services are mainly concentrated in China and surrounding areas. The availability of PPP-B2b correction in China is better than 80%, and at least 7 satellites with available PPP-B2b corrections can be guaranteed. Users should be notified that there exists a temporary mismatching state between the orbit and clock offset corrections each time when the IOD CORR parameter changes.

  5. 5.

    The real-time static PPP can achieve centimeter-level positioning accuracy after convergence. However, it takes much longer to converge to centimeter-level in both horizontal and vertical components, about 67 min for the B1C/B2a IF combination and 118 min for the B1I/B3I IF combination.

  6. 6.

    Dual-frequency real-time kinematic PPP based on PPP-B2b corrections can achieve a positioning accuracy of 11 cm in horizontal and 17 cm in vertical after convergence for BDS-3. The B1C/B2a IF combination shows better positioning accuracy than the B1I/B3I IF combination due to its much smaller noise amplification factor. The real-time kinematic PPP employing B1C/B2a IF combination can converge to 27.8 cm in horizontal and 36 cm in vertical in 30 min, while the B1I/B3I IF combination achieves 42.8 cm and 53 cm in the two components at the same positioning time.