Satellite Autonomous Clock Fault Monitoring with InterSatellite Ranges Using Euclidean Distance Matrices

  • NAVIGATION: Journal of the Institute of Navigation
  • May 2026,
  • 73
  • navi.764;
  • DOI: https://doi.org/10.33012/navi.764

Abstract

To support reliable positioning, navigation, and timing services for lunar satellite constellations, this paper proposes a framework for detecting satellite clock phase jumps using dual one-way inter-satellite range measurements. The method models the constellation as a weighted graph and exploits rigidity properties to detect faults. Specifically, satellite clock faults are identified by monitoring the realizability of vertex-redundantly rigid subgraphs through the singular values of geometric-centered Euclidean distance matrices (GCEDMs). We establish the graph-topological conditions required for fault detection and derive the statistical distribution of the GCEDM test statistic under both nominal and faulty conditions. To address sparse link connectivity, we also introduce an ephemeris-augmented formulation that combines measured and estimated ranges and performs fault detection on fault-detectable subgraphs. Simulation results using a terrestrial Global Positioning System constellation and a notional lunar constellation demonstrate that the proposed approach provides robust fault detection under both dense and sparse measurement conditions.

Keywords

1 INTRODUCTION

To meet the growing need for robust positioning, navigation, and timing (PNT) services at the lunar surface and lunar orbits, the National Aeronautics and Space Administration and its international partners are collaborating to develop LunaNet (Israel et al., 2020), a network of networks providing data relay, PNT, detection, and science services. In LunaNet, these services are provided through cooperation among interoperable systems that evolve over time to meet the growing needs for these services, efficiently establishing a reliable, sustainable, and scalable network.

It is crucial to monitor LunaNet navigation satellites for the reliable operation of safety-critical missions, such as lunar landing and human missions on the lunar surface. The quality of lunar navigation signals can be compromised by various system faults, such as clock runoffs (e.g., phase and frequency jumps (Weiss et al., 2010)), unflagged maneuvers, failures in satellite payload signal generation components, and code-carrier incoherence (Walter et al., 2018). While the LunaNet Relay Service Documents state that robustness of the navigation signal should be a key consideration for LunaNet (National Aeronautics and Space Administration, 2022), the specific methodology for monitoring faults on LunaNet satellites has not yet been solidified.

Currently implemented integrity monitoring methods for terrestrial global navigation satellite systems (GNSSs) can be categorized into three types: (1) ground-based monitoring, (2) receiver autonomous integrity monitoring (RAIM), and (3) satellite-based integrity monitoring (SAIM). The first method relies on a network of ground-based monitoring stations at known positions to track and collect GNSS signals, which are then collected and processed at a central computing center to compute corrections and integrity information (Misra et al., 1993). The system fault alerts are provided as integrity information from GNSS augmentation systems, such as a satellite-based augmentation system (van Diggelen, 2009). The second method, RAIM, uses redundant measurements from GNSS satellites to detect and exclude faulty satellites on the receiver side (Misra et al., 1993). The third method, SAIM, computes the integrity information onboard the navigation satellite to detect satellite-related faults such as clock anomalies and ephemeris errors (Xu et al., 2011).

While the first two methods are well established and widely adopted for integrity monitoring of terrestrial GNSSs, their adoption may be more limited for lunar constellations. The first method requires a network of ground-based monitoring stations, which would be expensive and impractical to deploy widely on the lunar surface, especially for near-term constellations. The second method, RAIM, requires at least five satellites in view to detect (six satellites in view to exclude) a faulty satellite, which limits its availability in lunar constellations with a smaller number of navigation satellites than terrestrial GNSSs.

The third method, SAIM, has several advantages compared with the other two methods, including (1) a faster time to alert enabled by eliminating the latency associated with data collection, processing, and uplink on the ground, (2) the use of precise inter-satellite range (ISR) measurements (BeiDou satellites have demonstrated 10-cm accuracy (Zhang et al., 2024)) that are unaffected by the ionosphere and troposphere, and (3) monitoring that can be operated autonomously within the constellation and independently of ground monitoring. The autonomous nature of SAIM is particularly valuable for early lunar deployments, when lunar surface stations will be scarce or absent.

SAIM has been implemented in the BeiDou GNSS to detect clock phase and frequency jumps by comparing the outputs of multiple onboard clocks (Cao et al., 2019; Chen et al., 2022), at the cost of adding extra hardware. Several other works have also proposed SAIM methods utilizing ISR measurements, which detect ephemeris anomalies by directly comparing the ISR measurement and the predicted range from the ephemeris (Rodriguez-Perez et al., 2011; Wolf, 2000; Xu et al., 2011). However, these methods process ISR measurements on a per-satellite basis; as a result, their minimal detectable bias (MDB) is dependent on ephemeris accuracy (Xu et al., 2011). This dependence may prove challenging for lunar constellations, where orbit determination and time synchronization are more difficult than for terrestrial GNSSs. Another potential SAIM method for solving this problem is to centrally aggregate all ISR measurements, form a linear system of residual equations, and apply data-snooping techniques (Baarda, 1968; Imparato et al., 2018) to isolate faulty satellites.

In this paper, we propose a new algorithm to detect phase jumps in the satellite clocks using dual one-way ISR measurements. The proposed method detects faults by identifying biases injected into ISR measurements whenever a satellite’s onboard clock experiences a phase jump between two dual one-way links. We prove that we are able to detect faulty satellites (satellites with clocks that experienced phase jumps) by assessing the realizability of 5-clique (a fully connected graph of 5 nodes) subgraphs, as these subgraphs remain rigid (graphs that cannot be susceptible to continuous flexing are called rigid graphs) after the removal of any vertex from the graph (Motevallian et al., 2015). The concept of the algorithm is illustrated in Figure 1.

FIGURE 1

Concept of the proposed fault detection algorithm

Our proposed method monitors singular values of the geometric-centered Euclidean distance matrix (GCEDM) (Dokmanic et al., 2015) constructed from the ISR measurements, to check if the 5-clique subgraphs are realizable in three-dimensional (3D) space. In particular, we provide analytical expressions of the distribution of the squared fourth singular value under the presence of noise and biases in the range measurement and design hypothesis tests to detect and identify a satellite clock with phase jumps.

The contributions of this paper are summarized below. This work is based on our prior conference paper presented at the 2024 Institute of Navigation GNSS+ Conference (Iiyama, Neamati, & Gao, 2024), but includes key theoretical and simulation updates beyond our prior publication.

  • We establish the necessary graph topology, specifically, vertex-redundant rigidity, for unambiguous fault detection from ISR measurements.

  • We prove key rank properties of EDMs and GCEDMs and derive the distribution of the squared fourth singular value under noise and bias.

  • We develop a hypothesis test based on the fourth singular value of the GCEDM to detect and identify satellite clock phase jumps.

  • We validate our approach via simulations of a Global Positioning System (GPS) constellation and a notional lunar constellation, analyzing the impact of hyperparameters and fault magnitudes and comparing fault detection and false alarm rates against residual-based baseline methods.

Our method is not intended to replace decades of research in existing fault detection methods. Rather, our method provides new theoretical and practical insights to view the fault detection problem from a different perspective.

This paper is arranged as follows. Section 2 introduces the formulation of the dual one-way ISR measurements. Section 3 describes two baseline clock jump detection methods that use ISR measurement residuals computed from the ephemeris. Section 4 describes the proposed fault detection algorithm based on singular values of the GCEDM. Section 5 provides simulation results for the GPS constellation and a notional lunar constellation. The paper concludes with Section 6.

2 MEASUREMENTS FROM INTER-SATELLITE LINKS

2.1 Dual One-Way ISR Measurement

We consider two satellites establishing a dual one-way inter-satellite link (ISL), as shown in Figure 2, to obtain ISR measurements. In this section, we formulate the ISR measurement model for the dual one-way link, based on work by Zhang et al. (2024).

FIGURE 2

Dual one-way ISL measurement between two satellites. (a) Dual one-way link between the two satellites when there is no phase jump at either satellite. Two pseudorange measurements ρij(t1) and ρij(t2) are obtained. (b) Dual one-way link between the two satellites when there is a phase jump at satellite i. When the phase jump occurs at Δt1<t<t2, a bias cδti is added to the pseudorange measurement ρ˜ji(t2).

Satellite i transmits the signal to satellite j, received at t1, and satellite j transmits the signal to satellite i, received at t2.

Let i, j be the indices of the two satellites establishing the link and xi, xj ∊ℝ3 be the position vectors of the two satellites. The two observation equations for the dual one-way link can be expressed as follows:

ρij(t1)=xj(t1)xi(t1Δt1)+c[τj(t1)τi(t1Δt1)]+c[Δtjrx+Δtitx]+ω11

ρji(t2)=xi(t2)xj(t2Δt2)+c[τi(t2)τj(t2Δt2)]+c[Δtirx+Δtjtx]+ω22

Here, ρij, ρji represent the measured pseudoranges for the two links, where satellites i and j receive the signal at t1 and t2, respectively. Δt1 and Δt2 are the signal travel times, τi and τj are the clock offsets, trx and ttx represent hardware delays of the receiving channel and the transmitting channel, and ω1 and ω2 are the measurement noises. We assume that the phase center offset and relativistic effects are corrected; thus, these terms are not included in the equations.

To eliminate common errors between the two links, the two measurements are transformed into the common time t0 using the following equations:

ρij(t0)=ρij(t1)+Δρij=xj(t0)xi(t0)+c[τj(t0)τi(t0)]+c[Δtjrx+Δtitx]+ω1,03

ρji(t0)=ρji(t2)+Δρji=xi(t0)xj(t0)+c[τi(t0)τj(t0)]+c[Δtirx+Δtjtx]+ω2,04

where Δρij and Δρji are the corrections of satellite position and clocks, expressed as follows:

Δρij=xj(t0)xi(t0)xj(t1)xj(t1Δt1)+c[τj(t0)τi(t0)τj(t1)+τi(t1Δt1)]5

Δρji=xi(t0)xj(t0)xi(t2)xj(t2Δt2)+c[τi(t0)τj(t0)τi(t1)+τj(t2Δt2)]6

The corrections Δρij and Δρji are obtained by using the predicted satellite ephemeris. Therefore, the accuracy of the corrections depends on the accuracy of the satellite velocity and the satellite clock drift of the ephemeris. For BeiDou satellites, the accuracy of the predicted satellite velocity and clock drift is better than 0.1mm/s and 1 x 10-13 s/s, respectively, resulting in Δρij, Δρji <1.0 cm when t2t1 <3 s (Xie et al., 2022). For LunaNet satellites, the specification for the sum of velocity and clock drift error (converted to velocity via multiplication by the speed of light) in the ephemeris is 1.2 mm/s (for 3 σ); thus, the error of the correction terms can be on the order of centimeters (National Aeronautics and Space Administration, 2022). Whenever further accuracy is required or velocity ephemeris information is not available, we can also utilize the ISR rate measurements between the satellites for correction (Iiyama et al., 2024).

