Next Article in Journal
Vehicle Destination Prediction Using Bidirectional LSTM with Attention Mechanism
Previous Article in Journal
Metaknowledge Enhanced Open Domain Question Answering with Wiki Documents
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Performance Analyses of a RAIM Algorithm for Kalman Filter with GPS and NavIC Constellations

by
Susmita Bhattacharyya
Department of Aerospace Engineering, Indian Institute of Technology Kharagpur, Kharagpur 721302, India
Sensors 2021, 21(24), 8441; https://doi.org/10.3390/s21248441
Submission received: 7 November 2021 / Revised: 10 December 2021 / Accepted: 13 December 2021 / Published: 17 December 2021
(This article belongs to the Section Remote Sensors)

Abstract

:
This paper evaluates the performance of an integrity monitoring algorithm of global navigation satellite systems (GNSS) for the Kalman filter (KF), termed KF receiver autonomous integrity monitoring (RAIM). The algorithm checks measurement inconsistencies in the range domain and requires Schmidt KF (SKF) as the navigation processor. First, realistic carrier-smoothed pseudorange measurement error models of GNSS are integrated into KF RAIM, overcoming an important limitation of prior work. More precisely, the error covariance matrix for fault detection is modified to capture the temporal variations of individual errors with different time constants. Uncertainties of the model parameters are also taken into account. Performance of the modified KF RAIM is then analyzed with the simulated signals of the global positioning system and navigation with Indian constellation for different phases of aircraft flight. Weighted least squares (WLS) RAIM used for comparison purposes is shown to have lower protection levels. This work, however, is important because KF-based integrity monitors are required to ensure the reliability of advanced navigation methods, such as multi-sensor integration and vector receivers. A key finding of the performance analyses is as follows. Innovation-based tests with an extended KF navigation processor confuse slow ramp faults with residual measurement errors that the filter estimates, leading to missed detection. RAIM with SKF, on the other hand, can successfully detect such faults. Thus, it offers a promising solution to developing KF integrity monitoring algorithms in the range domain. The modified KF RAIM completes processing in time on a low-end computer. Some salient features are also studied to gain insights into its working principles.

1. Introduction

Since its inception, satellite navigation has become a critical infrastructure that supports a significant part of everyday life today. Its diverse array of applications includes power grid synchronization, precision farming, and emergency services, to name a few [1]. Although the system keeps the modern world running, it is vulnerable to numerous sources of signal degradation, anomalies, and intentional or unintentional interference. It is estimated that a failure of the global navigation satellite systems (GNSS)—a collective term for different satellite navigation systems—could cost modern economies billions of dollars [2]. Furthermore, growing reliance on GNSS for safety- and liability-critical applications, such as civil aviation and autonomous navigation, requires adherence to stringent performance standards for continuity and reliability of services. Faults or anomalies without timely detection can lead to hazardous consequences in such operations. Potential failure modes of GNSS for precise positioning are discussed in detail in [3].
While the performance of the global positioning system (GPS) has improved since 2012 with a lower number of fault counts [4], continuous monitoring is required by the constellation service provider as well as at the user level for high-reliability applications. Newer constellations (e.g., navigation with Indian constellation (NavIC) of India [5]) would possibly need several years to reach a state with few observed faults, thus requiring constant monitoring. Integrity is considered an important performance metric for operations that demand high reliability. It quantifies the level of trust placed in GNSS positioning. Receiver autonomous integrity monitoring (RAIM) is a GNSS receiver-based algorithm implemented in the user equipment to monitor integrity. It carries out consistency checks to detect faults and outputs position error bounds or protection levels (PL) when no anomaly is found. If an anomalous behavior is detected, the system needs to issue an alert to the user within a pre-determined time called the time to alert to avoid misleading information.
RAIM can be broadly classified into two categories depending on the standard implementations of the navigation processor of the receiver—weighted least squares (WLS) RAIM and Kalman filter (KF) RAIM. There exists a substantial amount of research on WLS RAIM [6,7,8]. In contrast, KF RAIM is much less explored [9]. KF is considered an integral component of advanced navigation algorithms. Examples are precise point positioning with GNSS [10], vector receiver architecture [11], and multi-sensor integration [12]. KF is a preferred choice in these systems for its ability to combine dynamics or a priori information with measurements and to estimate residual sensor errors [13]. The aforementioned advanced methods are shown to enhance performance by either improving accuracy, tracking high dynamics, or bridging GNSS outages in challenging environments. In order to ensure reliability along with these desirable features, integrity monitoring is an essential step. As a result, developing KF RAIM algorithms has received significant attention in recent years. A literature survey of contemporary work on KF-based integrity monitoring is provided next.
Reference [9] reviews different sensor integration architectures for intelligent transportation systems and state-of-the-art methods for fault detection and exclusion (FDE) and PL calculations. In this context, all KF-based methods up to the time of writing are also discussed. In [14], an FDE method is developed for the tight coupling of GNSS and inertial navigation system (INS) to detect multiple GNSS as well as GNSS and INS faults. It uses two detectors to separate GNSS and INS faults and a two-step fault exclusion process. A no subset advanced RAIM (ARAIM) algorithm is derived in [15] for the tight integration of GNSS and INS under some assumptions. It is shown to reduce the computational load to a great extent and provide global coverage for CAT I precision approaches. Reference [16] designs a computationally efficient KF RAIM algorithm for GNSS receivers. It checks measurement inconsistencies in the range domain, models time correlated errors, and requires Schmidt KF (SKF) as the navigation processor. A KF integrity monitoring algorithm is proposed in [17] for robot localization. It monitors faults within a time window with innovation-based test statistics and is also robust against previous faults. In [10] a navigation system of GNSS, INS, and an odometer is developed, and tight PLs are produced with ARAIM for precise point positioning. A parallel processing strategy coupled with the efficient software design of [18] shows that real-time operations of a substantially large number of KF banks are feasible on a GPU for integrity monitoring.
In [19], an FDE scheme is presented with the colored noise of KF represented as a first order autoregressive model. Fault detection tests for a real-time kinematic application show improved FDE performance and lower false alarm rates. An adaptive interactive multiple model framework is described in [12] to switch between Huber KF and RAIM for robustness and reliability. The proposed model offers better positioning performance than individual sub-models for a relative navigation system with GNSS and ultra wideband observations. Reference [20] discusses a Kalman integrated PL approach with empirically tuned parameters. It demonstrates better performance of the new approach over two other methods for an autonomous vehicle state estimation with GNSS, INS, and an odometer. A sliding window-based FDE method is proposed in [21] for integrated GNSS–INS. It is shown to improve positioning accuracy over that without fault exclusion. RAIM algorithms for advanced nonlinear filters [22] and vector receivers [23] are also described in the literature.
Five of the aforementioned references discuss KF-based PL calculations. Among them, [10,15] perform fault detection in the position domain, [16,17] follow range domain methods, and [20] assumes that fault detection and mitigation have been executed. This paper attempts to explore range domain methods further for their relatively low architectural complexity. To this end, it extends the work in [16], which uses an SKF [24] navigation processor and carrier-smoothed pseudoranges for absolute positioning. SKF accounts for measurement errors as ”consider parameters” without estimating them. As explained in the prior work, it allows the formation of two simultaneous fault detection tests, each with terms of a finite number of epochs. This ensures that the KF PLs do not grow with time. However, the methodology assumes a 100-second time constant for all errors, which is unrealistic, and hence, an important limitation of the work. In addition, the algorithm is validated with simulated range and range rate measurements, not generated by processing GNSS signals with a receiver. Therefore, the measurements do not properly represent the carrier smoothing of code. Fault detection performance is also not analyzed.
In order to address the above shortcomings, first, realistic error models of the carrier-smoothed pseudorange measurements are integrated into KF RAIM. More precisely, the error covariance matrix for fault detection is modified to capture the temporal variations of individual errors with different time constants. Uncertainties of the model parameters are also taken into account. Performance of the modified KF RAIM is then evaluated with the simulated signals of GPS and NavIC for aircraft navigation during different phases of flight. Intermediate frequency (IF) data are post-processed by a developed GPS L1-NavIC L5 software receiver to generate carrier-smoothed code and precise range rate measurements for RAIM. Some salient features of KF RAIM are also studied to gain insights into its working principles.
Performance analyses show that WLS RAIM [25] used for comparison purposes has lower PLs than the KF RAIM. However, WLS is not suitable for advanced navigation methods, such as multi-sensor integration and vector receivers, where KF is an integral part. Therefore, KF-based integrity monitors are essential. An important finding of the analyses is as follows. Innovation-based tests with an extended KF (EKF) navigation processor mistake slow ramp for the residual measurement error that the filter estimates, leading to missed detection. RAIM with SKF, on the other hand, can successfully detect such faults. It also completes processing in time on a low-end computer. Thus, it offers a promising solution to developing KF RAIM in the range domain. The current work does not consider constellation-wide faults. Measurements from different satellites at a particular time epoch are assumed to be uncorrelated with one another.
The remaining paper is organized as follows. First, the KF RAIM extended in this paper is briefly outlined for ease of understanding of the subsequent modifications. Next, extensions of the algorithm are presented in detail. Following this, simulation studies are performed. Finally, the paper concludes with a summary of the key findings and future work.

2. Overview of Existing KF RAIM

Both fault detection test statistics and PLs of KF RAIM presented in [16] are briefly discussed in this section for ease of understanding of the subsequent developments.

2.1. Fault Detection Test Statistics

