Introduction

Optimal selection of navigation satellites for position estimation is a crucial problem in navigation. The problem has become more complicated with the development of multiple global and regional navigation satellite constellations. In addition to GPS and GLONASS, the Galileo and BeiDou navigation systems are currently offering full operational capability. In addition, Regional Navigation Satellite Systems (RNSS) such as using Navigation Indian Constellation (NavIC) and Quasi-Zenith Satellite System (QZSS) are also operational. For most multi-constellation receivers, the number of channels is limited due to cost, complexity and power constraints (Chi et al. 2020). As a result, it is not always possible to use all in view navigation satellites for positioning solutions. With the increased number of navigation satellites residing in the Medium Earth Orbits (MEO) as well as Geostationary Earth Orbits (GEO) and Inclined Geosynchronous Orbits (IGSO), efficient selection of the best set of navigation satellites has become very crucial.

The Geometric Dilution of Precision (GDOP) is an indicator of the expected accuracy of the position solution. A smaller GDOP value indicates better positioning accuracy. Hence, the minimization of the GDOP is the primary goal of the satellite selection problem. In other words, the conventional satellite selection algorithms aim to select a set of satellites that results in the minimum GDOP. One can use the brute force method, i.e., searching all possible combinations of navigation satellites to find the set with the lowest GDOP. This is a simple method but comes at a cost. The processing time for calculating the GDOP for all possible combinations at a single epoch is very high and not suitable for real-time applications. However, this method results in the optimal satellite selection solution (Park and How 2001). Evolutionary algorithms such as Genetic Algorithm (GA) and Particle Swarm Optimization (PSO) were proposed to reduce the number of searches required to obtain the optimal set of satellites (Mosavi and Divband 2010; Wang et al. 2018).

One popular satellite selection method is the highest elevation method, which selects satellites with the highest elevation angle. However, this method does not always result in low GDOP and thus a good accuracy (Park and How 2001). Another approach is to associate a cost function with a visible satellite indicating collinearity with all other visible satellites and select satellites with the lowest cost functions (Liu et al. 2009; Park and How 2001). Satellite selection based on contribution to the GDOP increase has also been considered (Chi et al. 2020; Phatak 2001). However, these methods do not guarantee an optimal solution and often return a locally optimal set of satellites (Huang et al. 2018).

It should be noted that the most computationally intensive step in the satellite selection algorithm is the computation of the GDOP using matrix inversion. In the presence of \(m\) visible satellites, the selection of \(n\) satellites (\(m>n\)) using brute force optimization requires \(\frac{m!}{n!\left(m-n\right)!}\) matrix inversions. Various closed-form formulations of GDOP were proposed to avoid the matrix inversion (Doong 2009; Teng and Wang 2016). Satellite selection by maximizing the volume of the polyhedron comprised by the unit vectors from the user to satellites has also been proposed (Kihara and Okada 1984). The relation between the GDOP and the polyhedron volume has been explored in Blanco-Delgado et al. (2017). However, the geometric distribution of the satellites comprising of the maximum volume also needs to be considered. Zhang and Zhang (2009) proposed an algorithm to select satellites based on how close the geometric distribution of a subset is with respect to optimal geometry for a given number of satellites. This algorithm provides a solution that is close to the optimal solution. However, the computation cost remains high.

Various machine learning (ML)-based approaches have also been explored to train an input–output relation for GDOP (Wu et al. 2011). Some ML-based approaches consider satellite selection problems as segmentation or a classification problem and train a model that can either classify (Zarei 2014) or segment satellites in selected and not selected categories (Huang et al. 2018). Various neural networks with improved back-propagation approaches have been explored to improve the training time (Jwo and Lai 2006). It should be noted that these models can only be applicable near the location from where the training data are collected. Using an ML model trained using data from a certain location to calculate the GDOP at a different location may result in a large error. It is difficult to develop a global ML model that can be applied to any location.

