Performance Evaluation of Adaptive Tracking Techniques with Direct-State Kalman Filter

This paper evaluates the performance of robust adaptive tracking techniques with the direct-state Kalman filter (DSKF) 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. These kinds of scenarios make difficult the search for a suitable measurement and process noise model, leading to a sub-optimal solution of the DSKF. The loop-bandwidth control algorithm (LBCA) can adapt the DSKF according to the time-varying scenario and improve its performance significantly. This study introduces two methods to adapt the DSKF using the LBCA: The LBCA-based DSKF and the LBCA-based lookup table (LUT)-DSKF. The former method adapts the steady-state process noise variance based on the LBCA’s loop bandwidth update. In contrast, the latter directly relates the loop bandwidth with the steady-state Kalman gains. The presented techniques are compared with the well-known state-of-the-art carrier-to-noise density ratio (C/N0)-based DSKF. These adaptive tracking techniques are implemented in an open software interface GNSS hardware receiver. For each implementation, the receiver’s tracking performance and the system performance are evaluated in simulated scenarios with different dynamics and noise cases. Results confirm that the LBCA can be successfully applied to adapt the DSKF. The LBCA-based LUT-DSKF exhibits superior static and dynamic system performance compared to other adaptive tracking techniques using the DSKF while achieving the lowest complexity.


Introduction
Global navigation satellite system (GNSS) receivers 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,2]. The synchronization consists of two stages: Acquisition and tracking. Acquisition performs a coarse estimate of the synchronization parameters, whereas the tracking stage provides an improved estimate. The latter stage uses the scalar tracking loop (STL) to refine the synchronization of the incoming GNSS signals [3,4]. 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 set to a constant value. In that case, the remainder covariance can be updated based on the LBCA's bandwidth update.
In addition, the DSKF can be simplified considering the convergence of the Kalman gains in the steady-state, referred to as the dashed blue line. This low-complexity tracking scheme is the so-called lookup table (LUT)-DSKF. The LBCA can also be implemented in the LUT-DSKF and directly update the Kalman gains based on the estimated loop bandwidth. This paper evaluates the performance of the LBCA-based DSKF and the LBCAbased LUT-DSKF. These adaptive techniques are compared with the C/N 0 -based DSKF, a well-known state-of-the-art method that adapts R based on the estimated C/N 0 [24]. The DSKF, the LUT-DSKF, and the mentioned adaptive techniques are implemented in the carrier phase synchronization tracking stage of the GOOSE© receiver [29]. Each adaptive technique's tracking performance and system performance are evaluated under simulated scenarios with different dynamics and noise levels. These methods are also compared with the LBCA-based standard STL [7].

ADAPTIVE TECHNIQUES
PREVIOUS RESEARCH [7] CURRENT This research expands a conference paper [20] by describing in detail the relationship between STL and the DSKF, explaining the DSKF's steady-state convergence that leads to the LUT-DSKF, adapting the LUT-DSKF using the LBCA, and improving the scope of the results.
The rest of the paper is organized as follows: Section 2 compares the standard STL with the DSKF, analyzes the steady-state convergence and derives the tracking scheme of the LUT-DSKF. Section 3 shows the architecture of the adaptive techniques used in the DSKF and the LUT-DSKF. The experimental setup and implementation in an open software interface GNSS hardware receiver are described in Section 4. Section 5 presents the adaptive tracking techniques' complexity, tracking performance, and system performance results. These results are discussed in Section 6. Finally, Section 7 concludes and indicates future work.

Tracking Scheme of Direct-State Kalman Filter
The DSKF considers the standard STL as part of the KF [15]. This section describes the relation between standard STL and DSKF and analyzes the DSKF's convergence in the steady-state. First, an overview of the STL's open-loop state space model (SSM) and transfer function will facilitate the comparison of STL with the DSKF. Second, the DSKF is explained, and the equivalence to a standard STL is proven. Third, the process noise covariance matrix Q and measurement noise covariance matrix R are described. Fourth, the Kalman filter's discrete algebraic Riccati equation (DARE) solution leads to the relation between the bandwidth B, the Kalman gains K, R, and Q. Finally, from the DARE's solution, the LUT-DSKF is presented.

