Skip to main content
  • Original Article
  • Open access
  • Published:

Models and performance of SBAS and PPP of BDS


Satellite Based Augmentation System (SBAS) is one of the services provided by the BeiDou Navigation Satellite System (BDS). It broadcasts four types of differential corrections to improve user application performance. These corrections include the State Space Representation (SSR) based satellite orbit/clock corrections and ionospheric grid corrections, and the Observation Space Representation (OSR) based partition comprehensive corrections. The algorithms generating these SBAS corrections are not introduced in previous researches, and the user SBAS positioning performance with the contribution of BDS-3 has not been evaluated. In this paper, we present the BDS SBAS algorithms for these differential corrections in detail. Four types of Precise Point Positioning (PPP) function models for BDS Dual-Frequency (DF) and Single-Frequency (SF) users using the OSR and SSR parameters are also proposed. One week of data in 2020 is collected at 20 reference stations including the observations of both BeiDou-2 Navigation Satellite System (BDS-2) and BeiDou-3 Navigation Satellite System (BDS-3) satellites, and the PPP under various scenarios are performed using all the datasets and the BDS SBAS broadcast corrections. The results show that the performance of BDS-2/BDS-3 combination is superior to that of BDS-2 only constellation. The positioning errors in Root Mean Square (RMS) for the static DF PPP are better than 8 cm/15 cm in horizontal/vertical directions, while for the static SF PPP are 11 cm/24 cm. In the scenarios of simulated kinematic PPP, three Dimension (3D) positioning errors can reach 0.5 m in less than 10 min for the DF PPP and 30 min for the SF PPP, and the RMSs of the DF and SF PPP are better than 17 cm/21 cm and 20 cm/32 cm in horizontal/vertical directions. In a real-time single- and dual-frequency kinematic positioning test, the positioning errors of all three components can reach 0.5 m within 30 min, and the positioning accuracy after solution convergence in the N, E and U directions is better than 0.3 m.


The service of Satellite-Based Augmentation System (SBAS) includes integrity positioning with safety-of-life quality and the Global Navigation Satellite System (GNSS) Positioning, Navigation, and Timing (PNT) with higher accuracy than its legacy services. Existing government-operated SBAS systems include the US-American Wide Area Augmentation System (WAAS, GPS WAAS PS 2008), the European Geostationary Navigation Overlay Service (EGNOS, Ventura-Travesete et al., 2006), the Japanese MTSAT (Multi-functional Satellite) Satellite-based Augmentation System (MSAS, Nakaitani, 2009), and the Russian System for Differential Corrections and Monitoring (SDCM, Averin et al., 2007), etc. Also, there are many commercial SBAS services like Trimble, Fugro, NAVCOM, and OmniStar etc. All these SBAS services enhance PNT services through commercial Geostationary Earth Orbit (GEO) satellites to broadcast augmentation correction parameters. Meanwhile, the Chinese BeiDou Navigation Satellite System (BDS) adopts an integrative design for legacy PNT and SBAS services, in which its GEO satellites not only transmit GNSS signals but also broadcast augmentation parameters.

The processing of SBAS follows four parts/steps as below:

  1. 1.

    Wide area ground tracking reference stations collect the signals from GNSS satellites. The locations of reference stations are precisely known so that the any errors in the received GNSS signals can be detected.

  2. 2.

    The Ground Control Segment (GCS) generates SBAS messages using real-time data stream from reference stations. These messages (augmentation parameters) contain the information enabling SBAS users to remove the errors in the GNSS signals, significantly improving positioning accuracy and integrity.

  3. 3.

    The messages are sent from the GCS to the uplink stations for transmission to the navigation payloads on GEO communications satellites. The navigation payloads receive the messages and then broadcast the messages on a GNSS-like signal over the SBAS service areas.

  4. 4.

    The SBAS user processes the SBAS augmentation messages as a part of position estimation. The GNSS-like signal from the navigation transponder can also be used by the SBAS user as an additional source for the calculation of its position.

In the SBAS processing system, the augmentation parameters play key roles in compensating the errors of GNSS broadcast messages. The SBAS correction parameters have been evaluated in the carrier phase-based PPP (Precise Point Positioning). Rho and Langley (2007) and Heßelbarth and Wanninger (2013) evaluated the SBAS carrier-phase-based PPP performance using Global Positioning System (GPS) dual frequency observations. Heßelbarth and Wanninger (2013) shows that the PPP coordinate Root Mean Square (RMS) of WAAS is about 10–30 cm and those of EGNOS and MSAS are worse by a factor of about 3 (around 1 m). Li et al. (2016) presents an improved Single Frequency (SF) PPP approach based on EGNOS and shows that the SBAS PPP accuracy can reach a decimeter level. And El-Mowafy et al. (2020) conducted Dual-Frequency (DF) SBAS-based PPP for the second-generation Australia–New Zealand SBAS services.

The basic augmentation parameters of BDS include satellite orbit/clock corrections and their rates, ionospheric grid corrections and rates, and the Partition Comprehensive Corrections (PCC, Zhou, 2017; Chen et al., 2017, 2018). For these parameters, the BDS Interface Control Document (ICD) describes equivalent satellite clock and ionospheric grid corrections and the BDS PPP-B2b ICD describes the satellite orbit/clock corrections (CSNO, 2012, 2020). Among the four types of parameters, the State Space Representation (SSR) based satellite orbit/clock corrections are used to correct the broadcast satellite orbit/clock errors with satellite clock corrections updated every 18 s and satellite orbits updated every 6 min. The BDS SBAS ionospheric grid corrections are used to improve the real-time ionosphere delay corrections by means of the vertical delay estimation at Ionospheric Grid Points (IGPs). The BDS SBAS broadcasts the corrections at 320 ionospheric grids with an interval of 6 min, covering the area from 70°E to 145°E and 7.5°N to 55°N with a resolution of 5° (longitude) × 2.5° (latitude). The BDS SBAS PCCs are Observation Space Representation (OSR) based and used to correct the remaining observation errors in carrier-phase observations and broadcast every 36 s. The PCC corrections are generated to compensate the remaining OSR errors after applying real-time orbit/clock corrections, and the accuracy of real-time orbit/clock corrections have some impact on its performance (Wang et al., 2020).

The performance of the BDS SBAS parameters have been investigated in many publications, e.g., Zhang et al. (2017), Chen et al. (2020a), and Wang et al. (2020). Chen et al. (2020a) summarized the features of the four types of the BDS SBAS corrections, including their definition and usages. PPP performance using BeiDou-2 Navigation Satellite System (BDS-2) data was evaluated in Chen et al. (2020a), where the PPP horizontal coordinates can converge to better than 0.5 m in around 15 min using BDS-2. BeiDou-3 Navigation Satellite System (BDS-3) provides also the B2b PPP service, where inter-satellite-link observations are used together with the B1C/B2a DF observations from ground tracking network. However, the generation algorithms of the BDS SBAS parameters do not appear in current publications. Meanwhile, as BDS-3 has demonstrated superior performances in positioning, navigation, and timing (Yang et al., 2020), their contributions to SBAS PPP should also be evaluated.

For the utilization of BDS SBAS services, it has been proved that the undifferenced-uncombined model is better than the University of Calgary (UofC) model for SF users. Moreover, the evaluated kinematic results in Chen et al. (2020a) are based on monitoring stations, but the performance with real-kinematic data should also be assessed to further evaluate the current BDS SBAS.

This paper focuses on the algorithms generating the BDS SBAS parameters and their performances in PPP. The four types of BDS SBAS corrections and their algorithms are introduced in "BDS SBAS corrections and the algorithms" section. "Carrier-phase based ionospheric corrections" section proposes the DF and SF PPP model using BDS SBAS corrections. "Performance of the BDS SBAS based PPP" section presents the BDS SBAS correction-based PPP performance, including accuracy and convergence. Finally, main findings of this paper are summarized and discussed.