Assuming only white noise in the GNSS measurements, three fault detection test statistics ( α j , k ; j = 1 , , 3 ) at t k are formulated in [26] as
α j , k 2 = = p j , k m j , k Δ ρ ̲ T W 1 ( I G ) Δ ρ ̲ + Δ ρ ˙ ̲ T W r r , 1 ( I G r r ) Δ ρ ˙ ̲
where I represents the identity matrix of dimension n × n . n is the number of visible satellites at a given epoch and can change with time. Δ ρ ̲ and Δ ρ ˙ ̲ are pseudorange and pseudorange rate innovation vectors of the EKF, respectively, at time epoch . The limits of on the right hand side, m j , k and p j , k , change with j and k. G and G r r are given by WLS estimation as
G = H ( H T W 1 H ) 1 H T W 1
G r r = H ( H T W r r , 1 H ) 1 H T W r r , 1
where H is the linearized measurement model matrix for pseudoranges (or pseudorange rates) and of dimension n × 4 for a single constellation and n × 5 for dual constellations. W is the error covariance matrix of the pseudorange measurements at t . W r r , is its counterpart for pseudorange rates.
WLS estimation-based fault detection in KF is used because it helps in the following ways. It results in the noise statistics of α s being easily computed. Furthermore, each term under the summation of Equation (1) contributes the fault of its own epoch only, not of any other epochs. Thus, the computation of the failure mode slope (FMS) for mean position error bound is simplified. In addition, each α can have a separate FMS. Consequently, three tests can be formulated. With three suitably designed test statistics, the PL is shown not to increase with time in [26], as opposed to the PL with a single statistic.
The limitation of the above formulation is that measurement errors across time epochs are assumed to be uncorrelated, which is a gross simplification. To overcome this limitation, [16] assumes the following error models. Broadcast satellite orbit and clock error, residual tropospheric error, receiver noise, and multipath are together represented as a first order Gauss Markov (FOGM) random process with a 100 s time constant (carrier smoothing interval of code). From [27], individual error standard deviations are obtained for GPS carrier smoothed code for airborne users. The second constellation considered is NavIC. As for NavIC, the same equations are used with frequency bands properly changed. This is because equivalent error models are yet to be developed for this constellation. No ionospheric error is modeled, which can be eliminated with dual frequency measurements. Only white noise pertaining to 45 dB-Hz C/N 0 is assumed to be present in the pseudorange rate measurements.
Considering time-correlated errors in the carrier-smoothed pseudorange measurements, and dropping time instant k for simplicity of notation, the first part of Equation (1) for an epoch changes to
( α j ) 2 = Δ ρ ˜ ̲ * T S ˜ S ˜ T Θ S ˜ S ˜ T Δ ρ ˜ ̲ *
where Δ ρ ˜ ̲ * stacks all Δ ρ ̲ * vectors given by Δ ρ ̲ * = W 1 / 2 Δ ρ ̲ , varying from p j to m j ; Δ ρ ̲ denotes the carrier-smoothed pseudorange innovation vector at epoch ; and W is its error covariance. S ˜ is a full rank block matrix, with its th block along the diagonal given by S , where ( I G * ) = S S T and G * = W 1 / 2 H ( H T W 1 H ) 1 × H T W 1 / 2 , and other elements are zero. Θ is a square matrix with dimension = p j m j n × = p j m j n . ’×’ represents the multiplication operation. S ˜ S ˜ T on either side of Θ in Equation (4) ensures that only the th epoch’s fault is included from Δ ρ ̲ * .
In order to perform fault detection tests with ( α j ) 2 , SKF implementation [28] is used in the navigation processor. SKF offers reasonably good performance, while being computationally efficient. It models time-correlated errors without estimating additional states. As a result, these errors are not changed in the pseudorange innovations. Thus, SKF along with the help of S ˜ S ˜ T allows a separate FMS for each of the test statistics. Hence, multiple test statistics can be formed. Each is with a given number of epochs.
Equation (4) is finally reduced to the form given by
( α j ) 2 = η ̲ r T Θ 2 η ̲ r
where η ̲ r consists of unit-variance independent elements. Matrix Θ 2 is determined by S ˜ , Ψ (measurement error covariance matrix of Δ ρ ˜ ̲ * ), and Θ . Since the maximum eigenvalue of Θ 2 , λ Θ , 2 max is designed to be less than or equal to one, fault detection thresholds of ( α j ) 2 can be derived from the chi-squared distribution [29]. Θ is formulated such that λ Θ , 2 max is less than or equal to one. It should be noted that λ Θ , 2 max is also equal to the maximum eigenvalue of S ˜ T Ψ S ˜ S ˜ T Θ S ˜ (= Ω ) , λ Ω max .
Thus, the test statistics shown in Equation (1) are changed with time-correlated errors in the carrier-smoothed pseudorange measurements as
α j 2 = Δ ρ ˜ ̲ * T S ˜ S ˜ T Θ S ˜ S ˜ T Δ ρ ˜ ̲ * + = p j m j Δ ρ ˙ ̲ T W r r , 1 ( I G r r ) Δ ρ ˙ ̲
where j = 1, 2. At an epoch, if α 1 crosses its threshold T t h , 1 , or α 2 is greater than its threshold T t h , 2 , or both occur, a fault is detected. The third test is not formulated. Necessary modifications for not performing the third test are made to PLs. α 1 is formed with terms of M recent epochs including the current one, whereas α 2 has terms of ( N M ) previous epochs. Both M and N are calculated adaptively at each time epoch. The matrices Ψ and Θ are briefly described next.
Ψ can be re-arranged into a block diagonal matrix, with ith block for satellite i given as Ψ sub i = 1 a 11 a 11 a 21 a 11 a 21 a 31 a 11 1 a 21 a 21 a 31 a 11 a 21 a 21 1 a 31 , where a 1 at an epoch t takes a value between a min and a max ; a min = 0.9890; and a max = 0.9911 with a 5° elevation mask angle. In this context, another matrix Ψ max is also defined. It has the same structure as that of Ψ , but its sub-matrix Ψ sub , max i is formed with a 1 always set as a max . Θ is given by ( c I + Ψ ) 1 for α 1 , with c being a positive multiplication factor calculated adaptively to ensure that λ Θ , 2 max is less than or equal to one. For α 2 , Θ is ( c I + Ψ max ) 1 , with c as ( λ Ψ , max max λ Ψ , max min ) . λ Ψ , max max and λ Ψ , max min are the maximum and minimum eigenvalues of Ψ max .

2.2. Protection Levels (PLs)

The SKF estimates error in the a priori user position and velocity in the Earth Centered Earth Fixed (ECEF) frame, and the receiver clock offsets and drifts for GPS and NavIC from respective truths. Furthermore, the time correlated error of each carrier-smoothed pseudorange measurement is modeled as an FOGM process but not estimated by the SKF. First, mean position error bounds are discussed, and then PL equations are provided.

2.2.1. Mean Position Error Bounds

The mean position error, μ ̲ k , of the navigation filter at epoch t k in the local navigation frame can be written as
μ ̲ k = j = N 1 k ( m + 1 ) B k j f ̲ k m j Ignored terms j = 0 N 2 B k j f ̲ k m j + K s , k f ̲ k m + 1 N terms corresponding to α 1 & α 2
where K s , k = C e n K s , k ( 1 : 2 : 5 , : ) and B k j = C e n B k j ( 1 : 2 : 5 , : ) . B k j = = k k j A K s , k j 1 , and A = ( I K s , C s , ) F s , 1 . F s , C s , and K s are the state transition, measurement model, and Kalman gain matrices of SKF for the estimated states. For a matrix J , J ( 1 : 2 : 5 , : ) comprises the first, third, and fifth rows of J . In B k j and K s , k , these rows belong to the position states of the filter. C e n is the coordinate transformation matrix from ECEF to the north-east-down (NED) frame. The two test statistics, α 1 and α 2 , together have terms of N recent epochs. Terms from other previous epochs are ignored. An upper bound of the contributions from these terms to the mean position error is derived mathematically. Fault is represented by a vector f ̲ k m + 1 at t k ; it started at epoch m. Three or more simultaneous faults are not required to be monitored for the integrity risk considered. If s 1 and s 2 represent any two faulty satellite indices, then f ̲ k m + 1 ( s 1 ) = b 1 , k m + 1 , f ̲ k m + 1 ( s 1 + n ) = b ˙ 1 , k m + 1 , f ̲ k m + 1 ( s 2 ) = b 2 , k m + 1 , and f ̲ k m + 1 ( s 2 + n ) = b ˙ 2 , k m + 1 , with all other elements being zero. For single fault (SF) cases, only the s 1 t h satellite has a fault. The mean error bound of the vertical position for α 1 under a fault mode i (which can be SF or dual faults (DF), with i = 1 , , N f a u l t ), V P E 1 , i U is obtained as follows.
For a fault mode, the square of the maximum FMS [25] for α 1 (having M recent epoch terms from t k to t k M + 1 ) is
( maximum FMS ) α 1 , i 2 = max f ̲ w T Λ f ̲ w = Γ f ̲ w T L f ̲ w f ̲ w T Λ f ̲ w
The FMS is maximized with the worst-case fault vector, f ̲ w . L is formed with the appropriate elements of B matrices over M recent epochs for a fault mode. f ̲ w constitutes the corresponding b and b ˙ terms. Λ is
Λ = Θ 3 [ 0 ] [ 0 ] Θ 4
where [ 0 ] denotes a matrix of all zero entries. Θ 3 is determined with the terms of Equation (4) corresponding to a fault mode. Θ 4 is obtained from the second term of Equation (6) on the right. It is a diagonal matrix for SF modes and a block diagonal matrix with each block of size 2 × 2 for DF modes. A computationally efficient method is used to calculate the inverse of each block of Θ 4 without inverting it. If λ L Λ 1 max is the maximum eigenvalue of L Λ 1 ,
VPE 1 , i U = λ L Λ 1 max Γ
where Γ is calculated as follows:
( T t h , 1 * ) 2 = λ Θ ˜ max ( λ Θ ˜ min ) 2 T t h , 1 2 ; Γ * = 1 λ Θ ˜ max ( Γ T t h , 1 ) + T t h , 1 *
where λ Θ ˜ min and λ Θ ˜ max are the minimum and maximum eigenvalues of Θ ˜ . The block diagonal matrix, Θ ˜ , has two blocks. The first one is Θ 2 (see Equation (5)), and the second one is the identity matrix. Hence, λ Θ ˜ max = 1, and λ Θ ˜ min = λ Θ , 2 min (minimum eigenvalue of Θ 2 ), which is shown to be equal to the minimum eigenvalue of Ω , λ Ω min . It is also proved that all eigenvalues of Ω are real and positive. First, Γ * is determined such that the probability of the non-central chi-squared distribution P n c x ( ( T t h , 1 * ) 2 , DOF , Γ * ) = P M D , i a l l o c ; DOF stands for the required degrees of freedom. P M D , i a l l o c is the allocated probability of missed detection for the ith fault mode. Then, Γ is calculated from Equation (11) with λ Θ ˜ max = 1 and saved in a lookup table for different values of DOF, P M D , i a l l o c , and 1 / λ Θ ˜ min . Following [30], it is also justified that Γ increases as λ Θ ˜ min decreases. Γ for α 1 is obtained from the lookup table for a fault mode, the next entry of 1 / λ Θ ˜ min higher than the calculated value, and the required DOF.
V P E 2 , i U for α 2 is calculated similarly to that of V P E 1 , i U but using a more computationally efficient approach. This is because it involves terms of ( N M ) epochs, often found to be greater than M. V P E 3 U is the mean vertical position error (VPE) upper bound for the ignored terms and the same for all fault modes. It is
V P E 3 U = U max N max × 1 × 10 6 1 0.1 ( b ^ max + b ^ ˙ max )
In order to have the north and east components, the factor 1 × 10 6 is changed to 2 × 10 6 for the horizontal position. The maximum of all Ns up to the current epoch t k is denoted as N max . U max is an upper bound obtained in a computationally efficient way at each epoch [26]. The maximum bias b ^ max at epoch k is given as
min = 1 , , k min α 1 , α 2 min i fault modes λ Θ , 3 min b ^ max 2 = Γ max
where λ Θ , 3 min is the minimum eigenvalue of Θ 3 . Operation “min” represents the minimum of all terms underneath it. Γ max is the maximum of all calculated Γ s. The maximum bias rate, b ^ ˙ max , can be determined in a similar way with the minimum eigenvalue of Θ 4 . Θ 4 is a block-diagonal matrix, with a block having a dimension of one or two. It can be shown that for each two-dimensional block, the minimum eigenvalue is more than the ratio of its determinant to the sum of the diagonal elements. This lower bound of the minimum eigenvalue is used to find b ^ ˙ max . Next, the PL equations are briefly mentioned.

2.2.2. PLs

Equations for the vertical PL (VPL) are given as follows. They can be easily modified for the horizontal PL (HPL). Under the SF modes, VPL is
VPL S F = j = 1 2 max i SF modes V P E j , i U + V P E 3 U + γ s σ v
The operation “max” represents the maximum of all terms underneath it. The probability P ( absolute VPE > γ s σ v ) = P M D , s f a l l o c . σ v is the standard deviation of the error in the estimated vertical position. P M D , s f a l l o c is the allocated probability of missed detection for SF modes. Similarly, the VPL under DF modes is calculated. The final VPL is
VPL = max ( VPL N F , VPL S F , VPL D F )
In the preceding equation, VPL N F stands for the VPL under no fault conditions.

2.3. Limitations of Existing Approach and Modifications