Standard Scalar Tracking Loop
The STL's tracking scheme must be revisited to understand the relationship between the standard STL and the DSKF. Figure 2 shows the block diagram of the STL's linear model. The comparator is a linearized discriminator that performs the difference between the input signal's synchronization parameter and the estimated smoothed error s : where n is the sample index, and u is the un-smoothed error that outputs the comparator. The loop filter smooths u and drives the smoothed error rate˙ s to the NCO. Finally, the NCO closes the loop, sending s to the comparator. Depending on the type of discriminator, represents the carrier offset (PLL), the frequency Doppler (FLL), or the code phase offset (DLL). Considering that the backward Euler transform (BET) is used to discretize the STL [30], the open-loop digital SSM representation of a p th -order STL is expressed as follows: . . .
Second, Equations (5) and (6) are combined: Finally, the open-loop transfer function H o (z) is expressed as: where F(z) and N(z) indicate the loop filter's and NCO's transfer function.
The closed-loop transfer function H c (z) is related to H o (z) considering the z-transform of Equation (1): Figure 3 presents a particular case of the STL with p = 3.  The open-loop SSM of a third-order STL is derived from Equations (2) and (3): Suppose the third-order STL is used for carrier phase synchronization. In that case, x 1 , x 2 , and x 3 represent the carrier phase, carrier Doppler, and carrier Doppler rate.
Moreover, based on Equation (10), the open-loop transfer function of the third-order STL H o 3 is expressed as: Consequently, the closed-loop transfer function H c 3 is calculated based on Equation (11):

Direct-State Kalman Filter
The DSKF, as in the KF [10][11][12], is divided into two stages: prediction and update. The prediction step estimates the predicted statex[n] and predicted error covarianceP[n].
x[n] andP[n] are calculated based on the previously updated state x[n − 1], the previously updated error covariance P[n − 1], and the process noise covariance matrix Q[n]: x ∈ p×1 P , P, Q ∈ p×p (18) where the superscript (·) T is the transpose.  (24) where S[n] is the innovation covariance matrix, and I is the identity matrix. The order p and the number of measurements m determine the dimension of the presented variables. This paper assumes only one measurement (i.e., m = 1) to compare the DSKF with the STL. In that case, Equation (1) is the same as Equation (19). Figure 4 shows the linear model of the DSKF considering only one measurement. The innovation block of the DSKF is equivalent to the STL's comparator of Figure 2. The state prediction and update block marked in green correspond to the STL's loop filter and NCO. The main difference between the standard STL and the DSKF is the addition of the Kalman gains' calculation depicted in the dashed yellow block of The SSM of the DSKF is equivalent to the STL's SSM presented in Equations (2) and (3). From this equivalence, the Kalman gains K can be related to the STL's filter coefficients α as:

Process and Measurement Noise Covariance Matrix
The Kalman gains K are calculated for each loop iteration based on Equations (17), (20), (21) and (23). K depends on the process noise covariance Q and measurement noise covariance R. This paper calculates these matrices considering a third-order DSKF for carrier phase tracking. In addition, a constant-acceleration model is assumed [31,32] for the Q calculation. The BET is used to discretize the noise that is added in the acceleration state: where w is the continuous 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 w a in cycles 2 /s 6 and determines the uncertainty of the states. A higher q implies higher state uncertainty, leading to higher confidence in the incoming measurements. On the contrary, a lower the q leads to higher confidence of the states and less dependence on the measurement. The measurement noise covariance R determines the validity of the incoming measurements. A high value indicates an increased uncertainty, whereas a low value defines high confidence. An adequate model for R is the Cramér-Rao bound (CRB) of the STL since it represents the minimum error variance of a time of arrival (ToA) unbiased estimator [33,34]. 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 on 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, R in cycles 2 is represented as [28,34,35]: where (C/N 0 ) l is the linear C/N 0 in Hertz. This relation is commonly used in C/N 0 -based DSKF [24,25].

Steady-State Analysis
In the steady-state region, the Kalman gains K converge to a steady-state value given a constant q and R. The solution of the DARE presents the relation between K, q and R. The expression of the DARE is [36,37]: where P ss is the steady-state convergence of the error covariance matrix P. The following is assumed to facilitate DARE's solution [19]: The resulting P ss for a third-order DSKF is symmetric and defined as: Applying Equations (32) and (33) into Equation (21), the steady-state Kalman gains K ss are represented as:

