## Abstract

The geometric dilution of precision (GDOP) is related to the satellite geometry. Thus far, research has focused on minimizing the GDOP by selecting a set of satellites that maximizes the volume spanned by the user-to-satellite unit vectors. However, this relation has been only analyzed when four satellites are used for computing the three-dimensional position, for which the relation is nearly direct. The analysis applicable to any number of satellites is presented here. Results show that the relation between GDOP and volume spanned by the user-to-satellite unit vectors does not ensure that the optimal GDOP value is achieved by means of the volume maximization. Satellite distribution should also be considered in such a way that the selection of geometries that are closer to a regular polytope is favored.

## Introduction

Global navigation satellite systems (GNSSs) have become a very important asset for timing and positioning. Although in the past receivers were typically limited to the processing of 8–12 satellites (Kaplan and Hegarty 2006), nowadays even low-cost navigation software receivers can simultaneously process signals coming from several dozens of satellites. However, there are applications in which power consumption is critical, e.g., sensor network applications, and power consumption increases with the processing of more satellites (Jwo and Lai 2007; Bais and Morgan 2012; Kiwan et al. 2012). GPS and GLONASS each already provide between 8 and 12 satellites in view. With the advent of new satellites from other constellations, such as Galileo and Beidou, the number of satellites will grow considerably. Thus, optimal selection of the satellites to track is gaining importance (Mosavi 2011; Song et al. 2013; Kong et al. 2014). Even though the accuracy of the computed receiver position may improve when the number of used satellites grows, the difference between processing the signals of all-in-view satellites and a well-selected subset of them is usually negligible (Blanco-Delgado 2011; Blanco-Delgado et al. 2011).

The effect of GNSS satellite geometry on the position and time accuracy is characterized by a concept called geometric dilution of precision (GDOP) (Parkinson and Spilker 1996). If *h* is the number of satellites being tracked, the GDOP parameter is given by the square root of the trace of matrix \(({\mathbf{G}}^{\text{T}} {\mathbf{G}})^{ - 1}\) with \({\mathbf{G}} \in {\mathbb{R}}^{{h \times \left( {n + 1} \right)}}\). \({\mathbb{R}}^{{h \times \left( {n + 1} \right)}}\) denotes the set of \(h \times \left( {n + 1} \right)\) matrices with real entries, \({\mathbb{R}}\) denotes the set of real numbers, and *n* denotes the dimension of the receiver position coordinates. **G** is known as the geometry matrix that contains the estimated user-to-satellite unit vectors followed by a column of ones. Small GDOP values imply good accuracies, but selecting the satellite subset providing the smallest GDOP value can be a daunting task depending on the number of visible satellites at a given place and time. Satellite selection techniques based on brute-force approaches or recursive methods (Phatak 2001) require searching for the best subset of *h* out of *k* satellites, where *k* represents the total number of satellites in view. The number of combinations to test is \(k!/\left[ {h!\left( {k - h} \right)!} \right]\). Calculating a single GDOP requires multiplying a \(\left( {\left( {n + 1} \right) \times h} \right)\) matrix by its transpose and one \(\left( {\left( {n + 1} \right) \times \left( {n + 1} \right)} \right)\) matrix inversion. Therefore, the total floating point operations required to find the optimal solution grows rapidly as the number of visible satellites rises. For example, doing *k* = 20 and *h* = 5 in \({\mathbb{R}}^{3}\) implies testing approximately 15.5 × 10^{3} combinations. The significant increase in the number of satellites available with multiple GNSS constellations will make the use of these brute-force methods intractable. Other algorithms exist that present lower computational complexity, but they do not guarantee optimality (Park and How 2001). Note that the use of an efficient satellite selection method implies the release of the receiver processing capabilities for other functionalities and the saving of battery.

Satellite selection methods with higher computational efficiency, such as those in Kihara and Okada (1984) and Blanco-Delgado and Nunes (2010), have been proposed based on the statement that GDOP is approximately minimized by maximizing the determinant of the matrix \({\mathbf{G}}^{\text{T}} {\mathbf{G}}\) given the assumption that the adjoint matrix varies less strongly with the geometry than the determinant (Parkinson and Spilker 1996). Given that the volume of the (*n* + 1)-dimensional polytope described by the columns of a matrix \({\mathbf{G}} \in {\mathbb{R}}^{{h \times \left( {n + 1} \right)}}\), with \(h \ge \left( {n + 1} \right)\), is \(V_{{\left( {n + 1} \right)}} = \frac{1}{{\left( {n + 1} \right)!}} (\det \left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right))^{1/2}\) (Meyer 2001; Newson 1899–1900), research has focused on minimizing GDOP by maximizing the volume spanned by the user-to-satellite unit vectors (Kihara and Okada 1984; Zheng et al. 2004; Zhang and Zhang 2009). Volume will be used in \({\mathbb{R}}^{2}\) (instead of area) in order to maintain the same nomenclature through the paper. Various publications discuss the relation between GDOP and the volume of the tetrahedron defined by the user-to-satellite unit vectors (Hsu 1994; Zheng et al. 2004). Note that satellite selection should be ideally based on minimization of the GDOP parameters. Further details are provided in the next section. However, the volume maximization is a very convenient approach from a computational point of view since there are efficient algorithms to analyze 2-D and 3-D geometries (Blanco-Delgado and Nunes 2010). The limitation of these techniques is that the volume described by the user-to-satellite unit vectors does not coincide in general with the one spanned by the columns of the matrix **G**, i.e., \(V_{{\left( {n + 1} \right)}} = \frac{1}{{\left( {n + 1} \right)!}} (\det \left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right))^{1/2}\) since the estimated user-to-satellite unit vectors are the row vectors of the matrix **G**. Note that only in the case of *h* = 4 satellites, the volume spanned by the user-to-satellite unit vectors does coincide with the one spanned by the columns of the matrix **G** in \({\mathbb{R}}^{3}\).

