Keywords

1 Introduction

The Chinese BeiDou Navigation Satellite System (BDS) has experienced from the demonstration system (BDS-1), the regional system (BDS-2) to the global system (BDS-3), which is the third global navigation satellite system (GNSS) recognized by International Maritime Organization (IMO) [1]. By January 1st 2022, BDS on-orbit satellites contain 15 BDS-2 satellites and 30 BDS-3 satellites [1, 2]. The BDS-2 has provided positioning, navigation, and timing (PNT) services to Asia-Pacific users since December 27 2012, which can transmit B1I (1561.098 MHz), B2I (1207.14 MHz), and B3I (1268.52 MHz) signals [2]. As the new generation global navigation satellite system, BDS-3 satellite payload has been significantly upgraded compared with BDS-2, which can transmit not only the overlapping frequency B1I and B3I with BDS-2, but also B1C (1575.42 MHz), B2a (1176.45 MHz), and B2b (1207.14 MHz) [1]. BDS-3 has officially provided full global operational capability services since July 31, 2020. Figure 1 shows the global distribution of ground trackable BDS satellites numbers. Although BDS-3 have good global service capabilities, the number of observable satellites in some areas, especially in the American, is still lack. The combination of BDS-2 and BDS-3 not only makes up for the lack of services in the Americas, but also further enhances the service capacity in Asia and Europe. Therefore, it is of great significance to develop the BDS-2 and BDS-3 integrated technology.

The precise products include orbit, clock, earth rotation parameters (ERP), biases and so on, which are indispensable in precise point positioning (PPP) applications. Therefore, the BDS-2 and BDS-3 combined precise orbit determination (POD) and precise clock estimation (PCE) is the basis for the development of BDS-2 and BDS-3 integrated technology. Li, et al. [3] has studied the BDS-2 and BDS-3 experimental satellites (BDS-3e) combined POD and PCE with the overlapping frequency (B1I/B3I), and confirmed that the BDS-2 and BDS-3 integrated solution can improve the performance of BDS. Wuhan University GNSS Research Center performed BDS-2 and BDS-3 POD and PCE using the overlapping frequencies (B1I/B3I) and officially provided BDS-3 precise clock and orbit products on March 2, 2019 [4, 5]. In addition, the GeoForschungsZentrum Potsdam (GFZ) and Shanghai Astronomical Observatory (SHAO) have also released the BDS-2 and BDS-3 precise clock and orbit products with the overlapping frequencies [6, 7]. However, the existing literatures rarely discusses the effect of inter-system bias (ISB) between BDS-2 and BDS-3 on POD and PCE.

Since BDS-2 and BDS-3 are two generation navigation satellite systems, there is a difference between BDS-2 and BDS-3 in term of the frequency band, signal modulations and characteristics [8, 9]. Because of the change of signal modulation and the increase of new signals (B1C, B2a and B2b), some GNSS receiver manufacturers processed and received BDS-3 signals by adding new BDS-3 hardware to the BDS-2 receiver, while others by changing the signal processing algorithms, which results in inconsistence between BDS-2 and BDS-3 in hardware units or signal processing algorithms [10, 11]. Therefore, there is an ISB between BDS-2 and BDS-3 on receiver side. In terms of terminal algorithm, Jiao, et al. [12] and Jiao, et al. [10] analyzed the characteristic of ISB and proposed four ISB stochastic models (ignoring ISB and estimating ISB as random walk process/white noise process/random constant) to improve the PPP performances and carrier phase (CP) time and frequency transfer (TFT). Estimating ISB could indeed improve the positioning accuracy and convergence time of BDS-2 and BDS-3 combined PPP [13]. It is important for BDS-2 and BDS-3 integrated technology to proper handle ISB.

Nevertheless, almost all of researches have ignored the effect of ISB on POD and PCE. Only Fu, et al. [14] used BDS-2 and BDS-3 overlapping frequencies observations to perform PCE by estimating ISB as white noise and piece-wise constant and indicated that estimating ISB as piece-wise constant can improve 0.01 ns for the STD of satellite clock. But for BDS-2 and BDS-3 new signals (B1C/B2a) combined process methods were not investigated. Only the server PCE model and the terminal PPP model can be coupled together to achieve better performance in terms of positioning, timing, TFT, and so on. However, few reports focus on the effect of BDS-2 and BDS-3 integrated PCE bias on PPP. Different ISB processing strategies have different bias distributions for PCE and PPP. Hence, a comprehensive analysis is required to clarify the ISB characteristics and analyze their relationship between PCE and PPP.

The objectives of this contributions are to explain the ISB between BDS-2 and BDS-3 for both new and old signals and analyze its impact on PCE and PPP, and illustrate the origin of the ISB and how the ISB in the PCE affects the terminal PPP. We begin with the general observation models. Then the BDS-2 and BDS-3 integrated PCE and PPP models are presented. The origin of ISB illustrated, and its connection between PCE and PPP is analyzed theoretically. We then introduce the validation strategies and the datasets used for validation. Naturally, the experimental analysis about the characteristic of ISB and its impact on PCE and PPP are depicted in the next section. Finally, we conclude the findings and give some recommendations for BDS-2 and BDS-3 integrated processing.

Fig. 1.
figure 1

Global distribution of ground trackable satellites numbers for BDS-2-only, BDS-3-only and BDS (BDS-2/BDS-3).

2 Methods and Theoretical Analysis

This section begins with the general observation models for BDS. Then, the two BDS-2 and BDS-3 integrated PCE and PPP models are developed in detail. Finally, the ISB relationship between PCE and PPP is analysed theoretically.

2.1 General Observation Models

The general BDS observation equation can be written as [15]:

