GPS Solutions

, Volume 12, Issue 3, pp 187–198

Precision real-time navigation of LEO satellites using global positioning system measurements

Authors

    • German Space Operations CenterDeutsches Zentrum für Luft- und Raumfahrt
  • Pere Ramos-Bosch
    • Research Group of Astronomy and GeomaticsTechnical University of Catalonia
Original Article

DOI: 10.1007/s10291-007-0080-x

Cite this article as:
Montenbruck, O. & Ramos-Bosch, P. GPS Solut (2008) 12: 187. doi:10.1007/s10291-007-0080-x

Abstract

Continued advancements in remote sensing technology along with a trend towards highly autonomous spacecraft provide a strong motivation for accurate real-time navigation of satellites in low Earth orbit (LEO). Global Navigation Satellite System (GNSS) sensors nowadays enable a continuous tracking and provide low-noise radiometric measurements onboard a user spacecraft. Following the deactivation of Selective Availability a representative real-time positioning accuracy of 10 m is presently achieved by spaceborne global positioning system (GPS) receivers on LEO satellites. This accuracy can notably be improved by use of dynamic orbit determination techniques. Besides a filtering of measurement noise and other short-term errors, these techniques enable the processing of ambiguous measurements such as carrier phase or code-carrier combinations. In this paper a reference algorithm for real-time onboard orbit determination is described and tested with GPS measurements from various ongoing space missions covering an altitude range of 400–800 km. A trade-off between modeling effort and achievable accuracy is performed, which takes into account the limitations of available onboard processors and the restricted upload capabilities. Furthermore, the benefits of different measurements types and the available real-time ephemeris products are assessed. Using GPS broadcast ephemerides a real-time position accuracy of about 0.5 m (3D rms) is feasible with dual-frequency carrier phase measurements. Slightly inferior results (0.6–1 m) are achieved with single-frequency code-carrier combinations or dual-frequency code. For further performance improvements the use of more accurate real-time GPS ephemeris products is mandatory. By way of example, it is shown that the TDRSS Augmentation Service for Satellites (TASS) offers the potential for 0.1–0.2 m real-time navigation accuracies onboard LEO satellites.

Keywords

Real-time navigationOrbit determinationGPSLEO satellites

Introduction

Global positioning system (GPS) receivers on low Earth orbit (LEO) satellites have traditionally supported both ground-based and onboard navigation tasks. The distinction between both areas is primarily driven by accuracy needs and the associated processing methodology. A 10-m and 0.1-m/s navigation accuracy is generally considered adequate for use in attitude and orbit control systems (AOCS). Following the deactivation of selective availability (SA) this accuracy can readily be provided by the kinematic navigation solution using a single-frequency GPS receiver (see Montenbruck et al. 2007 and references therein). On the other hand, a much higher accuracy is required in many remote sensing and science missions and applications such as altimetry, gravimetry, SAR interferometry, or atmospheric sounding call for a sub-decimeter position accuracy and a sub mm/s velocity knowledge. So far, this accuracy can only be achieved in a ground-based reduced dynamic orbit determination using dual-frequency carrier phase measurements along with precise GPS ephemeris products and auxiliary environmental information (Yunck 1996).

In an effort to improve the accuracy of onboard navigation solutions, the use of Kalman filtering and dynamical orbit models has been studied by various authors (Potti et al. 1995; Hart et al. 1996; Haas and Pittelkau 1999; Feng 2001). While originally intended as a means to overcome SA-induced navigation limitations, the use of dynamical filtering techniques nowadays promises a sub-meter level onboard orbit determination accuracy (Goldstein et al. 2001). An inflight demonstration of GPS-based real-time navigation on the SAC-C satellite has resulted in 3D position errors of 1.5 m when using broadcast ephemerides (Reichert et al. 2002). Further improvements (by up to a factor of ten) are expected from the utilization of real-time generated GNSS ephemerides that can be generated from a sufficiently large set of monitoring stations such as the NASA/JPL Global Differential GPS System (GDGPS) (Reichert et al. 2002; Bar-Sever et al. 2004; Toral et al. 2006). Applications that may benefit from accurate real-time orbit information onboard a satellite include the onboard geocoding of high-resolution imagery, the open-loop operation of altimeters, atmospheric sounding and the maintenance of satellite constellation. Real-time onboard navigation using GNSS measurements can thus contribute to an increased autonomy of future space missions, reduced ground operations cost and improved science return.

The present paper focuses on the algorithm selection and practical validation of real-time navigation algorithms for onboard applications. In the following chapter a reference algorithm for extended Kalman filtering of raw GNSS measurements is discussed which presents a careful trade-off between computational effort, onboard resources and accuracy. A prototype software based on these concepts has been performed and successfully demonstrated inside a miniature spaceborne GPS receiver. Following its mathematical description, the proposed real-time algorithm is tested with GPS flight data from various space missions (CHAMP, GRACE, TerraSAR-X, ICEsat, SAC-C, and MetOp) in the 400–800 km altitude range. All of these satellites are equipped with state-of-the art dual-frequency GPS sensors such as the BlackJack (Williams et al. 2002) and GRAS receiver (Loiselet et al. 2000), which offer a representative pseudorange accuracy of 10–30 cm and a carrier-phase accuracy of 0.5–2 mm for individual measurements on the L1 or L2 frequency. Along with post-processed orbit and high-rate clock products for the GPS satellites, these measurements enable a high-precision (5–10 cm level) ground-based orbit reconstruction as a reference for the real-time navigation accuracy assessment.

