1 Introduction

To establish a global navigation satellite system independently, China has been working on the development of BDS since 1990 and enables the operational service of centimeter level relative and standalone positioning throughout the Asia-Pacific region since 2012, which is referred to as BDS-2 (Shi et al. 2012a; Yang et al. 2014). Currently, BDS is under the construction of the global service system as scheduled by the three-step development strategy, and this new generation BDS is simply called BDS-3 (Yang et al. 2018).

The BDS-3 starts its development with a five experimental satellites demonstration system since 2015, including two IGSO satellites, I1-S (C31) and I2-S (C32), and three MEO satellites, M1-S (C33), M2-S (C34) and M3-S (C35) (Xie et al. 2017; Yang et al. 2018). The goal of this demonstration system is to comprehensively test and analyze its new features, e.g., the new types of the navigation signals, the inter-satellite links (ISL), and the uploading injection and downloading reception signal, etc. After the validation of the designed performance, the first two BDS-3 satellites (C19 and C20) were launched on November 5, 2017. With the intention to achieve fully operation by 2020, the deployment of BDS-3 is speed up since then and launched 11 new satellites up to August 25, 2018 (China Satellite Navigation Office 2017). Now, the BDS-3 constellation is consisted of 1 GEO, 2 IGSO and 20 MEO satellites, transmitting new navigation signals, referred to as B1C (1575.42 MHz) and B2a(1176.45 MHz). As a global system is to operate compatibly with other GNSS, these new signals are designed to share the same frequencies and similar modulation method to GPS and Galileo (Xiao et al. 2016).

Along with the deployment of BDS-3, a wide range of valuable literatures have been published. Attributed to the project of International GNSS Monitoring and Assessment Service (iGMAS), there are over 10 stations that are capable for BDS-3 satellite tracking. Though the number of stations is rather limited, Tan et al. (2016) presented the first attempt of precise orbit determination (POD) for the experimental satellites with the old B1, B2 and B3 signals. Xie et al. (2017) presents the POD results with the new navigation signals, and the orbit overlap and the satellite laser ranging (SLR) evaluation both suggested that the POD precision is about 2–6 dm in 3D and 1–2 dm in the radial component. As a great advantage of the new generation BDS, the contribution of the ISL in terms of POD was analyzed and confirmed by Ren et al. (2017) with different data processing strategies. Taking the limited measurements of BDS-3 into consideration, Hu et al. (2018) refined the cycle slip detection and repair strategy in their study to improve the usability of the observations as well as the precision of POD. Besides the frequency compatibility of the new signals, a better performance in terms of measurement noise and anti-multi-path property is also expected. Specifically, the satellite-induced pseudo-range multi-path error that elevation angle related in BDS-2 has been investigated in great details and has been modeled by Wanninger and Beer (2015) for IGSO and MEO and Lou et al. (2016) for GEO, respectively. As indicated by Xie et al. (2017), Zhang et al. (2017b) and Yang et al. (2018), this kind of systematic errors of the BDS-3 signal is obviously reduced to a negligible level. Concerning the new signals, it is stated that the RMS of B1C signal is higher than those of other signals at the same elevation angle. The RMS of the pseudo-range noises of B2a+b is the smallest (Yang et al. 2018). In addition, equipped with the rubidium atomic frequency standard and the passive hydrogen maser frequency standard, Xie et al. (2017) argued that the clock of BDS-3 performs better than that of BDS-2. It should be emphasized that all the above-mentioned studies were mainly focused on the experimental satellites since that only two BDS-3 satellites were available by the end of 2017. For more details on the performance of BDS-3, including the qualities of signals in space, the time synchronization and timing precision, etc., we refer to Yang et al. (2018).

Though the elevation angle-dependent variation of satellite code bias is removed for BDS-3, the constant part still exists in both the receiver and satellite hardware, which is usually referred to as differential code bias (DCB) since its absolute value is actually a nonestimable parameter (Warnant 1997; Schaer and Dach 2010; Montenbruck et al. 2014). Typically, the DCB can be classified into two categories: The first type is the inter-frequency bias, which represents the bias between code observations at two different frequencies, e.g., P1P2 DCB. The second type is the intra-frequency bias, which represents the bias between two code observations at the same frequency, e.g., P1C1 DCB (Leandro et al. 2007; Wang et al. 2016). In this paper, we focus our attention on the inter-frequency DCB. For high-precision GNSS applications, e.g., single-frequency precise point positioning (PPP), ionospheric delay modeling, the effect of DCB should be carefully calibrated. Thus, a number of methods have been proposed for the estimation of GNSS DCB (McCaffrey et al. 2017). Notably the work of IGS Ionosphere Working Group (Iono-WG), in which the GNSS DCB is generated routinely as a by-product of global ionosphere map (GIM), and typically the sphere harmonic function (SHF) is employed for the ionospheric delay modeling to separate the DCB (Schaer 1999). In this case, the precision of DCB estimation mainly depends on the density and distribution of the global GNSS tracking network. Thus, for the BDS satellite DCB solution with a sparse network in the early stage, Li et al. (2012) proposed a new approach, i.e., IGGDCB, in which the ionospheric vertical TEC is modeled by generalized triangular series (GTS) function with adaptive parameter set for each individual station, and the demonstration suggested that the precision of IGGDCB is around 0.1 and 0.2 ns for GPS and BDS, respectively (Li et al. 2012; Shi et al. 2016). Alternatively, Montenbruck et al. (2014) suggested to estimate the multi-GNSS DCB by removing the ionospheric delay with the GIM products, and depending on the number of stations involved, a daily stability of 0.05–0.3 ns has been reported. As the method is rather easy to implement, it has been widely used for code bias analysis since then, given that the high precise ionosphere correction, for instance, GIM is available. In addition, it should be noted that the geometry-free (GF) combination observation is typically enabled in these studies. To access the full capabilities of the multi-GNSS multi-frequency signals, the undifferenced uncombined observation model has drawn increasing interest in the GNSS community (Schönemann et al. 2011; Gu et al. 2015b). In addition, it has also been demonstrated as an efficient way for simultaneous estimation of ionospheric delay and DCB even with low-cost receivers (Gu et al. 2013; Zhang et al. 2017a).