The limitations of the described KF RAIM algorithm are as follows:
(1)
SKF does not estimate user acceleration needed for moderate to high dynamics.
(2)
Time constants of all time-correlated errors are assumed to be 100 s. More appropriate error models having different time constants for different error sources must be adopted.
(3)
a 1 entries of Ψ sub i are calculated with modeled values of measurement error standard deviations. By definition, they should be obtained with true error standard deviations, which are not known. A more accurate model of Ψ sub i would therefore account for uncertainties in the knowledge of actual a 1 .
(4)
In the beginning of the receiver operation, relatively large transient position errors of the navigation filter can be handled by including artificial white noise in the carrier-smoothed pseudorange measurement error model of the SKF. While this can be easily incorporated in the SKF, the Ψ matrix of Δ ρ ˜ ̲ * does not model white noise.
Thus, Ψ needs to be appropriately modeled, considering more realistic error models, initial artificial white noise, and uncertainties in the knowledge of a 1 . The next two sections discuss the adopted error models in the current work and appropriate bounds of the Ψ matrix. SKF formulation also estimates error in the a priori user acceleration from truth. N is adaptively calculated the same way as before with B matrices. M is also calculated as before, but with B matrices, where B k (1:2:5,:) = B k = C e n B k (1:3:7,:), and B k (2:2:6,:) = C e n B k (2:3:8,:). B k (1:3:7,:) has rows of B k corresponding to the position states of the filter, and B k (2:3:8,:) has rows for velocity states. This is found to reduce M and hence PLs. The effect of overbounding the pseudorange rate (or precise range rate) error covariance is also included, and a tighter value of Γ in Equation (11) is determined.

3. Modified Pseudorange Error Models and Ψ

In this section, first, the adopted error models of the carrier-smoothed pseudorange measurements with different time constants are explained. Following this, it is briefly discussed how they are incorporated in the SKF navigation filter. Finally, necessary modifications of Ψ sub i for satellite i are presented. It is assumed that the Ionospheric error is eliminated with dual frequency measurements. The following models are adopted for other error sources with dual frequency correction terms, when needed.
Residual zenith tropospheric delay after applying corrections of the MOPS model [31] has a latitude- and longitude-dependent bias, as noted in [32]. It can be corrected in the pseudorange measurements using a lookup table as a function of latitude and longitude. The remaining zenith error, η ̲ tr ( i ) , is a zero-mean FOGM process with a standard deviation ( σ tr ) of 0.2 m and time constant ( τ tr ) of 25 h for any visible satellite i. The broadcast ephemeris and satellite clock error, which is overbounded by the user range accuracy (URA), is denoted by η ̲ ec ( i ) . It is modeled as an FOGM process, having a zero mean, unit standard deviation ( σ ura ), and 20 h time constant ( τ ura ). The time between two effectively independent range error samples for satellite clock and orbit error is considered 50 h [33], which is taken as approximately 2.5 × the time constant. It is justified in [34] that common errors of code and carrier measurements remain unchanged in the carrier-smoothed code, thus allowing the same models to be used. As multipath and receiver noise are application specific, they are modeled for safety critical aviation applications in this paper. Their standard deviations, denoted as σ ml , i and σ n , i , respectively, are obtained from [27] for airborne users. In addition, the constant term of the receiver noise standard deviation is inflated further to bound the autocorrelation function of carrier-smoothed pseudoranges due to multipath and noise derived in [35] for airborne users. The inflated value is 0.23 m in place of 0.15 m. Finally, multipath and receiver noise together ( η ̲ ml - n ( i ) ) are represented as a zero-mean FOGM process with a time constant ( τ ml - n ) of 100 s and standard deviation σ ml , i 2 + σ n , i 2 . In the current work, NavIC is considered the second constellation. The same models as those of GPS are adopted for it, but with frequency bands appropriately changed. The approach described in the paper also holds for other constellations with model parameters suitably changed.
The SKF navigation filter estimates error in the a priori position, velocity and acceleration of the user in ECEF coordinates, and receiver clock offsets and drifts for GPS and NavIC from respective truths. The states of the aforementioned FOGM processes for each visible satellite are the “consider parameters” of the SKF. The zenith tropospheric error is projected onto the line of sight (LOS) using the mapping function of the MOPS model in the measurement model matrix. In the simulation studies, the position error of the SKF is compared with that of an EKF that estimates all FOGM states to depict comparable performance. Since the SKF takes into account the effects of the “consider parameters” in its estimates, no additional terms other than those in Equation (14) are needed for PL calculation.
With modified error models, the a min and a max mentioned after Equation (6) for test statistics are re-calculated as follows. If η ̲ ( i ) is the carrier-smoothed pseudorange measurement error of satellite i, then it constitutes the following at an epoch :
η ̲ ( ) ( i ) = mp ( ) θ ( ) ( i ) η ̲ tr ( i ) + η ̲ ec ( i ) + η ̲ ml - n ( ) ( i )
where the superscript with parentheses denotes time epochs, and mp( θ ) is the mapping function of the MOPS model for elevation angle θ . The autocorrelation between η ̲ ( ) ( i ) and η ̲ ( + q ) ( i ) is
E η ̲ ( ) ( i ) η ̲ ( + q ) ( i ) = ( σ ( ) ( i ) ) 2 exp ( β q Δ t ) = mp ( ) θ ( ) ( i ) mp ( + q ) θ ( + q ) ( i ) σ tr 2 exp ( q Δ t / τ tr ) + σ ura 2 exp ( q Δ t / τ ura ) + ( ( σ ml , i ( ) ) 2 + ( σ n , i ) ) 2 ) exp ( q Δ t / τ ml - n )
where Δ t = 1 s. E represents the expectation operation. σ ( ) ( i ) is the standard deviation of η ̲ ( ) ( i ) . β denotes the reciprocal of the time constant of an equivalent FOGM process for η ̲ ( i ) . ( σ ( ) ( i ) ) 2 is
( σ ( ) ( i ) ) 2 = mp ( ) θ ( ) ( i ) 2 σ tr 2 + σ ura 2 + ( ( σ ml , i ( ) ) 2 + σ n , i ( ) ) 2
Thus, based on the correlation between epochs and ( + q ) , β (denoted as β q ) is calculated as
β q = log E η ̲ ( ) ( i ) η ̲ ( + q ) ( i ) σ ( ) ( i ) 2 / ( q Δ t )
It is evident from Equations (17) and (19) that β q is a function of q and θ . It should be noted that σ ml , i ( ) ) 2 + ( σ n , i ( ) 2 is also a function of θ .
Following the definition of Ψ for normalized innovations Δ ρ ˜ ̲ * , Ψ sub i for satellite i mentioned after Equation (6) can be re-written as 1 a 11 a 12 a 13 a 11 1 a 21 a 22 a 12 a 21 1 a 31 , where a q for an epoch with q = 1 , 2 , is defined as
a q = E η ̲ ( ) ( i ) η ̲ ( + q ) ( i ) σ ( ) ( i ) σ ( + q ) ( i ) = exp ( β q Δ t ) q ( σ ( ) ( i ) ) 2 σ ( ) ( i ) σ ( + q ) ( i )
a q can be rearranged as
a q = exp ( β q Δ t ) σ ( ) ( i ) σ ( + 1 ) ( i ) exp ( β q Δ t ) σ ( + 1 ) ( i ) σ ( + 2 ) ( i ) exp ( β q Δ t ) σ ( + q 1 ) ( i ) σ ( + q ) ( i )
Representing the terms within the parentheses as a ι 1 , q , a q = ι = ι = + q 1 a ι 1 , q . q in the subscript of a ι 1 , q denotes that β is obtained by considering the correlation between two epochs and + q . Maximum a ι 1 , q over ι = , , + q 1 is denoted as a ι 1 , q max , and the minimum a ι 1 , q is a ι 1 , q min .
a ι 1 , q s are calculated with β q of Equation (19). Change in θ between two consecutive epochs, ( θ ( ι + 1 ) ( i ) θ ( ι ) ( i ) ) , lies between ± v m s a t + v m u s e r r s u ( ι ) × 180 π , where v m s a t = maximum satellite speed, v m u s e r = maximum user speed = Mach 1, r s u ( ι ) = range between the user and satellite at θ ( ι ) calculated using the approach of [36], and maximum user altitude = 15 km. With M and ( N M ) less than or equal to 20, three different values of q are chosen for the calculation of β q . With maximum satellite and user speeds and user altitude, equivalent time constants, 1 / β q , and a ι 1 , q max are plotted as a function of θ ( ) with increasing and decreasing θ over t , , t + q and presented in Figure 1 and Figure 2, respectively, for both GPS and NavIC. a ι 1 , q min is not shown to avoid clutter. It can be obtained along with the time constants and a ι 1 , q max using the Matlab program matlab_program_figures_1_2.m provided in the Supplementary Materials. It is apparent that at a given θ ( ) , the variation of a ι 1 , q max with q is very small. The maximum difference is 0.0004 between q = 1 and q = 19. For a ι 1 , q min , it is 0.0002. The selected a max ( = max q , θ a ι 1 , q max ) and a min ( = min q , θ a ι 1 , q min ) are shown with thick black lines in Figure 2.
Exhaustive simulations are also performed to validate a min and a max of Figure 2. This is described next. Uniformly random user speeds within [ v m u s e r v m u s e r ] are selected over q epochs. An initial satellite speed is chosen by a uniformly random sample within [ v m s a t v m s a t ]. Then, the satellite speed is propagated over q epochs with an acceleration randomly picked between its minimum and maximum limits. This way, four hundred thousand sets of user and satellite speeds are obtained. Half of these are for GPS, and the other half are for NavIC. For GPS, with each θ ( ) between 5° and 90° and each of three qs, each of the two hundred thousand sets of speeds is used to calculate θ ( + 1 ) , , θ ( + q ) for a given user altitude, and the corresponding a ι 1 , q min and a ι 1 , q max are noted. With half of the speeds, θ ( ι + 1 ) = θ ( ι ) + v s a t ( ι ) + v u s e r ( ι ) r s u ( ι ) × 180 π , ι = , + q 1 , where v s a t ( ι ) and v u s e r ( ι ) are satellite and user speeds at epoch ι , and θ ( ι + 1 ) = θ ( ι ) v s a t ( ι ) + v u s e r ( ι ) r s u ( ι ) × 180 π with the other one hundred thousand sets. Considering all sets of data, ( max q , θ a ι 1 , q max ) is found to be less than the selected a max and ( min q , θ a ι 1 , q min ) > a min . The same is repeated for NavIC with the other two hundred thousand sets. This is performed numerous times with the Matlab program matlab_program_figures_1_2.m of the Supplementary Materials. Next, it is repeated for each user altitude from 0 to 15 km in steps of 5 km. Finally, in each simulation, the user altitude is varied randomly with uniform distribution between 0 and 15 km over q epochs. In all simulations, a max and a min of Figure 2 are found to be the correct upper and lower bounds.
The structure of the corresponding Ψ sub , max i remains the same. That is, Ψ sub , max = i 1 a max a max 2 a max 3 a max 1 a max a max 2 a max 2 a max 1 a max .
Next, modifications of Ψ due to uncertainties in the knowledge of actual a q and initial artificial white noise are provided.

4. Ψ with Uncertain Parameters and White Noise

In this section, Ψ (or Ψ sub i ) is first appropriately modeled with underlying parameters within a range to include the effect of uncertainties in their knowledge, and to account for initial artificial white noise. Subsequently, with the help of extensive simulations, it is shown that Ψ max can be used in place of Ψ to form test statistics and PLs.

4.1. Uncertain a q

Uncertainties in the knowledge of a q arise because actual values of the parameters needed to calculate it are not known. Suppose the actual value of τ tr for a satellite is ϱ tr times 25 h (modeled value), where ϱ tr , min ϱ tr 1 . Similarly, the scale factor for τ ura is ϱ ura , which lies between ϱ ura , min and one. Actual σ tr 2 , σ ura 2 and ( σ ml 2 + σ n 2 ) also take on values below their respective modeled values. Their actual values can be obtained by multiplying scale factors K tr , K ura , and K ml - n , respectively, to the respective modeled values. The lower limits of these scale factors are K tr , min , K ura , min , and K ml - n , min , respectively, and the upper limits are one. All lower limits should be determined by prior analysis. A possible approach would be to analyze several months of data, following [32,33] for the tropospheric error and URA, respectively. The autocorrelation functions, power spectral densities, and error distributions of the data can be formed to determine both upper and lower bounds of the time constants and variances. The ratios of the lower to upper bounds will give the lower limits of the scale factors, and the upper bounds will be the modeled values discussed earlier. Although not considered in this paper, modeled values may change across satellites. Similar analyses may be done for multipath and receiver noise, but this will be application specific. Equation (17) is now re-written as
E η ̲ ( ) ( i ) η ̲ ( + q ) ( i ) = ( σ ( ) ( i ) ) 2 exp ( β q Δ t ) = mp ( ) θ ( ) ( i ) mp ( + q ) θ ( + q ) ( i ) K tr σ tr 2 exp ( q Δ t / ( ϱ tr τ tr ) ) + K ura σ ura 2 exp ( q Δ t / ( ϱ ura τ ura ) ) + K ml - n ( ( σ ml , i ( ) ) 2 + ( σ n , i ) ) 2 ) exp ( q Δ t / τ ml - n )
In this work, no uncertainty in the time constant of multipath and noise is assumed. However, this can be relaxed if needed. Using Equation (22), modified β q , β q mod is
β q mod = log E η ̲ ( ) ( i ) η ̲ ( + q ) ( i ) σ ( ) ( i ) 2 / ( q Δ t )
Comparing Equations (17) and (22), it is evident that exp ( β q mod q Δ t ) exp ( β q q Δ t ) . The actual σ ( ) ( i ) ) 2 , σ act ( ) ( i ) ) 2 is given by
σ act ( ) ( i ) ) 2 = mp ( ) θ ( ) ( i ) 2 K tr σ tr 2 + K ura σ ura 2 + K ml - n ( σ ml , i ( ) ) 2 + ( σ n , i ) ) 2
As Equation (20) has the modeled values of σ in the denominator, it reduces to
a q = exp ( β q mod Δ t ) q ( σ ( ) ( i ) ) 2 σ ( ) ( i ) σ ( + q ) ( i )
With the rearrangement of terms as before,
a q = exp ( β q mod Δ t ) σ ( ) ( i ) σ ( + 1 ) ( i ) exp ( β q mod Δ t ) σ ( + q 1 ) ( i ) σ ( + q ) ( i )
The th diagonal term of Ψ sub i is
a 0 = σ act ( ) ( i ) σ ( ) ( i ) 2
It should be noted that the term ( σ act ( ) ( i ) / σ ( ) ( i ) ) is less than or equal to one as σ ( ) ( i ) σ act ( ) ( i ) . If K min is the minimum of K tr , min , K ura , min , and K ml - n , min , then using Equation (24), K min a 0 ≤ 1.
Multiplying and dividing exp ( β q Δ t ) q in Equation (26) and rearranging terms,
a q = exp ( β q Δ t ) σ ( ) ( i ) σ ( + 1 ) ( i ) exp ( β q Δ t ) σ ( + q 1 ) ( i ) σ ( + q ) ( i ) exp ( β q mod Δ t ) exp ( β q Δ t ) q
Using a min and a max , and exp ( β q mod q Δ t ) exp ( β q q Δ t ) noted after Equation (23),
a min q min q , θ K , ϱ exp ( β q mod Δ t ) exp ( β q Δ t ) q a q a max q
where min q , θ K , ϱ exp ( β q mod Δ t ) / exp ( β q Δ t ) q is the minimum value obtained over all values of K , ϱ , θ , and q (maximum q is ( M 1 ) for α 1 and ( N M 1 ) for α 2 ). For a given q and θ , ( exp ( β q mod Δ t ) / exp ( β q Δ t ) ) q is minimum when all K s and ϱ s are set to their respective minimum values (see Equations (17), (19), (22), and (23)). This is greater than or equal to the value K min obtained by setting all K s to K min . K min is close but less than K min . The minimum of all K min s over all values of θ and q is set as the lower bound, and denoted as K min (0 < K min < 1). It can be determined by following the instructions in matlab_program_figures_1_2.m and then running it. Next, a provision is made to include artificial white noise in a q .

