1. INTRODUCTION
Pseudorange-based Receiver Autonomous Integrity Monitoring (RAIM) has been investigated for many years and is used in various applications (Lee, Reference Lee1986; Parkinson and Axelrad, Reference Parkinson and Axelrad1988). However, for high accuracy and high integrity applications, its use is limited because the noise level of pseudorange measurement is high. For these cases, carrier phase measurements may be adequate. In order to obtain centimetre-level accuracy in a carrier phase measurement, carrier phase cycle ambiguities must be resolved. For some sophisticated aircraft systems like Joint Precision Approach and Landing System (JPALS), the cycle ambiguities can be resolved while a landing aircraft flies over the runway, so that the aircraft use the carrier phase-based navigation during landing (Rife et al, Reference Rife, Khanafseh, Pullen, Lorenzo, Kim, Koenig, Chiou, Kempny and Pervan2008). Various approaches have been developed for resolving the carrier phase cycle ambiguity (Kim and Langley, Reference Kim and Langley2000). Assuming that the cycle ambiguity is correctly resolved, carrier phase measurements can be used to obtain an absolute range that provides improved accuracy and integrity. With the absolute range obtained, an Absolute RAIM (ARAIM), which is very similar to PRAIM, can be performed. One significant advantage of ARAIM over Relative RAIM (RRAIM) is that the external monitoring does not have to alert the user within the Time To Alarm (TTA). This relaxed requirement creates a much simpler architecture in both the monitoring algorithms and the messaging channel to the user.
Other CRAIM methods were investigated for the same purpose (Pervan et al, Reference Pervan, Lawrence and Parkinson1998; Feng et al, Reference Feng, Ochieng, Moore, Hill and Hide2007). Pervan used CRAIM with direct extension of the parity space method of PRAIM. Feng implemented the Kalman filter in the CRAIM algorithm to improve positioning accuracy. These conventional CRAIM algorithms assumed that the carrier phase residual has the Gaussian probability distribution. The Gaussian assumption makes the integrity monitoring problem easier to solve. However, if the probability distribution deviates from the Gaussian distribution, the performance of the conventional CRAIM algorithms will deteriorate. In fact, the carrier phase residual is not exactly the Gaussian distribution. Therefore, in order to improve the accuracy and the integrity performance, the algorithm has to incorporate a non-Gaussian probability distribution that represents the true carrier phase residual and a non-Gaussian filter as well.
This paper primarily discusses the filtering CRAIM algorithm under the assumption that the non-Gaussian probability distribution model is sufficiently similar to the true probability distribution. The Gaussian mixture modelling method, that uses the optimization technique, is employed for all given probability distributions. Using this Gaussian mixture model, the Gaussian sum filter is implemented in the CRAIM. Gaussian sum filters have been researched over the last few decades to solve nonlinear/non-Gaussian problems (Alspach and Sorenson, Reference Alspach and Sorenson1972; Fruhwirth, Reference Fruhwirth1997; Ito and Xiong, Reference Ito and Xiong2000). By using the Gaussian sum filter, the state and the distribution of individual measurement residuals can be estimated from the posterior density, and exceedingly large residuals can be detected to satisfy a false alarm rate. This individual residual method can easily detect and exclude the fault almost at the same time (Da and Lin, Reference Da and Lin1995). The performance of the proposed Gaussian Sum Filter Individual Residual Method (GSFIR) is evaluated by simulations with three conventional CRAIM algorithms: the snapshot χ2 method (SSX2), the Kalman filter χ2 method (KFX2), and the Kalman Filter Individual Residual Method (KFIR).
2. CARRIER PHASE ERROR MODEL
In most Global Navigation Satellite System (GNSS) applications, the pseudorange and carrier phase measurement errors are assumed to follow a Gaussian distribution. However, this assumption is not realistic. In general, the core part of the actual error distribution can be characterized using a Gaussian distribution, but the tail part of the actual distribution is heavier than that of a Gaussian distribution (McGraw et al, Reference McGraw, Murphy, Brenner, Pullen and Van2000; Sayim et al, Reference Sayim, Pervan, Pullen and Enge2002; Cai and Grafarend, Reference Cai and Grafarend2007).
A circular normal distribution is the normal distribution for the circular random variable, which is appropriate for carrier phase observables, which are the measurements of the fractional phase (Cai and Grafarend, Reference Cai and Grafarend2007). After conducting the test of uniformity and the test of goodness of fit on circular normal distributions, Cai and Grafarend concluded that GPS carrier observables can be characterized more precisely using the circular normal distribution. Figure 1 shows the histogram of carrier observables, the Probability Density Functions (PDFs) of a Gaussian distribution and a circular normal distribution. The figure verifies that the circular normal distribution is more appropriate than the Gaussian distribution to describe a carrier phase error. In this paper, the circular normal distribution is assumed to be the true error distribution in the simulation.
Statistics of carrier observables.
The PDF of the circular normal distribution is given as Equation (1).
where I 0(κ) is the modified Bessel function, μ0 is the mean direction, and κ is the concentration parameter. These parameters can be determined from the sufficient number of carrier phase observables.
Since the carrier phase measurement error has a heavier tail distribution than a Gaussian distribution, in the conventional CRAIM algorithm that insists on Gaussian assumption, sigma-overbounding methods are used to prevent integrity risks (Shively and Braff, Reference Shively and Braff2000; Varner, Reference Varner2002; Rife et al, Reference Rife, Pullen and Pervan2004). A sigma-overbounding is a procedure used to set an inflation factor to make the user's protection level bound to the true position error in required missed detection rate. It makes the system meet the integrity requirement:
where INF is the inflation factor determined using Equation (3).

