Next Article in Journal
Three-Dimensional Instance Segmentation of Rooms in Indoor Building Point Clouds Using Mask3D
Previous Article in Journal
Deep Learning Model for Precipitation Nowcasting Based on Residual and Attention Mechanisms
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Toward Robust GNSS Real-Time Orbit Determination for Microsatellites Using Factor Graph Optimization

1
Huanjiang Laboratory, School of Aeronautics and Astronautics, Zhejiang University, Hangzhou 310027, China
2
Micro-Satellite Research Center, Zhejiang University, Hangzhou 310027, China
3
Key Laboratory of Micro-Nano Satellite Research Zhejiang Province, Hangzhou 310027, China
*
Author to whom correspondence should be addressed.
Remote Sens. 2025, 17(7), 1125; https://doi.org/10.3390/rs17071125
Submission received: 13 February 2025 / Revised: 19 March 2025 / Accepted: 20 March 2025 / Published: 21 March 2025

Abstract

:
Extended Kalman Filter (EKF) is extensively employed in Global Navigation Satellite System (GNSS)-based real-time orbit determination (RTOD) for microsatellites due to its low complexity. However, the performance of EKF-RTOD is markedly degraded when the microsatellite deviates from a stable Earth-pointing attitude and employs a low-cost receiver. Factor graph optimization (FGO), which addresses nonlinear problems through multiple iterations and re-linearization, has demonstrated superior accuracy and robustness compared to EKF in challenging environments such as urban canyons. In this study, we introduce a novel FGO-based RTOD (FGO-RTOD) approach, which integrates state transfer factors to establish temporal connections between state nodes across multiple epochs. Real-time processing is achieved through a sliding window mechanism combined with marginalization. This paper evaluates the performance of the proposed algorithm in a regular scenario using data from GRACE-FO-A, which maintains the Earth-pointing attitude and employs a high-performance receiver. The positioning results of GRACE-FO-A indicate that FGO-RTOD marginally outperforms EKF-RTOD in accuracy. Furthermore, the performance of FGO-RTOD is assessed in challenging scenarios using simulation data and on-orbit data from Tianping-2B microsatellite, which is not in an Earth-pointing attitude and employs a low-cost receiver. The simulation results reveal that FGO-RTOD reduces the Root Mean Square (RMS) of positioning error by 79.0% relative to EKF-RTOD and exhibits significantly enhanced smoothing. In the Tianping-2B experiments, FGO-RTOD reduces the RMS of carrier-phase ionosphere-free combination residuals from 2 cm to 1 cm relative to EKF-RTOD, alongside a substantial improvement in the ratio of valid observations. These findings underscore the effectiveness of FGO-RTOD in managing outlier measurements in challenging scenarios.

1. Introduction

Microsatellites have experienced rapid development in recent years, driven by their cost-effectiveness and short manufacturing cycles [1,2,3]. As a fundamental prerequisite for satellites to execute diverse tasks, satellite navigation technology has been extensively investigated, with the Global Navigation Satellite System (GNSS) emerging as the predominant method due to its exceptional stability and precision. Extended Kalman Filter (EKF) plays a crucial role in real-time orbit determination (RTOD) to acquire accurate position and velocity information by utilizing broadcast ephemeris, pseudorange, and carrier phase observations obtained from spaceborne GNSS receivers. Under regular conditions, EKF-RTOD can achieve dm-level accuracy when the satellite maintains a stable Earth-pointing attitude and employs a high-precision receiver [4,5]. However, the performance of EKF-RTOD is often compromised when processing low-quality observations from low-cost spaceborne receivers on microsatellites. Moreover, attitude maneuvers are inevitable for microsatellites when executing specific tasks, which also leads to degradation of the quality of GNSS observations. The above adverse factors make it too challenging for EKF-RTOD to achieve robust and accurate orbit determination in microsatellites.
Factor graph optimization (FGO) has gained popularity in the field of simultaneous localization and mapping (SLAM) due to its flexibility [6,7,8]. In a factor graph framework, the measurements of sensors are encoded as factor nodes that are simply added to the framework when measurements are generated. FGO is capable of handling nonlinear optimization problems through iterative re-linearization and can also leverage the correlation among historical epochs to obtain a globally optimal estimation [9,10]. Moreover, FGO can use a loss function to robustly handle outlier measurements [11,12]. Based on these properties, FGO tends to yield smoother and more accurate results compared to traditional filter-based methods. Therefore, in recent years, researchers have begun to attempt to apply FGO to GNSS to study its robust positioning performance in challenging environments. Sünderhauf and Protzel [13] were the first to use FGO for GNSS positioning. They focused on pseudorange measurements and treated observations affected by multipath errors as outliers in the optimization problem. Watson and Gross [14] proposed an FGO-based precise point positioning (PPP) framework for GNSS with real-time optimization using incremental smoothing and mapping. Their validation dataset showed that FGO-based PPP demonstrated better convergence performance compared to EKF-based PPP. Wen and Hsu [15] developed an FGO-based GNSS real-time kinematic (RTK) framework and investigated the time correlation of pseudorange, carrier phase, and Doppler measurements. They verified its localization performance in challenging urban canyons of Hong Kong where FGO-RTK outperformed EKF-RTK. Wen et al. [12] proposed a graduated non-convexity FGO method to mitigate the effect of GNSS outliers by estimating the optimal weights of GNSS measurements. Bai et al. [11] used carrier phase measurements within a window to constrain the states in the factor graph and compared the effectiveness of Huber and Cauchy loss functions in suppressing outlier measurements. Wang et al. [9] obtained results that FGO-RTK was superior to EKF-RTK in moderately and highly complex urban environments using a marginalization-based carrier phase ambiguity propagation method. Xin et al. [16] proposed a sliding window-based FGO to meet the real-time requirement. They experimented in the complex urban canyon of Hong Kong using a low-cost GNSS receiver and finally achieved real-time results with m-level average horizontal positioning error.
For low Earth orbit (LEO) satellites, the absence of external control forces allows for a precise characterization of inter-epoch motion by modeling the forces acting on the satellite. This renders FGO a promising approach for implementing RTOD. Low-cost receivers are ideal for deployment on microsatellites due to their minimal power consumption and compact size. However, these receivers often suffer from relatively unstable clock sources and suboptimal signal quality. When microsatellites are in non-Earth-pointing attitudes, signals from GNSS satellites with low or even negative elevation angles are susceptible to interference from atmospheric delays and severe multipath effects, which result in degradation of the quality of the observations. What’s worse, the number of observable satellites will also decrease significantly, leading to an increase in the Geometry Dilution of Precision (GDOP). When FGO is used, data correlations are taken into account from multiple epochs simultaneously and the states are refined through multiple iterations. Therefore, FGO can resist the degradation of observed signal quality or unreasonable fluctuation of states among epochs to obtain the globally optimal solution. The above advantages give FGO the opportunity to provide robust and high-precision RTOD for microsatellites in challenging environments. Nevertheless, the real-time processing capability of factor graph optimization remains underexplored, with most research focusing on optimization using progressively expanding windows, which inevitably escalates computational demands.
To address these challenges, this paper proposes a factor graph optimization framework based on a sliding window for RTOD, and the main contributions of this paper include:
  • To the best of the authors’ knowledge, this paper is the first to use sliding window-based FGO for RTOD, and we propose state transfer factors, including dynamics factor, clock offset variation factor, and ambiguity variation factor, to enhance the connection between multiple epochs;
  • We provide a detailed procedure for applying Schur complement-based marginalization to sliding window-based FGO, which explicitly incorporates Jacobian matrices and covariance to ensure accurate uncertainty propagation, and clearly defines the state nodes affected by marginalization. The marginalization significantly enhances computational efficiency without compromising accuracy;
  • We processed the first published data of the GNSS receiver on the Tianping-2B microsatellite and showed that the FGO-based RTOD solution exhibits superior robustness compared to EKF-RTOD.

