1 Introduction

PPP-RTK is integer ambiguity resolution-enabled precise point positioning (PPP) (Wubbena et al. 2005; Mervart et al. 2008; Teunissen et al. 2010). It extends the PPP concept (Zumberge et al. 1997; Kouba and Heroux 2001; Bisnath and Gao 2008) by providing single-receiver users, next to the orbits and clocks, also information about the satellite phase biases. In this contribution we discuss PPP-RTK in the context of multi-system integration and in particular with reference to the occurrence of system-specific receiver biases (Hegarty et al. 2004; Montenbruck et al. 2011).

To gain from the enormous benefits that the integration of multiple GNSS/RNSS systems can bring (Teunissen et al. 2014; He et al. 2014; Chu and Yang 2014; Odolinski et al. 2015; Nadarajah et al. 2015; Li et al. 2015), it is important that any misalignments between the systems is properly taken care of. Indeed, as recent contributions have shown, the existence of non-zero inter-system biases—experienced by receivers of different types—results, if ignored, in a catastrophic failure of integer ambiguity resolution (Odijk and Teunissen 2013a; Paziewski and Wielgosz 2014; Nadarajah et al. 2014; Torre and Caporali 2015). It is the goal of the present contribution to present the undifferenced, multi-system PPP-RTK enabled functional models for both network and users, and to present different scenarios of how these system-specific receiver biases can be taken into account. By an application of \(\mathcal {S}\)-system theory (Baarda 1973; Teunissen 1985), the estimable parameters of the multi-system mixed-receiver network and user models are described, thereby identifying how each of the three components of PPP-RTK (Fig. 1) are affected by the presence of these biases. Although we have chosen for a specific \(\mathcal {S}\)-basis in this contribution, the presentation is such that our conclusions can be replicated for any such \(\mathcal {S}\)-basis, thus also for those chosen in e.g. (Laurichesse and Mercier 2007; Collins 2008; Ge et al. 2008; Bertiger et al. 2010; Geng et al. 2012), see the review (Teunissen and Khodabandeh 2015).

This contribution is organized as follows. In Sect. 2 we first present and discuss the full-rank undifferenced network system of observation equations for a single system. Such a description of its estimable parameters, and how they relate to the chosen \(\mathcal {S}\)-basis, is crucial to properly understand their propagation into the PPP-RTK corrections and user models. A fivefold decomposition of the PPP-RTK corrections is therefore presented in Sect. 3. It shows that next to the primary function of the corrections, which is the removal of satellite clocks and satellite phase/code biases from the user observation equations, the corrections also establish an additional four \(\mathcal {S}\)-basis dependent links between network and user. As a result the decomposition directly makes clear how the estimability of the user parameters is linked to the estimability of the network parameters.

In Sect. 4, we generalize the single-system network model to the multi-system case, thereby taking the possible presence of system-specific receiver biases into account. Two different parametrizations of the full-rank multi-system network system of observation equations are presented. In the first formulation use is made of the system-specific estimable receiver clocks and receiver phase/code biases, while in the second formulation the estimable Inter-system biases (ISBs) are introduced, thereby taking the system-specific nature of the parameters relative to a reference system. Although there is no preference per se between the two parametrizations, the ISB parametrization is usually considered more appealing as it shows the effect of having system-specific receiver biases explicitly.

Fig. 1
figure 1

Three components of PPP-RTK: (1) network-component, (2) correction-component and (3) user-component

In Sect. 5, we discuss the role of the inter-system biases in the context of PPP-RTK. The effect of the estimable ISBs is shown and three different ISB-scenarios are presented and discussed, the ISB-unknown model, the ISB-known model and the ISB-corrected model. This also shows which model a multi-system PPP-RTK user has to use when confronted with PPP-RTK corrections derived from a multi-system network of mixed receivers. Such is the case, for instance, for many networks that provide information in the public domain, like e.g. the IGS network.

In Sect. 6, we show how PPP-RTK users can benefit from network-derived ISBs. Next to the provision of the PPP-RTK corrections, the idea is to provide an ISB look-up table as a means to support multi-system PPP-RTK. It consists of accurately determined network-derived estimable ISB solutions. As the ISBs may be considered stable in time, the look-up table is made up of calibrated estimable ISBs having low refreshment rates.The user can then search the table for a network receiver of the same type and select the corresponding ISBs, thus effectively realizing his own ISB-corrected user model. By applying such corrections, the user model is strengthened and the number of integer-estimable user ambiguities is maximized.

2 Single-system network estimability

Table 1 Estimable parameters formed by the chosen \(\mathcal {S}\)-basis of the single-system network model

To understand multi-system PPP-RTK estimability, one first needs a rigorous estimability description of an individual single system. Let the single-system phase and code observation equations of a network receiver r (\(r=1,\ldots ,n\)), tracking satellite s (\(s=1,\ldots ,m\)) on frequency j (\(j=1,\ldots ,f\)), (Teunissen and Kleusberg 1998; Hofmann-Wellenhof et al. 2008) be given as

$$\begin{aligned} \begin{array}{lcl} \Delta \phi _{r,j}^{s} &{} = &{} (\Delta \rho _r^{s}+\mathrm{d}t_r-\mathrm{d}t^{s})-\mu _j\iota _r^{s}+\lambda _j(z_{r,j}^{s}+\delta _{r,j}-\delta _{,j}^{s})\\ \Delta p_{r,j}^{s} &{} = &{} (\Delta \rho _r^{s}+\mathrm{d}t_r-\mathrm{d}t^{s})+\mu _j\iota _r^{s}+(d_{r,j}-d_{,j}^{s}), \end{array} \end{aligned}$$
(1)

where \(\Delta \phi _{r,j}^{s}\) and \(\Delta p_{r,j}^{s}\) denote the ‘observed minus computed’ phase and code observations, respectively. Here and in the following, the precise orbital corrections are assumed included in the observed minus computed observations. The increment of the geometric range, lumped with that of the zenith tropospheric delay (ZTD), is denoted by \(\Delta \rho _r^{s}\). This increment can be further parametrized into a position and ZTD increment \(\Delta x_r\) through \(\Delta \rho _r^s=g^{sT}\Delta x_r\), with \(g^{s}\) containing the receiver–satellite direction vector and the tropospheric mapping function. The common receiver and satellite clock parameters are, respectively, denoted as \(d t_r\) and \(d t^{s}\). They are accompanied by the frequency-dependent code receiver and satellite biases \(d_{r,j}\) and \(d_{,j}^{s}\). Ambiguities, in units of cycles, are composed of the integer part \(z_{r,j}^{s}\) and the receiver/satellite non-integer parts \(\delta _{r,j}\) and \(\delta _{,j}^{s}\), respectively. They manifest themselves through their wavelength \(\lambda _j\). The (first-order) slant ionospheric delay, as experienced on the first frequency, is denoted by \(\iota _r^{s}\). Thus we have the scalars \(\mu _j=(\lambda _j^2/\lambda _1^2)\) linking the ionospheric delays to the observations. Apart from \(z_{r,j}^{s}\), \(\delta _{r,j}\) and \(\delta _{,j}^{s}\), the rest of the quantities are all expressed in units of range.

The above network system of equations (1) is rank-defect. The information content of the network observations is not sufficient to determine all the network’s ‘absolute’ parameters. Only estimable combinations of these parameters can be solved for. Through a careful application of \(\mathcal {S}\)-system theory (Teunissen 1985), the underlying rank-deficiency of the network model can be identified and then removed. Different choices of such \(\mathcal {S}\)-bases for rank-deficiency removal are possible, see e.g. Odijk et al. (2015); Khodabandeh and Teunissen (2015). For a given \(\mathcal {S}\)-basis, a full-rank version of the network model (1) reads

$$\begin{aligned} \begin{array}{lcl} \Delta \phi _{r,j}^{s} &{} = &{} \Delta \tilde{\rho }_r^s+\mathrm{d}\tilde{t}_{r}-\mathrm{d}\tilde{t}^{s}-\mu _j\tilde{\iota }_r^{s}+\lambda _j(\tilde{z}_{r,j}^s+\tilde{\delta }_{r,j}-\tilde{\delta }_{,j}^{s})\\ \Delta p_{r,j}^{s} &{} = &{} \Delta \tilde{\rho }_r^s+\mathrm{d}\tilde{t}_{r}-\mathrm{d}\tilde{t}^{s}+\mu _j\tilde{\iota }_r^{s}+\tilde{d}_{r,j}-\tilde{d}_{,j}^s \end{array} \end{aligned}$$
(2)

for \(r=1,\ldots ,n\), where \(\Delta \tilde{\rho }_r^s=g^{sT}\Delta \tilde{x}_r\).

The chosen \(\mathcal {S}\)-basis and the corresponding interpretation of the estimable parameters, indicated with the \(\tilde{.}\)-symbol, are given in Table 1. The table shows how each estimable parameter is formed as a certain linear combination of the original parameters. The subscripts ‘IF’ and ‘GF’ stand for the ‘ionosphere-free’ and ‘geometry-free’ combinations, respectively (see the table for their definition).

Note that in the \(\mathcal {S}\)-basis choice given here, the estimable parameters are formed by lumping the parameters of the reference receiver \(r=1\) and the satellite code biases on the first two frequencies. Would one choose another \(\mathcal {S}\)-basis, a different set of estimable parameters is formed. Thus the estimable functions can be formed in many different ways, presenting different interpretations. Each set can be linked to one another by \(\mathcal {S}\)-transformations (Baarda 1973; Teunissen 1985). Examples of such linkages are given in Odijk et al. (2015).

The following three important remarks can be made with respect to the estimable parameters of (2). First, the GNSS observations are not capable of determining the ‘absolute’ parameters, but only estimable parameters that can act as such. After forming a full-rank model, one can therefore not speak of the satellite clock or the satellite phase biases. It is instead the \(\mathcal {S}\)-dependent estimable functions, \(\mathrm{d}\tilde{t}^s\) and \(\tilde{\delta }_{,j}^s\), that take their role.

Second, with the chosen \(\mathcal {S}\)-basis, the estimable code biases, \(\tilde{d}_{,j}^s\) and \(\tilde{d}_{r,j}\), only exist on the third frequency and beyond (i.e. \(j>2\)). Thus, given the full-rank model (2), no estimable code biases exist in the dual-frequency setup.

Third note that, with the chosen \(\mathcal {S}\)-basis, the estimable phase and code biases, \(\tilde{\delta }_{,j}^s\) and \(\tilde{d}_{,j}^s\), become functions of their ‘absolute’ versions, i.e. \(\delta _{,j}^s\) and \(d_{,j}^s\), and (in case of \(\tilde{\delta }_{,j}^s\)) the integer-valued ambiguities \(z_{1,j}^s\) only (cf. Table 1). This means that if the absolute parameters \(\delta _{,j}^s\), \(d_{,j}^s\), and \(z_{1,j}^s\) are assumed constant in time, that the estimable parameters \(\tilde{\delta }_{,j}^s\) and \(\tilde{d}_{,j}^s\) can be assumed time-constant as well. One is therefore allowed to directly apply such a dynamic model to the stated estimable parameters rather than to their absolute versions.

