1 Introduction

Global navigation satellite systems (GNSSs) have been widely used in many areas of modern society. Due to the weak signal strength, GNSSs are quite vulnerable to interferences or may even be unavailable in shadowed regions. However, many applications drive up demand for high-precision positioning in global navigation satellite system (GNSS) unavailable situations.

Decades ago, researchers proposed the concept of pseudolites to improve the performance of GPS (Beser and Parkinson 1982). The terrestrial base stations broadcasting ranging signals can be flexibly deployed, and recently, researchers have developed various ground-based systems that cooperate with GNSS or provide stand-alone positioning service (Wang 2002). These systems have been used in many applications, such as aircraft landing, vehicle navigation, indoor positioning and so on (Cobb 1997; Barnes et al. 2003; Lee et al. 2003; Kee et al. 2003; Kiran and Bartone 2004; Lee et al. 2005; Niwa et al. 2008; Khan et al. 2010; Jiang et al. 2013; Montillet et al. 2014; Jiang et al. 2015; Yang et al. 2015; Montillet et al. 2009; Wang et al. 2018; Guo et al. 2018; Wang et al. 2019).

In GNSS unavailable situations, several recent researches have shown that by using carrier phase measurements, ground-based positioning systems can realize stand-alone precise point positioning (PPP) (Barnes et al. 2003; Guo et al. 2018; Montillet et al. 2009; Wang et al. 2019).

The premise of using carrier measurements is to determine carrier phase ambiguities, and for ground-based positioning, there have been a number of ambiguity determination methods. The known point initialization (KPI) method directly determines the ambiguities via the known coordinates of initial point(s) (Montillet et al. 2009). However, it is difficult to obtain the accurate coordinates of initial points in dynamic applications.

There have been several methods that require approximate initial coordinates. Based on the ambiguity function method (AFM), Li et al. (2017) proposed a single-epoch ambiguity resolution method for indoor pseudolite system, and their experiments proved that it worked well with an initial coordinate precision better than 0.2 m.

In the dynamic key point initialization (DKPI) method, the coordinates of several initial points are required to be known in advance, although they do not need to be accurate (Guo et al. 2018). The coordinates of the initial points can be obtained by other measuring instruments, but this creates inconvenience in practical applications.

Another kind of method is independent of a prior information regarding initial points and is referred as the on-the-fly (OTF) method. The OTF method utilizes geometric diversity to improve the accuracy of ambiguity determination. In Amt (2006) and Bertsch et al. (2009), the ambiguity determination is based on a nonlinear batch least-squares estimation. In Lee et al. (2005) and Jiang et al. (2013), the ground-based system is integrated with an inertial navigation system, and an extended Kalman filter is used to determine ambiguities.

In these OTF methods, the approximate linear expansion is used, which is based on the initial estimate obtained from code measurements. However, poor accuracy of code measurements can result in large errors of initial estimate. Due to the potential severe nonlinear effects in ground-based applications, the linear expansion based on a poor estimate will lead to divergence in the computation, and in this case, the OTF methods will suffer from convergence difficulties (Dai et al. 2001; Jiang et al. 2013).

Recently, based on the double difference square (DDS) observation, a new OTF method is proposed in Wang et al. (2019). It involves only carrier phase measurements and does not relies on code measurements. In this method, however, the receiver is required to be static for a period of time to estimate the clock model. Such a requirement might limit the application of this method, although it needs no other measuring instruments. For example, an aircraft cannot be stationary in the air and a vehicle cannot be stopped arbitrarily.

In this research, we first propose a new generalized combined observation called combined difference square (CDS) for ambiguity determination in ground-based positioning system, of which DDS observation can be seen as a special case. Based on CDS, we further derive a rotational-symmetry combined difference square (RS-CDS) ambiguity determination model in which the clock model parameter is taken as a variable and estimated jointly with the ambiguities.

The proposed RS-CDS observation makes it unnecessary to estimate the clock model in advance and overcomes the shortcomings of DDS. This advantage makes our method more convenient, especially for dynamic applications.

The proposed RS-CDS observation eliminates nonlinear terms of the receiver’s coordinates by linear combination and square, instead of series expansions based on the initial position estimate. In addition, the RS-CDS observation is proved to be the combination of a minimum number of difference square observations. It is an important design objective since combining more observations can increase the noise significantly.

In the proposed ambiguity determination method, an initial solution of single difference (SD) generalized ambiguities is first obtained from the RS-CDS model, based on which a refined solution with higher accuracy is then determined by iteration.

On the other hand, although the clocks of base stations can be synchronized in wired or wireless ways (Barnes et al. 2003; Guo et al. 2018; Wang et al. 2019), it is difficult to guarantee that there are exactly no clock differences. More often, there are constant clock differences even with synchronization techniques, and this case is called frequency synchronization in this research. Similar to those in Guo et al. (2018) and Wang et al. (2019), the proposed method allows constant clock differences of base stations. In other words, only frequency synchronization is needed, and this reduces the complexity of system implementation and deployment.

It is shown by a series of numerical simulations that the geometry changes significantly improve the accuracy of ambiguity determination. In addition, two real-world experiments were carried out to demonstrate the centimeter-level positioning accuracy of the proposed method. In the first experiment, the receiver antenna was fixed on the turntable thus repeating circular motion. In the second experiment, the receiver was installed on a wheeled robot performing irregular movements instead of a circular motion. The experiment results demonstrate that our method enables PPP without code measurements or a priori information of initial points and is suitable for dynamic applications.

2 Basic carrier phase measurement model

A typical ground-based positioning system usually includes several base stations and receiver(s). The base stations are static, and their coordinates can be accurately measured in advance. The receiver obtains carrier measurements from the ranging signals broadcast by the base stations, and its motion provides geometry diversity for the ambiguity determination.

Before introducing the carrier measurement model, some assumptions are made. First, for ground-based positioning systems, the occurrence of a cycle slip will degrade the positioning accuracy, and there have been some researches on this issue. Lee et al. (2003) introduced the inertial navigation system measurements to aid the cycle slip detection. The \(\mathrm {C}/\mathrm {N}_{0}\) of the received signal can serve as an indicator to detect cycle slips (Niwa et al. 2008). Montillet et al. (2009) and Khan et al. (2010) used the double difference of carrier phase measurements as a detection indicator, while Montillet et al. (2014) proposed to further improve the detection performance with multi-frequency and multi-antenna hardware.

