The ionosphere is a dynamic region of the earth’s atmosphere where conditions change diurnally and seasonally, particularly with reference to changes in space weather and geographical location. Total Electron Content (TEC) is an important parameter for understanding the spatial and temporal structures and variability of the ionosphere. TEC can be understood as the line integral of the electron density along the path of a radio signal. Since the launch of the Global Navigation Satellite System (GNSS), global coverage of the ionosphere has become a reality. Dual-frequency GNSS signals have been widely used to monitor and model the TEC across the globe (Jakowski et al. 2002). Precise ionospheric TEC can be derived from dual-frequency GNSS carrier phase and pseudorange measurements. However, inter-frequency satellite and receiver differential delay biases (IFBs) are the main errors that cannot be ignored for precise TEC calculation. These biases are also known as differential code biases (DCB). Previous studies show that DCBs are present due to the delays caused by the analog hardware of satellite and receiver and are instrumental (Lanyi and Roth 1988). Satellite and receiver DCBs combined could reach several tens of nanoseconds (ns) or approximately up to 100 TEC units (TECU); therefore, from GNSS measurements, DCBs must be removed for both satellite and receiver for precise positioning and accurate TEC calculation. Satellite and receiver DCBs are assumed to be constant for a given time period, typically up to three days (Brunini et al. 2005).

Receiver DCB for a single station can typically be calculated by using polynomial of coordinates in solar-terrestrial reference system by the observations from a linear system of equations that is solved by least squares method for the polynomial coefficients and unknown biases (Lanyi and Roth 1988). Another widely used method to calculate a single station DCB is the method of minimization of the standard deviation of vertical TEC (VTEC) (Ma and Maruyama 2003). Apart from these commonly known methods, several other methods for GNSS DCB estimates using multi-frequency observations have been designed (Schaer 1999; Wang et al. 2016; Su et al. 2019). These methods successfully used various approaches to solve for the station DCB such as by setting the DCB as a constant during the TEC estimation or by decreasing the computation costs by using GIM (global ionospheric maps). Furthermore, several other techniques that help optimize the DCB estimation have been adopted such as optimization on DCB estimation based on regional or single station ionospheric modeling (Brunini and Azpilicueta 2010; Nie et al. 2018). However, all these methods come with some fundamental assumptions, for example, the single-layer TEC model, the assumption that the satellite and receiver DCBs remain constant for some days, and a Lagrange multiplier to separate the satellite and receiver DCBs generally called ‘zero-mean constraint’ etc. Using various methods mentioned above, several research institutes provide satellite and receiver DCB estimates in the form of IONEX (Ionosphere Map Exchange Format) file format. However, different DCB calculations provided from various institutes are not always in agreement with each other (Brunini et al. 2005). It is therefore understood that DCB estimation suffers similar shortcomings to TEC assumptions which are generally present in most of the sources through which we get the satellite and receiver biases.

We have proposed a simple technique for the computation of single station receiver DCB. The technique uses the model of STEC computed from the difference in GPS observables and does not depend on any of the assumptions made in previous works such as the use of TEC thin shell model, zero-mean constraint or requiring any external data such as GIM maps to help aid the DCB estimation process. The accuracy of DCB estimates is evaluated by the Chinese Academy of Sciences IONEX data files. In the next sections, a brief about the GNSS TEC calculation model is presented. ‘Data’ section presents the data sources used for the application and analysis of the proposed technique followed by the description of the proposed technique in the section ‘DCB Calculation’. Performance of the technique is analyzed under ‘Results and Analysis’ section before concluding the paper with a brief summary and future work in ‘Summary and Conclusion’ section.

### GNSS TEC model

Pseudorange measurements from dual-frequency GNSS receivers can be performed using time delay of GNSS signals at two different frequencies (Leick 2004). For dual-frequency GPS receivers, pseudorange measurements, P1 and P2, and carrier phase measurements, L1 and L2, are calculated at frequencies f1 (1.575 GHz) and f2 (1.227 GHz), respectively. The standard model for pseudorange and carrier phase measurements at f1 and f2 is:

$$P_{{\text{i,r}}}^{{\text{s}}} = R_{{\text{r}}}^{{\text{s}}} + c\left( {\delta t_{r} - \delta t_{{\text{s}}} } \right) + d_{{{\text{trop}}, {\text{r}}}}^{{\text{s}}} + d_{{{\text{ion}},{\text{i,r}}}}^{{\text{s}}} + c\left( {{\text{DCB}}_{{\text{r}}} + {\text{DCB}}^{{\text{s}}} } \right)$$

(1)

$$L_{{\text{i,r}}}^{{\text{s}}} = \lambda_{i} \phi_{{\text{i,r}}}^{{\text{s}}} = R_{{\text{r}}}^{{\text{s}}} + c\left( {\delta t_{{\text{r}}} - \delta t^{{\text{s}}} } \right) + \lambda_{i} \phi_{{{\text{ion}},{\text{i, r}}}}^{{\text{s}}} + \lambda_{i} \phi_{{{\text{trop}}, {\text{r}}}}^{{\text{s}}} - c\left( {{\text{DCB}}_{{\text{r}}} + {\text{DCB}}^{{\text{s}}} } \right) + \lambda_{{\text{i}}} N_{{\text{i}}}^{{\text{s}}}$$

