1 Introduction

Global navigation satellite systems (GNSS) can provide high-accuracy positioning services in an open, unobstructed environment, while it may be unavailable in an obstructed environment despite there being many potential applications (Du et al. 2021; Hein 2020). Therefore, a high-accuracy pseudolite (PL) system is emerging as a powerful supplement, backup and enhancement solution, owing to its flexible deployment and strong signal.

An asynchronous PL-based indoor navigation system has demonstrated millimeter-level static error and centimeter-level dynamic error in double-difference (DD) mode (Barnes et al. 2003). However, the sampling time of the reference receiver and user receiver needs to be synchronized to remove the PL transmitters (PLTs) clock offsets due to the PLTs usually being equipped with low-cost Temperature Compensated Crystal Oscillators (TCXOs) which are not extremely stable. Locata is a type of ground-based PL system whose time synchronization technology called “Time-Loc®” is world-renowned (Barnes et al. 2003). This type of PL is equipped with a receiver (PLR) and a transmitter, which are usually mounted together as a transceiver. Locata enables its slave PL to be one-way synchronized from the master PL, so as to achieve time synchronization. It should be pointed out that the basis of time synchronization is carrier phase synchronization. The complexity and time-consuming nature of the phase-synchronized PL system are obvious. Frequency-only synchronization makes the system simpler and greatly shortens the synchronization time (Wang et al. 2019). If the operating area is small, all the PLs can share a single clock source via wired connections and further reduce the costs because the PLs are only required to be equipped with transmitters (Guo et al. 2018; Sun et al. 2021). These two PL systems can be regarded as frequency-synchronized PL systems. Unless otherwise specified, the PL system mentioned below is a frequency-synchronized PL system.

Precise point positioning-real-time kinematic (PPP-RTK) (Geng et al. 2011; Teunissen et al. 2010; Wübbena et al. 2005; Zhang et al. 2018, 2011) as the state-of-the-art continues to attract attention from both research and practice in the GNSS community. The implications are twofold. Firstly, PPP-RTK is as flexible as precise point positioning (PPP) (Gao and Shen 2002; Kouba and Heroux 2001; Zumberge et al. 1997) that allows a user to perform absolute positioning using a stand-alone receiver. Secondly, PPP-RTK can achieve fast integer ambiguity resolution (IAR) with reasonably high success rate similar to a netstudy-based real-time kinematic (NRTK) (Landau et al. 2003; Rizos 2002; Wielgosz et al. 2005). Given the significant advantages of PPP-RTK for GNSS, it is of great research and practical value to transfer this positioning mode to the PL system.

We have made a simple comparison between GNSS and PL systems in PPP-RTK/gPPP-RTK, as shown in Table 1. Compared with GNSS satellites moving in the sky, ground-based PLs are stationary and their accurate coordinates are easier to obtain. However, the static PLs cause insufficient geometric diversity, so that the user receiver must move to produce geometric diversity in order to enhance the success of ambiguity resolution. As for the PLTs (satellites) clock offsets, although the stability of PLTs clock is poor, all PLTs clock offsets are relatively unchanged through synchronization technology or sharing a single clock source. In frequency-synchronized PL systems, the initial phase biases and the different hardware delays lead to the transmitter phase biases (TPBs). However, phase-synchronized PL systems, such as Locata, actually try to correct the TPBs in the process of synchronization. Despite ionosphere correction, which need not to be considered for the PL system, correction for the troposphere effects should be applied (Choudhury et al. 2009). Through the above analysis, it is completely feasible for a PL system to achieve ground-based PPP-RTK (gPPP-RTK). The most critical difficulty is the TPBs estimation which is different from GNSS PPP-RTK, however.

Table 1 Comparison between GNSS and PL systems in PPP-RTK/gPPP-RTK

PPP IAR for Locata has been discussed in simulation work although without a real practical application (Bertsch et al. 2009), and the float ambiguity estimate has always been used (Jiang et al. 2013, 2014). As of now, to our knowledge, there has not been any study that shows the IAR of Locata in a real-world practical application. To recover the integer nature of single-difference (SD) ambiguity, a fractional cycle bias (FCB) correction method based on two-way phase synchronization method was proposed (Liu et al. 2018). This method is more complicated than Locata’s one-way phase synchronization. In order to reduce the complexity of PL systems, some researchers focus on frequency-synchronized PL systems. Wang et al. (2019) proposed a combined difference square observation to eliminate the nonlinear terms which enables PPP with a float solution for frequency-synchronized PL systems. A dynamic key point initialization (DKPI) method was proposed to initialize the PPP ambiguity parameters for a PL system that shares a single clock source (Guo et al. 2018). However, in this case, integer nature of ambiguities is destroyed due to the TPBs being absorbed into the ambiguities. Then, Sun et al. (2021) recovered the integer nature of ambiguities by calibrating the TPBs in advance, thus realizing indoor PPP-RTK (iPPP-RTK). However, a wired connection is not convenient in large areas. Moreover, should the cable length change, the TPB must be re-calibrated.

