Introduction

Geometric interpretation of DOP (dilution of precision) factors has already been studied in the past. However, this topic still deserves to be revisited, especially with the use of miniaturized atomic chip clock (Weinbach and Schön 2011) and the calibration of receiver line biases in relative positioning (Macias-Valadez et al. 2012), for example. Moreover, let us mention that the geometric interpretation for positioning can also be transferred to GPS velocity determination.

The basis of DOP factor calculations are the elements along the diagonal of matrix Q calculated as follows,

$$ Q \, = \, N^{ - 1} = \, ( {A^{\text{T}} A} )^{ - 1} $$
(1)

where

$$ A_{n \times 4} = \left( {\begin{array}{*{20}l} { - e_{X}^{1} } \hfill & { - e_{Y}^{1} } \hfill & { - e_{Z}^{1} } \hfill & { - 1} \hfill \\ { - e_{X}^{2} } \hfill & { - e_{Y}^{2} } \hfill & { - e_{Z}^{2} } \hfill & { - 1} \hfill \\ \ldots \hfill & \ldots \hfill & \ldots \hfill & \ldots \hfill \\ { - e_{X}^{n} } \hfill & { - e_{Y}^{n} } \hfill & { - e_{Z}^{n} } \hfill & { - 1} \hfill \\ \end{array} } \right) $$
(2)

for conventional GPS pseudorange solutions.

The terms e X , e Y , e Z are the components of the receiver-satellite unit vector. They come from the derivative of the topocentric satellite distance with respect to receiver coordinates (X, Y, Z) in ECEF (Earth-Centered, Earth-Fixed) coordinate system and the receiver clock bias (dT, converted in meter). In fact, all the geometric information about the satellite sky distribution is contained in matrix A.

We address the geometric interpretation of the precision of GPS positioning, namely the DOP factors. The comparison will be made between conventional DOP determination which considers the receiver clock parameter and the DOP values from a pure trilateration solution. Particular cases are also presented from a geometric point of view, namely the singularity conditions for ill-conditioned positioning, and the clock constraint solving for one clock parameter for a certain time period instead of estimating it at every epoch.

Notation and definition

Before starting with the development of the geometric interpretation of DOP factors, let us present the notation and definition of the most useful quantities.

n: number of observations or number of satellites

u: number of unknown parameters

ν: degree of freedom (ν = n − u)

c:ij: number of combination of satellite pairs (ij) among the n satellites

c:ijk: number of combination of satellite triads (ijk) among the n satellites

c:ijkl: number of combination of satellite quads (ijkl) among the n satellites

\( \vec{e}_{r}^{i} \): receiver-satellite unit vector from receiver r toward satellite i

\( E_{r}^{i} , \, N_{r}^{i} ,\,V_{r}^{i} \): components of the unit vector \( {\vec{\text{e}}}_{\text{r}}^{\text{i}} \) in the local coordinate system (E, N, V)

\( \bar{e}_{r}^{\text{T}} = \left( {\begin{array}{*{20}c} {\bar{E}_{r} ,} & {\bar{N}_{r} ,} & {\bar{V}_{r} } \\ \end{array} } \right) \): average of all unit vectors \( \vec{e}_{r}^{i} \) at a given epoch

\( \vec{e}_{g}^{i} = \vec{e}_{r}^{i} - \bar{e}_{r} \) or \( E_{g}^{i} = E_{r}^{i} - \bar{E}_{r} \), \( N_{g}^{i} = N_{r}^{i} - \bar{N}_{r} \) and \( V_{g}^{i} = V_{r}^{i} - \bar{V}_{r} \)

\( V_{r}^{ijk} \): volume of the tetrahedron spanned by unit vectors \(\vec{e}_{r}^{i} \), \(\vec{e}_{r}^{j} \) and \(\vec{e}_{r}^{k} \)

\( f_{ijk}^{r} \): height of receiver r to the plane formed by the tips of unit vectors associated with satellites i, j and k

\( S_{r \, EN}^{ij} \): surface of the triangle spanned by vectors \( {\vec{\textit{e}}}_{\textit{r}}^{\textit{i}} \) and \( {\vec{\textit{e}}}_{\textit{r}}^{\textit{j}} \) projected onto plane EN

\( S_{r \, EV}^{ij} \): surface of the triangle spanned by vectors \(\vec{e}_{r}^{i} \) and \( \vec{e}_{r}^{j} \) projected onto plane EV

\( S_{r \, NV}^{ij} \): surface of the triangle spanned by vectors \( \vec{e}_{r}^{i} \) and \( \vec{e}_{r}^{j} \) projected onto plane NV

V ijkl: volume of the tetrahedron spanned by vectors \( \vec{e}_{r}^{j} - \vec{e}_{r}^{i} \), \(\vec{e}_{r}^{k} - \vec{e}_{r}^{i} \) and \(\vec{e}_{r}^{l} -\vec{e}_{r}^{i} \)

\( S_{EN}^{ijk} \): surface of the triangle spanned by vectors \( \vec{e}_{r}^{j} - \vec{e}_{r}^{i} \) and \(\vec{e}_{r}^{k} - \vec{e}_{r}^{i} \) projected onto plane EN

\( S_{EV}^{ijk} \): surface of the triangle spanned by vectors \(\vec{e}_{r}^{j} - \vec{e}_{r}^{i} \) and \( \vec{e}_{r}^{k} - \mathop {\vec{e}_{r}^{i} } \) projected onto plane EV

\( S_{NV}^{ijk} \): surface of the triangle spanned by vectors \( \mathop {\vec{e}_{r}^{j} }\nolimits^{{}} - \mathop {\vec{e}_{r}^{i} }\nolimits^{{}} \) and \( \mathop {\vec{e}_{r}^{k} }\nolimits^{{}} - \mathop {\vec{e}_{r}^{i} }\nolimits^{{}} \) projected onto plane NV

\( V_{g}^{ijk} \): volume of the tetrahedron spanned by vectors \( \mathop {\vec{e}_{g}^{i} }\nolimits^{{}} \), \( \mathop {\vec{e}_{g}^{j} }\nolimits^{{}} \) and \( \mathop {\vec{e}_{g}^{k} }\nolimits^{{}} \)

\( S_{g \, EN}^{ij} \): surface of the triangle spanned by vectors \( \mathop {\vec{e}_{g}^{i} }\nolimits^{{}} \) and \( \mathop {\vec{e}_{g}^{j} }\nolimits^{{}} \) projected onto plane EN

\( S_{g \, EV}^{ij} \): surface of the triangle spanned by vectors \( \mathop {\vec{e}_{g}^{i} }\nolimits^{{}} \) and \( \mathop {\vec{e}_{g}^{j} }\nolimits^{{}} \) projected onto plane EV

\( S_{g \, NV}^{ij} \): surface of the triangle spanned by vectors \( \mathop {\vec{e}_{g}^{i} }\nolimits^{{}} \) and \( \mathop {\vec{e}_{g}^{j} }\nolimits^{{}} \) projected onto plane NV

Examples of surface and volume calculations are,

$$ \begin{aligned} & V_{r}^{ijk} = \, \frac{1}{6}\;\left|{\begin{array}{*{20}l} {E_{r}^{i} } \hfill & {N_{r}^{i} } \hfill & {V_{r}^{i} } \hfill \\ {E_{r}^{j} } \hfill & {N_{r}^{j} } \hfill & {V_{r}^{j} } \hfill \\ {E_{r}^{k} } \hfill &{N_{r}^{k} } \hfill & {V_{r}^{k} } \hfill \\ \end{array}}\right|;\quad V^{ijkl} = \, \frac{1}{6}\;\left| {\begin{array}{*{20}l} { \, E^{ij} } \hfill & {N^{ij} } \hfill & {V^{ij \, } } \hfill \\ { \, E^{ik} } \hfill & {N^{ik} } \hfill &{V^{ik \, } } \hfill \\ { \, E^{il} } \hfill & {N^{il}} \hfill &{V^{il \, } } \hfill \\ \end{array} } \right|; \quad V_{g}^{ijk} = \frac{1}{6}\;\left| {\begin{array}{*{20}l} { \, E_{g}^{i} } \hfill & {N_{g}^{i} } \hfill & {V_{g}^{i} } \hfill \\ { \, E_{g}^{j} } \hfill & {N_{g}^{j} } \hfill & {V_{g}^{j} } \hfill \\ { \, E_{g}^{k} } \hfill & {N_{g}^{k} } \hfill &{V_{g}^{k} } \hfill \\ \end{array} } \right| \\ & S_{r \, EN}^{ij} = \, \frac{1}{2}\;\left| {\begin{array}{*{20}l} {E_{r}^{i} } \hfill & {N_{r}^{i} } \hfill \\ {E_{r}^{j} } \hfill & {N_{r}^{j} } \hfill \\ \end{array} } \right|; \quad S_{EV}^{ijk} = \frac{1}{2}\left| {\begin{array}{*{20}l} {E^{ij} } \hfill & {V^{ij} } \hfill \\ {E^{ik} } \hfill & {V^{ik} } \hfill \\ \end{array} } \right|; \quad S_{g \, NV}^{ij} = \frac{1}{2}\left| {\begin{array}{*{20}c} {N_{g}^{i} } & {V_{g}^{i} } \\ {N_{g}^{j} } & {V_{g}^{j} } \\ \end{array} } \right| \\ \end{aligned} $$
(3)