BDS SBAS corrections and the algorithms

Real-time satellite orbit/clock correction

Pseudo-range based satellite orbit/clock correction

The satellite orbit in the BDS legacy broadcast ephemeris is generally forecasted for a few hours, therefore its forecast error will increase over time. For each SBAS reference station, the real-time ionosphere-free pseudo-range observations \(P_{{{\text{IF}}}}\) can be written as:

$$ P_{{{\text{IF}}}} = \rho (r^{s} ) + c \cdot (\tau^{r} - \tau^{s} ) + (b^{r} - b^{s} ) + T + \varsigma $$

where the indices \( s\) and \(r\) refer to the satellite and receiver, respectively; \(\rho \left( {x^{s} } \right)\) is the computed geometric range between the phase centers of the satellite and receiver antennas in meter, and \(r^{s}\) are the satellite orbits in meter; \(c\) is the speed of light in vacuum in meter per second; \(\tau^{r}\), \(\tau^{s}\) are the receiver clock offset and satellite clock offset in second, respectively; \(T\) is the slant tropospheric delay in meter; \(b^{r}\), \(b^{s}\) are the ionosphere-free receiver and satellite range bias in meter; \(\varsigma\) is the observation noise of pseudo-range in meter; IF represents ionospheric-free combination.

In the BDS SBAS, the parameters \(b^{r}\), \(b^{s}\) are pre-calibrated and thus, the slant tropospheric delays are corrected using an empirical model with real-time meteorological data. Using the orbit and clocks calculated based on the broadcast ephemeris as the initial values in Eq. (1), the unknown parameters in Eq. (1) are satellite orbit corrections to the broadcast and receiver/satellite clock offsets \({\text{d}}p = ({\text{d}}x^{s} ,{\text{d}}y^{s} ,{\text{d}}z^{s} ,{\text{d}}\tau^{r} ,{\text{d}}\tau^{s} )\). The linearization of Eq. (1) can be written as:

$$ \begin{aligned} P_{{{\text{IF}}}} & = \rho_{0} (r^{s} ) + \frac{\partial P}{{\partial p}} \cdot {\text{d}}p + \varsigma \\ & = \rho_{0} (r^{s} ) - \frac{{x^{s} - x}}{{\left| {{\overset{\rightharpoonup}{r}} ^{s} - {\overset{\rightharpoonup}{r}} } \right|}} \cdot {\text{d}}x^{s} - \frac{{y^{s} - y}}{{\left| {{\overset{\rightharpoonup}{r}} ^{s} - {\overset{\rightharpoonup}{r}} } \right|}} \cdot {\text{d}}y^{s} - \frac{{z^{s} - z}}{{\left| {{\overset{\rightharpoonup}{r}} ^{s} - {\overset{\rightharpoonup}{r}} } \right|}} \cdot {\text{d}}z^{s} + c \cdot {\text{d}}\tau^{r} - c \cdot {\text{d}}\tau^{s} + \varsigma \\ & = \rho_{0} (r^{s} ) + {\varvec{A}} \cdot {\text{d}}p + \varsigma \\ \end{aligned} $$

where \(\rho_{0} \left( {r^{s} } \right)\) are the geometric range between the station and the satellite; \({\overset{\rightharpoonup}{r}}^{s} , {\overset{\rightharpoonup}{r}} \) are the position vectors of the satellite and station, respectively; \({\varvec{A}}\) is called the design matrix.

Using the observations of a SBAS tracking network, at each epoch, the solution could be written as:

$$ {\varvec{N}}_{{\varvec{A}}} {\text{d}}p = {\varvec{W}} $$

where \({\varvec{N}}_{{\varvec{A}}} ,{\varvec{W}}\) are the normal equations and residual vector, respectively, and the unknown satellite orbit/clock corrections can be derived using the least squares method. Due to the large noise in the pseudo-range, the derived parameters using the above algorithms normally have an accuracy of few meters.

Carrier-phase based satellite orbit/clock correction

To improve the accuracy of the real-time orbit/clock corrections, we can use the ionosphere-free carrier-phase observations \(L_{{{\text{IF}}}}\):

$$ L_{{{\text{IF}}}} = \rho \left( {r^{s} } \right){ + }c \cdot \left( {\tau^{r} - \tau^{s} } \right){ + }N + \left( {B^{r} - B^{s} } \right){ + }T{ + }\varepsilon $$

where \(N\) is the ionosphere-free phase ambiguity term in meter; \(B^{r} ,B^{s}\) are the uncalibrated Carrier-Phase Delays (UPDs) for the receiver and satellites in meter, respectively; \(\varepsilon\) is the observation noise of carrier phase in meter.

Real-time carrier-phase process requires a sophisticated ambiguity handling strategy and the experiences periods of convergence and re-convergence. To avoid these problems, epoch-differenced carrier-phase observations can be used (Ge et al., 2012). Supposing no cycle slips between two adjacent epochs i and i-1 exist, the epoch-differenced carrier-phase observations \({\Delta L}\left( {{\text{t}}_{{\text{i - 1}}} {\text{,t}}_{{\text{i}}} } \right)\) are written as:

$$ {\Delta }L\left( {t_{{{\text{i}} - {1}}} ,t_{{\text{i}}} } \right) = L\left( {t_{{\text{i}}} } \right)-L\left( {t_{{{\text{i}} - {1}}} } \right) = {\Delta }\rho \left( {r_{i}^{s} ,r_{i - 1}^{s} } \right) + c \cdot \left( {{\Delta }\tau^{r} - {\Delta }\tau^{s} } \right) + {\Delta }T + \varepsilon^{\prime} $$

where \(\Delta\) indicates the epoch-differenced operator; \(L\left( {t_{{\text{i}}} } \right),L\left( {t_{{{\text{i}} - {1}}} } \right)\) are ionosphere-free carrier-phase observations at epochs \(i\) and \(i - 1\), respectively; \({\Delta }\rho \left( {r_{i}^{s} ,r_{i - 1}^{s} } \right)\) is the geometric range deference between two epochs based on broadcast ephemeris. In Eq. (5); the ambiguity UPDs are cancelled out and the tropospheric delay term \({\Delta }T\) can also be neglected as the tropospheric delays are almost the same at two adjacent epochs (with interval of dozens of seconds). The unknown parameters in Eq. (5) are satellite orbit corrections and receiver/satellite clock offsets at adjacent epochs \(i\), \({\text{d}}p_{i} = ({\text{d}}x_{i}^{s} ,{\text{d}}y_{i}^{s} ,{\text{d}}z_{i}^{s} ,{\text{d}}\tau_{i}^{r} ,{\text{d}}\tau_{i}^{s} )\). and \(i - 1\), \({\text{d}}p_{i - 1} = ({\text{d}}x_{i - 1}^{s} ,{\text{d}}y_{i - 1}^{s} ,{\text{d}}z_{i - 1}^{s} ,{\text{d}}\tau_{i - 1}^{r} ,{\text{d}}\tau_{i - 1}^{s} )\). The linearization of Eq. (5) can be written as:

