1 Introduction

Research on application of multi-GNSS signals to precise positioning is nowadays increasingly often undertaken by scientific community. It is expected that combining signals from different GNSS systems will result in increasing the accuracy, reliability and availability of precise relative positioning. This will also allow for shortening of the initialization time and extending the allowable distance between the user receiver and reference network stations, mainly due to the increase in the number of the observed satellites (Tiberius et al. 2002; Zhao et al. 2005; Paziewski et al. 2013; Paziewski and Wielgosz 2014; Shi et al. 2013; Chu and Yang 2013).

Nowadays, combining observations from different GNSS systems often relies on the mathematical model requiring different reference (pivot) satellites for each system. This approach can be referred to as loose combining (Zhang et al. 2003) and it is used when GNSS systems with different frequencies are applied. Loose combining of GPS+BDS in precise single-epoch positioning was recently investigated by Deng et al. (2013) and by He et al. (2014). On the other hand, overlapping (i.e., the same) frequencies, such as L1/E1 and L5/E5a in GPS and Galileo systems, support creating double-differences (DD) between satellites of different GNSS systems. This approach is known as tight combining (Julien et al. 2004), and the observational model assumes a single reference satellite for all the observations. The tight combining of the observations strengthens the adjustment model. However, when this approach is introduced, one must take into account not only time and coordinate system differences, but also the difference between the receiver hardware delays affecting the signals from different systems (Montenbruck et al. 2011; Odijk and Teunissen 2013). This bias is termed as inter- system bias (ISB). ISB is caused by the correlation process within the GNSS receiver, thus it is present in both carrier phase and code data (Hegarty et al. 2004). The discrepancy in coordinate systems between GPS and Galileo may be negligible in most of the applications (Gendt et al. 2011). The time offset may be eliminated by employing Galileo to GPS Time Offset or by estimating separate clock corrections for each of the systems (Wang et al. 2011). Studies on the combined multi-constellation processing and accounting for inter-system biases have recently been undertaken by several research groups. Initial research on the characterization of the GPS-Galileo ISB was carried out by Montenbruck et al. (2011) who characterized the code ISB in CONGO (The Cooperative Network for GIOVE observations) network experiment. Odijk et al. (2012) presented results of GPS+GIOVE single-frequency RTK positioning. Also, Odijk and Teunissen (2013) investigated the presence of the ISB in combined GPS+GIOVE model. Pei et al. (2012) carried out research on ISB concerning GPS and GLONASS systems.

This study investigates a methodology of accounting for GPS—Galileo-IOV receiver inter-system biases in precise relative positioning. The approach used in the research is based on estimation, and has similar foundations as the method developed by (Odijk and Teunissen 2013). However, some modifications were proposed and introduced (see Sect. 2). The performance of our methodology was evaluated on the basis of several numerical experiments. This allowed to draw preliminary conclusions on the ISB properties. The paper is organized as follows. In Sect. 2, a brief description of the applied methodology and algorithms used for the inter-system biases estimation is given. Section 3 describes the testing procedures that were used in the experiments as well as the obtained results. The presented numerical tests are based on both real and GNSS simulator-derived observational data. The data were collected at zero or very short baselines using different sets of GNSS receivers. The performance of the tightly combined GPS+Galileo positioning with different methods of accounting for the ISB is described in Sect. 4. Finally, the conclusions are provided in Sect. 5. All calculations were performed using GINPOS research software developed at UWM (Paziewski 2012).

2 Methodology

To derive the methodology of tightly combined precise relative positioning, it is necessary to commence with original undifferenced (UD) carrier phase and code observations of the both systems. The equations below (Eqs. 12) present UD carrier phase and code observations in units of meters. The equations are generalized for any frequency, thus the subscript of the frequency is omitted. Superscript \(G\) denotes a particular GPS satellite. Parameters related to a GNSS system, but not to a particular satellite, are marked with superscript in brackets e.g., \((G)\). The equations are derived for receiver \(k\). Since the computations are performed for zero or short baselines, atmospheric delays were omitted for formula simplification.

$$\begin{aligned} \phi _k^G&= \varrho _k^G +\mathrm{d}t_k{-}\mathrm{d}t^{G}+\delta _k^{(G)} -\delta ^{G}+\lambda (\varphi _k -\varphi ^{G}+N_k^G )\nonumber \\&+\,\epsilon _{k,\phi }^G \end{aligned}$$
(1)
$$\begin{aligned} P_k^G&= \varrho _k^G +\mathrm{d}t_k{-}\mathrm{d}t^{G}+d_k^{(G)} -d^{G}+\epsilon _{k,P}^G \end{aligned}$$
(2)

