## 4 Establishing the Data Fusion Kalman Filter Equations
### Calculation Process  
The computational flowchart of the centralized Kalman filtering (CKF) method based on topological distribution constraints proposed in this paper is shown in Figure 4. Three sets of SRINSs are installed at different positions on the carrier. While receiving the 1 PPS synchronization pulse signal, they send out their own measured raw gyro data and accelerometer data. In the acquisition system, firstly, three SRINSs' positions are calculated by their measurement information at the reception time. This position information is then substituted into the centralized Kalman filter equations. During the Kalman filtering process, the measurements are the position differences between \(SRINS_{2}\) and \(SRINS_{1}\), and between \(SRINS_{3}\) and \(SRINS_{1}\). After filtering, the estimated state information is used to compensate the calculated position information in each SRINS. In the acquisition system, the stored lever arms and the position information of each SRINS calculated by itself are compensated. After compensation, the variance in the estimated error is used to perform weighted averaging on the position information to obtain the final comprehensive position information. During navigation, the pseudocode Algorithm 1 for the data fusion calculation of the three sets of SRINSs is as follows:  
Figure 4: Data Fusion Process of Three Sets of SRINSs. ```
Input: Gyroscope and accelerometer increments measured by the three sets of SRINSs \(wvm_{1}\), \(wvm_{2}\), \(wvm_{3}\). Output: Comprehensive position \(\mathbf{p}^{n}\) result after data fusion. For different SRINS i, the inertial navigation calculation process is as follows:
1: \(\mathcal{C}_{pk,i}^{n}=\mathbf{C}_{pk-1,i}^{n}(\mathbf{I}+T_{s}\mathbf{\omega}_{p,i}^{p}\times)\)
2: \(\mathbf{a}_{k,i}^{n}=\mathbf{C}_{pk-1,i}^{n}\mathbf{f}_{k,i}^{p}-(2\mathbf{\omega}_{ik-1}^{n}+ \mathbf{\omega}_{enk-1}^{n})\times\mathbf{v}_{k-1,i}^{n}+\mathbf{g}^{n}\)
3: \(\mathbf{v}_{k,i}^{n}=\mathbf{v}_{k-1,i}^{n}+T_{s}\mathbf{a}_{k,i}^{n}\) \[\mathbf{p}_{k,i}^{n}=\left[ \begin{array}{c}L_{k,i}^{n}\\ \lambda_{k,i}^{n}\\ h_{k,i}^{n}\end{array} \right.\]
4: \(=\left[ \begin{array}{c}I_{k-1,i}^{n}\\ \lambda_{k-1,i}^{n}\\ h_{k-1,i}^{n}\end{array} \right]+T_{s}\left[ \begin{array}{ccc}0&\frac{1}{R_{M }+\mathbf{b}_{k-1,i}^{n}}&0\\ \frac{\mathrm{sec}_{k-1,i}^{n}}{R_{N}+\mathbf{b}_{k-1,i}^{n}}&0&0\\ 0&0&1\end{array} \right]\left[ \begin{array}{c}v_{k-1,i}^{n}\\ v_{Nk-1,i}^{n}\\ v_{Uk-1,i}^{n}\end{array} \right]\)
```  
After the three sets of SRINSs have completed their calculations, they enter the Kalman filter process, where the state variables are:  
\(\mathbf{X}=\left[ \begin{array}{cc}\mathbf{X}_{RINS_{1}}&\delta\mathbf{r}_{2}{}^{p_{1}}& \mathbf{\theta}_{2}{}^{p_{1}}&\mathbf{\mu}_{2}{}^{p_{1}}&\mathbf{X}_{RINS_{2}}&\delta\mathbf{r }_{3}{}^{p_{1}}&\mathbf{\theta}_{3}{}^{p_{1}}&\mathbf{\mu}_{3}{}^{p_{1}}&\mathbf{X}_{RINS_{ 3}}\end{array} \right]\), \(\mathbf{X}_{RINS_{1}}=\left[ \begin{array}{cc}\phi_{i}&\delta\mathbf{v}_{i}^{n}&\delta \mathbf{p}_{i}^{n}&\left[\begin{array}{cc}\epsilon_{x,i}^{n}&\epsilon_{y,i}^{n}& \epsilon_{z,i}^{n}\end{array}\right]&\
abla_{i}^{p}\end{array} \right]^{T}\)
5: \(\mathbf{Z}_{k,2}=\mathbf{p}_{1}^{n}+\left[ \begin{array}{ccc}0&\frac{1}{R_{M}+\mathbf{h}_ {k,1}^{n}}&0\\ \frac{\mathrm{sec}_{k,1}^{n}}{R_{N}+\mathbf{h}_{k,1}^{n}}&0&0\\ 0&0&1\end{array} \right]\mathbf{C}_{pk,1}^{n}\cdot\mathbf{r}_{k,2}^{p_{1}}-\mathbf{p}_{2}^{n}\)
6: \(\mathbf{Z}_{k,3}=\mathbf{p}_{1}^{n}+\left[ \begin{array}{ccc}0&\frac{1}{R_{M}+\mathbf{h}_ {k,1}^{n}}&0\\ \frac{\mathrm{sec}_{k,1}^{n}}{R_{N}+\mathbf{h}_{k,1}^{n}}&0&0\\ 0&0&1\end{array} \right]\mathbf{C}_{pk,1}^{n}\cdot\mathbf{r}_{k,3}^{p_{1}}-\mathbf{p}_{3}^{n}\)
7: \(\mathbf{Z}_{k}=\left[ \begin{array}{c}\mathbf{Z}_{k,2}\\ \mathbf{Z}_{k,3}\end{array}