Table 2 The fivefold expression of the single-system PPP-RTK corrections, given the \(\mathcal {S}\)-basis in Table 1

Large-scale networks In our analysis so far, we have assumed the network to be such that the receivers view satellite s from almost the same direction angle, i.e. \(g_r^s \approx g^s\), \(r=1,\ldots ,n\). This assumption holds for small-to-regional networks. In case of a large-scale network, however, i.e. when \(g_r^s \ne g^s\), the linear dependency between the position increment \(\Delta x_r\) and the satellite clocks \(\mathrm{d}t^s\) vanishes. The estimability of the stated parameters changes then to (compare with Table 1)

$$\begin{aligned} \begin{array}{lcl} \Delta \tilde{x}_r &{}\mapsto &{} \Delta x_r \\ \mathrm{d}\tilde{t}^s &{} \mapsto &{} (\mathrm{d}t^{s}+d_{,\scriptscriptstyle \mathrm{IF}}^{s})-(\mathrm{d}t_{1}+d_{1, \scriptscriptstyle {\mathrm{IF}}}), \end{array} \end{aligned}$$
(3)

while the estimability of the rest of the estimable parameters remains unaffected. In the following, without loss of generality, we therefore keep assuming \(g_r^s \approx g^s\), \(r=1,\ldots ,n\). This assumption allows the inclusion of small-to-regional networks in our discussion as well.

3 Single-system corrections

3.1 Fivefold functionality of the corrections

Not all of the network parameters, as given in Table 1, are of interest to the PPP-RTK users. Apart from the orbital corrections, the PPP-RTK users only need to be provided with the satellite clocks, phase/code biases and (sometimes) the ionospheric corrections. Here we consider the case where no ionospheric correction is provided to the user.

Due to the network’s rank-deficiency, the network cannot provide the actual satellite clocks \(d{t}^s\), phase biases \(\delta _{,j}^s\), and code biases \(d_{,j}^s\), but only their estimable variants \(\mathrm{d}\tilde{t}^s\), \(\tilde{\delta }_{,j}^s\), and \(\tilde{d}_{,j}^s\) (\(f>2\)). These corrections come together, at the observation level of the user, in the combined form