where: \(\phi _k^G \)—carrier phase undifferenced observation, \(\varrho _k^G \)—geometric distance between satellite and station, \(dt_k \)—receiver clock correction, \(dt^{G}\)—satellite clock error, \(\lambda \)—wavelength on the analyzed frequency, \(\varphi _k\)—initial fractional phase in the receiver, \(\varphi ^{G}\)—initial fractional phase at the satellite, \(\delta _k^{(G)} \)—receiver hardware delay of the GPS carrier phase signal, \(\delta ^{G}\)— satellite hardware delay of the carrier phase signal, \(N_k^G \)— integer carrier phase ambiguity, \(\epsilon _{k,\phi }^G \)— carrier phase noise, \(P_k^G \)—code undifferenced observation, \(d_k^{(G)}\)—receiver hardware delay of the GPS code signal, \(d^{G}\)—satellite code hardware delay,\(\epsilon _{k,P}^G \)—code noise.

The same equations can be derived for Galileo satellite signal. In such equations, superscript \(E\) denotes a particular Galileo satellite. One must remember that Galileo system works in a different time system—GST (Galileo system time). To combine the GPS and Galileo signals, the observations must be related to the same time system. Separate Galileo receiver clock corrections must be introduced when Galileo observations are considered. However, taking into account Galileo to GPS time offset \((d_\mathrm{GGTO})\), we can replace Galileo receiver clock corrections with the sum of the GPS receiver clock correction \((dt_k)\) and the Galileo to GPS Time Offset \((d_\mathrm{GGTO})\) and form UD Galileo carrier phase and code observations (Eqs. 3, 4).

$$\begin{aligned} \phi _k^E&= \varrho _k^E +\mathrm{d}t_k -d_\mathrm{GGTO} {-}\mathrm{d}t^{E}+\delta _k^{(E)} -\delta ^{E}\nonumber \\&+\,\lambda \left( {\varphi _k -\varphi ^{E}+N_k^E } \right) +\epsilon _{k,\phi }^E \end{aligned}$$
(3)
$$\begin{aligned} P_k^E&= \varrho _k^E +\mathrm{d}t_k -d_\mathrm{GGTO} {-}\mathrm{d}t^{E}+d_k^{(E)} -d^{E}+\epsilon _{k,P}^E \end{aligned}$$
(4)

When creating single differenced (SD) observations between stations \(k\) and \(l\), the satellite-specific errors such as satellite clock error \((\mathrm{d}t^{E})\), satellite hardware delay \((\delta ^{E})\), initial phase in the satellite \((\varphi ^{E})\), as well as Galileo to GPS Time Offset \((d_\mathrm{GGTO})\) are eliminated. The SD carrier phase and code observations for GPS (Eqs. 5, 6) and Galileo (Eqs. 7, 8) satellites for receivers \(k\) and \(l\) are considered below.

$$\begin{aligned} \phi _{kl}^G&= \varrho _{kl}^G +\mathrm{d}t_{kl} +\delta _{kl}^{(G)} +\lambda (\varphi _{kl} +N_{kl}^G )+\epsilon _{kl,\phi }^G \end{aligned}$$
(5)
$$\begin{aligned} P_{kl}^G&= \varrho _{kl}^G +\mathrm{d}t_{kl} +d_{kl}^{(G)} +\epsilon _{kl,P}^G \end{aligned}$$
(6)
$$\begin{aligned} \phi _{kl}^E&= \varrho _{kl}^E +\mathrm{d}t_{kl} +\delta _{kl}^{(E)} +\lambda (\varphi _{kl} +N_{kl}^E )+\epsilon _{kl,\phi }^E \end{aligned}$$
(7)
$$\begin{aligned} P_{kl}^E&= \varrho _{kl}^E +\mathrm{d}t_{kl} +d_{kl}^{(E)} +\epsilon _{kl,P}^E \end{aligned}$$
(8)

where: \(\phi _{kl}^G \)—carrier phase SD observation, \(\varrho _{kl}^G \)—SD geometric distance between GPS satellite and stations \(k,l,\,\mathrm{d}t_{kl} \)—S receiver clock error, \(\varphi _k \)—initial fractional SD phase in the receivers, \(\delta _{kl}^{(G)} \)—SD receivers hardware delay of the GPS phase signal, \(N_{kl}^G \)—SD integer number of the phase ambiguity, \(\epsilon _{kl,\phi }^G \)– carrier phase SD noise, \(P_{kl}^G \)—code SD observation, \(d_{kl}^{(G)} \)—SD receivers hardware delay of the GPS code signal, \(\epsilon _{kl}^G \)—code SD noise.

When tight integration is considered, a single reference satellite is chosen for both systems when double-differencing the observations. Equations 9 and 10 present DD carrier phase and code observation equations for the tightly combined GPS and Galileo positioning model. GPS satellite was selected as the reference satellite.

$$\begin{aligned} \phi _{kl}^{GE}&= \varrho _{kl}^{GE} +\lambda N_{kl}^{GE} +\delta _{kl}^{(G-E)} +\epsilon _{kl,\phi }^{GE} \end{aligned}$$
(9)
$$\begin{aligned} P_{kl}^{GE}&= \varrho _{kl}^{GE} +d_{kl}^{(G-E)} +\epsilon _{kl,P}^{GE} \end{aligned}$$
(10)

