### Observation equation for ISL pseudoranges

The ISL pseudorange observations of satellite \( j \) observed by satellite \( i \) at time \( t^{i,j} \) are expressed as

$$ P^{i,j} (t^{i,j} )= \left| {\varvec{R}^{i} (t^{i,j} )- \varvec{R}^{j} (t^{i,j} - \tau^{i,j} )} \right| + \delta^{i} (t^{i,j} )- \delta^{j} (t^{i,j} { - }\tau^{i,j} )+ \Delta^{j} + \beta^{i} + \omega , $$

(1)

where \( \tau^{i,j} \) is the propagation time of ISL signal from satellite \( j \) to satellite \( i \); \( \varvec{R}^{i} \) and \( \varvec{R}^{j} \) are the instantaneous positions of satellite \( i \) and \( j \) at the receiving and transmitting times, respectively; \( \delta^{i} \) and \( \delta^{j} \) are the clock offsets of satellite \( i \) and \( j \), respectively; \( \Delta^{j} \) and \( \beta^{i} \) are the transmitting and receiving hardware delays of satellite \( j \) and \( i \), respectively, considered to be stable in time, and *ω* is the measurement noise [2, 17]. Equation (1) omits terms such as relativistic delay of signal propagation and satellite antenna phase center offsets.

Equation (1) can also be used for the pseudorange observations between BDS-3 satellites and anchor stations, when the troposphere delay and ionosphere delay are taken into account. Since the BDS-3 ISL runs in Ka-band, pseudorange observations between satellites or between satellites and anchor stations are uniformly referred to as Ka-pseudoranges.

### Observation equation for pseudoranges and phases at monitoring stations

Without losing generality, ionosphere-free carrier phase \( L_{r}^{i} \) and pseudorange \( P_{r}^{i} \) of satellite \( i \) observed by station (receiver) \( r \) at the time \( t_{k} \) can be expressed as

$$ \begin{aligned} L_{r}^{i} (t_{k} ) & = \left| {\varvec{R}_{r} (t_{k} ) - \varvec{R}^{i} (t_{k} - \tau_{r}^{i} )} \right| + \theta_{r,k} - \theta_{k}^{i} + T_{r}^{i} + a_{r}^{i} + \varepsilon \\ P_{r}^{i} (t_{k} ) & = \left| {\varvec{R}_{r} (t_{k} ) - \varvec{R}^{i} (t_{k} - \tau_{r}^{i} )} \right| + \theta_{r,k} - \theta_{k}^{i} + T_{r}^{i} + \xi \\ \end{aligned} , $$

(2)

where \( k \) is the observation epoch; \( \tau_{r}^{i} \) is the propagation time of signal from satellite \( i \) to station \( r \); \( \varvec{R}_{r} \) is the instantaneous position of the station at the receiving time; \( \theta_{r,k} = \delta_{r,k} + b_{r} \) and \( \theta_{k}^{i} = \delta_{k}^{i} - b^{i} \) are the estimable clock parameters for the station and the satellite, i.e., superposition of the clock offset (\( \delta_{r,k} \) and \( \delta_{k}^{i} \)) and the ionosphere free combination of hardware group delay (\( b_{r} \) and \( b^{i} \)); \( a_{r}^{i} \) is the ionosphere-free phase ambiguity parameter, including the hardware phase and group delays; \( T_{r}^{i} \) is the troposphere delay; \( \varepsilon \) and \( \xi \) are measuring errors of carrier phase and pseudorange measurements, respectively [21]. Equation (2) omits the correction terms of relativistic delay, phase wind-up effect and antenna phase centre offsets of the satellite and the station.

### General observation equation for non-simultaneous observations

Pseudoranges and carrier phases [Eq. (2)] and Ka-pseudoranges [Eq. (1)] are radio measurements that contains clock offsets of the signal transmitting and receiving devices. In order to directly process the non-simultaneous observation data, such as the raw Ka-pseudorange observations of ISL, a general observation model is proposed in this section.

Continuous time is divided into discrete non-overlapping time slots with length of \( w \). In any time slot *k*, the behavior of clocks on transmitting or receiving devices can be modeled with a polynomial, thus, clock offsets at any time *t* within time slot *k* are, according to Ruan [19],

$$ \delta^{i} (t) = \delta_{k}^{i} + \dot{\delta }_{k}^{i} \cdot (t - t_{w,k} ) + \ddot{\delta }_{k}^{i} \cdot (t - t_{w,k} )^{2} + \cdots , $$

(3)

where *t*_{w,k} is the selected reference time for the time slot *k* and is preferably at the middle point of the time slot. \( \delta_{k}^{i} \) is the zero-order coefficient of the polynomial, i.e., clock bias at *t*_{w,k}; \( \dot{\delta }_{k}^{i} \) and \( \ddot{\delta }_{k}^{i} \) are first and second order coefficients, i.e., drift and acceleration of the clock, respectively. Terms of higher order are omitted in Eq. (3) (usually terms higher than the second order can be safely ignored). In practice, accurate modeling of long-term changes of clocks using polynomials is challenging. In order to control the error of the clock polynomial models, the length of time slots should not be too long, depending on the frequency instability of an individual clock. For example, in a short time period, such as a few minutes, the clock of a GNSS satellite can usually be modeled using a linear polynomial, with adequate precision.