Obviously, the performance of the undifferenced uncombined observation model mainly depends on the capability of the particular ionospheric parameterization method involved. Thus, the DESIGN (deterministic plus stochastic ionosphere model for GNSS) model is developed by Shi et al. (2012a) and further refined by Zhao et al. (2018) for high-precision undifferenced uncombined GNSS data processing, and the PPP results constrained with DESIGN are promising for both single- and dual-frequency observation (Lou et al. 2015; Zhao et al. 2018).

Concerning the characteristics of BDS-3 DCB, especially the DCB for new navigation signals on both side of satellite and receiver, as well as the performance of DCB estimation based on the undifferenced uncombined model with a limited stations, this contribution performs a comprehensive analysis based on 3-month BDS-2 and BDS-3 triple-frequency observations collected with 23 iGMAS. In addition, the GPS triple-frequency DCB solution is also carried out as a reference for the 3 months with 21 IGS stations. This paper is organized as follows: First, some conventions are adopted in Sect. 2. Afterward, the DCB estimation methods are introduced in Sect. 3, including the undifferenced uncombined observation model and GF combination method based. In Sect. 4, the DCB estimation experiments are carried out and analyzed. Finally, the conclusion is drawn in Sect. 5.

2 Notation

In this paper, we adopt the following conventions: Matrices and vectors are denoted in bold form, while scalars are denoted in regular form. The term in its bold form stands for the corresponding vector, e.g., \(\varvec{P}_{\varvec{r}}=\left( \begin{array}{cccc} \widetilde{P}_r^1&\widetilde{P}_r^2&\ldots&\widetilde{P}_r^{n_s}\end{array}\right) ^\mathrm{T}\) and \(\varvec{t}=\left( \begin{array}{cccc}t^1&t^2&\ldots&t^{n_s}\end{array}\right) ^\mathrm{T}\) are the pseudo-range observed minus computed (OMC) vector for receiver r and satellite clock vector for all the \(n_s\) satellites. For more details concerning these vectors, we refer to Sect. 3.1. In addition, a few notations are defined for future reference:

$$\begin{aligned} \varvec{z}_{\varvec{s}}= & {} \left( \begin{array}{cccc} 0&\quad 0&\quad \cdots&\quad 0 \end{array} \right) ^\mathrm{T} \end{aligned}$$
(1)
$$\begin{aligned} \varvec{u}_{\varvec{s}}= & {} \left( \begin{array}{cccc} 1&\quad 1&\quad \cdots&\quad 1 \end{array} \right) ^\mathrm{T} \end{aligned}$$
(2)
$$\begin{aligned} \varvec{Z}_{\varvec{s}}= & {} \left( \begin{array}{ccc} 0 &{}\quad \cdots &{}\quad 0 \\ 0 &{}\quad \ddots &{}\quad 0 \\ 0 &{}\quad \cdots &{}\quad 0 \\ \end{array} \right) \end{aligned}$$
(3)
$$\begin{aligned} \varvec{U}_{\varvec{s}}= & {} \left( \begin{array}{ccc} 1 &{}\quad \cdots &{}\quad 0 \\ 0 &{}\quad \ddots &{}\quad 0 \\ 0 &{}\quad \cdots &{}\quad 1 \\ \end{array} \right) \end{aligned}$$
(4)
$$\begin{aligned} \varvec{J}_{\varvec{ij}}= & {} \left( \begin{array}{ccc} J_{ij}^i&-J_{ij}^j \end{array} \right) = \left( \begin{array}{ccc} \frac{f_i^2}{f_i^2-f_j^2}&\frac{-f_j^2}{f_i^2-f_j^2} \end{array} \right) \end{aligned}$$
(5)

as defined, \(\varvec{z}_{\varvec{s}}\) is a \(s\times 1\) vector with elements of zeros and \(\varvec{u}_{\varvec{s}}\) is a \(s\times 1\) vector with elements of ones, while \(\varvec{Z}_{\varvec{s}}\) is a \(s\times s\) zero matrix and \(\varvec{U}_{\varvec{s}}\) is a \(s\times s\) identity matrix. The dimensions and lengths of such vectors will generally be obvious from context. \(\varvec{J}_{\varvec{ij}}\) is the IF transformation matrix for observation on frequency \(i,j (i\ne j)\), and \(i,j\in (\begin{array}{ccc}1&2&3\end{array})\) as for BDS observation in this study.

