Positioning integrity computation for consumer grade GNSS receivers

This paper describes the generalization of a method for the estimation of the reliability of the positioning information provided by consumer-grade devices exploiting the Global Positioning System (GPS) and the other Global Navigation Satellite Systems (GNSS) in a wide range of situations and environments. Principles are introduced, and a description of the implementation is detailed. Data collection and analysis necessary for the environmental characterization are reported. The algorithm was validated with some test carried out in different conditions.


The errors affecting positioning
Every GNSS receiver is affected by a number impairments causing degradations in the positioning performance. Several means exist to reduce the impact of such error sources: some of them are receiver based, while others exploit external corrections as the differential ones [1].
Differential GNSS (DGNSS) has the aim of mitigate some of the errors afflicting the measurements performed by GNSS receivers: it is a kind of GNSS Augmentation system based on an enhancement to primary GNSS constellation(s) information by the use of a network of ground-based reference stations which enable the broadcasting of differential information to the receiver -also named rover, to improve the accuracy of its position. From the differential system point of view, the error sources can be divided in two main groups: errors with a stronger spatial correlation and errors with a weaker spatial correlation. The concept of spatial correlation refers to the variation of the error magnitude with respect to the change of the receiver position. Different GNSS receivers will experience the effect of the same error source depending on the error spatial correlation and the distance among the receivers.
A differential system takes advantage from the fact that two receivers with a certain degree of proximity will be affected by common errors, namely the errors with a strong spatial correlation, that can be mitigated: a receiver at a known location can estimate such errors and provide this information to a second receiver. Correlated errors are the ones in the satellite parameters provided to the users by the GNSS itself and the ones due to the signal propagations through the atmosphere. The firsts can be classified in clock parameters errors and ephemeris errors (which describe respectively the clocks on-board the satellites and their motion along the orbits). The seconds can be divided in ionospheric and tropospheric. Clock parameters errors have the maximum degree of correlation being the same for every receiver wherever it is, ephemeris errors have a high degree of correlation, while ionosphere, being heterogeneous, has different effects in different location. The same holds for troposphere which is more heterogeneous, but whose effects are weaker. Uncorrelated errors origin internally or externally; they are due to noise, possible electromagnetic interference and multipath. A brief description of a specific kind of differential system able to reduce the impact of such errors will be described in Section 2.

Multi constellation GNSS receivers
The last decade saw the growth of GNSS alternative or better complementary to GPS. The Russian GNSS, GLONASS has been brought back to its full potential, Galileo, the European GNSS, is in the middle of its deployment [2], but it presents new interesting features, while the Chinese constellation, named Beidou, it is almost complete.
GNSS receivers producers are exploiting the possibilities provided by the contemporary presence of these systems. Consumer grade GNSS receiver manufactures found a cost benefits balance in exploiting a single frequency from two or more systems. The main benefit of this approach is to be able to exploit a bigger number of satellites allowing weighting or selection strategies, in order to avoid the use of satellites more affected by errors. More simply, in case of natural or urban canyons the availability of more constellations enables the positioning itself, when, for example, the GPS satellites in view are not enough (at least four satellites are needed for position computation, if no additional information is provided by other sources, as an barometric altimeter). A study conducted by the European GNSS Agency (GSA) and Rx Networks shows that when used jointly with GPS and/or GLONASS, Galileo significantly improves the position accuracy in challenging environments, such as urban canyon or indoor [3].
Basically, the advantages provided by the exploitation of more GNSSs are due to redundancy, but this doesn't provide any guarantee about positioning reliability.