$$ \left\{ \begin{gathered} P_{r,j}^{s} = R_{r}^{s} + c \cdot \left( {\delta t_{r} + b_{j}^{r} + \tilde{b}_{j}^{r} } \right) - c \cdot \left( {\delta t^{s} + b_{j}^{s} + \tilde{b}_{j}^{s} } \right) + g_{w} \cdot \tau_{w} + I_{r,j}^{s} + \varepsilon_{{P_{j} }} \hfill \\ \Phi_{r,j}^{s} = R_{r}^{s} + c \cdot \left( {\delta t_{r} + B_{j}^{r} + \tilde{B}_{j}^{r} } \right) - c \cdot \left( {\delta t^{s} + B_{j}^{s} + \tilde{B}_{j}^{s} } \right) + g_{w} \cdot \tau_{w} - I_{r,j}^{s} + \lambda_{j} \cdot N_{r,j}^{s} + \varepsilon_{{\Phi_{j} }} \hfill \\ \end{gathered} \right. $$
(1)

where r, s and j depict the receiver, satellite, and the frequency band, respectively;\(P\) and \(\Phi\) are the range and phase observations; \(R_{r}^{s}\) is the geometrical range between satellite to receiver; c is the lightspeed; \(\delta t_{r}\) and \(\delta t^{s}\) denote the receiver and satellite clock offsets; \(b_{j}^{r}\) and \(b_{j}^{s}\) represent the receiver and satellite constant time-invariant uncalibrated code delays (UCDs); \(B_{j}^{r}\) and \(B_{j}^{s}\) depict the corresponding constant time-invariant uncalibrated phase delays (UPDs); \(\tilde{b}_{j}^{r}\), \(\tilde{b}_{j}^{s}\), \(\tilde{B}_{j}^{r}\) and \(\tilde{B}_{j}^{s}\) represent time-varying part; \(\tau_{w}\) and \(g_{w}\) depict the zenith wet delay (ZWD) and the corresponding wet mapping function; \(I_{r,j}^{s}\) is the slant ionospheric delay; \(N_{r,j}^{s}\) denote the integer ambiguity with its wavelength \(\lambda_{j}\); \(\varepsilon_{{P_{j} }}\) and \(\varepsilon_{{\Phi_{j} }}\) are the range and phase observation noises containing multipath and unmodeled error.

The undifferenced (UD) ionospheric-free (IF) model is unusually adopted to obtain satellite clock offsets for International GNSS Service (IGS) and International GNSS Monitoring & Assessment System (iGMAS) [15], which can be expressed as:

$$ \left\{ \begin{gathered} P_{{r,IF_{i,j} }}^{s} = R_{r}^{s} + c \cdot \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right) - c \cdot \left( {\delta t_{{}}^{s} + b_{{IF_{i,j} }}^{s} + \tilde{B}_{{IF_{i,j} }}^{s} } \right) + g_{w} \cdot \tau_{w} + \varepsilon_{{P_{{IF_{i,j} }} }} \hfill \\ \Phi_{{r,IF_{i,j} }}^{s} = R_{r}^{s} + c \cdot \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right) - c \cdot \left( {\delta t_{{}}^{s} + b_{{IF_{i,j} }}^{s} + \tilde{B}_{{IF_{i,j} }}^{s} } \right) + g_{w} \cdot \tau_{w} + \lambda_{{IF_{i,j} }} \cdot N_{{r,IF_{i,j} }}^{s} + \varepsilon_{{\Phi_{{IF_{i,j} }} }} \hfill \\ \end{gathered} \right. $$
(2)

The IF combination for observations and hardware delays can be described as:

$$ \left\{ \begin{gathered} \alpha_{i,j} = f_{i}^{2} /\left( {f_{i}^{2} - f_{j}^{2} } \right);\beta_{i,j} = - f_{j}^{2} /\left( {f_{i}^{2} - f_{j}^{2} } \right) \hfill \\ \left( \cdot \right)_{{IF_{i,j} }} = \alpha_{i,j} \cdot \left( \cdot \right)_{i} + \beta_{i,j} \cdot \left( \cdot \right)_{j} \hfill \\ \left( \cdot \right) = P_{r}^{s} ,\Phi_{r}^{s} ,b_{{}}^{r} ,b_{{}}^{s} ,B_{{}}^{r} ,B_{{}}^{s} ,\tilde{b}_{{}}^{r} ,\tilde{b}_{{}}^{s} ,\tilde{B}_{{}}^{r} ,\tilde{B}_{{}}^{s} \hfill \\ \lambda_{IF} \cdot N_{IF} = \left( {b_{{\Phi ,IF_{i,j} }}^{r} - b_{{P,IF_{i,j} }}^{r} } \right) - \left( {B_{{\Phi ,IF_{i,j} }}^{s} - B_{{P,IF_{i,j} }}^{s} } \right) + \alpha_{i,j} \cdot \lambda_{j} \cdot N_{r,j}^{s} + \beta_{i,j} \cdot \lambda_{i} \cdot N_{r,i}^{s} \hfill \\ \end{gathered} \right. $$
(3)

where \(\alpha_{i,j}\) and \(\beta_{i,j}\) are frequency factors; \(f_{i}\) and \(f_{j}\) depict the ith and jth frequency; \(\left( \cdot \right)_{{IF_{i,j} }}\) denotes the dual-frequency IF combination operator; \(P_{{r,IF_{i,j} }}^{s}\), \(\Phi_{{r,IF_{i,j} }}^{s}\), \(b_{{IF_{i,j} }}^{r}\), \(b_{{IF_{i,j} }}^{s}\), \(B_{{IF_{i,j} }}^{r}\), \(B_{{IF_{i,j} }}^{s}\) \(\tilde{b}_{{IF_{i,j} }}^{r}\), \(\tilde{b}_{{IF_{i,j} }}^{s}\), \(\tilde{B}_{{IF_{i,j} }}^{r}\) and \(\tilde{B}_{{IF_{i,j} }}^{s}\) are IF combinations for the corresponding observations and hardware delays, respectively; \(N_{IF}\) denote the float ambiguity; \(\varepsilon_{{P_{{IF_{i,j} }} }}\) and \(\varepsilon_{{\Phi_{{IF_{i,j} }} }}\) are IF observations noises for pseudorange and carrier phase, and \(\varepsilon_{{P_{{IF_{i,j} }} }}\) will absorb \(\tilde{b}_{{IF_{i,j} }}^{r} - \tilde{B}_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{s} - \tilde{b}_{{IF_{i,j} }}^{s}\). Because there is one singularity between receiver and satellite clock offsets, one receiver equipped high-precision atomic clock is selected as reference clock to deal with the singularity, which can be written as:

$$ c \cdot \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right)_{ref} = const $$
(4)

