# Fault Detection and Isolation for Redundant Inertial Measurement Unit under Quantization
## 2 Materials and Methods  
### Quantization Analysis  
#### 2.1.1 The Parity Space Approach  
A RIMU usually has more than three inertial sensors (such as a rate gyroscope, accelerometer and magnetometer). This paper mainly focuses on the IMUs of at least five inertial sensors for fault detection and isolation. A measurement equation is defined as follows:  
\[\mathbf{Z}=\mathbf{H}\mathbf{X}+\mathbf{\varepsilon}, \tag{1}\]  
where \(\mathbf{\varepsilon}\in\mathbf{R}^{n\times 1}\) is the measurement noise vector, which satisfies \(E(\mathbf{\varepsilon})=0\) and \(E(\mathbf{\varepsilon}\mathbf{\varepsilon}^{T})=\sigma^{2}\mathbf{I}\). \(n\) is the number of gyroscopes. \(\mathbf{H}\in\mathbf{R}^{n\times 3}\) is the observation matrix defined by the installation structure of the RIMU. \(\mathbf{X}\in\mathbf{R}^{3\times 1}\) is the information on inertial state. \(\mathbf{Z}\in\mathbf{R}^{n\times 1}\) is the measurement. We define the decoupling matrix \(\mathbf{V}\), which satisfies the following conditions:  
\[\mathbf{V}\mathbf{H}=\mathbf{0},\]\[\mathbf{V}\mathbf{V}^{T}=\mathbf{I}_{n-3}, \tag{3}\]  
\[\mathbf{V}^{T}\mathbf{V}=\mathbf{I}_{n}-\mathbf{H}\Big{(}\mathbf{H}^{T}\mathbf{H}\Big{)}^{-1}\mathbf{H}^{T}, \tag{4}\]  
Only the decoupling matrix \(\mathbf{V}\) satisfies the above expressions. We can use the observation matrix and the Potter [22] algorithm to solve the decoupling matrix. They suggest that the decoupling matrix \(\mathbf{V}\) should be the upper triangular matrix that has the right diagonal elements and that its orthogonalization can fully determine its elements. The details of [PERSON]'s algorithm are as follows:  
\[\begin{gathered}\mathbf{W}=\mathbf{I}-\mathbf{H}\big{(}\mathbf{H}^{T}\mathbf{H}\big{)} ^{-1}\mathbf{H}^{T},\\ \mathbf{V}^{2}(1,1)=\mathbf{W}(1,1),\\ \mathbf{V}(1,j)=\mathbf{W}(1,j)/\mathbf{V}(1,1),\;j=2,\ldots,m\\ \mathbf{V}^{2}(i,i)=\mathbf{W}(i,i)-\sum\limits_{k=1}^{i-1}\mathbf{V}^{2}(k, i),\;i=2,\ldots,(m-n),\\ \mathbf{V}(i,j)=\left[\mathbf{W}(i,j)-\sum\limits_{k=1}^{i-1}\mathbf{V}(k, i)\mathbf{V}(k,j)\right]/\mathbf{V}(i,i),\;i=2,\ldots,(m-n)j=(i+1),\ldots,m,\\ \mathbf{V}(i,j)=0,\;i=2,\ldots,(m-n),\;j=1,\ldots,(i-1),\end{gathered} \tag{5}\]  
With the decoupling matrix \(\mathbf{V}\), the following linear independent parity equation set can be obtained: \(\mathbf{p}=\mathbf{V}\mathbf{Z}\), where \(\mathbf{p}\) is the parity vector. We define the detection function as follows:  
\[DF_{d}=\mathbf{p}^{T}\big{(}\mathbf{V}\mathbf{V}^{T}\big{)}^{-1}\mathbf{p}, \tag{6}\]  
If \(DF_{d}>T_{d}\), then we decide that a fault occurs.  
If \(DF_{d}\leq T_{d}\), then we decide that no fault occurs.  
Here, \(T_{d}\) is the time-varying threshold value set beforehand by the Monte Carlo method. For example, we generate 100 detection judgment sequences based on digital flight trajectory without fault. For each sampling time, we arrange the values from small to large and the (100-\(\zeta\))th data is the threshold when a false alarm rate \(\zeta\) is given. After a fault is detected, the fault isolation function is needed and defined as follows:  
\[DFI_{j}=\frac{\left(\mathbf{p}^{T}\big{(}\mathbf{V}\mathbf{V}^{T}\big{)}^{-1}\mathbf{V}_{j} \right)^{2}}{\mathbf{V}_{j}^{T}\big{(}\mathbf{V}\mathbf{V}^{T}\big{)}^{-1}\mathbf{V}_{j}}, \tag{7}\]  
where \(\mathbf{V}_{j}\) is the \(j\)th column of the decoupling matrix \(\mathbf{V}\). We calculate \(DFI_{j}\) (\(j=1,2,\ldots m\)) to find out the maximum \(DFI_{j}\), for example, \(DFI^{k}_{\;j}\). Then, we assume that the \(k\)th sensor has a fault.