1 Introduction

Integer ambiguity resolution (AR) is critical to high-precision applications using GNSS carrier-phase data. Correct AR will typically improve the positioning accuracy from decimeter to centimeter level, especially for the east component in kinematic scenarios. AR also signifies a successful initialization of GNSS real-time positioning, and thus rapid or even instantaneous AR is highly appreciated in commercial and time-critical applications. AR is most studied on double-difference observations which are free from nuisance unknowns, such as clock errors and hardware delays. GLONASS satellites transmit FDMA (Frequency Division Multiple Access) signals on both L1 and L2 frequency bands. This means that forming double-difference ambiguities for GLONASS is not as straightforward as that for GPS since carrier-phase signals from two GLONASS satellites observed at a station will not have identical wavelengths. A classic approach to circumvent this difficulty is to formulate a single-difference ambiguity along with the desired double-difference counterpart (e.g., Leick 1998; Wang 2000). This single-difference ambiguity can be approximated by introducing pseudorange data, and given its minimal wavelength of less than a few millimeters, the error induced by pseudorange noise will negligibly contaminate the double-difference ambiguity (Al-Shaery et al. 2013). This approach and similar alternatives have turned out to be effective in resolving GLONASS ambiguities involving homogeneous stations (e.g., Dai 2000; Leick 1998; Wang 2000). Throughout this study, we define a “station” as an integral ensemble of a receiver, an antenna, firmware, etc.

Nevertheless, if inhomogeneous stations are used instead, a further correction for the inter-frequency biases within GLONASS carrier-phase data (i.e., IFPBs) has to be applied before retaining an integer ambiguity (Takac 2009). IFPBs are associated with receivers and denote biases between carrier-phase data from satellites employing different frequency channels. It has been observed and confirmed that normally IFPBs can be precisely quantified as a linear function of GLONASS channel numbers (e.g., Pratt et al. 1998; Wanninger 2012). This favorable property implies that only IFPBs between adjacent frequency channels need to be tabulated as a priori corrections for GLONASS users. Hence, throughout the remainder of this study, “IFPBs” indicates “IFPBs between adjacent frequency channels” for brevity. In addition, Banville et al. (2013) proposed a method to avoid IFPBs by choosing two reference satellites with adjacent channel numbers to form resolvable double-difference ambiguities, whose implementation is, however, not as straightforward as the IFPB model.

From the point of view of GNSS receiver manufacturers, Sleewaegen et al. (2012) unveiled that IFPBs are in essence the outcome of differential code-phase biases (DCPBs). DCPBs are defined with respect to receivers as biases between pseudorange and carrier-phase measurements, which has been introduced into RINEX (Receiver Independent Exchange Format) 3.03 (IGS and RTCM 2015 header label “GLONASS COD/PHS/BIS”). They can be divided into two parts, namely the hardware and the DSP (digital signal processing) induced biases. Though DCPBs expose the origin of IFPBs, the IFPB model devoted to correcting GLONASS carrier-phase data has already been widely accepted and seemed to work effectively (e.g., Al-Shaery et al. 2013; Geng and Bock 2016; Liu et al. 2016; Tian et al. 2015; Wanninger 2012). However, it is still unclear whether the IFPB model is perfectly equivalent to, or if not identical, then how divergent from the DCPB model in correcting GLONASS ambiguities. In the following, both DCPB and IFPB models will be mentioned and reiterated though we intend to focus on DCPBs, as on the contrary it is IFPBs that are more discussed in other literatures.

Moreover, it is usually considered or acquiesced in that IFPBs are identical or quite similar on L1 and L2 data or among homogeneous receivers, and therefore a single IFPB per receiver type is sufficient for GLONASS AR. Sleewaegen et al. (2012) pointed out that the DSP induced DCPBs are dominant and should be the same on L1 and L2 data or among homogeneous receivers (Defraigne et al. 2015), whereas the other portion, i.e., the hardware induced DCPBs, albeit specific to receivers, antennas, etc. are so minimal that GLONASS AR can hardly be prevented or compromised. This conception or similar arguments seem to be agreed on within the IGS (International GNSS Service) community, as it has been tentatively proposed that DCPBs should be produced with respect to receiver types in the imminent IGS Bias-SINEX (solution independent exchange format) file (e.g., Schaer 2014, pp. 19–21; Schaer 2016, pp. 13). However, a frequently observed phenomenon is that IFPBs can differ by up to several millimeters among the same types of receivers or between L1 and L2 measurements (Wanninger and Wallstab-Freitag 2007; Wanninger 2012). We think that to determine whether one DCPB per receiver type suffices for GLONASS AR, which bears on IGS strategies in computing and releasing DCPB products, the magnitude of hardware induced DCPBs should be quantified first, and then it should be inspected how they contaminate ambiguity parameters and affect their integer-cycle resolution.

Furthermore, to determine whether and how DCPBs vary with receivers (or stations), observables, temperature, etc. also relates to the uncertainty estimates of DCPBs. The repeatability statistic can be a good candidate to quantify the precision of DCPBs. For example, Wanninger (2012) processed baselines of up to 750 km involving about 133 stations, and achieved IFPB repeatabilities of better than 1.0 mm within an observation period of 14 days. However, we should be cautious of this statistic as it tends to be biased if any secular or periodic signals are not removed. Zero and ultra-short baselines are able to deliver the most accurate IFPB estimates because atmospheric delays can be near completely eliminated (e.g., Al-Shaery et al. 2013; Wanninger and Wallstab-Freitag 2007). Unfortunately, in any GNSS network solutions, it is impossible to have each receiver collocated with another. Instead, we have to rely on median and long baselines, and use ionosphere-free combination observables to compute IFPBs. IFPBs can be estimated and ultimately refined once GLONASS AR is accomplished (Wanninger 2012), but we note that to achieve this goal, a priori IFPBs at first have to be sufficiently accurate to ensure a relatively high fixing rate of ambiguities. Since the repeatability statistic is only an intrinsic measure of the precision, we are actually unaware of the accuracy of IFPBs or DCPBs produced in a GNSS network solution.

