1 Introduction

The continuous development of high-sensitivity global navigation satellite system (HSGNSS) receivers is making possible the acquisition and tracking of signals attenuated by approximately 30 dB [1]. Those impressive results are generally obtained by extending the integration time and successfully compensating for the user dynamic and the effect of the navigation message. In this way, a HSGNSS receiver is able to provide an increased processing gain that allows the successful recovery of weak and extremely weak signals.

The extension of the integration time, at both acquisition and tracking levels, allows one to average out the noise components and to reduce the effect of radio frequency interference. Long integrations can be achieved by means of either coherent or noncoherent processing. The former provides increased performance in terms of noise reduction, at the cost of vulnerability to frequency errors and bit transitions in the navigation message. Noncoherent processing consists of applying a nonlinear transformation to the input signal, removing the effects of data transitions and reducing the impact of frequency errors. This nonlinear transformation generally amplifies the noise impact, incurring the so-called squaring loss [2, 3].

At the tracking level, particular attention has been devoted to the development of specific techniques for coherently increasing the integration time [1, 49]. More specifically, different techniques have been adopted to detect a bit transition and compensate its effect during the coherent integration process. In general, an initial synchronization is assumed, and the bit boundaries are supposed to be known. Thus, the input signal is at first integrated over the bit duration and the polarity of each block is determined using different techniques [5, 7]. Although noncoherent integrations are commonly used for acquiring weak signals [10], noncoherent processing has been only marginally considered for extending the integration time at the tracking level. In the context of signal acquisition [11, 12], it has been shown that, for low carrier-power-to-noise density ratios (C/N 0), noncoherent integration outperforms coherent processing with bit recovery. This merely illustrates the fact that relative bit sign recovery becomes unreliable at low C/N 0. A similar phenomenon is also expected for tracking loops that rely on bit estimation: for low C/N 0, bit estimation becomes unreliable, and noncoherent processing should be preferred. For these reasons, the main topic of this paper is the design and analysis of loop discriminators that noncoherently extend the integration time in tracking loops. Specific focus has been devoted to the design of a noncoherent phase lock loop (PLL) with long integration capability. The carrier phase discriminator has been obtained by evaluating the maximum likelihood (ML) estimator for the common phase of a set of data blocks modulated by an unknown bit sequence. The expression for the ML phase estimator in the presence of bit transitions was already considered, in a different context, by [6] for initializing a Kalman filter-based tracking loop. However, to the best of the authors’ knowledge, this estimator was never used as noncoherent discriminator for a PLL, and thus, it represents one of the innovative contributions of this paper. The code discriminator has been obtained by using a noncoherent version of the correlation as cost function the code tracking loop is trying to maximize. Although this last approach can be directly derived from noncoherent integrations for acquisition and it has been already considered in the literature [13], it allows the design of a fully noncoherent HSGNSS receiver.

The obtained noncoherent architecture has been compared with existing methodologies, where the integration time is coherently extended by estimating the received bits. Both coherent and noncoherent architectures have been implemented in the University of Calgary’s GNSS Software Navigation Receiver (GSNRx™) [14] and tested by using live GPS data. The integration time as been extended till 80 ms and the loop filters have been designed by using a controlled-root formulation [15]. The proper filter design and the use of noncoherent integrations have led to a stable GNSS receiver able to operate in weak signal conditions. From the analysis, the noncoherent architecture results in an effective alternative to coherent integrations enabling less noisy measurements than the ones obtained by means of standard loops.

The remainder of this paper is organized as follows: in Section 2, the signal model is defined and the basic principles of GNSS tracking loops are established. In Section 3, the ML phase estimator is derived and the noncoherent PLL and DLL discriminators are defined. In Section 4, the approach for extended coherent integration is briefly summarized. Section 5 deals with the linear loop model and filter design, whereas Section 6 analyzes the tracking jitter for the noncoherent and coherent cases. In Section 7, real data are used to demonstrate the use of the proposed architecture. Section 8 suggests a further extension of the proposed discriminators, and finally, the conclusions are addressed in Section 9.

2 Signal and system model

The complex baseband signal at the input of a digital tracking loop, in a one-path additive Gaussian noise environment, can be expressed as the sum of a useful signal and a noise term:

$$ \begin{array}{lll} s[n] &=& y[n] + w[n] \\ &=& Ad[n - \tau_0/T_s]c[n - \tau_0/T_s]\exp\{j\theta[n]\} + w[n],\\ \end{array} $$
(1)

where c[n] is the signal spreading sequence and d[n] is the navigation message that, for the GPS C/A modulation, makes the polarity of the received signal change each 20 ms. τ 0 is the delay experienced by the received signal (modulo 1 ms) and θ[n] is, in general, a time-varying process that models the phase and frequency errors that have to be recovered by the PLL. A is the signal amplitude that also accounts for the effect of the automatic gain control before analog-to-digital conversion. w[n] is a zero mean complex Gaussian process whose statistical properties depend on the decimation and filtering strategies adopted at the front-end level. s[n] is a discrete time process obtained by sampling the continuous time signal s(t) at the sampling frequency \(f_s = \frac{1}{T_s}\). In the remainder of this paper, the notation s[n] = s(nT s ) is adopted for denoting sampled signals.

