Abstract
This paper presents a novel Kalman filter (KF)-based receiver autonomous integrity monitoring (RAIM) algorithm for reliable aircraft positioning with global navigation satellite systems (GNSS). The presented method overcomes major limitations of the authors’ previous work, and uses two GNSS, namely, Navigation with Indian Constellation (NavIC) of India and the Global Positioning System (GPS). The algorithm is developed in the range domain and compared with two existing approaches—one each for the weighted least squares navigation filter and KF. Extensive simulations were carried out for an unmanned aircraft flight path over the Indian sub-continent for validation of the new approach. Although both existing methods outperform the new one, the work is significant for the following reasons. KF is an integral part of advanced navigation systems that can address frequent loss of GNSS signals (e.g., vector tracking and multi-sensor integration). Developing KF RAIM algorithms is essential to ensuring their reliability. KF solution separation (or position domain) RAIM offers good performance at the cost of high computational load. Presented range domain KF RAIM, on the other hand, offers satisfactory performance to a certain extent, eliminating a major issue of growing position error bounds over time. It requires moderate computational resources, and hence, shows promise for real-time implementations in avionics. Simulation results also indicate that addition of NavIC alongside GPS can substantially improve RAIM performance, particularly in poor geometries.
1. Introduction
In recent years, global navigation satellite systems (GNSS) have evolved into important infrastructure of modern society, with day-to-day activities increasingly relying on their positioning, navigation and timing services [1,2]. GNSS is now so deeply entrenched in everyday life that disruption or malfunction of its operations can lead to undesirable consequences. Among many other diverse applications, aircraft navigation in particular has immensely benefited from GNSS during different flight phases (e.g., cruising, terminal, and approach to landing) [3,4,5,6]. GNSS is also identified as a key sensor on-board unmanned aerial vehicles (UAV) [7,8,9]. In spite of ever expanding use, major concerns in aviation applications remain to be reliability and continuity of GNSS services. The reason is that a system anomaly/loss of signal in aviation can jeopardize safety, or cause legal or economic liabilities.
In order to guarantee reliability, a GNSS signal integrity monitor is integrated with avionics. Integrity is considered an essential performance metric in aviation. It is a measure of trustworthiness of a system [10]. An integrity monitor is designed to issue alarms to pilots within a prescribed time, when reliable GNSS performance cannot be ensured. To this end, it carries out continuous fault detection tests and raises an alarm in case a fault is detected. If no fault is identified, the monitor outputs a bound on position error named protection level (PL). The PL protects error in estimated position with a large probability. As an example, Figure 1 illustrates PLs for an approach to landing application.
Figure 1.
Illustration of PLs. To ensure reliability, magnitude of error in the estimated position (both horizontal and vertical) must be within the corresponding PL with a certain probability. Calculated PLs must be below the alert limits when integrity monitoring is available.
Design of integrity monitors (or monitoring algorithms) relies on what navigation filter is used for GNSS signal processing. Two standard candidates are weighted least squares (WLS) and Kalman filter (KF) (or in particular, extended KF (EKF)). WLS is easy to implement, but not ideal for advanced navigation systems [11]. On the other hand, EKF can be used in traditional as well as advanced methods. It is an important part of advanced systems (e.g., vector tracking [12] and multi-sensor integration [13]). These systems are more accurate and robust. They can address the vulnerability of weak GNSS signals, which are prone to loss of lock in the presence of moderate to high dynamics [14,15,16,17]. Thus, advanced navigation systems can help improve continuity of GNSS services.
While integrity monitoring with WLS is extensively studied and well-developed [18,19,20,21,22,23,24,25], relatively few studies are available on its KF counterpart [26,27,28,29,30,31,32,33,34,35,36,37,38]. To this end, a novel KF-based integrity algorithm is designed in this paper for reliable absolute positioning with GNSS pseudorange (carrier smoothed) and pseudorange rate measurements. The presented method, being computationally efficient, shows promise for real-time implementations in avionics. It also has potential for extensions to advanced methods (e.g., vector tracking [30]), thereby contributing to enhancing both reliability and continuity of GNSS operations. The algorithm’s performance is compared with two existing approaches—one each for WLS and KF—for a UAV navigation scenario.
Over the last two decades, extensive research has been carried out on integrity monitoring with the Global Positioning System (GPS) in civil aviation [21,25]. In order to meet stringent requirements, dual frequency multi-constellation GNSS signals were deemed necessary [23]. Consequently, there are studies on combined integrity performance of GPS and Galileo/Beidou in the context of aviation [24,39]. However, to the best of the authors’ knowledge, no such research is available in the open literature in relation to the Indian GNSS, Navigation with Indian Constellation (NavIC). This navigation satellite constellation provides coverage to the Indian sub-continent and areas extending about 1500 km around it [40,41]. NavIC is intended to support aviation users among others over its coverage area. With regard to this, the current work aims to analyse KF integrity performance with GPS and NavIC. Design of the algorithm is also discussed with a focus on the dual constellations. However, the methodology can apply to other GNSS systems with appropriate changes.
The organization of the remaining paper is as follows: First, prior work on integrity algorithms is discussed. Contributions of the current work are also noted in this context. Following this, a brief overview of existing KF-based integrity algorithms is provided. Next, the integrity monitoring algorithm proposed in this paper is described. Subsequently, the performance of the KF integrity algorithm is compared with two other approaches using simulated GPS and NavIC measurements for a UAV trajectory. Finally, the paper ends with conclusions and future extensions of the current work.
2. Prior Work and Contributions
Aircraft-based augmentation system (ABAS) is one of the different methods implemented for GNSS integrity monitoring for aviation users. It has a built-in integrity monitor in avionics. An integral part of ABAS is a GNSS receiver-based algorithm called receiver autonomous integrity monitoring or RAIM [3]. A detailed literature survey of RAIM algorithms for civil aviation is presented in [10]. As mentioned before, RAIM depends on what navigation filter (WLS or KF) is used in the GNSS signal processing of the receiver. An extensive body of knowledge is available in the literature on WLS RAIM [20,21]. Position domain implementation of WLS RAIM is called solution separation method. Advanced RAIM (ARAIM) extends this method by including dual frequency, multi-constellation GNSS signals, an extensive threat model and an integrity support message [42]. ARAIM is envisioned to support horizontal and vertical guidance of aircraft. On the other hand, range domain implementation of RAIM is called range-based RAIM in this paper. Its formulation for WLS dates back to the late 1980s and early 1990s [18,19]. This method has been extended to handle multiple faults in [20]. RAIM for a batch least squares algorithm is developed in [22].
Solution separation RAIM for KF was first presented in [26] for aviation applications. It performs integrity monitoring in the position domain by eliminating a visible satellite from one of multiple KFs running in parallel. References [27,28] extend ARAIM to KF for high accuracy and precision applications, and propose methods to reduce the computational load for running parallel filters. In [29], a range-based KF RAIM algorithm is described. It develops a recursive fault detection test with KF residuals, and calculates the worst-case fault vector using a batch least squares approach. Range-based KF RAIM has an advantage over position domain method in that it does not need parallel filters. It has less architectural complexity, but it needs to take into account contributions from past epoch measurements to the current PL. This should be done in a computationally efficient way without increasing the PL as time progresses [31]. Reference [32], on the other hand, proposes an isotropy-based RAIM algorithm with KF.
Integrity monitoring for integrated GNSS-inertial navigation system (INS) was recently studied in [34,35,36,37,38] in both range and position domains for KF. In [34] an integrity monitor is presented in the range domain to deal with spoofing attacks during an aircraft approach to a runway. The work is later extended with a computationally efficient calculation of the worst-case fault vector [35]. In a subsequent reference [36], solution separation approach is preferred over the proposed range-based monitor in case of good satellite visibility for an autonomous land vehicle application. Solution separation RAIM for tightly coupled GNSS-INS is described in [37] for precise point positioning. A fault detection and exclusion scheme for tightly coupled GNSS-INS system is designed in [38]; it can detect multiple GNSS, and simultaneous GNSS and INS faults.
Restricting the increase of PLs over time in range-based KF RAIM is still a major challenge, with little work done in this regard. In [33], an implementation of range domain KF RAIM is provided for GNSS receivers. Its PL does not grow with time due to contributions from previous measurements to the present epoch. However, it assumes a single satellite failure, and does not model time correlated errors of measurements. A range-based KF RAIM algorithm is detailed in this paper, building upon [33]. It models time correlated errors, and handles multi-satellite failures. The algorithm also retains computational efficiency. A different implementation of KF called Schmidt KF (SKF) [43] is required for design. It is essential to the formation of fault detection tests. More precisely, it helps in overcoming the issue of growing PLs by enabling more than one test in the presence of time correlated errors. Each test considers measurement innovations of a finite number of epochs, as before, but requires a completely different formulation. Hence, the PL computation is also significantly modified. It should be noted that constellation-wide faults due to a common cause are not considered in the current work. Measurements of a given epoch are also assumed to be uncorrelated with each other.
Extensive simulations over the primary coverage area of NavIC on the Indian sub-continent were performed for a 20-min UAV trajectory. With GPS and NavIC measurements, it is shown that the existing methods used as reference outperform the new one. However, the work is significant for the following reasons. KF is an integral part of advanced navigation systems, as noted earlier. Therefore, developing KF RAIM algorithms is essential to ensuring their reliability. The improvement of KF solution separation RAIM is obtained at the expense of high computational load. The presented range-based KF RAIM, on the other hand, offers satisfactory performance to a certain extent with moderate computational resources. It has potential for extensions to advanced methods such as vector receivers, where running parallel vector tracking loops for solution separation RAIM would be too complex and prohibitively expensive. Further, simulation results indicate that the addition of NavIC alongside GPS can substantially improve performance, particularly in poor geometries.
3. Overview of Existing KF RAIM Algorithms
The developed KF RAIM is compared with two existing integrity algorithms. The first one is range-based RAIM with WLS [20]. Although snapshot in nature, it is chosen for performance comparison because it works in the range domain, like the presented method. The second one, KF RAIM in the position domain, implements the solution separation approach with the EKF. Since the WLS RAIM algorithm is described in detail in [20], it is not repeated here. First, a brief overview of existing solution separation KF RAIM is provided. Following this, background of the existing range-based KF RAIM, which is extended further later in this paper, is presented for ease of understanding.
3.1. Solution Separation KF RAIM
First, error models and key integrity parameters are described. Although these are discussed in the context of solution separation method, these are used by all RAIM algorithms of this paper. The following error models are considered. Ionospheric error is assumed to be removed using dual frequency measurements. Broadcast satellite clock and ephemeris error, residual tropospheric delay (i.e., remaining error after removing the modeled component), noise and multipath in pseudorange measurements are modeled as a first order Gauss Markov (GM) process with 100 s time constant. Their standard deviations are taken from [44,45] for carrier smoothed code pseudorange measurements of GPS in L and L bands for airborne users. More realistic error models with different time constants for individual components will be considered in future work. Due to lack of availability of similar error models for NavIC, the same equations as those for GPS are assumed with frequency bands appropriately changed. Only white noise is modeled in the pseudorange rate measurements. Noise standard deviation corresponds to a C/N of 45 dB-Hz.
The prior probability of narrow fault for both GPS and NavIC constellations is assumed to be /satellite/h. Over the years, is found to be less than this value for GPS [42]. For NavIC being a new constellation, many years of data are yet to be analyzed before arriving at a suitable probability. Constellation-wide faults are not considered in this work. The allocated probability of hazardously misleading information (HMI) (i.e., the probability that position error exceeds the PL but no alert is issued), , is considered /h [46]. for the vertical component, is /h (i.e., 90% of ). for the horizontal component, is /h. For the assumed (or allocated integrity budget) and , monitoring up to two simultaneous independent satellite failures is sufficient, as discussed in [24]. This is because three or more simultaneous failures will have a probability less than the total integrity budget. The probability of three or more unmonitored faults is therefore subtracted from the integrity budget. The continuity budget allocated to disruptions due to false alert is /sample [47]. and values chosen correspond to the en route phase of civil aviation.
Let be the probability of HMI for no-fault (NF) condition, where h = 1, 2, 3 for north, east and down components of position, respectively. is the probability for single-fault (SF) modes. is the probability for dual-fault (DF) modes. For each horizontal component of position, their allocated values are
where h = 1 and 2 denote north and east components, respectively. NavIC constellation currently has seven operational satellites in orbit. Assuming a maximum of twelve GPS satellites, the sum of the preceding probabilities is slightly less than half of .
For the vertical component of position, the allocated probabilities are
The sum of the above three probabilities is a little less than . The probabilities are not optimally chosen to minimize PLs due to higher computational load involved in optimization. As an alternative, a larger value (about 99% of the total probability) is allocated to dual-satellite fault mode instead of assigning one third of the sum to each of NF, SF and DF. This is to reduce PLs as the DF mode is found to result in higher PLs.
Position domain KF RAIM implemented in this paper adapts solution separation approach to EKF. It runs parallel EKFs—one for each fault mode plus an all-in-view filter for NF condition. Each EKF estimates errors in three coordinates of aircraft position and velocity in the Earth centered Earth Fixed (ECEF) frame, and receiver clock biases and drifts for GPS and NavIC from their respective a priori values. In addition, each of them has additional states (one for each pseudorange measurement) to model time correlated errors as first order GM processes. Key equations of KF solution separation RAIM are provided in Appendix A. Satellite position, velocity and modeled tropospheric delays are calculated only in the all-in-view filter and shared among all subset filters—one for each fault mode—to reduce the computational load. State error covariances are updated using a numerically stable forward recursive modified rank-one update algorithm [43]. Next, an overview of existing range-based KF RAIM is provided to lay foundation for the modified algorithm described later in this paper.
3.2. Existing Range-Based KF RAIM
In the fault detection method of existing range-based RAIM, three test statistics are formed, each with KF measurement innovations of a number of epochs [33]. The reason for three tests is described in detail in the reference. The first statistic, , is calculated with measurement innovations of M epochs including the current epoch . The second statistic, , has epochs from to . The third test statistic, , is formed with innovations of all epochs before N epochs, whose contributions are included in before these terms are discarded (or removed from memory). At a time, only N epoch terms are retained in memory, but test statistics are formulated with innovations of all epochs. N and M are adaptively determined. Mathematically, the test statistics at , (; j = 1, …, 3), are given by
where and denote EKF pseudorange and pseudorange rate innovation vectors, respectively, at epoch ℓ. and hold different values for different j, as mentioned before. is the identity matrix of size ; and n is the number of visible satellites at an epoch. n can change with time. and are computed by WLS estimation. They are
where is the pseudorange measurement error covariance matrix at th epoch. is linearized pseudorange (or pseudorange rate) measurement model matrix. is the pseudorange rate error covariance matrix. The error model accounts for unmodeled propagation delays by inflating noise covariance, and neglects error in broadcast satellite clock terms and ephemeris, and multipath. Measurement error between time epochs is thus assumed uncorrelated. Fault detection method considers WLS estimation whereas PL calculation is based on EKF position error.
A WLS estimation-based fault detection test with EKF innovations allows simplified calculations of mean position error bounds, as discussed in the reference. With WLS estimation-based fault detection, each term of the test statistic under summation in Equation (3) and in the denominator of failure mode slope (FMS) would contribute fault of only the corresponding epoch, not any other epochs. This simplifies FMS calculation, and allows the formation of a separate FMS for mean position error bound pertaining to a test statistic. As a result, more than one test can be formulated. The noise statistics of s can also be easily computed. It was proved in [31] that each term in Equation (3) generated with KF innovations has the same noise distribution as that of the WLS navigation filter. The threshold for an is therefore computed from the Chi square distribution with probability and appropriate degrees of freedom (DOF). A fault is declared if at least one of the test statistics crosses its threshold.
The bounds on horizontal and vertical mean position error under a fault, HPE and VPE, respectively, for a satellite i are derived as
where and are bounds corresponding to (i.e., they consider the same epoch terms as those of ), with j = 1, 2, 3. is a three-element vector of north, east and down mean position error bounds resulting from second order terms of nonlinear GNSS measurement equations.
It is important to note that the DOF of , and and VPE grow with time. However, as HPE and VPE have very small contributions, VPE and HPE do not have the same growing trend over time. It is justified through simulation results that with three test statistics and mean position error bounds as calculated in the preceding equations, PL does not grow over time, unlike the PL with a single test statistic. Faults are also detected in a shorter time than that with a single test formed using all innovation terms from the beginning up to the current epoch. The reason is that the growing DOF of a single test statistic increases the fault detection threshold fast, resulting in late detection of faults. PLs are computed using the above-mentioned mean position error bounds under the assumption of a single satellite fault.
As noted before, SKF is used as navigation processor for range domain KF RAIM algorithm developed in this paper. Its formulation is briefly provided next.
4. Schmidt KF
In this section, the SKF formulation of KF is briefly outlined. Interest readers can refer to [43,48] for more details. The reason for using SKF will be explained in the next section while discussing the fault detection test of range-based KF RAIM. Although sub-optimal in nature, SKF accounts for the effects of time correlated errors without estimating additional states. It also has fast execution time.
It is desired to determine aircraft absolute position and velocity, and receiver clock biases and drifts for GPS and NavIC. Their true values and a priori estimate are denoted as and , respectively. The difference between and , is estimated. Thus, the SKF state vector at is
where are three position components of aircraft expressed in ECEF coordinate frame. , and are velocity components in ECEF. and are the receiver clock biases for GPS and NavIC, respectively, and and are the receiver clock drifts for the two constellations.
Broadcast ephemeris and clock error, residual tropospheric delay along the line of sight, multipath and noise in carrier smoothed code pseudorange measurements of a satellite are modeled as a first order GM process with time constant 100 s. Let , , and be the standard deviations of broadcast ephemeris and clock error, residual tropospheric delay, multipath and noise, respectively, for ith satellite. Their elevation angle dependent models for airborne users are taken from [44,45] for GPS and band measurements and provided next.
where is the elevation angle of ith GPS satellite in radians. is assumed to be 0.75. Thus, the resultant error is a GM process with 100 s time constant, and has a standard deviation of for ith GPS satellite. The same error models are used for NavIC, but the frequencies are changed to and S bands.
Pseudorange rate measurement error is modeled as white Gaussian noise with standard deviation corresponding to a C/N of 45 dB-Hz. Thus, there are n GM processes, where n is the number of visible satellites at an epoch. In the SKF algorithm, states of GM processes are not estimated, but their effects are considered. If the vector has the states of n GM processes at , then and can be combined as = . The process and linearized measurement models of and measurement update equations of SKF are described in Appendix B. Next, the range-based KF RAIM algorithm is presented.
5. Range-Based KF RAIM Algorithm
First, the fault detection method in the presence of time correlated errors is developed. Then, mean position error bounds and PLs are computed considering up to two simultaneous independent satellite failures.
5.1. Fault Detection Method
The test statistic described by Equation (3) earlier is modified to account for time correlated errors in pseudorange measurements, as explained next. Since no time correlated error is modeled in the pseudorange rate measurements, part of the test statistics with pseudorange rate innovations remains the same as before. It can be shown that
where = and = where is matrix multiplication. Using the idempotent property of [18]
With singular value decomposition, can be written as
is a diagonal matrix. Its diagonal elements are ones and zeros. The number of zeros is equal to the dimension of the null space of . For a single constellation it is four whereas for dual constellations with a separate receiver clock bias state for each, it is five. Let the null space dimension be denoted as . It can be shown that is also equal to
where represents first rows and columns of a matrix . Using Equations (12) and (13), and replacing each in Equation (13) with Equation (15) and with , part of the test statistic formed with pseudorange innovations, (denoted as later) in Equation (3) is changed as
where stacks all vectors with ℓ varying from the lower limit to the upper limit of Equation (3). is a block matrix having non-zero sub-matrices (or blocks) along the diagonal, with the ℓth block given by . is a square matrix with number of rows/columns equal to . It is introduced in the middle and defined later. When it is the identity matrix, Equation (16) reduces to Equation (3). For ease of representation, the time epoch k is dropped from the subscript. The mathematical model of is given by
is a block matrix with non-zero blocks along the diagonal. Its ℓth block is . is defined after Equation (5). Only difference is that has an additional column for receiver clock bias corresponding to the second constellation. stacks all vectors for all ℓ noted after Equation (16). is measurement error. The diagonal terms of its covariance matrix, , are unity. present on either side of in Equation (16) removes from , ensuring that the fault of only ℓth epoch is injected through . This enables formation of more than one test statistic, each with a certain number of epochs, as before. If a term from one epoch also injects faults of other epochs, formation of separate test statistics is difficult from the point of view of the corresponding FMS computation, as discussed earlier. This would be the case if were omitted from Equation (16). Grouping as , Equation (16) becomes
where (or ) has rows/columns. The covariance matrix of error in , is given by
where E is the expectation operator. is the covariance matrix of measurement error in , . Measurement error comprises broadcast ephemeris and satellite clock error, unmodeled tropospheric delay, multipath and noise. It is assumed that the pseudorange measurement error of each visible satellite is a first order GM process with time constant and of zero mean under no faults.
Since time correlated errors are not estimated by the SKF, they remain unchanged in the pseudorange innovation terms. In this context, it should be noted that if time correlated errors were estimated by augmenting states in EKF, it would not be possible to formulate the RAIM algorithm described here. This is because if the augmented states for time correlated errors (one for each pseudorange innovation) were included in the WLS estimation of fault detection method, the resulting system would be under-determined. If the augmented states of EKF were not included in WLS estimation, faults of other epochs would be injected through the pseudorange innovation term of an epoch. This is because of possible wrong estimation of augmented states in EKF in the presence of a fault. This would complicate the calculation of FMS, and a separate FMS for each test statistic would not be possible. The reason for preferring a WLS-based fault detection approach was discussed in Section 3.2 and before Equation (18). Therefore, implementation of the SKF is essential to the formulation of the range-based KF RAIM algorithm presented in this paper. SKF is computationally efficient, and provides reasonably good performance as compared to that of the EKF that estimates additional states for time correlated errors [43]. Next, and are formulated for the first test statistic with M epochs (see paragraph before Equation (3) for the definition of M).
5.1.1. Formulation of Ψ for First Test Statistic
First, is determined. Expanding
where the superscript within parentheses denotes time instants, and the argument indicates pseudorange measurement index (or satellite index) at a time instant. Total number of visible satellites, n can vary across epochs. By definition, (=) is
where is a matrix with zero elements. Its dimension is shown in the subscript. For any satellite i, at epochs ℓ and , with q > 0
where is measurement error in (which stacks relevant terms), and denotes standard deviation of its individual element. Using GM model, one can write
where = measurement update interval = 1 s. is white noise sample for satellite i and uncorrelated with . Simplifying,
Substituting this into Equation (21)
The term can be written as
It is a product of q ratios. Each ratio will have an accompanying when is multiplied with the product. Using Equations (9)–(11), Figure 2 shows how the upper and lower bounds of (=) vary for GPS satellites with elevation angles at epoch ℓ. It is evident from the equations that maximum change in elevation angle between two successive epochs would maximize , which is also higher when > . The maximum change in elevation angle between two epochs of 1 s interval is calculated in radians as follows.
where is the maximum satellite speed, is the maximum user speed (assumed Mach 1) and is the minimum range between a satellite and user at an elevation angle. The maximum altitude of the user is 15 km. When < , following the same procedure, lower bounds of are obtained. The term calculated for GPS is found to be greater and less than that of NavIC with respect to upper and lower bounds, respectively. This is because NavIC satellites are located in geosynchronous orbits. As shown in the figure, the largest value of , is 0.9911 at 5 mask angle. The lowest value of , is 0.9890. A matrix is modeled as
Figure 2.
Variation of upper and lower bounds of for GPS satellites for different elevation angles at epoch ℓ, and = 1 s.
The determinant of can be easily calculated by the product of the determinants of all sub-matrices—each formed by grouping together the non-zero elements for a particular satellite. This is because measurements are assumed uncorrelated across satellites. Thus, with some rearrangements of rows and columns, it can be shown that is a block diagonal matrix formed by these sub-matrices. Each sub-matrix is of the form = , where i is satellite index. Its dimension is determined by the number of time instants when the satellite is visible within M epochs. If it is visible throughout, then the determinant of the sub-matrix is . It is greater than zero, and approaches zero as M increases, but theoretically is not equal to zero for a finite M. All leading principal minors are also positive. Thus, each sub-matrix is positive definite, and has all positive eigenvalues. Combining all sub-matrices, one can say that is positive definite.
In case of , following Equations (26) and (27), the sub-matrix is of the form = , where , , and are values of at epochs = , and , respectively. Its determinant is . Using the same argument as earlier, is positive definite. Since has full column rank, (=) is also positive definite. This implies that there exists a matrix such that = .
For between , it is evident from the mathematical expressions that the determinant of , ≤ . can also be written as = + , where all diagonal terms of are zero, and off-diagonal terms are positive ∀ ≠ . This is equivalent to perturbing so as to make it move closer to singularity. Hence, the condition number of (ratio of maximum to minimum eigenvalue for a symmetric matrix) would be greater. Figure 3 justifies this for different M by generating times for each M with uniformly random between , and comparing its eigenvalues with those of . From the figure, it can be concluded that the minimum (or maximum) eigenvalue of is less (or greater) than the respective eigenvalue of , when s are not equal to . Thus, the maximum and minimum eigenvalues of can be related to those of as
where represents an eigenvalue of a matrix and its superscript shows if it is maximum or minimum. Equation (30) will be useful while discussing the second test statistic.
Figure 3.
Comparison of maximum and minimum eigenvalues of and for different M. There are values for each M. Upper and lower limits are shown, ∀ = and = . This figure can be regenerated with the Matlab program, matlab_prog_figures_3_A1.m provided in the Supplementary Materials.
5.1.2. Formulation of Θ for First Test Statistic
Next, is determined so that the fault detection threshold of can be obtained. For ease of understanding, and the mathematical model of are repeated here.
Since removes from , the distribution of is determined by the measurement error . Hence, only of will be considered in subsequent derivations. Using measurement error, Equation (31) results in
Replacing with , where has unit-variance independent elements (since = )
Putting in place of
Reference [49] proves that the fault detection threshold of the preceding term can be obtained from the Chi square distribution if the maximum eigenvalue of is less than or equal to one. is determined next to satisfy this. If is an eigenvalue of , and is the corresponding eigenvector, then
Multiplying on either side and denoting as
Replacing with and with , it is clear that the eigenvalues of (denoted by later) are identical with those of . Therefore, in subsequent derivations, the eigenvalues of will be considered.
The following form of is proposed.
where c is a positive scale factor, which is determined such that the maximum eigenvalue of is less than or equal to unity. From the preceding equation it is evident that for a positive value of c, is a positive definite matrix. Since both and have full column rank, or (=) have all positive eigenvalues. Next, it will be proved that there is a value of c, for which the maximum eigenvalue of , is less than unity. If is the 2-norm of a matrix
It should be noted that is unity. Since both and are symmetric, their maximum eigenvalues are equal to respective 2-norms. Hence, = and = . An expression of is derived next. If represents an eigenvalue of a matrix , then it can be easily shown that
For matrix , = . Thus, the maximum eigenvalue of , = , where is the minimum eigenvalue of . Therefore,
If c is chosen equal to , is less than unity.
However, the above c results in a large FMS corresponding to the first test statistic. Since the FMS of the first test statistic significantly contributes to determining the PL, it should be reduced by selecting a small c. A computationally efficient algorithm to adaptively find for at every epoch is provided in Appendix C. is recursively computed at every with for all satellites. It should be noted that even after a satellite sets, its measurement innovations are used to form test statistics as long as they are within N epochs from the current epoch.
5.1.3. Formulation of Θ for Second Test Statistic
and for the second test statistic, can be formulated the same way as before, but for epochs. As the FMS corresponding to is generally small, for it is calculated as
where c is provided after Equation (40), but calculated with the minimum and maximum eigenvalues of . In this case,
Substituting for c and using Equation (30), it is evident that < 1. can be pre-determined for various . Since can be put in the form of a block diagonal matrix, it is sufficient to pre-calculate the inverse of for various . and its pre-calculated inverse are loaded into the program. With this, is appropriately formed at every for all visible satellites over epochs to . If a satellite q is visible for a shorter time during this interval, then part of corresponding to is recursively calculated starting from , following [50]. Satellite i is assumed to be visible for the longest duration over epochs. Hence, = minimum (or maximum) eigenvalue of . Next, the final form of test statistics and their thresholds are discussed.
5.1.4. Test Statistics and Thresholds
In this work, the third test formulated with all discarded terms of epochs before is not performed. The following subsection computes a bound on the contributions of the discarded terms to mean position error without requiring an FMS (or a corresponding test). Thus, Equation (3) is modified as
where j = 1, 2. Since is a block diagonal matrix with each block from an epoch, elements of the vector corresponding to an epoch are calculated at that epoch and then stacked along with those of other epochs. This eliminates unnecessarily large matrix multiplications.
With the designed and , fault detection thresholds, for and for , can be determined from the Chi square distribution with probability and DOF = , where is the dimension of the null space of . The number two is multiplied for the second term of Equation (43). If either exceeds or exceeds or both happen, a fault is declared. Calculation of the mean position error bounds is detailed next.
5.2. Mean Position Error Bounds under Faults
Changes to mean position error bound computation mentioned in Section 3.2 are explained in this subsection. Since the contribution of nonlinear measurement model (see Equations (6) and (7) and discussion after them) was found to be very small, it is not considered in this paper. Next, the three terms under the summation of Equation (7) are discussed for the vertical position error (VPE). Terms for horizontal position error (HPE) are changed accordingly. The mean position error, at time in the north-east-down (NED) frame is
where = , is the mean error of all estimated states and represents elements for the position states, = , = , . , and are Kalman gain, state transition and measurement model matrices of estimated SKF states, respectively. They are defined in Appendix B. = , where has rows one, three and five of matrix . is the ECEF to NED frame coordinate transformation matrix. N terms corresponding to two test statistics and discarded terms are separately grouped with under braces. Fault is assumed to have started at an epoch m and denoted by vector at . Up to two independent satellite faults are considered. As noted earlier, three or more faults are not monitored. Thus, for any two satellites and , , , , and all other elements of are zero. For SF cases, only satellite is assumed faulty. The vertical component of mean position error bound for under fault mode i, is calculated as follows.
5.2.1.
For a fault mode i (=), square of the maximum FMS [20] corresponding to the first test statistic with terms of M time epochs from k to is given by
where , the worst-case fault vector, maximizes the FMS. A pictorial depiction of FMS is provided in Figure 4.
Figure 4.
Illustration of FMS for a hypothetical two dimensional fault vector. The maximum FMS (FMS) for each ellipse is the same. The mean position error bound is the product of maximum FMS and .
For a DF mode in satellites and , is
where ‘×’ represents matrix multiplication operation. Although it is not evident, the number of visible satellites, n can vary across epochs. has the corresponding , , and terms from Equation (44). For a SF mode, elements for only satellite are considered.
It should be noted that for the HPE, first and second rows of and are used to form . is composed of the corresponding , , and terms. of Equation (45) is given as
where is formed with terms of of Equation (43) corresponding to faulty satellites of a fault mode. is a block diagonal matrix whose ℓth block is , and = . is a diagonal matrix with diagonal entries constituted from relevant terms of , ℓ = k (=), , …, (=), of Equation (43). is given by the square root of the maximum eigenvalue of , . Since is a diagonal matrix, requires the inverse of an matrix for SF cases and matrix for DF cases. Thus, the upper bound of mean VPE corresponding to for fault mode i is
where = . It is determined next corresponding to the allocated probability of missed detection for fault mode i, . for SF and DF modes is
where is the maximum number of visible satellites.
Using Equation (35), and putting pseudorange rate measurement error, in place of pseudorange rate innovations, for the same reason as that discussed before Equation (33), Equation (43) for is written as
Replacing with , and with
Similar to Equation (15)
Putting as ( is the matrix square root of ), and stacking for all relevant values of ℓ in
With known error covariance of pseudorange rate measurements, has unit-variance independent elements. Hence, its covariance is identity matrix. Since also consists of unit-variance independent elements (see before Equation (34)), the covariance of is . It was shown in the previous subsection that the eigenvalues of lie between zero and one. The error covariance of (=) denoted as is a block diagonal matrix. The first block is , and the second block is identity matrix. Thus, the maximum eigenvalue of , is unity. The minimum eigenvalue is greater than zero and equal to the minimum eigenvalue of . Although not considered in this paper, unknown error covariance of pseudorange rate measurements can be accommodated following [49]. If the mean of due to faults is represented as , then the probability of missed detection is given by
where stands for multi-variate Gaussian distribution, and V is the variable of integration. The square of magnitude of , , is , which is the same as under fault mode i (see after Equation (48)). Let the non-central Chi square distribution with non-centrality parameter and for some threshold have a probability , then ⩽ if [49]
If is obtained such that = , DOF = number of rows/columns of , and is calculated from Equation (56), then ⩽ . This value of is used in Equation (48). A look up table of is prepared for different values of and DOF using . It is justified in the beginning of Appendix D that increases with . Hence, pertaining to the entry in the look up table next higher than the calculated is considered. The bound on mean VPE for under fault mode i, is discussed next.
5.2.2.
is calculated in a similar way to that of . The major differences are as follows. First, it involves terms of epochs from to . is generally found to be higher than M. Therefore, for the calculation of of Equation (47), relevant rows of are identified corresponding to the fault mode and then multiplied with . This way, large matrix multiplications, which take longer time, are avoided. requires inverting an matrix for an SF mode and a matrix for a DF mode. In simulation studies with realistic error models for airborne users, this is not found to be a time intensive operation. This will be evident later with algorithm execution times.
Second, is pre-calculated using instead of the actual to avoid forming a large over epochs. of Equation (56) is also calculated with in the place of . In order to ensure that the corresponding is overbounded, the following is justified in Appendix D. For a given probability , increases with decreasing , and the calculated is lower than the actual value obtained with .
The third bound accounts for the contributions of all discarded terms before epoch to the mean position error. Since it remains the same for all fault modes, the fault mode index i is dropped from its subscript. It is presented next.
5.2.3.
As noted earlier, the third test with discarded terms has been eliminated in the current work. However, discarded terms may have an effect on current mean position error at , which should be bounded by . In this context, a pertinent question arises as to which faults should be considered for the bound. Suppose at a time epoch , corresponding to a fault detection test is equal to , which is determined from under fault mode i. Hence, for any fault under the same fault mode such that , the probability of missed detection is less than at . Positinon error due to this fault is not bounded at . It also need not be bounded at subsequent epochs. This is because if HMI occurs at due to this fault with missed detection probability less than , then bounding its contribution to position error at subsequent epochs holds little meaning. It can be explained with the help of the relative frequency approach of the probability theory. Thus, at bounds the contributions of faults with probability of missed detection more than the allocated probability corresponding to both and and all fault modes over all epochs from up to . It should be noted that , if obtained in a way similar to that of , would be too large and inflate the PL to a great extent. Therefore, is not determined this way. is [33]
For the HPE, the factor is modified to to include north and east components. is the maximum of all values of N up to . N at an epoch is determined in the following way for an asymptotically stable filter. At an epoch , the last matrix (see after Equation (44) for definition) with 2-norm larger than or equal to is identified. If the magnitude of N at is more than the index of that matrix, N is set to that index plus one. One is added to account for the new term at . All matrices with indices higher than updated are not considered anymore. On the other hand, if the index is the same as N at , N is only increased by one to include the new term at . All terms including matrices from epochs before are discarded or deleted from memory. Note that a small threshold is chosen to calculate N. A smaller value can also be chosen, but that will increase N. is an upper bound such that a discarded matrix cannot have a 2-norm outside the range of and zero after it is discarded. A computationally efficient algorithm to find at each epoch is provided in [33]. The denominator of Equation (57) results from an infinite geometric series with common ratio . Next, the maximum values of bias and bias rate, and , respectively from faults mentioned before Equation (57) are calculated differently in this paper as follows.
Each term of the preceding equation is obtained next. is the maximum of all s calculated for SF and DF modes corresponding to and over all epochs up to . Using = , and the fact that of in Equation (47) is a diagonal matrix, is
where the operator “min” denotes minimum over all terms provided below it or within parentheses next to it, and has all diagonal elements of a square matrix. It should be noted that the multiplication of two in of Equation (58) accounts for DF modes (i.e., faults in any two pseudorange rate measurements).
In order to determine , of in Equation (47) is used. If represents faults in only pseudorange measurements for a fault mode, then one can write
Multiplying and dividing on the left-hand side
Noting that the minimum value of is the minimum eigenvalue of , , (or ) is given by
It is apparent that for , the two need not be multiplied as includes DF. Next, the PLs are determined.
5.3. Protection Levels (PLs)
The VPL is determined in this subsection without assuming statistical independence between test statistics and position error. The HPL can also be calculated the same way. The probabilities of HMI for the vertical position under NF, SF and DF are , and , respectively. Their allocated values are provided in Section 3. If represents the absolute VPE, and is the VPL under NF, then by definition, is
Thus, is obtained by setting equal to .
For an SF mode, is given by
where is the number of SF modes, VPL is the VPL under SF, and is the prior probability of a satellite fault defined in Section 3. Representing the probability of missed detection for all SF modes as and following the same approach as before
s for and are determined such that ≤, and ≤, respectively (see after Equation (56)). is equal to . is the maximum value of . VPL is
where the operator “max” denotes maximum over all terms provided below it or within parentheses next to it. = . is the error standard deviation of the estimated vertical position.
Similarly for DF modes, the probability of missed detection, is
The corresponding s are also calculated for DF modes. The VPL for DF modes, VPL is
where = . = , where is the number of DF modes, and is its maximum value.
The final VPL is
6. Simulation Studies
Primary coverage area of NavIC over the Indian sub-continent is chosen for simulation studies in this paper. A UAV is assumed to fly at an altitude of 184 m above the WGS84 reference ellipsoid at speed 10 m/s with a constant heading of for 20 min. UAV speed, altitude and flying time chosen are commensurate with those of small unmanned aircraft [51]. The starting point of the flight path is varied from 0 to 40 N latitudes and 60 E to 105 E longitudes in steps of 1. There are a total of 1886 simulations, each of duration 20 min. Every 50 simulations, the start time is increased by 7.5 h. At a time, maximum twelve GPS satellites are simulated due to channel constraints of the simulation platform. Dual frequency GPS (L and L) and NavIC (L and S) measurements are generated for the UAV flight path. Error models of carrier smoothed pseudorange measurements are discussed in Section 4 while describing SKF. White noise covariance of pseudorange rate measurements is obtained from the tracking error of a second order frequency locked loop (FLL) for 45 dB-Hz C/N. The FLL is assumed to have a cross product discriminator, a coherent integration time of 10 ms and two-sided noise equivalent bandwidth of 4 Hz. Power spectral density of a temperature controlled crystal oscillator is considered for simulation of receiver clock error. Measurement update interval of both WLS and KF is one second.
VPLs and HPLs of the developed range-based KF RAIM algorithm are illustrated in Figure 5. Both GPS and NavIC constellations are considered. The geometric dilution of precision (GDOP) varies between 0.5 and 3.5. It is within for of the time as against 73.3% with GPS alone. For illustration purposes, PLs calculated every second are grouped into five bins, whose center points are indicated along the x-axis. Percentage of time along the y-axis is calculated as the ratio of the number of time instants at which the PL falls within a given range to the total number of time instants over all 1886 simulations times one hundred. KF VPL and HPL are within 40 m and of the time, respectively.
Figure 5.
Histogram plots of PLs of KF range-based RAIM, and time evolution of KF PLs for highest and lowest GDOP scenarios. “Lowest DOP with GPS” indicates GPS-only scenario.
Evolution of PLs with time are also plotted in Figure 5 for specific GPS plus NavIC and GPS-only cases. For clarity, only two scenarios are selected. They have highest and lowest GDOPs corresponding to dual constellations. With the lowest GDOP, PLs are reduced by about 5 m to 15 m when both constellations are used as compared to PLs for GPS alone. For the highest GDOP, PLs are hundreds of thousands of meters with standalone GPS (having five-six visible satellites). This is shown separately in Figure 6 along with PLs of KF solution separation RAIM, with the assumption of a single satellite fault. Although not shown, a few other high GDOP cases are studied and found to have similar performance with GPS. Thus, it can be concluded that improvements obtained by using NavIC alongside GPS are more significant in poor geometries. M and N terms of KF range-based RAIM for a simulation are illustrated in Figure 7. They are of the same order in all simulations.
Figure 6.
KF PLs with standalone GPS for scenario having the highest GDOP with dual constellations, assuming only single satellite fault.
Figure 7.
Numbers of M and N terms of range-based KF RAIM for a simulation.
Having shown the PLs of range-based KF RAIM, its performance is compared against WLS range-based RAIM and KF solution separation RAIM using both constellations. Figure 8 depicts comparison results. Range-based KF RAIM has VPL within 3 to 11 m of that of range-based WLS RAIM of the time and HPL within −1 to 11 m of the time. Its VPL, on the other hand, is within −3 to 11 m of that of its solution separation counterpart of the time, and HPL is within −3 to 11 m of the time. Using a vertical alert limit of 50 m and horizontal alert limit of 40 m, availability of the three algorithms is shown in Table 1. Availability is calculated as the percentage of simulations, in which the PL is below the corresponding alert limit for the whole duration of 20 min. PL depends on both and , for which no proper values have yet been fixed for UAV applications. Thus, availability can only be treated as another way of comparing algorithm performances.
Figure 8.
Performance comparison of all integrity algorithms over all simulations with GPS and NavIC. SS stands for solution separation. Along the x-axis, the difference between the center points of any two adjacent bins is 2 m.
Table 1.
RAIM availability in percentage with GPS and NavIC.
It is apparent from the table that the two existing algorithms offer higher availability than range-based KF RAIM. It is observed that its PL sometimes exhibits an instantaneous change when a satellite sets or rises. If such a change can be smoothed out by some method, its availability would increase to 98.46% in the vertical direction and 98.89% in the horizontal direction. This will be carried out in future work.
All 1886 simulations were run in MATLAB on a DELL core i7-8700 (CPU @ 3.2 GHz) computer with a Linux operating system, and with 16 GB RAM and 20 GB swap memory. WLS range-based RAIM took 11 h to complete all simulations. Range-based KF RAIM algorithm needed 3 days and 16 h whereas KF solution separation RAIM required 9 days. In order to see execution times of the algorithms on a low end computer, time needed by them for a simulation on an IBM Thinkpad laptop is also noted. The laptop has Linux operating system, core 2 duo processor (CPU @ 2 GHz), 1 GB RAM and 2 GB swap memory. The three algorithms needed 20 s, 600 s and 1521 s, respectively, for a 20-min (1200 s) run. Time includes that needed for running the navigation filter as well. A few other simulations also took similar times. MATLAB tic and toc functions are used to record execution times.
Based on the above performance analyses, it can be concluded that WLS has the lowest execution time. However, since WLS is not preferred in advanced navigation methods, as noted earlier, KF-based RAIM algorithms are essential to ensuring reliability of such systems. Of the two KF algorithms, solution separation RAIM provides lower PLs, but has a much higher computational load. The computational burden can be reduced by fault grouping at the expense of inflated PLs [28].
Range-based KF RAIM, on the other hand, offers satisfactory performance to a certain extent with moderate computational resources, thereby having potential for real-time implementations. Its comparatively large PL is partially attributed to the fact that SKF is sub-optimal in nature for not estimating the GM states. SKF formulation is necessary for reasons discussed earlier. It allows the formation of more than one test statistic using innovation terms of a finite number of epochs and a separate FMS for each statistic. This prevents the PL from growing with time, which is considered a major challenge with KF RAIM in the range domain. There may be some scope of fine tuning the algorithm further for lower PLs, which will be attempted in the future.
7. Conclusions
A novel range domain KF RAIM algorithm is presented in this paper, building upon previous work of the authors. Major changes in the current algorithm include modeling time correlated errors of the pseudorange measurements and accounting for multi-satellite failures. The integrity monitoring performance of the developed algorithm is studied for a UAV trajectory with GPS and NavIC over the primary coverage area of the latter. It is shown that both WLS range-based and KF solution separation RAIM algorithms outperform the new method. However, WLS RAIM has limitations in that it is not ideal for advanced navigation systems. KF solution separation RAIM, on the other hand, offers lower PLs than the range-based KF algorithm, but with a much higher computational load. PLs of range-based KF RAIM are within 10 m of those of KF solution separation RAIM at least 95% of the time. Due to its low execution times, range-based KF RAIM shows promise for real-time implementations in avionics. It also has potential for extensions to advanced methods such as vector receivers, where running parallel vector loop filters for solution separation RAIM would be prohibitively expensive. Further, simulation results indicate that addition of NavIC alongside GPS can substantially improve RAIM performance, particularly in poor geometries.
Future extensions of the current work include extensive testing of RAIM for various geometries with GPS and NavIC over the latter’s primary and secondary coverage areas for different dynamic scenarios. A suitable error model also needs to be developed for NavIC and validated with real satellite data. The error model will be used for experimental validation of the RAIM algorithms. In addition, it is important to take into account constellation-wide faults for integrity monitoring with multiple constellations. While this has been addressed in the literature for solution separation or ARAIM, a suitable methodology has to be devised for range-based RAIM. It is noted that the developed KF RAIM algorithm at times exhibits an instantaneous change in PL when satellite visibility changes. This should be smoothed out with appropriate modifications. Fine tuning of the algorithm will also be attempted to reduce PLs. Effects of different and on the proposed method will be investigated. Moreover, the algorithm should be able to deal with unknown error covariances. Its performance in poor signal environments also warrants further studies. Extending the developed KF RAIM to sensor integration and vector tracking is another important area that needs to be explored in depth.
Supplementary Materials
The following are available online at https://www.mdpi.com/1424-8220/20/22/6606/s1, matlab_prog_figures_3_A1.m: Matlab program to reproduce Figure 3 and Figure A1; matlab_prog_min_lambda_theta.m: Matlab program to show that the calculated for is less than its actual value. For this, please see the last paragraph of Appendix D.
Author Contributions
Conceptualization, S.B.; data curation, D.M.; funding acquisition, S.B.; software, S.B. and D.M.; writing—original draft, S.B. and D.M. Both authors have read and agreed to the published version of the manuscript.
Funding
This work was supported by Space Applications Centre, Ahmedabad, Indian Space Research Organisation (grant number STC0225).
Conflicts of Interest
The authors declare no conflict of interest.
Appendix A. Solution Separation KF RAIM
Key equations of solution separation KF RAIM are provided here. The position error bounds, for north, east and down components for NF, SF and DF modes are given by [27]
where h = 1, 2 and 3, denote north, east and down components, respectively. Q is the tail probability of zero mean unit normal distribution given by , and is its inverse. “0” represents NF condition. i (or j) denotes a fault mode with the corresponding EKF using a subset of all measurements. The subset is determined by excluding one (or two) satellite(s) assumed faulty in the fault mode. (or ) is the corresponding standard deviation for north, east or down component of position. is the standard deviation for all-in-view case when no satellites are assumed faulty. is the number of single-satellite fault modes. is the number of dual-satellite fault modes. (or ) is the fault detection threshold for fault mode i (or j). The HPL and VPL are given by
The threshold for a fault mode i (SF) or j (DF) is
where is the total number of fault modes. PLs are calculated when test statistic is less than respective threshold ∀i, j. represents the absolute value. is the ith or jth subset filter estimate, with h = 1, 2 and 3 for north, east and down components of position, respectively. denotes the corresponding all-in-view estimate. In this context, it should be noted that a change is made to Equation (A4). It is found that the term of the equation results in the test statistics crossing their respective thresholds a few times even in no fault scenarios, which is not statistically consistent. Therefore, it is changed to to overbound the distribution.
Appendix B. SKF Process and Measurement Models and Key Equations
The process and linearized measurement models of (=) for SKF are
where the subscript “s” is for estimated states. Subscript “p” represents GM states, which are not estimated in SKF and treated as “consider” parameters. is the state transition matrix of and linear for position and velocity vectors expressed in ECEF [52]. , = measurement update interval = 1 s. is the inverse of time constant of the GM process. It is 100 s (smoothing interval of carrier smoothed pseudorange measurements). denotes process noise vector at , which is distributed as Gaussian with zero mean and covariance . is the measurement noise vector assumed to be Gaussian distributed with zero mean and covariance . and are given by
is determined based on prior information about user dynamics and receiver clock power spectral density. is a diagonal matrix. Its ith diagonal term is given by so that the standard deviation of the ith GM state is equal to at steady state. In , a small variance of is used for pseudorange measurements to avoid numerical issues with the SKF implementation. When a satellite sets or a new satellite comes into visibility, the variance is increased to for 10 s to deal with transients. is the pseudorange rate error covariance matrix whose diagonal terms are appropriately chosen for a C/N of 45 dB-Hz. The measurement model matrix is defined in [52]. It has additional columns for receiver clock bias and drift of NavIC, in addition to those for GPS. = . Its dimension is provided in the subscript. The a priori error covariance matrix and Kalman gain can be partitioned for estimated states and “consider” parameters as
it should be noted that zero rows of the Kalman gain matrix correspond to GM states . The a posteriori error covariance is given by
is given by . A numerically stable forward recursive modified rank-one update algorithm to find is implemented in this paper, following [43]. Its derivation can be found in [48]. is derived from , and also recursively calculated. Time update steps are the same as those of an EKF. The measurement update equation of SKF is given by
Since GM states are initialized to zero, they always remain zero in the SKF implementation.
Appendix C. Algorithm to Find Θ for α 1
The algorithm to find is described next.
| Algorithm A1: Determination of for |
| % Add/remove previous epoch terms as needed in so that it consists of terms of % epochs excluding current epoch k. This accounts for change in M at every epoch. % Reference [50] details a computationally efficient algorithm of how to update the inverse of % a matrix, if a number of rows and columns of the matrix are removed. This is used when M % reduces at k. For addition of terms when M increases, part of the steps described next is % used to update after minor modifications. Based on the updated , is found as % follows. % Form (i.e., rows of for the current epoch) index = 1 % Set a flag for condition check c = 0.05 % Set initial c as 0.05 factor = 9 % It is used to find c = 1.5 % Set to a value greater than one while ( > 1) if (index == 1) % Find by adding current epoch terms; is partitioned as = + = = = inv( = = = inv() % Find the inverse of = − = + = % Use the matrix inversion lemma index = 0 % If maximum eigenvalue is still greater than one, do not enter here else % Algorithm under if condition generally does not work when the number of satellites % changes at k % Hence, the following algorithm is used to find then c = ( + )/factor % Calculate c again for index1 = 1:length(vis_sat_info) % vis_sat_info holds all visible PRN IDs % over M epochs % Find epochs over which PRN(index1) is visible. Suppose the number % of epochs is = inv % Dimension is . See before Equation (30) for the % definition of for satellite i % Place elements of in appropriate entries of corresponding to PRN(index1) end % end of for index1 = 1:length(vis_sat_info) end % end of if(index == 1) factor = factor - 0.2 % Update factor to calculate a new c % Calculate with new end % end of while( > 1) |
The preceding algorithm always results in a because there is a value of c for which < 1 (see after Equation (40)). The corresponding value of the variable “factor” is . Since is generally much greater than , the corresponding “factor” is greater than, but close to one. “factor” is started with a value greater than one, and reduced in steps of 0.2 to ensure that c is as small as possible. However, the step size cannot be very small because it will increase the number of iterations. It should also be noted that irrespective of the number of visible satellites, the dimension of the matrix to be inverted does not exceed .
Appendix D. Justification That Γ is Overbounded for
First, it is proved that increases as decreases. Following Equation (56), for a given and , probability of the non-central Chi square distribution decreases as increases with . It is proved in [53] that increases with for a given and . Therefore, vs. curves are decreasing in nature for a given and , and shift upwards as the parameter increases. This implies that increases with (i.e., decreasing ) for a given .
Second, it is justified that the calculated for is lower than its actual value. From discussions before Equations (37) and (55), it is evident that the actual is equal to . Next, it is briefly shown that > , where for and . The minimum eigenvalue of is
if and are related as = + , then substituting for and , can be shown to be
where = , and the maximum eigenvalue of is . For of between and , has elements lower than 0.08. Next, is simulated five thousand times for each (number of epochs for ) with uniformly random between and , and is varied from 1 to 150. With the simulated Figure A1 justifies that
Hence,
By definition, = and = 1. Next, it was found through simulations that the minimum eigenvalue of is greater than that of . The MATLAB code to validate this is provided in the Supplementary Materials (see matlab_prog_min_lambda_theta.m). Thus, the multiplication of preserves the inequality of the preceding equation. The calculated for is the minimum eigenvalue of instead of the actual one (i.e., minimum eigenvalue of = ). Therefore, the calculated is lower than its actual value, as desired.
Figure A1.
Comparison of and with different . Lower and upper limits are shown ∀ = and = , respectively. This figure can be regenerated for with the Matlab program, matlab_prog_figures_3_A1.m provided in the Supplementary Materials.
References
- US Govt. GPS Applications. Available online: http://www.gps.gov/applications (accessed on 5 November 2020).
- ESA. 2019 GNSS Market Report. Available online: https://www.gsa.europa.eu/system/files/reports/market_eport_issue_6_v2.pdf (accessed on 5 November 2020).
- Rife, J.; Pullen, S. Aviation applications. In GNSS Applications and Methods, 1st ed.; Gleason, S., Gebre-Egziabher, D., Eds.; Artech House: Norwood, MA, USA, 2009; pp. 245–267. [Google Scholar]
- Blanch, J.; Walter, T.; Enge, P.; Wallner, S.; Fernez, F.A.; Dellago, R.; Ioannides, R.; Hernez, I.F.; Belabbas, B.; Spletter, A.; et al. Critical elements for a multi-constellation advanced RAIM. Navig. J. Inst. Navig. 2013, 60, 53–69. [Google Scholar] [CrossRef]
- Yunfeng, Z.; Yongrong, S.; Wei, Z.; Ling, W. A Novel relative navigation algorithm for formation flight. Proc. Inst. Mech. Eng. Part G J. Aero. Eng. 2019, 234, 308–318. [Google Scholar] [CrossRef]
- Krasuski, K.; Wierzbicki, D. Monitoring aircraft position using EGNOS data for the SBAS APV approach to the landing procedure. Sensors 2020, 20, 1945. [Google Scholar] [CrossRef] [PubMed]
- Vetrella, A.R.; Fasano, G.; Renga, A.; Accardo, D. Cooperative UAV Navigation Based on Distributed Multi-Antenna GNSS, Vision, and MEMS Sensors. In Proceedings of the International Conference on Unmanned Aircraft Systems (ICUAS), Denver, CO, USA, 9–12 June 2015; pp. 1128–1137. [Google Scholar]
- Chen, J.; Li, S.; Liu, D.; Li, X. AiRobSim: Simulating a multisensor aerial robot for urban search and rescue operation and training. Sensors 2020, 20, 5223. [Google Scholar] [CrossRef] [PubMed]
- Isik, O.K.; Hong, J.; Petrunin, I.; Tsourdos, A. Integrity analysis for GPS-based navigation of UAVs in urban environment. Robotics 2020, 9, 66. [Google Scholar] [CrossRef]
- 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]
- 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]
- Lashley, M. Modeling and Performance Analysis of GPS Vector Tracking Algorithms. Ph.D. Thesis, Auburn University, Auburn, AL, USA, 2009. [Google Scholar]
- Veth, M.; Anderson, R.C.; Webber, F.; Nielsen, M. Tightly-coupled INS, GPS, and Imaging Sensors for Precision Geolocation. In Proceedings of the 2008 National Technical Meeting of the Satellite Division of the Institute of Navigation, San Diego, CA, USA, 23–26 April 2008; pp. 487–496. [Google Scholar]
- Lashley, M.; Bevly, D.M.; Hung, J.Y. Performance analysis of vector tracking algorithms for weak GPS signals in high dynamics. IEEE J. Sel. Top. Signal Proc. 2009, 3, 661–673. [Google Scholar] [CrossRef]
- Soloviev, A.; Gunawardena, S.; Van Graas, F. Deeply integrated GPS/low cost IMU for low CNR signal processing: Concept description and in-flight demonstration. Navig. J. Inst. Navig. 2008, 55, 1–13. [Google Scholar] [CrossRef]
- Xie, F.; Liu, J.; Li, R.; Jiang, B.; Qiao, L. Performance analysis of a federated ultra-tight global positioning system/inertial navigation system integration algorithm in high dynamic environments. Proc. Inst. Mech. Eng. Part G J. Aerosp. Eng. 2014, 229, 56–71. [Google Scholar] [CrossRef]
- Du, H.; Wang, W.; Xu, C.; Xiao, R.; Sun, C. Real-time onboard 3D state estimation of an unmanned aerial vehicle in multi-environments using multi-sensor data fusion. Sensors 2020, 20, 919. [Google Scholar] [CrossRef]
- Parkinson, B.W.; Axelrad, P. Autonomous GPS integrity monitoring using the pseudorange residual. Navig. J. Inst. Navig. 1986, 35, 255–274. [Google Scholar] [CrossRef]
- Walter, T.; Enge, P. Weighted RAIM for Precision Approach. In Proceedings of the 8th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GPS 1995), California, CA, USA, 12–15 September 1995; pp. 1995–2004. [Google Scholar]
- Angus, J.E. RAIM with multiple faults. Navig. J. Inst. Navig. 2007, 53, 249–257. [Google Scholar] [CrossRef]
- Walter, T.; Enge, P.; Blanch, J.; Pervan, B. Worldwide vertical guidance of aircraft based on modernized GPS and new integrity augmentations. Proc. IEEE 2008, 26, 1918–1935. [Google Scholar] [CrossRef]
- Joerger, M.; Gratton, L.; Pervan, B.; Cohen, C.E. Analysis of iridium-augmented GPS for floating carrier phase positioning. Navig. J. Inst. Navig. 2010, 57, 137–160. [Google Scholar] [CrossRef]
- Lee, Y.C. New advanced RAIM with improved availability for detecting constellation-wide faults using two independent constellations. Navig. J. Inst. Navig. 2013, 60, 71–83. [Google Scholar] [CrossRef]
- 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]
- El-Mowafy, A. Advanced receiver autonomous integrity monitoring using triple frequency data with a focus on treatment of biases. Adv. Space Res. 2017, 59, 2148–2157. [Google Scholar] [CrossRef]
- Brenner, M. Integrated GPS/inertial fault detection availability. Navig. J. Inst. Navig. 1996, 43, 111–130. [Google Scholar] [CrossRef]
- Gunning, K.; Blanch, J.; Walter, T.; de Groot, L.; Norman, L. Design and Evaluation of Integrity Algorithms for PPP in Kinematic Applications. In Proceedings of the 31st International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2018), Miami, FL, USA, 24–28 September 2018; pp. 1910–1939. [Google Scholar]
- Blanch, J.; Gunning, K.; Walter, T.; De Groot, L.; Norman, L. Reducing Computational Load in Solution Separation for Kalman Filters and an Application to PPP Integrity. In Proceedings of the 2019 international technical meeting (ION ITM 2019), Reston, VI, USA, 28–31 January 2019; pp. 720–729. [Google Scholar]
- Joerger, M.; Pervan, B. Kalman filter-based integrity monitoring against sensor faults. J. Guid. Control Dyn. 2013, 36, 349–361. [Google Scholar] [CrossRef]
- Bhattacharyya, S.; Gebre-Egziabher, D. Integrity monitoring with vector GNSS receivers. IEEE Trans. Aerosp. Electron. Syst. 2014, 50, 2779–2793. [Google Scholar] [CrossRef]
- Bhattacharyya, S.; Gebre-Egziabher, D. Kalman filter-based RAIM for GNSS receivers. IEEE Trans. Aerosp. Electron. Syst. 2015, 51, 2444–2458. [Google Scholar] [CrossRef]
- Navarro, P. Computing Meaningful Integrity Bounds of a Low-Cost Kalman-Filtered Navigation Solution in Urban Environments. In Proceedings of the 28th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2015), Tampa, FL, USA, 14–18 September 2015; pp. 2914–2925. [Google Scholar]
- 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]
- Tanıl, Ç; Khanafseh, S.; Joerger, M.; Pervan, B. An INS monitor to detect GNSS spoofers capable of tracking vehicle position. IEEE Trans. Aerosp. Elect. Syst. 2018, 54, 131–143. [Google Scholar]
- Tanil, C.; Khanafseh, S.; Joerger, M.; Pervan, B. Sequential Integrity Monitoring for Kalman Filter Innovations-Based Detectors. In Proceedings of the 31st International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2018), Miami, FL, USA, 24–28 September 2018; pp. 2440–2455. [Google Scholar]
- Tanıl, C.; Air, A.P.; Khanafseh, S.; Joerger, M.; Kujur, B.; Kruger, B.; de Groot, L.; Intelligence, H.P.; Pervan, B. Optimal INS/GNSS Coupling for Autonomous Car Positioning Integrity. In Proceedings of the 32nd International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2019), Miami, FL, USA, 16–20 September 2019; pp. 3123–3140. [Google Scholar]
- Gunning, K.; Blanch, J.; Walter, T.; de Groot, L.; Norman, L. Integrity for Tightly Coupled PPP and IMU. In Proceedings of the 32nd International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2019), Miami, FL, USA, 16–20 September 2019; pp. 3066–3078. [Google Scholar]
- 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] [PubMed]
- Fan, G.; Xu, C.; Zhao, J.; Zheng, X. A distribution model of the GNSS code noise and multipath error considering both elevation angle and orbit type. Proc. Inst. Mech. Eng. Part G J. Aerosp. Eng. 2018, 233, 1900–1915. [Google Scholar] [CrossRef]
- 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 16 November 2020).
- Dan, S.; Santra, A.; Mahato, S.; Bose, A. NavIC performance over the service region: Availability and solution quality. Sadhana 2020, 45, 1–7. [Google Scholar] [CrossRef]
- Walter, T.; Blanch, J.; Gunning, K.; Joerger, M.; Pervan, B. Determination of fault probabilities for ARAIM. IEEE Trans. Aerosp. Elect. Syst. 2019, 55, 3505–3516. [Google Scholar] [CrossRef]
- Zanetti, R.; D’Souza, C. Recursive implementations of the Schmidt-Kalman ‘consider’ filter. J. Astronaut. Sci. 2013, 60, 672–685. [Google Scholar] [CrossRef]
- Federal Aviation Administration. Airborne Supplemental Navigation Equipment Using the Global Positioning System. Report, Technical Standard Order (TSO) C-129; Technical Report; Federal Aviation Administration: Washington, DC, USA, 1992.
- McGraw, G.A.; Murphy, T.; Brenner, M.; Pullen, S.; Van Dierendonck, A.J. Development of LAAS Accuracy Models. In Proceedings of the 13th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GPS 2000), Salt Lake City, UT, USA, 19–22 September 2000; pp. 1212–1223. [Google Scholar]
- Federal Aviation Administration. Global Positioning System Wide Area Augmentation System (WAAS) Performance Standard. Report, 20; USA. 2008. Available online: https://www.gps.gov/technical/ps/#waasps (accessed on 16 November 2020).
- RTCA Inc. RTCA SC-159. Minimum Operational Performance Standards for Global Positioning System/Satellite- Based Augmentation System Airborne Equipment; Technical Report; RTCA Inc.: Washington, DC, USA, 2013. [Google Scholar]
- Thorton, C. Triangular Covariance Factorizations for Kalman Filtering. NASA Technical Memorandum 33-798; Jet Propulsion Laboratory: La Cañada Flintridge, CA, USA, 1976; pp. 19–24.
- Rife, J. Comparing performance bounds for Chi-square monitors with performance uncertainty. IEEE Trans. Aerosp. Electron. Syst. 2015, 51, 2379–2389. [Google Scholar] [CrossRef]
- Juárez-Ruiz, E.; Cortés-Maldonado, R.; Pérez-Roriguez, F. Relationship between the inverses of a matrix and submatrix. Comput. Y Sist. 2016, 20, 251–262. [Google Scholar] [CrossRef]
- Jeffrey, D.B. Fundamentals of small unmanned aircraft flight. John Hopkins APL Tech. Digest 2012, 31, 132–149. [Google Scholar]
- Groves, P.D. GNSS: User equipment processing and errors. In Principles of GNSS, Inertial, and Multisensor Integrated Navigation Systems, 2nd ed.; Artech House: Boston, MA, USA, 2013; pp. 349–430. [Google Scholar]
- 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]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).