1 Introduction

The Gravity Recovery And Climate Experiment (GRACE) satellites (Tapley et al. 2004) were launched in 2002 with the aim to measure the static and time-variable gravity field of the Earth. The GRACE mission consists of two satellites, following each other in a low-earth orbit separated by a distance of about 200 km. The attitudes of the GRACE satellites are determined by two star cameras (SCs) on board each satellite. Errors in the SC measurements result in an inaccurate determination of the satellites’ attitudes, which ultimately propagate into errors in monthly mass anomaly maps.

Simulation studies (Kim 2000) done prior to the launch of the GRACE satellites predicted a noise level, which has not yet been matched by real data (Schmidt et al. 2008). This discrepancy highlights the need to fully understand the overall error budget. This is a goal on its own but may also be relevant for future mission performance analysis depending on the overall mission concept. In a recent study, Ditmar et al. (2012) explain the major contributions to the GRACE noise budget in different spectral bands. They show that low-frequency noise (\(<\)1 mHz) is caused by the limited accuracy of the computed GRACE orbits, while the K-band ranging (KBR) sensor is the major contributor to noise at frequencies above 9 mHz. Noise in the frequency band between 1 to 9 mHz (5.4–49 cycles per revolution, cpr) is less well understood. Although there is no one-to-one correspondence between frequencies in the KBR data and spherical harmonic degrees, it is very likely that relevant geophysical signal largely maps into this frequency range.

The fundamental observable of GRACE is the range between the satellites, which is measured by the KBR system. Since the launch of GRACE, advances in ranging technology allow the use of laser interferometers in satellites (Dehne et al. 2009). For instance, the GRACE follow-on (GRACE-FO) mission is scheduled to be launched in August 2017 (Sheard et al. 2012). This mission will carry both KBR and laser interferometric ranging instruments, the latter as a technological showcase. It is foreseen that laser interferometers will be able to improve the ranging accuracy by up to three orders of magnitude (Dehne et al. 2009; Bender et al. 2003). However, improvements brought by laser interferometry alone do not guarantee similar improvements in monthly gravity anomaly maps. Fully exploiting the new ranging technology requires all other relevant error sources to be controlled. Before GRACE’s launch, pre-mission simulation studies had to rely on assumptions about error sources. At this point, real data of the GRACE mission can be used to understand the complete error budget. This knowledge may be important for the simulation and design of future GRACE-type missions.

Errors in attitude determination may propagate into GRACE-based gravity models either by causing errors in the orientation of the measured non-gravitational acceleration vector or by causing ranging errors.

In the context of the gravity field and steady-state ocean circulation explorer (GOCE) mission (Drinkwater et al. 2007), errors in satellite attitude are well understood. Pail (2005) documents a simulation study on attitude errors. He considers various scenarios of errors in the attitude product, and their impact on GOCE gravity gradients is shown. Frommknecht et al. (2011) provide details about the attitude reconstruction step of the GOCE data processing. They used the so-called hybridization approach to merge information provided by the gradiometer and the star tracker instruments using a Kalman filter. Building on this, Stummer et al. (2012) document improvements to the attitude reconstruction method, where a new FIR filter approach replaces the Kalman filter. All these publications rely on a priori knowledge of the errors in the SC instruments aboard GOCE. An exception is Stummer et al. (2011), where an estimate of real errors in SC instruments is shown.

Regarding the GRACE mission, the impact of errors in the satellite attitudes has not yet been fully addressed. Inter-satellite accelerations (ISAs) reflecting gravity field variations need to be corrected for non-gravitational accelerations. The latter are measured by accelerometers on board the GRACE satellites. The measurements refer to the science reference frame (SRF) (Case et al. 2010), and need to be rotated to the inertial reference frame (IRF) in which the ISAs are expressed. Attitude errors cause small deviations in the orientation of the non-gravitational acceleration vector in inertial space, which ultimately show up as errors in the ISAs.

Observed inter-satellite ranges refer to the antenna phase centres, but need to be reduced to the centre of mass (CoM) of each GRACE satellite. The corresponding correction is referred to as the antenna phase centre correction (APC). This type of correction is applied to both the GPS and KBR measurements. The APC is computed as the projection of the estimated antenna phase centre vector along the direction defined by the two CoM of the satellites. This computation requires the antenna phase centre vector to be rotated from the SRF to the IRF. Inaccuracies in the satellite attitudes introduce errors in reduced GPS and KBR measurements. In this paper, we focus only on the APC errors in the KBR ranging data.

The KBR ranging data and the corresponding APC are publicly available as the KBR1B product, which is part of the set of GRACE Level-1B (L1B) products (Case et al. 2010). Other relevant products are the KBR antenna phase centre vector product (VKB1B) and the orientation of each SC head with respect to the SRF (QSA1B). Horwath et al. (2011) identified biases in the pitch and yaw angles of L1B attitude data, which introduce errors in the APC. Horwath et al. also showed improvements in gravity field solutions when removing them. Bandikova et al. (2012) conducted a study on the inter-satellite pointing angles and found systematic effects with the potential to affect GRACE gravity field solutions. In 2012, a new release (RL02) of L1B data has been made available. Following up on the improvements proposed by Horwath et al., the new RL02 version benefits from a recalibration of the QSA1B and VKB1B products (Kruizinga et al. 2010). These results strongly support the hypothesis that errors in APC of KBR data may play a role in GRACE final products and motivate the need to better understand their propagation into gravity field solutions.

There are two main objectives of this study. The first objective is to estimate and model actual errors in GRACE SC data. Errors in SC data are obtained by exploiting the existing SC redundancy on board the GRACE satellites. SC data are part of the GRACE Level-1A (L1A) data products (Case et al. 2010). Using L1A SC data, we build models that describe errors along individual axes of GRACE SCs. These models allow us to propagate realistic SC errors into gravity field models and may be used to simulate SC errors under different scenarios.

The second objective is to assess the impact of estimated attitude errors on GRACE monthly gravity anomaly maps. Realizations of SC attitude errors are first propagated into KBR errors and then into ISA (Liu et al. 2010). From ISA, monthly mass anomaly maps are estimated using the procedure of Liu et al. (2010). The effect of attitude noise on the monthly mass anomaly maps is assessed by comparing them with monthly mass anomaly maps obtained in the presence of synthetic SC noise.

The structure of the paper is as follows. In Sect. 2, we provide background information about SCs and their configuration in GRACE satellites. In Sect. 3, we analyse real L1A SC data and quantify noise in individual SC axes. The noise realizations are then used in Sect. 4 to build models of attitude noise. In Sect. 5, we discuss the propagation of attitude errors into GRACE inter-satellite ranging data. In Sect. 6, we show the propagation of the SC error models into the satellite attitudes, ISA and monthly gravity field solutions. In Sect. 7, we provide a brief summary of the main findings of the study. Finally, in Sect. 8, we discuss the results obtained and discuss potential applications to future satellite gravimetry missions.

2 Star cameras

A SC is an instrument comprising a digital camera, a microprocessor, software, and a star catalogue (Liebe 2002). The star catalogue contains information about the position of the stars in the celestial sphere. The SC views a small portion of the sky and pinpoints the brightest stars in its field of view. The pattern formed by the brightest stars is compared with the internal star catalogue allowing the instrument to recognize the stars in the field of view. The SC instrument uses advanced algorithms to compute the (sub-)pixel coordinates of the centres of the stars in the field of view. Knowing the location of the brightest stars in the camera’s internal reference frame, the attitude of the SC instrument and consecutively that of the spacecraft can be determined.

The origin of the SC internal reference frame is the centre of the optical system’s field of view. Its orientation is defined with a boresight axis (typically the z-axis) crossing the centre of the field of view and pointing perpendicular to it. The x- and y-axes are coplanar to the field of view and are typically named cross-boresight axes. The rotation between this reference frame and the SRF is obtained through calibration procedures, and is provided as the quaternion product QSA1B (Case et al. 2010).

The distinction between boresight and cross-boresight is motivated by the fact that SCs do not deliver isotropic accuracy on the rotation about all three axes (Liebe 2002). Typically, SCs are more sensitive to rotations about the cross-boresight axes than about the boresight axis. Rotations around the cross-boresight axes are seen by the optical system as a translation of all the stars in the field of view. The displacement of the star centroids is uniform across the whole image. On the other hand, rotations around the boresight axis result in rotations of the stars around the centre of the field of view. Stars close to the centre show much smaller displacements than those at the edge. As a result, the ratio between the accuracy of the cross-boresight and the boresight axes of typical SCs is somewhere between \(6\) and \(20\) (Liebe 2002). For GRACE SCs, the accuracy of rotations about the cross-boresight axes is better than that of rotations about the boresight axis by a factor of \(8\) (Wu et al. 2006, [Appendix J]).

It is common practice that satellites use two (or more) SCs, looking at different parts of the sky. This has two advantages; first of all, combining data of several SCs improves the accuracy of attitude information, in particular if the configuration has been properly designed to reduce the anisotropic sensitivity of each camera. Secondly, several cameras provide redundancy; should one of the sensors fail or look towards the Sun or the Moon, the others are still available to provide attitude information.

The GRACE satellites are equipped with two SCs each, which provide attitude information with 1 s sampling. They are referred to as primary and secondary SC, respectively. Figure 1 depicts the relative orientation between each of the SC’s reference frame and the SRF.

Fig. 1
figure 1