$$\begin{aligned} \begin{array}{lcl} c_{\phi ,j}^s &{}=&{} \mathrm{d}\tilde{t}^s+\lambda _j\tilde{\delta }_{,j}^s\\ c_{p,j}^s &{}=&{} \!\left\{ \!\begin{array}{lcl} \mathrm{d}\tilde{t}^s &{}&{} j=1,2\\ \mathrm{d}\tilde{t}^s+\tilde{d}_{,j}^s &{}&{} j>2\end{array}\right. \end{array} \end{aligned}$$
(4)

Thus \(c_{\phi ,j}^s\) and \(c_{p,j}^s\) are the combined corrections that need to be added to the user phase and code data, respectively.

As these corrections are not only composed of the actual satellite clocks \(d{t}^s\), phase biases \(\delta _{,j}^s\), and code biases \(d_{,j}^s\), it is important for the user to know their composition and to understand that their interpretation changes, would the choice of the network’s \(\mathcal {S}\)-basis change. With the aid of the interpretation given in Table 1, the combined corrections (4) can be characterized through the following fivefold expressions

$$\begin{aligned} \left[ \begin{array}{c} c_{\phi ,j}^s\\ c_{p,j}^s \end{array}\right] = \mathrm{I}- {\mathrm{I}\!\mathrm{I}}_1 - {\mathrm{I}\!\mathrm{I}\!\mathrm{I}}_1 - {\mathrm{I}\!\mathrm{V}}{\!_1} - {\mathrm{V}}\!_{[1,2]} \end{aligned}$$
(5)

Each of these five terms has its own insightful functionality (cf. Table 2). The first term \(\mathrm{I}\) contains the ‘absolute’ parameters \(\mathrm{d}t^s\), \(\delta _{,j}^s\) and \(d_{,j}^s\). Its functionality is considered to be the most primary one, since it does what it is supposed to do, namely to remove the satellite clocks, phase and code biases from the user observation equations.

The second term \({\mathrm{I}\!\mathrm{I}}_1\) contains the increment of the geometric/tropospheric range of the reference network receiver, i.e. \(\Delta \rho _1^{s}\). Its functionality is therefore to establish a positional link between the user and the reference network receiver \(r=1\). That the first receiver is taken as the reference network is due to the choice of \(\mathcal {S}\)-basis by the network-component. Would one lump the geometric/tropospheric range of the second network receiver (i.e. \(\Delta \rho _2^{s}\)) with the satellite clocks, the interpretation of \({\mathrm{I}\!\mathrm{I}}_1\) would then change to

$$\begin{aligned} {\mathrm{I}\!\mathrm{I}}_1 \mapsto {\mathrm{I}\!\mathrm{I}}_2 = \left[ \begin{array}{c} \Delta \rho _2^s\\ \Delta \rho _2^s \end{array}\right] , \end{aligned}$$
(6)

which then establishes a positional link between the user and the reference network receiver \(r=2\). One can also consider a more general case, when the satellite clocks are lumped with an average of the geometric/tropospheric ranges over all the network stations, say \(\Delta \rho _{\bar{r}}^{s}=(1/n)\sum _{r=1}^n \Delta \rho _r^{s}\). Given such \(\mathcal {S}\)-basis, the interpretation of \({\mathrm{I}\!\mathrm{I}}_1\) changes to

$$\begin{aligned} {\mathrm{I}\!\mathrm{I}}_1 \mapsto {\mathrm{I}\!\mathrm{I}}_{\bar{r}} = \frac{1}{n}\sum _{r=1}^n{\mathrm{I}\!\mathrm{I}}_{r}, \end{aligned}$$
(7)

making a positional link between the user and the average of the network receivers, i.e. \(\bar{r}\).

The third term \({\mathrm{I}\!\mathrm{I}\!\mathrm{I}}_1\) contains the integer ambiguities of the reference network receiver \(r=1\), i.e. \(z_{1,j}^{s}\). Thus it establishes an ambiguity link between the user and the reference network receiver \(r=1\). Similar to the second term, one can change its dependency on the first receiver to another by changing the network’s \(\mathcal {S}\)-basis.

The fourth term \({\mathrm{I}\!\mathrm{V}}{\!_1}\) contains the receiver-dependent parameters of the reference network receiver \(r=1\). Its functionality is to make the user receiver-dependent parameters estimable with respect to those of the reference receiver \(r=1\). Similar to the second and third terms \({\mathrm{I}\!\mathrm{I}}_1\) and \({\mathrm{I}\!\mathrm{I}\!\mathrm{I}}_1\), the interpretation of \({\mathrm{I}\!\mathrm{V}}{\!_1}\) can change, for instance, to \({\mathrm{I}\!\mathrm{V}}{\!_2}\) or \({\mathrm{I}\!\mathrm{V}}{\!_{\bar{r}}}\), would the network’s \(\mathcal {S}\)-basis change. Moreover, as we will see in Sect. 4, this receiver-dependent fourth term may also change in case GNSSs are combined.

The fifth and last term \({\mathrm{V}}\!_{[1,2]}\) contains the geometry-free components of the satellite code biases on the first two frequencies (\(j=1,2\)), i.e. \(d_{,\scriptscriptstyle \mathrm{GF}}^s\). As it is accompanied by the coefficients \([-\mu _j,\mu _j]^\mathrm{T}\), it gets fully absorbed by the user ionospheric parameters. Due to its dependency on the network’s \(\mathcal {S}\)-basis, the interpretation of \({\mathrm{V}}\!_{[1,2]}\) can change. One can form \(d_{,\scriptscriptstyle \mathrm{GF}}^s\) based on the first and third frequency instead of the first and second frequency (cf. Table 1). With such newly defined geometry-free combinations, the last term \({\mathrm{V}}\!_{[1,2]}\) switches to \({\mathrm{V}}\!_{[1,3]}\), thus resulting in a different estimable ionospheric parameter for the user.

Network’s interpolated ionospheric corrections The PPP-RTK corrections are sometimes extended by the ionospheric corrections to speed up user integer ambiguity resolution. In that case use is made of the network’s interpolated ionospheric delays (Table 1)

$$\begin{aligned} \tilde{\iota }_{o}^s = \iota _{o}^s+d_{o, \scriptscriptstyle \mathrm{GF}}-d_{,\scriptscriptstyle \mathrm{GF}}^s \end{aligned}$$
(8)

to be provided to the user. The subscript o indicates the interpolation operator over \(r=1,\ldots ,n\). As the combined corrections (4) are changed to

$$\begin{aligned} \left[ \begin{array}{c} c_{\phi ,j}^s\\ c_{p,j}^s \end{array}\right] \mapsto \left[ \begin{array}{c} c_{\phi ,j}^s\\ c_{p,j}^s\end{array}\right] -\left[ \begin{array}{c} -\mu _j\\ +\mu _j\end{array}\right] \tilde{\iota }_{o}^s \end{aligned}$$
(9)

the first and last terms I and \(V_{[1,2]}\) in (5) are, respectively, changed to

$$\begin{aligned} \mathrm{I}\mapsto \left[ \begin{array}{c} \mathrm{d}t^s+\lambda _j\delta _{,j}^s+\mu _j\iota _{o}^s\\ \mathrm{d}t^s+d_{,j}^s-\mu _j\iota _{o}^s \end{array}\right] \end{aligned}$$
(10)

and

$$\begin{aligned} {\mathrm{V}}\!_{[1,2]}\mapsto \left[ \begin{array}{c} -\mu _j\\ +\mu _j \end{array}\right] d_{o, \scriptscriptstyle \mathrm{GF}} \end{aligned}$$
(11)

According to (10) and (11), the functionality of \(\mathrm{I}\) is extended by also correcting the user ionospheric delays \(\iota _u^s\) using the interpolated delays \(\iota _{o}^s\). On the other hand, there would then be no user ionospheric parameter to absorb the bias \(d_{o, \scriptscriptstyle \mathrm{GF}}\) of the last term \({\mathrm{V}}\!_{[1,2]}\). This bias, if unknown (and not calibrated, e.g. through IGS), would then need to be estimated as an extra parameter at the user side.

3.2 User-component

Replacing the subscript r by the user index u in (1), the single-receiver user observation equations follow as:

$$\begin{aligned} \begin{array}{lcl} \Delta \phi _{u,j}^{s} &{} = &{} \Delta \rho _u^{s}+\mathrm{d}t_u-\mathrm{d}t^{s}-\mu _j\iota _u^{s}+\lambda _j(z_{u,j}^{s}+\delta _{u,j}-\delta _{,j}^{s})\\ \Delta p_{u,j}^{s} &{} = &{} \Delta \rho _u^{s}+\mathrm{d}t_u-\mathrm{d}t^{s}+\mu _j\iota _u^{s}+d_{u,j}-d_{,j}^{s} \end{array} \end{aligned}$$
(12)

The above user system of observation equations is not solvable for an integer ambiguity resolved position. Applying the correction-component (4) can however, link the user parameters to the network’s \(\mathcal {S}\)-basis. To see this, we re-write the user model (12) as (cf. 5)

$$\begin{aligned} \left[ \begin{array}{c} \Delta \phi _{u,j}^{s}\\ \Delta p_{u,j}^{s} \end{array}\right] = -\mathrm{I}+ {\mathrm{I}\!\mathrm{I}}_u + {\mathrm{I}\!\mathrm{I}\!\mathrm{I}}_u + {\mathrm{I}\!\mathrm{V}}{\!_u} + {\mathrm{V}}\!_{u,[1,2]} \end{aligned}$$
(13)

with

$$\begin{aligned} {\mathrm{V}}\!_{u,[1,2]} = \left[ \begin{array}{c}-\mu _j\\ +\mu _j \end{array}\right] (\iota _{u}^s+d_{u,\scriptscriptstyle \mathrm{GF}}) \end{aligned}$$
(14)
Fig. 2
figure 2

Schematic construction of the user-estimable parameters that are formed by the fivefold functionality of the corrections (Table 2), linked to the network’s \(\mathcal {S}\)-basis

The fivefold representation (13) demonstrates how the network-derived corrections govern the estimability of the user parameters. The schematic construction of the user-estimable parameters is illustrated in Fig. 2. The figure shows the fivefold decomposition of the network corrections (cf. 5) as well as how the user data can be composed from the user-versions of these five terms (cf. 13). Recalling the fivefold functionality of the corrections (5), the satellite clocks and biases are cancelled out by the first term \(\mathrm{I}\). The ‘absolute’ position and ambiguity terms \({\mathrm{I}\!\mathrm{I}}_u\) and \({\mathrm{I}\!\mathrm{I}\!\mathrm{I}}_u\) are, respectively, biased by the \(\mathcal {S}\)-basis dependent terms \({\mathrm{I}\!\mathrm{I}}_1\) and \({\mathrm{I}\!\mathrm{I}\!\mathrm{I}}_1\), thus leading to the ‘estimable’ position and ambiguity terms (\({\mathrm{I}\!\mathrm{I}}_u\!-\!{\mathrm{I}\!\mathrm{I}}_1\)) and (\({\mathrm{I}\!\mathrm{I}\!\mathrm{I}}_u\!-\!{\mathrm{I}\!\mathrm{I}\!\mathrm{I}}_1\)), respectively. Likewise, the receiver-specific term \({\mathrm{I}\!\mathrm{V}}_u\) as well as the ionospheric term \({\mathrm{V}}\!_{u,[1,2]}\) are replaced by their estimable counterparts (\({\mathrm{I}\!\mathrm{V}}\!_u\!-\!{\mathrm{I}\!\mathrm{V}}\!_1\)) and (\({\mathrm{V}}\!_{u,[1,2]}\!-\!{\mathrm{V}}\!_{,[1,2]}\)). Therefore, after applying the corrections, the user-corrected observation equations take the following form:

$$\begin{aligned} \Delta \phi _{u,j}^{s}+c_{\phi ,j}^s= & {} \Delta \tilde{\rho }_u^s+\mathrm{d}\tilde{t}_{u}-\mu _j\tilde{\iota }_u^{s}+\lambda _j(\tilde{z}_{u,j}^s+\tilde{\delta }_{u,j})\nonumber \\ \Delta p_{u,j}^{s}+c_{p,j}^s= & {} \Delta \tilde{\rho }_u^s+\mathrm{d}\tilde{t}_{u}+\mu _j\tilde{\iota }_u^{s}+\tilde{d}_{u,j} \end{aligned}$$
(15)

with \(\Delta \tilde{\rho }_u^s=g^{sT}\Delta \tilde{x}_u\). These corrected observation equations are now solvable, but only for the estimable parameters (with the \(\tilde{.}\)-symbol). Their interpretation follows from the user version of those in Table 1, i.e. with r replaced by u. Note that the ‘integer-recovered’ user ambiguities have now become straightforward double-differenced (DD) ambiguities, that is

$$\begin{aligned} \begin{array}{lcl} \tilde{z}_{u,j}^s= & {} z_{1u,j}^{1s}\in \mathbb {Z},\quad s\ne 1 \end{array} \end{aligned}$$
(16)

These integer-estimable ambiguities in the user system of observation equations are thus dependent on \(z_{1,j}^{s}\), the integer ambiguities of the network reference receiver. We remark that one may choose an average of the ambiguities of the network receivers as the \(\mathcal {S}\)-basis, i.e. \({\mathrm{I}\!\mathrm{I}\!\mathrm{I}}_{1}\) replaced by \({\mathrm{I}\!\mathrm{I}\!\mathrm{I}}_{\bar{r}}\) (cf. Table 2). In that case, the ‘integer-recovered’ user ambiguities become linear functions of the DD ambiguities (Odijk et al. 2015, Eq. 34).

\(\mathcal {S}\)-dependence of user parameters

The above has shown that the \(\mathcal {S}\)-basis dependency propagates from network, through the corrections, onwards to the user. It is therefore of importance to understand what the consequences of this dependence are. Fortunately, the choice of \(\mathcal {S}\)-basis does not affect ones ability to secure the integerness of the single-receiver estimable user ambiguities. That is, for every possible choice of \(\mathcal {S}\)-basis, PPP-RTK corrections can be formed such that the estimable user ambiguities become integer. The choice of \(\mathcal {S}\)-basis has therefore no consequence for this primary goal of PPP-RTK. Examples of different such \(\mathcal {S}\)-bases can be found in the review paper (Teunissen and Khodabandeh 2015).

The estimable user parameters themselves however, do depend on the chosen \(\mathcal {S}\)-basis. A change in \(\mathcal {S}\)-basis can for instance modify the interpretation of the positioning/ZTD increment \(\Delta \tilde{x}_u\) (cf. \({\mathrm{I}\!\mathrm{I}}_1\) in 5) and/or of the DD ambiguities \(\tilde{z}_{u,j}^s\) (cf. \({\mathrm{I}\!\mathrm{I}\!\mathrm{I}}_1\) in 5). Also non-positioning users need to be aware of the \(\mathcal {S}\)-basis dependence. This is for instance true for the presence of the satellite and receiver biases \(d_{,\scriptscriptstyle \mathrm{GF}}^{s}\) and \(d_{u, \scriptscriptstyle \mathrm{GF}}\) in the estimable slant ionospheric parameter \(\tilde{\iota }_u^s\). But also users who are interested in analysing or calibrating receiver-specific biases, like e.g. \(\mathrm{d}\tilde{t}_{u}\), \(\tilde{\delta }_{u,j}\) and \(\tilde{d}_{u,j}\), need to know that these biases are not ‘absolute’, but relative to those of a reference station (satellite) or a linear function thereof.

4 Multi-system PPP-RTK

In the previous section, the three components of the single-system PPP-RTK concept were formulated and discussed. In this section, we generalize the concept to the multi-systems \(\star ={G},{J},\ldots ,{E}\). As one needs to discriminate between the satellites of different systems, our earlier satellite index ‘s’ becomes obsolete. Instead, we make use of the satellite index \(s_\star \) (\(s_\star =1_\star ,\ldots ,m_\star \)) for the system \(\star \). Although each system can broadcast signals on different frequency bands, we restrict ourselves in this contribution to those frequency bands that are in common with these systems. With this in mind, our earlier frequency index ‘j’ (\(j=1,\ldots ,f\)) stands for the jth overlapping frequency of the systems. Note that this restriction does not affect the generality of our discussion as one can apply the rank-deficiency removal to the multi-system models, of different frequencies, along similar lines as that of the single-system models.

Table 3 gives an overview of the current frequencies shared by the navigation satellite systems. The two systems GPS and QZSS, for instance, have the three frequencies L1, L2 and L5 in common, while with the Galileo system, they share the two overlapping frequencies L1 and L5 (E5a).

Table 3 Current frequencies shared by GPS, QZSS, Galileo, BeiDou and IRNSS
Table 4 Single-epoch, multi-system network model’s redundancy, together with the number of observations and number of estimable parameters: f is number of overlapping frequencies; n is number of network stations; M is number of satellites; S is number of systems; \(\nu \) is dimension of position/ZTD vector

4.1 System-specific receiver biases

When one combines systems one has to be aware of system-specific receiver biases. That is, in the multi-system case the receiver bias delays are experienced in a way that is different from system to system (see e.g. Hegarty et al. 2004; Montenbruck et al. 2011; Sleewagen et al. 2012; Odijk and Teunissen 2013a). Under this assumption, the observation equations of the receiver r, tracking the system \(\star \), follow as

$$\begin{aligned} \begin{array}{lcl} \Delta \phi _{r,j}^{s\!_\star } &{} = &{} \Delta \rho _r^{s\!_\star }+\mathrm{d}t_r-\mathrm{d}t^{s\!_\star }-\mu _j\iota _r^{s\!_\star }+\lambda _j[z_{r,j}^{s\!_\star }+{\delta }^{{\star }}_{r,j}-\delta _{,j}^{s\!_\star }]\\ \Delta p_{r,j}^{s\!_\star } &{} = &{} \Delta \rho _r^{s\!_\star }+\mathrm{d}t_r-\mathrm{d}t^{s\!_\star }+\mu _j\iota _r^{s\!_\star }+{d}^{{\star }}_{r,j}-d_{,j}^{s\!_\star } \end{array} \end{aligned}$$
(17)

with \(\Delta \rho _r^{s\!_\star }=g^{s\!_\star T}\Delta x_r\).

Compare the above equations with (1). The role of the receiver biases \(\delta _{r,j}\) and \(d_{r,j}\) is now taken by the system-specific parameters \({\delta }^{{\star }}_{r,j}\) and \({d}^{{\star }}_{r,j}\). Note also that the data in (17) are registered in the ‘time-system’ of G, i.e. only one receiver clock \(\mathrm{d}t_r\) is taken for all the systems. This is allowed as the difference between the time-systems of G and \(\star \ne {G}\) is fully absorbed by the satellite clocks \(\mathrm{d}t^{s\!_\star }\) (\(s_\star =1_\star ,\ldots ,m_\star \)).

Since the full-rank model (2) holds for any single system, one can make the observations equations for a multi-system full-rank in a similar way. The corresponding full-rank model reads

$$\begin{aligned} \Delta \phi _{r,j}^{s\!_\star }= & {} \Delta \tilde{\rho }_r^{s\!_\star }+\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_r-\mathrm{d}\tilde{t}^{s\!_\star }-\mu _j\tilde{\iota }_r^{s\!_\star }+\lambda _j[\tilde{z}_{r,j}^{s\!_\star }+\tilde{\delta }^{\scriptscriptstyle \!\star }_{r,j}-\tilde{\delta }_{,j}^{s\!_\star }]\nonumber \\ \Delta p_{r,j}^{s\!_\star }= & {} \Delta \tilde{\rho }_r^{s\!_\star }+\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_r-\mathrm{d}\tilde{t}^{s\!_\star }+\mu _j\tilde{\iota }_r^{s\!_\star }+{\tilde{d}}^{\scriptscriptstyle \!\star }_{r,j}-\tilde{d}_{,j}^{s\!_\star } \end{aligned}$$
(18)

for \(r=1,\ldots ,n\).

Compare the full-rank model (18) with its single-system version (2). The interpretation of the estimable parameters of this multi-system network model is given in Table 5. It also shows the additional \(\mathcal {S}\)-basis parameters that are chosen for each extra \(\star \)-system.

Due to the ‘system-dependency’ of the receiver biases \({\delta }^{{\star }}_{r,j}\) and \({d}^{{\star }}_{r,j}\), each system has its own estimable receiver clocks \(\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_r\), receiver phase biases \({\tilde{\delta }}^{\scriptscriptstyle \!\star }_{r,j}\) and receiver code biases \({\tilde{d}}^{\scriptscriptstyle \!\star }_{r,j}\) (\(r=2,\ldots ,n\)). Thus we see that the 2fn extra parameters \({\delta }^{{\star }}_{r,j}\) and \({d}^{{\star }}_{r,j}\) result in \((2f-1)(n-1)\) extra estimable parameters per additional system. The difference in these number of parameters, i.e. \(2fn - (2f-1)(n-1)\), is taken up by the extra \(\mathcal {S}\)-basis, namely by \({\delta }^{{\star }}_{1,j}\), \({d}^{{\star }}_{1,j}\) and \({d}^{{\star }}_{r \ne 1, \mathrm{GF}}\) (see Table  5).

Thus note, although the systems are assumed to have only one common clock \(\mathrm{d}t_r\) per receiver, the full-rank multi-system model (18) results in estimable clocks \(\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_r\) that are system specific. The between-system differences of these clocks are however, functions of the code biases \({d}^{{\star }}_{r,j}\), which are more stable than the receiver clocks over time. In Sect. 5, we will therefore reformulate (18) to study the role played by these functions.

Another consequence of the ’system-dependency’ of the receiver biases is that, similar to the single-system case, the single-differenced ambiguities of the pivot satellites \({s\!_\star } = {1_\star }\), i.e. \(z_{1r,j}^{1\!_\star }\), are taken as the \(\mathcal {S}\)-basis to form the system-specific DD ambiguities

$$\begin{aligned} \tilde{z}_{r,j}^{s\!_\star }=z_{1r,j}^{s\!_\star }-z_{1r,j}^{1\!_\star }\in \mathbb {Z}, \quad {s\!_\star } \ne {1_\star }. \end{aligned}$$
(19)

This thus implies that one pivot satellite must be taken for each system.

Table 4 gives an overview of the multi-system network redundancy. It shows how each extra system contributes to the overall redundancy. For instance, with two systems (\(S=2\)), each having the same number of satellites (\(M=2m\)), the increase in redundancy of adding a second system is \((n-1)(f-1)(m-1)\).

Table 5 Estimable parameters formed by the chosen \(\mathcal {S}\)-basis of the multi-system network model

4.2 Multi-system corrections applied

Similar to the single-system case, one can form the multi-system combined corrections (cf. 4)

$$\begin{aligned} \begin{array}{lcl} c_{\phi ,j}^{s\!_\star } &{}=&{} \mathrm{d}\tilde{t}^{s\!_\star }+\lambda _j\tilde{\delta }_{,j}^{s\!_\star }\\ c_{p,j}^{s\!_\star } &{}=&{} \!\left\{ \!\begin{array}{lcl} \mathrm{d}\tilde{t}^{s\!_\star } &{}&{}\quad j=1,2\\ \mathrm{d}\tilde{t}^{s\!_\star }+\tilde{d}_{,j}^{s\!_\star } &{}&{}\quad j>2\end{array}\right. \end{array} \end{aligned}$$
(20)

Since the system-dependent receiver biases \({\delta }^{{\star }}_{1,j}\) and \({d}^{{\star }}_{1,j}\) are lumped with the estimable satellite clocks \(\mathrm{d}\tilde{t}^{s\!_\star }\) and biases \(\tilde{\delta }_{,j}^{s\!_\star }\)/\(\tilde{d}_{,j}^{s\!_\star }\), the fourth term \({\mathrm{I}\!\mathrm{V}}_{\!_1}\) in the fivefold expression (5) is replaced by (cf. Table 2)

$$\begin{aligned} {\mathrm{I}\!\mathrm{V}}_{\!_1}\mapsto {\mathrm{I}\!\mathrm{V}_1^{\star }}= \left[ \begin{array}{ccc} \Delta \mathrm{d}t_1&{}+&{}\lambda _j\Delta {\delta }^{{\star }}_{1,j}\\ \Delta \mathrm{d}t_1&{}+&{}\Delta {d}^{{\star }}_{1,j}\end{array}\!\right] \end{aligned}$$
(21)

As the functionality of \({\mathrm{I}\!\mathrm{V}_1^{\star }}\) is to make the user receiver-dependent parameters estimable with respect to those of the reference receiver \(r=1\), the estimable receiver clock of the user, i.e. \(\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_u\), becomes system-specific as well. The user observation equations follow from (18) by replacing the subscript r with u,

$$\begin{aligned} \Delta \phi _{u,j}^{s\!_\star }= & {} \Delta \tilde{\rho }_u^{s\!_\star }\!+\!\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_u\!-\!\mathrm{d}\tilde{t}^{s\!_\star }-\mu _j\tilde{\iota }_u^{s\!_\star }+\lambda _j[\tilde{z}_{u,j}^{s\!_\star }+\tilde{\delta }^{\scriptscriptstyle \!\star }_{u,j}-\tilde{\delta }_{,j}^{s\!_\star }]\nonumber \\ \Delta p_{u,j}^{s\!_\star }= & {} \Delta \tilde{\rho }_u^{s\!_\star }+\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_u-\mathrm{d}\tilde{t}^{s\!_\star }+\mu _j\tilde{\iota }_u^{s\!_\star }+{\tilde{d}}^{\scriptscriptstyle \!\star }_{u,j}-\tilde{d}_{,j}^{s\!_\star } \end{aligned}$$
(22)

Applying the combined corrections (20)–(22) gives the user-corrected observation equations

$$\begin{aligned} \begin{array}{lcl} \Delta \phi _{u,j}^{s\!_\star }+c_{\phi ,j}^{s\!_\star } &{} = &{} \Delta \tilde{\rho }_u^{s\!_\star }+\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_u-\mu _j\tilde{\iota }_u^{s\!_\star }+\lambda _j[\tilde{z}_{u,j}^{s\!_\star }+\tilde{\delta }^{\scriptscriptstyle \!\star }_{u,j}]\\ \Delta p_{u,j}^{s\!_\star }+c_{p,j}^{s\!_\star } &{} = &{} \Delta \tilde{\rho }_u^{s\!_\star }+\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_u+\mu _j\tilde{\iota }_u^{s\!_\star }+{\tilde{d}}^{\scriptscriptstyle \!\star }_{u,j} \end{array} \end{aligned}$$
(23)

As with the multi-system network model (18), the user must also take one pivot satellite per system to form the DD ambiguities \(\tilde{z}_{u,j}^{s\!_\star }\). Likewise, the user must estimate different receiver clocks \(\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_u\) and receiver biases \(\tilde{\delta }^{\scriptscriptstyle \!\star }_{u,j}\)/\({\tilde{d}}^{\scriptscriptstyle \!\star }_{u,j}\) for each system.

5 Role of the inter-system biases

5.1 Inter-system biases and their estimable functions

So far, the concept of single-system PPP-RTK was shown to carry over quite naturally to that of multi-system PPP-RTK. While the number of satellites increases from

$$\begin{aligned} \text {single-system:} \quad s\in \{1,\ldots ,m\} \end{aligned}$$
(24)

to

$$\begin{aligned} \text {multi-system:} \quad \bigcup \limits _{\star ={G}}^{\!{E}}\left\{ {s\!_\star }\in \{{1\!_\star },\ldots ,{m\!_\star }\}\right\} , \end{aligned}$$
(25)

the network and user have to estimate extra system-specific estimable receiver parameters, namely

$$\begin{aligned}&\text {network:} \nonumber \\&\#\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_r\!=(n\!-\!1),~ \#{\tilde{\delta }}^{\scriptscriptstyle \!\star }_{r,j}\!=\!f(n-1),~ \#{\tilde{d}}^{\scriptscriptstyle \!\star }_{r,j}= (f\!-\!2)(n-1) \nonumber \\&\text {user:} \nonumber \\&\#\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_u\!=1, \#{\tilde{\delta }}^{\scriptscriptstyle \!\star }_{u,j}\!=f, \#{\tilde{d}}^{\scriptscriptstyle \!\star }_{u,j}= (f-2) \end{aligned}$$
(26)

per additional system \(\star \ne {G}\). The presence of these extra unknowns results from the ‘system-dependency’ of the receiver biases \({\delta }^{{\star }}_{r,j}\) and \({d}^{{\star }}_{r,j}\). Instead of parametrizing the system of equations in system-specific parameters, one may also choose for a parametrization in which one system is chosen as reference, say system G. In that case the system-specific nature of the parameters is taken relative to the reference system and one would be working with the differences

$$\begin{aligned} \begin{array}{lcl} {\delta }^{{\scriptscriptstyle {G}\star }}_{r,j} &{}:=&{} {\delta }^{{\star }}_{r,j}-\delta _{r,j} \\ {d}^{{\scriptscriptstyle {G}\star }}_{r,j} &{}:=&{} {d}^{{\star }}_{r,j}-d_{r,j} \end{array} \end{aligned}$$
(27)

where \(\delta _{r,j}:=\delta _{r,j}^{\scriptscriptstyle {G}}\) and \(d_{r,j}:=d_{r,j}^{\scriptscriptstyle {G}}\). The parameters \({\delta }^{{\scriptscriptstyle {G}\star }}_{r,j}\) and \({d}^{{\scriptscriptstyle {G}\star }}_{r,j}\) are referred to as the phase and code inter-system biases (ISBs), respectively (Hegarty et al. 2004). They capture the difference between the receiver biases of the two systems G and \(\star \ne {G}\). They are therefore, by definition, absent in the observation equations of the first system \(\star ={G}\).

Using the above definitions, together with the interpretations given in Tables 1 and 5, the estimable parameters \(\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_r\), \({\tilde{\delta }}^{\scriptscriptstyle \!\star }_{r,j}\) and \({\tilde{d}}^{\scriptscriptstyle \!\star }_{r,j}\) (\(r=2,\ldots ,n\)) can be linked to their counterparts of the system G through

$$\begin{aligned} \begin{array}{lcl} \mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_r &{}=&{} \mathrm{d}\tilde{t}_r+{\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\\ {\tilde{\delta }}^{\scriptscriptstyle \!\star }_{r,j} &{}=&{} \tilde{\delta }_{r,j}+{\tilde{\delta }}^{{G{\star }}}_{r,j}-\frac{1}{\lambda _j}{\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\\ {\tilde{d}}^{\scriptscriptstyle \!\star }_{r,j} &{}=&{} \tilde{d}_{r,j}+{\tilde{d}}^{{G{\star }}}_{r,j},\quad j>2 \end{array} \end{aligned}$$
(28)

in which \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\), \({\tilde{\delta }}^{{G{\star }}}_{r,j}\) and \({\tilde{d}}^{{G{\star }}}_{r,j}\) are estimable functions of the ISBs \({\delta }^{{\scriptscriptstyle {G}\star }}_{r,j}\) and \({d}^{{\scriptscriptstyle {G}\star }}_{r,j}\). Their interpretations are given in Table 6.

As the three estimable parameters \(\mathrm{d}{\tilde{t}}^{\scriptscriptstyle \!\star }_r\), \({\tilde{\delta }}^{\scriptscriptstyle \!\star }_{r,j}\) and \({\tilde{d}}^{\scriptscriptstyle \!\star }_{r,j}\) stand in a one-to-one relation with the three estimable ISBs \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\), \({\tilde{\delta }}^{{G{\star }}}_{r,j}\) and \({\tilde{d}}^{{G{\star }}}_{r,j}\), the relation (28) can be used to reparametrize the observation equations (18) and (23) in terms of the estimable ISBs.

Table 6 Estimable ISBs of the network model (29)
Table 7 Increase in the network model’s redundancy by switching from the ISB-unknown model (former) to the ISB-known model (new)

ISB-unknown models Substitution of (28) into (18) gives the ISB-parametrized multi-system full-rank network model,

$$\begin{aligned} \begin{array}{lcl} \Delta \phi _{r,j}^{s\!_\star } &{} = &{} \Delta \tilde{\rho }_r^{s\!_\star }+\mathrm{d}\tilde{t}_r-\mathrm{d}\tilde{t}^{s\!_\star }-\mu _j\tilde{\iota }_r^{s\!_\star }+\lambda _j[\tilde{z}_{r,j}^{s\!_\star }\\ &{}&{}+\,\tilde{\delta }_{r,j}-\tilde{\delta }_{,j}^{s\!_\star }+{\tilde{\delta }}^{{G{\star }}}_{r,j}]\\ \Delta p_{r,j}^{s\!_\star } &{} = &{} \Delta \tilde{\rho }_r^{s\!_\star }+\mathrm{d}\tilde{t}_r-\mathrm{d}\tilde{t}^{s\!_\star }+\mu _j\tilde{\iota }_r^{s\!_\star }+\tilde{d}_{r,j}-\tilde{d}_{,j}^{s\!_\star }\\ &{}&{}+\,{\tilde{d}}^{{G{\star }}}_{r,\scriptscriptstyle \mathrm{IF}}+{\tilde{d}}^{{G{\star }}}_{r,j} \end{array}\nonumber \\ \end{aligned}$$
(29)

for \(r=1,\ldots ,n\). Likewise, substitution of (28) into (23) (with r replaced by u) gives the ISB-parametrized, multi-system full-rank user-corrected model as

$$\begin{aligned} \begin{array}{lcl} \Delta \phi _{u,j}^{s\!_\star }+c_{\phi ,j}^{s\!_\star } &{} = &{} \Delta \tilde{\rho }_u^{s\!_\star }+\mathrm{d}{\tilde{t}}_u-\mu _j\tilde{\iota }_u^{s\!_\star }\\ &{}&{}+\lambda _j[\tilde{z}_{u,j}^{s\!_\star }+\tilde{\delta }_{u,j}+{\tilde{\delta }}^{{G{\star }}}_{u,j}]\\ \Delta p_{u,j}^{s\!_\star }+c_{p,j}^{s\!_\star } &{} = &{} \Delta \tilde{\rho }_u^{s\!_\star }+\mathrm{d}{\tilde{t}}_u\\ &{}&{}+\mu _j\tilde{\iota }_u^{s\!_\star }+{\tilde{d}}_{u,j}+{\tilde{d}}^{{G{\star }}}_{u,\scriptscriptstyle \mathrm{IF}}+{\tilde{d}}^{{G{\star }}}_{u,j} \end{array}\nonumber \\ \end{aligned}$$
(30)

The multi-system models (29) and (30) are just reparametrized versions of the models (18) and (23), respectively. There is therefore no preference per se between the two, as they give the same outcomes once a rigorous least-squares adjustment is applied. The ISB-parametrization of (29) and (30) may however, be more appealing as it explicitly links the unknown estimable ISBs to the observations. The multi-system models (29) and (30) are therefore referred to as the ISB-unknown models.

5.2 Strengthening the network and user models

5.2.1 ISB-known models

The network and user models (29) and (30) strengthen if the ISBs can be assumed absent, i.e. if the receiver bias delays of all systems are experienced in the same way:

$$\begin{aligned} {d}^{{\scriptscriptstyle {G}\star }}_{r,j}=0\;\;\mathrm{and}\;\;{\delta }^{{\scriptscriptstyle {G}\star }}_{r,j} = 0 \end{aligned}$$
(31)

Substitution into the expressions of \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\), \({\tilde{\delta }}^{{G{\star }}}_{r,j}\) and \({\tilde{d}}^{{G{\star }}}_{r,j}\) in Table 6 gives then

$$\begin{aligned} {\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}=0,\quad {\tilde{d}}^{{G{\star }}}_{r,j}=0,\quad {\tilde{\delta }}^{{G{\star }}}_{r,j} = z_{1r,j}^{1_{{G}}1\!_\star }\in \mathbb {Z} \end{aligned}$$
(32)

This shows that the zero ISBs (31) result in zero estimable code ISBs, \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{r,j}\), and in a transition from the originally real-valued estimable phase ISBs \({\tilde{\delta }}^{{G{\star }}}_{r,j}\) to the integer-valued ambiguities \(z_{1r,j}^{1_{{G}}1\!_\star }\).