Having discussed various satellite selection algorithms which try to select satellites with the minimum GDOP, it is important to discuss the lower bound of the GDOP for various constellations. The GDOP for MEO constellation has been well studied, and the lower bound of the GDOP has been examined for single (Swaszek et al. 2017; Zhang and Zhang 2009) and multiple constellations (Swaszek et al. 2016, 2017). This lower bound is often used to benchmark the satellite selection algorithms. It is worth mentioning that the existing GDOP lower bound formulation does not include any constraints on the azimuth and elevation angles of the navigation satellites from the user location. As a result, this lower bound formulation cannot be generalized for the GEO and IGSO-based constellations for which the azimuth and elevation angles from the user are constrained to certain ranges depending on the user location. Hence, computation of the GDOP lower bound for a GEO- and IGSO-based constellation should be done considering the azimuth and elevation angle constraints to better assess satellite selection algorithms involving these constellations.

We formulate the GDOP lower bound problem considering the azimuth and elevation constraints for GEO/IGSO-based navigation constellations and numerically compute the lower bound of GDOP for the NavIC. It is demonstrated that the constrained GDOP lower bound for the NavIC is significantly higher than the GDOP lower bound for the GPS. Consequently, the position accuracy provided by a standalone NavIC receiver is less than that provided by a GPS receiver for comparable numbers of visible satellites in each constellation. An efficient satellite selection algorithm is necessary to utilize multiple navigation constellations effectively. We propose an ML-based multi-constellation satellite selection algorithm suitable for real-time operations.

We address the training time and location constraints of ML-based satellite selection algorithms by posing the satellite selection problem as a clustering problem in the azimuth-elevation domain. As a result, the satellite selection algorithm transforms to an unsupervised learning-based method in contrast to the supervised learning-based methods mentioned earlier. We also incorporate a meta-cognitive component to automatically enable the algorithm to decide when to learn and when to proceed with the available model by introducing two threshold parameters in this clustering problem. Using a numerical simulation of the GPS and NavIC constellation, we demonstrate that the proposed algorithm can select satellites without the requirement of any training dataset and thus is not location constrained. In addition, the processing time is significantly lower than the conventional satellite selection algorithms.

The next section describes the GDOP formulation and the constrained GDOP lower bound formulation for GEO/IGSO-based navigation constellations. We introduce the unsupervised learning-based satellite selection algorithm in the subsequent section. Then the simulation experiment design is described. The results are presented in the subsequent section. The key findings are summarized, and the future work is outlined in the conclusion.

Performance indicator of navigation satellite constellations

The positioning performance, i.e., accuracy provided by a GNSS or RNSS depends on various factors, such as geometric distribution of navigation satellites in space, quality of navigation messages, satellite clock stability, and atmospheric delays. Among these factors, the geometric distribution of navigation satellites significantly affects the positioning accuracy. With all other sources of error mitigated properly, the position accuracy can still be inadequate due to satellite geometry. The Geometric Dilution of Precision (GDOP) is an indicator of this satellite geometry and thus also indicates the positioning accuracy performance. Using the Least Square Estimation (LSE), the position error covariance can be expressed as (Kaplan and Hegarty 2006)

$$\begin{array}{*{20}c} {E\left[ {\left( {{\varvec{X}} - \hat{\user2{X}}} \right)\left( {{\varvec{X}} - \hat{\user2{X}}} \right)^{T} } \right] = \left( {{\varvec{H}}^{{\varvec{T}}} {\varvec{H}}} \right)^{ - 1} \sigma_{R} } \\ \end{array}$$
(1)

where the user position vector \({\varvec{X}}=\left[\begin{array}{ccc}{x}_{u}& {y}_{u}& {z}_{u}\end{array}\right]\), \({\sigma }_{R}\) is the User Range Error (URE), and