It is noted that the signal recovered by a GNSS receiver is usually made up of several components transmitted by different satellites. However, due to the quasiorthogonality of the different spreading sequences, the different useful signals are analyzed separately by the receiver, thus justifying Eq. 1.

In GNSS receivers, the code delay, τ 0, and residual phase, θ[n], are usually estimated by two separate tracking loops: the DLL and the PLL/FLL. The main focus of this paper is the design of a PLL discriminator employing noncoherent integrations for extending the total integration time beyond the bit duration. For this reason, the DLL is only marginally considered, and perfect code delay synchronization is assumed. Under the assumption of perfect code synchronization and after code wipe-off, the input signal (Eq. 1) becomes

$$ r[n] = Ad[n - \tau_0/T_s]\exp\{j\theta[n]\} + w'[n], $$
(2)

where the code dependence has been removed by the useful signal and w′[n] = w[n]c[n − τ 0/T s ] is a complex Gaussian process characterized by the same mean and variance of w[n]. In Fig. 1, the scheme of the standard PLL is depicted. In this case, bit transitions are neither recovered nor eliminated, and the integration time is limited by the bit duration. The signal r[n] is correlated with a local carrier replica, and the correlator output is used to evaluate an estimate of the residual phase, through a nonlinear discriminator. The discriminator output is then filtered and used to drive the numerically controlled oscillator (NCO) for the local carrier generation. In Fig. 1, N denotes the number of samples used for evaluating the correlation between the local and the received signal. The complex correlator output can be modeled as follows [16]:

$$ P = P_I + jP_Q = dA_c\exp\{j\phi\} + \eta_P, $$
(3)

where

  • d models the effect of the navigation message, assumed constant during the coherent integration process.

  • A c is the amplitude of the correlator output, also accounting for the losses introduced by residual frequency errors.

  • φ is a residual phase error that will be extracted by the nonlinear discriminator.

  • η P is a complex Gaussian random variable derived by processing the noise term w′[n].

A common choice in the literature [16] is to assume that the input signal r[n] has been normalized such that the real and imaginary parts of η P have unit variance. This choice does not affect the results reported herein since the power relationship between signal and noise is preserved by scaling. Under this condition and neglecting the impact of front-end filtering and frequency errors, it is possible to show [16] that

$$ A_c = \sqrt{2C/N_0T}, $$
(4)

where C/N 0 is the carrier-power-to-noise density ratio [17] and T = NT s is the coherent integration time. It is noted that a more complex model, accounting for front-end filtering and the presence of nonwhite interference, can be adopted [18, 19]. More specifically, the C/N 0 in Eq. 4 should be substituted by the effective C/N 0, introduced by [20, 21] when accounting for several signal imperfections.

Fig. 1
figure 1

Scheme of a standard PLL

When considering PLL with extended integration time, several correlator outputs, obtained from subsequent portions of the input signal, are evaluated and used for producing an improved phase estimate. For this reason, the index k = 0, 1, ...,K − 1 is introduced and the different correlator outputs are denoted as

$$ P_k = P_{I,k} + jP_{Q,k} = d_k A_c\exp\{j\phi\} + \eta_{P,k}. $$
(5)

In Eq. 5, the quantities \(\left\{d_k\right\}_{k = 0}^{K - 1}\) are modeled as independent random variables assuming values from the set { − 1, 1} with equal probability. The phase error, ϕ, and the correlator output amplitude are assumed constant for all k, whereas the random variables \(\left\{\eta_{P,k}\right\}_{k = 0}^{K-1}\) are considered independent and identically distributed. Equation 5 represents the basic signal model adopted in the paper.

3 Noncoherent discriminators

In standard Costas loops, the discriminator is obtained by considering the correlator output model (Eq. 3) and deriving the ML estimator for the phase error ϕ [17]. More specifically, the arctangent discriminator

$$ S = \arctan\left(\frac{P_Q}{P_I}\right) $$
(6)

is the ML phase estimator [17] when considering only one complex correlator output. Other discriminators can be obtained by using different approximations for the arctangent function. In this section, the phase ML estimator, when considering model Eq. 5 and the availability of K correlator outputs, is at first derived and used for the design of a new phase discriminator. A discriminator for noncoherently extending the integration time into a DLL is also introduced in Section 3.3.

3.1 ML phase estimator

When considering the complex correlator output (Eq. 5), the joint distribution of P I,k and P Q,k , given d k , is

$$ \begin{array}{lll} \par &&{\kern-7pt} f_{P_k|d_k}(i_k, q_k)\\ &&{\kern2pt} = \!\frac{1}{2\pi}\exp\!\left\{\!-\frac{1}{2}(i_k\! -\! A_cd_k\cos\phi)^2\! -\!\frac{1}{2}(q_k\! -\! A_cd_k\sin\phi)^2\! \right\}\\ &&{\kern2pt} = \!\frac{1}{2\pi}\exp\left\{-\frac{1}{2}\left[\left(i_k^2 + q_k^2\right) + A_c^2\right]\right\}\\ &&{\kern12pt} \cdot \exp\left\{A_cd_k(i_k\cos\phi + q_k\sin\phi)\right\}, \par \end{array} $$
(7)