In this study, we have proposed a method to estimate the TPBs and achieve gPPP-RTK for PL systems. The PL systems use wireless connections similar to Locata. However, our proposed PL systems need frequency-only synchronization rather than accurate phase synchronization, which reduces the complexity and synchronization time of the system. Moreover, unlike the spatial separation of the receiving and transmitting antennas of Locata, we use duplexing antennas, which greatly reduce the costs and size of the system (more details are described in Sect. 2.2).

The remaining discussion is arranged as follows: Firstly, a frequency-synchronized PL system and duplexing antennas are introduced; secondly, a PL system observation model that is simplified from the familiar GNSS observation model is provided; then, a method to estimate the TPBs is proposed; next, the characteristics of the TPBs are analyzed; subsequently, a real-world positioning experiment is conducted to verify the performance of gPPP-RTK; and finally, conclusions and future work are presented.

2 PL system introduction

In order to better understand the PL system, it is necessary to introduce it first. As shown in Fig. 1, the PL system includes a master PL, several slave PLs and a user receiver(s). Slave PLs track the master PL signal to achieve frequency synchronization. Each PL is equipped with only one duplexing antenna to reduce the costs. Frequency synchronization and the duplexing antenna are the two most obvious differences from a Locata system.

Fig. 1
figure 1

PL system diagram

2.1 Frequency synchronization

Compared with accurate phase synchronization, frequency synchronization is easier to implement and requires less time. In order to achieve frequency synchronization, each slave PL should be equipped with at least one PLR and one PLT. Furthermore, the slave PLR must track the master PLT signal stably. Assume that the signal frequency of the master PLT is \(f^{M}\), and the local oscillator frequency of the slave PLR i is \( f^{S,i}_{LO,r} \). Once the PLR tracks the signal stably with Doppler frequency \( f_{d}^{S,i}=f^{M}-f^{S,i}_{LO,r} \), a carrier modulated by a unique pseudo-random code (PRN) is transmitted at frequency \( f^{S,i}=f_{d}^{S,i}+f^{S,i}_{LO,t} \), where \( f^{S,i}_{LO,t} \) is the local oscillator frequency of PLT i. Now consider that the PLT i and PLR i share a common clock source, that is, \( f^{S,i}_{LO,t}=f^{S,i}_{LO,r} \), thus \( f^{S,i}=f^{M} \). Each slave PL can be imagined as an electronic mirror which “reflects” the master PLT signal from a known point. It should be noted that the carrier phases are different between the PLTs due to the initial phase biases and hardware delays.

2.2 Duplexing antenna

In legacy systems, the receiving antenna and transmitting antenna are spatially separated, and each PL is equipped with a receiving antenna and a transmitting antenna. In order to reduce the costs and size, we have developed a duplexing antenna as shown in Fig. 2. The signal transmitted by the PLT can be fed back to the PLR through the internal loop of the antenna. In this way, the antenna delay of the signal fed back from internally is smaller compared with that of the signal received externally. This is very important for the subsequent IAR.

Fig. 2
figure 2

Duplexing antenna

3 Observation model

For clarity, the observation model of PL system is first expressed as being similar to a GNSS observation model (Jin and Su 2020) and then is simplified according to the characteristics of PL system. The carrier-phase observation equation is as follows:

$$\begin{aligned} \varphi _k^i = {\lambda ^{ - 1}}\left( \rho _k^i + c\left( {\Delta } {t_k} - {\Delta } {t^i}\right) \right) + N_k^i + B_k - B^i \end{aligned}$$
(1)

where the superscript i and subscript k indicate the transmitter and receiver, respectively; the carrier-phase measurement \( \varphi _k^i \) is expressed in cycles, and \( \lambda \) is the wavelength of the signal; \( \rho _k^i \) is the geometric distance between the antenna reference point (ARP) of the receiver and that of the transmitter; c is the speed of light; \( {\Delta } {t_k }\) and \( {\Delta } {t^i} \) are the clock offsets of receiver and transmitter in seconds; \( N_k^i \) refers to the integer ambiguity in cycles; and \( B_k \) and \( B^i \) are the phase biases of receiver and transmitter in cycles. Any multipath and noise effects are not included for clarity. Since the signal propagates over the ground, there is no ionospheric delay, while tropospheric delay (Choudhury et al. 2009) should be corrected. The phase center correction and phase wind-up effects (Wu et al. 1993) must be considered in modeling as same as GNSS observations processing.