RELATED WORKS
In the field of navigation when reliability is involved, the term integrity is used: its definition is the "ability to protect the user from inaccurate information in a timely manner". A simpler definition provided by Brad Parkinson (the father of GPS) is: "I know I'm getting this accuracy, the system is not lying to me". Navigation solution integrity is the basis for SoL applications, starting from aviation. In fact, algorithms and systems have been firstly developed to enable safe aircrafts operations with the use of GNSS.
The first methods to provide integrity information belong to the Receiver Autonomous Integrity Monitoring(RAIM)algorithm family [4]. They enable proper GNSS receivers to detect signals problems which can impair positioning performance.
The first receiver independent system developed has been the Wide Area Augmentation System (WAAS) [5]. It enables GPS based navigation for aircrafts in different flight phases over the North America. The second system to become operational was the European Geostationary Navigation Overlay Service (EGNOS) [6]. Both of them are based on ground and space infrastructures that enable the provision of additional information to specific receivers in order to augment their positioning capabilities, in term of accuracy and integrity. WAAS and EGNOS, also called Satellite Based Augmentation Systems (SBAS), provide corrections for different errors affecting the navigation signals received by the users equipment and at the same time they estimate the reliability of these corrections enabling proper GNSS receivers to compute a bound to the error the receiver itself can make.
For each satellite a SBAS provides information to correct clock parameters, position of the satellite, ranging error and ionosphere effects, while the use of a model is foreseen to compensate for the effect of the troposphere. At the same time supplemental information is provided to compute the reliability of such corrections and models, which at the end of the process is expressed as a variance σ 2 i related to the each ranging measurement (i) performed by the receiver. These variances, together with the satellites geometry and a inflation factor (k) are translated in two distance values called Protection Levels (PLs): they represent the bounds for the positioning error on the horizontal plane (HPL) and in the vertical direction (VPL). The system provides the guarantee (with the probability required by the specific application, from which the k factor depends) that the maximum error expected for each position is smaller than the PL.
where d major corresponds to the error uncertainty along the semi-major axis of the error ellipse and d 2 U is the variance of model distribution that over-bounds the true error distribution along the vertical axis and it corresponds to the error uncertainty in this direction. where are the variances of model distribution that over-bounds the true error distribution in the E and N axes, while the last is the covariance of model distribution in the EN axis. s east,i , s nor t h,i and s U ,i are the partial derivatives of position error in the subscript direction with respect to the pseudorange error on the i-th satellite. For a general least squares position solution, the projection matrix S is defined as: where the i-th row of the geometry matrix G is defined as follows: where El i and Az i are respectively the elevation and the azimuth of the i-th satellite and where, for standard flight operation, w i = 1/σ i 2 . Hence, From (1) to (8), it is clear how the position reliability depends form both the geometry of the satellites constellation and the measurement quality. However, while the corrections provided by SBAS can be exploited by any user in most situations to improve the positioning performance, the integrity is guaranteed only for aviation applications, whose models are based on specific environmental conditions. In fact signals are received by the equipment carried by an aircraft: the environment is open sky, meaning that there are not shadowing effects by nearby elements [5]. Usually one of the most detrimental source of error is the so called multipath, that is the reception of the same navigation signals after one or more reflections from nearby objects: in the case of an aircraft the effects produced by multipath are smaller and can be taken into account in an effective way. If other applications are considered, such models can partially exploited to take into account inaccuracies in the description of satellites orbits and effects of signal propagation through the atmosphere, but they are unfit for the last part of the signal path, dealing with complex environments like urban one or where vegetation is present.

THE LOCAL INTEGRITY
In order to overtake these limitations, a novel concept has been introduced in [7]: the local integrity, which has the objective of evaluating the effects of the local environment on the signal propagation and eventually computing an effective bound to the positioning errors. The particular approach followed in [7] foresaw the modelling of the errors for any specific location of interest at any time, to be able to compute a bound for each satellite. This approach was feasible in urban contexts where a lot of data were collected all along the day by a wide set of sensors (GNSS receivers) carried by the vehicles travelling the city. For the demonstration of this concept, the area of interest was divided in 15 by 15 metres squares where the signals to be characterized were divided in groups belonging to 5' minutes time slots (exploiting the fact that the GPS constellation assumes the same configuration every day, values averaging using data from different days was possible). Once the volume of collected data had been rated to be enough for a correct estimation, standard deviations of the ranging errors were computed for each satellite, for each location and for each time slot. A specific multiplicative factor (k) can be computed in order to satisfy applications requirements [8].
In the frame of an emergency scenario, this approach to the local integrity may be not applicable due to the fact that the operations theaters or the areas of interest can be almost everywhere and an extensive preventive mapping of the signals quality is unfeasible. The approach followed for the development of this generalized version of the local integrity algorithm foresaw four main phases: • to collect a big amount of data as done in the [9] case, but differentiating the environmental conditions • to classify the kinds of environment on the basis of the elevation of the satellites which signals are received • to define a signal degradation model for each environment to compute effective protection levels • to verify the goodness of the proposed approach checking if errors are bounded by PLs.