where i k and q k are the values that the real and imaginary parts of P k can assume. Since d k is a binary random variable with values in { − 1, 1}, it is possible to find the distribution of P k by averaging Eq. 7 with respect to d k :

$$ \begin{array}{lll} \par f_{P_k}(i_k, q_k) &=& P(d_k = 1)f_{P_k|d_k =1}(i_k, q_k)\\&& + P(d_k\! =\! -1)f_{P_k|d_k = -1}(i_k, q_k)\\ &=& \frac{1}{2\pi}\exp\left\{-\frac{1}{2}\left[\left(i_k^2 + q_k^2\right) + A_c^2\right]\right\}\\ && \cdot \cosh\left\{A_c(i_k\cos\phi + q_k\sin\phi)\right\}. \par \end{array} $$
(8)

By taking the logarithm of Eq. 8 and removing the terms not depending on ϕ, the log-likelihood function for ϕ, when considering only one correlator output, is obtained:

(9)

When K independent instances of P k are available and assuming ϕ constant for all the realizations of the in-phase and quadrature components, the log-likelihood function for the phase error becomes

(10)

Finally, the ML estimator is obtained by solving

(11)

Equation 11 does not allow a closed-form solution, and some approximations have to be adopted. In particular, through approximating the hyperbolic tangent by its argument, the following approximated problem is found:

$$ \begin{array}{lll} \par &&{\kern-8pt} \sum\limits_{k = 0}^{K - 1}\!\left[A_c(q_k\cos\phi\! -\! i_k\sin\phi)\right]\!\left[A_c(i_k\cos\phi\! +\! q_k\sin\phi)\right]\!=\!0\\ &&{\kern-6pt} A_c^2\sum\limits_{k = 0}^{K - 1}\left[i_kq_k\cos(2\phi) - \frac{1}{2}\left(i_k^2 - q^2_k\right)\sin(2\phi)\right]= 0\\ &&{\kern-6pt} 2\cos(2\phi)\sum\limits_{k = 0}^{K - 1}i_kq_k = \sin(2\phi)\sum\limits_{k = 0}^{K - 1}\left(i_k^2 - q^2_k\right). \par \end{array} $$
(12)

Finally, from Eq. 12, ϕ can be estimated as

$$ \hat{\phi} = \frac{1}{2}\arctan_2\left(2\sum_{k = 0}^{K - 1}i_kq_k , \sum_{k = 0}^{K - 1}\left(i_k^2 - q^2_k\right)\right), $$
(13)

where \(\arctan_2(y, x)\) is the four-quadrant arctangent, corresponding to the angle of the complex number x + jy. Thus, the phase estimator (Eq. 13) can be interpreted as the phase of the complex number

$$ \sum_{k = 0}^{K - 1}\left(i_k^2 - q^2_k\right) + 2j\sum_{k = 0}^{K - 1}i_kq_k, $$
(14)

that is, the sum of the squares of the correlator outputs. This implies

$$ \hat{\phi} = \frac{1}{2}\angle{\sum_{k = 0}^{K - 1}p^2_k} = \frac{1}{2}\angle{\sum_{k = 0}^{K - 1}(i_k + jq_k)^2}. \label{eq.discr2} $$
(15)

The phase estimator (Eq. 15) will be used as phase discriminator for digital PLL implementing noncoherent integrations.

3.2 Phase discriminator

The ML phase estimator in the presence of random bit modulation suggests the use of

$$ \begin{array}{lll} \par S(\phi) &=& \frac{1}{2}\angle\left\{\sum\limits_{k = 0}^{K - 1}P^2_{k}\right\}\\ &=& \frac{1}{2}\arctan_2\left[2\sum\limits_{k = 0}^{K - 1}P_{I,k}P_{Q,k}, \sum\limits_{k = 0}^{K - 1}\left(P_{I,k}^2 - P_{Q,k}^2\right)\right]\\ \par \end{array} $$
(16)

as phase discriminator. In this way, the loop architecture depicted in Fig. 2 is obtained. The input signal is, at first, integrated over one bit period; the complex correlator outputs, P k , are then squared, further integrated, and fed into a four-quadrant arctangent that provides the discriminator output.

Fig. 2
figure 2

PLL with non-coherent integrations. The bit dependence is removed by the squaring operation

It is noted that the obtained architecture essentially differs from the traditional squaring loop [22]. In the context of GNSS, squaring loops have been used for the semicodeless carrier phase tracking of L2 GPS signals [23], and they remove the effect of polarity changes in the received signal by means of a squaring operation. The basic scheme for a squaring loop is reported in Fig. 3: in this case, the squaring is performed outside the PLL, causing the amplification of the noise components. Moreover, the output frequency is twice the carrier frequency causing a half-wavelength ambiguity [23]. These two problems are overcome by the proposed noncoherent scheme. The original frequency information is preserved and the noise amplification is reduced by the integrate-and-dump filter preceding the squaring block.