3 Methods

The undifferenced uncombined observation of the GNSS pseudo-range and carrier phase is generally expressed as

$$\begin{aligned} \left. \begin{array}{lll} P_{r,f}^s &{} =\rho _r^s+t_r-t^s+\alpha _r^s\cdot T_z+\beta _f \cdot I_{r}^s+b_{r,f}^s &{} +\,\varepsilon _P \\ \varPhi _{r,f}^s&{} =\rho _r^s+t_r-t^s+\alpha _r^s\cdot T_z-\beta _f \cdot I_{r}^s-N_{r,f}^s &{} +\,\varepsilon _\varPhi \end{array} \right\} \end{aligned}$$
(6)

in which \(P_{r,f}^s\), \(\varPhi _{r,f}^s\) are pseudo-range and carrier phase from receiver r to satellite \(s (s=1,\ldots ,n_s)\) on frequency f in length units, respectively. \(\rho \) is the geometric distance, while antenna phase center corrections as well as the phase windup should be applied to P, \(\varPhi \) before \(\rho \) becomes unassociated with the frequency; \(t(_r^s)\) is the receiver and satellite clock error in length units, respectively; \(T_\mathrm{z}\) is the zenith tropospheric delay that can be converted to slant with the mapping function \(\alpha \); I denotes the zenith TEC with the frequency and mapping function \(M^s\)-dependent factor \(\beta _f=\frac{40.3}{f^2 \cdot M^s}\); N is the float ambiguity in length units; \(b_{r,f}^s\) is the frequency-dependent code bias, which can be expressed as

$$\begin{aligned} b_{r,f}^s=b_{r,f}-b_f^s+b_f^s(E)+b^s_{type, f} \end{aligned}$$
(7)

where \(b_{r,f}\) and \(b_f^s\) are the constant code bias that receiver-only dependent and satellite-only dependent, respectively; \(b_f^s(E)\) is the satellite-induced elevation-dependent variation; \(b^s_{type, f}\) depends on specific receiver hardware and tracking implementation of satellite systems as argued by Gong et al. (2018); thus, it is the code bias both receiver and satellite related. For BDS-2, \(b_f^s(E)\) and \(b^s_{type, f}\) of different satellites can be corrected according to Lou et al. (2016) and Gong et al. (2018), respectively. While, for BDS-3, \(b_f^s(E)\) is negligible, and \(b^s_{type, f}\) is ignored in this study since that the number of BDS-3 stations with new signal is too limited for a reliable analysis which requires sufficient number of tracking stations equipped with the same type of receivers. Thus, \(b_{r,f}^s\) is further simplified as

$$\begin{aligned} b_{r,f}^s=b_{r,f}-b_f^s \end{aligned}$$
(8)

3.1 Undifferenced uncombined observation model based on DESIGN

