# Fast Screening Algorithm for Satellites Based on Multi-Constellation System
## 2 Analysis of Satellite Selection Algorithms in Satellite Positioning System  
### Single-Point Position in Multi-Constellation Satellite Position System  
For a pseudo-range single-point positioning system with a single constellation, if N satellites are observed at a certain epoch, the pseudo-range observation equation for any one of these satellites can be expressed as  
\[\sqrt{\left(x^{(i)}-x_{u}\right)^{2}+\left(y^{(i)}-y_{u}\right)^{2}+\left(z^{ (i)}-z_{u}\right)^{2}}+c\Delta t_{u}-c\delta t+T^{(i)}+I^{(i)}=\rho_{c}^{(i)} \tag{1}\]  
where \((x^{(i)},y^{(i)},z^{(i)})\) denotes the positions of the \(i^{th}\) satellite in the Earth-centered Earth-fixed (ECEF) coordinate system; \(\rho_{c}^{(i)}\) denotes the pseudo-range observation value of the \(i^{th}\) satellite; \(c\Delta t_{u}\) and \(c\delta t\) denote the satellite and the receiver clock offset; \(T^{(i)}\) and \(I^{(i)}\) denote the tropospheric and the ionospheric delay [8]; and \((x_{u},y_{u},z_{u})\) denotes the coordinates of the receiver. To solve the receiver coordinates and receiver clock offset, it is necessary to linearize the system of quadratic nonlinear equations. After linearization, the Equation (1) could be rewritten as  
\[\begin{bmatrix}r_{1}\\ r_{2}\\ r_{3}\\ \ldots\\ r_{N}\end{bmatrix}=\begin{bmatrix}l_{1}&m_{1}&n_{1}&1\\ l_{2}&m_{1}&n_{1}&1\\ l_{3}&m_{3}&n_{3}&1\\ \ldots&\ldots&\ldots&\ldots\\ l_{N}&m_{N}&n_{N}&1\end{bmatrix}\begin{bmatrix}\Delta x_{u}\\ \Delta y_{u}\\ \Delta z_{u}\\ c\Delta t_{u}\end{bmatrix} \tag{2}\]  
where \(r_{i}\) denotes the geometric pseudo-distance value between the satellite and the target receiver. \((l,m,n)\) denotes the direction cosines of the vector from the receiver to the satellite in the \((x,y,z)\) directions. \(\Delta x_{u}\Delta y_{u}\), and \(\Delta z_{u}\) denote the deviations of the true and estimated values of the target receiver in the \(X\), \(Y\), and \(Z\) directions.  
We defined the navigation observation matrix as  
\[G=\begin{bmatrix}l_{1}&m_{1}&n_{1}&1\\ l_{2}&m_{2}&n_{2}&1\\ \ldots&\ldots&\ldots&\ldots\\ l_{N}&m_{N}&n_{N}&1\end{bmatrix} \tag{3}\]The positioning accuracy of a satellite navigation system depends on two factors: the measurement accuracy between the user and the satellite and the geometric distribution determined by the spatial constellation configuration [9]. Generally, the quality is assessed by the geometric dilution of precision (GDOP) value. A smaller GDOP value indicates a higher positioning accuracy. The GDOP value can be obtained through the weight matrix formed by the navigation observation matrix, as follows:  
\[GDOP=\sqrt{trace(G^{\mathrm{T}}G)^{-1}} \tag{4}\]  
And the geometric accuracy factor after introducing the weighting of the pseudo-range measurement error variance can be expressed as  
\[GDOP_{w}=\sqrt{trace(G^{\mathrm{T}}WG)^{-1}} \tag{5}\]  
where \(W\) denotes the matrix of coefficients representing the weights of the individual satellite positioning errors.  
For a single-constellation satellite position system, the calculation of the GDOP value usually does not impose a significant computational burden on the positioning system. Assuming that at an observation epoch, the receiver observes eight GPS satellites and selects \(m(m\geq 4)\) of them to perform a weighted least squares positioning calculation, only the \(C_{8}^{m}\times 2\) matrix multiplication and \(C_{8}^{m}\) matrix inversion operations are required to obtain the optimal constellation configuration for single-point positioning. Therefore, for a single constellation satellite navigation system, the star selection method of traversing through GDOP values is usually feasible and effective.