Satellite navigation is critical in signal-degraded environments where signals are corrupted and GNSS systems do not guarantee an accurate and continuous positioning. In particular measurements in urban scenario are strongly affected by gross errors, degrading navigation solution; hence a quality check on the measurements, defined as RAIM, is important. Classical RAIM techniques work properly in case of single outlier but have to be modified to take into account the simultaneous presence of multiple outliers. This work is focused on the implementation of random sample consensus (RANSAC) algorithm, developed for computer vision tasks, in the GNSS context. This method is capable of detecting multiple satellite failures; it calculates position solutions based on subsets of four satellites and compares them with the pseudoranges of all the satellites not contributing to the solution. In this work, a modification to the original RANSAC method is proposed and an analysis of its performance is conducted, processing data collected in a static test.

1. Introduction

GNSS (global navigation satellite systems) are worldwide and all weather navigation systems are able to provide three-dimensional position, velocity, and time synchronization to UTC (coordinated universal time) scale. The multiconstellation based on GPS-GLONASS is the standard for most receivers, from survey ones to smartphones, and it is able to ensure the estimation of the user location by using the pseudorange observable in single point, with an accuracy of about 10 meters in good visibility conditions [1]. The main disadvantage of GNSS is the need of having a good satellites visibility; for this reason, the environments characterized by strong signal degradation, such as urban areas, are particularly critical for satellite navigation [2]. In fact, buildings can mask some signals, thereby reducing the satellites availability and causing geometric configuration worsening, up to cases in which it is not possible to calculate the position because of the lack of measurements. Buildings can also reflect signals from in-view satellites, producing the multipath effects, or from non-line-of-sight (NLOS) ones. These two effects are not the same, although they sometimes occur together, but cause gross errors in measurements even though different [3].

With the rise of enhanced GNSS systems over the next decade the number of satellites and therefore of ranging sources available for positioning will significantly increase to more than double the current value. Hence it is no longer possible to assume that the probability of failure for more than one satellite within a certain timeframe is negligible. In this context the ability to detect multiple satellite failures at the receiver level, where local errors sources as multipath, NLOS reception, receiver failures, unusual atmospheric conditions, or interference degrade the navigation solution, becomes of high importance for the integrity of the navigation system [4].

The system reliability is related to the ability to identify and exclude measures affected by large errors which, if not rejected, could corrupt the final output of the system. The reliability testing in GNSS context is performed by RAIM (receiver autonomous integrity monitoring) techniques, which are based on consistency check of redundant measurements [5, 6]. The classical RAIM algorithms need to be modified in urban canyons because of multiple outlier presence [7, 8], but such environments are currently a challenge for standard RAIM methods.

In this work RANSAC (random sample consensus) algorithm, early used for graphics and image processing [9] and capable of interpreting/smoothing data containing a significant percentage of outlier, is applied to GNSS case. RANSAC application in GNSS context was firstly studied in [10, 11], using simulated data and showing promising results; in [3, 12] this algorithm has been applied for GNSS outlier detection using real data.

The present work shows an augmented version of RANSAC algorithm, called P-RANSAC, whose results are particularly suitable for GNSS application and whose benefits are investigated.

The tests to demonstrate the efficiency of P-RANSAC method in GNSS context are performed using real data obtained from a GPS station located in an urban scenario. The results obtained from P-RANSAC algorithm are compared with original RANSAC method and the ones obtained with a classical RAIM technique, that is, the “observation subset testing” [13, 14].

2. GPS Positioning and RAIM Technique

2.1. Single Point Positioning

GPS positioning is based on the one-way ranging technique: the time of travel of a signal, transmitted by a satellite, is measured and scaled by the speed of light to obtain the satellite-user distance, called pseudorange (), whose equation is where is the geometric receiver-satellite distance, is the receiver clock offset scaled by the speed of light, and contains the remaining errors after atmospheric and satellite-related corrections [15].

