A CIPSO-FCM-Based RAIM Algorithm for the GPS/BDS Integrated Navigation System

The receiver integrity monitoring of a satellite navigation system directly affects positioning accuracy and train safety. The GPS/BDS (Global Positioning System/BeiDou Navigation System) integrated navigation system can meet the requirements of RAIM (Receiver Autonomous Integrity Monitoring) for the minimum number of visible satellites. However, the probability of multiple satellite simultaneous failures increases in the GPS/BDS integrated navigation system so that when the failures occur, the RAIM algorithm cannot meet the requirements of safety for the receiver when positioning trains. In response to the problem, this paper applies the CIPSO-FCM (Chaotic Immune-vaccine Particle Swarm Optimization_ Fuzzy C-means) algorithm to RAIM to establish a new algorithm. It can predict the HPL (Horizontal Protection Level) value of the GPS/BDS integrated navigation system to verify RAIM availability. It also uses the parity space vector to obtain cluster samples through a pseudo-range observation matrix. The CIPSO algorithm obtains the initial cluster centers by iteration to prevent the FCM algorithm from falling into the local optimum, leading to inconsistent classification. A test based on actual field data shows that the CIPSO-FCM-based RAIM algorithm achieves a probability of 99.98% for detecting and identifying multiple satellite failures with a gross error of 28m, which can meet the safety requirements for the receiver when positioning trains.


I. INTRODUCTION
The accurate positioning of high-speed trains is the key to the safe operation of trains and is closely related to life safety. For global satellite navigation systems used to fix positions on trains, the integrity monitoring of satellite navigation systems is crucial, directly affecting the accuracy and reliability of train positioning information. There are three leading technologies for monitoring the integrity of satellite positioning and navigation systems; (1) Satellite Autonomous Integrity Monitoring (SAIM); (2) RAIM monitoring using redundant information inside the receiver; (3) External auxiliary enhancement system.
There are many pieces of research on the user's autonomous integrity monitoring algorithm using the redundant information inside the receiver. MARRADI L et al.
The associate editor coordinating the review of this manuscript and approving it for publication was Venkata Ratnam Devanaboyina . defined a horizontal protection level algorithm suitable for train positioning and used the measurement data of the wheel odometer as redundant information for the RAIM integrity checking of the GPS navigation system [1]. SHANGGUAN Wei et al. studied the RAIM algorithm in BDS navigation positioning, defined the ATPL(Along Track Protection Level) at a horizontal direction according to the characteristics of the high-speed train operation, and used the chi-square test to determine the inspection threshold to eliminate the fault satellite. The test data and field test data were used to verify the availability of ATPL to accurately detect and eliminate a single faulty satellite [2]. However, the above research aims at a single constellation navigation system. Only when the number of visible satellites reaches 5, the RAIM algorithm can perform fault detection, and only when the number reaches six can it perform fault identification.
The GPS/BDS integrated navigation system has about 18 ∼ 24 visible satellites throughout the day, which fully meets the requirements of the RAIM algorithm for the number of visible satellites. WANG Ershen and others studied the autonomous integrity monitoring algorithm of the GPS/BDS integrated navigation receiver. They established the inspection statistics threshold for the RAIM monitoring of a GPS/BDS receiver using the improved optimal weighted average solutions to detect and identify the failures of a single satellite. It achieved good results in the navigation of civil aviation APV [3]. However, when the receiver can obtain information from multiple navigation constellations, the probability of multiple satellites simultaneous failure increases. The RAIM algorithm will affect the detection efficiency and accuracy due to the multiplication of the detection subset. When multiple satellites fail, the fault recognition rate of the algorithm only ranges from 38% to 55%. When the number of visible satellites reaches 20, the number of detection subsets in single satellite fault detection is 20. When there are two faulty satellites, the number of detection subsets suddenly increases to 90, bringing a significant computational burden to the receiver. In response, SUN Shuguang et al. proposed satellite orbit grouping to reduce detection subsets and combined it with the RAIM algorithm for satellite fault detection and identification. The satellites in the GPS/BDS dual navigation system are grouped and divided into different orbit planes. The satellites in each orbit plane are detected for fault, then removed, and the operation is repeated until the fault satellite is detected. This method can change the problem of detecting two faulty satellites into detecting a single faulty satellite. The analysis and verification proved that the method could effectively detect and identify two faulty satellites in different orbits [4]. However, the method proposed in [4] still risks missed detection when two or more satellites fail on the same orbital.
Therefore, this article proposes a new RAIM detection method for positioning by GPS/BDS in response to the above problems. Under the condition that there are sufficient visible satellites, a complete design matrix is obtained as the clustering sample. The design matrix, including the observation and measurement errors and the geometric positions of satellites, is based on the parity space vector. Then the CIPSO-FCM algorithm is used to classify the visible satellites, and the faulty satellites are directly separated. The experimental results show that the new RAIM algorithm proposed in this paper can effectively avoid the false alarm and missed detection of multiple satellite failures based on the threshold value in the former RAIM algorithm. With the slight pseudo-range differences, the detection and identification of multiple satellite failures have a high probability of obtaining correct inspection results. The new RAIM algorithm proposed in this paper can guarantee the accuracy and reliability of train positioning data.