All these surfaces and volumes are unitless because they are all calculated from dimensionless unit vectors.

Also note that the slant surface of the 3D triangle can be obtained from the three projected surfaces \( \left( {S_{{}}^{ijk} } \right)^{2} = \left( {S_{EN}^{ijk} } \right)^{2} + \left( {S_{EV}^{ijk} } \right)^{2} + \left( {S_{NV}^{ijk} } \right)^{2} \) and that \( \left( {S_{v \bot }^{ijk} } \right)^{2} = \left( {S_{EV}^{ijk} } \right)^{2} + \left( {S_{NV}^{ijk} } \right)^{2} \), which is the surface of the 3D triangle projected onto a vertical plane perpendicular (v⊥) to the vertical plane containing the normal to the 3D triangle; the normal to the vertical plane and the normal to the 3D triangle being coplanar. Figure 1 illustrates tetrahedron volumes, triangle surfaces and their projections onto the three orthogonal planes associated with the local coordinate system (East, North and Vertical).

Fig. 1
figure 1

Adapted from Santerre and Geiger (1998)

Tetrahedron volumes, triangle surfaces and their projections onto orthogonal planes.

Because projections onto the three local orthogonal planes will be central to the geometric interpretation of the DOP factors, let us first have a look at the projection of the GPS satellite traces projected onto those planes (Fig. 2). Traditionally, the horizontal sky plots are used with regularly spaced concentric circles representing the elevation (or zenith) angles. In the used projection of the satellite traces (Fig. 2), the space between the elevation angle circles (or lines) is no longer equidistant and the equidistance is different for the vertical planes and the horizontal plane. The 3D GPS satellite trace shape, as seen from user location, is completely revealed with such projections. Similar graphs are presented in “Appendix 1” for equatorial and polar sites.

Fig. 2
figure 2

Projection of GPS satellite traces onto the three local orthogonal planes for 24 h for a mid-latitude site. The yellow stripes represent a 15° elevation mask angle

Let us note that EDOP, NDOP and VDOP factors multiplied by the 1σ (at 68% confidence level) pseudorange precision value (σ p) are the projections onto the three local orthogonal planes centered at the user location of the confidence (or error) ellipsoid calculated with the eigenvalues and the eigenvectors associated with matrix Q of (1), see for example Kaplan and Hegarty (2006). Figure 3 illustrates the EDOP, NDOP and HDOP factors, multiplied by σ p, on the horizontal plane along with the associated (2D) confidence ellipse.

Fig. 3
figure 3

Geometric interpretation of horizontal DOP components

Once the EDOP, NDOP and VDOP values are multiplied by the 1σ pseudorange precision value (σ p), the East, North and Vertical precision at a 1σ level is obtained at a 68% confidence level. The horizontal precision (HDOP × σ p) probability level ranges between 63 and 68%, depending on the ratio between EDOP and NDOP, and the Position precision confidence level (PDOP × σ p) is about 61–68%, again depending on the ratio between EDOP, NDOP and VDOP.

If GPS pseudorange observations were not affected by clock error, the range observations used for positioning would be treated similarly to the trilateration method employed in (2D) land surveying operations (Allan 2007). In this technique, range measurements are obtained from two-way electromagnetic wave transmission from a total station and reflected back from a retroreflector, for example. Related to the trilateration method, Fig. 4 (bottom lines) illustrates the precision of the resulting (2D) position from three range measurements schematically. The stripes represent the range precision (or uncertainty).

Fig. 4
figure 4

Trilateration from three ranges (bottom lines) and hyperbolic positioning from two range differences (top lines)

However, GPS pseudoranges contain receiver clock bias. In this situation, the receiver clock has to be synchronized, usually at every epoch, to the GPS time scale. In other words, GPS positioning cannot be determined by trilateration method. One way to get rid of the receiver clock is to difference pseudoranges between satellites (∇ symbol). Unfortunately, this approach creates artificial mathematical correlation among the resulting ∇p observations which has to be taken into account. In the next sections, solutions without the ∇ operator will be employed to avoid such artificial mathematical correlation. In fact, conventional GPS solution is rather a hyperbolic positioning technique.

Figure 4 (top lines) illustrates the intersection of two hyperbolic lines (in 2D) formed by two pairs of transmitters. In this situation, the satellites are located at the focus of the hyperbolic lines. The dotted lines, linking transmitters (or satellites) 1, 2 and 2, 3, illustrate the baseline connecting the focus. It can be clearly seen, from the intersection of the two hyperbolic lines, that the vertical precision will be worse than the horizontal precision unlike the trilateration solution discussed above, because in the real world, the GPS satellites are only visible above the local horizon. The next sections will present the geometric interpretation of these two totally different positioning concepts.

Mathematical development of the geometry of DOP factors

Let start with the pure trilateration solution using distance observations (Case 1). In this case, the prime symbol () will be used to distinguish this solution from the conventional GPS solution. Then, the conventional GPS positioning solution with pseudorange observations will be presented (Case 2). For both cases, two formulations will be developed: (1) without observation redundancy where the number of satellites (n) equals the number of unknown parameters (u); and (2) for the generalized form where nu. In Case 2, a receiver clock has to be estimated. It is well known that for this type of solution, the GPS height or vertical coordinate precision (VDOP) deteriorates. The geometric formulation will allow visual explanation of this fact among other findings.

Here, the horizontal (East and North) and Vertical components of the receiver-satellite unit vectors are directly used. In real life, the calculation is done in ECEF, and then the DOP factors are properly transformed, in the local coordinate system. The evaluation of the set of Eq. (1) is followed for each case, but the A matrix content is conditioned accordingly.

Case 1: pure trilateration solutions without a receiver clock parameter

In this case, matrix A′ contains only three columns and matrix Q′ is calculated with the adjoint method.