Equivalent Noise Bandwidth
The digital one-sided equivalent noise bandwidth B d is defined as [38][39][40]: Assuming that the integration time τ int tends to zero, the digital loop bandwidth is equivalent to the analog loop bandwidth B [38][39][40]. The relation between B and the coefficients of a third-order STL is expressed as: Substituting Equations (27) and (34) in Equation (36), the relation between the steadystate equivalent noise bandwidth of a third-order DSKF, q, and R is [5]: Figure 6 shows the relation between q and B for different values of R based on Equation (37). This relationship eases the LBCA implementation in the DSKF since the loop bandwidth update can be related with the covariances. Finally, the relation between the B ss and K ss is calculated based on Equations (34) and (37): 2.6. LUT-DSKF Figure 7 shows the linear model of the LUT-DSKF. The LUT-DSKF is a simplified version of the DSKF that considers the steady-state convergence of K. The loop bandwidth B can be used to set the values of K using Equation (38). Alternatively, q and R can be selected to define K based on Equation (34).

Adaptive Techniques in DSKF
This section describes the three adaptive tracking techniques under evaluation: the C/N 0 -based DSKF, the LBCA-based DSKF, and the LBCA-based LUT-DSKF. Figure 8 shows the non-linear model diagram of the C/N 0 -based DSKF. This technique adapts the measurement noise covariance matrix R while fixing the process covariance matrix Q. In the case of a Costas PLL, the measurement noise covariance R depends on the C/N 0 and the integration time τ int (see Equation (30)).

C/N 0 -Based DSKF
There are several methods to calculate the C/N 0 . The Beaulieu's method is used due to its estimation accuracy and simplicity to estimate the C/N 0 [41,42]. This method is sub-optimal if the carrier phase lock is not achieved. However, it is assumed that the carrier phase is in lock.
where N is the number of observed correlation samples, P n,v is the estimated noise power in the correlation, and P d,v is the signal-plus-noise power. P n,v is represented as: I p is the prompt correlation value of the in-phase component. P d,v is defined as: If the noise contribution is small, the instantaneous signal-plus-noise power P d,v approximates to the signal's power.   Figure 9 shows the architecture of the adaptive DSKF using the LBCA. This technique adapts the loop bandwidth B of the DSKF and, in turn, adapts q while setting R to a constant value based on Equation (37)  In previous studies, the LBCA has been implemented in the standard STL [28]. The LBCA-based STL presented superior tracking and system performance compared to other state-of-the-art techniques while achieving the lowest complexity [7]. This technique adapts the loop bandwidth based on a normalized bandwidth-dependent weighted difference between estimated noise and estimated signal dynamics. The normalized bandwidth B N is the product between the integration time τ int and the loop bandwidth B:

LBCA-Based DSKF
First, the absolute mean |µ u | and the standard deviation σ u of the discriminator's output are estimated. Second, the normalized dynamicsD are calculated: Third, the difference between the normalized dynamics and a normalized-bandwidthdependent weighting function g[n, B N ] is performed: where c is the control value and g Max indicates the maximum value of g[n, B N ]. Finally, the control value updates the current normalized bandwidth B N : whereB is the updated loop bandwidth. The noisy mean and standard deviation estimates can induce some noise instabilities into the updated loop bandwidth. Therefore, a Schmitt trigger is included to reduce these noise instabilities.
Based on the relationship between R, q, and the steady-state loop bandwidth B ss from Equation (37), the updated q can be calculated:

LBCA-Based LUT-DSKF
The convergence of the DSKF's Kalman gains at the steady-state region can reduce the complexity of the algorithm. From the DARE equation (see Equation (31)), the relation between the steady-state Kalman gains K ss , q, and R can be derived (see Equation (34)). This relation simplifies the algorithm as shown in Figure 7. Figure 10 presents the LBCAbased LUT-DSKF. The same steps as in the LBCA-based DSKF to calculate the updated loop bandwidth B[n + 1] are followed (see Equations (43)-(46)). In contrast to the LBCA-based DSKF, the mapping between Kalman gains and loop bandwidth is directly done using Equation (38

Experimental Setup
This section describes the GNSS receiver under test, the configuration of each presented adaptive algorithm, the metric used to determine the tracking and system performance, and the simulated scenarios.

Receiver and Algorithm Implementation
The GOOSE© platform, developed by Fraunhofer IIS and marketed through TeleOrbit GmbH, is a GNSS receiver with an open software interface [29,43]. A picture of the receiver is shown in Figure 11. The receiver contains a customized tri-band radio-frequency front-end (RFFE), a Xilinx Kintex7 field-programmable gate array (FPGA), and a dualcore ARM processor. The RFFE amplifies, filters, downconverts, discretizes the GNSS signals, and sends the digital samples to the FPGA. The analog-to-digital converter (ADC) discretizes each frequency band at a sample rate of 81 MHz and a resolution of 8 bits. The FPGA includes one acquisition module and sixty tracking channels, which the processor can control. The processor performs the acquisition of the incoming digital samples using the acquisition module of the FPGA. The tracking starts once the acquisition achieves a rough estimate of the frequency Doppler f d and code phase τ. The tracking stage of this GNSS receiver is partially implemented in the FPGA (e.g., correlators and NCO) and software (e.g., discriminators and loop filters). This stage consists of three steps. First, the FLL and the DLL refine the acquired f d and τ estimates. Second, the PLL starts and synchronizes with the carrier phase. Finally, the FLL stops and the PLL works unaided when the latter successfully achieves a good lock with the carrier phase. The receiver synchronizes with the navigation data at this stage, and the integration time increases to the symbol period. In the case of Global Positioning System (GPS) L1 C/A, the integration time is increased to 20 ms.
The C/N 0 -based DSKF, the LBCA-based DSKF, and the LBCA-based LUT-DSKF are implemented in the third-order Costas PLL of the GOOSE receiver in software. The time of response of the C/N 0 estimation determines the agility of the measurement's covariance update. This parameter changes according to the accumulated correlation samples N (see Equation (39)). This study evaluates this method's tracking and system performance with N = 100 samples and N = 500 samples. Using an integration time τ int of 20 ms, the response time of the C/N 0 's estimate is 2 s and 10 s, respectively. The steady-state process variance q is set to a constant value. Different values of q are evaluated since this parameter directly impacts on the robustness to signal dynamics.

LBCA-Based DSKF and LUT-DSKF Configuration
The selected weighting function g[n, B N ] is a linear combination of two Sigmoid functions and has the following expression: where Sig(·) is the Sigmoid function [44]. Figure 12 shows the graphical representation of Equation (48). T LBCA is the normalized dynamic threshold and indicates the sensitivity of the algorithm to signal dynamics. In this case, g Max is set to 0.1 and T LBCA to 0.14. This weighting function presented the best results in the LBCA-based PLL [7]. In the LBCA-based DSKF, R is set to 10 −7 cycles 2 . From Figures 6 and 12, one can observe that q varies between 10 −3 cycles 2 /s 6 and 10 cycles 2 /s 6 , considering τ int = 20 ms.

Performance Metric
The metric to evaluate the PLL tracking and system performance is the same as in previous studies [7]. The tracking performance P Tracking evaluates the tracking of a single satellite vehicle (SV), whereas the system performance P System considers all the visible SVs. P Tracking in meters is characterized as: where λ L1 is the wavelength of the GPS L1 C/A signal, σ u θ is the average of the last ten minutes un-smoothed carrier phase error's standard deviation, and σ u LB is the square root of the CRB [7]. σ u θ in cycles is defined as: where K sim is the number of evaluation epochs in samples. The total evaluation time T sim in seconds is: where f log is the data-logging rate in Hertz. σ u LB in cycles is represented as: where the 1 + 1 2τ int C/N 0 term is the squaring loss [1].
The three-sigma rule-of-thumb conservative upper threshold σ th θ u is considered in the tracking performance evaluation. For a two-quadrant phase discriminator, σ th θ u in cycles is expressed as: A low value of P Tracking denotes good tracking performance. If the measured P Tracking from σ u θ is less than P Tracking considering σ th θ u , one can ensure stable tracking and no cycle slips [1]. On the contrary, if the measured P Tracking is bigger than the conservative threshold, the probability of losing the lock increases.
The metric used for the system performance P System is expressed as: where PLI is the average of the phase-lock indicator (PLI) with respect K sim and the accumulated number of tracked SVs N Acc sat , and N sat is the normalized average number of visible satellites being tracked.
The expression of PLI is: and PLI l [n] is calculated based on the prompt in-phase I l p and prompt quadrature Q l p correlation samples of the corresponding l th SV: The second term of Equation (54), N sat , is defined as: where N total sat is the total number of SVs during the simulation. PLI and N sat are normalized. Consequently, P System is also normalized. A value near to one of P System refers to good system performance, whereas a value near zero indicates poor system performance and the possibility of not achieving a PVT solution. The average of P System with respect to the C/N 0 levels leads to a comprised metric P System that evaluates the overall system performance of an adaptive tracking technique: where N C/N 0 is the number of C/N 0 levels.

