We first present the theoretical fundamentals of PPP-AR and then review the PPP-AR method at the network end. Finally, we demonstrate how we can estimate IRC.

### Theoretical fundamentals of PPP-AR

After correcting for antenna phase center offsets and variations (Schmid et al. 2016), and phase wind-up effects (Wu et al. 1992), the GPS pseudorange and carrier-phase ionosphere-free combination observables from the receiver \(r\) to the satellite \(s\) at a particular epoch are the following:

$$\left\{ \begin{aligned} & P_{1,r}^{s} = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}\tilde{t}_{r}^{{}} - c \cdot {\text{d}}\tilde{t}_{{}}^{s} + \tilde{\gamma }_{r}^{s} + b_{1r}^{s} \\ & P_{2,r}^{s} = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}\tilde{t}_{r}^{{}} - c \cdot {\text{d}}\tilde{t}_{{}}^{s} + g^{2} \tilde{\gamma }_{r}^{s} + b_{2r}^{s} \\ & L_{1,r}^{s} = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}\tilde{t}_{r}^{{}} - c \cdot {\text{d}}\tilde{t}_{{}}^{s} - \tilde{\gamma }_{r}^{s} + \lambda_{1}^{{}} N_{1,r}^{s} + B_{1r}^{s} \\ & L_{2,r}^{s} = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}\tilde{t}_{r}^{{}} - c \cdot {\text{d}}\tilde{t}_{{}}^{s} - g^{2} \tilde{\gamma }_{r}^{s} + \lambda_{2}^{{}} N_{2,r}^{s} + B_{2r}^{s} \\ \end{aligned} \right.$$

(1)

where \(r\) denotes receiver flag; \(s\) denotes satellite flag; for brevity, \(i = 1,2\) denote frequency; \(P_{i,r}^{s}\) and \(L_{i,r}^{s}\) respectively denote pseudorange and carrier-phase measurements in the unit of length; \(\tilde{\rho }_{r}^{s}\) denotes a non-dispersive term that includes the geometric distance, the tropospheric delay and the relativity effects; \(\tilde{\gamma }_{r}^{s}\) denotes first-order ionospheric delay; \(g = {{f_{1} } \mathord{\left/ {\vphantom {{f_{1} } {f_{2} }}} \right. \kern-0pt} {f_{2} }}\) where \(f_{1}\) and \(f_{2}\) denote the signal frequency for \(L_{1}\) and \(L_{2}\), respectively; \(\lambda_{1}\) and \(\lambda_{2}\) denote the wavelength for \(L_{1}\) and \(L_{2}\), respectively; \(b_{i,r}^{s}\) and \(B_{i,r}^{s}\) respectively denote the pseudorange and carrier-phase hardware biases; \(b_{i,r}^{s} = b_{i,r}^{{}} - b_{i}^{s}\) and \(B_{i,r}^{s} = B_{i,r}^{{}} - B_{i}^{s}\); \(b_{i,r}^{{}}\) and \(B_{i,r}^{{}}\) are for the receiver whereas \(b_{i}^{s}\) and \(B_{i}^{s}\) are for the satellite; \(N_{i,r}^{s}\) denotes the integer ambiguity; the residual or unmodelled errors such as higher-order ionospheric effects and multipath are ignored for brevity.

When we estimate satellite clock corrections with network solutions the pseudorange hardware biases \(b_{i,r}^{s}\) are normally lumped into other parameters (Guo and Geng 2018; Xiang and Gao 2017) and divided into two parts (Geng and Bock 2016). One part is a non-dispersive term denoted by \(x_{r}^{s}\); the other part is a frequency-dependence term denoted by \(y_{r}^{s}\):