$$\begin{array}{*{20}c} {{\varvec{H}} = \left[ {\begin{array}{*{20}c} {\frac{{x_{u} - x_{1} }}{{r_{1} }}} & {\frac{{y_{u} - y_{1} }}{{r_{1} }}} & {\frac{{z_{u} - z_{1} }}{{r_{1} }}} & { - 1} \\ {\frac{{x_{u} - x_{2} }}{{r_{2} }}} & {\frac{{y_{u} - y_{2} }}{{r_{2} }}} & {\frac{{y_{u} - y_{2} }}{{r_{2} }}} & { - 1} \\ \ldots & \ldots & \ldots & \ldots \\ \ldots & \ldots & \ldots & \ldots \\ {\frac{{y_{u} - y_{n} }}{{r_{n} }}} & {\frac{{y_{u} - y_{n} }}{{r_{n} }}} & {\frac{{y_{u} - y_{n} }}{{r_{n} }}} & { - 1} \\ \end{array} } \right]} \\ \end{array}$$
(2)

where \({{\varvec{r}}}_{i}=\left[\begin{array}{ccc}{x}_{i}& {y}_{i}& {z}_{i}\end{array}\right], (\mathrm{i }= 1, 2, 3, \dots , n)\) is the position vector of the ith navigation satellite. The GDOP is defined as

$$\begin{array}{*{20}c} {{\text{GDOP}} = \sqrt {{\text{trace}}\left( {\left( {{\varvec{H}}^{{\varvec{T}}} {\varvec{H}}} \right)^{ - 1} } \right)} } \\ \end{array}$$
(3)

Evidently, the GDOP, a scalar quantity, is a function of the geometrical distribution of visible navigation satellites in 3-dimensional space. Equation (3) also implies that all observations are equally weighted. A lower GDOP value results in a lower error covariance, resulting in lower uncertainty in position estimation. The converse is also true. The position error covariance increases monotonically with GDOP in sequential estimator-based position solution as well. However, the relation is hyperbolic (Biswas et al. 2017).

Currently, the number of navigation satellites visible is often more than the available channels in a GNSS receiver due to the availability of multiple navigation satellite constellations. Hence, choosing a combination of satellites with low GDOP to ensure less uncertainty in position solutions is essential.

Benchmarking of satellite selection algorithms can be done against the lower bound on GDOP for all available satellites. A generalized GDOP lower bound formulation for multiple constellations is available in the literature. However, this formulation is inadequate for RNSS, which in most cases comprises GEO and IGSO satellites. In the subsequent sections, we have described the GDOP lower bound formulation for GNSS and a new lower bound formulation for RNSS.

GDOP lower bounds for GNSS

The lower bound of GDOP for a single GNSS constellation is (Swaszek et al. 2017)

$$\begin{array}{*{20}c} {{\text{GDOP}} \ge \frac{11.89}{m}} \\ \end{array}$$
(4)

where \(m\) is the number of satellites used for position estimation. This relation can be established by finding minimum possible GDOP over azimuth range of \(0\le \alpha <360^\circ\) and elevation range \(0\le \beta <90^\circ\). However, this formulation results in a loose bound for RNSS constellations because the azimuth and elevation range for these navigation satellites are much smaller.

GDOP lower bounds for geostationary and geosynchronous constellation

If the azimuth and elevation angles from the user receiver for the \({i}^{th}\) satellite is \({\alpha }_{i}\) and \({\beta }_{i},\) respectively, then, from (2) and (3),

