Introduction

Frequency stability is a key characteristic in modern satellite navigation (Frueholz 1996), radar (Sandenbergh and Inggs 2017; Sandenbergh et al. 2011) and communication systems (Baran and Kasal 2009), which affects the quality of the waveform generated by the local oscillator, and therefore directly dominates system performance. According to the timescale of interest, frequency stability breaks down into three categories in this research: (1) short-term stability, from 1 to 10 s; (2) medium-term stability, from 10 s to 1,000 s; and (3) long-term stability, for time periods greater than 1,000 s. In particular, the medium–long stability of an onboard LEO satellite clock affects not only its clock timekeeping ability after synchronization (Barnes 1966), but also the ranging accuracy over the convergence process of a LEO-augmented precise point positioning (PPP) or PPP-RTK service.

LEO satellites help the GNSS standard point positioning (SPP) service by improving the geometric configuration. Also, the rapid motion of LEO satellites could decrease the PPP convergence time. Real-time precise GNSS ephemerides and its own broadcast ephemeris are usually broadcasted to users. Good short-term stability and medium–long stability are both important for a fast-moving low earth orbit (LEO) navigation augmentation satellite (Meng et al. 2018). To broadcast an accurate signal that supports real-time SPP navigation augmentation service, one needs an Allan deviation (ADEV) (Barnes et al. 1971; Lesage and Audoin 1973, 1974) better than 7E-12 for observation time less than or equal to 1 s. This can be justified from the travel time measurement process between a satellite and its receiver (Leick et al. 2015). The range measurement error induced by the LEO satellite clock bias approximation \({\text{cdT}}_{{{\text{LEO}}}}^{s} (t - \tau )\) by \({\text{cdT}}_{{{\text{LEO}}}}^{s} (t)\) should less than \(\left. {c\sigma_{y} (\tau ) \times \tau } \right|_{\tau = 1\;s} \approx 3 \times 10^{8} \times 7 \times 10^{ - 12} \times 1 \approx 2\;mm\), where \(t\) is a specific GNSS system time, \(\tau\) is the signal travel time and \(\sigma_{y} (\tau )\) is its corresponding ADEV of the LEO satellite clock. A high-quality voltage-controlled crystal oscillator (VCXO) is able to meet this demand in normal conditions. Since enable LEO satellite-augmented service for rapid PPP needs a convergence time about 3–5 min (Li et al. 2018), medium–long stability is required to fluctuate no worse than 7E-12 in ADEV during the coverage time of a LEO satellite lasting about 1,000 s. Only if \(\mathop {\max }\limits_{{1\;{\text{s}} \le t_{2} - t_{1} \le 1,000\;{\text{s}}}} \left( {\sigma_{y} (t_{2} - t_{1} )} \right) \le \left( {0.002/3 \times 10^{8} \approx 7{\text{E}} - 12} \right)\), where \(t_{1}\) and \(t_{2}\) denote two different GNSS system time instants, the relative ranging errors between any two epochs within the LEO-augmented PPP convergent time interval would be limited within 2 mm for its user segment to prevent large time-dependent ranging errors. Nevertheless, the ADEV of a high-quality VCXO at 100–1,000-s interval lies in the 1E-11 order of magnitude and cannot satisfy the aforementioned medium–long-stability requirement in the LEO navigation augmentation satellite. The design goal is proposed for LEO satellite ranging measurement with 1 Hz epoch sampling rate. It is assumed that the timekeeping issue of the LEO satellite clock bias errors has been fixed with a LEO satellite clock bias model or product.

A satellite clock with poor medium–long-stability characteristic could lead to random phase jitters in the transmitted signal waveform and result in that the range measurements gradually drift apart from their truth values (Pratt et al. 2013). This kind of range measurement error can prevent PPP converging to the true positions and consequently degrade the PPP navigation augmentation performance. To meet the medium–long-stability design requirements of LEO navigation augmentation satellites, one could deploy space atomic clocks used by BDS satellites. However, the atomic clocks are too heavy and too costly to be used in the LEO satellites. Therefore, a crucial issue of LEO navigation augmentation satellite constellations is how to obtain a high medium–long-stability satellite clock using a disciplined oscillator to reduce satellite size, weight, power consumption and cost, instead of using a large, heavy and expensive space atomic clock.

To address this issue for LEO satellites that transmit GNSS navigation augmentation signals, we investigated several different GNSS oscillator discipline strategies. With a high-performance LEO GNSS receiver, whose onboard local clock ADEV is better than 7E-12 for 1-s time-averaging interval, the receiver's local oscillator can lock its frequency to the atomic clock frequency reference provided by the GNSS. Traditionally, the oscillator can be disciplined using clock biases (Cui et al. 2009), and the phase offsets between the one pulse per second (1PPS) signal recovered from the GNSS code observations and the 1PPS signal generated by the receiver oscillator are measured. Then, these phase offsets are used to synchronize the output phase of the receiver to the phase of signal broadcasted the GNSS satellites by a phase-locked loop (PLL). However, the code observations from coarse/acquisition (C/A) codes usually have a precision of 0.3 m (Wang and Rothacher 2013) and the clock biases are accurate only to nanoseconds, which are too coarse to support a frequency stability clock discipline at the level of 1E-12. Meanwhile, for the carrier phase measurements, the biased range measurements would have a precision of 0.003 m by cycle counting. Due to the biases in the carrier phase observations, 1PPS signal, in general, is not generated using the carrier phase measurements.

