Introduction

The Global Positioning System (GPS) is a widely used satellite navigation system. Due to the recent shift in focus of worldwide aviation from ground-based to space-based navigation systems, the safety of use of GPS for such purposes has currently become the subject of global research. After the discontinuation of Selective Availability (SA) in 2000, GPS performance available to the civilian community is specified in the GPS Standard Positioning Service (SPS) Performance Standard (US Department of Defence 2001) providing information on service accuracy, availability, and reliability with respect to the signal-in-space (SIS).

To use GPS for aviation, stringent standards, established by the International Civil Aviation Organization (ICAO), have to be met (ICAO SARPS 2004). One of the requirements is integrity, a measure of the degree of trust that can be placed in the correctness of the navigation information. However, the GPS SPS does not provide real-time integrity information. Hence, for safety critical applications like aviation, GPS signals must be monitored. The vulnerability of GPS signals has been investigated for example by Ochieng et al. (2003) and Volpe report (US Department of Transport 2001). Furthermore, recent research activities are focussed on the quantification of the failure modes of GPS (Bhatti and Ochieng 2007a; Ochieng et al. 2003; Van Dyke et al. 2003, 2004; Walsh et al. 2004). These approaches are based on the exhaustive search for potential failure modes that can affect GPS navigation performance. In this regard, work on FMEA (Failure mode and Effect Analysis) for the complex and multi-segmented GPS is still ongoing.

GPS augmentations like GBAS (ground-based augmentation systems) and SBAS (satellite-based augmentation systems) monitor GPS signals in real time. They relay integrity information by signals that are vulnerable to jamming and interference, a principal failure mode of GPS. A potentially effective method to address these risks is to integrate GPS with other navigation systems such an Inertial Navigation System (INS).

The INS is a self-contained system with high short-term stability, immune to jamming as well as interference. However, high grade systems are very expensive. The emergence of INS sensors exploiting MEMS (micro-electromechanical systems) technology is creating the potential for affordable integrated GPS/INS architectures if the problems associated with performance could be overcome. This has the potential to offer a cost-effective alternative to other forms of augmentations depending on the user (operational) requirements.

INS can be integrated synergistically with GPS so that short-term and long-term stabilities of INS and GPS, respectively, can be exploited. The traditional integration method is the usage of a Kalman filter. In order to realize an optimal integrated system, a number of issues need to be considered. These include the type of INS and the integration architecture. These have implications on system integrity. Various types of integration methods are available and broadly classified as loosely coupled, tightly coupled, and ultra-tight/deep (Gautier and Parkinson 2003). Loosely coupled systems combine processed measurements of the two systems, while tightly coupled systems generally carry out the integration at the raw measurement level. Ultra-tight systems generally have feedback loops between the two systems.

It was shown in a set of companion papers (Bhatti et al. 2007b, c) that tightly coupled systems provides most benefit in terms of access to measurements and simplicity of the integration structure. Hence, this is the preferred architecture for dealing with the integrity of the integrated system. Furthermore, a rate detector algorithm is presented therein. It was shown that it can achieve 40% reduction in the time to alert (TTA) achievable by the existing techniques. This rate detector algorithm is analyzed further in this paper. First of all sensitivity analysis is performed in order to ascertain the validity of the detector for different errors. Secondly, this algorithm is subjected to real data. The data are extensively analyzed to check the suitability of the data for integrity analysis. As a result of the analysis, a modification is suggested to the original rate detector algorithm.

Section “Implementation of the rate detector algorithm” summarizes the rate detector algorithm. Section “Sensitivity analysis” presents the results of sensitivity analysis of the rate detector algorithm. Section “Profile of real data” provides analysis of the real data used. Section “Detection of a single SGE in real data” shows results for detection of a slowly growing error (SGE) by using existing techniques and the proposed technique. Section “Conclusion” concludes the paper.

Implementation of the rate detector algorithm