Primary SC (P), secondary SC (S) and science (C) reference frames. Blue represents x-, green represents y- and red is the boresight axis represented by the letter z. Both SCs are assembled at \(\pm 135^\circ \) rotation angle about the x-axis in the science reference frame (SRF)

3 Attitude errors

In this section, we provide the basic formalism of rotations and show how we exploit the data of the two independent SCs to quantify attitude errors. The presence of two SCs on board each GRACE satellite provides redundant measurements of the satellites’ attitude. The difference between the SC measurements reflects the level of noise in the instruments. We will define the SC measurement errors as small-angle rotations. Then we show how noise in individual SC data propagates into the difference between primary and secondary SCs. This formalism allows us to estimate errors along individual SC axes based on the observed differences between SC measurements.

The relative orientation of two arbitrary reference frames can be modelled in different ways, using either direction cosine matrices (DCMs), quaternions or angle-axis vectors. In Aerospace Engineering, it is frequently needed to define rotations between the reference frame of a vehicle and some external reference frame. The most intuitive way to describe the rotation is to use Cardan angles: roll (\(\alpha \)), describing the rotation around the x-axis, which in this paper is the along-track direction; yaw (\(\gamma \)) around the z-axis which is normally perpendicular (either up or down) to the horizontal plane of the vehicle, and pitch (\(\beta \)) around the y-axis, which is chosen to complete the right-handed system. These angles are most commonly used since they correspond to the types of rotations used to manoeuvre aircraft and spacecraft. This set of three rotations can be used to define the orientation of the spacecraft relative to some reference frame.

Each SC on board the GRACE satellites provides attitude information relative to the IRF. In the following, superscript \(C\) refers to the science reference frame (SRF), common to all star cameras, \(S_i\) to the \(i\)-th star camera reference frame, and \(I\) to the IRF. To the unacquainted reader, a short introduction to rotations is provided in Appendix A. Several specific references on the topic can be found, e.g. Jekeli (2001).

Let \(\varvec{R}_{I}^{S_i}\) be the DCM, which transforms vectors from the IRF to the i-th SC frame. Each SC measures this rotation with a small error \(\varvec{\varepsilon }_{\psi ,i}\).

$$\begin{aligned} \tilde{\mathbf {R}}_{I}^{S_i} = \mathbf {R}(\varvec{\varepsilon }_{\psi ,i}) \mathbf {R}_{I}^{S_i}, \end{aligned}$$
(1)

where \(\varvec{\varepsilon }_{\psi ,i} \equiv \begin{bmatrix} \varepsilon _{\alpha ,i}&\varepsilon _{\beta ,i}&\varepsilon _{\gamma ,i} \end{bmatrix}^T\) is the vector representing the errors in the roll (\(\varepsilon _{\alpha ,i}\)), pitch (\(\varepsilon _{\beta ,i}\)) and yaw (\(\varepsilon _{\gamma ,i}\)) angles in the measured rotation and where \(i\) can be \(P\) or \(S\) denoting the primary or secondary star camera, respectively. \(\varvec{R}(\varvec{\varepsilon }_{\psi ,i})\) is the direction cosine matrix defined by the vector \(\varvec{\varepsilon }_{\psi ,i}\), cf., Appendix A. The tilde denotes a measured quantity. The small-angle errors \(\varvec{\varepsilon }_{\psi ,i}\) in the SC frame are assumed to be stationary and well described by a Gaussian distribution.

The relative orientation of each SC with respect to the SRF is known (QSA1B product) and the \(I\rightarrow C\) rotation can be written as

$$\begin{aligned} \tilde{\mathbf {R}}_{I,i}^{C} = \mathbf {R}_{S_i}^{C} \mathbf {R}(\varvec{\varepsilon }_{\psi ,i}) \mathbf {R}_{I}^{S_i}. \end{aligned}$$
(2)

Both SCs measure the same rotation \(\mathbf R_I^C\) and their differences expose the level of noise in the attitude determination system. Equation (2) allows us to describe the differential rotation as a function of the errors \(\varvec{\varepsilon }_{\psi ,i}\) and \(\varvec{\varepsilon }_{\psi ,j}\) in the \(i\)-th and \(j\)-th SCs. The differential rotation between measurements of any two SCs is

$$\begin{aligned} \tilde{\mathbf {R}}_{I,i}^C\, \left( \tilde{\mathbf {R}}_{I,j}^C\right) ^{-1}&= \mathbf {R}_{S_i}^{C}\, \mathbf {R}(\varvec{\varepsilon }_{\psi ,i})\, \mathbf {R}_{I}^{S_i}\, \left( \mathbf {R}_{S_j}^{C}\, \mathbf {R}(\varvec{\varepsilon }_{\psi ,j})\, \mathbf {R}_{I}^{S_j} \right) ^{-1} \nonumber \\&= \mathbf {R}_{S_i}^{C}\, \mathbf {R}(\varvec{\varepsilon }_{\psi ,i})\, \mathbf {R}_{I}^{S_i}\, \mathbf {R}_{S_j}^I\, \mathbf {R}(-\varvec{\varepsilon }_{\psi ,j})\, \mathbf {R}_C^{S_j} \end{aligned}$$
(3)

Notice that \(\mathbf {R}_c^b \mathbf {R}_a^c = \mathbf {R}_a^b = \mathbf {R}_d^b \mathbf {R}_a^d\). Therefore,

$$\begin{aligned} \tilde{\mathbf {R}}_{I,i}^C\, \left( \tilde{\mathbf {R}}_{I,j}^C\right) ^{-1}&= \mathbf {R}_{S_i}^{C}\, \mathbf {R}(\varvec{\varepsilon }_{\psi ,i})\, \mathbf {R}_{C}^{S_i}\, \mathbf {R}_{S_j}^C\, \mathbf {R}(-\varvec{\varepsilon }_{\psi ,j})\, \mathbf {R}_C^{S_j} \end{aligned}$$

For small errors \(\varvec{\varepsilon }_{\psi }\), the approximation \(\mathbf {R}(\varvec{\varepsilon }_{\psi }) \approx \mathbf {I} - \varvec{\Psi }\) holds (cf. Appendix A),

$$\begin{aligned}&= \mathbf {R}_{S_i}^{C}\, \left( \mathbf {I} - \varvec{\Psi }_i^{S_i} \right) \, \mathbf {R}_C^{S_i}\, \mathbf {R}_{S_j}^C\, \left( \mathbf {I} + \varvec{\Psi }_j^{S_j} \right) \, \mathbf {R}_C^{S_j} \nonumber \\&= \mathbf {I} - \mathbf {R}_{S_i}^{C}\varvec{\Psi }_i^{S_i}\, \mathbf {R}_C^{S_i} + \mathbf {R}_{S_j}^C\, \varvec{\Psi }_j^{S_j} \mathbf {R}^{S_j}_C - \mathbf {R}_{S_i}^C\varvec{\Psi }_i^{S_i}\mathbf {R}^{S_i}_C \mathbf {R}_{S_j}^C\varvec{\Psi }_j^{S_j}\mathbf {R}^{S_j}_C \end{aligned}$$
(4)

Neglecting second order terms, we obtain from Eq. (31),

$$\begin{aligned} \tilde{\mathbf {R}}_{I,i}^C\, \left( \tilde{\mathbf {R}}_{I,j}^C\right) ^{-1}&\approx \mathbf {I} - \varvec{\Psi }_i^C +\varvec{\Psi }_j^C \nonumber \\&= \mathbf {I} - \Delta \varvec{\Psi }_{ij}^C \nonumber \\&= \mathbf {R}(\Delta \varvec{\varepsilon }_{\psi ,ij}^C) \end{aligned}$$
(5)

where,

$$\begin{aligned} \Delta \varvec{\varepsilon }_{\psi ,ij}^C&\equiv \varvec{\varepsilon }_{\psi ,i}^C - \varvec{\varepsilon }_{\psi ,j}^C. \end{aligned}$$

For each GRACE satellite, equipped with primary and secondary SCs, the differential rotation between individual SC measurements can be computed as

$$\begin{aligned} \tilde{\mathbf {R}}_{I,P}^C \left( \tilde{\mathbf {R}}_{I,S}^C\right) ^{-1} \approx \mathbf {R}(\Delta \varvec{\varepsilon }_\psi ^C). \end{aligned}$$
(6)

In Eq. (6), the rotation \(I \rightarrow C\) as measured by the primary SC is applied after the inverse rotation as measured by the secondary SC. If both SC measurements are error free, this operation would result in the identity matrix. In reality, this operation yields a small-angle rotation \(\mathbf {R}(\Delta \varvec{\varepsilon }_\psi ^C)\), which is caused by the measurement errors in the SCs. Equation (6) shows that the measurement error \(\Delta \varvec{\varepsilon }_\psi ^C\), in terms of roll, pitch and yaw angles, can be computed directly from the SC data.

Because of the anisotropy of the SC instruments it is important to understand how errors in each SC axis propagate into \(\Delta \varvec{\varepsilon }_\psi ^C\), specifically in terms of their cross- and boresight axes. Equation (5) shows that attitude errors \(\Delta \varvec{\varepsilon }_\psi ^C\) in the C-frame equal the difference between errors in the individual SCs rotated to the C-frame. Using the approximate rotation matrix from each SC frame to the SRF (see Fig. 1), we readily obtain

$$\begin{aligned} \Delta \varvec{\varepsilon }_\psi ^{C}&= \mathbf {R}_x({-135}^{\circ })\varvec{\varepsilon }_{\psi ,P} - \mathbf {R}_x({135}^{\circ })\varvec{\varepsilon }_{\psi ,S}. \end{aligned}$$
(7)

Notice that Eq. (7) is only valid when assuming that SC errors are small, i.e. in the range where \(\sin \theta \) can be approximated by \(\theta \) and \(\cos \theta \) by \(1\). The following equalities hold: \(\cos (\pm 135^\circ )=-\frac{1}{\sqrt{2}}\), \(\sin (\pm 135^\circ )=\pm \frac{1}{\sqrt{2}}\), and Eq. (7) can be expanded into component-wise notation:

$$\begin{aligned} \begin{bmatrix} \Delta \varepsilon _\alpha \\ \Delta \varepsilon _\beta \\ \Delta \varepsilon _\gamma \end{bmatrix}&= \begin{bmatrix} \varepsilon _{\alpha ,P} - \varepsilon _{\alpha ,S} \\ \frac{1}{\sqrt{2}} \left( -\varepsilon _{\beta ,P} +\varepsilon _{\gamma ,P} +\varepsilon _{\beta ,S} +\varepsilon _{\gamma ,S} \right) \\ \frac{1}{\sqrt{2}} \left( -\varepsilon _{\beta ,P} -\varepsilon _{\gamma ,P} -\varepsilon _{\beta ,S} +\varepsilon _{\gamma ,S} \right) \end{bmatrix}. \end{aligned}$$
(8)

The right-hand side can be simplified by adding and subtracting the pitch and yaw errors,

$$\begin{aligned} \begin{bmatrix} \Delta \varepsilon _\alpha \\ \Delta \varepsilon _\beta -\Delta \varepsilon _\gamma \\ \Delta \varepsilon _\beta +\Delta \varepsilon _\gamma \end{bmatrix}&= \begin{bmatrix} \varepsilon _{\alpha ,P} - \varepsilon _{\alpha ,S} \\ \frac{2}{\sqrt{2}} \left( \varepsilon _{\gamma ,P} +\varepsilon _{\beta ,S} \right) \\ \frac{2}{\sqrt{2}} \left( -\varepsilon _{\beta ,P} +\varepsilon _{\gamma ,S} \right) \end{bmatrix}. \end{aligned}$$
(9)

Notice that the errors \(\varepsilon _{\alpha ,i}, \varepsilon _{\beta ,i}\) correspond to the cross-boresight axes, while \(\varepsilon _{\gamma ,i}\) corresponds to the boresight axis of a SC. Boresight errors are expected to be a factor \(8\) larger than cross-boresight errors. Based on Eq. (9), we derive expressions for the attitude errors of each SC, where we neglect the cross-boresight terms in the second and third lines:

$$\begin{aligned} \begin{bmatrix} \varepsilon _{\alpha ,P} - \varepsilon _{\alpha ,S} \\ \varepsilon _{\gamma ,P} \\ \varepsilon _{\gamma ,S} \end{bmatrix}&= \begin{bmatrix} \Delta \varepsilon _\alpha \\ \frac{\sqrt{2}}{2}\left( \Delta \varepsilon _\beta - \Delta \varepsilon _\gamma \right) \\ \frac{\sqrt{2}}{2}\left( \Delta \varepsilon _\beta + \Delta \varepsilon _\gamma \right) \end{bmatrix}. \end{aligned}$$
(10)

Under the assumption of independent and identically distributed errors in primary and secondary SC data, Eq. (10) allows us to relate differences between SC measurements with errors along the boresight axis of each SC (\(\varepsilon _{\gamma ,P}\) and \(\varepsilon _{\gamma ,S}\)) and along a combination of one cross-boresight axis (the \(x\)-axes) of each SC. It can also be seen that the cross-boresight axes errors \(\varepsilon _{\beta ,i}\) (the \(y\)-axes) are not estimated. In the following, we refer to the left-hand side as SC error and to the right-hand side as SC error estimates.

We analyse two months of L1A SC data: 2006/02 and 2006/05 and compute the SC error estimates. The statistics are shown in Table 1, columns “Obs”. Notice that the mean SC error differs significantly from zero. Furthermore, the mean is not time stationary and may change from month to month.

Table 1 Statistics of SC error estimates, fitted harmonic model and stochastic model in \(\upmu \)rad

In Table 1, we assume a similar error level for both SCs, such that \(\sigma _{\varepsilon _{\alpha }} = \frac{1}{\sqrt{2}}\sigma _{\varepsilon _{\alpha ,P} - \varepsilon _{\alpha ,S}}\). From this table, we see that the standard deviation of the first component of the SC error estimates (\(\varepsilon _{\alpha }\)) is around 23 \(\upmu \)rad. This value is at the edge of the single axis accuracy which is expected to be better than 24 \(\upmu \)rad (Davis et al. 1999). The primary SC boresight axes error estimates have a standard deviation of 230–290 \(\upmu \)rad. For both satellites, this value is seen to change from one month to another by up to 25 \(\upmu \)rad. The secondary SC boresight axes error estimates have a standard deviation of about 160–170 \(\upmu \)rad. They are therefore more accurate than the primary SC boresight axes. For both satellites, this value changes from 1 month to another by up to 3 \(\upmu \)rad.

If we consider the secondary SC boresight axes, the ratio between cross- and boresight axes accuracy is close to the expected value of \(8\). If we consider instead the primary SC boresight axes, then this ratio is higher than expected, with a value between \(9\) and \(13\).

A comparison of GRACE-A with GRACE-B reveals that the noise standard deviation is similar, except for the primary SC boresight axis, where GRACE-A shows higher standard deviations by up to 59 \(\upmu \)rad.

4 Modelling SC errors

In this section, we exploit Eq. (10) to build a model of SC errors based on L1A SC data for the months 2006/02 and 2006/05. It can be used to cover the existing data gaps. It can also be used to study the impact of SC errors on gravity field solutions, in months during which we have no SC data. Such model could also be used to investigate alternative configurations of the SC assembly.

Plotting and inspecting SC error estimates in the time domain reveal a cyclic pattern with a period matching the orbital revolution period of the GRACE satellites. This suggests that SC error estimates in the time domain can be better visualized when individual orbital revolutions are plotted side by side against the satellite’s true anomaly, an approach first proposed by Bandikova et al. (2012).

Plotting the data in this manner reveals a dependency between the SC error estimates and the satellite’s true anomaly. This is seen in Fig. 2 as a checkerboard pattern in the top plot and as a series of stripes in the two bottom plots. The SC error estimates can only be computed when measurements exist for both SCs. This explains the large amount of gaps in the SC error estimates. The black regions in Fig. 2 correspond to the periods of missing data in one of the SCs. They are caused by periods during which at least one of the star cameras is blinded by the Sun or the Moon shining in its field of view, either directly or through reflections in the optical camera baffle.

In Fig. 3, the square root of the periodogram estimate of the power spectral density (PSD\(^\frac{1}{2}\)) of one component of the SC error estimates is shown. The PSD\(^\frac{1}{2}\) reveals a set of very sharp, energetic frequencies closely related to multiples of the satellite’s orbital period. These spectral peaks have also been observed in the SCs onboard GOCE (Stummer et al. 2011). These peaks are observed in both satellites and in all three components of the SC error estimates. They contain between 50–70 % of the total energy.

Fig. 2
figure 2

SC error estimates of GRACE-A during 2006/02. Depicted are the cross-boresight error term \(\varepsilon _{\alpha ,P}-\varepsilon _{\alpha ,S}\) (top), the primary SC boresight error \(\varepsilon _{\gamma ,P}\) (middle) and the secondary SC boresight error \(\varepsilon _{\gamma ,S}\) (bottom). In each plot, the vertical axis represents the satellite’s true anomaly, where the labels NP, EQ and SP represent the north-pole, equator and south-pole points along the satellite’s orbit, respectively. A strong dependency can be seen between SC error estimates and the satellite’s true anomaly. Units are mrad

Fig. 3
figure 3

PSD\(^\frac{1}{2}\) of the first component of SC error estimates (\(\varepsilon _{\alpha ,P} - \varepsilon _{\alpha ,S}\)) for GRACE-A during 2006/02. Sharp peaks of high magnitude can be seen in the plot, close to the harmonics of the orbital revolution frequency, marked with a dashed red line. They correspond to the periodic features observed in the spatial domain. Similar peaks are found for all axes and both months of data. Red dots highlight the 300 most energetic spectral components which are used to form a harmonic noise model. The zero-frequency component (bias, not shown) is always part of the harmonic model

Furthermore, the error pattern observed in Fig. 2 changes over time. A comparison of the error pattern during the first few and last few orbital revolutions shows slight differences in the error pattern. SC errors depend, among others, on the number and brightness of the stars in the field of view. For a given satellite anomaly, a similar pattern of stars is seen in consecutive satellite revolutions. This would explain the strong dependency of the errors with the orbital revolution frequency. Furthermore, the precession of the satellite’s orbit causes a slow change in the pattern of stars. This could, in turn, explain the slow change observed in the error pattern depicted in the plots. Another plausible explanation would be that thermal distortion of the SC assembly would cause measurable displacement of the SC heads. In any case, this error pattern indicates an influence of the satellites’ environment on the SC measurements.