A set of equations like (1), after linearization around a nominal state, forms the measurement model where is the difference between actual and predicted measurements, is the design matrix, is the remaining error vector after atmospheric and satellite-related corrections, and is the state vector containing receiver coordinates corrections and clock offset errors.

The state vector for the single point-single epoch algorithm is estimated using least squares method (LS), whose optimization criterion consists in minimizing the sum of the squared residuals defined as where is the state vector, estimated with LS.

In this work the adopted estimation technique is the weighted least squares (WLS), with weights related to satellite elevation [16].

2.2. Reliability Test

In GNSS context, reliability testing using overdetermined set of GNSS measurements is known as RAIM. In reliability testing, it is assumed that the measures follow a predefined statistical distribution and an outlier causes that the measure no longer follows this distribution [17]. Actually it is not possible to know certainly if a measure belongs or not to a predefined distribution [18]. In order to get that information with a good chance, a statistical approach is adopted, defining a decisional variable and a threshold wherewith performing a comparison. The situation where outliers are not encountered is called null hypothesis and the situation where outliers are present is called alternative hypothesis ; if the decisional variable is lower than the threshold , the event is assumed, while if is higher than the threshold , the event is considered and the presence of outliers is assumed. In reliability testing, there are two types of errors: false alarm and missed alarm. If the decisional variable is higher than threshold and there are no outliers, there is a false alarm and the probability of making this error is called significance level (α), while the probability of not committing this error is called confidence level. If is lower than threshold and there are outliers, there is a missed alarm; the probability of making this type of error is indicated by β and the probability of not committing this type of error is defined as the power of the test [16]. An example with Gaussian distribution is shown in Figure 1.

2.3. Global Test and Observation Subset Testing

A common reliability test is the global test based on least squares residual method (GT) which determines the goodness of the used model or highlights the presence of any outliers. It defines a decision variable , based on residuals, and compares it with a threshold. The decision variable is defined as with weighting matrix, number of measurements, and number of states.

It is assumed that the decision variable follows a central chi-square distribution with degrees of freedom [13, 16]; this is based on the assumption that the observation errors follow a standard normal distribution and on the relationship between the normal and chi-square distributions [5, 18].

The threshold is defined by where is the false alarm probability and is the -axis value corresponding to a false alarm probability of a chi-square distribution with degrees of freedom.

The hypothesis testing in the global test is In case of event the measurements are considered consistent; in case of an inconsistency is indicated by the test and a outlier among the measurements is assumed.

Subset testing is a RAIM technique for the detection and the exclusion of fault measurements and is based uniquely on global test [13, 14]. If a measurement set is declared inconsistent by GT, all the possible combinations of measurements are checked (up to measures), to find a subset from which the supposed outliers are excluded. Only the subset that passes the GT and is declared consistent is used to compute the navigation solution; if more subsets pass the GT, the set with the minimum statistic variable and the largest number of measurements is chosen. A complete scheme of the algorithm implemented is shown in Figure 2.


The algorithm developed and investigated in this work is based on the basic idea of the RANSAC algorithm, early used for graphics and image processing. It is an iterative method for the estimation of mathematical model parameters starting from a set of input data that contains a large percentage of outliers. It is a nondeterministic algorithm; it produces an accurate result only with a given probability that increases with the increase of the iterations [9]. RANSAC generates candidate solutions using a minimum number of observations (input data) needed to estimate the model parameters. In fact, while traditional methods use as much data as possible in order to obtain a solution and only later proceed to remove outliers that would significantly affect the solution, RANSAC uses the smallest possible set of data to determine the model and proceeds to enlarge this set with data points that are consistent with the estimated model. In a two-dimensional example of the problem, two distinct points are enough to draw a line passing through them.