However, this research is focused on the ambiguity determination, and it is assumed that there is no cycle slip or loss of signal lock during the motion like earlier researches (Amt 2006; Bertsch et al. 2009; Guo et al. 2018; Wang et al. 2019). In other words, the carrier phase ambiguity is considered to be invariant.

In addition, frequency synchronization is assumed: the base stations are synchronized in wired or wireless ways (Guo et al. 2018; Barnes et al. 2003; Wang et al. 2019), but there are still constant clock differences.

With the assumptions above, the carrier phase measurement \(\phi _{k}^{i}\) at the \(k\hbox {th}\) epoch is formulated as

$$\begin{aligned} \phi _{k}^{i}=\lambda ^{-1}\Vert {\mathbf {s}}_{i}-{\mathbf {u}}_{k}\Vert +N_{i}-f_{c}\delta t_{i}+f_{c}\delta t_{k}^{u}+w_{k}^{i} \end{aligned}$$
(1)

where \(\lambda \) represents the wavelength and \({\mathbf {s}}_{i}\) represents the coordinates of the ith base station. \(f_{c}\) represents the carrier frequency. \(N_{i}\) and \(\delta t_{i}\) denote the corresponding ambiguity integer and clock difference, respectively. \({\mathbf {u}}_{k}\) and \(\delta t_{k}^{u}\) represent the receiver’s coordinates and clock difference at \(k\hbox {th}\) epoch, respectively. \(w_{k}^{i}\) represents other unmodeled errors, including thermal noise, multi-path error, etc.

The SD observation can eliminate the clock difference of the receiver and has been widely used in ground-based positioning. The SD observation \(\phi _{k}^{ij}\) is obtained by difference between the \(i\hbox {th}\) and \(j\hbox {th}\) base stations, that is

$$\begin{aligned} \phi _{k}^{ij}&= \phi _{k}^{i}-\phi _{k}^{j}\nonumber \\&= \lambda ^{-1}(\Vert {\mathbf {s}}_{i}-{\mathbf {u}}_{k}\Vert -\Vert {\mathbf {s}}_{j}-{\mathbf {u}}_{k}\Vert )+N_{ij}-f_{c}\delta t_{ij}+w_{k}^{ij} \end{aligned}$$
(2)

where \(N_{ij}=N_{i}-N_{j}\), \(\delta t_{ij}=\delta t_{i}-\delta t_{j}\), and \(w_{k}^{ij}=w_{k}^{i}-w_{k}^{j}\).

To determine carrier phase ambiguities, existing OTF methods usually linearize nonlinear terms \(\Vert {\mathbf {s}}_{i}-{\mathbf {u}}_{k}\Vert \) in (2) by a series expansion. Due to the severe nonlinearity in these terms, however, the poor accuracy of code measurements can lead to convergence difficulties (Dai et al. 2001; Jiang et al. 2013).

The DDS model proposed in Wang et al. (2019) only uses carrier measurements and avoids using code measurements. However, it requires the receiver to be static for a period of time and is quite limited in dynamic applications. In the next section, it will be shown that the DDS observation is a special CDS observation, and the RS-CDS observation is proposed to overcome this drawback.

3 Ambiguity determination based on RS-CDS observation

3.1 Difference square observation

The aforementioned shortcoming of most existing methods comes from the series expansion. Instead, in this research, the CDS observation is introduced to eliminate the quadratic term of the receiver’s coordinates. Before introducing the CDS observation, we give a review of the derivation of difference square (DS) observation in Wang et al. (2019), which is defined as

$$\begin{aligned} y_{k}^{ij}=(\phi _{k}^{i})^{2}-(\phi _{k}^{j})^{2}. \end{aligned}$$
(3)

The clock difference of the receiver \(\delta t_{k}^{u}\) can be further modeled as

$$\begin{aligned} \delta t_{k}^{u}=\delta t_{0}^{u}+k\tau +e_{k} \end{aligned}$$
(4)

where \(\delta t_{0}^{u}\) denotes the initial clock bias, and \(e_{k}\) denotes the unmodeled error. Herein, \(\tau =FT_{s}\) where F and \(T_{s}\) denote the frequency offset and the sampling interval of the receiver, respectively. The definition of the frequency offset can be found in Lombardi (2002).

In addition, the generalized ambiguity \(z_{i}\) that incorporates the clock differences of the receiver and the ith base station is defined as

$$\begin{aligned} z_{i}=N_{i}-f_{c}\delta t_{i}+f_{c}\delta t_{0}^{u}. \end{aligned}$$
(5)

Putting (5) and (4) into (1), it can be obtained that

$$\begin{aligned} \phi _{k}^{i}=\lambda ^{-1}\Vert {\mathbf {s}}_{i}-{\mathbf {u}}_{k}\Vert +z_{i}+f_{c} k\tau +f_c e_k + w_{k}^{i} \end{aligned}$$
(6)

Then, the carrier measurement is squared as follows:

$$\begin{aligned} (\phi _{k}^{i}-z_{i}-f_{c}\tau k)^{2} = (\lambda ^{-1}\Vert {\mathbf {s}}_{i}-{\mathbf {u}}_{k}\Vert + f_c e_k + w_{k}^{i})^{2}. \end{aligned}$$
(7)

With some manipulations, the square of carrier phase measurement is written as

$$\begin{aligned} (\phi _{k}^{i})^{2}= & {} \lambda ^{-2}\Vert {\mathbf {s}}_{i}-{\mathbf {u}}_{k}\Vert ^{2}\nonumber \\&+\,2\phi _{k}^{i}(z_{i}+f_{c}\tau k)-(z_{i}+f_{c}\tau k)^{2}+2n_{k}^{i} \end{aligned}$$
(8)

where

$$\begin{aligned} n_{k}^{i}=\lambda ^{-1}\Vert {\mathbf {s}}_{i}-{\mathbf {u}}_{k}\Vert (w_{k}^{i}+f_{c} e_{k}). \end{aligned}$$
(9)

Here, the higher-order term of the error is ignored since it is considered to be far less than the true distance.

With (8), it can be obtained that