In this study, we aim at reviewing the widely recognized concept of IFPBs and investigating the aforementioned issues to rectify some misconceptions preoccupying the GNSS community. We will pay more attention to the hardware induced DCPBs which are thought to be less of a factor, but are responsible to the station and observable specific features of DCPBs, rather than the DSP induced counterparts. This paper is organized as follows. We will first provide a complete mathematical description of how IFPBs relate to DCPBs. Then the difference between IFPBs and DCPBs is discussed and quantified theoretically. Next, it will be confirmed in theory that DCPBs on GLONASS L1 and L2 data are not identical, and their discrepancy cannot be presumed negligible or harmless to any GLONASS AR as regarded popularly. Finally, we try to assess the accuracy of DCPB estimates derived from a network solution consisting of about 200 stations across Europe over seven months, and point out that one DCPB per receiver type is risky to efficiently resolving short-wavelength ambiguities, especially the ionosphere-free ones with a wavelength of about 5.3 cm (Banville 2016; Liu et al. 2016). Suggestions will be summarized before concluding this study.

2 Differential code-phase biases (DCPBs)

GLONASS observation equations on frequency \(g\) for short baseline processing can be preferably and generally written in the form of single differencing between two stations with respect to a satellite \(i\) (Wanninger 2012), such that

$$\begin{aligned} \left\{ \begin{array}{l} \Delta P_g^i=\Delta \rho ^i+c\Delta t_\mathrm {P}+c\Delta b_{\mathrm {P},g}^i \\ \Delta L_g^i=\Delta \rho ^i+c\Delta t_\mathrm {L}+c\Delta b_{\mathrm {L},g}^i+\lambda _q^i\Delta N_q^i \end{array}\right. \end{aligned}$$
(1)

where \(\Delta \) means single differencing between stations; \(c\) is the speed of light in vacuum; \(\Delta P_g^i\) and \(\Delta L_g^i\) are pseudorange and carrier-phase measurements in the unit of length, respectively; \(g\) and \(q\) can be ‘1’, ‘2’ or ‘w’ which represent L1, L2 or wide-lane (Lw) quantities, respectively; in contrast, if \(g\) is ‘0’ which indicates the ionosphere-free observable (L0), \(q\) can be ‘n’ or ‘en’ indicating narrow-lane or ionosphere-free ambiguities, respectively; note that if \(q\) is ‘n’, a resolved wide-lane ambiguity term has to be deducted from \(\Delta L_g^i\) (e.g., Geng and Bock 2016); \(\Delta \rho ^i\) is the difference of geometric distances between the two stations and satellite \(i\); \(\Delta t_\mathrm {P}\) and \(\Delta t_\mathrm {L}\) denote the single-difference receiver clock errors for pseudorange and carrier-phase measurements, respectively; it is worth noting that DSP induced time delays have been combined with the receiver clock errors, thereby resulting in different clock parameters for pseudorange and carrier-phase (Sleewaegen et al. 2012); on the other hand, \(b_{\mathrm {P},g}^i\) and \(b_{\mathrm {L},g}^i\) represent station hardware induced time delays for pseudorange and carrier-phase, respectively; \(\lambda _q^i\) is the carrier wavelength for satellite \(i\) and \(\Delta N_q^i\) the corresponding single-difference ambiguity; finally, we note that single-difference atmospheric delays are presumed negligible over a short baseline, and remaining error sources such as multipath effects are ignored for brevity.

In a typical data processing based on Eq. 1, we normally do not distinguish between \(\Delta t_\mathrm {P}\) and \(\Delta t_\mathrm {L}\), and cannot estimate the time delays \(b_{\mathrm {P},g}^i\) and \(b_{\mathrm {L},g}^i\) along with the receiver clock and ambiguity parameters due to rank deficiency. As a result, we have

$$\begin{aligned} \left\{ \begin{array}{l} \Delta P_g^i=\Delta \rho ^i+c\Delta t_g \\ \Delta L_g^i=\Delta \rho ^i+c\Delta t_g+c\Delta B_g^i+\lambda _q^i\Delta N_q^i \end{array}\right. \end{aligned}$$
(2)

and

$$\begin{aligned} \left\{ \begin{array}{l} \Delta t_g=\Delta t_\mathrm {P}+\Delta b_{\mathrm {P},g} \\ \Delta B_g^i=\Delta B_\mathrm {DSP}+\Delta B_{\mathrm {HW},g}^i \\ \Delta B_\mathrm {DSP}=\Delta t_\mathrm {L}-\Delta t_\mathrm {P} \\ \Delta B_{\mathrm {HW},g}^i=\Delta b_{\mathrm {L},g}^i-\Delta b_{\mathrm {P},g} \end{array}\right. \end{aligned}$$
(3)

where \(\Delta B_g^i\) denotes the DCPB while \(\Delta B_\mathrm {DSP}\) and \(\Delta B_{\mathrm {HW},g}^i\) are DSP and hardware induced DCPBs, respectively. \(\Delta b_{\mathrm {P},g}\) is an average hardware induced time delays over all involved \(\Delta b_{\mathrm {P},g}^i\) for visible satellites, and the resultant residuals are ignored in the pseudorange of Eq. 2. According to this reformulation, DCPBs cannot be estimated and will thus be absorbed by the ambiguity parameters. We note that \(\Delta B_\mathrm {DSP}\) is time-invariant and independent of observables, but \(\Delta B_{\mathrm {HW},g}^i\) is satellite dependent as in theory the hardware induced time delays on carrier-phase differ across frequency channels. Fortunately, Sleewaegen et al. (2012) found that the differences among all \(c\Delta b_{\mathrm {L},g}^i\) are as minimal as a few hundredths of a millimeter, at least for Septentrio receivers (Sleewaegen, private communication, 2016). Hence, in the following sections we presume that

$$\begin{aligned} \left\{ \begin{array}{l} \Delta b_{\mathrm {L},g}=\Delta b_{\mathrm {L},g}^i \\ \Delta B_{\mathrm {HW},g}=\Delta B_{\mathrm {HW},g}^i \\ \Delta B_g=\Delta B_g^i \end{array}\right. \end{aligned}$$
(4)

except when otherwise noted and we will revisit this issue in Sect. 5.3. Substituting Eq. 4 into Eq. 2, we can compute the bias in cycles caused by DCPBs on the single-difference ambiguity, which is \(\Delta B_g f_q^i\) where \(f_q^i\) denotes the frequency for satellite \(i\). Therefore, the bias on a double-difference ambiguity between satellites \(i\) and \(j\) takes the form of

$$\begin{aligned} \Delta B_g f_q^i-\Delta B_g f_q^j=\Delta B_g\left( h^i-h^j\right) \Delta f_q \end{aligned}$$
(5)

where \(h^i\) and \(h^j\) are the channel numbers of satellites \(i\) and \(j\), respectively; \(\Delta f_q\) denotes the GLONASS frequency spacing on frequency band \(q\), such as

$$\begin{aligned} \left\{ \begin{array}{l} \Delta f_1=0.5625\times 10^6\;\mathrm {Hz} \\ \Delta f_2=0.4375\times 10^6\;\mathrm {Hz} \\ \Delta f_\mathrm {w}=0.1250\times 10^6\;\mathrm {Hz} \\ \Delta f_\mathrm {n}=1.0000\times 10^6\;\mathrm {Hz} \\ \Delta f_\mathrm {en}=2.0000\times 10^6\;\mathrm {Hz} \end{array}\right. \end{aligned}$$
(6)

Equation 5 indicates the bias that needs to be corrected using DCPBs before we can recover the integer property of GLONASS double-difference ambiguities. The accuracy of DCPBs will also affect the estimation accuracy of other parameters. Equation 5 along with Eq. 6 is actually a diagnostic to quantify how the frequency spacing impacts the bias that contaminates ambiguities, e.g., wide-lane ambiguities are least affected, whereas ionosphere-free ambiguities are most.

2.1 How do IFPBs result from DCPBs?

Equation 5 is expressed in the unit of cycles. We can multiply it by the wavelength of the double-difference ambiguity to obtain a bias in the unit of length. Here, we choose \(\lambda _q^0\) where \(h^0=0\) instead of the true wavelength \(\lambda _q^i\). Therefore, we have

$$\begin{aligned} \Delta B_g\left( h^i-h^j\right) \Delta f_q\lambda _q^0=\left( h^i-h^j\right) \dfrac{c\Delta B_g}{2848} \end{aligned}$$
(7)

The right-hand side of Eq. 7 has a compact form and can be apparently interpreted as two individual biases coming from the two involved single-difference ambiguities. To be specific, \(h^i\dfrac{c\Delta B_g}{2848}\) is from the single-difference ambiguity corresponding to satellite \(i\) whereas \(h^j\dfrac{c\Delta B_g}{2848}\) corresponding to satellite \(j\). We hence can rewrite Eq. 2 as

$$\begin{aligned} \left\{ \begin{array}{ll} \Delta P_g^i=&{}\Delta \rho ^i+c\Delta t_g \\ \Delta L_g^i=&{}\Delta \rho ^i+c\Delta t_g+h^i\Delta \beta _g+\lambda _q^i\Delta N_q^i \end{array}\right. \end{aligned}$$
(8)

and

$$\begin{aligned} \Delta \beta _g=\dfrac{c}{2848}\Delta B_g \end{aligned}$$
(9)

where \(\Delta \beta _g\) is the IFPB difference in the unit of length between the two stations. Now Eq. 8 is the classic IFPB-based GLONASS observation model which has been widely presented in most previous publications (e.g., Al-Shaery et al. 2013; Wanninger 2012), while Eq. 9 describes the relationship between IFPBs and DCPBs (c.f. Sleewaegen et al. 2012, Eq. 11).

2.2 Error of the IFPB model

The derivation of Eq. 7 is actually inaccurate. This is because the wavelength of the double-difference ambiguity is \(\lambda _q^i\) rather than \(\lambda _q^0\). However, if we use \(\lambda _q^i\) instead, we will not be able to obtain a common \(\Delta \beta _g\) like Eq. 9 across all involved satellites, and consequently we can no longer provide a single IFPB for a receiver, which negates the classic Eq. 8.

To assess the error of the IFPB model (Eq. 8) in recovering the integer property of double-difference ambiguities, we commence from Eq. 8 to compute the impact of \(\Delta \beta _g\) on a double-difference ambiguity in cycles, that is

$$\begin{aligned}&\dfrac{h^i\Delta \beta _g}{\lambda _q^i}-\dfrac{h^j\Delta \beta _g}{\lambda _q^j} \nonumber \\&\quad =\dfrac{\Delta \beta _g}{c}\left( 2848+h^i+h^j\right) \left( h^i-h^j\right) \Delta f_q \nonumber \\&\quad =\dfrac{2848+h^i+h^j}{2848}\Delta B_g\left( h^i-h^j\right) \Delta f_q \end{aligned}$$
(10)

Comparing Eq. 10 with Eq. 5, we can compute the error of IFPBs in correcting ambiguities

$$\begin{aligned} \xi _\mathrm {IFPB}=\dfrac{h^i+h^j}{2848}\Delta B_g\left( h^i-h^j\right) \Delta f_q \end{aligned}$$
(11)

which accounts for up to 0.456 % of the true bias quantified by Eq. 5. This is quite a small error which might be negligible in most cases, and it explains why the IFPB model, though imperfect, is still sufficient and acceptable in most published results (e.g., Liu et al. 2016; Tian et al. 2015). However, we have to acknowledge that the DCPB model (Eq. 2) and the IFPB model (Eq. 8) are not equivalent in theory.

2.3 DCPBs for different carrier-phase observables

We have presented in Eq. 1 that the carrier-phase measurements can be L1, L2, wide-lane (Lw) and ionosphere-free (L0) combination observables. Hence, it is straightforward to understand that the DCPBs \(\Delta B_g\) depend on observable types. An interesting question will be how the observable specific DCPBs differ from each other and whether we can safely ignore their discrepancies in all cases as usually carried out for IFPBs.

For an ionosphere-free combination observable, its hardware induced time delays can be expressed as

$$\begin{aligned} \left\{ \begin{array}{l} \Delta b_{\mathrm {P},0}^i=a_1\Delta b_{\mathrm {P},1}^i-a_2\Delta b_{\mathrm {P},2}^i \\ \Delta b_{\mathrm {L},0}^i=a_1\Delta b_{\mathrm {L},1}^i-a_2\Delta b_{\mathrm {L},2}^i \end{array}\right. \end{aligned}$$
(12)

where

$$\begin{aligned} \left\{ \begin{array}{l} a_1=\dfrac{{f_1^i}^2}{{f_1^i}^2-{f_2^i}^2}=2.53125\\ a_2=\dfrac{{f_2^i}^2}{{f_1^i}^2-{f_2^i}^2}=1.53125 \end{array}\right. \end{aligned}$$

Regarding the derivations and assumptions relevant to Eqs. 3 and 4, we can similarly achieve that

$$\begin{aligned} \Delta B_{\mathrm {HW},0}=a_1\Delta B_{\mathrm {HW},1}-a_2\Delta B_{\mathrm {HW},2} \end{aligned}$$
(13)

Next, considering the DSP induced DCPB \(\Delta B_{\mathrm {DSP}}\) which is independent of observable types, we can finally obtain the ionosphere-free DCPB which is

$$\begin{aligned} \Delta B_0=a_1\Delta B_1-a_2\Delta B_2 \end{aligned}$$
(14)

In a similar manner, we directly give the wide-lane DCPB

$$\begin{aligned} \Delta B_\mathrm {w}=e_1\Delta B_1-e_2\Delta B_2 \end{aligned}$$
(15)

where

$$\begin{aligned} \left\{ \begin{array}{l} e_1=\dfrac{f_1^i}{f_1^i-f_2^i}=4.5 \\ e_2=\dfrac{f_2^i}{f_1^i-f_2^i}=3.5 \end{array}\right. \end{aligned}$$

Furthermore, if we assume that \(\delta s=\Delta B_1-\Delta B_2\) and take \(\Delta B_1\) as a reference DCPB, then

$$\begin{aligned} \left\{ \begin{array}{l} \Delta B_\mathrm {w}=\Delta B_1+e_2\delta s \\ \Delta B_0=\Delta B_1+a_2\delta s \end{array}\right. \end{aligned}$$
(16)

According to this equation, we can see that the differences of wide-lane and ionosphere-free DCPBs from L1 DCPB are subject to the discrepancy between L1 and L2 DCPBs. The larger the difference between L1 and L2 DCPBs is, the further the wide-lane and ionosphere-free DCPBs depart from the L1 DCPB. This relationship tells that DCPBs corresponding to different observables at a particular station can potentially be quite different, arguing that only one DCPB per individual station or receiver type may not be appropriate as used to be expected. This point will be further discussed in Sects. 5.1 and 5.2.

2.4 Refining and screening DCPBs through a network solution

The DCPB or IFPB estimation is best carried out using data from zero or ultra-short baselines (e.g., Al-Shaery et al. 2013). For baselines spanning several kilometers, on the other hand, Tian et al. (2015) proposed a searching strategy where the IFPB candidate value leading to the best AR performance is picked out as the final estimate. This technique can be applied to even longer baselines and has been used by Liu et al. (2016) on baselines of up to 2000 km, but it is unknown if such IFPB estimates are all reliable or not. Moreover, this baseline-wise IFPB estimation will be suboptimum if more than two stations are involved because it does not take fully into account the constraints on double-difference ambiguities provided by a GLONASS network solution. As a result, we cannot reach the highest precisions of IFPBs. To improve this situation, we propose that baseline-wise IFPB or DCPB estimates should be taken as only a priori values, which can be re-estimated and further refined in a subsequent network solution.

An extra benefit from a network solution of DCPBs is that a cross validation of the a priori estimates can be performed, and outliers can be screened out. In particular, we propose the following strategy to estimate DCPBs in a network solution. According to Eqs. 2 and 5, a double-difference ambiguity estimate takes the form of

$$\begin{aligned} \Delta \hat{N}_q^{i}-\Delta \hat{N}_q^{j}=\Delta N_q^{i}-\Delta N_q^{j}+\Delta B_g\left( h^i-h^j\right) \Delta f_q \end{aligned}$$
(17)

where \(\Delta \hat{N}_q^{i}\) and \(\Delta \hat{N}_q^{j}\) are real-valued single-difference ambiguity estimates which have been biased by DCPBs. It is worth indicating that the integer part of DCPB induced bias \(\Delta B_g\left( h^i-h^j\right) \Delta f_q\) can be absorbed by integer ambiguities \(\Delta N_q^{i}-\Delta N_q^{j}\). This implies that we can only determine part of \(\Delta B_g\) that results in the fractional-cycle bias of \(\Delta B_g\left( h^i-h^j\right) \Delta f_q\). The combination \(\Delta \hat{N}_q^{i}-\Delta \hat{N}_q^{j}\) can be fixed to an integer as long as the DCPB induced bias can be sufficiently mitigated, that is

$$\begin{aligned} \Delta \hat{N}_q^{i}-\Delta \hat{N}_q^{j}-\Delta \hat{B}_g\left( h^i-h^j \right) \Delta f_q=\Delta N_q^{i}-\Delta N_q^{j} \end{aligned}$$
(18)

where \(\Delta \hat{B}_g\) is a priori DCPB. If AR on \(\Delta N_q^{i}-\Delta N_q^{j}\) succeeds, we then achieve a new equation

$$\begin{aligned} \Delta N_q^{i}-\Delta N_q^{j}=\Delta \breve{N}_q^{ij} \end{aligned}$$
(19)

where \(\Delta \breve{N}_q^{ij}\) is an integer value of the resolved ambiguity. Equation 19 can be used as a hard constraint on parameters \(\Delta N_q^{i}\) and \(\Delta N_q^{j}\), and superimposed along with Eq. 2 to the normal equation. We note, in this case, that \(\Delta B_g\) should be reset as unknowns and estimated along with other parameters. To obtain DCPBs specific to each station, rather than differenced values between stations, one or a group of reference stations should be chosen where their mean DCPB is constrained to zero.

In addition, it is worth stressing that successful GLONASS AR between inhomogeneous stations does not necessarily demand the most accurate DCPBs, which can be refined afterwards to the ultimate accuracy once GLONASS AR is accomplished, but seriously biased a priori DCPBs will deteriorate ambiguity fixing rates significantly, and hence compromise the subsequent refinement of DCPBs through a network solution. This point also explains why we need to inspect station and observable specific DCPBs, rather than the rough receiver type specific DCPBs, in Sects. 5.1 and 5.2.

3 Data processing

We collected GPS/GLONASS data spanning 212 days (January 1st–July 31st, 2015) from 200 stations across Europe (Fig. 1). The data sampling rate was 30 s and only data with at least 8 h of dual-frequency measurements were kept and processed. ESA/ESOC (European Space Agency/European Space Operations Centre) final orbit, clock and Earth rotation parameter (ERP) products were fixed in our undifferenced data processing. We estimated daily station coordinates, receiver clocks every epoch as white noise parameters, daily inter-system biases between GPS and GLONASS, zenith troposphere delays every 60 min, and ionosphere-free ambiguities where those of GLONASS have a wavelength of about 5.3 cm (Dai 2000). The cut-off angle was set to 10\(^\circ \) and an elevation-dependent weighting strategy was applied to observations. Pseudorange noise is presumed to be 0.3 m while carrier-phase noise 0.006 cycles.

Fig. 1
figure 1

Station distribution in Europe. The 200 gray solid circles denote stations that are processed in this study. Red solid triangles with site codes aside denote ten ultra-short baselines (Table 1). Blue solid squares and site codes denote stations with poor ambiguity fixing rates (Sect. 5.3)

Table 1 Ten ultra-short baselines and their lengths (c.f. Fig. 1)

Double-difference AR was carried out throughout the study. Only ambiguities with an observation period of longer than 60 min and a mean elevation angle of over 15\(^\circ \) were taken as candidates for integer-cycle resolution. For GPS, baseline lengths were mandated to be less than 1000 km. Wide-lane and narrow-lane ambiguities were resolved with round-off criterions of 0.25 and 0.15 cycles, respectively, through the bias fixing strategy developed by Dong and Bock (1989) and Ge et al. (2006). However, since the 200 stations were equipped with heterogeneous receivers, antennas and firmware versions, it is difficult to resolve GLONASS ambiguities following the GPS AR strategy (Geng and Bock 2016). We here thereby used a similar strategy to that by Banville (2016) and Liu et al. (2016) where the ionosphere-free ambiguities of about 5.3 cm wavelength were fixed to integers directly, rather than decomposed into the wide- and narrow-lane counterparts. We processed all baselines of less than 500 km to try to minimize the adverse impact of GLONASS orbit errors and also to maximize the AR performance across the entire network. The round-off criterion was 0.15 cycles. On average for independent ambiguities, we achieved fixing rates of 99.6 and 98.3 % for GPS and GLONASS, respectively; correspondingly, 98.1 and 92.8 % of baselines have a fixing rate of over 95 %.

In addition to the undifferenced data processing above, we found ten ultra-short baselines (<a few hundred meters) as shown in Fig. 1 and Table 1 to implement single-difference data processing and double-difference AR based on the observation model expressed in Eq. 2 and 17. Raw GLONASS L1 and L2 observations were used. We estimated the baseline vectors, two receiver clock errors on L1 and L2, and relevant ambiguities. Atmospheric delays were deemed negligible, and thus ignored throughout. The AR strategy was also based on the bias fixing approach by Dong and Bock (1989) and Ge et al. (2006) with a round-off criterion of 0.15 cycles. As exhibited in Table 1, the mean fixing rates for all baselines are over 99.8 % which guarantees successful and precise estimations of DCPBs.

IFPBs provided by Wanninger (2012) were converted into DCPBs with Eq. 9. For each baseline, we then commenced from these values and searched for the DCPBs that resulted in the highest fixing rates of all candidate ambiguities. It is these resultant DCPBs that were used as a priori corrections for the network solution and baseline processing above. Once AR was accomplished, we applied the method described in Sect. 2.4 to refine DCPB estimates. In the network solution, we fixed the DCPB for station FFMJ with a JAVAD receiver to zero to obtain undifferenced (pseudo-absolute) DCPBs for all other stations.

4 Result: what accuracy can we achieve for DCPBs?

Zero and ultra-short baseline processing can provide DCPB estimates of the highest precision and accuracy. We hence take the L1/L2 DCPB estimates derived from the ten baselines presented in Table 1 as the truth benchmarks throughout, which are displayed in Fig. 2 as cyan and red curves. Taking baseline WTZR-WTZZ, for example, we can see that the repeatabilities of L1, L2 and L0 DCPBs over days 1–190 reach 0.19, 0.16 and 0.41 ns, respectively. If we presume these statistics as representative DCPB uncertainties (\(1\sigma \)), then in contrast, the L1 and L2 DCPBs for baseline VIS0-VIS6 manifest pronounced and irregular fluctuations during the first 40 days, even though there were no hardware or firmware changes recorded. Such excursions might thus be associated with hardware malfunctions which caused a variation of \(\Delta B_{\mathrm {HW},g}\). They will be further amplified and become more appreciable in the corresponding L0 DCPBs as demonstrated by Eq. 14. Another good example to illustrate this amplification is the statistically significant near-linear tendency of the L0 DCPB time series for baseline SKE0-SKE8 after day 60 which is, however, unclear for either L1 or L2 DCPB time series. This fact also confirms that the repeatability statistic can be biased when used to describe the precision of DCPBs.

Fig. 2
figure 2

DCPBs (ns) on the L1, L2 and ionosphere-free combination observables for the ten ultra-short baselines over the 212 days of 2015. “Ref. L0 DCPBs” are computed using Eq. 14 based on the DCPB estimates from L1/L2 baseline processing. “Est. L0 DCPBs” are directly estimated using undifferenced ionosphere-free observables and ionosphere-free AR in a network solution. “L0 DCPB differences” are the discrepancies between “Ref. L0 DCPBs” and “Est. L0 DCPBs”, and the RMS statistics are plotted beside the site codes. Note that to facilitate inter-panel comparison, we shift all DCPB values to the range of 0–25 ns, but keep unaltered the magnitude differences between the L1, L2, reference L0, and estimated L0 DCPBs within each panel. Most of the large DCPB jumps are caused by changes of receivers or antennas, or upgrade of firmware, etc

Normally, DCPBs have to be estimated with long baselines where the resulting L1 and L2 DCPB estimates are likely to be too noisy to be applicable to GLONASS AR (Wanninger 2012). Therefore, the ionosphere-free combination observable is usually preferred. In this case, it is necessary to quantify the accuracy of L0 DCPB estimates, which is missing or unreported in most published literatures, but important to achieving the best performance of GLONASS AR (Takac and Alves 2012; Zyryanov 2012). In this study, our strategy is to compare the L0 DCPB estimates from the 200-station network solution with those calculated based on the L1 and L2 DCPBs derived from the ultra-short baselines (Table 1). Specifically, the L1 and L2 DCPB estimates from baseline solutions are converted into L0 DCPBs using Eq. 14 to take the role of truth benchmarks. Of particular note, it appears that we can only investigate the stations listed in Table 1. However, regarding the homogeneous processing of the entire network and the very high efficiency of GLONASS AR over most stations (Sect. 3), we can reasonably assume that we have achieved homogeneous estimation quality (e.g., precisions, accuracies, etc.) for the L0 DCPBs at most of the 200 stations. Therefore, the stations in Table 1, which are favorably distributed across the whole Europe, are presumed as good representatives of the 200 stations in Fig. 1 in assessing the DCPB quality. In addition, we should keep in mind that this strategy to assess L0 DCPB accuracy is not perfectly rigorous because the ultra-short baseline derived DCPBs also have errors, though minimal, while another factor is that the undifferenced and single-difference data processing depicted in Sect. 3 are correlated in measurement correction models.

Figure 2 shows the baseline derived L0 DCPBs in black open circles and the network derived counterparts in blue solid circles. Within the ten panels, it can be seen that the two time series of symbols almost totally overlap each other. The black curves plotted at the bottom of each panel represent the differences between the two groups of L0 DCPBs. The RMS of the differences over all baselines except ROAP–SFER and BOGI–BOGO are about 0.5 ns, signifying a good agreement between the network and baseline derived L0 DCPBs. Note that no outlier rejection is applied before calculating the RMS statistics. In particular, the RMS of ROAP–SFER is severely biased by two outliers of up to 10 ns on days 147 and 148. For all ten baselines, 75.1 % of all differences are smaller than 0.5 ns and 94.1 % smaller than 1.0 ns, with an overall RMS of about 0.7 ns. Therefore, through ionosphere-free AR (Banville 2016; Liu et al. 2016), it is expected that the L0 DCPBs derived from the 200-station network solution in Europe have an accuracy of better than 2 ns approximately (\(3\sigma \)).

5 Discussions

5.1 DCPBs specific to receiver types or individual stations?

Within the GNSS community, there seems to be a concensus that IFPBs or DCPBs can be provided with respect to each receiver type, or even each manufacturer, which is sufficient to enable GLONASS AR. As implied by Sleewaegen et al. (2012), it is reasonable to assume that the DSP induced DCPBs are specific to receiver types, while hardware induced DCPBs are too minimal to affect AR efficiency. Accordingly, the IGS Bias Working Group is drafting a Bias-SINEX file and they intend to produce DCPBs with respect to receiver types, rather than individual stations (e.g., Schaer 2014, pp. 19–21; Schaer 2016, pp. 13). To illustrate whether station specific DCPBs matter or not, we choose three receiver families, including 43 Javad, 90 Leica and 30 Trimble receivers, which account for a major portion of our European network and are further subdivided according to receiver types as described in Fig. 3. For each station, a mean L0 DCPB is calculated over the first 30 days of 2015. If a station underwent receiver changes, the mean DCPB is then calculated for the receiver that worked for the longest period within the 30 days. Repeatabilities of the DCPBs over the 30 days are also computed and twice their quantities are plotted as error bars. The mean repeatability is about 1.0 ns, which is slightly larger than the RMS quantity (0.7 ns) specifying the accuracy of our DCPB products. Station NEWL shows a clearly larger repeatability of about 4.4 ns which is attributed to an unusual stairstep of about 8 ns on day 14, which manifests the limitation of the repeatability statistic in quantifying the precision of DCPBs.

No matter what uncertainty statistics (i.e., the 0.7-ns accuracy or the 1.0-ns repeatability on average) we trust and use for DCPBs, from Fig. 3, we can clearly find and confirm that the DCPBs of JAVAD TRE_G3TH DELTA and TRIMBLE NETR5 receivers differ dramatically (or statistically significantly) by up to 30 ns from each other. Other receiver types, especially those belonging to the Leica family, perform better with their DCPBs scattering within 10 ns. However, there are still a few outliers denoted with red dots. For example, DCPBs of stations TORI and MOPS deviate considerably by about 100 ns. These discrepancies can be due to antenna or firmware differences, or hardware malfunctions at those stations. Wanninger (2012) also observed such discrepancies among the same type of receivers, but it was not mentioned how they would affect GLONASS AR.

Fig. 3
figure 3

Mean L0 DCPBs (ns) within the first 30 days of 2015 for three representative manufacturers, Javad, Leica and Trimble. Each receiver family is further subdivided according to receiver types (blue texts) which are delimited with vertical dashed lines. Each dot represents an individual station with twice the repeatabilities as error bars in gray. “Outlier” stations are denoted as red dots with site codes aside. Note that the vertical scales of the three panels are identical

In this study, we used Eqs. 5 and 6 to answer this question. For a round-off criterion of 0.15 cycles, absolute DCPB errors should not exceed \(\dfrac{0.15}{\left| h^i-h^j\right| \Delta f_q}\) to guarantee successful AR. In particular, for the extreme case where \(\left| h^i-h^j\right| =13\), DCPB errors \(\xi _{\Delta B_g}\) have to satisfy

$$\begin{aligned} \left\{ \begin{array}{l} \xi _{\Delta B_1}<20.6\,\mathrm {ns} \\ \xi _{\Delta B_2}<26.4\,\mathrm {ns} \\ \xi _{\Delta B_\mathrm {w }}<92.4\,\mathrm {ns} \\ \xi _{\Delta B_\mathrm {n }}<11.6\,\mathrm {ns} \\ \xi _{\Delta B_\mathrm {en}}<5.8\,\mathrm {ns} \end{array}\right. \end{aligned}$$
(20)

to ensure the highest AR efficiency. We can find that the 30-ns discrepancies reported in Fig. 3 do not pose any threat to wide-lane AR even if only receiver type or manufacturer specific DCPBs are provided. However, they will seriously deteriorate the performance of narrow-lane and ionosphere-free AR. Therefore, we suggest that station specific instead of receiver type specific DCPBs be estimated and provided to ensure high fixing rates of short-wavelength ambiguities and avoid any potential deterioration of the positioning accuracy due to inaccurate DCPBs.

5.2 Which observable specific DCPB to provide for users?

In Fig. 2, it is shown that DCPBs with respect to L1, L2 and L0 observables can be quite different. For baseline VIS0-VIS6, it can be seen that the DCPB differences between L1 and L2 amount to about 7 ns after day 160, making the L0 DCPBs deviate by about 11 ns from L1 DCPBs and even further from L2 DCPBs. In fact, Fig. 2 illustrates that larger DCPB differences between L1 and L2 will result in larger deviations of the L0 DCPBs from their L1 counterparts, which verifies Eq. 16. Although we do not have a large number of ultra-short baselines to inspect the possible upper bound of the DCPB differences between L1 and L2, we can reasonably assume that this difference can be up to 10 ns. Then the L0 DCPBs will differ from L1 DCPBs by about 15.3 ns. As a result, some GLONASS users, who may be misguided by the rule of one DCPB per station, and thus prefer archiving only L1 DCPBs derived from zero baselines, would risk ionosphere-free and narrow-lane AR because 15.3 ns has exceeded their DCPB error thresholds presented in Eq. 20. Figure 4 presents a comparison between the fixing rates of ionosphere-free ambiguities based on L1 and L0 DCPBs. As expected, when the DCPB differences between L1 and L2 are as large as 5 ns, the fixing rates based on L1 DCPBs will be 10–20 % lower than those based on L0 DCPBs.

Therefore, we suggest that both L1 and L2 DCPBs be archived if they can be accurately recovered. DCPBs on L0 and Lw can then be easily calculated using Eqs. 14 and 15. If only one DCPB can be archived, we suggest that it be L0 DCPB because L1, L2 and wide-lane AR have wider frequency spacing and are thus more resistant to DCPB errors. To be specific, reformulating Eq. 16, we have

$$\begin{aligned} \left\{ \begin{array}{l} \Delta B_1=\Delta B_0-a_2\delta s \\ \Delta B_2=\Delta B_0-a_1\delta s \\ \Delta B_\mathrm {w}=\Delta B_0-(a_2-e_2)\delta s \end{array}\right. \end{aligned}$$
(21)

If \(\delta s=10\) ns, the L0 DCPB will deviate from the L1, L2 and Lw DCPBs by about 15.3, 25.3 and 19.7 ns, respectively, which are all below the thresholds listed in Eq. 20.

Fig. 4
figure 4

Fixing rates of ionosphere-free ambiguities on three baselines. L0 and L1 DCPBs are tried separately (solid and open black circles) to attempt ionosphere-free AR. The differences (ns) between L1 and L2 DCPBs are plotted using blue solid circles and refer to the right vertical axes. The fixing rates are calculated over all possible double-difference ambiguities

5.3 What if carrier-phase hardware biases differ significantly between frequency channels?

In Eq. 4, we presumed that the hardware induced time delays on carrier-phase (or carrier-phase hardware biases) are identical across all frequency channels of a station. This assumption is, however, arbitrary as true carrier-phase hardware biases vary with frequency channels, although slightly or even minimally. We hence restart our derivation from Eqs. 2 and 3, but without presuming Eq. 4. Satellite \(i\) is chosen as the reference satellite to form double-difference ambiguities, and similar to Eq. 5, the resultant bias in cycles between satellites \(i\) and \(j\) is

$$\begin{aligned}&\Delta B_g^i f_q^i-\Delta B_g^j f_q^j \nonumber \\&\quad =\Delta B_g^i\left( h^i-h^j\right) \Delta f_q+\left( \Delta B_g^i-\Delta B_g^j\right) f_q^j \nonumber \\&\quad =\Delta B_g^i\left( h^i-h^j\right) \Delta f_q+\left( \Delta b_{\mathrm {L},g}^i-\Delta b_{\mathrm {L},g}^j\right) f_q^j \end{aligned}$$
(22)

Similar to Eq. 7, this equation can be multiplied by \(\lambda _q^0\) and we obtain

$$\begin{aligned}&\left( h^i-h^j\right) \dfrac{c\Delta B_g^i}{2848}+\dfrac{2848+h^j}{2848}c\left( \Delta b_{\mathrm {L},g}^i-\Delta b_{\mathrm {L},g}^j\right) \nonumber \\&\quad \approx \left( h^i-h^j\right) \Delta \beta _g^i+c\left( \Delta b_{\mathrm {L},g}^i-\Delta b_{\mathrm {L},g}^j\right) \end{aligned}$$
(23)

where the first term resembles Eqs. 7 and 9 reflecting the apparent linear function for IFPBs \(\Delta \beta _g^i\) with respect to channel numbers. The second term is caused by the disagreement of carrier-phase hardware biases across GLONASS frequency channels. Sleewaegen et al. (2012) showed that this disagreement is at sub-millimeter level for Septentrio equipments, and can thus be safely ignored. Hence, the favorable linear function for IFPBs holds. Wanninger (2012) listed and asked for the IFPBs as precise as a few millimeters for a number of typical receiver families. We can envision that if the second term is a little larger, even if by as small as several millimeters, the linear function for IFPBs will break down as \(\Delta \beta _g^i\) will be biased and vary by up to several millimeters across different \(h^i-h^j\). Consequently, GLONASS AR efficiencies based on IFPBs are degraded. This point might cast light on why there were some stations in our data processing which achieved far worse than average AR performance in all relevant baselines no matter what DCPB candidate values were attempted. For example, UNPG in Italy forms baselines with 23 nearby stations located from 60 to 500 km away (Fig. 1). Over the 212 days, 68 % of baseline solutions relevant to UNPG have more than half of their ambiguities unfixed, in contrast to less than 15 % and an average of 2 % for all other stations except UNTR and PORE. Since UNPG is far from exceptional on account of its geographical location and baseline lengths, compared to those with average or better AR performance, its poor ambiguity fixing rates should be attributed to the station itself. After a close inspection on UNPG’s GLONASS data, we can confirm that their completeness (e.g., data loss and gaps) and integrity (e.g., incidence rate of outliers and cycle slips) were on an average level among all stations. Therefore, we have more confidence to postulate that UNPG may be a candidate that has significant channel specific DCPBs, which ,however, needs further investigation.

Unlike the IFPB model (Eq. 8) which will be negated if the discrepancies among carrier-phase hardware biases are significant, the DCPB model based on Eq. 2 still holds as long as we estimate or introduce frequency channel dependent DCPBs, instead of a single DCPB across all channels. Therefore, the DCPB model is more rigorous in describing the physical properties of GLONASS observations. Nevertheless, it is not easy to estimate precise channel specific DCPBs in GLONASS data processing and one may turn to receiver manufacturers, on the other hand, to confirm this issue, and hence in this study we still recommend station specific DCPBs.

6 Final remarks and suggestions

DCPBs are one of the critical factors that prevent GLONASS AR. Commencing from a single-difference observation equation which is preferably used in GLONASS data processing, we introduce a rigorous DCPB model where hardware induced time delays on both pseudorange and carrier-phase, other than DSP induced time delays, are fully taken into account. We point out that the widely recognized IFPB model is an inaccurate derivation from the DCPB model, although in most cases they can achieve almost identical performance for GLONASS AR. Of particular importance, the IFPB model will be problematic if carrier-phase hardware biases corresponding to different frequency channels do not agree to the sub-millimeter level.

We further used 212 days of data from 200 stations in Europe to estimate L0 DCPBs based on undifferenced ionosphere-free ambiguities, and also found ten ultra-short baselines to estimate L0 DCPBs based on single-difference L1 and L2 ambiguities. The difference between the two set of L0 DCPBs is roughly 0.7 ns in RMS, which means that if the ultra-short baseline derived DCPBs are presumed as truth benchmarks, we can achieve an accuracy of about 2 ns (\(3\sigma \)) for L0 DCPBs through a GLONASS network solution.

Finally, based on the findings of this study and a number of prevalent misconceptions on IFPBs, we suggest that

  1. 1.

    Replace the IFPB model with the DCPB model. The DCPB model is theoretically rigorous and explains real hardware biases relevant to receivers, antennas, firmware, etc. while the IFPBs as a linear function of channel numbers are not the physical characteristics of GLONASS biases.

  2. 2.

    Estimate station specific DCPBs instead of receiver type or manufacturer specific DCPBs. DCPBs can differ significantly even for the same types of receivers, which is likely to deteriorate or fail GLONASS AR if no station specific DCPBs are provided.

  3. 3.

    Provide both L1 and L2 DCPBs if possible, otherwise L0 DCPBs are preferred. DCPBs on L1, L2 and L0 can be quite different and it is better to distinguish them to ensure the highest AR efficiency. Ionosphere-free and narrow-lane AR are more sensitive to DCPB errors than L1, L2 and wide-lane AR, because of their smaller frequency spacing.

  4. 4.

    Apply GLONASS ionosphere-free AR to a network solution to refine DCPBs to the ultimate accuracy. GLONASS ionosphere-free AR can be highly efficient and is clearly less affected by ionosphere refractions and not impeded by inter-frequency code biases (IFCBs) compared to the traditional wide-lane and narrow-lane approaches (Banville 2016; Geng and Bock 2016; Geng and Li 2016; Wanninger 2012).