In this way, a radio measurement \( O^{r,e} \) for a transmitting device \( e \) observed at \( t^{r,e} \) by the receiving device \( r \) can be expressed as, according to Ruan [19],

$$ O^{r,e} (t^{r,e} )= \rho^{r,e} + \left[ {\delta_{k}^{r} { + }\dot{\delta }_{k}^{r} \cdot (\Delta t^{r,e} ) { + } \cdots } \right] - \left[ {\delta_{k}^{e} { + }\dot{\delta }_{k}^{e} \cdot (\Delta t^{r,e} - \tau^{r,e} ) { + } \cdots } \right] + \omega_{o} , $$

(4)

where \( t^{r,e} \) is within the time slot *k*, \( \Delta t_{k}^{r,e} = t^{r,e} - t_{w,k} \) is the difference between observing time and the reference time \( t_{w,k} \), \( \rho^{r,e} \) is the distance from a transmitting antenna to a receiving antenna, and \( \omega_{0} \) is the measuring error. The above formula does not include other factors that may affect the observation.

Specifically, if clock offsets are modeled with linear polynomials, the observation equation, Eq. (1), for Ka-pseudoranges observed at time \( t^{i,j} \), which is within the time slot *k*, can be rewritten as

$$ \begin{aligned} P^{i,j} (t^{i,j} )& = \left| {\varvec{R}^{i} (t^{i,j} )- \varvec{R}^{j} (t^{i,j} - \tau^{i,j} )} \right| \\ & \quad + \,\left[ {\delta_{k}^{i} + \dot{\delta }_{k}^{i} \cdot (\Delta t_{k}^{i,j} )} \right] - \left[ {\delta_{k}^{j} + \dot{\delta }_{k}^{j} \cdot (\Delta t_{k}^{i,j} - \tau^{i,j} )} \right] + \Delta^{j} + \beta^{i} + \omega \\ \end{aligned} . $$

(5)

Thus, for any satellite-pair, all Ka-pseudoranges within the same time slot share the same clock parameters, although they are observed at different times. For example, a satellite’s clock parameters are first and second order coefficients in Eq. (5). The non-simultaneously observed Ka-pseudoranges of satellites (and anchor stations) can be directly processed separately or jointly with other tracking data, estimation of orbits, clocks, and even hardware delay biases can be achieved simultaneously.

In practice, the drift of satellite clocks can usually be predicted with a relatively high accuracy; therefore, the first order coefficients of clock models in Eq. (5) can be replaced by predicted values. For example, the uncertainty of predicted clock drift of a BDS satellite is less than \( 1 \times 10^{ - 13} \,{\text{s}}/{\text{s}} \) [2], and if the linear variation of the clock is corrected with the predicted clock drift, the resulting modeling error is less than 2 mm for time slots with length less than 1 min. In extreme cases without predicted clock drift, clock variation during short durations can even be directly ignored. Therefore, with predicted clock drift or by ignoring the clock variation, Eq. (5) is simplified to

$$ P^{i,j} (t^{i,j} ) = \left| {\varvec{R}^{i} (t^{i,j} ) - \varvec{R}^{j} (t^{i,j} - \tau^{i,j} )} \right| + \delta_{k}^{i} - \delta_{k}^{j} + \Delta^{j} + \beta^{i} + \bar{\omega }, $$

(6)

where \( \bar{\omega } \) is the sum of measuring error and additional errors caused by predicted clock drift or ignoring the clock drift.

The conventional observation model for pseudorange and phase observations observed at monitoring stations, such as in Eq. (2), can be regarded as a special case of Eq. (4) because each time slot contains only one epoch; thus, the model for the receiver clock is simplified with only the zero-order term. For any satellite, the time difference of signal transmitting corresponding to observations *simultaneously* observed by different stations at the same epoch is very small (i.e., much less than 1 s), so the variation of satellite clock can also be completely ignored.

### Orbit determination and time synchronization of BDS-3 satellites

For OD and TS of the BDS-3 satellites, there are several types of tracking data that can be used, including pseudoranges and carrier phases observed at monitoring stations, mainly located within Chinese territory, Ka-pseudoranges observed at satellites and anchor stations, and two-way satellite time frequency transferring data between stations and satellites. For the proposed general observation model, the orbits and clocks of BDS-3 satellites can theoretically be determined by independently processing any type of tracking data or jointly processing several data types. This paper focuses on two modes for OD and TS:

*Mode-1* Jointly processing ISL Ka-pseudoranges observed from satellites and observation data from monitoring stations;

*Mode-2* Processing Ka-pseudoranges observed from both satellites and anchor stations.

In Mode-1, satellite orbits, clocks, and the hardware delay biases of each satellite are determined simultaneously [17]. This is a significant mode for BDS-3 and may be the best OD and TS mode, as it is an important and self-consistent method, which can resolve the inconsistency of hardware delays of the ISL equipment and the navigation signal generation equipment. In order to construct the joint observation model with both ISL data and the data from monitoring stations, the simplest method is to adopt the observation epoch time \( t_{k} \) of the monitoring station as the reference time of specific time slots; i.e., \( t_{w,k} = t_{k} \). Thus, the zero-order coefficient of the clock polynomial is exactly the clock offset \( \theta_{k}^{i} \) at the time \( t_{k} \). Omitting detailed derivation, joint observation equation with ISL Ka-pseudoranges and ionosphere-free pseudoranges, and phases at time slot \( k \) centered on its reference time \( t_{k} \) is expressed as follows:

$$ \begin{aligned} L_{r}^{i} (t_{k} ) & = \left| {\varvec{R}_{r} (t_{k} ) - \varvec{R}^{i} (t_{k} - \tau_{r}^{i} )} \right| + \theta_{r,k} - \theta_{k}^{i} + T_{r}^{i} + b_{r}^{i} + \varepsilon \\ P_{r}^{i} (t_{k} ) & = \left| {\varvec{R}_{r} (t_{k} ) - \varvec{R}^{i} (t_{k} - \tau_{r}^{i} )} \right| + \theta_{r,k} - \theta_{k}^{i} + T_{r}^{i} + \xi \\ P^{i,j} (t^{i,j} ) & = \left| {\varvec{R}^{i} (t^{i,j} ) - \varvec{R}^{j} (t^{i,j} - \tau^{i,j} )} \right| \\ & \quad + \,\left[ {\theta_{k}^{i} + \dot{\theta }_{k}^{i} \cdot \Delta t_{k}^{i,j} } \right] - \left[ {\theta_{k}^{j} + \dot{\theta }_{k}^{j} \cdot (\Delta t_{k}^{i,j} - \tau^{i,j} )} \right] + \Delta_{b}^{j} + \beta_{b}^{i} + \bar{\omega } \\ \end{aligned} , $$

(7)

where \( - \frac{w}{2} \le t^{i,j} - t_{k} < \frac{w}{2} \), \( \dot{\theta }_{k}^{*} \) is the clock drift; \( \Delta_{b}^{*} = \Delta^{*} - b^{*} \) and \( \beta_{b}^{*} = \beta^{*} + b^{*} \) are the transmitting and receiving hardware delay biases for ISL equipment on satellite \( * \) (\( = i,j \)) [17], referred to as transmitting and receiving Ka-biases, respectively, in this context. The definition of Ka-biases and the estimation method are presented in Ruan et al. [16, 17]. In Eq. (7), the observation time of the Ka-pseudoranges is usually different from the sampling time of the L-band pseudorange and phase data, but they share the same clock parameters. After modeling and linearization, unknown parameters such as satellite orbit, clock parameters, and Ka-biases are solved simultaneously, e.g., with the least square method.

Mode-2 uses Ka-pseudoranges observed from both satellites and anchor stations, and is usually referred to as (centralized) autonomous OD and TS [2, 10]. The observation equations are

$$ \begin{aligned} P^{i,j} (t^{i,j} ) & = \left| {\varvec{R}^{i} (t^{i,j} ) - \varvec{R}^{j} (t^{i,j} - \tau^{i,j} )} \right| \\ & \quad + \,\left[ {\theta_{k}^{i} + \dot{\theta }_{k}^{i} \cdot (\Delta t_{k}^{i,j} )} \right] - \left[ {\theta_{k}^{j} + \dot{\theta }_{k}^{j} \cdot (\Delta t_{k}^{i,j} - \tau^{i,j} )} \right] + \bar{\omega } \\ P^{i,a} (t^{i,a} ) & = \left| {\varvec{R}^{i} (t^{i,a} ) - \varvec{R}^{a} (t^{i,a} - \tau^{i,a} )} \right| \\ & \quad + \,\left[ {\theta_{k}^{i} + \dot{\theta }_{k}^{i} \cdot (\Delta t_{k}^{i,a} )} \right] - \left[ {\theta_{k}^{a} + \dot{\theta }_{k}^{a} \cdot (\Delta t_{k}^{i,a} - \tau^{i,a} )} \right] + T_{a}^{i} + \bar{\omega } \\ \end{aligned} , $$

(8)

where \( a \) represents anchor stations and \( T_{a}^{i} \) is the troposphere delay in Ka-pseudoranges between satellites and anchor stations. Ka-biases are not present in Eq. (8) because they are linearly correlated with the clock parameters when Ka-pseudoranges are used alone and must be calibrated with known values, e.g., estimates obtained by Mode-1, to achieve an unbiased clock solution for positioning and timing applications.