$$\begin{aligned} y_{k}^{ij}= & {} \lambda ^{-2}({\mathbf {s}}_{i}-{\mathbf {s}}_{j})^{\mathrm {T}}({\mathbf {s}}_{i}+{\mathbf {s}}_{j}-2{\mathbf {u}}_{k})+2\phi _{k}^{i}z_{i}-2\phi _{k}^{j}z_{j}\nonumber \\&+\,2\phi _{k}^{ij}f_{c}\tau k-z_{i}^{2}+z_{j}^{2}-2f_{c}\tau k(z_{i}-z_{j})+2n_{k}^{ij}\nonumber \\ \end{aligned}$$
(10)

where \(n_{k}^{ij}=n_{k}^{i}-n_{k}^{j}\).

3.2 Combined difference square observation

It can be seen that the unknown variables in (10) are the receiver’s coordinates \({\mathbf {u}}_{k}\), the clock parameter \(\tau \), the generalized ambiguities \(z_{i}\) and \(z_{j}\). Accordingly, the terms in the right side of (10) are divided into linear, nonlinear and noise terms. For the sake of discussion, the DS observation is rewritten as

$$\begin{aligned} y_{k}^{ij}=\alpha _{ij}+k\beta _{ij}+\gamma _{k}^{ij} +2n_{k}^{ij} \end{aligned}$$
(11)

where \(\alpha _{ij}=-z_{i}^{2}+z_{j}^{2}\) and \(\beta _{ij}=-2f_{c}\tau (z_{i}-z_{j})\). It can be seen that \(\alpha _{ij}\) and \(\beta _{ij}\) are nonlinear terms, while \(\gamma _{k}^{ij}\) represents the linear terms.

It should be pointed out that in (11), \(\alpha _{ij}\) and \(\beta _{ij}\) do not change with the receiver’s motion. Therefore, these nonlinear terms can be eliminated by the linear combination of DS observations at different epochs. The definition of the combined difference square (CDS) observation is

$$\begin{aligned} y_{k_{1}k_{2}\cdots k_{m}}^{ij}=\sum \nolimits _{l=1}^{m}a_{k_{l}}y_{k_{l}}^{ij} \end{aligned}$$
(12)

where \(k_{1}\ne k_{2}\ne \cdots \ne k_{m}\) and \(a_{k_{l}}\ne 0\).

It is necessary to determine the combination number m and the coefficients \(\{a_{k_{l}}\}_{l=1}^{m}\). To eliminate the nonlinear terms, the coefficients should satisfy

$$\begin{aligned} {\left\{ \begin{array}{ll} \sum \nolimits _{l=1}^{m}a_{k_{l}}=0\\ \sum \nolimits _{l=1}^{m}k_{l}a_{k_{l}}=0 \end{array}\right. } \end{aligned}$$
(13)

It is not difficult to see that as long as m is large enough, solutions of (13) can be found. However, similar to the case of GNSS, it increases the noise by combining multiple observations. For this reason, it is a design principle to use as few observations as possible.

Let us start with \(m=2\), in which case the CDS observation can be written as \(y_{k_{1}k_{2}}^{ij}=a_{k_{1}}y_{k_{1}}^{ij}+a_{k_{2}}y_{k_{2}}^{ij}\). It needs to determine \(a_{k_{1}}\) and \(a_{k_{2}}\) that make both of coefficients of \(\alpha _{ij}\) and \(\beta _{ij}\) to be zero. This is equivalent to solving the following equations

$$\begin{aligned} {\left\{ \begin{array}{ll} a_{k_{1}}+a_{k_{2}}=0\\ k_{1}a_{k_{1}}+k_{2}a_{k_{2}}=0 \end{array}\right. } \end{aligned}$$
(14)

It is not difficult to obtain that (14) has only a trivial solution \((a_{k_{1}},\ a_{k_{2}})=(0,\ 0)\).

It should be pointed out that the DDS observation in Wang et al. (2019) is a combination of two DS observations with \((a_{k_{1}},\ a_{k_{2}})=(1,\ -1)\). In this way, the DDS observation does not eliminate the nonlinear term \(\beta _{ij}\). Instead, the parameter \(\tau \) is estimated in advance and then \(\beta _{ij}\) can be considered a linear term. However, the static state is not always available in practical applications, especially when the movement of the receiver cannot be stopped.

The DDS observation satisfies the second equation in (14) and takes \(\beta _{ij}\) as linear terms with known \(\tau \). Inspired by this, one might try to propose another CDS observation with \(m=2\) that only satisfies the first equation in (14). However, \(\alpha _{ij}\) cannot be considered as linear terms until the generalized ambiguities have been determined, which is a trivial case.

Therefore, taking the clock parameter \(\tau \) as an unknown variable, the CDS observation with \(m=2\) is not feasible. Then, the CDS observation \(y_{k_{1}k_{2}k_{3}}^{ij}=a_{k_{1}}y_{k_{1}}^{ij}+a_{k_{2}}y_{k_{2}}^{ij}+a_{k_{3}}y_{k_{3}}^{ij}\) is considered, i.e., \(m=3\). In this case, the coefficients \(a_{k_{1}}\), \(a_{k_{2}}\) and \(a_{k_{3}}\) should satisfy the following equations

$$\begin{aligned} {\left\{ \begin{array}{ll} a_{k_{1}}+a_{k_{2}}+a_{k_{3}}=0\\ k_{1}a_{k_{1}}+k_{2}a_{k_{2}}+k_{2}a_{k_{3}}=0 \end{array}\right. } \end{aligned}$$
(15)

The general solution of (15) can be written as

$$\begin{aligned} (a_{k_{1}},\ a_{k_{2}},\ a_{k_{3}})=c(k_{2}-k_{3},\ k_{3}-k_{1},\ k_{1}-k_{2}) \end{aligned}$$
(16)

where c is an arbitrary nonzero coefficient. Let \(c=1\), and in this case, the CDS observation \(y_{k_{1}k_{2}k_{3}}^{ij}\) with (16) can be written as

$$\begin{aligned} y_{k_{1}k_{2}k_{3}}^{ij}=&\, (k_{2}-k_{3}) \left[ (\phi _{k_{1}}^{i})^{2}-(\phi _{k_{1}}^{j})^{2}\right] \nonumber \\&+(k_{3}-k_{1})\left[ (\phi _{k_{2}}^{i})^{2} -(\phi _{k_{2}}^{j})^{2}\right] \nonumber \\&+(k_{1}-k_{2})\left[ (\phi _{k_{3}}^{i})^{2} -(\phi _{k_{3}}^{j})^{2}\right] . \end{aligned}$$
(17)

According to the rotational symmetry of \((k_{1},\ k_{2},\ k_{3})\), the observation defined in (17) is named as the rotational-symmetry CDS (RS-CDS) observation.

Putting (10) into (17), the RS-CDS observation \(y_{k_{1}k_{2}k_{3}}^{ij}\) can be expressed as

$$\begin{aligned} y_{k_{1}k_{2}k_{3}}^{ij} =&-2\lambda ^{-2}({\mathbf {s}}_{i} -{\mathbf {s}}_{j})^{\mathrm {T}}{\mathbf {x}}_{k_{1}k_{2}k_{3}}+2\phi _{k_{1}k_{2}k_{3}}^{i}z_{i}\nonumber \\&-2\phi _{k_{1}k_{2}k_{3}}^{j}z_{j}+2f_{c}\phi _{k_{1}k_{2}k_{3}} ^{ij}\tau +2n_{k_{1}k_{2}k_{3}}^{ij} \end{aligned}$$
(18)

where

$$\begin{aligned} {\mathbf {x}}_{k_{1}k_{2}k_{3}}= & {} (k_{2}-k_{3}){\mathbf {u}}_{k_{1}}+(k_{3}-k_{1}){\mathbf {u}}_{k_{2}}+(k_{1}-k_{2}){\mathbf {u}}_{k_{3}}\\ \phi _{k_{1}k_{2}k_{3}}^{i}= & {} (k_{2}-k_{3})k_{1}\phi _{k_{1}}^{i}+(k_{3}-k_{1})k_{2}\phi _{k_{2}}^{i}+(k_{1}-k_{2})k_{3}\phi _{k_{3}}^{i}\\ \phi _{k_{1}k_{2}k_{3}}^{ij}= & {} (k_{2}-k_{3})k_{1}\phi _{k_{1}}^{ij}+(k_{3}-k_{1})k_{2}\phi _{k_{2}}^{ij}+(k_{1}-k_{2})k_{3}\phi _{k_{3}}^{ij}\\ n_{k_{1}k_{2}k_{3}}^{ij}= & {} (k_{2}-k_{3})n_{k_{1}}^{ij}+(k_{3}-k_{1})n_{k_{2}}^{ij}+(k_{1}-k_{2})n_{k_{3}}^{ij}. \end{aligned}$$

It should be pointed out that in (18), the combination of \({\mathbf {u}}_{k_{1}}\), \({\mathbf {u}}_{k_{2}}\) and \({\mathbf {u}}_{k_{3}}\), denoted as \({\mathbf {x}}_{k_{1}k_{2}k_{3}}\), is taken as one variable. In addition, according to the definition in (5), the generalized ambiguities \(z_i\) and \(z_j\) should be float values instead of integers.

From the above analysis, it can be seen that the CDS observation involves only carrier phase measurements and does not require accurate time synchronization of base stations.

The RS-CDS observation is proved to have the minimum number of combined terms, taking the clock parameter \(\tau \) as a variable. Although more complicated CDS observations can be obtained in similar ways, the proposed SD generalized ambiguity determination method in this research is based on the RS-CDS observation, considering that combining more observations can increase the noise.

3.3 SD Generalized ambiguity determination

It can be seen that the unknown terms in (18) are \({\mathbf {x}}_{k_{1}k_{2}k_{3}}\), \(\tau \), \(z_{i}\) and \(z_{j}\), and the RS-CDS observation model is linear. Assuming that there are enough base stations, since \(\tau \) and \(z_{i}\) (\(1\le i\le L\)) do not change with the receiver’s motion, the movement of the receiver will make the problem solvable. The receiver can obtain KL carrier measurements at K epochs, and the RS-CDS observations are then generated as follows.

Here, we let \(k_{2}=1\) and \(k_{3}=K\), while other values can be alternative. Let \(j=1\), and at the kth epoch, the \(L-1\) RS-CDS observations are written in vector form as

$$\begin{aligned} {\mathbf {y}}_{k}={\mathbf {A}}_{k}{\mathbf {z}}+ {\mathbf {B}}_{k}{\mathbf {x}}_{k1K}+{\mathbf {c}}_{k} \tau +{\mathbf {n}}_{k} \end{aligned}$$
(19)

where

$$\begin{aligned} {\mathbf {y}}_{k}= & {} \left[ y_{k1K}^{21}\quad y_{k1K}^{31}\quad \cdots \quad y_{k1K}^{L1}\right] ^{\mathrm {T}}\\ {\mathbf {A}}_{k}= & {} 2\begin{bmatrix}-\phi _{k1K}^{1}&\quad \phi _{k1K}^{2}\\ -\phi _{k1K}^{1}&\quad \phi _{k1K}^{3}\\ -\phi _{k1K}^{1}&&\quad \ddots \\ -\phi _{k1K}^{1}&&\quad \phi _{k1K}^{L} \end{bmatrix}\\ {\mathbf {z}}= & {} \left[ z_{1}\ z_{2}\ \cdots \ z_{L}\right] ^{\mathrm {T}}\\ {\mathbf {B}}_{k}= & {} -2\lambda ^{-2} \left[ {\mathbf {s}}_{2}-{\mathbf {s}}_{1}\ {\mathbf {s}}_{3}-{\mathbf {s}}_{1}\ \cdots \ {\mathbf {s}}_{L}-{\mathbf {s}}_{1}\right] ^{\mathrm {T}}\\ {\mathbf {c}}_{k}= & {} 2f_{c}\left[ \phi _{k1K}^{21}\ \phi _{k1K}^{31}\quad \cdots \quad \phi _{k1K}^{L1}\right] ^{\mathrm {T}}\\ {\mathbf {n}}_{k}= & {} 2\left[ n_{k1K}^{21}\quad n_{k1K}^{31}\quad \cdots \quad n_{k1K}^{L1}\right] ^{\mathrm {T}}. \end{aligned}$$

The additional RS-CDS observations obtained at the same positions do not contribute to geometric diversity and are considered to be almost meaningless. Detailed discussion can be found in “Appendix A.” For this reason, it is assumed that all RS-CDS observations are obtained at different positions. Then, all RS-CDS observations can be written as

$$\begin{aligned} {\mathbf {y}}={\mathbf {A}}{\mathbf {z}}+{\mathbf {B}} {\mathbf {x}}+{\mathbf {c}}\tau +{\mathbf {n}} \end{aligned}$$
(20)

where

$$\begin{aligned} {\mathbf {y}}= & {} \left[ {\mathbf {y}}_{2}^{\mathrm {T}}\quad {\mathbf {y}}_{3}^{\mathrm {T}}\quad \cdots \ {\mathbf {y}}_{K-1}^{\mathrm {T}} \right] ^{\mathrm {T}}\\ {\mathbf {A}}= & {} \left[ {\mathbf {A}}_{2}^{\mathrm {T}}\ {\mathbf {A}}_{3}^{\mathrm {T}}\quad \cdots \quad {\mathbf {A}}_{K-1}^{\mathrm {T}} \right] ^{\mathrm {T}}\\ {\mathbf {B}}= & {} \begin{bmatrix}{\mathbf {B}}_{2}\\&\quad {\mathbf {B}}_{3}\\&\quad \ddots \\&&\quad {\mathbf {B}}_{K-1} \end{bmatrix}\\ {\mathbf {c}}= & {} \left[ {\mathbf {c}}_{2}^{\mathrm {T}}\quad {\mathbf {c}}_{3}^{\mathrm {T}}\quad \cdots \quad {\mathbf {c}}_{K-1}^{\mathrm {T}}\right] ^{\mathrm {T}}\\ {\mathbf {x}}= & {} \left[ {\mathbf {x}}_{21K}^{\mathrm {T}}\quad {\mathbf {x}}_{31K}^{\mathrm {T}}\quad \cdots \quad {\mathbf {x}}_{(K-1)1K}^{\mathrm {T}}\right] ^{\mathrm {T}}\\ {\mathbf {n}}_{k}= & {} \left[ {\mathbf {n}}_{2}^{\mathrm {T}}\quad {\mathbf {n}}_{3}^{\mathrm {T}}\quad \cdots \quad {\mathbf {n}}_{K-1}^{\mathrm {T}}\right] ^{\mathrm {T}}. \end{aligned}$$

In (20), the total number of RS-CDS observations is \((L-1)(K-2)\) and the unknown variables include \(K-2\) combined coordinates, L generalized ambiguities and the clock parameter \(\tau \). For D-dimensional positioning, the solvability condition for a RS-CDS model is obtained as

$$\begin{aligned} (L-1)(K-2)\ge L+1+D(K-2). \end{aligned}$$
(21)

This condition can be decomposed into two inequalities

$$\begin{aligned} L&\ge D+2 \end{aligned}$$
(22)
$$\begin{aligned} K&\ge \dfrac{2L-D}{L-D-1}+1. \end{aligned}$$
(23)

It can be seen that to make the RS-CDS model solvable, the minimum number of base stations is \(D+2\).

The generalized ambiguities can be estimated by solving the following equation

$$\begin{aligned} \hat{\mathbf{z}}=\underset{{\mathbf {z}},\ {\mathbf {x}},\ \tau }{\mathrm{argmin}}\left\| \mathbf{y}-\mathbf{A}{} \mathbf{z}-\mathbf{c}\tau -\mathbf{B}\mathbf{x}\right\| _{\mathbf{Q}} \end{aligned}$$
(24)

where \(\left\| \cdot \right\| _{{\mathbf {p}}}^{2}=(\cdot )^{\mathrm {T}}{\mathbf {P}}^{-1}(\cdot )\) and \({\mathbf {Q}}={\mathbb {E}}\{{\mathbf {n}}{\mathbf {n}}^{\mathrm {T}}\}\) represents the noise covariance matrix. As can be seen from (9), the expression of the noise term is related to the true distances that are not accessible. Therefore, an approximate expression of \({\mathbf {Q}}\) is derived in the “Appendix B.” It is a simple alternative to use an identity matrix but not recommended.

The RS-CDS observation combines the squares of six carrier measurements, and meanwhile, the noise level is increased. Hence, if a refined solution is needed, the refinement of the estimate given by (24) can be performed based on SD observations.

Putting (5) into (2), the SD observation can be rewritten as

$$\begin{aligned} \phi _{k}^{ij}= \lambda ^{-1}(\Vert {\mathbf {s}}_{i}-{\mathbf {u}}_{k}\Vert -\Vert {\mathbf {s}}_{j}-{\mathbf {u}}_{k}\Vert )+z_{ij}+w_{k}^{ij} \end{aligned}$$
(25)

where \(z_{ij}\) is the SD generalized ambiguity

$$\begin{aligned} z_{ij}=z_{i}-z_{j}=N_{ij}-f_{c}\delta t_{ij}. \end{aligned}$$
(26)

Rewrite all SD generalized ambiguities in vector form as

$$\begin{aligned} {\mathbf {z}}_{\mathrm{SD}}=\left[ z_{21}\ z_{31}\ \cdots \ z_{L1}\right] ^{\mathrm {T}}. \end{aligned}$$
(27)

From the estimate \(\hat{\mathbf{z}}\) given by (24), \(\hat{\mathbf{z}}_{\mathrm{SD}}\) which is referred to as the initial solution can be easily obtained, as well as the initial position estimates.

Taking \(\hat{\mathbf{z}}_{\mathrm{SD}}\) as the initial input, a refined solution with high accuracy can be obtained by solving the following problem

$$\begin{aligned} {\mathbf {z}}_{\mathrm{SD}}=\underset{{\mathbf {z}},\ {\mathbf {u}}}{\mathrm{argmin}}\left\| \varvec{\phi }-\varvec{\rho }(\mathbf{u})-{\mathbf {z}}_{\mathrm{SD}}\right\| _{\mathbf{R}} \end{aligned}$$
(28)

where \({\mathbf {u}}=[{\mathbf {u}}_{1}^{\mathrm {T}}\ {\mathbf {u}}_{2}^{\mathrm {T}}\ \cdots \ {\mathbf {u}}_{K}^{\mathrm {T}}]^{\mathrm {T}}\), \(\varvec{\phi }=[\varvec{\phi }_{1}^{\mathrm {T}}\ \varvec{\phi }_{2}^{\mathrm {T}}\ \cdots \ \varvec{\phi }_{K}^{\mathrm {T}}]^{\mathrm {T}}\) and \(\varvec{\rho }(\mathbf{u})=[\varvec{\rho }_{1}^{\mathrm {T}}(\mathbf{u}_{1})\ \varvec{\rho }_{2}^{\mathrm {T}}(\mathbf{u}_{2})\ \cdots \ \varvec{\rho }_{K}^{\mathrm {T}}(\mathbf{u}_{K})]^{\mathrm {T}}\). Here, \(\varvec{\phi }_{k}=[\varvec{\phi }_{k}^{21}\ \varvec{\phi }_{k}^{31}\ \cdots \ \varvec{\phi }_{k}^{L1}]^{\mathrm {T}}\) denotes the vector composed by the \(L-1\) SD observations at \(k\hbox {th}\) epoch, while \(\varvec{\rho }_{k}(\mathbf{u}_{k})=[\Vert {\mathbf {s}}_{2}-{\mathbf {u}}_{k}\Vert -\Vert {\mathbf {s}}_{1} -{\mathbf {u}}_{k}\Vert \)\(\Vert {\mathbf {s}}_{3}-{\mathbf {u}}_{k}\Vert -\Vert {\mathbf {s}}_{1} -{\mathbf {u}}_{k}\Vert \)\(\cdots \)\(\Vert {\mathbf {s}}_{L}-{\mathbf {u}}_{k}\Vert -\Vert {\mathbf {s}}_{1} -{\mathbf {u}}_{k}\Vert ]^{\mathrm {T}}\) denotes the vector consisting of corresponding distance differences.

In (28), \({\mathbf {R}}\) denotes the noise covariance matrix of all SD observations. If the autocovariance of the SD observation, denoted as \(\sigma _{\phi }^{2}\), is assumed to be twice as large as the covariance, \({\mathbf {R}}\) can be deduced to be

$$\begin{aligned} {\mathbf {R}}=\begin{bmatrix}{\mathbf {R}}_{1}\\&{\mathbf {R}}_{2}\\&\ddots \\&&{\mathbf {R}}_{K} \end{bmatrix} \end{aligned}$$
(29)

where

$$\begin{aligned} {\mathbf {R}}_{k}=\frac{1}{2}\begin{bmatrix}2\sigma _{\phi }^{2}&\quad \sigma _{\phi }^{2}&\quad \cdots&\quad \sigma _{\phi }^{2}\\ \sigma _{\phi }^{2}&\quad 2\sigma _{\phi }^{2}&\quad \cdots&\quad \sigma _{\phi }^{2}\\ \vdots&\quad \vdots&\quad \ddots&\quad \vdots \\ \sigma _{\phi }^{2}&\quad \sigma _{\phi }^{2}&\quad \cdots&\quad 2\sigma _{\phi }^{2} \end{bmatrix}. \end{aligned}$$
(30)

The proposed method is summarized in the following algorithm.

Algorithm 1

1. RS-CDS model: Move the receiver and obtain the RS-CDS observations from original carrier phase measurements;

2. Initial solution: Obtain the initial solution from problem (24) that integrates all RS-CDS observations;

3. Refined solution: Based on the initial solution given by the previous step, solve problem (28) to obtain the refined solution of SD generalized ambiguities.

Compared with the earlier method based on the DDS observation (Wang et al. 2019), Algorithm 1 does not require the receiver to be stationary to estimate \(\tau \) or F in advance. It can be applied to dynamic applications, such as high-speed moving vehicles, aircraft and ships.

It should be noted that the ambiguity solution given by Algorithm 1 refers to the SD generalized ambiguities \(z_{ij}\), rather than \(N_{ij}\), and it does not estimate the clock difference of the receiver. It can be seen from (25) that once \(z_{ij}\) are known, the SD observation can be used for positioning. In the following simulations and experiments, the accuracy of the ambiguity solution refers to the SD generalized ambiguity.

4 Numerical simulations

4.1 Influences of geometry changes

This numerical simulation will show the influence of the geometry diversity on the performance of our method. The signal carrier frequency is set as 2465.43 MHz and the data output rate of the receiver, denoted as \(f_{s}\), is 10 Hz.

According to several previous researches, the standard deviation (STD) of the measurement noise \(w_k^i\) in (6) is assumed to be 0.04 cycles (Amt 2006; Bertsch et al. 2009; Wang et al. 2019). The STD of \(f_{c} e_{k}\) in (6) is set as 0.04 cycles according to the real-world experiment results (Wang et al. 2019). Since establishing an accurate distribution of the error terms can be very tricky, both error terms are assumed to obey zero mean Gaussian distribution like earlier researches (Amt 2006; Bertsch et al. 2009; Wang et al. 2019).

Fig. 1
figure 1

Diagram of the receiver trajectory and positions of base stations

As shown in Fig. 1, six base stations marked by blue triangles are located in a space of 20 m by 20 m by 3 m. The receiver is assumed to move along a horizontal circle for 10 s at an angular velocity of \(0.2\pi \) rad/s. The center of the circle is at (0, 0, 0). The minimum radius is 3 m, depicted by the red solid line in Fig. 1, while the maximum radius is 6 m, depicted by the yellow dashed line with stars. The radius R is increased in 1 m, and 100 trials with each radius are performed.

Fig. 2
figure 2

RMSE of F of the initial solutions with different radii

Figure 2 shows the RMSE of F for the initial solutions with different radii. The horizontal axis represents the lap counts of the receiver’s motion. It can be seen that the estimation of F is improved with the increase of geometry diversity, and in all cases, the estimation error is smaller than 0.01 ppm. In addition, a larger radius means more significant geometry changes, and the estimation accuracy with a larger radius is better than that with a smaller radius.

Fig. 3
figure 3

RMSE of the initial and refined solutions of SD generalized ambiguities with different radii

The RMSE of SD generalized ambiguities of the initial and refined solutions with different radii is shown in Fig. 3, as well as the Cramer–Rao lower bound (CRLB) of the estimation given by problem (28).

It can be clearly seen that as the receiver turns, the RMSE of both ambiguity solutions and CRLB gradually decreases. In addition, a larger radius results in smaller RMSE. This again indicates that the increase in geometric diversity improves the accuracy of the ambiguity determination.

On the other hand, when the receiver only reaches 0.2 laps, the RMSE of the refined solution exceeds 100 cycles and is much larger than that of the initial solution. This is due to the fact that when the range of motion is small, the accuracy of the initial solution is so poor that the linearization in solving (28) brings serious errors. In this case, the performance of the refined solution is far from the CRLB.

After the receiver motion reaches 0.5 laps, the estimation error of the refined solution is much smaller than that of the initial solution, and is quite close to CRLB. The RMSE of the refined solution is less than 0.1 cycles or 1.22 cm after one lap.

Fig. 4
figure 4

ADOP of SD generalized ambiguities with different number of base stations

In addition, the geometry diversity of the base stations also has a crucial influence on the estimation performance. Figure 4 shows the ambiguity dilution of precision (ADOP) with different numbers of base stations (Teunissen and Odijk 1997). For \(L=6\), the configuration is the same as in Fig. 1. For \(L=5\), \({\mathrm {BS}}_{4}\) is removed, while for \(L=7\), an additional base station is assumed to be located at (0, − 10, 1).

It can be seen from Fig. 4 that additional base station increases the geometry diversity and leads to better estimation performance. In \(L=7\) case, the ADOP is smallest, while in all cases, the ADOP decreases with the receiver’s motion. It can be said that the additional base station and the receiver’s motion can increase the geometry diversity, decrease ADOP and improve the estimation performance of SD generalized ambiguities.

4.2 Influences of sampling rate and noise level

In this simulation, the influences of data output rate \(f_{s}\) and noise level are investigated. The configuration of the base stations is the same as in Fig. 1. The receiver moves along the horizontal circle with \(R = 3\,\hbox {m}\).

Fig. 5
figure 5

RMSE of the initial and refined solutions of SD generalized ambiguities with different data output rates and noise levels

The data output rate increases from 5 to 20 Hz, i.e., K increases from 50 to 200, which means the sampling points are more densely distributed since the trajectory is constant. In addition, the STD of the carrier measurement noise in (1) increases from 0.01 to 0.05 cycles, and it is assumed to be the same as that of the unmodeled error in (4).

The RMSE of the initial and refined solutions are depicted in Fig. 5. The solution at the end of one lap is considered, and 100 trials are performed for each sample rate and noise level. As can be seen, the larger the noise, the larger the error.

Additionally, when \(f_{s}\) increases from 5 to 10 Hz, K increases from 50 to 100, and the RMSE of both solutions is significantly improved. Nevertheless, when \(f_{s}\) increases from 15 to 20 Hz, K increases from 150 to 200, but the improvement is not so significant. This is due to the fact that when the trajectory is constant, excessively increasing the data output rate will hardly improve the geometric diversity.

This simulation shows that the performance of our ambiguity determination method is improved by increasing the data output rate \(f_{s}\). However, excessively increasing \(f_{s}\) brings little benefit. Instead, extending the range of motion of the receiver can be a promising way to achieve better performance.

4.3 Comparison with the DDS model

In this simulation, we compare the performance of the RS-CDS observation and the DDS observation. The data output rate is 10 Hz, and other settings are the same as the previous simulation.

Fig. 6
figure 6

RMSE of the initial solutions of SD generalized ambiguities based on the RS-CDS and DDS observations

To use the DDS observation, it is necessary to estimate the clock parameter \(\tau \) or the frequency offset F (Wang et al. 2019). However, the stationary state can be unavailable for receivers in practical applications. Therefore, we consider the cases where the clock model (4) is not accurately estimated, and add error that increases from 0 to 0.04 ppm in the estimate of F.

The results of the initial and refined solutions are shown in Figs. 6 and 7, where DDS (0 ppm) means the additional estimation error of F is 0 ppm. It can be seen from Fig. 6 that the RS-CDS observation has the smallest RMSE in the initial solution, followed by DDS (0 ppm).

In addition, the initial solution based on the DDS observation deteriorates with an increase in the estimation error of F. As shown in Fig. 6, the RMSE of the initial solution exceeds 10 cycles, when the estimation error of F exceeds 0.02 ppm. It can be seen that in this case, the performance of the DDS observation hardly changes with the noise level. This is because the estimation error of F is so large that its influence is dominant and exceeds the noise influence.

Fig. 7
figure 7

RMSE of the refined solutions of SD generalized ambiguities based on the RS-CDS and DDS observations

As can be seen from Fig. 7, the refined solutions of RS-CDS observation, DDS (0 ppm), and DDS (0.01 ppm) have similar RMSE which gradually increases with increased noise levels. This is because the refined solution is obtained from single difference measurements. As long as the initial solution has sufficient accuracy, the solution can converge correctly, and in this case, the performance of the refined solution mainly depends on the noise level. However, when the estimation error of F exceeds 0.02 ppm, the refined solution does not converge correctly. This is due to the poor accuracy of their initial solutions.

This simulation shows that the RS-CDS observation has better performance in ambiguity determination than the DDS observation and is especially suitable for dynamic applications.

5 Real-world experiments

In this section, two real-world experiments were performed to validate the accuracy of ambiguity determination as well as the positioning results in practice.

We used a total station to precisely measure the coordinates of the receiver and base stations. The measured coordinates of the receiver were not provided for the proposed method, but only used to evaluate the results in the performance analysis.

5.1 Turntable positioning experiment

The first experiment was conducted in December, 2018. An in-house-developed prototype ground-based positioning system was deployed on the roof of a building. The main hardware components are shown in Fig. 8. All base stations maintain frequency synchronization through a wireless link (Wang et al. 2019). The carrier frequency is 2465.43 MHz, and the output rate of measurements is 10 Hz.

Fig. 8
figure 8

Hardware components of base stations except for the antenna

Fig. 9
figure 9

Environment of the turntable experiment

Fig. 10
figure 10

Configuration of the real-world experiment and the trajectory of the turntable

Table 1 Coordinates of the six base stations

The experiment environment is shown in Fig. 9, while the configuration of the turntable and six base stations is depicted in Fig. 10. The receiver antenna was fixed on a turntable. The coordinates of the base stations’ antennas were measured by a total station and are listed in Table 1. The turntable performed a clockwise movement at 0.1 rad/s, and the trajectory is a circle centered at (3.171, 0.236) with a 1.033 m radius. During the motion, the HDOP ranges from 1.70 to 1.83, while the VDOP ranges from 5.76 to 7.05.

The RMSE of the ambiguity solution is shown in Fig. 11, and the horizontal axis represents the number of laps. In the first lap, the RMSE error of the initial solution significantly decreases. In the next few laps, the additional observations bring almost no improvement, and in the end, the RMSE of the initial solution is about 6.6 cycles (80.31 cm).

Fig. 11
figure 11

RMSE of the initial and refined solutions of SD generalized ambiguities

Fig. 12
figure 12

Absolute values of the error of each SD generalized ambiguity with different start points

Similar to the initial solution, the refined solution is hardly improved after the first lap, and its RMSE is about 0.6 cycles (7.30 cm) in the end. It can be seen from Fig. 11 that in the first half lap, the refined solution has poorer accuracy than the initial solution. The reason is that the linearization in solving (28) is based on a poor initial estimate.

In addition, we extract the measurements in several periods, and the start points of these periods are when the receiver reached 0 laps, 0.5 laps, 1 lap, \(\ldots \), 4 laps, respectively. The receiver is rotated for one lap in each period. In other words, their end points are when the receiver reached 1 lap, 1.5 laps, 2 laps, \(\ldots \), 5 laps, respectively. The absolute value of the error of each refined SD generalized ambiguity is given in Fig. 12. As can be seen, there is not much difference in the SD generalized ambiguities for different periods. The reason is that the receiver turned just one lap in each period, resulting in the same geometry diversity.

On the other hand, the results in Fig. 12 show that the estimation accuracy of different SD generalized ambiguities is significantly different, which is considered to be related to the geometric distribution of the base stations, instead of the start points of the receiver. Moreover, the error of \(z_{61}\) is largest, about 0.9 cycles, while the error of \(z_{41}\) is smallest, about 0.2 cycles.

The positioning accuracy is examined. The horizontal and vertical positioning results are plotted in Figs. 13 and 14, respectively. It is shown in Fig. 13 that the horizontal results are very close to the true values. The horizontal RMSE is 2.2 cm, while the vertical RMSE is 24.4 cm. As can be seen in Fig. 14, the vertical error is significantly larger than the horizontal error, and this is mainly because the VDOP is much larger than the HDOP.

5.2 Wheeled robot positioning experiment

The second experiment was conducted in November, 2018. The receiver was installed on a wheeled robot performing non-circular motion. The configuration of the base station was the same as in the previous experiment. The wheeled robot and the experiment environment are shown in Fig. 15, while the trajectory of the robot is shown in Fig. 16.

Fig. 13
figure 13

Horizontal positioning results

Fig. 14
figure 14

Vertical positioning results

Fig. 15
figure 15

Wheeled robot equipped with a receiver and experiment environment

Fig. 16
figure 16

Configuration of the real-world experiment and the trajectory of the wheeled robot

The movement of the wheeled robot is divided into two stages:

  1. 1.

    Stage 1: The start point of the wheeled robot is marked by the purple square in Fig. 16. In Stage 1 (0–39 s), the ambiguity determination was continuously performed during the motion and the trajectory of the wheeled robot is shown by the solid line in Fig. 16.

  2. 2.

    Stage 2: In Stage 2, the solution of SD generalized ambiguity was no longer updated. The wheeled robot arrived at the four points \(\mathrm{P}_{1}\)\(\mathrm{P}_{4}\) in turn along the trajectory shown by the dotted line in Fig. 16. The wheeled robot stayed at each point for a period of time, and the positioning results were recorded. The coordinates of the four points were measured by a total station and are given in Table 2.

Table 2 Coordinates and DOP values of the known points
Fig. 17
figure 17

RMSE of the initial and refined solutions of SD generalized ambiguities

We first examine the performance of the ambiguity determination. Figure 17 shows the RMSE of the ambiguity solutions obtained in Stage 1. It can be seen that the initial solution is improved with the movement of the wheeled robot. The RMSE of the refined solution is greater than that of the initial solution in the first 11 seconds. Then, as the wheeled robot moves, the RMSE of the refined solution decreases rapidly. After 25 s, there is no significant further improvement. The RMSE of the refined solution is about 0.29 cycles (3.54 cm) at 39 s.

Table 3 Positioning error of the refined solution at four measured points

We examine the positioning results at the four known points \(\mathrm{P}_{1}\)\(\mathrm{P}_{4}\). The positioning error is summarized in Table 3, and it can be seen that the maximum horizontal RMSE is at \(\mathrm{P}_{4}\), which is about 2.6 cm, while the maximum vertical RMSE is at \(\mathrm{P}_{2}\), which is about 7.3 cm.

Fig. 18
figure 18

Differences of the positioning results between the KPI and proposed methods

Since it is difficult to obtain accurate coordinates during the motion, we compare the positioning results of our method with those of the KPI method. The comparisons of the positioning results are shown in Fig. 18. The stationary intervals at the four known points have been marked by \(\mathrm{P}_{1}\)-\(\mathrm{P}_{4}\) in Fig. 18, during which the differences are almost constant. The largest differences in X, Y and Z are 1.77 cm, 2.19 cm and 6.63 cm, respectively.

This experiment demonstrates that the proposed method can enable precise point positioning without accurate time synchronization of base stations, reliable code measurements or other measuring instruments. In addition, the proposed method can start at any point and be applied to dynamic applications. With these advantages, the proposed method is very convenient in practical applications.

6 Conclusions

We proposed a new OTF ambiguity determination method for ground-based positioning systems in this research. The most important innovation is the concept of the CDS observation, solely involving carrier measurements. The CDS observation is suitable for situations without reliable code measurements and allows inaccurate synchronization of base stations, thus enable easier deployment of the system.

The CDS observation provides a framework to eliminate nonlinear terms that need no approximate linearization based on initial coordinates. To overcome the shortcomings of the DDS observation, we designed the RS-CDS observation to estimate the clock parameter jointly with the generalized ambiguities. Based on the RS-CDS observation, a new ambiguity determination method is proposed and it is desirable for the convenience in dynamic applications.

The performance of our method was validated by a series of numerical simulations and two real-world experiments. The results show the significant impact of geometric diversity on the accuracy of ambiguity solutions. Our in-house developed prototype ground-based positioning system was used in the two experiments which demonstrate that our method can achieve centimeter-level positioning accuracy in real-world applications.

The proposed method improves the convenience and practicality of ambiguity determination for ground-based precise point positioning. In our present conditions, the system are deployed in a limited area. We are planning to conduct experiments to validate the system in a larger area, and in the future, our important work is to enhance the robustness of our system in challenging environments, where there could be cycle slip, signal interruption and interference issues.