Adaptive Techniques in Scalar Tracking Loops with Direct-State Kalman-Filter

This paper evaluates the implementation of an adaptive technique for direct-state Kalman-filter (DSKF)-based scalar tracking loops used in modern digital global navigation satellite system (GNSS) receivers. Under the assumption of a well-known Gaussian distributed model of the states and the measurements, the DSKF adapts its coefficients optimally to achieve the minimum mean square error (MMSE). In time-varying scenarios, the measurements’ distribution changes over time due to noise, signal dynamics, multipath, and non-line-of-sight effects. In this kind of scenarios, it is not easy to find a suitable model, and the DSKF tends to be a suboptimal solution. This study introduces a method to adapt the noise co-variances of the DSKF by using the loop-bandwidth control algorithm (LBCA). The LBCA adapts the loop bandwidth of the DSKF based on the statistics of the tracking channel. The presented technique is compared with the Cramer-Rao bound (CRB)-´ based DSKF, which adjusts the measurement noise covariance depending on the CRB. These two adaptive DSKFs are compared with the LBCA-based standard scalar tracking loop (STL). The LBCA-based DSKF, the CRB-based DSKF, and the LBCA-based standard STL are implemented in an open software interface GNSS hardware receiver. For each implementation, the receiver is evaluated in simulated scenarios with different dynamics and noise cases. The results confirm that the LBCA-based DSKF exhibits superior dynamic tracking performance than the CRB-based DSKF. Moreover, the LBCA-based standard STL still shows the best dynamic tracking performance, while having the lowest complexity.

Abstract-This paper evaluates the implementation of an adaptive technique for direct-state Kalman-filter (DSKF)-based scalar tracking loops used in modern digital global navigation satellite system (GNSS) receivers. Under the assumption of a well-known Gaussian distributed model of the states and the measurements, the DSKF adapts its coefficients optimally to achieve the minimum mean square error (MMSE). In timevarying scenarios, the measurements' distribution changes over time due to noise, signal dynamics, multipath, and non-line-ofsight effects. In this kind of scenarios, it is not easy to find a suitable model, and the DSKF tends to be a suboptimal solution. This study introduces a method to adapt the noise covariances of the DSKF by using the loop-bandwidth control algorithm (LBCA). The LBCA adapts the loop bandwidth of the DSKF based on the statistics of the tracking channel. The presented technique is compared with the Cramér-Rao bound (CRB)based DSKF, which adjusts the measurement noise covariance depending on the CRB. These two adaptive DSKFs are compared with the LBCA-based standard scalar tracking loop (STL). The LBCA-based DSKF, the CRB-based DSKF, and the LBCA-based standard STL are implemented in an open software interface GNSS hardware receiver. For each implementation, the receiver is evaluated in simulated scenarios with different dynamics and noise cases. The results confirm that the LBCA-based DSKF exhibits superior dynamic tracking performance than the CRBbased DSKF. Moreover, the LBCA-based standard STL still shows the best dynamic tracking performance, while having the lowest complexity.