4.2. White Noise in a q

White noise is injected initially in the carrier-smoothed pseudorange measurement error model of the SKF to deal with transient errors in position estimates. During this initial period, the modeled σ ( ) ( i ) is given by
( σ init ( ) ( i ) ) 2 = ( σ ( ) ( i ) ) 2 + ( σ wh ( ) ( i ) ) 2
If the injected white noise variance, ( σ wh ( ) ( i ) ) 2 , is K wh σ ( ) ( i ) ) 2 , ( σ init ( ) ( i ) ) 2 becomes equal to ( K wh + 1 ) ( σ ( ) ( i ) ) 2 . K wh is a known scale factor as white noise is artificially included. With this, Equation (26) is changed to
a q = exp ( β q mod Δ t ) σ ( ) ( i ) σ ( + 1 ) ( i ) exp ( β q mod Δ t ) σ ( + q 1 ) ( i ) σ ( + q ) ( i ) σ ( ) ( i ) σ init ( ) ( i ) σ ( + q ) ( i ) σ init ( + q ) ( i )
Replacing the last two terms on the right,
a q = exp ( β q mod Δ t ) σ ( ) ( i ) σ ( + 1 ) ( i ) exp ( β q mod Δ t ) σ ( + q 1 ) ( i ) σ ( + q ) ( i ) 1 ( K wh + 1 )
Similarly, the th diagonal term of Ψ sub i is given by
a 0 = σ act ( ) ( i ) σ ( ) ( i ) 2 1 ( K wh + 1 ) 1
Its lower bound is K min / ( K wh + 1 ) . Using Equation (29), a q is bounded by
a min q K min ( K wh + 1 ) a q a max q

4.3. Simulation Results

Having modeled Ψ with underlying parameters residing within a range, results of extensive simulations are shown to justify that Ψ max can be used in place of Ψ to determine test statistics and PLs. In other words, it is illustrated that λ Θ , 2 max or λ Ω max with Θ formed as ( c I + Ψ max ) 1 is less than or equal to one (see after Equation (5)). In addition, λ Θ , 2 min or λ Ω min is shown to be more than the minimum eigenvalue of S ˜ T Ψ max S ˜ S ˜ T Θ S ˜ (= Ω 1 ) times a known scale factor. This is needed to ensure that the calculated Γ of Equation (11) is larger than its actual value (see Equation (10) and the paragraph after Equation (11) for justification of this). The actual value of Γ would need the actual Ψ , which is not known.
For the simulation results of this section, lower limits of the scale factors used to account for uncertain parameters are: ϱ tr , min = 0.5; ϱ ura , min = 0.5; K tr , min = 0.25; K ura , min = 0.25; and K ml - n , min = 0.25. For the selected lower limits, K min can be obtained a priori by running matlab_program_figures_1_2.m. K wh is 5 for white noise overbound. Scale factors are uniformly distributed between their lower and upper limits. While they are changed between simulations, for a given satellite they are assumed to be constant over M epochs (for α 1 ) or ( N M ) epochs (for α 2 ). M = 10, N = 20, and the time interval between two epochs Δ t = 1 s. Fourteen GPS and seven NavIC satellites are considered. A brief description of the algorithm needed for simulations is provided in Appendix A. Matlab implementation of the algorithm can be found in the Supplementary Materials (matlab_program_algorithm _ 1 _ ts 1 _ figure_3.m and matlab_program_algorithm _ 1 _ ts 2 _ figure_3.m), where all inputs can be changed as needed, and results with the changed values can be generated.
The algorithm also has a provision to remove a satellite at the Mth or ( N M ) th epoch to check the change in visibility and remove white noise injection from a random intermediate time epoch. Satellites are excluded when the elevation angle is below the 5° mask angle. A satellite can be chosen to come into visibility after a random number of epochs.
LOS vectors of H are randomly selected without considering actual GPS and NavIC satellite orbits. Hence, results of these simulations are likely to hold for other constellations if error model parameters, frequency bands, and a min and a max are suitably changed. Although there is an inherent relationship between elevation angles and H , it is not important here as long as the structure of the simulated H resembles that of the actual measurement model matrix. That is, the LOS vector constraint of each row is satisfied, the clock bias columns are properly formed, and the rank of H is 5. With this, valid measurement model matrices would just be a subset of the wide range of H matrices considered in the simulations.
Figure 3 depicts the difference between the maximum eigenvalues of Ω 1 and Ω for both α 1 and α 2 when θ decreases with time (see subplots 1 and 3—one below the other on the left). λ Ω , 1 min and λ Ω , 1 max are the minimum and maximum eigenvalues of Ω 1 , respectively. In each simulation, the initial θ of a satellite is chosen with a uniform random variable between 5.1° and 90°. Satellite speed is constant at its maximum value. Five hundred thousand simulations are divided into ten batches for ease of plotting in Matlab, with each batch having 50,000 runs. The minimum and maximum differences over 50,000 simulations in a batch are shown as the end points of a vertical line. Within a batch, 10,000 runs have white noise injected up to some random intermediate epochs. Since the minimum difference between λ Ω , 1 max and λ Ω max is greater than zero in all batches, λ Ω max is less than λ Ω , 1 max , which in turn is less than or equal to one by proper calculation of c. The differences between 1 / ( λ Ω , 1 min K min ) and 1 / λ Ω min for α 1 (and between 1 / ( λ Ω , 1 min K min ( K wh + 1 ) ) and 1 / λ Ω min for α 2 ) are illustrated in the second (and fourth) subplot of the same figure. In this case, the longer vertical line of each batch belongs to the 10,000 simulations with artificial white noise. It is evident that 1 / λ Ω min < 1 / ( λ Ω , 1 min K min ) for α 1 , and 1 / λ Ω min < 1 / ( λ Ω , 1 min K min ( K wh + 1 ) ) for α 2 . λ Ω min is verified to be always positive. It can also be concluded that λ Ω max / λ Ω min < λ Ω , 1 max / ( λ Ω , 1 min K min ) for α 1 . Similarly, for α 2 , λ Ω max / λ Ω min < λ Ω , 1 max / ( λ Ω , 1 min K min ( K wh + 1 ) ) . Hence, using Ψ max in place of Ψ , α 1 , α 2 and PLs can be calculated. Although not shown, the same conclusion can be derived with increasing elevation angle and changing satellite speeds, and verified with the provided Matlab programs.
It should be noted that when c is adaptively calculated for α 1 , λ Ω max is less than λ Ω , 1 max and one only if c is more than or equal to a minimum value, c min . It is found that c min is a function of M and elevation angle. Appendix B explains how c min is obtained. During adaptive calculation, the initial guess of c is taken as c min or higher. Next, a tighter value of Γ is determined. The effect of W r r , overbounding the actual pseudorange rate (or precise range rate) error covariance is also discussed.

5. Determination of Γ