$$ A_{n \times 3}^{\prime } = \left( {\begin{array}{*{20}c} { - E_{r}^{1} } & { - N_{r}^{1} } & { - V_{r}^{1} } \\ { - E_{r}^{2} } & { - N_{r}^{2} } & { - V_{r}^{2} } \\ \ldots & \ldots & \ldots \\ { - E_{r}^{n} } & { - N_{r}^{n} } & { - V_{r}^{n} } \\ \end{array} } \right);\quad N_{3 \times 3}^{\prime } = A^{{\prime {\text{T}}}} A^{\prime } = \left( {\begin{array}{*{20}c} {\sum\limits_{i = 1}^{n} {\left( {E_{r}^{i} } \right)^{2} } } & {\sum\limits_{i = 1}^{n} {E_{r}^{i} N_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {E_{r}^{i} V_{r}^{i} } } \\ {\sum\limits_{i = 1}^{n} {N_{r}^{i} E_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {\left( {N_{r}^{i} } \right)^{2} } } & {\sum\limits_{i = 1}^{n} {N_{r}^{i} V_{r}^{i} } } \\ {\sum\limits_{i = 1}^{n} {V_{r}^{i} E_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {V_{r}^{i} N_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {\left( {V_{r}^{i} } \right)^{2} } } \\ \end{array} } \right);\quad Q_{3 \times 3}^{\prime } = N_{3 \times 3}^{\prime - 1} = \frac{{{\text{Adj}}\left( {N^{\prime } } \right)}}{{{\text{Det}}\left( {N^{\prime } } \right)}} $$
(4)

Equation (4) will be used to calculate the DOP factors without and with observation redundancy.

Situation without redundancy

After several developments and grouping of terms and using italic letters for the DOP factors to stress the fact that the degree of freedom ν = 0, one finally gets:

$$ \begin{aligned} & {\textit{EDOP}}^{\prime 2} = \frac{{\sum\nolimits_{c = 1}^{3} {\left( {S_{r \, NV}^{c:ij} } \right)^{2} } }}{{9 \, \left( {V_{r}^{ijk} } \right)^{2} }};\quad {\textit{NDOP}}^{\prime 2} = \frac{{\sum\nolimits_{c = 1}^{3} {\left( {S_{r \, EV}^{c:ij} } \right)^{2} } }}{{9 \, \left( {V_{r}^{ijk} } \right)^{2} }};\quad {\textit{VDOP}}^{\prime 2} = \frac{{\sum\nolimits_{c = 1}^{3} {\left( {S_{r \, EN}^{c:ij} } \right)^{2} } }}{{9\left( {V_{r}^{ijk} } \right)^{2} }} \\ & {\textit{HDOP}}^{\prime 2} = \frac{{\sum\nolimits_{c = 1}^{3} {\left( {S_{r \, v \bot }^{c:ij} } \right)^{2} } }}{{9 \, \left( {V_{r}^{ijk} } \right)^{2} }};\quad {\textit{PDOP}}^{\prime 2} = \frac{{\sum\nolimits_{c = 1}^{3} {\left( {S_{r \, }^{c:ij} } \right)^{2} } }}{{9 \, \left( {V_{r}^{ijk} } \right)^{2} }} \\ \end{aligned} $$
(5)

where c:ij represents the number of combination of satellite pairs (ij), which is 3 or n(n − 1)/2 among the three satellites. There is only one value associated with \( V_{r}^{ijk} \), that is the number of combination of satellite triad (ijk), which is 1 or n(n − 1) (n − 2)/6 among the three satellites.

Refer to Fig. 1 (top) and to the notation section for the definition of the volume and surfaces being generated by the receiver-satellite unit vectors onto the unit sphere and their associated projected components. Also note that the larger the tetrahedron volume and the smaller the projected surfaces, the smaller will be the DOP values. Note for xDOP the surface is projected on the yz plane. When the EDOP factor, for example, is divided by the tetrahedron volume, this ratio can be seen as a composite of the term 1/Σ(\( E_{r}^{i} \))2, as can be seen in (7) below, for the horizontally symmetrical (hs) satellite distribution.

Generalization without and with redundancy

Following the same steps as above, but managing a larger number of satellites combinations and after several developments and terms grouping, one finally gets:

$$ \begin{aligned} & {\text{EDOP}}^{\prime 2} = \frac{{\sum\nolimits_{c = 1}^{p} {\left( {S_{r \, NV}^{c:ij} } \right)^{2} } }}{{9\sum\nolimits_{c = 1}^{q} {\left( {V_{r}^{c:ijk} } \right)^{2} } }};\quad {\text{NDOP}}^{\prime 2} = \frac{{\sum\nolimits_{c = 1}^{p} {\left( {S_{r \, EV}^{c:ij} } \right)^{2} } }}{{9\sum\nolimits_{c = 1}^{q} {\left( {V_{r}^{c:ijk} } \right)^{2} } }};\quad {\text{VDOP}}^{\prime 2} = \frac{{\sum\nolimits_{c = 1}^{p} {\left( {S_{r \, EN}^{c:ij} } \right)^{2} } }}{{9\sum\nolimits_{c = 1}^{q} {\left( {V_{r}^{c:ijk} } \right)^{2} } }} \\ & {\text{HDOP}}^{\prime 2} = \frac{{\sum\nolimits_{c = 1}^{p} {\left( {S_{r \, v \bot }^{c:ij} } \right)^{2} } }}{{9\sum\nolimits_{c = 1}^{q} {\left( {V_{r}^{c:ijk} } \right)^{2} } }};\quad {\text{PDOP}}^{\prime 2} = \frac{{\sum\nolimits_{c = 1}^{p} {\left( {S_{r \, }^{c:ij} } \right)^{2} } }}{{9\sum\nolimits_{c = 1}^{q} {\left( {V_{r}^{c:ijk} } \right)^{2} } }} \\ \end{aligned} $$
(6)

where c:ij represents the number of combination of satellite pairs (ij), that is p = n(n − 1)/2 among the n satellites, and c:ijk represents the number of combination of satellite triads (ijk), that is q = n(n − 1)(n − 2)/6 among the n satellites.

Horizontally symmetrical (hs) satellite sky distribution

In this ideal situation, where \( \sum\nolimits_{i = 1}^{n} {E_{r}^{i} = 0} \) and \( \sum\nolimits_{i = 1}^{n} {N_{r}^{i} = 0} \), the matrix N′ becomes diagonal and the DOP values simplify to:

$$ \begin{aligned} & {\text{EDOP}}_{\text{hs}}^{\prime 2} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {E_{r \, }^{i} } \right)^{2} } }};\quad {\text{NDOP}}_{\text{hs}}^{\prime 2} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {N_{r \, }^{i} } \right)^{2} } }};\quad {\text{VDOP}}_{\text{hs}}^{\prime 2} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {V_{r \, }^{i} } \right)^{2} } }} \\ & {\text{HDOP}}_{\text{hs}}^{\prime 2} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {E_{r \, }^{i} } \right)^{2} } }} + \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {N_{r \, }^{i} } \right)^{2} } }};\quad {\text{PDOP}}_{\text{hs}}^{\prime 2} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {E_{r \, }^{i} } \right)^{2} } }} + \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {N_{r \, }^{i} } \right)^{2} } }} + \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {V_{r \, }^{i} } \right)^{2} } }} \\ \end{aligned} $$
(7)

Equation (7) is indeed simpler than (6) because horizontally symmetrical satellite sky distribution is assumed.

This ideal situation is often encountered for full satellite constellation and for sites without obstructions. Note that for mid-latitude sites, where there is a lack of satellite in the northern part of the observer’s site (Fig. 2) the term \( \sum\nolimits_{i = 1}^{n} {N_{r}^{i} \ne 0} \), but just slightly different from 0. This situation will be discussed later in detail.

Case 2: conventional GPS solutions with a receiver clock parameter

This is the conventional GPS solution, where a receiver clock parameter has to be estimated along with the three receiver coordinates. The A′ matrix (4, left) is then augmented with a column of −1 elements which is the derivative of the pseudorange with respect to the receiver clock parameter,