$${\varvec{H}}^{{\varvec{T}}} {\varvec{H}} = \left[ {\begin{array}{*{20}c} {\mathop \sum \limits_{i = 1}^{n} \cos^{2} \beta_{i} \cos^{2} \alpha_{i} } & {\mathop \sum \limits_{i = 1}^{n} \cos^{2} \beta_{i} \cos \alpha_{i} \sin \alpha_{i} } & {\mathop \sum \limits_{i = 1}^{n} \cos \beta_{i} \sin \beta_{i} \cos \alpha_{i} } & {\mathop \sum \limits_{i = 1}^{n} \cos \beta_{i} \cos \alpha_{i} } \\ {\mathop \sum \limits_{i = 1}^{n} \cos^{2} \beta_{i} \cos \alpha_{i} \sin \alpha_{i} } & {\mathop \sum \limits_{i = 1}^{n} \cos^{2} \beta_{i} \sin^{2} \alpha_{i} { }} & {\mathop \sum \limits_{i = 1}^{n} \cos \beta_{i} \sin \beta_{i} \sin \alpha_{i} } & {\mathop \sum \limits_{i = 1}^{n} \cos \beta_{i} \sin \alpha_{i} } \\ {\mathop \sum \limits_{i = 1}^{n} \cos \beta_{i} \sin \beta_{i} \cos \alpha_{i} } & {\mathop \sum \limits_{i = 1}^{n} \cos \beta_{i} \sin \beta_{i} \sin \alpha_{i} } & {\mathop \sum \limits_{i = 1}^{n} \sin^{2} \beta_{i} } & {\mathop \sum \limits_{i = 1}^{n} \sin \beta_{i} } \\ {\mathop \sum \limits_{i = 1}^{n} \cos \beta_{i} \cos \alpha_{i} } & {\mathop \sum \limits_{i = 1}^{n} \cos \beta_{i} \sin \alpha_{i} } & {\mathop \sum \limits_{i = 1}^{n} \sin \beta_{i} } & n \\ \end{array} } \right]$$
(5)

Considering

$$\begin{array}{*{20}c} {\sqrt {{\text{trace}}\left( {\left( {{\varvec{H}}^{{\varvec{T}}} {\varvec{H}}} \right)^{ - 1} } \right)} = f\left( {\alpha_{1} ,{ }\beta_{1} ,\alpha_{2} ,\beta_{2} , \ldots ,\alpha_{n} ,\beta_{n} } \right)} \\ \end{array}$$
(6)

one can write

$$\begin{array}{*{20}c} {{\text{GDOP}} = f\left( {\alpha_{1} ,{ }\beta_{1} ,\alpha_{2} ,\beta_{2} , \ldots ,\alpha_{n} ,\beta_{n} } \right)} \\ \end{array}$$
(7)

For geostationary satellites, the azimuth and elevation angles are constant for a particular location on the earth, and for IGSO satellites, these angles change over time but repeat every 24 h. Consequently, for the ith satellite in an RNSS \({\alpha }_{{i}_{\mathrm{min}}}\le {\alpha }_{i}\le {\alpha }_{{i}_{\mathrm{max}}}\) and \({\beta }_{{i}_{\mathrm{min}}}\le {\beta }_{i}\le {\beta }_{{i}_{\mathrm{max}}}\) where \({\alpha }_{{i}_{\mathrm{min}}}, {\beta }_{{i}_{\mathrm{min}}}>0\), \({\alpha }_{{i}_{\mathrm{max}}}<360^\circ\) and \({\beta }_{{i}_{\mathrm{max}}}<90^\circ\). The minimum and maximum azimuth and elevation angles depend on the location of the user. From (6), one can conclude that

$$\begin{array}{*{20}c} {{\text{GDOP}} \ge \min f\left( {\alpha_{1} ,{ }\beta_{1} ,\alpha_{2} ,\beta_{2} , \ldots ,\alpha_{n} ,\beta_{n} } \right)} \\ \end{array}$$
(8)

Subject to the constraints

$$\begin{array}{*{20}c} {\alpha_{{i_{{{\text{min}}}} }} \le \alpha_{i} \le \alpha_{{i_{{{\text{max}}}} }} } \\ \end{array}$$
(9)

and

$$\begin{array}{*{20}c} {\beta_{{i_{{{\text{min}}}} }} \le \beta_{i} \le \beta_{{i_{{{\text{max}}}} }} } \\ \end{array}$$
(10)

for \(i = 1,{ }2,{ }3, \ldots ,{ }n\).