Through the derivation, the actual receiver and satellite clock offsets can be expressed as:

$$ \left\{ \begin{gathered} \delta t_{{IF_{i,j} }}^{r} = \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right)_{ref} \hfill \\ \delta t_{{IF_{i,j} }}^{s} = \left( {\delta t_{{}}^{s} + b_{IF}^{s} + \tilde{B}_{{IF_{i,j} }}^{s} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right)_{ref} \hfill \\ \end{gathered} \right. $$
(5)

2.2 BDS-2 and BDS-3 Integrated PCE Models

There are two types of the BDS-2 and BDS-3 integrated PCE models. The first model is BDS-2 and BDS-3 integrated PCE model with ISB (PCE0), which can be expressed as:

$$ \left. \begin{gathered} \left[ \begin{gathered} P_{{r,IF_{i,j} }}^{s} \hfill \\ \Phi_{{r,IF_{i,j} }}^{s} \hfill \\ clk_{ref} \hfill \\ ISB_{ref} \hfill \\ \end{gathered} \right] = \left[ {\begin{array}{*{20}c} {e_{2n}^{T} \otimes e_{2} \otimes e_{m} } & {e_{k}^{T} \otimes e_{2} \otimes e_{m} } & {e_{n}^{T} \otimes e_{2} \otimes e_{m} } & {N \otimes \left( {f_{i,j}^{T} \cdot \Lambda_{i,j} \otimes {\rm I}_{m} } \right)} \\ {e_{2}^{T} \otimes e_{2} \otimes e_{l} } & {} & {} & {} \\ \end{array} } \right]\left[ \begin{gathered} \delta t_{{r,IF_{i,j} }} \hfill \\ ISB \hfill \\ \delta t_{{IF_{i,j} }}^{s} \hfill \\ ZWD \hfill \\ N_{IF} \hfill \\ \end{gathered} \right] \hfill \\ + \left[ \begin{gathered} \varepsilon_{{P_{{IF_{i,j} }} }} \hfill \\ \varepsilon_{{\Phi_{{IF_{i,j} }} }} \hfill \\ \end{gathered} \right]\left[ {\begin{array}{*{20}c} {f_{i,j}^{T} \cdot \left( {q^{\prime}_{i,j} \otimes c_{P} } \right) \cdot f_{i,j}^{{}} } & {} & {} \\ {} & {f_{i,j}^{T} \cdot \left( {q^{\prime}_{i,j} \otimes c_{\Phi } } \right) \cdot f_{i,j}^{{}} } & {} \\ {} & {} & {Var_{ref} } \\ \end{array} } \right] \otimes Q_{m} \hfill \\ \end{gathered} \right\} $$
(6)

with

$$ \left\{ \begin{gathered} \delta t_{{IF_{i,j} }}^{B} = \left( {\delta t_{{}}^{B} + b_{{IF_{i,j} }}^{B} + \tilde{B}_{{IF_{i,j} }}^{B} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,B} + \tilde{B}_{{IF_{i,j} }}^{r,B} } \right)_{ref} \hfill \\ \delta t_{{IF_{i,j} }}^{C} = \left( {\delta t_{{}}^{C} + b_{{IF_{i,j} }}^{C} + \tilde{B}_{{IF_{i,j} }}^{C} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,C} + \tilde{B}_{{IF_{i,j} }}^{r,C} } \right)_{ref} \hfill \\ \delta t_{{r,IF_{i,j} }} = \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,B} + \tilde{B}_{{IF_{i,j} }}^{r,B} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,B} + \tilde{B}_{{IF_{i,j} }}^{r,B} } \right)_{ref} \hfill \\ ISB = \left( {b_{IF}^{r,C} + \tilde{B}_{IF}^{r,C} - b_{IF}^{r,B} - \tilde{B}_{IF}^{r,B} } \right) - \left( {b_{IF}^{r,C} + \tilde{B}_{IF}^{r,C} - b_{IF}^{r,B} - \tilde{B}_{IF}^{r,B} } \right)_{ref} \hfill \\ \end{gathered} \right. $$
(7)

where B and C denote BDS-2 and BDS-3, respectively; n is the number of stations which can track BDS signals; m represents the number of observations; k depicts the number of the estimation satellites; l is the number of observations at reference station. \(e_{n}\), \(e_{m}\) and \(e_{l}\) are n-row, m-row and l-row vector in which all values are 1; \(N = \left[ {\begin{array}{*{20}c} 0 & 1 \\ \end{array} } \right]^{T}\); \(f_{i,j}^{T} = \left[ {\begin{array}{*{20}c} {\alpha_{i,j} } & {\beta_{i,j} } \\ \end{array} } \right]\); \(\Lambda_{i,j} = diag\left( {\lambda_{i} ,\lambda_{j} } \right)\); \(I_{m}\) denotes the m-dimension identity matrix; \(c_{P}\) and \(c_{\Phi }\) denote the variance factor matrix for pseudorange and carrier phase, respectively; \(clk_{ref}^{{}}\) is the reference clock; \(q^{\prime}_{i,j} = diag\left( {q_{i}^{2} ,q_{j}^{2} } \right)\) in which \(q_{i}\) depict the ratio of the observations; \(Var_{datum}\) is the variance factor matrix for reference clock; \(Q_{m} = diag\left( {\sin^{ - 2} \left( {E_{1} } \right),\sin^{ - 2} \left( {E_{1} } \right), \cdots ,\sin^{ - 2} \left( {E_{m} } \right)} \right)\) depicts the cofactor matrix, where E denote satellite elevation angle; \(\otimes\) is the Kronecker product operation.