$$ \begin{aligned} {\Delta }L(t_{{\text{i - 1}}} ,t_{{\text{i}}} ) & = {\Delta }L_{0} (t_{{{\text{i}} - {1}}} ,t_{{\text{i}}} ) + \frac{{\partial {\Delta }L}}{{\partial p_{{\text{i}}} }} \cdot {\text{d}}p_{i} + \frac{{\partial {\Delta }L}}{{\partial p_{{\text{i - 1}}} }} \cdot {\text{d}}p_{i - 1} \\ & = \Delta\uprho _{0} (r_{i}^{s} ,r_{i - 1}^{s} ) - \frac{{x_{i}^{s} - x}}{{\left| {{\overset{\rightharpoonup}{r}}_{i}^{s} - {\overset{\rightharpoonup}{r}}} \right|}} \cdot {\text{d}}x_{i}^{s} - \frac{{y_{i}^{s} - y}}{{\left| {{\overset{\rightharpoonup}{r}}_{i}^{s} - {\overset{\rightharpoonup}{r}}} \right|}} \cdot {\text{d}}y_{i}^{s} - \frac{{z_{i}^{s} - z}}{{\left| {{\overset{\rightharpoonup}{r}}_{i}^{s} - {\overset{\rightharpoonup}{r}} } \right|}} \cdot {\text{d}}z_{i}^{s} + c \cdot {\text{d}}\tau_{i}^{r} - {\text{ d}}\tau_{i}^{s} \\ & \quad + \frac{{x_{i - 1}^{s} - x}}{{\left| {{\overset{\rightharpoonup}{r}}_{i - 1}^{s} - {\overset{\rightharpoonup}{r}} } \right|}} \cdot {\text{d}}x_{i - 1}^{s} + \frac{{y_{i - 1}^{s} - y}}{{\left| {{\overset{\rightharpoonup}{r}}_{i - 1}^{s} - {\overset{\rightharpoonup}{r}}} \right|}} \cdot {\text{d}}y_{i - 1}^{s} + \frac{{z_{i - 1}^{s} - z}}{{\left| {{\overset{\rightharpoonup}{r}}_{i - 1}^{s} - {\overset{\rightharpoonup}{r}} } \right|}} \cdot {\text{d}}z_{i - 1}^{s} - c \cdot {\text{d}}\tau_{i - 1}^{r} + {\text{ d}}\tau_{i - 1}^{s} + \varepsilon^{\prime} \\ & = {\Delta }\uprho _{0} (r_{i}^{s} ,r_{i - 1}^{s} ) + {\varvec{A}}_{i} \cdot {\text{d}}p_{i} - {\varvec{A}}_{i - 1} \cdot {\text{d}}p_{i - 1} + \varepsilon^{\prime} \\ \end{aligned} $$

where \({\Delta }\uprho _{0} (r_{i}^{s} ,r_{i - 1}^{s} ) =\uprho _{0} (r_{i}^{s} ) -\uprho _{0} (r_{i - 1}^{s} )\). Defining \({\text{d}}\Delta p_{i} = {\text{d}}p_{i} - {\text{d}}p_{i - 1}\) and Eq. (6) can be reformed as:

$$ {\Delta }L(t_{{{\text{i}} - {1}}} ,t_{{\text{i}}} ) = {\Delta }\uprho _{0} (r_{i}^{s} ,r_{i - 1}^{s} ) + {\varvec{A}}_{i} \cdot {\text{d}}p_{i} - {\updelta }{\varvec{A}}_{i} \cdot {\text{d}}p_{i - 1} + \varepsilon^{\prime} $$

where \({\updelta }{\varvec{A}}_{i} = {\varvec{A}}_{i} - {\varvec{A}}_{i - 1} = ({\updelta }{\varvec{A}}_{x,i} ,{\updelta }{\varvec{A}}_{y,i} ,{\updelta }{\varvec{A}}_{z,i} ,0,0)^{{\text{T}}}\). The station and satellite clock elements of \({\updelta }{\varvec{A}}_{i}\) are 0; the satellite orbit elements of \({\updelta }{\varvec{A}}_{i} \left( {{\updelta }{\varvec{A}}_{x,i} ,{\updelta }{\varvec{A}}_{y,i} ,{\updelta }{\varvec{A}}_{z,i} } \right)\) represent the geometry changes between two adjacent epochs and have the relations with the epoch interval and satellite velocity. Table 1 shows the variation range of the three orbit elements of \({\updelta }{\varvec{A}}_{i}\) for GEO, Inclined Geosynchronous Orbits (IGSO) and Medium Earth Orbit (MEO) satellites, which is based on the daily observations at a BDS station in Shanghai. With respect to the geometry changes, GEO satellites have the smallest and MEO satellites the biggest values in \({\updelta }{\varvec{A}}_{i}\) orbit elements. The maximum range of \(\delta {\varvec{A}}_{i}\) orbit elements is at the level of 1 × 10–4 and 1 × 10–3 with an epoch interval of 1 s and 10 s, where 1 s is the nominal sampling rate at BDS SBAS reference stations. Even at an interval of 60 s, the orbit elements of \({\updelta }{\varvec{A}}_{i}\) are also at the level of 1 × 10–3. Considering the current accuracy of few meters of BDS broadcast orbits, the term \({\updelta }{\varvec{A}}_{i} {\text{d}}p_{i - 1}\) would therefore be less than few centimeters and thus can be neglected in the BDS SBAS process, as we aim at decimeter-level services. Thus, Eq. (7) can be re-written as:

$$ {\Delta }L\left( {t_{{{\text{i}} - {1}}} ,t_{{\text{i}}} } \right) = {\Delta }\uprho _{0} \left( {r_{i}^{s} ,r_{i - 1}^{s} } \right) + {\varvec{A}}_{i} \cdot {\text{d}}p_{i} + \varepsilon^{\prime} $$
Table 1 Daily variations of the three orbit elements of \({\updelta }{\varvec{A}}_{i}\) for GEO/IGSO/MEO satellites at different observation intervals, where dAx, dAy, dAz represent the orbit elements

The unknown parameters in Eq. (8) are epoch-differenced orbit corrections and receiver/satellite clocks at epoch i: \({\text{d}}p_{i} = \left[ {\left( {{\text{d}}x_{i}^{s} - {\text{d}}x_{i - 1}^{s} } \right),\left( {{\text{d}}y_{i}^{s} - {\text{d}}y_{i - 1}^{s} } \right),\left( {{\text{d}}z_{i}^{s} - {\text{d}}z_{i - 1}^{s} } \right),\left( {{\text{d}}\tau_{i}^{r} - {\text{d}}\tau_{i - 1}^{r} } \right),\left( {{\text{d}}\tau_{i}^{s} - {\text{d}}\tau_{i - 1}^{s} } \right)} \right]\).Using real-time observations from the SBAS tracking network, the epoch-differenced satellite orbit/clocks can be derived based on Eq. (8).

In the above algorithms, if there are cycle slips for a satellite at epoch \(i\), then related epoch-differenced observations at epochs \(i\) and \(i + 1 \) cannot be formed for the satellite. This will lose the observations at the two epochs for that satellite.

Real-time ionospheric corrections

Pseudo-range based ionospheric corrections

For each SBAS reference station, the real-time pseudo-range observations \(P_{{1}} ,P_{{2}}\) of two frequencies \(f_{{1}} ,f_{{2}}\) can be written as:

$$ \left\{ {\begin{array}{*{20}c} {P_{{1}} =\uprho (r^{s} ) + c \cdot (\tau^{r} - \tau^{s} ) + b_{1} + mf \cdot I_{1} + T + {\varsigma }_{1} } \\ {P_{{2}} =\uprho (r^{s} ) + c \cdot (\tau^{r} - \tau^{s} ) + b_{2} + mf \cdot I_{2} + T +{\varsigma }_{2} } \\ \end{array} } \right. $$

Compared with Eq. (1), the satellite and receiver biases have been grouped into \(b_{1} ,b_{2}\) as they can be pre-calibrated, and \(I_{1} ,I_{2}\) are the vertical ionospheric delays at the Ionospheric Pierce Points (IPP) for the two frequencies with \(I_{2} = \frac{{f_{1}^{2} }}{{f_{2}^{2} }} \cdot I_{1}\). \(mf\) is the mapping function converting the vertical ionospheric delay to the slant ionospheric delays in the line-of-sight directions. For the mapping function and IPP definition one can refer to the Single-Layer Model (SLM). Vertical ionospheric delay for the first frequency \(I_{1}\) can be derived as:

$$ I_{1} = \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }} \cdot \left( {P_{{2}} - P_{{1}} + b_{2} - b_{1} } \right) $$

