Abstract
In this article, we propose a new particle swarm optimization–based satellite selection algorithm for BeiDou Navigation Satellite System/Global Positioning System receiver, which aims to reduce the computational complexity of receivers under the multi-constellation Global Navigation Satellite System. The influences of the key parameters of the algorithm—such as the inertia weighting factor, acceleration coefficient, and population size—on the performance of the particle swarm optimization satellite selection algorithm are discussed herein. In addition, the algorithm is improved using the adaptive simulated annealing particle swarm optimization (ASAPSO) approach to prevent converging to a local minimum. The new approach takes advantage of the adaptive adjustment of the evolutionary parameters and particle velocity; thus, it improves the ability of the approach to escape local extrema. The theoretical derivations are discussed. The experiments are validated using 3-h real Global Navigation Satellite System observation data. The results show that in terms of the accuracy of the geometric dilution of precision error of the algorithm, the ASAPSO satellite selection algorithm is about 86% smaller than the greedy satellite selection algorithm, and about 80% is less than the geometric dilution of precision error of the particle swarm optimization satellite selection algorithm. In addition, the speed of selecting the minimum geometric dilution of precision value of satellites based on the ASAPSO algorithm is better than that of the traditional traversal algorithm and particle swarm optimization algorithm. Therefore, the proposed ASAPSO algorithm reduces the satellite selection time and improves the geometric dilution of precision using the selected satellite algorithm.
Keywords
Introduction
Multi-constellation Global Navigation Satellite System (GNSS) increases the number of visible satellites, which improves the positioning performance. Better satellite geometry and more navigation-redundant information can be obtained by the multi-constellation GNSS than by a single satellite navigation system; 1 however, the signal-processing burden of a GNSS receiver is also higher. In addition, the reception of satellite signals is affected by factors such as the atmosphere of the earth, building obscuration, and electromagnetic wave interference, which adversely affect the receiver positioning performance. 2 However, for multi-constellation GNSS, if all-in-view satellites are used for positioning solution, the data processing process of the receiver will be more complicated and take more time. In addition, in dual-constellation navigation, only five satellites at least are needed to solve the positioning calculation. 3 Therefore, it is necessary to study a fast and effective satellite selection algorithm, select a better subset of satellites from all-in-view satellites for receiver positioning, and improve the real-time performance of positioning while ensuring the accuracy of navigation and positioning. Generally, the geometric dilution of precision (GDOP) is used to evaluate positioning accuracy. The smaller the GDOP, the higher the positioning accuracy corresponding to the satellite combination. 4 Therefore, the common satellite selection algorithm is based on the minimum GDOP. However, the GDOP value does not always decrease linearly with the increasing of the number of visible satellites. After the number of visible satellites reaches a certain threshold, the GDOP value will not be significantly improved. 5 Therefore, the satellite selection algorithm has become an important research area for GNSS receiver based on multi-constellation integrated navigation. The calculation method of GDOP is as follows. It can be seen from the formula that the calculation of GDOP requires the matrix’s multiplication and inversion
where
Previous research found the existing satellite selection algorithm can be applied when more than four satellites are available6,7 and focuses on two aspects of research. First, the area is divided according to the satellite elevation angle and azimuth; then, the visible satellite subset is selected.8,9 Second, based on the minimum GDOP traversal satellite selection algorithm, all satellites are grouped according to the chosen number of satellites, the GDOP for each set of satellites is calculated, and the minimum GDOP and its corresponding satellite combination are searched, the large number of GDOP calculations make the satellite selection process too time-consuming. 10 In response to this problem, in recent years, the calculation process of GDOP is simplified and an optimization algorithm is adopted to reduce the number of calculations of the GDOP.11,12 In 2010, a satellite selection method based on the genetic algorithm (GA) was proposed; 13 GA reduces the computation time of GDOP using its own rapid optimization capabilities. However, GA satellite selection falls easily into local optimum. This algorithm has been greatly improved; furthermore, the accuracy of the satellite selection results has been improved.14,15 However, the GA algorithm has too many parameters that require adjustment during the calculation process. 16 Therefore, even though GA can guarantee the accuracy of the satellite selection, as the number of visible satellites increases, the satellite selection speed of GA decreases. In 2018, a satellite selection method using the signal levels of multi-constellation GNSS was proposed. 17 The aforementioned algorithms can reduce the complexity of the satellite selection calculation to a certain extent and improve the effectiveness of the satellite selection results.
To fully utilize the advantages offered by multi-constellation GNSS, it is necessary to study a fast and effective satellite selection algorithm. In this article, in order to reduce the computational burden of the GNSS receiver and the time-consuming of satellite selection, the particle swarm optimization (PSO) algorithm is combined with the satellite selection; second, the influence of PSO algorithm parameters on the performance of satellite selection is analyzed to select reasonable parameter values. In addition, in order to ensure the accuracy of the satellite selection results, the adaptive simulated annealing (ASA) is introduced to adapt the global optimal satellite selection of the BeiDou Navigation Satellite System (BDS)/Global Positioning System (GPS) dual-constellation.
This article is organized as follows. The analysis of related work is specifically described in section “Related work,” and some common satellite selection algorithms are instructed to prove the validity of the research content in this article. In section “The basic PSO algorithm,” the PSO algorithm is introduced, and the influence of its parameters on the PSO satellite selection algorithm is analyzed. In section “ASAPSO satellite selection algorithm,” the satellite selection algorithm based on ASA is mainly described. Section “Simulation experiment and result analysis” describes the relationship between GDOP and the number of satellites selected, and through a large number of simulation experiments, it focuses on analyzing the results of the PSO satellite selection algorithm and the improved PSO satellite selection algorithm. The conclusion and future research of this article are described in section “Conclusion.”
Related work
Comprehensive analysis of the above research results, GDOP is an important indicator of satellite selection. The traditional traversal satellite selection algorithm completes the satellite selection by selecting a subset of satellites with the smallest GDOP value. With the increasing of the number of visible satellites in the space domain, the calculation of the traversal satellite selection algorithm becomes more complicated. In addition, calculating the GDOP of a large number of satellite subsets involves matrix inversion and multiplication. Based on the above description, it can be seen that the traversal satellite selection algorithm is no longer applicable to the situation where the number of satellites selected under multiple constellations exceeds five.
Dan and El-Sherief. 18 discussed the application of neural network algorithms in satellite selection and analyzed the advantages of neural network–based satellite selection; Phatak 19 proposed a satellite selection algorithm based on the revolving door method and the matrix inversion lemma, which completed the satellite selection through recursive calculation; Meng et al. proposed a fast satellite selection algorithm for multi-constellation. This method is based on both Newton’s identities for GDOP fast computation and optimal satellite geometric distribution for less cycle participation, and the GDOP of proposed method is very close to optimal result. 20 These satellite selection algorithms are based on the calculation of the minimum GDOP value, which can meet the rapid satellite selection in a single constellation to a certain extent. However, as the number of satellites increases, the number of satellite combinations also becomes larger and the amount of calculation for selecting satellites increases significantly. These algorithms also have limitations in reducing the amount of calculation, so they can only choose sub-optimal satellite combinations.
In recent years, some new fast and high-precision satellite selection algorithms based on the minimum GDOP value are proposed. L Jin et al. 21 analyzed the relationship between the GDOP of the multi-satellite integrated system and the elevation angle, azimuth angle of the visible satellite, and proposed a negative exponential decay model in which the relative ratio of GDOP before and after the selection increases with the chosen number of satellites, based on the elevation angle of the visible satellite classify all visible satellites to achieve indirect satellite selection. Li et al. proposed a fast-rotating divisional satellite selection algorithm based on the uniform distribution of the sky. The algorithm partitions visible satellites according to the relationship between the number of satellites and GDOP. Simulation experiments show that the rotating partitioned satellite selection algorithm improves the utilization of navigation data and improves the accuracy of satellite selection. 22 HU et al. proposed an improved fast satellites selection algorithm. Use the elevation and azimuth information of satellites to divide the area, and finally determine the six satellites selected for positioning by Newton’s iterative GDOP calculation method. Theoretical analysis and experimental results show that, this algorithm greatly reduces the amount of calculation and has higher positioning accuracy at the slight sacrifice of positioning accuracy. It can prove the effectiveness of the algorithm better than the quasi-optimal algorithm. 23 In addition, in 2019, Gerbeth et al. 24 proposed a Ground-Based Augmentation System (GBAS)-based GDOP satellite selection algorithm to reduce the amount of computation; Xu et al. 25 proposed a GDOP satellite selection method based on nondominated sorting genetic algorithm II (NSGA-II) algorithm to improve the real-time performance and reliability of satellite selection. In 2019, a satellite selection strategy based on ambiguity dilution of precision (ADOP) was proposed; this method can greatly reduce the time consumption of the fixed low cutoff elevation angle multi-GNSS. 26 These algorithms have greatly improved the real-time performance and accuracy of satellite selection, but there are also problems such as poor stability and many adjustment parameters. Therefore, in this article, an improved PSO satellite selection algorithm is proposed based on the BDS/GPS dual-constellation.
In general, the PSO algorithm is used to solve optimization problems in nonlinear complex systems and has been successfully applied in many fields, such as production scheduling, system control, and image processing, such as: Guo et al. 27 proposed a distributed PSO approach, which can optimize the hyperparameters to find high-performing Convolution neural network (CNN); M Wang et al. 28 proposed to apply the PSO algorithm to the application of power cables; ES Wang et al. 29 proposed to apply the PSO algorithm to the autonomous integrity monitoring algorithm of navigation receivers. By analyzing the existing research, it can be known that the PSO algorithm can greatly improve the real-time performance, but it is difficult to meet the accuracy requirements in places with higher accuracy requirements. Therefore, based on the PSO algorithm, an adaptive simulated annealing particle swarm optimization (ASAPSO) satellite selection algorithm is proposed to improve the speed and real-time performance of satellite selection.
The basic PSO algorithm
PSO algorithm proposed by Kennedy and Eberhart
30
to mimic the foraging behavior of birds. In the search space, individual particles compare the optimal positions they pass with the optimal positions of all the particles and adjust their speed continuously, so that they can move closer to the global optimal position. Individuals are called “particles,” and each particle is a point in the
where
where
The basic PSO algorithm easily falls into local optimal. In order to overcome the above problem, the concept of simulated annealing was applied in subsequent research, and the effectiveness of the results was improved. 32
PSO satellite selection algorithm
The PSO algorithm is applied to satellite selection. It is necessary to consider the selection of the fitness function, the definition of the particle position, and the method of updating the particle information. The fitness function selected in this article is the GDOP value of each visible satellite combination, which is used to evaluate the spatial geometry of the selected satellite combination. The PSO fast satellite selection algorithm mainly includes the following six steps:
Step 1: based on real data extraction of visible satellites.
Step 2: encoding, the number of each visible satellite is encoded as 1, 2, …,
Step 3: formation of the initial population.
Step 4: selection of the fitness function.
Step 5: update of the particle position and velocity, and fitness function.
Step 6: search for visible satellite subsets with better spatial geometry.
For each particle in the population
where
The initial velocity of the particle is expressed as