Table 7 shows how the network redundancy increases by assuming the ISBs known. The \((f-1)\) times \((n-1)\) number of code ISBs \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{r,j}\) (per system \(\star \ne {G}\)) are now corrected, thus decreasing the number of the estimable parameters. Although the change in the phase ISBs \({\tilde{\delta }}^{{G{\star }}}_{r,j}\) does not increase the redundancy in the network ambiguity float mode, it does recover the integerness of the ambiguities \(z_{1r,j}^{1_{{G}}1\!_\star }\). Hence, after successful integer ambiguity resolution, the redundancy increases by \(f(n-1)\) per system \(\star \ne {G}\). To obtain the increase in redundancy for the user, one has to set \(n=2\) in Table 7.

Only one pivot satellite for all the systems That the estimable phase ISBs \({\tilde{\delta }}^{{G{\star }}}_{r,j}\) turn into the integers \(z_{1r,j}^{1_{{G}}1\!_\star }\) has an important implication for the estimable DD ambiguities \(\tilde{z}_{r,j}^{s\!_\star }\). To see this, consider the interpretation of \(\tilde{z}_{r,j}^{s\!_\star }+{\tilde{\delta }}^{{G{\star }}}_{r,j}\), using (19) and (32), through the following steps

$$\begin{aligned} \begin{array}{lcl} \tilde{z}_{r,j}^{s\!_\star }+{\tilde{\delta }}^{{G{\star }}}_{r,j}&{}=&{}z_{1r,j}^{1\!_\star s\!_\star }+z_{1r,j}^{1_{{G}}1\!_\star }\\ &{}=&{}(z_{1r,j}^{s\!_\star }-z_{1r,j}^{1\!_\star })+(z_{1r,j}^{1\!_\star }-z_{1r,j}^{1_{{G}}})\\ &{}=&{}z_{1r,j}^{1_{{G}}s\!_\star }\in \mathbb {Z},\quad s\!_\star \ne 1_{{G}} \end{array} \end{aligned}$$
(33)

