## 2 The Geometric Dilution of Precision and Genetic Algorithm
### GDOP Criterion
\begin{array}{cc}\left(-\mathbf{ 1}^{(1)}\right)^{\mathrm{T}}&1\\ \left(-\mathbf{1}^{(2)}\right)^{\mathrm{T}}&1\\ \vdots\\ \left(-\mathbf{1}^{(K)}\right)^{\mathrm{T}}&1\end{array} \right]\left[ \begin{array} []{c}\delta\mathbf{x}\\ \delta b\end{array} \right]+\tilde{\epsilon}_{\rho} \tag{7}\]  
There are four unknowns in the \(K\) (at least 4) linear equations: \(\delta\mathbf{x}\) and \(\delta b\). Moreover, Equation (7) can be reduced to  
\[\delta\rho=\mathbf{G}\left[ \begin{array}{c}\delta\mathbf{x}\\ \delta b\end{array} \right]+\tilde{\epsilon}_{\rho} \tag{8}\]  
\[\mathbf{G}=[F\mathbf{k}_{K}]=\left[ \begin{array}{cc}\left(-\mathbf{1}^{(1) }\right)^{\mathrm{T}}&1\\ \left(-\mathbf{1}^{(2)}\right)^{\mathrm{T}}&1\\ \vdots\\ \left(-\mathbf{1}^{(K)}\right)^{\mathrm{T}}&1\end{array} \right],\mathbf{k}_{K }=\left[ \begin{array}{cc}1&\ldots&1\end{array} \right]^{\mathrm{T}} \tag{9}\]  
\(\mathbf{G}\) is indicated as the \(K\times 4\) geometry matrix that characterizes the geometric configuration of the user and the satellites. This is called the geometry matrix. If \(K=4\), we can directly solve for the four unknowns using these four equations. This happens when the equations are linearly dependent on each other, making \(\mathbf{G}\) a singular matrix. When the elevation angles of all the satellites observed at the user's location are equal, and the rank of \(\mathbf{G}\) is three. The same problem arises when all of the line-of-sight vectors are coplanar. In this case, the satellites appear to be aligned in the sky view, which is unlikely in a GPS system of 24 or more satellites, and can change rapidly. We can find the least squares solution to refine the initial estimate in Equation (8) when \(K\) is usually larger than 4 using the orthogonality principle. The new and improved user position and clock difference values are  
\[ \begin{array}{c}\hat{x}=\mathbf{x}_{0}+\delta\hat{x}\\ \hat{b}=b_{0}+\delta\hat{b}\end{array}  \tag{10}\]  
The system of observation equations can be linearized around the updated user position and clock bias estimates by repeating the solution of the equations until the change in the estimates is sufficiently small. Each iteration involves a new computation of the following parameters: (i) the GPS time \(t\) at which the signal is received, (ii) for each satellite, the signal travel time \(t_{r}\), the transmission time \((t-t_{r})\), and the corresponding satellite position as well as Equation (3), and (iii) the geometry matrix \(\mathbf{G}\). This estimation process converges fast and usually requires only two to four iterations. In the above least squares computation, there is an implicit assumption that all measurements have equal accuracy. However, in reality, this assumption is hardly valid. The measurement errors from satellites with lower elevation satellites are usually larger than those from satellites with higher elevation angles. In fact, the measured pseudoranges are not only unequal in accuracy but also correlated with each other when applying a model to all observations referring to an epoch. If ionospheric and tropospheric delay models are applied, the delay errors in the zenith direction are proportional for all measurements, thus creating a correlation. Differential correction measurements are also correlated. In general, the stronger the correlation of the pseudorange error, the smaller the estimated position error is. In an extreme case, the common error of all measurements is absorbed in the computation of the clock bias and does not affect the position computation, but highly correlated parameters do not regularly lead to the correct determination of range/height. This can be seen in Equation (8). Ideally, the mean vector and covariance matrix can characterize the errors in pseudorange measurements. With this structure, the minimum mean square error position estimate can be obtained, and the position error variance can be determined. However, it is usually very difficult to describe the measurement error in this way.