## 4 Result Analysis and Discussion
### Random 60\({}^{\circ}\) Obstruction Simulations-One Single Large-Angle Obstruction  
In order to simulate the randomly generated obstruction, we divided the satellites in the azimuthal region of 0-360\({}^{\circ}\) into six regions with 60\({}^{\circ}\) as a division, and for 24 points, we randomly removed the observable satellites in one region as being occluded. As shown in Figure 3 and Table 2, with the support of a sufficiently large number of LEO satellites under observing conditions, the GDOP of the final localization is lower than 0.3 in order of magnitude, but in the real environment, localizing all observable satellites greatly increases the computational complexity. At the same time, it also imposes an unnecessary burden on the satellite network and reduces the algorithm's real-time performance. Therefore, it is important to choose the most suitable satellites for a receiver with high accuracy. Therefore, selecting as many satellites as possible within a suitable range for a receiver with high accuracy has high engineering significance. Figure 3: Hourly GDOP: Maximum visibility of satellites compared with random obstruction. Figure 2: Number of visible satellites during the day. In order to evaluate the performance of the proposed satellite selection algorithm, we set up a comparative trial with the recursive algorithm, a Quasi-Optimal algorithm, and the algorithm proposed in this study. As described in Section 2.2, the recursive algorithm takes the variation of the GDOP (which is in a way similar to the slope of a specific satellite) as the influence value of each satellite and retains the few satellites with the highest influence values to construct the final satellite selection result. The Quasi-Optimal algorithm employs an approximate geometric leveling selection strategy. In the trial, the final combination size of the satellites was fixed at 10 to 80 in intervals of 10. The GDOP results of the three algorithms were compared. An Intel(R) Core(TM) i5-8500 CPU @ 3.00 GHz with 16 GB of RAM was used as the simulation hardware for a computation load comparison. Table 3 shows the time consumed by each algorithm during a single satellite selection. Figure 4 and Table 4 show that the recursive algorithm has a better performance in the case of observation constraints. It performs better under observation constraints because it is difficult for it to evaluate the impact of each satellite on localization when excluding many of them, and it erroneously excludes important ones during the process. However, this also means that it cannot be well applied when selecting a small number of satellites out of a large number for localization. Therefore, its application should be limited to scenarios where the number of observable satellites is close to that of the number to be selected. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Time (hour)** & \ \begin{tabular}{c} **Maximum Number of Satellites** \\ **Observed per Hour** \\ \end{tabular}  & \begin{tabular}{c} **Maximum Number of Satellites** \\ **Observed per Hour** \\ **(with Random Obstruction)** \\ \end{tabular}  \\ \hline
1 & 239 & 195 \\
2 & 232 & 201 \\
3 & 251 & 208 \\
4 & 232 & 187 \\
5 & 252 & 218 \\
6 & 250 & 213 \\
7 & 220 & 190 \\
8 & 270 & 227 \\
9 &  
As shown in Figure 5, in the unobstructed environment, the proposed algorithm has a similar performance to the Quasi-Optimal algorithm, which has no significant advantage. Except for the case of selecting 10 satellites, the daily average GDOP difference of the proposed algorithm with the Quasi-Optimal algorithm is below 0.05. Meanwhile, the Quasi-Optimal algorithm is based on purely geometric positional computation, which is much more computationally efficient, so the proposed algorithm does not have a significant advantage under unobstructed conditions. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Satellites** & \begin{tabular}{c} **Quasi\_Optimal** \\ **Algorithm** \\ \end{tabular}  & \begin{tabular}{c} **Recursive** \\ **Algorithm** \\ \end{tabular}  &