A diagram of the initial particle population model.
The particles are iteratively searched according to equations (2) and (3). In the next time step, the velocity of the particle is determined by the following factors: the current time velocity

PSO satellite selection algorithm flowchart.
Influence of the parameters on the PSO satellite selection algorithm
The parameter selection plays a key role in the algorithm performance. The parameters in the PSO fast satellite selection algorithm include the population size, inertia weight, and acceleration coefficients. The PSO algorithm faces a “premature” problem, where in the particle loses diversity, staying at the local optimum, such that the algorithm is unable to find the global optimal solution; consequently, the particle moving speed is too slow to achieve rapid optimization. This problem has been minimized by some researchers to varying degrees.33,34 However, the optimal parameters of the evolutionary algorithm need to be selected based on the specific application and empirical values. Therefore, based on six satellites selected as an example, the effect of parameters on the performance of the algorithm is analyzed based on actual data.
Influence of inertia weight on the algorithm performance
The aforementioned conclusion was verified by the experiments of Eberhart and Shi.
35
When
According to the PSO satellite selection procedure, the algorithm simulation parameters were set as follows: the number of iterations was 50; the acceleration coefficients were
Effect of the inertia weight on the performance of the algorithm.
GDOP: geometric dilution of precision.
When the GDOP value is relatively low, the spatial geometry of the satellites is better and the positioning accuracy is higher. Therefore, the fitness function of the algorithm is defined as the GDOP of the computing satellite, and the algorithm quickly searches for the minimum GDOP and its corresponding satellite combination through multiple iterations.
As can be seen from the results in Table 1, the average fitness function obtained by the inertia weight in the range of
Effect of the acceleration coefficients on the algorithm performance
The acceleration coefficients
Effect of the acceleration coefficients on the algorithm performance.
GDOP: geometric dilution of precision.
It can be seen from the results that the preferred combinations of
Effect of the population size on the algorithm performance
There are several parameters that need to be adjusted in the basic PSO algorithm. One of these parameters is the size of the population. In general, the population size is selected according to the difficulty of the problem to be solved. In general, a value of 20–50 is common. The number of termination iterations of the first set algorithm was set to 50 generations, the inertia weight was
Effect of the population size on the algorithm performance.
GDOP: geometric dilution of precision.
Table 3 shows that as the population size increases, the average satellite selection time of the algorithm increases. When the population size is
ASAPSO satellite selection algorithm
Faced with the application of PSO in the problem of satellite selection, the algorithm parameters were adjusted via simulation experiments. The experimental results show that the parameter selection of the algorithm directly affects the algorithm performance and time spent on satellite selection. Therefore, if the algorithm parameters are fixed, the relationship between the algorithm performance and satellite selection time can only be balanced via a compromise method.
However, the optimization effect of the parameters selected using the compromise method is not ideal and requires that the algorithm parameters be adaptively adjusted with iterative changes. Moreover, when the algorithm enters the iteration, the differences in the particles in the population are very large and the global search ability is strong. However, the positions of the particles in the population gradually approach the global optimal value after multiple search iterations; moreover, the particle search adjustment is slower and global optimal value of the search cannot be guaranteed, resulting in the previously mentioned “premature” problem. In this article, the inertia weight was adaptively adjusted using the target value and PSO algorithm combined with the simulated annealing algorithm, which was used to optimize the satellite selection process to improve the satellite selection accuracy.
Adaptive inertia weight
As shown in equation (2), when
where
PSO algorithm combined with simulated annealing
Simulated annealing (SA) is an algorithm for solving the combinatorial optimization problem based on the cooling and annealing of metals37,38 and can be used to process cost functions that are nonlinear, discontinuous, and random. 39 In the PSO algorithm, the particles will gradually move closer to the best position in the group. When the optimal position of the group is locally optimal and the particle difference in the population is small, all particles will tend to local extreme. Eventually, the output of the algorithm will be inaccurate. SA algorithms are used to provide certain selected probabilities for particles with poor performance. This improves the particle diversity to a certain extent, enhancing the global search ability of the algorithm. 40
The algorithm first provides the initial temperature
where
ASAPSO satellite selection algorithm
Assuming that the total number of visible satellites processed by the receiver at the current time is