$$\left\{ \begin{aligned} & P_{1,r}^{s} = (\tilde{\rho }_{r}^{s} + c \cdot {\text{d}}\tilde{t}_{r}^{{}} - c \cdot {\text{d}}\tilde{t}_{{}}^{s} + x_{r}^{s} ) + (\tilde{\gamma }_{r}^{s} + y_{r}^{s} ) \\ & P_{2,r}^{s} = (\tilde{\rho }_{r}^{s} + c \cdot {\text{d}}\tilde{t}_{r}^{{}} - c \cdot {\text{d}}\tilde{t}_{{}}^{s} + x_{r}^{s} ) + g^{2} (\tilde{\gamma }_{r}^{s} + y_{r}^{s} ) \\ \end{aligned} \right.$$

(2)

where

$$\left\{ \begin{aligned} & x_{r}^{s} = (g^{2} b_{1,r}^{{}} - b_{2,r}^{{}} )/(g^{2} - 1) - (b_{2}^{s} - g^{2} b_{1}^{s} )/(g^{2} - 1) \\ & y_{r}^{s} = (b_{2,r}^{{}} - b_{2}^{s} - b_{1,r}^{{}} + b_{1}^{s} )/(g^{2} - 1) \\ \end{aligned} \right.$$

(3)

where \(x_{r}^{s}\) can also be divided into two parts, one is assimilated into the receiver clock corrections, denoted as \(x_{r}^{{}} = (g^{2} b_{1,r}^{{}} - b_{2,r}^{{}} )/(g^{2} - 1)\); another is assimilated into the satellite clock corrections, denoted as \(x_{{}}^{s} = (b_{2}^{s} - g^{2} b_{1}^{s} )/(g^{2} - 1)\); \(y_{r}^{s}\) is assimilated into ionospheric delays. Generally, ionosphere-free combination observables are used in PPP to eliminate the first-order ionospheric delays in pseudorange and carrier-phase measurements (Dach et al. 2009; Hofmann-Wellenhof et al. 2001). The frequency-dependence part will be eliminated with the first-order ionospheric delays.

$$\begin{aligned} P_{3,r}^{s} = \frac{{f_{1}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}P_{1,r}^{s} - \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}P_{2,r}^{s} \\ = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}\tilde{t}_{r}^{{}} - c \cdot {\text{d}}\tilde{t}_{{}}^{s} + x_{r}^{s} \\ \end{aligned}$$

(4)

Note that the high-order frequency-dependence parts and the high-order ionospheric delays have been neglected. Referring to the pseudorange measurements, similarly, the phase measurements become

$$\begin{aligned} L_{3,r}^{s} & = \frac{{f_{1}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}L_{1,r}^{s} - \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}L_{2,r}^{s} \\ & = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}\tilde{t}_{r}^{{}} - c \cdot {\text{d}}\tilde{t}_{{}}^{s} + X_{r}^{s} + \lambda_{3} N_{3,r}^{s} \\ \end{aligned}$$

(5)