I. INTRODUCTION
Modern global navigation satellite system (GNSS) receivers need to synchronize with GNSS signals to decode the navigation message, measure the pseudo-range and pseudo-range rate, and calculate a position, velocity, and time (PVT) solution [1]. The synchronization consists of two stages: acquisition and tracking. Acquisition performs a coarse estimate of the synchronization parameters, whereas the tracking stage provides a more accurate estimate of those.
In this last stage, the scalar tracking loop (STL) is used to refine the synchronization of incoming GNSS signals [1], [2]. The STL replicates a synchronization parameter for every loop iteration. The synchronization lock is achieved when the difference between the true parameter and its replica (i.e., the estimation error) tends to zero [3]. The carrier phase θ, the carrier Doppler f d , and the code phase τ are the GNSS signal parameters in which the GNSS receiver must synchronize. Therefore, a tracking channel is composed of three STLs: phase locked loop (PLL), frequency locked loop (FLL), and delay locked loop (DLL). A correlator, a discriminator, a loop filter, and a numerically controlled oscillator (NCO) compose the STL [2], [4]. The type of discriminator, the loop bandwidth B, the integration time τ int , the order p, and the correlator spacing are the STL configuration parameters. These parameters determine the robustness against noise and signal dynamics. The well-known trade-off between noise filtering capabilities and signal dynamics resistance is the main problem of standard STLs with fixed configurations. For instance, a high-order STL with big loop bandwidth and short integration time is adequate to track rapidly changing parameters. In contrast, a low-order STL with small loop bandwidth and long integration time is preferable to track noisy parameters.
There is an important need to improve the synchronization stage under time-varying harsh scenarios since the standard STL is inefficient due to its fixed configuration. Time-varying scenarios are characterized by different realizations of signal dynamics, noise, and fading effects. These changing effects put the synchronization capability to the test [1]. Since traditional tracking lacks resilience due to its fixed configuration [5], there has been significant research towards robust tracking solutions to solve this problem [6]. However, there is still ample investigation to find the best technique in terms of performance and complexity [7].
A solution to achieve the best synchronization is the Kalman filtering (KF): a controlled feed-back loop using a proportional integrator (PI) controller that permits the adaptation of the filter's coefficients optimally [8]. These coefficients change in order to achieve the minimum mean square error (MMSE). There are several ways the KF can be implemented in the STL [9]. Two categories can be distinguished: direct-state Kalman-filter (DSKF) and error-state Kalman-filter (ESKF) [10]. The former is simpler to implement because it considers the whole STL as part of the KF. The Kalman gains of the DSKF are directly related to the coefficients of the standard STL. The latter category substitutes the loop filter of the STL with the KF. The complexity to obtain a direct relation between the ESKF and the standard STL increases significantly compared to the DSKF.
The MMSE is only achieved if there is good knowledge of the process noise covariance Q and measurement noise covariance R [11]. If this is not the case, the KF tends to a suboptimal solution [12]. The difficulty of finding the correct values of Q and R increases even more in time-varying scenarios since those are continuously changing. In previous studies, different adaptive Kalman filter (AKF) tracking techniques are proposed to try to solve this problem. One solution can be to implement a Cramér-Rao bound (CRB)-based DSKF, in which the measurement noise covariance R depends on the CRB of the STL [13]. The process noise covariance Q of the DSKF can be also adapted according to the dynamic stress error [14]. Another solution is the implementation of an ESKF combining long non-coherent integrations to improve tracking sensitivity [15]. Also, a weighted adaptive ESKF can be implemented for scenarios with unknown carrier-to-noise density ratio (C/N 0 ) [16]. This paper presents the implementation of an adaptive DSKF using the loop-bandwidth control algorithm (LBCA) technique. The LBCA adjusts the loop bandwidth of the DSKF based on the statistics of the discriminator's output [17]. Due to the relation between the loop bandwidth and the process noise covariance matrix Q, Q is updated based on the algorithm's bandwidth update. The adaptive DSKF is implemented in the GOOSE receiver [18]. The GOOSE receiver is a GNSS receiver with an open software interface. The tracking performance of the LBCA-based DSKF is evaluated under simulated scenarios with different dynamics and noise levels. This technique is compared with the CRB-based DSKF and the LBCA-based standard STL.
The novelty of this research starts by explaining the relationship between the DSKF and the standard STL. This relation establishes a connection between the loop bandwidth and the Kalman gains of the DSKF. This connection eases the implementation of the LBCA technique in the DSKF. The main novelty resides in the implementation of the LBCAbased DSKF in the GOOSE receiver. The rest of the paper is organized as follows. Section II describes the state space model (SSM) and the KF algorithm's transfer function, introduces the DSKF, and relates it with the standard STL. Section III shows the architecture of the LBCA-based DSKF. Section IV presents the experimental setup and the achieved results. Finally, Section V concludes and indicates future work.

II. KALMAN FILTER-BASED SCALAR TRACKING LOOP
This section describes the KF algorithm. Next, the SSM representation and the transfer function of the KF are shown. Finally, the DSKF is described, and the relation with a standard STL is presented.