The second model is BDS-2 and BDS-3 integrated PCE model without ISB (PCE1), which is widely adopted by IGS and iGMAS ACs, which can be written as:

$$ \left. \begin{gathered} \left[ \begin{gathered} P_{{r,IF_{i,j} }}^{s} \hfill \\ \Phi_{{r,IF_{i,j} }}^{s} \hfill \\ clk_{ref} \hfill \\ \end{gathered} \right] = \left[ {\begin{array}{*{20}c} {e_{n}^{T} \otimes e_{2} \otimes e_{m} } & {e_{k}^{T} \otimes e_{2} \otimes e_{m} } & {e_{n}^{T} \otimes e_{2} \otimes e_{m} } & {N_{2} \otimes \left( {f_{i,j}^{T} \cdot \Lambda_{i,j} \otimes {\rm I}_{m} } \right)} \\ {e_{1}^{T} \otimes e_{2} \otimes e_{l} } & {} & {} & {} \\ \end{array} } \right]\left[ \begin{gathered} \delta t_{{r,IF_{i,j} }} \hfill \\ \delta_{{IF_{i,j} }}^{s} \hfill \\ ZWD \hfill \\ N_{IF} \hfill \\ \end{gathered} \right] \hfill \\ + \left[ \begin{gathered} \varepsilon_{{P_{{IF_{i,j} }} }} \hfill \\ \varepsilon_{{\Phi_{{IF_{i,j} }} }} \hfill \\ \end{gathered} \right]\left[ {\begin{array}{*{20}c} {f_{i,j}^{T} \cdot \left( {q^{\prime}_{i,j} \otimes c_{P} } \right) \cdot f_{i,j}^{{}} } & {} & {} \\ {} & {f_{i,j}^{T} \cdot \left( {q^{\prime}_{i,j} \otimes c_{\Phi } } \right) \cdot f_{i,j}^{{}} } & {} \\ {} & {} & {Var_{ref} } \\ \end{array} } \right] \otimes Q_{m} \hfill \\ \end{gathered} \right\} $$
(8)

with

$$ \left\{ \begin{gathered} \delta t_{{IF_{i,j} }}^{B} = \left( {\delta t_{{}}^{B} + b_{{IF_{i,j} }}^{B} + \tilde{B}_{{IF_{i,j} }}^{B} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right)_{ref} \hfill \\ \delta t_{{IF_{i,j} }}^{C} = \left( {\delta t_{{}}^{C} + b_{{IF_{i,j} }}^{C} + \tilde{B}_{{IF_{i,j} }}^{C} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right)_{ref} \hfill \\ \delta t_{{r,IF_{i,j} }} = \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right)_{ref} \hfill \\ \end{gathered} \right. $$
(9)

The existence of ISB will affect the receiver clock datum and clock offsets estimations. Estimating ISB can clearly separate the receiver clock datum for BDS-2 and BDS-3. As shown in Fig. 2, the receiver clock datum of BDS-2 satellite clock offsets will be attributed to BDS-2, and that of BDS-3 will be attributed to BDS-3. However, ignoring ISB will confuse the receiver datum, the receiver clock datum of BDS-2 and BDS-3 will be attributed to the same BDS virtual datum, which is weighted by BDS-2 and BDS-3. Ignoring ISB will cause the part of ISB to be absorbed by the receiver and satellite clock offsets, which will affect the accuracy of PCE. Certainly, if there is no ISB between BDS-2 and BDS-3, the BDS virtual datum, BDS-2 datum, and BDS-3 datum are the same reference clock datum, and the PCE will not be affected by additional errors.

Fig. 2.
figure 2

The receiver clock datum for BDS-2 and BDS-3.

2.3 BDS-2 and BDS-3 Combined PPP Models

Similar to PCE models, there are two BDS-2 and BDS-3 combined PPP models. The first PPP model with ISB estimation (PPP0) can be written as:

$$ \left. \begin{gathered} \left[ \begin{gathered} P_{{r,IF_{i,j} }}^{s} \hfill \\ \Phi_{{r,IF_{i,j} }}^{s} \hfill \\ \end{gathered} \right] = \left[ {\begin{array}{*{20}c} {e_{2} \otimes {\mathbf{A}}} & {e_{2}^{T} \otimes e_{2} \otimes e_{m} } & {N \otimes \left( {f_{i,j}^{T} \cdot \Lambda_{i,j} \otimes {\rm I}_{m} } \right)} \\ \end{array} } \right]\left[ \begin{gathered} {\mathbf{x}} \hfill \\ \delta t_{{r,IF_{i,j} }} \hfill \\ ISB \hfill \\ N_{IF} \hfill \\ \end{gathered} \right] + \left[ \begin{gathered} \varepsilon_{{P_{{IF_{i,j} }} }} \hfill \\ \varepsilon_{{\Phi_{{IF_{i,j} }} }} \hfill \\ \end{gathered} \right] \hfill \\ \left[ {\begin{array}{*{20}c} {f_{i,j}^{T} \cdot \left( {q^{\prime}_{i,j} \otimes c_{P} } \right) \cdot f_{i,j}^{{}} } & {} \\ {} & {f_{i,j}^{T} \cdot \left( {q^{\prime}_{i,j} \otimes c_{\Phi } } \right) \cdot f_{i,j}^{{}} } \\ \end{array} } \right] \otimes Q_{m} \hfill \\ \end{gathered} \right\} $$
(10)

where x denotes the vector of receiver three-dimensional position increments and ZWD values; A is the corresponding design matrix.

The second PPP model without ISB estimation (PPP1) can be written as:

$$ \left. \begin{gathered} \left[ \begin{gathered} P_{{r,IF_{i,j} }}^{s} \hfill \\ \Phi_{{r,IF_{i,j} }}^{s} \hfill \\ \end{gathered} \right] = \left[ {\begin{array}{*{20}c} {e_{2} \otimes {\mathbf{A}}} & {e_{1}^{T} \otimes e_{2} \otimes e_{m} } & {N \otimes \left( {f_{i,j}^{T} \cdot \Lambda_{i,j} \otimes {\rm I}_{m} } \right)} \\ \end{array} } \right]\left[ \begin{gathered} {\mathbf{x}} \hfill \\ \delta t_{{r,IF_{i,j} }} \hfill \\ N_{IF} \hfill \\ \end{gathered} \right] + \left[ \begin{gathered} \varepsilon_{{P_{{IF_{i,j} }} }} \hfill \\ \varepsilon_{{\Phi_{{IF_{i,j} }} }} \hfill \\ \end{gathered} \right] \hfill \\ \left[ {\begin{array}{*{20}c} {f_{i,j}^{T} \cdot \left( {q^{\prime}_{i,j} \otimes c_{P} } \right) \cdot f_{i,j}^{{}} } & {} \\ {} & {f_{i,j}^{T} \cdot \left( {q^{\prime}_{i,j} \otimes c_{\Phi } } \right) \cdot f_{i,j}^{{}} } \\ \end{array} } \right] \otimes Q_{m} \hfill \\ \end{gathered} \right\} $$
(11)

