AModified Range Consensus AlgorithmBased onGA for Receiver Autonomous Integrity Monitoring

With the considerable increase of visible satellites for positioning, the fault detection and identification performance of Range Consensus (RANCO) algorithm for Receiver Autonomous IntegrityMonitoring (RAIM) will significantly be improved. However, the calculation amount of RANCO algorithm will exponentially increase for the sharp addition of visible satellite subsets. &is paper proposes a modified RANCO algorithm based on genetic algorithm (GA-RANCO) for RAIM to inhibit the exponentially expanded calculation amount. To reduce the calculation amount in searching the optimal minimal necessary subset (MNS), the preselection step is developed to speed up the convergence process of GA-RANCO. It is executed to exclude the chromosomerepresented MNS for which the count of faulty satellites will exceed the upper limit of independent simultaneous satellite faults to be monitored. Mathematical simulations are introduced to determine the GA parameters, and simulation experiments under different schemes are designed to evaluate the performance of GA-RANCO algorithm. Results illustrate that the time consumption under a large number of visible satellites of GA-RANCO is much lower than that of RANCO and the faulty detection and identification performance of GA-RANCO is the same as that of RANCO.


Introduction
e integrity of GNSS is an important factor to ensure the safety of civil aviation, which can be assured at system or user level [1][2][3]. e former is provided through an independent network of monitoring stations and a dedicated integrity channel, such as satellite-based augmentation system (SBAS) and ground-based augmentation system (GBAS), and the latter is provided by Receiver Autonomous Integrity Monitoring (RAIM) [4,5]. With more and more visible satellites from multiconstellations being possible to be received at the same time, the multiple hypothesis solution separation (MHSS) algorithm and the range consensus (RANCO) algorithm were representatively proposed to deal with the multiple satellites fault for RAIM [6][7][8][9][10][11][12][13][14].
e MHSS algorithm is recommended in advanced RAIM (ARAIM), which is developed to meet the integrity requirement of LPV-200 using GPS and Galileo [15]. MHSS is implemented in the position domain and its principle is to minimize the protection level (PL) [16,17]. However, a faulty satellite with a large pseudorange bias which does not translate in a large position domain error may not be excluded because it reduces the PL just to a small extent [17]. With enough visible satellites being possible to be received, this kind of faulty satellite needs to be excluded even if its pseudorange bias affects the position error slightly, whereas it cannot be achieved using MHSS algorithm [18,19]. e RANCO algorithm is implemented in the measurement domain and it can meet the above requirement [20,21]. According to the simulation result from Schroth and Song [10,22], the RANCO algorithm performs higher fault detection probability than the MHSS algorithm and snapshot RAIM algorithm. RANCO is developed based on the elementary idea of the random sample consensus (RANSAC) algorithm, which is well known in the field of graphics and image processing [23], and identifies multiple faulty satellites by searching the outliers for the minimal necessary subset (MNS), containing the least visible satellites able to estimate the user position. All MNSs should be traversed to find the optimal MNS, which presents the optimal consistency with other visible satellites. en, its inliers will be identified to be the nominal satellite and its outliers will eventually be identified as the faulty satellites. Since all MNSs need to be traversed, the calculation amount of RANCO will exponentially increase with visible satellite addition [10,21].
With regard to reducing the huge calculation amount of RANCO, two preexclusion approaches were proposed via excluding the poor geometry MNS before outlier searching. e first was via calculating the GDOP value of MNS. e MNS with GDOP exceeding a setting threshold will be excluded [24]. e second was via analyzing the correlation of every two line-of-sight (LOS) vectors [11,25]. e MNS with the correlation coefficient of any two LOS vectors exceeding a setting threshold will be excluded [21]. Test results show that the calculation amount of GDOP approach is much larger than that of LOS approach because of the matrix inversion calculation [22]. However, even if the preexclusion approach is applied, the calculation amount of RANCO algorithm is still huge for multiple GNSS constellations, exponentially increasing with visible satellites addition.
In this paper, considering that the essence of RANCO algorithm is to search the optimal MNS, we propose a modified RANCO algorithm based on genetic algorithm (GA) for RAIM, which is a bionic optimization algorithm achieved by simulating the biological evolution process, including inheritance, preselection, selection, crossover, and mutation [26][27][28][29]. is modified algorithm, abbreviated as GA-RANCO, can inhibit the exponentially increasing calculation amount of RANCO. e remainder of this paper is organized as follows. Section 2 reviews RANCO algorithm with MNS preexclusion using LOS approach, abbreviated as LOS-RANCO. In Section 3, the GA-RANCO algorithm is developed. e convergence process of GA-RANCO is accelerated by the chromosome conditional selection for the initial generation and the chromosome preselection for each generation. Section 4 introduces the determination of GA parameters based on mathematical simulations. Section 5 designs simulation experiments to evaluate the performance of GA-RANCO compared with LOS-RANCO. Section 6 concludes the work with a brief summary.