The sum and differences of Equations (5) and (6) can be expressed as follows:

rij(t0)=ρij(t0)+ρji(t0)2=xj(t0)xi(t0)+b¯ijrange+ω1,0+ω2,027

τij(t0)=ρij(t0)ρji(t0)2=c[τj(t0)τi(t0)]+b¯ijclock+ω1,0ω2,028

where rij (t0) and τij (t0) are the clock-free and geometry-free observations, respectively. bij and bji are the bias terms due to hardware delays, given as follows:

b¯ijrange=cΔtjrx+Δtitx+Δtirx+Δtjtx29

b¯ijclock=cΔtjrx+ΔtitxΔtirxΔtjtx210

The bias terms bijrange and bijclock are usually constant over a short term and can therefore be estimated using filtering techniques. In this paper, we assume that these biases can be estimated within certain errors, and the error terms are included in the measurement noise, resulting in the following two equations:

rij(t0)=xixj+ωrangeclock-freecombination11

τij(t0)=c[τj(t0)τi(t0)]+ωclockgeometry-freecombination12

For ISLs in BeiDou, the observed ωrange and ωclock can be approximated as Gaussian distributions with standard deviations on the order of centimeters.

2.2 Satellite Clock Phase Jumps

Atomic clocks on navigation satellites occasionally experience a sudden jump in the clock phase. When the clock of satellite i experiences a phase jump of δti (delay) between t1 – Δt1 and t2, as illustrated in Figure 2(b), the corrupted pseudorange measurement ρ˜ji(t2) can be rewritten as follows:

ρ˜ji(t2)=xi(t2)xj(t2Δt2)+c[τi(t2)τj(t2Δt2)]+c[Δtirx+Δtjtx]+cδti+ω2 =ρji(t2)+cδti13

The calculated correction term is as follows:

Δρ˜ji=xi(t0)xj(t0)xi(t2+δti)xj(t2+δtiΔt2)  +c[τi(t0)τj(t0)τi(t1)+τj(t2+δtiΔt2)] =Δρij+δΔρji14

Here, δΔρji is the error in the correction term due to the error in the time stamping of the reception time t2 to t2 + δti, which can be represented as follows:

δΔρji=(xi(t2)xj(t2Δt2)xi(t2+δti)xj(t2+δtiΔt2))  +c[τj(t2+δtiΔt2)τj(t2Δt2)] [ρ˙ji(t2)+cτ˙j(t2Δt2)]δti15

ρ˙ji represents the range rate of the link between j and i, and τ˙j represents the clock drift of the onboard clock at satellite j. Therefore, the corrected pseudorange at t0 is as follows:

ρ˜ji(t0)=ρ˜ji(t2)+Δρ˜ji=(ρji(t2)+cδti)+(Δρij+δΔρji) (ρij(t2)+Δρij)+δti[cρ˙ji(t2)+cτ˙j(t2Δt2)] ρij(t0)+cδti(ρ˙jic,τ˙j1)16

Similarly, when the clock of satellite j experiences a phase jump of δtj (delay) between t1 and t2 – Δt2, ρji can be rewritten as follows:

ρ˜ji(t0)ρij(t0)cδtj17

Therefore, the clock-free and geometry-free combination considering satellite clock jumps is as follows:

rij(t0)=xi(t0)xj(t0)+fifj+ωrangeclock-freecombination18

τij(t0)=c[τj(t0)τi(t0)]+fi+fj+ωclockgeometry-freecombination19