Real-time navigation algorithm

Reference frame and equation of motion

The modeling and determination of spacecraft trajectories in the vicinity of the Earth involves two fundamental types of reference frames. An inertial reference system offers a simple formulation of the satellite’s equation of motion and is likewise a natural choice for describing the positions of third bodies such as the Sun and Moon. An Earth-fixed system, in contrast, is required to model the gravitational acceleration of the Earth and to describe measurements relative to a ground station. The International Celestial Reference Frame (ICRF) and the International Terrestrial Reference Frame (ITRF), are the commonly adopted realizations of such frames. Established models for the time-dependent transformation
$$ {\mathbf{r}}_{{\text{ITRF}}} = {\mathbf{U}}(t){\mathbf{r}}_{{\text{ICRF}}} $$
between both frames are characterized by lengthy trigonometric series expansions and the need for Earth rotation parameters that can only be derived from suitable astronomical and geodetic observations. The restricted real-time availability of accurate transformation parameters and the computational limitations of a real-time system suggest that it is hardly possible to perform a rigorous ICRF-to-ITRF transformation inside an onboard orbit determination system. Unnecessary transformations between both systems should therefore be avoided and efforts be made to minimize the impact of approximate transformations in a navigation filter.

This is indeed possible by considering that GPS receiver measurements are most naturally processed in an Earth-fixed coordinate system, which forms the basis of the broadcast ephemeris representation. Likewise the estimated spacecraft position must be expressed in Earth-fixed coordinates for geocoding of payload data and various other applications. It is therefore attractive to consider a purely Earth-fixed formulation of the equation of motion, which avoids a reference system transformation in the measurement model and the evaluation of the Earth’s gravitational accelerations. Luni-solar positions, on the other hand, require only a moderate accuracy and approximate expressions for their Earth-fixed coordinates are therefore fully adequate.

The price to be paid for these advantages is the requirement to account for additional centrifugal and Coriolis accelerations in the dynamical model, which amount to roughly 0.8 m/s for a representative LEO satellite. The acceleration depends on the instantaneous rotation vector ω and is given by
$$ \Updelta {\ddot{\mathbf{r}}}_{{\text{CC}}} = - 2\varvec{\omega} \times {\mathbf{v}} - \varvec{\omega} \times \varvec{\omega} \times {\mathbf{r}}, $$
where r and \( {\mathbf{v}} = {\dot {\mathbf{r}}} \) denote the position and velocity referred to the rotating ITRF system. Likewise, the matrix formulation
$$ \Updelta {\ddot{\mathbf{r}}}_{{\text{CC}}} = - 2\varvec{\Upomega} \times {\mathbf{v}} - \varvec{\Upomega} \times \varvec{\Upomega} \times {\mathbf{r}}$$
can be used to compute the acceleration, where
$$ \varvec{\Upomega} = (\varvec{\upomega} \times ) = - \frac{{d{\mathbf{U}}(t)}} {{dt}} \cdot {\mathbf{U}}^T (t) $$
is a skew-symmetric matrix formed from the ICRF-to-ITRF transformation and its time derivative. Fortunately, it is not necessary to rigorously evaluate the above expressions in practice and good results can generally be obtained using an approximate rotation vector
$$ \varvec{\upomega} \approx {\mathbf{\Pi }}(t)\left( {\begin{array}{*{20}c} 0 \\ 0 \\ {\omega _ \oplus } \\ \end{array} } \right). $$
It is based on a constant rotation rate of \( \omega _ \oplus = 0.7292115 \times 10^{ - 4} {\text{rad/s}} \) about an angular momentum axis that is slightly tilted relative to the adopted body axes of the Earth. Even though polar motion amounts to less than half an arc-second, its inclusion improves the modeling accuracy of the Coriolis forces by a factor of ten compared to adopting a rotation vector, which is aligned with the z-axis of the Earth. Remaining differences between the approximate and rigorous modeling of the Coriolis acceleration amount to roughly 160 nm/s2, which can be compensated well by a suitable amount of process noise or empirical accelerations in the navigation filter.

Dynamical model

Besides the gravitational attraction of the Earth, the motion of a LEO satellite is dominated by luni-solar gravitational perturbations and atmospheric drag. Details of the respective models are well documented in the astrodynamics literature (Vallado 2001; Montenbruck and Gill 2000). The only concerns for use in an onboard navigation system are the computational workload and the availability of auxiliary parameters.

The dynamical model adopted for this study aims at a representation of accelerations to a level of about 100 nm/s2. A GGM01S gravity field model has been selected to describe the aspherical gravitational potential of the Earth. Depending on the altitude and the individual accuracy requirements, coefficients up to a maximum degree and order of 30–100 are included. Tidal deformations of the Earth cause an acceleration of about 200 nm/s2 at a 400-km altitude and a simple approximation for the k2 solid-Earth tide (Rizos and Stolz 1985) has therefore been considered. On the other hand we ignore time-dependent variations of the C21 and S21 coefficients, which is adequate if the gravity field reference epoch is within 5–10 years of the epoch of interest.

