A navigation satellite selection algorithm for optimized positioning based on Gibbs sampler

In various applications of satellite navigation and positioning, it is a key topic to select suitable satellites for positioning solutions to reduce the computational burden of the receiver in satellite selection system. Moreover, in order to reduce the processing burden of receivers, the satellite selection algorithm based on Gibbs sampler is proposed. First, the visible satellites are randomly sampled and divided into a group. The group is regarded as an initial combination selection scheme. Then, the geometric dilution of precision is chosen as an objective function to evaluate the scheme’s quality. In addition, the scheme is updated by the conditional probability distribution model of the Gibbs sampler algorithm, and it gradually approaches the global optimal solution of the satellite combination with better geometric distribution of the space satellite. Furthermore, an “adaptive perturbation” strategy is introduced to improve the global searching ability of the algorithm. Finally, the extensive experimental results demonstrate that when the number of selected satellite is more than 6, the time that the proposed algorithm with the improvement of “adaptive perturbation” takes to select satellite once is 43.7% of the time that the primitive Gibbs sampler algorithm takes. And its solutions are always 0.1 smaller than the related algorithms in geometric dilution of precision value. Therefore, the proposed algorithm can be considered as a promising candidate for satellite navigation application systems.


Introduction
The BeiDou navigation satellite system (BDS) is a new system that provides positioning, navigation, and timing services for the entire Asia Pacific region since 2012, and the ultimate goal is to be used globally in 2020. 1 As it is widely used, its service demand will also increase. The BDS plays an increasingly important role in our work and daily life. How to effectively use BDS to serve us is necessary and meaningful work. The selection of BeiDou satellite combination is a very important part of it.
In observation space, the number of observable BeiDou satellites can usually reach to [12][13][14][15][16] or even more in total. 2 In the navigation and positioning application, a set of satellites with a better spatial structure needs to be selected from all visible satellites for positioning. The precision factor (geometric dilution of precision (GDOP)) is commonly used to measure the geometrical distribution of satellite space. It is obtained 1 by matrix multiplication and inversion calculation, which takes a long time. If a satellite combination with good spatial distribution is selected quickly from all visible satellite combinations, the number of GDOP calculations could be reduced, and the time-consuming required for satellite selection could be reduced. 3,4 Therefore, it is necessary to select the right satellite subset from observable ones for solving the problem in the various applications mentioned above. The problem of satellite selection has attracted many academicians to study. The key to solving this problem is to quickly eliminate redundancy from the many observable satellites and select effective satellites. Therefore, we have designed a satellite selection algorithm to improve the timeliness of satellite selection.
Previous research found that the positioning precision is affected by the selected satellite combination, and the performance of the satellite combination can be reflected by the GDOP value. 5 The smaller the GDOP value, the better the satellite selection result and the higher the positioning precision. 6 Based on the above findings, the minimum GDOP value (MGV) algorithm, the largest tetrahedron volume algorithm, and the maximum orthogonal projection were found and widely used. For the traditional algorithms, 7 the amount of calculation increases significantly with the increase in the number of observable satellites. 8 Furtherly, the largest tetrahedron volume algorithm, and the maximum orthogonal projection are mainly used for exactly four-satellite subset selection. Therefore, these algorithms are usually not applied to engineering projects directly. In recent years, a lot of researchers proposed machine learning (ML) algorithms to solve the satellite selection problem. 9,10 In addition to the shortcomings of these algorithms themselves such as easy to trap into local optimum, difficult to implement large-scale training samples, how to set appropriate parameters is also a difficult problem. Besides, neural network (NN) ideas are proposed for satellite selection algorithms, 11,12 which usually gives an approximate answer, and its results also depend on training process. Different training samples produce different results. In this article, in order to reduce the computational complexity and improve the timeliness, the Gibbs sampler algorithm is improved to make it suitable for BeiDou satellite selection scene.
This article is organized as follows. The related work analysis is described in section ''Related work,'' which compares the selection results of the traditional satellite selection algorithm and the recently proposed satellite selection algorithm, to pave the way for the algorithm proposed in this article. The related terminologies are described in section ''Related terminologies,'' which mainly introduces the main technical parameters for BeiDou satellite positioning and Gibbs sampler algorithm. The problem of satellite selection is described in section ''The problem of navigation satellite selection,'' and it is proposed that satellite selection is a combinatorial optimization problem. The details of Gibbs sampler algorithm to solve the satellite selection problem are described in section ''Using improved Gibbs sampler algorithm to select optimal BeiDou satellite combination.'' The experimental results are described in section ''Experiment,'' and the statistics and analysis are obtained from the amount of experimental data. The summary and conclusion of this article are described in section ''Conclusion.'' The future scope of this article is described in section ''Future scope.''