Substituting Equation (5) in the first term of Equation (6) on the right and having a similar representation for the second term, one can write
α j 2 = η ̲ r T Θ 2 η ̲ r + η ̲ r r T Θ 5 η ̲ r r
where η ̲ r r has unit-variance independent elements. Θ 5 would be the identity matrix only if W r r , of Equation (6) is equal to the actual pseudorange rate error covariance matrix. However, W r r , generally overbounds the actual error covariance. As a result, the maximum eigenvalue of Θ 5 is less than or equal to one, and the minimum eigenvalue is at some value greater than zero [29]. They are denoted as λ Θ , 5 max and λ Θ , 5 min , respectively, and determined using prior knowledge of overbounding different satellite range rate errors. Θ ˜ of Equation (11) thus changes to
Θ ˜ = Θ 2 [ 0 ] [ 0 ] Θ 5
It is apparent that λ Θ ˜ max = max { λ Θ , 2 max , λ Θ , 5 max } and λ Θ ˜ min = min { λ Θ , 2 min , λ Θ , 5 min } . The upper and lower bounds of λ Θ , 2 max and λ Θ , 2 min , respectively, as determined in the previous section, are used in place of their actual, unknown values.
With the formulation of Θ ˜ after Equation (11), where λ Θ ˜ max = 1, Γ can be directly obtained from the lookup table. As Γ was shown to increase with decreasing λ Θ ˜ min , the next entry of the lookup table immediately higher than the calculated 1 / λ Θ ˜ min is considered. With Θ ˜ of Equation (36), and the minimum and maximum eigenvalues defined after it, Γ is now calculated in the following way. In this case, λ Θ ˜ max is not necessarily equal to one. First, Γ is obtained from the lookup table the same way as before, using P M D , i a l l o c , DOF, and the next ratio entry higher than the calculated λ Θ ˜ max / λ Θ ˜ min . This Γ is not the right one when λ Θ ˜ max ≠ 1, and therefore is denoted by Γ . In addition, for the lookup table, the detection threshold, T t h , 1 , is now determined from the non-central chi-squared distribution with the required DOF and some predetermined natural bias [37]. Using Γ , the Γ * of Equation (11) is calculated as
Γ * = Γ T t h , 1 + T t h , 1 λ Θ ˜ max λ Θ ˜ min lookup
where λ Θ ˜ max λ Θ ˜ min lookup is the lookup table entry. Using Equation (11), the correct Γ is given as
Γ = Γ * T t h , 1 λ Θ ˜ max λ Θ ˜ min lookup λ Θ ˜ max + T t h , 1
Substituting Equation (37) in the preceding equation
Γ = ( Γ T t h , 1 ) λ Θ ˜ max + T t h , 1
If Γ < T t h , 1 , Γ is taken as T t h , 1 , which may occur at a very large DOF. As λ Θ ˜ max λ Θ ˜ min lookup > calculated λ Θ ˜ max λ Θ ˜ min , Γ is greater than the actual Γ . Hence, the Γ from Equation (39) is more than the actual Γ . The Γ corresponding to α 2 is also obtained in the same way.
Performance and salient features of the modified KF RAIM are studied next for simulated scenarios of aircraft flight.

6. Simulation Studies

In this section, various aspects of KF RAIM are analyzed using simulated GPS L1 and NavIC L5 signals for aircraft flight. For this purpose, a GNSS simulator from Accord Software and Systems is used [38]. It has a provision to load GPS and NavIC Yuma files, and configure user motion profiles and required error models (e.g., ionospheric and tropospheric errors). In the simulation, the ionospheric error is modeled by the Klobuchar model and the tropospheric error by RTCA98 [31]. Simulated signals are received by an IFEN receiver front end and digitized at 20 MHz. Stored 20 MHz IF data are processed by a developed GPS L1-NavIC L5 software receiver. Figure 4 shows the signal simulation and data collection setup. Performance is first analyzed in detail for a segment of an aircraft flight path during descent and approach, which is illustrated in Figure 5 along with GPS-NavIC satellite visibility.
The IF data processing block diagram is depicted in Figure 6. A GPS L1-NavIC L5 software radio is developed in Matlab to perform all receiver operations. Following acquisition, it implements tracking of the visible satellites in parallel processing mode to speed up computation time. Tracking outputs are then sent to the navigation filter to estimate user position, velocity, and time. Relevant RAIM inputs are passed from the filter to the multi-constellation KF or WLS RAIM algorithm to carry out fault detection and PL computation.
The receiver removes the ionospheric error using the Klobuchar model but uses a different model (modified Hopfield [39]) for the tropospheric error. The residual zenith tropospheric error is represented by an FOGM process in the navigation filter with a zero mean, standard deviation of 0.2 m, and time constant of 25 h. It bounds the actual error in the simulated measurements. There is no residual ionospheric error. Satellite orbit and clock error and multipath were not included in the simulation. They are, however introduced in the carrier-smoothed pseudorange measurements following the respective FOGM models. As a result, with each run, different positioning error results can be obtained. Range rate measurements, on the other hand, are generated from the Doppler frequencies of the carrier phase tracking loops. Only white noise with standard deviations obtained from the tracking loops of the receiver is modeled for range rate measurements. K min for KF RAIM is taken as 0.75 2 to be over conservative (see after Equation (34)).
There is a provision for three different navigation filters in the receiver: WLS, SKF, and full-state EKF. WLS estimates error in the a priori ECEF position and velocity of the aircraft, and the receiver clock offsets and drifts for GPS and NavIC from respective truths. It calculates the measurement error standard deviation considering the residual tropospheric error, URA, multipath, and noise. Full-state EKF and SKF estimate error in the a priori acceleration states of the aircraft in ECEF apart from those mentioned for WLS. In addition, the full-state EKF estimates three states for the measurement error of each visible satellite (residual zenith tropospheric error, satellite clock and orbit error, and multipath and noise) using the corresponding FOGM models. The measurement update interval is 1 s. EKF and SKF position estimation errors in the NED frame and carrier-smoothed pseudorange measurement innovations are shown in Figure 7 for a simulation run. As the SKF treats residual errors, multipath, and noise as “consider parameters”, its innovations remain biased, as opposed to those of full-state EKF.

6.1. Analyses of KF RAIM

In this paper, the following parameters are considered for analyses of KF RAIM. The continuity budget for false alert, P F A is 3.33 × 10 7 /sample [31]. The allocated probability of hazardously misleading information (HMI), P H M I a l l o c is 10 7 /h during aircraft descent and initial and intermediate approach, and 10 7 /approach during the final approach [40]. The prior probability of narrow fault of GPS and NavIC satellites is 10 4 /satellite/h. Assuming a one-hour mean time to notify by the constellation service provider, the prior probability of fault is 10 4 /satellite as the simulation duration is less than an hour [41]. Constellation-wide faults are not taken into account. P H M I a l l o c for the horizontal position, P H M I , H a l l o c , is 10% of P H M I a l l o c . P H M I a l l o c for the vertical position, P H M I , V a l l o c , is the remaining 90%. For the prior fault probability and allocated integrity budget, at most two simultaneous independent satellite failures need to be monitored, as justified in [27]. The probability of three or more non-monitored faults P n m , being less than the P H M I a l l o c , is subtracted from the latter. During the final approach phase, vertical and horizontal alert limits are considered to be 50 m and 40 m.
Next, the test statistics and PLs of KF RAIM obtained using the SKF are shown alongside those of WLS RAIM in Figure 8. WLS RAIM follows the method of [25] but accounts for the parameter uncertainty of the measurement error model, as discussed in [29]. It is used for comparison purposes for the following reasons: First, it performs fault detection in the range domain, as is with the developed KF RAIM. Second, it is computationally simple. The presented KF RAIM takes 5.5 min in Matlab on an old, low-end IBM Thinkpad laptop for the 19.48 min simulation. The laptop runs on Linux and has 1 GB RAM, 2 GB swap memory, and a Core 2 Duo processor (CPU @ 2 GHz). WLS RAIM, on the other hand, requires 18 s.
In order to gain a good understanding of the properties of KF RAIM, a few salient features are also analyzed. In this regard, Figure 9 depicts the following: M (number of terms of the first test statistic α 1 ), N of Equation (7), maximum eigenvalues, λ Ω , 1 max and DOF of the test statistics, and the eigenvalue ratios, λ Θ ˜ max / λ Θ ˜ min . It is evident that λ Ω , 1 max of the two statistics is less than one, as desired. Initially, eigenvalue ratios are large because of the addition of white noise during the transient period. The initial transient period is determined by checking the filter innovation sequence. As the eigenvalue ratios have different orders of magnitude, they are subsequently plotted on different scales, each given on either side. The figure also shows adaptive calculations of M and N and the corresponding changes in the DOF. It is apparent that M and N must be calculated adaptively as they may change over time.
Mean VPE bounds under faults are presented in Figure 10 for α 1 and α 2 . They are plotted on different y-axes, each on either side. This shows separately the contribution of mean VPE bound corresponding to each test statistic. While N is generally much larger than M, the second bound with ( N M ) terms is much less than the first with M terms. Although not shown in the figure, the third bound from ignored terms before N recent epochs has an even smaller contribution. It is on the order of 0.02 m. That said, the contributions of all epoch measurements, including those before N, to the mean position error bound must be taken into account for PL calculation.
Next, Γ defined before Equation (37) is plotted in Figure 11 from the saved lookup table against λ Θ ˜ max / λ Θ ˜ min with DOF as a parameter. Γ for P M D a l l o c of both vertical and horizontal positions and dual fault modes is shown. For a given DOF, it levels off at a moderate eigenvalue ratio. Although the figure is plotted up to a ratio of 5000, the trend continues even afterwards. Similar patterns are also seen for the single fault mode. Thus, for a given DOF (or threshold) and λ Θ ˜ max , Γ calculated from Γ using Equation (39) would not change significantly with large ratios. Therefore, a large λ Θ ˜ max / λ Θ ˜ min does not imply that the PL would increase to a great extent.
In what follows, fault detection performance with three different navigation filters is discussed.

6.2. Fault Detection Performance