Fig. 3
figure 3

Structure of a squaring loop: the input signal is at first squared and band-pass filtered (BPF). The obtained signal is then tracked by a PLL

It is noted that the noncoherent integration block in Fig. 2 acts as a moving average filter. In this way, the input of the four-quadrant arctangent is a correlated process that depends on the last K complex correlator outputs. Thus, the discriminator (Eq. 16) introduces memory into the loop, inserting new zeros and poles into the loop transfer function. This effect will be better analyzed in Section 5. The memory introduced by the discriminator can be removed by adding a decimator after the noncoherent integration block, further reducing the update interval of the loop and increasing the latency of the phase estimation. For this reason, only the case of the discriminator with memory is considered hereinafter. Moreover, this structure allows the design of more general discriminators, as discussed in Section 8.

3.3 Code discriminator

Code tracking can be interpreted as an iterative process that tends to maximize the cost function defined by the correlation between the input signal and a signal replica locally generated. The maximization is performed by adjusting the code delay between the input signal, r[n], and its local replica. Moreover, code tracking can be thought of as a gradient ascent algorithm since the maximization is performed by following the direction indicated by the discriminator output, that is, in some sense, an approximation or a modification of the derivative of the cost function, i.e., the correlation. In this respect, a code tracking loop can be designed by opportunely modifying the cost function or suitably changing the discriminator structure. For example, the traditional normalized noncoherent early minus late envelope [17]:

$$ S(\tau) = \left(1 - \frac{d_s}{2}\right)\frac{|E_k| - |L_k|}{|E_k| + |L_k|} $$
(17)

can be modified as follows:

$$ S(\tau) = \left(1 - \frac{d_s}{2}\right)\frac{\sqrt{\sum_{k = 0}^{K - 1}|E_k|^2} - \sqrt{\sum_{k = 0}^{K - 1}|L_k|^2}}{\sqrt{\sum_{k = 0}^{K - 1}|E_k|^2} + \sqrt{\sum_{k = 0}^{K - 1}|L_k|^2}} $$
(18)

that is, by introducing noncoherent integrations after the correlator outputs. In Eqs. 17 and 18, E k and L k denote the kth complex early and late correlator outputs [16, 17] obtained by correlating the input signal with an anticipated and delayed version of the local code, respectively.

The presented approach is analogous to noncoherent integrations at the acquisition level and, although it has already been considered in the literature [13], it allows the design of a fully noncoherent HSGNSS receiver. The summations in Eq. 18 act as a moving average filter on the correlator outputs, introducing memory in loop in the same way as Eq. 16. This effect will be better discussed in Section 5.

4 Coherent processing

In this section, coherent processing for extending the integration time is briefly discussed. Several techniques for estimating the received navigation message and removing the effect of bit transitions have been extensively employed in the literature [1, 46]. Coherent processing is considered in this paper as a comparison term for the noncoherent architectures discussed in Section 3.

In Fig. 4, the basic scheme for a PLL with extended coherent integration is depicted. In order to estimate the transmitted bits, K complex prompt correlators are collected and all possible accumulated correlations, corresponding to the different bit combinations, are evaluated. The number of coherent integrations is usually limited to K ≤ 5 for the increased computational load associated with the test of the different bit combinations [1, 4]. The bit sequence leading to the correlations with the highest energy is used as an estimate of the received navigation message. This estimate is then used to remove the effect of the transmitted bits and further increase the coherent integration time. More specifically, let

$$ \mathbf{P}_k = \left[P_k P_{k - 1} \cdots P_{k - K + 1}\right] $$
(19)

be the vector of the last K complex prompt correlator outputs and M i the vector corresponding to the ith bit combination. The bit sequence is estimated by the vector M i , whose index is obtained as

$$ i = \mbox{arg} \max_l\left\{\left|S_l\right|^2\right\} = \mbox{arg} \max_l\left\{\left|\mathbf{P}_k\mathbf{M}^T_l\right|^2\right\}, $$
(20)

where (·)T denotes transposition. It is noted that only H = 2K − 1 combinations are considered, since sign combinations differing only for the absolute sign would lead to the same energy. M i is then used to extend the integration time producing the accumulated correlator outputs that will be fed into traditional discriminators. For example, the phase discriminator is given by

$$ S(\phi) = \arctan\left(\frac{\Re\left\{\mathbf{P}_k\mathbf{M}^T_i\right\}}{\Im\left\{\mathbf{P}_k\mathbf{M}^T_i\right\}}\right). $$
(21)

It is noted that extended coherent integrations can also introduce memory at the discriminator level. This depends on the way the vector P k is updated. In fact, if the vector P k + 1 is obtained from P k by substituting the oldest prompt correlator output with P k + 1, the correlator output evaluated at instant k + 1, then a moving average effect is introduced, and the analysis presented in Section 5 also applies to this kind of loop.