According to the previous introduction, the PL system includes a master PL, several slave PLs and a user receiver(s). Each PL consists of a transmitter and a receiver for phase or frequency synchronization (Barnes et al. 2003; Wang et al. 2019). Once the frequency synchronization is completed, the carrier frequencies of the signal transmitted by each transmitter are equal. Therefore, the relative clock offsets between transmitters will not change over time. The clock offset of transmitter can be divided into two parts, which can be rewritten as

$$\begin{aligned} \begin{aligned} {\Delta } {t^i}&= \int _0^{{t_{sync}}} {{\Delta } {f^i}\mathrm{{d}}t} \mathrm{{ + }}\int _{{t_{sync}}} {{\Delta } {f^{\mathrm{{*}}}}\mathrm{{d}}t} \\&= {\Delta } {t^{i,async}} + {\Delta } {t^{*,sync}} \end{aligned} \end{aligned}$$
(2)

where \( {\Delta } {t^{i,async}} \) and \( {\Delta } {t^{*,sync}} \) stand for the clock offsets before and after frequency synchronization, respectively. The superscript \( * \) is a wildcard indicating that the frequency offset of all transmitters is the same after frequency synchronization. Therefore, \( {\Delta } {t^{*,sync}} \) can be absorbed by \( {\Delta } {t_k} \) . It is clear that \( B_k \) can also be absorbed by \( {\Delta } {t_k} \). Although \( {\Delta } {t^{i,async}} \) is different in each transmitter, it is a constant after frequency synchronization. Here, we can combine \( {\Delta } {t^{i,async}} \) and \( B^i \) together.

After reforming the parameters, Eq. (2) becomes

$$\begin{aligned} \varphi _k^i = {\lambda ^{ - 1}}(\rho _k^i + c{\Delta } {\tilde{t}_k}) + N_k^i - {{\tilde{B}}^i} \end{aligned}$$
(3)

where \(c{\Delta } {{\tilde{t}}_k} = c{\Delta } {t_k} - c{\Delta } {t^{*,sync}} + \lambda {B_k} \), and \({{\tilde{B}}^i} = {B^i} + \lambda ^{-1}c{\Delta } {t^{i,async}}\). \( {\tilde{B}}^i \) is the re-parameterized TPB, which is linear with the integer ambiguity so that it destroys the integer nature of the ambiguity.

4 Estimation of the TPBs

In order to achieve IAR, the TPBs must be estimated and eliminated. Generally, one of the PL is selected as the master PL and the others as slave PLs. For the convenience of expression, PL 1 is selected as the master PL. The observation equation for the slave PLR i corresponding to the master PLT can be expressed as

$$\begin{aligned} \varphi _i^1 = {\lambda ^{ - 1}}(\rho _i^1 + c{\Delta } {\tilde{t}_i}) + N_i^1 - {{\tilde{B}}^1} \end{aligned}$$
(4)

and the observation equation for the slave PLR i corresponding to its own transmitter can be expressed as

$$\begin{aligned} \varphi _i^i = {\lambda ^{ - 1}}(\rho _i^i + c{\Delta } {\tilde{t}_i}) + N_i^i - {{\tilde{B}}^i} \end{aligned}$$
(5)

Given that the signal does not travel through the atmosphere, tropospheric correction is not required. Moreover, phase wind-up effects and antenna phase center correction do not need to be considered, because the signal only travels inside the equipment and cable. Differencing between Eqs. (5) and (4), one can get

$$\begin{aligned} {\Delta } \varphi _i^{i,1} = {\lambda ^{ - 1}}{\Delta } \rho _i^{i,1} + {\Delta } N_i^{i,1} - {\Delta } {{\tilde{B}}^{i,1}} \end{aligned}$$
(6)

where \({\Delta } \varphi _i^{i,1} = \varphi _i^i - \varphi _i^1\), \({\Delta } \rho _i^{i,1} = \rho _i^i - \rho _i^1\), \({\Delta } N_i^{i,1} = N_i^i - N_i^1\) and \({\Delta } {\tilde{B}^{i,1}} = {{\tilde{B}}^i} - {{\tilde{B}}^1}\). Therefore, the SD TPB can be expressed as

$$\begin{aligned} {\Delta } {{\tilde{B}}^{i,1}} = {\lambda ^{ - 1}}{\Delta } \rho _i^{i,1} + {\Delta } N_i^{i,1} - {\Delta } \varphi _i^{i,1} \end{aligned}$$
(7)

Once the \( {\Delta } {{\tilde{B}}^{i,1}} \) is obtained, one could insert it into Eq. (3) and shows that