where: \(\phi _{kl}^{GE} \)—DD carrier phase observable, \(\varrho _{kl}^{GE} \)—DD geometric distance, \(N_{kl}^{GE} \)—DD carrier phase (mixed) ambiguities, \(\delta _{kl}^{(G-E)} \)— carrier phase inter-system bias, \(P_{kl}^{GE} \)—DD code observable, \(d_{kl}^{(G-E)} \)—code inter-system bias, \(\epsilon _{kl,\phi }^{GE} \)—DD carrier phase noise, \(\epsilon _{kl,P}^{GE} \)—DD code noise.

During the double-differencing, site-specific biases are eliminated. The DD observations are free from the influence of the GPS to Galileo time system offset and satellite and receiver clock errors. However, the carrier phase \((\delta _{kl}^{(G-E)})\) and code \((d_{kl}^{(G-E)})\) inter-system biases are not eliminated. The ISB results from differences in receivers’ \(k\) and \(l\) hardware delays of GPS and Galileo signals (Eqs. 11, 12) (Odijk and Teunissen 2013).

$$\begin{aligned} \delta _{kl}^{(G-E)}&= \delta _{kl}^{(G)} -\delta _{kl}^{(E)} =\delta _l^{(E)} -\delta _k^{(E)} -\delta _l^{(G)} +\delta _k^{(G)} \end{aligned}$$
(11)
$$\begin{aligned} d_{kl}^{(G-E)}&= \delta _{kl}^{(G)} -\delta _{kl}^{(E)} =d_l^{(E)} -d_k^{(E)} -d_l^{(G)} +d_k^{(G)} \end{aligned}$$
(12)

It is extremely difficult to separately estimate undifferenced receiver hardware delays for GPS and Galileo systems. Fortunately, the determination of the absolute values of the delays is not strictly necessary. In the presented equations, differential quantities which are phase \((\delta _{kl}^{(G-E)})\) and code \((d_{kl}^{(G-E)})\) ISBs can be treated as additional unknown parameters in the least squares adjustment similarly to, for example, station coordinates and carrier phase ambiguities. The carrier phase ISB is, in its nature, a real number. The approach presented in (Odijk and Teunissen 2013) utilizes estimation of the total real value of the phase ISB (combined: integer + fractional components). However, here, we separate this bias into fractional \((\mathop {\bar{\delta }}\nolimits _{kl}^{(G-E)})\) and integer parts \((M_{kl}^{GE})\):

$$\begin{aligned} \delta _{kl}^{(G-E)} =\mathop {\bar{\delta }}\nolimits _{kl}^{(G-E)} +\;\lambda M_{kl}^{GE} \end{aligned}$$
(13)

Carrier phase integer ambiguities \((N_{kl}^{GE})\) and integer part of carrier phase ISB \((M_{kl}^{GE})\) are highly correlated. Hence, it is very difficult to reliably separate them in the adjustment due to rank deficiency. Thus, we propose, in contrary to the approach presented by Odijk and Teunissen (2013), to estimate only the fractional part of the carrier phase ISB \((\mathop {\bar{\delta }}\nolimits _{kl}^{(G-E)})\). Then, the remaining integer part \((M_{kl}^{GE} )\) is combined with the integer ambiguities \(N_{kl}^{GE}\) and forms a new estimable integer parameter \((\mathop {\bar{N}}\nolimits _{kl}^{GE})\):

$$\begin{aligned} \mathop {\bar{N}}\nolimits _{kl}^{GE} =N_{kl}^{GE} +M_{kl}^{GE} \end{aligned}$$
(14)

Consequently, a new DD GPS+Galileo observation equations, which are applied in the ISB estimation as well as in the relative positioning, are derived:

$$\begin{aligned} \phi _{kl}^{GE}&= \varrho _{kl}^{GE} +\lambda \mathop {\bar{N}}\nolimits _{kl}^{GE} +\mathop {\bar{\delta }}\nolimits _{kl}^{(G-E)} +\;\epsilon _{kl,\phi }^{GE} \end{aligned}$$
(15)
$$\begin{aligned} P_{kl}^{GE}&= \varrho _{kl}^{GE} +d_{kl}^{(G-E)} +\epsilon _{kl,P}^{GE} \end{aligned}$$
(16)

These equations are formed for each mixed GPS-Galileo DD observation. To separate the integer part of the phase ISB from the fractional one, we constrain the phase ISB to a priori value with a priori sigma of half of the phase cycle. This makes the estimable phase ISB parameter never greater than \(\pm 1\) cycle. The observational model is resolved with the a priori constrained least squares adjustment (Leick 2004; Xu 2007). In this approach, the observational model consists of two groups of observation equations: linearized observation equations with design matrix \((A)\), observed minus computed vector \((L)\), weight matrix \((P_L)\), pseudo observation equations with their design matrix \((B)\), observed minus computed vector \((W)\), and pseudo observation weight matrix \((P_W)\). The full weight matrix is constructed with the weight matrix for the actual DD observations \((P_L)\) and the weights of the pseudo observations \((P_W)\). The corrections \((d_X)\) to the a priori values of the parameters are determined by resolving the well-known form of normal equations (Xu 2007):