In this research, a high medium–long-stability GNSS oscillator discipline approach exploiting millimeter-level accuracy clock drifts derived from carrier phases is proposed for dual-frequency LEO users. In the first part, we present the dual-frequency precise clock drift estimation model for LEO users. In the second part, a receiver clock automatic discipline method based on a digital third-order FLL is proposed to periodically compensate the instantaneous frequency offsets of the user clock with respect to the GNSS clock. Then, a nonlinear frequency steering method is proposed to overcome the receiver lost lock problem during the oscillator discipline process. The third part is devoted to the validations. 10 MHz frequency data of static and dynamic disciplined clocks were compared to the 10 MHz ground truth from a VCH-1008 passive hydrogen maser. In the oscillator discipline of a LEO user case, the Spirent simulated data from a moving satellite at about 7.3 km/s were used. The LEO satellite has a dual-frequency GNSS receiver onboard. Some conclusions are given in the last part.

Real-time clock drift estimation model for LEO users

In this section, a real-time clock drift estimation model with millimeters per second-level accuracy is introduced for dual-frequency onboard oscillator disciplined LEO users. In order to obtain high-precision clock drift, the ionospheric error and tropospheric error in the one-way pseudorange and carrier phase measurements should be effectively eliminated. The ionospheric errors can be canceled out with the ionosphere-free (IF) linear combinations of dual-frequency pseudorange and carrier phase measurements (Leick et al. 2015; Hatch 1982). The tropospheric error is automatically excluded in a LEO situation since the orbit is much higher than the troposphere layer whose height is usually about 60 km above earth surface.

The Doppler model with millimeters per second-level accuracy is derived from the carrier phase measurement with 1–2 mm precision in the LEO onboard receiver as follows. The two transmitted frequencies of the GNSS satellite are corrected with their corresponding frequency offset corrections, which are available in the navigation messages. The instantaneous Doppler shift \(f_{Di}^{s}\), which is too noisy to be adopted to precisely estimate the LEO user clock drift, can be formed from its received frequency \(f_{Mi}^{s}\) as

$$f_{Di}^{s} = f_{Mi}^{s} - f_{Ti}^{s} ,\quad i = 1,2$$
(1)

where \(f_{Ti}^{s}\) is the actual transmitted frequency of the GNSS satellite \(s\) on the \(i{\text{th}},\;i = 1,2\), frequency. \(f_{Ti}^{s}\) and its nominal transmitted satellite frequency \(f_{i}\) are related by the formula

$$f_{Ti}^{s} = f_{i} \left[ {1 + (a_{f1} + 2a_{f2} \Delta t_{oc} )} \right],\quad i = 1,2$$
(2)

where \(a_{f1}\) is the satellite clock drift, \(a_{f2}\) is the satellite frequency drift and \(\Delta t_{{{\text{oc}}}}\) is the time interval between the current satellite time epoch and the current ephemeris reference time. The accurate carrier phase measurement \(\varphi_{i,r}^{s} (n)\) with about 1 mm (\(1\sigma\)) precision on frequency \(f_{Ti}^{s}\) can be form by integrating \(f_{Di}^{s}\) over the interval of an epoch as

$$\varphi_{i,r}^{s} (n) = \varphi_{i,r}^{s} (n - 1) + \int_{{t_{n - 1} }}^{{t_{n} }} {f_{Di}^{s} (\phi )d\phi } + \varphi_{i,PLL}^{s} (n),\quad i = 1,2$$
(3)

where \(t_{n}\) and \(t_{n - 1}\) are the time bounds of integration at two adjacent epochs and \(\varphi_{i,PLL}^{s} (n)\) is the integer plus fractional cycle amount from the moment the PLL gets into the stable state. As a consequence, more precise Doppler measurements can be formed.

First, the carrier phase cycle slips are detected and corrected. Then, the dual-frequency carrier phase measurements of GPS or BDS are converted to the IF carrier phase measurement to remove more than 99% of the ionospheric delay. In particular, the IF carrier phase measurement is given by

$$\varphi_{IF,r}^{s} (n) = \frac{{\left( {f_{T1}^{s} } \right)^{2} }}{{\left( {f_{T1}^{s} } \right)^{2} - \left( {f_{T2}^{s} } \right)^{2} }}\varphi_{{_{1} ,r}}^{s} (n) + \frac{{ - \left( {f_{T2}^{s} } \right)^{2} }}{{\left( {f_{T1}^{s} } \right)^{2} - \left( {f_{T2}^{s} } \right)^{2} }}\varphi_{{_{2} ,r}}^{s} (n)$$
(4)

whose IF wavelength \(\lambda_{{{\text{IF}}}} = c/(f_{T1}^{s} + f_{T2}^{s} )\). Finally, precise LEO user clock drifts can be estimated with precise Doppler measurements epoch by epoch. These precise Doppler measurements derived from carrier phase measurements can be as accurate as 1–2 mm per second. Theoretically, the instantaneous carrier phase-derived Doppler can be calculated from the first-order central difference and can be written as (Zhang et al. 2013)