A. Kalman Filter Algorithm
The KF is divided into two stages: prediction and update. The prediction step estimates the predicted statex[n] and predicted error covarianceP[n] based on the previous updated state x[n − 1] , the previous updated error covariance P[n − 1] and the process noise covariance matrix Q[n]:x (1) where A is the state matrix. (3) where S[n] is the innovation covariance matrix, H is the observation matrix and I is the identity matrix. The order p and the number of measurements m determine the dimension of the presented variables:  (6)). For the sake of simplicity, the Kalman gain calculation is not included. The open-loop SSM representation can be obtained combining Equation (1) and Equation (6):

B. State Space Model and Transfer Function
where s ∈ R m×1 is the estimated measurement vector based on the predicted state. The open-loop transfer function H o (z) of the KF can be calculated using the presented SSM. First, the z-transform Z(·) of Equation (8) and Equation (9) is done: Second, Equation (10) and Equation (11) are combined: The dimension of H o (z) depends on the number of measurements: H o (z) ∈ R m×1 . Assuming one measurement, m = 1, the open-loop transfer function is expressed as:

C. Direct-State Kalman Filter based Scalar Tracking Loop
The DSKF-based STL considers the synchronization parameters of the incoming GNSS signals (i.e., carrier phase, carrier Doppler, code phase) as measurements. The measurement residuals or the innovations are the discriminator's output. An example is addressed assuming a third-order state DSKF with one measurement. The Backward Euler approximation is used to define the discrete state matrix A [19]. This eases the comparison with the digital backward Euler transform (BET) STL [5].
The open-loop SSM representation of the third-order DSKF example is characterized as: where u is the unsmoothed error of the carrier phase, carrier Doppler or code phase, s is the smoothed estimate of the error, and τ int is the integration time. Deriving Equation (13) based on Equation (14) and Equation (15), the open-loop transfer function of the third-order DSKF is expressed as: The open-loop transfer function H o3 can be related with the standard STL. Equation 17 shows that H o3 can be divided into the transfer function of a standard loop filter and an NCO. This concludes with the relationship between the Kalman gains and the standard STL coefficients: where α l is the l th coefficient of the STL [5]. Figure 2 shows an equivalent representation of Figure 1, that eases the comparison with standard STLs. The digital one-sided equivalent noise bandwidth B d is defined as: where H c (z) is the closed-loop transfer function. Assuming that the integration time τ int tends to zero, the digital loop bandwidth is equivalent to the analog loop bandwidth B [20]- [22]. The relation between the loop bandwidth and the coefficients of a third-order STL is expressed as:

D. Process Noise, Measurement Noise and Loop Bandwidth
The Kalman gain K is calculated for each loop iteration based on Equations (2), (4), (5), and (7). K depends on the process noise covariance Q and measurement noise covariance R. In this paper, these matrices are calculated considering a third-order DSKF that is implemented in a PLL. For the Q calculation, a constant-acceleration particle is assumed [23], [24]. The BET is used to discretize the noise that is added in the acceleration state: where w is the continuous random noise vector, w k is the discretized noise vector, and w a is the zero-mean Gaussian distributed perturbation that suffers the acceleration in cycles/s 3 . Q is obtained performing the variance of the discretized noise: where q is the variance of the random process w a in cycles 2 /s 6 . This value determines the uncertainty of the states. A higher q implies higher state uncertainty, leading to higher confidence in the incoming measurements. On the contrary, the lower the q, the higher confidence of the states and the measurement is less considered. The measurement noise covariance R determines the validity of the incoming measurements. A high value indicates higher uncertainty, whereas a low value determines a higher confidence. An adequate model for R is the CRB of the STL, since it represents the minimum error variance of a time of arrival (ToA) unbiased estimator [25], [26]. In this case, the measurement residual of the DSKF is the discriminator's output u of an STL. The CRB of u is achieved when the error estimation does not feedback additional noise. Only the thermal noise of the incoming error parameter is present. If the carrier phase offset parameter ( = θ) is taken as a measurement, and under the assumption of a two-quadrant discriminator, its variance in cycles 2 can be represented as: where C/N 0l is the linear C/N 0 in Hertz. This relation is commonly used in CRB-based DSKF.
In the steady-state region, the kalman gains tends to a steady-state value given a constant q and R. Since the Kalman gains are directly related with the loop filter coefficients, and, in turn, with the loop bandwidth, a relation between the steadystate loop bandwidth B ss , q and R can be achieved [2], [27], [28]. For a third-order DSKF, this relation is expressed as: Figure 3 shows the relation between q and B for different values of R based on Equation (25). This relationship eases the LBCA implementation in the DSKF since the loop bandwidth update can be related with the covariance matrices. III. LBCA-BASED DSKF This section describes the architecture of the LBCA-based DSKF. In previous studies, the LBCA has been implemented in the traditional STL [5]. The LBCA-based STL presented superior tracking and system performance compared to other state-of-the-art techniques while achieving the lowest complexity. This technique updates the loop bandwidth based on the current normalized bandwidth B N [n] (i.e., the product between the integration time τ int and the loop bandwidth B) and a control value c[n]: The control value is a weighted difference between the normalized noise N [n] and normalized dynamic D[n] estimates of the discriminator's output: where g[n, B N ] is a normalized loop-bandwidth dependent weighting function, and g Max is the maximum value of g[n, B N ]. The normalized estimates are represented as:  where µ | u | is the mean of the discriminator's output absolute value, and σ u is the standard deviation of the discriminator's output.
The selected weighting function g[n, B N ] is the one that presented best results in the LBCA-based STL [5]: where Sig is the Sigmoid function [29]. Figure 4 shows the architecture of the adaptive DSKF using the LBCA. This technique adapts the process noise covariance matrix Q while setting the measurement noise covariance R to a constant value. Due to the relation between q, R and the loop bandwidth B (see Equation (25)), it is possible to implement this adaptive algorithm in a direct way. This technique is evaluated setting R to 10 −7 cycles 2 .
A. Complexity Table I shows the added complexity of the implemented adaptive DSKFs compared to the standard STL. The complexity is based on the number of required additions, multiplications, and divisions. The added complexity of the CRBbased DSKF is also added. CRB-based DSKF adapts R based on Equation (24), being q a fixed value. Compared to the LBCA-based DSKF, the innovation covariance S has more complexity. However, the complexity of the LBCA technique is not included. In the LBCA-based DSKF, The complexity of Equation (25) is not added since a Lookup table (LUT) is used to map the loop bandwidth B and the process error covariance q. Also, the weighting function of the LBCA technique is approximated using the piecewise linear approximation of nonlinearities (PLAN) technique [5].

IV. RESULTS
This section describes the test setup to evaluate the LBCAbased DSKF and the CRB-based DSKF and presents the static and dynamic tracking performance results. The dataset used to plot the presented results are available on the cloud [30].

A. Evaluation Setup
The evaluation setup is the same as in previous studies [5], [7], [17]. The Spirent GSS9000 radio-frequency constellation simulator (RFCS) generates controlled scenarios at different C/N 0 and signal dynamics levels. The simulator is configured to perform 20 minutes simulations of a specific scenario at different C/N 0 levels. A static scenario and a dynamic scenario are selected to evaluate the adaptive DSKF. In the static scenario, the Global Positioning System (GPS) L1 C/A signal of satellite vehicle (SV) 04 is selected to evaluate the static tracking performance. For the dynamic scenario, the GPS L1 C/A signal of SV 17 is used to evaluate the dynamic tracking performance. The maximum line-of-sight (LOS) signal dynamics for this dynamic simulated scenario is 8.7 g/s.
The simulator is connected to the GOOSE© platform: a GNSS receiver with an open software interface [18], [31]. The tracking stage of this GNSS receiver is partially implemented in hardware (e.g., correlators and NCO) and software (e.g., discriminators and loop filters). Once the acquisition coarsely  estimates the frequency doppler f d and the code phase τ , the FLL and the DLL try to achieve a more accurate synchronization. The PLL is enabled when a more refined estimate of f d is achieved. First, the FLL assists the PLL until the latter achieves a good lock. Next, the FLL is disabled, and the PLL works unaided. At this stage, the receiver performs the synchronization with the navigation data and the integration time increases to the symbol period. Since the evaluation is done using GPS L1 C/A, the integration time is increased to 20 ms. Due to the equivalence between the DSKF and the standard STL, only the required algorithms to update the coefficients (i.e., the Kalman gains) must be implemented. These algorithms are implemented in software. This section evaluates a third-order DSKF-based Costas PLL using the presented adaptive algorithms: LBCA-based DSKF and CRB-based DSKF. Figure 5 presents the tracking performance P Tracking of the implemented adaptive techniques in DSKF-based PLL. The LBCA-based DSKF is compared with three configurations of the state-of-the-art CRB-based DSKF. Moreover, the tracking performance of the LBCA-based standard PLL is included [5].