where \(\left\{ \begin{aligned} & X_{r}^{s} = (g^{2} B_{1,r}^{{}} - B_{2,r}^{{}} )/(g^{2} - 1) - (B_{2}^{s} - g^{2} B_{1}^{s} )/(g^{2} - 1) \\ & Y_{r}^{s} = (B_{2,r}^{{}} - B_{2}^{s} - B_{1,r}^{{}} + B_{1}^{s} )/(g^{2} - 1) \\ \end{aligned} \right.\)\(\lambda_{3} N_{3,r}^{s} = \frac{{f_{1}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}\lambda_{1} N_{1,r}^{s} - \frac{{f_{2}^{2} }}{{f_{1}^{2} - f_{2}^{2} }}\lambda_{2} N_{2,r}^{s}\) denotes the ionosphere-free ambiguity named ionosphere-free integer ambiguity, which does not include biases.

As the \(\tilde{N}_{3,r}^{s}\) cannot be removed, the satellite clocks datum is generally provided by the pseudorange (e.g. IGS clock products). As a result, the measurements become:

$$\left\{ \begin{aligned} & P_{3,r}^{s} = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}t_{r}^{{}} - c \cdot {\text{d}}t_{{}}^{s} \\ & L_{3,r}^{s} = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}t_{r}^{{}} - c \cdot {\text{d}}t_{{}}^{s} + \lambda_{3} A_{3,r}^{s} \\ \end{aligned} \right.$$

(6)

where \(c \cdot {\text{d}}t_{r}^{{}} = c \cdot {\text{d}}\tilde{t}_{r}^{{}} + x_{r}^{{}}\) and \(c \cdot {\text{d}}t_{{}}^{s} = c \cdot {\text{d}}\tilde{t}_{{}}^{s} + x_{{}}^{s}\) denote the receiver clocks and the satellite clocks, respectively, which include pseudorange biases; we named these clocks as pseudorange clocks for brevity. \(A_{3,r}^{s} = N_{3,r}^{s} + X_{r}^{s} - x_{r}^{s}\) denotes ionosphere-free ambiguity named ionosphere-free float ambiguity, which includes phase biases and pseudorange biases. Generally, we used Eq. (6) to perform float PPP and estimate pseudorange clocks. Moreover, we named the biases part \(X_{r}^{s} - x_{r}^{s}\) as narrow-lane UPDs/FCBs (Ge et al. 2008; Geng et al. 2010). If the UPDs/FCBs products can be obtained, users can determine the PPP ambiguity resolution through Eq. (6).

When the clock products contain the bias part \(X_{r}^{s} - x_{r}^{s}\), Eq. (6) becomes:

$$\left\{ \begin{aligned} & P_{3,r}^{s} = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}t_{r}^{{}} - c \cdot {\text{d}}t_{{}}^{s} \\ & L_{3,r}^{s} = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}T_{r}^{{}} - c \cdot {\text{d}}T_{{}}^{s} + \lambda_{3} N_{3,r}^{s} \\ \end{aligned} \right.$$

(7)

where \(c \cdot {\text{d}}T_{r}^{{}} = c \cdot {\text{d}}\tilde{t}_{r}^{{}} + X_{r}^{{}}\); \(c \cdot {\text{d}}T_{{}}^{s} = c \cdot {\text{d}}\tilde{t}_{{}}^{s} + X_{{}}^{s}\) respectively denote the receiver clocks and the satellite clocks, which include phase biases; we named these clocks as IRC (Collins et al. 2010). If the IRC products can be utilized, users can also determine the PPP ambiguity resolution.

Note that the ionosphere-free ambiguities \(N_{3,r}^{s}\) do not have integer properties. Although we correct the hardware biases \(X_{r}^{s}\) and \(x_{r}^{s}\) from Eq. (6), the \(N_{3,r}^{s}\) is also not fixed by the ambiguity search (Teunissen 1998a). In order to realize PPP-AR, the ionosphere-free ambiguity \(\lambda_{3} N_{3,r}^{s}\) is usually decomposed into narrow-lane ambiguity \(\lambda_{n} N_{1,r}^{s}\) and wide-lane ambiguity \(\lambda_{w} N_{w,r}^{s} = \lambda_{1} N_{1,r}^{s} - \lambda_{2} N_{2,r}^{s}\) (Dach et al. 2009), namely:

$$\lambda_{3} N_{3,r}^{s} = \lambda_{n}^{{}} N_{1,r}^{s} + \frac{{f_{2} }}{{f_{1} + f_{2} }}\lambda_{w} N_{w,r}^{s}$$

(8)

where \(\lambda_{n} = {c \mathord{\left/ {\vphantom {c {(f_{1} + f_{2} )}}} \right. \kern-0pt} {(f_{1} + f_{2} )}}\) and \(\lambda_{w} = {c \mathord{\left/ {\vphantom {c {(f_{1} - f_{2} )}}} \right. \kern-0pt} {(f_{1} - f_{2} )}}\) denote the narrow-lane and wide-lane wavelengths, which are approximately 11 cm and 86 cm, respectively; \(f_{1} ,f_{2}\) denote the frequencies of \(L_{1}^{{}}\) and \(L_{2}^{{}}\), respectively. Because \(N_{1,r}^{s}\) and \(N_{w,r}^{s}\) have an integer character, we can attain the value of fixed ionosphere-free ambiguity \(\lambda_{3} N_{3,r}^{s}\) through fixing the wide-lane ambiguities and narrow-lane ambiguities. The narrow-lane ambiguity and wide-lane ambiguity contain UPDs and they lost their integer property; however, the integer characteristic of these ambiguities can be recovered after the UPDs are corrected.