This last expression of (33) reveals that only one pivot satellite, i.e. the first satellite of the first system G, is required to form the estimable DD ambiguities \(z_{1r,j}^{1_{{G}}s\!_\star }\).

With the equality (33), substitution of (32) into (29) gives the ISB-known network model

$$\begin{aligned} \begin{array}{lcl} \Delta \phi _{r,j}^{s\!_\star } &{} = &{} \Delta \tilde{\rho }_r^{s\!_\star }\!+\!\mathrm{d}\tilde{t}_r-\mathrm{d}\tilde{t}^{s\!_\star }-\mu _j\tilde{\iota }_r^{s\!_\star }+\lambda _j[z_{1r,j}^{1_{{G}}s\!_\star }+\tilde{\delta }_{r,j}-\tilde{\delta }_{,j}^{s\!_\star }]\\ \Delta p_{r,j}^{s\!_\star } &{} = &{} \Delta \tilde{\rho }_r^{s\!_\star }+\mathrm{d}\tilde{t}_r-\mathrm{d}\tilde{t}^{s\!_\star }+\mu _j\tilde{\iota }_r^{s\!_\star }+\tilde{d}_{r,j}-\tilde{d}_{,j}^{s\!_\star } \end{array} \end{aligned}$$
(34)

for \(r=1,\ldots ,n\). Likewise, the ISB-known version of the user-corrected observation equations (30) follows as

$$\begin{aligned} \Delta \phi _{u,j}^{s\!_\star }+c_{\phi ,j}^{s\!_\star }= & {} \Delta \tilde{\rho }_u^{s\!_\star }+\mathrm{d}{\tilde{t}}_u-\mu _j\tilde{\iota }_u^{s\!_\star }+\lambda _j[z_{1u,j}^{1_{{G}}s\!_\star }+\tilde{\delta }_{u,j}]\nonumber \\ \Delta p_{u,j}^{s\!_\star }+c_{p,j}^{s\!_\star }= & {} \Delta \tilde{\rho }_u^{s\!_\star }+\mathrm{d}{\tilde{t}}_u+\mu _j\tilde{\iota }_u^{s\!_\star }+{\tilde{d}}_{u,j} \end{aligned}$$
(35)

5.2.2 ISB-corrected models

In the previous subsection we discussed the consequences of having zero ISBs. The assumption of zero ISBs is a plausible assumption when one works with the same receivers (i.e. make, type, firmware). It is, however, not a testable assumption that can be inferred from the GNSS data itself. After all, as was shown in the previous sections, the ISB parameters \({\delta }^{{\scriptscriptstyle {G}\star }}_{r,j}\) and \({d}^{{\scriptscriptstyle {G}\star }}_{r,j}\) cannot be determined in their ‘absolute’ forms, but only in their estimable forms \({\tilde{\delta }}^{{G{\star }}}_{r,j}\), \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{r,j}\). Hence, only the vanishing of these estimable ISBs, or functions thereof, can be tested.

Such functions are present in DD zero- and short-baseline setups, when one differs the observations of multiple systems with respect to a pivot satellite of one of the systems. Here the term ‘short’ means that the DD ionospheric delays are assumed absent in the model. Let us now, under this assumption, take the first satellite of the first system ‘G’ as the pivot (i.e. \(1_{{G}}\)) and form the DD observation equations from (17). They read (\(\iota _{1r}^{1_{{G}}s\!_\star }\!=0\))