From Fig. 3, we conclude that SC error estimates reveal two distinct components. A random component with smooth spectral signature, and a systematic component with energy distributed over the harmonics of the satellite orbital frequency. We refer to these distinct SC error components as stochastic component and harmonic component, respectively. The distinction between these two components is purely based on their spectral properties; it is not implied that each of them can be attributed to a single specific error source or even that they must be caused by distinct error sources.

There are two reasons why it is necessary to separate such two components of the SC error estimates. Firstly, interactions of the satellite with its surrounding map presumably into harmonic errors, which means that potentially, one could be able to reduce such errors. For example, we could optimize the orbit to achieve a more uniform star distribution in the case of attitude errors; or one could chose a Sun-synchronous orbit which would minimize thermal load on the satellites in the case of (hypothetical) thermal errors. Therefore, the harmonic error component allows one to quantify the potential benefit of such improvements and whether they would be relevant in the context of gravity field modelling. Another reason to separate these two components is very practical. ARMA models have proven to be a very efficient tool to model random errors; they are now routinely used to model noise of satellite gravity data. However, for random errors with sharp spectral features, they are less suited unless the order of the ARMA model is chosen extremely high, which in turn reduces the numerical efficiency of the ARMA noise model. Separating the SC error estimates in harmonic and stochastic components allows the ARMA models to be efficiently used while keeping the overall noise spectrum realistic.

4.1 The harmonic component of SC errors

Because of their spectral characteristics, harmonic SC errors can be modelled by a relatively small number of sinusoids. Due to the presence of gaps in the SC measurement time series, we estimate the amplitude and phase of these sinusoids using the least-squares (LS) approach. We use the Inverse Discrete Fourier Transform (IDFT) as a functional model. Consider the input signal \(y_i \equiv y(t_0 + i \Delta t), i = 0,1,\ldots ,N-1\) and the set of complex Fourier coefficients \(Y_j\), where N represents the total number of Fourier coefficients and the total number of points, such that,

$$\begin{aligned} \begin{bmatrix} y_0 \\ y_1 \\ \vdots \\ y_{N-1} \end{bmatrix} =\,&\frac{1}{N} \begin{bmatrix} e^{\frac{i2\pi \cdot 0 \cdot 0}{N}}&e^{\frac{i2\pi \cdot 0 \cdot 1}{N}}&\cdots&e^{\frac{i2\pi \cdot 0 \cdot (N-1)}{N}} \\ e^{\frac{i2\pi \cdot 1 \cdot 0}{N}}&e^{\frac{i2\pi \cdot 1 \cdot 1}{N}}&\cdots&e^{\frac{i2\pi \cdot 1 \cdot (N-1)}{N}} \\ \vdots&\vdots&\ddots&\vdots \\ e^{\frac{i2\pi \cdot (N-1) \cdot 0}{N}}&e^{\frac{i2\pi \cdot (N-1) \cdot 1}{N}}&\cdots&e^{\frac{i2\pi \cdot (N-1)^2}{N}} \end{bmatrix}\nonumber \\&\times \, \begin{bmatrix} Y_0 \\ Y_1 \\ \vdots \\ Y_{N-1} \end{bmatrix}, \end{aligned}$$
(11)

which is a linear and invertible system of equations.

The harmonic SC errors appear in the spectral domain as very sharp peaks with high energy. Only a small subset \(\mathbf Y_m, \forall m \in [m_1,m_2,\ldots ,m_M]\) with a total of \(M\) complex coefficients of the full set of Fourier coefficients \(\mathbf Y_i, \forall i \in [0,\ldots ,N-1]\) is required to model the harmonic SC errors. The complex coefficients to be used in the model correspond to the \(M\) most energetic spectral components. They are selected from an initial, approximate, spectrum computed by filling the gaps in the original SC error estimates with zeros. This approximate spectrum is only used to determine which spectral components will be estimated.

The choice of how many coefficients should be used is a trade-off between the number of parameters used to describe the model and capturing enough energy to describe the harmonic error component. Selecting too many parameters leads to a leakage of stochastic errors into the harmonic model. This is undesirable because a more adequate model can be used to describe the stochastic SC errors, as will be discussed in Sect. 4.2.

Due to gaps in the SC data, only the subset \(\mathbf y_l, \forall l \in [l_1, l_2,\ldots , l_L]\) with a total of \(L\) SC error estimates is available. Keeping only the \(L\) lines and \(M\) columns of Eq. (11) results in the following model,

$$\begin{aligned} \begin{bmatrix} y_{l_1} \\ y_{l_2} \\ \vdots \\ y_{l_L} \end{bmatrix}&= \begin{bmatrix} e^{\frac{i2\pi \cdot l_1 \cdot m_1}{N}}&e^{\frac{i2\pi \cdot l_1 \cdot m_2}{N}}&\cdots&e^{\frac{i2\pi \cdot l_1 \cdot m_M}{N}} \\ e^{\frac{i2\pi \cdot l_2 \cdot m_1}{N}}&e^{\frac{i2\pi \cdot l_2 \cdot m_2}{N}}&\cdots&e^{\frac{i2\pi \cdot l_2 \cdot m_M}{N}} \\ \vdots&\vdots&\ddots&\vdots \\ e^{\frac{i2\pi \cdot l_L \cdot m_1}{N}}&e^{\frac{i2\pi \cdot l_L \cdot m_2}{N}}&\cdots&e^{\frac{i2\pi \cdot l_L \cdot m_M}{N}} \end{bmatrix} \begin{bmatrix} Y_{m_1} \\ Y_{m_2} \\ \vdots \\ Y_{m_M} \end{bmatrix}. \end{aligned}$$
(12)

We assume that all observations are uncorrelated and have the same unknown standard deviation \(\sigma _y\), so that the SC error estimates variance–covariance matrix is \(\mathbf {C_y} \equiv \sigma _y^2 \mathbf {I}\). As seen in Fig. 2, gaps cluster in large regions, resulting in unstable linear system of equations, whose solutions show strong oscillations in the areas void of data. To mitigate this behaviour, we apply regularization (Tikhonov and Arsenin 1977), in the form of a set of pseudo-observations, which are defined only over the gapped regions of the SC error estimates. Hence, the extended mathematical model is

$$\begin{aligned} \begin{bmatrix} \mathbf {y} \\ \mathbf {0} \end{bmatrix} = \begin{bmatrix} \mathbf {A} \\ \mathbf {A}_g \end{bmatrix} \mathbf {Y_m}. \end{aligned}$$
(13)

The variance–covariance matrix of the pseudo-observations is \(\mathbf {C}_g \equiv \sigma _g^2 \mathbf {I}\), where \(\sigma _g\) is the standard deviation of the noise in the pseudo-observations. Then, the regularized solution is obtained as,

$$\begin{aligned} {\hat{\mathbf{Y}}}_m = \left( \mathbf {A}^T \mathbf {A} + k\mathbf {A}_g^T\mathbf {A}_g \right) ^{-1} \left( \mathbf {A}^T \mathbf {y} \right) , \end{aligned}$$
(14)

where \(k=\frac{\sigma _y^2}{\sigma _g^2}\) is the regularization parameter. If the standard deviation of noise in the pseudo-observations is assumed to be large \((\sigma _g \rightarrow \infty )\) then \(k \rightarrow 0\). In this situation, no regularization is applied, resulting in potentially unstable LS solutions. On the other hand, if \(\sigma _g = \sigma _y\), then \(k = 1\), and, in this case, the pseudo-observations have the same weight as the observations. This is equivalent to assigning zero values to missing data, which, as we argued before, is undesirable. Thus, both extremes cases, \(k=0\) and \(k=1\), lead to sub-optimal results. A certain intermediate value of \(k\) corresponds to a solution which suitably represents the harmonic SC errors. This solution is defined as the one which conserves the total energy of the harmonic component in the SC error estimates.