Fault Detection and Identification Using LOS-RANCO Algorithm
Assuming that the pseudorange noise of each visible satellite obeys zero mean normal distribution in nominal mode and the pseudorange observations are independent of each other, the RANCO algorithm is designed to identify multiple faulty satellites by searching outliers for the MNS, which contains the least visible satellites being able to estimate the user position.
Here, we assume there are N constellations and m visible satellites; then the number of visible satellites for each MNS will be 3 + N and the number of MNSs will be C 3+N m . For the jth MNS, denoted as MNS j , the user position estimate X j can be expressed as follows: where H j is the geometry matrix, Z j is the pseudorange vector, and representing the standard deviation of pseudorange noise for k− th satellite in MNS j . e number of satellites under test (SUT) for MNS j , i.e., the visible satellites not belonging to MNS j , will be i � m − (3 + N). For the ith visible satellite under test of MNS j , denoted as SUT j i , its pseudorange residual can be expressed as follows: where z i is the pseudorange of SUT When each visible satellite in MNS j and SUT j i is in the nominal mode, ω When each visible satellite in MNS j is in the nominal mode while in SUT j i is a faulty satellite, ω j i would obey the following distribution: where b i represents the pseudorange bias caused by satellite fault. According to equations (5) and (6), the consistency between SUT j i and MNS j , i.e., SUT j i is an inlier or an outlier of MNS j , can be checked using the test threshold j i will be considered as an inlier for MNS j , i.e., SUT j i has good consistency with MNS j . Otherwise, SUT j i will be considered as an outlier for MNS j , i.e. SUT j i has poor consistency with MNS j . A low outlier count indicates that the estimate of MNS j can fit the user real position well and MNS j has a high consensus with the other visible satellites.
After testing of all SUT j i , an augmented subset MNS j + consisting of all inliers for MNS j and satellites belonging to MNS j can be established. e number of satellites in MNS j + will be I j + 3 + N, where I j represents the number of inliers and 3 + N represents the number of satellites belonging to MNS j . e overall consistency of MNS j + can be checked using the pseudorange residual sum of squares for MNS j +, denoted as SSE j +. A low SSE j + indicates a good consistency with MNS j +.
SSE j + belonging to MNS j + can be calculated as follows: where W j representing the standard deviation of pseudorange noise for k− th satellite of MNS j + and ω j + is the pseudorange residual vector for MNS j + : where Z j + is the pseudorange vector for MNS j + , H j + is the geometry matrix for MNS j + , and X j + is the user position estimate calculated by weighted least squares algorithm according to MNS j + : Utilizing the property of SSE j + , an indicator can be constructed to evaluate the performance for every MNS as follows: MNS j with the minimum T j value will be considered as the optimal one, denoted as MNS opt . It has three characteristics: no faulty satellite, minimum SSE j + value, and maximum I j + 3 + N value. e outliers for MNS opt will be identified to be the faulty satellites. e LOS-RANCO approach to preexclude the poor geometry MNS before outlier identifying is implemented by calculating the correlation coefficient (CCF) of the LOS vectors for each two visible satellites. Assuming that the LOS vectors of VS i and VS j are, respectively, X i (x i , y i , z i ) and X j (x j , y j , z j ), the CCF between the two satellites will be As seen in equation (11), CCF is the cosine of the angle between two LOS vectors. e value range of CCF is [− 1, 1]. Large CCF value indicates strong correlation. CCF ij � 1 represents the LOS vectors of VS i and VS j are the same, CCF ij � 0 represents the LOS vectors of VS i and VS j are orthogonal, and CCF ij � − 1 represents the LOS vectors of VS i and VS j are in the opposite direction. Given a threshold for CCF, the MNS should be excluded when the CCF value of any two satellites in it exceeds that threshold. e threshold for CCF is set as T CCF � 0.8 [11].