Adaptive SAPSO algorithm process diagram.
In Figure 3,

ASAPSO satellite selection algorithm flowchart.
In Figure 4,
Simulation experiment and result analysis
Simulation analysis of the integrated constellation satellite precision factor
The relationship between the number of satellites combined with BDS, GPS, and BDS/GPS was related to the GDOP factor at the same time using the same observatory. At this time, the receiver coordinates were [−2279827.3156, 5004704.3094, 3219776.2093], and the same clock state is used for GPS and BDS. Meanwhile, the elevation mask angle of satellites was set to 5°, and the simulation duration was 3 h. Figure 5 shows the number of visible satellites under different navigation systems.

The number of visible satellites is based on the GPS, BeiDou, and BDS/GPS integrated constellations.
Figure 5 shows the number of visible satellites for a single GPS, BeiDou, and BDS/GPS combined constellations. The results show that during the simulation time, the chosen number of satellites in BeiDou and GPS was between 8 and 11 and 8 and 10, respectively. The number of visible satellites in the BDS/GPS combined constellation twice that of a single constellation; at least 17 satellites can be observed simultaneously.
To determine the relationship between the number of different satellites and their corresponding GDOP, the min-GDOP of the all-in-view satellites and that of different number satellites were solved separately and compared. The results are shown in Figure 6.

