A Novel Method for Optimum Global Positioning System Satellite Selection Based on a Modified Genetic Algorithm

In this paper, a novel method for selecting a navigation satellite subset for a global positioning system (GPS) based on a genetic algorithm is presented. This approach is based on minimizing the factors in the geometric dilution of precision (GDOP) using a modified genetic algorithm (MGA) with an elite conservation strategy, adaptive selection, adaptive mutation, and a hybrid genetic algorithm that can select a subset of the satellites represented by specific numbers in the interval (4 ∼ n) while maintaining position accuracy. A comprehensive simulation demonstrates that the MGA-based satellite selection method effectively selects the correct number of optimal satellite subsets using receiver autonomous integrity monitoring (RAIM) or fault detection and exclusion (FDE). This method is more adaptable and flexible for GPS receivers, particularly for those used in handset equipment and mobile phones.


Introduction
The geometric dilution of precision (GDOP) [1,2] describes the accuracy of positioning from the geometry of the satellites visible to the receiver [3]. Errors in a GPS receiver's determination of its position are typically the GDOP times the measurement error; in other words, the GDOP is an error amplification factor, which means that a smaller GDOP generally results in a more accurate position. Therefore, a smaller GDOP is better. It has been shown that the number of satellites cause the GDOP to move in the opposite direction, i.e., a higher number of satellites leads to a lower GDOP value, and a lower number of satellites generally produces a bad GDOP [4] and results in a corresponding reduction in the positioning error. The simplest method is to choose a combination of all of the satellites, all of which must be in view to achieve optimal position accuracy with a minimal GDOP [5]; however, some GPS receivers can receive and parse navigation signals from only a limited number of satellites in real time because of restrictions on hardware resources. Therefore, at least four satellites should be selected for threedimensional positioning to balance hardware resources and positioning performance, however, a minimum of 5 satellites is required to evaluate the consistency and reliability for the GPS receiver autonomous integrity monitoring(RAIM), meanwhile, more than five pseudo-ranges are need to be used to identify the contaminating measurement in the procedure of fault detection and exclusion (FDE).
Calculating the GDOP typically involves multiple mathematical matrix operations, such as inversions and transformations, particularly for the optimal satellite selection method, which involves selecting the subset with the lowest GDOP using all of the satellites. However, the approach used for GDOP calculation creates a heavy burden for the receiver because the calculation's complexity increases exponentially with the number of visible satellites [5].
Satellite selection is a classical combinatorial optimization problem, the solution methods of which have been the subject of intense study in recent years. One solution method includes geometric methods, such as the fast satellite selection approach [6][7][8], quasi-optimal satellite selection [9], and optimal selection [10,11]. Miaoyan Zhang [8] proposed a novel algorithm based on selecting the subset of in-view satellites that has a closer distance to optimal solution from the aspect of geometry when there are more than four satellites for multiple constellations.
The other solution methods include statistical and machine learning approaches based on neural networks [5,[12][13][14][15], support vector machines [16] and fuzzy logic [17]. Simon [12] initially proposed the neural network-based approach as a way to predict the GDOP and complete the classification, and back-propagation neural networks and optimal interpolative nets have been employed to achieve the two objectives, respectively. Jwo [5] proposed several types of neural network mapping relationships for different classes of relationships between inputs and outputs and compared the performance of different network architectures. Mosavi [13,14] studied the relationships of eigenvalues between the visibility matrix and its inverse matrix for GDOP. Azami [15] developed several improved neural network training algorithms, including the Levenberg Marquardt (LM), modified LM and resilient BP (RBP) methods. ChihHung [16] addressed the approximation of the GPS GDOP using support vector machines (SVMs).
In this paper, we develop a novel modified genetic algorithm to select the optimal subsets of satellites for GPS receivers. Because of the global optimization capability and fast convergence of the modified genetic algorithm, this approach effectively searches the entire solution spaces and determines the optimal satellite subset after evolving through a number of generations without the number limitation of required visible satellites, which improve the adaptability and flexibility of the algorithm under a unified framework.

The Geometric Dilution of Precision
The mathematical model behind GPS is based on pseudo-range measurements between the receiver and visible satellites [4]. Without loss of generality, supposing that (x u , y u , z u ) represents the three-dimensional coordinates of the receiver's position in the ECEF system, (x j , y j , z j ) denotes the coordinates of the jth satellite's position in the ECEF system, and t b indicates the equivalent distance of the time difference between the receiver arrival time and the satellite signal sent time. The receiver acquires information from n(n > 4) satellites and determines the pseudo-range value.
It is shown that Eq (1) is a nonlinear function because of the square root mathematical operation. In general, this class of problem can be linearized using the mathematical principle of Taylor series and be written in a concise matrix form as where the order of measurement matrix G is n × 4 (n ! 4), which can be represented as To simplify this problem, we assume that the measurement error has a Gaussian distribution independently. The least squares solution for the super definite matrix is typically given by To illustrate the position accuracy, the covariance of Δx is It is reasonable to assume that all of the errors in the pseudo-range measurements are stationary random processes for short time intervals, which are independent and identically distributed with a variance of s 2 uere . Let The GDOP, which represents the amplification of the equivalent ranging errors in the measurement into the receiver's position solution, is According to linear algebra and matrix theory [25], when λ i are the eigenvalues of an invertible matrix A, l À1 i are assumed to be the eigenvalues of the inverse of the matrix A −1 . The measurement matrix H ¼ ðG T GÞ À1 is always revertible, and the eigenvalues l À1 can be found using the eigenvalues λ i of (G T G). This leads to a significant reduction in the number of calculations required to find the matrix inverse; the eigenvalues λ i of (G T G) can be quickly calculated using QR decomposition. Let where tr(Á) represents the trace function of the matrix and c is the constant for the speed of light.
The satellite selection process is to select a subset of satellites visible in the current view for the purpose of the best positioning accuracy, which corresponds to selecting the rows of the visibility matrix G that produce the minimum GDOP as follows: where s i is the identification number of the satellite currently in view such that

Genetic Algorithm Preliminaries
A genetic algorithm (GA) [18][19][20] is a robust global optimization approach that operates according to the principles of evolution, such as inheritance, selection, crossover and mutation. In a GA, chromosomes are used to encode a candidate solution, and the fitness function is the indication factor that represents the quality of the individuals. As the population evolves, its average fitness gradually increases based on the principle of the 'survival of the fittest'; excellent genes that are more fit are usually selected stochastically. The selected individuals are operated through the process of the genetic operator, such as selection, crossover and mutation, until the algorithm reaches termination.
In previous studies, GA was primarily used for micro-strip antenna optimization [21,22], resolving ambiguity [23] and multi-path mitigation [24] in satellite navigation. This paper proposes a novel modified genetic algorithm (MGA) for GPS satellite selection.

Methods
Because individuals evolve from generation to generation, the optimal solution is found in a short period of time. Several strategies were used to improve the performance of the algorithm. First, the elitist strategy reserves the most fit gene of the previous generation to improve the average fitness of the next generation. Second, adaptive mechanisms are used to adjust the mutation and crossover rates to maintain each generation's diversity. Finally, a hybrid method accelerates the convergence. Without loss of generality, we establish the following mathematical definitions: MaxGenNumber represents the maximum number of evolution cycles.
PopSize represents the size of the population.
Pop represents the population.

Representation
The integer code includes a clear description of the satellite selection problem with population diversity followed by binary formation. It is assumed that N GPS satellites are visible in the current view, which are coded as (k 1 , k 2 , Á Á Á, k N ). The objective is to select the four signals Ind i = (k i , k j , k m , k n ) that provide the minimum GDOP value and that satisfy the following constraint: ( where the size of the solution space is C 4 N , Ind i represents an individual, and k i is a gene on the chromosome. Without loss of generality, we assume that the list of currently visible satellites is [2,5,7,14,15,20,21,25] and possible solutions are [2,5,7,14] or [2,5,7,15]. A total of 5 or 6 satellites must be selected when considering RAIM and fail detection and exclusion (FDE), which means that the code's dimension must increase to, for example, [2,5,7,14,15] or [2,5,7,14,15,20].

The Fitness Function
The fitness function is a special type of objective function that indicates the current number of individuals; a larger number is better in most cases. We minimize the GDOP as follows to obtain a more accurate position: Note that according to Eq (11), the fitness function is monotonic and non-negative, and the number of calculations can be reduced by omitting the square root, which yields Selection During each generation, individuals are selected by the Ps probability to produce the offspring, in which the individuals with higher fitness have considerably higher probabilities of being selected.
We define the fitness selection operator as T s : S PopSize ! S, where S represents the solution space and PopSize is the population size. Then, where Fitness(Ind i ) is an individual's fitness and the probability distribution function P{Ind i } satisfies the following condition: The role of the selection operator is to select the individuals that reproduce stochastically; the roulette wheel selection method [18] based on a proportional-selection mechanism is the most widely used strategy in which a greater fitness implies a higher selection probability.
To reduce the time required to find the optimal solution, the elitist reservation strategy is used. Using a ranking based on the population's fitness, the best chromosomes are reserved for the next generation. This process accelerates the algorithm's convergence.

Adaptive Crossover Operators
Crossover is a critical genetic operator that is also called recombination. In this process, a couple of solutions are selected to create offspring that inherit the characteristics from the "parents". The process continues until a new population is created.
Without loss of generality, T c : S 2 ! S is a stochastic map with cross probability p c for the single-point crossover operator. 8(Ind 1 , where Len is the length of the chromosome. In general, the cross probability P c strongly influences the performance of the MGA. During the initial stage of the MGA's evolution, if the best chromosome is considerably more fit than the other individuals, the optimum chromosome has a substantially higher probability of being selected, which causes the algorithm to converge to a local minimum. Therefore, a gene with a high fitness should be restricted from over-reproducing to maintain the gene diversity at the initial stage of population evolution. In turn, the average fitness of all individuals is approximately equal to the maximum value of the population. Consequently, the possibility of selecting an individual with an average fitness is equal to that of selecting the chromosome with the highest fitness, which eliminates competition between excellent individuals. Then, the selection operation becomes random, which results in the worst performance when searching for the best chromosome during the post-evolutionary stage. Fig 1 is a demonstration of single-point crossover operation for MGA-based satellite selection.
The following novel adaptive strategy for generating the cross probability for different evolutionary stages that controls the gene diversity to a certain, but not large, degree is proposed: where Fitness max and Fitness avg denote the maximum and minimum fitness of the population, respectively. Fitness 0 is the larger one between the pair of parents. p cmax denotes the maximum probability of crossover. p cmin denotes the minimum probability of crossover.

Adaptive Mutation Operators
The mutation operator brings a new gene into the population, keeping the population's diversity from converging prematurely. Fig 2 is an example of single-point mutation operation for MGA-based satellite selection.
The mutation operator is used to alter an individual gene for the purpose of population diversity; however, the MGA degenerates into a random search when the mutation probability P m is high. In contrast, the probability of producing certain useful genes is zero when P m is low. To improve the algorithm's ability to find a global optimum and to avoid converging prematurely or becoming stuck at a local minimum, the adaptive mutation is Fitness max and Fitness avg denote the maximum and minimum fitness of the population, respectively. Fitness 0 is the larger one between the pair of parents. p mmax is the maximum probability mutation. p mmin is the minimum probability mutation.

The Hybrid Genetic Algorithm
To utilize the benefits of the two classes of approaches, a hybrid genetic algorithm that combines the advantages of an MGA and fast selection is proposed. To allow the algorithm to quickly find the best solution, individuals may be initially created in the areas with the higher probability for optimal solutions. It is easy to obtain an equivalent formulation of Eq (2) when the receiver position offset is described in the ECEF coordinate system.
where α (n) and θ (n) are the elevation and azimuth angles of the nth satellite, respectively. The main idea behind this step is to randomly generate all of the chromosome subsets with geometries similar to that of the optimal subset of the population by grouping all of the satellites and randomly selecting one satellite from each group to form a chromosome subset according to their azimuths and elevations.

Termination
This evolutionary process for MGA satellite selection arrives at an endpoint when one of the following conditions has been reached: 1. A solution is found that satisfies the minimum criterion, GDOP < 3.

Results
To demonstrate the performance of the proposed MGA satellite selection algorithm, the OEM-Star, which is one of NovAtel's OEM global navigation satellite system receiver platforms, was used to collect broadcast ephemeris data and to calculate all of the satellites' positions in the ECEF coordinate system every second for 12 hours. The OEMStar receiver was placed at the author's institute, which has ECEF coordinates of [−2258692.95, 4405376.94, 4007987.94]. At the beginning of the evolutionary process, four different satellite signals were randomly selected to compute the GDOP from the geometry matrix G, using Eq (6). The following experiments were conducted using Matlab 2010 on a personal computer with an Intel Core (TM)2 Duo CPU and 2 GB of memory.

Simulation Parameters
The primary parameters of the proposed MGA satellite selection algorithm include the population size, the crossover probability, the mutation probability and the number of evolution iterations. These parameters influence the convergence speed and accuracy of the algorithm. A high crossover probability accelerates the creation of individuals and increases the possibility of an excellent gene being destroyed, which negatively affects the process of evolution. In contrast, when the crossover probability is low, the speed at which new individuals are created decreases, and the search process stagnates. With regard to the mutation probability, a high probability results in the MGA being closer to a random search algorithm, and a low probability reduces the likelihood of producing new individuals and of premature convergence. Table 1 lists the values of all of the parameters used in the simulations. shows that the GDOP calculated using the all-in-view (AIV) method is minimized, and the proposed MGA's performance is equivalent to that of the optimal selection algorithm. The GDOP of the optimal selection algorithm is slightly better than that of the AIV method, whose performance, however, is better than that of the neural network and the fast selection algorithm, particularly in terms of accuracy and efficiency. A comparison is shown in Table 2. A comparison of the residuals of the GDOPs of the various algorithms is provided in Fig 6, where it can be observed that the proposed MGA is the most accurate and has the smallest residuals. Fig 7 shows the average fitness function and the best individual fitness versus the number of iterations. The average fitness function gradually decreases over time as the process of evolution continues, which shows that the algorithm converges and that the best chromosome is eventually obtained. The proposed novel MGA satellite selection algorithm is not only suitable for the common problem of selecting 4 satellites but can also be used to select 5 or 6 satellites under RAIM or FDE conditions without modification. Fig 8 presents    by the MGA, which shows that the GDOP gradually decreases as the number of satellites selected, namely, 4, 5 and 6, increases.

Conclusion
A novel method for selecting satellites for GPS use was proposed and shown to provide both parallel and global convergence. The MGA can select a subset of satellites of any size that satisfies the position requirements using an elite conservation strategy, adaptive mechanism, hybrid genetic algorithm and reasonable designs of the fitness function, and the selection, crossover and mutation operators. Comprehensive simulations were conducted and demonstrated that the MGA-based satellite selection method can effectively select an optimal subset of the available satellites in both conventional and RAIM modes. The latter is more feasible and adaptable to the GPS receivers that are used in handset equipment and mobile phones. An unexpected discovery was that this method can be applied to not only single constellation systems such as GPS but also to multi-constellation systems because of its ability to select more than 4 satellites.