The total energy \(\xi '\) of the observed harmonic component, which contains data gaps, can be computed as

$$\begin{aligned} \xi ' = \sum _{m} \parallel \mathbf Y_m \parallel ^2. \end{aligned}$$
(15)

However, the fitted harmonic model contains no gaps. In view of Parseval’s identity, the total energy of the observed and fitted harmonic components can only be compared if the observed harmonic component is up-scaled by the ratio \(\frac{N}{L}\) between the total number and the number of valid SC error estimates. This means that Eq. (15) must be replaced by the expression for the up-scaled energy,

$$\begin{aligned} \xi = \frac{N}{L} \sum _m \parallel \mathbf Y_m \parallel ^2 \end{aligned}$$
(16)

The following procedure is used to fit a harmonic model to the gapped SC error estimates:

  1. 1.

    Assign zero values to the missing SC error estimates to compute an approximate PSD. This PSD is used to find the set of \(M\) most energetic frequency components in the SC error estimates. For one month of data, the PSD yields around \(10^{6}\) Fourier coefficients. However, only 100–300 most energetic components typically contain between 50–70 % of the total energy. In our models, we chose the value of \(M=300\). This number is empirically chosen as a threshold beyond which adding more frequency components no longer significantly changes the total energy of the harmonic component. In Fig. 3, they are marked with red circles.

  2. 2.

    Compute the target total energy \(\xi \) of the harmonic model from the selected set of coefficients \(\mathbf {Y_m}\), cf., Eq. (16).

  3. 3.

    An initial value of the regularization parameter is chosen and the regularized solution is computed.

  4. 4.

    The regularization procedure is iterated with different parameters \(k_i\), until the obtained solution is within a threshold \(\delta \) of the target total energy,

    $$\begin{aligned} \left| \xi - \sum _m \parallel \hat{\mathbf{Y}}_m \parallel ^2\right| < \delta , \end{aligned}$$
    (17)

    If the total energy is too high, the solution needs more regularization (\(k_i > k_{i-1}\)). Otherwise the regularization parameter should be reduced (\(k_i < k_{i-1}\)).

This procedure yields a model for the harmonic error component. In the absence of information in gapped regions, it interpolates the information observed in the regions with measurements instead of assuming zero data in the gaps. We do not state that such a model represents the real, unknown errors in the gapped regions. However, we can state that such a model is the one which, in the whole domain, most closely represents the harmonic error observed in the non-gapped regions.

The results of the outlined algorithm are shown in Fig. 4. Table 1 shows the statistics of the fitted harmonic models and of the respective residuals. It can be seen that the harmonic model, despite comprising only a small set of frequency components, contains \(\approx \)65 % of the total SC error estimates energy.

Fig. 4
figure 4

Fitted harmonic model (left), fit residuals (right). SC error estimates along the roll axis (top), pitch (middle) and yaw (bottom). Models were fitted using 300 complex Fourier coefficients. The residuals show random error, showing that the fitted harmonic models adequately describe observed patterns in SC error estimates (Fig. 2). Units are mrad

The fitted harmonic model consists of one set of DFT coefficients for each component of the SC error estimates: \(\mathbf Y_m^{\varepsilon _{\alpha ,P}-\varepsilon _{\alpha ,S}}\), \(\mathbf Y_m^{\varepsilon _{\gamma ,P}}\) and \(\mathbf Y_m^{\varepsilon _{\gamma ,S}}\). This model is used to generate a harmonic error realization for all axes of both SCs. Applying the IDFT operation to \(\mathbf Y_m^{\varepsilon _{\gamma ,P}}\) and \(\mathbf Y_m^{\varepsilon _{\gamma ,S}}\) yields the time series of harmonic errors along the boresight axes of the primary and secondary SCs, respectively.

Regarding the cross-boresight model \(\mathbf Y_m^{\varepsilon _{\alpha ,P}-\varepsilon _{\alpha ,S}}\), we assume that the magnitude of the error along each individual axis \(\mathbf Y_m^{\varepsilon _{\alpha ,P}}\) and \(\mathbf Y_m^{\varepsilon _{\alpha ,S}}\) is equally divided among both SCs and that they are orthogonal in the complex plane. This results in a solution,

$$\begin{aligned} \mathbf Y_m^{\varepsilon _{\alpha ,P}}= & {} -\frac{\sqrt{2}}{2} e^{-i\frac{\pi }{4}} \mathbf Y_m^{\varepsilon _{\alpha ,P} - \varepsilon _{\alpha ,S}} \nonumber \\ \mathbf Y_m^{\varepsilon _{\alpha ,S}}= & {} \frac{\sqrt{2}}{2} e^{\frac{\pi }{4}} \mathbf Y_m^{\varepsilon _{\alpha ,P} - \varepsilon _{\alpha ,S}}. \end{aligned}$$
(18)

These two components are obtained as rotations in the complex plane by \(\pm {45}^{\circ }\) of the corresponding cross-boresight model, scaled to satisfy the observation in Eq. (10). The zero-frequency component (mean value) is not an imaginary value. Therefore, assuming that it is also equally divided among both SCs, \(\mathbf Y_0^{\varepsilon _{\alpha ,P}} = -\frac{1}{2}\mathbf Y_0^{\varepsilon _{\alpha ,P}-\varepsilon _{\alpha ,S}}\) and \(\mathbf Y_0^{\varepsilon _{\alpha ,S}}=\frac{1}{2}\mathbf Y_0^{\varepsilon _{\alpha ,P}-\varepsilon _{\alpha ,S}}\)

The two remaining cross-boresight axes \(\mathbf Y_m^{\varepsilon _{\beta ,P}}\) and \(\mathbf Y_m^{\varepsilon _{\beta ,S}}\) are not observable, cf., Eq. (10). We assume that the magnitude of their DFT coefficients is the same as \(\mathbf Y_m^{\varepsilon _{\alpha ,P}}\) and \(\mathbf Y_m^{\varepsilon _{\alpha ,S}}\), while their phases are randomized.

4.2 The stochastic component of SC errors

The stochastic component of the SC error estimates is obtained by subtracting the harmonic model from the original SC error estimates. This yields the random measurement errors shown in the second column of Fig. 4. In this section, the power spectrum of the stochastic SC error estimates is computed. An Autoregressive-moving-average (ARMA) model is then fitted to the computed power spectrum (Klees et al. 2003). Using ARMA models to describe the random errors in SC measurements allows generating arbitrary long realizations with the same spectral signature.

We assume that all cross-boresight stochastic errors, \(\varepsilon _{\alpha ,P}\), \(\varepsilon _{\beta ,P}\), \(\varepsilon _{\alpha ,S}\) and \(\varepsilon _{\beta ,S}\) have the same power spectrum and are uncorrelated. Then \({\text {PSD}}^\frac{1}{2}(\varepsilon _{\alpha ,P} - \varepsilon _{\alpha ,S}) = \sqrt{2}{\text {PSD}}^\frac{1}{2}(\varepsilon _\alpha )\), where \({\text {PSD}}^\frac{1}{2}\) represents the square root of power spectrum operator and \(\varepsilon _\alpha \) represents the stochastic error along all cross-boresight axes. Applying the operator \({\text {PSD}}^\frac{1}{2}\) to Eq. (10) yields,

$$\begin{aligned} \begin{bmatrix} \hbox {PSD}^\frac{1}{2}(\varepsilon _\alpha ) \\ \hbox {PSD}^\frac{1}{2}(\varepsilon _{\gamma ,P}) \\ \hbox {PSD}^\frac{1}{2}(\varepsilon _{\gamma ,S}) \end{bmatrix}&= \frac{\sqrt{2}}{2} \begin{bmatrix} \hbox {PSD}^\frac{1}{2}(\Delta \varepsilon _\alpha ) \\ \hbox {PSD}^\frac{1}{2}\left( \Delta \varepsilon _\beta - \Delta \varepsilon _\gamma \right) \\ \hbox {PSD}^\frac{1}{2}\left( \Delta \varepsilon _\beta + \Delta \varepsilon _\gamma \right) \end{bmatrix}. \end{aligned}$$
(19)

Notice that, similarly to the harmonic component, the presence of gaps in the SC error estimates requires the power spectrum to be up-scaled by the ratio \(\frac{N}{L}\).

Equation 19 yields the power spectra of stochastic errors along the primary SC boresight axis (\(\varepsilon _{\gamma ,P}\)), the secondary SC boresight axis (\(\varepsilon _{\gamma ,S}\)) and all the cross-boresight axes of both SCs (\(\varepsilon _{\alpha }\)). The ARMA models fitted to each component of the stochastic SC error are shown in Fig. 5.

The standard deviation of each SC error component is shown in Table 1. We see that the accuracy of the cross-boresight axes is similar for different months and for different satellites. Moreover, the standard deviation of the harmonic SC errors is higher than the standard deviation of the stochastic SC errors.

Generating a realization of stochastic SC errors along all the individual axes of both SCs is a matter of generating realizations of the fitted ARMA models. The error along the primary and secondary SC boresight axis is described by the ARMA models \(\varepsilon _{\gamma ,P}\) and \(\varepsilon _{\gamma ,S}\), respectively. As for the cross-boresight axes, we assume their accuracy to be similar. Therefore, we use different realizations of ARMA model \(\varepsilon _\alpha \) for each cross-boresight axis: \(\varepsilon _{\alpha ,P}\), \(\varepsilon _{\alpha ,S}\), \(\varepsilon _{\beta ,P}\), \(\varepsilon _{\beta ,S}\).

Fig. 5
figure 5

Spectra of fitted ARMA models and PSD\(^\frac{1}{2}\) of stochastic SC error estimates of GRACE-A during 2006/02. Red refers to the cross-boresight component (\(\varepsilon _\alpha \)), blue to the secondary SC boresight error (\(\varepsilon _{\gamma ,S}\)) and green to the primary SC boresight error (\(\varepsilon _{\gamma ,P}\)). The solid lines represent the periodogram estimates of the square root power spectral density of stochastic SC error estimates. These have been smoothed to reduce noise in the high-frequency part of the spectrum. The dashed lines represent the ARMA models fitted to each component. They have orders (100,0), (93,0) and (95,0) for the cross-boresight, primary SC boresight and secondary SC boresight, respectively

5 Analysis of attitude error propagation

In this section, we analyse how attitude errors introduce errors in the APC of KBR measurements. The APC \(\lambda \) is defined as the projection of the vector pointing from the CoM to the antenna phase centre onto the line-of-sight (LOS) direction (Fig. 6),

$$\begin{aligned} \lambda&= \parallel \mathbf {p} \parallel \cos (\theta ), \end{aligned}$$
(20)

where \(\mathbf {p}\) is the relative position of the antenna phase centre with respect to the satellite’s CoM, and \(\theta \) is the angle between \(\mathbf {p}\) and \(\mathbf {LOS}\), i.e. the inter-satellite pointing angle.

Fig. 6
figure 6

Illustration of antenna phase centre correction to KBR data. KBR system measures \(\rho '\), the distance between the antenna phase centres of the two GRACE satellites. The range \(\rho \) between the two CoMs is obtained by adding the APC of each satellite to the KBR measurement, \(\rho = \rho '+\lambda _A+\lambda _B\). The inter-satellite pointing angles \(\theta _i\) represent the angles between vectors \(\mathbf p_i\) and the LOS, where \(i=A, B\) for GRACE-A and GRACE-B, respectively

In the presence of attitude errors, the orientation of the antenna phase centre vector \(\mathbf {p}^I\) in the IRF is determined inaccurately and the inter-satellite pointing angle \(\theta \) is perturbed. Let us introduce the noisy quantities \(\tilde{\theta }= \theta + \varepsilon _\theta \) and \(\tilde{\lambda } = \lambda + \varepsilon _\lambda \), where we assume that \(\varepsilon _\theta \) and \(\varepsilon _\lambda \) are normally distributed errors, in the pointing angle and APC, respectively. Linearisation of the APC around the nominal inter-satellite pointing angle yields

$$\begin{aligned} \sigma _{\varepsilon _\lambda } =\, \parallel \mathbf {p} \parallel \sin (\theta )\,\sigma _{\varepsilon _\theta }, \end{aligned}$$
(21)

where \(\sigma _{\varepsilon _\lambda }\) and \(\sigma _{\varepsilon _\theta }\) is the standard deviation of the errors in the APC and inter-satellite pointing angles, respectively.

The inter-satellite pointing angle is actively controlled by the attitude and orbit control system (AOCS). GRACE AOCS is designed to keep these angles below \(\theta < {4}\) mrad (Herman et al. 2004). In this range, \(\sin (\theta )\) can be approximated by \(\theta \). Furthermore, we assume APC errors of both satellites to be uncorrelated and identically distributed, so that considering the contribution of both GRACE-A and B, yields the standard deviation

$$\begin{aligned} \sigma _{\varepsilon _\lambda } = \sqrt{2} \parallel \mathbf {p} \parallel \theta \,\sigma _{\varepsilon _\theta }. \end{aligned}$$
(22)

Equation (22) shows that the impact of attitude errors increases proportionally to (1) the distance between the antenna phase centre and the CoM and (2) the inter-satellite pointing angle \(\theta \).

The distance between the antenna and the CoM is \(\parallel \mathbf {p} \parallel \approx 1.5\) m for both satellites. As will be shown in Sect. 6.1, the accuracy in the determination of the inter-satellite pointing angle is better than \(\sigma _{\varepsilon _\theta } <{170}\,\upmu \hbox {rad}\). Considering a worst-case scenario, according to Eq. (22), the corresponding standard deviation of the error in inter-satellite ranges is \(\sigma _{\varepsilon _\lambda } = {1.4}\,\upmu \hbox {m}\). The KBR accuracy is \({10}\,\upmu \hbox {m}\) (Kang et al. 2006), which means that the standard deviation of the attitude errors is about \(7\) times smaller than the standard deviation of the noise in the KBR ranging data. On the other hand, the standard deviation alone does not provide a comprehensive understanding of propagated attitude errors. One should also analyse how the error is distributed over the spectrum. There might exist frequency bands at which the impact of attitude errors is more substantial than in average.

6 Error propagation

In this section, we analyse to what extent SC errors contribute to the overall error budget of GRACE time-varying gravity field models. Section 6.1 describes the propagation of SC errors into satellite attitude data. The impact of data gaps in the SC time series is discussed in Sect. 6.2. In Sect. 6.3, the propagation of attitude errors into inter-satellite accelerations is discussed. In Sect. 6.4, we discuss the likely impact of degraded attitude control. Finally, in Sect. 6.5, we show how SC errors propagate into GRACE gravity field solutions.

6.1 Propagation of SC errors into satellite attitudes

In the presence of multiple SCs, it is necessary to compute an estimate of the satellite attitude from all available measurements. A description of the official combination method used by JPL can be found in Romans (2003) and Wu et al. (2006). In Appendix B, this method, originally developed for attitude quaternions, is re-written in terms of direction cosine matrices.

A summary of the official procedure for combining SC measurements for GRACE is (Wu et al. 2006):

  1. 1.

    Compute the small-angle difference \(\Delta \varvec{\varepsilon }_\psi ^C\) between both SC measurements, cf., Eq. (6)

  2. 2.

    The optimal correction to the first SC measurement is computed, cf., Eq. (39), as

    $$\begin{aligned} \varvec{\varepsilon }_\text {opt} = \left( \varvec{\Lambda }_1^C+\varvec{\Lambda }_2^C\right) ^{-1}\varvec{\Lambda }_2^C \Delta \varvec{\varepsilon }_\psi ^C, \end{aligned}$$
    (23)

    where the information matrix \(\varvec{\Lambda }_i^C\) for each SC in the C-frame is defined as

    $$\begin{aligned} \varvec{\Lambda }_i^C = \mathbf R_x(\pm {135}^{\circ }) \mathbf C_i^{-1} \mathbf R_x(\mp {135}^{\circ }), \end{aligned}$$
    (24)

    and the error variance–covariance matrix \(\mathbf C_i\) for a single SC is defined as,

    $$\begin{aligned} \mathbf C_i = \begin{bmatrix} 1&\quad 0&\quad 0 \\ 0&\quad 1&\quad 0 \\ 0&\quad 0&\quad \kappa ^2 \end{bmatrix} \sigma ^2, \end{aligned}$$
    (25)

    with \(\sigma ^2\) being the variance of the errors along the SC cross-boresight axes and \(\kappa =8\) is the ratio between the standard deviation of errors along the boresight and the cross-boresight axes (Romans 2003). It can be shown that

    $$\begin{aligned} \left( \varvec{\Lambda }_1^C+\varvec{\Lambda }_2^C\right) ^{-1}\varvec{\Lambda }_2^C&= \frac{1}{2} \begin{bmatrix} 1&\quad 0&\quad 0 \\ 0&\quad 1&\quad -\lambda \\ 0&\quad -\lambda&\quad 1 \\ \end{bmatrix}, \end{aligned}$$
    (26)

    where

    $$\begin{aligned} \lambda&= \frac{\kappa ^2-1}{\kappa ^2+1} . \end{aligned}$$
  3. 3.

    Compute the optimal satellite attitude \(\mathbf {R}^C_{I,\text {opt}}\), cf., (40).

Fig. 7
figure 7

Propagated SC errors into GRACE-A attitude during 2006/05/01. Red line depicts hypothetical situation where both SCs are always active. Blue line takes into account periods in which one of the SCs is inactive

The results of applying this SC measurement combination to synthetic realizations of SC errors for the months 2006/02 and 2006/05 are shown in Table 2. The red line in Fig. 7 shows the corresponding satellite attitude errors during one day of 2006/02. From Table 2, we conclude that the pitch and yaw angles of the satellite attitudes are less accurately determined than the roll angles. Errors in the satellites attitudes are therefore not isotropic.

6.2 Quantifying the impact of SC data gaps

There is a relatively large amount of gaps in the SC data (see Table 2). Gaps reduce the quality of attitude determination. The SC combination procedure described in Sect. 6.1 can only be applied when both SCs provide data. When one of the SCs is inactive, the data from the other SC are used to determine the attitudes. We quantify the impact of SC data gaps by comparing two error propagation scenarios; in one scenario both SCs are assumed to be constantly active and in the other we use real SC time series to flag time instants where one of the SCs is inactive.

Figure 7 shows the SC error propagation for both scenarios. It can be seen that, during periods in which only one SC is available, errors in the pitch and yaw angles are amplified by an order of magnitude. The roll angles are only slightly worse during single SC operation. Table 2 shows the overall standard deviation of satellite attitude errors with and without data gaps. Obviously, the existence of gaps in the SC data severely affects the accuracy of the attitude determination. For instance, during the month of 2006/05, the presence of data gaps amplifies the error level in the pitch and yaw angles by a factor of \(4\).

Table 2 Standard deviation of satellite attitude errors in \(\upmu \)rad

From Table 2, we can also conclude that the anisotropy of the errors in the satellite attitudes is accentuated by the amount of gaps in the SC data. Determination of the roll-axis direction is the least accurate, due to the worse accuracy of the pitch and yaw angles. Regarding the month of 2006/05, we can state that the attitude accuracy of GRACE satellites is better than \(\sqrt{2}\cdot 120={170}\,\upmu \hbox {rad}\). This value might be exceeded in other months, possibly with larger amounts of SC data gaps, not considered in this paper.

6.3 Propagation of attitude errors into inter-satellite accelerations

ISAs are derived from inter-satellite ranges by means of numerical double differentiation. For details about the methodology, we refer to Liu et al. (2010). To quantify the impact of SC errors in terms of ISA, we compute the difference between the so-called reference ISA residuals and the perturbed ISA residuals.

The reference ISA residuals are obtained as the difference between the observed ISA and the modelled ISA. The modelled ISAs are computed with state-of-the-art force models, which comprise the static gravity field model DGM-1S (Farahani et al. 2013b), the corresponding mean monthly gravity field solution DMT-2 [data processing details in Farahani (2013)], tidal model EOT11a (Savcenko and Bosch 2012), the model of non-tidal mass redistribution in the atmosphere and oceans AOD1B RL05 (Flechtner et al. 2014), L1B RL02 products, and other tidal and relativistic effects. Because the monthly gravity field solution is included in the background force model, all known signals are removed from the reference ISA residuals. Therefore, we consider the remaining unknown “signal”, i.e. the reference ISA residuals, as an estimate of the total error in GRACE data. Notice that the DMT-2 solutions are filtered (or regularized) to prevent propagation of data noise. This is the reason why the reference ISA residuals are not zero when the DMT-2 solution is included in the background force model.

As compared to DMT-1, a number of improvements are applied in the production of DMT-2. Firstly, an accurate stochastic description of noise is obtained in the frequency domain on a monthly basis using ARMA models. Usage of these models allows for a proper frequency-dependent data weighting at the inversion stage. Furthermore, it facilitates an accurate computation of covariance matrices of noise in estimated spherical harmonic coefficients, which are used when unconstrained monthly solutions are subject to a statistically optimal Wiener filter (Klees et al. 2008; Liu et al. 2010). Secondly, data prior to the inversion are subject to an advanced high-pass filtering, which uses a spatially dependent weighting scheme, so that the low-frequency noise [which is caused by inaccuracies in satellites orbits, Ditmar et al. (2012)] is primarily estimated based on data collected over areas with minor mass variations, e.g. oceans and deserts. On the one hand, this efficiently suppresses the noise and, on the other hand, preserves mass transport signals in data. Thirdly, DMT-2 benefits from the usage of the release 2 of GRACE level-1B data. Finally, latest background force models are taken into account when the DMT-2 model is produced.

To compute the perturbed ISA residuals, we generate synthetic SC errors and propagate them into satellite attitude errors. They are added to the measured satellite attitudes resulting in a custom SCA1B satellite attitude product. Furthermore, the generated attitudes are used to compute the corresponding KBR APC, resulting in a custom KBR1B ranging product. The perturbed ISA residuals are computed by the same procedure as the reference ISA residuals, but making use of the custom SCA1B and KBR1B products. The differences between the two ISAs reflect the impact of the synthetic SC errors, and provide an upper bound of the impact of SC errors in terms of ISA and later on in terms of monthly gravity field solutions.

Because both ISAs use real GRACE data, they contain real SC errors, which are present in the L1B data products. In fact, the perturbed ISA residuals contain SC errors twice; from the GRACE L1B data products and from the synthetic SC errors we add to the data. However, taking the difference between the reference and perturbed ISA residuals will cancel the real SC errors common to both, leaving only the impact of the synthetic SC errors.

Figure 8 shows the PSD\(^\frac{1}{2}\) of ISA errors, without any data gaps. The contribution of SC errors is flat up to 3 mHz, where double differentiation starts to amplify the high-frequency noise. The stochastic error component is dominant in the frequency range above 10 mHz; the harmonic component is dominant in the frequency range 3–10 mHz. Overall, in terms of RMS, the total SC error accounts for 7 % of the total noise.

Fig. 8
figure 8

PSD\(^\frac{1}{2}\) of errors in inter-satellite accelerations during 2006/05. Depicted are the total error (black), the harmonic SC error (red), the stochastic SC error (green) and the total SC error (blue). No SC data gaps are considered

In Sect. 6.2, we analysed the impact of SC data gaps on the attitude product. We have seen that SC data gaps cause non-stationary errors, for which the PSD\(^\frac{1}{2}\) is not a suitable representation. Therefore, to present the impact of SC data gaps in terms of PSD\(^\frac{1}{2}\), we compare two stationary total SC error realizations: full data gaps, where one SC is always inactive, and zero data gaps, where both SCs are always operational. They represent the upper and lower bounds on the impact of data gaps in ISA and are shown in the top plot in Fig. 9. Notice that the zero data gaps’ total SC error realization is the same as in Fig. 8. In the worst-case scenario, i.e. full data gaps, the SC error is a factor of \(5\) larger when compared to the SC error in the absence of SC data gaps.

Fig. 9
figure 9

PSD\(^\frac{1}{2}\) of ISA during 2006/05. Top: total error (black), total SC error in the absence of data gaps, (blue), total SC error with full data gaps (green). Bottom depicted is total error (black) and total SC error without SC data gaps (blue) in 2003/04, month with very degraded attitude control

6.4 Impact of degraded attitude control

The inaccurate inter-satellite pointing causes errors in the APC \(\varepsilon _\lambda \), cf., Eq. (22). These errors are proportional to the absolute value of the inter-satellite pointing angle \(\theta \), which is controlled by the AOCS. The GRACE AOCS is designed to keep the inter-satellite pointing angle below 4 mrad (Herman et al. 2004).

The top plot of Fig. 10 shows the inter-satellite pointing angle for both satellites during 2006/02. It can be seen that, most of the time, the satellites are kept pointing to each other to within 4 mrad. However, there is a period of a few hours, where inter-satellite pointing angles of both satellites exceed this level by up to an order of magnitude. During this period, errors in the APC are also amplified by an order of magnitude [cf., Eq. (22)] resulting in a degradation of the inter-satellite ranging quality.

Fig. 10
figure 10

Top: Inter-satellite pointing angle during four days in 2006/02. GRACE-A is shown in blue and GRACE-B in red. Apart from the highlighted episode, the AOCS keeps the inter-satellite pointing angle below 4 mrad. Bottom histogram of inter-satellite pointing angles for GRACE-A (blue) and GRACE-B (red) during 2006/05 (solid line) and 2003/04 (dashed line). Black dashed line represents the AOCS inter-satellite pointing angle threshold. Attitude control is noticeably worse during 2003/04

An assessment of the impact of degraded attitude control requires an answer to the question of how often periods of degraded attitude control occur in the GRACE time series. We define degraded attitude control by the condition \(\frac{\theta _A+\theta _B}{2} > {4}\,\hbox {mrad}\). Then, we compute the fraction of degraded attitude control measurements for each month in the GRACE time series. Table 3 summarizes the results.

Table 3 Fraction of measurements with degraded attitude control within each month in the period 2003–2010 in percentages

Obviously, episodes of degraded attitude control happen frequently. During 2005/12, \(5.3\) % of the measurements suffer from degraded attitude control. This is expected since, during this month, a satellite swap manoeuvre took place, which certainly affected the alignment of the satellites. More importantly, it can be seen that 2010/06 and months between 2003/02 and 2003/05 suffer from particularly bad attitude control.

To assess the impact of attitude errors on ISA in the worst-case scenario, we have selected 2003/04, a month with particularly degraded attitude control performance. This choice is supported by the bottom plot of Fig. 10, where the histograms of inter-satellite pointing angles of 2003/04 are compared with those of 2006/05, a month with nominal performance of the attitude control.

We perturb the input data with realistic SC errors without SC data gaps and compute the differences observed in ISA in terms of PSD\(^\frac{1}{2}\). The results are shown in the bottom plot in Fig. 9. SC errors in the presence of degraded attitude control increase by a factor of \(5\) when compared to a month with nominal attitude control, e.g. 2006/05.

We hypothesize that the peaks in the PSD\(^\frac{1}{2}\) of the total error in 2003/04, particularly in the frequency range above 3 mHz, are likely caused by the combination of SC errors and degraded attitude control. However, it can be seen that the propagated SC errors for this month are both smaller, and present a different pattern of peaks. The discrepancy in the magnitude could be explained by noticing that we simulated SC errors without taking into account possible gaps in SC data during this month. In the worst-case scenario, as seen in the top plot of Fig. 9, SC data gaps might increase ISA errors by a factor of \(5\). Regarding the discrepancy in the peak pattern, notice that the collection of peaks in the frequency range 3–10 mHz represents the harmonic SC error, which was modelled on the basis of 2006/05 L1A SC data. This may explain the overall different shape of the spectra in this range.

Fig. 11
figure 11

Propagated errors in the form ewh of degree amplitude spectrum. Depicted are the total error (black), the SC error with no gaps (red) and SC error amplified by real gaps in the SC data (green) during 2006/05. Also depicted is SC error with no gaps in 2003/04 (blue), month with degraded attitude control

6.5 Propagation into gravity field solutions

In this section, we propagate SC errors into monthly gravity field solutions in order to get an idea about their magnitude and the spatial pattern.

GRACE ISA is contaminated with a relatively strong noise in the range of low frequencies (below 1 mHz or 5 cpr). Before gravity field inversion and in order to eliminate this noise, we apply the same high-pass filter used in the production of DMT-2 model. We refer to Sect. 6.3 and Farahani et al. (2013a) for more details about this filter.

The results are presented in terms of equivalent water height (ewh) degree amplitudes in Fig. 11. It shows the total error during 2006/05 as well as total SC errors obtained with and without taking into account the real gaps in the SC data of this month. In the presence of SC data gaps, SC errors increase by a factor of 5–6 independently of the spherical harmonic degree. The plot also shows the total SC errors with no data gaps during the month of 2003/04, a month with degraded attitude control. In this case, SC errors are amplified by a factor of \(3\) up to spherical harmonic degree \(40\), and by a factor of \(6\) above it, as compared to 2006/05.

Fig. 12
figure 12

Propagation of errors into Wiener filtered monthly gravity field solutions in mm equivalent water height (ewh). a Total error in 2006/05 (RMS \(=\) 6.1 mm ewh). b SC errors in 2006/05 without considering SC data gaps (RMS \(=\) 1.1 mm ewh). c SC errors taking real SC data gaps into account (RMS \(=\) 4.9 mm ewh). d Total error in 2004/03, month with degraded attitude control (RMS \(=\) 9.6 mm ewh). e SC error without SC data gaps amplified by degraded attitude control (RMS \(=\) 3.0 mm ewh). To enhance the visibility of propagated SC errors, the colorbar of middle and bottom plots differs from the top plots

Figure 12 shows various error components propagated into gravity field solutions in the spatial domain. All the solutions were post-processed by applying a Wiener filter (Klees et al. 2008; Liu et al. 2010) in order to stay more consistent with procedures for mass transport modelling from GRACE data. Figure 12a shows the total error in 2006/05 as a filtered monthly gravity field solution. Figure 12b, c presents the SC errors in 2006/05 with and without taking into account gaps in real SC data, respectively. SC data gaps increase noise in the filtered gravity field solution by a factor of \(5\). In terms of RMS, both SC error realizations account for about 18 and 80 % of the total error, respectively.

Figure 12d shows the total error in 2003/04 as filtered monthly gravity field solution. Figure 12e shows SC errors with no gaps in 2004/03. Comparing the RMS of the SC error solution in 2003/04 with the corresponding solution of 2006/05 (middle-left) allows one to conclude that degraded attitude control amplifies SC errors by a factor of \(3\). In terms of RMS, total SC errors in 2003/04 account for \(31\) % of the total error.

The propagated SC errors in Fig. 12 are particularly high at places with significant geophysical signal, e.g. Greenland, Alaskan Glaciers, West Antarctica, etc. However, one should not wrongly conclude attitude errors themselves are significantly stronger at these regions. Larger propagated errors in these regions are caused by the use of the Wiener filter to regularize the monthly gravity field solutions. The Wiener filter is defined based on the covariance matrix of known mass transport signal over an extended period of time. As a consequence, the filter is more aggressive in regions with small mass transport signal while it is more permissive in regions with large mass transport signal. Figure 12 then shows how attitude errors propagate into Wiener filtered monthly gravity field models.

In Fig. 12b, c, e, SC errors propagate as horizontal stripes, a pattern already seen along the boresight axes of the SC error estimates, cf., Fig. 2. This finding is consistent with the results presented in Horwath et al. (2011). Similar horizontal stripes can also be observed in the total error solution of 2003/04. This supports the conclusion that SC errors may be a significant error source in the gravity field solution of 2003/04.

7 Conclusions

We showed that the accuracy of the SCs cross-boresight axes is about 23 \(\upmu \)rad which is close to the expected maximum of 24 \(\upmu \)rad. In both satellites, the accuracy of the primary boresight axis is significantly worse compared with the secondary SC boresight axis. The ratio between the accuracy of the cross- and boresight axes matches the expected value of \(8\), if we consider the secondary SC boresight axes. If we consider the primary SC boresight axis, than this ratio is higher, indicating that errors are stronger along these axes. The SCs on board GRACE-A and GRACE-B have about the same accuracy except for the primary SC boresight axes, where GRACE-A is less accurate.

We observed two distinct types of error in SCs on board GRACE, i.e. random and harmonic. Harmonic errors are highly correlated with the satellite’s true anomaly, indicating that they are caused by the environment of the satellite and not by the SC instruments themselves. We applied a custom estimation method to extract both components from a time series containing large amounts of clustered gaps. Considering different months, satellites and SCs, we showed that harmonic errors have a higher standard deviation than stochastic errors. In terms of \(\text {PSD}^{\frac{1}{2}}\) of ISA, the stochastic error has a flat spectrum up to 10 mHz. The harmonic error is dominant in the frequency range 3–10 mHz.

SC errors alone account for about \(18\) % of the total error in terms of filtered gravity field solutions. We showed that these errors are amplified in the presence of gaps in the SC data and during periods of degraded attitude control. Under these conditions, SC errors may become significant contributors to the error budget of GRACE.

We showed that pitch and yaw errors are amplified by gaps in the SC data, which increase the anisotropy in the accuracy of the satellite attitudes. In terms of RMS of filtered gravity field solutions, we showed that gaps in real SC data amplify SC errors by a factor of \(5\). This factor might even be larger for months with bigger amount of gaps in the SC data.

For the period 2003–2010, we identified several months with degraded performance of the attitude control system: 2010/06, 2005/12 and 2003/02 till 2003/05. A particularly bad month is 2003/04 when propagated attitude errors are amplified by a factor of \(3\) in terms of RMS of filtered gravity field solution. In this monthly solution, SC errors account for \(31\) % of total error without considering any gaps in the SC data. The similarity between the spatial patterns of the two solutions suggests that this number is, in reality, even higher. This shows that a degraded performance of the attitude control system might have a significant impact on the quality of monthly GRACE solutions.

8 Discussion: attitude determination errors and future satellite gravimetry missions

Throughout this paper, we assumed that SC errors are observed in the difference between the SC measurements, which only contain the differential SC error. Errors common to both SCs are not observed. In fact, in this sense, we do not model the complete SC error, but only the differential part. However, it should be noticed that common SC errors are likely of less concern. There could be two types of common SC errors: time-invariant (static) common errors and time-variable (dynamic) common errors. Static common errors are eliminated by calibration of the attitude system with on-ground and in-flight manoeuvres, such that they are of no concern. Regarding dynamic common errors, one should keep in mind that each SC is an independent instrument making independent measurements; there is no obvious reason as to why their measurements should have a significant common error.

To compute the SC error estimates, we make use of the QSA1B product specifying the relative attitude between each SC and the SRF. Despite of being accurately measured on-ground and calibrated with in-flight manoeuvres, the QSA1B product is not error free. However, errors in the QSA1B are not fundamentally different from SC errors, and they are implicitly considered in the SC error estimates.

In this publication, we follow the methodology developed by Liu et al. (2010) to compute monthly gravity field solutions from GRACE ISA. Other methodologies exist, which instead make use of range and/or range-rate data. We believe, however, that our results are relevant independently of the chosen methodology. In one way or another, all methodologies use some form of KBR data, all contaminated by errors in the geometric correction. The conversion of ranges into range-rates or range-accelerations can be represented in the frequency domain as a multiplication with \(i\omega \) and \(-\omega ^2\), respectively. Therefore, the signal-to-noise ratio at a given frequency would be the same for any type of observable. Furthermore, we employ a statistically optimal inversion scheme, which takes the dependence of noise on frequency into account. Consistent results must be achieved for alternative methodologies, as long as they employ statistically optimal inversion schemes, no matter whether ranges, range-rates, or range-accelerations are used as input (Ditmar and van Eck van der Sluijs 2004).

Reducing errors in the attitude product of GRACE and future satellite gravimetry missions could be achieved by including information provided by the accelerometers on board the satellites. The accelerometers are able to measure the rotation of the proof mass. These measurements can be combined with SC data, potentially leading to improvements in attitude data in the high-frequency part of the spectrum. A similar approach has already been applied in the GOCE mission for the fusion of attitude data collected by the star camera and the gradiometer instruments (Stummer et al. 2011; Frommknecht et al. 2011; Stummer et al. 2012). It should be investigated, however, whether information collected by the accelerometers is accurate enough to substantially reduce noise in the attitude products.

Errors in the roll angle are not critical for the purposes of gravity field modelling. The opposite is true for errors in the pitch and yaw angles, which have a large impact on the antenna phase centre correction. We have shown that the accuracy in the determination of the pitch and yaw angles is worse than that of the roll angle. Furthermore, pitch and yaw errors are amplified by gaps in the SC data, while the errors in roll are only slightly worse. This leaves space for an optimization of SC arrays in future low–low satellite-to-satellite tracking (ll-sst) gravity missions, so that the maximum accuracy for pitch and yaw angles is maintained even in the periods when only one SC is operational. An example of how this setup could look like is shown in Fig. 13. Because the roll angle determination is not critical, both (less accurate) boresight axes are oriented in the x-axis direction ensuring the full accuracy of both SC’s for the determination of the much more critical pitch and yaw angles.

Fig. 13
figure 13

Possible SC configuration based on the single fact that roll angle determination is not critical for gravity field recovery. Blue represents x-, green represents y- and red represents z-axis, the least accurate boresight axis

The cause of the harmonic error component in the SC measurements is not known to us. Further progress in SC design and data processing may reduce this error, which will also improve the accuracy of the satellite attitude determination. Reducing the harmonic error may improve the signal-to-noise ratio in the range of 3–10 mHz, where most of information about time-variable gravity signal is located. In this frequency range, no other sources of errors have yet been identified. Understanding and mitigating all sources of error in this range is of interest both for GRACE and future satellite gravity missions.

In our analysis, we focused on the propagation of SC errors through the geometric correction of the KBR data. In the context of GRACE, this is likely the most critical way in which these errors propagate into estimates of the time-varying gravity field. In the context of future gravity missions, it is expected that they will make use of laser interferometers to measure inter-satellite ranges. The proposed architecture for the laser interferometer of GRACE-FO places the virtual measurement point at the position of the accelerometer proof mass (Sheard et al. 2012). Such an architecture is insensitive to SC errors as it does not require a geometric correction at all. However, in view of a higher overall accuracy of GRACE-FO, additional studies may be required to understand the propagation of attitude errors through the GNSS data and through the orientation of the non-gravitational accelerations. Then, a proper understanding of SC errors and how they propagate into the attitude are necessary.