$$\begin{aligned} \begin{aligned} \varphi _k^i&= {\lambda ^{ - 1}}(\rho _k^i + c{\Delta } {{{\tilde{t}}}_k}) + N_k^i - {{{\tilde{B}}}^i} + {\Delta } {{{\tilde{B}}}^{i,1}}\\&= {\lambda ^{ - 1}}(\rho _k^i + c{\Delta } {{{\tilde{t}}}_k}) + N_k^i - {{{\tilde{B}}}^1}\\&= {\lambda ^{ - 1}}(\rho _k^i + c{\Delta } {\tilde{{\tilde{t}}}}_k) + N_k^i \end{aligned} \end{aligned}$$
(8)

with \(c{\Delta } {\tilde{{\tilde{t}}}}_k = c{\Delta } {\tilde{t}_k} - \lambda {{\tilde{B}}^1}\) . Therefore, it becomes possible to resolve the integer ambiguity.

Let us focus back on the \({\Delta } {{\tilde{B}}^{i,1}}\) in Eq. (7). Because the integer part of it can be absorbed by the integer ambiguity without affecting the positioning accuracy, only the fractional part needs to be considered. \({\Delta } \varphi _i^{i,1}\) can be easily calculated by the measurements. \(\lambda \rho _i^1\) can also be determined by the accuracy coordinates of the master PL and slave PL i . The only remaining unknown parameter is \(\lambda \rho _i^i\) which cannot be calculated in a normal way due to the signal being fed back to the receiver through the internal loop of the antenna. Here, \(\lambda \rho _i^i\) is referred to as a duplexing antenna internal loop correction.

4.1 Duplexing antenna internal loop correction

The arrival of the signal fed back through the internal loop is “earlier” than that of the signal received externally. Now we need to determine how “earlier” it is. Therefore, we have proposed a three-PL calibration method as shown in Fig. 3.

Fig. 3
figure 3

Calibration based on three PLs

Without loss of generality, consider the third duplexing antenna internal loop correction as an example. The four observation equations are