where p true (x) is the observed true PDF. The denominator value of 5·81 is a multiplier used to calculate a defined, fault-free protection level (RTCA, 2001). This method provides users with an overbounded broadcast sigma that they can use to estimate the fault-free protection levels for bounding position errors with the required probability. Figure 2 shows PDFs of a true error model and an Overbound Gaussian (OG) distribution. As the figure shows, the overbound Gaussian model is too conservative in preventing the integrity risk (i.e. following the true tail probability), so this method has disadvantages in the accuracy aspect. Therefore, an alternative error model that is more similar to the true PDF has to be used. This paper proposes a new CRAIM algorithm using a Gaussian sum filter which can deal with non-Gaussian error distributions.
PDF of true error model and overbound Gaussian distribution.

3. GAUSSIAN MIXTURE MODELLING METHOD
In order to implement a Gaussian sum filter, a Gaussian Mixture Model (GMM), which precisely follows a true error model, has to be generated. In Figure 3, the true error model (yellow line) is approximated by the weighted sum of the three Gaussian distributions and indicated in the red line. This red line is called the Gaussian Mixture Model. In GMM, the j-th measurement error distribution can be expressed by a sum of N comp Gaussian distributions as follows:
where γ<i> is the weight of the i-th GMM component,
, p N (x, m, C) is the Gaussian probability density of x, m is mean, and C is variance.
Gaussian mixture model.
The parameter p GM converges to any density function as N comp increases and the covariance approaches the zero matrix. In general, the parameters N comp, γ<i>, m j,<i>, and νj,<i> are selected by the Expectation Maximization (EM) algorithm, which is a general approach to iterative computation of maximum-likelihood estimates (Dempster et al, Reference Dempster, Laird and Rubin1977; Vlassis et al, Reference Vlassis, Papaconstantinou and Tsanakas1999; Vlassis and Likas Reference Vlassis and Likas2002). However, this algorithm is not appropriate for the integrity-monitoring problem because its main concern is overall fitting of the given PDF, and it does not deal properly with the tail probability.
This paper proposes a new method for accurate fitting of the tail probability and overall probability as well. If one defines the performance index J as Equation (5) and using the optimization technique, it is possible to obtain the modelling parameters that minimize J.
where f(x)=[p GM(x)−p GL(x)]2. The performance index is on a logarithmic scale to emphasize the small tail probability.
Figure 4 (Left) shows PDFs of the true error model and the Gaussian Mixture Model approximated by an EM algorithm. The EM algorithm estimates the core part very accurately and fails to deal properly with the tail part. Because the tail part has a very small probability density, the EM algorithm neglects the tail when it calculates expectation. However, the proposed algorithm sets the Gaussian mixture parameters which emphasize the tail probability, a very important aspect in integrity monitoring. As a result, as shown in Figure 4 (Right), the tail part also can be approximated accurately by using the proposed algorithm.
True error model (blue) and Gaussian Mixture Model (red) for EM algorithm (Left) and the proposed algorithm (Right).
In this work, N comp was fixed to 3 and m j,<i> to 0, because the carrier phase error model is a uni-modal Gaussian-like model, and it is assumed to have a zero mean. The variables γ<i>and νj,<i> were optimized by a Sequential Quadratic Programming (SQP) algorithm.
4. GAUSSIAN SUM FILTER
A Gaussian Mixture Model can be designed using the above method for any carrier phase error model. Assuming that the carrier phase measurement error follows the GMM, several Kalman filters that deal with each Gaussian component are used to estimate the distribution of states more accurately. This method is called the Gaussian Sum Filter (GSF) (Alspach and Sorenson, Reference Alspach and Sorenson1972; Fruhwirth, Reference Fruhwirth1997; Ito and Xiong, Reference Ito and Xiong2000).
Provided that all of the measurements are independent, a probability distribution of the measurement vector is obtained by the following equation:
where N M is the number of measurements. Equation (6) can be expressed by a weighted sum of multivariate normal distributions as:
where N mode is the number of modes,
, and ϖk<i> is a weight of the ith multivariate Gaussian distribution. ϖk<i> is calculated from Equation (6) and
.
In this work, the system is linear, and the mean of measurement error was assumed to be zero. In this case, GSF can be formulated by implementing the Kalman filters for every Gaussian component as follows: First, by propagating the past state and covariance of each Gaussian component, the current state and covariance can be calculated as Equations (8) and (9). Using these values, a priori probability distribution of state can be expressed as Equation (10).
where
is the time propagated state vector at time index k,
is the measurement updated state vector at time index k, z 1:k is the measurement set up to time index k, F K is a system mode applied to the previous state, P is the estimation error covariance matrix, Q is the process noise covariance matrix, and πk<j> is a weight of the jth priori probability distribution, ![]()
From Equation (7), the likelihood function of the current epoch is expressed as:
where H k is the observation matrix, and R k is the observation noise covariance matrix.
GSF updates the weights of the Gaussian components, the states, and the covariance matrix by using Equations (12)–(14).
where ![]()
Using these updated weights, states, and covariance, the current states are estimated as follows:
5. INTEGRITY MONITORING ALGORITHMS
GNSS-based navigation systems must have an integrity-monitoring system that contains two main functions: 1) detection and exclusion of satellite faults and 2) estimation of the uncertainty of the position solutions. First, the system calculates decision variables and compares these to thresholds that have been set to satisfy the integrity requirements for the desired operation. If any decision variable exceeds the threshold, the system concludes that the corresponding measurement contains a fault and excludes the detected fault. Second, because the system cannot distinguish the true position estimation errors, it estimates the uncertainty of the solution, which is known as the protection level.
5.1. Fault Detection and Exclusion
The proposed algorithm uses an individual residual method for fault detection and exclusion (FDE). The conventional χ2 FDE method presumes that the residuals follow the Gaussian distribution, and thus it cannot be implemented in a non-Gaussian model. Furthermore, it is very hard for a conventional χ2 FDE to distinguish small faults because it detects the fault in a system by inspecting a decision variable calculated from Weighted Squared Sum of the Errors (WSSE) that follows a χ2 distribution, not individual errors. On the contrary, as the individual residual method detects the fault by examining each residual, not the combined one, it can distinguish smaller faults than conventional FDE methods can.
In the KFIR method, the algorithm compares a measurement residual with the multiple of the residual standard deviation. Because GSFIR, assumes a non-Gaussian error, it cannot use the residual standard deviation. Instead, GSFIR estimates the residual distribution, and then decides whether the residual is located in a normal region or not. These individual residual algorithms have to estimate the residual distribution and determine the individual detection threshold for each residual. The expected measurement is obtained by projecting the propagated state from the position domain to the measurement domain, and the residual is defined as the difference between the true and expected measurements. For a Gaussian sum filter, the residual of the j-th measurement's i-th Gaussian component can be calculated as:
The associated weights and the covariance are as follows:
Therefore, the residual distribution from the Gaussian sum filter is expressed as:
As shown in Figure 5, the expectation of the residual is close to zero and the large residuals have low probabilities. When the expectation of the residual is in the region between the two thresholds known as the normal region, the system declares that there is no fault in the measurement. Otherwise, it determines that the measurement includes a fault, and excludes it for further operation.
PDF of a residual distribution and thresholds.
In real implementation, a one-sided tail probability can be calculated below or above zero depending on the decision variable shown in Equation (20). The result of this calculation is compared with the individual false alarm rate that will be defined in the next subsection for each measurement.