$$ \begin{aligned} A_{n \times 4} = \left( {\begin{array}{*{20}c} { - E_{r}^{1} } & { - N_{r}^{1} } & { - V_{r}^{1} } & { - 1} \\ { - E_{r}^{2} } & { - N_{r}^{2} } & { - V_{r}^{2} } & { - 1} \\ \ldots & \ldots & \ldots & \ldots \\ { - E_{r}^{n} } & { - N_{r}^{n} } & { - V_{r}^{n} } & { - 1} \\ \end{array} } \right);\quad N_{4 \times 4} = A^{\text{T}} A = \left( {\begin{array}{*{20}c} {\sum\limits_{i = 1}^{n} {\left( {E_{r}^{i} } \right)^{2} } } & {\sum\limits_{i = 1}^{n} {E_{r}^{i} N_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {E_{r}^{i} V_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {E_{r}^{i} } } \\ {\sum\limits_{i = 1}^{n} {N_{r}^{i} E_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {\left( {N_{r}^{i} } \right)^{2} } } & {\sum\limits_{i = 1}^{n} {N_{r}^{i} V_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {N_{r}^{i} } } \\ {\sum\limits_{i = 1}^{n} {V_{r}^{i} E_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {V_{r}^{i} N_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {\left( {V_{r}^{i} } \right)^{2} } } & {\sum\limits_{i = 1}^{n} {V_{r}^{i} } } \\ {\sum\limits_{i = 1}^{n} {E_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {N_{r}^{i} } } & {\sum\limits_{i = 1}^{n} {V_{r}^{i} } } & n \\ \end{array} } \right) \hfill \\ Q_{4 \times 4} = \, N_{4 \times 4}^{ - 1} = \frac{{{\text{Adj}}\left( N \right)}}{{{\text{Det}}\left( N \right)}} \hfill \\ \end{aligned} $$
(8)

Equation (8) will be used to calculate the DOP factors without and with observation redundancy.

Situation without redundancy

In this case, a Q (4 × 4) matrix has to be inverted analytically, and after tedious terms grouping and using again italic letters for the DOP factors to stress the fact that the degree of freedom ν = 0, one finally gets:

$$ \begin{aligned} & {\textit{EDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{4} {\left( {S_{ \, NV}^{c:ijk} } \right)^{2} } }}{{9 \, \left( {V^{ijkl} } \right)^{2} }};\quad {\textit{NDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{4} {\left( {S_{ \, EV}^{c:ijk} } \right)^{2} } }}{{9 \, \left( {V^{ijkl} } \right)^{2} }};\quad {\textit{VDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{4} {\left( {S_{ \, EN}^{c:ijk} } \right)^{2} } }}{{9 \, \left( {V^{ijkl} } \right)^{2} }};\quad {\textit{TDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{4} {\left( {V_{r}^{c:ijk} } \right)^{2} } }}{{ \, \left( {V^{ijkl} } \right)^{2} }} \\ & {\textit{HDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{4} {\left( {S_{ \, v \bot }^{c:ijk} } \right)^{2} } }}{{9 \, \left( {V^{ijkl} } \right)^{2} }};\quad {\textit{PDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{4} {\left( {S_{ \, }^{c:ijk} } \right)^{2} } }}{{9 \, \left( {V^{ijkl} } \right)^{2} }} \\ \end{aligned} $$
(9)

and

$$ {\textit{GDOP}}^{2} = {\textit{PDOP}}^{2} + {\textit{TDOP}}^{2} ;\quad {\textit{PDOP}}^{2} = \sum\limits_{c = 1}^{4} {\left( {\frac{1}{{f_{ \, c:ijk \, }^{ \, l} }}} \right)^{2} } ;\quad {\textit{TDOP}}^{2} = \sum\limits_{c = 1}^{4} {\left( {\frac{{f_{ \, c:ijk \, }^{r} }}{{f_{ \, c:ijk \, }^{ \, l} }}} \right)^{2} } $$
(10)

where c:ijk, at the numerator of (9), represents the number of combination of satellite triads (ijk), which is 4 or n(n − 1)(n − 2)/6 among the four satellites. There is only one value for V ijkl, that is the number of combinations of satellite quad (ijkl), which is 1 or n(n − 1)(n − 2)(n − 3)/24 among the four satellites.

Refer to Fig. 1 (bottom) and to the notation section for the definition of these volume and surfaces. In (10), the symbol f denotes the height of the tip of unit vector associated with satellite l (or receiver location, r) to the plane formed by the tips of unit vectors associated with satellites i, j and k.

Massatt and Rudnick (1991) already obtained (9) using a different notation which applies only for four satellites. The next subsection is a generalization for n ≥ 4, with observation redundancy. Phillips (1984) already published the PDOP Eq. (10), which again stands only for four satellites. We derived the equivalent Eq. (10) for the TDOP factor. As stressed by Phillips (1984), indeed the PDOP factor is not just inversely proportional to the volume of the tetrahedron linking the tips of the four receiver-satellite unit vectors.

In Case 2, the surfaces and the volumes are being generated by the satellite-to-satellite vectors onto the unit sphere and their associated projected components (Fig. 1, bottom). It is interesting to note that the TDOP numerator is a function of the volume of the tetrahedrons having as an apex, the receiver (r). This is the link between Case 1 (without a receiver clock parameter) and Case 2 (with a receiver clock parameter).

Generalization without and with redundancy

Again, the inversion of a Q (4 × 4) matrix has to be calculated analytically and dealing with a larger number of satellites combinations. After a lengthy development and terms grouping, one finally gets the generalized geometric formulation of the conventional DOP values:

$$ \begin{aligned} & {\text{EDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{q} {\left( {S_{ \, NV}^{c:ijk} } \right)^{2} } }}{{9 \, \sum\nolimits_{c = 1}^{s} {\left( {V^{c:ijkl} } \right)^{2} } }};\quad {\text{NDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{q} {\left( {S_{ \, EV}^{c:ijk} } \right)^{2} } }}{{9 \, \sum\nolimits_{c = 1}^{s} {\left( {V^{c:ijkl} } \right)^{2} } }};\quad {\text{VDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{q} {\left( {S_{ \, EN}^{c:ijk} } \right)^{2} } }}{{9 \, \sum\nolimits_{c = 1}^{s} {\left( {V^{c:ijkl} } \right)^{2} } }};\quad {\text{TDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{q} {\left( {V_{r}^{c:ijk} } \right)^{2} } }}{{ \, \sum\nolimits_{c = 1}^{s} {\left( {V^{c:ijkl} } \right)^{2} } }};\quad {\text{HDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{q} {\left( {S_{ \, v \bot }^{c:ijk} } \right)^{2} } }}{{9 \, \sum\nolimits_{c = 1}^{s} {\left( {V^{c:ijkl} } \right)^{2} } }};\quad {\text{PDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{q} {\left( {S^{c:ijk} } \right)^{2} } }}{{9 \, \sum\nolimits_{c = 1}^{s} {\left( {V^{c:ijkl} } \right)^{2} } }} \\ \end{aligned} $$
(11)

where c:ijk represents the number of combination of satellite triads (ijk), that is q = n(n − 1)(n − 2)/6 among the n satellites, and c:ijkl represents the number of combination of satellite quads (ijkl), that is s = n(n − 1)(n − 2)(n − 3)/24 among the n satellites.

Unfortunately, with this formulation, this is not possible to directly compare the DOP factors (11) with the DOP factors (6) because their number of combinations is not the same for a given number of satellites (n). To do so, some matrix manipulation has to be done.

Noticing that \( N_{3 \times 3}^{\prime } \)(4, center) is part of the upper left hypermatrix N 4×4 (8, center) and rewriting \( \sum\nolimits_{i = 1}^{n} {E_{r}^{i} } = n\bar{E}_{r} \), and similarly for the N and V components; where \( \bar{e}_{r}^{\text{T}} = \left( {\begin{array}{*{20}c} {\bar{E}_{r} ,} & {\bar{N}_{r} ,} & {\bar{V}_{r} } \\ \end{array} } \right) \) which is the average of the receiver-satellite unit vectors at a given epoch. Accordingly, the hypermatrix N can be reformulated as:

$$ N_{4 \times 4} = \left( {\begin{array}{*{20}c} {N_{3 \times 3}^{\prime } } & {n^{{}} \bar{e}_{r \, 3 \times 1} } \\ {n^{{}} \bar{e}_{r \, 1 \times 3}^{\text{T}} } & n \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} {N_{3 \times 3}^{11} } & {N_{3 \times 1}^{12} } \\ {N_{1 \times 3}^{21} } & {N_{1 \times 1}^{22} } \\ \end{array} } \right) $$
(12)

In (12), the indexes (12, for example) are used to identify the submatrices part of the hypermatrix N.

Matrix inversion partitioning allows reformulating the upper left (3 × 3) submatrix of Q, as follows:

$$ Q_{3 \times 3}^{11} = \, \left( {N_{3 \times 3}^{\prime } - N_{3 \times 1}^{12} N_{1 \times 1}^{22} N_{1 \times 3}^{21} } \right)^{ - 1} = \left( {\begin{array}{*{20}c} {\sum\limits_{i = 1}^{n} {\left( {E_{r}^{i} } \right)^{2} - n\left( {\bar{E}_{r}^{{}} } \right)^{2} } } & {\sum\limits_{i = 1}^{n} {E_{r}^{i} N_{r}^{i} - n\bar{E}_{r}^{{}} \bar{N}_{r}^{{}} } } & {\sum\limits_{i = 1}^{n} {E_{r}^{i} V_{r}^{i} - n\bar{E}_{r}^{{}} \bar{V}_{r}^{{}} } } \\ {\sum\limits_{i = 1}^{n} {N_{r}^{i} E_{r}^{i} - n\bar{N}_{r}^{{}} \bar{E}_{r}^{{}} } } & {\sum\limits_{i = 1}^{n} {\left( {N_{r}^{i} } \right)^{2} - n\left( {\bar{N}_{r}^{{}} } \right)^{2} } } & {\sum\limits_{i = 1}^{n} {N_{r}^{i} V_{r}^{i} - n\bar{N}_{r}^{{}} \bar{V}_{r}^{{}} } } \\ {\sum\limits_{i = 1}^{n} {V_{r}^{i} E_{r}^{i} - n\bar{V}_{r}^{{}} \bar{E}_{r}^{{}} } } & {\sum\limits_{i = 1}^{n} {V_{r}^{i} N_{r}^{i} - n\bar{V}_{r}^{{}} \bar{N}_{r}^{{}} } } & {\sum\limits_{i = 1}^{n} {\left( {V_{r}^{i} } \right)^{2} - n\left( {\bar{V}_{r}^{{}} } \right)^{2} } } \\ \end{array} } \right)^{ - 1} $$
(13)

which is equivalent to re-calculate \( N^{\prime - 1} = Q_{3 \times 3}^{\prime } \) by substituting \( \vec{e}_{r}^{i} \) by \( {\vec{\text{e}}}_{\text{g}}^{i} \), where \( \vec{e}_{g}^{i} = \vec{e}_{r}^{i} - \bar{e}_{r}^{{}} \) or \( E_{g}^{i} = E_{r}^{i} - \bar{E}_{r}^{{}} \), \( N_{g}^{i} = N_{r}^{i} - \bar{N}_{r}^{{}} \) and \( V_{g}^{i} = V_{r}^{i} - \bar{V}_{r}^{{}} \). In fact, the vector \( \bar{e}_{r}^{T} = \left( {\begin{array}{*{20}c} {\bar{E}_{r} ,} & {\bar{N}_{r} ,} & {\bar{V}_{r} } \\ \end{array} } \right) \) is the coordinates of point g (Fig. 1, top).

Lee (1975) already introduced this approach to take into account the receiver clock parameter, i.e., the clock synchronization, without the use of the difference between observations in order to avoid artificial mathematical correlation. However, the geometric interpretation of the DOP factor with this approach was not presented.

Completing the development, it can be proven, without any approximation, that:

$$ \begin{aligned} & \sum\limits_{c = 1}^{p} {\left( {E^{c:ij} } \right)^{2} } = n\sum\limits_{i = 1}^{n} {\left( {E_{g}^{i} } \right)^{2} } ;\quad \quad \sum\limits_{i = 1}^{n} {\left( {E_{g}^{i} } \right)^{2} } = \sum\limits_{i = 1}^{n} {\left( {E_{r}^{i} } \right)^{2} } - n \, \bar{E}_{r}^{2} \\ & \sum\limits_{c = 1}^{q} {\left( {S_{NV}^{c:ijk} } \right)^{2} } = n\sum\limits_{c = 1}^{p} {\left( {S_{g \, NV}^{c:ij} } \right)^{2} } \\ & \sum\limits_{c = 1}^{s} {\left( {V^{c:ijkl} } \right)^{2} } = n\sum\limits_{c = 1}^{q} {\left( {V_{g}^{c:ijk} } \right)^{2} } \\ \end{aligned} $$
(14)

It is important to note the factor n in the right parts of (14). The first line of (14) can also be written similarly for N and V components and the second line of (14) can also be written similarly for the EV and the EN projections.

These important relations (14) allow rewriting and simplifying rigorously without approximation the DOP values previously obtained in (11), as:

$$ \begin{aligned} & {\text{EDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{p} {\left( {S_{g \, NV}^{c:ij} } \right)^{2} } }}{{9\sum\nolimits_{c = 1}^{q} {\left( {V_{g}^{c:ijk} } \right)^{2} } }};\quad {\text{NDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{p} {\left( {S_{g \, EV}^{c:ij} } \right)^{2} } }}{{9\sum\nolimits_{c = 1}^{q} {\left( {V_{g}^{c:ijk} } \right)^{2} } }};\quad {\text{VDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{p} {\left( {S_{g \, EN}^{c:ij} } \right)^{2} } }}{{9\sum\nolimits_{c = 1}^{q} {\left( {V_{g}^{c:ijk} } \right)^{2} } }} \\ & {\text{TDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{q} {\left( {V_{r}^{c:ijk} } \right)^{2} } }}{{ \, n\sum\nolimits_{c = 1}^{q} {\left( {V_{g}^{c:ijk} } \right)^{2} } }};\quad {\text{HDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{p} {\left( {S_{g \, v \bot }^{c:ij} } \right)^{2} } }}{{9\sum\nolimits_{c = 1}^{q} {\left( {V_{g}^{c:ijk} } \right)^{2} } }};\quad {\text{PDOP}}^{2} = \frac{{\sum\nolimits_{c = 1}^{p} {\left( {S_{g \, }^{c:ij} } \right)^{2} } }}{{9\sum\nolimits_{c = 1}^{q} {\left( {V_{g}^{c:ijk} } \right)^{2} } }} \\ \end{aligned} $$
(15)

Indeed, these DOP expressions are easier to compare with the DOP expressions (6) because they have now the same number of combinations in the summation operators. Note the factor n in the denominator of the TDOP equation in (15), and note that the TDOP factor is function of both \( V_{r}^{ijk} \) and \( V_{g}^{ijk} \) volumes with apex r and g, respectively.

The fundamental difference between the geometric DOP factor Eq. (6) and the geometric DOP factor Eq. (15) is the origin of the formation of the volume and projected surfaces. For the first one, it is the receiver location (r), and for the second one, the origin is located at the tip of the average receiver-satellite unit vectors, i.e., the coordinates of point g, at a given epoch. See Fig. 1 (top) to visualize this fundamental distinction.

To appreciate the importance of the average unit vectors, Table 1 summarizes the values of the average unit vector, as well as their variability calculated as the standard deviation around the daily average for a complete day, for three locations with different elevation mask angles for the GPS constellation. Figure 5 is a time series example for 24 h calculated every 5 min for a mid-latitude site.

Table 1 Average unit vector and standard deviation around the daily average calculated at every 5 min for 24 h
Fig. 5
figure 5

Example of average unit vector for GPS constellation. Site latitude 45°, elevation mask angle 10°

The North and East components of the average unit vector do not depart much from 0 from epoch to epoch, but this is not the case for the vertical component of the average unit vector. This latter value can be as large as 0.5–0.6 for a 10° elevation mask angle, and it never gets below 0.4 for a 0° elevation mask angle.

Figure 6 presents an example which geometrically illustrates the different approaches for the geometric interpretation of the DOP() factors for four satellites. The upper right part is for an elevation angle of 10°, instead of 20° for the three other parts for the three lowest satellites. The fourth satellite is always at the zenith. In this simulation, the projected triangles are colored to illustrate the impact of their surface on the DOP() values. The summation values for their volumes and projected surfaces, see 6, 11 and 15, are also indicated below each graph along with the resulting DOP() values.

Fig. 6
figure 6

Surface and volume representations for a 10° elevation mask angle, and a 20° elevation mask angle with and without receiver clock parameter. Note that in equations ΣV 2 below some of the graphs, the V is the tetrahedron volume, not to be confused with the vertical vector component

Comparing the two upper parts of Fig. 6, which have different mask angle, the summation of the S EN squared value changes from 1.8 to 2.1, but the value of (\( V_{r}^{123} \))2 almost doubles, so the VDOP gets smaller (from 1.8 to 1.4). Also note the \( \bar{V}_{r} \) value changed from 0.5 to 0.4. The summation of the S NV (and S EV ) squared value changed almost in the same proportion as the (\( V_{r}^{123} \))2 value, so the EDOP and NDOP values just changed slightly.

The lower left part of Fig. 6 illustrates the same situation as the upper left part for a 20° mask angle with an estimated clock parameter. Note that all summations (lower left) multiplied by n (= 4) are equal to the corresponding summations of the upper left part (see 14), and as expected, they give the same DOP values. But, as mentioned above, the number of combinations of satellite pairs and triads is directly comparable to the case without an estimated clock parameter (lower right part of Fig. 6). As already explained, this is just the origin or one of the apexes of the triangles and the tetrahedron that moves from point g (which is the average unit vector location) to point r (which is the receiver location), a small distinction that makes an important impact on the DOP values.

Comparing the solution with a clock parameter on the left lower part and the solution without a clock parameter on the right lower part, one sees that the tetrahedron volume and the triangle surfaces in the EV and NV planes connecting the g point to the tips of the receiver-satellite unit vector are smaller than the one formed with respect to the r point (receiver) as the origin. However, their respective ratios, see 15 and 6, provide the same EDOP() and NDOP() values. The situation is very different for the VDOP() factors. In fact, the triangle surfaces in the EN plane remain the same and because (\( V_{g}^{123} \))2 is four times smaller than (\( V_{r}^{123} \))2, the VDOP value improved by a factor of 2, indeed, a very significant improvement.

Horizontally symmetrical (hs) satellite sky distribution

In this ideal situation, where \( \sum\nolimits_{i = 1}^{n} {E_{r}^{i} = 0} \) and \( \sum\nolimits_{i = 1}^{n} {N_{r}^{i} = 0} \), matrix \( Q_{3 \times 3}^{11} \) becomes diagonal and the DOP values simplify to:

$$ \begin{aligned} & {\text{EDOP}}_{\text{hs}}^{2} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {E_{g \, }^{i} } \right)^{2} } }} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {E_{r \, }^{i} } \right)^{2} } }} = {\text{EDOP}}_{\text{hs}}^{\prime 2} ;\quad {\text{NDOP}}_{\text{hs}}^{2} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {N_{g \, }^{i} } \right)^{2} } }} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {N_{r \, }^{i} } \right)^{2} } }} = {\text{NDOP}}_{\text{hs}}^{\prime 2} \\ & {\text{VDOP}}_{\text{hs}}^{2} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {V_{g \, }^{i} } \right)^{2} } }};\quad \quad \quad \quad \quad \quad \quad \quad \quad \quad {\text{TDOP}}_{\text{hs}}^{2} = \frac{{\sum\nolimits_{i = 1}^{n} {\left( {V_{r \, }^{i} } \right)^{2} } }}{{n\sum\nolimits_{i = 1}^{n} {\left( {V_{g \, }^{i} } \right)^{2} } }} \\ & {\text{HDOP}}_{\text{hs}}^{2} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {E_{r \, }^{i} } \right)^{2} } }} + \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {N_{r \, }^{i} } \right)^{2} } }} = {\text{HDOP}}_{\text{hs}}^{\prime 2} ;\quad {\text{PDOP}}_{\text{hs}}^{2} = \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {E_{r \, }^{i} } \right)^{2} } }} + \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {N_{r \, }^{i} } \right)^{2} } }} + \frac{1}{{\sum\nolimits_{i = 1}^{n} {\left( {V_{g \, }^{i} } \right)^{2} } }} \\ \end{aligned} $$
(16)