If the different satellite clocks are adopted by PPP, the corresponding receiver clock offsets and ISB are also different. If the satellite clock offsets obtained from PCE0 is used to perform PPP0 (PCE0PPP0), the receiver clock offsets and ISB can be written as:

$$ \left\{ \begin{gathered} \delta t_{{r,IF_{i,j} }}^{B} = \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,B} + \tilde{B}_{{IF_{i,j} }}^{r,B} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,B} + \tilde{B}_{{IF_{i,j} }}^{r,B} } \right)_{ref} \hfill \\ \delta t_{{r,IF_{i,j} }}^{C} = \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,C} + \tilde{B}_{{IF_{i,j} }}^{r,C} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,C} + \tilde{B}_{{IF_{i,j} }}^{r,C} } \right)_{ref} \hfill \\ ISB = \delta t_{{r,IF_{i,j} }}^{C} - \delta t_{{r,IF_{i,j} }}^{B} = \left( {b_{IF}^{r,C} + \tilde{B}_{IF}^{r,C} - b_{IF}^{r,B} - \tilde{B}_{IF}^{r,B} } \right) - \left( {b_{IF}^{r,C} + \tilde{B}_{IF}^{r,C} - b_{IF}^{r,B} - \tilde{B}_{IF}^{r,B} } \right)_{ref} \hfill \\ \end{gathered} \right. $$
(12)

If the satellite clock offsets obtained from PCE1 is used to perform PPP0 (PCE1PPP0), the receiver clock offsets and ISB can be written as:

$$ \left\{ \begin{gathered} \delta t_{{r,IF_{i,j} }}^{B} = \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,B} + \tilde{B}_{{IF_{i,j} }}^{r,B} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right)_{ref} \hfill \\ \delta t_{{r,IF_{i,j} }}^{C} = \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,C} + \tilde{B}_{{IF_{i,j} }}^{r,C} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right)_{ref} \hfill \\ ISB = \delta t_{{r,IF_{i,j} }}^{C} - \delta t_{{r,IF_{i,j} }}^{B} = b_{IF}^{r,C} + \tilde{B}_{IF}^{r,C} - b_{IF}^{r,B} - \tilde{B}_{IF}^{r,B} \hfill \\ \end{gathered} \right. $$
(13)

If the satellite clock offsets obtained from PCE0 is used to perform PPP1 (PCE0PPP1), the receiver clock offsets can be expressed as:

$$ \left\{ \begin{gathered} \delta t_{{r,IF_{i,j} }}^{B} = \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,B} + \tilde{B}_{{IF_{i,j} }}^{r,B} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,B} + \tilde{B}_{{IF_{i,j} }}^{r,B} } \right)_{ref} \hfill \\ \delta t_{{r,IF_{i,j} }}^{C} = \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,C} + \tilde{B}_{{IF_{i,j} }}^{r,C} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,C} + \tilde{B}_{{IF_{i,j} }}^{r,C} } \right)_{ref} \hfill \\ \end{gathered} \right. $$
(14)

If the satellite clock offsets obtained from PCE1 is used to perform PPP1 (PCE1PPP1), the receiver clock offsets can be expressed as:

$$ \left\{ \begin{gathered} \delta t_{{r,IF_{i,j} }}^{B} = \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,B} + \tilde{B}_{{IF_{i,j} }}^{r,B} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right)_{ref} \hfill \\ \delta t_{{r,IF_{i,j} }}^{C} = \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r,C} + \tilde{B}_{{IF_{i,j} }}^{r,C} } \right) - \left( {\delta t_{r} + b_{{IF_{i,j} }}^{r} + \tilde{B}_{{IF_{i,j} }}^{r} } \right)_{ref} \hfill \\ \end{gathered} \right. $$
(15)

The actual PPP1 estimated receiver clock offsets \(\delta t_{{r,IF_{i,j} }}\) is determined by the weights of BDS-2 and BDS-3. In other words, the value of \(\delta t_{{r,IF_{i,j} }}\) is ranged from \(\delta t_{{r,IF_{i,j} }}^{B}\) to \(\delta t_{{r,IF_{i,j} }}^{C}\). During data processing, if the weight of BDS-2 is greater than BDS-3, \(\delta t_{{r,IF_{i,j} }}\) is closer to BDS-2 receiver clock offsets, while if the weight of BDS-3 is greater than BDS-2, \(\delta t_{{r,IF_{i,j} }}\) is closer to BDS-3 receiver clock offsets.