2. Construction of Factor Graph Optimization

The basic design of the FGO-based RTOD (FGO-RTOD) proposed in this paper is shown in Figure 1. The circles denote the state nodes. In order to meet the requirements of real-time applications, we designed the factor graph based on a sliding window. The real-time solution of FGO-RTOD is obtained from the latest epoch in the window. RTOD in this paper is implemented using the ionosphere-free combined measurements of the code and phase recorded as PC and LC [17,18]. The set of states  χ  of the GNSS receiver in the sliding window is represented as follows:
χ = x k n + 1 ; , x k 1 ; x k ; p x k = y k ; δ t r k ; N 12 k
where n denotes the length of the sliding window,  p = C D ; C R  is the dynamic parameter vector that includes drag coefficient  C D  and solar radiation pressure coefficient  C R x k  denotes the state at epoch k which involves the position and velocity state vector  y k , receiver clock offset  δ t r k , and LC ambiguity vector  N 12 k  of received GNSS satellites. All factors in Figure 1 will be presented later.

2.1. Measurement Factors

For a spaceborne receiver on a LEO satellite, the undifferenced and uncombined (UDUC) observation models of pseudorange P and carrier phase L are formulated as:
P f s = ρ s + c ( δ t r δ t s ) + I f s + ε P f s L f s = ρ s + c ( δ t r δ t s ) + λ f N f s I f s + ε L f s
where  ρ s  represents the geometric range between the GNSS satellite (superscript s) and the receiver; c is the speed of light; δts and δtr are the clock offsets of the GNSS satellite and receiver, respectively;  I f s  represents the ionospheric path delay, f and λ are the frequency and wavelength of the carrier, respectively;  N f s  is the carrier phase ambiguity;  ε P f s  and  ε L f s  denote the pseudorange and carrier phase observation noises. Note that most signals from high-elevation GPS satellites are not affected by tropospheric delays due to the fact that LEO satellites operate above the troposphere, and we consider possible tropospheric delays for signals from low-elevation GPS satellites as part of the observation noise. All other error terms, such as hardware delays from both the receiver and GNSS satellite, systematic error, multipath, and polarization-induced windup for carrier phase, are enclosed into the ε term [19].
The PC and LC are obtained using dual-frequency ionosphere-free combination, as shown in Equations (3) and (4), respectively:
P 12 s = ρ s + c δ t r δ t s + ε P 12 s
L 12 s = ρ s + c δ t r δ t s + λ 12 N 12 s + ε L 12 s
where  λ 12 N 12 s = f 1 2 f 1 2 f 2 2 λ 1 N 1 s f 2 2 f 1 2 f 2 2 λ 2 N 2 s .
The error function of PC and LC at epoch k can be denoted as  e P , 12 s k  and  e L , 12 s k :
e P , 12 s k R P , 12 s ( k ) 2 = P 12 s k ρ s k + c δ t r k δ t s k R P , 12 s ( k ) 2 e L , 12 s k R L , 12 s k 2 = L 12 s k ρ s k + c δ t r k δ t s k + λ 12 N 12 s t R L , 12 s k 2
where  e Ω 2 = e T Ω 1 e  is defined as the squared Mahalanobis distance [8] for the covariance matrix  Ω R P , 12 s  and  R L , 12 s  are the variances of PC and LC, which can be propagated from the UDUC pseudorange variance  σ P s 2  and carrier-phase variance  σ L s 2  through the error propagation law, respectively.  σ P s  and  σ L s  are set to 0.3 and 0.003, respectively.
The measurement factor  e z k R ( k ) 2  of epoch k consists of the sets of LC and PC factors for all observed satellites  s [ 1 , m k ] :
e z k = e P , 12 1 k , e L , 12 1 k , , e P , 12 m k k , e L , 12 m k k T
R ( k ) = d i a g R P , 12 1 k , R L , 12 1 k , , R P , 12 m k k , R L , 12 m k k

2.2. State Transfer Factor

In order to better establish the relationship between state nodes within a window, a state transfer factor is proposed in this paper. The state transfer factor  e f k Q ( k ) 2  at epoch  k 1  consists of three components: the dynamics factor  e D k , the clock variation factor  e C k , and the LC ambiguity variation factor  e N , 12 s k :
e f k = e D T k , e C k , e N , 12 1 k , , e N , 12 m k k T
Q ( k ) = d i a g Q D , Q C , Q N , 12 1 , , Q N , 12 m k
where  Q ( k )  is the process noise matrix. The individual terms in the equations are described in later subsections.

2.2.1. Dynamics Factor

Dynamic force models are used to accurately propagate the satellite state vector over time by means of numerical integration of the first order differential equation [20]:
d d t y ( t k ) = f t k , y ( t k ) , p = v ( t k ) a t k , r ( t k ) , v ( t k ) , p y ( k ) = y k 1 + t k 1 t k f t , y t , p d t + ε D
Where  y ( t k )  is the state vector at  t k  includes satellite position  r ( t k )  and velocity  v ( t k ) , a is the acceleration vector of the satellite in the geocentric inertial coordinate frame, which can be obtained by calculating the force on the satellite at position  r ( t k )  and velocity  v ( t k ) . The acceleration vectors of the LEO satellite are shown in Figure 2, which include the gravitational acceleration aE due to Earth’s non-spherical surface and uneven mass distribution, gravitational acceleration aS and aM due to the Sun and the Moon, respectively, acceleration at caused by solid Earth, polar and ocean tides, acceleration ad resulting from atmospheric drag, acceleration asr arising from solar radiation pressure, acceleration aer derived from Earth radiation pressure and relativistic effects.  ε D  is the sum of dynamic model error and propagation error.
Dynamics factor  e D k Q D 2  is introduced to limit the position and velocity variations of the satellite between epochs with the covariance matrix of  Q D :
e D k Q D 2 = y ( k ) y k 1 t k 1 t k f t , y t , p d t Q D 2
where the numerical integration is accomplished using a simple 4th-order Runge-Kutta integration method. Note that unlike studies that use empirical accelerations to compensate for the shortcomings of simplified dynamic models, this article directly uses  Q D  to represent dynamic errors.

