# Performance Analyses of a RAIM Algorithm for Kalman Filter with GPS and NavIC Constellations
## 2 Overview of Existing KF RAIM
### Fault Detection Test Statistics
Considering time-correlated errors in the carrier-smoothed pseudorange measurements, and dropping time instant \(k\) for simplicity of notation, the first part of Equation (1) for an epoch changes to  
\[(\alpha_{j}^{\prime})^{2}=\Delta\underline{\boldsymbol{\rho}}^{*T}\mathbf{ \hat{S}}^{\prime}\mathbf{\hat{S}}^{\prime T}\mathbf{\Theta}\mathbf{\hat{S}}^{ \prime}\mathbf{\hat{S}}^{\prime T}\Delta\underline{\boldsymbol{\rho}}^{*} \tag{4}\]  
where \(\Delta\underline{\boldsymbol{\rho}}^{*}\) stacks all \(\Delta\underline{\boldsymbol{\rho}}_{\ell}^{*}\) vectors given by \(\Delta\underline{\boldsymbol{\rho}}_{\ell}^{*}=\mathbf{W}_{\ell}^{-1/2} \Delta\underline{\boldsymbol{\rho}}_{\ell}\), \(\ell\) varying from \(p_{j}\) to \(m_{j}\); \(\Delta\underline{\boldsymbol{\rho}}_{\ell}\) denotes the carrier-smoothed pseudorange innovation vector at epoch \(\ell\); and \(\mathbf{W}_{\ell}\) is its error covariance. \(\mathbf{\hat{S}}^{\prime}\) is a full rank block matrix, with its \(\ell\)th block along the diagonal given by \(\mathbf{S}_{\ell}^{\prime}\), where \((\mathbf{I}-\mathbf{G}_{\ell}^{*})=\mathbf{S}_{\ell}^{\prime}\mathbf{S}_{\ell }^{\prime T}\) and \(\mathbf{G}_{\ell}^{*}=\mathbf{W}_{\ell}^{-1/2}\mathbf{H}_{\ell}(\mathbf{H}_{ \ell}^{T}\mathbf{W}_{\ell}^{-1}\mathbf{H}_{\ell})^{-1}\times\mathbf{H}_{\ell} ^{T}\mathbf{W}_{\ell}^{-1/2}\), and other elements are zero. \(\mathbf{\Theta}\) is a square matrix with dimension \(\big{(}\sum_{\ell=p_{j}}^{m_{j}}n\big{)}\times\big{(}\sum_{\ell=p_{j}}^{m_{j}} n\big{)}\). '\(\times\)' represents the multiplication operation. \(\mathbf{\hat{S}}^{\prime}\mathbf{\hat{S}}^{\prime T}\) on either side of \(\mathbf{\Theta}\) in Equation (4) ensures that only the \(\ell\)th epoch's fault is included from \(\Delta\underline{\boldsymbol{\rho}}_{\ell}^{*}\). In order to perform fault detection tests with \((\alpha_{j}^{\prime})^{2}\), SKF implementation [28] is used in the navigation processor. SKF offers reasonably good performance, while being computationally efficient. It models time-correlated errors without estimating additional states. As a result, these errors are not changed in the pseudorange innovations. Thus, SKF along with the help of \(\mathbf{\hat{S}}^{\prime}\mathbf{\hat{S}}^{\prime T}\) allows a separate FMS for each of the test statistics. Hence, multiple test statistics can be formed. Each is with a given number of epochs. Equation (4) is finally reduced to the form given by  
\[(\alpha_{j}^{\prime})^{2}=\underline{\eta}_{r}^{T}\mathbf{\Theta}\underline {\eta}_{r} \tag{5}\]where \(\underline{\eta}_{r}\) consists of unit-variance independent elements. Matrix \(\mathbf{\Theta}_{2}\) is determined by \(\tilde{\mathbf{S}}^{\prime}\), \(\mathbf{\
abla}\) (measurement error covariance matrix of \(\Delta\underline{\tilde{\mathbf{\rho}}}^{*}\)), and \(\mathbf{\Theta}\). Since the maximum eigenvalue of \(\mathbf{\Theta}_{2}\), \(\lambda^{\max}_{\mathbf{\Theta},2}\) is designed to be less than or equal to one, fault detection thresholds of \((a^{\prime}_{j})^{2}\) can be derived from the chi-squared distribution [29]. \(\mathbf{\Theta}\) is formulated such that \(\lambda^{\max}_{\mathbf{\Theta},2}\) is less than or equal to one. It should be noted that \(\lambda^{\max}_{\mathbf{\Theta},2}\) is also equal to the maximum eigenvalue of \(\tilde{\mathbf{S}}^{\prime T}\mathbf{\
abla}\tilde{\mathbf{S}}^{\prime}\mathbf{ \
abla}\mathbf{\Theta}\tilde{\mathbf{S}}^{\prime}\) (=\(\mathbf{\Omega}\)), \(\lambda^{\max}_{\mathbf{\Omega}}\).