The suitability of these techniques is analyzed here by evaluating the discrepancy between the minimization of the GDOP and the maximization of the volume spanned by the user-to-satellite unit vectors when an arbitrary number of satellites, *h*, is used for the computation of the position. The analysis is split in two steps. The relation between the GDOP and \(\det \left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) is analyzed first. The relation between \(\det \left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) and the volume of the polytope defined by the user-to-satellite unit vectors for any number of satellites is studied next. Finally, combining both results, the relation between GDOP and volume is evaluated.

## GDOP concept

A GNSS receiver determines its position by computing its distance to several satellites. The receiver computes the distance by measuring the time, \(\delta t\), it takes a satellite-generated signal to reach the receiver antenna. Since the receiver clock is not synchronized with the GNSS system time, the measured distance is called pseudorange. The pseudorange is given by \(\delta t\) multiplied by the speed of light in the vacuum *c*, i.e., \(\rho = c \cdot \delta t\). Thus, the measured pseudorange between the receiver and the *i*th satellite can be related to the user position and clock offset as follows:

where \({\mathbf{r}}^{\left( i \right)} = \left( {x^{\left( i \right)} ,y^{\left( i \right)} ,z^{\left( i \right)} } \right)\) is the *i*th satellite position at the transmit time, \({\mathbf{r}} = \left( {x,y,z} \right)\) is the receiver position at the reception time, \(\left| {\left| {{\mathbf{r}}^{\left( i \right)} - {\mathbf{r}}} \right|} \right| = \sqrt {(x^{\left( i \right)} - x)^{2} + (y^{\left( i \right)} - y)^{2} + (z^{\left( i \right)} - z)^{2} }\), *b* is the bias of the receiver clock with respect to the system time, \(\varepsilon_{{\rho^{\left( i \right)} }}\) encompasses the errors produced by atmospheric delays, satellite ephemerides mismodelling, receiver noise, etc., *h* is the number of satellites being tracked, and \(\left| {\left| \cdot \right|} \right|\) denotes the Euclidean distance between two points.

The positioning accuracy can be determined by linearizing the navigation Eq. (1) in the vicinity of an a priori estimate of the receiver position and clock offset: \({\mathbf{x}}_{0} \equiv \left(\begin{matrix}{\mathbf{r}}_{0} & b_{0} \end{matrix}\right)^{\text{T}}\). Given **x**
_{0}, we can compute an a priori estimate of the pseudorange \(\rho_{0}^{\left( i \right)} = \left| {\left| {{\mathbf{r}}^{\left( i \right)} - {\mathbf{r}}_{0} } \right|} \right| + b_{0}\). Let the true position and the true clock bias be represented as \({\mathbf{x}} = {\mathbf{x}}_{0} + \delta {\mathbf{x}}\) and \(b = b_{0} + \delta b\), where \(\delta \varvec{x}\) and \(\delta b\) are the unknown corrections to be applied to our initial estimates. \(\delta \varvec{x}\) is the error in the estimated receiver position and \(\delta b\) is the error in the estimated receiver clock bias in meters. Considering a first-order linearization, we can express \(\delta \rho^{\left( i \right)}\), which is the difference between the real \(\rho^{\left( i \right)}\) and the initial estimate \(\rho_{0}^{\left( i \right)}\), as

where

The quantity \({\mathbf{d}}^{\left( i \right)} = \left(d^{{\left( {ix} \right)}} ,d^{{\left( {iy} \right)}} ,d^{{\left( {iz} \right)}} \right)^{\text{T}}\) is the estimated line-of-sight unit vector from the user to the satellite *i* and \(\delta \varepsilon_{{\rho^{\left( i \right)} }}\) is the residual error after the known biases from satellite *i* have been removed.

The linearized navigation Eq. (2) can be put in matrix form by defining the vectors \(\delta\varvec{\rho}= \left( {\delta \rho^{\left( 1 \right)} ,\delta \rho^{\left( 2 \right)} ,} \right.\left. { \ldots ,\delta \rho^{\left( h \right)} } \right)^{\text{T}} ,\delta\varvec{\varepsilon}_{\varvec{\rho}} = \left(\delta \varepsilon_{{\rho^{\left( 1 \right)} }} ,\delta \varepsilon_{{\rho^{\left( 2 \right)} }} , \ldots ,\delta \varepsilon_{{\rho^{\left( h \right)} }} \right)^{\text{T}}\), and

as follows:

Assuming that the measurement errors \(\delta \varepsilon_{{\rho^{\left( i \right)} }}\) are independent and identically distributed with zero mean and variance *σ*
^{2}, the least squares solution is

Thus, the estimated user position and clock bias are \({\hat{\mathbf{x}}} = {\mathbf{x}}_{0} + \delta {\hat{\mathbf{x}}}\) and \(\hat{b} = b_{0} + \delta \hat{b}\). The process can be repeated until the change in the estimates \(\delta {\hat{\mathbf{x}}}\) and \(\delta \hat{b}\) is sufficiently small. Note that this expression is valid for *h* ≥ 4 or *h* ≥ 3 satellites in 3-D positioning or 2-D positioning, respectively. In the 2-D positioning case, the user position height is assumed to be perfectly known, i.e., it is not considered as an unknown in the navigation Eq. (1). Therefore, in this case the matrix **G** has three columns.