A Modified RANCO Algorithm Based on GA
With the rapid development of GNSS, the visible satellites under multiconstellations will increase more and more. e abundantly redundant pseudorange measurements can significantly improve the performance of RANCO algorithm [30,31]. However, the calculation amount will exponentially increase with visible satellite addition. In this section, a modified RANCO algorithm based on GA is proposed to inhibit the exponentially expanded calculation amount. e flowchart of GA-RANCO algorithm is shown in Figure 1, roughly divided into 5 steps: Step 1. Code each visible satellite as a gene.
Step 2. Generate the initial population G 0 .
Step 3. Prevent the bad chromosome from getting into the regular operation of GA via preselection.
Step 4. Iteratively genetically operate for each generation of population until the genetic generation count reaches T, including selection, crossover, mutation, fitness calculation, and preselection. e population of the t− th generation is signed as G t . G t after selection, crossover and mutation are respectively recorded as G ts , G tc , and G tm .
Step 5. Exclude the faulty satellites according to the optimal MNS, i.e., the MNS represented by the chromosome which owning the maximum fitness among the population of the T− th generation. e details of GA-RANCO algorithm is introduced as follows: (1) Gene coding: Each visible satellite is edited as a gene code, an integer between 1 and m. m represents the total number of visible satellites. A gene code has one-toone correspondence with a visible satellite, but Mathematical Problems in Engineering unrelated to its constellation and its specific satellite number. All of gene codes constitute a gene pool. (2) Initial population generation: M (an even) chromosomes should be generated for the initial population. Each chromosome consists of 3 + N gene codes, which are arbitrarily selected from the gene pool. Because each chromosome represents a MNS, the gene cannot be repeated and the order of gene codes is arbitrary. To ensure the genetic diversity, each chromosome in the initial population should be different. In order to speed up the convergence process, the outlier number of the chromosome-represented MNS should not exceed the maximum number N sat, max of independent simultaneous satellite faults to be monitored in the initial population generation. e outlier identification is completed during the fitness calculation for each newly generated chromosome. e specific N sat, max calculation can be seen in the preselection step and the specific fitness calculation process can be seen in fitness calculation step.
(3) Preselection: e preselection step is specially designed for GA-RANCO and is not a general procedure in GA. It is executed before the regular selection operation of GA. Preselection is used to exclude the chromosome which represents a MNS having more than N sat, max outliers. N sat, max is the maximum number of independent simultaneous satellite faults to be monitored. If the chromosome-represented MNS owns outliers more than N sat, max , it might contain a gene code representing a faulty satellite. erefore, this chromosome-represented MNS cannot be the optimal one. N sat, max is the minimum x-value satisfying the following equation [15,32]: where P SAT j is the prior probability of j satellites independent simultaneous fault, m is the total number of the visible satellites, and P SAT THRES is the threshold for the integrity risk coming from unmonitored satellite faults, much smaller than the total integrity budget. With the assumption that the prior probability P sat for each satellite fault is the same, where P sat is the prior fault probability of satellite. For example, assume there are 16 visible satellites (m � 16), all with P sat � 1 × 10 − 4 , and P SAT THRES � 4 × 10 − 8 , Start Gene coding Initial population generation us, N sat, max � 2, which means more than 2 independent simultaneous satellites fault can be neglected for its integrity risk being much less than the total integrity budget. en, the MNS can be considered to contain faulty satellite when it has more than 2 outliers in this example. e preselection can prevent the chromosome which may contain the gene code of a faulty satellite getting into the regular operation of GA [31,33] and speed up the convergence process of GA-RANCO. To ensure a constant chromosome number of the population, the first few large-fitness chromosomes should be repeated to replace the excluded ones after preselection.
(4) Roulette selection: Roulette is used for chromosome selection. Assuming the fitness of the ith chromosome c t i is f t i , the cumulative fitness F t i from c 1 i to c t i is calculated as follows: Simulating a roulette, a random variable satisfying the uniform distribution of [0, 1] is generated for each selection time. If the value of the random variable fell between F t i and F t i− 1 , c t i would be selected.
e large-fitness chromosome has high probability of being selected. To ensure a constant number of chromosomes in the population, M times of roulette selection are executed. (5) Single-point crossover: As seen in Figure 2, the cross point is randomly selected. When a chromosome after crossover shows repeated gene codes, the crossover operation would be revoked. (6) Single-point mutation: As seen in Figure 3, the mutation point is randomly selected as well. To avoid gene repetition in the mutated chromosome, the mutant gene should be different from any one in the original chromosome. (7) Fitness calculation: e performance evaluation indicator for a chromosome is the fitness. e fitness for c t i is as follows: where SSE i+ is the SSE of the augmented subset consisting of the satellites corresponding to all gene codes in c t i and the inliers of c t i -represented MNS, where I i is the inlier count for c t i -represented MNS, and N is the constellation count. As seen in equation (16), the fitness for c t i in GA-RANCO is the reciprocal of the performance evaluation indicator for c t i -represented MNS in LOS-RANCO. Because a small SSE value and a large inlier count represent good performance of a chromosome, to maintain good performance chromosome in selection, the fitness should be designed to take a large value. During fitness calculation, the outliers for a chromosome-represented MNS can be obtained simultaneously. e specific outlier identification process for MNS can be seen in LOS-RANCO review section.