Gravitational perturbations of the Sun and Moon amount to 300–1,000 nm/s2 for satellites in the immediate neighborhood of the Earth. This is clearly larger than the adopted threshold, but it is also evident that luni-solar coordinates need not be known with utmost precision to meet the targeted overall modeling accuracy. For the present purpose, short series expansions (Montenbruck and Gill 2000) with representative accuracies of 0.3–1.5 mrad have been adopted that induce only a negligible error into the acceleration modeling. Likewise a simple rotation by the mean sidereal hour angle is sufficient to transform the inertial Sun/Moon positions into the Earth-fixed reference system adopted for the equation of motion. Aside from the modeling of third-body accelerations, the luni-solar coordinates are also used for evaluating the solid Earth tides and the solar-radiation pressure. Being limited in size, the latter perturbation does not cause a computational burden and has mainly been included for compatibility with common ground based trajectory models. Varying illumination conditions along the satellite orbit are accounted by a cylindrical shadow model.

As a final constituent, the dynamical model accounts for atmospheric drag, which is a major source of orbital perturbations at low altitudes perturbations. Since an upload of current solar flux and geomagnetic activity indices would pose a major operational burden in a satellite mission, a time-independent Harris–Priester model (cf. Harris and Priester 1962) has been selected for modeling the density of the upper atmosphere. The resultant drag modeling errors may well exceed the desired limits but exhibit a predominantly smooth variation with time-scales of one orbital revolution. As such, they can be compensated to a fair extent by a reduced dynamics orbit determination approach. To this end, supplementary empirical accelerations in radial, tangential and normal direction are incorporated into the equation of motion and adjusted as part of the navigation filter. By a suitable choice of their stochastic properties, the empirical accelerations can thus be used to overcome remaining imperfections of the deterministic dynamical model.

Numerical integration

Despite various simplifications the force model described above still requires a notable computational effort. While this would not be a major concern in offline applications, it requires special attention in a real-time navigation system. If onboard navigation information is required at a high data rate (1 Hz or up), the actual processing time for an individual state propagation step is likely to exceed the available time interval.

In general, however, the motion of LEO satellite is sufficiently smooth to allow interpolation. Therefore, it is not necessary to restrict the propagation steps (and measurement updates) to the desired navigation data output interval. Instead, the propagation can be carried out with a step size that optimally suits the chosen integrator and accuracy requirements and intermediate output steps can then be obtained by an appropriate interpolator.

As shown in a previous study (Montenbruck and Gill 2001), a 4th-order Runge–Kutta integrator with Richardson extrapolation and Hermite interpolation (see Hairer et al. 1987) offers a consistent 5th-order integrator/interpolant pair that is well suited for real-time navigation systems. For near-circular LEO orbits total step sizes of up to 120 s can be utilized, which results in an average of one acceleration computation per 10 s.

For use within this study, dense output is not required and all simulations have been performed with a simpler 4th-order Runge–Kutta integrator operated at a representative step size of 30 s.

Measurements

Depending on the GPS receiver used, a real-time navigation system can be based on either single-frequency (L1) or dual-frequency (L1/L2) pseudorange and carrier phase measurements. While the use of dual-frequency measurements is mandatory to eliminate ionospheric path delays in a kinematic single-point navigation solution, the same does not apply for a real-time navigation filter. Here, three different ionosphere-free linear combinations of the basic pseudorange (C/A, P1, P2) and carrier phase measurements (L1, L2) can be considered:
$$ \begin{gathered} \rho _{{\text{P12}}} = 2.54 \cdot \rho _{{\text{P1}}} - 1.54 \cdot \rho _{{\text{P2}}} \hfill \\ \rho _{{\text{L12}}} = 2.54 \cdot \rho _{{\text{L1}}} - 1.54 \cdot \rho _{{\text{L2}}} \hfill \\ \rho _{{\text{C1L1}}} = (\rho _{{\text{C/A}}} + \rho _{{\text{L1}}} )/2 \hfill \\ \end{gathered} $$
The latter combination is also known as Group And Phase Ionospheric Correction (GRAPHIC) (Yunck 1996). It can provide a lower noise level than the ionosphere-free P1/P2 combination but involves an unknown carrier phase bias such as the ionosphere-free L1/L2 data type.
The three data types presented above can all be described by a common measurement model
$$ \rho = \left| {{\mathbf{r}} - {\mathbf{r}}_{{\text{GPS}}} } \right| - c \cdot \left( {\delta t - \delta t_{{\text{GPS}}} } \right) + B + \varepsilon, $$
where r and rGPS denote the positions of the user satellite and the GPS satellite, δt and δtGPS are the receiver and transmitter clock offsets and ε is the measurement noise with representative standard deviations of \( \sigma (\varepsilon _{{\text{P12}}} ) = 0.3, \ldots,1.0\;{\text{m,}} \) and \( \sigma (\varepsilon _{{\text{C1L1}}} ) = 0.05, \ldots,0.5\;{\text{m}}{\text{.}} \) The bias B arises from the ambiguity of carrier phase measurements and is constant during uninterrupted signal tracking. For carrier-phase and GRAPHIC measurements channel-specific biases must be adjusted as part of the orbit determination process, while the bias is always zero for pseudo-range measurements.

The receiver clock bias is likewise unknown and must be determined from the observations. Without loss of generality, we assume that a coarse clock offset correction has been performed based on the receiver internal, kinematic navigation solution. The residual clock offset will thus be of a small quantity (typically less than 10–20 m) with a standard deviation determined by the Time Dilution of Precision (2–3) and the User Equivalent Range (1–5 m). The clock error can thus be treated as a single white noise estimation parameter in the real-time navigation filter.