The algorithm computes the solution by considering all possible subsets formed by two sample points, and it measures the consistence of the remaining sample points, classifying as outliers those that are located at a distance higher than a preselected threshold and inlier those that fall in the above threshold; the number of inlier defines the consensus number of the considered subset; in Figure 3 a generic iteration of the algorithm is displayed.

The subset with the highest consensus is considered the best and the samples that do not fall within the threshold are classified as outliers (Figure 4) and are excluded from the calculation of the final solution [10, 19].

3.1. RANSAC Application to GNSS

RANSAC approach can be adopted in satellite navigation and a minimum of four satellites is necessary to estimate the receiver position and clock offset, so subsets with four pseudoranges (defined quartets) should be used.

The RANSAC algorithm can be considered a RAIM-FDE (fault detection and exclusion) method, so a redundancy of at least two observations is necessary to identify a single outlier. For an overall FDE procedure, after estimating the residuals, the global test can be performed to find out the solution consistency. If some inconsistency is detected, an additional test can be performed to exclude erroneous observations. For detecting a failure, there must be at least one redundant measurement [7, 20].

The algorithm input data are the design matrix , the measurements , and their uncertainties, which are used to form the weighting matrix .

The first step of the algorithm is the “subset selection and sorting” (detailed in Figure 5), which selects of the useful subsets; that is, only subsets having excellent satellite geometry are kept, because they would provide accurate solutions in case of no outliers.

The number of possible subsets is given by the number of simple combinations of elements in places, where is the number of satellites in view and is the number of satellites in a subset, which is set to 4: In order to evaluate the subsets, the algorithm uses the singular value decomposition on the geometry matrix of each subset to compute the conditioning number. The conditioning number is a measure of stability or sensitivity of a matrix to numerical operations, given by the ratio between the first () and the last () singular value [21]: In the subset selection and sorting block all subsets are sorted in increasing order of conditioning number, and only the ones with a conditioning number smaller than a certain threshold are considered. The outputs of the block are the selected satellite quartets, which define the subset measurements, design and weight matrix (, , ), and consequently the satellites outside the subsets, indicated with the subscript “out” in Figure 5.

An alternative method for subset selection is to use the GDOP parameter. In [22] the relationship between GDOP and the conditioning number of the matrix is demonstrated; starting from that and considering the four measurements case it can be demonstrated that and so the following relationship is valid: From (9) the close link between GDOP and is clear, whose behaviour for all the quartets at a specific epoch is shown in Figure 6. A similar trend of them confirms that the two selection methods are equivalent (the thresholds must be suitably proportionated) and this is corroborated by empirical tests described in [23].

After subset selection and sorting, the position estimates (), for all selected subsets, are computed with a weighted least squares (WLS) solution: where and is a priori state.

Starting from the subset with the best conditioning number, the algorithm performs the “range comparison,” which compares pseudorange measurements out of the subset with pseudoranges calculated using the state estimated with the measures of the subset.

In this way it is possible to calculate the residuals of pseudorange outside the subset and the relative variance. Residuals are now defined as with measured pseudoranges outside the subset and predicted pseudoranges calculated using the state ; that is, Expanding around the a priori state, where is the pseudorange calculated with the a priori state and is the row vector of the geometry matrix corresponding to the concerned satellite.

and errors are uncorrelated, so the standard deviation of the residual is given by the square root of the sum of their variances: where since is deterministic.

The variance of the term is where is the covariance matrix of .

Substituting (16) into (14) the expression of the residual standard deviation becomes where with is satellite elevation.

RANSAC compares residuals with a threshold chosen as a multiple of the standard deviation , but it has been shown that, by using a threshold related to false alarm probability, the results are more accurate [23].

Residuals (11) are compared with the threshold equal to an abscissa value corresponding to a () probability of the standard normal distribution, where α is the false alarm probability. Using this comparison, the count of inlier (consensus number) can be determined for each subset: if the residuals are higher than the threshold, the corresponding measurements are called outliers; otherwise they are inliers. The algorithm can be stopped if a subset indicating all measurements as inliers is found.