$$\begin{aligned} \begin{array}{lclcl} \Delta \phi _{1r,j}^{1_{{G}}s\!_\star } &{} = &{} \Delta \phi _{1r,j}^{s\!_\star }-\Delta \phi _{1r,j}^{1_{{G}}} &{} = &{} \Delta \rho _{1r}^{1_{{G}}s\!_\star }+\lambda _j[z_{1r,j}^{1_{{G}}s\!_\star }+{\delta }^{{\scriptscriptstyle {G}\star }}_{1r,j}]\\ \Delta p_{1r,j}^{1_{{G}}s\!_\star } &{} = &{} \Delta p_{1r,j}^{s\!_\star }-\Delta p_{1r,j}^{1_{{G}}} &{} = &{} \Delta \rho _{1r}^{1_{{G}}s\!_\star }+{d}^{{\scriptscriptstyle {G}\star }}_{1r,j} \end{array} \end{aligned}$$
(36)

with \(\Delta \rho _{1r}^{1_{{G}}s\!_\star }=g^{1_{{G}}s\!_\star T}\!\Delta x_{1r}\). The above DD observation equations are solvable for the so-called code differential ISBs (DISBs) \({d}^{{\scriptscriptstyle {G}\star }}_{1r,j}\) and an integer-shifted version of the phase DISBs \({\delta }^{{\scriptscriptstyle {G}\star }}_{1r,j}\) (Odijk and Teunissen 2013b).

Fig. 3
figure 3

DISB and ISB solutions of two GPS/Galileo data-sets of two independent baselines: (1) a zero-baseline and (2) a medium baseline (\(\sim \)110 km). Top (the first two rows) the single-epoch (black dots) and the multi-epoch (blue lines) solutions of the DISBs of the zero-baseline. Bottom (the third row) the difference between the multi-epoch solutions of the estimable phase ISBs of the medium baseline and the expected ISBs evaluated by the zero-baseline DISBs through (38) (green lines). After convergence, the difference is shown to completely lie within the 99 % confidence interval (red dashed lines), corroborating the correcting role of the DISBs

Recent contributions have studied the size and the temporal stability of the stated DISBs, see e.g. Odijk and Teunissen (2013a, (2013b); Melgard et al. (2013); Nadarajah et al. (2014); Paziewski and Wielgosz (2015). While they found that the DISBs are absent in the baseline setup with same type receivers (make, type, firmware),

$$\begin{aligned} \textit{same type receivers}:~ {\delta }^{{\scriptscriptstyle {G}\star }}_{1r,j}=0,~ {d}^{{\scriptscriptstyle {G}\star }}_{1r,j}=0, \end{aligned}$$
(37)

they found non-zero, but time-stable, DISBs in the baseline setup with receivers of different types. Although some short-term periodic variations of the phase DISBs of the Galileo IOV-1 and IOV-2 satellites were observed (Odijk and Teunissen 2013b; Paziewski et al. 2015), we remark that these variations should not be attributed to the DISBs, but to a cross talk in their clock monitoring and control unit (Montenbruck et al. 2015). That the DISBs are very time-stable brings the question to the fore as to whether our earlier estimable ISBs \({\tilde{\delta }}^{{G{\star }}}_{r,j}\), \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{r,j}\) can be linked to these DISBs. Would that be the case, one can, similar to the ISB-known scenario, strengthen the ISB-unknown model (29) by providing the a priori ISB corrections that are obtained by a zero-/short baseline setup.

Fortunately, the answer to the above question is affirmative. With the information presented in Table 6, the estimable ISBs \({\tilde{\delta }}^{{G{\star }}}_{r,j}\), \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{r,j}\) can be expressed in terms of the DISBs \({\delta }^{{\scriptscriptstyle {G}\star }}_{1r,j}\) and \({d}^{{\scriptscriptstyle {G}\star }}_{1r,j}\) as

$$\begin{aligned} \begin{aligned} {\tilde{\delta }}^{{G{\star }}}_{r,j}-z_{1r,j}^{1_{{G}}1\!_\star }&= {\delta }^{{\scriptscriptstyle {G}\star }}_{1r,j}+\frac{\mu _j}{\lambda _j\,\mu _{12}}[{d}^{{\scriptscriptstyle {G}\star }}_{1r,2}\!-\!{d}^{{\scriptscriptstyle {G}\star }}_{1r,1}]\\ {\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}&= \frac{1}{\mu _{12}}[\mu _2\,{d}^{{\scriptscriptstyle {G}\star }}_{1r, 1}\!-\!\mu _1\,{d}^{{\scriptscriptstyle {G}\star }}_{1r, 2}]\\ {\tilde{d}}^{{G{\star }}}_{r,j}&= {d}^{{\scriptscriptstyle {G}\star }}_{1r,j}\!-\!\frac{\mu _j}{\mu _{12}}[{d}^{{\scriptscriptstyle {G}\star }}_{1r,2}\!-\!{d}^{{\scriptscriptstyle {G}\star }}_{1r,1}]\\&\quad -\frac{1}{\mu _{12}}[\mu _2\,{d}^{{\scriptscriptstyle {G}\star }}_{1r, 1}\!-\!\mu _1\,{d}^{{\scriptscriptstyle {G}\star }}_{1r, 2}];\quad j>2 \end{aligned} \end{aligned}$$
(38)

with \(\mu _{12}=\mu _{2}-\mu _{1}\). Thus the DISBs provide us with the phase ISBs \({\tilde{\delta }}^{{G{\star }}}_{r,j}\) lumped with the unknown, but integer, ambiguities \(z_{1r,j}^{1_{{G}}1\!_\star }\). By applying the above a priori corrections to (29), the ISB-corrected version of the network model follows as:

$$\begin{aligned}&\Delta \phi _{r,j}^{s\!_\star }\!-\!\lambda _j[{\tilde{\delta }}^{{G{\star }}}_{r,j}-z_{1r,j}^{1_{{G}}1\!_\star }] \nonumber \\&\quad =\Delta \tilde{\rho }_r^{s\!_\star }\!+\!\mathrm{d}\tilde{t}_r\!-\!\mathrm{d}\tilde{t}^{s\!_\star }\!-\!\mu _j\tilde{\iota }_r^{s\!_\star }+\lambda _j[z_{1r,j}^{1_{{G}}s\!_\star }\!+\!\tilde{\delta }_{r,j}\!-\!\tilde{\delta }_{,j}^{s\!_\star }],\nonumber \\&\Delta p_{r,j}^{s\!_\star }\!-{\tilde{d}}^{{G{\star }}}_{r,\scriptscriptstyle \mathrm{IF}}-\!{\tilde{d}}^{{G{\star }}}_{r,j} \nonumber \\&\quad =\Delta \tilde{\rho }_r^{s\!_\star }\!+\!\mathrm{d}\tilde{t}_r\!-\!\mathrm{d}\tilde{t}^{s\!_\star }\!+\!\mu _j\tilde{\iota }_r^{s\!_\star }\!+\!\tilde{d}_{r,j}\!-\!\tilde{d}_{,j}^{s\!_\star } \end{aligned}$$
(39)

for \(r=1,\ldots ,n\).

Compare the ISB-corrected model (39) with its ISB-known counterpart (34). Both are identical in structure. By a priori providing the ISB corrections, one can therefore realize a model of the same structure as the one made by the zero ISB assumptions \({\delta }^{{\scriptscriptstyle {G}\star }}_{r,j} = 0\) and \({d}^{{\scriptscriptstyle {G}\star }}_{r,j}=0\).

Example (Estimable ISBs linked to the DISBs) To gain further insights into the role played by the DISBs in correcting the estimable ISBs, two GPS/Galileo data-sets of two independent baselines (of mixed receivers) have been analysed: (1) a zero-baseline and (2) a medium baseline (\(\sim \)110 km). The reference and rover receivers of the two baselines are, respectively, of the same types. The zero-baseline is aimed to the determine the DISBs \({\delta }^{{\scriptscriptstyle {G}\star }}_{1r,j}\) and \({d}^{{\scriptscriptstyle {G}\star }}_{1r,j}\) (cf. 36), whereas the medium baseline is aimed to determine the estimable ISBs \({\tilde{\delta }}^{{G{\star }}}_{r,j}\), \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{r,j}\) (cf. 29). The overlapping frequencies are L1/E1 and L5/E5a (cf. Table 3).

In the top-panel of Fig. 3, both the single-epoch (black dots) and the multi-epoch (blue lines) solutions of the DISBs of the zero-baseline are shown. The term ‘single-epoch’ refers to the case where the DISBs are treated unlinked in time, while the term ‘multi-epoch’ refers to the case where the DISBs are assumed constant in time.

Given the multi-epoch DISB solutions, we make use of the first expression of (38) and compute the expected ISBs. On the other hand, the multi-epoch ISB solutions \({\tilde{\delta }}^{{G{\star }}}_{r,j}\) are obtained by the medium baseline. In order to investigate how well the a priori ISBs (evaluated by the zero-baseline) can correct the medium baseline ISBs, we compute their difference (green lines) together with the corresponding 99 % confidence intervals (red dashed lines), see the bottom-panel of Fig. 3. After convergence, the difference is shown to completely lie within the confidence interval, corroborating the correcting role of the DISBs.

6 Network-derived ISB look-up table

In this section, we show how PPP-RTK users can benefit from network-derived ISBs. Next to the provision of the PPP-RTK corrections, a network-derived ISB look-up table is provided that allows users to select and apply the appropriate ISBs.

6.1 User ISB-corrected model

Recall that non-zero user estimable ISBs pop up, when the types of the network reference receiver \(r=1\) and user receiver are different. The user-estimable ISBs read

$$\begin{aligned} {\tilde{\delta }}^{{G{\star }}}_{u,j}= & {} {\delta }^{{\scriptscriptstyle {G}\star }}_{1u,j}+\frac{\mu _j}{\lambda _j}{d}^{{\scriptscriptstyle {G}\star }}_{1u, \scriptscriptstyle \mathrm{GF}}+ z_{1u,j}^{1_{{G}}s\!_\star } \nonumber \\ {\tilde{d}}^{{G{\star }}}_{u, \scriptscriptstyle \mathrm{IF}}= & {} {d}^{{\scriptscriptstyle {G}\star }}_{1u, \scriptscriptstyle \mathrm{IF}} \nonumber \\ {\tilde{d}}^{{G{\star }}}_{u,j}= & {} {d}^{{\scriptscriptstyle {G}\star }}_{1u,j}-(\mu _j{d}^{{\scriptscriptstyle {G}\star }}_{1u, \scriptscriptstyle \mathrm{GF}}+{d}^{{\scriptscriptstyle {G}\star }}_{1u, \scriptscriptstyle \mathrm{IF}}),\quad j>2 \end{aligned}$$
(40)

Thus if the type of the user receiver u would be the same as that of the reference network receiver \(r=1\), the ISB parameters (40) can be excluded from the user model (30), since \({\delta }^{{\scriptscriptstyle {G}\star }}_{1u,j} = 0\) and \({d}^{{\scriptscriptstyle {G}\star }}_{1u,j} = 0\).