BDS/GPS integrated constellation GDOP under the condition of the different satellite numbers: (a) the results of BDS/GPS integrated constellation GDOP under the condition of 6 satellites, (b) the results of BDS/GPS integrated constellation GDOP under the condition of 8 satellites, (c) the results of BDS/GPS integrated constellation GDOP under the condition of 10 satellites, and (d) the results of BDS/GPS integrated constellation GDOP under the condition of 12 satellites.
Figure 6(a)–(d) shows the min-GDOP value of 6, 8, 10, and 12 satellites selected and the GDOP value of all visible satellites at the same time within 3 h. It can be seen that the more the number of selected satellites, the smaller the value of GDOP and the closer it is to the GDOP value calculated using all the visible satellites. When the number of selected satellites is 10, the curves coincide sometimes. Therefore, it is possible to replace all visible satellites with a certain number of partially visible satellites according to the user’s need for positioning accuracy. When the required positioning accuracy is high, a combination with a larger number of satellites can be selected. And the smaller the GDOP value, the better the positioning accuracy performance. However, as the number of on-demand satellites increases, it takes more time on satellite selection. Therefore, while ensuring the accuracy of satellite selection, it is of great significance to study the fast algorithm for satellite selection.
Simulation analysis of the ASA algorithm
In this article, the computer CPU processor is configured as Intel® Xeno®, 2.20 GHz, and using MATLAB computational language. Real navigation raw data were used to verify the performance of the improved algorithm. The navigation message and observation files were obtained from the US IGS website http://www.igs.gnsswhu.cn/index.php/Home/DataProduct/igs.html. The BDS/GPS receiver coordinates were [−2279827.3156, 5004704.3094, 3219776.2093], and the chosen number of satellites was 6, 7, 8, and 10. The satellite position was calculated using the navigation ephemeris, the elevation mask angle of the satellites was set to 5°, and the simulation time was 3 h.
In this article, the parameters of the ASAPSO satellite selection algorithm are given according to multiple experimental tests and related to research.41–43 The total number of particles in the initial population