Equation (16) is indeed simpler than (15) because horizontally symmetrical satellite sky distribution is assumed.

This ideal situation is largely respected for a full constellation and for open sky sites as this can be seen in Fig. 7 and presented later with more discussions, even for a mid-latitude site, where a shadow area is present in the northern part of the observer’s sky.

Fig. 7
figure 7

East, North and Vertical DOP values with and without clock parameter estimation for site latitude of 0° (top), 45° (middle) and 90° (bottom) for a 10° elevation mask angle

Now, comparing \( {\text{VDOP}}_{\text{hs}}^{2} = 1/\sum\nolimits_{i = 1}^{n} {\left( {V_{g \, }^{i} } \right)^{2} } \) from (16) to \( {\text{VDOP}}_{\text{hs}}^{\prime 2} = 1/\sum\nolimits_{i = 1}^{n} {\left( {{\text{V}}_{\text{r }}^{\text{i}} } \right)^{2} } \) from (7), because the span of \( V_{g \, }^{i} \) is twice smaller than the span of \( V_{r}^{i} \) (\( \bar{V}_{r} \) is about 0.5), the VDOP value gets twice larger than the VDOP value. Moreover, because the span of \( {\textit{E}}_{\textit{g}}^{\textit{i}} \) (\( N_{g}^{i} \)) is comparable to \( E_{r}^{i} \) (\( N_{r}^{i} \)), one obtains EDOP = EDOP and NDOP = NDOP. Furthermore, the span of \( E_{g}^{i} \)(\( E_{r}^{i} \)) is similar to the span of \( N_{g}^{i} \) (\( N_{r}^{i} \)), and this gives that EDOP = NDOP = NDOP = EDOP. For the case without clock parameter, because the span of \( V_{r}^{i} \) is about the same as \( E_{r}^{i} \)(\( N_{r}^{i} \)), the VDOP value is about the same as the EDOP and NDOP values.