$$\begin{aligned} \left( {A^{T}P_L A+B^{T}P_W B} \right) d_X -\left( {A^{T}P_L L+B^{T}P_W W} \right) =0 \end{aligned}$$
(17)

In specific, in the mixed model, the parameters are: station coordinates, a new parameters representing ambiguities combined with integer phase ISB \((\mathop {\bar{N}}\nolimits _{kl}^{GE})\), fractional phase ISB, \((\mathop {\bar{\delta }}\nolimits _{kl}^{G-E})\) and code ISB \((d_{kl}^{G-E})\). However, for DD observations created among a single system, the only parameters are station coordinates and DD ambiguities.

This model can be resolved in an instantaneous approach. The single- epoch estimation of the ISB was also analyzed by (Odijk and Teunissen 2013). However, due to difficulties in reliable separation between observation residuals and the estimated ISB when low number of Galileo satellites is used, we propose treating and estimating ISB not only as epoch but also as session-dependent parameters in longer solutions (with data accumulation). In longer (session) solutions, the estimated ISB is more resistant to single satellite observation noise and residuals of unmitigated systematic errors.

The presented below computations are performed in a three step procedure. In the first step of the data processing, the float solution is obtained. In the next step, the LAMBDA method is applied to find the best set of the integer carrier phase ambiguities (Teunissen 1995). In the last step, the fixed solution introducing integer values of the ambiguities is obtained. After the ambiguities are fixed, all other parameters are adjusted accordingly resulting in precise ISB parameters. More details about the applied algorithms and methodology of precise relative positioning as well as the used software may be found in (Paziewski et al. 2013; Paziewski and Wielgosz 2014).

3 Results of inter-system bias estimation

In this section, we investigate GPS and Galileo-IOV ISB size and temporal stability estimated for several pairs of different multi-GNSS receiver types. The size and temporal stability of the ISBs were analyzed on the basis of its time series. To check the long-term stability of the ISB, some of the experiments were repeated with approximately 18-month time separation.

The study relies on four experiments based on processing of real and simulated GNSS observational data. Experiments at UWM (University of Warmia and Mazury in Olsztyn), UNB-GRL (University of New Brunswick —Geodetic Research Laboratory) and CNES-CLS (Centre National d’Etudes Spatiales Collecte Localisation Satellites) are based on real GNSS data. During these experiments, one to three Galileo-IOV satellites were used depending on the signal availability. In the fourth experiment carried out at ESTEC-RFPSL (European Space Research and Technology Centre- Radio Frequency Payload Systems Laboratories), full constellation GPS and Galileo data collected from a hardware signal simulator were analyzed.

All calculations were performed in a single baseline mode for single-frequency data. Thus, the phase and code ISBs were determined separately for each of the analyzed frequencies (L1/E1 and L5/E5a). The phase and code ISBs were estimated in a “instantaneous” (single-epoch) solution and also in “session” solution using 10 minutes of data. In the single-epoch solution, the phase and code ISBs were estimated independently for each epoch. In case of the 10-minute sessions, one phase and one code ISB parameter per session was estimated. On the basis of ISB time series, the mean values together with standard deviations were computed. These served as short-term repeatability indicators of the ISB estimates. All the experiments are based on the processing of zero- or very short baselines with station coordinates held fixed. Zero-baselines allowed for elimination of the influence of geometry, path and site-specific errors on the obtained ISB results (Montenbruck et al. 2011). Fixed coordinates also improved the performance of the ambiguity resolution. The fractional part of the carrier phase ISB was constrained to an a priori value of 0 cycles with sigma equal to 1/2 of carrier cycle.

Absolute antenna PCV models obtained from IGS were applied in the data processing (Schmid et al. 2007). In the experiments, either broadcast or precise orbits obtained from IGS, TUM or CNES-CLS were applied (Dow et al. 2009; Steigenberger et al. 2011).

3.1 Experiments at UWM