II. RAIM AVAILABILITY JUDGEMENT FOR TRAIN POSITIONING BY GPS/BDS A. THRESHOLD VALUES OF INTEGRITY WARNING
The safety indicators of the GPS/BDS positioning system are judged from three aspects: Horizontal Protection Distance (HPL), Alarm Time Delay(ATD), and danger rate [5]. Table 1 shows the safety indicators [6], [7] of China railway lines, in which HPL is the maximum positioning error allowed during the positioning process, and its threshold equals to that of the horizontal positioning accuracy, i.e., Horizontal Alarm Level(HAL), which reflects the security during system operation from a spatial perspective. ATD is the maximum time delay for alarm information output when the positioning error exceeds the alarm threshold. It reflects the safety integrity degree of the system from a temporal perspective. This paper focuses on the positioning accuracy of the GPS/BDS navigation system on medium-density lines.

B. HPL CALCULATION
HPL uses the pseudo-range residual vector as the detection statistic and HAL as the fault detection threshold. First, by reading the information in the satellite almanac, it is calculated whether the satellite altitude angle is greater than the masking angle to determine whether the number of visible satellites meets requirements for the RAIM availability [8]. Then calculate the GPS/BDS observation matrix G. If the observation noise ε and pseudo-range deviation b are not considered, the GPS/BDS linearization model is It is the observation matrix, n + m = N. N represents the number of visible satellites, El is the altitude angle, and Az is the azimuth angle. The first three columns are the direction cosine of the northeast and up, the last two columns are the clock parameters of the navigation system, and in Observation equations, x is a 5 × 1 dimensional column vector, including three train position coordinates, BDS and GPS receiver clock error parameters; y is an N × 1 vector composed of pseudo-range observations of visible satellites in the number of N . Then calculate the characteristic slope of each satellite as where It is the unit matrix of n × n, and W is the weighting matrix [9]. Its mathematical expression is where σ URA is the standard deviation of the satellite integrity parameter; σ user is the deviation of the receiver including multipath error and receiver error; σ tropo is the tropospheric delay. For a given horizontal position error, the satellite with the most significant slope has minimal inspection statistics. Therefore it is easy to be skipped over, affecting the reliability of RAIM. in order to verify the capability of RAIM detection, artificial errors are added to the satellite that is most difficult to be detected in the follow-up fault detection and identification.
After obtaining the satellite characteristic slope, the formula for HPL can be obtained as where σ is the standard deviation of the satellite pseudo-range observation error; λ min is the non-central parameter value of the non-central χ 2 distribution under the requirement for detection-missed probability. RAIM is available only when HPL < HAL, comparing the HPL value calculated above with the HAL value given in Table 1 according to field data.