Fig. 4
figure 4

PLL with extended coherent integration. The integration time is extended by estimating the transmitted bits

5 Linear model and filter design

In this section, the linear model for discriminators with memory, such as the ones described in Sections 3 and 4, is derived. Moreover, the linear model is used to evaluate the transfer function of the loop and define the design criteria for the loop filter.

The linear model for a tracking loop and its transfer function can be obtained by substituting the loop discriminator with its linear approximation. In Fig. 5, the linear model for a generic tracking loop is depicted. In this case, the loop is represented with respect to the quantity to be tracked. In the following, the PLL case is considered, although the reported results are general and apply to the other loops considered in the paper. In Fig. 5,

  • ϕ[k] is the average phase at the correlator output that the loop is trying to track.

  • \(\bar{\phi}[k]\) is the phase estimated by the loop.

  • \(\dot{\bar{\phi}}[k]\) is the phase rate at input of the NCO.

  • \(\hat{\phi}[k]\) is the phase estimated by the discriminator.

  • N d [k] is a white random process accounting for the noise at the input of the loop and the distortions introduced by the nonlinearities in the discriminator.

Fig. 5
figure 5

Linear model for a tracking loop with discriminator with memory. In a traditional tracking loop, the discriminator is substituted by an amplifier with constant gain

In traditional tracking loops, the discriminator is approximated by a constant gain. However, in the architecture described in the previous sections, the discriminator employs the last K complex correlations, P k , to evaluate an estimate of the phase error ϕ. Thus, this kind of discriminator introduces memory into the system, and a more appropriate linear approximation is a finite-impulse response (FIR) filter:

$$ B(z) = \sum_{i = 0}^{K - 1}{a_i}z^{K - 1}, $$
(22)

where

$$ a_i = \left.\frac{\partial }{\partial \phi[i]}\mbox{E}[S]\right|_{\phi[i] = 0}. $$
(23)

A FIR model is adopted, since only a finite number of correlator outputs is used for the evaluation of the discriminator output. It is noted that, for K = 1, the linear model (Eq. 22) becomes a constant gain corresponding to the model usually adopted for tracking loops.

It can be shown that, for the normalized discriminators considered in the paper,

$$ a_i = \frac{1}{K} \qquad \mbox{for } 0\leq i < K. $$
(24)

The coefficients of the linear expansion (Eq. 22) assume the constant value 1/K. This is due to the fact that the discriminator equally weights the different complex correlators P k . In this respect, more complex discriminators, which account for the fact that older correlators should impact the estimation of the current phase less, can be designed by introducing unequal weights, as discussed in Section 8. From Eq. 24, it follows that the linear approximation for the considered discriminators is given by a moving average filter with transfer function

$$ B(z) = \frac{1}{K}\sum_{i = 0}^{K - 1} z^{-i}. $$
(25)

In the absence of noise, the discriminator output can be approximated as

$$ \hat{\phi}[k] = \left(\phi[k] - \bar{\phi}[k]\right) \ast b[k], $$
(26)

where b[k] is the inverse Z transform of B(z).

The closed loop transfer function is defined as [15]:

$$ H(z) = \frac{\bar{\phi}(z)}{\phi{z}}, $$
(27)

where ϕ(z) and \(\bar{\phi}(z)\) are the Z transforms of the input and estimated phases ϕ[k] and \(\bar{\phi}[k]\), respectively. The single-sided loop noise bandwidth B n for the closed loop is defined as [15]

$$ \begin{array}{lll} \par B_n &=& \frac{1}{2}\int_{-1/2T}^{1/2T}\left|H\left(e^{j2\pi f T}\right)\right|^2df\\ &=& \frac{1}{2}\frac{1}{2\pi T j}\oint H(z)H\left(z^{-1}\right)z^{-1}dz \par \end{array} $$
(28)

and is one of the main parameters for the loop design: narrow bandwidths harden the tracking loop against thermal noise at the expenses of reduced tracking dynamic capabilities.

H(z) and B n can be evaluated once the loop filter and the NCO models are defined. More specifically, integrator-based loop filters are characterized by the following transfer function:

$$ F(z) = \frac{1}{T}\sum_{i = 0}^{L - 1}K_i\frac{1}{(1 - z^{-1})^{i}} = \frac{1}{T}\sum_{i = 0}^{L - 1}K_i\left[\frac{z}{z - 1}\right]^{i}. $$
(29)

In this case, the loop filter is constrained to be a linear combination of several integrators of different order. L defines the order of the loop. The use of integrator-based filters allows the loop to provide unbiased phase estimates for input phases varying according to polynomial models of degree L.

In a rate-only feedback NCO, the phase estimate is updated according to the following equation [15]:

$$ \bar{\phi}[k + 1] = \bar{\phi}[k] + \frac{1}{2}\left(\dot{\bar{\phi}}[k + 1]T + \dot{\bar{\phi}}[k]T\right). $$
(30)

Using Eqs. 26, 29, and 30, the loop transfer function can finally be evaluated as