Evaluation Setup
The evaluation setup is the same as in previous studies [7,20,28]. 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 min simulations of a specific scenario at eight different C/N 0 levels (N C/N 0 = 8). In contrast to previous studies, the selected C/N 0 levels are {25, 29,33,37,41,45,48, 52} dBHz. The simulation always starts at the highest C/N 0 level of 52 dBHz to ensure successful signal acquisition. Next, the C/N 0 level is reduced in 30 second intervals until reaching the desired C/N 0 level. The tracking and system performance are measured considering the last ten minutes of the simulation, T sim = 600 s, in which the correct C/N 0 level is assured.
A static scenario and a dynamic scenario are selected to evaluate the adaptive tracking techniques. The static scenario represents stationary use-cases such as GNSS reference stations, and the dynamic scenario presents harsh vehicular conditions. Figure 13 shows the sky-plots of both scenarios. In the static scenario there are nine SVs during the entire simulation (see Figure 13a). However, SV G1 disappears behind the horizon after two minutes of the simulation. The dynamic scenario shows ten visible SVs (see Figure 13b). As in the static scenario, SV G1 disappears after two minutes of the simulation. Moreover, SV G30 rises above the horizon near the end of the simulation. Therefore, to avoid these transient SVs, SV G1 and SV G30 are not considered, and N total sat is set to eight for both scenarios. The same SVs as previous research are selected to evaluate the tracking performance [7]. The GPS L1 C/A signal of SV G4 is selected to evaluate the static tracking performance, and the GPS L1 C/A signal of SV G17 is assigned for the dynamic tracking performance. The maximum line-of-sight (LOS) signal dynamics for the dynamic simulated scenario is 8.7 g/s [7].

Results
This section evaluates the tracking performance, system performance, number of operations, and time complexity of the adaptive tracking techniques in the DSKF. The dataset used to plot the presented results are available on the cloud [45]. Figure 14 presents the tracking performance P Tracking and system performance P System of the implemented adaptive techniques in a stationary scenario. Four configurations of the C/N 0 -based DSKF using different steady-state process noise variances (q = {10, 100, 1000}) and different correlation samples (N = {100, 500}) are evaluated. Moreover, the LBCAbased DSKF, and the LBCA-based LUT-DSKF are analyzed using the weighting function defined in Equation (48). These adaptive tracking techniques are compared with the LBCA-based STL using the same weighting function. Figure 14a shows that all the presented configurations of the C/N 0 -based DSKF do not lose the lock at any C/N 0 level. The number of correlation samples N does not impact the static tracking performance. In contrast, q has an effect at low C/N 0 levels. An intermediate value of q = 100 cycles 2 /s 6 achieves the lowest results, meaning the best 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 . At high C/N 0 levels, this method presents the same tracking performance as the other techniques. However, at low C/N 0 levels, P Tracking increases significantly, until finally losing the lock at 25 dBHz. The LBCA-based LUT-DSKF does not lose the lock at low C/N 0 levels, but it does not perform better than the C/N 0 -based DSKF. The LBCA-based STL performs best at high C/N 0 levels, but the performance deteriorates at low C/N 0 levels. The weighting function of the LBCA is configured to be robust to signal dynamics, with the cost of a worse performance at low C/N 0 levels. Figure 14b discloses each adaptive tracking technique's system performance (see Equation (54)). All the configurations show a good system performance above 0.8, except for the LBCA-based DSKF at 25 dBHz. While the system performance of this technique at 25 dBHz is lower than 0.6, the PVT has not been lost.  Figure 15 displays the tracking and system performance of the adaptive techniques in a dynamic scenario. SV G17 is challenging to track due to the high LOS jerk dynamics. From Figure 15a, it is observed that a high q and N are required in the C/N 0 -based DSKF to maintain the carrier phase synchronization lock. The C/N 0 -based DSKF achieves best tracking performance with q = 1000 cycles 2 /s 6 and a N = 500 samples, maintaining the lock until 45 dBHz. The LBCA-based DSKF keeps the lock until 38 dBHz. However, this technique presents an error bias compared to the other techniques. This bias exists due to the transitions between the update of q and the Kalman gains' convergence. In contrast to the latter technique, the LBCA-based LUT-DSKF does not contain any error bias, and it performs almost as well as the LBCA-based PLL, keeping the lock until 33 dBHz. The LBCAbased PLL has a superior dynamic tracking performance than the other techniques due to the direct relation between loop bandwidth and filter coefficients. This direct relationship leads to a faster reaction of high signal dynamics.