The rate detector algorithm needs the test statistics of the AIME (Autonomous Integrity Monitoring by Extrapolation method) configuration (Diesel and Dunn 1996). The Autonomous Integrity monitoring by Extrapolation Method (AIME) is a sequential algorithm in which the measurements used are not limited to a single epoch. The test statistic is a weighted average of Kalman filter innovation over the past measurements. The weight matrix used in the test statistic is the inverse of the innovation covariance matrix of the Kalman filter. The test statistic exhibit central and non-central Chi-square distributions for the no fault and fault cases, respectively. Three test statistics are formed s 1, s 2, and s 3; averaged over 150 s, 10 and 30 min. The decision threshold is also based on chi-square distribution. This is selected on the basis of a false alert rate of 10−5 per h in a fault free environment. In practice, the rate detector algorithm can be implemented alongside the AIME algorithm to detect the slowly growing errors early. The flowchart for practical implementation of the rate detector algorithm is shown in Fig. 1.

Fig. 1
figure 1

The flowchart for the rate detector algorithm

It can be seen that the AIME test statistic is obtained from the main navigation Kalman filter and fed to the rate detector algorithm. The rate detector algorithm estimates the rate of the test statistic and compares it with the threshold values (computed offline). An integrity flag is set if velocity is greater than the corresponding threshold. Otherwise new measurements from GPS and INS are accepted and the process continues (Bhatti 2007). Preliminary analysis of the rate detector algorithm is presented in Bhatti et al. (2007c). This will be treated in detail in this paper. The sensitivity analysis of the rate detector is presented next.

Sensitivity analysis

The rate detector algorithm has been simulated using a simulation platform that has the capability of simulating GPS, INS, and various error sources (Bhatti et al. 2007b, c). The main navigation Kalman filter is allowed to settle to its steady state for 1 h. It was shown in Bhatti et al. (2007c) that a 40% reduction in detection time is achieved with respect to the AIME and MSS algorithms. The multiple solution separation (MSS) method is based on forming the solution using different sub-filters by removing one measurement at a time and comparing it with the full solution (Brenner 1995). In effect it is a snapshot method that uses the measurements only at the current time. The test statistics is formed using the horizontal measurements of the full and the sub-solution. This is assumed to follow zero mean normal distribution in the no fault case and non-zero mean normal distribution in the faulty case. The decision threshold (to compare the test statistic with) is chosen based upon the maximum probability of false alert. Another threshold is computed for which it is assumed that if there occurs a fault it should not cross the threshold except with the specified missed detection probability. In contrast to the AIME method, this is a position domain method. The efficiency of the rate detector algorithm is possible due to the detection of the rate of the test statistic in contrast to only monitoring its magnitude. A sensitivity analysis has been performed for the proposed rate detector algorithm. It can be seen from Fig. 2 that the proposed algorithm is successful in detecting errors with different rates. These include step error of 100 m and growing errors of 1, 2, and 3 m/s introduced in a satellite pseudorange. It can also be noted that the faster the growth of the error, the earlier the detection. This is because this algorithm detects the rate of the signal.

Fig. 2
figure 2

Detection of different types of errors using the rate detector algorithm

The proposed rate detector configuration is efficient in detecting a single slowly growing error. The results can be affected if the modeling of measurement signal is not accurate in the rate detector Kalman Filter (Fig. 1). The performance can be improved by varying the measurement noise matrices and covariance matrices or in other words tuning of the Kalman filter for the rate detector algorithm (Brown 1992). This will minimize the effect of measurement noise on the estimation of the rate of the test statistic.

Detection of error in real data is performed to validate the rate detector configuration. The characteristics of real data are studied in detail so that it can be used to quantify integrity performance.

Profile of real data