$$D_{{{\text{IF}},r}}^{s} (n) = \frac{{\varphi_{{{\text{IF}},r}}^{s} (n + 1) - \varphi_{{{\text{IF}},r}}^{s} (n - 1)}}{{2T_{s} }}$$
(5)

where \(D_{IF,r}^{s} (n)\) denotes the IF carrier phase-derived Doppler at epoch n and \(T_{{\text{s}}}\) is the sampling interval of the carrier phase observation. However, this method needs future value of the carrier phase and could not be used in real-time LEO onboard clock tuning.

To overcome this drawback, we propose the following real-time carrier phase-derived Doppler estimation method for the onboard LEO users with a linear extrapolation technique. The estimation of \(D_{{{\text{IF}},r}}^{s} (n)\) is calculated in real-time based on the known values of \(\varphi_{{{\text{IF}},r}}^{s} (n)\), \(\varphi_{{{\text{IF}},r}}^{s} (n - 1)\) and \(\varphi_{{{\text{IF}},r}}^{s} (n - 2)\) with the following linear extrapolation formula.

$$\hat{D}_{{{\text{IF}},r}}^{s} (n) = \frac{1}{2}\left[ {3D_{{{\text{IF}},r}}^{s} (n - \frac{1}{2}) - D_{{{\text{IF}},r}}^{s} (n - \frac{3}{2})} \right]$$
(6)

where the values of \(D_{{{\text{IF}},r}}^{s} (n - 3/2)\) and \(D_{{{\text{IF}},r}}^{s} (n - 1/2)\) are known at the two sampling nodes \(n - 3/2\) and \(n - 1/2\). To calculate \(D_{{{\text{IF}},r}}^{s} (n - 3/2)\) and \(D_{{{\text{IF}},r}}^{s} (n - 1/2)\), the current and two preceding IF carrier phase measurements are utilized as

$$D_{{{\text{IF}},r}}^{s} (n - \frac{3}{2}) = \frac{{\varphi_{{{\text{IF}},r}}^{s} (n - 1) - \varphi_{{{\text{IF}},r}}^{s} (n - 2)}}{{T_{s} }}$$
(7)
$$D_{{{\text{IF}},r}}^{s} (n - \frac{1}{2}) = \frac{{\varphi_{{{\text{IF}},r}}^{s} (n) - \varphi_{{{\text{IF}},r}}^{s} (n - 1)}}{{T_{{\text{s}}} }}$$
(8)

The relative user–satellite motion velocity \(v_{{{\text{IF}},r}}^{s} (n)\) in meters per second can be estimated with \(\hat{D}_{{{\text{IF}},r}}^{s} (n)\) by

$$v_{{{\text{IF}},r}}^{s} (n) = - \hat{D}_{{{\text{IF}},r}}^{s} (n)$$
(9)

The instantaneous carrier phase-derived Doppler is related to the user (explicitly, the LEO satellite is the user) velocity and the GNSS satellite velocity. If instantaneous carrier phase-derived Doppler measurements from at least four satellites are given, the receiver velocity and clock drift can be estimated as follows.

$$v_{{{\text{IF}},r}}^{s} (n) = \left[ {v^{s} (n) - v_{r} (n)} \right]^{T} e_{r}^{s} (n) + \dot{d}_{{r,{\text{Sag}}}}^{s} (n) + cd\dot{t}_{r} (n) - cd\dot{T}^{s} (n) + \varepsilon_{{v{\text{,IF}}}}$$
(10)

where \(v^{s} (n) = \left[ {v_{x}^{s} (n),v_{y}^{s} (n),v_{z}^{s} (n)} \right]^{T}\) and \(v_{r} (n) = \left[ {v_{x,r} (n),v_{y,r} (n),v_{z,r} (n)} \right]^{T}\) are satellite and receiver velocities. \({cd}{{\dot T}^s}(n)\) and \({cd}{{\dot T}_r}(n)\) are instantaneous satellite and receiver clock drifts. The clock drift has the dimension of second/second, which is also referred to as dimensionless frequency. \(\varepsilon_{{v,{\text{IF}}}}\) is the relative user–satellite velocity measurement error. The unite vector that goes in the direction from the LEO user to the GNSS satellite can be written as

$$e_{r}^{s} (n) = \left[ {r^{s} (n) - r_{r} (n)} \right]/\left\| {r^{s} (n) - r_{r} (n)} \right\|_{2}$$
(11)

where \(r^{s} (n) = [x^{s} (n),y^{s} (n),z^{s} (n)]^{T}\) and \(r_{r} (n) = [x_{r} (n),y_{r} (n),z_{r} (n)]^{T}\) are satellite and receiver antenna phase center positions corresponding to the \(n\) epoch in the receiver. \(()^{T}\) and \(\left\| {} \right\|_{2}\) denote the transpose and the Euclidean norm. \(\dot{d}_{{r,{\text{Sag}}}}^{s} (n)\) is the Sagnac effect delay rate and can be derived from