The GDOP map for the NavIC constellation on September 11, 2020 at 10:22 h Indian Standard Time (IST) is shown in Fig. 1. It can be observed that the GDOP varies from 3 to 3.8 within India. The number of visible NavIC and GPS satellites at the location 28.632° N, 77.219° E at New Delhi on September 11, 2020 for 24 h is shown in Fig. 2.

Fig. 1
figure 1

NavIC constellation and GDOP map

Fig. 2
figure 2

NavIC and GPS satellite visibility from New Delhi

With the number of visible satellites, the minimum GDOP for each constellation from the location specified above can be calculated using (4). The calculated minimum GDOP for both the NavIC and GPS and the actual variation of GDOP considering all visible satellites from each constellation over 24 h are shown in Fig. 3. It can be observed that the difference in the minimum GDOP calculated using (4) and the actual GDOP for the NavIC is very high, whereas the same for the GPS is low.

Fig. 3
figure 3

NavIC and GPS GDOP lower bounds at New Delhi

For the NavIC, one can compute the minimum GDOP by solving the minimization problem stated in (8) subject to constraints (9) and (10). Since this calculation considers the actual azimuth and elevation range rather than the entire range of 0°–360° for azimuth and 0°–90° for elevation, this method provides a more accurate bound for the NavIC. It can be observed that the minimum GDOP calculated by solving the minimization problem with appropriate constraints is 2.89, which is significantly higher than that calculated using (4). From Fig. 3, it can be concluded that the GDOP provided by the NavIC is always higher than that of the GPS for a comparable number of visible satellites for both constellations. It implies that the position accuracy provided by a standalone NavIC receiver is less than that provided by a GPS receiver.

Satellite selection using unsupervised learning

It can be observed from Fig. 2 that the maximum number of visible navigation satellites combining the NavIC and GPS constellations can be 22 at New Delhi and the minimum number is 11. Choosing a smaller subset of satellites that will provide the lowest GDOP is of extreme importance for a receiver with a limited number of channels. As discussed earlier, various algorithms employ techniques ranging from quasi-optimal to supervised learning-based methods. As the name suggests, the quasi-optimal satellite selection algorithm (Liu et al. 2009; Park and How 2001) provides a sub-optimal satellite set in terms of the GDOP. The so-called “fast” selection algorithm tries to select a subset of satellites that closely resembles the optimal satellite distribution (Zhang and Zhang 2009). In addition, the algorithm requires selecting a satellite set at every step. The supervised learning-based satellite selection proposed by Huang et al. (2018) provides a satellite set that is very close to the optimal set of satellites. As discussed earlier, this method requires training using a labeled training dataset and the performance is locally correlated. However, the requirement of training data and the correlation of performance with the receiver can be avoided using an unsupervised learning-based method.

It is hypothesized that an unsupervised learning-based satellite selection algorithm can be designed, which is more computationally efficient than the algorithms mentioned above as well as can be applied globally.

The proposed unsupervised learning-based satellite selection (ULiSeS) algorithm uses the K-means clustering method to form clusters of all visible satellites in the azimuth-elevation space. The number of clusters is set to the number of channels available to the receiver. Once the cluster is formed, one satellite from each cluster is selected to obtain the set of selected satellites for navigation. Algorithm 1 describes the ULiSeS algorithm.

figure b

It should be noted that the processing time would be unnecessarily high if the clustering is performed at every epoch when pseudorange observations are available. This can be avoided by incorporating a meta-cognitive component within the satellite selection algorithm to decide when to perform clustering, use the available cluster model, and learn and use previously selected satellites. This is implemented in the ULiSeS algorithm by introducing a threshold GDOP value \({T}_{\mathrm{th}}\). If the previously selected satellites are visible and the current GDOP is less than \({T}_{\mathrm{th}}\), the new selection is not performed. Another parameter \(\delta\) is also introduced, which can be used to adjust the threshold GDOP for using the previous K-mean clustering model.