The RANSAC algorithm applied to GNSS (detailed in Figure 7) iterates through all acceptable subsets, according to the geometric selection, identifying those with the highest consensus, which are used to detect outliers. If subsets provide inconsistent satellite outlier information, the algorithm classifies the solution as unreliable because it is not possible to identify uniquely the outliers; otherwise the state is estimated excluding the outliers.

In addition an updated version of the RANSAC algorithm, called P-RANSAC (PANG-RANSAC), is proposed; P-RANSAC performs a final range comparison using the estimate obtained by considering all the satellites in view except the outliers and assuming that such estimate is more accurate than the one from subsets with the highest consensus. The outliers that will be identified from this last comparison will be excluded from the final solution (Figure 8).

This approach allows identification of as many outliers as the number of satellites in view minus four for the estimation.

4. Test and Results

The abilities of RANSAC in GNSS context are tested adopting it for the analysis of a static data set. Measurements are collected by the Novatel single frequency receiver FlexPak-G2 connected to a GPS Trimble Microcentered L1/L2 antenna located on the roof of University of Naples “Parthenope,” an urban canyon scenario (Figure 9).

The data are processed using the two versions of the algorithm (RANSAC and P-RANSAC) and the classical RAIM technique observation subset testing algorithm as a comparison.

The measurement session has been collected in December 2013 for 4 hours with a one second data rate (the mission planning has been performed with the software developed by Parthenope Navigation Group [24]). Figure 10 shows the number of available satellites during the whole observation period that varies from 4 to 10 with an average of about 7 satellites for epoch.

Figure 11 shows the comparison, in terms of horizontal and vertical errors, between GPS positioning performed with(i)no RAIM technique (red dots),(ii)observation subset testing (green dots),(iii)RANSAC method (black dots),(iv)P-RANSAC algorithm (blue dots).

For all the considered RAIM techniques, the error decreases with respect to “no RAIM” case, characterized by mean horizontal and vertical absolute errors amounting, respectively, to 28.35 m and 53.36 m and by horizontal and vertical RMS errors, respectively, of 38.93 m and 74.11 m.

The mean horizontal and vertical absolute errors obtained with the observation subset testing are, respectively, 18.27 m and 42.07 m with horizontal RMS of 34.72 m and vertical RMS of 65.31 m.

The mean horizontal and vertical absolute errors obtained with the traditional RANSAC are, respectively, equal to 20.35 m and 43.31 m with horizontal RMS of 31.74 m and vertical RMS of 67.18 m.

Using the P-RANSAC algorithm, mean absolute errors and RMS horizontal errors are, respectively, 20.53 m and 31.64 m, while mean absolute errors and RMS vertical errors are 44.29 m and 68.23 m.

The errors of the considered configurations are summarized in Table 1, as figures of merit RMS and mean absolute errors are used. The solution availability, defined as the time percentage with at least 4 visible satellites, is 100% and indeed the minimum number of visible satellites is 4 (Figure 10).

The results listed above are for all available epochs. Hence considering all the epochs when it is possible to obtain a GPS solution, the RANSAC techniques do not show improvements with respect to the classical RAIM technique of observation subset testing, while a large error decreasing is evident with respect to no RAIM case.

The reliable availability, defined as the percentage of epochs marked as reliable by the RAIM technique, is about 88% for the observation subset testing, about 75% for RANSAC, and about 70% for P-RANSAC. An efficient way to highlight the performance of a RAIM technique is to compare its errors with the no RAIM case only for reliable epochs.

Considering only the epochs when observation subset testing is reliable, no RAIM positioning has mean horizontal and vertical absolute errors (Figure 12), respectively, equal to 28.32 m and 52.44 m, with horizontal RMS of 38.37 m and vertical RMS of 71.93 m. After the application of the algorithm the mean horizontal absolute error is 17.94 m and the mean vertical absolute error is 41.85 m, with an improvement of 36.67% and 20.20%, respectively; the horizontal RMS is 34.54 m and the vertical RMS is 64.67 m, with an improvement of 9.97% and 10.08%.

The results obtained using observation subset testing at reliable epochs are summarized in Table 2.

Figure 13 shows the errors in 74.83% of the epochs when RANSAC testing is deemed reliable. In this case no RAIM horizontal and vertical mean absolute errors are 26.85 m and 44.73 m, with horizontal RMS of 37.55 m and vertical RMS of 65.50 m. After the application of the algorithm the mean horizontal absolute error is 16.59 m and the mean vertical absolute error is 31.84 m, with an improvement of 38.22% and 28.82%, respectively; the horizontal RMS is 27.53 m and the vertical RMS is 55.08 m, with improvements of 26.70% and 15.91%.

The results obtained using RANSAC are summarized in Table 3.

Considering only the epochs when P-RANSAC is reliable, no RAIM positioning has mean horizontal and vertical absolute errors (Figure 14), respectively, equal to 26.01 m and 52.44 m with horizontal RMS equal to 37.09 m and vertical RMS equal to 61.76 m.

The P-RANSAC is characterized by a mean horizontal absolute error of 15.26 m, with an improvement of 41.32%; while the mean vertical absolute error is 28.57 m, with an improvement of 30.38%. The horizontal RMS is 25.86 m and the vertical RMS is 51.61 m, with improvement of 30.28% for the horizontal and 16.43% for the vertical one.

The results obtained using P-RANSAC are summarized in Table 4.

A final comparison was made considering only the epochs reliable for P-RANSAC and RANSAC (Table 5); it could be noted that the P-RANSAC produces a slight improvement compared with RANSAC on the vertical mean absolute error and the vertical RMS error.

Test results show that the observation subset testing algorithm has a higher percentage of reliable availability, while RANSAC and P-RANSAC provide larger improvements in RMS and mean errors at reliable epochs.

5. Conclusions

Classical RAIM algorithms do not work properly in case of simultaneous multiple outliers; RANSAC technique, mainly used for graphics and image processing, usually works properly even with a large percentage of outliers. For this reason this paper has been focused on the implementation of RANSAC algorithm in GNSS context, applying it on urban canyon data, typically characterized by multiple outliers caused by multipath and NLOS errors. To assess RANSAC performance, its results are compared with the ones obtained applying observation subset testing (a classical RAIM technique) and with the solution obtained without RAIM application.

RANSAC algorithm calculates the position based on four satellites and compares this estimate with the pseudoranges not contributing to this solution. The residuals of this comparison are then used as a measure of statistical consensus. The measurements with residuals larger than a certain threshold are identified as outliers. This approach allows identification of as many outliers as the number of satellites in view minus six. An updated version of the RANSAC algorithm, called P-RANSAC, is proposed; P-RANSAC performs a final range comparison using the state estimate obtained with only the inliers identified by RANSAC. The measurements identified from this last comparison as outliers will be excluded from the final solution.

The subset technique provides larger reliable availability (about 88%) relative to RANSAC (about 75%) and P-RANSAC (about 70%). On the other hand RANSAC techniques demonstrate a better ability to detect and reject measurements affected by large errors as revealed by lower horizontal and vertical (both mean and RMS) errors for the reliable epochs; in fact, traditional RANSAC shows improvements relative to no RAIM application up to 36% for reliable epochs, while P-RANSAC shows improvements up to about 40%. Testing the last two methods on common reliable epochs it was noted that mean absolute error and RMS for vertical component slightly improve in P-RANSAC configuration.

The RANSAC and P-RANSAC algorithms performances are promising; hence further investigations on larger data amounts can be useful to validate their use in GNSS context. Moreover the next step of this research will be to assess the RANSAC performance with GPS and GLONASS (or Galileo) together.

Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.