Furthermore, for this ideal situation (hs), the following relations also hold,

$$ \begin{array}{*{20}l} {{\text{VDOP}}_{\text{hs}}^{2} = \frac{{{\text{VDOP}}_{\text{hs}}^{\prime 2} }}{{\left( {1 - n \, \bar{V}_{r}^{2} {\text{VDOP}}_{\text{hs}}^{{\prime^{2} }} } \right)}}\quad {\text{or}}\quad {\text{VDOP}}_{\text{hs}}^{\prime 2} = \frac{{{\text{VDOP}}_{\text{hs}}^{2} }}{{\left( {1 + n \, \bar{V}_{r}^{2} {\text{VDOP}}_{\text{hs}}^{2} } \right)}}} \hfill \\ {{\text{VDOP}}_{\text{hs}}^{ - 2} = {\text{VDOP}}_{\text{hs}}^{\prime - 2} - n \, \bar{V}_{r}^{2} \quad {\text{ or}}\quad {\text{VDOP}}_{\text{hs}}^{{\prime^{ - 2} }} = {\text{VDOP}}_{\text{hs}}^{ - 2} + n \, \bar{V}_{r}^{2} } \hfill \\ {{\text{VDOP}}_{\text{hs}}^{2} = n{\text{ TDOP}}_{\text{hs}}^{2} {\text{ VDOP}}_{\text{hs}}^{\prime 2} \quad {\text{or}}\quad {\text{VDOP}}_{\text{hs}}^{\prime 2} = \frac{{{\text{VDOP}}_{\text{hs}}^{2} }}{{n{\text{ TDOP}}_{\text{hs}}^{2} }}} \hfill \\ {\frac{{{\text{VDOP}}_{\text{hs}}^{2} }}{{{\text{VDOP}}_{\text{hs}}^{{\prime^{2} }} }} = \, n{\text{ TDOP}}_{\text{hs}}^{2} = \left( {1 + n \, \bar{V}_{r}^{2} {\text{VDOP}}_{\text{hs}}^{2} } \right) = \frac{1}{{ \, \left( {1 - n \, \bar{V}_{r}^{2} {\text{VDOP}}_{\text{hs}}^{{\prime^{2} }} } \right)}}} \hfill \\ {{\text{TDOP}}_{\text{hs}}^{2} = \frac{1}{{n \, \left( {1 - n \, \bar{V}_{r}^{2} {\text{VDOP}}_{\text{hs}}^{{\prime^{2} }} } \right)}};\quad {\text{TDOP}}_{\text{hs}}^{ - 2} = n \, \left( {1 - n \, \bar{V}_{r}^{2} {\text{VDOP}}_{\text{hs}}^{{\prime^{2} }} } \right);\quad {\text{TDOP}}_{\text{hs}}^{2} = \frac{1}{n} \, + \, \bar{V}_{r}^{2} {\text{VDOP}}_{\text{hs}}^{2} } \hfill \\ \end{array} $$
(17)

Equations (17) show the close relationships between VDOP, VDOP and TDOP factors.

Now, let us have a look at the situation when \( \bar{V}_{r} \) is equal to 0. As seen from (17, line 2), the VDOP value will be equal to VDOP. This situation can be achieved with the addition of terrestrial transmitters such as pseudolites or signals of opportunity located below the user’s horizon, see for example Morales et al. (2016), Montillet et al. (2014) and Meng et al. (2004). In this continuation, let us imagine a transparent earth to the GPS signals. What would happen to the DOP() values? “Appendix 2” presents the results for this hypothetical situation.

Indeed, the addition of terrestrial sources, at and below the user’s horizon, is another approach to improve GPS VDOP factors even if a receiver clock parameter has to be estimated. The other approaches to improve VDOP factors are the constraint of receiver clock (Weinbach and Schön 2011) and the calibration of cable biases for connected antennas to a single receiver in relative mode (Macias-Valadez et al. 2012). Note that the combination of both approaches, which are the use of additional terrestrial sources or the receiver clock parameter elimination, does not significantly further improve the VDOP value than the case when each approach is implemented separately. In other words, when \( \bar{V}_{r} \) = 0, VDOP = VDOP (see 17). This fact can also be seen from Fig. 11.