GPS satellite positions and clock offsets, in contrast, are considered known quantities in the measurement model. Traditionally, these values are computed from the broadcast ephemeris parameters, which are transmitted as part of the GPS navigation data stream. Future navigation systems, however, may utilize independent real-time ephemeris products transmitted through a data relay satellite system (cf. Bar-Sever et al. 2004; Toral et al. 2006).

Estimation

An extended Kalman filter is used to recursively adjust a set of dynamical and measurement parameters from the observations. In total, the filter state
$$ {\mathbf{x}} = ({\mathbf{y}},C_{\text{R}},C_{\text{D}},{\mathbf{a}},c\delta t,{\mathbf{b}}) $$
comprises the spacecraft position and velocity vector y = (r, v) in the Earth-fixed reference frame, the radiation pressure and drag coefficients (CR,CD), empirical accelerations a = (aR, aT, aN) in radial, tangential and normal direction as well as the clock offset parameter cδt and a vector b = (B1,...,Bn) of carrier-phase (or GRAPHIC) biases for all tracked GPS satellites. For common receivers having 8–16 channels, this yields a dimension of 20–28 for the estimation problem.
Within the time update step, the spacecraft position and velocity are propagated through numerical integration of the adopted equation of motion between epochs ti-1 and ti. The empirical accelerations are treated as exponentially correlated random variables (Tapley et al. 2004) with steady-state standard deviation σa and correlation time τ. Accordingly, they are propagated with an exponential damping factor
$$ m_i = {\text{e}}^{ - |t_i - t_{i - 1} |/\tau }. $$
All other parameters are treated as constant between epochs. The state transition matrix \( {\mathbf{\Phi }}_y = \partial {\mathbf{y}}_i/\partial {\mathbf{y}}_{i - 1} \) for the position and velocity vector and the sensitivity matrix
$$ {\mathbf{S}}_{(C_R,C_D,{\mathbf{a}})} = \partial {\mathbf{y}}_i/\partial (C_R,C_D,{\mathbf{a}})_{i - 1} $$
are obtained through numerical integration of simplified variational equations in which luni-solar perturbations are neglected and in which Earth gravitational harmonics are only considered up to the second order zonal term C20. The overall transition matrix i
$$ {\mathbf{\Phi }} = \frac{{\partial {\mathbf{x}}_i }} {{\partial {\mathbf{x}}_{i - 1} }} = \left( {\begin{array}{*{20}c} {{\mathbf{\Phi }}_y } & {{\mathbf{S}}_{C_R } } & {{\mathbf{S}}_{C_D } } & {{\mathbf{S}}_{\mathbf{a}} } &\vline & 0 & 0 \\ 0 & 1 & 0 & 0 &\vline & 0 & 0 \\ 0 & 0 & 1 & 0 &\vline & 0 & 0 \\ 0 & 0 & 0 & {m \cdot {\mathbf{I}}_{3 \times 3} } &\vline & 0 & 0 \\ \hline 0 & 0 & 0 & 0 &\vline & 1 & 0 \\ 0 & 0 & 0 & 0 &\vline & 0 & {{\mathbf{I}}_{n \times n} } \\ \end{array} } \right) $$
for the filter state x contains numerous zero entries. This fact can be used to avoid full matrix multiplications and thus to reduce the computational effort for the covariance update
$$ {\mathbf{P}}_i^ - = {\mathbf{\Phi }}_i {\mathbf{P}}_{i - 1}^ + {\mathbf{\Phi }}_i^T + {\mathbf{Q}} $$
Here Q describes the covariance increase due to the accumulated effect of process noise in the state parameters. The block diagonal matrix comprises non-zero elements for the empirical accelerations
$$ {\mathbf{Q}}_a = \left( {\sigma _a^2 \left( {1 - m_i^2 } \right)} \right){\mathbf{I}}_{3 \times 3} $$
and the clock offset
$$ Q_{cdt} = \sigma _{cdt}^2. $$
In addition, the incorporation of process noise
$$ {\mathbf{Q}}_b = \sigma _b^2 \times {\mathbf{I}}_{n \times n} $$
in the bias state has been found to improve the filter behavior when working with broadcast ephemerides. In this case, the bias parameters may absorb part of the slowly time varying ephemeris errors and thus assist an improved estimation of the spacecraft position and velocity.

Following the time update step and prior to the measurement update step an update of the bias state and its covariance is required if the set of tracked satellites has changed since the last filter cycle. First, bias parameters for tracking channels that have been released are reset to a default value of zero and the corresponding rows and columns of the covariance matrix are cleared. Subsequently, bias parameters for newly allocated (or reallocated) tracking channels are initialized using for example the code-minus-carrier difference for a coarse a priori estimate.

The Kalman filter proceeds with the measurement update in which the filter state is corrected in proportion to the difference between the measurement vector of zi and the vector of modeled observations g(xi) at the current epoch. In practice, it may be preferable to replace the vector update by a series of scalar updates for each receiver channel. In this way the tedious inversion of a large matrix in the Kalman gain computation can be avoided.

The overall processing scheme is summarized in Fig. 1, which reflects the recommended architecture of a real-time navigation system. Here, the trajectory propagation is performed right after the measurement update and an interpolating polynomial is constructed over a predefined time step of typical 30–120 s. In this way high rate orbit information can be made available to the user irrespective of the filter update rate and the required execution time. When the following measurement is processed, the corresponding position and velocity can likewise be retrieved from the previously computed polynomial.
https://static-content.springer.com/image/art%3A10.1007%2Fs10291-007-0080-x/MediaObjects/10291_2007_80_Fig1_HTML.gif
Fig. 1