In practice however, the choice of the network \(\mathcal {S}\)-basis is not necessarily known to the user. Even if it would be known to the user, the types of the user and reference receivers might be different. Does it mean that the idea of the network ISB-corrected model cannot be applied to the user? Fortunately not.

To enable the users to apply the appropriate ISB corrections, the idea is to construct an ISB look-up table, consisting of the network-derived ISB solutions \({\tilde{\delta }}^{{G{\star }}}_{r,j}\), \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{r,j} (j>2)\) for \(r=1,\ldots ,n\). As the ISBs \({\delta }^{{\scriptscriptstyle {G}\star }}_{r,j}, {d}^{{\scriptscriptstyle {G}\star }}_{r,j}\) may be considered stable in time, the look-up table will be made up of accurately calibrated estimable ISBs having a low refreshment rate.

The user can then search the table for a network receiver of the same type (i.e. receiver \(r=q\)) and pick up the corresponding ISBs \({\tilde{\delta }}^{{G{\star }}}_{q,j}\), \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{q,j}\) (see Fig. 4). Since the DISBs of both the receivers, u and q, are the same with respect to \(r=1\), i.e.

$$\begin{aligned} {\delta }^{{\scriptscriptstyle {G}\star }}_{1u,j}={\delta }^{{\scriptscriptstyle {G}\star }}_{1q,j},\quad {d}^{{\scriptscriptstyle {G}\star }}_{1u,j}={d}^{{\scriptscriptstyle {G}\star }}_{1q,j}, \end{aligned}$$
(41)

an application of the ISB identities (38) gives

$$\begin{aligned} \begin{array}{l} {\tilde{\delta }}^{{G{\star }}}_{u,j}-z_{1u,j}^{1_{{G}}1\!_\star }={\tilde{\delta }}^{{G{\star }}}_{q,j}-z_{1q,j}^{1_{{G}}1\!_\star }\\ {\tilde{d}}^{{G{\star }}}_{u, \scriptscriptstyle \mathrm{IF}} = {\tilde{d}}^{{G{\star }}}_{q, \scriptscriptstyle \mathrm{IF}},\quad {\tilde{d}}^{{G{\star }}}_{u,j}= {\tilde{d}}^{{G{\star }}}_{q,j} \end{array} \end{aligned}$$
(42)

Thus, similar to the network ISB-corrected model (39), the user ISB-corrected model follows by applying the above corrections to (30),

$$\begin{aligned} \begin{array}{l} \Delta \phi _{u,j}^{s\!_\star }+c_{\phi ,j}^{s\!_\star }\!-\!\lambda _j[{\tilde{\delta }}^{{G{\star }}}_{q,j}-z_{1q,j}^{1_{{G}}1\!_\star }] \\ \quad =\Delta \tilde{\rho }_u^{s\!_\star }\!+\!\mathrm{d}\tilde{t}_u\!-\mu _j\tilde{\iota }_u^{s\!_\star }+\lambda _j[z_{1u,j}^{1_{{G}}s\!_\star }\!+\!\tilde{\delta }_{u,j}],\\ \Delta p_{u,j}^{s\!_\star }+c_{p,j}^{s\!_\star }\!-{\tilde{d}}^{{G{\star }}}_{q,\scriptscriptstyle \mathrm{IF}}-\!{\tilde{d}}^{{G{\star }}}_{q,j} \\ \quad =\Delta \tilde{\rho }_u^{s\!_\star }\!+\!\mathrm{d}\tilde{t}_u\!+\!\mu _j\tilde{\iota }_u^{s\!_\star }\!+\!\tilde{d}_{u,j} \end{array} \end{aligned}$$
(43)
Fig. 4
figure 4

Three components of multi-system PPP-RTK supported by the ISB look-up table (in red). Given a network of mixed-receiver types, the user ‘u’ has the possibility of finding the network-derived ISBs of the network receiver of the same type, say \(r=q\) (in green)

Compare the above model (43) with (30). The \((f-1)\) number of code ISBs \({\tilde{d}}^{{G{\star }}}_{u,\scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{u,j}\) are corrected. Thus the model is strengthened as the model’s redundancy increases by \((f-1)\) per system \(\star \ne {G}\). Note also that the f number of integer ambiguities \(z_{1u,j}^{1_{{G}}1\!_\star }\) are now recovered. Thus after integer ambiguity resolution, the redundancy even increases further by f per system \(\star \ne {G}\).

Fig. 5
figure 5

Illustration of a network of mixed-receiver types that is partitioned into h clusters symbolized by \(\diamond \) (\(\diamond ={\scriptstyle \triangle },\ldots ,{\scriptscriptstyle \Box }\)). Each cluster \(\diamond \) contains receivers of the same type

One can also compare the user ISB-corrected model (43) with its single-system counterpart (15). Both are identical in structure. Thus the ISB-corrected model (43) acts as if a single-system setup is considered, with a difference, that the number of visible satellites can then be much larger than that of the single-system setup.

6.2 Cluster-based ISB-unknown network model

In constructing the aforementioned look-up table, one has to recognize the following two issues:

  1. 1.

    With respect to the ISB-unknown model (29), one has to include the extra unknowns \({\tilde{\delta }}^{{G{\star }}}_{r,j}\), \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{r,j}\) for all the network receivers \(r\ne 1\), thus considerably weakening the strength of the network model as compared to the ISB-known model (34).

  2. 2.

    In case the number of network receivers is large, a large amount of ISB-data need to be stored in the stated look-up table.

For instance, for a network of size \(n = 100\) tracking dual-frequency data, the number of the estimable ISBs becomes (Table 7)

$$\begin{aligned} (2f-1)(n-1)~\mathop {=}\limits ^{f=2}~297\quad \text {per additional system.} \end{aligned}$$

