## 2 Related Method of XNAV for Single Spacecraft
### Pulse Phase Estimation Method  
The pulsar is very weak such that a spacecraft can only receive a series of events rather than a continuous pulsed signal. Thus, a spacecraft must estimate the pulse phase from received events [23]. Let us assume a spacecraft observes a pulsar from \(t_{i}\) to \(t_{i+1}\), \(i=1,2,\ldots I\) and receives N events \(\left\{\tau_{j}\right\}_{j=1}^{N}.\) At first, \(\left\{\tau_{j}\right\}_{j=1}^{N}\) should be corrected to SSB by (2); thus, we have 16:  
\[\tau_{j,SSB}=g\big{(}\tau_{j}\big{)}. \tag{4}\]  
Therefore, the pulse phase at \(\tau_{j,SSB}\) is expressed as  
\[\phi(\tau_{j,SSB})=\phi_{i}+F_{i}[g(\tau_{j})-g(t_{i})]+\frac{1}{2}\dot{F}_{i} [g\big{(}\tau_{j}\big{)}-g(t_{i})]^{2}, \tag{5}\]  
where \(\phi_{i}=\phi(t_{i})\) is the pulse phase at \(g(t_{i})\), \(F_{i}\) is the frequency at \(g(t_{i})\), and \(\dot{F}_{i}\) is the time derivative of the frequency at \(g(t_{i})\), respectively. However, the true position of the spacecraft, \(\mathbf{r}(\tau_{j})\) in (2), is inaccessible in an autonomous navigation task. \(\mathbf{r}(\tau_{j})\) is expressed as \(\mathbf{r}(\tau_{j})=\widetilde{\mathbf{r}}\big{(}\tau_{j}\big{)}+\delta\mathbf{r}(\tau_{j})\) to estimate the pulse phase, where \(\widetilde{\mathbf{r}}\big{(}\tau_{j}\big{)}\) is the predicted position of the spacecraft and \(\delta\mathbf{r}\big{(}\tau_{j}\big{)}\) is the error of \(\widetilde{\mathbf{r}}\big{(}\tau_{j}\big{)}\). Moreover, \(\delta\mathbf{r}\big{(}\tau_{j}\big{)}\) can be derived as functions of \(\delta\mathbf{v}(\tau_{i})\) and \(\delta\mathbf{r}(\tau_{i})\)[24; 25; 26]:  
\[\delta\mathbf{r}(\tau_{j})=\mathbf{\[PERSON]}_{\mathbf{r}}\big{(}\tau_{j},\tau_{i}\big{)}\delta \mathbf{r}(\tau_{i})+\mathbf{\[PERSON]}_{\mathbf{r}\alpha}\big{(}\tau_{j},\tau_{i}\big{)}\delta \mathbf{v}(\tau_{i}), \tag{6}\]  
where \(\delta\mathbf{v}(\tau_{i})\) is the error of the predicted velocity of the spacecraft \(\widetilde{\mathbf{v}}\big{(}\tau_{j}\big{)}\). Inaddition, \(\mathbf{\[PERSON]}_{\mathbf{r}\tau}\big{(}\tau_{j},\tau_{i}\big{)}\) and \(\mathbf{\[PERSON]}_{\mathbf{r}\tau}\big{(}\tau_{j},\tau_{i}\big{)}\) can be expressed as [24; 25] follows:  
\[\mathbf{\[PERSON]}_{\mathbf{r}\tau}(\tau_{j},\tau_{i})=I_{3\times 3}+\sum_{m=1}^{ \infty}\frac{1}{m!}\mathbf{\[PERSON]}_{m}\big{(}\tau_{j}-\tau_{i}\big{)}^{m}, \tag{7}\] \[\mathbf{\[PERSON]}_{\mathbf{r}\tau}(\tau_{j},\tau_{i})=\sum_{m=1}^{\infty}\frac {1}{m!}\gamma_{m}\big{(}\tau_{j}-\tau_{i}\big{)}^{m},\]  
where \(\mathbf{\varphi}_{m}\) and \(\gamma_{m}\) are constant matrixes that can be calculated using analytical, numerical, or finite difference techniques [26]. Therefore, (5) can be rewritten as [27]:  
\[\phi\big{(}\tau_{j,SSB}\big{)}=\phi_{i}+F_{i}^{Doppler}\big{(}\tau_{j}-t_{i} \big{)}+\widetilde{\phi}\big{(}\tau_{j,SSB}\big{)}, \tag{8}\]  
where  
\[\widetilde{\phi}(\tau_{j,SSB})=F_{i}[\widetilde{g}(\tau_{j})-\widetilde{g}(t _{i})]+\frac{1}{2}\dot{F}_{i}[\widetilde{g}\big{(}\tau_{j}\big{)}-\widetilde{ g}(t_{i})]^{2}, \tag{9}\]  
\[\widetilde{g}(t_{i})=t_{i}+\frac{n\cdot\Big{(}\widetilde{\mathbf{r}}(t_{i})+\bm {r}_{E}(t_{i})\Big{)}}{c}+\sum_{k=1}^{k}\frac{2\mu_{k}}{c^{3}}ln|n\cdot \widetilde{\mathbf{r}}_{k}(t_{i})+\Big{\|}\widetilde{\mathbf{r}}_{k}(t_{i})\Big{\|}|, \tag{10}\]  
\[F_{i}^{epi}=F_{i}[\mathbf{G}_{i}\mathbf{\varphi}_{1}\delta\mathbf{r}(t_{i})+\mathbf{G}_{i} \mathbf{\gamma}_{1}\delta\mathbf{v}(t_{i})], \tag{11}\]  
\[ \begin{array}{rl}\mathbf{G}_{i}&=\left.\frac{\partial g(t_{i})}{ \partial\mathbf{r}(t_{i})}\right|_{\mathbf{r}(t_{i})=\widetilde{\mathbf{r}}(t_{i})}\\ &=\frac{1}{c}\mathbf{n}+2\frac{\mu_{k}}{c^{3}}\frac{n\|\ \widetilde{\mathbf{r}}_{k}(t_{i})\|+ \ \widetilde{\mathbf{r}}_{k}(t_{i})}{\|\mathbf{n}\cdot\widetilde{\mathbf{r}}_{k}(t_{i})+\| \ \widetilde{\mathbf{r}}_{k}(t_{i})\|\|\ \widetilde{\mathbf{r}}_{k}(t_{i})\|}.\end{array}  \tag{12}\]  
In the equations above, \(\widetilde{\phi}\big{(}\tau_{j,SSB}\big{)}\) and \(\widetilde{g}(t_{i})\) are the pulse phase and photon arrival time calculated by \(\widetilde{\mathbf{r}}(t_{i})\), respectively.