$$ \begin{array}{lll} \par H(z) &=& \frac{\frac{1}{2}(z + 1)TB(z)F(z)}{z(z - 1) + \frac{1}{2}(z + 1)TB(z)F(z)}\\ &=& \frac{D_K(z) - z^K(z - 1 )^{L}}{D_K(z)}, \par \end{array} $$
(31)

where

$$ \begin{array}{lll} D_K(z) &=& z^K(z - 1)^{L}\\&& + \frac{1}{2K}\left(z + 1\right)\sum\limits_{j = 0}^{K - 1}z^j\sum\limits_{i = 0}^{L - 1}K_i z^{i}\left(z - 1\right)^{L - i - 1}. \end{array} $$
(32)

It is noted that Eq. 31 has the same structure as the transfer functions of traditional tracking loops with rate-only feedback NCO. Moreover, Eq. 31 can be used to verify that tracking loops with memory discriminators provide unbiased phase estimates for input phases varying according to a polynomial model of degree L.

The presence of the discriminator with memory increases the order of the system by introducing new poles and zeros. In particular, K − 1 zeros are introduced, corresponding to the solutions of 1 − z K = 0 different from z = 1. The zero, z = 1, is only apparent and is canceled out by the corresponding pole. In Fig. 6, the poles of Eq. 31 are plotted for different K, for a second-order loop filter. The coefficients of the loop filter, K 0 = 0.2166 and K 1 = 0.0265, are kept constant for all cases. Those coefficients were designed to provide a 5-Hz bandwidth for K = 1. As K increases, new poles appear and the original poles, due to the loop filter, are pushed towards the unit circle. This effect reduces the stability margin of the system and increases the equivalent bandwidth. For this reason, specific filter design techniques, accounting for the additional poles, have to be adopted.

Fig. 6
figure 6

Zeros and poles of the loop transfer function for different values of K. The loop filter is a second-order filter and the coefficients are kept constant for all cases. The coefficients were designed to provide a 5-Hz bandwidth for K = 1

5.1 Controlled-root formulation

In order to properly design the loop filter, the controlled-root formulation [15] has been adopted. It is noted that other approaches, based on optimality criteria, can be adopted [24]. These approaches are not considered here and left as future work. The controlled-root formulation was originally proposed by [15] for memoryless discriminators and has been extended here in order to account for the extra poles introduced by a discriminator with memory. More specifically, in the controlled-root formulation, the poles of the loop filter are constrained to lie on specific positions depending on design parameters, such as the decay-rate and the damping factor. In this way, the poles are positioned in order to ensure a stable loop and the design parameters are adjusted in order to meet the bandwidth requirements. When the case of memory discriminators is considered, it is not possible to fix the positions of all the loop poles since only L free parameters, the L integrator gains, are available. These L parameters allow one to fix only L poles. Thus, the algorithm derived from the controlled-root formulation has been modified as reported in Fig. 7.

Fig. 7
figure 7

Iterative algorithm for filter design according to the controlled-root formulation

At first, L poles are fixed according to some initial values of the design parameters. By substituting the values of these L poles into Eq. 32, a system of L equations in L unknowns is found. By solving this system, the integrator gains are obtained. The integrator gains define the transfer function of the system, from which the loop bandwidth can be evaluated. The design parameters are iteratively adjusted until the required bandwidth is obtained.

It has been noted that the additional poles introduced by the discriminator are always placed closer to the origin of the Z plane than the poles placed according to design parameters. In this way, stable loops with the desired bandwidth were obtained.

6 Phase tracking jitter

In this section, coherent and noncoherent integration strategies are compared in terms of phase tracking jitter. Phase tracking jitter allows one to quantify the impact of thermal noise on the PLL, and it is defined as [16]:

$$ \sigma_j = \frac{\sigma_s}{G_d}\sqrt{2B_nT}, $$
(33)

where σ s is the standard deviation of the discriminator output, B n is the loop equivalent bandwidth, and G d is the discriminator gain defined as

$$ G_d = \left.\frac{d\mbox{E}\left[S\left(\phi\right)\right]}{d\phi}\right|_{\phi = 0}. $$
(34)

Theoretical and Monte Carlo simulations are used to evaluate the phase tracking jitter when coherent and noncoherent integrations are used at the PLL level. The simulation parameters are reported in Table 1. In general, the tracking jitter measures the root-mean-square phase error of the loop and can be expressed as [23, 25]

$$ \sigma_j = \sqrt{\left[\frac{C}{N_0B_n}S_L\right]^{-1}}, $$
(35)

where S L is the squaring loss. Equation 35 can be interpreted as follows: if a PLL were a perfectly linear system, then the tracking jitter would be a measure of the signal-to-noise ratio at the output of the loop. More specifically, the tracking jitter would only depend on the product of the input C/N 0 and the inverse of the loop bandwidth. Since a PLL is, in general, a nonlinear device, performance is degraded by the additional noise introduced by the nonlinearities. This impact is measured by the squaring loss S L .

Table 1 Simulation parameters

It has been shown [23] that, when the bandwidth of the integrate-and-dump filter in the PLL is wide enough not to introduce signal distortion, the squaring loss can be approximated by

$$ S_L \approx \frac{1}{1 + \frac{1}{2 C/N_0 T}}, $$
(36)

leading to the following expression for the tracking jitter:

$$ \sigma_j = \sqrt{\frac{B_n}{C/N_0}\left(1 + \frac{1}{2C/N_0 T}\right)}. $$
(37)

It is noted that Eq. 37 is a general formula corresponding to the usual tracking jitter for Costas loop [17]. Moreover, Eq. 37 does not depend on the number of noncoherent integrations, K, but only on the input C/N 0, the loop bandwidth, and the coherent integration time T. It is noted that, as demonstrated in Section 7, when K > 1, noncoherent integrations are employed, a PLL with lower equivalent bandwidth B n can be used. Moreover, by increasing the integration time, less noisy measurements are expected.

Formula 37 has been verified by Monte Carlo simulations and, in Fig. 8, some simulation results are summarized. More specifically, the case of a constant product

$$ KB_nT = 0.2 $$

has been considered and three different values of K investigated. The tracking jitter obtained by simulations matches the theoretical value, supporting the validity of Eq. 37. The vertical trend in the simulated curves indicate that the loop has lost lock.

Fig. 8
figure 8

Comparison between theoretical and simulated phase tracking jitter for constant KB n T and for different numbers of noncoherent integrations. The vertical trends indicate that the simulated loop has lost lock

In Fig. 9, coherent and noncoherent integrations are compared in terms of tracking jitter. It is noted that the tracking jitter for a Costa loop can be lower-bounded by

$$ \sigma_j \leq \sqrt{\frac{B_n}{C/N_0}\left(1 + \frac{1}{2KC/N_0 T}\right)}, $$
(38)

which corresponds to the case of an ideal loop able to coherently integrate, without estimating the transmitted bits, up to KT, the total integration time. This lower bound is plotted in Fig. 9 as reference. As expected, coherent integration slightly outperforms noncoherent integration in terms of tracking jitter. This is, however, achieved at the expenses of an increased computational complexity. In Fig. 9, only the impact of thermal noise has been considered, since both theoretical model and simulations do not consider the effect of dynamics and phase noise introduced by the oscillator, and the other electronic devices present the receiver chain. This aspect will be better investigated in Section 7, where some results obtained with real data are presented.

Fig. 9
figure 9

Comparison between coherent and noncoherent integrations in terms of phase tracking jitter. The vertical trends indicate that the simulated loop has lost lock

7 Experimental results

In order to test the proposed discriminators with noncoherent integrations and verify the correct design of the loop filters, a customized version of the University of Calgary’s GNSS Software Navigation Receiver (GSNRx™) [14] has been developed and tested by means of real data. GSNRx™ is a flexible and reconfigurable tool, developed in C++. In this respect, the discriminators with extended coherent and noncoherent integrations have been implemented and integrated in the existing version of the GSNRx™. The loop filters have also been modified according to the methodology described in Section 5.1. Live GPS data have been collected according to the experimental setup described in Fig. 10. The received signal has been progressively attenuated in order to obtain a decreasing C/N 0. Only the case of a static receiver is considered in the paper, and thus, the only dynamics present in the received signal are those caused by the satellite motion and the clock drift. It is noted that the case of a static receiver is usually adopted for testing long integration-based algorithms [4, 5] and that external sensors are generally used to compensate the effect of the user motion under high dynamic conditions.

Fig. 10
figure 10

Experimental setup: The GPS signal has been collected by using two different front-ends. One of the recovered signals has been progressively attenuated in order to obtain different C/N 0 conditions

The GPS signal has been collected using a NI PXI-5661 signal analyzer [26], using the specifications reported in Table 2. After a minute without attenuation, the signal was progressively attenuated with a step of 1 dB every 30 s. It is noted that the decrease in C/N 0 is not directly proportional to the provided attenuation since both signal and noise components were attenuated at the same time. More specifically, the decrease in C/N 0 is caused by both the signal attenuation and the additional noise introduced by the attenuator.

Table 2 Characteristics of the collected GPS signals

In the following, the signal from PRN 02 is analyzed. PRN 02 was selected since it was characterized by the lowest C/N 0. Similar results were obtained by processing the signals transmitted from the other satellites, although higher values of C/N 0 were obtained. In Figs. 11 and 12, the case of a PLL with a 5-Hz bandwidth is considered. More specifically, the C/N 0 and carried Doppler estimates are shown as a function of time. In Fig. 11, the case of noncoherent integration is analyzed, whereas Fig. 12 deals with the case of coherent integrations. For K = 1, the system is able to track the signal for a C/N 0 as low as 14 dB-Hz. When increasing the number of noncoherent integrations, the signal lock is lost at around 14.5 dB-Hz for K = 2 and around 12 dB-Hz for K = 4. On the contrary, when using coherent integration, the lock is lost for increasing C/N 0 when the number of integrations is increased. This could indicate that, for low C/N 0, the process of bit estimation becomes unreliable and the PLL tends to be driven only by noise, causing loss of lock. The results for B n  = 5 Hz are summarized in Table 3.