The accuracy of that least squares solution is mainly decided by two factors: the quality of the measurements, i.e., the errors in \(\rho^{\left( i \right)}\), and the satellite geometry, which is described by **G**. The covariance of the position and the clock bias can be expressed as follows:

and under the stated assumptions on the distribution of the measurement errors, it is equal to \({\text{cov}}\left[ {\delta {\hat{\mathbf{x}}}} \right] = \sigma^{2} ({\mathbf{G}}^{\text{T}} {\mathbf{G}})^{ - 1}\). We can write the elements in the matrix as

where \(\sigma_{x}^{2}\), \(\sigma_{y}^{2}\), and \(\sigma_{z}^{2}\) denote the variances of the *x*-, *y*-, and *z*-component of the position error, respectively, and \(\sigma_{b}^{2}\) stands for the variance of the user clock bias estimate. The off-diagonal elements \(\sigma_{uv}\) indicate, generically, the covariances of *u* and *v*. The scalar GDOP parameter is given by the square root of the trace of the matrix \(({\mathbf{G}}^{\text{T}} {\mathbf{G}})^{ - 1}\):

In selecting the satellites, the GDOP values should be as small as possible in order to generate the most accurate user position.

## Relation between minimizing GDOP and maximizing the determinant of matrix \({{\mathbf{G}}^{\text{T}} {\mathbf{G}}}\)

The scalar GDOP parameter is given by