$$\dot{d}_{{r,{\text{Sag}}}}^{s} (n) = \frac{{\omega_{e} }}{c}\left[ {v_{y}^{s} (n)x_{r} (n) + y^{s} (n)v_{x,r} (n) - v_{x}^{s} (n)y_{r} (n) - v_{y,r} (n)x^{s} (n)} \right]$$
(12)

where \(\omega_{e}\) denotes the earth rotation angular velocity. According to (10), the unknown \(v = {\left[ {{v_r}{{(n)}^T},cd{{{\dot T}}_r}(n)} \right]^T}\) can be estimated in matrix form

$$l = Hv + \varepsilon_{v}$$
(13)

where

$$H = \left[ {\begin{array}{*{20}c} { - e_{r}^{1} (n)^{T} } & 1 \\ { - e_{r}^{2} (n)^{T} } & 1 \\ \vdots & \vdots \\ { - e_{r}^{m} (n)^{T} } & 1 \\ \end{array} } \right]$$
(14)
$$l = \left[ {\begin{array}{*{20}c} {v_{IF,r}^{1} (n) - v^{1} (n)^{T} e_{r}^{1} (n) - \dot{d}_{{r,{\text{Sag}}}}^{1} (n) + cd\dot{T}^{1} } \\ {v_{IF,r}^{2} (n) - v^{2} (n)^{T} e_{r}^{2} (n) - \dot{d}_{{r,{\text{Sag}}}}^{2} (n) + cd\dot{T}^{2} } \\ \vdots \\ {v_{IF,r}^{m} (n) - v^{m} (n)^{T} e_{r}^{m} (n) - \dot{d}_{{r,{\text{Sag}}}}^{m} (n) + cd\dot{T}^{m} } \\ \end{array} } \right]$$
(15)

Equation (13) has the least-squares solution

$$v = (H^{T} H)^{ - 1} H^{T} l$$
(16)

With the above method, there is no time delay to calculate the instantaneous carrier phase-derived Doppler, compared to the first-order central difference method.

Receiver clock drift error budgets for GPS and BDS IF observables

Since the carrier phase measurement noise is very small, typically 1–2 mm, the instantaneous receiver clock drift \(v = {\left[ {{v_r}{{(n)}^T},cd{{{\dot T}}_r}(n)} \right]^T}\) has a few millimeters per second accuracy. In this section, the receiver clock drift error budgets for GPS and BDS IF carrier phase observables are quantitively analyzed.

The dual-frequency GPS and BDS signals used for the GNSS oscillator discipline in the LEO receiver are listed in Table 1 (Lei et al. 2017). The L2P(Y) signal is tracked with a semi codeless processing.

Table 1 Dual-frequency GPS and BDS signals selected for GNSS oscillator discipline

The \(1\sigma\) carrier phase measurement errors of B1C, L1 and B2A are set to 1 mm. Because of a lower carrier-to-noise power ratio in the L2P(Y) signal, its counterpart of L2P(Y) is set to 2 mm. Table 2 describes the clock drift estimation error budgets for a GPS and BDS dual-frequency receiver, using the signals in Table 1. The assumption in Table 2 can be referenced to measurements.

Table 2 Clock drift error budgets for GPS and BDS dual-frequency receiver

The \(1\sigma\) error of \({cd}{{\dot T}_r}(n)\) is approximately evaluated by \({\sigma _{cd{{{\dot T}}_r}(n)}} = {\sigma _{v_{IF,r}^s}}{\rm{TDOP}}\), where the time dilution of precision (TDOP) is, respectively, set to 1.14 and 1.20 for GPS and BDS in conditions that the number of visible GPS or BDS satellites is greater than 7. As depicted in Table 2, the receiver clock drift estimated with (6) is too noisy to be used to tune the local oscillator directly. Therefore, the third-order FLL filter is utilized to make the receiver clock drift less noisy.

Proposed digital third-order FLL-based receiver clock discipline

The clock nominal output frequency can be written as \(f_{0}\). The clock frequency bias \(\Delta f\) can be calculated using \(d\dot{t}_{r}\) from (17) with respect to its nominal frequency \(f_{0}\) as

$$\Delta f = d\dot{t}_{r} f_{0}$$
(17)

where the dimension of \(\Delta f\) is Hertz. Various color noises are contained in the clock frequency bias \(\Delta f\) and should be reduced before adjusting the VCXO frequency. These color noises usually consist of two parts: One is the color noise of the imperfect VCXO, and the other is the color noise introduced by the unmodeled GNSS space segment and signal propagation errors such as broadcast ephemeris error, and residual ionospheric and tropospheric fluctuation errors. The frequency outputs of the free-running VCXO, whose nominal frequency is 10 MHz, are measured with respect to the reference 10 MHz output from a VCH-1008 passive hydrogen clock, as shown in Fig. 1.

Fig. 1
figure 1

Undisciplined VCXO power-law fit and ADEV analysis process