Three canonical faults—step, ramp, and sinusoidal—are chosen to analyze fault detection performance. It is explained in [3] that potential failure modes for GNSS precise positioning as complied from the existing literature can be largely modeled as one of the three fault types.
With full-state EKF, the test statistic α E K F , k at time step k is formed as
α E K F , k = = k k N + 1 [ Δ ρ ̲ T Δ ρ ˙ ̲ T ] R 1 Δ ρ ̲ Δ ρ ˙ ̲
where R is the innovation covariance matrix at time step . Δ ρ ̲ and Δ ρ ˙ ̲ are carrier-smoothed pseudorange and range rate innovation vectors of the full-state EKF. N is determined the same way as that in Equation (7), but for the EKF. Under no fault conditions, α E K F , k is chi-squared distributed. Its threshold is determined using P F A and DOF. As for WLS and SKF, thresholds are calculated from the non-central chi-squared distribution with the non-centrality parameter 25 for natural biases, following [37]. Test statistics α 1 and α 2 each have the probability of false alarm P F A / 2 .
From the PL calculation of WLS RAIM and KF RAIM with SKF, it is noted that simultaneous faults in PRN 28 of GPS (G28 in the skyplot) and PRN 2 of NavIC (N2 in the skyplot) result in maximum mean VPE (or FMS). Hence, faults are injected into these satellites (either N2 or (G28 and N2)) at 100 s into the simulation. In the case of dual fault modes, both satellites have the same fault. Table 1 and Table 2 summarize the fault detection performance for a particular simulation run. Since PLs are not computed for full-state EKF, its change in position error under faulty conditions is only noted. For the –5 m step fault and cosine fault of 5 m amplitude, both α 1 with SKF and α E K F exhibit an initial peak, but the test statistic of WLS does not. However, the peak of the EKF test statistic crosses its threshold, whereas that with the SKF does not. As a result, no detection of faults occurs with the test statistics of SKF. A possible reason for non-detection is that the magnitude of the faults is close to that of the innovation sequences for SKF, as is evident from Figure 7. It is also important to note that the ramp fault is detected later by both WLS and SKF test statistics when two satellites are faulty as opposed to a single satellite. This is probably because faults in G28 and N2 maximize the FMS for mean VPE, and therefore they take longer times to become detected. The WLS test statistic detects the ramp fault before that of SKF. However, the position error of the latter crosses its PL later.
Next, it is checked if the SKF test statistics can detect step faults in G28 and N2, for which the VPE just crosses the VPL in different simulation runs and at different time instants. It is observed that its first statistic α 1 exhibits a sharp peak at the onset time of faults. The magnitude of the peak does cross the threshold and is near 45–50, resulting in instant detection. Similar analysis is also performed with WLS. It detects the corresponding step faults within 10 s of PE crossing the PL during initial aircraft descent and before the crossing afterwards. Thus, detection occurs within the required time to alert [41]. The same observation is made with cosine faults.
Table 1 indicates that the full-state EKF does not detect the ramp faults, but its position error grows with time. With dual faults, the position error increases faster. Although faults were introduced into two satellites of GPS and NavIC—one each—as they maximize the FMS for mean VPE, it is unlikely that satellites from different constellations would fail simultaneously. Therefore, it is investigated what would occur when two satellites of NavIC fail. With NavIC being a new constellation, such a possibility cannot be ruled out. It is noted that if N2 and N6 fail at 10 s into simulation, both with a ramp fault of −0.05 m/s, the EKF VPE crosses the vertical alert limit during the final approach phase without any detection. This is illustrated in Figure 12. The performance of KF RAIM with SKF is also shown for comparison purposes. The EKF test statistic does not display any abnormal behavior because the filter confuses such a slowly growing fault with a residual measurement error that it is supposed to estimate. SKF can detect such faults because it does not estimate measurement errors, but treats them as “consider parameters” instead. Missed detection with full-state EKF is also observed in all of 100 different simulation runs. This occurs with positive slopes as well as different slopes in two satellites.
In order to check if the full-state EKF can detect any other ramp faults, Figure 13 plots α E K F as the magnitude of the fault slope in N2 and N6 is increased. Detection occurs when the slope is −0.5 m/s. Next, to see if detection occurs before the VPE crosses its alert limit or not, faults are injected into N2 and N6 from 895 s in a simulation run. It should be noted that the final approach of the aircraft starts at 911 s and ends around 975 s when the minimum decision altitude of 350 ft is reached. During this period, VPE can be compared against the alert limit of 50 m for EKF. Table 3 shows the performance of EKF and SKF. With −0.5 m/s, α E K F detects faults after the VPE crosses the alert limit, but with the other two slopes, detection occurs before exceeding the alert limit, as desired. Thus, full-state EKF can detect ramp faults successfully when the slope magnitude is greater than a minimum value, which in this case is more than 0.5 m/s. It is also interesting to note that the VPE of EKF grows faster than that of SKF in the presence of ramp faults. As a result, it crosses its alert limit earlier than its counterpart in SKF.
Test results of KF RAIM for a 54.48 min aircraft trajectory are also presented in the Supplementary Materials. The results demonstrate the following: (1) adaptive calculations of all KF RAIM parameters of Figure 9 for long duration data, and (2) the ability of the algorithm to respond to an anomalous behavior and recover from it when the source of the anomaly is gone. The low-end laptop needs 16.3 min to run the KF RAIM algorithm in Matlab. WLS and full-state EKF results are also included. Details of all figures are provided in the description of the Supplementary Materials.

7. Conclusions

This paper integrates realistic error models of the carrier-smoothed pseudorange measurements into the RAIM algorithm with an SKF navigation filter. Error models include appropriate time constants of individual error sources, thus overcoming an important limitation of the prior work on KF RAIM. Uncertainties of the model parameters are accounted for. A provision is also made for adding artificial white noise to deal with initial transients in the position error. The suitability of the adopted models for RAIM with SKF is justified through extensive simulations. Performance of the modified KF RAIM is then analyzed with simulated GPS L1 and NavIC L5 signals for aircraft navigation during different phases of flight. The following important conclusions are drawn from the analyses of the results. WLS RAIM has lower PLs than the developed KF RAIM, but it is not appropriate for advanced navigation systems such as vector tracking and sensor integration, where KF is an integral part. A full-state EKF mistakes slow ramp faults for the residual measurement errors it needs to estimate, which results in missed detection. An SKF implementation, on the other hand, can successfully detect such faults. Hence, it offers a promising solution to developing KF RAIM algorithms in the range domain. With realistic error models, the modified KF RAIM is shown to complete processing well within time. Some salient features are also studied to gain insights into its working principles. It is noted that the mean position error bound is mainly determined by a few recent epoch measurements. However, contributions of all epochs must be taken into account for rigorous calculation of the PL for high-reliability applications.
Future work aims at determining error model parameters specific to NavIC measurements, and subsequently validating the KF RAIM with real GPS and NavIC signals and different geometries. Constellation-wide faults need to be handled in the range-based formulation. Furthermore, a fault isolation methodology is required to successfully exclude faulty satellites upon detection. The performance of KF RAIM in weak signal environments will be studied. Its suitability for sensor integration applications will be explored. As ionospheric scintillation prevalent in low latitude regions such as the Indian subcontinent can degrade GNSS measurements and introduce non-Gaussian errors [42,43], it is also important to analyze KF RAIM performance in such scenarios.

Supplementary Materials

The following are available online at https://www.mdpi.com/article/10.3390/s21248441/s1, matlab_program_figures_1_2.m: Matlab program to reproduce Figure 1 and Figure 2 and simulations described at the end of Section 3; matlab_program_algorithm _ 1 _ ts 1 _ figure_3.m: Matlab program for Algorithm A1 in Appendix A for α 1 and subplots 1 and 2 of Figure 3; matlab_program_algorithm _ 1 _ ts 2 _ figure_3.m: Matlab program for Algorithm A1 in Appendix A for α 2 and subplots 3 and 4 of Figure 3; matlab_program_appendix_figure.m: Matlab program to reproduce the first three subplots of Figure A1; aircraft_trajectory_long_duration.png: 54.48 min aircraft trajectory plot; filter_innovations.png: SKF and full-state EKF innovations and equivalent delta range for WLS; KF_raim_perf1.png: KF test statistics, PLs, and position error plots for long duration data; KF_raim_perf2.png: KF RAIM parameters of Figure 9 for long duration data; wls_full-state_ekf_raim-results.png: WLS and full-state EKF results.

Funding

This work was supported by the Space Applications Centre, Ahmedabad, Indian Space Research Organisation (grant number STC0225).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

IF data used for the paper are available from the author upon request. Similar data can also be generated with the details provided in the beginning of Simulation Studies.

Conflicts of Interest

The author declares no conflict of interest.

Appendix A. Algorithm to Justify Use of Ψ Max in Place of Ψ

Algorithm A1: Algorithm of simulations to show that Ψ max can be used in place of Ψ
% Enter constellation specific details and maximum number of visible satellites
% Enter values of a min and a max for constellations (e.g., for GPS and NavIC, see
% Figure 2)
for batch no = 1:10 % Ten batches each with 50,000 simulations
   for sim no = 1:50,000 % Run 50,000 simulations
      % Assume a value for number of epochs (i.e. M for α 1 , or ( N M ) for α 2 );
      % time between two epochs is 1 s; select user speeds and heights within range
      % over these epochs
      for i = 1:total number of satellites
         % Pick initially a uniformly random elevation angle θ ( 1 ) ( i ) within 5.1° and
         % 90°.
         % Pick random scale factors for all τ s and error standard deviations
         % within range
         for = 1: number of epochs – 1
            % If == 1, find σ ( ) ( i ) ; else take the value from previous iteration
            % If == 1, assume satellite speed over M or ( N M ) epochs, as
            % described toward the end of Section 3, or keep it constant as it
            changes slowly
            % Calculate change in elevation angle as θ ( + 1 ) θ ( ) =
            % ± v s a t ( ) + v u s e r ( ) r s u ( ) × 180 π ; user height is between 0 and 15 km; select
            % ‘+’ or ‘–’ to update θ
            % Find θ ( + 1 ) ( i ) by adding/subtracting change in elevation angle
            % to/from θ ( ) ( i )
            % If θ ( + 1 ) ( i ) < 5°, ignore the satellite in subsequent epochs and break
            % from loop
            % Find σ ( + 1 ) ( i )
            % Calculate β q mod for q = 1,…, number of epochs – (see Equation (23))
         end % End of loop
         % Form Ψ sub i with a 0 and a q , and Ψ sub , max i with a max for satellite i over M
         % or ( N M ) epochs
         % Check if each element of Ψ sub i a max | row number - column number | of the element
         % and each element ≥ K min ( a min ) | row number - column number | (Equation (29))
         % Check if the minimum eigenvalue of Ψ sub i is greater than zero
         % If any of the previous three conditions is violated, display a message and
         % halt
      end % End of satellite loop
      % Form Ψ and Ψ max ; Consider white noise bound in Ψ (Equation (32)), and in
      % Ψ max for α 1 , but not in Ψ max for α 2 . This is because Ψ sub , max i is
      % pre-determined for α 2 for different ( N M ) for its relatively large size, and
      % loaded in the RAIM algorithm, while Ψ sub , max i for α 1 is recursively
      % calculated at each time epoch
      % Calculate Δ Ψ = ( Ψ max Ψ ) and minimum eigenvalue of D for α 1 ,
      % where D = ( c I + Δ Ψ ) Ψ 1 (see the last paragraph of Section 4.3 and
      % Appendix B)
      % Form H matrix. Pick three components of each satellite LOS vector from a
      % uniform distribution between –1 and 1 such that the sum of their squares is
      % one. Since geometry changes slowly, keep H constant over the number of
      % epochs
      % Form S ˜ (see after Equation (4))
      % Calculate c adaptively for α 1 so that the maximum eigenvalue of Ω 1 , λ Ω , 1 max
      % < 1
      % Alternatively, calculate c as ( λ Ψ , max max λ Ψ , max min ) for α 2 (see after
      % Equation (6))
      % Calculate Θ as ( c I + Ψ max ) 1
      % Calculate the minimum and maximum eigenvalues of Ω 1 and Ω
      % Check if the maximum eigenvalue of Ω , λ Ω max is ≤ λ Ω , 1 max
      % Check if the minimum eigenvalue of Ω , λ Ω min is greater than or equal to
      % that of Ω 1 × K min (for α 1 ) (and greater than or equal to λ Ω , 1 min × K min ( K wh + 1 )
      % for α 2 )
      % Check if λ Ω min is greater than zero, and if Ω and Ω 1 are full rank matrices
      % If any of the previous four conditions is violated, display a message and
      % halt
   end % End of simulation loop
   % Plot results of a batch
end % End of batch loop

Appendix B. Determination of cmin for α Ω