The real data consist of IMU and GPS data. The IMU data consist of velocity and attitude increments; time tagged with GPS time. GPS data are in the form of the Receiver INdependent EXchange Format (RINEX) file set. GPS data were captured by the Novatel OEM dual frequency receiver. The data were collected in Nottingham on August 13, 2005, by staff of the IESSG (Institute of Engineering Surveying and Space Geodesy), University of Nottingham. RINEX is the most common exchange format for GPS data in the Geodesy community. This RINEX data come in the form of two files, observation and the navigation file. The observation file includes GPS observables, code phase, and carrier phase measurements (L1 and L2) for the observed satellites temporally referred to the receiver time (UTC) (L1 is used in this analysis because this is the only observable available to a typical aviation user). The navigation message file contains the broadcast ephemeris, ionospheric coefficients, and clock correction parameters. The IMU data are available at 200 Hz, while GPS data are available at 4 Hz. The IMU used is a Honeywell Commercial Inertial Measurement Unit (CIMU). It is a navigation grade IMU with the performance specifications shown in Table 1 (Hide et al. 2005).

Table 1 CIMU performance specifications

From Table 1, it can be seen that the Honeywell CIMU is a very good quality IMU. It was mounted on the back of a vehicle. The vehicle and the equipment are shown in Fig. 3. As can be seen from Fig. 3, the IMU and GPS antenna are not collocated. Therefore, lever arm corrections are required in this case. These are calculated by using a steel ruler and are tabulated in Table 2. The ruler used has a measurement resolution of millimetres hence the accuracy of the lever arm is suitable for the purpose of checking integrity since it is much smaller than the inherent accuracy of the GPS code signal which is in centimetres.

Fig. 3
figure 3

The GPS/INS equipment and the van used to collect real data (INS is packaged in the box while round GPS antenna can be seen)

Table 2 Lever arm corrections between IMU and GPS antenna

These parameters were provided by the IESSG. These are required because GPS pseudoranges are predicted from positions derived from INS measurements in a tightly coupled architecture.

GPS data profile

Figure 4 shows the position profile (trajectory) of the vehicle obtained from the raw GPS data from the RINEX files. The data was captured from multiple runs of the vehicle along the same trajectory. The vehicle positions were computed using the least squares algorithm to process the pseudoranges. The start point is marked by A and endpoint is marked by B. The error compensation for the delays due to the ionosphere and troposphere was carried out. Multipath compensation has not been attempted in this work since this is small in magnitude due to the used of choke ring antenna.

Fig. 4
figure 4

The ground track of the vehicle as computed from the GPS data

Due to the nature of the data capture scheme adopted, repeated trajectories facilitate a level of data validation against blunders. Figure 5 shows an enlarged part of the repeated ground track presented in Fig. 4. The number of satellites in view of the vehicle mounted antenna is shown in Fig. 6. It can be seen that the minimum and maximum number of satellites available during the run are 6 and 9, respectively. The Dilution Of Precision (DOP) values during the trajectory are shown in Fig. 7. It can be seen that the improvement in the PDOP in the later part of the trajectory (Fig. 7) is principally due to the availability of larger number of satellites (Fig. 6) in a good geometric configuration.

Fig. 5
figure 5

The zoomed in view of the vehicle trajectory to show turns

Fig. 6
figure 6

Number of the satellites in view during the course of trajectory

Fig. 7
figure 7

Position dilution of precision during the trajectory

The INS data profile

Figure 8 shows the ground track of the vehicle using INS based positions. The typical error growth which is a well known characteristic of inertial measurement units is evident in Fig. 8. This is in contrast to GPS derived positions that have long term error stability. The INS velocities in the North and East directions are shown in Figs. 9 and 10 respectively.

Fig. 8
figure 8

The ground track of the vehicle as obtained from the INS

Fig. 9
figure 9

North (X-axis) velocity of the vehicle as obtained from the INS

Fig. 10
figure 10

East (Y-axis) velocity of the vehicle as obtained from the INS

It is very interesting to observe that the magnitude of both the velocities change with the turns of the vehicle. The East and North components of the velocity vary during a turn, even if the magnitude of the horizontal velocity does not vary much. This cross-validates the multiple about-turn manoeuvres of the vehicle as seen from the GPS based trajectory (Figs. 4 and 5).