The individual residual method requires a threshold for each measurement, and hence the individual false alarm rate, p fa, needs to be determined first. In this paper, the multivariate normal distribution is used, and the residual covariance matrix is estimated from the Kalman filter. Therefore, assuming that the individual false alarm rates for all residuals are the same, the following equation is obtained:

where P FA is the predefined false alarm rate, and σi is the i-th diagonal term of C r. K is the only unknown in this equation, and it can be solved by iteration. With the K determined, the individual false alarm rate is calculated as follows:
Because it is assumed that the measurement error follows a symmetrical distribution, the proposed algorithms declare that a fault is present if a one-sided tail probability of a residual pr kj exceeds the value of
.
5.2. Protection Level
Navigation users must calculate both fault-free and faulted protection levels for integrity. The faulted protection levels indicate the position error protection, assuming that a fault measurement exists. Assuming the measurement errors are Gaussian (SSX2, KFX2, KFIR), the protection levels can be calculated from the standard deviation of measurements, computing parameters such as k md, k ffmd and a detection threshold (RTCA, 2001). The parameters for computing protection levels are shown in Table 1.
Multipliers for protection level calculation.

In GSFIR it is assumed that the measurement errors are non-Gaussian and the protection levels have to be calculated in a different way. Using Equations (23)–(26)HPL 0,n, VPL 0,n, HPL 1,n and VPL 1,n can all be calculated. The subscripts 0 and 1 denote ‘fault free’ and ‘faulted’, respectively, and the subscript n is the protection level component due to noise.
XPL 0,n can be calculated when k md is replaced by k ffmd in Equations (23)–(26).
Using XPL 0,n, XPL 1,n and Equations (27)–(31), the XPL with non-Gaussian measurement errors can be calculated.
where W is a weighting matrix, the subscript ‘1’ indicates the faulted protection level under the assumption that the measurement has a fault, the subscript b is the protection level component due to bias, and T j is calculated from the probability distribution of the residual and individual false alarm rates as:
Figure 6 shows the overall flowchart of the proposed algorithm. The Gaussian sum filter estimates the state probability distribution from which the residual distribution is estimated. With these distributions, the integrity monitoring function performs fault detection or exclusion and protection level calculations.
Flowchart of integrity monitoring algorithm using a Gaussian sum filter.
6. SIMULATION
A simulation was performed to validate the proposed CRAIM algorithm based on a Gaussian sum filter. In order to investigate the advantage of the non-Gaussian assumption, conventional methods were implemented in parallel. These methods are summarized in Table 2.
Four methods implemented in simulation.