During the experiments carried out at UWM, four receivers were connected to the same antenna using a signal splitter. Specifically, three Javad receivers (Alpha TR_G3T v. 3.4.7 (#1), Alpha TR_G3T v. 3.4.7 (#2), Sigma TRE_G3T v. 3.4.7) and one Leica GR25 v. 2.62 receiver formed a zero-baseline. Please note that the first two receivers are of the same type, including the same firmware version. In the research, all the possible receiver pairs were analyzed. Initially, the observational data were collected on January 16, 2013 from 1:20 to 7:00 UTC with 60-s recording interval. During the experiment carried out in 2013, two Galileo-IOV satellites (E11, E12) were tracked. The experiment was repeated in 2014 when three Galileo satellites were available (E11, E12, E19). The data were collected with the same receiver configuration including the firmware on July 25, 2014 from 15:00 to 21:00 UTC.

Table 1 quantifies the repeatability of the resulting ISBs estimated in the single-epoch solution, as well as in the 10-min sessions. The results are presented for both experiments carried in 2013 and 2014. Particularly, standard deviations and mean values of the code and carrier phase ISB were computed. Note that the estimated phase ISB is actually the fractional part of the carrier phase ISB. Also, the sign of the ISB depends on the order of the receivers forming a baseline.

Table 1 Statistics of the estimated L1/E1 ISB during the UWM experiments

The results obtained both in 2013 and 2014 show that the baseline formed with receivers of the same type (Javad Alpha #1 & #2) is characterized with close to zero code and zero carrier phase ISB (Fig. 1; Table 1). This means that the inter-system bias in case of the same type receivers can be regarded as absent. In case of baseline formed with receivers of the same producer, but different type (including different OEM boards, e.g., Javad Alpha #1 and Javad Sigma) the estimated fractional phase ISB amounted to \(-\)0.02 cycle and \(-\)0.01 cycle in 2013 and 2014 experiments, respectively. Consistent values were obtained when using Alpha #2 with the same Sigma receiver. These values are low but, on the other hand, are statistically significant and cannot be neglected. Similarly, a low value of the code ISB was observed for Alpha#1-Sigma receiver pair (\(-\)0.2 and \(-\)0.4 m for 2013 and 2014 experiments, respectively). For the baselines formed with Javad Alpha #1/#2 and Leica GR25 for both 2013 and 2014 experiments, the results are in a very good agreement. The fractional phase ISB reached half of the cycle. At the same time, similar values of the code ISB were obtained (16.9 and 17.0 m). This indicates that the ISB depends on the receiver type but, at the same time, is not dependent on the individual receiver. Mean ISB computed from the single-epoch solutions for Javad Sigma—Leica GR25 pair amounted to \(-\)0.48 cycle and \(-\)16.8 m for phase and code data, respectively. The experiment repeated in 2014 shows very similar results (\(-\)0.49 cycle and 16.6 m).

The mean values of the ISBs estimates derived from 10-min sessions were in agreement with the values obtained in the single-epoch solutions, however with significantly smaller standard deviations (Table 1). The accuracy of the resulting phase ISB can be regarded as high. Standard deviations of the phase ISB estimated in instantaneous mode for each of the baselines never exceeded 0.012 cycle (2 mm), which is significantly lower than the values of the respective ISBs. Thus, in most cases, the phase ISB can be regarded as statistically significant. The standard deviations of the pseudorange ISBs were of a few decimeters (maximum of 0.41 m). The repeatability of ISB estimates was from three to four times higher in 10-min-long session solution comparing to the instantaneous estimates.

The results presented in Table 1 confirm that the sum of ISBs in a triangle loop, similar to the DD ambiguities, equals zero. It means that we can derive ISB for C-A receiver pair if we know A-B and B-C ISBs. For example, let us consider mean phase ISB for Javad ALPHA#1 - Javad SIGMA (\(-\)0.02 cycle) and Javad SIGMA - Leica GR25 (\(-\)0.48 cycle). Computed on this basis Javad ALPHA#1- Leica GR25 phase ISB equals \(-\)0.50 cycle, which is exactly the mean value of their phase ISB estimates (Table 1).

Figure 1 presents example estimates of the code and carrier phase ISBs obtained from the single-epoch solution during the UWM experiment conducted in 2014. Additionally, the upper code ISB plot in Fig. 1 presents Galileo satellite elevations during the experiment. The plots show that during the experiment the estimated values of the ISB were stable. Higher noise of the code ISB at the beginning and at the end of the experiment coincides with the low elevations of the observed Galileo-IOV satellites.

Fig. 1
figure 1

Estimated carrier phase (left) and code (right) L1/E1 ISBs in the single-epoch solution for different receiver pairs (UWM experiment in 2014)

The UWM data show that the phase and code ISBs were stable during a period of several hours experiments. Also, the repeatability of the results between experiments separated by over one and half year indicates on the long time stability of the receiver ISB. Thus, the obtained mean values of the ISB for a particular receiver pair can be subsequently introduced as a known parameter in precise positioning.

3.2 Experiments at UNB

The second experiment is based on the data collected and provided by the Geodetic Research Laboratory of the University of New Brunswick in Canada, which is gratefully acknowledged. At first, the data were collected on 17.12.2012 from 4:00 to 9:00 UTC with 60-s interval. In this experiment, 300 single-epoch and 30 of 10-min long sessions were processed. To analyze the long-term stability of the ISB, the experiment was conducted again after 19 months. The data were collected again on 08.07.2014 from 01:00 to 08:00 UTC, also with 60-s interval. In the former experiment, two Galileo satellites signals (PRNs E11 and E12) were available. In the latter, three satellites (PRNs E11, E12, E19) were tracked. The ISB parameters were estimated for all possible pairs formed with three different receivers: Septentrio POLARX-S v.2.5.2, Javad Delta TRE_G2T v. 3.4.7, and Trimble NETR9 v. 4.85. In both UNB experiments separated by 19 months, the same receivers including firmware versions were used. The Septentrio and Javad receivers formed a zero-baseline and both were connected to a Trimble TRM55971.00 antenna. The Trimble receiver was connected to another TRM57971.00 antenna located at short distance of 19 m.

The ISB estimates from both UNB experiments are presented in Table 2. All the analyzed receiver pairs show significant code and carrier phase L1/E1 ISBs. One can see that the mean ISBs obtained in both single-epoch and session modes are comparable (Table 2). In the experiment conducted in 2012 for Trimble–Septentrio pair, the phase ISB reached 0.20 cycle while the code ISB amounted to \(\sim \)1.6 m (Table 2; Fig. 2). For Javad–Septentrio pair, mean phase ISB was relatively low and amounted to \(-\)0.02 cycle. For this pair, the code ISB amounted to \(\sim \)0.9 m (Fig. 4). For Javad–Trimble pair, the obtained fractional part of phase ISB equals to \(-\)0.22 cycle, while the code ISB reaches \(\sim \)2.5 m. The experiment carried out in 2014 confirms high stability of the ISB in a 19-month time span. The maximal difference of the mean phase ISB between 2012 and 2014 reached only 0.01 cycle for Trimble–Septentrio and Javad–Trimble pairs. The maximal difference between mean code ISB estimated in 2012 and 2014 amounted to 0.14 m and was observed for the Javad–Septentrio pair session solution. On the other hand, we should note that this receiver pair was characterized by relatively high noise of the instantaneous code ISB estimates. In this case, the standard deviation amounted to 0.41 and 0.36 m in 2012 and 2014, respectively.

Table 2 Statistics of the estimated L1/E1 ISB during the UNB experiment
Fig. 2
figure 2

Estimated phase (left) and code (right) L1/E1 ISBs in the single-epoch solution for the UNB’12 experiment

For most of the receiver configurations, the standard deviations of the mean phase ISB obtained in the single-epoch solutions varied from \(\sim \)0.01 to 0.02 cycle. A slightly worse repeatability of carrier phase ISB was obtained for Javad–Trimble pair (\(\sim \)0.03 cycle). The precision of the mean single-epoch derived code ISB obtained in this experiment may be estimated at the level of 0.2–0.4  m. The estimation of the code and phase ISB in 10-min sessions resulted in two to three times lower noise of the results.

Figure 4 illustrates estimated fractional part of the phase and code ISB together with Galileo satellites elevations obtained in the single-epoch solution for the analyzed receiver pairs in the experiment conducted in 2012. Figures indicate the stability of the ISB estimates in the analyzed session lasting 6 hours, and also relationship of the ISB noise connected with Galileo satellite elevation at the end of the analyzed session.

3.3 Experiment at CNES

The data for the experiment were provided by the CNES-CLS laboratory, which is also gratefully acknowledged (Loyer et al. 2012). Phase and code L1/E1 observations used in this experiment were collected with four different receivers at TLSE station: Trimble NETR9 v.4.60, Javad DELTA TRE_G3TAJ_3 v.3.3.10, Leica GR10 v.2.50/6.110 and Septentrio POLARX4TR v.2.3.3 on 16.06.2012 with 60- s interval. All receivers formed a zero-baseline and were connected to the same antenna (TRM59800.00). Observational session lasted \(\sim \)3 h (17:30–20:30 UTC). In this experiment, the computations were performed using signals from a single Galileo satellite (E11). This is because the satellite ephemeris were available only for this satellite. Thus, the results may be more sensitive to observation noise and unmitigated systematic errors.

Table 3 presents statistics of the carrier phase and code L1/E1 ISB estimated in both single-epoch and 10-min sessions, respectively. Mean values of the ISB computed on the basis of single-epoch and session solution were consistent. The lowest values of the carrier phase (0.01 cycle) and code ISB (0.63 m) were found for the Javad–Septentrio pair. On the other hand, high values of the carrier phase and code ISB were observed for the Leica GR10–Trimble NETR9 pair. The carrier phase ISB reached \(-\)0.70 cycle, when the code ISB reached over 18 m. The phase ISBs reaching \(-\)0.20 cycle were obtained for Javad–Trimble configuration. Similar absolute value of the fractional L1/E1 phase ISB was obtained for the Trimble–Septentrio pair (0.21 cycle). The phase ISB for the Leica–Javad and the Leica–Septentrio pairs reached approximately half of the cycle. For these two receiver pairs, high values of the code ISB were also found [\(\sim \)16 and \(\sim \) 17m, respectively (Table 3)].

Table 3 Statistics of the estimated L1/E1 ISB during the CNES experiment

The mean ISB obtained in this experiment is characterized by slightly higher standard deviation with respect to earlier experiments. The maximal standard deviation of the ISBs obtained in the single-epoch solution reached 0.025 cycle and 0.61 m for the phase and code ISB estimates, respectively. The ISB estimates obtained in the CNES experiment are clearly more influenced by Galileo satellite elevation. This is because only a single E11 Galileo satellite was used. Since the ISB was estimated using the data from a single Galileo satellite, any bias in the data was reflected in the estimated parameters. The influence of the satellite elevation is clearly seen in Fig. 3. At the end of the session, when E11 elevation was the lowest, the noise of the carrier phase and code ISB is the highest. Also, for the baselines formed with the Leica receiver, there is a systematic effect observed at the end of the test session in the code ISB (Fig. 3).

Fig. 3
figure 3

Estimated carrier phase (left) and code (right) ISBs in the single-epoch solution for different receiver pairs (CNES experiment)

The phase ISB depicted in Fig. 3 presents also a quasi-periodic behavior with the amplitude of 0.04 cycle (\(\sim \)8 mm) and period of \(\sim \) 5 min. This effect is mostly visible for Javad–Trimble pair. However, this was not caused by processing algorithm since it is also clearly visible in raw double-differenced mixed GPS-Galileo carrier phase observations. Figure 4 presents DD L1 phase observations for PRN 30 and PRN 16 satellites (both GPS). Figure 5 presents mixed DD L1/E1 phase observations (GPS PRN 30 and Galileo E11). Similar variations were observed for other receiver pairs. However, this periodic behavior is not visible in GPS-only DD observations (Fig. 4). This suggest that this effect is caused by E11 data. Nevertheless, a reason of this periodic effect of the mixed DD phase observations is not further investigated in our research.

Fig. 4
figure 4

Double-differenced (PRN G30-G16) L1 phase observations for the Javad DELTA–Trimble NETR9 pair

Fig. 5
figure 5

Double-differenced (PRN G30-E11) L1/E1 phase observations for the Javad DELTA–Trimble NETR9 pair

3.4 Experiment at ESTEC

The ESTEC experiment is based on the data obtained from SPIRENT GSS7700/7800 multi-GNSS hardware signal simulator (at ESTEC-RFPSL). The simulated signals were collected with two receivers: Javad Alpha TR_G3T #1 (the same receiver was used in the UWM experiment) and Septentrio TUR-N.

The observational data obtained from hardware GNSS simulator allowed, for the estimation of the ISBs, using of full constellation of Galileo satellites as well as a full constellation of modernized GPS system (with L5 signals transmitted by all satellites). The simulated signals were free of the influence of ionospheric and tropospheric delays, multipath, satellite orbital errors, since these were switched off in the simulation scenario. The receivers were connected to the simulator with an antenna splitter forming a zero-baseline. This allowed for the separation of the ISB from other parameters. The phase and code ISB parameters were estimated separately for L1/E1 and L5/E5a frequencies. The observational session length was \(\sim \)3.5 h (11:30–14:55 UTC). Similar to the previous experiments, the computations were performed in the single-epoch mode (410 epochs with 30 s separation) as well as in the 10-min sessions (41 solutions).

The L1/E1 and L5/E5a carrier phase ISB reached half of the cycle for each frequency (Table 4; Fig. 6). The repeatability of the estimated ISB, especially code, was higher with respect to the previous experiments. This was certainly caused by higher number of the applied Galileo satellites. The code ISB for L1/E1 frequency reached approximately \(-\)0.2 m; at the same time, the code ISB on L5/E5a frequency was close to zero.

Table 4 Statistics of the estimated ISB for the ESTEC experiment (Javad Alpha—Septentrio TUR-N)
Fig. 6
figure 6

Estimated phase (left) and code (right) ISBs in the single-epoch solution for the ESTEC-RFPSL experiment, Javad ALPHA—Septentrio TUR-N for: L1/E1 (1st row) and L5/E5a (2nd row)

4 Performance of the ambiguity resolution in the combined GPS+Galileo model with different strategies of accounting for ISB

In the previous section, we determined the fractional phase and code ISB for various sets of receiver pairs. Here, we evaluate potential applicability of previously determined ISB in correcting observations in the rover solution. The performance of two methods of accounting for ISB in the rover solution was analyzed. In particular:

  1. 1.

    the introduction of code and carrier phase ISBs as additional unknown parameters in the data adjustment,

  2. 2.

    the correction of DD observations by introducing previously determined (known) ISBs.

The first strategy was utilized in the previous experiments for the determination of the phase and code ISB. However, in this experiment, the coordinates of the rover were not held fixed. Here, the observational model presented in Eqs. (1516) is applied. In the second approach, we take advantage of the previously determined ISB. Known ISBs from the reference solution were used to correct DD carrier phase and code observations. Please note that DD GPS+Galileo phase observations are corrected only with the fractional part of the phase ISB. Thus, the integer part of the phase ISB is combined with DD ambiguities creating new integer parameter as in Eqs. (1516). Consequently, DD GPS+Galileo ISB-corrected observation equations are derived:

$$\begin{aligned} \mathop {\bar{\phi }}\nolimits _{kl}^{GE}&= \varrho _{kl}^{GE} +\lambda \mathop {\bar{N}}\nolimits _{kl}^{GE} +\;\epsilon _{kl,\phi }^{GE} \end{aligned}$$
(18)
$$\begin{aligned} \mathop {\bar{P}}\nolimits _{kl}^{GE}&= \varrho _{kl}^{GE} +\epsilon _{kl,P}^{GE} \end{aligned}$$
(19)

The presented strategies were verified using the data collected during the UNB ‘2012 experiment (Sect. 3.2). The processing scenario assumed single-frequency L1/E1 relative static positioning using 5-min-long sessions with 30-s interval (10 epochs per session). The baseline length was 19 m, Trimble receiver served as the reference station, and Javad and Septentrio receivers served as static rovers. Again, the ambiguities were resolved with the LAMBDA method.

The performance of the both methods of accounting for the ISB was analyzed on the basis of several parameters related to the statistics of the ambiguity resolution: mean time-to-fix (TF), ambiguity resolution success rate (AS) and ambiguity validation failure rate (AF) (Paziewski and Wielgosz 2014). The TF shows the number of epochs which are required to obtain a fixed solution. AS shows the ratio of the number of sessions with correctly solved and validated ambiguities to the number of all processed sessions. On the other hand, the ambiguity failure rate (AF) reflects the ratio of the number of sessions with incorrectly resolved ambiguities, which passed the ambiguity validation procedure, to the number of all processed sessions. The percentage of the sessions which were correctly resolved in the first epoch was denoted as 1epF.

Table 5 presents the above parameters which served for evaluation of the solutions in the ambiguity domain. It can be clearly seen that the introduction of the known ISB and correction of the observations has an advantage over the estimation of the ISB in the positioning model. For the Trimble–Javad baseline, almost 17 % more sessions were correctly resolved at the first epoch (1epF) when using known ISB corrections (strategy #2) rather than estimation (strategy #1). For the Trimble–Septentrio baseline, this parameter was also higher and the improvement reached almost 12 % (Table 5). For both baselines, the correction of the observations by the introduction of the known ISB points to shorter time-to-fix. The longest time-to-fix was obtained for the Trimble–Javad pair with estimation of the ISB. On the other hand, the fastest correct solution was obtained for the Trimble–Septentrio baseline with the introduction of ISB, when 100 % of the sessions were correctly resolved at the first epoch. There were no wrong fixes in each of the strategies, none of the sessions were included in the ambiguity failure statistics (AF). The application of each processing strategy resulted in similarly high repeatability of the obtained fixed coordinates: 1, 1, 3 mm for N, E, U components, respectively.

Table 5 Statistics of the application of different strategies of accounting for ISB in the rover solution

5 Conclusions and summary

The presented experiments show that in the tightly combined GPS+Galileo processing the receiver inter-system bias is absent when a baseline is formed with receivers of the same type (including the same OEM boards and firmware versions). For a baseline formed with receivers of different types, the ISB shows significant values that cannot be neglected. This indicates that the ISB is receiver-type dependent. Similar conclusions were also derived, e.g., in the work by Odijk and Teunissen (2013).

The phase and code ISBs show also high epoch-by-epoch repeatability during several hours of experiments. The mean ISB estimated in the single-epoch solution is very close to values estimated in the 10-min sessions. It was shown that the phase ISB can be estimated in the single-epoch solution with 1–2 mm of noise. At the same time, the accuracy of the instantaneous code ISB is at a decimeter level. The ISB values estimated as a single (constant) parameter in longer sessions show better repeatability than epoch-varying parameter in single-epoch solutions. These facts indicate that ISB parameters are rather stable in time and may be estimated as one parameter per session. What is more, the results of the ISB estimates obtained using the same receiver configuration, but in experiments separated by over 18 months, show very high repeatability. This confirms high temporal stability of the ISBs. On the other hand, the CNES experiment depicted that ISB estimated using single Galileo satellite is importantly influenced by signal quality and biases. The sum of the phase and code ISB in the triangle built of three receiver pairs equals zero. This means that we can directly compute ISB for, e.g., B-C receiver pair if we know ISBs for A-B and A-C pairs. It was also shown that the code and phase ISBs depend on signal frequency and differ for L1/E1 and L5/E5a signals.

Also, the carrier phase and code ISBs for a particular receiver pair can be estimated once and introduced as a known correction in GPS+Galileo tightly combined processing. The positioning experiment showed that the introduction of the known ISB parameter had an advantage over the estimation of the ISB. The positive impact was also observed in the performance of the carrier phase ambiguity resolution.

Further research will be carried out on determination of the inter- system biases with greater number of Galileo satellites over extended period of time. Also, the influence of the receive firmware changes on the estimated ISB will be studied, since this may have impact on ISB values.