III. CIPSO-FCM-BASED RAIM ALGORITHM FOR GPS/BDS INTEGRATED NAVIGATION SYSTEM A. INADEQUACIES OF THE FORMER RAIM ALGORITHM
RAIM algorithms judge the validity of the least-squares positioning result through the redundant constraint relationship between different observations related to the geometric distribution of users and satellites [10]. The most common RAIM algorithms are based on the pseudo-range residual, pseudorange comparison, checking vector, or maximum solution separation [11]. Among them, the one using checking vector is widely used in practical engineering. This paper uses the parity space vector as an example to analyze the former RAIM algorithms.
First, obtain QR decomposition of the observation matrix where Q is an N × N -dimensional orthogonal matrix, and R is an N × 5-dimensional upper triangular matrix. Bring equation (5) into equation (1) and multiply Q T to the left, and we obtain Q T and R can be expressed as where Q x is the first five rows of Q T , Q P is the remaining N -5 rows, R x is the first five rows of R. So (6) can be expressed as and then a least-squares solution of x can be expressed aŝ x = R x Q x y, Q P y = 0. If the influence of observation noise ε and pseudo-range deviation b are considered, the parity check vector could be defined as where ε is the observation noise of N × 1, which obeys ε ∼ N (0, σ 2 ). When there is no pseudo-range deviation, b is an N × 1 zero matrix. Define the digit product of the odd-even vector as the test statistic to detect and identify the fault [12], [13]. The test statistics are calculated according to When there are no faulty satellites in the visible ones, If there is no faulty satellite in the system giving an alarm prompt, this is a false alarm. Under given conditions, the probability of a false alarm is P FA , and then the detection threshold can be determined, as is shown in If T s > T , There is a faulty satellite. Construct faulty satellite identification r i , and remove the faulty satellite corresponding to the maximum value of r i . If T s < T , all visible satellites are intact. The number of faulty satellites can be calculated by equation (12) where Q p,i is the i-th column of Q p . VOLUME 9, 2021 A 30 m artificial gross error based on filed data is added to the seventh satellite at the 38 th s to simulate a faulty satellite, and the former RAIM algorithm is used for faulty satellite identification. The results are shown in Figure 1. (The red dotted line is the test threshold. its value is 5.873.) The threshold-based RAIM algorithm in Figure 1 has a high accuracy rate for failure detection of a single satellite joined in positioning. However, for multiple satellite failures tending to occur in multi-constellation navigation systems, the threshold-based RAIM algorithm may lead to false alarms and satellite omissions [14]. There are problems when the threshold is used to identify two satellite failures, as shown in Figure 2. Assuming that T s1 and T s2 are the inspection statistics of the two satellites, as shown in Figure 2(a), if there is no fault in the satellites, T s1 or T s2 is less than the inspection threshold T . However, due to the spatial geometric relationship between them, the vector sum of the two is greater than T . The system mistakenly believes that there is a satellite failure and a false alarm occurs. As shown in Figure 2(b), if both satellites fail, T s1 or T s2 is greater than the inspection threshold T , but due to the spatial geometric relationship between them, the vector sum of the two is less than T . The system mistakenly believes that there is no satellite fault and skipped over the satellites. Whether there is a false alarm or a skipped-over satellite, it directly affects the accuracy and safety when the GPS/BDS integrated navigation system is applied in train positioning. Therefore, the former RAIM algorithm is no longer suitable for detecting multiple satellite failures tending to occur in the GPS/BDS integrated navigation system. This paper proposes a new RAIM detection algorithm that uses CIPSO_FCM to cluster the visible satellites and directly find out Multiple faulty satellites to finish RAIM monitoring and improve GPS/BDS to realize higher positioning accuracy.

B. RAIM FAULT DETECTION ALGORITHM BASED ON CIPSO-FCM
This paper uses the fuzzy c-means (FCM) algorithm to cluster the visible satellites to find the faulty satellites. At the same time, the CIPSO method is used to select the optimal clustering center at the initial moment of the FCM algorithm to prevent FCM from the self iterative selection of the optimal value in the local area, leading to inconsistent classification.

1) DETERMINE THE FUZZY CLUSTERING SAMPLE
According to the previous analysis of the parity space vector, the parity checking vector p and the matrix Q p generated by the parity check are obtained. If the pseudo-range deviation is not considered, that is, if the pseudo-range deviation is 0, equation (9) can be expressed as The matrix expansion of equation (13) is shown in (14).
= a 1 a 2 · · · a n a n+1 (16) Take the matrix on the left side of equation (16) as the fuzzy clustering sample M , each row in the matrix representing a satellite, and use IPSO_FCM for clustering.

2) CIPSO-FCM ALGORITHM
Define an FCM objective function, as shown in (17) [15] where J m is the objective function; N is the number of cluster samples in M ; c is the number of clusters (1 ≤ c ≤ N); u i,k is the element in the membership function matrix U c×N ; v i is the center of the cluster; m is any actual number greater than 1, controlling the fuzziness of the membership function.
The norm ||x i − v i || is the Euclidean distance between the sample x i and the cluster center v i . The criterion of clustering is to take the minimum value of the objective function, that is By ∂J ∂u m i,k = 0, ∂J ∂v i = 0 and (18), we can obtain and In order to avoid that the initial clustering center selected by the FCM algorithm selects the optimal value of the local area by self iteration, the CIPSO algorithm is used to select the optimal initial clustering center by iteration. The CIPSO optimization process has been verified in literature [16]. This article focuses on the establishment of the fitness function for CIPSO to find the optimal clustering center.
Assuming that the FCM clustering sample set is M , the sample set is divided into different classes in the number of k, represented by C j (j = 1, 2, . . . , k), and the FCM clustering center iterated by CIPSO is Z j . Then the fitness of the CIPSO algorithm is defined as the degree of similarity between a single particle and other samples. When the fitness reaches the minimum value, the category division effect is best to obtain the optimal initial clustering center and adapt the CIPSO algorithm. The degree function is shown in equation (22): The process of the CIPSO-FCM-based RAIM algorithm for train positioning is as follows: x Calculate the correlation distance matrix D of the cluster sample matrix: y Determine the number of clustering categories. This paper sets up three categories, including healthy satellites, abnormal satellites, and faulty satellites. The CIPSO algorithm is used to find the optimal initial clustering center by iteration.
z Calculate the membership function by (20).
{ Update the cluster center by (21). | Calculate the change of the cluster center by i < β and β ∈ (0, 1), stop computing and output the clustering results, otherwise repeat steps z-|.

IV. EXPERIMENTAL VERIFICATION AND RESULT ANALYSIS
This paper uses some field data of an open area on a plain (under the jurisdiction of the Chengdu Railway Bureau) to verify the RAIM algorithm. The data comes from the DMS storage file. Figure 3 shows the onboard GPS/BDS antenna group, the control center, and DMS (Dynamic Monitoring System) monitoring interface. Figure 4 and Figure 5 show the variation curve of the HPL and ATPL value detected in a solid line. All the predicted values of HPL fluctuate in the range of 6-18m, and the fluctuation range of all ATPL values in Figure 5 is 4-13m, which satisfies the requirement given in Table 1 that HAL of a medium-density line should be less than 20, proving that the RAIM algorithm is applicable for the verification.      Figure 6 shows the clustering results when the third satellite is injected with the gross errors of 30 m. The membership distribution of all visible satellites are divided into three categories. The first category includes 01, 02, 05, 07, 08, 09, 14, 15,16, 17, 18, and 19; the second category includes 04, 06, 10, 11, 12, and 13; the third category includes 03 and 20. satellite 20 is considered a known fault satellite, which is used as the identification standard (threshold) of fault satellites in clustering. 16 in the first category and 04, 10, 11, and 12 in the second category have great correlations, classified as health satellites. Figure 7 shows the clustering results when the third satellite and the 15th satellite are injected with the gross errors of 30m. All the visible satellites are divided into three categories. The first category contains 03; the second category includes 01, 02, 04, 05, 06, 07, 08, 09, 10, 11, 12, 13, 14, 16, 17, 18, and 19; the third category includes 15 and 20, of which 20 is a faulty satellite, so the third category is classified as faulty satellites. The first category contains only one satellite, considered a single satellite, and classified as a fault category for there is no correlation with the subclasses of the second category, which is classified as healthy satellites to ensure positioning accuracy. Figure 8 shows the clustering results when the 3rd, 15th, and 9th satellites are injected with the gross errors of 30m. All the visible satellites are divided into three categories. The first category contains 03; the second category includes 01, 02, 04, 05, 06, 07, 08, 10, 11, 12, 13, 14, 16, 17, 18, and 19; the third category includes 09, 15 and 20, of which 20 is a faulty satellite, so the third category is classified as faulty satellites. The first category contains only one satellite, considered a single satellite, and classified as a fault category for there is no correlation with the subclasses of the second category, which is classified as healthy satellites to ensure positioning accuracy.
From the above analysis, it can be seen that the CIPSO-FCM method can realize the identification of multiple faulty satellites and can meet the requirements for the RAIM monitoring when multiple faulty satellites appear in the GPS/BDS integrated navigation and positioning system.
In order to verify whether the algorithm proposed in this paper has good performance in detecting and identifying faulty satellites, the satellite-orbit-based method in literature [4] is also used to perform RAIM detection on the satellite data in this paper. The influences are compared from the injected gross errors and the number of faulty satellites on the probability of correct detection. Figure 9 shows the different probabilities of correct detection with the CIPSO-FCM-based RAIM algorithm and the satellite-orbit-based method in [4] when different gross errors are injected into 1, 2, or 3 faulty satellites.
It can be seen from Figure 9 that the probability of a faulty satellite increases with gross errors. In the case of one faulty satellite, both the algorithm proposed in this paper and the method used in literature [4] can separate the faulty satellite, fulfilling the requirements of a railway for the probability of correct detection if the gross error is 30m. However, when there are two or three faulty satellites, the method used in literature [4] can only detect two faulty satellites running on different orbit planes, and there is a blind spot for an inspection. So its probability of correct detection drops rapidly. If the gross error is 50m, the probability is only 71% and 65%, which cannot meet the requirement for fault detection. We can see from Figure 9 that the method used in this paper can reach the probability of 99.98% in case of multiple satellite failures with a smaller injected gross error of 28m. It can meet the requirements for the RAIM algorithm and provide accurate positioning data.

V. CONCLUSION
With the development of global satellite navigation systems, multi-constellation navigation and positioning are widely used in various fields. By the autonomous integrity detection of the receiver, the positioning of a train based on the GPS/BDS integrated navigation system can monitor faulty satellites in real-time and improve the accuracy of positioning. This paper studies the theory on the availability of the RAIM algorithm and the fault detection and identification based on the parity space vector. It analyzes the problem that the former threshold-based method for detecting and identifying faulty satellites is no longer suitable for GPS/BDS integrated navigation systems and cannot deal with multiple satellite failures. On the premise that the HPL level of GPS/BDS meets the requirements for RAIM availability, this paper proposes the CIPSO-FCM algorithm to cluster the visible satellites and obtains the matrix M from the QR decomposition. The matrix M is considered as a clustering sample. The CIPSO algorithm optimizes the initial clustering center of FCM to improve the accuracy of clustering. The RAIM detection method used in this article is verified by some field data from an open area on a plain (under the jurisdiction of Chengdu Railway Bureau). The results show that the CIPSO-FCM algorithm proposed in this paper can correctly detect, identify and number the faulty satellites when multiple satellite failures appear in the system. The influences are analyzed from the different injected gross errors and the number of faulty satellites on the probability of correct detection between the algorithm proposed in this paper and the grouping method of satellite orbits adopted in literature [4]. The results show that the method proposed in this paper can perform better than other methods on detecting and recognizing multiple satellite failures under the gross error of 28m, satisfying the requirements of a railway for the availability and correctness of RAIM detection algorithm. It can improve the reliability of positioning data and add safety to train operation.