2.2.2. Clock Offset Variation Factor

Clock fluctuations are closely tied to the frequency stability of the clock source. These fluctuations can be particularly pronounced in low-cost receivers. Clock offset variation factor  e C k Q C 2  is used in FGO-RTOD to describe the fluctuation of clock with variance of  Q C .
e C k Q C 2 = δ t r k δ t r k 1 Q C 2
In addition, it absorbs a small number of other errors such as hardware delay, antenna phase center offset, and dynamics model errors.

2.2.3. LC Ambiguity Variation Factor

The carrier phase ambiguity of satellite s is theoretically constant, but it may fluctuate due to the fast movement of the LEO satellite and imperfect error modeling. LC ambiguity variation factor  e N , 12 s k σ N , 12 s 2  is introduced to accommodate its instability in real-time estimation with variance of  Q N , 12 s :
e N , 12 s k Q N , 12 s 2 = N 12 s k N 12 s k 1 Q N , 12 s 2
Note that  e N , 12 s k  only considers satellites that have been tracked continuously without cycle slip.

2.3. A Priori Factor

The a priori factor  e x k Π k 2  represents the a priori single point positioning (SPP) factor  e s p p 0 Π s p p 2  in the first epoch. In subsequent epochs, it serves as the marginalization factor  e M k Π M 2 .
e x k = e s p p 0 k = 0 e M k k 0
Π k = Π s p p k = 0 Π M k 0
The individual terms in the equations are described in later subsections.

2.3.1. A Priori SPP Factor

To reduce the number of iterations, we use the initial position and velocity vector  y 0 0  and clock offset  δ t r , 0 0  obtained from the SPP algorithm in the first epoch to construct the a priori SPP factor, which can be denoted as:
e s p p 0 Π s p p 2 = y ( 0 ) y 0 0 Π y 0 2 + δ t r ( 0 ) δ t r , 0 0 Π δ t r 0 2
where  Π y 0  and  Π d t r 0  denote the a priori covariance matric set empirically for the position and velocity states and clock offset state,  Π s p p = d i a g Π y 0 , Π δ t r 0 .

2.3.2. Marginalization Factor

In existing FGO-based GNSS positioning frameworks, researchers have extended the window length indefinitely to fully exploit data correlation between previous and current epochs [11,21]. However, this approach inevitably results in a progressive escalation in computational load. To address this challenge, more researchers have explored the implementation of sliding window-based GNSS estimators. In this approach, once the window reaches its maximum size, the oldest state node and its associated factors are removed. Nevertheless, the outright exclusion of information outside the window can lead to the algorithm to diverge. To address this issue, some researchers have proposed leveraging marginalization to retain the relevant node information outside the window. It has been demonstrated that a sliding window estimator incorporating marginalization achieves convergence performance comparable to that of a batch estimator [22]. In this paper, a marginalization factor is constructed by marginalizing past nodes, effectively serving as a prior factor that provides a priori information for the first state node within the window.
When the total number of state nodes exceeds the length of the sliding window and we have obtained the state  χ ^  solved by the previous sliding window estimator, we have to marginalize the node  x ^ k n  outside the window to obtain the a priori information for the current sliding window. We construct a state vector  x ^ M R = x ^ M T , x ^ R T T , where  x ^ M = x ^ k n  denotes the node to be marginalized, and  x ^ R = x ^ k n + 1 ; p  denotes the node in the window that is adjacent to  x ^ M . The a priori error function  e M R , x , the state transfer error function  e M R , f , the measurement error function  e M R , z , and the whole error function  e M R  corresponding to  x ^ M R  are denoted as:
e M R , x = e x k n e M R , f = e f k n + 1 e M R , z = e z k n T , e z k n + 1 T T e M R = e M R , x T , e M R , f T , e M R , z T T
The Jacobian matrix of all error equations with respect to  x ^ M R  is denoted as:
G = e M R , x x ^ M R T , e M R , f x ^ M R T , e M R , z x ^ M R T T
Λ  denotes the covariance matrix of factors associated with  x ^ M R :
Λ = Π k n Q k n + 1 R k n R k n + 1
The normal equation of  x ^ M R  can be expressed as:
H · Δ x ^ M R = b
where  H = G T Λ 1 G  and  b = G T Λ 1 e M R .
Rewrite the normal equation as:
H M M H M R H R M H R R · Δ x ^ M Δ x ^ R = b M b R
Marginalization can be achieved with the Schur complement [22]:
H s c h u r Δ x ^ R = b s c h u r
where  H s c h u r = H R M H M M 1 H M R + H R R  and  b s c h u r = H R M H M M 1 b M + b R .
H s c h u r  and  b s c h u r  should be first used to generate the corresponding Jacobian matrix  J 0  and the residuals  b 0  by the singular value decomposition (SVD):
V Σ V T = H s c h u r
J 0 = Σ 1 / 2 V T b 0 = Σ 1 / 2 V T b s c h u r
Thus, the marginalization factor can be given as follows:
e M k n + 1 Π M 2 = b 0 J 0 · x k n + 1 ; p x ^ R Π M 2
where  Π M  is set by an identity matrix because the marginalization information is directly generated from the last optimal estimation.

3. Algorithm Implementation

After completing the last optimization, the following equations are used to drive the system forward:
y ( k ) = y k 1 + t k 1 t k f t , y t , p d t
δ t r k = δ t r k 1
N 12 s k = N 12 s k 1
Note that Equation (28) only considers satellites that have been tracked continuously without cycle slip in the previous and current epochs. In other cases, the LC ambiguity of satellite s needs to be initialized as:
N 12 s k = L 12 s k P 12 s k
In order to obtain the maximum a posteriori (MAP) estimate for the factor graph, it is necessary to find the set of states that maximizes the product of the individual probabilities of the factor nodes [23]. However, in this paper, simplification of this optimization problem can be achieved by employing the Gaussian noise assumption. This assumption allows the use of the negative logarithm method to convert the problem from maximizing the product of probabilities to solving a non-linear least squares problem:
χ ^ = arg min χ e x k n + 1 Π k n + 1 2 + n e z k R ( k ) 2 + n 1 e f k Q ( k ) 2
The variable  χ ^  can be estimated by solving the objective function Equation (30) iteratively. The objective function is solved by the state-of-the-art Ceres solver [24]. The sliding window length is set to the default of 3, and remains unchanged unless otherwise specified.
The implementation of the proposed sliding window-based FGO-RTOD framework is shown in Figure 3.
Step 1: At the initial epoch, the receiver position, velocity and clock offset are initialized using the SPP solution. LC ambiguities are initialized using Equation (29).
Step 2: Upon completion of the optimization in the previous epoch, states are propagated to the current epoch using Equations (26)–(29).
Step 3: Obtain raw measurements from the spaceborne receiver, including pseudoranges, carrier phases and broadcast ephemeris information, etc. Carrier phase cycle slip detection is implemented based on geometry-free (GF) combination [25].
Step 4: Construct the measurement factors, state transfer factors and a priori factor within the window. Then perform the optimization using Equation (30).
Step 5: Calculate the marginalization factor for the next epoch.
Step 6: Proceed to the subsequent epoch and iteratively execute Steps 2–5.
Due to the computation capacity limitation of the spaceborne processor, not all perturbations, especially minor ones such as solid Earth tides, ocean tides, polar tides, relativity effects, and Earth radiation pressure, should be considered in RTOD. The specific configurations for the dynamic force model are outlined in Table 1. In this paper, simplified precession and nutation models and rapidly predicted Earth orientation parameters are applied for the transformation of coordinate systems.