During the adaptive calculation of c, a minimum value, c min is needed to ensure that λ Ω max is less than λ Ω , 1 max and one, where Ω = S ˜ T Ψ S ˜ S ˜ T Θ S ˜ and Ω 1 = S ˜ T Ψ max S ˜ S ˜ T Θ S ˜ . c min is considered to be the initial guess of c. It is determined in this section. First, the modeled a q of Equation (20) form the elements of Ψ (or sub-matrix Ψ sub i for satellite i). Then, uncertainties in the knowledge of the actual a q are taken into account.
From the definition, the matrix 2-norm of S ˜ is one and S ˜ T S ˜ = I . It is found through simulations that λ Ω max is close to the maximum eigenvalue of Ψ Θ , λ Ψ Θ max and generally lower than the latter. This can be verified using the Matlab code, matlab_program_algorithm _ 1 _ ts 1 _ figure_3.m, provided in the Supplementary Materials. Thus, c min will be determined with the help of λ Ψ Θ max and the maximum eigenvalue of Ψ max Θ , λ Ψ , max Θ max .
Because Ψ , Ψ max , and Θ ( = ( c I + Ψ max ) 1 ) are block diagonal matrices, λ Ψ Θ max is max i { maximum eigenvalue of Ψ sub i Θ sub i } = max i λ Ψ i , sub Θ i , sub max , where Θ sub i = ( c I + Ψ sub , i max ) 1 . This is also true for λ Ψ , max Θ max . Hence, Ψ sub i , Ψ sub , max i and Θ sub i can be used instead of their full matrices, when appropriate.
It can be easily shown that for any c > 0, λ Ψ , max Θ max = λ Ψ , max max / ( c + λ Ψ , max max ) < 1. On the other hand, λ Ψ Θ max = 1/ ( λ D min + 1 ) , where D = ( c I + Δ Ψ ) Ψ 1 and Δ Ψ = Ψ max - Ψ . So, for λ Ψ Θ max < 1, λ D min should be greater than zero. From the structure, it is evident that D is a block diagonal matrix. Its eigenvalues are the same as those of Ψ 1 / 2 ( c I + Δ Ψ ) Ψ 1 / 2 and hence real. Since with the modeled a q of Equation (20), the trace of Δ Ψ (or the sum of eigenvalues) is zero, its minimum eigenvalue is negative. To ensure λ D min > 0, the minimum c ( c ) is proposed to be the absolute value of the minimum eigenvalue of Δ Ψ or | min i λ Δ Ψ i , sub min | plus a non-zero number 0.01. Δ Ψ sub i is ( Ψ sub , max i Ψ sub i ), and λ Δ Ψ i , sub min is its minimum eigenvalue.
Figure A1. c and λ ( c I + Δ Ψ sub ) Ψ sub 1 min for different values of M and elevation angle (superscript i is removed for clarity), and c min and minimum of λ D min s and ( λ D min c min / λ Ψ , max max ) s for each batch and M = 10.
Figure A1. c and λ ( c I + Δ Ψ sub ) Ψ sub 1 min for different values of M and elevation angle (superscript i is removed for clarity), and c min and minimum of λ D min s and ( λ D min c min / λ Ψ , max max ) s for each batch and M = 10.
Sensors 21 08441 g0a1
The first two subplots of Figure A1 illustrate the proposed c for GPS and NavIC satellites as a function of initial elevation angle over M epochs and with M as a running parameter. As D is a block diagonal matrix, the third subplot of the figure actually shows variations of λ D min with elevation angle and different M. It is apparent that with the selected c , λ D min is always greater than zero. Although results are shown for decreasing elevation angles (i.e., θ ( + 1 ) ( i ) = θ ( ) ( i ) | v m s a t + v m u s e r r s u ( ) | × 180 π ), similar plots can be obtained when θ increases over M epochs. This can be verified with the Matlab program, matlab_program_appendix_figure.m, of the Supplementary Materials. The maximum value of all c s for a given M considering both GPS and NavIC and all elevation angles is denoted as c . In addition, another c denoted as c is calculated as before, but with Ψ sub , min i (or Ψ min ) in place of Ψ sub i (or Ψ ). Ψ sub , min i is formed the same way as that of Ψ sub , max i , but with a min . The maximum of c and c is c min for a given M. During the adaptive calculation, the initial guess of c for α 1 should be c min or more. With the selected c min , λ D min is greater than c min / λ Ψ , max max for all elevation angles and M≤ 20 (see matlab_program_appendix_figure.m), which ensures that λ Ψ Θ max < λ Ψ , max Θ max . It can also be shown that for a c higher than c min , this inequality holds. This is because the maximum eigenvalue of Ψ max is greater than that of Ψ (shown in matlab_program_appendix_figure.m for any Ψ sub i ) and for any two symmetric matrices J 1 and J 2 , λ J , 1 min + λ J , 2 min λ J min , where J = J 1 + J 2 [44]. Setting J 1 to Ψ 1 / 2 ( c c min ) Ψ 1 / 2 and J 2 to Ψ 1 / 2 ( c min I + Δ Ψ ) Ψ 1 / 2 , the inequality λ Ψ Θ max < λ Ψ , max Θ max can be proved for any other c > c min .
Finally, the fourth subplot of Figure A1 is generated with Algorithm 1, accounting for uncertainties in a q for fourteen GPS and seven NavIC satellites. D is calculated with the pre-determined c min for a given M. The asterisk represents the minimum of all λ D min s over 50,000 simulations in a batch. The minimum difference between λ D min and c min / λ Ψ , max max is also shown for each batch. With the initial c set as 0.05 for M = 10 (corresponding c min = 0.03792), Figure 3 depicts that λ Ω max < λ Ω , 1 max and hence is less than one (see the first subplot of the figure). matlab_program_algorithm _ 1 _ ts 1 _ figure_3.m can also verify this for changing satellite and user speeds and user heights within limits.

References

  1. US Govt. GPS Applications. Available online: http://www.gps.gov/applications (accessed on 14 December 2021).
  2. Available online: https://www.bbc.com/future/article/20201002-would-the-world-cope-without-gps-satellite-navigation (accessed on 14 December 2021).
  3. Du, Y.; Wang, J.; Rizos, C.; El-Mowafy, A. Vulnerabilities and integrity of precise point positioning for intelligent transport systems: Overview and analysis. Sat. Nav. 2021, 2, 3. [Google Scholar] [CrossRef]
  4. Walter, T.; Blanch, J.; Gunning, K.; Joerger, M.; Pervan, B. Determination of fault probabilities for ARAIM. IEEE Trans. Aerosp. Electron. Syst. 2019, 55, 3505–3516. [Google Scholar] [CrossRef]
  5. Indian Space Research Organisation. IRNSS Interface Control Documents, ISRO-IRNSS-ICD-SPS-1.1. 2017. Available online: https://www.isro.gov.in/update/18-aug-2017/irnss-signal-space-interface-control-document-icd-ver-11-released (accessed on 14 December 2021).
  6. Zhu, N.; Marais, J.; Bétaille, D. GNSS position integrity in urban environments: A Review of Literature. IEEE Trans. Intell. Transp. Syst. 2018, 19, 2762–2778. [Google Scholar] [CrossRef] [Green Version]
  7. Blanch, J.; Walter, T. Fast protection levels for fault detection with an application to advanced RAIM. IEEE Trans. Aerosp. Electron. Syst. 2021, 57, 55–65. [Google Scholar] [CrossRef]
  8. Bang, E.; Milner, C. Integrity risk under temporal correlation for horizontal ARAIM. IEEE Trans. Aerosp. Electron. Syst. 2021, 57, 3974–3987. [Google Scholar] [CrossRef]
  9. Hassan, T.; El-Mowafy, A.; Wang, K. A review of system integration and current integrity monitoring methods for positioning in intelligent transport systems. IET Intell. Transp. Syst. 2020, 15, 43–60. [Google Scholar] [CrossRef]
  10. Gunning, K. Safety Critical Bounds for Precise Positioning for Aviation and Autonomy. Ph.D. Thesis, Stanford University, Stanford, CA, USA, 2021. [Google Scholar]
  11. Mu, R.; Long, T. Designed implementation of vector tracking Loop for high-dynamic GNSS receiver. Sensors 2021, 21, 5629. [Google Scholar] [CrossRef]
  12. Xiong, J.; Cheong, J.W. Dempster, A.G.; Yang, R. Adaptive hybrid robust filter for multi-sensor relative navigation system. IEEE Trans. Intell. Transp. Syst. 2021. accepted. [Google Scholar] [CrossRef]
  13. Groves, P.D. Multisensor integrated navigation. In Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, 2nd ed.; Artech House: Boston, MA, USA, 2013; pp. 647–700. [Google Scholar]
  14. Wang, S.; Zhan, X.; Zhai, Y.; Liu, B. Fault detection and exclusion for tightly coupled GNSS/INS system considering fault in state prediction. Sensors 2020, 20, 590. [Google Scholar] [CrossRef] [Green Version]
  15. Pan, W.; Zhan, X.; Zhang, X.; Yang, R. A no-subset method for ARAIM of tightly-coupled GNSS/INS to reduce computational load. J. Aeronaut. Astronaut. Aviat. 2020, 52, 269–290. [Google Scholar] [CrossRef]
  16. Bhattacharyya, S.; Mute, D. Kalman filter-based RAIM for reliable aircraft positioning with GPS and NavIC constellations. Sensors 2020, 20, 6606. [Google Scholar] [CrossRef]
  17. Arana, G.D.; Hafez, O.A.; Joerger, M.; Spenko, M. Integrity monitoring for Kalman filter-based localization. Int. J. Robot. Res. 2020, 39, 1–22. [Google Scholar] [CrossRef]
  18. Sepulveda, L.E. Optimizing Banks of Kalman Filters for Navigation Integrity Using Parallel Computing and Efficient Software Design. Ph.D. Thesis, Air Force Institute of Technology, Kaduna, OH, USA, 2021. [Google Scholar]
  19. Gao, Y.; Gao, Y.; Liu, B.; Jiang, Y. Enhanced fault detection and exclusion based on Kalman filter with colored measurement noise and application to RTK. GPS Sol. 2021, 25, 82. [Google Scholar] [CrossRef]
  20. Gottschalg, G.; Leinen, S. Comparison and evaluation of integrity algorithms for vehicle dynamic state estimation in different scenarios for an application in automated driving. Sensors 2021, 21, 1458. [Google Scholar] [CrossRef]
  21. Sun, R.; Wang, J.; Cheng, Q.; Mao, Y.; Ochieng, Y.O. A new IMU-aided multiple GNSS fault detection and exclusion algorithm for integrated navigation in urban environments. GPS Sol. 2021, 25, 147. [Google Scholar] [CrossRef]
  22. Gabela, J.; Kealy, A.; Hedley, M.; Moran, B. Case study of Bayesian RAIM algorithm integrated with spatial feature constraint and fault detection and exclusion algorithms for multi-sensor positioning. Navigation 2021, 68, 333–351. [Google Scholar] [CrossRef]
  23. Bhattacharyya, S.; Gebre-Egziabher, D. Vector loop RAIM in nominal and GNSS-stressed environments. IEEE Trans. Aerosp. Electron. Syst. 2014, 50, 1249–1268. [Google Scholar] [CrossRef]
  24. Schmidt, S. Applications of state-space methods to navigation problems. In Advances in Control Systems; Leondes, C., Ed.; Academic Press: New York, NY, USA, 1966; pp. 293–340. [Google Scholar]
  25. Angus, J.E. RAIM with multiple faults. Navig. J. Inst. Navig. 2007, 53, 249–257. [Google Scholar] [CrossRef]
  26. Bhattacharyya, S.; Mute, D.L.; Gebre-Egziabher, D. Kalman Filter-Based Reliable GNSS Positioning for Aircraft Navigation. In Proceedings of the AIAA Scitech Forum, San Diego, CA, USA, 7–11 January 2019; pp. 1–27. [Google Scholar]
  27. Blanch, J.; Walker, T.; Enge, P.; Lee, Y.; Pervan, B.; Rippl, M.; Spletter, A.; Kropp, V. Baseline advanced RAIM user algorithm and possible improvements. IEEE Trans. Aerosp. Electron. Syst. 2015, 51, 713–730. [Google Scholar] [CrossRef]
  28. Zanetti, R.; D’Souza, C. Recursive implementations of the Schmidt-Kalman ‘consider’ filter. J. Astro. Sci. 2013, 60, 672–685. [Google Scholar] [CrossRef]
  29. Rife, J. Comparing performance bounds for Chi-square monitors with performance uncertainty. IEEE Trans. Aerosp. Electron. Syst. 2015, 51, 2379–2389. [Google Scholar] [CrossRef]
  30. Rife, J. Robust Chi-square monitor performance with noise covariance of unknown aspect ratio. Navig. J. Inst. Navig. 2017, 64, 377–389. [Google Scholar] [CrossRef]
  31. RTCA SC-159. Minimum Operational Performance Standards for Global Positioning System/Satellite-Based Augmentation System Airborne Equipment; Radio Technical Commission for Aeronautics: Washington, DC, USA, 2013; p. 45. [Google Scholar]
  32. Gallon, E.; Joerger, M.; Pervan, B. Robust modeling of GNSS tropospheric delay dynamics. IEEE Trans. Aerosp. Electron. Syst. 2021, 57, 2992–3003. [Google Scholar] [CrossRef]
  33. Perea Diaz, S. Design of an Integrity Support Message for Offline Advanced RAIM. Ph.D. Thesis, RWTH Aachen University, Aachen, Germany, 2019. [Google Scholar]
  34. Presti, L.L.; Visintin, M. Can you list all the properties of the carrier-smoothing filter? GNSS Solutions column. Inside GNSS 2015, 10, 32–37. [Google Scholar]
  35. Zhai, Y.; Zhan, X.; Pervan, B. Bounding integrity risk and false alert probability over exposure time intervals. IEEE Trans. Aerosp. Electron. Syst. 2020, 56, 1873–1885. [Google Scholar] [CrossRef]
  36. Tsui, J.B. Satellite constellation. In Fundamentals of Global Positioning Positioning System Receivers A Software Approach, 2nd ed.; Wiley Interscience: Hoboken, NJ, USA, 2005; pp. 35–36. [Google Scholar]
  37. Rife, J. Overbounding false-alarm probability for a chi-square monitor with natural biases. Navig. J. Inst. Navig. 2016, 63, 455–467. [Google Scholar] [CrossRef]
  38. Available online: https://accord-soft.com/GNSS_simulator_simac6.html (accessed on 14 December 2021).
  39. Hofmann-Wellenhof, B.; Lichtenegger, H.; Collins, J. Observables. In GPS Theory and Practice, 5th ed.; Springer: New York, NY, USA, 2001; pp. 110–113. [Google Scholar]
  40. Federal Aviation Administration. Global Positioning System Wide Area Augmentation System (WAAS) Performance Standard; Federal Aviation Administration: Washington, DC, USA, 2008. Available online: https://www.gps.gov/technical/ps/#waasps (accessed on 14 December 2021).
  41. Milner, C.; Pervan, B.; Blanch, J.; Joerger, M. Evaluating integrity and continuity over time in advanced RAIM. In 2020 IEEE/ION Position, Location and Navigation Symposium (PLANS); IEEE: Portland, OR, USA, 2020; pp. 502–514. [Google Scholar] [CrossRef]
  42. Goswami, S.; Ray, S.; Paul, A. Degradation of satellite-based navigation performance observed from an anomaly crest location in the Indian longitude sector. Rad. Sci. 2020, 55, e2019RS007042. [Google Scholar] [CrossRef]
  43. Wernik, A.W.; Grzesiak, M. Scintillation caused by the ionosphere with non-Gaussian statistics of irregularities. Rad. Sci. 2011, 46, RS6011. [Google Scholar] [CrossRef] [Green Version]
  44. Horn, R.A.; Johnson, C.R. Hermitian matrices, symmetric matrices and congruences. In Matrix Analysis, 2nd ed.; Cambridge University Press: New York, NY, USA, 2013; p. 239. [Google Scholar]