Fortunately, the above issues can be properly handled by considering the fact that the network receivers are confined to a limited number of types. In our earlier formulation, we consider the estimable ISB parameters \({\tilde{\delta }}^{{G{\star }}}_{r,j}\), \({\tilde{d}}^{{G{\star }}}_{r, \scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{r,j}\) to be different from receiver to receiver. We now consider the more practical scenario where the network of mixed-receiver types is partitioned into h clusters symbolized by \(\diamond \) (\(\diamond ={\scriptstyle \triangle },\ldots ,{\scriptscriptstyle \Box }\)). Each cluster \(\diamond \) contains receivers of the same type (see Fig. 5). Our earlier receiver index ‘r’ (\(r=1,\ldots ,n\)) becomes therefore obsolete. It is replaced by \(r\!_{\diamond }\) (\(r\!_{\diamond }=1_{\diamond }\ldots ,n_{\diamond }\)). For each cluster \(\diamond \), the ISB-unknown model (29) takes the following form then

$$\begin{aligned} \begin{array}{ll} &{}\Delta \phi _{r\!_{\diamond },j}^{s\!_\star } =\Delta \tilde{\rho }_{r\!_{\diamond }}^{s\!_\star } \\ &{}\quad +\,\mathrm{d}\tilde{t}_{r\!_{\diamond }}-\mathrm{d}\tilde{t}^{s\!_\star }-\mu _j\tilde{\iota }_{r\!_{\diamond }}^{s\!_\star }+\lambda _j[\tilde{z}_{r\!_{\diamond },j}^{s\!_\star }+\tilde{\delta }_{r\!_{\diamond },j}-\tilde{\delta }_{,j}^{s\!_\star }+{\tilde{\delta }}^{{G{\star }}}_{r\!_{\diamond },j}]\\ &{}\Delta p_{r\!_{\diamond },j}^{s\!_\star } =\Delta \tilde{\rho }_{r\!_{\diamond }}^{s\!_\star }\\ &{}\quad +\,\mathrm{d}\tilde{t}_{r\!_{\diamond }}-\mathrm{d}\tilde{t}^{s\!_\star }+\mu _j\tilde{\iota }_{r\!_{\diamond }}^{s\!_\star }+\tilde{d}_{r\!_{\diamond },j}-\tilde{d}_{,j}^{s\!_\star }+{\tilde{d}}^{{G{\star }}}_{r\!_{\diamond },\scriptscriptstyle \mathrm{IF}}+{\tilde{d}}^{{G{\star }}}_{r\!_{\diamond },j} \end{array} \end{aligned}$$
(44)

Recall that the DISBs are absent in the cluster \(\diamond \), i.e. \({\delta }^{{\scriptscriptstyle {G}\star }}_{1_\diamond r_\diamond ,j}=0\), \({d}^{{\scriptscriptstyle {G}\star }}_{1_\diamond r_\diamond ,j}=0\). Using the ISB identities (38), we therefore have

$$\begin{aligned} \begin{aligned} {\tilde{\delta }}^{{G{\star }}}_{1\!_{\diamond }r\!_{\diamond },j}\!-\!z_{1\!_{\diamond }r\!_{\diamond },j}^{1_{{G}}1\!_\star } =&0,\quad {\tilde{d}}^{{G{\star }}}_{1\!_{\diamond }r\!_{\diamond },\scriptscriptstyle \mathrm{IF}} = 0\\ {\tilde{d}}^{{G{\star }}}_{1\!_{\diamond }r\!_{\diamond },j} =&0,\qquad j>2 \end{aligned} \end{aligned}$$
(45)

The equations presented above can now be imposed on (44) as constraints, thus strengthening the ISB-unknown network model. To do this, we make use of the following parametrization

$$\begin{aligned} \begin{array}{lcl} {\tilde{\delta }}^{{G{\star }}}_{r\!_{\diamond },j} &{}=&{} [{\tilde{\delta }}^{{G{\star }}}_{1_{\diamond },j}+z_{1\!_{\diamond }r\!_{\diamond },j}^{1_{{G}}1\!_\star }]+ [{\tilde{\delta }}^{{G{\star }}}_{1\!_{\diamond }r\!_{\diamond },j}-z_{1\!_{\diamond }r\!_{\diamond },j}^{1_{{G}}1\!_\star }]\\ {\tilde{d}}^{{G{\star }}}_{r\!_{\diamond },\scriptscriptstyle \mathrm{IF}} &{}=&{} {\tilde{d}}^{{G{\star }}}_{1_{\diamond },\scriptscriptstyle \mathrm{IF}}+{\tilde{d}}^{{G{\star }}}_{1\!_{\diamond }r\!_{\diamond },\scriptscriptstyle \mathrm{IF}}\\ {\tilde{d}}^{{G{\star }}}_{r\!_{\diamond },j} &{}=&{} {\tilde{d}}^{{G{\star }}}_{1_{\diamond },j}+{\tilde{d}}^{{G{\star }}}_{1\!_{\diamond }r\!_{\diamond },j},\qquad j>2 \end{array} \end{aligned}$$
(46)

Substitution of the above equations into (44), together with (45), gives the cluster-based ISB-unknown network model

$$\begin{aligned} \begin{array}{l} \Delta \phi _{r\!_{\diamond },j}^{s\!_\star } =\Delta \tilde{\rho }_{r\!_{\diamond }}^{s\!_\star } \\ \quad +\mathrm{d}\tilde{t}_{r\!_{\diamond }}-\mathrm{d}\tilde{t}^{s\!_\star }-\mu _j\tilde{\iota }_{r\!_{\diamond }}^{s\!_\star }+\lambda _j[\Delta \tilde{z}_{r\!_{\diamond },j}^{s\!_\star }+\tilde{\delta }_{r\!_{\diamond },j}-\tilde{\delta }_{,j}^{s\!_\star }+{\tilde{\delta }}^{{G{\star }}}_{1_{\diamond },j}]\\ \Delta p_{r\!_{\diamond },j}^{s\!_\star } =\Delta \tilde{\rho }_{r\!_{\diamond }}^{s\!_\star }\\ \quad +\mathrm{d}\tilde{t}_{r\!_{\diamond }}-\mathrm{d}\tilde{t}^{s\!_\star }+\mu _j\tilde{\iota }_{r\!_{\diamond }}^{s\!_\star }+\tilde{d}_{r\!_{\diamond },j}-\tilde{d}_{,j}^{s\!_\star }+{\tilde{d}}^{{G{\star }}}_{1_{\diamond },\scriptscriptstyle \mathrm{IF}}+{\tilde{d}}^{{G{\star }}}_{1_{\diamond },j} \end{array} \end{aligned}$$
(47)

with the estimable DD ambiguities

$$\begin{aligned} \Delta \tilde{z}_{r\!_{\diamond },j}^{s\!_\star } = \tilde{z}_{r\!_{\diamond },j}^{s\!_\star }+z_{1\!_{\diamond }r\!_{\diamond },j}^{1_{{G}}1\!_\star },\quad r\!_{\diamond }\ne 1_{\diamond } \end{aligned}$$
(48)

Compare (47) with (44). The f times \(n_\diamond \) number of phase ISBs \({\tilde{\delta }}^{{G{\star }}}_{r_{\diamond },j}\) are replaced by the f number of non-integer parameters \({\tilde{\delta }}^{{G{\star }}}_{1_{\diamond },j}\) and the f times \((n_\diamond -1)\) number of integer parameters \(\Delta \tilde{z}_{r\!_{\diamond },j}^{s\!_\star }\). In the network ambiguity float mode, this replacement does therefore not increase the redundancy. In the network ambiguity fixed mode however, the redundancy increases by \(f(n_\diamond -1)\) per system \(\star \ne {G}\).

Next to the phase ISBs, the \((f-1)\) times \(n_\diamond \) number of code ISBs \({\tilde{d}}^{{G{\star }}}_{r_{\diamond },\scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{r_{\diamond },j}\) are, respectively, replaced by the \((f-1)\) number of parameters \({\tilde{d}}^{{G{\star }}}_{1_{\diamond },\scriptscriptstyle \mathrm{IF}}\) and \({\tilde{d}}^{{G{\star }}}_{1_{\diamond },j}\). This replacement does therefore further increase the model redundancy by \((f-1)(n_\diamond -1)\) per system \(\star \ne {G}\).

For a network of size \(n = 100\) tracking dual-frequency data, but then clustered by \(h=8\) receiver types, the number of the estimable ISBs reduces from 297 to

$$\begin{aligned} (2f-1)(h-1)~\mathop {=}\limits ^{f=2}~21\quad \text {per additional system} \end{aligned}$$

Therefore, with the cluster-based ISB-unknown model (47), the network-derived look-up table reduces the ISB-data from

$$\begin{aligned} {\tilde{\delta }}^{{G{\star }}}_{r_{\diamond },j},~{\tilde{d}}^{{G{\star }}}_{r_{\diamond },\scriptscriptstyle \mathrm{IF}},~{\tilde{d}}^{{G{\star }}}_{r_{\diamond },j},\quad \text {for the receivers} r_\diamond \ne 1_{{\triangle }} \end{aligned}$$
(49)

to

$$\begin{aligned} {\tilde{\delta }}^{{G{\star }}}_{1_{\diamond },j},~{\tilde{d}}^{{G{\star }}}_{1_{\diamond },\scriptscriptstyle \mathrm{IF}},~{\tilde{d}}^{{G{\star }}}_{1_{\diamond },j},\quad \text {for the receivers} 1_\diamond \ne 1_{{\triangle }}, \end{aligned}$$
(50)

The user ‘u’ would just need to search the table for the receiver types \(\diamond \) (\(\diamond ={\scriptstyle \triangle },\ldots ,{\scriptscriptstyle \Box }\)) to which his receiver belongs.

7 Summary and concluding remarks

In this contribution we developed the ISB-affected full-rank, undifferenced, multi-frequency model for multi-GNSS PPP-RTK. It was shown how the estimability of network parameters, PPP-RTK corrections, and user parameters, changes when ISBs are present. This is important as both network providers and users need to be aware of the potential changes their parameter estimability may undergo. For instance, with the same PPP-RTK user platform, a user switching from one provider to another may still experience significant changes in the interpretation of his/her parameters.

We discriminated in this work between the following three components of multi-system PPP-RTK:

  1. 1.

    Network-component

  2. 2.

    Correction-component

  3. 3.

    User-component

To get a proper understanding of how each of these components can become affected by ISBs, we first treated their ISB-free, single-system counterparts.

Single-system network, correction, and user

  1. 1.

    Network estimability By an application of \(\mathcal {S}\)-system theory, we presented the full-rank geometry-based network model of observation equations. The interpretation of the resulting estimable parameters is given in Table 1. It shows how they depend on the original ’absolute’ parameters and how they change when different choices of \(\mathcal {S}\)-bases are made.

  2. 2.

    Correction-component has a fivefold functionality By means of the estimable satellite clocks \(\mathrm{d}\tilde{t}^{s}\), satellite phase biases, \(\tilde{\delta }_{,j}^{s}\), and satellite code biases, \(\tilde{d}_{,j}^{s}\) (\(j>2\)), we were able to identify the estimability of the combined PPP-RTK corrections for phase and code, \(c_{\phi ,j}^s\) and \(c_{p,j}^s\). It was shown that their functionality is not confined to only removing the satellite clocks and phase/code biases from the user observation equations. Next to this primary functionality, the phase and code corrections also establish an additional four links between network and user. They are the (1) positional, (2) ambiguity, (3) receiver-specific, and (4) ionosphere-specific links (cf. Table 2). Furthermore, all of them depend on the network’s chosen \(\mathcal {S}\)-basis.

  3. 3.

    Estimability of user parameters is not unique Just like the PPP-RTK corrections are dependent on the network’s chosen \(\mathcal {S}\)-basis, so are the parameters of the user. Hence, the estimability of the user parameters is driven by the estimability of the PPP-RTK corrections, which on its turn is driven by the choice of the network’s \(\mathcal {S}\)-basis. Would the network’s \(\mathcal {S}\)-basis change, the interpretation of the estimable user parameters would change accordingly (cf. Fig. 2). For instance, if the choice of the network reference receiver changes from \(r=1\) to \(r=2\), the structure of receiver-specific corrections (in Table 2) changes from \({\mathrm{I}\!\mathrm{V}}\!_1\) to \({\mathrm{I}\!\mathrm{V}}\!_2\). The user receiver clocks and biases become then estimable with respect to those of \(r=2\) and not \(r=1\). Users need to be aware of such \(\mathcal {S}\)-basis dependency when interpreting and analysing the results of their own parameter estimation.

Based on the single-system analysis, we extended the analysis to multi-systems, thereby introducing the inter-system biases (ISBs) in the combined system of observation equations.

When some or all of the ISBs are unknown, additional rank deficiencies occur with their corresponding impact on the interpretations that has to be given to the parameter solutions of network, corrections and user.

Multi-system network, correction, and user

  1. 1.

    ISBs affect all three PPP-RTK components In case of multi-GNSS, additional ISB parameters may enter the system of observation equations. As their inclusion introduces additional rank-deficiencies, the parameter estimability of such multi-GNSS system will differ from that of a single-system. This difference in parameter estimability is not confined to the network, but gets propagated to the user via the user-provided PPP-RTK corrections.

  2. 2.

    Network estimability In our analysis of the network estimability, we considered three different scenarios: ISBs known, ISBs unknown and ISBs-corrected. Each scenario has different consequences for the parameter estimability:

    1. (a)

      ISB-known: this is the simplest case and it occurs when all receiver biases can be assumed to experience the same delays for all systems, in which case the ISBs are all zero. The multi-system full-rank system of equations can then be viewed as that of a single-system (cf. 34) with likewise parameter estimability.

    2. (b)

      ISB-unknown: this is the more complex case as the inclusion of the unknown ISBs changes the rank-deficiencies of the model. It was shown which additional \(\mathcal {S}\)-basis parameters are needed (cf. Table 5) and how this enabled the construction of the full-rank ISB-unknown model (cf. 29). The resulting interpretation of the estimable ISBs is summarized in Table 6.

    3. (c)

      ISB-corrected: this is the case for which the so-called differential ISBs (DISPs) are assumed known (e.g. through calibration). By expressing the estimable ISBs in terms of the known DISPs, the system of equations can be given the same structure and redundancy as that of the ISB-known case (compare 34 with 39). Hence, the whole combined network system of equations can then again be treated as if it was coming from a single-system.

The user has the same number of integer-estimable ambiguities, whether the PPP-RTK corrections come from the ISB-unknown or from the ISB-corrected network. This number is however, less than when the corrections would come from the ISB-known model. To be able to compensate for this loss in model strength at the user side, we introduced a novel approach of providing users with the required additional information.

Multi-system network with ISB look-up table

  1. 1.

    The network-derived ISB look-up table Due to the system-dependency of the ISBs, the user observation equations will now have fewer integer parameters, since the ‘non-integer’ phase ISBs \({\tilde{\delta }}^{{G{\star }}}_{u,j}\) (cf. 30) take the role of the ‘integer’ estimable ambiguities of the first satellite of each system \(\star \ne {G}\), i.e. \(z_{1r,j}^{1_{{G}}1\!_\star }\). To compensate for this reduction, we proposed the creation of an ISB look-up table containing all the network estimable ISBs (cf. Fig. 4). The user can then search the table for a network receiver of the same type and select the corresponding ISBs, thus effectively realizing his own ISB-corrected user model. By applying such correction, the user thus brings back the integers \(z_{1r,j}^{1_{{G}}1\!_\star }\), thereby maximizing his number of integer-estimable ambiguities.

  2. 2.

    The cluster-based model and ditto ISB look-up table As it follows from experience that ISBs may only occur when use is made of receivers of different types, the large number of unknown estimable ISBs in the n station network model (29) could be reduced significantly by partitioning the network receivers into h clusters based on their types (cf. Fig. 5). As a result the cluster-based full-rank model (47) was obtained, having a significantly fewer number of estimable ISBs since the network receivers are usually limited to only a few different types (i.e. \(h\le n\)). As a consequence, the size of the ISB look-up table reduces accordingly, thus making the information transfer to the user also easier.