The PicoTime clock ADEV analyzer (Frueholz 1996) was utilized to record the VCXO fractional frequency output compared to its passive hydrogen clock reference. The frequency stabilities of the passive hydrogen maser are: ≤ 5E-13 at 1 s, ≤ 2E-13 at 10 s and ≤ 7E-15 at 10,000 s. The noise characteristics of the free-running VCXO were analyzed through the power spectrum of its fractional frequency output and then modeled with power-law fit. The ADEV of the free-running VCXO is shown in Fig. 2.

Fig. 2
figure 2

Frequency stability of the free-running VCXO measured using a PicoTime clock ADEV analyzer connected with a hydrogen clock reference

As illustrated in Fig. 2, the VCXO has good short-term frequency stability characteristics, but poor medium–long-term frequency stability characteristics. The short-term ADEV frequency stabilities of the undisciplined VCXO over the measurement interval from 1–10 s are better than 4E-12. However, the ADEV for the undisciplined VCXO rapidly deteriorates over the measurement interval from 10–10,000 s and reaches about 2E-11 for an averaging time about 1,000 s. The power spectrum of the fractional frequency measurements of the free-running VCXO is presented in Fig. 3.

Fig. 3
figure 3

Power spectrum of the fractional frequency measurements for the free-running VCXO and its power-law fit

As shown in Fig. 3, the power spectrum of the fractional frequency data of the undisciplined VCXO is not flat over the visible frequency band, which reflects that nonwhite noises polluted the VCXO output frequency signal. The power spectrum can be well fitted by the power-law noise model \(S_{y1} (f) = 5.55 \times 10^{ - 26} f^{ - 2.18}\). Therefore, the noise of the free-running VCXO was approximately identified as random walk frequency modulation (FM) noise, whose power spectral density (PSD) is characterized as \(S_{y1} (f) \propto f^{ - 2}\).

In the clock drift estimation process, the unmodeled GNSS space segment errors and residual ionospheric and tropospheric errors can result in extra clock drift fluctuations and their overall effects can be modeled as a clock drift processing noise. In order to analyze the stability characteristic of the clock drift processing noise, a noise identification scheme is proposed, whose block diagram is shown in Fig. 4.

Fig. 4
figure 4

Clock drift processing noise identification block diagram due to the unmodeled GNSS space segment and signal propagation errors

A Trimble Net R9 receiver was synchronized with a passive hydrogen maser, which was used as the 10 MHz external frequency source firstly. Then, the receiver was connected with a GPS-702-GG NovAtel antenna mounted on a rooftop. Next, the L1C, L2W, C1C and C2W GPS signals, the default dual-frequency outputs of the Trimble Net R9 receiver, were exploited to estimate the receiver clock drift. Finally, the power spectrum of the clock drift series was calculated to evaluate the frequency stability of the clock drift processing noise, as shown in Fig. 5. The power spectrum of the clock drift processing noise can be fitted by the power-law model \(S_{y2} (f) = 9.08 \times 10^{ - 24} f^{ - 1.19}\). Therefore, the clock drift processing noise was approximately determined as flicker FM noise, whose PSD is characterized as \(S_{y2} (f) \propto f^{ - 1}\).

Fig. 5
figure 5

Power spectrum of the clock drift processing noise estimated with the static user clock drift estimation model and its power-law fit

The total output PSD can be calculated by multiplying the PSD of the free-running VCXO noise and the PSD of the user clock drift estimation. Thus, the output PSD can be described as \(S_{y1} (f)S_{y2} (f) \propto f^{ - 3}\). Therefore, a third-order FLL filter is required to effectively reduce the high-order power-law noise (Walls 1989). The loop order is determined by the addition of the highest negative powers of the power spectra of the free-running VCXO clock drift and the clock drift processing noise induced by the GNSS space propagation. The proposed analog third-order FLL filter in the complex frequency domain can be expressed as

$$F(s) = G\left( {1 + \frac{a}{s} + \frac{b}{{s^{2} }}} \right)$$
(18)

where the bandwidth \(B_{n} = 0.2\;{\text{Hz}}\), \(\omega_{0} = B_{n} /0.7845\), \(G = 2.4\omega_{0}\), \(a = 1.1\omega_{0} /2.4\) and \(b = \omega_{0}^{2} /2.4\) (Kaplan and Hegarty 2017). There are two reasons for the choice of bandwidth: (1) the cutoff frequency lies in the noise floor of the power spectrum in Figs. 3 and  5 and (2) \(1/B_{n}\) is near the minimum in Fig. 2.

To avoid the tracking loss problem induced by a too large frequency adjusting amount at a time, we propose a nonlinear frequency steering method to adjust the frequency control pace at each time step with a nonlinear frequency steering function \(\xi ( \cdot )\), which is shown in Fig. 6.

Fig. 6
figure 6

Nonlinear frequency steering function

The nonlinear function is different from the bang–bang function used in GPS steering, in which the frequency drift is jumped positively or negatively by a fixed amount. The nonlinear function in Fig. 6 is part of a feedback loop, in which the real-time estimated frequency offset lies within ± 0.1 Hz after the feedback loop reaches steady state. Therefore, the frequency offset is changed by a variable amount most of the time with the nonlinear function. When the feedback loop is in transient state, the frequency offset is usually too large and unacceptable for tuning the user clock frequency directly. Then, the nonlinear function limits the large transient frequency offset to prevent tracking loss and enables gradual and continuous frequency offset compensation.

The proposed digital third-order FLL-based receiver clock discipline flowchart is presented in Fig. 7. The third-order FLL filtering section in Fig. 7 is a digital filter converted from its continuous expression in (18), whose loop updating time interval is T. The frequency adjusting range of the VCXO (10 MHz) is from − 3.5 Hz to 3.5 Hz. A 20-bit D/A converter is adopted to adjust the VCXO with accuracy better than 1E-12, whose frequency adjustment resolution is \((7/2^{20} )/10 \times 10^{6} \approx 6.67 \times 10^{ - 13}\). The steered clock frequency bias from the nonlinear frequency steering function output is exploited to calculate the frequency control word (FCW). The FCW determines the D/A input and can be explicitly expressed as

$${\text{FCW}} = \left\lfloor {\frac{{\xi (\Delta f)/10 \times 10^{6} }}{{6.67 \times 10^{ - 13} }}} \right\rfloor$$
(19)

where \(\left\lfloor \cdot \right\rfloor\) denotes the function that rounds the input value to the nearest integer toward zero and \(\xi (\Delta f)\) denotes the filtered output of the nonlinear frequency steering function.

Fig. 7
figure 7

Clock drift discipline flowchart with third-order FLL filtering

The output of the 20-bit D/A converter is fed to the VCXO to steer the clock frequency via the closed-loop automatic control technique. To ensure the third-order FLL filter achieving stability, we chose the loop updating time interval \(T\) to satisfy the criterion \(B_{n} T \le 0.2\).

Experimental validations and analysis

The process of experimental validations for the proposed precise clock drift-based GNSS oscillator discipline technique splits into the following four parts: (1) verifying the frequency steering effectiveness and closed-loop stability of the proposed clock discipline technique in MATLAB; (2) validating the static user clock drift stability using real GPS data with an external 10 MHz hydrogen clock reference; (3) validating the high dynamic user clock drift stability in a high dynamic situation using simulated data from a hardware Spirent GSS 9000 simulator; and (4) testing the disciplined VCXO 10 MHz frequency outputs with a PicoTime clock stability analyzer whose reference 10 MHz input is from an external hydrogen clock, in Spirent simulated ionosphere-free and troposphere-free situations.

Validation of digital third-order FLL frequency steering stability

In order to assess the closed-loop frequency steering performance, a numerical frequency steering experiment was conducted using MATLAB simulation. An ideal 10 MHz sinusoidal signal was generated as the reference GNSS atomic clock output, whose sampling rate was set to 30 MHz to obey the Nyquist sampling theorem. Another sinusoidal signal, whose initial oscillating frequency was offset from its nominal 10 MHz frequency by − 3.5 Hz, was utilized to simulate the local VCXO output. The frequency offset between these two sinusoidal signals was discriminated at each time step, as estimated from the clock drift. The resulting frequency offset was fed to the digital third-order FLL where it was denoised and then added to the VCXO oscillating frequency.

The phase difference and frequency difference between the simulated local VCXO and its reference clock during the digital third-order FLL frequency steering are illustrated in Figs. 8 and  9, respectively.

Fig. 8
figure 8

Phase difference between the simulated local VCXO and its reference clock during the digital third-order FLL frequency steering

Fig. 9
figure 9

Frequency difference between the simulated local VCXO and its reference clock during the digital third-order FLL frequency steering

As shown in Figs. 8 and  9, the digital third-order FLL was stable during the clock discipline process, and the frequency tracking error and phase tracking error converged toward zero quickly. Therefore, the closed-loop frequency tracking capability and the loop stability were verified.

User clock discipline validation using real GPS data in static mode

The proposed GNSS clock discipline method for a static user using the clock drift estimation model had been assessed with real GPS data set. The dual-frequency GPS observation data set used in this study was collected on March 26, 2018 with the GPS-702-GG NovAtel antenna shown in Fig. 4. In the experimental data collection, a Trimble Net R9 GPS receiver was driven by a 10 MHz external clock signal provided by a hydrogen clock. The dual-frequency pseudorange, carrier phase and instantaneous Doppler measurements on L1 and L2 frequencies were utilized to detect the carrier phase cycle slips. Once a carrier phase cycle slip was detected, the corresponding carrier phase at that epoch was dropped off in the receiver clock drift estimation. The GPS data used in this experiment were explicitly listed as follows: L1C, L2W, C1C, C2W, D1C and D2W.

Both the broadcast ephemerides and the precise international GNSS service (IGS) final ephemerides (Guo et al. 2017; Johnston et al. 2017) were adopted to, respectively, estimate the static receiver clock drift series with the aforementioned user clock drift estimation model. The corresponding carrier-derived user velocities and frequency stabilities were assessed and compared. The receiver was set to static mode; therefore, there is no moving in any direction theoretically. Figure 10 illustrates the east, north and up components of the estimated static user velocities. The root-mean-square (RMS) errors of the estimated user velocities along the east, north and up directions were about 2.45 mm/s, 2.60 mm/s and 6.09 mm/s, respectively.

Fig. 10
figure 10