GA Parameters Determination
In this section, mathematical simulations are designed to determine the GA parameters, including genetic generation T, population chromosome number M, cross probability P c , and mutation probability P m . e work is completed using Microsoft Visual Studio 2010 on a personal computer, which has 3.40 GHz CPU and 8.00 GB RAM. Figure 4 shows the simulation architecture. e input of the simulation is ephemeris, simulation epoch, user real position, pseudorange bias, and PRN of faulty satellite. e simulation process can be divided into two parts: the observation data simulation and the fault detection/ identification.
In observation data simulation, satellite position is calculated according to the ephemeris downloaded from IGS website and the specific simulation epoch. en the visibility of satellite is judged according to elevation angle. If the elevation angle is larger than the masking angle, the satellite is judged to be visible. For a visible satellite, the range between it and the user real position is calculated. If the visible satellite is assumed to be fault, the pseudorange bias would be added on its real range. e pseudorange bias is a constant for the step fault mode, while it is a value linearly increased with time for the ramp step fault mode. e dual-frequency ionosphere-free combination is assumed to be used for the pseudorange observation.   Mathematical Problems in Engineering 5 deviations of the receiver noise σ noise i for the ith visible satellite are as follows, coming from the ARAIM interim report [15]: where θ i represents the elevation angle in degrees. Actually, (17) is set for GPS. However, it is used for both GPS and BDS pseudorange noise simulating in this simulation because there is no widely used pseudorange noise distribution model used for RAIM of BDS now [34].
Using dual-frequency ionosphere-free combination, the pseudorange noise for the ith visible satellite is generated as Gaussian noise with the standard deviation as follows:  (55°S∼55°N, 70°E∼150°E), which is divided into girds. At each gird point, both LOS-RANCO and GA-RANCO are implemented to detect/identify the satellite fault. BDS is simulated as a 14-satellite constellation (5GEO + 5IGSO + 4MEO) and C02 is set as the faulty satellite with the pseudorange bias of 8σ, where σ represents the standard deviation of pseudorange noise for its corresponding satellite.