In addition, the reference clock datums of BDS-2 and BDS-3 satellite clock offsets obtained by PCE1 are the same BDS virtual datum, which can be eliminated in PPP progress. Therefore, the ISB obtained by PPP using PCE1 satellite clocks only contains hardware delay bias of ordinary receiver. However, the reference clock datums of BDS-2 and BDS-3 satellite clocks obtained by PCE0 are difference, they both maintain their own reference clock datum. Hence, the ISB obtained by PPP using PCE0 satellite clocks contains hardware delay bias of reference and ordinary receiver.

3 Datasets and Processing Strategies

Approximately 90 stations are used to get the BDS-2 and BDS-3 satellites clock offsets. The observations collected from IGS MGEX for the period day of year (DOY) from 011 to 015, 2021 are used to perform PCE. The distribution of the selected GNSS stations for PCE can be fined in Fig. 3.

Fig. 3.
figure 3

Distribution of the selected GNSS tracking stations for PCE

The BDS PCE processing strategies are illustrated in Table 1. The B1I/B3I/ B1C/B2a observations are used to obtain precise satellite clock offsets. The GFZ products with the reference frame of IGS14 and time system of GPS time (GPST) are used to fix satellite orbit, and the station coordinates are fixed to IGS SINEX-files coordinates. To eliminate rank deficiency, one receiver equipped high-precision atomic clock is selected as the reference clock to obtain receiver and satellite clock. As for ISB estimation, two ISB schemes, i.e., ignoring ISB and estimating ISB are designed to process ISB. The modified Hopfield model based on Global Pressure and Temperature 3 (GPT3) and Vienna mapping functions 3 (VMF3) model is used to correct the dry tropospheric delay, and the wet tropospheric delay is estimated by setting parameter based on the wet part of VMF3 [16, 17]. The phase center offset (PCO) and phase center variations (PCV) of BDS-2 and BDS-3 are corrected using IGS MGEX antenna file [18]. In the Kalman filter of the PCE processing, the ambiguities are estimated as float constants, the ZWD is estimated as a random walk process, the satellite and receiver clock is estimated as a random walk process and white noises, respectively. The BDS pseudorange and CP observation precision is set to 0.3 and 0.003 m, respectively. GFZ only provides satellite clock offsets calculated by B1I and B3I observations. Therefore, the GFZ clock offsets need to be corrected by differential code bias (DCB) and carrier phase inter-frequency clock bias (IFCB) in order to evaluate our estimated new signals clock offsets and perform new signals PPP. The satellite DCB files are provided by Chinese Academy of Science (CAS) [19]. The satellite carrier phase IFCB is obtained by using epoch-difference IFCB estimation strategy [20].

Table 1. The data processing strategy for BDS-2 and BDS-3 integrated PCE

4 Validation and Results

4.1 The ISB Between BDS-2 and BDS-3

The existence of ISB between BDS-2 and BDS-3 affects the PPP and PCE by confusing the receiver clock datum. To clearly describe the characteristic of ISB, Fig. 4 illustrates the ISB between BDS-2 (B1I/B3I) and BDS-3 (B1I/B3I) and the ISB between BDS-2 (B1I/B3I) and BDS-3 (B1C/B2a). The ISB values between BDS-2 (B1I/B3I) and BDS-3 (B1I/B3I) are ranged from −5 to 10 ns, while the ISB values between BDS-2 (B1I/B3I) and BDS-3 (B1C/B2a) are ranged from −100 to 20 ns. Because there are significantly difference between old and new signals in terms of frequency band, signal modulation, precision and so on [1, 11], the ISB for new signals is significantly larger than ISB for old signals. The ISB contains not only the hardware delay bias of the current station, but also the hardware delay bias of the reference station. Typical stations with different receiver types showed in Fig. 5. Moreover, the ISB reference station is unified to avoid the influence of the different reference station. Form Fig. 5, we can get three key findings. First, ISB is stable for both old and new signals, and the STD are all better than 0.25 ns. The second thing we should notice that the ISB of the receiver from the same manufacturer such as ALIC (SEPT POLARX5)-BRUX (SEPT POLARX5) and the OUS2 (SEPT ASTERX4)-BRUX (SEPT POLARX5) is smaller and closer to 0. Due to the significant difference between old and new signals in frequency band and signal modulation, the ISB for new signals is large.

Fig. 4.
figure 4

Time series of the ISB between BDS-2 and BDS-3 on the DOY 011, 2021.

Fig. 5.
figure 5

Time series of the ISB between BDS-2 and BDS-3 for different receiver types based on the same reference station BRUX on DOY 011, 2021. The receiver type of ALIC, GAMG, OUS2, POTS, HUEG, MAYG, CUT0, MATE and BRUX is SEPT POLARX5, SEPT POLARX5TR, SEPT ASTERX4, JAVAD TRE_3, JAVAD TRE_3 DELTA, TRIMBLE ALLOY, TRIMBLE NETR9, LEICA GR30 and SEPT POLARX5, respectively.

4.2 Assessment of Satellite Clock Offsets

The double-difference (DD) method of selecting one satellite to eliminate the clock datum [22] is used to assess the precision of the estimated satellite clock offsets. BDS-2 pseudorandom noise (PRN) code 10 (C10) and BDS-3 PRN20 (C20) are selected as the reference satellite to assess the estimated clock offsets.

The time series of DD clock offsets for BDS-2-only, BDS-3-only, and BDS-2/BDS-3 integrated PCE using old and new signals are shown in Fig. 6. Due to the existence of ISB, there is obvious stratification between PCE0 and PCE1. As depicted in Fig. 2, ignoring ISB will destroy the receiver clock datum, which will cause these systematic errors to be absorbed by the clock offsets of receiver and satellite, ambiguities, and residuals. Estimating ISB can separate the BDS-2 and BDS-3 receiver clock datum and avoid the confusion. Therefore, there is no significant stratification between PCE0 and BDS-2-only, BDS-3-only solutions.