where \([{\text{adj}}\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)]_{ii}\) are the main diagonal elements of the adjoint of the matrix \({\mathbf{G}}^{\text{T}} {\mathbf{G}}\). In Parkinson and Spilker (1996), it is claimed that the trace of the \([{\text{adj}}\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)]_{ii}\) varies less strongly with the geometry than the determinant of \({\mathbf{G}}^{\text{T}} {\mathbf{G}}\). Hence, the minimization of GDOP can be approximated by maximizing the \({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\). Satellite selection methods have used this approximation to reduce the processing complexity of the computation of the GDOP.

Note that \(\left[ {{\text{adj}}\left( {\mathbf{A}} \right)]_{ji} = \partial { \det }\left( {\mathbf{A}} \right)/\partial } \right[{\mathbf{A}}]_{ij}\), where \([{\mathbf{A}}]_{ij}\) denotes the element of the matrix **A** located in row *i* and column *j*. The matrix **A** refers to a generic matrix that is used here to present general results.

In this section, we will evaluate the discrepancy between the two functions: GDOP and \({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\), by looking at the eigenvalues of the matrix \({\mathbf{G}}^{\text{T}} {\mathbf{G}}\). Let \(\varvec{\lambda}= \left( {\lambda_{1} , \ldots ,\lambda_{n + 1} } \right)\) be the eigenvalues of \({\mathbf{G}}^{\text{T}} {\mathbf{G}}\). *n* equals 2 or 3 for 2-D or 3-D positioning problems, respectively. We define

and

Let \({\mathcal{G}}\) denote all possible sets of eigenvalues of the matrix \({\mathbf{G}}^{\text{T}} {\mathbf{G}}\), i.e., \({\mathcal{G}} = \left\{ {\varvec{\lambda}\in {\mathbb{R}}_{ + + }^{n + 1} |\varvec{\lambda}= {\text{e}}ig\left\{ {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right\},{\mathbf{G}} \in {\mathcal{M}}} \right\}\), where \({\mathbb{R}}_{ + + }^{n + 1}\) stands for the set of positive vectors of *n* + 1 components, i.e., no single vector element is equal to zero or negative, \({\mathcal{M}} = \left\{ {{\mathbf{G}} \in {\mathbb{R}}^{{h \times \left( {n + 1} \right)}} } \right\}\) and **G** is a matrix with rows [**d**
_{
i
} 1], \(i = 1,2, \ldots ,h\).

Let \(\varvec{\lambda}^{ *} \prec\varvec{\lambda}\) where \(\prec\) denotes that \(\varvec{\lambda}^{ *}\) is majorized by \(\lambda\). That is, that the elements of \(\varvec{\lambda}\) are more unevenly distributed than the coordinates of \(\varvec{\lambda}^{ *}\), subject to the constraint that the sum of the coordinates of \(\varvec{\lambda}\) and \(\varvec{\lambda}^{ *}\) is the same, as explained in “Appendix 1” Definition 1. Thus, a set of eigenvalues \(\varvec{\lambda}^{ *} \in {\mathbb{R}}_{ + + }^{n + 1}\) exists such that \( \varvec{\lambda}^{ *} \prec \varvec{\lambda ,}\forall\varvec{\lambda}\in {\mathcal{G}} \) and this set equals \(\varvec{\lambda}^{ *} = \left( {h/2,h/2,h} \right)\) in \({\mathbb{R}}^{2}\). See “Appendix 2” for a demonstration. Then, \(\phi \left(\varvec{\lambda}\right)\) attains its maximum in \(\varvec{\lambda}^{ *}\). It can be proved that \(\phi \left(\varvec{\lambda}\right)\) and \(\theta \left(\varvec{\lambda}\right)\) are maximum and minimum, respectively, at \(\varvec{\lambda}^{ *}\). The proof is based on the majorization theory and is given next.

On the one hand, we know that \(\phi \left(\varvec{\lambda}\right) = { \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\), \(\phi :{\mathbb{R}}^{n} \to {\mathbb{R}}\), is a Schur-concave function (Marshall and Olkin 1979) because \({\mathbf{x}} \prec {\mathbf{y}}\quad {\text{on}}\quad {\mathcal{G}} \Rightarrow \phi \left( {\mathbf{x}} \right) \ge \phi \left( {\mathbf{y}} \right)\). See the proof in “Appendix 1” Theorem 1.

On the other hand, the function \(\theta \left(\varvec{\lambda}\right) = {\text{tr}}\left(( {{\mathbf{G}}^{\text{T}} {\mathbf{G}})^{ - 1} } \right)\), \(\theta :{\mathbb{R}}^{n} \to {\mathbb{R}}\), is Schur-convex on \({\mathcal{G}}\), i.e., \({\mathbf{x}} \prec {\mathbf{y}}\quad {\text{on}}\quad {\mathcal{G}} \Rightarrow \left( {\mathbf{x}} \right) \le \theta \left( {\mathbf{y}} \right)\). When \(\varvec{\lambda}^{ *}\) exists in \({\mathcal{G}}\) and \(\varvec{\lambda}^{ *} \prec\varvec{\lambda}\forall\varvec{\lambda}\in {\mathcal{G}}\), \(\phi \left( {\varvec{\lambda}^{ *} } \right) \ge \phi \left(\varvec{\lambda}\right)\) and \(\theta \left( {\varvec{\lambda}^{ *} } \right) \le \theta \left(\varvec{\lambda}\right)\), for all \(\varvec{\lambda}\) in \({\mathcal{G}}\). See the proof in “Appendix 1” Theorem 2.

However, we need to determine what happens when \(\varvec{\lambda}^{ *}\) does not belong to the solution set \({\mathcal{G}}\). An analysis is presented next based on majorization theory for *n* = 3. Let us define \({\mathbf{p}} = \left( {p_{1} ,p_{2} ,p_{3} ,p_{4} } \right)\) and \({\mathbf{q}} = \left( {q_{1} ,q_{2} ,q_{3} ,q_{4} } \right) \in {\mathcal{G}}\). We know in general that there are points among the set of possible solutions where neither \({\mathbf{p}}{ \preccurlyeq }{\mathbf{q}}\) nor \({\mathbf{p}}{ \succcurlyeq }{\mathbf{q}}\). That is, being the elements of both vectors ordered in increasing order, neither \(\sum\nolimits_{i = 1}^{k} {p_{i} } \ge \sum\nolimits_{i = 1}^{k} {q_{i} }\), \(1 \le k \le 4\), nor \(\sum\nolimits_{i = 1}^{k} {p_{i} } \le \sum\nolimits_{i = 1}^{k} {q_{i} }\), i.e., none of them is more spread out than the other. Being \(\phi \left(\varvec{\lambda}\right) = { \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) a Schur-concave function, we cannot say that \(\phi \left( {\mathbf{p}} \right) \ge \phi \left( {\mathbf{q}} \right)\) or that \(\phi \left( {\mathbf{p}} \right) \le \phi \left( {\mathbf{q}} \right)\). The same occurs with \(\theta \left(\varvec{\lambda}\right) = {\text{tr}}[\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}})^{ - 1} } \right]\). Therefore, we can infer that the vector \(\varvec{\lambda}\) for which \(\phi \left(\varvec{\lambda}\right)\) attains its maximum will not necessarily be equal to the one for which \(\theta \left(\varvec{\lambda}\right)\) attains its minimum.

The difference between \(\frac{1}{2} \left({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\right)^{1/2}\) and GDOP is evaluated in Fig. 1. A Monte Carlo simulation of 10^{5} runs was performed where the geometry matrix was generated using random vectors **d**
_{
i
} satisfying \(\left| {\left| {{\mathbf{d}}_{i} } \right|} \right| = 1\). Results in \({\mathbb{R}}^{2}\) for *h* = 3 and *h* = 4 satellites are plotted in red and blue colors, respectively. Note that, when selecting three satellites, the relation between \(1/{\text{GDOP}}\) and \(\frac{1}{2} \left({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\right)^{1/2}\) is almost direct as is evident in the figure. Although for *h* = 4 this relation tends to be less direct, the dispersion of the GDOP^{−1} values is still small. As an example, the markers in the figure delimit the range of GDOP^{−1} values that can be obtained when \(\frac{1}{2} \left({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\right)^{1/2} = 1.75\) and four satellites are selected, i.e., *h* = 4. The corresponding GDOP^{−1} values are in the range [0.8017, 0.8248] which would result into a practically negligible difference in terms of GDOP.

Note that the region gets thicker if the number of satellites used increases, meaning that the discrepancy between GDOP and the determinant can potentially increase as well. However, the larger the number of satellites in view, the larger the probability of having a geometry resulting in a large determinant value. In those cases, we would be toward the right-hand side of the plots where the discrepancy between GDOP and the determinant decreases. Only intermediate results in \({\mathbb{R}}^{2}\) are presented here. Results are extensible to \({\mathbb{R}}^{3}\).

## Relation between the determinant of matrix \({\varvec{G}^{T} \varvec{G}}\) and the volume of the user-to-satellite unit vectors

For three satellites in 2-D positioning and four satellites in 3-D positioning, there is a direct relation between \({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) and the volume spanned by the user-to-satellite unit vectors (Gantmacher 1960; Newson 1899–1900). Therefore, several satellite selection methods have been developed during the last decades based on that fact (Kihara and Okada 1984; Zheng et al. 2004; Zhang and Zhang 2009; Li et al. 1999; Roongpiboonsopit and Karimi 2009). However, when more than three or four satellites in 2-D and 3-D positioning, respectively, are to be selected, the relation is not direct anymore and needs to be evaluated. The relation between \({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) and the volume of the polytope formed by the user-to-satellite unit vectors for any number of selected satellites is analyzed in this section.

Let us review first what happens when three satellites are used for the computation of a 2-D position. The geometry matrix has row vectors \(\left( { - d_{ix} , - d_{iy} ,1} \right)\) with \(i = 1,2,3\). The pair \(\left( {d_{ix} ,d_{iy} } \right)\) denotes the user-to-satellite unit vector for satellite *i*. As a consequence of the property of the determinant where row subtraction leaves the determinant unchanged, we can write \(\left| {{ \det }\left( {\mathbf{G}} \right)} \right| = \left| {{\mathbf{a}} \times {\mathbf{b}}} \right|\) since

where \({\mathbf{a}} = {\mathbf{d}}_{2} - {\mathbf{d}}_{1}\) and \({\mathbf{b}} = {\mathbf{d}}_{3} - {\mathbf{d}}_{1}\), \({\mathbf{d}}_{i} = (d_{ix} ,d_{iy} )^{\text{T}}\), *i* = 1, 2 and 2, × denotes the cross product, and \(\left| \cdot \right|\) denotes the absolute value.

Thus, the addition of the column of ones results in \(\left| {{ \det }\left( {\mathbf{G}} \right)} \right|\) matching the area of the parallelogram formed by the user-to-satellite unit vectors when taking one of the satellites as a vertex. That is, the area of the triangle formed by those points equals half the determinant of the geometry matrix, \(\frac{1}{2} \left| {{ \det }\left( {\mathbf{G}} \right)} \right|\) (Meyer 2001; Newson 1899–1900). The same applies when selecting four satellites to obtain a 3-D position. In that case, the volume of the tetrahedron is \(\frac{1}{6} \left| {{ \det }\left( {\mathbf{G}} \right)} \right|\) (Newson 1899–1900).

However, the property that allows us to obtain (14) can only be applied to a square matrix. Therefore, one could argue that this is true only for the cases presented above of selecting three satellites in 2-D positioning and four satellites in 3-D positioning. Therefore, the relation in a general case between the \({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) and the volume spanned by the vectors \({\mathbf{d}}_{i}\), \(i = 1, \ldots ,h\) needs to be analyzed.

If \({\mathbf{A}} \in {\mathbb{R}}^{r \times s}\) with \(r \ge s\), \(V_{s} = \left({\det }\left( {{\mathbf{A}}^{\text{T}} {\mathbf{A}}} \right)\right)^{1/2}\) is the volume of the *s*-dimensional parallelepiped spanned by the columns of **A** (Meyer 2001). Note that *V*
_{
s
} refers to the volume of the parallelepiped described by the columns of **A** when taking the origin of coordinates as one of the points of the polytope. Since the matrix **G** contains a column of ones, the volume of the polytope spanned by the columns of the matrix **G** equals \(V_{n} = \frac{1}{n!}\left({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\right)^{1/2}\) (Newson 1899–1900). However, the positioning problem needs to consider the volume described by the user-to-satellite unit vectors, where the user-to-satellite unit vectors form the rows of the matrix **G**, excluding the last column.

Let us recall that \({\mathbb{G}}_{s} = { \det }\left( {{\mathbf{A}}^{\text{T}} {\mathbf{A}}} \right)\) is also called the Gramian of the vectors \(\left\{ {{\mathbf{a}}_{1} ,{\mathbf{a}}_{2} , \ldots ,{\mathbf{a}}_{r} } \right\}\) where \({\mathbf{a}}_{i} = \left( {a_{i1} , \ldots ,a_{is} } \right)\). An important result is that \({\mathbb{G}}_{s}\) can be also expressed as

where *V*
_{
s
} denotes the volume of the *s*-dimensional parallelotope spanned by the vectors \(\left\{ {{\mathbf{a}}_{1} ,{\mathbf{a}}_{2} , \ldots ,{\mathbf{a}}_{r} } \right\}\). This equation has the following meaning: “The square of the volume of a parallelotope is equal to the sum of the squares of the volumes of its projections on all the *s*-dimensional coordinate subspaces” (Gantmacher 1960). In particular, for *r* = *s*, the summation in (15) has only one term, and thus, \(V_{s} = \left| {{ \det }\left( {\mathbf{A}} \right)} \right|\) (Meyer 2001). Applying this result to our problem and recalling the previous discussion for the case of a rectangular matrix **G**, we can conclude that: “\(V_{n}^{2}\) is proportional to the sum of the squares of the volumes described by all possible sets of *n* + 1 user-to-satellite unit vectors.”

Therefore, the relation between the volume spanned by the user-to-satellite unit vectors and \({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) for more than four satellites in 3-D positioning or more than three satellites in 2-D positioning is not as direct as in the case of a square matrix **G**. Instead, when \({\mathbf{h}} > {\mathbf{n}} + 1\), \({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) is proportional to the sum of the squares of the volumes of the polytopes described taking all possible combinations of **n** + 1 satellites. Remember that n denotes the dimension of the Euclidean space that contains the satellites coordinates.

A Monte Carlo simulation of 10^{5} runs was performed where the geometry matrix was generated using random unit vectors \({\mathbf{d}}_{i} \in {\mathbb{R}}^{2}\), with \(\left| {\left| {{\mathbf{d}}_{i} } \right|} \right| = 1\). The volumes spanned by the sets of vectors **d**
_{
i
} and \(\frac{1}{2} \left({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\right)^{1/2}\) were obtained. Results for *h* = 3 and *h* = 4 satellites in \({\mathbb{R}}^{2}\) are plotted in Fig. 2 in red and blue colors, respectively. Volume in \({\mathbb{R}}^{2}\) denotes the area of the polygon formed by the user-to-satellite unit vectors **d**
_{
i
}.

When *h* = 3, Fig. 2 corroborates that there is a one-to-one relation between the determinant of matrix **G** and the volume spanned by the user-to-satellite unit vectors, in agreement with (14). However, when the number of satellites increases, the relation is not one-to-one anymore since the points are spread over a region. This region is contained within two lines. The line that upper bounds the blue region in the figure is obtained for the set of the vectors **d**
_{
i
} that generates a figure as close as possible to a regular polytope for each value of the volume. This assertion is proved in Fig. 3 for a specific value of the area. The number of sides of such a regular polygon is determined by the *x*-axis value in the figures above, i.e., the value of the area. That is, given that the area of a regular polygon of *l* sides inscribed in the unit circle is given by \(A_{l} = \begin{matrix}l & {\text{cos}}\left( {\frac{\pi }{l}} \right) {\text{sin}}\left( {\frac{\pi }{l}} \right)\end{matrix}\) (Niven 1981), the number of sides of the regular polygon that maximizes the value of \(({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right))^{1/2}\) would equal *l*. That is, the set of user-to-satellite unit vectors expanding the figure closest to the regular polygon of *l* sides would be the one maximizing the GDOP.

The geometric forms for two extreme values of the determinant and a given value of the area are plotted in Fig. 3 for *h* = 5 in \({\mathbb{R}}^{2}\) to illustrate the relation between the regular polytope and the upper bound. The geometric forms in the figure have the same area as an inscribed equilateral triangle, i.e., \(A_{3} = 1.299\). Note that the set giving the largest value of \(({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right))^{1/2}\) will be the one that expands a geometric figure that is the closest to the corresponding regular polyhedron for that value of the area.

## Relation between GDOP and the volume of the user-to-satellites unit vectors

Finally, after having analyzed the relation between the GDOP and the determinant of \(\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) and the relation between the determinant of \(\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) and the volume of the user-to-satellite unit vectors, we evaluate herein the relation between the GDOP and that volume, which is the combination of the results obtained in the previous two sections. A Monte Carlo simulation of 10^{5} runs has been performed where the geometry matrix has been generated using random vectors **d**
_{
i
} satisfying \(\left| {\left| {{\mathbf{d}}_{i} } \right|} \right| = 1\). The volume described by the set of vectors **d**
_{
i
} and the corresponding GDOP values have been computed. Results for *h* = 3 and *h* = 4 satellites in \({\mathbb{R}}^{2}\) are plotted in Fig. 4 in red and blue colors, respectively.

Figure 4 shows that GDOP minimization is well approximated by volume maximization when *h* = 3, specially for large volumes. The discrepancy in the approximation grows with the number of satellites although it nearly stops growing at about *h* = 5. However, as concluded in the previous section, the upper bound of the blue regions corresponds to an arrangement of the user-to-satellite unit vectors generating the regular polygon that corresponds to that value of the volume. Thus, for similar volume values, the satellite subset expanding the figure closest to the largest regular polygon that can be drawn for that volume value should be selected. This satellite subset will be the one minimizing GDOP. Finally, to illustrate that a similar behavior occurs in \({\mathbb{R}}^{3}\), results for *h* = 4 and *h* = 5 satellites in \({\mathbb{R}}^{3}\) are plotted in Fig. 5 in red and blue colors, respectively. Note that, similar to \({\mathbb{R}}^{2}\), the discrepancy nearly stops growing at about *h* = 5.

## Conclusions

The objective has been to study the relation between GDOP and the volume described by the user-to-satellite unit vectors. We have divided it in two steps: first, the relation between GDOP and \({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) has been assessed; second, the relation between determinant and volume has been analyzed.

As far as the relation between GDOP and the inverse of \({ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) is concerned, a very similar behavior for both functions is observed independently of the number of satellites used to estimate the user position. Thus, the behavior of GDOP is well approximated by \(1/{ \det }\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\). This confirms that the variability of the adjoint matrix of \(\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\) has a smaller effect on the GDOP than the determinant of \(\left( {{\mathbf{G}}^{\text{T}} {\mathbf{G}}} \right)\).

The analysis of the relation between determinant and the volume of the polytope formed by the user-to-satellite unit vectors (**d**
_{
i
}) exhibits a one-to-one relation when *h* = 3 in \({\mathbb{R}}^{2}\) and when *h* = 4 in \({\mathbb{R}}^{3}\). For a larger number of satellites, it was shown that the determinant was maximized for the set of vectors **d**
_{
i
} drawing a geometric figure closer to a regular polytope for a given volume.

Finally, the relation between the volume and the GDOP has been obtained. The relation is nearly direct when *h* = 3 and *h* = 4 for 2-D and 3-D positioning, respectively. In general, the volume can be taken as a very good indicator of the GDOP value. However, other aspects should be also considered to make a better selection of satellites based on the volume maximization, such as the geometric distribution of the *h* satellites to use. The geometric distribution should be the closest one to the largest regular polytope that can be drawn.

## References

Bais A, Morgan Y (2012) Evaluation of base station placement scenarios for mobile node localization. In: Third FTRA international conference on mobile, ubiquitous, and intelligent computing (MUSIC 2012), pp 201–206

Blanco-Delgado N (2011) Signal processing techniques in modern multi-constellation GNSS receivers. Ph.D. dissertation, IST, Universidade Técnica de Lisboa

Blanco-Delgado N, Nunes F (2010) Satellite selection method for multi-constellation GNSS using convex geometry. IEEE Trans Veh Technol 59(9):4289–4297

Blanco-Delgado N, Nunes F, Seco-Granados G (2011) Relation between GDOP and the geometry of the satellite constellation. In: International conference on localization and GNSS (ICL-GNSS 2011)

Boyd S, Vandenberghe L (2004) Convex optimization. Cambridge University Press, Cambridge

Gantmacher F (1960) The theory of matrices. AMS Chelsea Publishing, I

Hsu D (1994) Relations between dilutions of precision and volume of the tetrahedron formed by four satellites. In: Proceedings of the IEEE/ION PLANS 1994, Institute of Navigation, Las Vegas, NV, 11–15 April, pp 669–676

Jwo D-J, Lai C-C (2007) Neural network-based GPS GDOP approximation and classification. GPS Solut 11(1):51–60

Kaplan ED, Hegarty CJ (2006) Understanding GPS: principles and applications. Artech House - Technology & Engineering

Kihara M, Okada T (1984) A satellite selection method and accuracy for the global positioning system. Navigation 31(1):8–20

Kiwan H, Bais A, Morgan YL (2012) A new base stations placement approach for enhanced vehicle position estimation in parking lot. In: 15th International IEEE conference on intelligent transportation systems (ITSC 2012), pp 1288–1293

Kong J, Mao X, Li S (2014) BDS/GPS satellite selection algorithm based on polyhedron volumetric method. In: IEEE/SICE international symposium on system integration (SII 2014)

Li J, Ndili A, Ward LL, Buchman S (1999) GPS receiver satellite/antenna selection algorithm for the stanford gravity probe B relativity mission. In: Proceedings of the ION NTM 1999, Institute of Navigation, San Diego, CA, 22–24 January, pp 541–550

Marshall A, Olkin I (1979) Inequalities: theory of majorization and its applications. Academic Press, New York

Meyer CD (2001) Matrix analysis and applied linear algebra. Society for Industrial & Applied Mathematics

Mosavi R (2011) Applying genetic algorithm to fast and precise selection of GPS satellites. Asian J Appl Sci Malays 4:1–9

Newson H (1899–1900) On the volume of a polyhedron. Ann Math 1(1/4):108–110

Niven I (1981) Maxima and minima without calculus. Dolciani Mathematical Expositions, vol 6. Mathematical Association of America

Park C, How J (2001) Quasi-optimal satellite selection algorithm for real-time applications. In: Proceedings of the ION GPS 2001, Institute of Navigation, Salt Lake City, UT, 11–14 September, pp 3018–3028

Parkinson B, Spilker J (1996) The global positioning system: theory and applications, Ser. Progress in astronautics and aeronautics. American Institute of Aeronautics and Astronautics, I, Washington, DC

Phatak M (2001) Recursive method for optimum GPS satellite selection. IEEE Trans Aerosp Electron Syst 37(2):751–754

Roongpiboonsopit D, Karimi H (2009) A multi-constellations satellite selection algorithm for integrated global navigation satellite systems. J Intell Transp Syst 13(3):127–141

Song D, Zhang P, Fan G, Xu C (2013) An algorithm of selecting more than four satellites from GNSS. In: International conference on advanced computer science and electronics information (ICACSEI 2013), Beijing, China, pp 134–138

Zhang M, Zhang J (2009) A fast satellite selection algorithm: beyond four satellites. IEEE J Sel Top Signal Process 3(5):740–747

Zheng Z, Huang C, Feng C, Zhang F (2004) Selection of GPS satellites for the optimum geometry. Chin Astron Astrophys 28(1):80–87

## Acknowledgements

The work of professor Gonzalo Seco-Granados was supported by the Spanish Ministry of Economy and Competitiveness under Project No TEC2014-53656-R. The work of professor Fernando Duarte Nunes was supported by the Portuguese Science and Technology Foundation under Project UID/EEA/50008/2013.

## Author information

### Authors and Affiliations

### Corresponding author

## Appendices

### Appendix 1: Theory of majorization

###
**Definition 1**

(Marshall and Olkin 1979) For any \({\mathbf{x}} \in {\mathbb{R}}^{\text{n}}\), let \(x_{\left( 1 \right)} \le x_{\left( 2 \right)} \le \cdots \le x_{\left( n \right)}\) denote the components of vector **x** in increasing order. For any \({\mathbf{x}},{\mathbf{y}} \in {\mathbb{R}}^{\text{n}}\), it is said that the vector **y** majorizes the vector **x** or **x** is majorized by **y**, if they satisfy

with

and it is denoted as \({\bf x} \prec {\bf y}\).

In short, the vector **y** majorizes **x** if the coordinates of **y** are more unevenly distributed than the coordinates of **x**, subject to the constraint that the sums of the coordinates of **x** and **y** are equal.

###
**Definition 2**

A real-valued function *f* defined on a set \({\mathcal{A}} \subseteq {\mathbb{R}}^{\text{n}}\) is said to be Schur-convex on \({\mathcal{A}}\) or order-preserving function if

Similarly, *f* is said to be Schur-concave on \({\mathcal{A}}\) if

As a consequence, if *f* is Schur-convex on \({\mathcal{A}}\), then −*f* is Schur-concave on \({\mathcal{A}}\) and vice versa.

###
**Theorem 1**

\(f\left( {\varvec{\uplambda}} \right) = \varPi_{i = 1}^{n} \lambda_{i}\), \(f:{\mathbb{R}}_{ + + }^{n} \to {\mathbb{R}}\)
*, is a Schur*-*concave function for all*
\({\varvec{\uplambda}} \in {\text{dom}}\left( f \right)\)
*where* dom*(f) denotes the domain of function f.*

###
*Proof*

The function \(\log \left( {f\left( {\varvec{\uplambda}} \right)} \right) = \sum\nolimits_{i = 1}^{n} {\log \lambda_{i} }\) is a concave function on \({\text{dom}}\left( f \right) = {\mathbb{R}}_{ + + }^{n}\) since it is a sum of logarithms and \(\log \left( {\lambda_{i} } \right)\) is concave on \({\mathbb{R}}_{ + + }^{\text{n}}\) (Boyd and Vandenberghe 2004). Since every function that is concave on \({\mathbb{R}}_{ + + }^{\text{n}}\) is also Schur-concave (Marshall and Olkin 1979), \(\log \left( {f\left( {\varvec{\uplambda}} \right)} \right)\) is Schur-concave on \({\mathbb{R}}_{ + + }^{\text{n}}\). This means that

Since \({ \log }\left( \cdot \right)\) is a monotonically increasing function, \(\log \left( {f\left( {{\varvec{\uplambda}}_{0} } \right)} \right) \ge \log \left( {f\left( {{\varvec{\uplambda}}_{1} } \right)} \right) \Rightarrow f\left( {{\varvec{\uplambda}}_{0} } \right) \ge f\left( {{\varvec{\uplambda}}_{1} } \right)\). Thus, we can affirm that

which leads to \(f\left( {\varvec{\uplambda}} \right)\) being Schur-concave on \({\mathbb{R}}_{ + + }^{\text{n}}\).

###
**Theorem 2**

\(f\left({\varvec{\uplambda}} \right) = \mathop \sum \nolimits_{i=1}^{n}\lambda_{i}^{-1}\), \(f:{\mathbb{R}}_{ + + }^{n} \to {\mathbb{R}}\)
*, is a Schur*-*convex function for all*
\({\varvec{\uplambda}} \in {\text{dom}}\left( f \right)\)
*where* dom*(f) denotes the domain of function f.*

###
*Proof*

\(g\left( \lambda \right) = \lambda^{ - 1}\) is a convex function on \({\mathbb{R}}_{ + + }\) (Boyd and Vandenberghe 2004). Therefore, \(f\left({\varvec{\uplambda}} \right) = \mathop \sum \nolimits_{i = 1}^{n} \lambda_{i}^{- 1}\) is a Schur-convex function since it is a summation of convex functions \(g\left( \lambda \right)\) (Marshall and Olkin 1979).

### Appendix 2: Minimum GDOP in \({\mathbb{R}}^{2}\) positioning

In \({\mathbb{R}}^{2}\) positioning, the matrix \({\mathbf{G}}^{\text{T}} {\mathbf{G}}\) can be written in polar coordinates as

where \(r_{i} = \sqrt {d_{ix}^{2} + d_{iy}^{2} }\), \(\gamma_{i} = {\text{atan}}2\left( {d_{iy} ,d_{ix} } \right)\), \({\text{atan}}2\) stands for the four-quadrant inverse tangent, and \(r_{i} \le 1\) since, when considering the 2-D satellites position, only the projections of the satellite-to-user unit vectors onto the *xy* plane are considered. See (4).

Having all satellites uniformly distributed in the unit circle, *r*
_{
i
} = 1 for all *i* with azimuths

gives

which corresponds to the least spread out solution in terms of its diagonal elements (note that *h* is fixed). The eigenvalues of a positive semidefinite Hermitian matrix always majorize its main diagonal elements (Marshall and Olkin 1979), that is, the diagonal elements are always more evenly distributed than the eigenvalues. In the case of (22), the diagonal elements equal the eigenvalues. Thus, (*h*/2, *h*/2, *h*) are the most uniformly distributed eigenvalues, i.e., \({\varvec{\uplambda}}^{*} = \left( {h/2,h/2,h} \right)\). This result can be easily extended to \({\mathbb{R}}^{3}\) where \({\varvec{\uplambda}}^{ *}\) would be given by a satellites disposition so that the satellite-to-user unit vectors define a regular polyhedron.

## Rights and permissions

**Open Access** This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

## About this article

### Cite this article

Blanco-Delgado, N., Duarte Nunes, F. & Seco-Granados, G. On the relation between GDOP and the volume described by the user-to-satellite unit vectors for GNSS positioning.
*GPS Solut* **21**, 1139–1147 (2017). https://doi.org/10.1007/s10291-016-0592-3

Received:

Accepted:

Published:

Issue Date:

DOI: https://doi.org/10.1007/s10291-016-0592-3

### Keywords

- Satellite selection
- Geometric dilution of precision
- GNSS
- Maximum volume