T and M Determination.
To ensure the same fault identification for GA-RANCO and LOS-RANCO, the executed termination condition of GA-RANCO in M and T determining simulation is as follows: where max(f t GA ) is the maximum fitness in the tth generation of GA-RANCO and f LOS is the performance evaluation indicator for the final optimal MNS of LOS-RANCO. e parameter t satisfying the termination condition is recorded as T s .
Both the fault identification probability and the calculation amount should be considered. e GA-RANCO fault identification probability can be measured by the probability of |max(f T GA ) − 1/f LOS | ≥ 10 − 4 , which means the probability of that the faulty satellites identified by GA-RANCO at genetic generation T are different from those identified by LOS-RANCO. To guarantee that GA-RANCO has equivalent fault detection and identification performance of LOS-RANCO, this probability should be as small as possible. e GA-RANCO calculation amount can be measured by the product of T and M, which presents the times of fitness calculation. is product should be as small as possible.
Setting P c � 0.1 and P m � 0.1, two simulation experiments are designed to determine T and M. e first simulation is used to preliminary screen the suitable M. It is set at a given time epoch (2019-3-13 00:40:00 of UTC time). e Asia-Pacific area is divided into grids with a resolution of 1°. ere are in total 111 × 81 � 8991 grid points. M is set from 6 to 26. For each M value, the T s values of 8991 grid points are recorded in Figure 5.
As seen in Figure 5, the times of T s value larger than 10 decrease with the increase of M, even being less than 6 for M being larger than 14, which is less than 0.1% of the total grid points. When M takes a value smaller than 14, T should be assigned a large value to guarantee the fault detection/ identification probability, which will bring a large calculation amount. e probability of T s > T, denoted as P(T s > T), is calculated, where T � 2, 3, · · · , 40: In equation (20), N(T s > T) presents the times of T s > T for each M value and N presents the total simulation times, N � 330624.
Actually, P(T s > T) � |max(f T GA ) − 1/f LOS | ≥ 10 − 4 . As seen in Figure 6, the P(T s > T) − T curves for M � 14, 16, 18, 20 are roughly arranged from high to low, which means P(T s > T) decreases with M addition at a given T value.
e value of P(T s > T) sharply decreases at the beginning, and its decrease speed slows down gradually to about 0 with T addition. e curves for M � 16, 18, 20 are very close, clearly separated from curve for M � 14.
erefore, to obtain the same P(T s > T) value, the T value for M � 14 is much larger than that for M � 16, 18, 20, which means the calculation amount of M � 14 will be significantly larger than that of M � 16, 18, 20. For example, to guarantee P(T s > T) < 0.5%, T should take 30 for M � 14 and less than 10 for M � 16, 18, 20. e total calculation amount for M � 14 will be more than 2 times that for M � 16, 18, 20. erefore, M � 14 should be excluded. Moreover, comparing M � 20 with M � 18 and M � 16, the calculation amount increases are 11.1% and 25.0%, respectively, at a given T value, while the P(T s > T) decreases are 30%∼60% and 30%∼80%, respectively. e P(T s > T) decrease is larger than the calculation amount increase. en, M is set as 20. Figure 7 presents δP(T s > T) � P(T s > T) − P(T s > (T − 1)) for two adjacent T values. It can be seen that P(T s > T) obviously decreases with T addition when T ≤ 8 because every additional generation significantly increases calculation amount and the P(T s − T) value slightly decreases with T > 8. en, T is set as 8.

