## 3 Robust Algorithm Based on CNN  
### The Principle of Robust Algorithm  
The problem of fault propagation not only makes all receiving channels work abnormally, but also increases the difficulty of fault identification, making the deep GNSS/INS integration extremely vulnerable to fault. In real life, many types of faults are likely to be encountered, such as jamming, device aging, and occlusion. Therefore, it is necessary to solve the fault propagation problem to improve fault diagnosis capability.  
The basis of fault propagation is that the parameters of all receiving channels are predicted based on the same navigation solution. Once the navigation solution is wrong, the reception of all channels will be abnormal. Thus, the key of solving the problem is to maintain the correctness of navigation solution. The robust algorithm, which can reduce the adverse effect of fault data on navigation solution by adjusting the parameters of navigation filter, is a promising solution.  
In EKF, \(\Delta\mathbf{X}_{k|k-1}\) and \(\Delta\mathbf{X}_{k}\) are the prediction and estimation of \(\Delta\mathbf{X}_{k-1}\), respectively. Then, the prediction error of state vector is expressed as  
\[\mathbf{E}_{k}=\Delta\mathbf{X}_{k}-\Delta\mathbf{X}_{k|k-1}. \tag{17}\]  
The expression of residual \(\mathbf{L}_{k}\) is  
\[\mathbf{L}_{k}=\mathbf{Z}_{k}^{\text{Nav}}-\mathbf{H}_{k}\Delta\mathbf{X}_{k}. \tag{18}\]  
If the measurement \(\mathbf{Z}_{k}^{\text{Nav}}\) contains gross errors, the minimum condition is constructed as  
\[\sigma=\mathbf{L}_{k}^{\text{T}}\overline{\mathbf{R}}^{-1}\mathbf{L}_{k}+\mathbf{E}_{k}^{\text {T}}\mathbf{P}_{k|k-1}^{-1}\mathbf{E}_{k}=min, \tag{19}\]  
where \(\overline{\mathbf{R}}\) is the covariance matrix of \(\mathbf{L}_{k}\), and \(\mathbf{P}_{k|k-1}\) is the covariance matrix of \(\mathbf{E}_{k}\).  
In [36], the solution of Equation (19) is  
\[\Delta\mathbf{\widetilde{X}}_{k}=\Delta\mathbf{X}_{k|k-1}+\mathbf{P}_{k|k-1}\mathbf{H}_{k}^{ \text{T}}\big{(}\mathbf{H}_{k}\mathbf{P}_{k|k-1}\mathbf{H}_{k}^{\text{T}}+\overline{\mathbf{ R}}\big{)}^{-1}\big{(}\mathbf{Z}_{k}^{\text{Nav}}-\mathbf{H}_{k}\Delta\mathbf{X}_{k|k-1} \big{)}. \tag{20}\]  
Comparing \(\Delta\mathbf{\widetilde{X}}_{k}\) with \(\Delta\mathbf{X}_{k}\) in Equation (8), the difference is that the matrix \(\mathbf{R}\) is replaced by \(\overline{\mathbf{R}}\). It shows that, when there are gross errors in the measurement, the corresponding solution is obtained by adjusting \(\mathbf{R}\). Matrix \(\mathbf{R}\), as the covariance matrix of measurement error, reflects the severity of errors. If the measurements are unreliable, the proportion of measurements in the filtering should be reduced, and the value of \(\mathbf{R}\) should be enlarged. However, it should be emphasized that, in order to avoid changing the results of fault identification, the matrix \(\mathbf{R}\) in Equation (14) does not need to be adjusted.  
If the members of \(Z_{k}^{\text{Nav}}\) are independent of each other, \(\overline{R}\) can be regarded as a diagonal matrix, i.e., \(\overline{R}=diag\Big{\{}\overline{R}_{1},\widetilde{R}_{1},\widetilde{R}_{2}, \widetilde{R}_{2},\ldots\ldots,\overline{R}_{N},\widetilde{R}_{N}\Big{\}}\). As shown in Equation (21), \(\overline{R}_{i}\) is obtained by multiplying \(R_{i}\) and the expansion factor \(\alpha_{i}\) together:  
\[\overline{R}_{i}=\alpha_{i}R_{i}, \tag{21}\]  
where \(\alpha_{i}\geq 1\). \(\widetilde{R}_{i}\) is calculated in the same way as \(\overline{R}_{i}\).  
Expansion factor is generated by CNN in this study, and the generation method will be described in the following section.