The bias terms \(b_{1} ,b_{2}\) are routinely calibrated in the BDS SBAS and thus known in Eq. (10). Based on Eq. (10), vertical ionospheric delays of the station-satellite pair related IPPs can be derived. The vertical ionospheric delays for another frequency k (\(f_{k}\)) can be derived by multiply a frequency factor \(\frac{{f_{1}^{2} }}{{f_{k}^{2} }}\).

Carrier-phase based ionospheric corrections

Considering the low precision of pseudo-ranges, carrier-phase observations are used to improve the precision of ionospheric delay corrections. For each SBAS reference station, the real-time carrier-phase observations \(L_{{1}} ,L_{{2}}\) of two frequencies \(f_{{1}} ,f_{{2}}\) can be written as:

$$ \left\{ {\begin{array}{*{20}c} {L_{{1}} =\uprho (r^{s} ) + c \cdot (\tau^{r} - \tau^{s} ) + N_{1} + B_{1} - mf \cdot I_{1} + T + \varepsilon_{1} } \\ {L_{{2}} =\uprho (r^{s} ) + c \cdot (\tau^{r} - \tau^{s} ) + N_{2} + B_{2} - mf \cdot I_{2} + T + \varepsilon_{2} } \\ \end{array} } \right. $$

Compared with Eq. (4), the UPDs of satellites and receivers have been grouped into \(B_{{1}} ,B_{{2}}\), and \(N_{{1}} ,N_{{2}}\) are the phase ambiguity term of the two frequencies in meter. The vertical ionospheric delay for the first frequency \(I_{1}\) can be derived as:

$$ I_{1} = \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }} \cdot \left( {L_{{1}} - L_{{2}} + N_{1} - N_{2} + B_{1} - B_{2} } \right) $$

Again, real-time carrier-phase requires sophisticated ambiguity handling strategies, and therefore the epoch-differenced approach is used for slant ionospheric delay calculation:

$$\Delta I_{1} = I_{1} \left( {t_{i} } \right) - I_{1} \left( {t_{i - 1} } \right) = \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}\left\{ {\left[ {L_{{1}} \left( {t_{i} } \right) - L_{{2}} \left( {t_{i} } \right)} \right] - \left[ {L_{{1}} \left( {t_{i - 1} } \right) - L_{{2}} \left( {t_{i - 1} } \right)} \right]} \right\} $$

where \(L_{{1}} \left( {t_{i} } \right),L_{{2}} \left( {t_{i} } \right),L_{{1}} \left( {t_{i - 1} } \right),L_{{2}} \left( {t_{i - 1} } \right)\) are carrier-phase observations of two frequencies at epochs \( i\) and \(i - 1\). The ambiguity term and carrier-phase UPDs are cancelled out in Eq. (13). Based on Eq. (13), the vertical ionospheric delay changes at IPPs between two adjacent epochs can be derived.

Pseudo-range and carrier-phase combined corrections

The absolute correction parameters of satellite orbit/clock and ionospheric delay can be calculated by the pseudo-range based algorithms using Eqs. (2) and (10). And epoch-differenced correction parameters can be derived by the carrier-phase based algorithms using Eqs. (8) and (13). For BDS SBAS processing, the absolute and epoch-differenced correction parameters are combined using the following algorithm.

Define the best estimated satellite orbit/clock or ionospheric delay corrections at epoch \(i\) as \(\hat{x}_{i}\), the pseudo-range based solution as \(x_{c,i}\) and the epoch-differenced solution as \(x_{\varphi ,i} ,x_{\varphi ,i - 1}\). For each processed data batch, the pseudo-range based and the carrier-phase based solutions can be regarded as pseudo-observations of \(\widehat{{x_{i} }}\):