4. Experimental and Simulation Evaluations

We verified the performance of the proposed algorithm in two scenarios: the regular scenario and the challenging scenario. For the regular scenario, we used the onboard GNSS data of the GRACE-FO-A satellite which maintains a stable Earth-pointing attitude and carries a high-precision spaceborne GNSS receiver. Raw observation data could be obtained from the Level-1B products provided by the German Research Centre for Geosciences (GFZ). For the challenging scenario, we processed one set of data from the simulation platform and three sets of real data from Tianping-2B to validate the performance of the proposed method in this paper when the satellite is in a non-Earth-pointing attitude and a low-cost receiver is used. This is the first time that information about Tianping-2B has been made public. Tianping-2B is a microsatellite weighing about 20 kg and was launched in 2022. It flies in a sun-synchronous orbit at an altitude of about 500 km and employs adaptive attitude control aligned with mission-specific requirements.
The ZJU-SpaceRcv GNSS receiver aboard the Tianping-2B satellite delivers position, velocity, and time (PVT) services while validating real-time orbit determination capabilities, as shown in Figure 4. It is a low-cost and miniaturized spaceborne receiver independently developed by Zhejiang University in Hangzhou, China and this is the first time that the receiver has been tested on orbit. ZJU-SpaceRcv can collect code and phase measurements at the L1C and L2C frequencies of the GPS or the B1I and B3I frequencies of both the BDS-2 and the BDS-3. To the best of the authors’ knowledge, this is the first on-orbit dual-civilian-code (L1C and L2C) spaceborne GPS receiver used for orbit determination. The relevant specifications of ZJU-SpaceRcv are listed in Table 2.
Raw observations from the low-cost receiver on board Tianping-2B were used to validate the RTOD performance of the proposed method in the challenging scenario. We also used a GNSS simulator to simulate the GNSS signals received by Tianping-2B in space. The GNSS data processing strategies for GRACE-FO, Tianping-2B and the simulation are shown in Table 3. The receiver antenna phase center offset (PCO) is corrected by satellite attitude information in quaternion. We ignore the effect of the antenna phase center variation (PCV) because it tends to be much smaller than the broadcast ephemeris error.
As shown in Figure 5, signals from satellites with high elevation angles typically yield more reliable observations. In contrast, signals from satellites with low or even negative elevation angles are susceptible to interference from atmospheric delays and severe multipath effects, which results in diminished measurement accuracy [30,31]. Consequently, it is essential to control the signal quality by setting an appropriate cut-off elevation angle for satellites in general missions. Since not all GPS satellites transmit L2C signals [32], there are fewer observations available for dual-frequency ionosphere-free (IF) combinations for ZJU-SpaceRcv. Furthermore, the number of visible satellites is significantly reduced when the microsatellite operates in a non-Earth-pointing attitude, necessitating the inclusion of low and negative elevation satellites to ensure positioning continuity. Compounding the issue, during microsatellite attitude maneuvers, the receiver’s internal loop may lose lock, leading to carrier phase cycle slips [33].
A priori standard deviation and process noise settings for GRACE-FO, Tianping-2B and the simulated microsatellite are shown in Table 4.

4.1. Experimental Evaluation in Regular Scenario

The GRACE-FO-A data from 0–24 h on 5 May 2019 was selected to evaluate the performance of the proposed algorithm in a regular scenario. The left part of Figure 6 presents a sky plot showing the distribution of observed satellites based on azimuth and elevation angle. It can be observed that the satellite distribution appears to be highly uniform, indicating that GRACE-FO-A is carrying out a stable observation of the Earth. GDOP quantitatively describes how satellite geometric configurations affect positioning accuracy. The number of satellites (Nsat) and GDOP for the entire arc segment are shown in the right part of Figure 6. The average number of observed satellites during the entire arc segment is 8.33. The GDOP remains within the range of 2 to 3, except for occasional instances when GDOP increases due to a decrease in the number of visible GPS satellites.
To comprehensively assess the efficacy of the proposed methodology, we conducted a comparative analysis of positioning performance across three different methods, noting that FGO did not introduce an M-estimator at this time:
(1)
EKF-RTOD: the standard EKF-based GNSS RTOD framework [4], where the measurement model and state transition model are derived from the factors in the FGO framework, and all relevant parameter settings are consistent with those used in the FGO framework;
(2)
FGO-RTOD: the proposed sliding window-based FGO-based RTOD framework with marginalization, which provides the real-time solution for the latest state node solved by Equation (30);
(3)
FGO-RTOD (Delayed): the method gives the delayed solution for the oldest state node in the sliding window with marginalization. The solution has a window-length time delay.
Positioning errors in radial direction, along-track direction, cross-track direction and 3D were derived from precision orbit references provided by the Jet Propulsion Laboratory (JPL), shown in Figure 7. Corresponding statistics are summarized in Table 5. Comparative analysis reveals that FGO-RTOD achieves marginally superior accuracy relative to EKF-RTOD in the regular scenario, which is indeed attributed to the advantages of the FGO method, such as multiple iterations, re-linearization, and the ability to take into account the correlation of multiple epochs. However, since the quality of the observed data is high in the current scenario, the problem tends to be highly linear and the benefits of re-linearization may be limited. In addition, the state variations between epochs in the regular scenario are very stable, so the advantages of FGO, which can take into account multiple epoch correlations, over the sequential estimator EKF cannot be exploited, resulting in limited accuracy improvement. FGO-RTOD(Delayed) exhibits improved accuracy compared to FGO-RTOD due to the consideration of additional nodes and factors, however, we do not describe it too much because it cannot obtain a real-time solution.

4.2. Simulation Evaluation in Challenging Scenario