Related work
As mentioned above, GDOP value is one of the main performance index to judge the quality of selected satellite subset. The original satellite selection algorithm is to minimize the GDOP value of satellite subset, which is called the MGV algorithm. 13 In this algorithm, all possible satellite subsets are selected from all observable satellites, then select the one with the MGV as the optimal subset. 14 Simple permutation and combination calculations mainly involved in it. As the number of satellites increases, the computational complexity of this algorithm will also increase greatly. 15 Besides, the calculation of GDOP value of each satellite subset requires a large amount of matrix multiplication and inversion operations. 16 Given the above description, we can see that it has extremely poor real-time performance, which is difficult to apply in high dynamic navigation and positioning scenes. To relieve the calculation burden, some quasi-optimal GDOP algorithms are proposed.
G Ou and colleagues 17 proposed a recursive satellite selection algorithm to expand the selected satellite subset sequentially. M Wei et al. 18 proposed a new algorithm that makes use of two satellites' comparability and the distribution characteristic of satellites with high or low elevation to select satellites. D Roongpiboonsopit and HA Karimi 19 proposed a multi-constellations satellite selection algorithm (MCSSA). The MCSSA considers the geometric arrangements of observable satellites and selects the ones that spread evenly over the observed sky view. M Zhang and J Zhang 20 put forward an idea that selects a satellite subset in a view whose geometry is close to the best as the optimal satellite combination. However, these algorithms usually used to select the sub-optimal satellite subset merely. Besides, the positioning precision of navigation and positioning are not satisfied.
It can be seen that satellite selection performance of the MGV algorithm is poor, then other optimized satellite selection algorithms are put such as maximize the volume of sagittal tetrahedron of satellite subset. [21][22][23][24] The algorithm is to select the combination with the largest volume in the polyhedron made up of the observable satellites and the receiver. The larger the volume, the smaller the GDOP value. This algorithm traverses the satellite combination corresponding to each satellite and calculates the volume of the tetrahedron of each combination, so the calculation is large. Similarly, another algorithm named the maximum orthogonal projection is proposed. 25 However, the two algorithms are only suitable for selecting four satellites from all observable satellites. The calculation amount of the two algorithms is C 4 n ; n is the number of observable satellites. As the number of observable satellites increases, the calculation amount and time-consuming in satellite selection will increase, affecting the real-time performance of positioning. Many scholars have begun to study new improved algorithms to avoid massive calculations.
In recent years, ML algorithms such as genetic algorithm (GA) and support vector machine (SVM) algorithm are used to solve GDOP value-based calculation problems. In 2010, MR Mosavi 26 proposed that GA is used to achieve satellite selection. GA has the ability of fast random search. However, the local search ability of GAs is poor, which brings time-consuming in implementation of the algorithm, and low efficiency in the late evolution. In practical applications, the algorithms are prone to cause premature convergence problems. 27 The researchers have made a lot of improvements to the GA algorithm, which improves the precision of the algorithm. 10,28-30 However, because many parameters need to be configured in the process of calculation, the satellite selection speed will also slow down as the number of observable satellites increases. N Zarei 31 proposed that artificial NN is used to solve GDOP value without calculating the inverse matrix. It is based on the learning properties of artificial neurons but only gives an approximate rather than an exact answer. The performance of the above algorithms also depends on the training time and the amount of training data. DJ Jwo and CC Lai 32 presented an NN-based navigation satellite subset selection algorithm to reduce the training time of back propagation neural network (BPNN). A Hamed and M Mohammad-Reza 33 proposed improved back propagation (BP) algorithms, including resilient BP that has greater precision and less calculation time. Even if the idea of classification is used to simplify the problem, these algorithms still need to calculate the GDOP value of each satellite subset from all possible subsets. 34 Besides, this classification thought can only roughly classify crucial values of each satellite subset to an approximate range.
In order to avoid the shortcomings of the above existing algorithms, this article proposes a navigation satellite selection algorithm for optimized positioning based on Gibbs sampler to effectively improve the timeliness of BeiDou satellite selection and the positioning precision of BeiDou satellite.