Theoretically, the precision of clock offsets for BDS-2 and BDS-3 integrated PCE should be better than that of BDS-2-only and BDS-3-only due to the more redundant observation. The STD of clock offsets for PCE0 is indeed better than that of BDS-2-only and BDS-3-only, while the PCE1 is worse than BDS-2-only and BDS-3-only. Because the clock offsets for PCE1 absorbs the redundant systematic errors caused by ISB, the stability of clock offsets is reduced. In addition, we also find that the STD of PCE1 using new signals is worse than that using old signals. As mentioned earlier, the ISB between BDS-2 (B1I/B3I) and BDS-3 (B1C/B2a) is larger than ISB for old signals. The higher ISB values, the satellite clock offsets will absorb more the redundant systematic errors, the precision of clock offsets will be worse.

To illustrate the precision of each BDS satellite clock offsets in detail, Fig. 7 depicts the STD of each satellite clock offsets for BDS-2-only, BDS-3-only and BDS (BDS-2/BDS-3) PCE using old and new signals. From Fig. 7, we can get some key findings. The BDS-2 and BDS-3 integrated PCE can effectively improve the precision of clock offsets. The STD of clock offsets for PCE0 is better than BDS-2-only and BDS-3-only. The STD of BDS-2 clock offsets is basically better than 0.15 ns, and that of BDS-3 is better than 0.08 ns except for C39. The main reason why C39 is slightly worse is that there are few C39 usable stations for PCE as shown in Fig. 8. Since C38 to C46 are new satellites, there are few receivers capable of tracking these satellites currently. This problem will be well solved with the upgrading of the software and hardware versions of the GNSS receiver. Whether for old signals or new signals, the PCE1 significantly reduces the precision of clock offsets. Moreover, the precision of clock offsets for PCE1 using new signals is obvious worse than that using old signals since the ISB between BDS-2 (B1I/B3I) and BDS-3 (B1C/B2a) is larger than ISB using old signals.

Fig. 6.
figure 6

Time series of DD clock error between GFZ rapid clock offsets and the estimated clock offsets for BDS-2-only, BDS-3-only and BDS (BDS-2/BDS-3) on DOY 011, 2021.

Fig. 7.
figure 7

The STD of each satellite clock offsets for BDS-2-only, BDS-3-only and BDS (BDS-2/BDS-3) PCE.

Fig. 8.
figure 8

Number of usable stations for BDS-2 and BDS-3 satellite clock offsets estimations.

To clearly compare the precision of clock offsets obtained by different PCE models and different signals, Fig. 9 shows the average STD of the estimated clock offsets. By comparing old and new signals clock offsets, we can find that the precision of clock offsets using old signals is more optimal than that using new signals due to the few available stations for new signals. Then, the precision of BDS-3 clock offsets is better than that of BDS-2 due to the improvement of signal quality and orbit accuracy for BDS-3 [23]. In addition, PCE0 model can well handle the negative impact of ISB on clock offsets and ensure the accuracy of clock offsets.

Fig. 9.
figure 9

The average STD of the estimated clock offsets for the BDS-2-only, BDS-3-only and BDS (BDS-2/BDS-3) estimation.

4.3 PPP Validation

The PPP experiments will be performed to validate the practicability and reliability of the estimated satellite clock offsets. The 10 GNSS stations (ENAO, HUEG, KRGG, LEIJ, MCHL, POTS, PTGG, SGOC, ULAB, and URUM) excluding satellite clock offsets determination observation networks are selected to perform PPP. In the PPP processing progress, the processing strategy is basically the same as that of PCE. The PPP solutions using GFZ products are also conducted as the reference. To verify the theory correctness of the effect of BDS-2 and BDS-3 integrated PCE bias on PPP analyzed in Eq. 12, 13, 14 and 15, the reference station in PCE progress is used for PPP. For PCE0PPP0 solutions at the reference station, the receiver clock offsets for BDS-2 and BDS-3 should be 0, and the corresponding ISB is 0. About PCE0PPP1 solutions at the reference station, the receiver clock offsets for BDS-2 and BDS-3 should be 0. As mention earlier, the actual estimated receiver clock offsets are between BDS-2 and BDS-3 receiver clock offsets. Therefore, the receiver clock offsets for PCE0PPP1 are 0. Fortunately, the results from Fig. 10 prove this discusses, the receiver clock offsets and ISB for PCE0PPP0 and PCE0PPP1 are around 0. If the satellite clock offsets obtained from PCE1 is used to preform PPP0 at the reference station, the receiver clock offsets for BDS-2 and BDS-3 minus the virtual clock datum is not 0. Therefore, the actual estimated receiver clock offsets and ISB are not 0. Similarly, the actual estimated clock offsets for PCE1PPP1 scheme should not be 0. It is worth mentioning that the receiver clock offsets for PCE1PPP1 using old signals are near 0 in Fig. 10. The most likely reason is that the ISB for BDS-2 and BDS-3 overlapping B1/B3I signals is relatively small. The BDS-2 receiver clock datum, BDS-3 receiver clock datum and BDS virtual receiver clock datum are close. Consequently, the receiver clock offsets for PCE1PPP1 using old signals are close to 0, while the receiver clock offsets of PCE1PPP1 using new signals are not close to 0. From this analysis, we can draw that the PCE0 models more self-consistent and more suitable for BDS-2 and BDS-3 combined PCE.

Fig. 10.
figure 10

Receiver clock offsets of PPP at USUD (left) and BRUX (right) on DOY 011, 2021.

