Skip to main content
Log in

Improving ambiguity resolution success rate in the joint solution of GNSS-based attitude determination and relative positioning with multivariate constraints

  • Original Article
  • Published:
GPS Solutions Aims and scope Submit manuscript

Abstract

Usually, the global navigation satellite system (GNSS)-based attitude determination and the GNSS-based relative positioning are treated as separate problems. In this contribution, the two problems are resolved as a combined solution of a joint model with multivariate constraints, in which the known geometry of the antenna array on the rover platform is used as constraints, thereby improving the parameter estimation in not only the attitude determination but also the relative positioning. The objective function of the joint model is decomposed and then reduced so that only the terms concerning the constraints are retained, thus transforming the objective function into the exact form of that of the GNSS-based multivariate constrained attitude determination model. Then the multivariate constrained least-squares ambiguity decorrelation adjustment method together with the efficient shrinkage or expansion with bounds strategies, which are shown to work well in the attitude determination, can be extended to the joint model. In experimental validation, the joint model is tested with both simulated and real GPS/BDS datasets in terms of ambiguity resolution success rate and the precision of solutions. The results confirm that the joint model ensures the highest ambiguity resolution success rate among the existing unaided GNSS-based relative positioning methods, and the improvement is more obvious when the observation model is weaker, for example, when the number of available satellites is fewer or when the precision of observations is poorer, thus showing an overall best performance in both reliability and precision aspects.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

References

  • Buist PJ, Teunissen PJG, Giorgi G, Verhagen S (2009) Multiplatform instantaneous GNSS ambiguity resolution for triple- and quadruple-antenna configurations with constraints. Int J Navig Observ 2009:1–14

    Article  Google Scholar 

  • Buist PJ, Teunissen PJG, Giorgi G, Verhagen S (2009b) Instantaneous GNSS-based kinematic relative positioning and attitude determination using multi-antenna configurations. In: Proceedings of the international symposium on GPS/GNSS 2009, Jeju, Korea, January, 1–12

  • Chen B (2005) Optimization theory and algorithm, 2nd edn. Tsinghua University, Beijing

    Google Scholar 

  • Chen Y (2010) A new multipliers algorithm. Ph.D. thesis, Tongji University, Shanghai, China

  • Giorgi G, Teunissen PJG, Verhagen S, Buist PJ (2012) Instantaneous ambiguity resolution in global-navigation-satellite-system-based attitude determination applications: a multivariate constrained approach. J Guid Control Dyn 35(1):51–67

    Article  Google Scholar 

  • He H, Li J, Yang Y, Xu J, Guo H, Wang A (2014) Performance assessment of single- and dual-frequency BeiDou/GPS single-epoch kinematic positioning. GPS Solut 18(3):393–403

    Article  Google Scholar 

  • Hestenes MR (1969) Multiplier and gradient methods. J Optim Theory Appl 4(5):303–320

    Article  Google Scholar 

  • Pan S, Meng X, Gao W, Wang S, Dodson A (2014) A new approach for optimising GNSS positioning performance in harsh observation environments. J Navig 67(6):1029–1048

    Article  Google Scholar 

  • Powell MJD (1969) A method for nonlinear constraints in minimization problems. Optimization 5(6):283–298

    Google Scholar 

  • Teunissen PJG (2007) The LAMBDA method for the GNSS compass. Artif Satell 41(3):89–103

    Google Scholar 

  • Teunissen PJG (2010) Integer least-squares theory for the GNSS compass. J Geod 84(7):433–447

    Article  Google Scholar 

  • Teunissen PJG (2012) A-PPP: array-aided precise point positioning with global navigation satellite systems. IEEE Trans Signal Process 60(6):2870–2881

    Article  Google Scholar 

  • Teunissen PJG, de Jonge PJ, Tiberius CCJM (1997) The least-squares ambiguity decorrelation adjustment: its performance on short GPS baselines and short observation spans. J Geod 71(10):589–602

    Article  Google Scholar 

  • Teunissen PJG, Giorgi G, Buist PJ (2011) Testing of a new single-frequency GNSS carrier phase attitude determination method: land, ship and aircraft experiments. GPS Solut 15(1):15–28

    Article  Google Scholar 

Download references

Acknowledgments

This work is supported by the National Natural Science Foundation of China (Grant No. 41904014).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Liang Zhang.

Ethics declarations

Conflict of interest

The authors declare that they have no conflict of interest.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix: Proof of (12)

Appendix: Proof of (12)

With \({\varvec{Q}}_{{\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)}}^{ - 1} = \overline{\varvec{B}}^{\rm T} {\varvec{Q}}_{{\overline{\varvec{y}}\overline{\varvec{y}}}}^{ - 1} \overline{\varvec{B}}\), \(\overline{\varvec{B}} = \left[ {\begin{array}{*{20}c} {{\varvec{F}}^{\rm T} } & 0 \\ 0 & 1 \\ \end{array} } \right] \otimes {\varvec{G}}\), and \({\varvec{Q}}_{{\overline{\varvec{y}}\overline{\varvec{y}}}} = {\varvec{P}}_{n} \otimes {\varvec{Q}}_{{{\varvec{yy}}}}\), the second term of (11) equals

$$\begin{aligned} \left\| {\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right) - \overline{\varvec{b}}} \right\|_{{{\varvec{Q}}_{{\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)}} }}^{2} & = \left[ {\begin{array}{*{20}c} {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \\ {\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}}} \right) - {\varvec{b}}_{{\text{m}_{1} \text{r}}} } \\ \end{array} } \right]^{\rm T} {\varvec{Q}}_{{\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)}}^{ - 1} \left[ {\begin{array}{*{20}c} {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \\ {\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}}} \right) - {\varvec{b}}_{{\text{m}_{1} \text{r}}} } \\ \end{array} } \right] \\ & = \left[ {\begin{array}{*{20}c} {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \\ {\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}}} \right) - {\varvec{b}}_{{\text{m}_{1} \text{r}}} } \\ \end{array} } \right]^{\rm T} \left( {\left[ {\begin{array}{*{20}c} {{\varvec{F}}^{\rm T} } & 0 \\ 0 & 1 \\ \end{array} } \right] \otimes {\varvec{G}}} \right)^{\rm T} \left( {{\varvec{P}}_{n} \otimes {\varvec{Q}}_{{{\varvec{yy}}}} } \right)^{ - 1} \left( {\left[ {\begin{array}{*{20}c} {{\varvec{F}}^{\rm T} } & 0 \\ 0 & 1 \\ \end{array} } \right] \otimes {\varvec{G}}} \right)\left[ {\begin{array}{*{20}c} {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \\ {\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}}} \right) - {\varvec{b}}_{{\text{m}_{1} \text{r}}} } \\ \end{array} } \right] \\ & = {\mathop {\left[ {\begin{array}{*{20}c} {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \\ {\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}}} \right) - {\varvec{b}}_{{\text{m}_{1} \text{r}}} } \\ \end{array} } \right]}\limits_{{1 \times 3\left( {q + 1} \right)}}}^{\rm T} \left( {\mathop {\left[ {\begin{array}{*{20}c} {{\varvec{F}}^{\rm T} } & 0 \\ 0 & 1 \\ \end{array} } \right]}\limits_{{n \times \left( {q + 1} \right)}} \otimes {\varvec{I}}_{3} } \right)^{\rm T} \left( {{\varvec{P}}_{n}^{ - 1} \otimes \mathop {{\varvec{G}}^{\rm T} }\limits_{3 \times 2s} \mathop {{\varvec{Q}}_{{{\varvec{yy}}}}^{ - 1} }\limits_{2s \times 2s} \mathop {\varvec{G}}\limits_{2s \times 3} } \right)\left( {\mathop {\left[ {\begin{array}{*{20}c} {{\varvec{F}}^{\rm T} } & 0 \\ 0 & 1 \\ \end{array} } \right]}\limits_{{n \times \left( {q + 1} \right)}} \otimes {\varvec{I}}_{3} } \right)\mathop {\left[ {\begin{array}{*{20}c} {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \\ {\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}}} \right) - {\varvec{b}}_{{\text{m}_{1} \text{r}}} } \\ \end{array} } \right]}\limits_{{3\left( {q + 1} \right) \times 1}} \\ \end{aligned}$$

Let the LDLT decomposition of \({\varvec{P}}_{n}^{ - 1} { = }\left( {\frac{1}{2}{\varvec{D}}_{{\text{A}}} {\varvec{D}}_{{\text{A}}}^{\rm T} } \right)^{ - 1}\) be given as \({\varvec{P}}_{n}^{ - 1} = {\varvec{L}}_{n}^{{ - {\rm T}}} {\varvec{D}}_{n}^{ - 1} {\varvec{L}}_{n}^{ - 1}\), where \({\varvec{L}}_{n}^{ - 1} = \left[ {\begin{array}{*{20}c} 1 & {} & {} & {} & {} \\ \vdots & \ddots & {} & {} & {} \\ { - \frac{1}{i}} & { - \frac{1}{i}} & 1 & {} & {} \\ \vdots & \vdots & \vdots & \ddots & {} \\ { - \frac{1}{n}} & { - \frac{1}{n}} & { - \frac{1}{n}} & \cdots & 1 \\ \end{array} } \right]\) with i being the row number, and the diagonal entries of \({\varvec{D}}_{n}^{ - 1}\) equal to \(\frac{i + 1}{{2i}}\), \(i = 1,\;\ldots ,\;n\). If we set \({\varvec{M}} = - \frac{1}{n}{\varvec{e}}_{n - 1}^{\rm T}\), \({\varvec{P}}_{n}^{{{ - }1}}\) is rewritten as \({\varvec{P}}_{n}^{{{ - }1}} = \left[ {\begin{array}{*{20}c} {{\varvec{L}}_{n - 1}^{ - 1} } & {} \\ {{\varvec{M}}^{\rm T} } & 1 \\ \end{array} } \right]^{\rm T} \left[ {\begin{array}{*{20}c} {{\varvec{D}}_{n - 1}^{ - 1} } & {} \\ {} & {\frac{2n}{{n + 1}}} \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {{\varvec{L}}_{n - 1}^{ - 1} } & {} \\ {{\varvec{M}}^{\rm T} } & 1 \\ \end{array} } \right]\). Then it follows that

$$\begin{aligned} \left\| {\hat{\bar{\varvec{b}}}\left( {\bar{\varvec{a}}} \right) - \bar{\varvec{b}}} \right\|_{{\varvec{Q}_{{\hat{\bar{\varvec{b}}}\left( {\bar{\varvec{a}}} \right)\hat{\bar{\varvec{b}}}\left( {\bar{\varvec{a}}} \right)}} }}^{2} & = \left[ {\begin{array}{*{20}c} {\hat{\bar{\varvec{b}}}_{1} \left( {\bar{\varvec{a}}} \right) - \varvec{X}_{\varvec{C}} } \\ {\hat{\bar{\varvec{b}}}_{2} \left( {\bar{\varvec{a}}} \right) - \varvec{b}_{{\text{m}_{1} \text{r}}} } \\ \end{array} } \right]^{{\rm T}} \left( {\left[ {\begin{array}{*{20}c} {\varvec{F}^{{\rm T}} } & {\mathbf{0}} \\ {\mathbf{0}} & 1 \\ \end{array} } \right] \otimes \varvec{I}_{3} } \right)^{{\rm T}} \left( {\left[ {\begin{array}{*{20}c} {\varvec{L}_{{n - 1}}^{{ - 1}} } & {} \\ {\varvec{M}^{{\rm T}} } & 1 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\varvec{D}_{{m - 1}}^{{ - 1}} } & {} \\ {} & {\frac{{2n}}{{n + 1}}} \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\varvec{L}_{{n - 1}}^{{ - 1}} } & {} \\ {\varvec{M}^{{\rm T}} } & 1 \\ \end{array} } \right] \otimes \varvec{Q}_{{\hat{\varvec{b}}\left( \varvec{a} \right)\hat{\varvec{b}}\left( \varvec{a} \right)}}^{{ - 1}} } \right) \\ & \quad \times \left( {\left[ {\begin{array}{*{20}c} {\varvec{F}^{{\rm T}} } & {\mathbf{0}} \\ {\mathbf{0}} & 1 \\ \end{array} } \right] \otimes \varvec{I}_{3} } \right)\left[ {\begin{array}{*{20}c} {\hat{\bar{\varvec{b}}}_{1} \left( {\bar{\varvec{a}}} \right) - \varvec{X}_{\varvec{C}} } \\ {\hat{\bar{\varvec{b}}}_{2} \left( {\bar{\varvec{a}}} \right) - \varvec{b}_{{\text{m}_{1} \text{r}}} } \\ \end{array} } \right] \\ & = \left\{ {\left( {\left[ {\begin{array}{*{20}c} {\varvec{L}_{{n - 1}}^{{ - 1}} } & {} \\ {\varvec{M}^{{\rm T}} } & 1 \\ \end{array} } \right] \otimes \varvec{I}_{3} } \right)\left( {\left[ {\begin{array}{*{20}c} {\varvec{F}^{{\rm T}} } & {\mathbf{0}} \\ {\mathbf{0}} & 1 \\ \end{array} } \right] \otimes \varvec{I}_{3} } \right)\left[ {\begin{array}{*{20}c} {\hat{\bar{\varvec{b}}}_{1} \left( {\bar{\varvec{a}}} \right) - \varvec{X}_{\varvec{C}} } \\ {\hat{\bar{\varvec{b}}}_{2} \left( {\bar{\varvec{a}}} \right) - \varvec{b}_{{\text{m}_{1} \text{r}}} } \\ \end{array} } \right]} \right\}^{{\rm T}} \left\{ {\left[ {\begin{array}{*{20}c} {\varvec{D}_{{m - 1}}^{{ - 1}} } & {} \\ {} & {\frac{{2n}}{{n + 1}}} \\ \end{array} } \right] \otimes \varvec{Q}_{{\hat{\varvec{b}}\left( \varvec{a} \right)\hat{\varvec{b}}\left( \varvec{a} \right)}}^{{ - 1}} } \right\} \\ & \quad \times \left\{ {\left( {\left[ {\begin{array}{*{20}c} {\varvec{L}_{{n - 1}}^{{ - 1}} } & {} \\ {\varvec{M}^{{\rm T}} } & 1 \\ \end{array} } \right] \otimes \varvec{I}_{3} } \right)\left( {\left[ {\begin{array}{*{20}c} {\varvec{F}^{{\rm T}} } & {\mathbf{0}} \\ {\mathbf{0}} & 1 \\ \end{array} } \right] \otimes \varvec{I}_{3} } \right)\left[ {\begin{array}{*{20}c} {\hat{\bar{\varvec{b}}}_{1} \left( {\bar{\varvec{a}}} \right) - \varvec{X}_{\varvec{C}} } \\ {\hat{\bar{\varvec{b}}}_{2} \left( {\bar{\varvec{a}}} \right) - \varvec{b}_{{\text{m}_{1} \text{r}}} } \\ \end{array} } \right]} \right\} \\ & = \left[ {\begin{array}{*{20}c} {\left( {\varvec{L}_{{n - 1}}^{{ - 1}} \varvec{F}^{{\rm T}} \otimes \varvec{I}_{3} } \right)\left( {\hat{\bar{\varvec{b}}}_{1} \left( {\bar{\varvec{a}}} \right) - \varvec{X}_{\varvec{C}} } \right)} \\ {\left( {\varvec{M}^{{\rm T}} \varvec{F}^{{\rm T}} \otimes \varvec{I}_{3} } \right)\left( {\hat{\bar{\varvec{b}}}_{1} \left( {\bar{\varvec{a}}} \right) - \varvec{X}_{\varvec{C}} } \right) + \left( {\hat{\bar{\varvec{b}}}_{2} \left( {\bar{\varvec{a}}} \right) - \varvec{b}_{{\text{m}_{1} \text{r}}} } \right)} \\ \end{array} } \right]^{{\rm T}} \left[ {\begin{array}{*{20}c} {\varvec{D}_{{n - 1}}^{{ - 1}} \otimes \varvec{Q}_{{\hat{\varvec{b}}\left( \varvec{a} \right)\hat{\varvec{b}}\left( \varvec{a} \right)}}^{{ - 1}} } & {} \\ {} & {\frac{{2n}}{{n + 1}}\varvec{Q}_{{\hat{\varvec{b}}\left( \varvec{a} \right)\hat{\varvec{b}}\left( \varvec{a} \right)}}^{{ - 1}} } \\ \end{array} } \right] \\ & \quad \times \left[ {\begin{array}{*{20}c} {\left( {\varvec{L}_{{n - 1}}^{{ - 1}} \varvec{F}^{{\rm T}} \otimes \varvec{I}_{3} } \right)\left( {\hat{\bar{\varvec{b}}}_{1} \left( {\bar{\varvec{a}}} \right) - \varvec{X}_{\varvec{C}} } \right)} \\ {\left( {\varvec{M}^{{\rm T}} \varvec{F}^{{\rm T}} \otimes \varvec{I}_{3} } \right)\left( {\hat{\bar{\varvec{b}}}_{1} \left( {\bar{\varvec{a}}} \right) - \varvec{X}_{\varvec{C}} } \right) + \left( {\hat{\bar{\varvec{b}}}_{2} \left( {\bar{\varvec{a}}} \right) - \varvec{b}_{{\text{m}_{1} \text{r}}} } \right)} \\ \end{array} } \right] \\ & = \left( {\hat{\bar{\varvec{b}}}_{1} \left( {\bar{\varvec{a}}} \right) - \varvec{X}_{\varvec{C}} } \right)^{{\rm T}} \left( {\varvec{FP}_{{n - 1}}^{{ - 1}} \varvec{F}^{{\rm T}} \otimes \varvec{Q}_{{\hat{\varvec{b}}\left( \varvec{a} \right)\hat{\varvec{b}}\left( \varvec{a} \right)}}^{{ - 1}} } \right)\left( {\hat{\bar{\varvec{b}}}_{1} \left( {\bar{\varvec{a}}} \right) - \varvec{X}_{\varvec{C}} } \right) + \left[ {\hat{\bar{\varvec{b}}}_{2} \left( {\bar{\varvec{a}},X_{\varvec{C}} } \right) - \varvec{b}_{{\text{m}_{1} \text{r}}} } \right]^{{\rm T}} \varvec{Q}_{{\hat{\bar{\varvec{b}}}_{2} \left( {\bar{\varvec{a}},X_{\varvec{C}} } \right)\hat{\bar{\varvec{b}}}_{2} \left( {\bar{\varvec{a}},X_{\varvec{C}} } \right)}}^{{ - 1}} \left[ {\hat{\bar{\varvec{b}}}_{2} \left( {\bar{\varvec{a}},X_{\varvec{C}} } \right) - \varvec{b}_{{\text{m}_{1} \text{r}}} } \right] \\ \end{aligned}$$
(19)

where \(\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}},X_{{\varvec{C}}} } \right) = \hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}}} \right) + \left( {{\varvec{M}}^{\rm T} {\varvec{F}}^{\rm T} \otimes {\varvec{I}}_{3} } \right)\left( {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \right)\) and \({\varvec{Q}}_{{\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}},X_{{\varvec{C}}} } \right)\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}},X_{{\varvec{C}}} } \right)}} = \frac{n + 1}{{2n}}{\varvec{Q}}_{{\hat{\varvec{b}}\left( {\varvec{a}} \right)\hat{\varvec{b}}\left( {\varvec{a}} \right)}}\) denote the conditional baseline solution of \({\varvec{b}}_{{{\text{m}}_{1} {\text{r}}}}\) (conditioned on \(\overline{\varvec{a}}\) and \({\varvec{X}}_{{\varvec{C}}}\)) and its vc matrix, respectively. Since

$$\begin{aligned} {\varvec{Q}}_{{\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)}} & = \left[ {\left( {\left[ {\begin{array}{*{20}c} {{\varvec{F}}^{\rm T} } & 0 \\ 0 & 1 \\ \end{array} } \right] \otimes {\varvec{G}}} \right)^{\rm T} \left( {{\varvec{P}}_{n} \otimes {\varvec{Q}}_{{{\varvec{yy}}}} } \right)^{ - 1} \left( {\left[ {\begin{array}{*{20}c} {{\varvec{F}}^{\rm T} } & 0 \\ 0 & 1 \\ \end{array} } \right] \otimes {\varvec{G}}} \right)} \right]^{ - 1} \\ & = \left[ {\begin{array}{*{20}c} {{\varvec{FP}}_{n - 1}^{ - 1} {\varvec{F}}^{\rm T} + \frac{2n}{{n + 1}}{\varvec{FMM}}^{\rm T} {\varvec{F}}^{\rm T} } & {\frac{2n}{{n + 1}}{\varvec{FM}}} \\ {\frac{2n}{{n + 1}}{\varvec{M}}^{\rm T} {\varvec{F}}^{\rm T} } & {\frac{2n}{{n + 1}}} \\ \end{array} } \right]^{ - 1} \otimes {\varvec{Q}}_{{\hat{\varvec{b}}\left( {\varvec{a}} \right)\hat{\varvec{b}}\left( {\varvec{a}} \right)}} \\ \end{aligned}$$

with the property of the inverse matrix \(\left[ {\begin{array}{*{20}c} {\varvec{A}} & {\varvec{U}} \\ {\varvec{V}} & {\varvec{D}} \\ \end{array} } \right]^{ - 1} = \left[ {\begin{array}{*{20}c} {\left( {{\varvec{A}} - {\varvec{UD}}^{ - 1} {\varvec{V}}} \right)^{ - 1} } & { - \left( {{\varvec{A}} - {\varvec{UD}}^{ - 1} {\varvec{V}}} \right)^{ - 1} {\varvec{UD}}^{ - 1} } \\ { - \left( {{\varvec{D}} - {\varvec{VA}}^{ - 1} {\varvec{U}}} \right)^{ - 1} {\varvec{VA}}^{ - 1} } & {\left( {{\varvec{D}} - {\varvec{VA}}^{ - 1} {\varvec{U}}} \right)^{ - 1} } \\ \end{array} } \right]\), this vc matrix is reformulated as \({\varvec{Q}}_{{\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)}} = \left[ {\begin{array}{*{20}c} {\left( {{\varvec{FP}}_{n - 1}^{ - 1} {\varvec{F}}^{\rm T} } \right)^{ - 1} } & { - \left( {{\varvec{FP}}_{n - 1}^{ - 1} {\varvec{F}}^{\rm T} } \right)^{ - 1} {\varvec{FM}}} \\ { - {\varvec{M}}^{\rm T} {\varvec{F}}^{\rm T} \left( {{\varvec{FP}}_{n - 1}^{ - 1} {\varvec{F}}^{\rm T} } \right)^{ - 1} } & {\frac{n + 1}{{2n}} + {\varvec{M}}^{\rm T} {\varvec{F}}^{\rm T} \left( {{\varvec{FP}}_{n - 1}^{ - 1} {\varvec{F}}^{\rm T} } \right)^{ - 1} {\varvec{FM}}} \\ \end{array} } \right] \otimes {\varvec{Q}}_{{\hat{\varvec{b}}\left( {\varvec{a}} \right)\hat{\varvec{b}}\left( {\varvec{a}} \right)}}\).

Thus, we get

$$\begin{aligned} {\varvec{Q}}_{{\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right)}} & = - {\varvec{M}}^{\rm T} {\varvec{F}}^{\rm T} \left( {{\varvec{FP}}_{n - 1}^{ - 1} {\varvec{F}}^{\rm T} } \right)^{ - 1} \otimes {\varvec{Q}}_{{\hat{\varvec{b}}\left( {\varvec{a}} \right)\hat{\varvec{b}}\left( {\varvec{a}} \right)}} \\ {\varvec{Q}}_{{\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right)}} & = \left( {{\varvec{FP}}_{n - 1}^{ - 1} {\varvec{F}}^{\rm T} } \right)^{ - 1} \otimes {\varvec{Q}}_{{\hat{\varvec{b}}\left( {\varvec{a}} \right)\hat{\varvec{b}}\left( {\varvec{a}} \right)}} \\ \end{aligned}$$
(20)

Substitution of (20) into the last equation of (19) gives

\(\begin{aligned} \left\| {\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right) - \overline{\varvec{b}}} \right\|_{{{\varvec{Q}}_{{\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}\left( {\overline{\varvec{a}}} \right)}} }}^{2} & = \left( {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \right)^{\rm T} {\varvec{Q}}_{{\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right)}}^{ - 1} \left( {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \right) + \left[ {\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}},X_{{\varvec{C}}} } \right) - {\varvec{b}}_{{\text{m}_{1} \text{r}}} } \right]^{\rm T} {\varvec{Q}}_{{\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}},X_{{\varvec{C}}} } \right)\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}},X_{{\varvec{C}}} } \right)}}^{ - 1} \left[ {\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}},X_{{\varvec{C}}} } \right) - {\varvec{b}}_{{\text{m}_{1} \text{r}}} } \right] \\ & = \left\| {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \right\|_{{{\varvec{Q}}_{{\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right)}} }}^{2} + \left\| {\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}},{\varvec{X}}_{{\varvec{C}}} } \right) - {\varvec{b}}_{{\text{m}_{1} \text{r}}} } \right\|_{{{\varvec{Q}}_{{\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}},{\varvec{X}}_{{\varvec{C}}} } \right)\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}},{\varvec{X}}_{{\varvec{C}}} } \right)}} }}^{2} \\ \end{aligned}\) in which \(\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}},X_{{\varvec{C}}} } \right) = \hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}}} \right) + \left( {{\varvec{M}}^{\rm T} {\varvec{F}}^{\rm T} \otimes {\varvec{I}}_{3} } \right)\left( {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \right) = \hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}}} \right) - {\varvec{Q}}_{{\hat{\overline{\varvec{b}}}_{2} \left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right)}} {\varvec{Q}}_{{\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right)\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right)}}^{ - 1} \left( {\hat{\overline{\varvec{b}}}_{1} \left( {\overline{\varvec{a}}} \right) - {\varvec{X}}_{{\varvec{C}}} } \right)\).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Wu, S., Zhao, X., Pang, C. et al. Improving ambiguity resolution success rate in the joint solution of GNSS-based attitude determination and relative positioning with multivariate constraints. GPS Solut 24, 31 (2020). https://doi.org/10.1007/s10291-019-0943-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s10291-019-0943-y

Keywords

Navigation