Processing scheme for extended Kalman filtering of GPS measurements in a real-time navigation system for LEO satellites

Data editing

An on-the-fly data-editing concept has been adopted in the present study to detect and eliminate faulty measurements prior to the measurement update. It is essentially based on an innovation test, which compares the pre-update measurement residuals with the expected uncertainty. Following the time update step, the predicted spacecraft position and carrier phase bias are used to compute the modeled range
$$ \rho * = \left| {{\mathbf{r}} - {\mathbf{r}}_{{\text{GPS}}} } \right| + c \cdot \delta t_{{\text{GPS}}} + B $$
assuming a zero receiver clock offset for each observed GPS satellite. The expected uncertainty σ(ρ*) is obtained from the covariance of the receiver position (projected on the line of sight vector), the covariance of the carrier phase bias and the assumed signal-in-space range error of the employed GPS ephemeris. An estimate of the clock offset at the new epoch is then obtained from the mean difference between observed and the modeled ranges. If the measurement residuals following the clock estimation exhibit a scatter larger than expected from the predicted uncertainty, the presence of a faulty measurement in the considered data set is suspected. To identify the faulty measurement, subset solutions are computed in which the clock offset is re-estimated with one of the measurements excluded. The subset solution yielding the smallest residuals is accepted and the omitted measurement is considered as an outlier. If necessary, the process can be repeated to identify more than one faulty measurement at a given epoch.

Implementation characteristics

To demonstrate the compatibility of the proposed algorithm with the restriction of representative onboard processors, the reference algorithm presented above has been implemented in a miniature GPS receiver for space applications. The Phoenix GPS receiver (Montenbruck et al. 2006b) employs a 32-bit ARM7TDMI mirror-processor kernel with 30 MHz clock frequency and is equipped with 256 kB of ROM and 512 kB RAM memory. Depending on the number of tracked satellites, the signal tracking and kinematic single-point navigation results in an average processor load of 40–50%. The real-time navigation module adds some 80 kB to the 130-kB standard receiver firmware.

The Phoenix real-time navigation system processes single-frequency GRAPHIC measurements for a total of 12 channels, which implies a 24-dimensional Kalman filter state. Tests conducted so far have employed a 40 × 40 Earth gravity model and a 30-s measurement update interval as well as a simplified data editing scheme suitable for tests in a signal simulator environment. The navigation filter is executed in a low-priority background task, and utilizes the spare CPU capacity (roughly 50%) that is left by the core GPS signal tracking functions of the receiver. During signal simulator tests for a LEO satellite scenario peak execution times of roughly 20 s have been measured for a single filter step when the maximum number of 12 GPS satellites was tracked and processed in the filter. Out of the total execution time, about 7 s were spent in the time and measurement updates, while the trajectory propagation (over a 2 × 30-s interval) consumed about 13 s. All computations can thus be safely completed within the 30-s update cycle of the filter.

As shown in the subsequent section, higher order gravity field models (up to 70 × 70) may be desirable for accurate navigation at low altitudes, in which case the spare processing power of the Phoenix receiver would be marginal. On the other hand, a variety of space-hardened processors with higher computing power are nowadays available. As an example, a 40 MHz LEON2 processor offers a 4–5 times higher processing power than the ARM7TDMI when equipped with a floating point unit (Gill 2005). The processor is about to be used in numerous space projects and considered as a key element of future European GNSS receiver developments (see e.g. Reichinger et al. 2006).

Flight data analysis

The prototype implementation discussed above demonstrates the feasibility of the proposed navigation system architecture and its compatibility with existing onboard processors. However, neither the employed receiver nor the signal simulator test data are fully representative for an assessment of the accuracy. We therefore make use of real GPS data collected in various space missions to study the achievable navigation performance under different conditions. Following a description of the employed data sets, we assess the impact of different GPS ephemeris products, different force models and different measurement combinations.

Data sets

In total, six different missions (CHAMP, GRACE, ICEsat, TerraSAR-X, SAC-C, and MetOp) have been considered (Table 1). At orbital heights of 400–800 km these missions cover the relevant altitude range for LEO satellites and enable a proper assessment of force modeling needs inside a real-time navigation system. With the exception of TerraSAR-X and MetOp all data sets cover a common 10-day interval (24 Oct–3 Nov 2006).
Table 1

Summary of missions and data sets for the assessment of achievable real-time navigation accuracies

Mission

Altitude (km)

Data arc year/days

Receiver

Noise

P12 (m)

C1L1 (m)

L12 (mm)

CHAMP

350

2006/267–276

BlackJack

0.6

0.07

<8

GRACE-A

460

2006/267–276

BlackJack

0.6

0.08

<9

TerraSAR-X

515

2007/171–174

IGOR

0.7

0.06

<9

ICEsat

595

2006/267–276

BlackJack

0.7

0.07

<8

SAC-C

700

2006/267–276

BlackJack

1.5

0.17

<17

MetOp

820

2006/360–362

GRAS

1.0

0.14

<10

The receiver noise represents the rms residuals obtained in an offline orbit determination and includes contributions of about 6–8 mm due to the noise of GPS clock products