Dynamic Scenario
The results of the dynamic system performance (see Figure 15b) are consonant with the dynamic tracking performance. All the adaptive tracking techniques can achieve a PVT solution at high C/N 0 levels (38-52 dBHz). The LBCA-based LUT-DSKF and the LBCA-based PLL have the best system performance results, whereas the C/N 0 -based DSKF technique shows poor performance. At low C/N 0 levels, the LBCA-based techniques almost achieve a continuous PVT at 33 dBHz. In contrast to the LBCA-based methods, the C/N 0 -based DSKF only achieves a continuous tracking of one SV.  Table 1 summarizes the obtained results from Figures 14b and 15b using the average system performance P System presented in Equation (58). The labels column of this table is used for further analysis in the discussion. Furthermore, the best static and dynamic system performance is marked green.   Table 2 shows the added number of additions, multiplications, and divisions required for each adaptive technique in the DSKF compared to the standard STL. The total number of operations is marked as red, orange, and green, depending on the level of complexity. The colors vary from the most complex one, marked in red, to the simplest one, marked in green. The presented equivalence between the DSKF and the standard STL (see Figures 4 and 5) shows that only the Kalman gain calculation (i.e., yellow block of Figure 4) must be included. The C/N 0 -based DSKF adapts R based on Equation (30), being q a constant value. In contrast, the LBCA-based DSKF set R to a constant value, while adapting q using the LBCA. This technique needs additional complexity to map the loop bandwidth with the steady-state process variance q (see Equation (47)).

Complexity
The LUT-DSKF significantly reduces the complexity by calculating the convergence of the Kalman gains K in the steady-state. In the LBCA-based LUT-DSKF, the relation between the B and K is used (see Equation (38)) to update the filter coefficients.
In all the LBCA-based techniques, the weighting function of the LBCA technique is approximated using the piecewise linear approximation of nonlinearities (PLAN) technique [7]. Table 3 shows the time complexity of the standard PLL and each adaptive tracking technique. The time complexity measures the algorithm's processing time in software on the processing platform. The same procedure as in previous research is carried out [7]. An Intel Skylake micro-architecture with a clock speed of 3700 MHz is used to evaluate the time complexity of each technique. The code is implemented in C++, and a for-loop is used to iterate the operation of a loop filter 3 × 10 8 times. The processing time of each method is measured using the chrono library [46], and the operf Linux profiler tool is used to analyze the utilization of the used libraries during the algorithm's execution [47]. In addition, the taskset command is used to bind the application process to one single core [48]. Three parameters are shown in Table 3. First, the total time complexity T C in seconds. Second, the average time complexity at each iteration T Iter in nanoseconds: Finally, the added time complexity T Added compared to the standard loop filter T Standard C : While this approach depends on how exemplary the algorithm's software implementation is, the results show a correlation between the number of operations and the time complexity. Figure 16 compares the average system performance P System and the added time complexity T Added of the presented adaptive tracking techniques implemented in a thirdorder DSKF for carrier phase tracking. These graphs summarize the collected results combining Tables 1 and 3. Figure 16a shows that the LBCA-based DSKF T 3 have the worst P System and the highest T Added . In contrast, the LBCA-based LUT-DSKF T 4 achieves the best static P System , although its complexity is higher than the LBCA-based standard PLL T 5 . The state-of-theart C/N 0 -based DSKFs T 1 , T 2 have similar P System , and T Added is between T 4 and T 3 . T 5 presents the lowest T Added with a slightly worse P System than T 4 .