Figure 1. Equivalent time constants, 1 / β q as a function of θ ( ) ; time interval = q Δ t ; Δ t = 1 s.
Figure 1. Equivalent time constants, 1 / β q as a function of θ ( ) ; time interval = q Δ t ; Δ t = 1 s.
Sensors 21 08441 g001
Figure 2. Variations of maximum a ι 1 , q as a function of θ ( ) ; time interval = q Δ t ; Δ t = 1 s.
Figure 2. Variations of maximum a ι 1 , q as a function of θ ( ) ; time interval = q Δ t ; Δ t = 1 s.
Sensors 21 08441 g002
Figure 3. Differences between maximum (and minimum) eigenvalues of Ω 1 and Ω over five hundred thousand simulations for each α 1 and α 2 .
Figure 3. Differences between maximum (and minimum) eigenvalues of Ω 1 and Ω over five hundred thousand simulations for each α 1 and α 2 .
Sensors 21 08441 g003
Figure 4. GNSS signal simulation and data collection setup.
Figure 4. GNSS signal simulation and data collection setup.
Sensors 21 08441 g004
Figure 5. Simulated aircraft trajectory and skyplot of visible GPS and NavIC satellites. Aircraft height is shown above the WGS84 reference ellipsoid. In the skyplot, the circle marks the final position of a satellite in the trace. ‘G’ is for GPS, and ‘N’ is for NavIC.
Figure 5. Simulated aircraft trajectory and skyplot of visible GPS and NavIC satellites. Aircraft height is shown above the WGS84 reference ellipsoid. In the skyplot, the circle marks the final position of a satellite in the trace. ‘G’ is for GPS, and ‘N’ is for NavIC.
Sensors 21 08441 g005
Figure 6. IF data processing block diagram.
Figure 6. IF data processing block diagram.
Sensors 21 08441 g006
Figure 7. EKF and SKF carrier smoothed-pseudorange measurement innovations and position estimation errors in the NED frame. The ramp error in innovations is due to a low elevation satellite below the mask angle, which is not considered for estimation.
Figure 7. EKF and SKF carrier smoothed-pseudorange measurement innovations and position estimation errors in the NED frame. The ramp error in innovations is due to a low elevation satellite below the mask angle, which is not considered for estimation.
Sensors 21 08441 g007
Figure 8. WLS and KF RAIM performance after an initial transient period of 15 s.
Figure 8. WLS and KF RAIM performance after an initial transient period of 15 s.
Sensors 21 08441 g008
Figure 9. Important parameters of KF RAIM.
Figure 9. Important parameters of KF RAIM.
Sensors 21 08441 g009
Figure 10. Mean VPE bounds corresponding to α 1 and α 2 after an initial transient period of 15 s. It should be noted that the sudden change around 350 s is caused by the change in FMS, not in Γ .
Figure 10. Mean VPE bounds corresponding to α 1 and α 2 after an initial transient period of 15 s. It should be noted that the sudden change around 350 s is caused by the change in FMS, not in Γ .
Sensors 21 08441 g010
Figure 11. Variation of Γ with λ Θ ˜ max / λ Θ ˜ min and DOF as a parameter.
Figure 11. Variation of Γ with λ Θ ˜ max / λ Θ ˜ min and DOF as a parameter.
Sensors 21 08441 g011
Figure 12. Fault detection with full-state EKF and SKF. Circle indicates when the PE or test statistic of SKF crosses the respective threshold. Vertical alert limit is shown for EKF during the final approach.
Figure 12. Fault detection with full-state EKF and SKF. Circle indicates when the PE or test statistic of SKF crosses the respective threshold. Vertical alert limit is shown for EKF during the final approach.
Sensors 21 08441 g012
Figure 13. EKF test statistics with different ramp faults.
Figure 13. EKF test statistics with different ramp faults.
Sensors 21 08441 g013
Table 1. Fault detection performance of SKF and full-state EKF. Fault detection time is calculated from the beginning of simulation. PE stands for position error. It can be horizontal or vertical PE. The corresponding PL is HPL or VPL. Maximum of horizontal PE and VPE is noted under PE. “sat” stands for satellite.
Table 1. Fault detection performance of SKF and full-state EKF. Fault detection time is calculated from the beginning of simulation. PE stands for position error. It can be horizontal or vertical PE. The corresponding PL is HPL or VPL. Maximum of horizontal PE and VPE is noted under PE. “sat” stands for satellite.
Fault TypeSKFFull-State EKF
Fault Detection TimeIf PE > PLFault Detection TimeChange in PE
1 sat (N2)2 sat (G28 and N2) 1 sat (N2)2 sat (G28 and N2)
−5 m stepNoNoNo; constant offset100 s100 sConstant offset
detectiondetection1 sat: PE < 5 m 1 sat: PE < 6.5 m
2 sat: PE < 10 m 2 sat: PE < 8.55 m
Ramp YesNoNoPE
with slope563 s614 s1 sat: from 1100 sdetectiondetectiongrows with
−0.05 m/s 2 sat: from 661 s time
SinusoidalNoNoNo; sinusoidal PENoNoSinusoidal PE
5 sin ( 2 π t / 3600 ) mdetectiondetection1 sat: PE < 5 mdetectiondetection1 sat: PE < 6.5 m
2 sat: PE < 10 m 2 sat: PE < 10 m
SinusoidalNoNoNo; sinusoidal PE100 s100 sSinusoidal PE
5 cos ( 2 π t / 3600 ) mdetectiondetection1 sat: PE < 5 m 1 sat: PE < 6.5 m
2 sat: PE < 10 m 2 sat: PE < 10 m
Table 2. Fault detection performance of WLS. Fault detection time is calculated from the beginning of simulation.
Table 2. Fault detection performance of WLS. Fault detection time is calculated from the beginning of simulation.
Fault TypeWLS
Fault Detection TimeIf PE > PL
1 sat (N2)2 sat (G28 and N2)
−5 m stepNoNoNo; constant offset;
detectiondetection1 sat: PE < 5 m
2 sat: PE < 10 m
Ramp Yes
with slope495 s534 s1 sat: from 943 s
−0.05 m/s 2 sat: from 584 s
SinusoidalNoNoNo; sinusoidal PE
5 sin ( 2 π t / 3600 ) mdetectiondetection1 sat: PE < 5 m
2 sat: PE < 10 m
SinusoidalNoNoNo; sinusoidal PE
5 cos ( 2 π t / 3600 ) mdetectiondetection1 sat: PE < 5 m
2 sat: PE < 8 m
Table 3. Ramp fault detection performance of full-state EKF and SKF with different slopes. Time is noted from the beginning of simulation.
Table 3. Ramp fault detection performance of full-state EKF and SKF with different slopes. Time is noted from the beginning of simulation.
Fault Slope (m/s)Full-State EKFSKF
Fault Detection Time (s)Time When VPE > Alert Limit (s)Fault Detection Time (s)Time When VPE > VPL (s)
−0.51055≥975925≥999
−0.75937≥948914≥963
−1904≥934.8909≥946
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Bhattacharyya, S. Performance Analyses of a RAIM Algorithm for Kalman Filter with GPS and NavIC Constellations. Sensors 2021, 21, 8441. https://doi.org/10.3390/s21248441

AMA Style

Bhattacharyya S. Performance Analyses of a RAIM Algorithm for Kalman Filter with GPS and NavIC Constellations. Sensors. 2021; 21(24):8441. https://doi.org/10.3390/s21248441

Chicago/Turabian Style

Bhattacharyya, Susmita. 2021. "Performance Analyses of a RAIM Algorithm for Kalman Filter with GPS and NavIC Constellations" Sensors 21, no. 24: 8441. https://doi.org/10.3390/s21248441

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop