1. INTRODUCTION
The integration of inertial navigation system (INS) and global navigation satellite system (GNSS) can achieve a superior performance to either of them operating alone due to their good complementary characteristics. The INS/GNSS integration can be briefly classified as loosely-coupled, tightly-coupled and deeply-coupled (Gautier and Parkinson, Reference Gautier and Parkinson2003). Compared with the loosely-coupled approach, the tightly-coupled strategy uses the raw pseudorange measurements directly and can work when the number of visible satellites drops to below four, therefore it has better precision and fault tolerance ability (Hu et al., Reference Hu, Gao and Zhong2015; Li et al., Reference Li, Gao, Wang and Yao2017). The integration cannot always offer reliable and accurate navigation information, however, due to the faulty observations of navigation sensors (Alqurashi and Wang, Reference Alqurashi and Wang2015). As a self-contained system, INS is immune to jamming as well as interference (Bhatti et al., Reference Bhatti, Ochieng and Feng2012); hence, it is usually considered as the common reference system and assumed to be absolutely reliable. GNSS measurements are easily interfered with and may contain fault errors. There are many types of fault associated with GNSS/INS integrated architectures (Bhatti and Ochieng, Reference Bhatti and Ochieng2007), which are mainly divided into two types: the abrupt fault and gradual fault, and the gradual fault is the most difficult to detect among all fault modes. If the fault is not promptly diagnosed, the whole navigation system will be polluted by the faulty measurements and the navigation precision will degrade (Zhao et al., Reference Zhao, Wang, Zhang, Fan and Min2013). Therefore, it is necessary to carry out real-time fault detection to ensure the reliability and precision of the integrated navigation system (Bruggemann et al., Reference Bruggemann, Greer and Walker2011).
In the field of integrated navigation system fault detection, the chi-square detection method, which belongs to the analytical redundancy category and involves less calculation, is the classic method which is widely used (Abuhashim et al., Reference Abuhashim, Abdel-Hafez and Al-Jarrah2010; Joerger and Pervan, Reference Joerger and Pervan2013; Yang et al., Reference Yang, Mohammadi and Chen2016). Brumback and Srinath (Reference Brumback and Srinath1987) proposed a chi-square test based on the difference of the two state estimates for fault detection in Kalman filters. An integrity and quality control procedure using recursive filtering and residual chi-square test was investigated by Teunissen (Reference Teunissen1990). Compared with the state chi-square detection method, the residual chi-square detection method can detect an abrupt fault in time with a small amount of computation, but it does not work well in the detection of gradual faults (Liu et al., Reference Liu, Xu, Liu, Zhang, Li, Yao, Wu and Tong2016). Based on the chi-square distribution test, the autonomous integrity monitoring by extrapolation (AIME) method, in which the measurements used are not limited to a single epoch, was proposed for detecting gradual faults (Diesel and Luu, Reference Diesel and Luu1995). Multiple solutions separation (MSS) is another effective integrity monitoring method which uses the difference between the main filter solution and the subfilter solution to determine the test statistic (Brenner, Reference Brenner1995; Call et al., Reference Call, Ibis, McDonald and Vanderwerf2006), and it is a snapshot method, like residual chi-square detection. The performance of MSS and AIME for gradual fault monitoring were tested and the analysis revealed that both methods had advantages and disadvantages (Lee and O'Laughlin, Reference Lee and O'Laughlin2000). MSS guarantees satisfactory detection performance on the basis of theory, but it has a heavy calculation burden due to the design of large numbers of filters. AIME can achieve significantly higher availability, however, there is no good way to confirm the detection performance of the extrapolation method based on theory. A new rate detector algorithm based on AIME is developed and the test results show that the rate detector algorithm has better detection performance than AIME and MSS for gradual faults (Bhatti et al., Reference Bhatti, Ochieng and Feng2012).
With the development of computing technology in recent years, artificial intelligence has attracted more attention and has been applied in fault detection. A novel data-driven adaptive neuron fuzzy inference system (ANFIS)-based approach is presented for the detection of on-board navigation sensor faults in Unmanned Aerial Vehicles (UAVs) (Sun et al., Reference Sun, Cheng, Wang and Ochieng2017). Zhu et al. (Reference Zhu, Cheng and Wang2016) proposed a novel fault detection method based on Gaussian process regression to improve the fault detection performance of the residual chi-squared test for gradual faults. Approaches based on least squares support vector machine (LS-SVM) have been proposed and investigated for detecting faults in INS/GPS integration (Chen et al., Reference Chen, Wang, Niu, Ren and Qu2014; Zhong et al., Reference Zhong, Liu, Li and Wang2017). However, artificial intelligence-based methods always involve a large amount of calculation, which will result in a heavy calculation burden on the navigation computer (Liu et al., Reference Liu, Xu, Liu, Zhang, Li, Yao, Wu and Tong2016).
Besides, the above methods mainly evaluate the performance and quality of the integrated system at the system or sensor level (Bhatti et al., Reference Bhatti, Ochieng and Feng2007; Zhong et al., Reference Zhong, Guo and Yang2016). When the fault is detected, usually the faulty subsystem is isolated and the one-step prediction of the Kalman filter is used for state estimation, which results in the waste of useful measurements and the degradation of filter precision and the sensitivity of the fault detection method. An improvement is to conduct a local measurement test after the global test. If the global test is rejected, then the system measurement fault can be identified by the local test (Wang et al., Reference Wang, Lachapelle and Cannon2004; Hewitson and Wang, Reference Hewitson and Wang2010). However, this scheme is effective only for large faults, the fault detection and isolation performance for small faults needs to be enhanced.
Apart from fault detection, robust estimation is another way to improve the precision and reliability of the integrated navigation system. There are many different kinds of robust filter methods, but the core idea of all of them is adaptively adjusting the measurement noise covariance matrix to reduce the weight of the faulty measurement (Gandhi and Mili, Reference Gandhi and Mili2010; Chang et al., Reference Chang, Hua and Chang2013; Jiang et al., Reference Jiang, Zhang and Zhang2016, Reference Jiang, Li and Rizos2017). However, robust estimation can reduce the weight of the outlier but not eliminate the influence of the outlier on the filter precision, and its performance depends to a great degree on the selection of the weight matrix (Yang and Gao, Reference Yang and Gao2005).
In practical application, the value of a fault is not always large; both small faults and gradual faults often occur. Based on the above analysis, taking the requirement of real-time performance and the extensive application of residual chi-square detection into consideration, the residual chi-square detection method is selected as the research object in this paper and its detection performance is analysed theoretically. On this basis, to ensure the reliability and precision of tightly-coupled INS/GNSS integration, an improved fault detection method is proposed, which combines the advantage of fault detection and robust estimation. The local test is conducted on each dimensional measurement directly to detect and identify the faulty observation. Differing from the traditional method, the weight function with two thresholds is selected and a weight factor is added to the measurement noise covariance to adjust the filter gain matrix adaptively, which could reduce the influence of the small size of a fault on the fault detection performance to some degree. To further improve the fault detection performance, a sliding window test based on the past measurement is added. The principle of the sliding window test is analysed and its superiority to the traditional method in the sensitivity of fault detection is proved in theory. Finally, a strategy is proposed for the local test to be adaptively adjusted between the sliding window test and the traditional local test. This strategy can improve the fault detection performance for small faults without imposing too much of a calculation burden.
The rest of this paper is organised as follows. The principle of residual chi-square detection method is introduced and its fault detection performance is analysed in Section 2. Section 3 describes the proposed fault detection method. Simulation results and analysis are shown in Section 4. Finally, conclusions are drawn in Section 5.
2. RESIDUAL CHI-SQUARE DETECTION METHOD
2.1. Principle of residual chi-square detection method
The linear discrete time varying system model can be described as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn1.png?pub-status=live)
where $\boldsymbol{X}_{k} $ is the state vector,
$\boldsymbol{\varPhi}_{k, k-1} $ is the transition matrix,
$\boldsymbol{\varGamma}_{k, k-1} $ is the coefficient matrix,
$\boldsymbol{Z}_{k}$ represents the measurement vector,
$\boldsymbol{H}_{k}$ is the measurement model matrix.
$\boldsymbol{W}_{k}$ is the process noise which is commonly assumed as a zero-mean Gaussian white noise with covariance matrix
$\boldsymbol{Q}_{k}$ and
$\boldsymbol{V}_{k} $ is the measurement noise which is commonly assumed as a zero-mean Gaussian white noise with covariance matrix
$\boldsymbol{R}_{k} $.
$\boldsymbol{W}_{k}$ and
$\boldsymbol{V}_{k}$ are independent.
One-step prediction of the state in the Kalman filter is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn2.png?pub-status=live)
The residual vector is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn3.png?pub-status=live)
The covariance of the residual vector is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn4.png?pub-status=live)
When no fault occurs, the residual vector is white noise and its mean is $\boldsymbol{\it 0}$. If the measurement vector contains fault, the statistical characteristics of the residual will change, and its mean is no longer equal to
$\boldsymbol{\it 0}$. Define two hypotheses, the null hypothesis H0 and the alternative hypothesis H1.
H0 denotes no fault and can be expressed as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn5.png?pub-status=live)
H1 denotes the existence of fault and can be given by
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn6.png?pub-status=live)
where $\boldsymbol{\mu}$ is the mean of
$\boldsymbol{v}_{k}$.
Then, the fault detection function is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn7.png?pub-status=live)
where Λk obeys the χ2 distribution and its degree of freedom is the dimension of observations vector $\boldsymbol{Z}_{k}$. Under the null hypothesis,
$\Lambda_{k} \sim \chi ^{2} ( 0, \; n) $, under the alternative hypothesis,
$\Lambda _{k} \sim \chi^{2} ( \sigma, \; n) $, where σ is the non-centrality parameter and can be obtained as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn8.png?pub-status=live)
The fault detection criteria are
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn9.png?pub-status=live)
where T d is the threshold and determines the performance of the fault detection method. According to the Neyman–Pearson criterion, when the false alarm rate is defined as α, the threshold T d can be worked out through solving the equation $P[ \Lambda _{k} > T_{d} /\hbox{H}_{0}] =\alpha $, and this will minimise the missed detection rate.
2.2. Performance analysis of residual chi-square detection method
Residual chi-square detection is a global detection method for all the filter measurements at time k. To analyse the performance of the residual chi-square detection method, the concept of a minimal detectable bias (MDB) is introduced. The MDB is defined as the model error that can just be detected with the detection method (Yang et al., Reference Yang, Knight, Li and Rizos2013; Teunissen, Reference Teunissen2017).
First, the case in which a fault occurs on only one dimension measurement is considered. If it is assumed that the fault occurs on the ith measurement, then the measurement model can be written as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn10.png?pub-status=live)
where ∇ is the fault in the ith observation, and $l_{i} = ( 0, \; 0, \; \cdots, \; 1, \; \cdots, \; 0) ^{T}$ is the unit vector with the ith element equal to one, when the residual vector is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn11.png?pub-status=live)
which has the expectation:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn12.png?pub-status=live)
Then the non-centrality parameter of fault detection function is
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn13.png?pub-status=live)
where $P_{vk \ ii}^{-1}$ is the ith diagonal element of covariance matrix
$\boldsymbol{P}_{vk}^{-1}$.
Assume the conditional probability density function under the null hypothesis H0 and the alternative hypothesis H1 are $p( \Lambda /\hbox{H}_{0}) $ and
$p( \Lambda /\hbox{H}_{1}) $. The false alarm rate is defined as α and the missed detection rate is defined as β, the non-centrality parameter σ is the function of α and β, and their relationship can be shown as in Figure 1.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_fig1.png?pub-status=live)
Figure 1. Rates of false alarm and missed detection of residual chi-square method.
From Figure 1, α and β can be expressed as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn14.png?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn15.png?pub-status=live)
Combining the above two equations, the non-centrality parameter σ can be given by
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn16.png?pub-status=live)
The MDB for the ith observation can then be obtained according to Equations (13) and (16).
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn17.png?pub-status=live)
If a fault occurs on multiple dimensions of measurements at the same time, assume that the fault vector is $\nabla = ( {\nabla _{1}, \; \nabla _{2}, \; \cdots, \; \nabla _{i}, \; \cdots, \; \nabla _{n} }) ^{T}$, where ∇i is the fault value in the ith observation; if there is a fault,
$\nabla_{i} \ne\ 0$, otherwise ∇i = 0. The corresponding coefficient matrix is
$\boldsymbol{L}$. Under this case, the non-centrality parameter σ can be written as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn18.png?pub-status=live)
Recalling Equation (16), a fault can be detected easily only when the fault vector meets the following equation:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn19.png?pub-status=live)
The larger the fault, the more easily it can be detected. When the fault is smaller than the MDB, it is difficult to detect the fault accurately and the probability of missed detection will increase. Faults do not always have a large size of value in practical applications, so there is a need to make an improvement in the residual chi-square detection method.
Moreover, the residual chi-square detection method is a system-level evaluation. After detection of the fault, the faulty subsystem is isolated and the state estimation is obtained by using the one-step prediction of the Kalman filter in general. On the one hand, isolating the faulty subsystem is a waste of useful measurements and, as a result, the estimation accuracy will decrease. On the other hand, the error of the one-step prediction of the Kalman filter will increase with the recursive time, and this in turn will have an influence on the value of the residual and the fault detection sensitivity will degrade, which would cause more of the missed detection phenomenon. To sum up, the performance of the residual chi-square detection method is affected by the size and duration time of the fault. To improve the fault detection performance, three improvements are introduced and the new fault detection scheme is designed in the next section.
3. IMPROVED FAULT DETECTION METHOD
3.1. Fault detection and identification based on local test
The residual chi-square detection method is a system-level method, it cannot identify the faulty measurement. But identifying and isolating the faulty measurement in time is of great significance to improve the performance of fault detection and the precision of the integrated navigation system. To identify the faulty measurement and retain more useful normal observations, the local test method is introduced.
Assume the fault vector at time k is $\boldsymbol{\nabla}_{k} = ( \nabla _{k}^{1}, \; \nabla _{k}^{2}, \; \cdots, \; \nabla _{k}^{i}, \; \cdots, \; \nabla _{k}^{n}) $, the residual vector is
$\bar{\boldsymbol{v}}_{k}$, then the fault detection function can be given as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn20.png?pub-status=live)
where $\boldsymbol{P}_{vk}^{ii}$ is the ith diagonal element of covariance matrix
$\boldsymbol{P}_{vk}$, and
$\bar {\boldsymbol{v}}_{k}^{i}$ is the ith element of
$\bar{\boldsymbol{v}}_{k}$.
$\lambda _{k}^{i} $ is the standardised residual.
If there is no fault on the ith dimension of the measurement vector, then the null hypothesis is $\hbox{H}_{0} \colon \lambda _{k}^{i} \sim N( {0, \; 1}) $, otherwise the alternative hypothesis is
$\mbox{H}_{1} \colon \lambda _{k}^{i} \sim N( {\delta _{i}, \; 1}) $, where δi is the non-centrality parameter, and it is the function of the false alarm rate α0 and missed detection rate β0. Their relationship can be shown in Figure 2. For the sake of writing the later equations conveniently, we replace
$\lambda _{k}^{i} $ with its absolute value, and
$\lambda _{k}^{i} $ in the later part is equal to
$\vert {\bar {\boldsymbol{v}}_{k}^{i} } \vert /\sqrt {\boldsymbol{P}_{vk}^{ii}}$.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_fig2.png?pub-status=live)
Figure 2. Rates of false alarm and missed detection of local test method.
From Figure 2, the non-centrality parameter can be expressed as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn21.png?pub-status=live)
The fault detection criteria are
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn22.png?pub-status=live)
Ideally, the probability of false alarm in the ith pseudorange α0 is set so that the probability of any one of the outlier tests failing, when the null hypothesis is true, is equal to the global test probability of false alarm α (Yang et al., Reference Yang, Knight, Li and Rizos2013). Usually, the relationship of α0 and α can be expressed as in Kelly (Reference Kelly1998):
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn23.png?pub-status=live)
In the same way, the missed detection rate of local test β0 can be approximated as β (Kelly, Reference Kelly1998). The MDB for the ith observation can be obtained as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn24.png?pub-status=live)
Every dimensional measurement should be tested to identify the fault because a fault may occur on each measurement. After identification of the fault, the faulty measurement is isolated, while the remaining normal measurements are used to conduct the filter measurement update process.
3.2. Fault detection based on robust estimation
In practical application, the value of a fault is not always large; small faults and soft faults often occur, and these types of fault are hard to detect. The traditional local detection method gives the alarm when the detection function is larger than the threshold, otherwise it indicates no fault. According to the analysis in Subsection 3.1, when the measurement contains a small size of fault, the detection method can easily give the missed detection result. That is to say, when the test function is smaller than the threshold, it may include two cases: one is that no fault occurs on the measurement in reality, the other is that the fault is too small to detect, and this may result in decrease of filter accuracy and fault detection sensitivity. Hence, in order to improve the performance of the local test method for the small size of fault, the robust estimation scheme is introduced. The weight function of the measurements can be defined as follows:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn25.png?pub-status=live)
where T d1 and T d2 are constant and selected as $T_{d1} =1\cdot 0-1\cdot 5$ and
$T_{d2} =2\cdot5-8$ in general (Yang et al., Reference Yang, He and Xu2001). It can be seen from Equation (25) that when the fault detection function
$\lambda _{k}^{i} $ is smaller than T d1, it can be considered that no fault occurs on the ith dimensional measurement, the weight of this dimensional measurement will be equal to 1. When
$\lambda _{k}^{i} $ is larger than T d2, it indicates that there is a fault on the ith dimensional measurement and the weight of this measurement will be selected as 0 to isolate its influence on the filter precision. When
$\lambda _{k}^{i} $ is between T d1 and T d2, it means that the ith dimensional measurement may be polluted by fault error and the quality of this measurement is lower than the normal measurement, so a weight factor smaller than 1 will be used to reduce the influence of this measurement on the filter precision. Therefore, T d1 and T d2 can be regarded as two thresholds for faults with different values.
According to the adjustment of the weight function, each dimension of the measurements will be given different weight based on the quality of the measurement. And this will affect their weight in the filtering estimation. The better the quality of the measurement, the greater the weight.
Define $\bar {\boldsymbol{P}}_{k} $ as the equivalent weight matrix, and
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn26.png?pub-status=live)
where p i is the nonzero element, $\bar {P}_{k}^{i} $ and
$R_{k}^{i} $ are the ith diagonal elements of
$\bar {\boldsymbol{P}}_{k} $ and
$\boldsymbol{R}_{k} $, respectively. Then the new filter gain matrix can be written as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn27.png?pub-status=live)
When a small fault occurs but the fault detection function is lower than T d2, the weight of the faulty measurement will be adjusted to be less than 1. This means that the weight of this measurement in the Kalman filter measurement update will decrease and the filter accuracy will be improved, in return this would improve the fault detection performance the next time.
According to Equation (25), it can be concluded that T d1 and T d2 will have a great influence on the performance of the filter, so suitable thresholds need to be selected. It can be seen from Equation (25) that when the fault detection function $\lambda _{k}^{i} $ is larger than T d2, the ith dimensional measurement will be isolated, so T d2 is taken as the threshold, which is equal to the threshold
$N_{\alpha _{0} /2} ( {0, \; 1}) $ of the local test.
In the next part, the effect of T d1 on the performance of filter will be analysed. Define
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn28.png?pub-status=live)
For a fixed $\lambda _{k}^{i} $ and T d2, f(T d1 ) can be seen as the function of T d1. Take the derivative of f(T d1 ), with respect to T d1, the derived function can be written as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn29.png?pub-status=live)
From the above equation, it can be concluded that f′(T d1 ) > 0 when $T_{d1} \in ( {0, \; T_{d2} } ) $, which means f(T d1 ) is a monotone increasing function when T d1 is in the interval (0, T d2 ). In other words, the weight of the measurement will increase with the value of T d1. Assume that
$\lambda _{k}^{i} $ is the standardised residual of the ith measurement, and
$T_{d1} < \lambda _{k}^{i} < T_{d2} $. If a fault occurs on this measurement, the larger the value of T d1, the greater the weight of the faulty measurement, and the worse the precision of navigation. In contrast, if no fault occurs, the larger the value of T d1, the greater the weight of the normal measurement, and the better the precision of navigation. Therefore, the value of T d1 will have a great effect on the weight of both normal and faulty measurements. The optimal value is difficult to choose, and usually the choice of the T d1 is based on the experience or the requirement of the practical application.
As the probability of the fault is much smaller than that of normal operation, the performance of filtering with different values of T d1 is investigated when no fault occurs. The results show that the positioning error will increase by nearly 30% and 100% when T d1 = 1.5 and T d1 = 1, respectively. And the false alarm rate corresponding to T d1 = 1.5 is more than 100 times the false alarm rate α0 of the local test. When the fault detection function $\lambda _{k}^{i} $ is smaller than 1.5, the ith dimensional measurement can be regarded as normal measurement. Based on the above analysis, to improve the fault detection performance for small size of fault and ensure the weight of normal measurements, T d1 is selected to be equal to 1.5.
3.3. Improved fault detection method aided by sliding window test
In Subsection 3.2, when the fault detection function $\lambda _{k}^{i} $ is between T d1 and T d2, a weight factor is added to reduce the weight of the ith observation. In fact, a small size of fault may have occurred but the local test based on the standardised residual fails to detect it. Restricted by the detection ability of the local test, the performance of the fault detection for small faults is still not ideal and remains to be further improved. Therefore, to improve the detection performance for small faults, a sliding window test based on the past measurements is added.
In the sliding window test, the measurements used are not limited to the current epoch. Assume that the window width is m, the new residual vector is defined as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn30.png?pub-status=live)
where $\hat {\boldsymbol{P}}_{vk} $ and
$\boldsymbol{P}_{vj} $ are the covariance matrix of
$\hat{\boldsymbol{v}}_{k} $ and
$\boldsymbol{v}_{j} $, respectively.
$\hat {\boldsymbol{P}}_{vk}$ can be expressed as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn31.png?pub-status=live)
From Equations (30) and (31), it can be seen that the new residual vector of the sliding window test is a weighted average of the Kalman filter residual over the past measurements, and it can be obtained that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn32.png?pub-status=live)
where $\hat{\boldsymbol{P}}_{vk}^{ii}$ and
$\boldsymbol{P}_{vk}^{ii}$ are the ith diagonal element of
$\hat{\boldsymbol{P}}_{vk}^{ii}$ and
$\boldsymbol{P}_{vk}$, respectively. The mathematical derivation of Equation (32) is as follows.
Proof. $\hat{\boldsymbol{P}}_{vk} $ and
$\boldsymbol{P}_{vj}$ are the covariance matrix of
$\hat{\boldsymbol{v}} _{k}$ and v j, so
$\hat{\boldsymbol{P}}_{vk} $ and
$\boldsymbol{P}_{vj}$ are symmetric positive definite matrices. When the window width m is 2, Equation (31) can be written as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn33.png?pub-status=live)
For the sake of convenience in writing, Equation (33) can be written as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn34.png?pub-status=live)
where $\boldsymbol{P}_{g} =\hat{\boldsymbol{P}}_{vk} $,
$\boldsymbol{P}_{1} =\boldsymbol{P}_{vk-1} $,
$\boldsymbol{P}_{2} =\boldsymbol{P}_{vk} $. Based on the matrix theory, Equation (34) can be written as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn35.png?pub-status=live)
Because $\boldsymbol{P}_{1} $ and
$\boldsymbol{P}_{2} $ are symmetric positive definite matrices,
$\boldsymbol{P}_{1} +\boldsymbol{P}_{2} $ is also a symmetric positive definite matrix; therefore, the following equation can be obtained:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn36.png?pub-status=live)
where $\hat{\boldsymbol{P}}_{1}^{ii} $ is the ith diagonal element of
$\hat{\boldsymbol{P}}_{1} $, and
$\boldsymbol{P}_{1i} $ is the ith column of
$\boldsymbol{P}_{1} $. Then, it can be obtained that the following equation is established:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn37.png?pub-status=live)
where $\boldsymbol{P}_{g}^{ii} $ and
$\boldsymbol{P}_{1}^{ii} $ are the ith diagonal element of
$\boldsymbol{P}_{g} $ and
$\boldsymbol{P}_{1} $, respectively.
In the same way, the following equation can be obtained:
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn38.png?pub-status=live)
where $\boldsymbol{P}_{2}^{ii} $ is the ith diagonal element of
$\boldsymbol{P}_{2} $. So it can be concluded that
$\boldsymbol{P}_{g}^{ii} < \boldsymbol{P}_{l}^{ii}, \; \exists l\in ( 1, \; 2) $. The same result can be easily obtained when m > 2 by using mathematical induction. Therefore, Equation (32) is proved.
The test statistic is given by
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn39.png?pub-status=live)
The fault detection criteria are the same as in Equation (22).
According to the analysis in Subsection 3.1, the MDB of the ith observation in this method can be obtained as
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn40.png?pub-status=live)
Combining Equations (24), (32) and (40), it can be obtained that
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn41.png?pub-status=live)
Equation (41) indicates that the MDB of the sliding window test is smaller than that of the local test based on current measurement. In other words, the sliding window test has better sensitivity for the small size of fault than the local test based on current measurement. But when no fault occurs, due to the higher sensitivity of fault detection, the fault detection function of the sliding window test may be greater than that of the local test based on current measurement, which may result in more normal measurements being judged as polluted or faulty measurements. If using the sliding window test in the whole detection, the weight of more normal measurements may reduce, which will result in a decrease of the navigation precision when no fault occurs. Besides, it also involves a heavy computation burden due to the storage of historical data and the calculation of covariance matrix inversion. On this basis, the sliding window test is added to assist the fault detection method in Subsection 3.2 as follows.
For i = 1, 2,···, n, the fault detection function of the ith dimensional measurement at time k − 1 is $\lambda _{k-1}^{i} $, and a fault may have occurred on the ith observation when
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_eqn42.png?pub-status=live)
To improve the fault detection performance, the sliding window test is adopted to conduct the fault detection process at time k. If the above equation is not established, then the local test based on the current measurement is used in the fault detection process of epoch k. By using this strategy, the local test is adaptively adjusted between the sliding window test and the traditional local test based on current measurements.
The fault detection scheme of this paper is shown in Figure 3. According to Figure 3, the steps of the improved fault detection method are as follows.
(1) Calculation of the residual vector. Choose the fault detection method according to the fault detection function of the last epoch. If Equation (42) is satisfied, the sliding window test is adopted and the residual is calculated by Equation (30), otherwise, the local test based on the current measurement is used and the residual vector is calculated by Equation (11).
(2) Standardisation of the residual. Calculate the standardised residual of each dimensional measurement. If the residual is calculated by Equation (30), the standardised residual can be obtained by
$\hat {\boldsymbol{v}}_{k}^{i} /\sqrt {\hat {\boldsymbol{P}}_{vk}^{ii} } $. On the contrary, if the residual is calculated by Equation (11), the standardised residual will be calculated by Equation (20).
(3) Local fault detection and identification. Compare the standardised residual
$\lambda _{k}^{i} $ with the two thresholds T d1 and T d2. If
$\lambda _{k}^{i} \le T_{d1} $, it indicates that no fault occurs on the ith dimension measurement, the weight factor is 1. If
$T_{d2} < \lambda _{k}^{i} $, there is fault on the ith dimension measurement, the weight factor is 0 and the measurement is isolated. If
$T_{d1} < \lambda _{k}^{i} \le T_{d2} $, calculate the weight factor according to Equation (25).
(4) Filter measurement update. After all the local tests are complete, calculate the equivalent weight matrix, and then conduct the filter measurement update.
(5) Fault detection process at time k is complete, return to step 1 at time k + 1.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_fig3.png?pub-status=live)
Figure 3. The fault detection scheme.
4. SIMULATION AND ANALYSIS
4.1. Simulation conditions
The gyro constant drift is 0.1 h with its random drift 0.1 h, the constant bias and random bias of accelerometer is 50 μg. The initial geographical position is 108° east longitude and 34° north latitude, the initial velocity is zero, and the initial azimuth is 90°. The flight trajectory includes acceleration, deceleration, climbing motion, diving motion and turning motion. The number of visible satellites is eight (S1 to S8) and the pseudorange measurement error standard deviation is 10 m. The output frequency of the inertial measurement unit (IMU) and GNSS receiver is 100 Hz and 1 Hz, respectively. The whole simulation time is 1,600 s, and the filter cycle is set to be 1 s.
The state vector is $ \boldsymbol{X}=[\phi _{E}, \; \phi _{N}, \; \phi _{U}, \; \delta v_{E}, \; \delta v_{N}, \; \delta v_{U}, \; \delta L, \; \delta \lambda, \; \delta h, \; \varepsilon _{x}, \; \varepsilon _{y}, \; \varepsilon _{z}, \; \nabla _{x}, \; \nabla _{y}, \; \nabla _{z}, \; \delta t_{u}, \; \delta t_{ru} ]^{T}$, where ϕ E, ϕ N, ϕ U are the misalignment angles, δ v E, δ v N and δ v U are the east, north and upward velocity errors, respectively. δ L,
$\delta \lambda $ and δ h denote the latitude, longitude and height errors.
$\varepsilon _{x} $,
$\varepsilon _{y} $,
$\varepsilon _{z} $ and ∇x, ∇y, ∇z represent the gyro biases and accelerometer biases. δ t u, δ t ru are the range bias and range drift related to the receiver clock. The observations of the filter are the pseudorange differences between INS and GNSS.
To verify the performance of the proposed method (M4), the other three methods are introduced in the simulations for comparison. The first one is the residual chi-square detection method (M1), the second is the local fault detection method in Subsection 3.1 (M2), the third is the fault detection method proposed in Subsection 3.2 (M3).
The false alarm rate of M1 is 0.01 and its missed detection rate is 0.2. So it can be obtained by calculation that the thresholds of M1 and M2 are 20.09 and 3.226, respectively. For M3 and M4, the thresholds T d1 and T d2 are selected as 1.5 and 3.226, according to the analysis in Subsection 3.2.
4.2. Simulation results
First the MDB of the residual chi-square detection method and the local fault detection method is analysed. Assume that only one dimensional measurement has fault, then the MDB of M1 and M2 for each measurement is shown in Figure 4.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_fig4.png?pub-status=live)
Figure 4. MDB of M1 and M2 for each measurement.
Under the case that only one measurement has fault, from Figure 4 it can be seen that the MDB of each measurement of M1 is about 39.5, while that of M2 is about 40.8, which is a little larger than that of M1. As the residual chi-square detection method is a system-level method, the fault detection result is the comprehensive effect of the faults on all the measurements. In other words, if small faults occur on multiple dimensional measurements at the same time, it may result in the situation that the fault can be detected by M1 but M2 fails to detect the fault.
To choose an appropriate window width, the MDB of the sliding window test with different window widths is shown in Figure 5. All the MDB are calculated from time k = 100. From Figure 5, it can be seen that the larger the window width, the smaller the MDB. In other words, the fault detection sensitivity for a small fault will increase with the enlargement of the window width. The MDB for three different window widths are about 18 m, 13 m and 9 m, respectively. Although the sensitivity of fault detection will increase with the enlargement of the window width, it will also bring greater calculation burden. Besides, the enlargement of the window width will further reduce the weight of the normal measurement when no fault occurs and result in the decrease of navigation precision. Therefore, to give the whole navigation process high navigation precision and to impose less computation burden, the window width is chosen as 5 m.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_fig5.png?pub-status=live)
Figure 5. MDB of the sliding window test with different window widths.
To verify the fault detection performance of the proposed method, several simulation tests with different fault models are performed.
Test 1: Assume that a large abrupt fault occurs in the fourth satellite pseudorange observation in the period of 600–900 s, and the value of the fault is 100 m. The detection results of the four methods are shown in Figure 6. Here, for the convenience of comparison, only the fault detection function of the fourth satellite pseudorange is given in M2, M3 and M4.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_fig6.png?pub-status=live)
Figure 6. Fault detection function of four methods: Test 1, large abrupt fault. (a) M1 and M2; (b) M3 and M4.
From Figure 6, it can be concluded that the values of the fault detection function of four methods obviously increase when the abrupt fault occurs at 600 s. And during the interval of 600–900 s, the values of the fault detection function are larger than the thresholds, which indicates that the large abrupt fault can be detected by all the four methods. In Figure 6(a) the fault detection function of M1 has a trend of decline. It can be imagined that if the fault interval lasts for a long time, the fault detection function may decrease to lower than the threshold, which would lead to missed detection. The fault detection functions of M2 and M3 fluctuate near a stable value, and the fault detection performance is not affected by the duration of the fault. From Figure 6(b), it can be seen that the fault detection function values often jump due to the frequent switching between the local test based on the current measurement and the sliding window test based on past measurements.
Test 2: Assume that a small abrupt fault occurs in the fourth satellite pseudorange in the period of 600–900 s, and the value of the fault is 30 m. The detection results of the four methods are shown in Figure 7. Only the fault detection function of the fourth satellite pseudorange is given in M2, M3 and M4.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_fig7.png?pub-status=live)
Figure 7. Fault detection function of four methods: Test 2, small abrupt fault. (a) M1 and M2; (b) M3 and M4.
From Figure 7, it can be seen that a large number of the fault detection function values for the four methods are lower than the threshold during the fault stage when a small fault occurs. That means that a lot of missed detection phenomena appear. Compared with M1 and M2, M3 adopts a robust filter and it can reduce the weight of the faulty measurement when it fails to detect and isolate it, so it has better fault detection performance and less missed detection phenomena. But from Figure 7(b), it can be seen that there are still a large number of detection function values which are between the two thresholds or under threshold T d1 in M3. M4 adopts the sliding window test which has better detection performance than the local test which only uses the current measurement, therefore, M4 has less missed detection phenomena compared with M3.
Test 3: Assume that multiple measurements have faults at the same time. Here, the 30 m, 45 m and 60 m constant errors are added to the fourth, sixth and eighth satellite measurements. Again, the fault stage is from 600 s to 900 s. The detection results of the four methods are shown in Figure 8. Here, the fault detection functions of S4, S6 and S8 are given for M2, M3 and M4.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_fig8.png?pub-status=live)
Figure 8. Fault detection function of four methods: Test 3, multiple faults at the same time. (a) M1; (b) M2, M3 and M4 for the fourth, sixth and eighth satellites.
It can be seen from Figure 8(a) that when different size faults occur on several measurements at the same time, although the value of the fault on each measurement is not very large, as the combined effect of faults on all the measurements is large enough, M1 can still identify the fault accurately. Figure 8(b) shows the fault detection function of the other three methods. It can be concluded that all three methods have a lot of missed detection phenomena for small faults, and the larger the fault, the less the missed detection phenomena. But for M2, the detection function value of S6 is larger than threshold for a long time after the fault disappears at 900 s, which results in a large number of false alarms. Compared with M2, M3 and M4 has better performance and less missed detection phenomena, and M4 has the best detection performance.
Test 4: The above three tests all aimed to verify the fault detection performance of the proposed method regarding abrupt faults. In practical applications, as well as abrupt faults, gradual faults are of common occurrence and difficult to detect. So, in order to prove the validity and superiority of the proposed method in detecting gradual faults, assume that a gradual fault whose slope is 0·5 m/s occurs on the fourth satellite measurement in the period of 600 ~ 800 s. The detection results of the four methods are shown in Figure 9.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_fig9.png?pub-status=live)
Figure 9. Fault detection function of four methods: Test 4, gradual fault. (a) M1 and M2; (b) M3 and M4.
It can be seen from Figure 9 that it takes a long time for all the four methods to detect the gradual fault. The fault detection time delay of each method is about 110 s, 100 s, 70 s and 60 s, respectively. This means that the proposed method can detect the gradual fault the fastest and has less missed detection phenomena. The reason is that the influence of undetected faults on filter estimation is reduced in M4, whose fault detection sensitivity is better than those of M1, M2 and M3.
The false alarm rate and missed detection rate are usually used to measure the performance of the fault detection method, and the navigation precision is usually measured by the root mean square error (RMSE). To further illustrate the performance of the proposed fault detection method, a 100-run Monte Carlo simulation of the four methods in each test was conducted to obtain statistical results. The comparison of fault detection results and the root mean square of horizontal position errors of the four methods under four tests are shown in Table 1 and Figure 10, respectively.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_fig10.png?pub-status=live)
Figure 10. RMSE of horizontal position errors of four methods in the four tests. (a) Test 1; (b) Test 2; (c) Test 3; (d) Test 4.
Table 1. Comparison of fault detection results of four methods under four tests.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_tab1.png?pub-status=live)
In test 3, faults occur on three satellites' measurements, so the fault detection results of S4, S6 and S8 are listed in Table 1 for M2, M3 and M4, while the global fault detection results are given for M1 as a result of being a system-level method. From Table 1, it can be seen that all the four methods have good fault detection performance when the value of the fault is large enough. When a small size of fault occurs, the performance of the traditional residual chi-square detection method and the local test is poor, and the missed detection rate is higher than 80%. With the aid of robust estimation, the missed detection rate will be reduced by 16%, but there is still a large number of missed detection phenomena. The proposed method can effectively improve the fault detection performance, and the missed detection rate can be reduced by 49% compared with the conventional method. For the false alarm rate, the given theoretical value of M1 is 0.01, while that of the other three methods can be calculated as 0.0013 according to Equation (23). It can be seen from Table 1 that the false alarm rate of the proposed method is higher than those of the traditional methods due to the higher sensibility of fault detection, but the value is tolerated and the increase of false alarm rate has little impact on the continuity and reliability of the integration. Therefore, the proposed method has better performance of fault detection.
It can be seen from Figure 10 that the proposed method M4 has high precision under all four tests. When a large size of fault occurs, although the faulty measurement is isolated by M1, the position error would accumulate till the fault disappears because the error of one-step prediction increases with time. For M2, M3 and M4, the faulty measurements are isolated and other normal measurements are used for the state estimation, therefore, they have higher precision. When a small fault or gradual fault occurs, as there is a high rate of missed detection for M1, M2 and M3, the position error is still rather large, while M4 has better fault detection and tolerance performance, so it has higher precision.
The mean RMSEs of the four methods during the fault period are shown in Table 2. It can be seen that when a small fault or a gradual fault occurs, the proposed method has higher navigation accuracy compared with the other three methods, and the positioning accuracy is obviously superior to the traditional methods M1 and M2. When the value of the fault is large enough, as in test 1, for M3, as the result of adopting the robust estimation, the weight of the normal measurement will be reduced, therefore, the navigation accuracy is a little lower than the conventional method M2. For the proposed method M4, because of combining the robust estimation and sliding window test, the weight of normal measurement will be further reduced, so the position precision of M4 is a little lower than that of M3. Besides, when multiple faults occur in test 3, although the value of the fault on each measurement is not very large, M1 still has good performance at fault detection due to being a global detection method. However, M2 is a local test method, and the faulty measurements are difficult to detect because the value of fault is small, which results in missed detection and the decrease of the filtering precision, so the RMSE of M2 is larger than that of M1. Compared with M2, M3 and M4 have better performance of fault detection and tolerance for small size of fault because of adopting the robust estimation method. Therefore, they have higher filtering precision than M2. For M3, as a result of the large number of missed detection phenomena, the performance of fault detection and tolerance for small size of fault is still a little poor, so it has a larger RMSE than M1.
Table 2. Comparison of mean RMSE of horizontal position errors during fault period.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20200617024316222-0375:S0373463319000778:S0373463319000778_tab2.png?pub-status=live)
In practical application, the uncertainty of the fault model will have a great influence on the performance of the fault detection method. From the above simulation results, it can be seen that the proposed method has better adaptability for the fault model and this would be of great importance to improve the reliability and robustness of the navigation system.
5. CONCLUSIONS
Aiming at the drawbacks of residual chi-square detection method in INS/GNSS integration fault detection, an improved fault detection method combining fault detection and robust estimation is proposed. The fault detection and isolation is achieved by the local test with two thresholds. When the fault detection function is between the two thresholds, a robust estimation is adopted to adjust the gain matrix adaptively, which could reduce the influence of undetected small fault on the navigation precision and improve the fault detection performance of the local test in return. Besides, a sliding window test is used to replace the local test based on current measurement as the fault detection method of next epoch. The performance of the proposed method is verified by four simulation tests with different fault models. The results show that the large size of fault can be detected and isolated accurately. When there is small size of fault on the measurement, the fault detection performance and navigation precision can be improved by this method. Compared with the traditional methods, the method proposed in this paper has better adaptability for sensor fault models and can be regarded as a reference for improving the reliability of navigation systems in complex situations.
ACKNOWLEDGMENTS
Part of this work was financially supported by the National Natural Science Foundation of China (Grant No. 61601506).