The simulation hardware setup is shown in Figure 8, which includes a GNSS signal simulator, a ZJU-SpaceRcv GNSS receiver, a PC, an RF cable and a power supply. The GNSS signal simulator used in this setup is the Spirent GSS9000, which is capable of simulating GPS L1C and L2C signals. ZJU-SpaceRcv received the RF signals from the simulator and forwarded the raw GNSS observations to the PC.
The specific orbital parameters are provided in Table 6. At the beginning, the simulated microsatellite was in the Earth-pointing attitude until 3500 s, when it began to roll at a speed of +1 deg/s, as shown in Figure 9. Once the roll angle reached 45 deg, the attitude was fixed for 5 min. Afterward, the microsatellite returned to the normal Earth-pointing attitude at a rate of −1 deg/s.
The Nsats and GDOPs in the simulation are displayed in Figure 10. During the simulation, the number of satellites available for RTOD fluctuates between 5 and 10, with an average of 7.3. The GDOP varies between 1.53 and 10.31. During the period of satellite rolling, the number of available satellites for RTOD significantly decrease to the minimum, with a corresponding increase in GDOP to the maximum.
The positioning errors are illustrated in Figure 11, with the true orbits are given from the GNSS simulator. Corresponding statistics are summarized in Table 7. The results demonstrate that the stability of FGO-RTOD is markedly superior to that of EKF-RTOD during the satellite’s attitude maneuver, with the 3D maximum (3DMAX) errors for FGO-RTOD and EKF-RTOD being 1.139 m and 6.921 m, respectively. Meanwhile, the positioning error of FGO-RTOD exhibits significantly smoother behavior, and its 3DRMS is reduced by 79.0% compared to that of EKF-RTOD. Furthermore, upon restoration of the number of available satellites, FGO-RTOD achieves faster convergence and higher accuracy than EKF-RTOD. The reason why FGO-RTOD achieves better results compared to EKF-RTOD lies in the fact that EKF-RTOD can be viewed as an FGO-RTOD with a sliding window length of 1, while FGO-RTOD can simultaneously consider the correlations among all epochs within a sliding window of length n. Measurement outliers in individual epochs are constrained by the epoch-to-epoch correlations in FGO, making it difficult for them to affect the normal states within the window. This enables FGO-RTOD to identify measurement outliers more effectively.

4.3. Experimental Evaluation in Challenging Scenario

Raw GNSS observations collected from Tianping-2B in July 2023 were used to evaluate the performance of the proposed algorithm in the challenging scenario. Given the constrained battery capacity of the microsatellite, the ZJU-SpaceRcv GNSS receiver was only powered on during complex tasks requiring accurate positioning information. The specific arc segments analyzed in this paper were:
Arc1: started on 07/18/2023 23:03:00, ended on 07/19/2023 02:03:00.
Arc2: started on 07/20/2023 10:32:50, ended on 07/20/2023 11:48:00.
Arc3: started on 07/21/2023 23:05:00, ended on 07/22/2023 02:00:00.
The sky plot of the observed GPS satellites is depicted in Figure 12. It is evident from the plot that there is a gap in the azimuth range of 350° to 30°. This gap suggests that Tianping-2B was not pointing to the center of the Earth during the corresponding flight arc.
The Nsats and GDOPs for the three arc segments are displayed in Figure 13. As ZJU-SpaceRcv operates at the L2C frequency, the number of observations available for dual-frequency IF combination is considerably lower compared to GRACE-FO. Consequently, there are moments when the GDOP drops to 0 due to the Nsat falling below 4. The data from Tianping-2B can be used to evaluate the robustness of the proposed algorithm in the challenging scenario.
Tianping-2B is equipped exclusively with ZJU-SpaceRcv for positioning, and no reference orbit is available for performance assessment. Furthermore, the short observational arcs preclude the comparison of overlapping arcs. Therefore, we illustrated the algorithm’s performance through the residuals of PC and LC. The residuals of PC and LC for Arc3 are shown in Figure 14. It is evident that the LC residuals of FGO-RTOD exhibit a considerable reduction in the number of discrete points compared to those of EKF-RTOD. Histograms of LC residuals of EKF-RTOD and FGO-RTOD are shown in Figure 15. Note that the dark blue bin indicates an overlap between FGO’s LC residual count and EKF’s. As illustrated in Figure 15, FGO demonstrates a superior ability to concentrate the LC residuals around zero and to identify unreliable outliers more effectively than EKF.
The residuals of non-outlier LC measurements typically remain below 10 cm. Table 8 shows the Root Mean Square (RMS) of LC residuals for EKF-RTOD and FGO-RTOD across the three arcs, considering only LC residuals below 10 cm. In addition, Table 8 includes the ratio between the number of LC residuals less than 10 cm and the total number of LC residuals. The LC residuals RMS for FGO-RTOD of Arc3 significantly decreases from 2.052 cm to 1.051 cm, while the ratio of LC residuals below 10 cm increases from 90.57% to 97.90%. For other arcs, the improvements in RMS and ratio exceed 0.43 cm and 7.0%, respectively. These results further underscore the superior capability of FGO-RTOD in managing LC outliers compared to EKF-RTOD in the challenging scenario.

5. Discussion

Using an M-estimator is a typical way to reduce the sensitivity to outliers. The objective function of FGO-RTOD with the Cauchy function is expressed as:
χ ^ = arg min χ e x k n + 1 Π k n + 1 2 + n γ e z k R ( k ) 2 + n 1 e f k Q ( k ) 2
The Cauchy function is applied as follows [11]:
γ e = ϱ 2 2 log 1 + e 2 ϱ 2
where  ϱ  denotes the kernel parameter.
This section discusses the effect of different sliding window lengths and different M-estimator settings on the performance of FGO-RTOD. All tests were conducted using a high-performance laptop computer with an AMD CPU (Ryzen 7 5800 H) at 3.20 GHz and 16 GB RAM. The first hour RTOD solutions for GRACE-FO-A are presented in Figure 16. FGO-RTOD(Batch) is the solution of the batch estimator with incrementally expanding window length, and FGO-RTOD(3) and FGO-RTOD(5) are the solutions with marginalization for sliding window lengths of 3 and 5, respectively. Figure 16 show that FGO-RTOD(Batch) demonstrates superior positioning accuracy at the beginning due to the consideration of information from more epochs. However, its accuracy exhibits negligible improvement over time relative to the sliding window implementations with marginalization—a trend aligning precisely with theoretical predictions [16,22]. As the number of states requiring optimization in FGO-RTOD(Batch) increases over time, its computational runtime also grows significantly, exceeding that of FGO-RTOD. Consequently, FGO-RTOD(Batch) is unsuitable for real-time processing applications. In contrast, FGO-RTOD maintains a consistent runtime once the sliding window is fully populated, achieving a runtime of less than 1 s with an appropriately configured window length, thereby fulfilling real-time processing requirements.
Table 9 presents the influence of varying window lengths on FGO-RTOD performance in the challenging scenario simulation. Analysis reveals a progressive reduction in positioning error RMS with increasing window length. This enhanced precision occurs at the cost of exponentially increasing computational time. Different robust function settings can also affect the results differently. As shown in Table 10, when the kernel parameter is set to 1, the algorithm exhibits suboptimal positioning accuracy, which is even lower than the accuracy achieved without using a robust function. This is likely due to the inappropriate downweighting of high-precision measurements, leading to a degradation in overall performance. In contrast, when the kernel parameter of the Cauchy function is set to 10 and 20, the algorithm’s accuracy improves, with the highest accuracy achieved at a kernel parameter of 10. This demonstrates that, in the current simulation, using an appropriate robust function can further mitigate the impact of low-quality measurements.
The influence of varying window lengths and M-estimator configurations on the performance of FGO in the challenging scenario experiment of Arc3 is detailed in Table 11 and Table 12. As the window length increases, the LC residual RMS generally shows a decreasing trend, which to some extent reflects the improving effectiveness of the algorithm. The ratio decreases as the window length increases because the algorithm incorporates more LC ambiguity variation factors, prioritizing the consistency of LC ambiguities across epochs over the minimization of residual magnitudes. The results presented in Table 12 demonstrate that the LC residual RMS is minimized when employing the Cauchy function with a kernel parameter of 10. As the kernel parameter increases, the ratio also increases, indicating that more LCs are trusted, with the maximum ratio occurring in the algorithm without a robust function, which is consistent with the theory.

