Introduction

The Chinese BeiDou Navigation Satellite System (abbreviated as BDS, referred to as COMPASS previously) is currently providing continuous positioning, navigation, and timing (PNT) services to most areas of the Asian-Pacific. As of June 2017, BDS consists of 14 satellites providing PNT services, three satellites in medium earth orbits (MEO), six satellites in inclined geostationary orbits (IGSO), and five satellites in geostationary orbits (GEO) (CSNO 2013, Li et al. 2015). These satellites are all transmitting triple-frequency signals centered at B1(1561.098 MHz), B2 (1207.14 MHz), and B3 (1268.52 MHz).

It is well known that GNSS signals are affected by various bias such as Inter-frequency bias, code bias and inter-system bias (Montenbruck et al. 2013; Zhao et al. 2013; Li et al. 2015; Geng et al. 2016; Liu et al. 2017). When it comes to the characteristics of BDS signals, the BDS code bias was mentioned firstly by Hauschild et al. (2012). The same systematic variations were also detected by Perello Gisbert et al. (2012) and more details were presented by Montenbruck et al. (2012, 2013). In their publications, such code-phase divergences (code bias variations) have been characterized as orbit type-, frequency-, and elevation-dependent. Since these code bias variations put code-phase divergences of more than 1 m, they can severely affect precise applications using code observations. Zhang et al. (2017) analyzed the originate characteristic of code bias in BDS MW-defined combination and concluded that the origin of errors may from transmitting satellite sides for IGSO and MEO satellites, and the biases for GEO satellites originate from both ground- and satellite sides, mainly from ground multipath. Wanninger and Beer (2015) proposed an elevation-dependent correction model for BDS IGSO and MEO satellites, which is an important contribution to the current BDS constellation. However, observations from two 10-day intervals for modeling these variations are rare. The long-term stability of the systematic biases could not be identified conclusively from such a limited data set. Guo et al. (2016) also proposed another modified correction model for BDS IGSO and MEO satellites considering the stochastic model. Results indicate that PPP solutions with the improved model outperform the traditional one (Wanninger and Beer 2015) in terms of positioning accuracy and convergence speed. Wang et al. (2015) proposed a correction method for GEO satellites by correcting the observables with a low-frequency multipath of the previous day, which mitigate the multipath of GEO satellites. Lou et al. (2016) presented an assessment of code bias variations in BDS triple-frequency signals and the ambiguity resolutions, which further illustrated its influence on the ambiguity resolution. Wang et al. (2017) achieved BDS/GPS PPP ambiguity resolution after the code bias correction of IGSO/MEO satellites and results confirmed that the correction of the code bias will improve the fixing rate of undifferenced BDS ambiguity resolution. At present, most studies about code bias are limited on BDS IGSO and MEO satellite since it is hard to use elevation-dependent correction model to correct the code bias of GEO satellites which stay relatively static position to observer. The traditional elevation-dependent model parameters were presented for different groups of satellites and ignored the differences of the bias among the different satellites, which also decrease the correction effect.

In this paper, we proposed periodical correction method to mitigate the code bias for each GEO, IGSO and MEO satellite. The auto-correlation of MP series over long periods is analyzed to obtain the periods of the dominant repeating components for three types of BDS satellites. Then, the low-frequency component of multipath (MP) combination series is extracted using a zero phase-shift low-pass filter and applied to help minimize this error based on the repetition of code bias. Meanwhile, the multipath from ground stations is also mitigated. Finally, its PNT applications such as Single Point Positioning (SPP), wide-lane (WL) ambiguity and Uncalibrated Phase Delays (UPDs) estimation are presented to validate the correction methods.

Observation data sets

All observation data sets used in this study were collected from the International Global Navigation Satellite System (GNSS) Monitoring and Assessment System (iGMAS, Chen et al. 2015) and Multi-GNSS Experiment (MGEX, Montenbruck et al. 2014) stations. As of June 2017, the MGEX offers a global network of approximately 80 stations of GNSS receivers capable to receive BDS signals. Most of these stations are equipped with Trimble NetR9 receivers providing triple-frequency BDS observations. Only a few stations are equipped with other receiver types of receivers, such as Septentrio POLARX4/ POLARX4TR/ASTERX3 and Leica GR25 receivers, providing dual-frequency observations on frequencies B1 and B2.

As shown in the Fig. 1, observations of 50 GNSS ground stations are were used as the core data sets for this study, including 15 of iGMAS and 35 MGEX stations. The observations period is from May 1 to June 1, 2015. The observation sample rate is 30 s. All these stations can obtain the BDS observation simultaneous and continuously.

Fig. 1
figure 1

Distribution of GNSS ground stations, used for this study. The blue points refer to MGEX stations, red points to iGMAS stations

Methods

Analysis of MP time series

MP combination

BDS code bias can be analyzed through a combination of code observations and carrier phase observations called Multipath (MP) combination. Providing dual- or triple-frequency GNSS observations, multipath effects and code bias are commonly assessed by this linear combination (de Bakker et al. 2012), the specific formula is described as follow:

$$ {MP}_i={P}_i+\left({\mathrm{m}}_{ijk}-1\right)\cdot {\phi}_i-{\mathrm{m}}_{ijk}{\phi}_j-B\kern0.5em $$
(1)

where \( {\mathrm{m}}_{ijk}=\frac{{\lambda_i}^2+{\lambda_j}^2}{{\lambda_i}^2-{\lambda_k}^2} \); the subscripts i, j and k are used to denote different frequencies and MP i is the MP combination on frequency i; P and ϕ represent code observations and carrier phase observations; is the wavelength of the specific signal; B refers to the ambiguity of phase observations and hardware delays. Usually, the multipath of phase observations is ignored. The subtraction of the mean value from the measurements removes the phase ambiguities and combined hardware delay, which contains integer characteristic if no cycle slip happens. The linear factors are selected to cancel out the ionospheric and tropospheric delays and all geometric contributions (clocks, orbits, and antenna movements). The resulting time series of MP combination of BDS satellites mainly reflect multipath effects, tracking noise and code bias of the code observations.

Shown in the Fig. 2 are the MP series of BDS GEO (C01), IGSO (C06) and MEO (C14) satellites on three different frequency bands (B1, B2 and B3). Different colors indicate the different frequency bands and the black line refers to elevation angle. The observation data were collected on CUT0 station with a Trimble Net R9 receiver on May 1st, 2015. As can be seen, the systematic biases of BDS IGSO and MEO satellites are double-peak and single-peak types, respectively. The elevation-dependent code biases can be obviously identified in the MP series of IGSO and MEO satellite on B1, B2 and B3 frequencies. However, the relationship between code biases and elevation angles for GEO satellites is not obvious because GEO satellites are designed as geostationary theoretically and the elevation angles are almost stable over the time. The frequent fluctuations are found for the MP series of BDS GEO satellites as the result of effect of code bias from both satellite side and ground side. It also can be noted that systematic bias has a more serious effect on the MP values for B1 and B2 frequencies than B3.

Fig. 2
figure 2

MP series for the BDS satellites on B1 (red), B2 (blue) and B3 (green) frequencies at the CUT0 station on March 1, 2016

Correlation analysis for BDS MP series

The geometry between BDS satellites and a specific receiver-reflector location repeats every few days, which may lead to the same pattern in code bias for consecutive days. Taking GEO satellites as an example, the elevation angles of GEO satellites fluctuate degrees because of various perturbations such as solar radiation, daily variations (Zhang et al. 2013) and repeat every sidereal day. At the same time, similar fluctuation can be found for MP series and there is significant consistency for MP series between the adjacent 2 days (Wang et al. 2015). It has been confirmed that the repetition of satellite geometry is about a sidereal day for GEO and IGSO satellites, but approximately seven sidereal days for MEO satellites (Ye et al. 2015). To determine the optimal lag and analyze the correlation of code bias between different days for three types of BDS satellites, an auto-correlation analysis was performed on the 10-day period low-frequency components of MP time series for each GEO and IGSO satellite, while 30-day period for each MEO satellite.

A zero phase-shift low-pass filter was used to extract the low-frequency components of MP series. With the high-frequency components separated, the low-frequency components can reflect the characteristic of systematic variations more clearly. The filter with window sizes of 4 h are employed in our experiment to obtain the low-frequency components.

Figure 3 show the normalized auto-correlation values of the MP series on B1, B2 and B3 frequencies. Observation data originate from station CUT0, from May 1 to 30, 2015. The results of C05 satellite are not shown in the figure due to the lack of observations. For GEO and IGSO satellites, the peaks reoccur every day, which is consistent with different satellites and different frequencies. It confirms that the high similarity exists between low-frequency components of MP series for two consecutive days. For MEO satellites, the peak values reoccur every 7 days during the 30-day period, which means the repetition period of MP series for MEO satellite is nearly 7 days.

Fig. 3
figure 3

Auto-correlations of 10-day period (DOY 121–130) MP series for GEO. and IGSO satellites and 30-day period (DOY 121–150) for MEO satellites at station CUT0

To assess the degree of similarity between MP time series of several consecutive days, we search for the maximum autocorrelation of MP series. The peak values of auto-correlation for MP series at station CUT0 as well as their corresponding lags are listed in Table 1. The autocorrelation peaks listed in the table range from 0.5803 to 0.8496. For most MP series, the autocorrelation peaks are larger than 0.7, which indicate a high correlation between consecutive days. For GEO and IGSO satellites, the optimal lag is nearly one sidereal day (86,160 s) while the lag for each MEO satellite is seven sidereal days (603,120 s).

Table 1 Peak auto-correlation values and corresponding lags for GEO, IGSO and MEO satellites at station CUT0

Code bias periodical mitigation

Once we have determined the optimal lag of three types of BDS satellites, the low-frequency components extracted by using a low-pass filter is applied to minimize the code bias of BDS satellites. Considering that the periodicity of code bias for GEO and IGSO satellites is one sidereal day and seven sidereal days for MEO satellites, the low-frequency components are then applied by subtracting these residuals from the processed code observations at the corresponding epoch. Figure 4 shows the correction result of MP series for BDS GEO (C01), IGSO (C06) and MEO (C11) satellites on B1, B2 and B3 frequencies. The data are observed at the CUT0 ground station from May 1 to 10, 2015 (DOY 121–130). The ‘uncorrected’ represents the original multipath series which is indicated by the blue curves, ‘corrected’ represents the residuals after subtracting the low-frequency components from the original multipath series, which is shown as green curves. For GEO and IGSO satellites, the left figures are the result of DOY 121 and its low-frequency components are taken as the corrections for DOY 122 shown in the right figures. For MEO satellite, the low-frequency components from the first day (DOY 121) is then applied by subtracting these residuals from the MP time series of DOY 127. As show in the figure, after the correction, the systematic variations have been greatly removed for BDS satellites and the resulting MP series run much more stable. The daily fluctuations of GEO satellites are not obvious even negligible and the noise level of multipath is significantly weaken. As expected, the series of the corrected day is more stable than their original series. Moreover, the root mean square (RMS) of MP time series for BDS satellites at station CUT0 was also calculated before and after the code bias correction (Fig. 5 and Table 2). The RMS values of MP time series significantly decrease after the low-frequency components of the previous days are removed from the raw time series. The RMS of original MP series on B1, B2 and B3 frequencies are 0.65 m, 0.53 m and 0.34 m, after the code bias correction, the RMS values decrease to 0.5 m, 0.35 m and 0.3 m, with an improvement of 23.1%, 33.9% and 11.8%.

Fig. 4
figure 4

Correction results of MP series for GEO (C01, top), IGSO (C06, middle) and MEO (C11, bottom) satellites on B1, B2 and B3 frequencies. The blue curves represent the uncorrected results while green curves for corrected results

Fig. 5
figure 5

The RMS of MP time series for BDS satellites at station CUT0 before and after the code bias correction. The uncorrected and corrected results are shown by blue and red bars, respectively

Table 2 The RMS values of MP series for BDS satellites before and after the code bias correction at station CUT0

To compare the corrected results with traditional correction model (Wanninger and Beer, 2015), we further calculated the RMS values of MP time series for BDS IGSO and MEO satellites at stations GMSD and SIN1 with two correction schemes. The GEO satellites are excluded since the traditional correction model is only applied to IGSO and MEO satellites. The results of uncorrected MP series are also provided for reference. As shown in the Fig. 6, comparing the two correction methods, the RMS values of “periodical correction” are better than those of “model correction” for most satellites, with an improvement of 8.9%, 11.7% and 13.5%.

Fig. 6
figure 6

The RMS of MP time series for BDS satellites at station GMSD (left) and SIN1 (right) before and after the code bias correction. The uncorrected results are shown by blue bars. The results of model correction and periodical correction are shown by green and red bars, respectively

Results

SPP result

To test the validation of proposed correction methods, single point positioning (SPP) was conducted since the code observations were used to obtain the positioning results. The processing strategies for SPP are as summarized:

In the first scheme, the original code observations are used without the code bias correction. In the second scheme, the code biases of BDS satellites are corrected by periodical correction method using low-pass filter. For brevity, “Uncorrected” and “Corrected” are used to denote the above-mentioned two different schemes throughout the rest of this article, if there is no additional explanation.

To validate the corrections and allow for comparisons, observations collected at 10 ground stations (CUT0、JFNG、GMSD、SIN1、SEYG、WROC、MAYG、REDU、REUN and KOUR) are used for SPP. The observation data are observed on May 2, 2015. The root mean square (RMS) of the coordinates bias, which is an important internal precision indicator of SPP, was calculated and shown in Table 3. It can be seen from the statistics in Table 3, after the code bias correction, the RMS of coordinate bias has been improved for all stations and the improvements are more significant for the U components. For clarity, the improvement of positioning precision in the vertical direction is shown in the Fig. 7. We analyze the results of 10 stations and calculate the final positioning precision on north, east and vertical direction is summarized in Table 4. In general, the accuracy of SPP results is improved, the improvements are more significant for the U components decrease by 0.42 m, and by 0.28 and 0.1 m in N/E direction, respectively. There is an obvious improvement in CUT0 station on May 2, 2015, with RMS decreased by 1.2 m, 0.5 m and 0.2 m on east, north and vertical direction (Fig. 8).

Table 3 RMS of coordinate bias of 10 stations before and after the code bias correction (unit: m)
Fig. 7
figure 7

RMS of coordinate bias on the vertical direction before and after the code bias correction for 10 stations

Table 4 The average RMS of coordinate bias before and after the code bias correction (unit: m)
Fig. 8
figure 8

Coordinate bias of SPP result on east, north and vertical direction before and after the code bias correction. The observation data originate from station CUT0, on May 2, 2015

MW combination

The so-called Melbourne-Wübbena (MW, Melbourne 1985; Wübbena 1985) linear combination, was derived from B1/B2 dual-frequency code and carrier phase measurements. The geometrical terms, such as geometry range, clocks and tropospheric delay, and first-order ionospheric delay, are eliminated for MW combinations. The residual terms refer to observable noise, multipath, and the WL ambiguity with combined hardware delays. For BDS satellites, the code bias also existed in the MW combination and will lead to the WL ambiguity far away from an integer.

Figure 9 shows the MW combination series of representative GEO (C01), IGSO (C06) and MEO (C14) satellites in whole arc before and after the code bias correction. As shown in the Figure, for IGSO and MEO satellites, the MW values derived from original code observations reveal strong systematic variations with amplitudes of half a wide-lane cycles. Meanwhile, the original MW series for GEO satellite show obvious fluctuations, which also leads to wide-lane ambiguity hard to be fixed. After applying the code bias correction methods to three types of BDS satellites, the systematic variations are not obvious and the resulting MW time series become much more stable and closer to the zero.

Fig. 9
figure 9

MW combination of GEO, MEO and IGSO satellite before and after the code bias correction

Fig. 10
figure 10

The averaged undifferenced MW values for different types of BDS satellites versus time

We also calculated the averaged MW series to analyze the convergence time of MW time series. Data arcs of each satellite are split into several parts with a duration of 2 h. In every 2-h part, the averaged MW values versus time are calculated. Figure 10 shows the averaged undifferenced MW values of three different types of satellites (GEO:C01, IGSO:C06, MEO: C14) versus the time in 2 h. The observation data were collected at the GMSD station from May 1 to 2, 2015. To ensure the MW value can be fixed to the correct WL ambiguity, we choose 0.125 cycles as the convergent criterion for undifferenced MW values according to round-off criterion. As can be seen, each green line represents a result of a 2-h duration and red solid lines indicate the convergence criterion for undifferenced MW (− 0.125, 0.125). Each green line represents a result of a 2-h duration data. Red solid lines indicate the convergence criterion for undifferenced MW series (− 0.125, 0.125). The top sub-figure refers to “uncorrected” result while bottom sub-figure for “corrected” results. For the original MW values, almost all the solutions of GEO satellite and MEO satellite cannot converge to less than 0.125 cycles within 30 min, only two parts of IGSO satellite converge to the convergent criterions. The average values of the original MW series for these satellites distribute from 0.0 to 0.8 cycles, which are far away from the normal result. After the code bias correction, almost all the solutions of BDS satellites can converge to less than 0.125 cycles and the average values for duration are within 0.0 to 0.4 cycles after the initial few epochs.

Fig. 11
figure 11

Convergence time of the WL ambiguity of BDS satellites for station GMSD

In order to compare the convergence time for BDS WL ambiguity before and after the code bias correction, we split the observational data of GMSD station into several arcs and compute the averaged undifferenced MW values of every arc. If the number of the averaged undifferenced MW values for a satellite, which is less than the convergence criterion, is more than nine-tenths of the number of data parts, is regarded to be convergent. Figure 11 shows the convergence time of the MW value for BDS satellites. The original and corrected results are shown by blue and red bars, respectively. As can be seen, the convergence time of BDS undifferenced MW values ranges from 4 h to more than 10 h, which is much longer than that of GPS undifferenced MW values (usually less than 30 min). After the correction methods are employed, the convergence time of BDS undifferenced MW values is less 45 min.

UPD estimation

In the process of ambiguity resolution, we usually fix the WL ambiguities firstly, and then the narrow-lane (NL) ambiguities derived from the ionosphere-free ambiguity and fixed WL ambiguity can be resolved to integer values. However, due to the code bias of BDS observations, the float wide-lane ambiguity derived from MW observations may be far away from the expected value and lead to incorrect ambiguity resolution. To verify the effectiveness of our new correction method, the UPD estimation was applied before and after the code bias correction. The UPDs estimation method proposed by Li et al. (2013) was applied to generate the BDS WL UPD products. Datasets collected from 15 iGMAS stations and 10 MGEX stations located at Asia pacific region were used to generate the WL UPDs on B1 and B3 frequencies.

Figure 12 shows the usage rate of WL UPDs for BDS GEO, IGSO and MEO satellites before and after the code bias correction. The original and corrected results are shown by blue and red bars, respectively. As shown in the figure, the usage rate of original WL ambiguities ranges from 57.9 to 100% for individual satellite, and the average usage rate of all satellites is 86.2%. Once the code bias was corrected, the usage rate of most BDS satellites are improved and the whole usage rate ranges from 84.6 to 100%. The average usage rate of BDS WL ambiguities is also increased to 98.75%, respectively.

Fig. 12
figure 12

The usage rate of WL UPD before and after the code bias correction

The posteriori residuals of UPDs estimation, a representative of the fractional parts of the UPD-corrected ambiguities, provides an internal precision indicator for UPD estimation (Li et al. 2016). Figure 13 shows the residual distributions of BDS WL UPD solutions before and after the code bias correction. With the observations corrected, the distribution of residuals is much closer to a normal distribution than that of uncorrected ones. We also calculate the RMS of WL residuals for all BDS satellites before and after the code bias correction. The RMS of BDS WL residual is 0.0983 cycles while that of residuals is 0.059 cycles with the code bias corrected.

Fig. 13
figure 13

Residual distributions of WL UPD before and after code bias correction (left: uncorrected, right: corrected)

Discussion and conclusions

The code bias has been detected from observations of BDS satellites which have been verified to be orbit type-, frequency-, and elevation-dependent. Since these systematic biases can result in code-phase divergences of more than 1 m, they can severely affect precise applications using code observations.

A new correction method using low-pass filter is conducted to mitigate the code bias of BDS satellites. An auto-correlation is performed for each BDS satellite and demonstrate that the optimal lag of MP series for GEO and IGSO satellites is 86,160 s and 603,120 s for MEO satellites, respectively. The low-frequency component of the follow-up epoch extracted by low-pass filtering is applied to minimize the code bias of BDS observation data and finally improves the accuracy of the MP time series. The RMS of original MP series on B1, B2 and B3 frequencies are 0.65 m, 0.53 m and 0.34 m, respectively, after the code bias correction, the RMS decreases to 0.5 m, 0.35 m and 0.3 m, respectively, with an improvement of 23.1%, 33.9% and 11.8%. Comparing the traditional model correction, there are obvious improvements using our models, the improvements are 8.9%, 11.7% and 13.5% on B1, B2 and B3 frequencies, respectively.

SPP tests were conducted to verify the effectiveness of the correction methods first. With the code bias corrected, the accuracy of SPP results is improved, the improvements are more significant for the vertical component decreased by 0.42 m, and by 0.28 and 0.1 m in north and east direction. For MW combination, after applying the code bias correction, the systematic variations have been greatly removed, and the resulting MW series run much more stable and closer to the zero. Furthermore, the convergence time of BDS undifferenced MW values is less 45 min, which is much shorter than that of original undifferenced MW values (more than 10 h). Moreover, with the observations corrected, the average usage rate of UPDs estimation is increased from 86.2 to 98.75%. And the distribution of residuals is much closer to a normal distribution than that of the uncorrected ones. The RMS of BDS WL residuals is 0.0983 cycles while the residuals is 0.059 cycles with the code bias corrected. The correction of the BDS code bias can also shorten the convergence time of PPP, and has the potential to improve the BDS ionosphere-free ambiguity resolution, which need to be studied in future.