Reference orbits for all missions have been generated using the GHOST software package (Montenbruck et al. 2005). It makes use of ionosphere-free code and phase measurements, which are processed in an undifferenced manner using precomputed 30 s GPS orbit and clock products from the Center for Orbit Determination in Europe (CODE). Transformations between antenna phase centers and the center of mass have been performed using attitude quaternions (GRACE, TerraSAR-X) or nominal attitude laws for the respective satellites (CHAMP, ICEsat, SAC-C, MetOp). For consistency, the same attitude handling has later been applied in the real-time navigation tests. Where available (CHAMP, GRACE, SAC-C, MetOp), the GHOST results have been independently validated against external reference solutions and/or satellite laser ranging. Depending on the respective mission and data quality the various reference orbit solutions exhibit an agreement of 4–10 cm (3D rms position error).

Except for MetOp, all satellites considered in this study are equipped with a similar type of GPS receiver, namely the JPL BlackJack receiver and its commercial version, IGOR. The performance of both receivers has earlier been evaluated in signal simulator tests, which are reported in Williams et al. (2002) and Montenbruck et al. (2006a). In the absence of other errors, an average pseudorange noise of 10 cm and a carrier phase noise of 0.5–1 mm is achieved for individual L1 or L2 measurements. This implies noise levels of 30 cm and 3 mm for dual-frequency ionosphere-free linear combinations. In the actual flight environment, notable performance degradation is often encountered due to multipath and/or a cross talk between different antenna inputs. As shown in Table 1 an average code noise of 60–100 cm is encountered in the CHAMP and SAC-C mission. For carrier phase measurements an upper bound of the receiver noise is given by the residuals observed in a ground-based precise orbit determination. Here values between 8 and 17 mm have been observed, which include the contribution of GPS clock offset errors with an estimated noise level of 6–8 mm.

Processing and analysis

The data for each satellite have been processed in daily arcs using an offline version of the real-time navigation algorithm described in the previous section. An observation step size of 30 s was used which is compatible with the expected duration of a single Kalman filter step in a representative onboard computer. In case of SAC-C the processing had to be restricted to a time interval from 0 to 13 h due to pronounced data gaps in the second half of each day. For all other missions, data arcs from 0 to 24 h have been employed.

In the absence of the receiver-generated navigation solutions, approximate initial state vectors have independently been derived from observations at the beginning of the data arc. To this end, a single-point position and velocity fix was computed from the measured pseudoranges and time differentiated carrier phases. Except when studying the use of GRAPHIC measurements, the initial states were based on dual-frequency observations and have a representative accuracy of 5 m and 0.5 m/s.

Filter parameters adopted in the individual test cases have been selected so as to achieve a good performance of the navigation filter in comparison with the established reference ephemerides of the LEO satellites. However, no systematic optimization has been performed and common parameters have generally been employed for groups of similar test cases. An increased amount of process noise has been allowed for tests involving a 30 × 30 gravity model to accommodate the pronounced mismatch between modeled and true dynamics.

For each test case, daily rms position errors have been computed ignoring an initial 1-h arc, which is partially affected by the filter start-up. The resulting values were subsequently averaged over all test days to obtain a single accuracy measure for the performance evaluation.

Depending on the quality of the GPS ephemeris products and the employed measurements type position accuracies of 0.1–1 m and velocity accuracies of 0.1–1 mm/s have been achieved. A sample plot of GRACE-A position errors obtained with broadcast ephemerides is shown in Fig. 2. The results are further discussed in the following subsections.
https://static-content.springer.com/image/art%3A10.1007%2Fs10291-007-0080-x/MediaObjects/10291_2007_80_Fig2_HTML.gif
Fig. 2

Sample position errors of the real-time navigation filter for GRACE-A using broadcast ephemerides (day 2006/267, 70 × 70 gravity model)

Real-time ephemeris trade-off

With ionospheric errors eliminated through suitable data combinations and measurement noise averaged through dynamical filtering, the quality of GPS orbit and clock information is a key factor for the achievable real-time navigation accuracy. We therefore begin our assessment with a comparison of different GPS ephemeris products and their impact on the navigation performance. Besides broadcast ephemerides, we consider the predicted portion of the IGS ultra-rapid (IGUp) ephemerides and real-time ephemerides from the Global Differential GPS System of NASA/JPL. All of these are either available in real-time in the receiver or could be made available with low latency using appropriate communication channels.

While broadcast ephemerides exhibit representative signal-in-space range errors (SISRE) of 1–1.5 m (Warren and Raquet 2003; Creel et al. 2006), a SISRE of better than 0.1 m rms is achieved by JPL’s real-time products. A varying quality was noted for the IGUp products. For the time frame considered in this study, IGUp SISRE values of about 1 m have been obtained, which mainly reflect the limited accuracy of the implied clock predictions. For reference, all data have furthermore been processed using CODE’s high-precision GPS orbits and 30-s clock products. The latter results provide an overall validation of the real-time navigation filter and confirm its consistency with the offline precise orbit determination.

A summary of results obtained with dual-frequency pseudorange and carrier phase measurements using a 70 × 70 gravity model is given in Table 2. Overall the resulting real-time navigation accuracy varies between 15 and 60 cm and is in close proportion to the SISRE of the employed real-time ephemeris products. Compared to Reichert et al. (2002) a factor of two improvements has been obtained in the SAC-C orbit determination using broadcast ephemerides. It must be emphasized, though, that broadcast ephemeris errors have gradually been decreased over the past years. Furthermore, a thorough optimization of filtering and data-editing parameters could probably not be performed in the SAC-C flight experiment.
Table 2