B. Tracking Performance
In the LBCA-based DSKF, q starts with an initial value of 10 cycles 2 /s 6 and is adapted based on the LBCA's loop bandwidth update, while R is fixed to 10 −7 cycles 2 . Each configuration of the CRB-based DSKF presents a different constant q value, and R is adjusted based on the CRB.
The metric used to evaluate the PLL tracking performance has the following form [5]: where λ is the wavelength of the GNSS signal, σ u θ is the average of the last ten minutes un-smoothed carrier phase error's standard deviation, and σ u LB is the CRB's root square (see Equation (24)). Also, the three-sigma rule-of-thumb conservative upper threshold σ th θ u is included in Figure 5. If σ u θ is less than this threshold, one can ensure a stable tracking and no cycle-slips [1]. For a two-quadrant phase discriminator, the three-sigma rule-of-thumb has the following value: In the static scenario, these techniques achieve similar static tracking performance at high C/N 0 levels. At low C/N 0 , the LBCA-based PLL loses the lock because the LBCA is configured to be very sensitive to dynamics. The LBCA-based DSKF, with the same configuration as in the LBCA-based PLL, can maintain the lock at 28 dBHz. All the CRB-based DSKF configurations present superior static performance compared to the other techniques at low C/N 0 . At a C/N 0 equal to 24 dBHz, the CRB-based DSKFs with q = 10 and q = 100 achieve the tracking lock. In contrast, the configuration with q = 1000 loses lock due to its increased sensitivity to dynamics.
In the dynamic scenario, all the CRB-based DSKFs lose the tracking lock except q = 1000 at high C/N 0 levels. The LBCA-based DSKF achieves better dynamic performance than the rest of the DSKFs, maintaining the lock until 36 dBHz. However, this technique presents worse performance than the LBCA-based PLL. The LBCA-based DSKF updates the q value, and some time is needed to converge to the desired filter's coefficients. Consequently, it takes time to achieve the desired steady-state loop bandwidth, and the tracking loses lock due to slow reaction. On the contrary, in the LBCA-based PLL, there is a direct relationship between the loop bandwidth and the coefficients, leading to a faster reaction and, in turn, a better dynamic performance.

V. CONCLUSION
This paper evaluates the tracking performance of an adaptive DSKF-based PLL using the LBCA technique. First, the relation between the KF and the DSKF is presented. The Kalman gains are the product between the filter's coefficients and the integration time. This relationship eases the implementation of the DSKF in the tracking stage. Second, the connection between the loop bandwidth and the noise covariances of the DSKF is shown, facilitating the implementation of the LBCA in the DSKF. Third, the structure of the LBCA-based DSKF is described. The LBCA's loop-bandwidth update adapts q for each loop iteration while setting R to a constant value. Fourth, the static and dynamic tracking performance of the LBCAbased DSKF, CRB-based DSKF and LBCA-based standard PLL are presented. The results show that the CRB-based DSKF acheives better static performance than the LBCAbased DSKF at low C/N 0 levels. However, in the dynamic scenario, the LBCA-based DSKF outperforms the CRB-based DSKF.
Standard STLs present fixed loop damping and decayrate parameters [20]. In contrast, the DSKF changes those parameters until they converge to optimal values in the steadystate region. The LBCA-based DSKF tries to adapt the filter's coefficients in order to achieve optimal performance in timevarying scenarios. Therefore, the LBCA-based DSKF was expected to have comparable or better performance than the LBCA-based traditional PLL. However, the contrary has been observed. Although the LBCA-based DSKF tries to adjust the coefficients optimally, the adaption is not fast enough, leading to a higher risk of losing the lock at high dynamic scenarios. The fact that adaptive DSKF-based PLL is not better than traditional PLL using the same LBCA technique under high signal dynamics is an important observation based on our studies and one of the main findings in this paper.