THE LOCAL INTEGRITY ALGORITHM IMPLEMENTATION FOR EMERGENCY SERVICES
The algorithm described by this paper is a major upgrade of an already existing system: a positioning Augmentation Module based on the EGNOS data provided via internet by the EGNOS Data Access Service (EDAS). The original version of this Augmentation Module is described in [10][11][12]. The development of the algorithm started from the analysis of some datasets taken in different environments (open sky, country, hill mostly covered with vegetation and urban) with a consumer grade GNSS receiver (a u-blox LEO 8U). Among the measurements made available by such a receiver the analysis was addressed to the so called pseudorange residuals. In principle it is possible to compute such values once the receiver has computed a position. It is worth to recall that the pseudoranges are the raw measurement performed by the receiver on each of the incoming GNSS signals; these are distance measurements , but they are called pseudoranges because of a common term affecting all them by the same amount; this bias is due the misalignment of the receiver clock with respect to the GPS time (tied to the Universal Time Coordinated). Any GNSS receiver can compute a position using the pseudoranges (knowns) from at least four satellites and solving a non-linear system of four equations, in order to determine its coordinates ant its time bias (unknowns). In case more measurements are introduced, the achieved redundancy can be exploited to improve the position estimation; this is obtained minimizing the root mean square of the differences between the pseudoranges (once the time bias has been removed) and the distance between the estimated position and the related satellites. Such differences are the pseudorange residuals which are related to the errors affecting the measurements [4]. Ideally all the residuals should be equal to zero, however the different error sources introduce some biases to the measurements, which affect the position computation. Therefore it is important to highlight that the true errors in the pseudoranges are not the residuals: in fact they are computed from a position which in its turn is affected by the same errors. In any case the pseudorange residuals provide a useful information about the measurements quality: when their values are low it is likely to have a good position estimate, whereas, in general, high values are sign of errors in the measurements and consequently of worse position quality.
The idea at the basis of the algorithm uses the information about residuals to estimate the error variance of the user position. For each epoch, the set of residual variances is then combined according to the satellites geometry in order to provide an estimate of the position quality and consequently the protection levels along the different directions (along track and cross track).
Instead of resorting to generic analytical models for a User Equivalent Range Error (UERE) (providing σ U ERE,i values for each i-th satellite as it happens in the case of SBAS), without taking into account the real effects of noise and multipath in a specific conditions, it is possible to define an "effective UERE" parameter (σ U ERE,e f f ) as an ensemble average of several "instantaneous" estimates of the covariance of the residuals. As detailed in [7], the vector w containing the pseudorange residuals can be put in relation with the (non-observable) pseudorange errors ε through a projection matrix S: It can be demonstrated that it is possible to obtain an estimate of the effective UERE througĥ where N sat is the number of satellites used to compute the position and Σ w is an estimator of the residuals covariance matrix defined as where M is the number of independent observations and w n is the n-th observations vector. Starting from (10) local protection levels can be computed taking into account the satellite geometry and the motion direction of the user as described in [7]. They are the Along Track Protection Level (ATPL) that bound the error in the direction of movement, the Cross Track Protection Level (CTPL) and the Vertical Protection Level. These values can be used to define an ellipse centered at the user computed position and containing the true user position with a certain probability. It is oriented according to the direction of motion.
At this point it is worth to highlight two facts that drove the algorithm practical implementation. The first is that the information about residuals is seldom provided by GNSS receivers (at least consumer grade ones), from here the necessity to exploit other information about satellites and signals more easily available. For this reason one of the main activities performed to set up the algorithm was addressed to characterize different environments using as inputs the elevation of the satellites above the horizon and the signal strength, namely the C/N 0 (the ratio between the carrier power and the noise power per unit of bandwidth) and making residual ensemble averages for a set of elevation and C/N 0 values intervals. For example all the residual values collected for all the satellites in a specific environment and with an elevation of 10 • are average as described by (11), note that satellite elevation resolution usually provided by GNSS receivers is 1 • . During current operation the algorithm receives in input satellites elevation and C/N 0 values and associates to each satellite the averaged residual value for the

Residuals vs C/N0
Raw data Mean values (for each bin) Quadratic curve fit specific environment; given this set of residuals, it is possible to compute the PLs as described in [9] blending the residual variances coming from the evaluation based on the elevation and on the C/N 0 . Figure 1 shows how two different data collection yielding averaged values of residuals for different satellite elevations (a) and C/N 0 values(b). The second fact that drove the algorithm practical implementation is less manifest being related to the possibility of system disruptions that origin from problems at system level (global): these events even though extremely rare can have a big impact on position integrity. In fact SBAS are conceived to provide timely warning in case of these events that can involve one or more satellites: this is achieved through the constant real-time monitoring of the GNSS constellations. The development of the algorithm was addressed to  In this case the data were collected using a bike passing more than once along the same streets: this explains the high ellipses density.
the estimation of signal degradations at local level. These degradations are independent from system level problems which, if present, are filtered out. In fact the characterization of signal reception in the different environmental conditions was based on the averaging of the residuals variances over extended data collections. For these reasons local and global effects are taken into account simultaneously as it is done in the classical integrity, using EGNOS information (through EDAS), but replacing the variables which takes into account the local effect with the new ones.

Validation
In order to validate the algorithm, four trials were performed along four path representative of the different environments: urban, hill with vegetation, country and open sky. They lasted from 30 minutes to 1 hour each.
Three GNSS receivers were used for the validation: • u-blox LEO 8T (configured to use GPS and Galileo) • u-blox LEO 8U (configured to use GPS and Galileo) • NV08C-CSM (configured to use GPS and GLONASS) The validation has been performed using a reference path (ground truth) computed with a Novatel SPAN-CPT receiver which integrates GNSS measurements with an inertial sensor and provide a sub-decimetric accuracy and using Google Earth orthophotographs to have a visual information. The difference between the computed position with the ground true was computed and compared with the PLs values. The orthophotographs shows that each point belonging to the path covered during the test is contained within the ellipse defined by the computed position and the PLs as shown in Figure 2 in the case of the vegetated hill and in Figure 3 in the case of the urban track.