Real-time navigation accuracy achievable with different types of GPS orbit and clock information

Mission

Broadcast (cm)

IGS Ultrarapid (predicted) (cm)

JPL real-time (cm)

CODE (final) (cm)

CHAMP

69 (45)

41 (24)

20 (12)

17 (10)

GRACE-A

48 (20)

37 (17)

12 (6)

8 (4)

TerraSAR-X

50 (24)

29 (18)

11 (7)

9 (7)

ICEsat

53 (22)

38 (18)

14 (9)

10 (7)

SAC-C

56 (19)

42 (19)

23 (12)

20 (11)

MetOp

55 (24)

31 (16)

13 (9)

9 (6)

The table provides the 3D rms position error as well as the radial rms orbit error (in brackets). All results are based on the processing of dual-frequency code and phase measurements using a 70 × 70 gravity model

An accuracy of 10 cm is achieved with precise ephemeris products, which represents the limitations implied by the adopted models and the use of a forward-only Kalman filter. The results furthermore demonstrate a rather limited advantage of the IGUp ephemerides over the traditional broadcast ephemerides. This may already be suspected from the SISRE values given above and is caused by the limitations of the predicted clock values. So far, clock offsets cannot be properly forecast over the IGU update interval but have to be derived from observations of a suitable monitoring network.

Model trade-off

As mentioned in the algorithm description, a high degree and order of the gravity field model is generally required for an accurate modeling of the spacecraft trajectory between consecutive filter updates. Since the number of terms considered in the gravity field model is a key factor for the overall computational load of the navigation processor, an effort should be made to limit it to a reasonable size without sacrificing the resulting navigation accuracy.

Several tests with gravity models of different size have therefore been conducted to assess the impact on the achievable accuracy and to identify reasonable models for different altitude ranges. The results are collated in Tables 3 and 4, which apply for broadcast ephemerides and JPL real-time ephemerides, respectively. As expected, low altitudes are generally more sensitive to short-scale variations of the gravity field and require a larger number of terms in the gravity field model than high altitudes. Good results for altitudes of 600–800 km are obtained with a 50 × 50 model, while a model of degree and order 70 will improve results below this altitude range. No justification was found for use of a 100 × 100 model even at the very low altitude of the CHAMP satellite (350 km). On the other hand performance degradations are obvious when using a much smaller 30 × 30 model. Here the empirical accelerations are no longer able to absorb the mismatch between the actual and modeled perturbations, which reflects itself in a reduced navigation accuracy at low altitudes.
Table 3

Impact of gravity model order on the achievable real-time navigation accuracy

Mission

Gravity Model

100 × 100 (cm)

70 × 70 (cm)

50 × 50 (cm)

30 × 30 (cm)

CHAMP

67 (44)

69 (45)

78 (51)

141 (74)

GRACE-A

47 (20)

48 (20)

52 (23)

91 (48)

TerraSAR-X

50 (24)

50 (24)

52 (25)

80 (40)

ICEsat

53 (22)

53 (22)

54 (23)

86 (50)

SAC-C

56 (18)

56 (19)

57 (19)

87 (40)

MetOp

54 (24)

54 (24)

54 (24)

57 (26)

The table provides the 3D rms position error as well as the radial rms orbit error (in brackets) All results are based on the processing of dual-frequency code and phase measurements using broadcast ephemerides

Table 4

Impact of gravity model order on the achievable real-time navigation accuracy when using JPL real-time ephemerides

Mission

Gravity Model

100 × 100 (cm)

70 × 70 (cm)

50 × 50 (cm)

30 × 30 (cm)

CHAMP

18 (10)

20 (12)

25 (16)

70 (47)

GRACE-A

12 (6)

12 (6)

18 (9)

45 (20)

TerraSAR-X

11 (7)

11 (7)

13 (7)

36 (21)

ICEsat

14 (9)

14 (9)

15 (9)

27 (15)

SAC-C

23 (12)

23 (12)

24 (12)

39 (24)

MetOp

13 (9)

14 (9)

13 (9)

16 (10)

The table provides the 3D rms position error as well as the radial rms orbit error (in brackets)

For illustration the estimated cross-track accelerations for a 1-day data arc of GRACE-A are shown in Fig. 3 using gravity models of different size. While a moderate amount of empirical accelerations (20–50 nm/s2) is sufficient to compensate the mismatch between the true and modeled dynamics in case of a 70 × 70 or 50 × 50 model, accelerations of up to 2 μm/s2 are required with the 30 × 30 model.
https://static-content.springer.com/image/art%3A10.1007%2Fs10291-007-0080-x/MediaObjects/10291_2007_80_Fig3_HTML.gif
Fig. 3

Estimated cross-track accelerations for GRACE-A on day 2006/267 using gravity models of degree and order 30 (top), 50 (center) and 70 (bottom). All results are based on JPL real-time ephemerides

Data type trade-off

We conclude our analysis by comparing the real-time navigation accuracy achieved with different types of ionosphere-free measurement combinations. Results obtained with broadcast ephemerides and JPL real-time ephemerides are collated in Tables 5 and 6, respectively. They clearly demonstrate the benefit of low-noise carrier phase measurements, which certainly justifies the increased processing effort implied by the bias estimation for this data type.
Table 5