### Review of PPP-AR method at the network end

For the FCB method and IRC method, the processing of wide-lane ambiguity is the same at the network end and the users end. Melbourne–Wübbena (MW) combination (Melbourne 1985; Wübbena 1985) is used to obtain fixed integer wide-lane ambiguity and related wide-lane UPDs/FCBs.

$$L_{w,r}^{s} = \lambda_{w} (\frac{{L_{1,r}^{s} }}{{\lambda_{1} }} - \frac{{L_{2,r}^{s} }}{{\lambda_{2} }}) - \frac{{f_{1} P_{1,r}^{s} + f_{2} P_{2,r}^{s} }}{{f_{1} + f_{2} }} = \lambda_{w} (N_{w,r}^{s} + B_{w,r}^{s} )$$

(9)

where \(L_{wi}^{k}\) denotes wide-lane measurements; \(N_{w,r}^{s}\) denotes the fixed integer wide-lane ambiguity; \(B_{w,r}^{s}\) denotes the wide-lane UPDs/FCBs in the unit of a cycle. To reduce the large pseudorange noise, multi-epoch smoothing is used to obtain a more accurate estimate. In order to avoid the influence of receiver FCBs, the difference between satellites is carried out in a wide-lane FCBs calculation. A difference between satellites \(s\) and \(l\) is:

$$B_{w}^{s,l} = \left\langle {\frac{{L_{w,r}^{s} - L_{w,r}^{l} }}{{\lambda_{w} }} - (N_{w,r}^{s} - N_{w,r}^{l} )} \right\rangle$$

(10)

where \(\left\langle \cdot \right\rangle\) represents averaging over all involved wide-lane ambiguities; the superscript *sl* denotes satellite *s* minus *l*; the subscript *r* disappears from the FCBs terms because the remaining wide-lane FCBs \(B_{w}^{s,l}\) are only satellite-dependent.

Once the wide-lane FCBs \(B_{w}^{s,l}\) is obtained, the integer wide-lane ambiguities \(N_{w,r}^{s,l} = N_{w,r}^{s} - N_{w,r}^{l}\) at all involved receivers can also be obtained. Therefore the narrow-lane ambiguity can be calculated by:

$$\lambda_{n}^{{}} (N_{1,r}^{s} + B_{n,r}^{s} ) = \lambda_{3}^{{}} A_{r}^{s} - \frac{{f_{2} }}{{f_{1} + f_{2} }}\lambda_{w} N_{w,r}^{s}$$

(11)

where \(N_{1,r}^{s}\) is the fixed integer narrow-lane ambiguity; \(B_{n,r}^{s}\) denotes the narrow-lane FCBs in the unit of a cycle.

For the FCB method, similarly to Eq. (10), the narrow-lane FCBs can be calculated as wide-lane FCBs (Ge et al. 2008).

$$B_{n}^{s,l} = \left\langle {\frac{{(\lambda_{3}^{{}} A_{r}^{s} - \frac{{f_{2} }}{{f_{1} + f_{2} }}\lambda_{w} N_{w,r}^{s} ) - (\lambda_{3}^{{}} A_{r}^{l} - \frac{{f_{2} }}{{f_{1} + f_{2} }}\lambda_{w} N_{w,r}^{l} )}}{{\lambda_{n}^{{}} }} - (N_{1,r}^{s} - N_{1,r}^{l} )} \right\rangle$$

(12)