Related terminologies
In various applications of BeiDou satellite navigation and positioning, in order to ensure the positioning precision, selecting suitable n(n ø 4) BeiDou satellites from several observable BeiDou satellites for solution is needed. 35,36 The study shows that when the observation error is constant, the difference of the geometry relationship between the observation point and the n BeiDou satellites participating in the positioning will directly affect the positioning precision. 37 The final solution of the BeiDou navigation positioning equation can be expressed as follows where DX is the position error and Dr is the observation error; GDOP(geometrical dilution of precision) is the geometric precision attenuation factor. GDOP reflects the spatial geometry relationship between the observation site and BeiDou satellites. The study shows that when the observation error is constant and its value is within an acceptable range, the GDOP value is proportional to the position error. So the smaller the GDOP value, the higher the positioning accuracy. 38 The GDOP value can be solved effectively by the method proposed in this article, which is based on the Gibbs sampler algorithm proposed by German in 1984. Its most significant feature is the construction of a Markov chain of this algorithm by constructing a conditional distribution sequence along a series of complementary directions. The algorithm is suitable for a distributed solution of discrete multi-dimensional problems. 39,40 The problem of BeiDou satellite combination is to find the optimal combination among all BeiDou satellites in order to minimize the GDOP value of the selected BeiDou satellite combination, which belongs to a kind of discrete combinatorial optimization problem. The distribution function of Gibbs sampler is as follows where X denotes a state vector of the system, L denotes the set of all state vectors, and X 2 L. T represents temperature and T . 0. The energy function e(X ) represents the energy of the state vector X , 0\e(X )\ +'. Z T = P X 0 2L e À1=T e(X 0 ) and p T (X ) 2 ½0, 1. Gibbs sampler updates its state vector in the following way: Suppose that the state vector X is divided into d components. Let the state vector in the tth iteration be After updating the state vector many times according to the above steps, the state vector X (0) , X (1) , . . . , X (t) , . . . , X (t + 1) , . . . approximately obeys the target distribution p. Gibbs sampler could ensure that the system starts from a random state vector and eventually converges to the target distribution. As can be seen from the Gibbs sampler distribution function, the smaller the value of the energy function of a certain state, the greater the selection probability. Based on the optimized target, the energy function is constructed to calculate the selection probability of BeiDou satellites. Then the best BeiDou satellite combination is selected with the smallest GDOP value according to the probability.

