# Distributed Orbit Determination for Global Navigation Satellite System with Inter-Satellite Link
## 5 Distributed Orbit Determination
### Reduced-Order Iterative Cascade EKF  
For _ith_ and _jth_ satellites with ISL measurements, the iterative cascade EKF (ICEKF) [12] assumes that the state vector \(\mathbf{X}^{j}\) of the _jth_ satellite is known. Thus, the measurement equation, which is similar to Equation (34), is derived as:  
\[z_{k}^{i}=\mathbf{H}_{k}^{i}\delta x_{k}^{j}+\epsilon_{k}^{i} \tag{42}\]  
For ISL measurement, the innovation is \(z_{k}^{i}=z_{k}^{ij}(t_{\mathrm{k}})\), the measurement error is \(\epsilon_{k}^{i}=\mathbf{H}_{k}^{i}\delta\mathbf{x}_{k}^{j}+\epsilon^{ij}(t_{k})\) and measurement covariance matrix is \(R_{k}^{i}=E[\epsilon_{k}^{i}{(\epsilon_{k}^{i})}^{T}]=E[\epsilon^{ij}(t_{k}) \epsilon^{ij}(t_{k})^{T}]=R_{k,ISL}^{i}\). For satellite-to-GAS measurement, the innovation is \(z_{k}^{i}=z_{k}^{ig}(t_{\mathrm{k}})\), the measurement error is \(\epsilon_{k}^{i}=\epsilon^{ig}(t_{\mathrm{k}})\), and measurement covariance matrix is \(R_{k}^{i}=E(\epsilon_{k}^{i}(\epsilon_{k}^{i})^{T}]=E(\epsilon^{ig}(t_{k}) \epsilon^{ig}(t_{k})^{T}]=R_{k,GAS}^{i}\). An initial state vector \(\overline{\mathbf{X}}_{0}^{i}=\mathrm{E}(\mathbf{X}_{0}^{i*})\) and an initial state vector covariance matrix \(\overline{\mathbf{P}}_{0}^{i}=\mathrm{E}[\mathbf{X}_{0}^{i*}\mathbf{X}_{0}^{i*T}]\) are defined. Results from the method of ICEKF that combines the ISL measurement and satellite-to-GAS measurement can be obtained from:  
\[\overline{\mathbf{P}}_{k}^{i}=\boldsymbol{\phi}_{k-1}^{i}\hat{\mathbf{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{43}\]  
\[\mathbf{K}_{k}^{i}=\overline{\mathbf{P}}_{k}^{i}\mathbf{H}_{k}^{i}{}^{\mathrm{ T}}\left(\mathbf{H}_{k}^{i}{}^{\mathrm{T}}\overline{\mathbf{P}}_{k}^{i} \mathbf{H}_{k}^{i}+\mathbf{R}_{k}^{i}\right)^{-1} \tag{44}\]  
\[\delta\hat{x}_{k}^{i}=\mathbf{K}_{k}^{i}z_{k}^{i} \tag{45}\]  
\[\hat{\mathbf{X}}_{k}^{i}=\overline{\mathbf{X}}_{k}^{i}+\delta\hat{x}_{k}^{i} \tag{46}\]  
\[\hat{\mathbf{P}}_{k}^{i}=\left(\mathbf{I}-\mathbf{K}_{k}^{i}\mathbf{H}_{k}^{i }\right)\overline{\mathbf{P}}_{k}^{i} \tag{47}\]  
In this way, only the local state vector related to the _ith_ satellite itself is included in the measurement equation. The dimension of state vector \(\mathbf{X}_{k}^{i}\) is:  
\[N_{i}=6+D^{i} \tag{48}\]  
The computation amount for the ICEKF algorithm is:  
\[4N_{i}^{2}(N_{i}^{2}-1)+(N_{i}-1)N_{i}(N_{i}+1)/6+(2N_{i}^{2}+7N_{i}+1)\times(m /n) \tag{49}\]  
As a result, the computational complexity is greatly reduced. However, the state vector of the _ith_ satellite is only correlated with the measurement of itself and this method must be referred to as a reduced-order suboptimal filter. In order to improve the filtering accuracy, a common approach is to iterate the process above until convergence. In a data frame, after receiving the state vectors of the other visible satellites, the _ith_ satellite updates its own state vectors and covariance matrix by Equations (42)-(47). Other satellites do the same process in turn and iterate until the state vector of each satellite is converged.  
However, the method of ICEKF assumes that the state vectors of the other satellites have no errors, but this is not the case. Therefore, the method of ICEKF needs an uncertain number of iterations to approach convergence. In a constellation with a large number of satellites, reaching convergence could be time-consuming [12; 13].