where \(B_{n}^{s,l}\) denotes the narrow-lane FCBs.

For the IRC method, we chose a subset of narrow-lane ambiguities to fix and provide a replacement datum for the phase clocks (Collins et al. 2010; Laurichesse et al. 2009). In fact, the narrow-lane FCBs are absorbed into the satellite clock parameter.

Therefore, the Eq. (7) can be written as:

$$\left\{ \begin{aligned} P_{3,r}^{s} = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}t_{r}^{{}} - c \cdot {\text{d}}t_{{}}^{s} \hfill \\ L_{3,r}^{s} - \frac{{f_{2} }}{{f_{1} + f_{2} }}\lambda_{w} N_{wi}^{k} = \tilde{\rho }_{r}^{s} + c \cdot {\text{d}}t_{r}^{{}} - c \cdot {\text{d}}t_{{}}^{s} + \lambda_{n}^{{}} (N_{1,r}^{s} + X_{r}^{s} - x_{r}^{s} ) \hfill \\ N_{1,r}^{s} = [N_{1,r}^{s} ] \hfill \\ \end{aligned} \right.$$

(13)

Note that, in Eq. (13), the receiver biases can be removed by a single-difference in satellites. We neglect this part to make the equation brief.\(N_{1,r}^{s}\) can be fixed with ambiguity search methods.

### Alternative IRC method

The traditional IRC method need to choose a subset of narrow-lane ambiguities to fix and provide a replacement datum for the phase clocks (Collins et al. 2010; Laurichesse et al. 2009). This method is not only complicated, but also has one cycle deviation risk when the ambiguity datum is fixed. The purpose of choosing a subset of narrow-lane ambiguities to fix is to resolve the singular solution in estimating phase clocks.

In view of this, we propose the alternative IRC method. Before we estimate IRC products, we need to realize PPP-AR with FCB method and obtain the fixed ambiguities. Then, we use the fixed ambiguities to transform the phase observations to “carrier range” (Blewitt et al. 2010). This observation does not have ambiguities and maintains the accuracy of the phase observations. Therefore, we can only use the “carrier range” to estimate satellite clocks, named IRC by Laurichesse et al. (2009). Because we do not estimate ambiguities in estimating IRC products, the difficulty of implementing the IRC method is reduced, and this does not influence the accuracy of positioning.

So, we introduce the integer ambiguities \([N_{1,r}^{s} ]\) and \([N_{w,r}^{s} ]\), which are fixed in Eqs. (9) and (13), and recover the ionosphere-free ambiguities \([N_{3,r}^{s} ]\):

$$\lambda_{3} [N_{3,r}^{s} ] = \lambda_{n} [N_{1,r}^{s} ]{ + }\frac{{f_{2} }}{{f_{1} + f_{2} }}\lambda_{w} [N_{w,r}^{s} ]$$

(14)

and then using \([N_{3,r}^{s} ]\), we replace the ambiguities in the Eq. (7). Because we have fixed the ambiguities \([N_{3,r}^{s} ]\) and resolved the singular solution in processing by only using phase observations to estimate phase clocks, we can obtain Eq. (15)

$$L_{3,r}^{s} - \lambda_{3} [N_{3,r}^{s} ] = \tilde{\rho }_{r}^{s} + (c \cdot {\text{d}}\tilde{t}_{r} + X_{r} ) - (c \cdot {\text{d}}\tilde{t}^{s} + X^{s} ) ,$$

(15)

where \([N_{3,r}^{s} ]\) denotes the integer ambiguities derived from PPP-AR with FCB method. The \(X_{r}\) is relevant to receiver biases, and the \(X^{s}\) is relevant to satellite biases. These biases will be absorbed by the clock parameters. We save the integer recovery clock with a RINEX format as an IGS clock file and send it to the user end. At the user end, we can use wide-lane FCBs products and IRC products directly to fix ambiguities in PPP and obtain the ambiguity resolution. Note that the users can use IRC products to replace the IGS normal clock products.