# Distributed Orbit Determination for Global Navigation Satellite System with Inter-Satellite Link
## 5 Distributed Orbit Determination
### Balanced Extended Kalman Filter  
In one computation cycle, the ICEKF and IMCEKF algorithm only improve the state vector on one end of the ISL. To increase the efficiency and accuracy, the balanced extended Kalman filter (BEKF) is proposed. For the _ith_ and _jth_ satellite, the satellites' state vectors on the both ends of the ISL can be improved simultaneously. To keep the balance of the accuracy increments on both satellites, the improving state vectors should be adjusted by:  
\[\left(\overline{P}_{k}^{i}\right)^{-1}\delta\dot{\mathbf{x}}_{k}^{i}=\left( \overline{P}_{k}^{i}\right)^{-1}\delta\dot{\mathbf{x}}_{k}^{j} \tag{54}\]  
With the constraint of Equation (54), the BEKF can be derived from Equations (8), (12), and (24), and it can be completed by the following steps:  
\[\overline{P}_{k}^{i}=\boldsymbol{\Phi}_{k-1}^{i}\hat{P}_{k-1}^{i}\boldsymbol{ \Phi}_{k-1}^{i}+\boldsymbol{G}_{k-1}^{i}\boldsymbol{Q}_{k-1}^{i}\boldsymbol{ G}_{k-1}^{i} \tag{55}\]  
\[\overline{P}_{k}^{i}=\boldsymbol{\Phi}_{k-1}^{i}\hat{P}_{k-1}^{i}\boldsymbol{ \Phi}_{k-1}^{i}+\boldsymbol{G}_{k-1}^{i}\boldsymbol{Q}_{k-1}^{i}\boldsymbol{ G}_{k-1}^{j} \tag{56}\]  
\[N_{B}=\left[ \begin{array}{cc}\boldsymbol{H}_{k}^{i}R^{-1}\boldsymbol{H}_{k}^ {i}+\left(\overline{P}_{k}^{i}\right)^{-1}&\boldsymbol{H}_{k}^{i}{}^{T}R^{-1} \boldsymbol{H}_{k}^{i}\\ \boldsymbol{H}_{k}^{i}{}^{T}R^{-1}\boldsymbol{H}_{k}^{i}&\boldsymbol{H}_{k}^{ i}{}^{T}R^{-1}\boldsymbol{H}_{k}^{j}+\left(\overline{P}_{k}^{i}\right)^{-1}\end{array} \right] \tag{57}\]  
\[C=\left[\left(\overline{P}_{k}^{i}\right)^{-1}~{}~{}-\left(\overline{P}_{k}^{ i}\right)^{-1}\right] \tag{58}\]  
\[N_{C}=CN_{B}^{-1}C^{\mathrm{T}} \tag{59}\]  
\[M_{C}=N_{B}^{-1}C^{\mathrm{T}}N_{C}^{-1}C \tag{60}\]  
\[K_{k}^{ij}=(I-M)\left[ \begin{array}{cc}\overline{P}_{k}^{i}\boldsymbol{H}_{k }^{i}\;\overline{\boldsymbol{\tau}}\\ \overline{P}_{k}^{i}\boldsymbol{H}_{k}^{i}\;\overline{\boldsymbol{\tau}}\end{array}  \right]\left[\boldsymbol{H}_{k}^{i}\;\overline{P}_{k}^{i}\boldsymbol{H}_{k}^{i \;\mathrm{T}}+\boldsymbol{H}_{k}^{j}\overline{\boldsymbol{P}}_{k}^{i}\boldsymbol {H}_{k}^{j\;\mathrm{T}}+\boldsymbol{R}_{k}^{i}\right]^{-1} \tag{61}\]  
\[\left[ \begin{array}{c}\delta\dot{\mathbf{x}}_{k}^{i}\\ \delta\dot{\mathbf{x}}_{k}^{j}\end{array} \right]=\boldsymbol{K}_{k}z_{k}^{i} \tag{62}\]  
\[\left[ \begin{array}{c}\dot{\mathbf{x}}_{k}^{i}\\ \dot{\mathbf{x}}_{k}^{j}\end{array} \right]=\left[ \begin{array}{cc}\overline {\mathbf{x}}_{k}^{i}\\ \overline{\mathbf{x}}_{k}^{j}\end{array} \right]+\left[ \begin{array}{c}\delta \dot{\mathbf{x}}_{k}^{i}\\ \delta\dot{\mathbf{x}}_{k}^{j}\end{array} \right] \tag{63}\]  
\[\left[ \begin{array}{cc}\dot{\mathbf{P}}_{k}^{i}&\dot{\mathbf{P}}_{k}^{jj}\\ \dot{\mathbf{P}}_{k}^{ji}&\dot{\mathbf{P}}_{k}^{j}\end{array} \right]=\left\{ \mathbf{I}-K_{K}\!\left[\boldsymbol{H}_{k}^{i}\quad\boldsymbol{H}_{k}^{j} \right]\right\}\left[ \begin{array}{cc}\overline{\boldsymbol{P}}_{k}^{i}&0\\ 0&\overline{\boldsymbol{P}}_{k}^{i}\end{array} \right]-M\!\left[ \begin{array}{ cc}\overline{\boldsymbol{P}}_{k}^{i}&0\\ 0&\overline{\boldsymbol{P}}_{k}^{j}\end{array} \right] \tag{64}\]The dimension of state vectors \(\mathbf{X}_{k}^{i}\) and \(\mathbf{X}_{k}^{j}\) of the _ith_ and _jth_ satellites, respectively, is: \[N_{ij}=12+\sum_{i=1}^{n}\Bigl{(}D^{i}+D^{j}\Bigr{)}\] (65) The computation amount of BEKF is: \[4N_{i}^{2}(N_{i}^{2}-1)+(N_{i}-1)N_{i}(N_{i}+1)/6+(2N_{ij}^{2}+7N_{ij}+1)\times (m/2n)\] (66) The method has the following features:  
1. The method of BEKF collects the data of ISL measurements, satellite-to-GAS measurements (if they are available), and the satellite state vectors as well as their covariance matrices on both ends of the ISL. After the calculation of the BEKF algorithm, the improved state vectors and their covariance matrices are sent to the other visible satellites.