Static user velocities obtained with broadcast ephemerides. The east, north and up components of user velocities are, respectively, shown in the top, middle and bottom panels

The results in Fig. 10 show that user velocity accuracies can reach a few millimeters per second level. The jumps in the up component are due to the switching of multiple GNSS satellites. The static user velocities obtained with the precise IGS final ephemerides were almost the same as their counterparts calculated using broadcast ephemerides and therefore are not presented in the paper. However, the frequency stabilities derived from the clock drifts obtained from the broadcast ephemerides and the ones from the IGS final ephemerides were different, as depicted in Fig. 11.

Fig. 11
figure 11

Frequency stability comparison using clock drifts obtained from broadcast ephemerides and IGS final ephemerides. The unfiltered ADEV results are shown in the top panel, and the filtered ADEV results using the proposed third-order FLL are at the bottom

Figure 11 shows that by exploiting the IGS final ephemerides, the ADEV results over 10–100 s can be significantly improved compared to the corresponding ADEV results using the broadcast ephemerides. The frequency stability performance can be upgraded remarkably by the proposed third-order FLL filter. By applying the third-order FLL filter to the raw clock drifts, the ADEV over 1–1,000 s can be better than 8E-12 using the broadcast ephemerides and the ADEV over 10–100 s can be further improved using the IGS final ephemerides. The differences in the 10–100-s interval in Fig. 11 were due to the differences in ephemerides. The experiment results show that there were no large differences at large intervals and short intervals. The underlying causes of this phenomenon are under investigation. The good frequency stability is fundamental to the phase stability for timekeeping.

High dynamic user clock discipline validation with GNSS signal simulator

In this section, a high dynamic clock discipline validation experiment is presented for a receiver moving at 500 m/s simulated with a hardware Spirent GSS 9000 GNSS signal simulator under the Coordinating Committee for Multilateral Export Controls (COCOM) limits. The external reference frequency of the simulator was connected to the 10 MHz output of the hydrogen clock shown in Fig. 4, as in the previous experiment. The receiver, whose height was at sea level to remove the gravity, was simulated to go along a 100-km-radius horizontal circumference on the ground. The ionospheric delay and tropospheric delay were turned off in the Spirent simulator in this experiment. In the high dynamic user clock discipline validation process, the loop updating time interval \(T\) was set to 0.2 s. The same Trimble receiver was used to collect the GPS L1 and L2 RF signals generated by the simulator at 5 Hz, when the receiver experienced high dynamics. The hydrogen maser used as the Trimble receiver's external frequency reference was not disciplined. Based on the instantaneous Doppler measurements and carrier-derived Doppler measurements in (5), the clock drifts and velocities of the receiver were estimated in postprocessing. The user velocities in the earth-centered, earth-fixed (ECEF) coordinate system are compared in Figs. 12 and  13. As can be seen, the high dynamic user velocities estimated by the carrier-derived Doppler measurements were slightly less noisy and more precise than the ones estimated by the instantaneous Doppler measurements, especially from the ECEF X components.

Fig. 12
figure 12

High dynamic user velocities obtained with instantaneous Doppler measurements. The X, Y and Z components of user velocities in the ECEF coordinate system are, respectively, shown in the top, middle and bottom panels

Fig. 13
figure 13

High dynamic user velocities obtained with carrier-derived Doppler measurements. The X, Y and Z components of user velocities in the ECEF coordinate system are, respectively, shown in the top, middle and bottom panels

For the purpose of comparing the medium–long stability derived from the proposed carrier-derived Doppler measurements and their instantaneous Doppler counterparts, the receiver clock drifts and ADEVs are illustrated in Figs. 14 and  15, respectively.

Fig. 14
figure 14

Clock drift comparison with two different Doppler measurements for the high dynamic user circularly moving at 500 m/s

Fig. 15
figure 15

Frequency stability comparison for the high dynamic user circularly moving at 500 m/s

Figure 14 indicates that the receiver clock drifts estimated from the carrier-derived Doppler measurements were less noisy than the ones from the instantaneous Doppler measurements. More detailed clock drift variations induced by the user fast motion can be observed from the carrier-derived Doppler results. The carrier-derived clock drifts exhibited more obvious constant offsets from zeros than the instantaneous Doppler-derived clock drifts when the receiver experienced high dynamics. The constant term in the clock drift has no influence on the frequency stability since the ADEV is based on the first differences of the clock drift data. A detailed comparison of the ADEVs from the carrier-derived Doppler, instantaneous Doppler and their third-order FLL filtered versions with respect to the averaging time is presented in Fig. 15.

Since the hydrogen maser used as the Trimble receiver's clock is rather stable, the ADEV results in Fig. 15 reflect the frequency stabilities of the receiver clock drift processing with carrier-derived/instantaneous Doppler measurements. The ADEV of the receiver clock under the dynamic condition of 500 m/s circular motion detailed in Fig. 15 shows that: (1) for the clock discipline with the carrier-derived Doppler, almost all the ADEV over 1–1000 s could be better than 8E-12 except the domain around 400 s; (2) clock discipline with the instantaneous Doppler could outperform the one with carrier-derived Doppler and maintains ADEV lower than 6E-12 over 10–10,000 s; (3) the third-order FLL filtered clock drift series exhibit significant frequency stability improvements across the whole averaging time regions.