The divergence in the position estimate by the INS (Fig. 8) can be controlled by GPS/INS integration as shown in Fig. 11. The results shown are for the tightly coupled integration because it is the representative configuration selected for best performance with regard to integrity (Bhatti et al. 2007b). The validity of the data is discussed in the next section.

Fig. 11
figure 11

Ground track obtained using GPS and the integrated system

Data validity

Before analysing the data further it is important to ascertain that the data are valid and do not contain any blunders. As two independent navigation systems are installed on the same vehicle, there is no need to validate it using methods such as carrier phase processing or map-matching. The following points are notable in this regard:

  1. 1.

    The vehicle repeatedly traversed a specific path hence, validating the data for the presence of large blunders. Since the purpose of this paper is to compare integrity algorithms, very precise measurements such as carrier phase are not required.

  2. 2.

    The position data from the INS cannot be used to validate the position data from the GPS because of excessive INS error growth. However, velocity data from the INS shows the vehicle turning very clearly for a number of times (as is evident from the GPS based data). From Figs. 5, 9 and 10 number of turns can be calculated to be 9. Hence, this also validates the data against the presence of blunders.

  3. 3.

    In the preliminary analysis of the real data, it was found that the GPS position solution started to diverge after approximately half an hour. After a detailed investigation of the data files (RINEX observation files), it was discovered that one of the pseudorange measurement is significantly below the typical value expected to be observed onboard a typical road vehicle (≅20,000 km). This led to the implementation of a data reasonability check to filter the pseudorange data so that only satellite measurements with reasonable values were used in the subsequent analysis. This is in effect a simple comparison of pseudorange values with a threshold. This threshold is calculated by assuming typical trajectory in question whether for an aircraft or a road vehicle. This is an effective test for blunders.

  4. 4.

    The test statistics for the integrity algorithms reached steady state as observed from the data (Bhatti 2007). This was also discussed further in another paper by the same authors related to handling of multiple failures (Bhatti and Ochieng 2009). This is only possible when there are no faults in the data.

After the description of the characteristics of the real data and assessment of validity, the following sections assess the capability of a selection of integrity algorithms (for GPS/INS integrated systems) and the rate detector algorithm to detect SGEs in an integrated system. The selection of SGE as a representative error is described in (Bhatti and Ochieng 2007a). SGEs are most difficult because they take relatively long time to be detected and hence do not in general meet the performance specifications given by Aviation (Bhatti 2007). The selection of MSS and AIME algorithms as representative integrity algorithms is discussed in Bhatti (2007). Since MSS is a position domain method (and snapshot) and AIME is a measurement domain method (and sequential) these methods are selected as representative integrity algorithms.

Detection of a single SGE in real data

The current and proposed integrity algorithms are applied to the tightly coupled integrated system for the real data case. From the simulation results in Bhatti et al. (2007c), it was observed that the test statistics for the integrity algorithms attained steady state in around 60 min. An interesting observation here is that the steady state is reached earlier with real data (in a couple of minutes). The steady state with real data is reached earlier because of the following reasons:

  • The data rate of the IMU and GPS is 400 and 4 Hz for real data as compared to 100 and 1 Hz in the simulation environment, respectively. The Kalman filter sample time was chosen according to the GPS data rate available.

  • The manoeuvres in the simulation are related to aircraft dynamics which are quite fast compared to a road vehicle. Hence, the Kalman filter reaches the steady state earlier because of the relatively smooth data.

Hence, to test the detection performance of these algorithms, artificial failures are to be injected. For this purpose, the worst case slowly growing error (SGE) of 0.1 m/s was injected in one of the pseudoranges during the steady state.

The steady state in the case of the rate detector algorithm is reached comparatively later (8 min) than the existing algorithms (for AIME and MSS it is 100 and 210 s, respectively). This is because the rate detector algorithm is in effect an arrangement of cascaded filters and hence takes more time to settle. This is not essentially a limitation in general, because almost 1 h is allowed for a Kalman filter to settle before it is expected to detect a failure (Bhatti et al. 2007c and Lee and O’Laughlin 1999).