PSO and ASAPSO satellite selection algorithm GDOP curves.
In the PSO satellite selection algorithm, the particle’s GDOP value remains the same after two iteration times. Obviously, the PSO satellite selection algorithm easily falls into a local optimum. Instead, for the ASAPSO satellite selection algorithm, the particle searched for the global minimum during 50 iterations and the CPU time consumed was 2.736459 s. Compared with the previous experimental data, the traversal algorithm consumes approximately 4 s for one-time satellite selection and the improved algorithm can achieve fast satellite selection. From the curve in Figure 7, it can be seen that the ASAPSO has the ability to escape local extrema. When the number of iterations is from 15 to 25, the result of the algorithm search is near 2.45; then, in the 26th iteration, the algorithm escapes the local extremum and searches for the global optimal solution.
In the following, the three kinds of algorithm including the greedy, PSO, and ASAPSO satellite selection algorithms are compared with the traversing method. The GDOP calculation error is defined as the difference between the GDOP value obtained by the greedy, PSO and ASAPSO satellite selection algorithms and the GDOP value obtained by the traversing method. The results are represented in Figure 8.

GDOP error of three different satellite selection algorithms when six satellites selected.
Analyzing Figures 7–11, comparing ASAPSO satellite selection with PSO satellite selection and greedy satellite selection, it can be seen that in the given example of satellite selection, the GDOP error of the ASAPSO satellite selection algorithm is smaller than that of the PSO satellite selection algorithm and the greedy satellite selection algorithm. In addition, with the increasing of the number of selected satellites, when the number is 10, the GDOP errors corresponding to the three satellite selection algorithms of ASAPSO, PSO and greedy have less close to 0. But the ASAPSO algorithm still has more GDOP errors close to 0.

GDOP error of three different satellite selection algorithms when seven satellites selected.

GDOP error of three different satellite selection algorithms when eight satellites selected.

GDOP error of three different satellite selection algorithms when ten satellites selected.
On the basis of analyzing the accuracy of different algorithms, Table 4 shows the average time required for one-time satellite selection by different satellite selection algorithms.
Time-consumption comparison of different satellite selection algorithms.
PSO: particle swarm optimization; ASAPSO: adaptive simulated annealing particle swarm optimization.
The data in Table 4 show that ASAPSO takes less time than PSO and traversal, but ASAPSO takes more time than greedy, so it can be seen that greedy and PSO can improve the efficiency of satellite selection, while ASAPSO guarantees the accuracy of satellite selection, it can also improve the speed of satellite selection to a certain extent.
Conclusion
In this work, in order to improve the computational burden of the traditional traversal satellite selection algorithm, this article proposes a new satellite selection model based on the PSO algorithm, which realizes fast satellite selection and also guarantees the GDOP performance. The simulation experiments based on the real BDS/GPS navigation raw data show that: (1) when the same satellite is selected at the same time, about 86% of the GDOP error of the ASAPSO satellite selection algorithm is less than that of the greedy satellite selection algorithm, and about 80% GDOP error is smaller than that of the basic PSO satellite selection algorithm; (2) ASAPSO algorithm can improve the global search capability of satellite selection; and (3) with the increase in the chosen number of satellites, the time required for each satellite selection algorithm increases, but the time for selecting the minimum GDOP value of satellites based on the ASAPAO algorithm is less than the traversal and PSO algorithms, and higher than the time for greedy algorithm. After a large number of simulation experiments, it is shown that the work proposed in this article can achieve rapid satellite selection for a better satellite combination.
In the future, more computationally efficient algorithms need to be developed for wide usage of our algorithm. In addition, our algorithm can be implemented on the hardware platform for GNSS receiver, which is another interesting topic for future research.
Footnotes
Handling Editor: Dr Peio Lopez Iturri
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This study was supported by the National Natural Science Foundation of China (71731001 and 61571309), the Talent Project of Revitalization Liaoning (XLYC1907022), the Key R & D Projects of Liaoning Province (2020JH2/10100045), the Natural Science Foundation of Liaoning Province (2019-MS-251), the Scientific Research Project of Liaoning Provincial Department of Education (JYT2020142), and the High-Level Innovation Talent Project of Shenyang (RC190030).
