1. Introduction
Currently, with more and more satellites joining the family of navigation systems, multiple global navigation satellite systems (multi-GNSS) standard point positioning (SPP) [
1], precise point positioning (PPP) [
2], precise orbit determination (POD) [
3] and meteorology are becoming increasingly popular.
GNSS pseudorange observations are well known to exhibit systematic biases related to delays caused by internal electronic/hardware components of the overall signal generation, transmission and processing chain [
4]. In the new multi-GNSS and multi-frequency context, observations from different constellations, signals, frequencies and channels need to be processed along with each other and a proper consideration of biases becomes mandatory for a consistent modeling of all observations. For all precise GNSS applications that are supported by code and carrier-phase observations, existing code biases represent a non-negligible error source. This includes ”time-oriented” applications such as high-precision GNSS satellite clock estimation [
5] as well as time transfer among GNSS observing stations [
6], but also code- and phase-based carrier phase ambiguities resolution. For ionosphere analysis, consideration of inter-frequency code biases has been an issue for a long time. For positioning applications, code biases should be considered [
7].
GNSS satellite clock offsets in both broadcast and precise products are specific to the conventional signal or signal combination employed in their generation. It has been common practice to define GNSS clock offsets with respect to a dual-frequency ionosphere-free linear combination (LC) of conventional reference signals for this purpose, such as L1/L2 P(Y)-code for GPS, G1/G2 P-code for GLONASS, and E1/E5a or E1/E5b for Galileo. For Galileo, the precise clock products from the Multi-GNSS Experiment (MGEX) are based on the E1/E5a signal combination. For Galileo broadcast clock offsets, each Galileo satellite broadcasts its own clock correction data for all signals through the relevant signal, the F/NAV (Freely Accessible Navigation) and I/NAV (Integrity Navigation). F/NAV reports the clock parameters valid for the E1/E5a combination, and the I/NAV reports the parameters for the E1/E5b combination. Within the Galileo navigation message (RINEX format), the second parameter in the “Broadcast Orbit 5” record (“Data source”) indicates the frequency pair the stored satellite clock corrections are valid for [
8]. Typically, we find the value of 258 corresponding to F/NAV and 513 or 517 corresponding to I/NAV. Unlike other GNSSs, BeiDou broadcast clock offsets are chosen in a different manner, which are referred to a single-frequency B3 signal [
9,
10]. However, similar to other GNSSs, the BeiDou clock offsets in precise products are referred to the B1/B2 dual-frequency ionosphere-free observations combination [
11,
12]. During the estimation process of satellite clock offsets, inter-frequency code biases are commonly ignored for reference signals mentioned before, which are assimilated into the satellite clock offsets. When using other signal or combined signals differing from the conventional reference signal or signal combination, the code biases, such as time group delay (TGD) or differential code bias (DCB), should be applied, which are essential for code-based positioning, time service and ionosphere modeling [
13].
The broadcast TGDs, which are referenced to empirical absolute satellite biases, are commonly used to compensate code biases in real-time for single-frequency users. TGDs are initially provided by the control segment based on measurements made by the space vehicle (SV) contractor during SV manufacture. Although TGDs are calibrated before launch, there is always some variation that occurs once the satellites are in orbit [
14,
15]. GPS TGDs have been estimated and monitored by the Jet Propulsion Laboratory (JPL) for more than 15 years. Furthermore, more accurate code biases designated as DCBs are provided by GNSS communities to account for the same biases as TGDs, particularly for the post-processing applications [
16]. DCBs are in a relative sense to reflect the differential code biases (satellites or receivers) between two different code observations obtained on the same or two different frequencies [
17]. On 1 June 1998, International GNSS Service (IGS) started the ionosphere working group with the aim of estimating satellite DCBs and developing global ionosphere maps (GIM) based on GPS observations [
18,
19]. The GLONASS satellites DCBs have also been estimated by Center for Orbit Determination in Europe (CODE) since 2003 (see IGS Mail No. 4371). Within the Multi-GNSS Experiment (MGEX) [
20] campaign launched by IGS [
21], multi-GNSS DCBs have been derived from observations of the network. Details of the DCB estimation process are described in Montenbruck et al. [
22]. The TGD/DCB corrections and their relationship to GPS have been analyzed and summarized in [
10]. A correction model for BeiDou is given in Montenbruck and Steigenberger [
9], it is only applicable to SPP. Guo et al. [
10] extend the TGD and DCB correction models to various occasions for BeiDou positioning and first clearly figure out the relationship between TGDs and DCBs for BeiDou. However, such correction models are only applicable to BeiDou, not to other GNSSs, such as Galileo. Furthermore, the relationship between TGDs and DCBs for Galileo is not figured out, and the equivalence of TGD and DCB correction models for Galileo is not demonstrated in current literature. The TGD/DCB correction models and the effectiveness of broadcast TGDs and DCBs as well as their influences on single GNSS (e.g., Galileo) and multiple GNSSs (e.g., GPS + GLONASS + BeiDou + Galileo) positioning are presently not clear yet in current literature.
Within this contribution, we first provide a summary of the current available TGDs and DCBs (inter-frequency) for multi-GNSS, and describe their relationship combing theory with practice. Thereafter, the TGD and DCB correction models are developed to multi-GNSS code-based positioning scenarios. Furthermore, comprehensive analysis of the influence of code biases on multi-frequency combination SPP has been performed using quad-constellation GNSSs code observations as well as quad-constellation PPP.
3. Data and Processing Strategy
All observation data sets used in this study were collected by various organizations contributing to MGEX stations which was set-up by the IGS in 2011 to track, collect, and analyze all available GNSS signals [
20]. The MGEX network has grown to more than 110 stations now supporting at least one of the new navigation systems (BeiDou, Galileo and QZSS) in addition to the legacy GPS, GLONASS and SBAS (Satellite Based Augmentation Systems). The quad-constellation satellite orbits and clock offsets are corrected by the broadcast ephemris provided by MGEX (
ftp://cddis.gsfc.nasa.gov/pub/gps/data/campaign/mgex/daily/rinex3/2015/brdm/), or the precise orbit and clock products at intervals of 15 min and 30 s, respectively, provided by The German Research Center for Geosciences (GFZ). The detailed observation model and data processing strategies are summarized in
Table 1 which is for the positioning at the user end. Notably, GLONASS does not require relativistic clock correction on the broadcast satellite clock offset at the user end. GPS, BDS and Galileo TGD parameters can be obtained in brdmddd0.yyp file, where
ddd and
yy indicate day of year (DOY) and the two-digit year. Currently, both GNSS satellites and receiver biases from weekly averages of daily DCBs are provided at
ftp://cddis.gsfc.nasa.gov/pub/gps/products/mgex/dcb/. GNSS DCBs was extracted from the annual file “MGEX2015_all.bsx.Z” in this study.
Most of the GNSS observation errors (troposphere delay, ionosphere delay, multipath effect, etc.) have something to do with the elevation angle of satellites. In order to weaken these errors, stochastic models based on the elevation angle of satellite can be established. Elevation-angle based stochastic models mainly include trigonometric function model and exponential function model. In this study, we use the sine function based elevation-angle stochastic model:
where
θ is the elevation angle of the satellite, and
is the prior variance of observations.
Generally, the multipath and the large observation noise usually exist at low elevation angle. In order to reduce the weight of the observation with lower elevation angle, we define the weight segmentation. The corresponding code and carrier phase variance matrix are:
α is the elevation angle threshold, it is set to be 30° generally. When adopting the pseudorange and carrier phase observation at the same time, the variance-covariance expression is:
where
,
are the a priori variances of code and carrier phase observations, respectively.
It is worth mentioning that different GNSS system have different observation a priori variances. For the GPS and GLONASS code and carrier phase observation, the precision is set to be 0.3 m and 0.002 m, respectively. Since the BDS satellite orbit and clock are at a relatively lower accuracy, its measurements are down-weighted. That is, the phase observation precision is set to be 0.004 m and the code observation precision is set to be 0.6 m for BDS and Galileo [
25].
The BeiDou and Galileo antenna offsets recommended by the MGEX project are used to correct the PCOs of BeiDou and Galileo satellites [
31]. The distribution of eight stations from MGEX are shown on
Figure 1.
To investigate the influence of code bias on different constellation combinations positioning, three different schemes [
10], pseudorange without TGDs or DCBs corrections, TGD corrected and DCB corrected, are described in
Table 2. G, R, C and E represent GPS, GLONASS, BDS and Galileo, respectively.
5. Summary
This paper introduces research regarding the status of multi-constellation (GPS + BDS + GLONASS + Galileo) timing group delay (TGD) and differential code bias (DCB) parameters, and then reveals the relationship between TGDs and DCBs for Galileo. Multi-GNSS TGD/DCB correction models for any single- (b1, b2, and b3) and dual-frequency (b1b2, b1b3, and b2b3) combinations from triple-frequency GNSS signals are assessed by three different schemes, in which the differential code biases are either ignored (“non-corr”), or corrected with TGD (“TGD-corr”) or DCB (“DCB-corr”) parameters. The model is extended to SPP/PPP processing with observations from single-, dual-, triple- or quad-constellations. Static datasets collected at eight stations over thirty consecutive days as well as a kinematic experimental dataset are used to fully evaluate the influence of positioning accuracy with TGD/DCB correction.
Comparative analysis of the influence of differential code biases on multi-GNSS combination (GPS, BDS, GPS + BDS, GPS + GLONASS, GPS + BDS + GLONASS, GPS + BDS + Galileo, and GPS + BDS + GLONASS + Galileo) positioning accuracy reveals that, for SPP with broadcast or precise orbit and clock, the positioning accuracy of GPS-only single frequency SPP can reach 2–3 m in horizontal and 5–10 m in vertical without the differential code biases, while the positioning accuracy can reach 1–2 m in horizontal and 5 m in vertical after TGD/DCB correction. The accuracy of Galileo-only b1-based SPP are improved about 48.6%, 34.7% and 40.6% with DCB correction, respectively, in the N, E, and U components. Multi-GNSS combination SPP achieves obviously better positioning accuracy than GSP-only SPP at three different schemes. For example, compared with b1-based GPS-only SPP, the accuracy of the b1-based GPS/BDS/GLONASS combination SPP can be improved by 23.5%, 8.0%, 17.5% in the three coordinate components, respectively. The uncorrected code biases seriously degrade the positioning accuracy of multi-GNSS combination dual-frequency SPP, especially for the b2b3-based SPP. For example, the positioning accuracy of GSP/BDS b2b3-based can be improved by 71.8%, 62.32% and 81.45%, respectively, in the three coordinate components. It is noted that the accuracy of static positioning after adding Galileo are not significant due to that there are fewer Galileo satellites currently in orbits. For GPS/BDS/Galileo b3-based SPP, the positioning accuracy can be improved by 2.0%, 2.0% and 0.4%, respectively, in the N, E, and U components, after Galileo satellites DCB correction. Compared to GPS/BDS b2b3-based SPP, GPS/BDS/Galileo b2b3-based SPP improves the 3-D positioning accuracy by 7.6% in the third schemes. The multi-GNSS ionosphere-free LC PPP positioning results indicate that the differential code bias has no influence on b1b2-based PPP, the positioning accuracy of b1b3- or b2b3-based PPP while the convergence time has been greatly improved by the TGD/DCB correction. The differences in PPP coordinate solutions are very small after convergence. The effect of coordinates parameters is mainly reflected in the initialization phase. It is interesting to note that the differential code biases do not matter to the positioning applications since the biases will be partly absorbed by other parameters such as receiver clock bias, tropospheric delay and carrier phase ambiguities. For kinematic positioning, GPS/GLONASS/BDS combination b1b2-based SPP with DCB parameters correction improves the positioning accuracy about 63.8%, 72.7%, and 10.3%, respectively, in the three coordinate components, and the positioning accuracy can be improved by 65.1%, 72.1%, and 8.8% in N, E, and U, respectively, with TGD parameters correction.
In general, for both the static and kinematic positioning, the performances have been improved significantly after TGD/DCB correction. It is unwise to ignore the differential code biases in the applications of multi-GNSS positioning, precise timing and tropospheric delay estimation.