# Inertial-Navigation-Aided Single-Satellite Highly Dynamic Positioning Algorithm
## 3 Navigation-Data Fusion
The state-space equation model to describe the dynamic process of targets:  
\[\mathbf{\overline{X}}_{t+1}=\mathbf{F}\mathbf{X}_{t}+\mathbf{W}_{t} \tag{26}\]  
where, \(\mathbf{F}\) denotes a dynamic matrix, dynamic matrix \(\mathbf{F}_{1}\) represents speed variation and \(\mathbf{F}_{2}\) represents acceleration variation; \(\mathbf{W}_{t}\) denotes single-satellite-system noise at time t. In practice, the obtained samples are discrete values. The state-transition matrix obtained by discretizing \(\mathbf{F}\) can be regarded as nontime-varying when the sampling interval is small. \[\mathbf{F}_{1}=\left[ \begin{array}{ccccccccc}0&0&0&1&0&0&0&0&0\\ 0&0&0&0&1&0&0&0&0\\ 0&0&0&0&0&1&0&0\\ 0&0&0&0&0&0&1&0\\ 0&0&0&0&0&0&1&0\\ 0&0&0&0&0&0&0&1\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\end{array} \right] \tag{27}\]  
\[\mathbf{F}_{2}=\left[ \begin{array}{ccccccccc}0&0&0&0&0&0&1&0&0\\ 0&0&0&0&0&0&0&1&0\\ 0&0&0&0&0&0&0&0&1\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\\ 0&0&0&0&0&0&0&0&0\end{array} \right] \tag{28}\]  
The prediction and update steps of UKF are looped after initialization. Assuming that the state of a single-satellite system is a random variable \(\mathbf{X}_{t}\in\mathbb{R}^{n}\), with expected value \(\mathbf{\overline{X}}_{t}\) and covariance matrix \(\mathbf{P}_{t}\), by supplying that UKF a prior estimate \(\mathbf{\overline{X}}_{0}\) and covariance \(\mathbf{P}_{0}\), the next step is to build a state-transition matrix \(\mathbf{X}_{t}=f(\mathbf{X}_{t-1},w_{t-1},u_{t-1})\). Let \(\Delta t\) represents the sampling interval and \(\varphi\) represents the following state-transition matrix. \[\varphi=\left[ \begin{array}{ccccccccc}1&0&0&\Delta t&0&0&\frac{\Delta t^{2} }{2}&0&0\\ 0&1&0&0&\Delta t&0&0&\frac{\Delta t^{2}}{2}&0\\ 0&0&1&0&0&\Delta t&0&0&\frac{\Delta t^{2}}{2}\\ 0&0&0&1&0&0&\Delta t&0&0\\ 0&0&0&0&1&0&0&\Delta t&0\\ 0&0&0&0&0&1&0&0\\ 0&0&0&0&0&0&1&0\\ 0&0&0&0&0&0&0&1\end{array} \right] \tag{29}\]  
State quantity was utilized to construct the sampling points and calculate the unscented weight coefficients; \(\mathbf{\overline{X}}_{t}\) represents the predicted estimate at sampling interval \(t\) and \(\mathbf{\overline{X}}_{t}\) represents the posterior estimate at sampling interval \(t\). In the time-update part of single-satellite positioning, the state transformation of the generated test point set is first carried out. Since UKF guarantees second-order accuracy, nonlinear transformation function \(f()\) can be rewritten as  
\[\xi_{t}^{-}=f(\xi_{t-1})=\varphi\xi_{t-1} \tag{30}\]  
The predicted estimate of \(\mathbf{X}_{t}\) is:  
\[\mathbf{\overline{X}}_{t}^{-}=\sum_{i=0}^{2l}w_{i}(\xi_{t-1})_{i} \tag{31}\]  
Construction of measurement equation vector \(\mathbf{Z}_{t}\) by using a pseudorange and height values at \(t\) time:  
\[\mathbf{Z}_{t}=\left[ \begin{array}{c}R_{t}\\ R_{t+1}\\ R_{t+2}\\ h_{t+1}\end{array} \right] \tag{32}\]  
Similar to the least-squares part, the state variable substituting value \(\mathbf{X}_{t}\) is the target-state value at \(t+1\) time; \(\delta x_{i}\), \(\delta y_{i}\), \(\delta z_{i}\) are the relative displacements of the three-dimensional coordinates between time \(i\) and \(i+1\), recorded by the inertial navigation system; \(p_{i}^{x},p_{i}^{y},p_{i}^{z}\) represent the coordinates of the single satellite at time \(i\); \(R_{i}\) represents the actual pseudorange value between single satellite and target at time \(i\); \(\hat{R}_{i}\) represents the estimated pseudorange value at time \(i\); \(h_{i}\) represents the target-height value at time \(i\); \(\hat{h}_{i}\) represents the estimated target-height value at time \(i\). Here, \(\boldsymbol{\eta}_{t}=h(\xi_{t-1}^{-})\) was utilized to calculate the pseudorange value of \(\xi_{t-1}^{-}\) at the corresponding time.