$$ \left\{ {\begin{array}{*{20}c} {\hat{x}_{i} - x_{c,i} = v_{c,i} } & {P_{c,i} } \\ {\left( {\hat{x}_{i} - \hat{x}_{i - 1} } \right) - \left( {x_{\varphi ,i} - x_{\varphi ,i - 1} } \right) = v_{{{\Delta }\varphi {\text{,i}}}} } & {P_{\varphi ,i} P_{\varphi ,i} } \\ \end{array} } \right.\quad i = 1,2, \ldots ,n $$

where \(v_{{\text{c,i}}}\) and \(v_{{\Delta \varphi ,{\text{i}}}}\) are the residuals of the pseudo-range and carrier-phase based solutions, respectively; \(P_{c,i} ,{ }P_{\varphi ,i}\) are weighting factors; and n is the number of epochs in the processed data batch, which is normally set to 10–20 in the BDS SBAS processing.

At epoch i, the weighting factor \(P_{c,i} ,P_{\varphi ,i}\) are derived by:

$$ P_{{\text{c,i}}} = \frac{{\sigma_{c}^{2} }}{{\sigma_{c,i}^{2} \left( {t_{i} } \right)}}\quad P_{\varphi ,i} = \frac{{\sigma_{\varphi }^{2} }}{{\sigma_{\varphi ,i}^{2} \left( {t_{i} } \right)}} $$

where \(\sigma_{c} ,\sigma_{\varphi }\) are the nominal errors of pseudo-range and carrier-phase observations and \(\sigma_{{{\text{c,}},i}} \left( {t_{i} } \right),{\upsigma }_{\varphi ,i} \left( {t_{i} } \right)\) are the estimated parameter errors in the previous steps.

For all n observations in the processed data batch, Eq. (14) can be cumulated as:

$$ \left\{ {\begin{array}{*{20}c} {{\varvec{E}}^{{\text{T}}} \cdot {\varvec{P}}_{c} \cdot E \cdot \hat{x}{\text{ = E}}^{{\text{T}}} \cdot {\varvec{P}}_{c} \cdot x_{c} } \\ {{\varvec{C}}^{{\text{T}}} \cdot {\varvec{P}}_{\varphi } \cdot C \cdot \hat{x}{\text{ = C}}^{{\text{T}}} \cdot P_{\varphi } \cdot {\Delta x}_{\varphi } } \\ \end{array} } \right. $$

with \({\varvec{E}}\) being unit matrix, \(P_{c} ,P_{\varphi }\) are diagonal weighting matrices and \({\varvec{C}}\) has the form of:

$$ {\varvec{C}} = \left( {\begin{array}{*{20}c} { - 1} & 1 & 0 & \ldots & 0 & 0 \\ 0 & { - 1} & 1 & \ldots & 0 & 0 \\ \vdots & \vdots & \vdots & {} & \vdots & \vdots \\ 0 & 0 & 0 & \ldots & { - 1} & 1 \\ \end{array} } \right)_{n \times n} $$
$$ \begin{aligned} \hat{x} & = \left( {\begin{array}{*{20}c} {\hat{x}_{1} } & {\hat{x}_{2} } & \ldots & {\hat{x}} \\ \end{array}_{n} } \right)^{{\text{T}}} \\ x_{c} & = \left( {\begin{array}{*{20}c} {x_{{\text{c,1}}} } & {x_{{\text{c,2}}} } & \ldots & {x_{{\text{c,n}}} } \\ \end{array} } \right)^{{\text{T}}} \\ {\Delta x}_{\varphi } & = \left( {\begin{array}{*{20}c} {x_{{{{\varphi ,2}}}} - {\text{x}}_{{{{\varphi ,1}}}} } & {x_{{{{\varphi ,3}}}} - {\text{x}}_{{{{\varphi ,2}}}} } & \ldots & {x_{{{{\varphi ,n}}}} - {\text{x}}_{{{{\varphi ,n}} - {1}}} } \\ \end{array} } \right)^{{\text{T}}} \\ \end{aligned} $$

Solving Eq. (16) using the least squares method, we can derive the real-time satellite orbit/clock and ionospheric correction parameters with pseudo-range and carrier-phase combined for each epoch of the processed data batch. Using the derived parameters, the rate of SBAS corrections can be further derived based on linear fitting using the data of defined number of consequent epochs.

In the algorithm, the precise phase observations are used to determine only accurate temporal changes of the parameters because of the existence of phase ambiguities, whereas the range observations are used to determine the constant offset of each parameter. The latter is necessary to align the parameters to the references. Because of lower weighting due to the relatively high noise level, the range observations barely contribute to the temporal parameter changes and the biased parameter offset does not affect the modeling of phase observations because it will be absorbed by the corresponding ambiguity parameter. However, the range observations must be down-weighted accordingly to avoid the contamination of such biases.

Ionospheric grid corrections

Based on the algorithms in the previous sections, the vertical ionospheric delays can be derived for each epoch at IPPs in the processed data batch. As shown in Fig. 1, the vertical ionospheric delay of each IPP (\(I^{{{\text{IPP}}}}\)) can be interpolated from the vertical ionospheric delays at four surrounding IGPs using the formula (19).

$$ I^{{{\text{IPP}}}} = \frac{{\mathop \sum \nolimits_{1}^{4} p_{j} \cdot \left[ {I_{0}^{j} + \left( {t_{i} - {\text{t}}_{0} } \right)\dot{I}_{0}^{j} } \right]}}{{\mathop \sum \nolimits_{1}^{4} p_{j} }} $$

where \(p_{j}\) is the weight function of each IGP. At epoch i, the vertical ionospheric delay of (IGPs) is modeled as a linear function \(I_{0}^{j} + \left( {t_{i} - {\text{t}}_{0} } \right)\dot{I}_{0}^{j}\), where \(I_{0}^{j} {,}\ \dot{I}_{0}^{j}\) are ionospheric delay and its rate at reference time \(t_{0}\).

Fig. 1
figure 1

Relation between IPP and 4 surrounding IGPs, where W is the location of IPP, and the four IGPs are on the corner of the grid, and \(\left( {\lambda ,\psi } \right)\) represent longitude and latitude

Using the vertical ionospheric delays of multiple IPPs in the grid shown in Fig. 1, the vertical ionospheric delays of the four IGPs can be derived based on the least squares estimator.

Partition comprehensive corrections

With the real-time satellite orbit/clock errors corrected using the above-estimated correction algorithms, ionosphere-free pseudo-range and carrier-phase observation residuals \({\text{d}}P_{IF} ,\;{\text{d}}L_{IF}\) at each SBAS reference station can be written as:

$$ \begin{aligned} {\text{d}}\tilde{P}_{{{\text{IF}}}} & = P_{{{\text{IF}}}} - [\tilde{\rho } - c \cdot \tilde{\tau }^{s} + (b^{r} - b^{s} ) + T ] \\ {\text{d}}\tilde{L}_{{{\text{IF}}}} & = L_{{{\text{IF}}}} - [\tilde{\rho } - c \cdot \tilde{\tau }^{s} + (B^{r} - B^{s} ) + T ] \\ \end{aligned} $$

where \(\tilde{\rho }\) is geometric range calculated with satellite orbit corrections, \(\tilde{\tau }^{s} = \tau^{s} + {\text{d}}\tau^{s}\) is the satellite clock offset corrected with clock correction parameter. The observation residuals are the OSR based corrections and can be used to correct the remaining errors in observations. The basic philosophy of the BDS SBAS PCC is that the observation residual errors of a satellite are almost the same for the ground stations with less than few hundred kilometers apart. Thus, the observation residual errors of each satellite at each epoch can be represented by one OSR parameter over the whole region. The BDS SBAS designs 18 partitions over its key service area, where each partition covers an area with radius of up to 800–1000 km.

Equation (20) contains the receiver clock offset and ambiguity term. In order to reduce the digital range of carrier-phase PCC in broadcast messages, the receiver clock offsets are corrected using pseudo-range estimates:

$$ c \cdot \tilde{\tau }^{r} = \frac{{\mathop \sum \nolimits_{j = 1}^{m} {\text{d}}\tilde{P}_{{{\text{IF}},i}} }}{m} $$

where \(m\) is the number of the tracked satellites at a reference station at epoch \(i\). The ambiguity term can also be corrected using the following equation:

$$ \tilde{N} = {\text{d}}\tilde{L}_{{{\text{IF}}}} - c \cdot \tilde{\tau }^{r} $$

Thus, considering the approximate receiver clock and ambiguity, the PCC for this satellite/station pair can be written as:

$$ {\text{d}}L_{{{\text{IF}}}} = L_{{{\text{IF}}}} - [\tilde{\rho } + c \cdot (\tilde{\tau }^{r} - \tilde{\tau }^{s} ) + \tilde{N} + (B^{r} - B^{s} ) + T] $$

To ensure the reliability and integrity, redundant SBAS reference stations are established for each partition, and the PCC parameters \({\text{d}}L_{IF}\) can be obtained with the following equation:

$$ {\text{d}}L_{{{\text{IF}}}} = \frac{{\mathop \sum \nolimits_{i = 1}^{k} w_{i} \cdot {\text{d}}L_{{{\text{IF}},i}} }}{k} $$

where \({\text{d}}L_{{{\text{IF}},i}}\) is the PCC based on each reference station, \(w_{i}\) is the weight factor of each station, and k is the number of SBAS reference stations of this partition.

Precise point positioning model based on BDS SBAS corrections

Because both BDS-2 and BDS-3 transmit the B1/B3 signals, therefore the estimation of satellite orbit/clock corrections and PCC parameters are based on the B1/B3 DF ionosphere-free combinations. And ionospheric grid corrections are derived using all available data of the B1/B2/B3 signals.

According to the interface control document, the updating rates of each parameter is shown in Table 2.

Table 2 Updating rate of BDS SBAS parameters

The four types of the BDS SBAS corrections are superposed on the BDS legacy broadcast ephemeris, and SBAS user can apply the PPP (Zumberge et al., 1997) algorithm to derive carrier-phase based positions.

Dual-frequency PPP

Taking the B/1B2 DF as an example, the BDS SBAS Ionospheric-Free (IF) PPP model based on the four types of BDS SBAS corrections can be expressed as:

$$ \begin{aligned} P_{{{\text{IF}}}} & = \tilde{\rho } + c \cdot (\tau^{r} - \tilde{\tau }^{s} ) + T + \varsigma \\ L_{{{\text{IF}}}} & = \tilde{\rho } + c \cdot (\tau^{r} - \tilde{\tau }^{s} ) + N + T - {\text{d}}L_{IF} + \varepsilon \\ \end{aligned} $$

where \(\tilde{\rho }\) is the geometric range calculated with corrected real-time satellite orbits and approximate station coordinates,\(\tilde{\tau }^{s}\) = \(\tau^{s}\) + d \(\tilde{\tau }^{s}\) is the corrected satellite clock offset, and \({\text{d}}L_{IF}\) is the real-time PCC of the selected partition.

Furthermore, the Undifferenced and Uncombined (UdUc) model (Gao et al., 2017; Zhou et al., 2019) can also be applied for the multi-frequency SBAS PPP, where SBAS ionospheric grid corrections can be used as prior weighted values (Wang et al., 2019). Taking the B1/B2 DF as an example, the UdUc observations can be expressed as:

$$ \left\{ {\begin{array}{*{20}l} {P_{1} = \tilde{\rho } + c \cdot \left( {\tau^{r} - \tilde{\tau }^{s} } \right) + mf \cdot I_{1} + T + \varsigma_{1} } \\ {P_{2} = \tilde{\rho } + c \cdot \left( {\tau^{r} - \tilde{\tau }^{s} } \right) + mf \cdot \frac{{f_{1}^{2} }}{{f_{2}^{2} }} \cdot I_{1} + T + \varsigma_{2} } \\ {L_{1} = \tilde{\rho } + c \cdot \left( {\tau^{r} - \tilde{\tau }^{s} } \right) + N_{1} - mf \cdot I_{1} + T - dL_{IF} + \varepsilon_{1} } \\ {L_{2} = \tilde{\rho } + c \cdot \left( {\tau^{r} - \tilde{\tau }^{s} } \right) + N_{2} - mf \cdot \frac{{f_{1}^{2} }}{{f_{2}^{2} }} \cdot I_{1} + T - dL_{IF} + \varepsilon_{2} } \\ {I_{1} = \widetilde{{I_{1} }} + \varepsilon } \\ \end{array} } \right. $$

In Eq. (26), \(\tilde{I}_{1}\) is the vertical ionospheric corrections derived using Eq. (20) based on the SBAS vertical ionospheric grid corrections. The vertical ionospheric delay \(I_{1}\) is estimated together with the station coordinates, tropospheric delay, carrier-phase ambiguities and receiver clock parameters.

Compared to Eqs. (1) and (4), the receiver hardware delays and UPDs are not in Eqs. (25) and (26) and they are merged into the receiver clock or ambiguity terms. It is worth noting that the legacy BDS broadcast clocks are referred to the B3 frequency, thus the Timing Group Delay (TGD) parameters should be applied (Zhang et al., 2019) in the above observation equations.

Single-frequency PPP

For a SF user, the SBAS ionospheric grid corrections are used to correct the pseudo-range observations. And the UofC model (Gao & Shen, 2002) are used to eliminate ionosphere delay. Taking B1 observations as an example, the SF UofC PPP based on the four types of BDS SBAS corrections is:

$$ \left\{ {\begin{array}{*{20}l} {P_{1} = \tilde{\rho } + c \cdot \left( {\tau^{r} - \tilde{\tau }^{s} } \right) + mf \cdot \widetilde{{I_{1} }} + T + \varsigma_{1} } \\ {\frac{{P_{1} + L_{1} }}{2} = \tilde{\rho } + c \cdot \left( {\tau^{r} - \tilde{\tau }^{s} } \right) + \frac{{N_{1} }}{2} + T - \frac{{{\text{d}}L_{{{\text{IF}}}} }}{2} + \varsigma_{{{\text{PL}}}} } \\ \end{array} } \right. $$

In Eq. (27), \(\tilde{I}_{1}\) is the vertical ionospheric corrections based on ionospheric grid corrections, and the pseudo-range observation noise is reduced by a half. The estimated parameters are the station coordinates, tropospheric delay, and station receiver clock.

The UdUc model can also be applied for the SF SBAS PPP, where SBAS ionospheric grid corrections can be used as prior weighted values. Taking B1 observations as an example, the model reads:

$$ \left\{ {\begin{array}{l} {P_{1} = \tilde{\rho } + c \cdot \left( {\tau^{r} - \tilde{\tau }^{s} } \right) + mf \cdot I_{1} + T + \varsigma_{1} } \\ {L_{1} = \tilde{\rho } + c \cdot \left( {\tau^{r} - \tilde{\tau }^{s} } \right) + N_{1} - mf \cdot I_{1} + T - {\text{d}}L_{{{\text{IF}}}} + \varepsilon_{1} } \\ {I_{1} = \widetilde{{I_{1} }} + \varepsilon } \\ \end{array} } \right. $$

In Eq. (28), the vertical ionospheric delay \(I_{1}\) is also estimated together with the station coordinates, tropospheric delay, and station receiver clock parameters. Like the DF models, TGD parameter should be applied in the above equations to keep consistent with the broadcast B3 frequency reference.

Performance of the BDS SBAS based PPP

Experimental data

The four types of BDS SBAS corrections are broadcasted by BDS GEO satellites, which augment the PNT service in Asia–Pacific region. The BDS SBAS orbit/clock corrections and ionospheric grid corrections are synchronously broadcasted by all GEO satellites. The PCCs are broadcasted according to the ground coverage of the GEO satellites, where each GEO satellite broadcasts the PCC of a couple of partitions.

To assess the quality of SBAS parameters, we applied the static and simulated-kinematic PPP using the observations at fixed sites (e.g. Ge et al., 2012; Heßelbarth & Wanninger, 2013). One-week (Day of Year (DoY) from 134 to 140, 2020) observations at 20 sites in the Chinese Mainland were processed. These sites are geodetic points whose coordinates are precisely known, and are equipped with different antennas/receivers capable of tracking BDS satellites, including both BDS-2 and BDS-3 satellites. The M300TM receivers manufactured by ComNav® are used to receive and decode the BDS SBAS corrections.

PPP performance using BDS SBAS corrections

PPP processing strategies

The four PPP models based on the equations from Eq. (25) to (28) are implemented in the Net_Diff software, which is developed by the GNSS Analysis Center, Shanghai Astronomical Observatory and has both desktop and online versions ( The details of the models and strategies are shown in Table 3. Tropospheric delays are corrected using the SHAtropE model (Chen et al., 2020b), which is identical to the processing model in the BDS SBAS GCS. The residual wet tropospheric delay is not estimated because it is contained in the PCC (Zhang et al., 2017). It has been proven that for the SF PPP, the UdUc model exhibits better performance than the UofC model in terms of positioning accuracy and convergence time (Chen et al., 2020a). Therefore, for each station, static and simulated kinematic PPP using a Kalman filter is performed under 3 schemes, which are the B1/B3 DF IF solution, the B1/B3 DF UdUc solution, and the B1 SF UdUc solution. To compare the performance of the BDS-2 only and BDS-2/BDS-3 combined SBAS based PPP, for each scheme, the BDS-2 only and BDS-2/BDS-3 combined PPP is processed, respectively.

Table 3 PPP strategies based on BDS SBAS corrections

Following the algorithm in previous section and the processing strategies in Table 3, PPP is performed for each site and the estimated coordinates are then compared with the known coordinates. The SBAS parameters of each satellite are used within their effective period, and the satellite is removed in the processing when its SBAS parameters are not available.

For each site, we divide the daily observations into 4 sessions of 6 h each.In each data session, the three types of simulated kinematic PPP solutions are derived, and the solutions are compared to the known coordinates. It should be noted that for the simulated kinematic PPP, the datasets were collected in the post mode at fixed stations, while data analysis was simulated in the real-time epoch-wise kinematic mode.

Typical static and simulated kinematic PPP

Figure 2 presents the typical static positioning errors for the three PPP models for the BJDN station (115.3°E, 38.9°N) on the first session on DoY 134, 2020. For the DF PPP, the IF and UdUc models shows a similar performance. Both models can achieve better than 5 cm and 10 cm after 6 h in horizontal and vertical, respectively. Inclusion of BDS-3 satellites can accelerate the convergence of static PPP, especially in the east and up components. For the SF PPP, the positioning accuracy is worse than that of the DF PPP as expected. Nevertheless, the performance of BDS-2/BDS-3 combination is superior to that of BDS-2 only scenario.

Fig. 2
figure 2

Typical BDS SBAS corrections based static PPP coordinate errors of BJDN station (00:00–06:00, DoY 134 in 2020) with dual-frequency B1/B3 ionospheric-free combinations, dual-frequency UdUc model, and single-frequency B1 UdUc model

Figure 3 illustrates the simulated kinematic PPP positioning errors of the same station for the session of DoY 135, 2020. The station coordinates with RMS smaller than 0.3 m and 0.5 m can be obtained for the BDS-2/BDS-3 combined DF and the SF PPP. For the DF PPP, the IF and UdUc solutions achieve very similar results with UdUc model converging a little bit faster. For the SF PPP, the result shows larger noise and fluctuation. Similar to the static solutions, the kinematic solutions of the BDS-2/BDS-3 combined PPP shows better performance than BDS-2 in terms of convergence time and positioning accuracy.

Fig. 3
figure 3

Typical BDS SBAS corrections based kinematic PPP coordinate errors of BJDN station (06:00–12:00, DoY 135 in 2020) with dual-frequency B1/B3 ionospheric-free combinations, dual-frequency UdUc model, and single-frequency B1 UdUc model. RMS and 95% of the coordinate errors excluding the first hour are also plotted for each coordinate component. The green points represent BDS-2 and the red points represent BDS-2/BDS-3

Convergence statistics

Convergence is an important indicator of PPP. We summarize the average three Dimension (3D) positioning errors every 5 min for the first one hour of all the solutions, and RMS statistics in horizontal and vertical are derived every 5 min. Figure 4 shows the RMS statistics. For the BDS-2/BDS-3 combined DF kinematic PPP, the 3D positioning errors can converge to 0.5 m in less than 10 min and 0.4 m in about 20 min. Among the two DF PPP models, the UdUc model shows slightly faster convergence speed than the IF model, which may be due to the contribution of BDS ionospheric grid corrections. As for the SF-PPP, the position errors can converge to less than 1.0 m within 5 min and less than 0.5 m in about 30 min. In addition, the BDS-2 only exhibits slower convergence speed in both DF and SF PPP, which confirms the contribution of BDS-3 satellites in BDS SBAS PPP.

Fig. 4
figure 4

Average 3D position errors over time for the B1/B3 IF DF-PPP solutions (left), B1/B3 UdUc SF-PPP solutions (middle), and B1 SF-PPP solutions (right)

Overall PPP positioning performance

The static and simulated kinematic single- and DF UdUc PPP positioning accuracies of all stations during the whole week are summarized in Table 4. Note that the DF IF combination solutions is not listed as they have similar performance with the DF UdUc solutions. The RMS statistics of the simulated kinematic solutions are calculated based on the epoch-wise coordinates of the last two hours of each arc (6 h) and static statistics are based on the coordinates of the last epoch in each solution. The results show that the horizontal and vertical accuracy is better than 9 cm and 18 cm for static DF solutions and better than 13 cm and 28 cm for static BDS-2 only SF solutions, respectively. For the BDS-2/BDS-3 combined DF solutions, the positioning accuracy is improved to 8 cm and 15 cm, 11 cm and 24 cm, respectively.

Table 4 One week’s mean RMS of single- and DF PPP in the static and kinematic mode

In the simulated kinematic scenarios, the horizontal/vertical accuracy is better than 21 cm/26 cm and 17 cm/21 cm for the BDS-2 only and BDS-2/BDS-3 combined DF solutions. For the SF solutions, horizontal/vertical accuracy of better than 31 cm/42 cm for BDS-2 only and 20 cm/32 cm for the BDS-2/BDS-3 combination can be achieved. Under the current BDS constellation, positioning accuracy in 3D is better than 20 cm and 40 cm in static and kinematic mode, respectively.

For a further comparison of the performances of BDS-2 and BDS-2/BDS-3, Fig. 5 shows the magnitude distribution histogram of the simulated kinematic DF- and SF-PPP positioning errors in the horizontal and vertical components of all sites during the whole week. For the DF PPP of BDS-2only solutions, 83% of the kinematic DF solutions is better than 0.3 m in horizontal, and 90% better than 0.5 m in vertical. With the augmentation of BDS-3 satellites, the corresponding percentage is 88% and 94%, respectively. For the SF solutions, 69% is better than 0.3 m in horizontal, and 67% is better than 0.5 m in vertical for the BDS-2 only scenario, while the percentage is 83% and 75% with the inclusion of BDS-3.

Fig. 5
figure 5

Magnitude distribution of BDS SBAS corrections based kinematic DF- and SF-PPP positioning errors

Experiment with kinematic GNSS data

To further evaluate the performance of the BDS SBAS parameters, a kinematic test based on the rover data was conducted in Wuhan on 06 December 2020. Figure 6 shows the rover trajectory during the testing period from GPST 08:12:21 to 10:36:10. The GNSS receiver at the reference station and rover receiver used were Trimble R12 and Trimble Alloy, respectively, and GPS, GLObal NAvigation Satellite System (GLONASS), Galileo navigation satellite system (Galileo) and BDS observations were collected with a sampling interval of 1 s. The reference coordinates of the rover are generated by the Real Time Kinematic (RTK) approach with GPS/GLONASS/Galileo/BDS DF observations using the Net_Diff software, which has a nominal accuracy of few centimeters in both horizontal and vertical components (Zhang et al., 2019).

Fig. 6
figure 6

Rover trajectory of the kinematic BDS positioning test

Using the BDS SBAS parameters, the DF-PPP with B1/B3 ionosphere-free combinations and B1 SF-PPP of UofC model were performed. Since the UofC model is affected by the code noise and the multipath errors of the kinematic observations are larger than that of static stations, the real-time filter CNMC (Code Noise and Multipath Correction) was applied to smooth the BDS code observations (Chang et al., 2015). Figure 7 illustrates the time series of the BDS positioning errors in the N, E and U directions for the kinematic positioning test. The number of the tracked satellites during the testing period is shown in the bottom of Fig. 7.

Fig. 7
figure 7

Positioning errors of the kinematic BDS PPP based on BDS SBAS parameters using dual-frequency and SF observations

Regarding the convergence performance of the BDS SBAS DF-PPP, it takes around 16.5 min and 27.8 min for each component to converge to 1.0 m and 0.5 m, respectively. The RMS of positioning errors after convergence (with threshold being 0.5 m) in the N, E and U directions are 0.14, 0.25 and 0.03 m, respectively. It is worth noting that the rover hardly moved in the vertical direction in this experiment, thus the positioning accuracy of the U direction shows the best. As to the SF-PPP results, the quality of code observations was significantly improved by the CNMC filter (Chang et al., 2015). It takes less than 30 min to achieve decimeter-level positioning accuracy, and the RMS of the positioning errors after convergence in the N, E and U components are 0.20, 0.27 and 0.07 m, respectively.


Four types of real-time augmentation parameters, i.e., satellite orbit/clock corrections, ionospheric grid corrections, and the PCCs, are broadcasted through the BDS SBAS service. We describe in the paper the algorithms of the four types of parameters implemented in the BDS SBAS system. The key of the SBAS algorithms is to combine the pseudo-range based solution and epoch-differenced carrier-phase based solution, where the pseudo-range solution is used to define the references and the carrier-phase solution is used to determines the temporal change of the parameters.

The DF- and SF-PPP models using these four types of corrections are derived. For the DF-PPP, users can use the ionospheric-free combination or implement the UdUc model; while UofC and UdUc models can be used for the SF-PPP. In all these PPP models, the satellite orbit/clock corrections and the ionospheric grid corrections are used as State Space Representation (SSR) based corrections, and the PCCs are OSR based corrections.

One week of data in May 2020 from 20 stations in the Chinese Mainland is processed with different positioning schemes including both static and simulated kinematic modes. Their performance is evaluated by comparing with the known coordinates. Comprehensive statistical analyses prove that with the adding of BDS-3 satellites, the performance of BDS SBAS PPP improves in terms of positioning accuracy and convergence speed. Overall, the mean positioning accuracy of the static DF-PPP can reach 8 cm and 15 cm for horizontal and vertical components, respectively. Whereas for the simulated kinematic DF-PPP, its positioning accuracy is 17 cm in horizontal and 21 cm in vertical. For the SF-PPP models, the static positioning precision is 11 cm and 24 cm for horizontal and vertical components, while it is 20 cm and 32 cm for the simulated kinematic modes. The DF-PPP convergence time is less than 10 min and 30 minor the DF and SF kinematic solutions, respectively, to reach a 3D position accuracy of better than 0.5 m. It is also proved that the UdUc model shows slight better convergence performance than the traditional IF model.

Real kinematic test was performed to further evaluate the BDS SBAS performance and the results shows that both DF and SF kinematic solutions converge to 0.5 m in less than 30 min, and the positioning accuracy reaches better than 0.3 m in each coordinate component.

In the paper the SF data is retrieved from DF receivers. In many applications, it may come from SF receiver and the accuracy may be a little different due to the different observation quality. Also, the current BDS SBAS parameters are used to compensate the overall observation errors, therefore satellite carrier-phase related errors are not calibrated. Future work should provide more accurate parameters to support the ambiguity fixing capability on the user PPP end.

Availability of data and materials

The observation data used in this paper is available upon requests subject to related data policy.


  • Averin, S. V., Dvorkin, V. V., & Karutin, S. N. (2007). Russian system for differential correction and monitoring: A concept, present status, and prospects for future. In Proceedings of the 20th international technical meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2007), Fort Worth, TX (pp. 3037–3044) (2007).

  • Chang, Z., Hu, X., Guo, R., Cao, Y., Wu, X., Wang, A., & Dong, E. (2015). Comparison between CNMC and hatch filter & its precision analysis for BDS precise relative positioning. Scientia Sinica Physica, Mechanica & Astronomica, 45(7), 079508. in Chinese.

    Article  Google Scholar 

  • Chen, J., Wang, A., Zhang, Y., Zhou, J., & Yu, C. (2020a). BDS satellite-based augmentation service correction parameters and performance assessment. Remote Sensing, 12(5), 766.

    Article  Google Scholar 

  • Chen, J., Wang, J., Wang, A., Ding, J., & Zhang, Y. (2020b). SHAtropE—A regional gridded ZTD model for China and the surrounding areas. Remote Sensing, 12(1), 165.

    Article  Google Scholar 

  • Chen, J., Yang, S., Zhou, J., Cao, Y., Zhang, Y., Gong, X., & Wang, J. (2017). A pseudo-range and phase combined SBAS differential correction model. Acta Geodaetica Et Cartographica Sinica, 46(5), 537–546. in Chinese.

    Google Scholar 

  • Chen, J., Zhang, Y., Zhou, J., Yang, S., Hu, Y., & Chen, Q. (2018). Zone correction: A SBAS differential correction model for BDS decimeter-level positioning. Acta Geodaetica Et Cartographica Sinica, 47(9), 1161–1170. (in Chinese).

    Google Scholar 

  • CSNO. (2012). BeiDou navigation satellite system signal in space interface control document-open service signal B1I (version 1.0). China Satellite Navigation Office.

  • CSNO. (2020). BeiDou navigation satellite system signal in space interface control document-Precise Point Positioning Service Signal PPP-B2b (Version 1.0). China Satellite Navigation Office.

  • El-Mowafy, A., Cheung, N., & Rubinov, E. (2020). First results of the second generation SBAS in Australian Urban and Suburban Road Environments. Journal of Spatial Science, 65(1), 99–121.

    Article  Google Scholar 

  • Gao, Y., & Shen, X. (2002). A new method of carrier phase based precise point positioning. Journal of the Institute of Navigation, 49(2), 109–116.

    Article  Google Scholar 

  • Gao, Z., Ge, M., Shen, W., Zhang, H., & Niu, X. (2017). Ionospheric and receiver DCB-constrained multi-GNSS single-frequency PPP integrated with MEMS inertial measurements. Journal of Geodesy, 91(11), 1351–1366.

    Article  Google Scholar 

  • Ge, M., Chen, J., Dousa, J., et al. (2012). (2012) A computationally efficient approach for estimating high-rate satellite clock corrections in realtime. GPS Solutions, 16(1), 9–17.

    Article  Google Scholar 

  • Gerard, P., & Luzum, B. (2010). IERS conventions. IERS Technical 2010 Note 36, Verlag des Bundesamts fur Kartographie und Geodasie: Frankfurt am Main, Germany.

  • Heßelbarth, A., & Wanninger, L. (2013). SBAS orbit and satellite clock corrections for precise point positioning. GPS Solutions, 17(4), 465–473.

    Article  Google Scholar 

  • Li, L., Jia, C., Zhao, L., Cheng, J., Liu, J., & Ding, J. (2016). Real-time single frequency precise point positioning using SBAS corrections. Sensors, 16(8), 1261.

    Article  Google Scholar 

  • Nakaitani, K. (2009). MSAS operation (in Japanese). Japan Institute of Navigation, 170, 32–35.

    Google Scholar 

  • Rho, H., & Langley, R. B. (2007). The usefulness of WADGPS satellite orbit and clock corrections for dual frequency PPP. In Proceedings of the 20th international technical meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2007), Fort Worth, TX, USA, 25–28 September 2007.

  • Ventura-Traveset, J., Gauthier, L., Toran, F., Michel, P., Solari, G., Salabert, F., Flament, D., Auroy, J., & Beaugnon, D. (2006). The European EGNOS project: Mission, programme and system. In: J. Ventura-Traveset, & D. Flament (Eds), EGNOS—The European geostationary navigation overlay system: A cornerstone of Galileo. European Space Agency SP-1303 (pp. 3–19).

  • GPS WAAS PS (2008). Global positioning system wide area augmentation system (WAAS) performance standard, 1st edn. Federal Aviation Administration (FAA).

  • Wang, A., Chen, J., Zhang, Y., Meng, L., & Wang, J. (2019). Performance of selected ionospheric models in multi-global navigation satellite system single-frequency positioning over China. Remote Sensing, 11(17), 2070.

    Article  Google Scholar 

  • Wang, B., Zhou, J., Wang, B., Cong, D., & Zhang, H. (2020). Influence of the GEO satellite orbit error fluctuation correction on the BDS WADS zone correction. Satell Navigation, 1, 18.

    Article  Google Scholar 

  • Yang, Y. X., Mao, Y., & Sun, B. J. (2020). Basic performance and future developments of BeiDou global navigation satellite system. Satellite Navigation, 1, 1.

    Article  Google Scholar 

  • Zhang, Y., Chen, J., Yang, S., & Chen, Q. (2017). Initial assessment of BDS zone correction. In China Satellite Navigation Conference (CSNC) 2017 Proceedings: Lecture notes in electrical engineering, Shanghai (Vol. 438, pp 271–282).

  • Zhang, Y., Kubo, N., Chen, J., Wang, H., & Wang, J. (2019). Initial positioning assessment of BDS new satellite and new signal. Remote Sensing, 11(11), 1320.

    Article  Google Scholar 

  • Zhou, J. (2017). BDS SIS performance improvement for legacy PNT and differential service. Keynote presentation at the China Satellite Navigation Conference (CSNC) 2017, Shanghai.

  • Zhou, F., Dong, D., Li, P., Li, X., & Schuh, H. (2019). Influence of stochastic modeling for inter-system biases on multi-GNSS undifferenced and uncombined precise point positioning. GPS Solution, 23(59), 1–13.

    Google Scholar 

  • Zumberge, J., Heflin, M., Jefferson, D., Watkins, M., & Webb, F. (1997). Precise point positioning for the efficient and robust analysis of GPS data from large network. Journal of Geophysical Research, 102(B3), 5005–5017.

    Article  Google Scholar 

Download references


The authors thank the Institute of Geodesy and Geophysics, Chinese Academy of Sciences for the provision of real-time kinematic multi-GNSS observation data.


This research is supported by the Program of Shanghai Academic/Technology Research Leader; National Natural Science Foundation of China (No. 11673050); the Key Program of Special Development funds of Zhangjiang National Innovation Demonstration Zone (Grant No. ZJ2018-ZD-009); National Key R&D Program of China (No. 2018YFB0504300); and the Key R&D Program of Guangdong province (No. 2018B030325001).

Author information

Authors and Affiliations



JC and YZ proposed the idea and drafted the manuscript; CY, AW and ZS performed data validation and modified the manuscript. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Yize Zhang.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chen, J., Zhang, Y., Yu, C. et al. Models and performance of SBAS and PPP of BDS. Satell Navig 3, 4 (2022).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: