If you wish to contribute or participate in the discussions about articles you are invited to contact the Editor

Bancroft Method

From Navipedia
Jump to navigation Jump to search

Title Bancroft Method
Author(s) J. Sanz Subirana, J.M. Juan Zornoza and M. Hernández-Pajares, Technical University of Catalonia, Spain.
Level Advanced
Year of Publication 2011

The Bancroft method allows obtaining a direct solution of the receiver position and the clock offset, without requesting any "a priori" knowledge for the receiver location.

Raising and resolution

Let [math]\displaystyle{ PR^j }[/math] the prefit-residual of satellite-[math]\displaystyle{ j }[/math], computed from equation (1)

[math]\displaystyle{ R^j=\rho^j+c(\delta t-\delta t^j)+T^j+\hat{\alpha}\, I^j+TGD^j+\mathcal{M}^j+{\boldsymbol \varepsilon}^j \qquad \mbox{(1)} }[/math]

after removing all model terms not needing the a priory knowledge of the receiver position:[footnotes 1]

[math]\displaystyle{ PR^j\equiv R^j +c\,\delta t^j-TGD^j \qquad \mbox{(2)} }[/math]

Thence, neglecting the tropospheric and ionospheric terms, as well as the multipath and receiver noise, the equation (3)

[math]\displaystyle{ \begin{array}{r} R^j-D^j\simeq \sqrt{(x^j-x)^2+(y^j-y)^2+(z^j-z)^2}+c\,\delta t\\[0.3cm] j=1,2,...,n~~~~ (n \geq 4)\\ \end{array} \qquad \mbox{(3)} }[/math]

can be written as:

[math]\displaystyle{ PR^j = \sqrt{(x^j-x)^2+(y^j-y)^2+(z^j-z)^2}+c \, \delta t \qquad \mbox{(4)} }[/math]

Developing the previous equation (4), it follows:

[math]\displaystyle{ \left[{x^j}^2+{y^j}^2+{z^j}^2-{PR^j}^2 \right]-2 \left[x^j x+y^j y+z^j z-{PR^jc\,\delta t} \; \right] + \left[x^2+y^2+z^2-(c\,\delta t)^2 \right]=0 \qquad \mbox{(5)} }[/math]

Then, calling [math]\displaystyle{ {\mathbf r}=[x,y,z]^T }[/math] and considering the inner product of Lorentz [footnotes 2] the previous equation (5) can be expressed in a more compact way as:

[math]\displaystyle{ \frac{1}{2} \left \langle \left[ \begin{array}{c} {\mathbf r}^j\\ PR^j\\ \end{array} \right], \left[ \begin{array}{c} {\mathbf r}^j\\ PR^j\\ \end{array} \right] \right \rangle - \left \langle \left[ \begin{array}{c} {\mathbf r}^j\\ PR^j\\ \end{array} \right], \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right] \right \rangle + \frac{1}{2} \left \langle \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right], \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right] \right \rangle =0 \qquad \mbox{(6)} }[/math]

The former equation can be raised for every satellite (or prefit-residual [math]\displaystyle{ PR^j }[/math]).

If four measurements are available, thence, the following matrix can be written, containing all the available information on satellite coordinates and pseudoranges (every row corresponds to a satellite):

[math]\displaystyle{ {\mathbf B}= \left( \begin{array}{cccc} x^1&y^1&z^1&PR^1\\ x^2&y^2&z^2&PR^2\\ x^3&y^3&z^3&PR^3\\ x^4&y^4&z^4&PR^4\\ \end{array} \right) \qquad \mbox{(7)} }[/math]

Then, calling:

[math]\displaystyle{ \Lambda= \frac{1}{2} \left \langle \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right], \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right] \right \rangle \; , \; {\mathbf 1}= \left[ \begin{array}{c} 1\\ 1\\ 1\\ 1\\ \end{array} \right] \; , \; {\mathbf a}= \left[ \begin{array}{c} a_1\\ a_2\\ a_3\\ a_4\\ \end{array} \right] \; \mbox{being} \; \; a_j= \frac{1}{2} \left \langle \left[ \begin{array}{c} {\mathbf r}^j\\ PR^j\\ \end{array} \right], \left[ \begin{array}{c} {\mathbf r}^j\\ PR^j\\ \end{array} \right] \right \rangle \qquad \mbox{(8)} }[/math]

The four equations for pseudorange can be expressed as:

[math]\displaystyle{ {\mathbf a} -{\mathbf B}\,{\mathbf M} \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right] +\Lambda \; {\mathbf 1}=0\;\;,\;\;\;\; \mbox{being} \;\;\;\;\;\; {\mathbf M}=\left( \begin{array}{cccc} 1&0&0&0\\ 0&1&0&0\\ 0&0&1&0\\ 0&0&0&-1\\ \end{array} \right) \qquad \mbox{(9)} }[/math]