fi={c2δticlock jumpδtioccurs at satelliteifortwithint1Δt<t<t20satellitei's clock is normal20

fj={c2δtjclock jumpδtjoccurs at satellitejfortwithint1<t<t2Δt0satellitej's clock is normal21

Note that if the phase jump δti occurs at t<t1Δt1 or t > t2 and δtj occurs at t < t1 or t>t2Δt2, the errors cancel when ρ˜ij(t0) and ρ˜ji(t0) are added or subtracted. Consequently, these errors do not appear in rij (t0) or τij (t0). Therefore, to improve the likelihood of detecting clock jumps, we should either increase the frequency of the ISL measurements or extend the interval between t1 and t2. However, note that increasing the interval t2t1 will lead to larger correction errors (Δρij and Δρji), which, in turn, result in greater ωrange and ωclock values.

3 BASELINE METHODS: CLOCK FAULT DETECTION USING ISR RESIDUALS

In this section, we introduce two baseline methods for detecting clock jump faults based on existing literature. The two methods use the range residuals, which are computed from the ISL range measurements and the ephemeris information.

3.1 Fault Detection Using the Expected Range from Ephemeris

The first method is based on the ephemeris fault detection method proposed by Rodríguez-Pérez et al. (2011) and Xu et al. (2011). While the original method was proposed for ephemeris fault detection, it can also be utilized for clock phase jump detection.

Let gij be the range residual of the i-th ISL at time t0, which is defined as follows:

gij=rij(t0)x^i(t0)x^j(t0) =xi(t0)xj(t0)x^i(t0)x^j(t0)+fifj+ωrange22

where x^i(t0) is the estimated position (from ephemeris) of the i-th satellite at time t0.

The test statistics for the i-th satellite are defined as follows:

Ti=j=1li(gij22σr2+σm2)223

where li is the number of ISLs that involve the i-th satellite and σr2 and σm2 are the variances of the position estimates in the ephemeris and the variance of ISL range measurement noise (ωrange), respectively.

We define the null hypothesis H0,i as the absence of faults in the i-th satellite and the alternative hypothesis Ha,i as the presence of a fault in the i-th satellite. The test statistic Ti is distributed as a chi-squared distribution with li degrees of freedom under the null hypothesis H0 . The critical value for the test Xα2(li,0) for the false alarm rate α is given as follows:

χα2(li,0)=P[χ2(li,0)χα2(li,0)]=α24

where X2(r, λ) is a non-central chi-squared distribution with r degrees of freedom and the non-centrality parameter λ. Based on work by Xu et al. (2011), the testing procedure is as follows:

AcceptH0ifmaxj{1,,n}Ti<χα2(li,0)25

otherwise:

AcceptHkwherek=argmaxj{1,,n}Tjlj26

The minimum detectable bias, MDB(k), for Hk is computed as follows:

MDB(k)=λ(α,γ,1)(2σr2+σm2)27

The non-centrality parameter λ(α,γ,li) is computed as a function of the false alarm rate α and detection power γ (equal to the missed-detection rate of 1 – γ), by solving for the following equation:

PMD=P[χ2(1,λ)χα2(1,0)]=1γ28

Because of the correlation between gi,j. and gi,k (ik) via the common ephemeris error, the distribution of the test statistic under the null and alternate hypotheses will not exactly follow a chi-squared and non-central chi-squared distribution, respectively. Based on this observation, Xu et al. (2011) proposed to compute a conservative threshold for the test statistic via numerical simulation by using the correlation between two links gi,j. and gi,k as follows:

ρ(gij,gik)σr22σr2+σm229

In this paper, we used Imhof’s method (Imhof, 1961) to compute the critical value for the test statistic. The detailed procedure is explained in Appendix A.

The advantage of this “ephemeris comparison” approach is that the fault detection is fully distributed among the satellites. In addition, the method does not require a particular geometry of links to perform fault detection: if the ephemeris accuracy is sufficiently high, the fault can be detected by directly comparing the expected and measured range. The test is also able to detect faults in the ephemeris information if they are present. However, the disadvantage of this fault detection method is that the MDB is dependent on the ephemeris error σr, as shown in Equation (27).

3.2 Data Snooping with Baarda’s w-Test Statistic

The test in Section 3.1 does not use all of the ISL measurements available in the constellation. By testing the null hypothesis on a complete set of measurements from all ISLs, we can reduce the MDB when the measurement errors are smaller than the ephemeris errors.

Let n be the number of satellites in the constellation, X3n be the flattened vector of spacecraft positions at time t0, and Ym be the vector of m ISR measurements at time t0. We also define b as the bias in the range measurement (equal to cδt/2 in Equations (20) and (21)) from one faulty satellite f that experienced a clock phase jump δt.

The mapping between X and Y can be represented as the following nonlinear function h:

Y=h(X)+cfb+ω,ωN(0m,Σyy)30

where yy=σm2Im is the covariance of the range measurements. cf is a known vector that maps the faulty satellites to the corrupted range measurements, as follows:

cf(i)={1(satellitefis the transmitter of linki)& (clock phase jump at satellitefoccurred during linki)1(satellitefis the receiver of linki)& (clock phase jump at satellitefoccurred during linki)0otherwise31

where cf(i) is the i-th element of cf. By linearizing the above equation around the ephemeris position X¯, we obtain the following:

y=Yh(X¯)H(XX)+cfb+ω=Hx+cfb+ω32

where y=Yh(X¯), x=XX¯, and Hm×3n is the Jacobian matrix.

For the test, we consider n + 1 hypotheses: the null hypothesis H0 where model errors are absent, and the alternative hypotheses H1, …, Hn, which correspond to the faulty satellite being f = 1, f = 2, …, f = n, respectively. Baarda’s w-test statistic for testing H0 against a single alternative Hk(k = 1, …, n) is given as follows (de Jong & Teunissen, 2014):

wk=ckΣyy1PAyckΣyy1PAck33

Here, the projector PA is defined as follows:

PA=ImH(HΣyy 1H)1HΣyy 134

and:

ck(i)={1satellitekis the transmitter of linki1satellitekis the receiver of linki0otherwise35

Here, we assume that the clock phase jump at satellite k corrupted all of the ISLs that involve satellite k. The testing procedure is summarized as follows (Imparato et al., 2018):

AcceptH0ifmaxj{1,,n}|wj|<χα2(1,0)36

otherwise:

AcceptHkif|wk|=maxj{1,,n}|wj|χα2(1,0)37

The MDB for Hk is computed as follows (de Jong & Teunissen, 2014):

MDB(k)=λ(α,γ,1)ckΣyy1PAck38

Iterating over n alternate hypotheses using Baarda’s w-test statistic (which is called data snooping) enables one to detect the existence of biases by considering the effect of biases on the full set of observations. Each test is optimal for any bias magnitude b, whenever the assumptions of the test are true (Lehmann & VoB-Böhme, 2017). At the same time, this test also has some limitations:

  1. In ck, we assume that the biases are injected into all ISR measurements that contain a satellite with a clock phase jump. However, this assumption is not always true because clock jumps may have occurred outside the transmission and reception time for some links (the second condition in Equation (31) is not satisfied), based on the satellite link schedule (Iiyama et al., 2024). This situation would result in having smaller fault links than the assumed model (ck) and having reduced detection power. If we want to rigorously handle this uncertainty of ck, we would need to consider all possible combinations of the links as alternate hypothesis, but this approach would be computationally intractable.

  2. As further discussed in Section 4.1, this method fundamentally detects faults by checking the consistency among redundant measurements. Therefore, a sufficient level of measurement redundancy is required. When the measurement graph is sparse and redundancy cannot be guaranteed, certain fault modes become unobservable, and the method may fail to detect them. In these cases, it may be necessary to rely on direct comparison with ephemeris-based ranges, which do not depend on internal measurement consistency.

Despite these limitations, there remains significant room for methodological improvement to mitigate them. For example, instead of formulating n hypotheses at the satellite (vertex) level, one could construct hypotheses at the edge (range) level, explicitly modeling which individual ISRs are corrupted. A subsequent inference layer could then estimate the faulty satellites from the set of detected faulty edges. Such a hierarchical formulation would better accommodate partial-link corruption. We leave the development and evaluation of these extensions to future work.

4 PROPOSED CLOCK FAULT DETECTION ALGORITHM USING EUCLIDEAN DISTANCE MATRICES

In this section, we propose a satellite clock fault detection algorithm based on rigid graph theory. The method models the set of ISR measurements as a weighted graph and determines whether the set of range measurements is realizable (embeddable) in 3D Euclidean space. Instead of analyzing the realizability of the entire graph, the proposed method analyzes a set of subgraphs to detect faults. The method directly processes the range measurements and therefore does not require any prior information about the satellite positions or clocks.

This section is structured as follows. First, in Section 4.1, we discuss the topology required to detect clock faults based on graph embeddability. In particular, we prove that the graph must be vertex-redundantly rigid (the minimum graph with such a property in three dimensions is a fully connected graph of five nodes) to detect biases in range measurements from the graph’s embeddability. Next, in Section 4.2, we show that the embeddability of a graph can be determined by the properties of the GCEDM, without solving for the position of the nodes. Finally, in Section 4.3.2, we propose a fault detection test based on the GCEDM distributions of fully connected subgraphs in the graph.

4.1 Required Graph Topology for Fault Detection

4.1.1 Definitions

Consider a graph of n nodes, which correspond to satellites. Let xid,(i{1,,n}) be the position of the i-th node and Xd×n be a matrix collecting these points. In this paper, we are interested in the 3D case, d = 3. In this section and the latter sections, we use the following notation for range measurements between the two satellites i and j, instead of Equation (18):

rij=xixj+fij+wij39

where fij = fifj is the bias of the range measurements added by the clock phase jumps and wij is the measurement noise.

Based on the graph and observed ranges rij, we define a weighted graph G=V,E,W. A realization (embedding) of G is d-dimensional Euclidean distance space, ℝd, defined as a function Φ that maps V into ℝd, such that for each edge e=(vi,vj)E, W(e)=rij (Jian et al., 2010). A weighted graph G=V,E,W is called d-embeddable when there is a realization (embedding) Φ:Vd that maps the edges to points (x1, …, xn) in ℝd space.

We define a “faulty satellite” as a satellite that experiences a clock phase jump and corrupts at least one range measurement containing itself. A weighted graph is fault-disprovable if and only if the embeddability of G implies that it contains no faulty satellites and the non-embeddability of G implies that it contains at least one faulty satellite.

A graph is called rigid if it has no continuous deformation other than rotation, translation, and reflection while preserving the relative distance constraints between the vertices (Laman, 1970). Otherwise, the graph is called flexible. A graph is called k-vertex-redundantly rigid if it remains rigid after the removal of any (k – 1) vertices.

FIGURE 3

Flexible, rigid, and two-vertex redundantly rigid graphs in ℝ2. (a) Flexible graph. (b) Rigid graph. (c) Two-vertex-redundantly rigid graph.

4.1.2 Embeddability of Graphs with Faulty Satellites

In this section, we prove the sufficient condition for a graph to be fault-disprovable in ℝd. For the proofs of this subsection only, we ignore the noise added to the measurements.

Proposition 4.1. Suppose that there is at most k – 1 faulty satellites on a graph G=V,E,W that is k-vertex (k ≥ 2) redundantly rigid ind. If G is d-embeddable, then G contains no faulty vertices (satellites) with probability 1.

Proof. See Appendix B.

Proposition 4.2. Given a weighted graph G, if G is k-vertex-redundantly rigid (k ≥ 2), then G is fault-disprovable at probability 1, if there are at most k – 1 faulty satellites.

Proof. For an arbitrary graph G, if G is not embeddable, then G contains at least one faulty satellite. Therefore, from Proposition 4.1, if G is k-vertex-redundantly rigid (k ≥ 2), then G is fault-disprovable at probability 1, if there are at most k – 1 faulty satellites.

4.2 Properties of the Euclidean Distance Matrix

In the previous section, we proved that by using vertex-redundantly rigid graphs, we can detect faults by analyzing their embeddability. Analyzing the embeddability of an arbitrary graph is known to be NP-hard (Hendrickson, 1992), but if the graph is fully connected, we can evaluate it by analyzing the ranks of the GCEDM. Note that fully connected graphs of more than five nodes are 2-vertex-redundantly rigid in ℝ3.

In this section, we introduce and prove several properties of a Euclidean distance matrix (EDM) and GCEDM constructed from the observed ranges between satellites. We also show how we can use the singular values of the GCEDM to evaluate whether a (fully connected) (sub)graph is embeddable in ℝ3.

4.2.1 Geometric-Centered Euclidean Distance Matrix

Using the set of observed ranges rij, we construct an EDM in which the elements are equivalent to the square of the observed ranges (rji2).

Let Dn,d,mn×n be an EDM without measurement noise (Wij = 0) and with m nodes out of n nodes being faulty. For example, a noiseless EDM with six satellites (in 3D space) with two faulty satellites is denoted as D6,3,2. Similarly, we define D˜n,d,mn×n as an EDM with measurement noise and with m nodes out of n nodes having a fault. A GCEDM Gn,d,m (or G˜n,d,m for a noisy EDM D˜n,d,m) is constructed from the EDM via the following operation:

Gn,d,m=12JnDn,d,mJn40

Here, Jn is the geometric-centering matrix, as follows:

Jn=In1n1141

where 1 ∊ ℝn is a vector of ones. When no fault or noise is present (m = 0), Gn,d,0 will be positive semi-definite, and its rank will satisfy rank(Gn,d,0) = rank(XX) ≤ d (Dokmanic et al., 2015).

4.2.2 Rank of EDMs with Faulty Satellites

Knowles and Gao (2023) observed that there are more than three non-zero singular values when the GCEDM is constructed from an EDM with faulty satellites. An example is provided in Figure 4. However, mathematical proofs were not provided in their paper. In this section, we provide and prove several properties of EDMs and GCEDMs that are corrupted by faults and measurement noise.

FIGURE 4

Log plot of the singular values of an example GCEDM for n = 12, d = 3. (a) Singular values of a GCEDM with one faulty satellite. The fourth and fifth singular values increase compared with the non-fault case when the fault magnitude is sufficiently larger than the noise magnitude. (b) Singular values of a GCEDM with two faulty satellites. The fourth, fifth, sixth, and seventh singular values increase compared with the non-fault case when the fault magnitude is sufficiently larger than the noise magnitude.

The singular values are ordered in descending order of their magnitude. The blue circles show the singular values when there is no fault or noise (G12,3,0), the orange squares show the singular values when there is noise (of scale σw = 10–6) added to the range measurements (G˜12,3,0), and the green crosses show the singular values when both noise and one or two faults (of scale b¯=103) are added (G˜12,3,2). The 12 points are identical for all cases, which are sampled randomly inside a unit cube. When noise is present, the singular values increase except for the last singular value, which is close to zero (theoretically zero). When m faults with magnitudes that are larger than the noise magnitude are added, the singular values up to the d + 2m index increase compared with the non-fault case.

Proposition 4.3. The rank of the EDM Dn,d,m satisfies the following:

rank(Dn,d,m)min(d+2+2m,n)42

Proof. See Appendix C.

Proposition 4.4. The rank of the GCEDM Gn,d,m=12JnDn,d,mJn satisfies the following:

rank(Gn,d,m)min(d+2m,n1)43

Proof. See Appendix D.

Corollary 4.4.1. The GCEDM G˜n,d,m=12JnD˜n,d,mJn constructed from an EDM with the edges corrupted by Gaussian noise almost surely has the following rank:

rank(G˜n,d,m)=n144

Proof. See Appendix E.

4.2.3 Distribution of the Fourth Singular Value of the GCEDM

The propositions proved in the previous sections indicate that we can detect faulty satellites by observing the increase in the fourth singular value (for the 3D case) of the GCEDMs constructed from ISR measurements. We use the following test statistic γtest to monitor whether a faulty satellite exists in a given subgraph:

γtest=λ4245

where λi¯ is the i-th singular value of the GCEDM. If the ISR measurements are completely noiseless, we can detect whether a faulty satellite exists within the graph by checking whether γtest of the GCEDMs is not 0, because GCEDMs have rank 3 when no fault exists. However, when the ISR measurements are noisy, the fourth singular value increases regardless of faults, as shown in Figure 4 and Corollary 4.4.1. Therefore, to detect faults in the presence of noise, we must set a threshold based on the singular value distributions of the noisy (but non-fault) GCEDMs to separate the fault from the noise.

For n = 5, we can compute the distribution of the test statistic analytically. The distribution of the test statistic γtest/s2 follows a centralized chi-squared distribution with one degree of freedom, as follows:

γtests2χ2(1,0)forn=546

Here, the squared scale of the test statistic s2 is given by the following equation:

s2=a=12b=12i=15j=15(σmD˜ij)2(U^i,aV^j,b+U^j,aV^i,b)247

U^=J5U˜:,4:5R5×2U˜:,4:5:4th and 5th column ofU˜R5×548

V^=J5V˜:,4:5R5×2V˜:,4:5:4th and 5th column ofV˜R5×549

U˜Σ˜V˜=SVD(G˜)SVD : singular value decomposition,γtest=Σ˜4,42=(λ4)250

Above, G˜ and D˜5times5 are the (noisy) GCEDM and the distance matrix constructed from the measured ranges, respectively. The derivation is given in Appendix F. The squared scale of the distribution is proportional to the noise variance σm2 (Figure 5). When the variance of noise is different for each measurement, Equation (47) can be modified to compute s2 by replacing σm with (σm)ij (the noise for each range measurement).

FIGURE 5

Distribution of the test statistic γtest and its scale s2 (squared scale of λ4) for different noise levels σm. (a) 3D points used for singular value simulation. (b) Distribution of the squared fourth singular value for different noise levels σm. (c) Scale of the chi-squared distribution s, which is proportional to the noise magnitude σm2.

The distribution of the test statistic γtest follows a chi-squared distribution with one degree of freedom. The scale s2 is proportional to the noise magnitude σm2.

When there is a clock jump at satellite Sf, the distribution of the test statistic (γtest)sf follows a non-central chi-squared distribution with one degree of freedom, with its squared scale s2 given by the same equation as above and non-centrality parameter λsf:

(γtest)sfs2χ2(1,λsf)forn=551

The non-centrality parameter λsf is given by the following equation:

λsf=1s2U^(FD)V^F252

F={fiji=sforj=sf0otherwise53

where F represents the Frobenius norm. This result indicates that when all biases added by faults have the same magnitude, the non-centrality parameter λ is proportional to the square of the fault magnitude, as shown in Figure 6 and Figure 7. The derivation is given in Appendix G.

FIGURE 6

Distribution of the test statistic γtest for different fault magnitudes and faulty satellites

The top row shows the points in 3D space, where the red points and edges indicate the faulty satellite and its connected edges, respectively. The distribution of the test statistic γtest follows a non-central chi-squared distribution with one degree of freedom. The non-centrality parameter λ increases as the fault magnitude increases.

FIGURE 7

The non-centrality parameter λ of the distribution of the test statistic is proportional to the square of the fault magnitude b¯2.

Using Equations (46) and (51), we can compute the MDB for satellite i as follows:

MDB(i)=λ¯λis2whereP[χ2(1,λ¯)χα2(1,0)]=1γ54

where α is the false alarm rate, γ is the detection power, s2 is the squared scale provided in Equation (47), and λi is the non-centrality parameter for the satellite i fault case, as provided in Equation (52).

Figure 8 shows the computed MDBs for the two baseline methods (ephemeris comparison and data snooping) and the EDM-based fault detection, using the same geometry as in Figures 5 and 6. The MDB of the data snooping has the lowest value owing to its optimality, whereas the MDB of the ephemeris comparison method largely depends on the ephemeris accuracy. The MDB of the EDM-based detection depends on the relative geometry of each point with respect to other points, which affects the non-centrality parameter λsf.

FIGURE 8

Comparison of MDBs for different fault detection methods

The topology of the points and links is the same as in Figure 5. The detection power γ is fixed to 0.8, and the noise level is fixed to 1e-8. λs in the figure represents λsf in Equation (53).

If desired, the test statistic can be extended for n ≥ 6 as follows:

λtest=i=4n1λi255

The readers are referred to Appendix H for the distribution of this test statistic under nominal conditions and the existence of faults.

4.3 Fault Detection Algorithm Using the EDM

4.3.1 Clique Listing

To construct an EDM and GCEDM, we need a set of range measurements between all pairs of n satellites. However, owing to occultation by the planetary body and attitude constraints, the satellites in the constellation are not fully connected with ISRs in most cases. Therefore, the first step of the fault detection algorithm is to find a set of k-clique subgraphs, which are fully connected subgraphs of k satellites. For the graph to be 2-vertex-redundantly rigid and to use the derived distribution in Equation (46), we are interested in cliques with k = 5. An example of 5-clique subgraphs is shown in Figure 9.

FIGURE 9

Examples of 5-cliques within a graph of 13 nodes that are not fully connected. (a) Topology of the entire graph. (b) 5-clique subgraph 1. (c) 5-clique subgraph 2. (d) 5-clique subgraph 3.

Various exact algorithms for finding all k-cliques have been proposed (Li et al., 2020). In this paper, we use the Chiba–Nishizeki algorithm (Arbo) owing to its simplicity of implementation (Chiba & Nishizeki, 1985). For each node v, Arbo expands the list of k-cliques by recursively creating a subgraph induced by v’s neighbors. The readers are referred to the work by Li et al. (2020) for the pseudocode and summary of the k-clique listing algorithm. Note that the clique finding algorithm does not have to be executed online. Because the availability of the ISRs can be predicted beforehand when scheduling the ISLs using a coarse predicted orbit, we can estimate the topology of the ISLs for future time epochs. We can compute the list of k-cliques of the predicted topologies for future time epochs (e.g., one orbit) and uplink them to satellites intermittently. If some of these links were actually not available in orbit for some reason, we can remove the k-cliques that contain the missing links from the list.

4.3.2 Online Fault Detection

We define a “faulty satellite” as a satellite that has a clock jump and a “fault-free satellite” as a satellite that does not have a clock jump. We design a test where we consider the following hypotheses:

 H0:All satellites are fault-free (null hypothesis) Hi:Satelliteiis a faulty satellite56

Let LtG be the list of all 5-cliques of the satellite network as a graph at time step t, and let Ns be the total number of satellites. We propose an online fault detection algorithm that uses LtG. The procedure of the detection algorithm is as follows.

Algorithmml:

1. First, we compute the scaled test statistic γtest,G'λ42/s2 for each 5-clique subgraph G' in LtG, using Equation (47).

2. For each satellite i in the graph, repeat the following steps (a) to (c):

(a) Compute the sum of all of the scaled test statistics for subgraphs that do not include satellite i:

γtesti=GLtG,iGγtest,G57

(b) Compute the threshold γ¯testi for the sum of the scaled test statistics γtesti for a given false alarm rate α and (user-defined) threshold margin ηα:

γ¯testi=ηαχα2(NG,i,0)58

where NG,i is the number of subgraphs that do not include satellite i,ηα is the threshold margin, and Xα2(NG,i,0) is the α-quantile of the central chi-squared distribution with NG,i degrees of freedom.

(c) Normalize the test statistic by dividing it by the threshold γ¯testi:

γtesti=γtestiγ¯testi59

3. If γtesti<1 for each satellite i, we accept the null hypothesis; otherwise, we reject the null hypothesis. We identify the faulty satellite Sf as the one with the smallest γtesti:

sf=argminiγtesti60

The proposed fault detection algorithm has two hyperparameters that affect its performance.

False Alarm Rate α: This is the probability of a false alarm, which is the probability of detecting a satellite as faulty when it is actually fault-free.

Threshold Margin ηα: This margin inflates the threshold γ¯test to ηαγ¯test, to account for the increase in the variance of the sum of the test statistics, due to the correlation between the test statistics of the subgraphs.

We must set the threshold margin ηα to a value larger than 1, to account for the increase in the variance of the distribution of γtesti, owing to the correlation between the test statistics of the subgraphs. The correlation between the test statistics of the subgraphs is caused by the fact that the same set of range measurements is used to compute the test statistics between different subgraphs. We compute the test statistics for subgraphs that do not contain satellite i, instead of subgraphs that contain i, to avoid having strong correlations between the test statistics of the subgraphs, which would require a larger threshold margin ηα.

The above test only considers a maximum of one faulty satellite. To consider multiple faulty satellites, the test could potentially be expanded by running the algorithm iteratively and removing the detected faulty satellite from the graph after each iteration until no fault is detected (Knowles & Gao, 2024). Alternatively, we can consider NsCNf combinations of faulty satellites, where Nf is the number of faulty satellites, and apply the test for each combination. The detection performance in the case of multiple faults will be assessed in future work.

One practical consideration of the proposed approach is that, for satellite constellations, the fourth singular value of the GCEDM can become extremely small (~10–7) because of the large inter-satellite distances (on the order of 106 m) compared with range measurement accuracy (on the order of sub-meters to meters). This scenario can lead to values that approach machine precision when operating in single precision, necessitating the use of double-precision arithmetic.

4.3.3 Fault-Detectable Graphs with Ephemeris Augmentation

For scenarios in which the links are sparse or the number of satellites is small, the graph may lack a sufficient number of 5-cliques to perform robust fault detection using only ISR measurements. To mitigate this issue, we can augment the graph by “filling in” missing edges using range estimates derived from satellite ephemerides. This hybrid approach utilizes a combination of measured edges (ISR) and computed edges (ephemeris) to construct redundantly rigid subgraphs for fault detection.

However, a fault (specifically, a clock phase jump) appears only in the physical ISR measurements and does not affect the ranges computed purely from ephemeris data. Consequently, for an augmented graph to reliably detect faults, the topology of the measured edges must satisfy a specific connectivity condition.

Proposition 4.5. Consider a redundantly rigid weighted graph G=V,E,W, where the edge set is partitioned into measured edges Em (ISR measurements) and computed edges Ee (derived from ephemeris), such that E = Em u Ee. Let a fault at satellite v ∊ V be defined as a bias that corrupts the weights of all incident edges in Em. The graph G is fault-disprovable (i.e., the graph becomes unrealizable under a fault) if and only if every vertex v ∈ V is incident to at least one measured edge in Em.

Proof. See Appendix I.

We denote the k-node subgraphs that satisfy the connectivity condition in Proposition 4.2 (i.e., every vertex is incident to at least one measured edge) as fault-detectable k-node subgraphs.

For scenarios in which the graph is sparse or the number of satellites is small, the standard 5-clique list LtG described in Section 4.3.2 may be empty or insufficient for robust detection. In such cases, we replace LtG with the list of fault-detectable 5-node subgraphs, denoted as LtFD. These subgraphs are constructed by identifying sets of 5 nodes and “filling in” missing measured edges with computed edges derived from the ephemeris to form fully connected 5-cliques.

To account for the difference in error characteristics between measured and computed edges, we modify the computation of the test statistic variance s2. In Equation (50) (and the generalized form in Equation (117)), the uniform measurement noise variance (σm)ij2 is replaced by an edge-dependent variance (σlink)ij2:

(σlink)ij2={σm2if(i,j)Em(measured edge)2σr2if(i,j)Ee(computed edge)61

where σm2 is the variance of the ISR measurement noise and σr2 is the variance of the satellite position error (assuming independent position errors, the variance of the computed range error is approximately 2σr2).

This substitution drastically increases the number of subgraphs available for fault detection, particularly in sparse constellations or during orbital phases with limited visibility. It will also enable the detection of ephemeris faults. However, this improved availability comes at a cost: the MDB for these subgraphs becomes sensitive to the magnitude of ephemeris errors (σr), rather than being driven solely by the typically smaller measurement noise (σm).

5 SATELLITE FAULT DETECTION SIMULATION

5.1 Simulation Configuration

5.1.1 Orbits and Links

To validate the proposed fault detection algorithm, we consider the following two constellations.

  1. GPS constellation of 31 satellites: The satellite orbits are initialized using two-line element (TLE) data from 2025/4/3 from the CelesTrak website (Kelso, 2024). The 3D plots of the constellation and the available ISLs at t = 0 are shown in Figure 11(a).

  2. A notational lunar constellation of 9 satellites: We consider a constellation of 9 satellites in three orbital planes of elliptical lunar frozen orbit (ELFO) with a 30-h orbital period, as a potential extension of the Lunar Communications Relay and Navigation Systems (Ryden & Volle, 2025). The orbital elements of the constellation are shown in Table 1, and the 3D plots of the constellation and the available ISLs at t = 0 are shown in Figure 12(a).

For both constellations, the orbits are propagated in the two-body propagator without a consideration of perturbations. The availability of the links is calculated by assuming that the links are available when the link between the satellites is not occulted by the central body and the angle between the line of sight and the satellite-body center vector is less than ϕmax, as illustrated in Figure 10. The cutoff angle ϕmax is set to 60° for the Earth case (Zhang et al., 2024) and 90° for the Moon case. To compute body occultation, we set an additional mask of 1000 km for the Earth case and 100 km for the Moon case to avoid the link being corrupted by ionospheric delays or terrain blockage, respectively. We assume that we can obtain range measurements from all available links at each time step. The scheduling of the links will be investigated in future work.

FIGURE 10

The visibility of the link between two satellites is calculated by assuming that the link is visible when it is not occulted by the central body (including the atmospheric mask) and the angle between the line of sight and the satellite-body center vector is less than ϕmax. w.r.t.: with respect to

A scatterplot of the number of 5-cliques in the constellation containing each satellite is shown in Figure 11(b) and Figure 12(b) for the Earth and Moon cases, respectively. For the lunar constellation, we observe that the number of available 5-cliques is significantly lower (below 30), limiting the use of EDM-based fault detection from ISR alone. Therefore, for the lunar case, we used the ephemeris augmentation described in Section 4.3.3 to increase the number of subgraphs that can be used for fault detection. The number of fault-detectable 5-node subgraphs is shown in Figure 12(c).

FIGURE 11

A GPS constellation around Earth with 31 satellites. (a) Orbital planes with satellite position (black points) and links (orange lines) at the initial time epoch. The constellation consists of 31 satellites in six orbital planes. (b) Scatterplot of the number of 5-cliques for each satellite in the constellation over a full orbit. The number of 5-cliques that contain pseudorandom noise (PRN) 1, 10, and 15 are shown in blue, orange, and green, respectively. Each satellite has more than 30 self-containing subgraphs throughout the orbit.

The orbit is initialized using TLE data from CelesTrak.

View this table:
TABLE 1 Orbital Elements of the Waker/ELFO Hybrid Lunar Constellation (Case 2)
FIGURE 12

A lunar constellation around the Moon with 9 satellites. (a) Orbital planes with satellite position (black points) and links (orange lines) at the initial time epoch. The constellation consists of 9 satellites in the Walker constellation with three planes. (b) Scatterplot of the number of self-containing 5-cliques for each satellite in the constellation. The numbers of 5-cliques that contain PRN 1, 2, and 3 are shown in blue, orange, and green, respectively. (c) Scatterplot of the number of self-containing fault-detectable 5-satellite subgraphs for each satellite in the constellation. All satellites have the same number of self-containing fault-detectable subgraphs.

5.1.2 Parameters

We tested different combinations of the following detection and simulation parameters:

  • Test methods: “ephemeris comparison,” “data snooping,” and “EDM”

  • Fault magnitudes: b¯ = 2,4,..., 20 m

  • Ratio of fault links (the probability that the link connected to a faulty satellite is biased): rf = 0.2,1.0

  • Number of faulty satellites: Nf = 0, 1

  • Ephemeris accuracy: σm = {1 m, 2 m} for Earth, σm = {2 m, 3 m, 4 m} for Moon

  • Input probability of false alarm for the fault detection algorithms:

    α = 0.001, 0.002, 0.003,0.005,0.008,0.013,0.022,0.036, 0.06,0.1

For each of these cases, we ran 5000 Monte Carlo analyses with randomly sampled initial times (within one orbital period) and a set of faulty satellites. For all cases, we set the standard deviation of the two-way noise measurement error to σm = 0.5 m, based on the results of the BeiDou constellation (Zhang et al., 2024). An inflation rate of ηα = 1.5 is used for the Earth scenario, and ηα = 5.0 is used for

the lunar scenario.

5.1.3 Evaluation Metrics

We compute the following metrics to evaluate the performance of the fault detection algorithm:

Probability of Missed DetectionPmd=FNTP+FN62

Probability of False AlarmPfa=FPFP+TN63

where TP, FN, FP, and TN are the total number of true positives (faulty satellite classified as faulty), false negatives (faulty satellite classified as non-faulty), false positives (non-faulty satellite classified as faulty), and true negatives (non-faulty satellite classified as non-faulty). A lower Pmd is desired to avoid missing faulty satellites, and a lower Pfa is desired to prevent false alarms, detecting normal satellites as a fault.

5.2 Fault Detection Results
5.2.1 Case 1: GPS Constellation

Figure 13 summarizes the fault detection performance for the GPS constellation under different parameter combinations.

FIGURE 13

Fault detection results for the Earth case with zero or one faulty satellites. (a) [Earth] Probability of false alarm when there are no faults. (b) [Earth] 1 fault, α: 0.001, fault ratio: 1. (c) [Earth] 1 fault, α: 0.001, fault ratio: 0.2. (d) [Earth] 1 fault, a: 0.013, fault ratio: 0.2. (e) [Earth] Pfa vs Pmd for different fault magnitudes (from left to right: 2 m, 4 m, 8 m, 16 m) and input Pfa (varied inside each subplot).

When there is no fault, the Pfa of all methods is below the user-defined Pfa (α = 0.001-0.01). When the fault ratio is 1.0, the data-snooping method shows the lowest Pmd and Pfa, followed by the EDM approach and ephemeris approach.

a) No Fault

When no satellites are faulty, the false alarm probability Pfa of all methods remains below the user-specified threshold α = 0.001 – 0.1. Among the three approaches, the data-snooping method and the EDM-based method achieve the lowest Pfa, indicating strong robustness in fault-free conditions.

b) Single Faulty Satellite with Fault Ratio = 1

When the fault ratio is 1, meaning that all ISRs involving the faulty satellite are corrupted, the data-snooping method yields the best performance. Owing to the optimality of its statistical test under this assumption, it achieves nearly perfect fault detection (Pfa = Pmd = 0) for fault magnitudes as small as 2 m, as shown in Figure 13(e). The PfaPmd trade-off curve of the EDM test lies between those of data snooping and the ephemeris comparison method, as illustrated in the same figure.

The performance of the ephemeris comparison method improves as the ephem-eris accuracy increases, as shown in Figure 13(b). For α = 0.001 and ephemeris accuracy σm = 1m, perfect fault detection (Pfa = Pmd = 0) is achieved when the fault magnitude exceeds 5 m. In contrast, for a lower ephemeris accuracy (αm = 2 m), a larger fault magnitude (approximately 8 m) is required to drive both Pfa and Pmd to zero.

c) Single Faulty Satellite with Fault Ratio = 0.2

When the fault ratio is reduced to 0.2, corresponding to a scenario in which only a subset of links is biased (e.g., owing to link scheduling), the assumptions underlying the data-snooping test are violated. Consequently, data snooping is no longer optimal. Nevertheless, for small fault magnitudes, the data-snooping method still provides the most favorable PfaPmd trade-off among the three methods.

For larger fault magnitudes (e.g., ≥ 15 m), the ephemeris comparison method outperforms the other two approaches. This behavior arises because, when corrupted edges are sparse, both the EDM and data-snooping methods exhibit a higher probability of misattributing the fault to a non-faulty satellite. As in the previous cases, the EDM method consistently demonstrates intermediate performance between ephemeris comparison and data snooping.

5.2.2 Case 2: Lunar Constellation

Figure 14 summarizes the fault detection performance for the lunar constellation under different parameter combinations. Because the ephemeris augmentation strategy described in Section 4.3.3 is employed for the EDM approach, its detection performance also becomes explicitly dependent on the assumed ephemeris accuracy.

FIGURE 14

Fault detection results for the lunar case with zero or one faulty satellites. (a) [Moon] Probability of false alarm when there are no faults. (b) [Moon] 1 fault, α : 0.001, fault ratio: 1. (c) [Moon] 1 fault, α : 0.001, fault ratio: 0.2. (d) [Moon] 1 fault, α : 0.013, fault ratio: 0.2. (e) [Moon] Pfa vs Pmd for different fault magnitudes (from left to right: 2 m, 4 m, 8 m, 16 m) and input Pfa (varied inside each subplot).

When there is no fault, the Pfa of all methods is below the user-defined Pfa (αrid="R06"= 0.001-0.1). For a fault ratio of 1.0, the data-snooping method shows the lowest Pmd and Pfa, followed by the EDM approach and then the ephemeris approach. When the fault ratio is 0.2, the EDM and ephemeris approaches provide better Pfa and Pmd values for large fault magnitudes.

a) No Fault

Consistent with the GPS case, when no satellites are faulty, the false alarm probability Pfa of all methods remains below the user-specified threshold α = 0.001 – 0.1. Among the three approaches, the data-snooping method and the EDM-based method achieve the lowest Pfa, indicating robust behavior under fault-free lunar operating conditions.

b) Single Faulty Satellite with Fault Ratio = 1

When the fault ratio is 1.0, the data-snooping method again yields the best overall performance, owing to the optimality of its statistical test under the assumption that all links associated with the faulty satellite are corrupted. However, because of the reduced number and sparsity of ISLs in the lunar constellation compared with the GPS case, a larger fault magnitude (approximately ≥ 10 m) is required for data snooping to achieve nearly perfect fault detection (PfaPmd ≈ 0), as shown in Figures 14(b) and 14(e).

As in the terrestrial case, the PfaPmd trade-off curve of the EDM approach lies between those of data snooping and the ephemeris comparison method. The performance of the ephemeris comparison method improves with increasing ephemeris accuracy, although its sensitivity to ephemeris errors is more pronounced in the lunar case owing to weaker geometric redundancy.

c) Single Faulty Satellite with Fault Ratio = 0.2