The problem of navigation satellite selection
Take the study of BeiDou satellite as an example, the selection of the optimal satellite set is a combinatorial optimization problem; select n from m observable satellites as a combination, that is, select the combination with the smallest GDOP value from C n m possible combinations. Based on the above principle, we propose the following problem model. Define S = f1, 2, :::, mg as the index set of m observable satellites, s represents each satellite in set S and s 2 S. Now we have the geocentric coordinates of M observable satellites Q = ½X, Y, Z. And define p = ½x, y, z as the geocentric coordinate of the observation point. The coordinate of each observable satellite is relative to the position of the observation point. The satellite selection optimization problem is to search the optimal a from S using the coordinates information where J is the minimum number of satellites to ensure the precision of satellite positioning, usually is 4. And G function represents the objective function for given Q, p and a. Since Q and p are known, the G function value can be computed by a shown as following definition.
Definition 1. GDOP function: GDOP of one satellite combination is calculated with the detailed coordinate values of selected satellites and observable satellites. It is an important performance index that could reflect the positioning precision. The smaller the GDOP value, the higher the positioning precision. This article aims to minimize the GDOP value of the satellite subset using Gibbs sampler algorithm with the help of ''adaptive perturbation'' strategy (improved Gibbs sampler).
The main points of the proposed algorithm are introduced as follows. First, the satellite selection problem is described as a combination optimization problem, and the objective function and search space are defined. Then Gibbs sampler is incorporated to solve the problem. Meanwhile, ''adaptive perturbation'' strategy is designed to improve the global searching ability of the algorithm. In this algorithm, GDOP value of each satellite combination is used to compute the corresponding energy function value, which will be utilized to consider its selection probability. The ''adaptive perturbation'' strategy mainly includes changing satellite selection probability by changing weighting coefficient value. The proposed algorithm can be considered as a promising candidate for satellite navigation application systems. BeiDou satellite was selected as an example in this article, and a number of suitable BeiDou satellites were selected from the observable satellites relative to the observation point. Usually, the number of observable satellites in satellite navigation system is about 15 at a certain time. 41 It has been proved that when the loss of positioning accuracy is not well, the calculation amount could be reduced effectively after selecting a suitable number of well-distributed satellites. 42,43 Calculate the azimuth and elevation angle of the observable satellites Set the observation point as the origin, the long axis of the earth ellipsoid as the X-axis, the short half axis of the earth ellipsoid as the Y-axis, and the normal of the earth ellipsoid as the Z-axis, thus, the carrier coordinate system is constructed. 44 where H is the transformation matrix between the carrier coordinate system and the geocentric coordinate system H = À sin B p cos L p À sin B p sin L p cos B p À sin L p cos L p 0 cos B p cos L p cos B p cos L p sin B p Calculate the state matrix of the BeiDou satellites and construct the objective function Let the selected satellite combination be a = fS 1 , S 2 , . . . , S n g, then the azimuth and elevation angles of the BeiDou satellites are fA S 1 , A S 2 , . . . , A S n g and fE S 1 , E S 2 , . . . , E S n g, respectively; the state matrix G a ð Þ of the BeiDou satellite combination is calculated using equation (9) G a ð Þ= Using improved Gibbs sampler algorithm to select optimal BeiDou satellite combination