In the code bias estimation based on undifferenced uncombined observation model, the \(\rho _r^s\) is assumed to be known with precise satellite orbit and receiver coordinate, while the IGS final satellite clock product is also applied. Concerning the precise orbit and clock of BDS satellites, especially for the BDS-3, the products of Wuhan University are utilized (ftp://igs.gnsswhu.cn/pub/gnss/products/mgex). And the BDS-2 and BDS-3 are treated as one system by using B1I/B3I measurements for both BDS-2 and BDS-3 satellites. As the precise clock is estimated with B1/B3 IF combination in which the satellite clock and code bias lumped together (Xie et al. 2017), i.e.,

$$\begin{aligned} t^s:=t^s+\varvec{J}_{\varvec{13}}\cdot (\begin{array}{ccc} b_{B1I}^s&b_{B3I}^s \end{array})^\mathrm{T} \end{aligned}$$
(9)

the symbol \(:=\) here means “is replaced by.” Similarly, denote

$$\begin{aligned} t_r:=t_r+\left\{ \begin{array}{ll}b_{r,B1I}, &{}\quad \text{ BDS-2 } \\ b_{r,B1C}, &{}\quad \text{ BDS-3 } \end{array}\right. \end{aligned}$$
(10)

i.e., estimate receiver clock for BDS-2 and BDS-3 separately. Then, by substituting precise satellite clock (9) into Eq. (6) and recall the IF transformation matrix \(\varvec{J}_{\varvec{ij}}\), we have the observation equations

$$\begin{aligned} \left. \begin{array}{lllll} \widetilde{P}_1^s &{} =t_r+\alpha ^s\cdot T_z+\beta _1\cdot I^s&{}+\,\delta \cdot b_{\mathrm{ref}}^s&{}+\,J_{13}^3\cdot b_{13}^s&{}+\,\varepsilon _P \\ \widetilde{P}_2^s &{} =t_r+\alpha ^s\cdot T_z+\beta _2\cdot I^s-b_{r,12}&{}{+}\,\delta \cdot b_{\mathrm{ref}}^s{+} b_{12}^s&{}{+}\,J_{13}^3\cdot b_{13}^s &{}{+}\,\varepsilon _P \\ \widetilde{P}_3^s &{} =t_r+\alpha ^s\cdot T_z+\beta _3\cdot I^s-b_{r,13}&{}+\,\delta \cdot b_{\mathrm{ref}}^s&{}+\,J_{13}^1\cdot b_{13}^s&{}{+}\,\varepsilon _P \\ \widetilde{\varPhi }_1^s&{} =t_r{+}\alpha ^s\cdot T_z-\beta _1\cdot I^s-N_1^s&{}{+}\,\delta \cdot b_{\mathrm{ref}}^s&{}&{}{+}\,\varepsilon _\varPhi \\ \widetilde{\varPhi }_2^s&{} =t_r{+}\alpha ^s\cdot T_z-\beta _2\cdot I^s-N_2^s&{}{+}\,\delta \cdot b_{\mathrm{ref}}^s&{}&{}{+}\,\varepsilon _\varPhi \\ \widetilde{\varPhi }_3^s&{} =t_r{+}\alpha ^s\cdot T_z-\beta _3\cdot I^s-N_3^s&{}{+}\,\delta \cdot b_{\mathrm{ref}}^s&{}&{}{+}\,\varepsilon _\varPhi \end{array} \right\} \end{aligned}$$
(11)

in which \(\widetilde{P}_r^s\) and \(\widetilde{\varPhi }_r^s\) are the OMC for pseudo-range and carrier phase, respectively, i.e., \(\widetilde{P}_r^s=P_r^s-\rho _r^s\) and \(\widetilde{\varPhi }_r^s=\varPhi _r^s-\rho _r^s\) with precise coordinate of satellite and receiver; \(b_{r,ij}=b_{r,i}-b_{r,j}\) and \(b^s_{ij}=b^s_{i}-b^s_{j}\) are the differential code bias (DCB) between frequency i and j for receiver and satellite, respectively; \(b_{\mathrm{ref}}^s\) denotes the satellite clock datum bias for B1I/B3I IF combination and B1C/B3I IF combination for each satellite, i.e., \(b_{\mathrm{ref}}^s=\varvec{J}_{\varvec{13}}\cdot (\begin{array}{ccc} b_{B1I}^s&b_{B3I}^s \end{array})^\mathrm{T}-\varvec{J}_{\varvec{13}}\cdot (\begin{array}{ccc} b_{B1C}^s&b_{B3I}^s \end{array})^\mathrm{T}\), and be careful that the values of \(\varvec{J}_{\varvec{13}}\) differ from each other for B1I/B3I and B1C/B3I; \(\delta \) satisfies

$$\begin{aligned} \delta = \left\{ \begin{array}{llll} 0,&{}\quad \text{ BDS-2 } \\ 1,&{}\quad \text{ BDS-3 } \end{array} \right. \end{aligned}$$
(12)

as presented, since the satellite products used in this study are generated simultaneously with the same signals, i.e., B1I/B3I for both BDS-2 and BDS-3. When applying these products in the BDS-3 data processing with the new signals, special attention should be paid to the clock and DCB parameters, as well as the value of frequencies for different signals.

For the ionosphere delay \(I^s\), we adopt the DESIGN method as suggested in the authors’ previous studies (Shi et al. 2012a; Lou et al. 2015; Zhao et al. 2018)

$$\begin{aligned} I_s=a_0+a_1\hbox {d}L+a_2\hbox {d}L^2+a_3\hbox {d}B+a_4\hbox {d}B^2+r_r^s \end{aligned}$$
(13)

while \(a_0\) is the average value of ionosphere delay over the station; \(a_1\), \(a_2\) and \(a_3\), \(a_4\) are the coefficients of the two second-order polynomials along east–west and south–north direction, respectively; \(r_r^s\) is the residual ionospheric effect for each satellite; \(\hbox {d}L(_r^s), \hbox {d}B(_r^s)\) are the longitude and latitude differences between the ionospheric pierce point (IPP) and the approximate location of station, respectively.

Furthermore, the daily variation of deterministic part is expressed as Fourier series with fixed frequency components \(f_1=1/24\), \(f_2=1/12\), \(f_3=1/8\). Then, we estimate the amplitude, i.e., \(x_0\), \(y_j\), \(z_j\), as daily constant that updated every 24 h

$$\begin{aligned} a_i\left( t\right) = x_0 + \sum \limits _{j=1}^3 \left( y_j \cdot \sin \left( 2\pi tf_j\right) +z_j \cdot \cos \left( 2\pi tf_j\right) \right) \end{aligned}$$
(14)

while the stochastic part is estimated as random walk with the variogram summarized as Eqs. (15)–(18)

$$\begin{aligned} \gamma \left( h\right) = \left\{ \begin{array}{ll} c_s((3/2)\left( h/a_s\right) -(1/2)\left( h/a_s\right) ^3),&{} \quad 0\le h < a_s\\ c_s, &{} \quad h \ge a_s\\ \end{array} \right. \end{aligned}$$
(15)

in which \(a_s\) is the maximum correlation distance, which is about 9000 s (Zhao et al. 2018), and \(c_s\) varies with geomagnetic latitude B as Gaussian function as

$$\begin{aligned} c_s=c_{s,\min }+c_{s,\max } \cdot \hbox {e}^{-||B|-15|^2/128} \end{aligned}$$
(16)

while the variation of ionosphere activity is modeled by \(c_{s,\min }\) and \(c_{s,\max }\) with Epstein function as

$$\begin{aligned} \left\{ \begin{array}{llll} c_{s,\min }&{}=0.6+(7.5-0.6)&{}\cdot \,\,(1/(1+\hbox {e}^x))\\ c_{s,\max }&{}=6.0+(75.0-6.0)&{}\cdot \,\,(1/(1+\hbox {e}^x))\\ \end{array} \right. \end{aligned}$$
(17)

with x dependent on the sunspot number \(s_n\)

$$\begin{aligned} x(s_n)=(s_n-100)/20 \end{aligned}$$
(18)

In addition, as suggested by Shi et al. (2012a), the a priori ionosphere delay correction \(I^s_{\mathrm{corr}}\) retrieved from, e.g., GIM (Global Ionosphere map), can usually be applied as constrains to further improve the solution

$$\begin{aligned} I^s_{\mathrm{corr}}=a_0+a_1\hbox {d}L+a_2\hbox {d}L^2+a_3\hbox {d}B+a_4\hbox {d}B^2+r_r^s+\varepsilon _I\nonumber \\ \end{aligned}$$
(19)

When constrained with DESIGN model, the ionosphere delay can be separated from the code bias parameters as demonstrated by Zhao et al. (2018). However, the receiver clock error and the code bias are still linear dependent, and the following conditions should be introduced (Gu et al. 2015a, b)

$$\begin{aligned} \left. \begin{array}{ll} 0=\sum _{s=1}^{n_s}\,\, b_{12}^s \\ 0=\sum _{s=1}^{n_s} \,\,b_{13}^s \end{array} \right\} \end{aligned}$$
(20)

since that the bias \(b_{12}^s\) and \(b_{13}^s\) of BDS-2 signals, i.e., B1I/B2I/B3I differs from that of BDS-3 signals, i.e., B1C/B2a/B3I, conditions (20) should be applied for BDS-2 and BDS-3 satellites, separately. In addition, similar with the satellite clock estimation, a zero-mean condition should be applied to separate the receiver clock \(t_r\) and the satellite clock datum bias \(b_{\mathrm{ref}}^s\)

$$\begin{aligned} 0=\sum _{s=1}^{n_s} b_{\mathrm{ref}}^s \end{aligned}$$
(21)

3.2 Geometry-free combination model based on GIM

Alternatively, another efficient way for the code bias estimation is based on the GF combination as suggested by Montenbruck et al. (2014), in which the GIM is introduced to remove the ionospheric delay. From the between-frequency difference measurements, we have the GF combination of frequency 1 and frequency 2, as well as the GF combination of frequency 1 and frequency 3 as follows:

$$\begin{aligned} \left. \begin{array}{llll} P_{GF}^{ij, s} &{}=\widetilde{P}_i^s-\widetilde{P}_j^s &{}=(\beta _i-\beta _j)\cdot I_r^s+( b_{r,ij}-b_{ij}^s )\\ \varPhi _{GF}^{ij, s} &{}=\widetilde{\varPhi }_i^s-\widetilde{\varPhi }_j^s &{}=-(\beta _i-\beta _j)\cdot I_r^s-(N_{r,i}^s-N_{r,j}^s) \end{array} \right\} \end{aligned}$$
(22)

in which the superscript \(^{ij}\) represents the frequency.

Note that the satellite ambiguity and code bias remain constant in continuous observation arc, the sum of the satellite ambiguity and code bias can be obtained by moving average method:

$$\begin{aligned} \langle b+N \rangle _{\mathrm{arc}}^s=\frac{\sum _{\mathrm{arc}}(P_{\mathrm{GF}}^{ij, s}+\varPhi _{\mathrm{GF}}^{ij, s} ) }{\mathrm{nArc}} \end{aligned}$$
(23)

in which nArc represents the epoch number of the tracking arc for satellite s. For simplicity, \((b_{r,ij}-b_{ij}^s)\) is denoted as b, while \(-(N_{r,i}^s-N_{r,j}^s)\) is denoted as N. With Eqs. (23) and (22), the slant ionospheric delay together with code bias can be obtained:

$$\begin{aligned} \widetilde{I}_r^s=(\beta _i-\beta _j)\cdot I_r^s+( b_{r,ij}-b_{ij}^s )=\langle b+N \rangle _{\mathrm{arc}}^s-\varPhi _{\mathrm{GF}}^{ij, s}\nonumber \\ \end{aligned}$$
(24)

the zenith ionospheric delay can be eliminated by GIM product. As a result, satellite code bias, together with receiver code bias, can be extracted as:

$$\begin{aligned} b_{r,ij}-b_{ij}^s=\widetilde{I}_r^s-(\beta _i-\beta _j)\cdot I_{r,\mathrm{GIM}}^s \end{aligned}$$
(25)

however, it is noted that \(b_{r,ij}\) and \(b_{ij}^s\) are linearly dependent; thus, a zero-mean condition is introduced as:

$$\begin{aligned} \sum _{s=1}^{n_s} b_{ij}^s=0 \end{aligned}$$
(26)

as we mentioned before, the receiver code bias of BDS-2 and BDS-3 differs from each other. Therefore, two zero-mean conditions should be set for BDS-2 satellites and BDS-3 satellites, respectively.

4 Experimental validation

4.1 Data and strategy

To cope with the increasing demand of high-precision GNSS applications, such as the multi-frequency data processing, real-time applications, the GNSS/INS integrated navigation, as well as the processing of new signals transmitted by BDS-3, we have launched the FUSING (FUSing IN Gnss) project. At present, the FUSING software is capable for the precise orbit determination (POD) of GNSS, high-rate satellite clock estimation, ionosphere and troposphere modeling, satellite DCB estimation, as well as multi-frequency multi-GNSS precise positioning (Shi et al. 2018; Zhao et al. 2018; Yang et al. 2019). To further confirm the above analysis with numerical experiment, we realized both the undifferenced uncombined method with DESIGN model and the geometry-free combination method for DCB estimation, based on FUSING platform.

Fig. 1
figure 1

Distribution of stations in the experimental validation. The 23 iGMAS stations capable for BDS-3 tracking are plotted in black, while the 21 IGS stations capable for GPS tracking are plotted in red

Table 1 Details of the DCB estimation strategy
Table 2 Details of the signals involved in DCB estimation
Table 3 Types of receivers

DCB on both BDS-2, BDS-3 and GPS are generated with different methods. Observations of 23 iGMAS stations during DOY 001 to 090, 2019 with an interval of 30 s are collected for BDS-2 and BDS-3 DCB estimation. From our experience, the data quality of these 23 iGMAS stations is not as stable as that of IGS stations. Thus, observations from 21 IGS stations of the same period are collected to assess the performance of the undifferenced uncombined method in GPS DCB solution. The distribution of the stations is presented in Fig. 1. The details of data and the data processing strategy are stated in Table 1. Note that for the ionospheric pseudo-observation of DESIGN, i.e., Eq. (19), the GIM products are utilized as pseudo-range for our method, while, for GF combination, the GIM products of CODE are utilized to correct the ionosphere delay directly. In addition, the signal and receiver details are presented in Tables 2 and 3, respectively. As we can see, all the receivers of the iGMAS network used in this study are produced by Chinese manufacturers.

4.2 BDS DCB estimation

Since the variation of BDS-2 satellite DCB is eliminated with the model suggested by Lou et al. (2016), and the variation of BDS-3 satellite DCB is negligible as argued by Yang et al. (2018), the satellite DCB is estimated as daily constant in this study. The DCB estimation performance is evaluated by STD for each satellite over the experimental period. Then, the averaged STD of BDS-2, for instance, is derived by taking the mean value of STD for all the BDS-2 satellites. The statistics of the BDS satellite DCB estimation for the two strategies are shown in Fig. 2. Note that the STD was shown as the error bar with its value magnified ten times, i.e., in unit of 0.1 ns.

Fig. 2
figure 2

BDS satellite DCB solution based on the undifferenced uncombined observation model and GF combination model in black and red, respectively. In the upper part shows the B1B2 DCB results, and the B1B3 DCB results are shown in the bottom part. Besides, BDS-2 satellites are arranged in the left part, while BDS-3 satellites are arranged in the right part with background painted gray. The STD was shown as the error bar with its value magnified ten times, i.e., in unit of 0.1 ns. The MEO satellites of BDS-2 are highlighted in red in the x-axis label

Over all, the averaged STD of BDS B1B2 DCB is 0.27 ns and 0.29 ns for undifferenced uncombined and GF combination solution, respectively, as presented in Fig. 2, while for BDS B1B3 DCB, the averaged STD is 0.17 ns and 0.16 ns for undifferenced uncombined model and GF combination model, respectively. A detailed analysis suggested that the undifferenced uncombined model outperforms the GF combination model in the BDS-2 DCB solution by an improvement of about \(28.1\%\). Concerning the BDS-3 DCB solution, however, the GF combination model has a better precision by a factor of about \(13.5\%\). This is reasonable since that the DCB solution based on the undifferenced uncombined model relies on the precision of satellite orbit and clock products. Unfortunately, the BDS-3 products have a limited precision due to its imperfect models and insufficient number of tracking stations in its current state. Similarly, the most significant improvement in the BDS-2 DCB estimation can be found for the MEO satellites, i.e., C11, C12, C14, the orbit and clock of which are typically better determined than the GEO and IGSO satellites. By the comparison between the results on different frequencies, it is illustrated that the B1B3 DCB generally outperforms that of B1B2 for both the undifferenced uncombined solution and the GF combination solution. This is not surprising since that the signal quality on B3 is better than that of B2.

Figure 3 further presents the series of BDS DCB over DOY 001 to DOY 090, 2019 with the undifferenced uncombined solution in black and the GF combination solution in red. It is noted that for some satellites there is no DCB generated since that the satellite is failed to be tracked by all the 23 stations.

Fig. 3
figure 3

Series of BDS DCB over DOY 001 to DOY 090, 2019 with the undifferenced uncombined solution in black and the GF combination solution in red

Table 4 Statistics of receiver DCB for BDS-2 B1B2 (ns)
Table 5 Statistics of receiver DCB for BDS-2 B1B3 (ns)
Table 6 Statistics of receiver DCB for BDS-3 (ns)

Apart from satellite DCB, the results of receiver DCB are also presented in Tables 4, 5 and 6 for BDS-2 B1B2, BDS-2 B1B3, BDS-3 B1B2 and BDS-3 B1B3, respectively. It is found that the UNICORE stations, i.e., BYNS, CNYR, KUN1 and SHA1, cannot track the new signals of BDS-3, while the other receivers cannot track B1I/B2I signals of BDS-2, and all these iGMAS stations are capable for BDS-2 B1I/B3I signal tracking. Unlike the satellite BDS-2 DCB solutions, the receiver DCB solutions with different methods have the consistent precision with an averaged STD of about 0.8ns and 0.47ns for B1B2 and B1B3, respectively. Actually, the result is not surprising since that though the MEO satellite performs better with the undifferenced uncombined solution, the result of GEO and IGSO is roughly the same for both solutions as presented in Fig. 2. Concerning the receiver BDS-3 DCB solution in Fig. 6, we find that the precision can be improved from 0.56ns to 0.46ns and from 0.42 to 0.37 ns for B1B2 and B1B3, respectively, by the GF combination solution. The comparison between B1B2 and B1B3 receiver DCB of BDS-3 again confirms that the B3I signal performs better than B2a. In addition, the satellite DCB performs much more stable than that of receiver no matter which method or which signal was involved.

4.3 GPS DCB estimation

Taking the imperfect BDS-3 satellite orbit and clock products, as well as the poor quality of BDS-3 measurements into consideration, we carried out the GPS satellite DCB estimation in this section to further confirm that with the high-precision satellite products, the undifferenced uncombined model outperforms the traditional GF combination in DCB estimation.

The results of DCB estimates over DOY 001 to DOY 090, 2019 for each GPS satellites are plotted in Fig. 4 for different methods. We can find that compared with the GF combination DCB solution, the averaged STD over the experimental period improves from 0.088 to 0.061 ns for P1P2 DCB and 0.119–0.090 ns for P1P5 DCB, respectively, when using the undifferenced uncombined model.

Fig. 4
figure 4

GPS satellite DCB solution based on the undifferenced uncombined observation model and GF combination model in black and red, respectively. In the upper part shows the P1P2 DCB results, and the P1P5 DCB results are shown in the bottom part. The STD was shown as the error bar with its value magnified ten times, i.e., in unit of 0.1 ns

The GPS receiver DCB statistics are further plotted in Tables 7 and 8 for P1P2 and P1P5, respectively. Note that the stations equipped with the LEICA receivers, i.e., KRGG, MYVA, THTG, and the stations equipped with the SEPT receivers, i.e., AREG, HARB, KOUG, NRMG, cannot track the C5X signals that analyzed in this study. Over all, the averaged STD for undifferenced uncombined DCB combination solution performs slightly better than that of GF combination DCB solution. It should be emphasized that in the calculation of the averaged STD over different stations, the stations REUN, THTG and ULAB are not included since the receiver code bias of these stations exhibits remarkable variability during the experimental period as illustrated in Fig. 5. For example, there are jumps around DOY 063, 2019 for the station REUN on P1P2 and P1P5, and the station THTG on P1P2, while a significant fluctuation is also observed for the station ULAB on P1P2 and P1P5. The study of Zhang et al. (2016) also pointed out that code bias of some receiver may exhibit instability due to the hardware configuration and the environment and thus should be given special attention.

Table 7 Statistics of receiver DCB for GPS P1P2 (ns)
Table 8 Statistics of receiver DCB for GPS P1P5 (ns)
Fig. 5
figure 5

GPS receiver DCB of P1P2 and P1P5 for stations REUN, THTG and ULAB. In the upper part shows the DCB solution based on undifferenced uncombined observation model, and the DCB solution based on GF combination model is shown in the bottom part

4.4 Comparison with the MGEX DCB product

In the above discussion, the performance of DCB for BDS and GPS is mainly assessed in terms of daily stability, i.e., STD, for different satellite. To get a more comprehensive analysis, the German Space Operations Center (DLR/GSOC) DCB products (ftp://cddis.gsfc.nasa.gov/pub/gps/products/mgex/dcb/2019/) for the experimental period is downloaded and used as reference in the following analysis.

Before the evaluation, it should be noted that there are no DCB products available for the new BDS-3 signals up to now. Thus, only the DCB for BDS-2 and GPS is analyzed. In addition, though DLR does not provide the C1WC2W and C1WC5X DCB products directly, it provides the daily C1CC1W, C1CC2W, C1CC5X products. Then the reference value of C1WC2W and C1WC5X DCB can be derived from \(b_{C1WC2W}=b_{C1CC2W}-b_{C1CC1W}\) and \(b_{C1WC5X}=b_{C1CC5X}-b_{C1CC1W}\), respectively. However, the DCBs \(b_{C1WC2W}\) and \(b_{C1WC5X}\) derived in this way no longer satisfy the constrains of Eq. (20) due to different number of satellites involved. Thus, there is a constant bias between DLR DCB and ours for all the satellites, which is further removed in the following statistics.

Fig. 6
figure 6

DCB residual distribution with respect to the DLR products for BDS-2 B1B2 (left panel) and BDS-2 B1B3 (right panel). The solution based on undifferenced uncombined model and GF combination model is denoted in black and red, respectively

Fig. 7
figure 7

DCB residual distribution with respect to the DLR products for GPS P1P2 (left panel) and GPS P1P5 (right panel). The solution based on undifferenced uncombined model and GF combination model is denoted in black and red, respectively

By the comparison between the DLR DCB and ours day by day for each satellite each product, the corresponding residual distribution on different frequencies is plotted in Figs. 6 and 7 for BDS-2 and GPS, respectively. As illustrated in Fig. 6, the undifferenced uncombined solution has a better accuracy by an improvement of \(23.8\%\) and \(41.3\%\) for BDS-2 B1B2 and BDS-2 B1B3, respectively. The improvement is mainly attributed to the advantage of undifferenced uncombined model in DCB solution with high-accuracy MEO satellite orbit and clock products as discussed in Sect. 4.2. Concerning the GPS results in Fig. 7, the RMS decreased from 0.23 to 0.17 ns for GPS P1P2 by using the undifferenced uncombined model, which is consistent with result of Fig. 4. As presented in right panel of Fig. 7, however, the GF combination has better consistency with DLR products and the residual for C1WC5X performs abnormal since that the distribution is far from the normal distribution. The reason may lie in the fact that the C1WC5X stations are rather limited compared with that of C1WC2W for GPS. Among these stations, two stations suffer from exhibiting remarkable variability as shown in Fig. 5.

5 Conclusion

Concerning the estimation of DCB for the new BDS-3 signals with a limited number of stations, this contribution proposed a new method by utilizing the undifferenced uncombined observation with the ionospheric delay constrained by DESIGN. The experiments are based on the observations collected from 23 iGMAS stations for DOY 001-090, 2019. As a comparison, the GF combination method in which the ionospheric delay is removed by the GIM products is also implemented for DCB estimation. Moreover, the GPS triple-frequency observations from 21 IGS stations of this period are also collected for DCB estimation as a reference.

The DCB of BDS-2 and BDS-3 on both satellites and receivers is estimated. The daily repeatability is utilized as the statistics for the evaluation. Concerning the performance of DCB estimates based on our new method, the STD is 0.205 ns and 0.132 ns for BDS-2 satellite DCB on B1IB2I and B1IB3I, respectively, while the STD is 0.331 ns and 0.204 ns for BDS-3 satellite DCB on B1CB2a and B1CB3I, respectively. Compared with the DCB solution with the GF combination method, the new method performs better in BDS-2 DCB solution by a factor of about \(28.1\%\). A detailed analysis suggested that the improvement is mainly attributed to the high accuracy of BDS-2 MEO satellite orbit and clock products. For the same reason, the BDS-2 DCB outperforms that of BDS-3 significantly with the undifferenced uncombined solution since the precision of BDS-3 satellite ephemeris is rather limited due to imperfect models and insufficient number of tracking stations. In addition, regarding to the DLR DCB products, it is confirmed that our new method gives a better accuracy by an improvement of about \(23.8\%\) and \(41.3\%\) for BDS-2 B1IB2I and BDS-2 B1IB3I, respectively. Concerning the receiver BDS-2 DCB, the solutions with different methods have the consistent precision with an averaged STD of about 0.8 ns and 0.47 ns for B1IB2I and B1IB3I, respectively, while for receiver BDS-3 DCB, by using the GF combination performs better, and the precision can be improved from 0.56 to 0.46 ns and from 0.42 to 0.37 ns for B1CB2a and B1CB3I, respectively.

To avoid the effects of limited accuracy of ephemeris for BDS, the efficiency of DCB solution based on undifferenced uncombined solution is further assessed with 21 IGS GPS stations. By using the undifferenced uncombined solution, rather than the GF combination, the STD for daily repeatability improves from 0.088 to 0.061 ns and 0.119 to 0.090 ns for satellite on C1WC2W and C1WC5X, respectively. The statistics further confirms that the undifferenced uncombined model performs better in terms of precision when high-accuracy satellite orbit and clock products are applied.

Finally, as mentioned above, due to the limited BDS-3 observations and limited stations capable for BDS-3 tracking, this contribution is still an initial study of BDS-3 DCB estimation. Meanwhile, efforts should be made to improve the BDS-3-related models as well as BDS-3 precise products. With the development of the BDS-3 constellation as well as the tracking networks, it is expected that a more comprehensive and stable result will be achieved in BDS-3 DCB estimation, which will definitely benefit high-precision GNSS applications based on BDS-3.