When the fault ratio is reduced to 0.2, corresponding to scenarios in which only a subset of ISLs is corrupted, the assumptions underlying the data-snooping test are violated. As a result, the performance of data snooping degrades significantly, with an elevated Pmd observed even for moderate fault magnitudes.

In contrast, both the EDM and ephemeris comparison methods exhibit improved robustness in this sparse-fault regime. For larger fault magnitudes (e.g., ≥ 8 – 10 m), these two approaches achieve lower Pmd while maintaining Pfa near or below the prescribed threshold. The EDM method consistently demonstrates intermediate performance, outperforming data snooping for sparse faults while remaining less sensitive to ephemeris inaccuracies than the ephemeris comparison method when high-accuracy ephemerides are not available.

6 CONCLUSION

This paper presented a novel framework for detecting satellite clock phase jumps using ISR measurements, grounded in rigid graph theory and EDM analysis. The proposed method models the constellation as a weighted graph and evaluates the realizability of vertex-redundantly rigid subgraphs to identify clock jumps that manifest as structured biases in the ISR.

We established the necessary graph-topological conditions for fault detectability and derived analytical expressions for the distribution of singular values of the GCEDM under both nominal and faulty conditions. These results enabled the development of statistically rigorous hypothesis tests with controllable false alarm probabilities and analytically characterized detection performance. To address sparse measurement geometries, we introduced an ephemeris-augmented formulation that increases fault detectability when inter-satellite connectivity is limited, at the cost of increased sensitivity to ephemeris uncertainty. Simulation studies using both a terrestrial GPS constellation and a notional lunar constellation demonstrated that the proposed method remains effective across a wide range of fault magnitudes, link topologies, and operational scenarios.