Gibbs sampler algorithm and BeiDou satellite selection problem
Gibbs sampler is an algorithm used to obtain a series of observation samples. The Gibbs sampler algorithm continuously updates the satellite combination selection scheme through random sampling to optimize the objective function. When a certain condition is satisfied or the number of iterations reaches the maximum, the iteration is terminated and the final combination scheme is obtained. 46,47 Preliminary research has shown that it has innate advantages such as sensitivity and rapid convergence in solving such complex combination optimization problems. 48,49 The method to solve the BeiDou satellite combination selection problem is to find the optimal BeiDou satellite combination among all observable satellites so that its GDOP value reaches to the smallest, which belongs to discrete combination optimization problems. Improved Gibbs sampler algorithm was used to calculate the selection probability of each BeiDou satellite and complete the optimization of the BeiDou satellite combination according to the probability so that it could converge to the optimal or near optimal set of BeiDou satellites.
The specific steps of improved Gibbs sampler algorithm for selecting the optimal BeiDou satellite combination Define L as the number of iterations, let L max be the maximum number of iterations, and initialize L = 1; let ) denote a initial selection scheme for BeiDou satellite combination, which means that in the Lth iteration, dimension set D randomly selects n satellites from m BeiDou visual satellite set C as a group. Then the state of each dimension in the initial selection scheme a 0 L of BeiDou satellite combination in the Lth iteration is known.
The optional BeiDou satellite record table is defined as R, which means the set C composed of m BeiDou observable satellites except the number of selected visual satellites in initial selection scheme a 0 L of BeiDou satellite combination. Define the number of BeiDou satellites in the optional BeiDou satellite record table R as p = m À n; initialize i = 1; define variable k and initialize k = 1; R k represents the BeiDou satellite record table after the kth iteration, then initialize R k = R.
After the kth update, the kth BeiDou observable satellite is selected from the optional BeiDou satellite record table R k to obtain the state a L, K (d i ) of the d i of the ith dimension, and the BeiDou satellite combination selection scheme a L, K is obtained after the kth update of the state a L, K (d i ) of the d i of the ith dimension in the Lth iteration; The local energy e L, K (a L, K (d i ), a 0 L (d j ) j2B i ) corresponding to the BeiDou satellite combination selection scheme a L, K is given by where B i is the set of the subscripts of the remaining (n À 1) dimensions with the except of d i of the ith dimension in dimension D. When i = 1, B i = 2, 3, . . . , n; when i ø 2, B i = 1, 2, . . . À 1, i + 1, . . . , n; a 0 L (d j ) j2B i is all the states of the remaining (n À 1) dimensions after that the ith dimension d i in initial selection scheme a 0 L of BeiDou satellite combination is removed from dimension set D; N a L, K is the combination of n BeiDou satellites selected in BeiDou satellite combination selection scheme a L, K , and f (N a L, K ) is the GDOP value of the objective function of a L, K ; the distribution function of Gibbs sampler is given by where X represents a state vector of the system, L represents a set of all state vectors, X 2 L. T .0 represents temperature, and energy function e(X) represents the energy of state vector X, 0\e(X)\ + '.
Gibbs sampler updates its state vector by assuming that the state vector X is divided into f components, that is, X = (x 1 , x 2 , . . . , x f ). Let the state vector . , x t f ) in the tth iteration, then for any u (u = 1, 2, . . . , f ) in the t + 1 iteration, the conditional probability distribution p(x u jx (t + 1) in the state space. The above probability distribution can be obtained by Gibbs sampler distribution function.
It can be proved that the state vectors X (0) , X (1) , . . . , X (T ) , X (T + 1) , . . . approximately obey the target distribution p by updating the state vectors sufficiently according to the above steps. In this way, the goal of sampler random samples from a given distribution is achieved. Gibbs sampler is a mechanism that ensures that the system starts with a random state vector and eventually converges to the target distribution. From the Gibbs sampler distribution function, it can be seen that the smaller the energy function value of a state, the greater the probability of selection. From equations (11) and (12), the probability after the kth update of the state a L, K (d i ) of the d i of the ith dimension in the Lth iterations is given by where T is the temperature coefficient in the Gibbs sampler distribution function and has T.0; d i updates its state according to the state of the remaining (n À 1) dimensions in BeiDou satellite combination selection scheme a L, K . That is, in the case where the number of BeiDou satellites selected in the remaining (n À 1) dimension is known, the remaining BeiDou satellites were selected in C according to the probability function m L, K (a L, K (d i )) to complete a status update. At the same time, it can be seen that the lower the local energy corresponding to a certain state, the more likely d i is to select it. In order to make the algorithm converge better to BeiDou satellite selection scheme with global minimum energy, an improved strategy of ''adaptive perturbation'' is given by where g is a perturbation scale and is defined as follows g + 1 ł g max g max , others n Obviously, when the optimal solution obtained at the initial stage of the algorithm is still evolving without introducing the perturbation scale, it does not affect the probability of selecting BeiDou satellite for d i of the ith dimension. When the optimal solution obtained by the algorithm does not improve significantly after NC con (NC con is positive integer) cycles, the perturbation effect starts to occur when the possible local minimum occurs. The local energy (a L, K (d i ), a 0 L (d j ) j2B i ) of d i in the ith dimension is significantly increased, so the possibility of selecting BeiDou satellite that selected previously for d i in the ith dimension is reduced, and it tends to explore new solutions. In the case that the optimal solution is still not improved, the perturbation action is accelerated, which makes the solution more easily jump out of the local minimum. In addition, in order to ensure the convergence speed of the algorithm, g max is introduced to control the perturbation scale.
In the Lth iteration, the selected BeiDou satellite number of the state a L, K (d i ) of the ith dimension d i in the kth update is removed from the optional BeiDou satellite record table R k after the kth update, to obtain the optional BeiDou satellite record table R k + 1 after the k + 1th update. Then assign P À 1 to P. If k\p is valid, then k+1 is assigned to K and new K. Otherwise, make the probability set m L = (m L, 1 (a L, 1 (d i )), m L, k (a L, k (d i )), . . . , m L, P (a L, P (d i ))) for the state of the ith dimension d i in the kth update in the Lth iteration, and an observable BeiDou satellite for d i of the ith dimension is selected according to the probability set, which is represented by a L (d i ). To judge whether i\n is valid or not, if it is valid, the state of the ith dimension for initial selection scheme a 0 L of BeiDou satellite combination obtained in the Lth iteration will updated to a 0 L (d i ) = a L (d i ). Then assign i + 1 to i and new i. Otherwise, the dimension set D in the Lth iteration chooses the BeiDou satellite combination selection scheme fa 1 , a 2 , . . . , a L , . . . , a L max g formed by n satellites in the set C composed of m BeiDou observable satellites. If L ø L max , then make the selection scheme set a 1 , a 2 , . . . , a L , . . . , a L max f g for BeiDou satellite combination formed by n satellites in the set C composed of m BeiDou observable satellites. And choose the selection scheme for BeiDou satellite combination with the lowest objective function value as the optimal scheme from the scheme set fa 1 , a 2 , . . . , a L , . . . , a L max g; Otherwise, assign L + 1 to L and new L. Based on the discussion above, a flowchart that describes the operation steps of the algorithm intuitively is presented in Figure 2. The main process of improved Gibbs sampler algorithm is shown in Figure 3. Figure 3 highlights improvement measures added to the basic Gibbs sampler algorithm. It is a perturbation mechanism applied to the desired heuristic factor, in order to prevent the algorithm from falling into local optimum.

Experiment
In order to verify the performance of the proposed algorithm, three algorithms are compared, including the traditional traversal algorithm, Gibbs sampler algorithm, and Gibbs sampler algorithm with the help of ''adaptive perturbation'' strategy (improved Gibbs sampler algorithm). The GDOP value is respectively computed via VC++ software running on a Linux server with 8 Intel Xeon CPUs at 2.66 GHz, 3GB memory. We make use of high-precision global navigation satellite system (GNSS) receiver to collect raw data for 4 h. Considering its validity, we only choose 8000 continuous data from the raw data, including ephemeris data and observation data of 15 satellites in view. Two sets of experiments are conducted. In the first set, we set time as an argument and observe the change of GDOP value. In the second set, we set iteration number as argument and observe the change of GDOP value.
From the three ephemeris diagrams shown in Figure  4, We can see the results of the three algorithms in the same set of experiments, which are reflected by specific GDOP values. They are the best combination of six satellites selected from 15 observable satellites. More specifically, color of solid sphere in Figure 4 is used to represent satellite status, red means the satellite is selected, and blue means the satellite is not selected. The value marked in the solid sphere is satellite number. It can be seen that satellites numbered #142, #144, #150, #151, #152, and #154 were selected using traditional traversal algorithm, and its GDOP value is 2.6901 (Figure 4(a)); satellites numbered #142, #144, #149, #150, #151, and #152 are selected using Gibbs sampler algorithm, and its GDOP value is 2.9414 (Figure 4(b)); satellites numbered #142, #144, #149, #150, #151, and #154 are selected using improved Gibbs sampler algorithm, and its GDOP value is 2.8227 (Figure 4(c)).  In order to further distinguish the advantages and disadvantages of the three algorithms, 20 sets of experiments were carried out; the average of the experimental results is shown in Table 1. From Table 1, we can see that the average GDOP values of satellite subset are 2.6965, 2.9585, and 2.821, respectively, which are obtained by the three algorithms, respectively. It has been proved that the traditional traversal algorithm can achieve approximate optimal solution with almost smallest GDOP value (2.6965) but with almost biggest time-consuming (15.655 s) because of its large amount of calculation. Thus, it is difficult to be used in realtime-based navigation and positioning system. Both Gibbs sampler and improved Gibbs sampler algorithm have reached the approximate optimal solution with the GDOP values of 2.9585 and 2.821, respectively. However, since they are optimized algorithms, they can obtain approximate optimal solutions in an acceptable time range, which has important practical application value. Figure 5 intuitively presents the experimental results in Table 1. In each group of experiments, traditional traversal algorithm can obtain the optimal solution (the MGV); improved Gibbs sampler algorithm is superior to Gibbs sampler algorithm for its solutions are always 0.1 smaller than that in GDOP value.
The stability of the algorithm in a certain period of time can also be used as a criterion for evaluating the performance of the algorithm. Figure 6 shows that changes in GDOP value calculated by the two algorithms in 2 h. It can be seen that GDOP value of the satellite subset using improved Gibbs sampler algorithm is smaller than that using Gibbs sampler algorithm most of the time. Furthermore, the GDOP value of the satellite subset selected by the improved algorithm is more similar to the optimal algorithm, which is shown in the red curve in Figure 6. The above experimental results verified that the improved Gibbs sampler algorithm in this article has better performance and higher stability in practical application.
In addition, we made statistics about the relationship between GDOP value and iteration index over 100 random realizations by the two algorithms mentioned above, which is shown in Figure 7. As illustrated in Figure 7, for improved Gibbs sampler algorithm, when the index of iterations reaches 35, the optimal GDOP value emerges. However, for Gibbs sampler algorithm, the optimal GDOP value does not appear until the number of iterations is 50, 15 iterations more than the former algorithm. Furthermore, the proposed algorithm with the improvement of ''adaptive perturbation'' outperforms primitive Gibbs sampler algorithm by up to 72.6%, and its solutions are always 0.1 smaller than the related algorithms in GDOP value. Obviously, the designed ''adaptive perturbation'' strategy can improve  the global searching ability of the Gibbs sampler algorithm and achieve approximate optimal solution, with low complexity and fast convergence.

Conclusion
In this article, the satellite selection problem is described as a combination optimization problem. Then, Gibbs sampler-based navigation satellite selection algorithm is proposed. A fast satellite selection was achieved using the proposed algorithm, and the number of calculations for the GDOP value is reduced. According to simulation experiments on the algorithm, the results are as follows: (1) When the number of selected satellite is 6, the time that the proposed algorithm with the improvement of ''adaptive perturbation'' takes to select satellite once is 4.425 s, 43.7% of the time that the primitive Gibbs sampler algorithm takes.
(2) The ''adaptive perturbation'' strategy could improve the global searching ability of the algorithm. (3) The GDOP value that the proposed algorithm with the improvement of ''adaptive perturbation'' calculate is 2.8, 0.1 smaller than that calculated by the primitive Gibbs sampler algorithm. The extensive experimental results demonstrate that the algorithm can achieve the approximate optimal satellite combination in real time with almost smallest GDOP.

Future scope
BeiDou satellite has been widely used in the navigation and positioning of aircraft, ships and vehicles, time service, and other fields. In various applications of BeiDou satellite navigation and positioning, the result of satellite selection will directly affect the positioning precision, so the satellite selection algorithm is of great significance for it. The satellite selection algorithm proposed in this article has the advantages of low complexity, high execution efficiency, and good timeliness. Compared with single constellation, the number of visible satellites was increased in multi-constellation, but the method of satellite selection is similar. Thus, the algorithm proposed in this article can also be applied to multi-constellation integrated navigation system in the future.

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.