The satellite selection from each cluster is performed considering the number of channels, i.e., the number of satellites that can be used for navigation. Zhang and Zhang (2009) summarized the optimal satellite distribution geometry for a given number of satellites that require a particular number of satellites at the zenith. The rest of the satellites should be near the horizon. Their Table IV can be used to select the number of satellites \({z}_{s}\) required at zenith for a given number of channels. However, practically it is not possible to obtain \({z}_{s}\) satellites at zenith at an epoch and hence \({z}_{s}\) satellites with highest elevation angles must be selected. Similarly, selecting the rest of the satellites with the lowest elevation angles will ensure the geometric distribution of the selected set is close to the optimal distribution.

To achieve this condition, \({z}_{s}\) clusters with centroid elevations above certain threshold elevation \({E}_{th}\) can be selected. Selecting the satellite with maximum elevation from each of these clusters will ensure the selection of \({z}_{s}\) satellites with the highest elevation angles.

Once the number of satellites \({z}_{s}\) is selected, for remaining clusters the satellite with the lowest elevation can be selected from each cluster. The satellite selection algorithm for each cluster is given by Algorithm 2.

figure c

The K-means clustering groups the satellites so that the sum of the distance of each satellite from the cluster centroid in the azimuth-elevation domain is minimized within each cluster. As a result, satellites with direction cosine vectors close to each other will be in the same cluster. Hence, the optimality of the K-means clustering ensures that the selection of satellites using Algorithm 2 will result in the selection of the closest set to the optimal distribution.

Simulation experiment design

The effectiveness of the ULiSeS algorithm was verified using a System Tool Kit simulation. In the simulation, all the 7 NavIC and 31 GPS satellites were added, and the azimuth and elevation angles of these satellites from location 28.632° N, 77.219° E at New Delhi was recorded on September 11, 2020 for 24 h at every minute. This geometric information was used to select 8 satellites out of all visible satellites of both the NavIC and GPS constellations at every epoch using Python implementation of various satellite selection algorithms.

Results and discussion

The geometric information recorded from the STK is used to select 8 satellites at every minute of the 24 h using the optimal, quasi-optimal, and fast selection algorithms. The optimal selection is performed by searching all possible combinations of 8 satellites out of all visible satellites at every epoch. Evidently, this is a time and resource-consuming process and cannot be used for real-time applications. The calculated GDOP using 8 satellites selected by the optimal, quasi-optimal and fast selection algorithms are compared in Fig. 4. Clearly, the GDOP calculated using satellites selected by the quasi-optimal algorithm is substantially higher than the fast selection algorithm.

Fig. 4
figure 4

Comparison of GDOP for optimal, Quasi-optimal and Fast selection methods

The simulated geometric data are also used in the ULiSeS algorithm to select 8 satellites. The ULiSeS algorithm is used in two cases to select only 8 GPS satellites and to select 8 satellites from both the NavIC and GPS constellations. \({{\varvec{T}}}_{\mathrm{th}}\) and \(\delta\) values are set to 3 and 0.5, respectively. The formation of the cluster in the azimuth-elevation domain at an epoch for selecting satellites from two above-mentioned constellations is shown in Fig. 5. The areas marked with different colors denote various clusters and the dots are satellites within each cluster.

Fig. 5
figure 5

Cluster formation in ULiSeS algorithm. The figure shows skyplots at various epochs, cluster boundaries that are formed by the ULiSeS algorithm and satellites within each cluster during the satellite selection process