Overall, the proposed approach offers a geometry-driven perspective on rangebased fault detection through the lens of graph rigidity, complementing conventional residual-based methods. Future work will investigate extensions that incorporate modifications to data-snooping methods, multi-fault detection, and integration with link scheduling to maximize fault observability and detection performance.

HOW TO CITE THIS ARTICLE:

Iiyama, K., Neamati, D., & Gao, G. (2026). Satellite autonomous clock fault monitoring with inter-satellite ranges using euclidean distance matrices. NAVIGATION, 73. https://doi.org/10.33012/navi.764

A | COMPUTING THE TEST THRESHOLD USING IMHOF’S METHOD

In this section, we describe the procedure for obtaining the critical value for the hypothesis test in Section 3.1. The correlation between two residuals that share the same satellites can be described as follows (Xu et al., 2011):

ρ(gi,j,gi,k)=cov(gi,j,gi,k)cov(gi,j,gi,j)cov(gi,k,gi,k)=βσr22σr2+σm264

Here, β is the cosine of the angle between two line-of-sight vectors et,j, ei,k, that satisfies the following:

cos(ϕmax)<cos(β)<cos(0)=165

The covariance matrix Σ of the li normalized residuals gi,j=gi,j/2σr2+σm2 obtained at satellite i can be described as follows:

Σi,j={1i=jβσr22σr2+σm2ij66

Based on Imhof’s method, the cumulative distribution function value of the test statistic Ti=j=1ligij2 is given as follows (Imhof, 1961):

FΣ(q)=P(Tiq)=121π0(eitqϕ(t))dtt67

Here, ℑ(⋅) denotes the imaginary part, and the characteristic function ϕ (t) is defined as follows:

ϕ(t)=k=1li12itλk68

where 𝜆k (k = 1,..., li) are the eigenvalues of the covariance matrix Σ. However, it is computationally expensive to evaluate Equation (67) for every satellite at every time step. Therefore, Xu et al. (2011) suggested using a conservative bound for the cross-terms of Σi,j, as follows:

Σi,j={1i=jσr22σr2+σm2ij69

Then, we can pre-compute FΣ(q) for lt = 1,...,Ns and a pre-determined false alarm rate α = 1 – q and store them in a table. The test procedure using this conservative bound is as follows:

AcceptH0ifmaxj{1,,n}Ti<FΣ(1α)70

otherwise:

AcceptHkwherek=argmaxj{1,,n}Tjlj71

B | PROOF OF PROPOSITION 4.1

Proof. Let ruv represent the observed inter-note distances. Consider a k-vertex-redundantly rigid graph G with weight W (euv ) = ruv that is d-embeddable. Let q: V ∈ ℝ3 be a generic realization (i.e., it does not lie on a plane or line, unless forced by the ranges) of the points with true inter-node distances r¯uv given by the following:

r¯uv=quqv72

and p: V ∈ ℝ3 be the generic realization of the points with the observed inter-note distances ruv:

ruv=pupv=quqv+fuv73

where fuv ≠ 0 if u or v is the faulty satellite and fuv = 0 otherwise.

We assume the following statement:

Gcontainsm(1mk1)faulty nodes74

Without a loss of generality, we can assume that the indices of the faulty nodes are 1,..., m for m ≤ k-1. Let G'= G\{1,..., m} be a graph without the m ≤ k-1 faulty nodes. Because G is k-vertex-redundantly rigid, G' is rigid in ℝd. In addition, because G' contains no fault nodes, we have the following:

r¯uv=ruv,u,v{1,,m}75

Therefore, we may choose coordinates so that we have the following:

pj=qjj{1,,m}76

For each fault node i{1,,m}, its neighbor jN(i),N(i)={k(i,k)G} satisfies the following:

pupv=qiqj+fij(fij0)77

Hence, pi must lie in the following intersection:

jN(i){xR3:xqj=qiqj+fij}78

Geometrically, this is the common intersection of ||𝒩(i)|| spheres in ℝ3. It is known that every vertex in a k-vertex-redundantly rigid graph must have a degree of at least d + k –1 (Jordán et al., 2022). Because m ≤ k -1, each fault node has at maximum k – 2 edges with other fault nodes (which are not included in G'); therefore, we have ||𝒩(i)|| ≥ (d + k – l)–(k – 2 ) = 3 – 1 + 2 = 4.

Let {j1,..., j4} ∈ 𝒩(i), with the following:

r=[qiqj1+fij1qiqj4+fij4]R479

We define a smooth map:

F:R3R4F(x)=[xqi1xqi4]80

The spheres intersect if and only if the following holds:

rF(R3)81

Because the Jacobian of F can have a rank of at most 3, its image F(ℝ3) ⊂ ℝ4 is at most a 3D immersed submanifold of ℝ4. Any smooth embedding of a k-dimensional manifold into ℝn has an n-dimensional Lebesgue measure of 0 whenever k <n (Guillemin & Pollack, 1974). Since the probability law of the random vector r is assumed to be absolutely continuous with respect to the 4-dimensional Lebesgue measure, the probability that Equation (81) holds is 0. This contradicts the statement that the graph G is d-embeddable with the observed ranges, at probability 1. Because we derived a falsehood, the assumption of Equation (74) that the graph contains 1 ≤ m ≤ k – 1 fault nodes is false, at probability 1. Therefore, if the graph is k-vertex rigid, is d-embeddable, and contains at most k – 1 faulty nodes, the graph does not contain any fault nodes, at probability 1.

C | PROOF OF PROPOSITION 4.3

Proof. As discussed by Dokmanić et al. (2015), the noiseless and faultess EDM, Dijn,d,0=xixj2, based on a collection of points XRd×n, can be constructed from Equation (82):

Dn,d,0=1diag(XX)2XX+diag(XX)182

where diag(XX)Rn is the vector formed from the diagonal entries of XX. The first and last matrices of Equation (82) are rank-1 matrices by construction. These rank-1 matrices each contribute to the matrix rank, except for degenerate cases, where the points are equally spread apart ( X1=0 ). The middle term includes the Gram matrix XX, which is rank d except for degenerate cases where the points lie on a lower-dimensional hyperplane (i.e., rank(XX)=2 if the points lie on a plane). Thus, in line with the work of Dokmanić et al. (2015), rank(Dn,d,0)d+2, where the condition holds with equality outside of the aforementioned degenerate cases.

During a fault, we encounter cross-terms with the bias following Equation (83):

Dijn,d,m=(XiXj+fij)2=XiXj2+2XiXjfij+fij2 =XiXj2+fij(2XiXj+fij) =XiXj2+fij(sij+fij)83

where si,j is two times the element-wise square root of the corresponding entry in the EDM. As a matrix, we can write Sijn,d=sij We can write the bias term Fijn,m=bij as a matrix as well. Both Sn,d and Fn,m are real, symmetric matrices. Then, we arrive at Equation (84):

Dn,d,m=Dn,d,0+Fn,m(Sn,d+Fn,m)84

where ∘ is the element-wise or Hadamard product. For the sake of illustration, consider a case with three faults of equal magnitude and opposite signs realized at satellites k = {2,3,4} for n >7, without a loss of generality:

Fn,{2,3,4}=f¯[011100102211120211122011011100011100]=f¯[011110221202122001110111][100011010000001000000100]85

In the rank-decomposition of Fn,m, the first column in the matrix has a one in each fault entry and a zero otherwise. This column spans all of the nm fault-free columns. The remaining m columns correspond to the columns in Fn,m with faults and have a zero at the fault entry. In the above example, the entry 2 is illustrative. In general, the entry will depend on the fault magnitudes, which may be different. With probability zero, the faults across satellites exactly cancel out and lead to degeneracy in the fault detection, as discussed below. Fn,m achieves full rank when the number of faults reaches m=n1. In general, rank(Fn,m)=min(1+m,n) if m>0 and rank(Fn,0)=0. By a similar argument, rank(Fn,mFn,m)=rank(Fn,m) because we will have one column indicating the fault entries and m columns associated with the columns of Fn,mFn,m with faults, which are the same columns as Fn,m. This overall rank relationship often holds even if the faults are of different non-zero magnitudes. However, if the faults cancel out, the rank will drop. For example, in the above case, if b2=2f¯ and b3=b4=f¯, then rank(Fn,m)=3. Therefore, rank(Fn,m)min(1+m,n) for arbitrary fault sizes. Nevertheless, the term rank(Fn,mFn,m) can still be rank m+1 even if rank(Fn,m)<m+1, as the squaring can remove the linear cancellation.

However, the span of the columns of Fn,mSn,d will generally span the columns of Fn,mFn,m. Again, for the sake of illustration, we extend the above example with faults at satellites k={2,3,4} for n>7, without a loss of generality:

Fn,{2,3,4}Sn,d=f¯[0s12s13s1400s1202s232s24s25s2ns132s2302s34s35s3ns142s242s340s45s4n0s25s35s45000s2ns3ns4n00] =f¯[0s12s13s1400s1202s232s24s25s26s132s2302s34s35s36s142s242s340s45s460s25s35s45000s2ns3ns4n00][100000Δ17Δ1n010000000010000000010000000010Δ57Δ5n000001Δ67Δ6n]86

Here, Δij are leftover terms from the row-reduction. In the rank-decomposition of Fn,mSn,d,m columns correspond to the columns in Fn,m with faults and have a zero at the fault entry, just as before. However, now, one column is generally not enough to span the fault-free columns because the entries in Sn,d are not linearly related. For example, ( s12,s13,s14 ) is generally not a linear scaling of ( s25,s35,s45 ). These fault-free columns constitute an m-dimensional subspace, which will require m columns to fully span. Fn,mSn,d achieves full rank when the number of faults reaches m=n/2, where is the ceiling function. At that point, the subspace of fault-free columns is large enough that the fault columns will contribute to the span. Therefore, rank(Fn,mSn,d)min(2m,n), where we do not have equality when Sn,d is degenerate (i.e., if the faulty satellites are above or below a plane of fault-free satellites).

The columns needed to span Fn,mSn,d are the same as those needed for Fn,mFn,m, with the same sparsity pattern. Therefore, we will have the following:

rank(Fn,m(Sn,d+Fn,m))=rank(Fn,mSn,d)min(2m,n)87

Lastly, the subspace spanned with the fault contributions is distinct from the subspace spanned by the EDM. Therefore, we have the following:

rank(Dn,d,m)min(d+2+2m,n)88

where the equality holds in non-degenerate cases.

D | PROOF OF PROPOSITION 4.4

Proof. First, by rank inequality, rank(AB) ≤ min(rank(A), rank(B)) for arbitrary matrices A and B. The rank of the geometric-centering matrix is rank(Jn) = n – 1. Thus, rank(Gn,d,k) ≤ n – 1. However, this bound is too loose when there are few faults. Expanding the expression for geometric centering yields Equation (89):

Gn,d,m=12JnDn,d,mJn=12Jn(Dn,d,0+Fn,m(Sn,d+Fn,m))Jn=12Jn(1diag(XX)2XX+diag(XX)1)Jn 12Jn(Fn,m(Sn,d+Fn,m))Jn89

First, geometric centering removes the two rank-1 matrices, as shown in Equations (90) and (91) (Dokmanić et al., 2015):

12Jn(1diag(XX))Jn=12(1diag(XX)1diag(XX))(In1n11)=090

12Jn(diag(XX)1)Jn=12(In1n11)(diag(XX)1diag(XX)1)=091

For the 2XX term, notice that the mean of the points is μ=1nX1Rd. Using this property yields Equation (92), which is a Gram matrix of the form XcXc for the point matrix Xc centered about the origin (Dokmanić et al., 2015). This shift will not change the rank, meaning that rank(XX)=rank(XcXc):

12Jn(2XX)Jn=(Xμ1)(Xμ1)=XcXc92

The remaining term is 12Jn(Fn,m(Sn,d+Fn,m))Jn. By rank inequality, we have the following:

rank(Jn(Fn,m(Sn,d+Fn,m))Jn)min(rank(Fn,m(Sn,d+Fn,m)),rank(Jn)) =min(2m,n1)93

Hence, we are left with the following:

rank(Gn,d,k)min(d+2m,n1)94

E | PROOF OF COROLLARY 4.4.1

Proof. In terms of rank, the noise acts as many small faults on each satellite, with the same sparsity structure as Fn,m in Proposition 4.3, almost surely with m = n, as there is zero probability that the randomly sampled noise is exactly zero or exactly cancels out. Using Proposition 4.4, we obtain the following:

rank(Gn,d,m)=rank(Gn,d,n)min(d+2n,n1)=n195

Therefore, succinctly, rank(Gn,d,m)=n1, almost surely.

F | DERIVATION OF THE SCALE OF THE CHI-SQUARED DISTRIBUTION

Let D ∈ ℝ5x5 be the distance matrix between the nodes where Di,j = ||xixj ||, and let E ∈ ℝ5x5 be the perturbation matrix (noise matrix) where Eij=ωijN(0,σm2). The observed noisy distance matrix is D=D+E The EDM is DD, where ∘ is the Hadamard (element-wise) product. The observed (noisy) GCEDM is as follows:

G=12J5(DD)J5 =12J5[(DD)+2(DE)+(EE)]J5 G+ΔG(ED)96

where ΔG = J5 (D o E)J5. The second-order error term (E o E) is approximated as zero in the third line. Here, G has rank 3, and G has rank 4, as proved in Corollary 4.4.1. Therefore, rank (ΔG) ≥ 4 – 3 = 1, by rank subadditivity. We denote the SVD of G as follows:

G=UΣV=[U1U0][Σ303×202×302×2][V1V0](U1,V1R5×3andU0,V0R5×2)97

From the SVD of the perturbed matrix G=UΣV, we obtain the following:

Σ=UGV =(U+ΔU)(G+ΔG)(V+ΔV) =Σ+U(ΔG)V+UG(ΔV)+ΔUGV+[(ΔU)ΔGV+UΔGΔV+(ΔU)ΔGΔV]  Σ+U(ΔG)V+ΣV(ΔV)+ΔUUΣ(second- and third-order perturbation0) =[ Σ3+U1ΔGV1+Δ11U1ΔGV0+Δ12 U0ΔGV1+Δ21U0ΔGV0]  (Δ11,Δ12,Δ21:perturbation fromΣV(ΔV)+ΔUUΣ) =[Σ3+U1ΔGV1+Δ1103×202×3U0ΔGV0]98

U0ΔGV0 has rank 1 because G has rank 4. Thus, the fourth singular value of G satisfies the following:

λ42=Σ442=U0ΔGV0F299

We observe that the expectation of the matrix elements inside the norm is zero:

E[(U0ΔGV0)ij]=(U0J5(DE[E])J5V0)ij=0(E[Eij]=0)100

Moreover, the term (U0ΔGV0)ij is a linear combination of the elements of E, where Eij follows a Gaussian distribution. Because a linear combination of Gaussian variables is also Gaussian, the term itself is normally distributed. Combined with the zero-mean property, the squared fourth singular value λ42 follows a scaled central chi-squared distribution with one degree of freedom (k), where λ4/s2 follows a chi-squared distribution. Because the mean of a chi-squared distribution can be written as ks2(k=1),s2 is given by the following:

s2=E[λ42] =E[U0J5(DE)J5V0F2] =E[U^(DE)V^F2](U^=J5U0,V^=J5V0R5×2) =a=12b=12(E[(i=15j=15U^i,aDijEijV^j,b)2])101

The distribution of the product of the two elements in the noise matrices can be represented as follows:

E[EijEkl]={σm2if(i,j)=(k,l)or(i,j)=(l,k)0otherwise102

Therefore, the squared scale of 𝜆4 is as follows:

s2=a=12b=12i=15j=15σm2Dij2(U^i,aV^j,b+U^j,aV^i,b)2103

In addition, by comparison of the right bottom element of Equation (98), we obtain the following:

U0(G+ΔG)V0=U0ΔGV0104

where U0,V0 are the fourth and fifth columns of U,V. Therefore, by plugging Equation (99) into Equation (104), we obtain the same scale as Equation (103) by replacing D and U0,V0 with the perturbed distance matrix D and singular vectors U0,V0. Therefore, we obtain the following:

s2=a=12b=12i=15j=15(σmDij)2(U^i,aV^j,b+U^j,aV^i,b)2(U^=J5U0,V^=J5V0R5×2)105

G | DERIVATION OF THE NON-CENTRALITY PARAMETER WHEN A FAULT EXISTS

Let the faulty satellite be denoted as Sf, with all of the ranges connected to the faulty satellite biased by f¯. Using the same notation as in Appendix F, the perturbed distance matrix DF is as follows:

Df=D+F+E106

where:

Fij={fiji=sforj=sf0otherwise107

Therefore, the perturbed GCEDM is as follows:

Gf=12J5(DfDf)J5G+ΔGF+ΔG108

where:

ΔGF=J5(FD)J5109

From Collloary 4.4.1, Gf has rank 4. Similar to the discussion in Appendix F, the fourth singular value of Gf satisfies the following:

λ42=442 =U0TΔGV0+U0TΔGfV0F2110

We analyze the expectation of the matrix term inside the norm:

E[U0(ΔG+ΔGf)V0]=E[U0ΔGV0]+U0ΔGfV0 =0+U0J5(DF)J5V0 0(DF0)111

The underlying variable is the sum of a zero-mean Gaussian term ( U0ΔGV0 ) and a non-zero constant bias term ( U0ΔGfV0 ). Because the underlying variable is Gaussian with a non-zero mean, its squared Frobenius norm λ42 follows a non-central chi-squared distribution.

The mean of this non-central chi-squared distribution is as follows:

s2(k+λ)=E[λ42]=E[U0TΔGV0F2]+E[i=12j=12(U0TΔGV0)ij(U0TΔGFV0)ij]+U0TΔGFV0F2 =s2+U0TΔGFV0F2(Eq.(101),E[(U0TΔGV0)ij]=0) =s2(1+1s2U0J(DF)JV0F2)112

where s2 is the squared scale given in Equation (105).

Therefore, the non-centrality parameter is given by the following:

λsf=1s2U0J5(DF)J5V0F2113

H | GENERALIZATION OF THE TEST STATISTIC DISTRIBUTION FOR N ≥ 5

We generalize the derivation from Appendix F to an arbitrary number of satellites n ≥ 5. We define the generalized test statistic γtest as the total energy of the noise subspace singular values:

γtest=k=4n1λk2114

where λk represents the singular values of the observed (noisy) GCEDM G. This statistic is equivalent to the squared Frobenius norm of the matrix projected onto the active noise subspace.

Because the true noiseless matrix G is unknown, we approximate the active noise subspace using the singular vectors of the measured matrix G. Let the SVD of the observed matrix be G=UΣU. We partition the singular vectors U as follows:

U˜=[u˜1u˜2u˜3U˜su˜4u˜n1U˜noiseu˜nu˜1]115

Here, US spans the signal subspace. The vectors u4,,un1 span the active noise subspace. The final vector un corresponds to the structural null direction parallel to 1. Owing to geometric centering ( G1=0 ), the singular value associated with un remains strictly zero.

We approximate the projection of the noise perturbation ΔG using this observed basis Unoise. Let MnoiseUnoiseΔGUnoise. Because ΔG is linear in the Gaussian measurement noise E,Mnoise is a symmetric matrix of zero-mean Gaussian variables. The sum of squares of its independent elements follows a chi-squared distribution with k degrees of freedom:

k=(n4)(n3)2116

(e.g., k = 1 for n = 5). The scaled test statistic follows γtests2χ2(k,0), where the squared scale parameter s2 is computed using the observed singular vectors ua (columns of Unoise) and the observed distances Dij:

s21ka=4n1b=4n1(i=1nj=1n(σmDij)2(ui,auj,b+uj,aui,b)2)117

This approximation holds because the perturbation of the singular vectors corresponding to the noise subspace is small (Equation (98)), allowing Unoise (obtained from G ) to serve as a valid approximation for the true noise subspace U^N (of G ) in the variance computation. Note that for n=5, Equation (117) reduces to the result derived in Equation (105).

When a fault occurs, the GCEDM includes a deterministic bias term ΔGf=Jn(DF)Jn. The projection onto the noise subspace becomes Mtotal=Mnoise+Mbias, where Mbias=U^NΔGfU^N. The test statistic γtestMtotalF2 then follows a non-central chi-squared distribution:

γtests2χ2(k,λnc)118

The non-centrality parameter 𝜆nc can be computed as follows:

λnc=1s2MbiasF2=1s2a=1n4b=1n4(u^aΔGfu^b)2119

For n = 5, this reduces to the result λsf=1s2(u0ΔGfu0)2 derived in Equation (113).

I PROOF OF PROPOSITION 4.5

Proof. We assume that graph G is redundantly rigid. A graph is fault-disprovable if the injection of a fault bias makes the set of edge constraints inconsistent (i.e., the graph cannot be embedded in Euclidean space).

Let vf ∈ V be a satellite experiencing a clock fault. This fault introduces a bias b ≠ 0 to the measured ranges. The weights of the edges incident to vf are given by the following:

W(u,vf)={XuXvf+bif(u,vf)EmXuXvfif(u,vf)Ee120

where the measurement noise and ephemeris error are not considered in this proof.

Case 1: Sufficient Condition. Assume that vf has at least one incident edge emeas = (u, vf) ∈ Em. Because G is redundantly rigid, the distance between u and vf is structurally constrained by the remaining edges in E \{emeas}. The faulty weight W(emeas) includes the bias b, creating a geometric contradiction with the constraints imposed by the rest of the graph. Thus, the graph becomes unrealizable, and the fault is detectable.

Case 2: Necessary Condition. Assume that vf has no incident edges in Em (i.e., degE (vf) = 0). In this case, all edges connected to vf are from the set Ee. The weights of these edges are derived solely from the ephemeris, which is independent of the instantaneous clock jump fault. Consequently, the geometry of vf in the graph remains consistent with the ephemeris model, regardless of the actual clock fault. The graph remains realizable, and the fault cannot be detected by analyzing the rigidity or embeddability of G.

Therefore, for the graph to be fault-disprovable for any single satellite fault, it is necessary that every node vV have at least one incident edge in Em.

Acknowledgments

We acknowledge Derek Knowles for reviewing this paper. This material is based upon work supported by the Nakajima Foundation and the National Science Foundation under grant no. DGE-1656518.

This is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited.

REFERENCES

  1. Baarda, W. (1968). A testing procedure for use in geodetic networks. Netherlands Geodetic Commission, 2(5).
  2. Cao, Y., Hu, X., Chen, J., Bian, L., Wang, W., Li, R., Wang, X., Rao, Y., Meng, X., & Wu, B. (2019). Initial analysis of the BDS satellite autonomous integrity monitoring capability. GPS Solutions, 23, 35. https://doi.org/10.1007/s10291-019-0829-z
  3. Chen, L., Dai, Y., Gao, W., Cao, Y., Hu, Z., Ren, Q., Nie, X., Zheng, J., Shao, R., Pei, L., & Wang, L. (2022). Performance analysis of BDS-3 SAIM and enhancement research on autonomous satellite ephemeris monitoring. Remote Sensing, 14(15), 3543. https://doi.org/10.3390/rs14153543
  4. Chiba, N., & Nishizeki, T. (1985). Arboricity and subgraph listing algorithms. SIAM Journal on Computing, 14(1), 210223. https://doi.org/10.1137/0214017
  5. de Jong, K., & Teunissen, P. J. G. (2014). Minimal detectable biases of GPS observations for a weighted ionosphere. Earth, Planets and Space, 52(10), 857862. https://doi.org/10.1186/BF03352295
  6. Dokmanić, I., Parhizkar, R., Ranieri, J., & Vetterli, M. (2015). Euclidean distance matrices: Essential theory, algorithms and applications. arXiv. https://doi.org/10.48550/arXiv.1502.07541
  7. Guillemin, V., & Pollack, A. (1974). Differential topology (1st ed.). Prentice-Hall.
  8. Hendrickson, B. (1992). Conditions for unique graph realizations. SIAM Journal on Computing, 21(1), 6584. https://doi.org/10.1137/0221008
  9. Iiyama, K., Neamati, D., & Gao, G. (2024, September). Autonomous constellation fault monitoring with inter-satellite links: A rigidity-based approach. In Proceedings of the 37th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2024), (pp. 28072824). https://doi.org/10.33012/2024.19935
  10. Iiyama, K., Vila, G. C., & Gao, G. (2024, March). Contact plan optimization and distributed state estimation for delay tolerant satellite networks. In 2024 IEEE Aerospace Conference (pp. 113). https://doi.org/10.1109/AERO58975.2024.10521114
  11. Imhof, J. (1961). Computing the distribution of quadratic forms in normal variables. Biometrika, 48(3–4), 419426. https://doi.org/10.1093/biomet/48.3-4.419
  12. Imparato, D., Teunissen, P. J., & Tiberius, C. C. J. M. (2018). Minimal detectable and identifiable biases for quality control. Survey Review, 51(367), 289299. https://doi.org/10.1080/00396265.2018.1437947
  13. Israel, D. J., Mauldin, K. D., Roberts, C. J., Mitchell, J. W., Pulkkinen, A. A., Cooper, L. V. D., Johnson, M. A., Christe, S. D., & Gramling, C. J. (2020, March). LunaNet: A flexible and extensible lunar exploration communications and navigation infrastructure. In 2020 IEEE Aerospace Conference (pp. 114). https://doi.org/10.1109/AERO47225.2020.9172509
  14. Jian, L., Yang, Z., & Liu, Y. (2010, March). Beyond triangle inequality: Sifting noisy and outlier distance measurements for localization. In 2010 Proceedings IEEE INFOCOM (pp. 19). https://doi.org/10.1109/INFCOM.2010.5462019
  15. Jordán, T., Poston, C., & Roach, R. (2022). Extremal families of redundantly rigid graphs in three dimensions. Discrete Applied Mathematics, 322, 448464. https://doi.org/10.1016/j.dam.2022.03.006
  16. Kelso, T. (2024). A new way to obtain GP data (aka TLEs). Retrieved April 28, 2025, from https://celestrak.org/NORAD/documentation/gp-data-formats.php
  17. Knowles, D., & Gao, G. (2023). Euclidean distance matrix-based rapid fault detection and exclusion. NAVIGATION, 70(1). https://doi.org/10.33012/navi.555
  18. Knowles, D., & Gao, G. (2024). Greedy detection and exclusion of multiple faults using euclidean distance matrices. arXiv. https://doi.org/10.48550/arXiv.2404.12617
  19. Laman, G. (1970). On graphs and rigidity of plane skeletal structures. Journal of Engineering Mathematics, 4(4), 331340. https://doi.org/10.1007/BF01534980
  20. Lehmann, R., & Voß-Böhme, A. (2017). On the statistical power of Baarda’s outlier test and some alternative. Journal of Geodetic Science, 7(1), 6878. https://doi.org/10.1515/jogs-2017-0008
  21. Li, R., Gao, S., Qin, L., Wang, G., Yang, W., & Yu, J. X. (2020). Ordering heuristics for k-clique listing. Proceedings of the VLDB Endowment, 13, 25362548. https://doi.org/10.14778/3407790.3407843
  22. Misra, P., Bayliss, E., Lafrey, R., Pratt, M., & Muchnik, R. (1993). Receiver autonomous integrity monitoring (RAIM) of GPS and GLONASS. NAVIGATION, 40(1), 87104. https://doi.org/10.1002/j.2161-4296.1993.tb02296.x
  23. Motevallian, S. A., Yu, C., & Anderson, B. D. (2015). On the robustness to multiple agent losses in 2D and 3D formations: Multiple agent losses in 2d and 3d formations. International Journal of Robust and Nonlinear Control, 25(11), 16541687. https://doi.org/10.1002/rnc.3167
  24. National Aeronautics and Space Administration. (2022). Lunar communications relay and navigation systems (LCRNS) preliminary lunar relay services requirements document (SRD). https://esc.gsfc.nasa.gov/static-files/ESC-LCRNS-REQ-0090%20Rev_B%2012-05-2022%20DCN001.pdf
  25. Rodríguez-Pérez, I., García-Serrano, C., Catalán Catalán, C., García, A. M., Tavella, P., Galleani, L., & Amarillo, F. (2011). Inter-satellite links for satellite autonomous integrity monitoring. Advances in Space Research, 47(2), 197212. https://doi.org/10.1016/j.asr.2010.07.019
  26. Ryden, G., & Volle, M. (2025). NASA lunar communications relay and navigation systems (LCRNS) reference constellation 3.1 (tech. rep.). NASA Goddard Space Flight Center. https://esc.gsfc.nasa.gov/static-files/LCRNS_Reference_Constellation_White_Paper_03_2025.pdf
  27. van Diggelen, F. (2009). A-GPS: Assisted GPS, GNSS, and SBAS. Artech House.
  28. Walter, T., Gunning, K., Phelts, R. E., & Blanch, J. (2018). Validation of the unfaulted error bounds for ARAIM. NAVIGATION, 65(1), 117133. https://doi.org/10.1002/navi.214
  29. Weiss, M., Shome, P., & Beard, R. (2010, November). On-board GPS clock monitoring for signal integrity. In Proceedings of the 42nd Annual Precise Time and Time Interval Systems and Applications Meeting (pp. 465480). https://www.ion.org/publications/abstract.cfm?articleID=10752
  30. Wolf, R. (2000, September). Onboard autonomous integrity monitoring using intersatellite links. In Proceedings of the 13th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GPS 2000) (pp. 15721581) https://www.ion.org/publications/abstract.cfm?articleID=1564
  31. Xie, X., Geng, T., Ma, Z., Chen, L., & Liu, J. (2022). Estimation and analysis of BDS-3 satellite yaw attitude using inter-satellite link observations. GPS Solutions, 26, 106. https://doi.org/10.1007/s10291-022-01290-8
  32. Xu, H., Wang, J., & Zhan, X. (2011). GNSS satellite autonomous integrity monitoring (SAIM) using inter-satellite measurements. Advances in Space Research, 47(7), 11161126. https://doi.org/10.1016/j.asr.2010.11.026
  33. Zhang, C., Geng, T., Xie, X., Zhao, Q., Li, T., Li, Z., & Meng, Y. (2024). Analysis of BDS intersatellite link ranging performance. Advances in Space Research, 73(10), 49554966. https://doi.org/10.1016/j.asr.2024.02.023
Loading
Loading
Loading
Loading
  • Share
  • Bookmark this Article