6.1. Simulation Setup
The system model and the measurement equation were defined using the linear functions in Equations (33) and (34). The linear functions are used because the validation focused on the effect of the non-Gaussian error distribution and not the nonlinearity. The user position in ENU coordinates and the receiver clock bias were defined as state variables. The user was assumed to be static and a 24 GPS satellite constellation was generated for 100 epochs.
where
,
,
, and F=I 4×4.
The measurement error is generated using the assumed distribution shown in Equation (1). The simulator intentionally injected biases into the pseudorange of a satellite as follows:

The four algorithms listed in Table 2 were used to detect and exclude the fault and to estimate the protection levels.
6.2. Simulation Results
The simulation results were classified into measurement domain results, position domain results, and processing time for each algorithm.
6.2.1. Measurement Domain Results
Figure 7 shows the decision variables (WSSE) and the thresholds of the SSX2 and the KFX2 algorithms. When a decision variable exceeded the threshold, the system declared a fault. The SSX2 method could not detect any faults because the noise level was too high. The KFX2 method detected the 25 cm bias initially, but it failed to detect any bias thereafter. When a filtering method fails to detect and exclude a bias, the remaining bias propagates through the filter so that subsequent detection becomes more difficult.
Decision variable and threshold of SSX2 (Left) and KFX2 (Right).
Figure 8 shows the decision variables and the thresholds of the KFIR and the GSFIR algorithms. The KFIR method detected the 30 cm bias perfectly, but it did not detect a 25 cm bias after 67 s. The undetected bias remained in the filtering process and led to a large position error that propagated into subsequent processes. The error eventually resulted in the monitoring system becoming noisy after the missed detection. The GSFIR methods detected the faults at all epochs where the system had a fault measurement.
Decision variable and threshold of KFIR (Left) and GSFIR (Right).
In this simulation, the minimum detectable bias was about 25·0 cm for the KFIR method and about 20·4 cm for the GSFIR method. Therefore, the simulation proved that GSFIR can detect a smaller bias than the other conventional methods.
6.2.2. Position Domain Results
Figure 9 shows the vertical position errors and the vertical protection levels for each algorithm after the FDE procedure. Since the SSX2, KFX2, and KFIR methods did not detect the faults well, they exhibited large position errors induced by the remaining faults. However, the GSFIR detected and excluded all 30 cm and 25 cm biases perfectly and provided the most accurate position solutions. The values of position errors and protection levels of each method are shown in Table 3. The SSX2 method has the highest protection levels because it has the highest level of noise, and the KFX2 method provided a slightly higher protection level than KFIR, which means that the KFIR method could detect smaller biases. The protection levels of the GSFIR method were the lowest, and this indicates that the proposed algorithm outperformed the other algorithms in terms of integrity and availability. Once the detected fault measurement is excluded, the protection levels increase in the faulty period because a smaller number of measurements are available.
Vertical position errors (Left) and vertical protection levels (Right) of each method.
Position errors and protection levels of each method.