Experimental result from a disciplined VCXO on LEO GNSS receiver

The proposed clock discipline method was implemented in a self-developed GNSS receiver, and the disciplined clock frequency stability performance was assessed in this section. A hardware Spirent GSS 9000 GNSS signal simulator and a PicoTime clock stability analyzer were synchronized with a hydrogen clock 10 MHz output. The ionospheric delay and tropospheric delay were turned off in the Spirent simulator in this experiment. The proposed receiver clock discipline method was implemented in a LEO GNSS receiver, which can determine its position, velocity and precise time with GPS and BDS dual-frequency signals. The epoch sampling interval \(T_{s}\) was set to 1 s, at the testing stage. The clock drift baseline abrupt changes caused by GNSS satellite switching are detected and corrected. The clock drifts of the disciplined VCXO on the receiver in static mode and in a LEO situation with orbit height 1,070 km situation are depicted in Fig. 16.

Fig. 16
figure 16

Clock drift series of the self-developed LEO GNSS receiver recorded by a PicoTime clock stability analyzer. The clock drift series in the static situation and in the LEO situation are, respectively, shown in the top and bottom panels

Figure 16 shows that the clock drift series was almost zero mean valued and exhibited an almost white noise characteristic when disciplined with the proposed method in the static situation, whereas its LEO mean value series was biased and noisier. The disciplined VCXO frequency stabilities are shown in Fig. 17.

Fig. 17
figure 17

Frequency stabilities of the disciplined VCXO on the self-developed LEO GNSS receiver. The overlapping ADEVs in the static situation and in the LEO situation are, respectively, shown in the top and bottom panels

As shown in Fig. 17, the measured overlapping ADEV was less than 7E-12 at any time interval and can be less than 1E-12 when the time interval is greater than 1,000 s for the LEO situation. The frequency stabilities of the disciplined VCXO on LEO are better than the results in Fig. 15 which reflect the stabilities of clock drift processing for a high dynamic user circularly moving at 500 m/s. The reason for this phenomenon is that the clock drift data used in Fig. 17 were recorded when the third-order FLL worked in converged closed feedback loop, whereas the clock drift data used in Fig. 15 were calculated when the third-order FLL worked in open loop. The corresponding disciplined VCXO phase stabilities of the self-developed LEO GNSS receiver are shown in Fig. 18.

Fig. 18
figure 18

Phase stabilities of the disciplined VCXO on the self-developed LEO GNSS receiver in static situation. The top two panels show the clock biases in static and LEO situations, respectively. The bottom two panels show the time deviations in static and LEO situations, respectively

Figure 18 shows that the disciplined clock biases can be well modeled by second-order polynomials as presented in the GNSS satellite clock models. Thus, these kinds of disciplined clock biases are suitable to be broadcasted to the LEO-augmented GNSS user as the LEO ephemerides. The 1-ns time deviation (TDEV) corresponded to timekeeping about 4,000 s for the static and LEO situations.

Conclusions

The issue of high medium–long-stability GNSS oscillator discipline, based on a nonlinear digital third-order FLL, has been addressed with the use of millimeter-level accuracy carrier phase-derived clock drifts for dual-frequency LEO users. The LEO user clock drifts are estimated with a single-epoch IF and troposphere-free model. The main improvement and advantage compared to previous works lie in the digital third-order FLL-based receiver clock frequency automatic tuning method, which not only has low computational complexity and short convergence time, but also can avoid divergence during the tuning process. The experimental results demonstrate that the proposed digital third-order FLL-based receiver clock discipline method is stable for \(B_{n} T \le 0.2\), and can significantly improve the frequency stability for high dynamic clock discipline applications.

The 500 m/s circular motion user clock discipline validation results obtained with a Spirent GNSS generator simulated data at 5 Hz frequency steering rate show that: (1) for the clock discipline with the carrier-derived Doppler, almost all the ADEV over 1–1,000 s could be better than 8E-12 except the domain around half of the circular motion period; (2) clock discipline with the instantaneous Doppler outperforms the one with carrier-derived Doppler and maintains ADEV lower than 6E-12 over 10–10,000 s; and (3) the clock drifts from carrier-derived Doppler measurements are less noisy than their counterparts from instantaneous Doppler measurements.

In the clock discipline experiment with a self-developed LEO satellite GNSS receiver in a Spirent simulated IF and troposphere-free static situation, it has been shown that the measured overlapping ADEV was less than 7E-12 at any time interval, and can be less than 1E-12 when the time interval is greater than 100 s. The frequency stability for a LEO receiver with orbit height of 1070 km was also less than 7E-12 over periods of 1 s to 1,000 s and can support real-time SPP navigation augmentation service and the LEO satellite-augmented service for rapid PPP. The disciplined clock biases exhibited second-order polynomial characteristics as the GNSS satellite clock models. The 1-ns time deviation (TDEV) corresponded to about 4,000 s for the static and LEO situations, respectively.

Data statement

The research data used in this research were approved by the ethics committee of the China Academy of Space Technology (Xi'an).