Impact of measurement types on the achievable real-time navigation accuracy

Mission

L12 Carrier phase (cm)

P12 Pseudorange (cm)

C1L1 GRAPHIC (cm)

CHAMP

69 (45)

175 (141)

78 (39)

GRACE-A

48 (20)

88 (30)

59 (22)

TerraSAR-X

50 (24)

83 (32)

60 (26)

ICEsat

53 (22)

113 (43)

66 (24)

SAC-C

56 (19)

90 (27)

80 (25)

MetOp

55 (24)

100 (38)

76 (27)

The table provides the 3D rms position error as well as the radial rms orbit error (in brackets). All results are based on the use of a 70 × 70 gravity model and broadcast ephemerides

Table 6

Impact of measurement types on the achievable real-time navigation accuracy

Mission

L12 carrier phase (cm)

P12 Pseudorange (cm)

C1L1 GRAPHIC (cm)

CHAMP

20 (12)

37 (23)

35 (18)

GRACE-A

12 (6)

29 (13)

31 (15)

TerraSAR-X

11 (7)

43 (18)

26 (13)

ICEsat

14 (9)

34 (18)

28 (14)

SAC-C

23 (12)

54 (16)

37 (13)

MetOp

14 (9)

36 (17)

37 (18)

The table provides the 3D rms position error as well as the radial rms orbit error (in brackets). All results are based on the use of a 70 × 70 gravity model and JPL real-time ephemerides

A noteworthy performance is also achieved by the GRAPHIC-based navigation filter. Here benefit is made of the fact that GRAPHIC measurements yield a noise roughly six times lower than ionosphere-free dual-frequency pseudoranges. The result is of particular importance in view of the limited availability, pronounced resource requirements and high cost of present dual-frequency receivers for space applications. The restriction to single-frequency GPS tracking in a real-time navigation system may thus contribute to notable resource savings at moderate losses in the achievable navigation performance.

The use of ionosphere-free pseudoranges, in contrast, provides the lowest overall accuracy among the three processing options. On the other hand, a pseudorange-based navigation filter requires a much simpler algorithm and lower filter dimension, since no bias states have to be estimated. It may therefore be beneficial if computational resources are very limited or if flight software quality assurance standards imply software architecture of the lowest possible complexity.

Summary and conclusions

A study of GPS-based real-time navigation has been conducted using measurements from various space missions in the 400–800 km altitude range. A suitably tailored prototype algorithm has been defined and implemented which is compatible with the run-time performance of available onboard processors. The results demonstrate that real-time navigation accuracies of 15 cm are achievable with dedicated real-time GPS orbit and clock products based on a worldwide network of monitoring stations and made available via a data relay satellite system. Common users that have to rely on broadcast ephemeris parameters can expect accuracies of 0.4–0.6 m depending on the orbital altitude and the applicable amount of dynamical constraints in the navigation filter. It remains to be seen, as to what extent more stable clocks and higher update intervals of broadcast ephemeris parameters will improve this situation with the modernization of the GPS constellation and the build-up of the European Galileo system.

It is also worthwhile to note that the achievable GPS-based real-time navigation performance is fully compatible with the performance of the DORIS-based DIODE navigation system and the performance requirements of altimeter users in the JASON-1 mission. Following (Jayles et al. 2004) a radial orbit accuracy of 10–30 cm rms and a 3D rms position error of 0.5 m have been achieved on JASON-1, which is well within the specifications (0.3 m radial error, 1.0 m total position error) adopted for this mission. A GPS-based navigation system can ensure a similar accuracy as DORIS when using broadcast ephemerides but has the prospect of a three-time performance increase when supplied with accurate real-time ephemeris products. Moreover, GPS tracking does not suffer from reduced contact times at lower altitudes, as is the case with DORIS beacon tracking. GPS-based real-time navigation is therefore a powerful and flexible alternative for future remote-sensing missions.

Another aspect of the study concerns the good performance of real-time navigation based on single-frequency GPS measurements. When working with broadcast ephemerides, the results obtained with the L1 GRAPHIC combination clearly outperform those of a dual-frequency pseudorange filter and are only 20–40% worse than those obtained with L1/L2 carrier phase measurements. This is of practical relevance, since the reduced number of channels and the simple architecture of single-frequency receivers offer the prospect of notable savings in onboard resources (volume, mass, power) and overall system cost.

Acknowledgments

PRB acknowledges a fellowship from the Departament d’Universitats, Recerca i Societat de la Informacio de la Generalitat de Catalunya, and from the European Social Fund, and wishes to thank its financial support. The present study makes use of GPS measurements from the CHAMP, GRACE, TerraSAR-X, ICEsat, SAC-C, and MetOp missions that have been made available by the GeoForschungsZentrum (GFZ), Potsdam, the Jet Propulsion Laboratory (JPL), Pasadena, the Center for Space Research, University of Texas at Austin (UT/CSR), the European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT), Darmstadt, the European Space Agency (ESA/ESTEC), Noordwijk. GPS orbit and clock solutions have been obtained from the Center for Orbit Determination in Europe (CODE), which is part of the International GNSS Service (IGS; Beutler et al. 1999). Real-time generated GPS ephemerides have been provided by InfoTerra under license of JPL. The support of all institutions has been vital for this work and is gratefully acknowledged.

Copyright information

© Springer-Verlag 2007