6.2.3. Processing Time
Figure 10 shows the processing time of each algorithm. In the figure, the two dashed lines are the maximum allowable processing times for real time implementation.
Processing time of each algorithm.
The computational inefficiency of the non-Gaussian filter is the main acknowledged criticism. However, the simulation results show that the proposed algorithm can be implemented in real time up to 5 Hz. Because the carrier phase error distribution is almost Gaussian, a Gaussian sum filter can be implemented with a small number of Gaussian components.
6.3. Discussion of the Results
The simulation results and their analysis can be summarized as follows:
• The result of the SSX2 method was the worst due to the high noise level. KFX2 and KFIR use the same filtering method with different decision variables (WSSE and individual residual, respectively). For the same false alarm rate, the WSSE method has a larger detection threshold than the individual residual method has because it needs to consider the noise of the other fault-free measurement. Therefore, the individual residual method that considers only one measurement at a time has a lower threshold, better fault detection performance, and better availability.
• GSFIR and KFIR use the same FDE algorithm, but use different error model and filtering methods. GSFIR used the non-Gaussian error model, while KFIR used the overbound Gaussian error model. The overbound Gaussian model estimates the error distribution conservatively to prevent the integrity risk while keeping the Gaussian assumption, and thus it has a higher protection level and detection threshold.
• Although the major acknowledged criticism of the Gaussian sum filter is its computational inefficiency, it can be implemented in real time in ordinary PCs. There is no need to have many GMM components because carrier phase error distribution is almost Gaussian.
These results validated the proposed algorithm in terms of fault detection and exclusion availability.
The results can be explained with Figure 11, which shows the tail probability of a residual from the Kalman filter and the Gaussian sum filter. The Kalman filter used the overbound Gaussian to meet the integrity requirements and the Gaussian sum filter used the Gaussian mixture model that precisely follows the true error model. The detection threshold and the protection levels are determined using the residual distribution, false alarm rate, and missed detection rate. The difference of the error models results in the gap of the residuals at the given probabilities. The gaps, D1 and D2, cause higher detection thresholds and protection levels for the conventional CRAIM method.
The effect of overbound sigma.
7. CONCLUSIONS
In this paper, a CRAIM algorithm, which tests individual measurement residuals using a Gaussian sum filter, was developed. To represent a non-Gaussian carrier phase error model, a Gaussian mixture modelling method using the optimization technique, was introduced. The simulation results showed that the proposed algorithm could detect smaller measurement bias and generate smaller protection levels than other conventional methods. This result implied that the proposed algorithm could provide better integrity monitoring performance than other conventional methods that assume a measurement model to be Gaussian. The conservative sigma overbounding methods deteriorated the integrity monitoring performance. Using a more accurate error model, a navigation system can provide higher availability without integrity losses.
Although the proposed algorithm requires high computational capacity, the simulation results showed that a real-time process was possible to implement in an ordinary PC. Therefore it could be used in many sophisticated systems, such as reference stations, monitor stations, and airliners, or for development and performance assessment of sigma overbounding methods in conventional systems. In the future, more computationally efficient algorithms need to be developed for the proposed method to be widely used.
ACKNOWLEDGMENT
This research was supported in part by the Institute of Advanced Machinery and Design, Institute of Advanced Aerospace Technology at Seoul National University, the Ministry of Land, Transport and Maritime Affairs, Agency for Defense Development and the Brain Korea 21 (BK-21) program.