The performance of the Autonomous Integrity Monitoring by Extrapolation method (AIME) algorithm is shown in Fig. 12. It can be seen that the injected error of 0.1 m/s injected after 2 min (after attainment of steady state after 100 s) is detected in 320 s. The test statistics for 10 and 30 min have not been used as the failure has been detected earlier (Diesel and Dunn 1996).

Fig. 12
figure 12

The detection of 0.1 m/s error by AIME algorithm

Figure 13 shows the performance of the Multiple Solution Separation (MSS) algorithm for the same data set, which has been used to test the performance of the AIME method. It can be seen that the SGE of 0.1 m/s introduced at 210 s after attainment of steady state, is detected in a duration of 250 s.

Fig. 13
figure 13

The detection of 0.1 m/s error as detected by the MSS algorithm

After the initialization of the rate detector Kalman filter it is propagated in time and updated using the AIME test statistic from the main navigation Kalman filter. The output of the Kalman filter i.e. velocity of the test statistic is compared with threshold (obtained offline). An integrity flag is set if the velocity is greater than the threshold.

Initial results from the application of the rate detector algorithm (developed in Bhatti et al. 2007c) to real data, suggested the existence of residual errors in the test statistics which were not observed during simulation tests. To cater for this, an additional bias state was added to the rate detector algorithm. The new set of state equations used in the rate detector algorithm is then given by

$$ \left[ {\begin{array}{*{20}c} {\dot{p}} \\ {\dot{v}} \\ {\dot{a}} \\ {\dot{b}} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} 0 & 1 & 0 & 0 \\ 0 & { - \alpha } & 1 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} p \\ v \\ a \\ b \\ \end{array} } \right] $$
(1)

where p is the position state, v is the velocity state for the test statistic, a is the acceleration state, α is the correlation coefficient and b is the bias state which is a new state added as compared to the dynamic model shown in Bhatti et al. (2007c).The new measurement matrix H and output matrix C are given by

$$ H = \left[ {\begin{array}{*{20}c} 1 \hfill & 0 \hfill & 0 \hfill & { - 1} \hfill \\ \end{array} } \right] $$
(2)
$$ C = \left[ {\begin{array}{*{20}c} 0 & 1 & 0 & 0 \\ \end{array} } \right] $$
(3)

In this way, the dynamic model for the test statistics takes care of the residuals by modelling the bias. Hence, this is the final dynamic model proposed for the rate detector algorithm. If this algorithm (with the modification suggested above) is applied to the simulation model in Bhatti et al. (2007c), the estimated bias state would have been zero and the results would remain the same. This is because the test statistic (in the simulations in Bhatti et al. 2007b) exhibited a mean near to zero.

The new rate detector algorithm developed when applied to the same data set as used to test the AIME and MSS algorithms results in the detection of the SGE in 40 s (Fig. 14) when the error was injected at 500 s. This is significantly earlier than either the AIME or MSS methods. In a recent approach by Clot et al. (2006) a ramp error of 0.5 m/s is detected in 60 s. Hence the performance of rate detector algorithm is superior. The approach by Clot et al. (2006) is based on Constraint Generalized Likelihood Ratio Testing (GLRT) which is similar to AIME method (Diesel and Dunn 1996).

Fig. 14
figure 14

The detection of 0.1 m/s error using the rate detector algorithm

Conclusion

In earlier research, rate detector algorithm was proposed (Bhatti et al. 2007c). This algorithm is subjected to real data and failures of different magnitudes in this research. Comparison with existing techniques shows the superior performance of the rate detector algorithm.

The previously proposed rate detector algorithm did not work well when subjected to real data. This was analysed further and it was concluded that this is due to the presence of residual bias errors in the test statistics. The incorporation of a bias state in the dynamic filter of the rate detector configuration led to significantly improved performance. This is because the additional state estimated the residual bias and is cancelled from the output using appropriate output matrix The final form of the algorithm is shown in detail.