# LCNS Positioning of a Lunar Surface Rover Using a DEM-Based Altitude Constraint
## 4 Covariance Analysis  
### Extended Kalman Filter  
The positioning engine in the LCNS receiver will implement an EKF. Similar to surface users on Earth, the estimation is kinematic (i.e., the position is propagated only by the velocity). In this contribution, a variance-covariance analysis is employed, meaning that the states are not actually estimated, but only the effect of the measurement errors and geometry on the EKF solution is assessed; therefore, only the implemented EKF equations regarding the propagation and update from measurements of the state covariance matrix are described. For further details regarding the EKF and its derivation, the reader is referred to the existing literature [42; 43]. The state vector estimate \(\hat{\mathbf{x}}_{k-1}\) can be propagated forward to an epoch \(k\) by the relationship in Equation (2), where \(\overline{\mathbf{x}}_{k}\) is the predicted state at epoch \(k\), and \(F_{k-1,k}\) denotes the state transition matrix from epoch \(k-1\) to \(k\). \[\overline{\mathbf{x}}_{k}=F_{k-1,k}\hat{\mathbf{x}}_{k-1} \tag{2}\]  
The state estimate covariance matrix \(P_{k-1}\) can be propagated to an epoch \(k\) by the relationship in Equation (3), where \(\overline{P}_{k}\) is the predicted state covariance matrix at epoch \(k\), \(\Gamma_{k-1,k}\) is the process noise transition matrix, \(Q_{k-1}\) (positive semi-definite \(\forall k\)) is the process noise covariance matrix and \({}^{T}\) denotes the transpose operator. In real operations, the initial covariance \(P_{0}\) will be estimated using the weighted least squares (WLS) algorithm. In this paper, however, we assume a fixed value for \(P_{0}\), which is further detailed in Section 4.4. \[\overline{P}_{k}=F_{k-1,k}P_{k-1}F_{k-1,k}^{T}+\Gamma_{k-1|k}Q_{k-1}\Gamma_{k -1|k}^{T} \tag{3}\]  
The equations that are used to propagate and predict the covariance of the state vector are given below. \begin{table}
\begin{tabular}{l l l} \hline \hline  & **Navigation Grade** & **Tactical Grade** \\ \hline Weight & 9.0 kg & 748 g \\ Example & iMAR iNAV-RQH-1001 [38] & Northrop Grumman LN-200S \\ Velocity Random Walk & 8 \(\mathrm{\SIUnitSymbolMicro g}/\sqrt{\mathrm{Hz}}\) & 35 \(\mathrm{\SIUnitSymbolMicro g}/\sqrt{\mathrm{Hz}}\) \\ Velocity Process Noise (\(\sigma_{v}\)) & 7.8 \(\cdot 10^{-5}\) m/s/\(\sqrt{\mathrm{s}}\) & 3.4 \(\cdot 10^{-4}\) m/s/\(\sqrt{\mathrm{s}}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Examples of different types of space-grade IMUs and their characteristics. Note that the velocity process noise considers a conservative integration time of 1 s. \begin{table}
\begin{tabular}{l l l l} \hline \hline
**Product** & **Microchip OX-249** & **AXTAL AXIOM6060** & **AXTAL AXIOM70 SL** \\  & [39] & [40] & [41] \\ \hline Weight & 14 g & 200 g & 20 g \\ Reference frequency & n/a & 100 MHz & 10 MHz \\ Frequency Stability & 100 ppb & 50 ppb & 10 ppb \\ Allan Deviation & \(1\times 10^{-11}\) & \(1\times 10^{-10}\) & \(5\times 10^{-12}\) \\ (\(\tau=1\) s) & & & \\ Clock Bias & 0.003 m/\(\sqrt{\mathrm{s}}\) & 0.030 m/\(\sqrt{\mathrm{s}}\) & 0.001 m/\(\sqrt{\mathrm{s}}\) \\ Process Noise (\(\sigma_{k}\)) & & & \\ Clock Drift & 30 m/s/\(\sqrt{\mathrm{s}}\) & 15 m/s/\(\sqrt{\mathrm{s}}\) & 3 m/s/\(\sqrt{\mathrm{s}}\) \\ Process Noise (\(\sigma_{k}\)) & & & \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Examples of space grade OCXO clocks. The state vector contains 8 elements and is given in Equation (4), where \(\mathbf{r}\) denotes the 3D position vector in a Moon fixed reference frame, \(\dot{\mathbf{r}}\) denotes the 3D velocity, \(dt\) denotes the receiver clock bias and \(dt\) denotes the receiver clock drift. \[\mathbf{x}= \begin{bmatrix}\mathbf{r}\\ \dot{\mathbf{r}}\\ dt\\ dt\end{bmatrix}