For clarity, a flowchart of this strategy is presented in Fig. 1.

After the ordinary least square adjustment stage in relative positioning, we can obtain the real-value estimates and their variance–covariance matrix (dual-frequency case):

$$\left[ {\begin{array}{*{20}c} {\hat{X}} & {\hat{B}_{1} } & {\hat{B}_{2} } \\ \end{array} } \right]^{\text{T}} ,\quad \left[ {\begin{array}{*{20}l} {Q_{{\hat{X}\hat{X}}} } \hfill & {Q_{{\hat{X}\hat{B}_{1} }} } \hfill & {Q_{{\hat{X}\hat{B}_{2} }} } \hfill \\ {Q_{{\hat{B}_{1} \hat{X}}} } \hfill & {Q_{{\hat{B}_{1} \hat{B}_{1} }} } \hfill & {Q_{{\hat{B}_{1} \hat{B}_{2} }} } \hfill \\ {Q_{{\hat{B}_{2} \hat{X}}} } \hfill & {Q_{{\hat{B}_{2} \hat{B}_{1} }} } \hfill & {Q_{{\hat{B}_{2} \hat{B}_{2} }} } \hfill \\ \end{array} } \right],$$

(1)

where \(\hat{B}_{1}\) and \(\hat{B}_{2}\) are the DD carrier-phase ambiguity estimates on carrier waves L1 and L2, respectively, which should be integers, and \(\hat{X}\) represents the estimates of the remaining unknowns, including the baseline components (coordinates), tropospheric parameters, and ionospheric parameters.

For medium- or longer-baseline RTK, because of the biases in some float ambiguities, batch AR by the LAMBDA method might still not pass the validation step. Therefore, the partial AR technique, which resolves a subset of the ambiguities, is implemented to obtain a high success rate (Teunissen et al. 1999; Zinas et al. 2013; Wang and Feng 2013). The success rate and ratio test are different indicators with which to assess the reliability of the fixed ambiguities (Euler and Schaffrin 1990; Teunissen 1998; Hassibi and Boyd 1998; Teunissen and Verhagen 2008; Wang and Feng 2013). The selection of the ambiguity subset, however, is not unique, and it could be based on the float ambiguity variance, elevation angle, and LCs (Mowlam and Collier 2004). Parkins (2011) described an algorithm for resolving a subset of ambiguities with validation from previous epochs in single-epoch RTK positioning (Wang and Feng 2013). Takasu and Yasuda (2010) employed a very simple criterion involving the satellite elevation angle for long-baseline RTK. Li et al. (2015) chose a subset that comprised all the extra-WL or WL ambiguities in a multi-frequency case, because the extra-WL or WL ambiguities suffer relatively low effects from noise and they can be easily resolved reliably. They also indicated the possibility of resolving the ambiguities sequentially when the corresponding success rate is very close to the batch AR mode and they proposed a multi-carrier fast partial ambiguity resolution strategy that they tested with short baselines.

For longer baselines, WL ambiguity resolution will be affected inevitably by the biases in the measurements. Thus, a subset that contains all the WL float ambiguities without distinction might not be the best choice, and consequently, there is a need to optimize the subset. Here, we propose an optimization method that works in an iterative scheme to fix the float ambiguities with low variance. The ratio test (Euler and Schaffrin 1990) is used here for ambiguity validation. The ratio test in fact calculates the closeness of the float ambiguity \(\hat{B}\) to its nearest integer \(\bar{B}\) compared to the second nearest integer \(\bar{B}^{{\prime }}\), and it reads as:

Accept \(\bar{B}\) if:

$$\frac{{q\left( {\bar{B}^{'} } \right)}}{{q\left( {\bar{B}} \right)}} > c$$

(2)

where \(q\left( B \right) = \left( {\hat{B} - B} \right)^{\text{T}} Q_{{\hat{B}}}^{ - 1} \left( {\hat{B} - B} \right)\), and c is a tolerance value, to be determined by user. In general, c can be chosen 1.5, 2, 3 (Leick 2004; Wang and Feng 2013). In our validation step, we chose the critical value 3.

Different from the direct batch AR mode, we first conduct a transformation:

$$\hat{Y} = \left[ {\begin{array}{*{20}c} {\hat{X}} \hfill \\ {\hat{B}_{\text{WL}} } \hfill \\ {\hat{B}_{1} } \hfill \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} I &\quad 0 &\quad 0 \\ 0 &\quad I &\quad { - I} \\ 0 &\quad I &\quad 0 \\ \end{array} } \right]\left[ {\begin{array}{*{20}l} {\hat{X}} \hfill \\ {\hat{B}_{1} } \hfill \\ {\hat{B}_{2} } \hfill \\ \end{array} } \right] = K\left[ {\begin{array}{*{20}l} {\hat{X}} \hfill \\ {\hat{B}_{1} } \hfill \\ {\hat{B}_{2} } \hfill \\ \end{array} } \right].$$

(3)

After transformation, the ambiguity types are \(\hat{B}_{\text{WL}}\) and \(\hat{B}_{1}\) instead of the previous \(\hat{B}_{1}\) and \(\hat{B}_{2}\). This transformation is fundamental in our proposed strategy for introducing the WL ambiguity type.

According to the law of error propagation, the variance–covariance matrix of \(\hat{Y}\) is:

$$\begin{aligned} Q_{{\hat{Y}\hat{Y}}} & = \left[ {\begin{array}{*{20}l} {Q_{{\hat{X}\hat{X}}} } \hfill &\quad {Q_{{\hat{X}\hat{B}_{\text{WL}} }} } \hfill &\quad {Q_{{\hat{X}\hat{B}_{1} }} } \hfill \\ {Q_{{\hat{B}_{\text{WL}} \hat{X}}} } \hfill &\quad {Q_{{\hat{B}_{\text{WL}} \hat{B}_{\text{WL}} }} } \hfill &\quad {Q_{{\hat{B}_{\text{WL}} \hat{B}_{1} }} } \hfill \\ {Q_{{\hat{B}_{1} \hat{X}}} } \hfill &\quad {Q_{{\hat{B}_{1} \hat{B}_{\text{WL}} }} } \hfill &\quad {Q_{{\hat{B}_{1} \hat{B}_{1} }} } \hfill \\ \end{array} } \right] \\ & = K\left[ {\begin{array}{*{20}l} {Q_{{\hat{X}\hat{X}}} } \hfill &\quad {Q_{{\hat{X}\hat{B}_{1} }} } \hfill &\quad {Q_{{\hat{X}\hat{B}_{2} }} } \hfill \\ {Q_{{\hat{B}_{1} \hat{X}}} } \hfill &\quad {Q_{{\hat{B}_{1} \hat{B}_{1} }} } \hfill &\quad {Q_{{\hat{B}_{1} \hat{B}_{2} }} } \hfill \\ {Q_{{\hat{B}_{2} \hat{X}}} } \hfill &\quad {Q_{{\hat{B}_{2} \hat{B}_{1} }} } \hfill &\quad {Q_{{\hat{B}_{2} \hat{B}_{2} }} } \hfill \\ \end{array} } \right]K^{\text{T}} \\ \end{aligned}$$

(4)

Based on this, we propose the SPAR strategy, outlined below.

*Step 1* Resolve the WL ambiguities first using the LAMBDA method; the validation technique used here is the popular ratio test with a critical threshold value of 3. Actually, this is the partial AR idea that resolves a subset of the entire float ambiguities. As the biases in the measurements have the least effect on the resolution of WL ambiguities, a subset that comprises all the WL float ambiguities is reasonable (Li et al. 2015). However, for a longer baseline, WL AR could be disturbed by measurement noise, meaning that it is not possible to select all the float WL ambiguities without distinction. When the validation test fails, our optimizing method deletes the float WL ambiguity with the maximum variance (which is considered the one disturbing the WL AR process) from \(\hat{B}_{\text{WL}}\), and then repeats the resolution and test until the validation test is passed, which provides the integer solution \(\bar{B}_{\text{WL}}\).

*Step 2* Update \(\hat{X}\), \(\hat{B}_{1}\), and their variance–covariance matrix together with the fixed solution \(\bar{B}_{\text{WL}}\). In this step, the remaining float ambiguities on the L1 frequency and other parameters are not distinguished. The formula for the update is as below (Teunissen 1995):

$$\left[ {\begin{array}{*{20}l} {\hat{X}^{'} } \hfill \\ {\hat{B}_{1}^{'} } \hfill \\ \end{array} } \right] = \left[ {\begin{array}{*{20}l} {\hat{X}} \hfill \\ {\hat{B}_{1} } \hfill \\ \end{array} } \right] - \left[ {\begin{array}{*{20}l} {Q_{{\hat{X}\hat{B}_{\text{WL}} }} } \hfill \\ {Q_{{\hat{B}_{1} \hat{B}_{\text{WL}} }} } \hfill \\ \end{array} } \right]Q_{{\hat{B}_{\text{WL}} \hat{B}_{\text{WL}} }}^{ - 1} \left( {\bar{B}_{\text{WL}} - \hat{B}_{\text{WL}} } \right),$$

(5)

$$\begin{aligned} \left[ {\begin{array}{*{20}l} {Q_{{\hat{X}^{'} \hat{X}^{'} }} } \hfill & {Q_{{\hat{X}^{'} \hat{B}_{1}^{'} }} } \hfill \\ {Q_{{\hat{B}_{1}^{'} \hat{X}^{'} }} } \hfill & {Q_{{\hat{B}_{1}^{'} \hat{B}_{1}^{'} }} } \hfill \\ \end{array} } \right] & = \left[ {\begin{array}{*{20}l} {Q_{{\hat{X}\hat{X}}} } \hfill & {Q_{{\hat{X}\hat{B}_{1} }} } \hfill \\ {Q_{{\hat{B}_{1} \hat{X}}} } \hfill & {Q_{{\hat{B}_{1} \hat{B}_{1} }} } \hfill \\ \end{array} } \right] - \left[ {\begin{array}{*{20}l} {Q_{{\hat{X}\hat{B}_{\text{WL}} }} } \hfill \\ {Q_{{\hat{B}_{1} \hat{B}_{\text{WL}} }} } \hfill \\ \end{array} } \right]\\&\quad Q_{{\hat{B}_{\text{WL}} \hat{B}_{\text{WL}} }}^{ - 1} \left[ {\begin{array}{*{20}c} {Q_{{\hat{B}_{\text{WL}} \hat{X}}} } & {Q_{{\hat{B}_{\text{WL}} \hat{B}_{1} }} } \\ \end{array} } \right]. \end{aligned}$$

(6)

*Step 3* Resolve the remaining ambiguities on the L1 frequency using the LAMBDA method and repeat the entire process from Step 1 to obtain the remaining integer ambiguities \(\bar{B}_{1}\).

*Step 4* Obtain the fixed solution of the remaining unknowns using the formulas below:

$$\bar{X} = \hat{X}^{'} - Q_{{\hat{X}^{'} \hat{B}_{1}^{'} }} Q_{{\hat{B}_{1}^{'} \hat{B}_{1}^{'} }}^{ - 1} \left( {\bar{B}_{1} - \hat{B}_{1}^{'} } \right),$$

(7)

$$Q_{{\bar{X}\bar{X}}} = Q_{{\hat{X}^{'} \hat{X}^{'} }} - Q_{{\hat{X}^{'} \hat{B}_{1}^{'} }} Q_{{\hat{B}_{1}^{'} \hat{B}_{1}^{'} }}^{ - 1} Q_{{\hat{B}_{1}^{'} \hat{X}^{'} }} .$$

(8)

*Step 5* Change back. Conduct the inverse transformation of (3).

The fundamental concepts of this strategy involve resolving the WL ambiguities and the ambiguities on the L1 frequency sequentially, and optimizing the selected ambiguity subset circularly based on the estimated ambiguity variance, as long as the validation test fails.