from where:

[math]\displaystyle{ \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right] ={\mathbf M} {\mathbf B}^{-1} (\Lambda \; {\mathbf 1} + {\mathbf a}) \qquad \mbox{(10)} }[/math]

Then, taking into account the following equality

[math]\displaystyle{ \langle {\mathbf M}{\mathbf g},{\mathbf M}{\mathbf h} \rangle=\langle {\mathbf g},{\mathbf h} \rangle \qquad \mbox{(11)} }[/math],

and that

[math]\displaystyle{ \Lambda= \frac{1}{2} \left \langle \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right], \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right] \right \rangle \qquad \mbox{(12)} }[/math],

from the former expression (10), one obtains:

[math]\displaystyle{ \left \langle {\mathbf B}^{-1} {\mathbf 1}, {\mathbf B}^{-1} {\mathbf 1} \right \rangle \Lambda^2+ 2\left [ \left \langle {\mathbf B}^{-1} {\mathbf 1}, {\mathbf B}^{-1} {\mathbf a} \right \rangle -1 \right ] \Lambda + \left \langle {\mathbf B}^{-1} {\mathbf a}, {\mathbf B}^{-1} {\mathbf a} \right \rangle =0 \qquad \mbox{(13)} }[/math]

The previous expression (13) is a quadratic equation in [math]\displaystyle{ \Lambda }[/math] (note that matrix [math]\displaystyle{ {\mathbf B} }[/math] and the vector [math]\displaystyle{ \mathbf a }[/math] are also known) and provides two solutions, that introduced in expression (10) provides the searched solution:

[math]\displaystyle{ \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right] \qquad \mbox{(14)} }[/math].

The other solution is far from the earth surface.

Generalisation to the case of [math]\displaystyle{ n }[/math]-measurements:

If more than four observations are available, the matrix [math]\displaystyle{ {\mathbf B} }[/math] is not square. However, multiplying by [math]\displaystyle{ {\mathbf B}^T }[/math], one obtains (Least Squares solution):

[math]\displaystyle{ {\mathbf B}^T{\mathbf a} -{\mathbf B}^T {\mathbf B}\,{\mathbf M} \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right] +\Lambda \; {\mathbf B}^T {\mathbf 1}=0 \qquad \mbox{(15)} }[/math]


[math]\displaystyle{ \left[ \begin{array}{c} {\mathbf r}\\ c\,\delta t\\ \end{array} \right] ={\mathbf M} ({\mathbf B}^T {\mathbf B})^{-1}{\mathbf B}^T(\Lambda \; {\mathbf 1} + {\mathbf a}) \qquad \mbox{(16)} }[/math]

and then:

[math]\displaystyle{ \begin{array}{r} \left \langle ({\mathbf B}^T {\mathbf B})^{-1} {\mathbf B}^T{\mathbf 1}, ({\mathbf B}^T {\mathbf B})^{-1} {\mathbf B}^T{\mathbf 1} \right \rangle \Lambda^2+ 2\left [ \left \langle ({\mathbf B}^T {\mathbf B})^{-1} {\mathbf B}^T{\mathbf 1}, ({\mathbf B}^T {\mathbf B})^{-1} {\mathbf B}^T{\mathbf a} \right \rangle -1 \right ] \Lambda +\\[0.3cm] + \left \langle ({\mathbf B}^T {\mathbf B})^{-1} {\mathbf B}^T{\mathbf a}, ({\mathbf B}^T {\mathbf B})^{-1} {\mathbf B}^T{\mathbf a} \right \rangle =0 \end{array} \qquad \mbox{(17)} }[/math]


  1. ^ The tropospheric and ionospheric terms, [math]\displaystyle{ T^j }[/math] and [math]\displaystyle{ \hat{\alpha} \,I^j }[/math], can not be included, because the need to consider the satellite-receiver ray. Off course, after an initial computation of the receiver coordinates, the method could be iterated using the ionospheric and tropospheric corrections to improve the solution.
  2. ^ [math]\displaystyle{ \left \langle{\mathbf a},{\mathbf b}\right \rangle={\mathbf a}^{t} \; {\mathbf M} \; {\mathbf b}= \left[ \begin{array}{c} a_1,a_2,a_3,a_4 \end{array} \right] \left( \begin{array}{cccc} 1&0&0&0\\ 0&1&0&0\\ 0&0&1&0\\ 0&0&0&-1\\ \end{array} \right) \left[ \begin{array}{c} b_1\\ b_2\\ b_3\\ b_4 \end{array} \right] }[/math]