$$\begin{aligned} \left\{ \begin{array}{l} \varphi _2^1 = {\lambda ^{ - 1}}(\rho _2^1 + c{\Delta } {{{\tilde{t}}}_2}) + N_2^1 - {{{\tilde{B}}}^1}\\ \varphi _2^3 = {\lambda ^{ - 1}}(\rho _2^3 + c{\Delta } {{{\tilde{t}}}_2}) + N_2^3 - {{{\tilde{B}}}^3}\\ \varphi _3^1 = {\lambda ^{ - 1}}(\rho _3^1 + c{\Delta } {{{\tilde{t}}}_3}) + N_3^1 - {{{\tilde{B}}}^1}\\ \varphi _3^3 = {\lambda ^{ - 1}}(\rho _3^3 + c{\Delta } {{\tilde{t}}_3}) + N_3^3 - {{{\tilde{B}}}^3} \end{array} \right. \end{aligned}$$
(9)

Then the DD equation can be expressed as

$$\begin{aligned} {\Delta } \nabla \varphi _{2,3}^{1,3} = {\lambda ^{ - 1}}\left[ {{\Delta } \rho _2^{1,3} - (\rho _3^1 - \rho _3^3)} \right] + {\Delta } \nabla N_{2,3}^{1,3} \end{aligned}$$
(10)

where \({\Delta } \nabla \varphi _{2,3}^{1,3} = (\varphi _2^1 - \varphi _2^3) - (\varphi _3^1 - \varphi _3^3)\) , \({\Delta } \nabla N_{2,3}^{1,3} = (N_2^1 - N_2^3) - (N_3^1 - N_3^3)\) and \({\Delta } \rho _2^{1,3} = \rho _2^1 - \rho _2^3 \) . Thus

$$\begin{aligned} {\lambda ^{ - 1}}\rho _3^3 = {\lambda ^{ - 1}}(\rho _3^1 - {\Delta } \rho _2^{1,3}) - {\Delta } \nabla N_{2,3}^{1,3} + {\Delta } \nabla \varphi _{2,3}^{1,3} \end{aligned}$$
(11)

where \({\lambda ^{ - 1}}\rho _3^3\) is expressed in cycles. Similarly, its integer part can be absorbed by the ambiguity; and only the fractional part needs to be considered, which is expressed as

$$\begin{aligned} {\lambda ^{ - 1}}\rho _3^3 = \mathrm{{frac}}\left( {{\lambda ^{ - 1}}\left( {\rho _3^1 - {\Delta } \rho _2^{1,3}} \right) + {\Delta } \nabla \varphi _{2,3}^{1,3}} \right) \end{aligned}$$
(12)

where \(\mathrm{{frac}}( * )\) denotes the operation of selecting the fractional part of the element. This method takes advantage of the integer nature of DD ambiguity. In this way, all duplexing antenna internal loop corrections can be obtained.

5 Characteristics of the TPBs

In order to make better use of the TPBs, it is necessary to analyze their characteristics of time varying and system restarting, considering that restarting the system is a normal operation in practical applications. It can be seen from the previous section that the \({\Delta } {{\tilde{B}}^{i,1}}\) includes two possible variables:

  1. 1.

    \({\Delta } \varphi _i^{i,1}\): The difference between the measurements received from its own transmitter and that received from the master PLT.

  2. 2.

    \(\rho _i^i\): The duplexing antenna internal loop correction.

Six PLs are analyzed in this experiment. The experiment includes two time periods, between which the PL system was restarted. Now we will analyze them separately.

As shown in Fig. 4, the difference between the measurement received from its own transmitter and that received from the master PLT in period 1 is very stable in time, and there is a similar phenomenon in period 2. The reason for this is that the distance between the PLs is not changed after frequency synchronization. However, their numerical values are different between the two periods. The difference is due to the fact that once the system is restarted, the initial phases of both the transmitter- and receiver-mixers signals change randomly (Petovello and O’Driscoll 2010). Therefore, the new SD measurements must be broadcast after the system restarts. Table 2 shows the summary of the mean values and standard deviations (STDs) for the SD measurements in the two periods. The STDs of SD measurements are about 0.007 cycles, which are smaller than that of GNSS nominal SD carrier-phase measurements due to the stronger signal of PL system. Taking advantage of their long-term stable characteristic, one can filter and smooth them to improve their accuracies.

Fig. 4
figure 4

The difference between the measurement received from its own transmitter and that received from the master PLT in the two periods by switching on/off the PL system

Table 2 Summary of the mean values and STDs for the SD measurements in the two periods by switching on/off the PL system

Figure 5 shows the antenna internal loop corrections in the two periods. It can be seen that the corrections are also very stable in time, even though the PL system was restarted between periods 1 and 2. In essence, the antenna internal loop correction is the difference between the antenna delays of the signal fed back internally and that of the signal received externally, which is an inherent property of an antenna and can be regarded as a constant. Table 3 shows the mean values and STDs of the antenna internal loop corrections. Although the STDs are approximately 0.01 cycles, the differences between the mean values of the two periods are within 0.001 cycles. Therefore, antenna internal loop corrections could be pre-calibrated using our proposed method.

Fig. 5
figure 5

The difference between the measurement received from its own transmitter and that received from the master PLT in the two periods by switching on/off the PL system

Table 3 Summary of the mean values and STDs for the antenna internal loop corrections in the two periods by switching on/off the PL system

6 Integer ambiguity resolution

Now we consider an extended Kalman filter (EKF) applied to parameters estimation. The state equation and measurement equation at epoch time \( t_s \) are:

$$\begin{aligned} \left\{ \begin{aligned} {\varvec{x}}(s)&= {\varvec{x}}(s - 1) + {\varvec{w}}(s)\\ {\varvec{z}}(s)&= {\varvec{h}}({\varvec{x}}(s)) + {\varvec{v}}(s) \end{aligned} \right. \end{aligned}$$
(13)

where the filter state vector \({\varvec{ x}} = {({{\varvec{ r}}_k^{\mathrm{{T}}}},c{\Delta } {\tilde{{\tilde{t}}}}_k,{{\varvec{{\hat{N}}}}_k^{\mathrm{{T}}}})^{\mathrm{{T}}}}\), the receiver position \({{\varvec{ r}}_k} = {( { x_k}, { y_k}, { z_k})^{\mathrm{{T}}}}\) , the re-parameterized receiver clock offset \({\Delta } {\tilde{{\tilde{t}}}}_k \) and the UD carrier-phase ambiguities of n PLs are \({{\varvec{ N}}_k} = {( N_k^1, N_k^2, \cdots , N_k^n)^{\mathrm{{T}}}}\); the measurement vector \({\varvec{z}} = {\left( {z_k^1,z_k^2, \cdots ,z_k^n} \right) ^{\mathrm{{T}}}}\), \(z_k^i = \lambda (\varphi _k^i - {\Delta } {{\tilde{B}}^{i,1}})\); the measurement matrix

$$\begin{aligned} {\varvec{H}} = {\left. {\frac{{\partial {\varvec{h}}({\varvec{x}}(s))}}{{\partial {\varvec{x}}(s)}}} \right| _{{\varvec{x}}(s){\varvec{ = {\hat{x}}}}(s)}} = \left( {\begin{array}{*{20}{c}} { - {\varvec{e}}_k^1}&{}1&{}\lambda &{}{}&{}{}&{}{}\\ { - {\varvec{e}}_k^2}&{}1&{}{}&{}\lambda &{}{}&{}{}\\ \vdots &{} \vdots &{}{}&{}{}&{} \ddots &{}{}\\ { - {\varvec{e}}_k^n}&{}1&{}{}&{}{}&{}{}&{}\lambda \end{array}} \right) , \end{aligned}$$
(14)

\({\varvec{e}}_k^i\) is the line-of-sight unit vector from the receiver k to the PL i; \(\varvec{w}\) is the process noise; and \(\varvec{v}\) is the measurement noise.

However, the integer ambiguity \(N_k^i\) and re-parameterized receiver clock offset \( {\Delta } {\tilde{{\tilde{t}}}}_k \) cannot be estimated separately, but only linear combinations of them, accounting for the fact that Eq. (8) is rank-deficient.

One possibility to overcome this problem is to transform the estimated states and their covariance matrix to SD forms:

$$\begin{aligned} {\Delta } {\varvec{{\hat{x}}}}= & {} {\varvec{G{\hat{x}}}} = {({{\varvec{{\hat{r}}}}_k^{\mathrm{{T}}}},{\Delta } {{\varvec{{\hat{N}}}}_k^{\mathrm{{T}}}})^{\mathrm{{T}}}} \end{aligned}$$
(15)
$$\begin{aligned} {{\Delta }\varvec{P}}= & {} {\varvec{GP}}{{\varvec{G}}^{\mathrm{{T}}}} = \left( {\begin{array}{*{20}{c}} {{{\varvec{Q}}_{{\hat{R}}}}}&{}{{{\varvec{Q}}_{{\hat{R}}{\Delta }{\hat{N}}}}}\\ {{{\varvec{Q}}_{{\Delta }{\hat{N}}{\hat{R}}}}}&{}{{{\varvec{Q}}_{{\Delta }{\hat{N}}}}} \end{array}} \right) \end{aligned}$$
(16)

where \(\varvec{P}\) is the covariance matrix of the estimate state \(\hat{\varvec{x}}\);

$$\begin{aligned} {\varvec{G}}= & {} \left( {\begin{array}{*{20}{c}} {{{\varvec{I}}_{3 \times 3}}}&{}{}&{}{}\\ {}&{}{{{\varvec{0}}_{(n - 1) \times 1}}}&{}{{{\varvec{F}}_{(n - 1) \times n}}} \end{array}} \right) , \end{aligned}$$
(17)
$$\begin{aligned} {\varvec{F}}= & {} \left( {\begin{array}{*{20}{c}} { - 1}&{}1&{}0&{} \cdots &{}0\\ { - 1}&{}0&{}1&{} \cdots &{}0\\ \vdots &{} \vdots &{} \vdots &{} \ddots &{} \vdots \\ { - 1}&{}0&{}0&{} \cdots &{}1 \end{array}} \right) . \end{aligned}$$
(18)

In this transformation, the re-parameterized receiver clock offset is abandoned, and the UD carrier-phase ambiguities are transferred to the across-PL SD carrier-phase ambiguities \({{\Delta }\varvec{\hat{N}}}\) with integer nature. In these formulas, the most appropriate integer vector for the integer ambiguities is obtained by solving an integer least square (ILS) problem expressed as:

$$\begin{aligned} {{\Delta }\breve{\varvec{N}}} = \mathop {\mathrm{{argmin}}}\limits _{{\Delta }\breve{\varvec{N}} \in {\varvec{Z}^n}} \left( {{{\left( {{\Delta }\breve{\varvec{N}} - {{\Delta }\varvec{{\hat{N}}}}} \right) }^{\mathrm{{T}}}}{\varvec{Q}}_{{\Delta }{\hat{N}}}^{ - 1}\left( {{\Delta }\breve{\varvec{N}} - {{\Delta }\varvec{{\hat{N}}}}} \right) } \right) \end{aligned}$$
(19)

In order to speed up estimating , early processes mainly included the least-squares ambiguity decorrelation (LAMBDA) method (Teunissen 1995) and the inverse integer Cholesky decorrelation (Xu 2001). Later, Chang et al. (2005) and Xu et al. (2012) further reduced the computational complexity of the ambiguity estimation. In this study, we adopt the modified least squares ambiguity decorrelation adjustment (MLAMBDA) method. The integer vector solution obtained from these procedures can be validated by a simple “Ratio-Test”. In the “Ratio-Test”, the ratio actor R , defined as the ratio of the weighted sum of the squared residuals by the sub-optimal solution \( {\Delta }\breve{\varvec{N}}_2 \) to that by the optimal solution \( {\Delta }\breve{\varvec{N}} \) , is used to check the reliability of the solution. The validation threshold \({R_{thres}}\) can be set empirically, such as \({R_{thres}}=2.0\).

$$\begin{aligned} R = \frac{{({\Delta }\breve{\varvec{N}}_2 - {\Delta }\hat{\varvec{N}}){\varvec{Q}}_{{\Delta }{\hat{N}}}^{ - 1}({\Delta }\breve{\varvec{N}}_2 - {\Delta }\hat{\varvec{N}})}}{{({\Delta }\breve{\varvec{N}} - {\Delta }\hat{\varvec{N}}){\varvec{Q}}_{{\Delta }{\hat{N}}}^{ - 1}({\Delta }\breve{\varvec{N}} - {\Delta }\hat{\varvec{N}})}} > {R_{thres}} \end{aligned}$$
(20)

In order to further improve the reliability of the solution, we need to compute the probability with which AR is correctly estimated. An elegant probabilistic bound of success was first proposed by Shannon (1959), which was further improved by Xu (2006). An approximate lower bound of success probability can also be found in Teunissen (1998). For simplicity, the approximate lower bound of success probability will be considered in this study:

$$\begin{aligned} {P_{success}}({\Delta N} = {{\Delta }\varvec{N}}) = \prod \limits _{i = 1}^n {\left[ {2\Phi \left( {\frac{1}{{2{\sigma _{i\left| I \right. }}}}} \right) - 1} \right] } \end{aligned}$$
(21)

where \({{\Delta }\varvec{N}}\) is the correct ambiguity vector and

$$\begin{aligned} \Phi (x) = \int _{ - \infty }^x {\frac{1}{{\sqrt{2\pi }}}\exp \left( { - \frac{1}{2}{\upsilon ^2}} \right) \mathrm{{d}}\upsilon }. \end{aligned}$$
(22)

The conditional standard deviations \({\sigma _{i\left| I \right. }}\) can be obtained directly as the square root of the entries of the diagonal matrix \({\varvec{D}}\) in the triangular decomposition of the variance–covariance matrix \({{\varvec{Q}}_{{\Delta }{\hat{N}}}} = {\varvec{LD}}{{\varvec{L}}^{\mathrm{{T}}}}\) (Teunissen et al. 2002).

To avoid staying on a wrong ambiguity solution from one epoch to another, a new set of integer ambiguities is estimated at each epoch.

7 Real-world positioning experiment

Our real-world experiment verified the performances of the proposed methods. An in-house-developed prototype PL system was deployed on the roof of a building in order to acquire the coordinates more conveniently. The experiment environment and platform are shown in Fig. 6. The coordinates of the GNSS RTK base station are obtained by GNSS static PPP. The coordinates of the 6 PLs are obtained through GNSS RTK long-term static observations, and the relative position accuracy can reach millimeter level. The rover is equipped with a PL antenna and two GNSS antennas. The PL antenna with only receiving function is located in the middle of the two GNSS antennas. Therefore, the mean value of the two GNSS antennas’ coordinates obtained by GNSS RTK could be regarded as the ground truth of the PL antenna’s coordinates, which could be used to evaluate the positioning results in the experiment. It should be noted that the absolute accuracy of the RTK base coordinates is not very important. Since all the PLs coordinates and ground truth are obtained by RTK, their coordinates are relative to the RTK base coordinates. We are more concerned about their relative accuracy (or RTK accuracy).

Fig. 6
figure 6

The experiment environment and platform

The signal carrier frequency is 2465.43 MHz, and the sampling rate is 10 Hz. The noise of all carrier-phase measurements is set to 0.01 m considering the possibility of serious multipath error at low elevation angles. The initial position is obtained by GNSS single point positioning (SPP), and the ambiguities are initialized according to the initial position. The filter parameters are listed in Table 4.

Table 4 Filter parameterization

Figure 7 shows the planimetric view of PLs and user’s trajectory. The red circles represent the PLs; the orange star represents the start point; the blue star represents the first fixed solution point; the pink star represents the end point; the orange line symbol represents the float solutions trajectory; and the blue line represents the fixed solutions trajectory. It can be seen that the ambiguities are first fixed at about 1/4 rotation of the rover.

Fig. 7
figure 7

The planimetric view of PLs and user’s trajectory; the red cycles represent the PLs; the orange star represents the start point; the blue star represents the first fixed ambiguity solution point; the pink star represents the end point; the orange line symbol represents the float ambiguity solutions trajectory; and the blue line represents the fixed ambiguity solutions trajectory

To avoid staying on a wrong ambiguity solution from one epoch to another, a new set of integer ambiguities is estimated at each epoch. Both the “Ratio-Test” and success rate are validated to improve the reliability of ambiguity resolution. The ambiguity resolution validations are shown in Fig. 8. For display purposes, the failure rate (1 minus success rate) is presented. The failure rate decreases sharply to and at epochs 68 and 77, respectively. During the epochs, the ambiguities cannot be fixed correctly although the failure rate is smaller than its threshold , which indicates that using only the failure rate for the validation of ambiguity resolution is not very reliable. The ratio increases rapidly after epoch 128 and increases to the ratio threshold of 2.0 at epoch 136. Surprisingly, the ambiguities are fixed correctly after epoch 82 although the ratio did not reach 2.0, which means that there exist miss alarm events. However, the ambiguities are not fixed correctly though the ratio is larger than 2.0 at epoch 7. Note that the failure rate is 0.99 at this epoch. But anyway, as long as both the success rate is larger than 0.999 and the ratio is larger than 2.0, the ambiguities can be fixed correctly. As a result, it is correct to consider both the ratio and failure rate for validation. Moreover, we believe ambiguity resolution validations are worth further study. Furthermore, the ratios are basically larger than 20 after epoch 422, which demonstrate that the integer nature of ambiguities is satisfactorily recovered.

Fig. 8
figure 8

Ambiguity resolution validations; the ratio threshold is set to 2.0; and the failure rate threshold is set to \( 10^{-3} \)

Fig. 9
figure 9

Positioning errors for the horizontal and vertical components for gPPP-RTK and gPPP; the convergence threshold is set to 0.1 m and 0.2 m for horizontal and vertical components, respectively

Table 5 Convergence and positioning errors for gPPP-RTK and gPPP

Position errors in the horizontal and vertical components for gPPP-RTK and ground-based precise point positioning (gPPP) are shown in Fig. 9. The convergence threshold is set to 0.1 m and 0.2 m for the horizontal and vertical components, respectively. The specific numerical information is given in Table 5. The positioning error in the vertical component is much larger than that in the horizontal component due to the ground-based vertical dilution of precision (gVDOP) being worse than the ground-based horizontal dilution of precision (gHDOP). After convergence, the positioning root-mean-square errors (RMSE) are 1.86 and 4.06 cm in the horizontal and vertical components, respectively, for gPPP-RTK, compared with 2.00 and 10.00 cm in the horizontal and vertical components, respectively, for gPPP. The improvement of positioning accuracy in the horizontal component is marginal, compared with that about 60% in the vertical component. The gPPP-RTK solution converges at epoch 82 in both the horizontal and vertical components thanks to the correct ambiguity solution, while the gPPP solution converges at epochs 142 and 200 in the horizontal and vertical component, respectively. Moreover, there are some positioning errors in the vertical component out of the convergence range after convergence for gPPP due to the poor gVDOP. Additional, the positioning errors in the vertical component are very sensitive to gVDOP fluctuations, especially for gPPP. We have to note that due to limited conditions, the ground truth obtained through RTK, whose accuracy is around 0.5 cm in an ultra-short baseline, could have some impact on the accuracy evaluation of gPPP-RTK and gPPP. However, it can still demonstrate the relative performance improvement and prove that accuracy of the proposed gPPP-RTK is better than that of gPPP.

8 Conclusions and future work

In this study, we proposed a gPPP-RTK for PL systems. The PL system only requires frequency synchronization rather than complicated phase synchronization. The TPB, which is the core of gPPP-RTK, can be divided into two parts:

  1. 1.

    The difference between the measurement received from its own transmitter and that received from the master PLT. The differential measurement is rather stable in time unless the PL system is restarted. Therefore, it does not need to be broadcast frequently unless the system is restarted.

  2. 2.

    Duplexing antenna internal loop correction. It is long-term stable and not changed as system switched on/off. Consequently, it can be pre-calibrated using our proposed method.

The real-world gPPP-RTK experiment based on the estimated TPBs indicated that the convergence time was dramatically shortened by 42% and 59% for the horizontal and vertical components, respectively, compared with gPPP. Furthermore, gPPP-RTK showed a better positioning accuracy of 1.86 and 4.06 cm in the horizontal and vertical components, respectively, compared with that of 2.00 and 10.00 cm for gPPP. The performances of convergence time and positioning accuracy in the vertical component are significantly better than that in the horizontal component. It is worth mentioning that, according to our multiple experiments, it can be seen that although the number of PLs, their deployment and the trajectory of user receivers will affect the convergence and the accuracy of positioning, all experiments show the superiority of gPPP-RTK.

At present, gPPP-RTK works only in one subnet, and expanding its application across subnets will be considered in our future work. Finally, with the expansion of the positioning range, tropospheric model error needs to be reconsidered.