Discussion
In the dynamic scenario, the superior performance of the LBCA-based techniques is clearly observed in Figure 16b. In this case, T 1 and T 2 present the worst P System . In a highly dynamic event, the carrier tracking loop cannot follow the phase dynamics, leading to a fast shift from in-phase to quadrature component. In such a moment, the C/N 0 estimate of Beaulieu's method drops. Consequently, R increases, and the DSKF wrongly stops trusting the incoming carrier phase measurement. This leads to a loss of the carrier lock. In Figure 15a, a greater number of the accumulated correlation samples N and q improves the robustness to dynamics. Then, a further evaluation with higher q and N should improve P System in the dynamic scenario. Among the LBCA-based techniques, T 3 performs the worst. Once T 3 adapts q, time is needed to adjust the Kalman gains to the steady-state values. Due to this latency, T 3 is not fast enough to adapt its coefficients in time, leading to a higher risk of losing the lock at high dynamic scenarios. T 4 experiences no latencies since the steady-state Kalman gains are directly set based on the loop bandwidth update. This method achieves the best P System , followed by T 5 . The scope of this research is to show the extension of the LBCA by applying it to the DSKF. While this has been shown, adding the LBCA into the DSKF to adapt q while fixing R does not present remarkable results, and the complexity increases significantly. Therefore, other methods have been considered to improve the performance and reduce the complexity. The LBCA-based LUT-DSKF presents superior static and dynamic P System among the rest of the adaptive tracking techniques. However, the LBCA-based PLL is less complex than the LBCA-based LUT DSKF, with a slight reduction of the total system performance in both static and dynamic scenarios.

Conclusions
This study presents the first proof of the LBCA's general applicability to any control system by implementing it in the DSKF. First, the relation between the standard STL and the DSKF is presented. Second, DARE's solution relates the DSKF's loop bandwidth, the noise covariances, and the Kalman gains in the steady-state. This relationship eases the implementation of the LBCA into the DSKF, and two approaches are presented: The LBCA-based DSKF and the LBCA-based LUT-DSKF. The LBCA-based DSKF uses the LBCA to adapt q for each loop iteration while setting R to a constant value. In contrast, the LBCAbased LUT-DSKF directly relates the LBCA's loop bandwidth update and the Kalman gains. These adaptive tracking techniques have been evaluated in a third-order Costas PLL. These techniques' complexity and static and dynamic system performance are compared with the state-of-the-art C/N 0 -based DSKF and the LBCA-based standard STL [7]. Results show the superior performance of the LBCA-based LUT-DSKF compared to the other techniques. In terms of complexity, the LBCA-based LUT-DSKF presents less complexity compared to the other adaptive DSKFs. However, this method has greater added time complexity than the LBCA-based standard PLL. In further research, Equation (38) will be merged into the STL to achieve similar time complexity.
An extension of the presented tracking schemes is the implementation of a LUT-DSKF that encloses the DLL, FLL, and PLL of a tracking channel. The use of the LBCA in this tracking architecture can improve the tracking performance in scenarios with different noise and signal dynamics. To cope with scenarios with multipath effects (e.g., in urban scenarios), a multi-frequency LUT-DSKF will be proposed, and the addition of the LBCA will be evaluated. Furthermore, an evaluation in real scenarios of all the LBCA-based techniques will lead to the final verification of the LBCA. This paper opens the door to a range of applications of the LBCA where the KF is involved. The LBCA can be implemented in the tracking stage, the interference mitigation stage (e.g., adaptive notch filtering), and the post-processing stage (e.g., adaptive loose and tightly coupling solutions) of a GNSS receiver. Data Availability Statement: Publicly available datasets were analyzed in this study. This data can be found here: https://owncloud.fraunhofer.de/index.php/s/LGoWPVtV5xbQ9mB (accessed on 14 December 2020).

Conflicts of Interest:
The authors declare no conflict of interest.

Abbreviations
The following abbreviations are used in this manuscript: ADC