Introduction

The constellation of the Chinese GNSS BeiDou, abbreviated as BDS and formerly referred to as COMPASS, presently consists of 14 active satellites (CSNO 2013), four satellites in medium earth orbits (MEO), five satellites in inclined geostationary orbits (IGSO), and five satellites in geostationary orbits (GEO). These satellites are transmitting signals on three frequencies, B1 (1,561.098 MHz), B2 (1,207.14 MHz), and B3 (1,268.52 MHz). GEO and IGSO satellites cover the longitudinal band from 50°E to 170°E and are thus best observed from East Asian and Australian stations (Fig. 2). BeiDou observation data sets from globally distributed stations equipped with multi-GNSS and multi-frequency geodetic-grade receivers and antennas are collected and made publicly available by the International GNSS Service (IGS, Dow et al. 2009) through its Multi-GNSS Experiment (MGEX, Montenbruck et al. 2014).

This research deals with a single characteristic of the present BeiDou system, namely the systematic code–carrier divergences that can exceed 1 m. These variations were mentioned first by Hauschild et al. (2012a). They were also detected by Perello Gisbert et al. (2012). More details were presented by Montenbruck et al. (2012, 2013). In these publications, the code–carrier divergences were described as elevation-dependent and frequency-dependent systematic biases that vary by about 1 m from horizon to zenith. They were attributed to the satellites because they were consistently observed with different receivers and antennas. The authors speculated that these effects may be caused by spacecraft internal multipath.

Similar code–carrier divergences were reported for GPS SVN49 which prevented its operational use. They are attributed to satellite-internal signal reflections which have the appearance of code multipath. It was found that the level of these code errors depends on the receiver’s multipath mitigation technique (Springer and Dilssner 2009; Hauschild et al. 2012b).

The objective of this research is to gain more insight into the described problem of BeiDou signals and to determine correction values to be applied to the BeiDou code observations to mitigate the difficulties which presently arise when BeiDou code observations are used for precise applications like Precise Point Positioning (PPP). After presenting the theory behind our data analysis, we briefly describe the BeiDou observation data sets used. In subsequent sections, we show and discuss our results. We end up with a set of corrections. Finally, we apply these corrections to BeiDou code measurements and verify the successful removal of these code–phase divergences. We do not address the cause of the described effects.

Code analysis based on MP observable

Certain characteristics of GNSS code observations can be analyzed in a special linear combination of single-frequency code and dual-frequency phase observations which usually is called multipath (MP) observable. As far as we know, this linear combination was mentioned first by Rocken and Meertens (1992). Its characteristics are well discussed in Simsky (2006).

We follow the idea of an MP derivation in a generalized form which involves code measurement C (m) at frequency i and carrier phase measurements φ (cy) at frequencies j and k (Montenbruck et al. 2010). The linear combination MP of these measurements can be written as

$${\text{MP}}_{i} = C_{i} + (m_{ijk} - 1) \cdot \lambda_{j} \varphi_{j} - m_{ijk} \cdot \lambda_{k} \varphi_{k} - B$$
(1)

with

$$m_{ijk} = \frac{{\lambda_{i}^{2} + \lambda_{j}^{2} }}{{\lambda_{j}^{2} - \lambda_{k}^{2} }}$$
(2)

where the linear factors (m ijk  − 1) and m ijk are calculated from the wavelengths λ of the three frequencies i, j, and k. For convenience and in most practical applications either i = j or i = k, i.e., one of the phase measurements refers to the same frequency as the code measurement. The linear factors are selected in such a way that ionospheric and tropospheric delays and all geometric contributions (clocks, orbits, and antenna movements) cancel out. Since phase measurements are involved, the MP combination also contains carrier phase ambiguities which change with cycle slips and reappearance of a satellite. The ambiguities cannot be separated from hardware- and software-induced delay differences between the different measurements. These biases are lumped together in B which is determined as average over raw MP values for each continuous ambiguity block. The raw MP values are reduced by B. As a consequence, no absolute MP values are known but only MP variations over continuous ambiguity blocks. MP variations mainly reflect multipath effects and tracking noise of the code measurements. Longer-term changes in the signal delay differences between code and carrier phases can also be detected in MP time series, which is our main interest.

Typical examples of MP time series for all four GNSS reveal increased code multipath and noise level at lower elevations (Fig. 1). The overall level of MP variations depends on certain characteristics of the signal itself but also on the tracking performance of the specific receiver and the antenna quality with respect to its multipath sensitivity. Furthermore, the surrounding of the receiving antenna and its multipath contamination affect MP values. For this reason, MP time series are usually used to detect and describe code multipath effects. Recent examples for MP analysis of BeiDou data can be found in Shi et al. (2013) and Wang et al. (2014). Figure 1 discloses that the MP time series of BeiDou satellites contains additional bias variations which are obviously elevation-dependent and usually absent for other GNSS systems. These bias variations are found in all MEO and IGSO satellite passes.

Fig. 1
figure 1

Examples of MP time series of complete MEO satellite passes of the four GNSS as a function of time (upper panels) and a function of elevation angle (lower panels)

The elevation-dependent biases in BeiDou code measurements are easily detectable in MEO satellite passes since these passes usually extend over large elevation ranges. This is also true for IGSO passes as long as the receiving antenna is located in East Asia or Australia. From other parts of the world, IGSO satellites are either not visible at all or they are visible at small elevations angles only. We are not able to verify or to reject whether similar biases affect the BeiDou GEO code measurements. The GEO satellites are visible at almost constant elevation angles as seen from a static receiver on the earth’s surface. A similar effect would therefore just cause a constant bias which would be absorbed by bias term B in (1), and thus, it would be removed from the MP time series. Hence, we are forced to limit our analysis to MEO and IGSO satellites.

Observation data sets

Almost all observation data sets used in this study were collected by various organizations contributing to MGEX which has been set up by the IGS to track, collect, and analyze all available GNSS signals (Montenbruck et al. 2014). As of March 2014, MGEX offers a global network of approximately 25 stations of GNSS receivers capable to receive BeiDou signals. Most of these stations are equipped with Trimble NetR9 receivers providing triple-frequency BeiDou observations. Seven receivers are Septentrio PolaRx4 providing dual-frequency observations on frequencies B1 and B2. We selected 10 stations equipped with Trimble receivers and seven stations equipped with Septentrio receivers in order to achieve a global coverage of receiving stations and to be able to compare both receiver types.

All 17 receiving stations are able to collect MEO observation data in the whole elevation range. As already mentioned, IGSO satellites can only be observed at higher elevation angles if the receiving station is located in East Asia or Australia. There, only few MGEX stations exist which are BeiDou capable and which provide high-quality and continuous observations: CUT0, GMSD, and JFNG (Fig. 2). All three utilize Trimble receivers so that the analysis of IGSO satellite signals is based on this one kind of receiver brand only and on just three receiving stations.

Fig. 2
figure 2

Ground track samples of BeiDou satellites and BeiDou receiving stations used in this study

Observations from two 10-day intervals in March 2014 (DoY 070–079) and in June 2014 (DoY 160–169) were selected as the core data sets for this study. Trimble station WARK had to be excluded in the first time interval because of very many cycle slips. BeiDou satellite PRN 13 was unusable in the second interval because of incorrect broadcast ephemerides.

Elevation-dependent modeling

Based on MP time series of individual ambiguity blocks, we estimated elevation-dependent piecewise linear models of the code–phase divergences. We selected the nodes to be separated by 10° of elevation, so that each model is defined by 10 parameters, the node values for the elevations from 0° to 90°. We adjusted best fitting models for each BeiDou MEO and IGSO satellite, for both 10-day observation intervals, for each receiving station, and for each of the three BeiDou frequencies.

Biases B in (1) are estimated for each MP time series of individual ambiguity blocks. We thus had to decide on how to fix the absolute level of the linear models. In the least-squares adjustment of the model parameters, we introduced the restriction that the average of model values for all MP observations is zero. Nevertheless, the estimated models must not be considered as absolute bias estimations.

Representative results of such piecewise linear models are presented in Figs. 3 and 4. The upper panels show the results for station Jiufeng, Hebei Province, China (JFNG), which is equipped with a Trimble NetR9 receiver, the two lower panels for the station at Brussels, Belgium, Europe (BRUX), equipped with a Septentrio PolaRx4TR. Both stations observed the MEO satellites on frequencies B1 and B2. In addition, the JFNG station being located in East Asia is also able to observe IGSO satellites over the complete elevation range, and being a Trimble receiver, it also observed the signals of frequency B3.

Fig. 3
figure 3

Elevation-dependent MP models for JFNG (top) and BRUX (bottom), DoY 070–079/2014, IGSO (orange) and MEO (blue), thin lines represent models of individual BeiDou satellites, thick lines show averaged values for groups of satellites

Fig. 4
figure 4

Elevation-dependent MP models for JFNG (top) and BRUX (bottom), DoY 160–169/2014, IGSO (orange) and MEO (blue), thin lines represent models of individual BeiDou satellites, thick lines show averaged values for groups of satellites

Thin lines in Figs. 3 and 4 represent models of individual BeiDou satellites. From these results, which are very similar on all stations, we concluded that there are two distinct groups of satellites with different code–carrier divergences. The first group consists of the five IGSO satellites, the second group of the four MEO satellites. But since we do not know the cause of the biases, we can only suspect that slightly different satellites or satellite antenna types are used in the different orbital heights. It could also be the case that the allocation to one of the groups of satellites rather depends on the time of satellite construction and launch. Then, the first group of satellites is the one with launches in 2010/2011 and the second group with launches in 2012. Nevertheless, in order to simplify the reference to these two distinct groups, we call them according to their orbit types IGSO and MEO. We produced weighted averages of the satellite individual models in order to gain sets of model parameters for both groups and each observing station. These averaged models of stations JFNG and BRUX are shown as thick lines in Figs. 3 and 4.

Our results partly confirm that the code–carrier divergences are frequency-dependent which was already suspected by Montenbruck et al. (2012). This frequency dependence is clearly visible for the MEO group of satellites with largest biases for frequency B1 and smallest for B3. In case of the IGSO group of satellites, the frequency-dependent differences are much smaller, and we cannot completely exclude systematic multipath effects in the vicinity of the receiving antenna as their cause.

As already mentioned, the two different receiver types can only be compared for MEO satellites and frequencies B1 and B2. Comparing the results of JFNG and BRUX, no receiver dependence and no dependence on station location can be detected. This is also true for all 17 globally distributed stations whose data were processed for this study.

An important question concerning measurement biases is their stability over time. After producing results for a first 10-day time period from March 2014 (Fig. 3), we repeated the analysis for a second period of 10 days from June 2014 (Fig. 4). The differences between corresponding model parameters are only marginal. No indication for a time dependence could be detected.

In order to extend the search for a receiver dependence of the BeiDou code pseudorange variations, we examined two more receiver types, namely Javad TRE_G3T SIGMA and Leica GR25. The Javad receiver measurements were performed at TU Dresden lasting several days (DoY 191–199/2013). The Leica data originate from two European IGS stations (GRAC and WROC, DoY 280–289/2014). Since all these additional measurements were performed in Europe, we could only produce and compare code variations of MEO satellites. Furthermore, both additional receiver types provide B1 and B2 but no B3 measurements. Comparing the elevation-dependent MP models of four different receiver brands (Fig. 5) reveals an excellent agreement of all models. No receiver dependence is found.

Fig. 5
figure 5

Elevation-dependent MP models for MEO satellites and four receiver types: Trimble NetR9, Septentrio PolaRx4, Javad TRE_G3T SIGMA, and Leica GR25

Azimuth-dependent modeling

The elevation dependence of the observed code pseudorange variations indicates that their cause must be found in satellite signal processing or the satellite antenna. The question arises whether these effects are really just elevation-dependent or maybe also depend on the azimuths of the transmitted signals in the satellite coordinate system.

We thus calculated nadir angles and azimuth angles in the satellite fixed coordinate system (Xu 2007) for each MP value. The nadir angles vary from 0° to 8.7° for the IGSO satellites and from 0° to 13.2° for the lower orbiting MEO satellites. In order to achieve good observation coverage over the whole nadir angle and azimuth angle ranges, we combined MP values of 10 days (DoY 070–079 in 2014), several stations, and all satellites of the same group into one model. We restricted our computations to Trimble receivers since only these receivers provide triple-frequency measurements.

The observation coverage is excellent for the MEO group with nine contributing stations and four satellites. But, only three East Asian and Australian Trimble receivers could be used to process observations of the five IGSO satellites. Here, the coverage is still good but not complete (Fig. 6).

Fig. 6
figure 6

Observation coverage in satellite azimuth and nadir angle for IGSO and MEO satellites. 10 days of observations (DoY 070–079 in 2014); each color represents one satellite; the labeled nadir angles correspond to elevations of 90°, 75°, 45°, 15°, and 0°

The biases in the MP time series were modeled based on a spherical harmonic expansion with coefficients up to degree eight and order five, which corresponds to 68 parameters to be estimated. Such models were estimated for each of the three frequencies and for the two groups of satellites (Fig. 7). None of the models reveals significant azimuth dependence. Some azimuth-dependent variations are visible for the IGSO group and larger nadir angles. This may be caused by local multipath effects at the few participating stations. The MEO B1 model is slightly eccentric at nadir. But, even this deviation is so small that it does not justify rejecting the fairly simple elevation-dependent modeling and substituting it by a much more complex model.

Fig. 7
figure 7

Nadir–azimuth-dependent model values for IGSO and MEO satellites and the three frequencies B1, B2, and B3; gray areas indicate observation gaps

Correction model

Based on the conclusions reached so far, we computed sets of model parameters for BeiDou code measurements with the following characteristics:

  • elevation-dependent piecewise linear models for elevation range from 0° to 90°, node separation 10°,

  • two groups of satellites corresponding to their orbit types: MEO and IGSO,

  • individual models for B1, B2, and B3.

The final model parameters as presented in Table 1 and Fig. 8 are weighted averages from model parameters of two 10-day periods (DoY 070–079/2014, 160–169/2014) and 17 stations for MEO and three stations for IGSO satellites (Fig. 2), all stations equipped with Trimble or Septentrio receivers. Correction values between the given nodes can be obtained by linear interpolation. The corrections are defined in such a way that they have to be added to the original code pseudorange measurements in order to remove the variations.

Table 1 Elevation-dependent correction values for BeiDou code measurements based on the analysis of 20 days of observations from selected MGEX stations
Fig. 8
figure 8

Elevation-dependent correction values for BeiDou code observations as listed in Table 1

It has to be emphasized that an absolute determination of the correction models is not feasible due to the ambiguous carrier phase observations and unknown signal delays. In order to compensate this shortcoming, we determined the model parameters in such a way that the averages of all applied corrections are zero. This, however, is a somewhat arbitrary absolute level, and the corrections will affect the differential code biases (DCB) and the fractional-cycle biases (FCB) which are essential for ambiguity fixing in PPP. As a consequence, every manipulation of the BeiDou code measurements with the suggested corrections must be well documented and communicated.

Application of correction model

In order to prove the successful correction of the BeiDou code measurements, we show four examples of code–carrier combinations before and after application of the model parameters of Table 1.

The first example refers to Fig. 1 and the BeiDou MP values of a MEO satellite pass. Figure 9 (left panel) shows again the strong systematic effects which result in elevation-dependent variations of more than 1 m. After application of the corrections, no biases are left and the MP time series shows the typical elevation-dependent variations which are mainly caused by code multipath in the vicinity of the receiving antenna and which are smallest for high elevations and largest for the rising or setting satellite.

Fig. 9
figure 9

MP values of a BeiDou MEO satellite pass for uncorrected and corrected B1 measurements

Often, MP time series are evaluated in such a way that RMS values are calculated for elevation angle ranges, e.g., bins of 1°. This condensed MP information can be used to compare the quality of code measurements among the various signal and tracking types and also among the different receiver types and stations. The upper panels of Fig. 10 demonstrate what happens when the systematic effects in the BeiDou code measurements are not removed prior to the RMS value computation. The biases produce large RMS values at higher elevation angles which lead to misinterpretations of the RMS curves. Only after the correction of the BeiDou code measurements, the RMS curves are suitable for the interpretation of code multipath sensitivity and code noise.

Fig. 10
figure 10

RMS of MP values as a function of elevation angle. The upper panels compare uncorrected and corrected BeiDou code measurements. The lower panel shows various signals: GPS (L1, L2, L5), GLONASS (G1, G2), Galileo (E1, E5a, E5b, E5), and corrected BeiDou (B1, B2, B3). Results are based on Trimble NetR9 observations at station DLF1, DoY 070–079/2014

When we compare the RMS curves for all signals tracked by a Trimble NetR9 receiver (lower panel of Fig. 10), we find out that the BeiDou code qualities are comparable to those of GPS. The GLONASS tracking quality is slightly worse with this receiver type, whereas the Galileo E5 signal, the combined tracking of Galileo E5a and E5b, shows the best results.

Absolute GNSS positioning techniques which use code measurements to produce coordinates of one to a few meters accuracy are affected by the elevation-dependent code biases described above. Their correction, however, does not really yield noticeable accuracy improvements. The dominating errors originate from broadcast orbits, ionosphere, or code multipath, and they obscure the positive effects of our corrections.

But, GNSS code measurements also play an important role in several precise positioning techniques at centimeter level. The following two examples refer to PPP. Here, the so-called Melbourne–Wübbena linear combination (MW) of dual-frequency code and carrier phase measurements, which was originally proposed by Hatch (1982), serves for fixing the widelane ambiguity. Using code measurement C (m) and carrier phase measurements φ (cy) at frequencies i and j, the linear combination MW is formed by

$${\text{MW}}_{ij} = \frac{{\lambda_{j} }}{{\lambda_{i} + \lambda_{j} }}C_{i} + \frac{{\lambda_{i} }}{{\lambda_{i} + \lambda_{j} }}C_{j} - \lambda_{W} (\varphi_{i} - \varphi_{j} )$$
(3)

with the widelane wavelength

$$\lambda_{W} = \frac{{\lambda_{i} \cdot \lambda_{j} }}{{\lambda_{i} - \lambda_{j} }}$$
(4)

being computed from the signal wavelengths λ i and λ j . The linear factors are selected in such a way that ionospheric and tropospheric delays and all geometric contributions (clocks, orbits, and antenna movements) cancel out. MW observations contain the widelane ambiguity, and they are used to determine it and fix it to integer values. In PPP, the fixing requires the correction of the MW values by fractional-cycle biases (FCB) in order to remove satellite-induced delay differences between the different measurements (Geng et al. 2012).

MW function values calculated from uncorrected BeiDou measurement reveal strong systematic variations in time with amplitudes of more than half a widelane cycle (Fig. 11) which prevents precise ambiguity determination and successful ambiguity fixing. After application of the code corrections, these elevation-dependent biases have disappeared.

Fig. 11
figure 11

Example of Melbourne–Wübbena (MW) linear combination for BeiDou B1–B2. The observation data originate from station JFNG, DoY 129–130/2014

Another important linear combination of code and carrier phase measurements is its single-frequency ionosphere-free combination (Choy 2011):

$$\varphi_{0} = \frac{{C_{i} + \lambda_{i} \cdot \varphi_{i} }}{2}$$
(5)

This combination exploits the fact that GNSS code and carrier phase are affected by the same amount of first order ionospheric effects but with opposite signs (code delay and phase advance) so that their average values form an ionosphere-free linear combination. In PPP estimation, φ 0 is treated as a carrier phase measurement with half wavelength ambiguity and a very high noise level. GEO satellites do not contribute to such a PPP solution with float (unfixed) ambiguities, so that only BeiDou MEO and IGSO satellites can be used.

We computed single-frequency positions for the static receiver GMSD, Nakatane, Japan, for seven consecutive 24 h time periods. The precise BeiDou orbit products of German Research Center for Geosciences (GFZ), Potsdam, were used. The data processing was performed with the first author’s PPP processing engine WaPPP. Convergence times from 4 to 24 h of observations were calculated (Fig. 12). With shorter observation times, coordinate errors are much larger and are not shown in the figure.

Fig. 12
figure 12

Coordinate convergence with single-frequency BeiDou PPP and increasing observation time span. The 7 days of observation data were collected by a Trimble NetR9 receiver at station GMSD, DoY 243–249/2014

Even with a sparse BeiDou constellation of just three MEO and five IGSO satellites in August/September 2014, single-frequency PPP is able to yield coordinate results with a repeatability of a few centimeters horizontally and more than 10 cm in vertical direction after 24 h of measurements. But in comparison with ground truth from dual-frequency PPP, a very strong systematic effect of about 1 m is found in the height component. The horizontal components do not show such biases. After application of the BeiDou code corrections, the systematic bias has almost completely disappeared. A remaining bias of 9 cm in vertical direction may be explained with local code multipath effects. RMS values after 24 h of observations are as small as 1.6/3.0/16.3 cm in north/east/up.

Conclusion

BeiDou code measurements are affected by elevation-dependent biases larger than 1 m. We identified two groups of BeiDou satellites (MEO and IGSO) whose signals are influenced in a similar way. No dependences of these code biases on receiver type, time of observation, or satellite azimuth could be found. We determined frequency-dependent corrections from the observation data of a set of globally distributed receivers. The application of these corrections successfully cures this deficiency.