6. Conclusions and Outlooks

This paper proposes an FGO-based RTOD method aiming at achieving robust and accurate positioning for microsatellites operating in challenging scenarios. The proposed method incorporates dynamics factors, clock offset variation factors, and LC ambiguity variation factors to model temporal correlations between state nodes. In the sliding window-based FGO estimator, a Schur complement-based marginalization method is employed to preserve out-of-window state node information.
In the experimental part, the accuracy of FGO-RTOD was verified by using data from GRACE-FO-A. Comparative analyses demonstrate marginally superior precision for FGO-RTOD over EKF-RTOD in the regular scenario. The simulation results show that the accuracy of FGO-RTOD is significantly better than that of EKF-RTOD during the time period when the satellite is performing attitude maneuvers, and the positioning error of FGO-RTOD is significantly smoother throughout the simulation. The results obtained from Tianping-2B demonstrate that FGO-RTOD exhibits markedly smaller LC residuals and a significantly higher ratio of LC residuals below 10 cm compared to EKF-RTOD. These findings indicate that FGO-RTOD effectively manages outlier measurements in challenging scenarios and outperforms EKF-RTOD. Experiments conducted with varying window lengths reveal that, in most cases, increasing the window length improves the algorithm’s performance, albeit at the cost of greater computational time. Furthermore, the choice of loss functions can exert distinct influences on the algorithm’s performance.
FGO-RTOD in this paper was developed based on Eigen, Ceres solver and some basic libraries, and it is feasible for them to be deployed on a satellite computer. The inputs to FGO-RTOD including broadcast ephemeris, pseudorange, and carrier phase observations are available in real-time through the spaceborne GNSS receiver, so the algorithm has few limitations when working on a microsatellite. In future works, we will deploy the FGO on a satellite computer, conduct a detailed time/space complexity analysis of the algorithm, and obtain the performance of FGO-RTOD via a satellite-ground data transmission link.

Author Contributions

Conceptualization, C.H. and X.J.; Data curation, C.H.; Formal analysis, C.H. and X.Y.; Funding acquisition, X.J.; Investigation, C.H. and X.J.; Methodology, C.H.; Project administration, X.J.; Software, C.H. and X.J.; Supervision, X.J.; Validation, C.H.; Visualization, C.H. and X.Y.; Writing—original draft, C.H. and T.X.; Writing—review and editing, C.H. and X.J. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China (62073289).

Data Availability Statement