Figure 6 compares the GDOP calculated using the ULiSeS algorithm, the fast selection algorithm and the optimal selection for various cases. The GDOP for randomly selected 8 satellites from the NavIC and GPS constellations is also shown in Fig. 6. As expected, random selection does not result in low GDOP. It should also be noted that the GDOP calculated by selecting 8 satellites from only GPS constellation using the ULiSeS algorithm is much closer to the optimal GDOP and the calculated GDOP using the fast algorithm using both the constellations, whereas the GDOP calculated using the ULiSeS algorithm for the multi-constellation case slightly degrades. It should be noted that the NavIC is a regional constellation. As discussed earlier, the NavIC provides higher GDOP than GPS due to the distribution of the satellites in space. As a result, although the inclusion of NavIC with GPS increases the number of satellites, it does not necessarily improve the GDOP. However, for all the cases, the performance of the ULiSeS algorithm is significantly better than the quasi-optimal methods.

Fig. 6
figure 6

Comparison of GDOP for ULiSeS and Fast selection method with optimal selection

For further analysis, the histogram of the optimal GDOP, the GDOPs obtained using the quasi-optimal algorithm, the fast selection algorithm for the multi-constellation case, and the GDOP computed using the ULiSeS algorithm for single constellation and multi-constellation cases are shown in Fig. 7. The cumulative distribution of the GDOP for the various algorithms is shown in Fig. 8. The statistical summary of the computed GDOP over the 24 h for various algorithms is provided in Table 1. The mean GDOP obtained using the ULiSeS algorithm for the multi-constellation case is 2.116 and for the GPS only case is 1.834. The mean GDOP for the fast algorithm is 1.898 and the optimal mean GDOP is 1.632 for the multi-constellation case. The mean GDOP for the fast algorithm is 2.256 and the optimal mean GDOP is 1.675 for the GPS only case. Evidently, the ULiSeS algorithm is comparable to the fast selection method in terms of the GDOP for both single and multi-constellation conditions.

Fig. 7
figure 7

Histograms of GDOPs for ULiSeS and other satellite selection algorithms

Fig. 8
figure 8

Comparison of Cumulative Probability Distribution of ULiSeS and other selection algorithms

Table 1 GDOP comparison

The execution time for the quasi-optimal, fast and ULiSeS algorithms are compared in Fig. 9. It can be observed that the execution time of the so-called fast selection algorithm lies within 80–160 ms, whereas the ULiSeS algorithm requires less than 80 ms at any epoch. It should be noted that the execution time of the ULiSeS algorithm is near 80 ms only when there is a requirement of re-clustering. For most of the epochs, the execution time is less than 10 ms. This can be observed clearly from the histogram of execution time at each epoch shown in Fig. 10.

Fig. 9
figure 9

Execution time comparison for various satellite selection algorithms

Fig. 10
figure 10

Histogram of execution times for various satellite selection algorithms

The mean, median, maximum, and minimum execution times for the 24 h for various algorithms are shown in Table 2. The mean execution time for the ULiSeS algorithm in the multi-constellation case is 12.141 ms, for GPS only case 6.777 ms, whereas the fast algorithm requires 111.684 ms of mean execution time for the multi-constellation case.

Table 2 Execution time comparison

The results presented above implicate that although the ULiSeS algorithm degrades the GDOP by 8.7% on average compared to the fast selection algorithm documented in Zhang and Zhang (2009), it reduces the execution time by 88.40% in the multi-constellation case.

Conclusion

We proposed a constrained GDOP lower bound formulation suitable for GEO- and IGSO-based navigation constellation and demonstrated that one or more navigation constellations are required in addition to the NavIC to achieve a better position accuracy. In this context, we proposed an unsupervised learning-based satellite selection algorithm for a multi-constellation navigation scenario. Using numerical simulation, we demonstrated the ULiSeS algorithm does not require any prior training dataset and thus is not location constrained. In addition, it is computationally efficient than the quasi-optimal and fast satellite selection algorithms. We also introduced the meta-cognitive concept within the proposed ULiSeS algorithm, which controls the learning process, i.e., helps decide when to learn and when to use the previously learned model. This is implemented by introducing two threshold parameters \({T}_{\mathrm{th}}\) and \(\delta\). These parameters are selected through trial and error in the current implementation. Further research is required to refine this meta-cognitive process within the ULiSeS framework.