Furthermore, if \( \bar{V}_{r} \) is equal to 0, \( {\text{TDOP}}^{ 2} = \frac{ 1}{n} \) (see 17, line 5), i.e., the TDOP factor becomes just a function of the number of observed satellites (n). Figure 7 presents the East, North and Vertical DOP time series with and without an estimated clock parameter for site latitudes of 0°, 45° and 90°, for a 10° elevation mask angle and for 24 h calculated at every 5 min. The average values and their associated standard deviation are reported in the legend. Also note that the vertical scale of the polar site graph is twice the size of the two other graphs.

Here, the emphasis is given on the geometric loss when a receiver clock parameter has to be estimated. In other words, this can be seen as the position gain if the clock parameter could be eliminated (at least in relative positioning, e.g., Macias-Valadez et al. 2012) or constrained (Weinbach and Schön 2011). These two studies will be discussed in detail later. From Fig. 7, one can see that the horizontal (E and N) DOPs do not change significantly. For the mid-latitude site, the NDOP slightly improves and the NDOP value is larger, compared to the two other latitude sites, due to the lack of GPS satellites in the northern part of the observer’s site. The standard deviation of the horizontal DOPs for the polar site is smaller because the satellite sky distribution is more homogenous, see bottom figure in “Appendix 1.” However, the improvement is really important for the vertical component which is better by a factor of 3 to 4. The VDOP variability is also largely reduced, e.g., note the smoothness of the VDOP curves. When comparing the values between different site latitudes, keep in mind that the average number of satellites is slightly larger for the polar site (10.5) compared to 8.7 for the mid-latitude site and 10.0 for the equatorial site.

Let us note that the same geometric interpretation of the DOP factors is also applicable for GPS velocity DOP factors because both types of solutions have the same design matrix, such as:

$$ \frac{{\partial \dot{\rho }}}{{\partial \dot{X}}} = \frac{\partial \rho }{\partial X} = - e_{X} ;\quad \frac{{\partial \dot{\rho }}}{{\partial \dot{Y}}} = \frac{\partial \rho }{\partial Y} = - e_{Y} ;\quad \frac{{\partial \dot{\rho }}}{{\partial \dot{Z}}} = \frac{\partial \rho }{\partial Z} = - e_{Z} ;\quad \frac{{\partial \dot{\rho }}}{{c\partial {\text{d}}\dot{T}}} = \frac{\partial \rho }{{c\partial {\text{d}}T}} = - 1 $$
(18)

where \( \dot{X},\dot{Y},\dot{Z} \) are the receiver velocity components and \( {\text{d}}\dot{T} \) is the receiver clock drift.

Geometry of satellite outage

More attention has to be paid to matrix Q (4 × 4) of Eq. (8) which stands for the solution with a receiver clock parameter, to analyze its potential singularity. Matrix Q can be partitioned to emphasis its relation to matrix Q′ (3 × 3), from the solution without the estimation of a clock parameter (4). Copps (1984) already presents such a development. Here, the interpretation of the results is made from a geometric point of view.

The partition of matrix Q (8) can be made as follows:

$$ Q_{4 \times 4} = N_{4 \times 4}^{ - 1} = \left( {\begin{array}{*{20}c} {N_{3 \times 3}^{11} } & {N_{3 \times 1}^{12} } \\ {N_{1 \times 3}^{21} } & {N_{1 \times 1}^{22} } \\ \end{array} } \right)^{ - 1} = \left( {\begin{array}{*{20}c} {Q_{3 \times 3}^{11} } & {Q_{3 \times 1}^{12} } \\ {Q_{1 \times 3}^{21} } & {Q_{1 \times 1}^{22} } \\ \end{array} } \right) $$
(19)
$$ Q_{4 \times 4} = \left( {\begin{array}{*{20}c} {Q^{\prime } + \frac{{n^{2} }}{\beta }\left( {Q^{\prime } \bar{e}_{r}^{{}} \bar{e}_{r}^{\text{T}} Q^{\prime } } \right)} & { - \frac{n}{\beta }\left( {Q^{\prime } \bar{e}_{r}^{{}} } \right)} \\ { - \frac{n}{\beta }\left( {\bar{e}_{r}^{\text{T}} Q^{\prime } } \right)} & {\frac{1}{\beta }} \\ \end{array} } \right) $$
(20)

where

$$ \beta = n - n^{2} \left( { \, \bar{e}_{r}^{\text{T}} Q^{\prime } \bar{e}_{r}^{{}} } \right) $$
(21)
$$ {\text{TDOP}}^{2} = \frac{1}{\beta } $$
(22)

which will allow the geometric interpretation of GPS satellite outage.

The term \( \frac{{n^{2} }}{\beta }\left( { \, Q^{\prime } \bar{e}_{r}^{{}} \bar{e}_{r}^{\text{T}} Q^{\prime } } \right) \) represents the penalty to have to estimate a receiver clock parameter. The other way around, this can be seen as the gain if the receiver clock parameter can be removed from the conventional GPS positioning solution.

The resultant vector \( Q^{\prime } \bar{e}_{r} \)(3 × 1), also present in the scalar β (21), especially deserves a detailed analysis,

$$ Q^{\prime } \bar{e}_{r} = \left( {\begin{array}{*{20}c} {\bar{E}_{r} \, Q^{\prime } (1,1) + \bar{N}_{r} \, Q^{\prime } (2,1) + \bar{V}_{r} \, Q^{\prime } (3,1)} \\ {\bar{E}_{r} \, Q^{\prime } (1,2) + \bar{N}_{r} \, Q^{\prime } (2,2) + \bar{V}_{r} \, Q^{\prime } (3,2)} \\ {\bar{E}_{r} \, Q^{\prime } (1,3) + \bar{N}_{r} \, Q^{\prime } (2,3) + \bar{V}_{r} \, Q^{\prime } (3,3)} \\ \end{array} } \right) $$
(23)

In fact, this is the projection of the first, the second and the third columns of the Q matrix on the average receiver-satellite unit vector. After Copps (1984), this is the direction where the singularity can happen. According to Leick et al. (2015, p. 302), as the constellation observed and the satellites approach critical configuration, the DOP values increase, and the resulting positioning solution becomes ill conditioned.

The singularity happens where β = 0, note that β is contained in the numerator of all DOPs equation, or when:

$$ \bar{e}_{r}^{\text{T}} Q^{\prime } \bar{e}_{r} = \frac{1}{n} $$
(24)

where n is the number of satellites.

In this situation, the direction of the vector \( Q^{\prime } \bar{e}_{r} \) corresponds to the principal axis of a singularity cone (Fig. 8). The intersection of this cone with the unit sphere defines a small circle where all the receiver-satellite unit vector tips end. The aperture angle of the cone, or the angle between the cone principle axis and each receiver-satellite unit vector, is given by:

$$ \kappa = \arccos \frac{1}{{n \, \left\| {Q^{\prime } \bar{e}_{r} } \right\|}} $$
(25)
Fig. 8
figure 8

Singularity cone and satellite outage

The singularity cone is also illustrated in Fig. 8.

On a stereographic satellite sky plot, the circle shape will be kept (Wunderlich 1998; Antonopoulos 2003). In a vertical plane, containing the cone principal axis, the circle will be projected into a straight line (Fig. 9).

Fig. 9
figure 9

Projections of a singularity cone

As seen in Fig. 8, \( V_{g}^{ijk} \) = 0, because the vectors \( \vec{e}_{g}^{i} = \vec{e}_{r}^{i} - \bar{e}_{r}^{{}} \) lie in a single plane which is the base of the cone formed by the tip of receiver-satellite unit vectors, i.e., the cone’s principal axis being perpendicular to the cone base. The cross-product of every pair of vectors (\( \vec{e}_{g}^{i} ,\vec{e}_{g}^{j} \)) also gives the direction of the cone’s principal axis. Note that \( V_{r}^{ijk} \) can also be equal to zero when the receiver-satellite unit vector tips lay in a great circle forming a plane with the receiver position. Indeed, in Fig. 9, note that the DOP values remain very small because the tips of the receiver-satellite unit vectors are not laying on a great circle. The red star in the figure represents the intersection of the cone’s principal axis with the unit sphere. Figure 9 is a situation that can happen, for example in urban canyons, even with a complete GPS constellation.