P c and P m Determination.
e simulation conditions for searching the optimal P c and P m are the same as those of the second simulation experiment in 4.1. P c and P m are searched in the interval from 0.1 to 0.9 with the step of 0.1. In P c searching simulation, we set P m � 0.1, T � 8, and M � 20. For each P c value, 24 × 6 × 2296 � 330624 times of GA-RANCO and LOS-RANCO are implemented. e P FI difference between GA-RANCO and LOS-RANCO (δP FI ) for each P c value is recorded in Figure 8: where N F is the times of algorithm executions when there exists faulty satellite, and N FI is the times of a faulty satellite being identified when it is really fault. As seen in Figure 8, δP FI reaches maximum at P c � 0.5. en, P c is set as 0.5. In P m searching simulation, we set P c � 0.5, T � 8, and M � 20. δP FI for each P m value is recorded in Figure 9. As seen in Figure 9, the value of δP FI is positive during searching simulations and reaches maximum value at P m � 0.3, illustrating that the fault identification performance of GA-RANCO is better than that of LOS-RANCO. e reason is the MNS which has obvious inconsistency with a faulty satellite might be preexcluded for its poor geometry in LOS-RANCO. In other words, the LOS preexclusion decreases the fault identification performance of RANCO. It is observed that the faulty satellite may be successfully identified using GA-RANCO but misidentified using LOS-RANCO. en, P m is set as 0.3.
Finally, GA parameters are determined to be T � 8, M � 20, P c � 0.5, and P m � 0.3. Because these parameters are determined under single constellation and specific

Simulation Experiments and Analysis
In this section, simulation experiments are designed to verify the superior performance of GA-RANCO. e simulation experiments are conducted under the simulation architecture in Figure 4. e performance indicators are the probability of fault detection (P FD ), the probability of fault identification (P FI ), and the time consumption of algorithm execution. e specific P FI calculation method can be seen in equation (21): where N F represents the times of algorithm executions when there exists faulty satellite; N FD represents the times of fault being detected when there exists faulty satellite. P FD represents the entire navigation system and P FI represents the specific faulty satellite. ese simulations are implemented in the Asia-Pacific area (55°S∼55°N, 70°E∼150°E). GPS and BDS are chosen to be the simulation constellations. e former is simulated as a 32-satellite constellation and the latter is simulated as a 14satellite constellation (5GEO + 5IGSO + 4MEO). e prior probability of fault for each satellite is set as P sat � 10 − 4 [15]. In simulations, the cause of satellite fault is not considered, and the fault satellite is presented by the pseudorange bias, which is directly added to pseudorange of the faulty satellite.

