1 Introduction

The construction of the global phase of the BeiDou satellite navigation system (BDS-3) has been fully completed. The constellation consists of 24 Medium Earth Orbit (MEO) satellites, 3 Geostationary Earth Orbit (GEO) satellites, and 3 Inclined Geosynchronous Earth Orbit (IGSO) satellites. Ten of the MEO satellites were manufactured by the Shanghai Engineering Center for Microsatellites (SECM) of the China Academy of Science, while the others were developed by the China Academy of Space Technology (CAST).

The attitude of a GNSS satellite determines its orientation in space. This is essential for GNSS data analysis because it has an impact on the correction of observation errors and the modeling of nongravitational perturbations. Following the International GNSS Service (IGS) convention, the Z-axis of the satellite body frame points to the Earth’s center, the Y-axis is parallel to the rotation axis of the solar panels and perpendicular to the vector from the satellite to the Sun, and the X-axis completes the right-hand coordinate system and points toward the hemisphere containing the Sun (Montenbruck et al. 2015). However, the satellite does not always follow the nominal attitude law. Yaw maneuvers occur near the midnight and noon point of the orbital plane for low \(\beta \)-angle (the elevation angle of the Sun above the orbital plane) regimes, as the required yaw rate exceeds the maximum value provided by the momentum wheels of the satellite attitude control subsystem. This is termed the midnight-/noon-turn maneuvers.

Usually, the attitudes of different satellite blocks behave differently in maneuver periods. By using the reverse kinematic precise point positioning (RKPPP) method, the yaw attitude of GNSS satellites can be derived from the epochwise phase center offsets (PCOs). Obviously, RKPPP is only possible if the antenna has an offset with respect to the yaw axis. Using the estimated yaw angles, the attitude laws for GPS Block IIF and GLONASS-M satellites have been established (Dilssner et al. 2011a, b). Similar to RKPPP, the yaw angles of QZSS Michibiki satellites have been derived by estimation of the baseline between the Sub-meter Level Augmentation Service signal antenna and the main navigation antennas, which demonstrates the attitude switch to the orbit-normal (ON) mode (0° yaw angle) from the yaw-steering (YS) model when the absolute of the \(\beta \)-angle is below 20° (Hauschild et al. 2012). For the Galileo satellites as well as other QZSS satellites, yaw attitude models have been released by the European GNSS Service Center and the Japanese Cabinet Office, respectively (GSA 2017; Cabinet Office 2017).

Different from the GPS, GLONASS, and Galileo satellites, the regional BDS (BDS-2) GEO satellites adopt the ON mode, while the YS and ON modes are used by the BDS-2 IGSO and MEO satellites. The transition occurs when the absolute value of the \(\beta \)-angle is below 4° (Guo et al. 2013; Dai et al. 2015). As the reduced Empirical CODE Orbit Model (ECOM, Beutler et al. 1994) SRP model is not applicable for the ON mode, the orbit accuracy degrades significantly when satellites are in this mode. For some BDS-2 and all BDS-3 MEO satellites, the ON mode has been abandoned (Dilssner 2017; Zhao et al. 2018). Furthermore, a yaw attitude model has been established for BDS-2 IGSO and MEO satellites as well as BDS-3 MEO satellites from CAST (Dilssner 2017; Wang et al. 2018). However, reverse midnight-turn maneuvers occasionally occur for C13 and C14 using the continuous YS mode for \(\beta \)-angles falling into the range (0°, 0.14°), and a yaw bias of 0.14° is introduced to predict the features (Xia et al. 2019). For BDS-3 SECM MEO satellites, the attitude law was presented by Lin et al. (2018) and confirmed later by the disclosure of BDS satellite metadata. However, it has not been evaluated with real data for this satellite type or for BDS-3 IGSO satellites.

Unfortunately, it is not possible to estimate the yaw angles for BDS-3 SECM MEO satellites with the RKPPP technique since the horizontal antenna offsets are close to zero. For BDS-3, intersatellite link (ISL) data provide a promising way for yaw attitude estimation (Xie 2020). Hence, the aim of this paper is to analyze the yaw behaviors of BDS-3 satellites, particularly IGSO and SECM MEO satellites, using the estimated yaw angles from ISL data. After describing the yaw laws of BDS-3 satellites, the method for yaw angle estimation with ISL data is presented. Subsequently, the estimated BDS-3 satellite yaw angles are analyzed with a focus on the IGSO and SECM MEO satellites, and a model is proposed to compensate for the deficiency of the yaw model for SECM satellites. Following the investigation of the impacts of attitude on ISL residuals and clock offsets, the study is finally summarized.

2 BDS-3 yaw models

2.1 CAST IGSO and MEO satellites

Using the estimated yaw profile of BDS-2 I06, the yaw law for BDS-3 CAST IGSO and MEO was proposed by Wang et al. (2018) as follows:

$$ \begin{aligned} \psi (t) & = 90^{ \circ } \cdot {\text{SIGN}}\left( {1,\psi \left( {t_{b} } \right)} \right) \\ & \quad + \left[ {\psi \left( {t_{b} } \right) - 90^{ \circ } \cdot {\text{SIGN}}\left( {1,\psi \left( {t_{b} } \right)} \right)} \right] \\ & \quad \cdot \cos \left( {\frac{2\pi }{{t_{\max } }} \cdot (t - t_{b} )} \right) \\ \end{aligned} $$
(1)

where \(\mathrm{SIGN}(a,b)\) is the sign function in FORTRAN, which transfers the sign of \(b\) to \(a\). \({t}_{\mathrm{max}}\) is a constant that represents the duration of the yaw maneuver, and \({t}_{b}\) represents the start epoch of the yaw maneuvers with the nominal yaw angle \(\psi \left({t}_{b}\right)\) as calculated by:

$$ \psi (t) = {\text{ATAN}}2\left( { - \tan \beta (t),\sin \mu (t)} \right) $$
(2)

where \(\mathrm{ATAN}2\left(c,d\right)\) is the FORTRAN function for \(\mathrm{arctan}(\frac{c}{d})\), which gives a signed angle in the range [− 180°, + 180°]. \(\beta (t)\) and \(\mu (t)\) are the elevation angle of the Sun above the orbital plane and the orbital angle (the geocentric angle between the satellite and the midnight point in the orbital plane). When computing \(\psi \left({t}_{b}\right)\), the Sun elevation and orbital angle at epoch \({t}_{b}\), i.e., \(\beta \left({t}_{b}\right)\) and \(\mu \left({t}_{b}\right)\), are used. Usually, a satellite experiences yaw maneuvers for \(\left|\upbeta \right|\le 3^\circ \), and the midnight and noon maneuvers occur when the orbit angle \(\mu \left({t}_{b}\right)\) falls into the intervals \(\left[-6^\circ ,+6^\circ \right]\) and \(\left[174^\circ ,186^\circ \right]\), respectively. The corresponding \({t}_{\mathrm{max}}\) is approximately 3090 s and 5740 s for MEO and IGSO, respectively. This model is designated as the WHU model hereafter.

2.2 SECM MEO satellites

According to the document “BeiDou/Global Navigation Satellite System (GNSS) Satellite High-precision Application Parameters Definition and Description” (CSNO 2019), BDS-3 SECM MEO satellites also obey the nominal yaw-steering law for β-angles above 3° [Eq. (2)]. The yaw attitude with β = ± 3° is applied for the satellite when |β| is below 3°, expressed as follows:

$$ \begin{aligned} \psi (t) & = {\text{ATAN}}2\left( { - \tan \beta_{0} ,\sin \mu (t)} \right)\quad 0 \le \beta \le \beta_{0} \\ \psi (t) & = {\text{ATAN}}2\left( { + \tan \beta_{0} ,\sin \mu (t)} \right)\quad 0 \ge \beta \ge - \beta_{0} \\ \end{aligned} $$
(3)

where \({\beta }_{0}\) equals 3°. This model is denoted as the CSNO model hereafter.

3 Yaw attitude estimated with ISL measurements

3.1 ISL connection scheme

The Concurrent Spatial Time Division (CSTD) scheme is employed to ensure a safe and complete connection between the BDS-3 satellites (Yang et al. 2017). In this case, many links are formed among the satellites at the same time, but there is only one for each satellite. The time division mechanism enables each satellite to link with other satellites in different timeslots (of 3 s), while the satellite within view in the nadir region (− 60°, 60°) can be targeted using the phased-array antenna. Moreover, the quick orientation of the phased-array antenna enables the implementation of dual one-way observations within 3 s. For ISL ranging, in each timeslot, a pair of satellites transmit signals to each other in turn according to a predefined timeslot schedule, which arranges the connection sequence among the satellites and is updated weekly by the ground control segment. Within 3 s, the forward and backward links are each performed in 1.5 s.

BDS-3 MEO satellites are evenly distributed in three orbital planes. Due to the nadir angle above 60° as well as the Earth obstruction, the satellite cannot connect with its adjacent satellite and the farthest satellite in the same orbital plane, while continuous links with the second and third nearest satellites in the same orbital plane can be formed. Hence, there are 4 continuous links in plane. For the out-of-plane links, there are 12 discontinuous and 4 continuous links. In addition, each IGSO and GEO satellite can form a discontinuous link with MEO satellites, and IGSO satellites can be linked to each other. The connection scheme is described in detail by Zhao et al. (2022).

3.2 Compensation of asynchronous ISL measurements

As only one link is available for each satellite at each instant, the ISL observations are nonsynchronous. Hence, compensation for the asynchronicity of forward and backward links is required for data processing. Usually, satellite A receives the signal from satellite B at epoch \({t}_{1}\) to obtain link \({\rho }_{BA}({t}_{1})\), while satellite B receives the signal from satellite A at epoch \({t}_{2}\), and link \({\rho }_{AB}({t}_{2})\) is obtained. Then, the two one-way ISL observation equations are as follows:

$$ \begin{aligned} \rho_{BA} \left( {t_{1} } \right) & = \left| {\left( {\vec{r}_{A} \left( {t_{1} } \right) + E_{A} (t_{1} ) \cdot \delta \vec{r}_{A} } \right)} \right. \\ & \quad - \left. {\left( {\vec{r}_{B} \left( {t_{1} - \Delta t_{1} } \right) + E_{B} (t_{1} - \Delta t_{1} ) \cdot \delta \vec{r}_{B} } \right)} \right| \\ & \quad + c \cdot \left( {{\text{d}}t_{A} \left( {t_{1} } \right) - {\text{d}}t_{B} \left( {t_{1} - \Delta t_{1} } \right)} \right) \\ & \quad + c \cdot \left( {\delta_{A}^{R} + \delta_{B}^{S} } \right) + \Delta \rho_{BA}^{cor} + \varepsilon_{BA} \\ \end{aligned} $$
(4)
$$ \begin{aligned} \rho_{AB} \left( {t_{2} } \right) & = \left| {\left( {\vec{r}_{B} \left( {t_{2} } \right) + E_{B} (t_{2} ) \cdot \delta \vec{r}_{B} } \right)} \right. \\ & \quad - \left. {\left( {\vec{r}_{A} \left( {t_{2} - \Delta t_{2} } \right) + E_{A} (t_{2} - \Delta t_{2} ) \cdot \delta \vec{r}_{A} } \right)} \right| \\ & \quad + c \cdot \left( {{\text{d}}t_{B} \left( {t_{2} } \right) - {\text{d}}t_{A} \left( {t_{2} - \Delta t_{2} } \right)} \right) \\ & \quad + c \cdot \left( {\delta_{B}^{R} + \delta_{A}^{S} } \right) + \Delta \rho_{AB}^{cor} + \varepsilon_{AB} \\ \end{aligned} $$
(5)

where \({\overrightarrow{r}}_{A}\) and \({\overrightarrow{r}}_{B}\) are the center-of-mass positions of satellites \(A\) and \(B\) in the inertial reference frame with ISL antenna PCOs of \(\delta {\overrightarrow{r}}_{A}\) and \(\delta {\overrightarrow{r}}_{B}\), respectively; \({E}_{B}\) and \({E}_{A}\) are the rotation matrices from the satellite body frame to the inertial frame; \(\mathrm{d}{t}_{A}\) and \(\mathrm{d}{t}_{B}\) are the clock offsets of satellites \(A\) and \(B\), respectively; \({\delta }_{A}^{R}\) and \({\delta }_{B}^{R}\) are the receiving hardware delays of satellites \(A\) and \(B\), respectively, whereas \({\delta }_{A}^{S}\) and \({\delta }_{B}^{S}\) are the sending hardware delays of satellites \(A\) and \(B\), respectively;\(\Delta {\rho }_{BA}^{\mathrm{cor}}\) and \(\Delta {\rho }_{AB}^{\mathrm{cor}}\) represent the corrections, e.g., gravitational time delay and relativistic effect due to orbital eccentricity; and \({\varepsilon }_{BA}\) and \({\varepsilon }_{AB}\) are the noise of the one-way ISL measurement, which is at the level of 1 ~ 3 cm (Yang et al. 2020).

The compensation of the asynchronicity of forward and backward links can be done as follows:

$${\rho }_{BA}\left({t}_{0}\right)={\rho }_{BA}\left({t}_{1}\right)+d{\rho }_{BA}$$
(6)
$${\rho }_{AB}\left({t}_{0}\right)={\rho }_{AB}\left({t}_{2}\right)+d{\rho }_{AB}$$
(7)

where \({t}_{0}\) is the simultaneous instant and \(d{\rho }_{BA}\) and \(d{\rho }_{AB}\) are the differences in the distance and the clock offsets between satellite A and satellite B at the observed moment with respect to those at \({t}_{0}\), that is,

$$ \begin{aligned} d\rho_{BA} & = \left| {\left( {\vec{r}_{A} \left( {t_{0} } \right) + E_{A} (t_{0} ) \cdot \delta \vec{r}_{A} } \right)} \right. \\ & \quad - \left. {\left( {\vec{r}_{B} \left( {t_{0} } \right) + E_{B} (t_{0} ) \cdot \delta \vec{r}_{B} } \right)} \right| \\ & \quad - \left| {\left( {\vec{r}_{A} \left( {t_{1} } \right) + E_{A} (t_{1} ) \cdot \delta \vec{r}_{A} } \right)} \right. \\ & \quad - \left. {\left( {\vec{r}_{B} \left( {t_{1} - \Delta t_{1} } \right) + E_{B} (t_{1} - \Delta t_{1} ) \cdot \delta \vec{r}_{B} } \right)} \right| \\ & \quad + c \cdot \left( {{\text{d}}t_{A} \left( {t_{0} } \right) - {\text{d}}t_{B} \left( {t_{0} } \right)} \right) \\ & \quad - c \cdot \left( {{\text{d}}t_{A} \left( {t_{1} } \right) - {\text{d}}t_{B} \left( {t_{1} - \Delta t_{1} } \right)} \right) \\ \end{aligned} $$
(8)
$$ \begin{aligned} d\rho_{AB} & = \left| {\left( {\vec{r}_{B} \left( {t_{0} } \right) + E_{B} (t_{0} ) \cdot \delta \vec{r}_{B} } \right)} \right. \\ & \quad - \left. {\left( {\vec{r}_{A} \left( {t_{0} } \right) + E_{A} (t_{0} ) \cdot \delta \vec{r}_{A} } \right)} \right| \\ & \quad - \left| {\left( {\vec{r}_{B} \left( {t_{2} } \right) + E_{B} (t_{2} ) \cdot \delta \vec{r}_{B} } \right)} \right. \\ & \quad - \left. {\left( {\vec{r}_{A} \left( {t_{2} - \Delta t_{2} } \right) + E_{A} (t_{2} - \Delta t_{2} ) \cdot \delta \vec{r}_{A} } \right)} \right| \\ & \quad + c \cdot \left( {{\text{d}}t_{B} \left( {t_{0} } \right) - {\text{d}}t_{A} \left( {t_{0} } \right)} \right) \\ & \quad - c \cdot \left( {{\text{d}}t_{B} \left( {t_{2} } \right) - {\text{d}}t_{A} \left( {t_{2} - \Delta t_{2} } \right)} \right) \\ \end{aligned} $$
(9)

\(d{\rho }_{BA}\) and \(d{\rho }_{AB}\) can be obtained from the broadcast message. Their accuracy is affected by the accuracy of the satellites’ velocity and clock drift. As stated by Tang et al. (2018), it is possible to obtain a satellite velocity with an accuracy better than 0.1 mm/s and a satellite clock drift with an accuracy better than 1 × 10−13 s/s. Hence, this transition error from nonsynchronous observations to simultaneous observations does not exceed 2 cm, although the largest differences between target epoch \({t}_{0}\) and observed epoch \({t}_{1}\) or \({t}_{2}\) can reach 30 s.

Then, the clock-free observation used for orbit determination can be obtained by summing Eqs. (6) and (7):

$$ \begin{aligned} \rho \left( {t_{0} } \right) & = \frac{{\rho_{BA} \left( {t_{0} } \right) + \rho_{AB} \left( {t_{0} } \right)}}{2} \\ & = \left| {(\vec{r}_{A} \left( {t_{0} } \right) + E_{A} (t_{0} ) \cdot \delta \vec{r}_{A} } \right. \\ & \quad - \left. {(\vec{r}_{B} \left( {t_{0} } \right) + E_{B} (t_{0} ) \cdot \delta \vec{r}_{B} } \right| + c\left( {\delta_{A} + \delta_{B} } \right) \\ & \quad + \frac{{\Delta \rho_{BA}^{{{\text{cor}}}} + \Delta \rho_{AB}^{{{\text{cor}}}} }}{2} + \frac{{\varepsilon_{BA} + \varepsilon_{AB} }}{2} \\ \end{aligned} $$
(10)

with \({\delta }_{A}=\frac{{\delta }_{A}^{R}+{\delta }_{A}^{S}}{2}\), \({\delta }_{B}=\frac{{\delta }_{B}^{R}+{\delta }_{B}^{S}}{2}\).

3.3 RKPPP with ISL

The RKPPP technique has been successfully used to determine the attitude behavior for GNSS satellites by estimating the epochwise horizontal PCOs of microwave signals. Similarly, the epochwise horizontal offsets of the ISL antennas can also be estimated with ISL data to derive the yaw attitude profile.

The discrepancy \(\Delta \psi ({t}_{0})\) of the actual yaw attitude from the nominal attitude at epoch \({t}_{0}\) results in the observed PCOs \(({x}_{0}({t}_{0}),{y}_{0}({t}_{0}),{z}_{0}({t}_{0}))\) of the ISL terminal as follows:

$$ \begin{aligned} x_{0} \left( {t_{0} } \right) & = \tilde{x}_{0} \cos \Delta \psi \left( {t_{0} } \right) - \tilde{y}_{0} \sin \Delta \psi \left( {t_{0} } \right) \\ y_{0} \left( {t_{0} } \right) & = \tilde{x}_{0} \sin \Delta \psi \left( {t_{0} } \right) + \tilde{y}_{0} \cos \Delta \psi \left( {t_{0} } \right) \\ z_{0} \left( {t_{0} } \right) & = \tilde{z}_{0} \\ \end{aligned} $$
(11)

where \(({\widetilde{x}}_{0},{\widetilde{y}}_{0},{\widetilde{z}}_{0})\) represents the nominal PCOs. The epochwise PCOs \(({x}_{0}({t}_{0}),{y}_{0}({t}_{0}),{z}_{0}({t}_{0}))\) of the ISL antenna can be estimated with Eq. (10), and the yaw angle deviation can be obtained as follows:

$$ \begin{aligned} & \left[ {\begin{array}{*{20}c} {\cos \Delta \psi \left( {t_{0} } \right)} \\ {\sin \Delta \psi \left( {t_{0} } \right)} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\tilde{x}_{0} } & { - \tilde{y}_{0} } \\ {\tilde{y}_{0} } & {\tilde{x}_{0} } \\ \end{array} } \right]^{ - 1} \left[ {\begin{array}{*{20}c} {x_{0} \left( {t_{0} } \right)} \\ {y_{0} \left( {t_{0} } \right)} \\ \end{array} } \right] \\ & \Delta \psi \left( {t_{0} } \right) = {\text{ATAN}}2\left( {\sin \Delta \psi \left( {t_{0} } \right),\cos \Delta \psi \left( {t_{0} } \right)} \right) \\ \end{aligned} $$
(12)

3.4 Spatial and temporal distribution of ISL

Clearly, sufficient observations and good observation geometry are prerequisites for yaw attitude estimation. To demonstrate the geometric and temporal distribution of ISL, the connection scheme of C27 (MEO) with other BDS-3 satellites on day of year (DOY) 165, 2020, is illustrated in Fig. 1. A similar scheme can be identified for other BDS-3 MEO satellites. It can be clearly observed that the ISL nadir angle varies from 15° to 60°, far beyond the maximum nadir angle of 15° for ground L-band data. This confirms the good observation geometry of the ISL. As the forward and backward links are constructed within 3 s, there are 20 synchronous observables at most for a certain BDS-3 satellite within 60 s. However, the actual number is lower than 20 due to discontinuous connections and data gaps. In addition, not all of the synchronous observables are nonredundant, as the two satellites can connect to each other twice in 60 s according to the predefined timeslot schedule. In this study, only the nonredundant links are used for analysis. Figure 2 shows the variation in the count of nonredundant ISL clock-free observations per 60 s interval on DOY 165, 2020, for C27. The minimum count is 5, and more than 10 observations are available for each epoch most of the time. Considering that at least three nonredundant measurements are required for the estimation of the three components of PCOs, if the satellite-dependent signal receiving and sending hardware delays in Eq. (10) are fixed, there are enough observations for a unique estimation of the yaw parameter.

Fig. 1
figure 1

The observation geometry of the BDS-3 ISL for C27 (MEO, Slot-A4) on DOY 165, 2020. C27 and C19, C25, C29, C34, C35, C42, C43, and C45 are continuously visible, whereas the rest are intermittently visible

Fig. 2
figure 2

Number of nonredundant ISL clock-free observations per 60-s interval on DOY 165, 2020 for C27

Additionally, the position dilution of precision (PDOP) is an indicator used to measure the observation geometry. In this study, the PDOP in the satellite reference frame is calculated as follows:

$$\mathrm{PDOP}=\sqrt{\sum_{i=1}^{3}{({\mathrm{diag}({A}^{T}A)}^{-1})}_{i}}$$
(13)

where \(A\) is the design matrix and \({A}^{T}\) is the corresponding transpose matrix. \(i\) represents the position of the estimated parameter in the normal equation. Three diagonal elements related to PCO parameters are extracted to calculate the PDOP. The time series of PDOP for some selected MEO and IGSO satellites, i.e., C19, C21, C24, C27, C38, C39, and C40, are shown in Fig. 3. It can be clearly observed that the PDOP is in the range of 1 ~ 2 for both the MEO and IGSO satellites most of the time, demonstrating the good observation geometry for PCO estimation. The sudden decrease in the number of ISL observations caused a jump in the PDOP values.

Fig. 3
figure 3

The time series of PDOP in the satellite reference frame for some selected MEO and IGSO satellites, i.e., C19 (red), C21 (red), C24 (blue), C27 (green), C38 (black), C39 (magenta), and C40 (yellow) on DOY 165, 2020

4 Data processing

To study the actual yaw attitude behavior of BDS-3 IGSO and MEO satellites during eclipse periods, we process the compensated ISL data with 60 s intervals based on Position and Navigation Data Analyst (PANDA) software (Liu and Ge 2003). The estimation consists of two steps, i.e., precise orbit determination (POD) and epochwise PCO estimation.

For orbit determination with ISL, we process the combined clock-free ISL observables directly in 24 h batch mode. Generally, the ISL terminal PCOs can be estimated together with orbit parameters and satellite-dependent hardware delay parameters within the POD. However, due to the high mathematical correlations among the PCOs of the ISL antenna and certain orbital elements, it is unreliable to estimate all parameters in one run. We therefore keep the PCOs of the ISL antennas fixed to their nominal values for POD to solve for the remaining parameters first. Regarding the size of ISL antenna PCOs, the values for MEO presented by Wang et al. (2019) and IGSO from the manufacturer are used in this study. In addition to the orbit parameters, the satellite-dependent receiving and transmitting hardware delays are also estimated as constants. As shown by Zhao et al. (2022), the post-fit residuals of ISL clock-free observables for some satellite pairs have constant biases when the hardware delays are already estimated. Their analysis confirms that the biases are link dependent. Hence, the pre-calibrated link-dependent biases are corrected for orbit determination.

Afterward, we estimate the epochwise PCOs of the ISL antennas by keeping the orbit as well as the satellite-dependent hardware delays \({\delta }_{A}\) and \({\delta }_{B}\) fixed on the values estimated in the orbit determination step. Meanwhile, the link-dependent biases are also corrected for the yaw angle estimation. The nominal yaw attitude model given by Eq. (2) thereby serves as an initial yaw attitude model, and the a priori constraint (0.5, 0.5, 1.1) m and random noise (0.5, 0.5, 1.1) \(m\cdot \sqrt{s}\) were used for the yaw angle estimation. The estimated horizontal PCOs \({x}_{0}({t}_{0})\) and \({y}_{0}({t}_{0})\) are substituted into Eq. (12) to reveal the yaw bias \(\Delta \psi ({t}_{0})\) between the nominal and actual yaw angles. Estimates for the actual yaw angle \(\psi ({t}_{0})\) are finally obtained as the sum of the nominal yaw angle and correction.

Figure 4 shows the variation in the \(\beta \)-angle for each orbital plane during our selected study period, i.e., DOY 100, 2019, to 180, 2020. BDS-3 MEO satellites are distributed in three orbital planes, i.e., Plane-A (C27–C30, C34, C35, C43, C44), Plane-B (C19–C22, C32, C33, C41, C42), and Plane-C (C23–C26, C36, C37, C45, and C46), whereas the BDS-3 IGSO satellites also orbit in three planes, i.e., Plane I (C39), Plane II (C40), and Plane III (C38). The BDS-3 IGSO satellites are in eclipse periods for |β|< 9°, while for MEO satellites, the orbital planes are partially eclipsed for |β|< 13.2°.

Fig. 4
figure 4

Elevation of the Sun with respect to the orbital planes (β-angle) for BDS-3 IGSO (top) and MEO (bottom) satellites from DOY 100, 2019 to 180, 2020. The shaded bars define the range of β-angles for which eclipses occur

5 Result analysis

5.1 Estimation accuracy

To verify the accuracy of the estimated yaw angles based on ISL, the measured ISL data are used to estimate the yaw attitude of the BDS-3 satellite in the noneclipse period, when BDS-3 satellites can maintain the nominal values in the entire period. Hence, the nominal yaw attitude can be used as the truth to assess the accuracy of the estimated yaw angles. Figure 5 shows the nominal yaw angles (red) and the estimated yaw angles (blue) as well as the differences between them for satellite C19 on DOY 230, 2019, when the β-angle varies from 7° to 6°. The estimated yaw angles of satellite C19 are very close to the nominal in the entire 24-h period. This difference is in the range of − 5° to + 5° most of the time. The RMS of the estimation errors is approximately 2.6°. This indicates that a precise yaw attitude estimation can be obtained based on the ISL observations. Hence, ISL measurements can be used to analyze and verify the attitude control modes of BDS-3 satellites.

Fig. 5
figure 5

The nominal (red) and ISL estimated (blue) yaw angles (top) as well as the differences (bottom) between them for C19 on DOY 230, 2019, with a β-angle of 7°

5.2 CAST MEO satellites

Figures 6 and 7 illustrate the nominal, estimated and WHU modeled yaw profiles of C22 around the midnight as well as noon point during the period of DOY 234 to 240, 2019, when the satellite is in a deep eclipse period (as shown in Fig. 4). It can be clearly observed that the behaviors of the yaw attitude maneuvers near the midnight and noon points are similar, and the satellite starts and finishes maneuvers at fixed orbital angles, i.e., approximately ± 6° for the midnight maneuver and 180 ± 6° for the noon maneuver. Most importantly, the yaw law expressed by Eq. (1) precisely predicts the yaw behaviors of C22, and the RMS of the differences between the predicted and estimated yaw angle values is 3.18°. Similar behaviors have been identified for other CAST MEO satellites. This indicates that the yaw law expressed by Eq. (1) has a good ability to predict the yaw angles of CAST MEO satellites.

Fig. 6
figure 6

The nominal (red), estimated (blue), and WHU modeled (green) yaw angles of C22 around the midnight point in the period from DOY 234 to 240, 2019

Fig. 7
figure 7

The nominal (red), estimated (blue), and WHU modeled (green) yaw angles of C22 around the noon point in the period from DOY 234 to 240, 2019

5.3 CAST IGSO satellites

Figures 8 and 9 show the nominal, estimated and WHU modeled yaw angles during the midnight and noon yaw maneuvers, respectively, for BDS-3 IGSO satellite C38 from DOY 156 to 166, 2020. This confirms that the spacecraft has obvious maneuvers for small \(|\beta |\). Moreover, satellite C38 behaves during the noon or midnight maneuvers to a certain extent, similar to the MEO satellites manufactured by CAST. The satellite starts and finishes maneuvers at fixed orbital angles, and the actual yaw angle of the satellite is equal to the nominal yaw angle at the midnight and noon points. However, approximately 50 min is required to finish the maneuvers for IGSO satellites in the deepest eclipse period, whereas it takes approximately half that time for MEO satellites. This estimation clearly confirms that the yaw law expressed by Eq. (1) can also predict the yaw behaviors of C38 with an accuracy of 4.01°.

Fig. 8
figure 8

The nominal (red), estimated (blue), and WHU modeled (green) yaw angles of C38 around the midnight point in the period from DOY 156 to 166, 2020

Fig. 9
figure 9

The nominal (red), estimated (blue), and WHU modeled (green) yaw angles of C38 around the noon point in the period from DOY 156 to 166, 2020

Xia et al. (2019) found that BDS-2 IGSO and MEO satellites with a continuous yaw-steering mode occasionally reverse the turn direction for \(\left|\beta \right|<0.14^\circ \); hence, a beta bias of 0.14° is introduced to predict this behavior. We carefully investigate the estimated yaw angles, and no reversed yaw direction is identified for all BDS-3 IGSO and MEO satellites from CAST during the selected period.

However, we observe two cases in which the WHU predicted attitudes do not follow the real yaw attitude, as shown in Fig. 10. It can be clearly observed that the yaw direction of the WHU model is opposite to the nominal direction. This occurs when the Sun crosses the orbital plane near the start orbital angle \(\mu \left({t}_{b}\right)\) of yaw maneuvers. For the WHU model in Eq. (1), the \(\psi \left({t}_{b}\right)\) calculated with the \(\beta \)-angle determines the direction of the yaw maneuvers. Hence, the slight error in the \(\beta \)-angle calculation can change the sign of the \(\beta \)-angle, resulting in the reversed \(\psi \left({t}_{b}\right)\) as well as direction of yaw maneuvers. A possible solution is to introduce a slight bias for \(\beta \)-angle \((\pm 0.0012^\circ )\) when it is close to 0° near the \(\psi \left({t}_{b}\right)\). These two events occur near noon point, and possibly occur near the midnight point.

Fig. 10
figure 10

Nominal (red), estimated (blue), WHU (green), and modified WHU (MWHU, magenta) modeled yaw angles for C45 and C37 at small β-angles on DOY 335, 2019 and DOY 145, 2020

5.4 SECM MEO satellites

Furthermore, the yaw angles for SECM MEO satellites are also estimated with ISL data. Figures 11 and 12 show the evolution of the nominal (red), estimated (blue), and CSNO modeled (green) yaw angles for the selected satellite C27 during the deep eclipse periods (DOY 120 to 132, 2019). It can be clearly observed that the estimated yaw angle equals ± 90° at the midnight and noon points, while the nominal yaw angle has the same value. The actual yaw angles show slight differences with respect to those of the nominal even in noneclipse periods, and the smaller the absolute value of the \(\beta \)-angle is, the greater the differences. This bias disappears for \(\left|\beta \right|\) > 3°, when the nominal and estimated yaw angles are almost identical. The results in Figs. 11 and 12 also show that the yaw law expressed by Eq. (3) can reproduce the yaw behaviors quite well. Statistically, the maximum and RMS values of the difference between the predicted yaw angles and estimated yaw angles are 8.5° and 2.81°, respectively.

Fig. 11
figure 11

The nominal (red), estimated (blue), and CSNO modeled (green) yaw angles of C27 around the midnight point in the period from DOY 120 to 132, 2019

Fig. 12
figure 12

The nominal (red), estimated (blue), and CSNO modeled (green) yaw angles of C27 around the noon point in the period from DOY 120 to 132, 2019

However, some abnormal reversal events are observed, as shown in Fig. 13 for C28 on DOY 304, 2019. For SECM C28, during this period, the Sun crosses the orbital plane from below to above, i.e., the \(\beta \)-angle goes from negative to positive. According to Eq. (3), a noticeable yaw transition can be expected due to the change in the sign of the \(\beta \)-angle at approximately 14 h. However, this is not the case, as the yaw estimates indicate. It seems that the transition shown by the noticeable jump at approximately 19 h occurs with a delay of several hours. Hence, the yaw law will be kept as before, resulting in a reversed direction of the yaw maneuver around the midnight point at approximately 18 h. The same behaviors have been identified for other SECM satellites.

Fig. 13
figure 13

The nominal (red), estimated (blue), CSNO (black), and modified CSNO (MCSNO) (green) modeled yaw attitudes for C28 on DOY 304, 2019. The variation in \(\beta \)-angle (dark green) is also illustrated. The magenta arrows mark the transition points

Table 1 lists the information on the attitude switch of all SECM satellites in the region with \(\beta = 0\) during the selected period. In general, not all yaw attitude transitions occur immediately when the \(\beta \)-angle switches sign. There are only four cases that follow CSNO's predictions. However, other transitions occur at almost the same orbital angle, i.e., approximately 36.80°, or at the same absolute value of the yaw angle, i.e., ± 5°. In this study, we use the yaw angle instead of the orbital angle as the condition to predict the yaw transition epoch. The estimated yaw angles show that jumps occur immediately when the Sun crosses the orbital plane and the \(|\psi (t)|\) is no greater than \({5}^{\circ }\). Hence, the yaw behaviors can be described simply as follows:

Table 1 Information on the attitude switch of all SECM satellites passing through the region with β = 0

The yaw attitudes of the SECM MEO obey Eq. (3), and the transition occurs when or after the \(\beta \)-angle passes 0° and the absolute value of the yaw angle is no greater than 5°.

To investigate the behaviors of SECM satellites during the attitude transition, we re-estimate the yaw angles with 20 s ISL data. It appears that the actual yaw angles change linearly toward the nominal yaw angles with a fixed rate, which has been estimated for six SECM satellites and illustrated in Fig. 14. All the estimated rates are below 0.1°/s. As the discrepancy between the real and target yaw angles is generally below 10°, the yaw maneuver can be completed within 3 ~ 5 min. For data processing with a low sampling rate, e.g., precise orbit determination, the modeling of this transition behavior can be omitted because the maximum bias in the yaw angle is approximately 10°, which has limited impact on data processing. However, for high-rate processing, it is suggested to consider the behavior. For modeling, the average value of approximately 0.055°/s is used. Hence, in the modified CSNO (MCSNO) model, BDS-3 SECM MEO satellites still obey the nominal yaw-steering law for β-angles above 3°. For \(\left|\beta \right|\le 3^\circ \), the modified expression is as follows:

$$\psi \left(t\right)=\left\{\begin{array}{ll}\mathrm{ATAN}2\left(\mathrm{tan}\left({-3}^{\circ }\right),\mathrm{sin}\mu \left(t\right)\right),&\quad t<{t}_{0}\;\mathrm{and}\;\beta >0\, (14.1)\\ \mathrm{ATAN}2\left(\mathrm{tan}\left({3}^{\circ }\right),\mathrm{sin}\mu \left(t\right)\right),&\quad t<{t}_{0}\;\mathrm{and}\;\beta <0\, (14.2)\\ \mathrm{ATAN}2\left(\mathrm{tan}\left(\mathrm{SIGN}\left({3}^{\circ },\dot{\beta }\right)\right),\mathrm{sin}\mu \left(t\right)\right),&\quad {t}_{0}\le t<{t}_{s} \,(14.3) \\ \psi \left({t}_{s}\right)-\mathrm{SIGN}\left({0.055}^{\circ },\dot{\beta }\right)\frac{\mu \left(t\right)-\mu \left({t}_{s}\right)}{\dot{\mu }},&\quad {t}_{s}\le t<{t}_{e} \,(14.4)\\ \mathrm{ATAN}2\left(-\mathrm{tan}\left(\mathrm{SIGN}\left({3}^{\circ },\dot{\beta }\right)\right),\mathrm{sin}\mu \left(t\right)\right),&\quad t>{t}_{e}\,(14.5)\end{array}\right.$$
(14)

where \({t}_{0}\) represents the epoch with \(\beta ={0}^{\circ }\), and the corresponding orbital angle as well as yaw angle are \(\mu \left({t}_{0}\right)\) and \(\psi \left({t}_{0}\right)\). \(\dot{\beta }\) is the rate of \(\beta \). \(\dot{\mu }\) is the rate of \(\mu \). \({t}_{s}\) and \({t}_{e}\) are the start and end epoch of the linear yaw maneuver with orbital angle \(\mu \left({t}_{s}\right)\) and \(\mu \left({t}_{e}\right)\), respectively, and those can be obtained as follows:

$$ t_{s} = \left\{ {\begin{array}{*{20}l} {t_{0} ,} \hfill & {\left| {\psi \left( {t_{0} } \right)} \right| < 5^{\circ } } \hfill \\ {t_{0} + \frac{{\mu \left( {t_{s} } \right) - \mu \left( {t_{0} } \right)}}{{\dot{\mu }}}} \hfill & { \left| {\psi \left( {t_{0} } \right)} \right| \ge 5^{\circ } } \hfill \\ \end{array} } \right. $$
(15)
$$ \mu \left( {t_{s} } \right) = \left\{ {\begin{array}{*{20}l} {\mu \left( {t_{0} } \right),} \hfill & {\left| {\psi \left( {t_{0} } \right)} \right| < 5^{\circ } } \hfill \\ {36.80^{\circ } ,} \hfill & {\left| {\psi \left( {t_{0} } \right)} \right| \ge 5^{\circ } } \hfill \\ \end{array} } \right. $$
(16)
$$ t_{e} = t_{s} + \frac{{\mu \left( {t_{e} } \right) - \mu \left( {t_{s} } \right)}}{{\dot{\mu }}} $$
(17)

The orbital angle \(\mu \left({t}_{e}\right)\) is then found from the intersection of the lines defined by Eqs. (14.4) and (14.5). To overcome the nonlinearity of Eq. (14.5), we approximate the function by a first-order Taylor series expansion about the point \({\mu }_{*}\) and obtain:

$$ \begin{aligned} \psi \left( t \right) & \approx {\text{ATAN}}2\left( { - \tan \left( {{\text{SIGN}}\left( {3^{\circ } ,\dot{\beta }} \right)} \right),\sin \mu_{*} } \right) \\ & \quad + \frac{{\tan \left( {{\text{SIGN}}\left( {3^{\circ } ,\dot{\beta }} \right)} \right)\cos \mu_{*} }}{{\sin^{2} \mu_{*} + \tan^{2} \left( {{\text{SIGN}}\left( {3^{\circ } ,\dot{\beta }} \right)} \right)}}\left( {\mu \left( t \right) - \mu_{*} } \right) \\ \end{aligned} $$
(18)

Hence, the orbital angle \(\mu \left({t}_{e}\right)\) can be derived as follows:

$$\mu \left({t}_{e}\right)=\frac{\begin{aligned}\mathrm{ATAN}2\left(\mathrm{tan}\left(\mathrm{SIGN}\left({3}^{\circ },\dot{\beta }\right)\right),\mathrm{sin}\mu \left({t}_{s}\right)\right)-\mathrm{ATAN}2\left(-\mathrm{tan}\left(\mathrm{SIGN}\left({3}^{\circ },\dot{\beta }\right)\right),\mathrm{sin}{\mu }_{*}\right)\\ +\frac{\mathrm{tan}\left(\mathrm{SIGN}\left({3}^{\circ },\dot{\beta }\right)\right)\cdot \mathrm{cos}{\mu }_{*}\cdot {\mu }_{*}}{{\mathrm{sin}}^{2}{\mu }_{*}+{\mathrm{tan}}^{2}\left(\mathrm{SIGN}\left({3}^{\circ },\dot{\beta }\right)\right)}+\frac{\mathrm{SIGN}\left({0.055}^{\circ },\dot{\beta }\right)\cdot \mu \left({t}_{s}\right)}{\dot{\mu }}\end{aligned}}{\frac{\mathrm{SIGN}\left({0.055}^{\circ },\dot{\beta }\right)}{\dot{\mu }}+\frac{\mathrm{tan}\left(\mathrm{SIGN}\left({3}^{\circ },\dot{\beta }\right)\right)\cdot \mathrm{cos}{\mu }_{*}}{{\mathrm{sin}}^{2}{\mu }_{*}+{\mathrm{tan}}^{2}\left(\mathrm{SIGN}\left({3}^{\circ },\dot{\beta }\right)\right)}}$$
(19)

\({\mu }_{*}\) can be set as \(\mu \left({t}_{s}\right)+\frac{10}{0.055}\dot{\mu }\). As plotted in Fig. 13, the MCSNO model can predict the actual yaw behaviors well.

Fig. 14
figure 14

Linear fitting of the attitude transition behaviors for six SECM satellites. The magenta words represent the estimated yaw rates

6 Validation

The ISL observation residuals can be used to validate the yaw models. Two orbit solutions are determined based on ISL measurements with and without considering the yaw maneuvers. Figure 15 illustrates the ISL residuals of the two solutions for C29 and C34 in the same orbit plane as well as C29 and C21 located in different orbit planes on DOY 124, 2019, when C29 and C34 experienced the yaw maneuvers. It can be clearly observed that the ISL residuals near the midnight or noon points increase considerably when the nominal attitude is adopted during yaw maneuvers, and the maximum errors can reach 1.25 m. By using the yaw attitude models, the errors are significantly reduced, and the magnitudes of the ISL residuals inside and outside the yaw maneuver period are at the same level. Additionally, there are three and six jumps for C29 and C21 as well as C29 and C34, respectively. Both C29 and C34 orbit the earth nearly twice per day and experience midnight twice and noon once, whereas satellite C21 in a different orbital plane does not experience yaw maneuvers. In addition, the wrong attitude direction is reflected in the residuals. It is obvious that the reverse attitude causes a maximum error close to approximately 1.5 m. The MCSNO corrects this error well and maintains the smoothness of the residuals, which proves that the modified model has a strong ability to reproduce the actual yaw attitude.

Fig. 15
figure 15

The out-of-plane link (C29–C21, top) and in-plane link (C29–C34, bottom) residuals with the nominal attitude (red dots), the CSNO (blue dots), and the modified CSNO model (green dots) on DOY 124, 2019

Additionally, incorrect modeling of the yaw attitude can affect the phase wind-up correction. For satellite clock estimation, this contribution can be absorbed by the estimated satellite clock offsets. Hence, the performance of the estimated clocks will degrade (Bar-Sever 1996; Kouba 2009). Figure 16 presents the L-band clock residuals for C35 after removing the linear trend. It can be observed that the CSNO predicted yaw attitude can cause a jump at β = 0° in the clock error residuals. In addition, during the midnight maneuver, the MCSNO model performs more continuously and smoothly as the reverse yaw direction has been modeled.

Fig. 16
figure 16

Clock offset residuals with respect to the linear model based on the nominal attitude (red), the CSNO (blue), and the MCSNO model (green) for C35 on DOY 302, 2019 (left) and DOY 107, 2020 (right). The magenta arrows mark the transition points

7 Conclusions and discussion

Based on the ISL observations of BDS-3, the epochwise yaw angles are estimated with the RKPPP approach. Generally, the estimated yaw angles are in excellent agreement with the nominal yaw angles with an accuracy of approximately 2.6° outside of the eclipse periods. They show that yaw maneuvers occur when the absolute value of the \(\beta \)-angle is below 3° for IGSO and MEO satellites from CAST and SECM. For CAST IGSO satellites, the midnight and noon maneuvers are similar to those of MEO CAST satellites and can be precisely predicted using the model developed by Wang et al. (2018). However, for SECM MEO satellites, the behavior is slightly different than that of the model released by CSNO. The transition of the yaw attitude when the Sun crosses the orbital plane shows a delay of up to a few hours, resulting in opposite yaw directions between the modeled and estimated yaw angles when the \(\beta \)-angle is small. By analyzing the estimated angles of all SECM MEO satellites, we identify that the yaw transition occurs when or after the \(\beta \)-angle passes 0° and the absolute value of the yaw angle is no greater than 5°. Hence, the CSNO model has been modified to consider these features. In addition, a linear model is proposed to account for the transition of the yaw attitude mode of SECM satellites. With the estimated yaw angles, the validation of the proposed and disclosed attitude models is performed. The reversed attitude can be accurately predicted by the new model. In addition, the residuals of ISL show that employing the modified yaw model can reduce the residual errors to a normal level. In addition, the linear-fit clock residuals can also be improved with the proposed yaw model.