Fig. 11
figure 11

C/N 0 and carrier Doppler estimated for the PRN 02 as a function of the number of noncoherent integrations. B n  = 5 Hz

Fig. 12
figure 12

C/N 0 and carrier Doppler estimated for the PRN 02 as a function of the number of coherent integrations. B n  = 5 Hz

Table 3 Loss of lock conditions measured for the PRN 02, PLL bandwidth B n  = 5 Hz

In order to further test the advantages brought by long integration, the collected data has been processed by using a PLL bandwidth as narrow as 2 Hz. With such a narrow bandwidth, it was not possible, for K = 1, to obtain a loop able to successfully track the signal. When using noncoherent integrations, the receiver was able to obtain a stable lock, and the signal was successfully tracked for C/N 0 close to 10 dB-Hz, as demonstrated in Fig. 13. The case of coherent integrations is shown in Fig. 14: although the receiver was able to obtain a stable lock, the signal is lost after only about 8.5 min. It is noted that long integrations reduce the variance of the estimated carrier Doppler. This fact was already observed by [7] for long coherent integrations and also holds true for the case of noncoherent integrations, as demonstrated by Fig. 15. In Fig. 15, the carrier Doppler for PRN 02 is shown over a short period of time, better highlighting the impact of increasing noncoherent integrations.

Fig. 13
figure 13

C/N 0 and carrier Doppler estimated for the PRN 02 as a function of the number of noncoherent integrations. B n  = 2 Hz

Fig. 14
figure 14

C/N 0 and carrier Doppler estimated for the PRN 02 as a function of the number of coherent integrations. B n  = 2 Hz

Fig. 15
figure 15

Estimated carrier Doppler for the PRN02. The use of noncoherent integrations reduces the variance of the estimated quantities

The impact of the number of integrations on the observation noise has been further studied by using results from PRN 20. PRN 20 was chosen since it was characterized by an estimated C/N 0 decreasing almost linearly with time. This fact allowed the easy estimation of the variance of the carrier Doppler observation as a function of the C/N 0. In Fig. 16, the evolution of the C/N 0 for PRN 20 is reported as function of time. In Fig. 17, the standard deviation of the carrier phase observation is reported as a function of the measured C/N 0. A PLL bandwidth of 2 Hz was considered and, in this case, the initial C/N 0 was high enough to allow the PLL to also have a stable lock for K = 1.

Fig. 16
figure 16

C/N 0 evolution for the PRN 20

Fig. 17
figure 17

Standard deviation on the carrier Doppler observations as a function of the C/N 0 and the number of integrations

As expected, the standard deviation of the measured carrier Doppler decreases as the C/N 0 increases. Moreover, lower standard deviations are obtained for higher values of K, the number of integrations. It is noted that coherent integrations slightly outperform their noncoherent counterpart. However, the difference is marginal, and it is obtained at the expense of an increased computational load.

8 Future work: generalized memory discriminators

In Section 3, a noncoherent phase discriminator was obtained as Eq. 16

$$ S(\phi) = \frac{1}{2}\angle{\sum_{k = 0}^{K - 1}P^2_k}, $$

where the inner summation was interpreted as a moving average filter. A generalization of such a discriminator can be easily obtained by substituting the moving average filter by a more general filter:

$$ S(\phi) = \frac{1}{2}\angle{\sum_{k = 0}^{+\infty}h_kP^2_k}, $$
(39)

where the coefficients \(\left\{h_k\right\}_{k = 0}^{+\infty}\) define the impulse response of the filter

$$ h[n] = \sum_{k = 0}^{+\infty}h_k\delta[n - k]. $$
(40)

δ[n] denotes the Kronecker delta. The introduction of a general filter h[n] instead of the moving average window is justified by the fact that the oldest samples, P k , should impact the current phase estimation less than the most recent ones. A simple choice for h[n] is represented by the exponential filter defined by

$$ h[n] = (1 - \alpha)\sum_{k = 0}^{+\infty}\alpha^k\delta[n - k] \qquad \mbox{with } 0 < \alpha < 1. $$
(41)

By adopting Eq. 41, the square correlator outputs are progressively deweighted according to the forgetting factor α. This kind of discriminator can be easily implemented using a recursive formula, and it is currently under investigation.

9 Conclusions

In this paper, a noncoherent architecture for GNSS tracking loops has been proposed and analyzed. More specifically, a phase detector, employing several correlator outputs and immune to bit transitions, has been designed according to the ML principle. A fully noncoherent receiver architecture has been obtained by adopting a DLL discriminator with noncoherent integrations. New digital loop filters have been designed by extending the controlled-root formulation to the case of discriminators with memory. This has led to a fully operational GNSS receiver capable of long integration times. The proposed algorithms have been compared with existing methodologies for coherently extending the integration time, resulting in an effective alternative to bit-estimation-based techniques.