The datasets presented in this article are not readily available because the data are part of an ongoing study. Requests to access the datasets should be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Lin, C.; Jin, X.; Mo, S.; Hou, C.; Zhang, W.; Xu, Z.; Jin, Z. Performance analysis and validation of precision multisatellite RF measurement scheme for microsatellite formations. Meas. Sci. Technol. 2022, 33, 025001. [Google Scholar] [CrossRef]
  2. Xu, J.; Zhang, C.; Wang, C.; Jin, Z. Novel Approach to Intersatellite Time-Difference Measurements for Microsatellites. J. Guid. Control Dyn. 2018, 41, 2476–2482. [Google Scholar] [CrossRef]
  3. Hou, C.; Jin, X.; Zhou, L.; Wang, H.; Yang, X.; Xu, Z.; Jin, Z. Precision Joint RF Measurement of Inter-Satellite Range and Time Difference and Scalable Clock Synchronization for Multi-Microsatellite Formations. Sensors 2023, 23, 4109. [Google Scholar] [CrossRef] [PubMed]
  4. Montenbruck, O.; Ramos-Bosch, P. Precision real-time navigation of LEO satellites using global positioning system measurements. Gps Solut. 2008, 12, 187–198. [Google Scholar] [CrossRef]
  5. Wang, F.; Gong, X.; Sang, J.; Zhang, X. A Novel Method for Precise Onboard Real-Time Orbit Determination with a Standalone GPS Receiver. Sensors 2015, 15, 30403–30418. [Google Scholar] [CrossRef] [PubMed]
  6. Kschischang, F.R.; Frey, B.J.; Loeliger, H.A. Factor graphs and the sum-product algorithm. IEEE Trans. Inf. Theory 2001, 47, 498–519. [Google Scholar] [CrossRef]
  7. Li, X.; Wang, X.; Liao, J.; Li, X.; Li, S.; Lyu, H. Semi-tightly coupled integration of multi-GNSS PPP and S-VINS for precise positioning in GNSS-challenged environments. Satell. Navig. 2021, 2, 1. [Google Scholar] [CrossRef]
  8. Dellaert, F.; Kaess, M. Factor graphs for robot perception. Found. Trends Robot. 2017, 6, 1–139. [Google Scholar]
  9. Wang, X.; Li, X.; Shen, Z.; Li, X.; Zhou, Y.; Chang, H. Factor graph optimization-based multi-GNSS real-time kinematic system for robust and precise positioning in urban canyons. Gps Solut. 2023, 27, 200. [Google Scholar] [CrossRef]
  10. Taylor, C.; Gross, J. Factor Graphs for Navigation Applications: A Tutorial. Navig.-J. Inst. Navig. 2024, 71, navi.653. [Google Scholar] [CrossRef]
  11. Bai, X.; Wen, W.; Hsu, L.-T. Time-Correlated Window-Carrier-Phase-Aided GNSS Positioning Using Factor Graph Optimization for Urban Positioning. IEEE Trans. Aerosp. Electron. Syst. 2022, 58, 3370–3384. [Google Scholar] [CrossRef]
  12. Wen, W.; Zhang, G.; Hsu, L.-T. GNSS Outlier Mitigation via Graduated Non-Convexity Factor Graph Optimization. IEEE Trans. Veh. Technol. 2022, 71, 297–310. [Google Scholar] [CrossRef]
  13. Sünderhauf, N.; Protzel, P. Towards robust graphical models for GNSS-based localization in urban environments. In Proceedings of the International Multi-Conference on Systems, Signals & Devices, Chemnitz, Germany, 20–23 March 2012. [Google Scholar]
  14. Watson, R.M.; Gross, J.N. Evaluation of Kinematic Precise Point Positioning Convergence with an Incremental Graph Optimizer. In Proceedings of the IEEE/ION Position, Location and Navigation Symposium (PLANS), Monterey, CA, USA, 23–26 April 2018. [Google Scholar]
  15. Wen, W.; Hsu, L.-T. Towards robust GNSS positioning and real-time kinematic using factor graph optimization. In Proceedings of the 2021 IEEE International Conference on Robotics and Automation (ICRA), Yokohama, Japan, 30 May 2021. [Google Scholar]
  16. Xin, S.; Geng, J.; Hsu, L.-T. Factor Graph Optimization-Based GNSS PPP-RTK: An Alternative Platform to Study Urban GNSS Precise Positioning. IEEE Trans. Aerosp. Electron. Syst. 2024, 60, 3221–3236. [Google Scholar] [CrossRef]
  17. An, X.; Meng, X.; Jiang, W. Multi-constellation GNSS precise point positioning with multi-frequency raw observations and dual-frequency observations of ionospheric-free linear combination. Satell. Navig. 2020, 1, 7. [Google Scholar] [CrossRef]
  18. Zhao, X.; Zhou, S.; Ci, Y.; Hu, X.; Cao, J.; Chang, Z.; Tang, C.; Guo, D.; Guo, K.; Liao, M. High-precision orbit determination for a LEO nanosatellite using BDS-3. Gps Solut. 2020, 24, 102. [Google Scholar] [CrossRef]
  19. Tancredi, U.; Renga, A.; Grassi, M. Real-Time Relative Positioning of Spacecraft over Long Baselines. J. Guid. Control Dyn. 2014, 37, 47–58. [Google Scholar] [CrossRef]
  20. Kroes, R.; Montenbruck, O.; Bertiger, W.; Visser, P. Precise GRACE baseline determination using GPS. Gps Solut. 2005, 9, 21–31. [Google Scholar] [CrossRef]
  21. Iwase, T.; Kojima, Y.; Teramoto, E. M-Epoch Ambiguity Resolution Technique for Single Frequency Receivers with INS Aid. In Proceedings of the IEEE/ION Position Location and Navigation Symposium (PLANS), Myrtle Beach, SC, USA, 23–26 April 2012. [Google Scholar]
  22. Sibley, G.; Matthies, L.; Sukhatme, G. Sliding Window Filter with Application to Planetary Landing. J. Field Robot. 2010, 27, 587–608. [Google Scholar] [CrossRef]
  23. Kaess, M.; Ranganathan, A.; Dellaert, F. iSAM: Incremental Smoothing and Mapping. IEEE Trans. Robot. 2008, 24, 1365–1378. [Google Scholar] [CrossRef]
  24. Agarwal, S.; Mierle, K. Ceres solver: Tutorial & reference. Google Inc 2012, 2, 8. [Google Scholar]
  25. Hatch, R. The synergism of GPS code and carrier measurements. In Proceedings of the International Geodetic Symposium on Satellite Doppler Positioning, Las Cruces, NM, USA, 8–12 February 1982. [Google Scholar]
  26. Tapley, B.D.; Watkins, M.; Ries, J.; Davis, G.; Eanes, R.; Poole, S.; Rim, H.; Schutz, B.; Shum, C.; Nerem, R.S. The joint gravity model 3. J. Geophys. Res. Solid Earth 1996, 101, 28029–28049. [Google Scholar] [CrossRef]
  27. Montenbruck, O.; Pfleger, T. Astronomy on the Personal Computer; Springer: Heidelberg, Germany, 2013. [Google Scholar]
  28. Montenbruck, O.; Gill, E.; Lutze, F. Satellite Orbits: Models, Methods, and Applications; Springer: Heidelberg, Germany, 2002. [Google Scholar]
  29. Cappellari, J.O.; Vélez, C.; Fuchs, A.J. Mathematical Theory of the Goddard Trajectory Determination System; Goddard Space Flight Center: Maryland, MD, USA, 1976. [Google Scholar]
  30. Montenbruck, O.; Kroes, R. In-flight performance analysis of the CHAMP BlackJack GPS Receiver. GPS Solut. 2003, 7, 74–86. [Google Scholar] [CrossRef]
  31. Wanninger, L.; May, M. Carrier-Phase Multipath Calibration of GPS Reference Stations. Navigation 2001, 48, 112–124. [Google Scholar] [CrossRef]
  32. Marques, H.A.S.; Monico, J.F.G.; Marques, H.A. Performance of the L2C civil GPS signal under various ionospheric scintillation effects. Gps Solut. 2016, 20, 139–149. [Google Scholar] [CrossRef]
  33. Kim, J.W.; Shin, M.Y.; Melin, L.; Hwang, D.-H.; Lee, S.J. GNSS receiver rotation tracking loop design for spinning vehicles. In Proceedings of the IEEE/ON Position, Location and Navigation Symposium, Monterey, CA, USA, 5–8 May 2008. [Google Scholar]