(2)

where ‘*i*’ denotes the index for frequency, ‘*r*’ is receiver index, ‘*s*’ is satellite index, ‘*R*’ is the actual range between satellite and receiver, ‘\({\uplambda }\)’ and ‘\(\phi\)’ are wavelength and phase delay, respectively, \(^{\prime}\delta t_{{\text{r}}} ^{\prime}\) and ‘\(\delta t_{{\text{s}}}\)’ are the clock errors for the receiver and satellite, respectively, ‘\(d_{{{\text{trop}},{\text{r}}}}^{{\text{s}}}\)’ and ‘\(d_{{{\text{ion}},{\text{i}},{\text{r}}}}^{{\text{s}}}\)’ are the troposphere and ionosphere group delays, respectively, ‘\({\text{DCB}}_{{\text{r}}}\)’ and ‘\({\text{DCB}}^{{\text{s}}}\)’ are the frequency-dependent receiver and satellite differential code biases, respectively, and ‘*N*’ is the initial phase ambiguity. The STEC using code and phase delay observations can be obtained by using the geometry-free linear combination by ignoring the higher order effects of the ionosphere as follows:

$$P_{I} = 40.3\left( {\frac{{f_{1}^{2} - f_{2}^{2} }}{{f_{1}^{2} *f_{2}^{2} }}} \right) {\text{STEC}}_{{\text{r}}}^{{\text{s}}} - c\left( {{\text{DCB}}_{{\text{r}}} + {\text{DCB}}^{{\text{s}}} } \right)$$

(3)

$$L_{I} = 40.3\left( {\frac{{f_{1}^{2} - f_{2}^{2} }}{{f_{1}^{2} *f_{2}^{2} }}} \right){\text{ STEC}}_{{\text{r}}}^{{\text{s}}} - c\left( {{\text{DCB}}_{{\text{r}}} + {\text{DCB}}^{{\text{s}}} } \right) + \Delta N^{{\text{s}}}$$

(4)

where ‘\(P_{I}\)’ and ‘\(L_{I}\)’ are the ionospheric geometry free linear combinations for code and phase observations, respectively, ‘\({\text{STEC}}\)’ is slant total electron content between each satellite-to-receiver link. Although unlike code delay measurements, carrier phase measurements are less prone to measurement noise and multipath, they are biased by phase ambiguity (Mannucci et al. 1998). Carrier-to-code leveling algorithm (Ciraolo et al. 2007) is widely used to reduce the ambiguities from the carrier phase ionospheric observables. After obtaining ionospheric observables, as mentioned in (3) and (4), the average of the differences between them is computed for every continuous arc as:

$$\langle{L_{I} - P_{{I}}}\rangle_{\text{arc}} = \frac{1}{N} \mathop \sum \limits_{1}^{N} \left( {L_{I} - P_{I} } \right)$$

(5)

where ‘*N*’ is the number of continuous measurements contained in a single satellite-to-receiver arc. The subscript ‘arc’ refers to every continuous set of carrier phase observations between the receiver and a particular satellite (i.e., a group of consecutive observations along which the ambiguities on L1 and L2 do not change). Finally, to obtain the leveled STEC phase observations:

$$\tilde{L}_{{I,{\text{arc}}}} = L_{{I,{\text{arc}}}} -\langle{ L_{{I,{\text{arc}}}} - P_{{I}}\rangle}_{\text{arc}}$$

(6)

where ‘\(\tilde{L}_{{I,{\text{arc}}}}\)’ is the carrier phase ionospheric observable leveled to the code-delay ionospheric observable. This procedure is known as carrier-to-code levelling process. Using the above-mentioned carrier-to-code levelling processes, in this work, a simple technique is introduced which could help calculate the receiver DCB provided that the leveled STEC data from a baseline station is available. A detailed description of the proposed technique is given in the section DCB Calculation.

### Data

All the GNSS data including RINEX (Receiver Independent Exchange Format) and IONEX data used in this study has been acquired from NASA’s Crustal Dynamics Data Information System (CDDIS: https://cddis.nasa.gov/archive/gnss/) database. The data period used in this study is of the year 2019 since it is the low solar activity year. Only data from GPS constellation has been used in this work. Initially, we considered using data from 64 IGS stations from different latitudinal regions. However, since, we have only considered GPS P-code data in this work, the number of GNSS stations we ended up using in this work are 19. This gives us 11 different combinations with different baseline distances in pairs of GNSS stations with which we have tested our technique. Data observed on days with active geomagnetic conditions, that is, Dst < -50 nT and Kp > 3 have not been considered for analysis. The Dst index has been obtained from World Data Center (Kyoto et al. 2015) and Kp from GFZ Data Services (Matzka et al. 2021). The minimum elevation mask for GPS observations used in this work is 30°.