Receiver clock parameter constraint

In conventional GPS kinematic mode, three new coordinates and one receiver clock parameter are estimated each epoch. Matrices A and N for two epochs, t 1 and t 2 with n 1 and n 2 satellites, respectively, are presented in the following equations:

$$ A_{(n1 + n2) \times 8}^{{2{\text{ Ep}}}} = \left( {\begin{array}{*{20}c} {\begin{array}{*{20}c} {} & {} & {} & { - 1\;0} \\ {} & {A_{n1 \times 3}^{\prime t1} } & {0_{n2 \times 3} } & { - 1\;0} \\ {} & {} & {} & \ldots \\ {} & {} & {} & { - 1\;0} \\ \end{array} } \\ {\begin{array}{*{20}c} {} & {} & {} & { \, 0\; - 1} \\ {} & {0_{n1 \times 3} } & {A_{n2 \times 3}^{\prime t2} } & { \, 0\; - 1} \\ {} & {} & {} & \ldots \\ {} & {} & {} & { \, 0\; - 1} \\ \end{array} } \\ \end{array} } \right);\,N_{8 \times 8}^{{2{\text{ Ep}}}} = \left( {\begin{array}{*{20}c} {N_{3 \times 3}^{\prime t1} } & {0_{3 \times 3} } & {n1 \, \bar{e}_{1 \times 3}^{t1} } & {0_{1 \times 3} } \\ {0_{3 \times 3} } & {N_{3 \times 3}^{\prime t2} } & {0_{1 \times 3} } & {n2 \, \bar{e}_{1 \times 3}^{t2} } \\ {n1 \, {\bar{e}_{1 \times 3}^{t1}}}^{T} & 0 & {n1} & 0 \\ 0 & {n2 \, {\bar{e}_{1 \times 3}^{t2}}}^{T} & 0 & {n2} \\ \end{array} } \right) $$
(26)

Generalization for more than two epochs (n E) can be constructed with the same scheme.

As suggested by Weinbach and Schön (2011), if the clock parameters can be constrained and only one common receiver clock parameter is estimated for the two epochs, the design matrix A and matrix N look like:

$$ A_{(n1 + n2) \times 7}^{{2{\text{ Ep}}, \, 1{\text{clk}}}} = \left( {\begin{array}{l} {\begin{array}{llll} {} & {} & {} & {{ - }1 \, } \\ {} & {A_{n1 \times 3}^{\prime t1} } & {0_{n2 \times 3}^{{}} } & { \, - 1 \, } \\ {} & {} & {} & \ldots \\ {} & {} & {} & { \, - 1 \, } \\ \end{array} } \\ {\begin{array}{llll} {} & {} & {} & { - 1} \\ {} & {0_{n1 \times 3}^{{}} } & {A_{n2 \times 3}^{\prime t2} } & { - 1} \\ {} & {} & {} & \ldots \\ {} & {} & {} & { - 1} \\ \end{array} } \\ \end{array} } \right);\,\,\ N_{7 \times 7}^{{2{\text{ Ep}}, \, 1{\text{clk}}}} = \left( {\begin{array}{llll} {N_{3 \times 3}^{\prime t1} } & {0_{3 \times 3} } & {n1 \, \bar{e}_{1 \times 3}^{t1} } \\ {0_{3 \times 3} } & {N_{3 \times 3}^{\prime t2} } & {n2 \, \bar{e}_{1 \times 3}^{t2} } \\ {n1 \, {\bar{e}_{1 \times 3}^{t1}}}^{T} & {n2 \, {\bar{e}_{1 \times 3}^{t2}}}^{T} & {n1 + n2} \\ \end{array} } \right) $$
(27)

In fact, partitioning the inversion of matrix \( \left( {{\text{N}}^{{ 2 {\text{ Ep, 1clk}}}} } \right)^{ - 1} = {\text{Q}}^{{ 2 {\text{ Ep, 1clk}}}} \) allows linking the positioning solution with one receiver clock parameter estimated at each epoch \( Q^{{2{\text{ Ep}}}} = \left( {N^{{2{\text{ Ep}}}} } \right)^{ - 1} \). The same demonstration stands for any number of epochs (n E). Note that the epoch-wise solution (8) will give the same results, at each epoch, then the inversion of \( {\text{Q}}^{{ 2 {\text{ Ep}}}} = \left( {{\text{N}}^{{ 2 {\text{ Ep}}}} } \right)^{ - 1} \) from (26).

For proof of concept simplification, let us assume that the number of satellites (n) associated with each epoch is equal and that the coordinate DOPs at epoch 1 equal those of epoch 2 and \( \bar{V}_{t1} \) = \( \bar{V}_{t2} \), which are fair assumptions because the number of regrouped epochs is small and of short time duration. Furthermore, considering that the satellite distribution is horizontally symmetrical, i.e., \( \bar{E}_{r} \) = 0 and \( \bar{N}_{r} \) = 0, then, for n E epochs, under the above assumptions, there is no change for EDOP and NDOP values, but the TDOP and VDOP values become smaller according to the following equations:

$$ {\text{TDOP}}_{\text{WS}}^{2} = \frac{ 1}{{n_{\text{E}} }}{\text{ TDOP}}^{ 2} $$
(28)
$$ {\text{VDOP}}_{\text{WS}}^{ 2} = \left( 1 - \frac{ 1}{n_{\text{E}} } \right){\text{ VDOP}}^{\prime 2} + \frac{ 1}{n_{\text{E}} }{\text{VDOP}}^{ 2} $$
(29)

where n E is the number of epochs where the receiver clock parameter is assumed to be constant and WS is the index associated with the Weinbach and Schön (WS) approach.

As shown in Table 2, as the number of epochs (n E) increases, the VDOPWS value approaches the VDOP value, i.e., the solution without receiver clock parameter. However, as mentioned by Weinbach (2013, p. 65), this approach creates a mathematical correlation between the vertical coordinate estimation between epochs.

Table 2 Coefficients of the weighted average of the VDOP factors for the WS approach as a function of the number of epochs

The VDOP improvement due to the WS approach is not perceptible at all for static positioning as explained and noticed in Weinbach (2013, p. 64) and Santerre (1991). Under the same preceding assumptions, the DOP factors associated with the coordinates remain the same if one clock parameter per epoch, which is equivalent to double difference processing, or if only one clock parameter is estimated for the whole static session. Of course, when there is no clock parameter estimated, the VDOP value improves in the same proportion in static mode as for kinematic mode as demonstrated in Santerre and Beutler (1993).

The WS approach combined with the calibration prototype realized by Macias-Valadez et al. (2012) to get rid of the receiver clock parameter will be the perfect match to improve the vertical GPS relative positioning in real situation. In fact, the WS approach would be used to absorb any uncalibrated electronic delay which can slowly vary with time or with temperature. In the proposed method and the prototype developed by Macias-Valadez et al. (2012), the receiver clock parameter is eliminated because antennas are connected to the same receiver and differential delays in the optical fiber cables were calibrated in real time.

Conclusions

We revisited the geometric interpretation of GPS dilution of precision (DOP) factors. The emphasis has been given on the geometric impact of the receiver clock parameter on the conventional GPS positioning solution. The comparison has been made between the solutions with and without an estimated receiver clock parameter, i.e., conventional GPS versus pure trilateration solution. The generalized form of the DOP factors was also presented for observation redundancy greater than zero. The DOP factor equations are established as functions of triangle surfaces and tetrahedron volumes formed by the receiver-satellite unit vectors or by these vectors between themselves. To facilitate the geometric comparison of the two positioning solution cases, without and with an estimated receiver clock parameter, the average receiver-satellite unit vector has been used. In fact, for these two different cases, the triangles and tetrahedron have different apexes. This helped to explain from a geometric point of view, why the VDOP factor is larger than the EDOP and NDOP factors. The geometry of satellite outage was also revisited using the average receiver-satellite unit vectors at a given epoch. Finally, the geometric interpretation of receiver clock constraints within a positioning solution, as proposed by Weinbach and Schön (2011), has been demonstrated to be a weighted average of the solutions with and without an estimated receiver clock parameter, as a function of the number of epochs used to constrain the receiver clock parameter.