Simulation at a Given Location.
is simulation is set at a given location (north latitude 39°, east longitude 116°, and height 0 m) and a given time epoch (2019-3-13 00:40:00 of UTC time) to verify the performance of GA-RANCO algorithm under different constellation numbers and with different pseudorange bias values. Table 1 records 4 different kinds of scenarios in this  simulation: single faulty satellite under single constellation,  double faulty satellite under single constellation, single faulty  satellite under double constellations, and double faulty  satellites under double constellations. e visible satellite numbers of GPS and BDS are, respectively, 9 and 11. In each simulation scenario, the satellite fault is set as the step fault, bringing pseudorange bias from 1σ to 15σ. For each pseudorange bias, 10 5 times of simulation are executed. In each time of simulation, the pseudorange noise is randomly generated as shown in (18) and the pseudorange bias is directly added to the pseudorange of the assumed faulty satellite with a constant. Comparing Figure 12(c) with Figure 13(b), time consumption of GA-RANCO for double faulty satellites is the same as that for single faulty satellite under double constellations. However, the time consumption of LOS-RANCO for double faulty satellites is obviously less than that for single faulty satellite with pseudorange bias larger than 5σ. e reason is that the calculation amount for SSE with double outliers excluded is obviously less than that with single outlier excluded.
As shown in Figures   satellites while it is much smaller than that of LOS-RANCO for double constellations with 20 visible satellites. According to (12) and (13), N sat, max is set to be 2 for the number of visible satellites from 7 to 28. Table 2 records two different kinds of simulation scenarios. e bias added to pseudorange for each faulty satellite is 8σ, where σ represents the standard deviation of pseudorange noise for its corresponding satellite. At each gird point, the pseudorange noise is randomly generated for each visible satellite. And the pseudorange bias is directly added to the pseudorange of the assumed faulty satellite with a constant (8σ). Figures 14 and 15, respectively, present P FD and P FI under two scenarios. As shown in Figures 14 and 15, both P FD and P FI of GA-RANCO are similar to those of LOS-RANCO. As shown in Figure 16(a), the time consumption of GA-RANCO is much larger than that of LOS-RANCO at the beginning. en, the time consumption difference between GA-RANCO and LOS-RANCO gradually shrinks with visible satellite number addition. e time consumption of LOS-RANCO exceeds that of GA-RANCO when the visible satellite number arrives 12. And then the time consumption difference between LOS-RANCO and GA-RANCO gradually expanded with visible satellite number addition. Particularly, when the visible satellite number increases to 15, the time consumption of LOS-RANCO is expanded more than 3 times that of GA-RANCO. Figure 16(a) illustrates that the computation efficiency of GA-RANCO would perform more excellent than that of LOS-RANCO when more than 11 visible satellites exist under single constellations.

Simulation in
As seen in Figure 16(b), the time consumption of GA-RANCO is larger than that of LOS-RANCO with no more than 16 visible satellites under two constellations. And the   time consumption difference between GA-RANCO and LOS-RANCO increases with visible satellite addition. Figure 16(b) illustrates that the computation efficiency of GA-RANCO would far exceed that of LOS-RANCO when more than 16 visible satellites exist under double constellations.
Comparing Figure 16(a) with Figure 16(b), the time consumption of GA-RANCO is less than that of LOS-RANCO in single constellation with 13-15 visible satellites while being more than that of LOS-RANCO in double constellations with 16 visible satellites. ere are two reasons. e first is the sudden increase of GA-RANCO calculation amount caused by the gene code addition from single constellation to double constellations. e second is the decrease of LOS-RANCO calculation amount caused by the MNS preexclusion because the LOS vectors of two satellites from two different constellations are more likely to be highly correlated compared with those from the same constellation.
is simulation experiment confirms that with large number of visible satellites, more than 11 for single constellation and more than 16 for double constellations, GA-RANCO will be more suitable than LOS-RANCO for RAIM for its quite lower calculation amount and similar fault detection/identification probability with LOS-RANCO. Analyzing the simulation result, it can be deduced that the fault detection/identification probability of GA-RANCO will be equivalent to that of LOS-RANCO and the time consumption difference between GA-RANCO and LOS-RANCO will expand further for 3 or 4 GNSS constellations. However, because the calculated amount of GA-RANCO is linearly increased, its time consumption will also be very large. erefore, both LOS-RANCO and GA-RANCO are not suitable for RAIM of 3 or 4 GNSS constellations. Further modification is needed for GA-RANCO to improve its computational efficiency again, making it available for 3 or 4 GNSS constellations.

Conclusions
In this paper, a modified RANCO algorithm based on GA (GA-RANCO) for RAIM was proposed to inhibit the exponential increasing calculation amount of RANCO algorithm under multiple GNSS constellations. e preselection step was developed to speed up the convergence process in GA-RANCO. e chromosome containing the gene code of a faulty satellite was excluded via preselection before the regular operation of GA in each generation. Simulation experiments illustrated that with considerable number of visible satellites, more than 11 for single constellation or more than 16 for double constellations, the GA-RANCO algorithm will be more suitable than LOS-RANCO RAIM algorithm for its lower calculation amount and similar faulty detection/identification probability.

Data Availability
e data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest
e authors declare that there are no conflicts of interest regarding the publication of this paper.