Now pay attention to the effect of different PCE models on PPP performances. Figure 11 depict the positioning error of BDS-2 and BDS-3 combined PPP using old B1I/B3I signals and new B1C/B2a signals at KRGG and PTGG station. Comparing the two sets of results, we can get some key findings. From the perspective of PCE model, estimating ISB can effectively avoid the negative effect of hardware delay bias between BDS-2 and BDS-3 on satellite clock offsets and improve the PPP performances. From the perspective of PPP model, the PPP0 model is obviously better than the traditional PPP1 model. In addition, since the precision of clock offsets for PCE1 using new signals is obvious worse than that using old signals, this feature is obviously reflected in PPP. Figure 12 shows the corresponding receiver clock offsets and ISB at KRGG and PTGG station. From Fig. 12, we can get that the receiver clock offsets calculated by PCE0PPP0, PCE1PPP0, PCE0PPP1 and PCE1PPP1 schemes has obvious stratification due to the existence of ISB. Table 2 shows the statistical results of positioning accuracy. Combined Fig. 11 and Table 2, we can conclude that PCE0PPP0 is the optimal scheme. The PCE0PPP0 scheme can improve the positioning accuracy by 40.4%, 20.0% and 35.4% for old signals compared with GFZPPP0 in the north, east and up components. Because there are few stations that can be used to solve B1C/B2a PCE, the corresponding clock offsets accuracy is poor, the improvement for PCE0PPP0 scheme using B1C/B2a signals is not obvious with respect to GFZPPP0 and GFZPPP1. Through reasonable estimation of ISB, the clock offsets perform slightly better than GFZ in PPP positioning accuracy. According to the comprehensive statistical results, the server adopts PCE0 model and the client adopts PPP0 model, which can effectively improve BDS-2 and BDS-3 combined service performance.

Fig. 11.
figure 11

Positioning errors of BDS-2 and BDS-3 combined PPP using old B1I/B3I signals and new B1C/B2a signals at KRGG (left) and PTGG (right) station in the north, east and up components on DOY 011, 2021.

Fig. 12.
figure 12

Receiver clock offsets and ISB of BDS-2 and BDS-3 combined PPP using old B1I/B3I signals and new B1C/B2a signals at KRGG (left) and PTGG (right) station on DOY 011, 2021.

Table 2. The statistics of positioning accuracy for PCE0PPP0, PCE0PPP1, PCE1PPP0, PCE1PPP1, GFZPPP0 and GFZPPP1 schemes using new and old signals.

Now turn to the convergence time, Fig. 13 and 14 appear the convergence time for six PPP schemes using old and new signals, respectively. PCE0 can improve the convergence time, especially for new B1C/B2a signals. Due to the significant difference between old and new signals in frequency band and signal modulation, the ISB for new signals is large, which seriously reduces the B1C/B2a clock offsets accuracy estimated by PCE1 model. Hence, the PCE1PPP0 and PCE1PPP1 shemes for B1C/B2a are poor in both convergence time and positioning accuracy. From the perspective of PPP model, the PPP0 model is slightly better than the traditional PPP1 model. Adding ISB parameters to the PPP client algorithm can better avoid the negative influence of hardware delay bias on PPP performance. Only when the server and the client can reasonably and uniformly handle the ISB, and the combined service performance of BDS-2 and BDS-3 will be better.

In summary, the PCE0 model is the optimal BDS-2 and BDS-3 integrated satellite clock offsets estimation model for the server, and the PPP0 model is the optimal PPP model for the client. The cooperation between PCE0 and PPP0 can improve the BDS service performance.

Fig. 13.
figure 13

Convergence time of BDS-2 and BDS-3 combined PPP using old B1I/B3I signals at selected stations in the north, east and up components.

Fig. 14.
figure 14

Convergence time of BDS-2 and BDS-3 combined PPP using new B1C/B2a signals at selected stations in the north, east and up components.

5 Conclusion

To improve the BDS global service performance, this contribution focused on the ISB between BDS-2 and BDS-3 for both new and old signals and its impact on PCE and PPP. We presented the BDS-2 and BDS-3 integrated PCE and PPP models with and without ISB estimation, and analyzed the connection between different PCE and PPP models theoretically. Through the analysis and discussion, we can draw the following conclusions.

Because of the inconsistency between BDS-2 and BDS-3 in hardware units and the signal processing algorithms on receiver side, there is an obvious ISB for both old and new signals. The ISB is stable for both old B1I/B3I and new B1C/B2a signals. The ISB between BDS-2 (B1I/B3I) and BDS-3 (B1C/B2a) is larger than the ISB between BDS-2 (B1I/B3I) and BDS-3 (B1I/B3I), due to the obvious difference between old and new signals in frequency band and signal modulation. In addition, during the BDS-2 and BDS-3 integrated PCE using overlapping B1I/B3I signals, selecting the observations of the receiver from the same manufacturer for solution as much as possible can effectively reduce the ISB.

The combination of BDS-2 and BDS-3 indeed improves the precision of satellite clock offsets estimations. The average STD for BDS-2 and BDS-3 clock offsets using old signals is improved by 15.8% and 11.1% compared with BDS-2-only and BDS-3-only estimation, respectively. For new signals, the improvement for BDS-3 clock offsets is 14.6% from 0.081ns to 0.069ns. However, the improper PCE model will reduce the precision of satellite clock offsets estimations. Significantly, whether for new or old signals, the precision of clock offsets for PCE0 model is better than that for PCE1 model. The PCE0 model is more self-consistent and more suitable for BDS-2 and BDS-3 integrated PCE.

The proper procedures for dealing with ISB can effectively avoid the negative effect of ISB on satellite clock offsets and improve the PPP performances. The optimal scheme is PCE0PPP0 in terms of positioning accuracy and convergence time. The PCE0PPP0 scheme can improve the positioning accuracy by 40.4%, 20.0% and 35.4% for old signals compared with GFZPPP0 in the north, east and up components. As for new signals, although the number of available stations for PCE is small, the positioning performance for PCE0PPP0 scheme is basically at the same level as that of GFZPPP0 and GFZPPP1.

Synthesize the analysis and discussion above, the PCE0 and PPP0 are the optimal models for the server and client, respectively. We recommend the optimal PCE0 for BDS-2 and BDS-3 combined satellite clock estimations and the optimal PPP0 for BDS-2 and BDS-3 combined positioning.