Figure 1. Sliding window-based factor graph of RTOD.
Figure 1. Sliding window-based factor graph of RTOD.
Remotesensing 17 01125 g001
Figure 2. Acceleration vectors of the LEO satellite.
Figure 2. Acceleration vectors of the LEO satellite.
Remotesensing 17 01125 g002
Figure 3. Implementation of sliding window-based FGO-RTOD framework.
Figure 3. Implementation of sliding window-based FGO-RTOD framework.
Remotesensing 17 01125 g003
Figure 4. ZJU-SpaceRcv GNSS receiver.
Figure 4. ZJU-SpaceRcv GNSS receiver.
Remotesensing 17 01125 g004
Figure 5. Quality of signals received when the microsatellite is in non-Earth-pointing attitude.
Figure 5. Quality of signals received when the microsatellite is in non-Earth-pointing attitude.
Remotesensing 17 01125 g005
Figure 6. Distribution of observed satellites (left), and Nsat and GDOP (right) for GRACE-FO-A.
Figure 6. Distribution of observed satellites (left), and Nsat and GDOP (right) for GRACE-FO-A.
Remotesensing 17 01125 g006
Figure 7. Positioning errors for GRACE-FO-A.
Figure 7. Positioning errors for GRACE-FO-A.
Remotesensing 17 01125 g007
Figure 8. Hardware setup.
Figure 8. Hardware setup.
Remotesensing 17 01125 g008
Figure 9. Microsatellite is rolling to fulfill the earth observation mission.
Figure 9. Microsatellite is rolling to fulfill the earth observation mission.
Remotesensing 17 01125 g009
Figure 10. Nsat and GDOP for the simulated microsatellite.
Figure 10. Nsat and GDOP for the simulated microsatellite.
Remotesensing 17 01125 g010
Figure 11. Positioning errors for the simulated microsatellite.
Figure 11. Positioning errors for the simulated microsatellite.
Remotesensing 17 01125 g011
Figure 12. Distribution of observed satellites for Tianping-2B.
Figure 12. Distribution of observed satellites for Tianping-2B.
Remotesensing 17 01125 g012
Figure 13. Nsat and GDOP for Tianping-2B.
Figure 13. Nsat and GDOP for Tianping-2B.
Remotesensing 17 01125 g013
Figure 14. PC (left) and LC (right) residuals for Tianping-2B.
Figure 14. PC (left) and LC (right) residuals for Tianping-2B.
Remotesensing 17 01125 g014
Figure 15. Histogram of LC residuals for Tianping-2B.
Figure 15. Histogram of LC residuals for Tianping-2B.
Remotesensing 17 01125 g015
Figure 16. Positioning error and runtime of RTOD for GRACE-FO-A.
Figure 16. Positioning error and runtime of RTOD for GRACE-FO-A.
Remotesensing 17 01125 g016
Table 1. Relevant settings of dynamical model.
Table 1. Relevant settings of dynamical model.
ItemsRelevant Settings
Dynamical model
Earth gravity fieldJGM3 (20 × 20) [26]
N-body gravitationMoon and Sun only,
low-precision analytic method [27]
Solid Earth tidesNeglected
Ocean tidesNeglected
Polar tidesNeglected
Solar radiation pressureCylindrical shadow model [28]
Atmosphere dragHarris–Priester model (density) [29]
Earth radiation pressure
and Relativity effects
Neglected
Reference frame
Coordinate systemJ2000/WGS84
Precession and nutationIAU1976/IAU 1980 simplified model
Earth rotation parameterRapidly predicted EOP in IERS Bulletin A
Table 2. Specifications of the ZJU-SpaceRcv GNSS receiver.
Table 2. Specifications of the ZJU-SpaceRcv GNSS receiver.
ItemsRelevant Settings
SystemGPS or BDS
Receiving frequencyGPS: L1C/L2C
BDS: B1I/B3I
Number of channels12 each for each frequency
MeasurementCarrier phase, pseudorange, and Doppler
Sample interval1 s
Carrier phase precision≤6 mm
Pseudorange precision≤2 m
Table 3. GNSS data processing strategy.
Table 3. GNSS data processing strategy.
ItemsGRACE-FOTianping-2B/Simulation
GNSS signalGPS L1P + L2PGPS L1C + L2C
CombinationUndifferencedUndifferenced
Sampling rate, s3010
Elevation cutoff, deg5-
IonosphereDual-frequency
ionosphere-free
Dual-frequency
ionosphere-free
GNSS orbit and clockBroadcast ephemerisBroadcast ephemeris
AmbiguityFloat resolutionFloat resolution
Table 4. A priori standard deviation and process noise settings.
Table 4. A priori standard deviation and process noise settings.
ItemsGRACE-FOTianping-2B/Simulation
Π y 0 d i a g 50.4 ,   50.4 ,   50.4 ,   1 ,   1 ,   1
Π d t r 0 400
Q D d i a g 1 ,   1 ,   1 ,   1 × 10 6 ,   1 × 10 6 ,   1 × 10 6
Q C 4 × 10 8 12.9
Q N , 12 s 1 × 10 8
Table 5. Statistics of positioning errors for GRACE-FO-A (unit m).
Table 5. Statistics of positioning errors for GRACE-FO-A (unit m).
ModesRadialAlong-TrackCross-Track3D
EKF-RTOD0.2570.3150.3000.505
FGO-RTOD0.2550.3060.3020.499
FGO-RTOD(Delayed)0.2430.3030.2960.488
Table 6. Orbital elements of the simulated microsatellite.
Table 6. Orbital elements of the simulated microsatellite.
Orbital Elementsa, mei, degΩ, degω, degM, deg
Settings6,893,818.83360.000591097.4391−64.3989−108.7805179.4492
Table 7. Statistics of positioning errors for the simulated microsatellite (unit m).
Table 7. Statistics of positioning errors for the simulated microsatellite (unit m).
ModesRadialAlong-TrackCross-Track3DRMS3DMAX
EKF-RTOD1.2670.6890.5731.5526.921
FGO-RTOD0.1390.2580.1420.3261.139
FGO-RTOD (Delayed)0.1390.2560.1360.3211.130
Table 8. RMS and ratio of LC residuals less than 10 cm for Tianping-2B.
Table 8. RMS and ratio of LC residuals less than 10 cm for Tianping-2B.
ModesArc1Arc2Arc3
RMS (cm)Ratio (%)RMS (cm)Ratio (%)RMS (cm)Ratio (%)
EKF-RTOD2.05088.502.19991.192.05290.57
FGO-RTOD1.61995.491.35199.081.05197.90
Table 9. FGO-RTOD statistics for the simulated microsatellite with different sliding window lengths.
Table 9. FGO-RTOD statistics for the simulated microsatellite with different sliding window lengths.
Window Length2345
Mean runtime (s)0.0390.1000.2060.327
RMS (m)0.3290.3260.3200.316
Table 10. FGO-RTOD statistics for the simulated microsatellite with different settings of the M-estimator.
Table 10. FGO-RTOD statistics for the simulated microsatellite with different settings of the M-estimator.
Robust FunctionNULLCauchy (1)Cauchy (10)Cauchy (20)
RMS (m)0.3260.3340.3240.325
Table 11. FGO-RTOD statistics for Tianping-2B with different sliding window lengths.
Table 11. FGO-RTOD statistics for Tianping-2B with different sliding window lengths.
Window Length2345
Mean runtime (s)0.0700.2180.4660.833
LC residual RMS (cm)1.0871.0511.0521.042
Ratio (%)97.9897.9097.9097.83
Table 12. FGO-RTOD statistics for Tianping-2B with different settings of the M-estimator.
Table 12. FGO-RTOD statistics for Tianping-2B with different settings of the M-estimator.
PNULLCauchy (1)Cauchy (10)Cauchy (20)
LC residual RMS (cm)1.0511.2891.0481.064
Ratio (%)97.9082.3497.5997.72
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Hou, C.; Jin, X.; Yang, X.; Xiao, T. Toward Robust GNSS Real-Time Orbit Determination for Microsatellites Using Factor Graph Optimization. Remote Sens. 2025, 17, 1125. https://doi.org/10.3390/rs17071125

AMA Style

Hou C, Jin X, Yang X, Xiao T. Toward Robust GNSS Real-Time Orbit Determination for Microsatellites Using Factor Graph Optimization. Remote Sensing. 2025; 17(7):1125. https://doi.org/10.3390/rs17071125

Chicago/Turabian Style

Hou, Cong, Xiaojun Jin, Xiaopeng Yang, and Tong Xiao. 2025. "Toward Robust GNSS Real-Time Orbit Determination for Microsatellites Using Factor Graph Optimization" Remote Sensing 17, no. 7: 1125. https://doi.org/10.3390/rs17071125

APA Style

Hou, C., Jin, X., Yang, X., & Xiao, T. (2025). Toward Robust GNSS Real-Time Orbit Determination for Microsatellites Using Factor Graph Optimization. Remote Sensing, 17(7), 1125. https://doi.org/10.3390/rs17071125

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop