Next Article in Journal
Compact Dual-Polarized Vivaldi Antenna with High Gain and High Polarization Purity for GPR Applications
Next Article in Special Issue
Influence of Noise-Limited Censored Path Loss on Model Fitting and Path Loss-Based Positioning
Previous Article in Journal
Quality Control of PET Bottles Caps with Dedicated Image Calibration and Deep Neural Networks
Previous Article in Special Issue
Computational Load Analysis of a Galileo OSNMA-Ready Receiver for ARM-Based Embedded Platforms
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Evaluation of Adaptive Loop-Bandwidth Tracking Techniques in GNSS Receivers †

by
Iñigo Cortés
1,*,
Johannes Rossouw van der Merwe
1,
Jari Nurmi
2,
Alexander Rügamer
1 and
Wolfgang Felber
1
1
Satellite Based Positioning Systems Department, Fraunhofer IIS, Nordostpark 84, 90411 Nuremberg, Germany
2
Electrical Engineering, Tampere University, 33014 Tampere, Finland
*
Author to whom correspondence should be addressed.
This paper is an extended version of our paper published in Cortés, I.; Iñiguez de Gordoa, J.A.; van der Merwe, J.R.; Rügamer, A.; Felber, W. Performance and complexity comparison of adaptive loop-bandwidth tracking techniques. In Proceedings of the 2020 International Conference on Localization and GNSS (ICL-GNSS), Tampere, Finland, 2–4 June 2020; pp. 1–7.
Sensors 2021, 21(2), 502; https://doi.org/10.3390/s21020502
Submission received: 14 December 2020 / Revised: 8 January 2021 / Accepted: 9 January 2021 / Published: 12 January 2021

Abstract

:
Global navigation satellite system (GNSS) receivers use tracking loops to lock onto GNSS signals. Fixed loop settings limit the tracking performance against noise, receiver dynamics, and the current scenario. Adaptive tracking loops adjust these settings to achieve optimal performance for a given scenario. This paper evaluates the performance and complexity of state-of-the-art adaptive scalar tracking techniques used in modern digital GNSS receivers. Ideally, a tracking channel should be adjusted to both noisy and dynamic environments for optimal performance, defined by tracking precision and loop robustness. The difference between the average tracking jitter of the discriminator’s output and the square-root Cramér-Rao bound (CRB) indicates the loops’ tracking capability. The ability to maintain lock characterizes the robustness in highly dynamic scenarios. From a system perspective, the average lock indicator is chosen as a metric to measure the performance in terms of precision, whereas the average number of visible satellites being tracked indicates the system’s robustness against dynamics. The average of these metrics’ product at different noise levels leads to a reliable system performance metric. Adaptive tracking techniques, such as the fast adaptive bandwidth (FAB), the fuzzy logic (FL), and the loop-bandwidth control algorithm (LBCA), facilitate a trade-off for optimal performance. These adaptive tracking techniques are implemented in an open software interface GNSS hardware receiver. All three methods steer a third-order adaptive phase locked loop (PLL) and are tested in simulated scenarios emulating static and high-dynamic vehicular conditions. The measured tracking performance, system performance, and time complexity of each algorithm present a detailed analysis of the adaptive techniques. The results show that the LBCA with a piece-wise linear approximation is above the other adaptive loop-bandwidth tracking techniques while preserving the best performance and lowest time complexity. This technique achieves superior static and dynamic system performance being 1.5 times more complex than the traditional tracking loop.

1. Introduction

A global navigation satellite system (GNSS) receiver needs to maintain lock on the satellite signals in order to decode their navigation message and determine the pseudorange [1]. Locking onto and following the signal’s Doppler frequency, carrier phase, and code phase is referred to as tracking [2]. A GNSS receiver must utilize the best possible means to track the signals since it leads to a better pseudo-range estimation, and in turn, to a more precise and reliable position, velocity, and time (PVT) solution. However, noise, receiver dynamics, and multi-path effects make this a challenging task.
Before tracking can be initiated, the signal must first be acquired: a coarse synchronization of the carrier and code is determined for each received GNSS signal [1]. The tracking uses this coarse estimation to initialize the scalar tracking loops (STLs). These loops improve the estimates by continuously monitoring the signal. They synchronize to the carrier frequency and Doppler offset with a frequency locked loop (FLL), the carrier phase with a phase locked loop (PLL), and the code phase with a delay locked loop (DLL). An STL tracks each of the received GNSS signals independently from the others. An alternative approach is to track and adapt the channels jointly with vector tracking (VT) [3], but currently there are several hardware implementation issues that currently limit practical use [4]. Therefore, VT is not considered for the remainder of the paper. The conventional digital tracking loop consists of a correlator, a discriminator, a loop filter, and a numerically controlled oscillator (NCO) [5]. The integration time τ int , the correlator spacing, the discriminator type, the order, the noise bandwidth of the loop filter, and the oscillator determine the tracking performance at a given carrier-to-noise density ratio (C/N0).
Depending on the scenario, different loop settings are ideal. Dynamics stress the tracking loop’s accuracy, whereas noise limits precision [6,7]. The former is characterized by changes in position, velocity, acceleration, jerk, or even higher orders of dynamics. The latter arises due to the thermal noise, the oscillator phase noise, quantization noise, signal interference, and other noise sources [8]. Multi-path, fading effects, and scintillation also shape the noise and introduce biases [9]. The loop bandwidth of conventional STLs presents a trade-off between the ability to stay locked in the presence of dynamics and the amount of filtered noise to achieve better precision [6]. A large loop bandwidth is ideal for dynamic scenarios, as it presents tracking lock robustness, but results in low noise rejection and limits precision. A small loop bandwidth is suitable for noisy scenarios, as it rejects most noise, but dynamics can easily disrupt the loop and break the lock. Therefore, loop bandwidth tuning directly impacts tracking loop performance. However, it is impossible to choose a single, static value ideal for all scenarios and signals. Further, the geometry, path-loss, and environment between the receiver and each satellite in the constellation directly impact each signal’s dynamics and noise. Hence, even in a single scenario, each signal has an ideal loop bandwidth, which requires individualized tuning.
Adaptive loop-bandwidth tracking techniques address this problem by adapting the loop bandwidth of the STL depending on the scenario conditions [7]. These techniques determine a suitable loop bandwidth based on the tracking channel’s behavior. One method is the fast adaptive bandwidth (FAB) technique [10,11,12,13]. It uses a loop bandwidth dependent cost function, which serves to estimate the loop bandwidth in the next iteration. A second method is the fuzzy logic (FL) technique [14,15]: This technique updates the loop bandwidth based on a fuzzy decision of adequate inputs. The inputs can be any tracking channel information such as the discriminator’s output and its statistics. A third technique is the loop-bandwidth control algorithm (LBCA) [16]. This algorithm updates the loop bandwidth performing a weighted difference of estimated noise and estimated signal dynamics. Alternative tracking methods with Kalman filtering (KF) are promising and have gained popularity in the literature [17,18,19,20,21,22,23]; however, this approach still has some hardware implementation limitations and will not be considered for the remainder of the paper.
This paper expands a conference paper [7] by including the theory of adaptive tracking techniques and improving the scope of the results. It implements various adaptive loop-bandwidth tracking techniques on a GNSS receiver and verifies them. Furthermore, it presents a method to evaluate the performance and complexity of these techniques. The FAB, the FL, and the LBCA are implemented in the GOOSE© receiver [24,25]. The GOOSE receiver is a GNSS receiver with an open software interface. This receiver is tested in simulated scenarios with different dynamics and noise cases. This paper aims to achieve a static and dynamic system performance comparison between different adaptive tracking techniques. The system performance is also compared with the complexity of each implemented algorithm. It leads to a complete evaluation of the implemented adaptive tracking techniques.
The rest of the paper is organized as follows. Section 2 presents a detailed STL background, followed by a precise description of the implemented variable loop-bandwidth tracking techniques in Section 3. Section 4 analyzes the metric used to evaluate the tracking and system performance and evaluates the complexity of adaptive loop-bandwidth tracking techniques. The experimental setup and implementation in an open software interface GNSS hardware receiver are described in Section 5. Section 6 presents the results of the adaptive loops. These results are synthesized and discussed in Section 7. Finally, Section 8 concludes and indicates future work.

2. Scalar Tracking Loops

This section presents an introduction to standard digital STLs. Two models explain the operation of the STL. First, the non-linear model in the discrete-time domain describes the main components of an STL. Second, a linear model in the z-domain addresses the STL transfer function and the STL discrete state space model (SSM). These two representations include sufficient background to describe the behavior of STLs fully.

2.1. Non-Linear Model

GNSS receivers commonly deploy FLLs, PLLs, and DLLs [1]. All three of these loops track a different signal parameter (i.e., Doppler frequency, carrier phase, or code phase) but have similar architectures. Figure 1 shows the non-linear STL model in the discrete-time domain [2]. The STL consists of a detector, a loop filter, an NCO, and a replica generator.
The first STL component is the detector. The detector calculates the error ϵ u [ n ] of the representative tracking parameter. The error ϵ u [ n ] is determined by comparing the incoming signal y [ m ] and an estimated replica of the signal y ^ [ m ] . Figure 2 presents the general structure of a detector. A GNSS receiver correlates an input signal with a locally generated replica to retrieve the GNSS signal. Therefore, a multiplier and an integration and dump (IAD) stage correlate a vector on input data samples, to extract the correlation in-phase and quadrature-phase (IQ) samples. The correlator decimates the signal to a sample-rate related to the integration time τ int , resulting in multi-rate processing. The noise (i.e., the variance of the error ϵ u [ n ] ) is inversely proportional to the integration time τ int of the IAD. Hence, the larger the integration time τ int , the higher the processing gain—the less noisy the errors ϵ u [ n ] . However, with larger integration time, the loop response becomes slower, and consequently, it is less sensitive against signal dynamics. The last component of the detector is the discriminator function. It determines the error ϵ u [ n ] for a specific signal parameter (i.e., Doppler frequency, carrier phase, or code phase) based on the correlation IQ samples. Each tracked signal parameter requires a different discriminator.
The second component of the STL is the loop filter. It shapes the noisy errors ϵ n [ n ] to a smoothed error rate ϵ ˙ [ n ] . Hence, the filter input is an un-smoothed signal, and the filter output a smoothed one. The loop bandwidth affects the response time and noise suppression capabilities of the loop filter. Small loop bandwidths are ideal for suppressing unwanted noise, whereas large loop bandwidths respond quicker to signal dynamics. The loop filter is typically implemented as an infinite impulse response (IIR) filter [1,2,5]. The order of the IIR loop filter regulates the robustness of the tracking against high-order dynamics. A higher-order loop filter can track higher-order components of the error signal but adds complexity, and the possibility for instability in the system. The resulting smoothed error rate ϵ ˙ s [ n ] drives an NCO. The NCO integrates the output of the loop filter and sends the smoothed error ϵ s [ n ] to the replica generator. The replica generator reconstructs a new estimate y ^ [ m ] for the for the signal. The tracking loop minimizes the error ϵ u [ n ] such that the generated replica signal y ^ [ m ] converges to the input signal y [ m ] .

2.2. Linear Model

The linear model of an STL simplifies Figure 1 by removing the non-linear mapping of the discriminator and the multi-rate conversion of the correlator [2]. A discrete approximation of continuous-time systems is performed. This section considers the backward Euler transform (BET) [26,27] as it is used in current STL implementations. Figure 3 presents the linear model in the z-domain. The input signal ϵ [ n ] represents the carrier phase offset, the frequency Doppler, or the code phase offset of the input signal y [ m ] . The same functional blocks to Figure 1 are visible, but linearized.
The STL transfer function is often analyzed without considering the SSM representation analysis. This hinders the comparison with other tracking methods that are commonly represented by its SSM representation (e.g., KF-based STLs). Therefore, it is necessary to consider the transfer function and SSM representation since they are valuable concepts that serve to understand the STL behavior fully. From Figure 3, the controllable canonical form of the discrete SSM can be calculated [28]:
x p × 1 [ n ] x p × 1 [ n 1 ] τ int = 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 A cont p × p x p × 1 [ n ] + α p 1 α p 2 α 0 B cont p × 1 ϵ u [ n ]
ϵ s [ n ] = 1 0 0 0 C cont 1 × p x p × 1 [ n ] = x 1 [ n ]
where x is the discrete state vector, p is the order of the STL, A cont is the state matrix, B cont is the input matrix, and C cont is the output matrix of the SSM in the continuous-time domain. B cont contains the coefficients α k of the STL. Equation (1) can be further developed:
x p x 1 [ n ] = ( I p × p A cont p × p τ int ) 1 A discr p × p x p × 1 [ n 1 ] + ( I p × p A cont p × p τ int ) 1 B cont p × 1 τ int B discr p × 1 ϵ u [ n ]
where I p × p is the identity matrix, A discr the discrete state matrix and B discr the discrete control matrix.
Extending the previous equation, the following expression is achieved:
x p × 1 [ n ] = 1 τ int τ int 2 τ int p 1 0 1 τ int τ int p 2 0 0 0 τ int 0 0 0 1 x p × 1 [ n 1 ] + k = 0 p 1 α k τ int p k k = 0 p 1 α k τ int p k 1 α 0 τ int ϵ u [ n ]
Performing the z-transform Z ( · ) of Equations (2) and (4), the open loop transfer function H o ( z ) of the discrete SSM can be obtained:
H o ( z ) = Z ( ϵ s ) Z ( ϵ u ) = C cont 1 × p I p × p A discr p × p z 1 1 B discr p × 1 = = k = 0 p 1 α k τ int p k ( 1 z 1 ) p k = k = 0 p 1 α k τ int p k 1 ( 1 z 1 ) p k 1 F ( z ) τ int 1 z 1 k = 0 p 1 α k τ int p k 1 ( 1 z 1 ) p k 1 N ( z )
where F ( z ) is the transfer function of the loop filter and N ( z ) the transfer function of the NCO.
From the open loop transfer function, the closed loop transfer function H c ( z ) can be obtained:
H c ( z ) = Z ( ϵ s ) Z ( ϵ ) = H o ( z ) 1 + H o ( z ) = F ( z ) · N ( z ) 1 + F ( z ) · N ( z )
The zeros and poles of the closed loop transfer function depend on the coefficients of the tracking loop α k and the integration time τ int . Hence, the one-sided normalized bandwidth B N of the closed-loop transfer function is dependant on these coefficients:
2 B N ( α 0 , α 1 , , α p 1 ) = 2 B ( α 0 , α 1 , , α p 1 ) τ int = 1 2 π j | z | = 1 H c ( z ) H c ( z 1 ) z 1 d z
where B is the one-sided equivalent noise bandwidth.
The adaptive tracking techniques are implemented in a third-order STL. Therefore, the SSM and transfer function of a third-order STL are analyzed in Figure 4 displaying its linear model.
The equivalent discrete SSM is:
x 1 [ n ] x 2 [ n ] x 3 [ n ] = 1 τ int τ int 2 0 1 τ int 0 0 1 × x 1 [ n 1 ] x 2 [ n 1 ] x 3 [ n 1 ] + α 2 τ int + α 1 τ int 2 + α 0 τ int 3 α 1 τ int + α 0 τ int 2 α 0 τ int ϵ u [ n ]
ϵ s [ n ] = 1 0 0 × x 1 [ n ] x 2 [ n ] x 3 [ n ] = x 1 [ n ]
The open loop transfer function is characterized as:
H o 3 ( z ) = α 2 τ int ( 1 z 1 ) 2 + α 1 τ int 2 ( 1 z 1 ) + α 0 τ int 3 ( 1 z 1 ) 3
and the closed loop transfer function as:
H c 3 ( z ) = α 2 τ int ( 1 z 1 ) 2 + α 1 τ int 2 ( 1 z 1 ) + α 0 τ int 3 ( 1 z 1 ) 3 + α 2 τ int ( 1 z 1 ) 2 + α 1 τ int 2 ( 1 z 1 ) + α 0 τ int 3
If the integration time tends to zero ( τ int 0 ), the analog one sided equivalent loop bandwidth is equal to the digital one [29,30,31]. The relation between the analog loop bandwidth and the third-order tracking loop coefficients is well-known [1,32]:
B = α 2 2 α 1 α 2 α 0 + α 1 2 4 ( α 2 α 1 α 0 )
A relation between these coefficients can simplify the previous expression [1]:
B cont 3 × 1 = α 2 α 1 α 0 = 2.4 · ω 1.1 · ω 2 ω 3
where ω is the so-called natural frequency. Further developing Equation (12), the relation between the loop bandwidth B and ω is achieved:
B = ω 0.7845
A change of the loop bandwidth B leads to an update of the natural frequency w that, in turn, reconfigures the loop filter coefficients (i.e., the control matrix B cont 3 × 1 ). The following section shows three methods that adapt the loop bandwidth of an STL sub-optimally.

3. Variable Loop-Bandwidth Tracking Techniques

Variable loop-bandwidth tracking techniques set a connection between the loop bandwidth and time-varying scenario conditions [7]. In dynamic scenarios, a fast loop response with a large loop bandwidth is preferred to follow the dynamics, whereas, in stationary scenarios, a noise-rejecting low loop bandwidth is appropriate. Variable loop-bandwidth tracking techniques adapt the loop bandwidth depending on the noise and signal dynamics of the tracking channel. They facilitate optimal operation for the tracking loops.
Figure 5 shows the general structure of this technique [33]. The loop bandwidth B [ n ] and a set of measurements R [ n ] are the inputs to the adaptive loop-bandwidth estimator. These techniques estimate a loop bandwidth B ^ [ n ] . Since the set of measurements is noisy, a Schmitt trigger module reduces the noise instabilities of the loop bandwidth estimate.
The Schmitt trigger only changes the next loop bandwidth B [ n + 1 ] by Δ B if the absolute difference between the estimated loop bandwidth and the actual one exceed Δ B :
B [ n + 1 ] = 0 if   n = 0 B ^ [ n ] + Δ B if   B ^ [ n ] B [ n ] Δ B     n > 0 B ^ [ n ] Δ B if   B [ n ] B ^ [ n ] Δ B     n > 0 B [ n ] otherwise
A big Δ B value (e.g., 10 Hz) could unstable the tracking due to big loop bandwidth changes, but a very low value (e.g., 0.01 Hz) could also cause instabilities due to excessive changes. 0.5 Hz has been found an appropriate value for Δ B . Finally, the updated loop bandwidth B [ n + 1 ] changes the coefficients of the STL’s transfer function (see Equations (13) and (14)).
This section presents three techniques from this category: the FAB, the FL, and the LBCA.

3.1. Fast Adaptive Bandwidth (FAB)

The FAB tracking technique is a model-based approach and estimates the input signal parameters (thermal noise, phase noise, or steady state error (SSE)) of the STL [33]. A model is used to define a loop-bandwidth dependent cost function c [ n , B [ n ] ] . Setting the first derivative of the cost function to zero with respect to the loop bandwidth B [ n ] , leads to the minimum loop bandwidth B min to which the STL can handle the estimated dynamics while filtering as much noise as possible.
The three-sigma rule-of-thumb of the tracking loop error is a commonly selected cost function [6]:
c [ n , B [ n ] ] = σ ϵ s [ n , B [ n ] ] = σ thermal s [ n , B [ n ] ] + ϵ sse [ n , B [ n ] ] 3
where σ ϵ s is the jitter of the smoothed error, σ thermal s is the thermal noise, and ϵ sse is the dynamic stress error. Since σ ϵ s is loop-bandwidth dependent, the first order derivative of σ ϵ s regarding the loop bandwidth can be performed. Setting the derivative to zero, the minimum loop bandwidth B min is estimated [6]:
σ ϵ s n , B [ n ] B [ n ] = 0 B [ n ] = B min
The estimated minimum loop bandwidth B min depends on the linear C/N0, the integration time τ int , the order p, and the steady state line-of-sight (LOS) dynamics p R t p .
As an example, if the FAB is implemented in a third-order PLL, the following cost function is achieved equalling to zero the first derivative of the smoothed carrier phase error jitter σ θ s :
B min = 2 η 3 3 R t 3 2 1 C / N o 1 + 1 2 τ int C / N o 360 2 π 2 7
In this case, B min is dependent on the linear C/N0 in Hz, the integration time τ int in seconds and the LOS jerk dynamics 3 R t 3 in deg / s 3 . For a third-order PLL, the constant η equals to 0.7845. The C/N0 and steady state LOS dynamics must be estimated, whereas the other parameters are fixed.
Several considerations must be taken into account when implementing the FAB. First, the noisy output of the discriminator makes it difficult to measure the SSE correctly (even more for higher order loops). One solution is to accumulate the noisy measurements for a large interval [10] or to implement a dynamic error filter [11]. Second, an abrupt change of the estimated optimal loop bandwidth B min may create tracking instabilities, and needs to be minimized. An empirical scaling factor for the dynamic stress estimator and a constrained loop bandwidth addresses this issue [11]. Another solution is to smooth the loop bandwidth update using the Newton-Raphson method and an IIR filter [12].
Figure 6 shows the structure of the implemented three-sigma rule-of-thumb based FAB: a C/N0 estimator, a dynamic stress estimator, the FAB, a gradient decent, an IIR filter and a threshold limiter. Each component is explained in the subsequent paragraphs.
The C/N0 estimator updates each tracking epoch. The dynamic stress estimator first filters the discriminator’s output. The filter is a first order IIR filter with a decay time of Δ t . The value of Δ t represents the algorithm’s sensitivity to dynamics. Second, it performs the p–th derivative of the filtered discriminator’s output μ ϵ u in order to achieve an estimated SSE LOS dynamic measurement ϵ ^ sse :
ϵ ^ sse = i = 0 p ( 1 ) i p i μ ϵ u [ n i ] Δ t p
where p i is the binomial coefficient. Since the un-smoothed error is normalized, ϵ ^ sse is in units of (cycles/s p ).
Continuing with the example of the third-order PLL, the dynamic stress estimator estimates the LOS jerk dynamics. This module filters the phase discriminator’s output μ θ u and measures the angular jerk dynamics θ ^ sse :
θ ^ sse [ n ] = μ θ u [ n ] 3 μ θ u [ n 1 ] + 3 μ θ u [ n 2 ] μ θ u [ n 3 ] Δ t 3
Next, the LOS jerk dynamics 3 R t 3 in deg / s 3 is calculated as the following:
3 R t 3 [ n ] = 360 × ϵ ^ sse [ n ]
Abrupt loop bandwidth changes may result in tracking instabilities. Therefore, the gradient descent method and a first order IIR filter smooth out the update. The gradient descent method updates the actual loop bandwidth B [ n ] gradually:
B GD [ n ] = B [ n ] + τ int · B min [ n ] B [ n ] | Δ B min [ n ] | if   | Δ B min [ n ] | > 0.01 B min [ n ] otherwise
where Δ B min [ n ] is,
Δ B min [ n ] = B min [ n 1 ] B min [ n ]
The updated loop bandwidth B GD [ n ] depends on the actual loop bandwidth B [ n ] , the estimated minimum loop bandwidth B min [ n ] and the previous estimated loop bandwidth B min [ n 1 ] . To avoid instabilities, B GD [ n ] equals B min [ n ] when | Δ B min [ n ] | is below 0.01 Hz.
Next, an IIR filter smooths B GD [ n ] , achieving B GD s [ n ] . Finally, the filtered loop bandwidth is passed through a threshold limiter that constraints B GD s [ n ] between a maximum B Max and a minimum B Max allowed loop bandwidth:
B ^ [ n ] = B Max if   B GD s [ n ] τ int > B Max τ int B GD s [ n ] if   B Min τ int B GD s [ n ] τ int B Max τ int B Min if   B GD s [ n ] τ int < B Min τ int
Two main observations of the FAB can be made prior to implementation. First, the speed of the SSE estimation ϵ ^ sse determines the speed of the algorithm to react against signal dynamics. The standard cost function (see Equation (16)) used does not consider other sources of signal dynamics such as clock drift and low order transient dynamics. Hence, it is possible that B m i n decreases erroneously due to the fact that ϵ ^ sse is negligible and other dynamic sources are not included. Second, the complexity of the algorithm can be significant due to the B min estimation at high-order STLs.

3.2. Fuzzy Logic (FL)

Compared to the FAB technique, FL based tracking techniques significantly simplify the control algorithm. Figure 7 shows the implemented FL algorithm structure. The FL consists of four stages: pre-processing, fuzzy control rules, defuzzification, and post-processing [15]. The pre-processing stage converts the discriminator’s output into two fuzzy sets: The standard deviation σ ϵ u and the absolute mean | μ ϵ u | . The former fuzzy input represents the tracking channel’s noise, whereas the latter indicates the error dynamics. These fuzzy sets are finally normalized:
N ˜ = σ ϵ u σ ϵ u + | μ ϵ u |
D ˜ = | μ ϵ u | σ ϵ u + | μ ϵ u |
where N ˜ is the normalized estimated noise and D ˜ the normalized estimated dynamics.
Next, the fuzzy control rules are applied. The zero f ZO , the positive-small f PS and the positive-large f PL linear membership functions weight each normalized estimation [15]. These fuzzy functions are characterized as follows:
f ZO [ n , ψ [ n ] ] = T Fuzzy ψ ψ [ n ] T Fuzzy ψ if   0 ψ [ n ] T Fuzzy ψ 0 otherwise
f PS [ n , ψ [ n ] ] = ψ [ n ] T Fuzzy ψ if   0 ψ [ n ] T Fuzzy ψ 1 ψ [ n ] 1 T Fuzzy ψ if   T Fuzzy ψ ψ [ n ] 1 0 otherwise
f PL [ n , ψ [ n ] ] = ψ [ n ] T Fuzzy ψ 1 T Fuzzy ψ if   T Fuzzy ψ ψ [ n ] 1 0 otherwise
where ψ [ n ] is the input estimation ( N ˜ or D ˜ ) and T Fuzzy ψ is the function threshold that defines the regions of these three fuzzy functions. The relation between the thresholds of D ˜ and N ˜ is:
T Fuzzy N ˜ = 1 T Fuzzy D ˜
Figure 8 shows the fuzzy functions for D ˜ and N ˜ . These functions have a triangular shape. The base of these triangles is so wide that it allows each fuzzy input to be a member of two sets at least. An interesting observation is the symmetry between the weighted estimates since D ˜ = 1 N ˜ :
f ZO [ n , D ˜ [ n ] ] = f PL [ n , N ˜ [ n ] ]
f PS [ n , D ˜ [ n ] ] = f PS [ n , N ˜ [ n ] ]
f PL [ n , D ˜ [ n ] ] = f ZO [ n , N ˜ [ n ] ]
The deffuzication stage combines the degrees of membership of each fuzzy rule. The best-known deffuzification method of the FL technique is the center of gravity (COG) [14]. The method used in this paper is similar to the fuzzy mean method (FMM) [34]. In contrast to the previous method, integration is done instead of an average. The fuzzy-weighted estimates are combined with a fuzzy weighting matrix W 3 × 3 fuzzy :
P [ n ] = i = 1 3 j = 1 3 f i [ n , N ˜ [ n ] ] f j [ n , D ˜ [ n ] ] W i , j fuzzy
where { f 1 , f 2 , f 3 } are { f Z 0 , f PS , f PL } respectively.
The fuzzy weighting matrix W 3 × 3 fuzzy is a hollow matrix in which the upper triangle matrix has positive elements, and the lower triangle matrix negative values. Table 1 shows the structure of W 3 × 3 fuzzy [7].
The postprocessing unit scales the resultant value P [ n ] by S and multiplies it by the current loop bandwidth B [ n ] , achieving the final control signal c [ n ] :
c [ n , P [ n ] , B [ n ] ] = P [ n ] · S · B [ n ]
Next, the loop bandwidth is updated:
B F [ n ] = B [ n ] + c [ n , P [ n ] , B [ n ] ]
Finally, as the FAB technique, a threshold limiter constraints the loop bandwidth (see Equation (24)).
Two examples are addressed. If the normalized dynamics D ˜ tends to zero, the normalized noise N ˜ goes to one. Therefore, f ZO [ n , D ˜ [ n ] ] and f PL [ n , N ˜ [ n ] ] tend to one and the other fuzzy functions to zero. Consequently, P [ n ] is:
P [ n ] = W 3 , 1 fuzzy < 0
The updated loop bandwidth B [ n + 1 ] decreases each iteration since the control signal is always negative. Due to the loop bandwidth decrease, the control signal c [ n ] increases. After some iterations, B [ n ] and c [ n ] tends to zero. This proves the lower bound stability of the algorithm.
In the opposite case, if D ˜ tends to one, the normalized noise N ˜ goes to zero. In such a case, P [ n ] = W 1 , 3 fuzzy > 0 and the loop bandwidth increases together with the control signal. The bigger the loop bandwidth, the bigger the update (see Equation (35)). This can lead to instabilities due to abrupt changes of the loop bandwidth. Since there is no upper bound, the same threshold limiter as in the FAB technique is implemented.

3.3. Loop-Bandwidth Control Algorithm

Similar to the FL method, the LBCA [16] uses the discriminator’s statistics to adapt the loop bandwidth. However, it uses a normalized bandwidth B N dependent sigmoid-based weighting function to combine these values. Figure 9 shows the structure of the LBCA.
The algorithm’s inputs are the absolute mean | μ ϵ u | and the standard deviation σ ϵ u estimates of the discriminator’s output. The absolute mean | μ ϵ u | is interpreted as the dynamics and the standard deviation σ ϵ u as the noise of the tracking channel. The signal dynamic estimate is normalized, similar to the FL approach.
At the core, the LBCA is a weighing function g [ n , B N ] . The weighting function g [ n , B N ] and the normalized dynamic estimate D ˜ , that is scaled by the maximum value of the weighting function g Max , determine the control signal c [ n , B N ] :
c [ n , B N ] = g Max · D ˜ [ n ] g [ n , B N ]
The control signal c [ n , B N ] and the current loop bandwidth B [ n ] determine the estimated loop bandwidth B ^ [ n ] :
B ^ [ n ] = B [ n ] + c [ n , B N ]
The weighting function g [ n , B N ] directly determines the adaption performance of the LBCA. It is a linear combination of m normalized positive sigmoid functions:
g [ n , B N ] = k = 1 m w k Sig k S k ( B N [ n ] P k ) = w 1 w m T × Sig 1 S 1 ( B N [ n ] P 1 ) Sig m S m ( B N [ n ] P m )
where P k is the shift parameter, S k is the horizontal scaling and w k the vertical scaling. The sigmoid function Sig ( x ) is defined as [35]:
Sig ( x ) = 1 1 + e x
The maximum value of the weighting function g Max is the sum of the vertical scaling values:
g Max = k = 1 m w k
g Max indicates the maximum update the algorithm can perform at each iteration. It implicitly constrains the control value:
| c [ n , B N ] | g Max
If the noise and signal dynamics estimates are reliable, a larger g Max value is appropriate to facilitate faster reaction.
The shape of the weighting function g [ n , B N ] is crucial to achieving stable functionality and optimal performance. Two examples follow to illustrate the weighting function g [ n , B N ] in extreme cases. In both cases, the maximum of the weighting function is unitary ( g Max = 1 ). In the first example, a noisy static scenario causes the estimated normalized dynamics D ˜ to tend to zero. In this case, the loop bandwidth should decrease in order to filter as much noise as possible. Therefore, the weighting function must be more significant than D ˜ to have a negative control value. However, if the loop bandwidth approaches zero, the weighting function should also tend to zero to avoid a negative loop bandwidth and destabilize the STL. In the PLL, the loop bandwidth should be greater than a certain value to not lose lock due to clock-error frequency drifts [36]. If a temperature-compensated crystal oscillator (TCXO) is used, a good minimum normalized PLL bandwidth is around 0.06 . Values less than the selected minimum normalized loop bandwidth are located in the low normalized dynamic region. In this region, the weighting function approaches zero, and the normalized bandwidth stops decreasing.
In the second example, the opposite scenario is considered. High signal dynamics at high C/N0, in which the normalized dynamics tend to one. Since the STL must react as fast as possible to signal dynamics, the loop bandwidth should increase. Consequently, the weighting function is lower than D ˜ in order to have a positive control value c [ n ] . A condition is that the analog to digital mapping does not hold anymore if the normalized bandwidth is bigger than 0.4 [29,30,31]. Therefore, values bigger than 0.4 are located in the high normalized dynamic region.In this region the weighting function is close to one, meaning that the loop bandwidth can no longer increase.
The mentioned extreme scenarios are helpful to achieve a first glance of the weighting function’s shape. However, intermediate scenarios in which the signal dynamics and noise are equivalent must also be noted. These cases occur in the transient region.The value of the weighting function in this region is the normalized dynamic threshold T LBCA . T LBCA determines the sensitivity to normalized dynamics. The higher the threshold, the less sensitive to signal dynamics.
Figure 10 shows the shape of the weighting function being a linear combination of two sigmoid functions.
g [ n , B N ] = w 1 w 2 T × Sig S 1 ( B N P 1 ) Sig S 2 ( B N P 2 )
The biases P 1 , P 2 determine the borders of the regions, the horizontal scaling S 1 , S 2 indicate the slope of the transition between regions, and the vertical scaling w 1 , w 2 define the sensitivity to normalized dynamics.
The weighted function’s complexity is significant due to the sigmoid function in which a division of an exponential is required. An approach to reduce the complexity is to perform an approximation using the piecewise linear approximation of nonlinearities (PLAN) technique [37]:
Sig P L A N S k ( B N P k ) = 1 if   S k ( B N P k ) 5 0.03125 · S k ( B N P k ) + 0.84375 if   2.375 S k ( B N P k ) < 5 0.125 · S k ( B N P k ) + 0.625 if   1 S k ( B N P k ) < 2.375 0.25 · S k ( B N P k ) + 0.5 if   0 S k ( B N P k ) < 1 1 Sig P L A N S k ( B N P k ) if   S k ( B N P k ) < 0
Figure 11 shows the comparison between the weighting function and its piece-wise linear approximation. The approximation errors are located in the limits between regions. However, it is a good approximation since there is maximum error of 0.15 %. In the next section, both weighted functions are evaluated.

4. Evaluation Method of Adaptive Loop-Bandwidth Tracking Techniques

This section analyses the most adequate quality factors that represent the performance and the complexity of adaptive tracking techniques.

4.1. Tracking Performance

Two parameters that define an adaptive tracking technique’s tracking performance are considered: the Cramér-Rao bound (CRB) and the one-sigma rule threshold of the unsmoothed error σ ϵ u t h . The CRB indicates the minimum error variance of an unbiased estimator [38], whereas the one-sigma rule threshold is a conservative threshold that ensures a stable tracking lock if the tracking error is less than this threshold [1]. The standard deviation of the discriminator’s error σ ϵ u is a good performance metric [8]. The tracking performance is defined as the difference between the average σ ϵ u and the lower bound standard deviation σ LB u :
P Tracking = σ ¯ ϵ u σ LB u
The average of σ ϵ u , σ ¯ ϵ u , is defined as:
σ ¯ ϵ u = n = 0 K sim σ ϵ u [ n ] K sim
where K sim is the discrete simulation time in samples. K sim is represented as the product between the simulation time T sim in seconds and the logging data rate f s in Hz:
K sim = T sim f s
Since the adaptive tracking techniques are implemented in a third-order Costas PLL, the PLL tracking performance is analyzed. Considering the PLL as a time of arrival (ToA) unbiased estimator [39], the resulting square-root CRB of the un-smoothed carrier phase error θ u in meters is:
σ LB u = λ 2 π 1 2 τ int C / N 0 1 + 1 2 τ int C / N 0
where λ is the wavelength of the GNSS signal and the term 1 + 1 2 τ int C / N 0 is the squaring loss. Figure 12 shows the lower bound of the un-smoothed carrier phase error with an integration time τ int of 20 ms at different C/N0 levels.
From the three-sigma rule-of-thumb, the carrier phase error jitter σ θ s must be less than a conservative threshold to ensure stable tracking and no cycle-slips [1]. This upper threshold is also applied to the un-smoothed phase error jitter σ θ u . Since a two-quadrant arctangent discriminator is used, the one-sigma rule threshold in meters is:
σ θ u t h = 1 3 × Ω 4 × λ 2 π = π 12 × λ 2 π = λ 24
where Ω is the phase pull-in range in radians. The 1 / 12 factor in Eqution (50) is included because the one-sigma rule threshold is one-third of the three-sigma rule threshold and one-fourth of Ω is selected to have a conservative threshold.

4.2. System Performance

The system performance considers the performance of all the tracking channels together. The average lock indicator for each tracking channel is an appropriate metric to measure the system performance in terms of precision [40,41].
Since this study evaluates the performance of the PLL, the phase-lock indicator (PLI) is considered:
PLI = I p 2 Q p 2 I p 2 + Q p 2
where I p and Q p are the in-phase and quadrature prompt correlation values.
The selected quality factor is the average of the PLI with respect the discrete simulation time K sim and the accumulated number of tracked satellite vehicles (SVs) N sat Acc :
PLI ¯ = l = 0 N sat Acc n = 0 K sim PLI l [ n ] K sim N sat Acc
If a SV is tracked at least once during the simulation, the PLI of this SV is considered to calculate PLI ¯ .
In order to measure the system performance in terms of robustness against dynamics, a good quality factor is the average number of visible satellites being tracked N ¯ sat :
N ¯ sat = n = 0 K sim N sat [ n ] K sim N sat Total
where N sat Total is the total number of visible satellites in the scenario.
A final metric is achieved combining (52) and (53):
P System = PLI ¯ × N ¯ sat
The average system performance P ¯ System with respect the C/N0 levels determines the overall performance of the adaptive tracking technique.
P ¯ System = k = 1 N CN 0 P System k N CN 0
where N CN 0 is the number of C/N0 levels. The system performance metric P ¯ System which accounts for both noise and dynamics for tracking, is a novel contribution of this paper.

4.3. Complexity

A theoretical method to quantify an adaptive tracking technique’s complexity is to measure the number of required mathematical operations. This method provides a “best-case” comparison, and neglects any implementation limitations. Table 2 shows the theoretical number of additions, multiplications, divisions and different operations required for each case. The total number of operations for each adaptive tracking technique is labeled in colors from the highest, in red, to the lowest number of operations, in green.
Since the algorithms are implemented in software, the time complexity is a good practical complexity indicator. The time complexity measures the processing time the algorithm takes in software on the processing platform. Although 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. The time complexity is measured in an Intel Skylake micro-architecture with a clock speed of 3700 MHz. 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 chrono library is used to measure the processing time of the algorithm [42]. Also, the performance profiler tool for Linux operf serves to have a statistical report of the libraries used during the algorithm’s execution [43]. In order to avoid multi-threading, the taskset command is used to bind the application process to one single core [44]. Table 3 shows the total time complexity T C in seconds, the average time complexity at each iteration T Iter in nanoseconds, and the added time complexity T Added compared to the standard loop filter T C Standard (i.e., with no adaption algorithms). The T Added values are labeled in colors from the most complex algorithm, in red, to the less complex one, in green. The iteration time complexity is defined as:
T Iter = T C 3 × 10 8 × 10 9   ( nanoseconds )
and the added time complexity is expressed as:
T Added = T C T C Standard ( times )
The FAB technique presents high complexity due to the seventh root (see Equation (18)). This is verified from the profiler report, which shows high use of the pow function from the libm library [45]. The derivation of the Newton-Raphson method [46] can approximate this operation in order to achieve a lower complexity. However, this approximation is not performed in the actual implementation. The FL technique presents a lower time complexity than the FAB technique but higher than the LBCA. The profiler report of the LBCA shows the use of the exp function from the libm library [45]. The piece-wise linear approximation of the weighting function in the LBCA technique removes that function’s utilization, reducing the algorithm’s complexity.

5. Experimental Setup

This section describes the experimental setup and the expected results.

5.1. 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 [24,25]. A picture of the receiver is shown in Figure 13. The receiver is based on a Xilinx Kintex7 field-programmable gate array (FPGA), depicted in green, connected to an external processor, in purple, using a peripheral component interconnect express (PCIe) interface. The FPGA receives digital samples from a customized tri-band radio-frequency front-end (RFFE), in red. One acquisition module and sixty tracking channels are implemented, which can be controlled by an external processor.
Processing intense portions of the tracking stage are implemented in hardware (“Tracking Correlators”) and the remainder in software (“Tracking Loops”). The correlators and the NCOs are implemented on an FPGA, whereas the software part includes the discriminators, the loop filters, and the adaptive tracking algorithms. Figure 14 shows a block diagram of the entire receiver. The analog hardware is shown in red, the digital firmware in green, and the digital software in blue. It also contains the RFFE, an analog-to-digital converter (ADC), signal conditioning, acquisition, the receiver manager, symbol decoding, and the PVT engine.
Each tracking channel contains a second-order FLL, a third-order Costas PLL and a second-order DLL with PLL-assisted-DLL (PAD) enabled. The FLL is first enabled in order to track and refine the acquired Doppler frequency. Once a stable frequency lock is achieved, the transition to the FLL-assisted-PLL (FAP) is done. In this stage the PLL lock indicator is stabilizing with the assistance of the FLL. After obtaining a good and stable PLL lock, the FLL gets disabled in order to improve the tracking accuracy. In this final stage, the bit synchronization is performed to decode the navigation message and get a PVT solution. If the PLL lock deteriorates, the receiver goes back to the previous stage FAP by default in order to recover the carrier lock. However, for these tests this condition is disabled in order to evaluate correctly the adaptive carrier phase tracking capabilities.
The purpose is to evaluate the performance and the complexity of each variable loop-bandwidth tracking technique implemented in this receiver’s PLL against simulated scenarios with different dynamics and noise levels. In this study, only Global Positioning System (GPS) L1 C/A signals are considered. Moreover, the algorithms are evaluated at an integration time τ int of 20 ms. Table 4 shows the initial configuration of the DLL, FLL, and PLL that is used for all the tests.
The FAB, the FL, the LBCA, and the LBCA with PLAN algorithms are implemented on the GOOSE receiver in software. These adaptive tracking techniques are configured to adapt the loop bandwidth of a third-order Costas PLL.

5.1.1. FAB Configuration

Since the integration time τ int is 20 ms, a loop bandwidth bigger than 18 Hz could destabilize the tracking because of the wrong mapping from analog to digital domain [29,30,31]. Hence, the selected upper bound B Max of the threshold limiter (see Equation (24)) is set to 18 Hz. It has been observed that a PLL loop bandwidth lower than 4 Hz cannot remain in lock, probably because of permanent signal dynamics due to nonlinearities. Consequently, in case the estimation tends erroneously to zero, a lower bound 4 Hz is set in the threshold limiter.
B ^ [ n ] = 18 if   B GD s [ n ] > 18 B GD s [ n ] if   4 B GD s [ n ] 18 4 if   B GD s [ n ] < 4
In the following section, the FAB algorithm’s performance is evaluated in terms of the filtered time Δ t of the steady state error dynamics estimator (see Equation (20)). This parameter is selected since it directly affects the algorithm’s sensitivity to dynamics.

5.1.2. FL Configuration

Table 5 shows the empirically selected values of the fuzzy matrix W 3 × 3 fuzzy [7].
The same threshold limiter as in the FAB technique is used (see Equation (58)). Another parameter to consider is the fuzzy threshold T Fuzzy ψ . Based on the three-sigma rule-of-thumb, the optimal normalized dynamics can be calculated [16]. D opt is the optimal normalized dynamics in order to achieve best tracking performance. For a third-order PLL the optimal normalized dynamics D opt is 1 / 7 . In the following section, the FL technique’s performance is evaluated, varying the normalized dynamics fuzzy threshold T fuzzy D ˜ around D opt . Moreover, the effects of the scale factor S is shown.

5.1.3. LBCA Configuration

The selected weighting function is a linear combination of two sigmoid functions and has the following expression:
g [ n , B N ] = S T LBCA 1 T LBCA T × Sig 50 ( B N 0.06 ) Sig 250 ( B N 0.36 )
The biases constraints the normalized bandwidth B N . The algorithm cannot go below a B N lower than 0.06. In theory, the lower limit should be set at zero if there is no signal dynamics. However, it is considered that there is always some dynamics due to the clock drift or other non-linearities. Therefore, 0.06 is chosen as a lower limit. The upper limit is chosen due to the mapping limitation from the analog domain to the digital domain. The empirically selected horizontal scaling values have an adequate slope in the borders between regions. The vertical scaling depends on the normalized dynamics threshold T LBCA , and a scale factor S. The former parameter determines the sensitivity to dynamics, whereas the latter indicates the maximum loop bandwidth update of the algorithm. S is equivalent to g Max :
g Max = S · ( T LBCA + 1 T LBCA ) = S
As in the FL configuration, T LBCA must be around the optimal normalized dynamics D opt . Different normalized dynamics threshold T LBCA values and scale factors g Max are presented in the following section.

5.2. Evaluation Setup

Figure 15 presents the test set-up. It is the same as with previous studies [16], where a Spirent GSS9000 radio-frequency constellation simulator (RFCS) generates controlled scenarios. The simulation duration is 20 min and the simulation repeats for different C/N0 levels. In this case, the simulation repeats 8 times, from 24 dBHz to 52 dBHz in 4 dB steps. Since the sensitivity of the acquisition is lower than the sensitivity of the tracking, the simulation always starts at the highest C/N0 level, 52 dBHz. The C/N0 level is reduced by 4 dB in 30 s intervals, until reaching the desired level. For example, 3.5 min are necessary to reach a C/N0 level of 24 dBHz. Therefore, in order to assure that the measured tracking and system performance is reliable, the last 10 min of the simulation are considered, T sim = 600 s. Only GPS L1 C/A signals are generated by the RFCS, as only these signals are evaluated in this study. However, for future evaluations, other GNSS signals will also be considered.
The generated scenarios are either static or have receiver dynamics. The static scenarios represent stationary use-cases such as GNSS reference stations, whereas the dynamic scenarios represent harsh vehicular conditions. Figure 16 shows the sky-plot of both scenarios. There are 10 visible satellites during the simulation. However, SV G1 disappears behind the horizon after two minutes of simulation and SV G30 rises above the horizon near the end of the simulation. Therefore, the maximum number of visible satellites N sat Total is limited to eight.
Figure 17 shows the LOS jerk dynamics of six out of the eight GPS SVs in the simulated dynamic scenario. The first 10 min of the simulated dynamic scenario is static. In this way, the adaptive tracking converges to a steady estimation of the loop bandwidth equal to the one in the simulated static scenario. After 10 min of simulation, the high dynamic vehicular scenario begins. The simulated trajectory presents the highest LOS dynamics at low elevation satellites, whereas high elevation ones have reduced dynamics. For example, SV G4 is located in the zenith, and a maximum LOS jerk of 1 g/s is observed, whereas SV G17 presents the highest LOS jerks dynamics with 8.7 g/s. Figure 17b focuses on the time with the highest dynamics. In this period, the tracking of most of the satellites will be lost.
Before evaluating the adaptive tracking techniques, the tracking and system performance of the traditional PLL are measured. This helps to observe the performance improvement of adaptive loop-bandwidth tracking techniques compared to standard tracking. A single tracking channel is tested to evaluate the tracking performance, and the tracking outputs, including the correlator IQ values, discriminator outputs, current loop bandwidth, and the estimated C/N0, are logged. For the system performance, all the eight visible GPS SVs are considered and the open GNSS receiver protocol (OGRP) is used for logging the receiver measurements [47,48]. The average system performance P ¯ System metric for the standard PLL and the adaptive algorithms are calculated (see Equation (55)). Lastly, basic Pareto optimization [49,50,51] is applied to identify the best techniques based on the static P ¯ System and dynamic P ¯ System trade-off.
The data rate f s of the logged measurements equals 1 / τ int . Since the integration time τ int is 20 ms, the data rate is 50 Hz. Therefore, considering Equation (48) and T sim = 600 s, the discrete simulation time K sim equals 30,000 samples.

6. Results

The results are separated into four sections. First, the static performance is evaluated to show tracking capabilities in noise only environments. Second, dynamic performance is measured to show the capabilities for vehicular applications. Third, the synthesis of all the gathered results is performed. The last section presents a final comparison between system performance and time complexity. The dataset used to plot the presented results are available on the cloud [52].

6.1. Static Scenario

Figure 18 shows the GNSS-Receiver with Open Software Interface (GOOSE) receiver’s tracking and system performance in a static scenario at different PLL loop bandwidths and C/N0 levels. Figure Figure 18a presents the tracking performance of SV G4. The one-sigma rule threshold σ θ u t h in meters is also included. Values greater than σ θ u t h indicate that the lock of the tracking is likely lost and experiencing severe cycle slips. Therefore, only values below this threshold can be regarded as being on a stable track. The tracking performance at different loop bandwidths differs in order of millimeters. The results have the same tendency as previous results obtained by another GOOSE receiver [16]. At a higher C/N0 level, a bigger loop bandwidth reduces the tracking error difference. This is due to the fast response of the filter to correct the carrier phase error. On the contrary, if the C/N0 decreases, a lower loop bandwidth is adequate to reduce the error’s noise.
The system performance P System is the product between the average PLI, PLI ¯ , and the average number of tracked visible satellites N ¯ sat (see Equation (54)). Figure 18b shows the system performance of the GOOSE receiver at different C/N0 levels. At high C/N0 values, all bandwidths achieve good performance. However, at low C/N0, broader loop bandwidths result in poor performance. This shows how effective a narrow loop bandwidth can suppress noise effects.
Figure 19 includes the tracking performance of SV G4 using the FAB PLL (see Figure 19a) and the system performance considering all the visible SVs (see Figure 19b). The FAB technique changes its sensitivity to dynamics depending on the IIR filter decay time Δ t to estimate the SSE (see Equation (20)). Hence, different decay times are evaluated to see how this parameter affects the static performance. If the time of filtered data is less than 0.5 s, the algorithm is too sensitive to dynamics, and the tracking performance deteriorates at low C/N0. From a system perspective, this configuration is the only one that does not achieve PVT at 28 dBHz. The system performance is equivalent to the other configurations at higher C/N0 levels. If the decay time Δ t is above 0.8 s, the tracking performance deteriorates at higher C/N0 level. An intermediate Δ t such as 0.7 s seems to have the best tracking performance. Therefore, an adequate IIR filter with a decay time Δ t is determined to be between 0.6 s and 0.8 s.
Figure 20 shows the average loop bandwidth of the adaptive FAB PLL B ¯ APLL . The average loop bandwidth is calculated as:
B ¯ APLL = k = 0 K sim B APLL k K sim
The added error bars indicate the maximum and minimum estimated loop bandwidth during the entire simulation. If Δ t is less than 0.5 s, the average loop bandwidth is around 17.5 Hz for all the C/N0 levels. The estimated loop bandwidth goes beyond 18 Hz, but the threshold limiter constraints it to 17.5 Hz in order to avoid destabilizing the tracking. On the contrary, if the decay time Δ t is above 0.8 s, the algorithm does not detect any steady-state dynamics. Therefore, the estimated loop bandwidth tends to zero. However, the threshold limiter constraints the loop bandwidth to 4.5 Hz.
Figure 21 shows the static performance of the FL PLL. The normalized dynamic function threshold T F u z z y D ˜ defines the sensitivity to dynamics, and the scale factor S indicates the speed of the update rate. Different function thresholds and scale factors are selected to evaluate the FL. At high C/N0 levels, each configuration’s tracking error performance is similar (see Figure 21a). Conversely, at lower C/N0, the tracking performance degrades if the FL is too sensitive ( T F u z z y D ˜ = 0.1 ) or too insensitive ( T F u z z y D ˜ = 0.2 ) to signal dynamics. An intermediate threshold such as T F u z z y D ˜ = 0.14 results in better tracking performance. The same behaviour is observed in the system performance (see Figure 21b). At 28 dBHz, T F u z z y D ˜ = 0.1 and T F u z z y D ˜ = 0.2 presents worse performance than T F u z z y D ˜ = 0.14 .
Figure 22 reveals that a decrease in T F u z z y D ˜ leads to a bigger average loop bandwidth B ¯ APLL . If the scale factor S increases, the maximum and minimum value of the estimated loop bandwidth also rise. This indicates that the loop bandwidth oscillates over a broader range, and it can be a problem at low C/N0 levels. Another interesting observation is the algorithm’s behavior once the lock is lost. For instance, at 24 dBHz, all the presented configurations lose the tracking lock. On the one hand, if the configuration is too sensitive to signal dynamics (e.g., T F u z z y D ˜ = 0.1 ), the loss of lock is interpreted as signal dynamics, and the loop bandwidth increases at each iteration. Since there is a threshold limiter, the loop bandwidth is constrained to the upper limit, 17.5 Hz. On the other hand, if the configuration is less sensitive to dynamics, the loop bandwidth correctly decreases to zero when there is a lock loss. However, the loop bandwidth is limited to the lower bound, 4.5 Hz.
Figure 23 shows the static performance of the LBCA STL. The LBCA technique depends on the maximum value of the weighting function g Max and the normalized dynamic threshold T LBCA (see Figure 23a). As the FL technique, g Max indicates the amount of oscillation of the loop bandwidth, and T LBCA sets the sensitivity to signal dynamics. Figure 23a shows that a low g Max (e.g., 0.01) can still track the signal at 24 dBHz. However, at a system level, the lock of at least 4 SV cannot be achieved and there is no PVT solution (see Figure 23b). An LBCA configuration with a higher g Max makes the loop bandwidth update unstable at that C/N0 level, and even the lock of SV G4 is lost. It is also observed that a higher normalized dynamic threshold T LBCA results in a worse tracking error difference.
As expected, a lower g Max leads to a smaller oscillation range of the estimated loop bandwidth (see Figure 24). Also, a decrease in T LBCA increases the average loop bandwidth estimate.
Figure 25 shows the tracking performance of the LBCA with PLAN interpolation STL. Due to approximation errors, the lock of SV G4 is not achieved at 24 dBHz even with a low g Max . These errors make the algorithm respond slower to achieve adequate loop bandwidth. Otherwise, the static tracking performance of this algorithm seems to be very similar to the LBCA technique.
Figure 26 reveals that the average loop bandwidth estimate of this technique is similar to the one without the piece-wise approximation.

6.2. Dynamic Scenario

First, the performance of the standard tracking should be analyzed with different PLL loop bandwidths. Figure 27a shows that a loop bandwidth below 10 Hz loses the tracking lock of the SV G17 due to the large LOS dynamics at any C/N0 level. If the loop bandwidth is bigger than 10 Hz, the tracking can handle the LOS dynamics of SV G17. At lower C/N0 levels (e.g., 32 dBHz), a loop bandwidth of 14 Hz has the best performance, whereas, at a higher C/N0, a loop bandwidth between 16 Hz and 18 Hz is preferable. Figure 27b shows the system performance of the dynamic scenario. Loop bandwidths lower than 10 Hz achieve a PVT solution from 40 dBHz, mainly because it can track other SV with lower LOS dynamics. However, the system performance is still worse than higher bandwidths. Only a PLL loop bandwidth of 16 Hz can achieve a PVT down to 32 dBHz. At 28 dBHz, a loop bandwidth of 8 Hz has the best system performance, even without a PVT solution.
The following results present a detailed description of the adaptive tracking techniques’ capability to maintain the tracking lock against the dynamic scenario. Ideally, these techniques increase the loop bandwidth once signal dynamics are detected.
Figure 28 includes the tracking the tracking performance of SV 17 (Figure 28a) and the system performance (Figure 28b) of the FAB technique at different C/N0 levels. A lower filtered time Δ t of the SSE estimator makes the algorithm react faster to dynamics. For instance, a Δ t lower than 0.5 s presents better tracking performance than the other configurations. It also presents the best system performance. However, this configuration makes the algorithm too sensitive to dynamics, always having the maximum loop bandwidth possible (17.5 Hz) independent of the C/N0 level (see Figure 29). If Δ t is greater than 0.7, the algorithm cannot track SV 17 at any C/N0 level. With this configuration, the loop bandwidth goes to the lower threshold 4.5 Hz at any C/N0 level. With Δ t equal to 0.7 s, the estimated loop bandwidth achieves a value between the thresholds. Once dynamics are present, the FAB tries to increase the loop bandwidth to follow the signal dynamics. However, the algorithm does not succeed in maintaining the lock. A better solution should be a Δ t between 0.5 s and 0.7 s.
Figure 30 shows the dynamic performance of the FL technique. A lower T F u z z y D ˜ presents better tracking and system performance. Figure 30a shows that a T F u z z y D ˜ equals to 0.1 achieves the lock of SV 17 down to 40 dBHz, whereas T F u z z y D ˜ = 0.2 do not achieve lock at any C/N0 level. Regarding the system performance, any configuration of the FL technique does not achieve a PVT solution up to 36 dBHz (see Figure 30b).
Figure 31 shows how the PLL loop bandwidth adjusts during the dynamic scenario using the presented FL configurations. At 32 dBHz, all the configurations of the FL fail with tracking the signal. When the fuzzy technique with the lowest T F u z z y D ˜ loses lock, unlike the other configurations, the loop bandwidth goes to the maximum loop bandwidth threshold. This means that the loss of lock is considered as dynamics. This result is incorrect since the loop bandwidth should tend to zero to filter all the erroneous phase errors. At 44 dBHz, all the FL’s presented configurations can track the signal dynamics except with low sensitivity to dynamics, T F u z z y D ˜ = 0.2 . Once this last configuration loses lock, the loop bandwidth goes to the lower loop bandwidth threshold, 4.5 Hz.
Figure 32 and Figure 33 show that the LBCA technique presents a better dynamic performance with a lower dynamic threshold ( T LBCA = 0.14 ). A bigger scale factor g Max improves the tracking performance of SV 17 (see Figure 32a) because of the bigger loop bandwidth update. However, a bigger update can lead also to instabilities and worse performance in the presence of lower LOS dynamics. Figure 32b shows that, at T LBCA = 0.2 , a lower scale factor can achieve better system performance at some C/N0 levels (e.g., 40 dBHz).
At 32 dBHz, the LBCA technique cannot achieve lock at any configurations (see Figure 33a). The same as in the FL technique happens when the algorithm is too sensitive to dynamics (e.g., T LBCA = 0.14 ) that it goes erroneously to the highest loop bandwidth when the lock is lost. At 44 dBHz, all the configurations can track SV 17 during the dynamic scenario. Figure 33b presents the effects of the dynamic threshold and the scale factor. A bigger dynamic threshold leads to bigger bias of the estimated loop bandwidth. This is also observed in Figure 24. Moreover, a bigger scale factor results in a noisier loop bandwidth estimate, but with a better capability to react faster.
The LBCA with PLAN interpolation presents a similar dynamic performance as the LBCA at high C/N0 levels (see Figure 34). At lower C/N0, the dynamic performance using a scale factor of g Max = 0.1 and a normalized dynamics threshold T L B C A = 0.14 stands out above the rest of the configurations. This configuration maintains the lock even at 32 dBHz. In addition, the configuration with g Max = 0.1 and T L B C A = 0.2 has poor tracking performance at 44 dBHz. However, the system performance is similar to the other configurations at that C/N0 level.
The LBCA + PLAN technique with S = 0.1 and T L B C A = 0.14 is the unique adaptive tracking technique that can still track the signal at 32 dBHz in the presence of high LOS jerk dynamics. Once dynamics are present, the estimated loop bandwidth goes from 11 Hz to 17.5 Hz to follow the phase error dynamics (see Figure 35a). After that, the loop bandwidth goes back to 11 Hz and repeats when new dynamics are detected.
The LBCA + PLAN technique with S = 0.1 and T L B C A = 0.2 loses lock at time t = 1000 s (see Figure 35b). This explains the poor tracking performance of this configuration at that C/N0 level (see Figure 34a). The high scale-factor causes unstable loop bandwidth estimates. It can happen that, once dynamics are present, the loop bandwidth estimate has such a low value that it is not able to respond to signal dynamics and loses lock.

6.3. Total System Performance

This section summarizes the previous sections’ obtained results, taking a single quality factor that determines the adaptive tracking techniques’ system performance in a static and a dynamic scenario. The average system performance P ¯ System (see Equation (55)) for both the static and dynamic scenario is calculated and displayed in Table 6. The labels-column in this table is used for further analysis in a subsequent section. Furthermore, for each tracking technique, the best system performance is marked in green, whereas the worst one is in red.

6.4. Performance vs. Complexity Comparison

Figure 36 contains the performance and complexity comparison of the implemented adaptive tracking techniques for a third-order PLL in a static (Figure 36a) and dynamic scenario (Figure 36b). These graphs combine the data of Table 2 and Table 6.
In the static scenario, the standard tracking loop has the best average system performance with a PLL loop bandwidth of 5 Hz ( P 1 ), whereas the worst performance is performed with 16 Hz ( P 4 ). However, the opposite occurs in the dynamic scenario. A greater loop bandwidth improves the average system performance. This shows the big trade-off that exists in standard tracking loops between the loop bandwidth and the type of scenario.
The adaptive tracking algorithms should minimize this trade-off, having a good performance in both scenarios. The FAB technique with a high decay time Δ t (e.g., 0.8 s, T 1 ) results in best performance in static scenario, but poor in dynamic scenario. A lower decay time (e.g., 0.5 s, T 3 ) have the opposite behavior—poor in static and good in dynamic. There is no minimization of the mentioned trade-off. The FAB technique presents poor results, while having high complexity.
The FL technique presents good system performance in a static scenario with T Fuzzy D ˜ = 0.14 ( T 4 , T 5 ). A lower ( T 6 ) or a higher ( T 7 ) fuzzy threshold decreases the performance. In a dynamic scenario, a lower fuzzy ( T 6 ) threshold achieves better performance. T 6 , T 5 and T 4 show an improvement over the standard PLL. However, the complexity is still significant.
The LBCA and LBCA with PLAN interpolation achieve good system performance, while having a low complexity. In the LBCA technique, a lower scale factor g Max presents better performance in the static and the dynamic scenario with the same normalized dynamics threshold ( T LBCA = 0.2 , T 8 and T 9 ). Furthermore, a lower T LBCA deteriorates the static system performance, but improves the dynamic one. In the LBCA with PLAN interpolation, the presented configurations ( T 11 , T 12 , T 13 ) have the same good static system performance. The dynamic performance of T 13 stands out above all the adaptive tracking techniques. To conclude, this technique presents the best performance, maintaining the lowest complexity.

7. Discussion

The previous section collects all the obtained results to evaluate the FAB, FL, LBCA, and LBCA + PLAN techniques. The adaptive tracking techniques are evaluated in a static and a dynamic scenario at different C/N0 levels. For each scenario, one specific tracking channel (SV G4 in static, SV G17 in dynamic) is analyzed to understand how the presented algorithms work using different configurations. In addition, the metric for the system performance (see Equation (55)) is measured for each adaptive tracking technique and compared to its complexity (see Figure 36).
Figure 37 compares the measured static system performance with the dynamic system performance of the adaptive tracking techniques with different configurations. This Figure is based on Table 6 and synthesizes all the previous sections’ results into a single graph. The performance of the standard PLL at different loop bandwidths is also included. The dashed black line is an interpolation of the standard tracking results. Above this line, the values present a better system performance than the standard PLL, whereas results located below this line indicate a worse system performance. The STL clearly demonstrates the loop-bandwidth trade-off between static and dynamic scenarios The best-performing adaptive tracking technique should have the highest average system performance in static and dynamic scenarios.
The FAB technique ( T 1 , T 2 , T 3 ) has a similar performance as the standard PLL while having the highest complexity. Therefore, although not all the possible configurations have been tested, it seems that this technique does not bring any improvement. A better choice of the decay time Δ t can improve the performance of this algorithm. The FL technique presents better performance than the standard tracking except for one configuration, T 7 . A fuzzy threshold T Fuzzy D ˜ of 0.2 makes the algorithm too sensitive to noise, worsening the dynamic performance (see Figure 30b). Also, the high scale factor ( S = 0.1 ) results in a more unstable tracking, leading to a worse static performance at low C/N0 (see Figure 21b). The other configurations ( T 4 , T 5 , T 6 ) are above the standard PLL’s performance. A lower fuzzy threshold T Fuzzy D ˜ than configuration T 7 gains dynamic and static performance ( T 5 , T 4 ). If T Fuzzy D ˜ is even lower ( T 6 ), the dynamic performance improves with the trade-off of losing some static performance. The LBCA technique also achieves a good performance except for T 9 . A large scale factor ( g Max = 0.1 ) with a high normalized threshold dynamics T LBCA , as in the FL technique, can make the tracking unstable. A lower scale factor ( T 8 ) significantly improves the static performance and slightly the dynamic performance, whereas a low threshold dynamics ( T 10 ) significantly improves the dynamic performance and slightly the static one. Finally, the LBCA with PLAN technique presents better performance than standard PLL in all the presented configurations ( T 11 , T 12 , T 13 ). These three configurations have the same static performance, and the dynamic performance is improved significantly when the normalized threshold dynamics is equal to the optimal normalized dynamics ( T LBCA = 1 / 7 ).
The green dotted line in the top right of the graph is the Pareto front [49,50,51]. It isolates a set of optimal values to facilitate the trade-off between static and dynamic performance. All other values are sub-optimal in the Pareto sense. There are three values on the Pareto front: T 3 , T 8 and T 13 . However, T 3 (FAB) exhibits faulty behavior as it always adapts to the minimum loop bandwidth of 4.5 Hz, and cannot be used for reliable tracking. Therefore, it is excluded. The remaining correct performance-optimal adaptive tracking techniques are LBCA with PLAN using S = 0.1 and T LBCA = 0.14 ( T 13 ), and LBCA with S = 0.01 and T LBCA = 0.2 ( T 8 ). The optimization demonstrates the superiority of LBCA based adaptive algorithms with the correct tuning.

8. Conclusions

This paper presents a method to compare the performance and complexity of different state-of-the-art adaptive loop-bandwidth tracking techniques. First, the theoretical background of an STL is presented. Second, the FAB, the FL, and the LBCA adaptive tracking techniques are described. Third, the metrics used to evaluate the adaptive tracking techniques are analyzed. Furthermore, each adaptive tracking technique’s complexity is measured in terms of the required number of operations as well as the time complexity. Fourth, the algorithms are implemented on the GOOSE receiver platform with simulated static and dynamic scenarios. The dynamic scenarios represent harsh vehicular movement.
The results show each algorithm’s tracking and system performance in a static and a dynamic simulated scenario. The FAB presents insignificant improvements compared to STLs, has poor system performance and is the most complex adaptive algorithm. The FL is conceptually simple and shows—when tuned correctly– significant improvement to STLs. It is an algorithm with much potential. The LBCA and LBCA + PLAN techniques have superior system performance with the least amount of complexity. These algorithms–depending on the configurations–are also determined optimal in the static to dynamic trade-off, illustrating a clear advantage.
A broader statistical evaluation to test the adaptive tracking techniques with a wider variety of configurations, C/N0 levels, and scenarios is proposed for future work. It can additionally include multi-path and non-line-of-sight (NLOS) effects. This would improve the generalization and applicability of the adaptive tracking algorithms, and make these less dependent on the chosen scenarios. However, this paper presents an initial investigation and includes a framework to evaluate the adaptive techniques. The adaptive techniques in this paper are only evaluated for the PLL. However, a tracking channel also has a DLL and FLL. Therefore, future work to incorporate adaptive techniques to these loops are also proposed. The results for the LBCA and FL have shown that these algorithms’ performances are sensitive to their configurations. Therefore, further research to optimize the configurations are suggested. Furthermore, a vector-based LBCA approach which considers multiple GNSS SVs simultaneously is also suggested. Lastly, an extension of the adaptive loop-bandwidth algorithm can be done by also adapting the integration time.
This paper encloses an initial study of robust tracking techniques with the primary objective of developing a method that achieves the best performance while maintaining low complexity. The LBCA with the PLAN interpolation is currently the best candidate among the other techniques.

Author Contributions

Conceptualization, I.C.; methodology, I.C. and J.R.v.d.M.; software, I.C.; validation, I.C.; formal analysis, I.C.; investigation, I.C. and J.R.v.d.M.; resources, I.C. and A.R.; data curation, I.C.; writing—original draft preparation, I.C. and J.R.v.d.M.; writing—review and editing, I.C., J.R.v.d.M., J.N. and A.R.; visualization, I.C.; supervision, J.N.; project administration, A.R.; funding acquisition, W.F. and A.R. All authors have read and agreed to the published version of the manuscript.

Funding

This work has been partly carried out within the GUARDIAN project funded by the German Federal Ministry of Transport and Digital Infrastructure (FKZ 50NP1707), which is gratefully acknowledged.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

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.

Acknowledgments

This work has been partly carried out within the GUARDIAN project funded by the German Federal Ministry of Transport and Digital Infrastructure (FKZ 50NP1707), which is gratefully acknowledged.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
ADCanalog-to-digital converter
BETbackward Euler transform
C / N 0 carrier-to-noise density ratio
COGcenter of gravity
CRBCramér-Rao bound
DLLdelay locked loop
FABfast adaptive bandwidth
FAPFLL-assisted-PLL
FLfuzzy logic
FLLfrequency locked loop
FMMfuzzy mean method
FPGAfield-programmable gate array
GNSSglobal navigation satellite system
GOOSEGNSS-Receiver with Open Software Interface
GPSGlobal Positioning System
IADintegration and dump
IIRinfinite impulse response
IQin-phase and quadrature-phase
KFKalman filtering
LBCAloop-bandwidth control algorithm
LOSline-of-sight
NCOnumerically controlled oscillator
NLOSnon-line-of-sight
OGRPopen GNSS receiver protocol
PADPLL-assisted-DLL
PCIeperipheral component interconnect express
PLANpiecewise linear approximation of nonlinearities
PLIphase-lock indicator
PLLphase locked loop
PVTposition, velocity, and time
RFCSradio-frequency constellation simulator
RFFEradio-frequency front-end
SSEsteady state error
SSMstate space model
STLscalar tracking loop
SVsatellite vehicle
TCXOtemperature-compensated crystal oscillator
ToAtime of arrival
VTvector tracking

References

  1. Kaplan, E.D.; Hegarty, C.J. Understanding GPS: Principles and Applications, 2nd ed.; Artech House Mobile Communications Series; Artech House: Norwood, MA, USA, 2006. [Google Scholar]
  2. Won, J.; Pany, T. Signal Processing. In Springer Handbook of Global Navigation Satellite Systems; Springer International Publishing: Cham, Switzerland, 2017; pp. 401–442. [Google Scholar] [CrossRef]
  3. Liu, J.; Cui, X.; Lu, M.; Feng, Z. Vector tracking loops in GNSS receivers for dynamic weak signals. J. Syst. Eng. Electron. 2013, 24, 349–364. [Google Scholar] [CrossRef]
  4. Dietmayer, K.; Saad, M.; Strobel, C.; Garzia, F.; Overbeck, M.; Felber, W. Real time implementation of Vector Delay Lock Loop on a GNSS receiver hardware with an open software interface. In Proceedings of the 2019 European Navigation Conference (ENC), Warsaw, Poland, 9–12 April 2019; pp. 1–7. [Google Scholar] [CrossRef]
  5. Gardner, F.M. Phaselock Techniques, 3rd ed.; Wiley: New York, NY, USA, 2005. [Google Scholar]
  6. Jwo, D.J. Optimisation and sensitivity analysis of GPS receiver tracking loops in dynamic environments. IEE Proc. Radar Sonar Navig. 2001, 148, 241–250. [Google Scholar] [CrossRef] [Green Version]
  7. Cortés, I.; Iñiguez de Gordoa, J.A.; van der Merwe, J.R.; Rügamer, A.; Felber, W. Performance and complexity comparison of adaptive loop-bandwidth tracking techniques. In Proceedings of the 2020 International Conference on Localization and GNSS (ICL-GNSS), Tampere, Finland, 2–4 June 2020; pp. 1–7. [Google Scholar] [CrossRef]
  8. Stevanovic, S.; Pervan, B. A GPS phase-locked loop performance metric based on the phase discriminator output. Sensors 2018, 18, 296. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  9. Vilà-Valls, J.; Linty, N.; Closas, P.; Dovis, F.; Curran, J.T. Survey on signal processing for GNSS under ionospheric scintillation: Detection, monitoring, and mitigation. Navigation 2020, 67, 511–536. [Google Scholar] [CrossRef]
  10. Skone, S.; Lachapelle, G.; Yao, D.; Yu, W.; Watson, R. Investigating the impact of ionospheric scintillation using a GPS software receiver. In Proceedings of the 18th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2005), Long Beach, CA, USA, 13–16 September 2005; pp. 1126–1137. [Google Scholar]
  11. Muthuraman, K. Tracking Techniques for GNSS Data/Pilot Signals. Ph.D. Thesis, University of Calgary, Calgary, AB, Canada, 2010. [Google Scholar]
  12. Legrand, F.; Macabiau, C.; Issler, J.; Lestarquit, L.; Mehlen, C. Improvement of pseudorange measurements accuracy by using fast adaptive bandwidth lock loops. In Proceedings of the 13th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GPS 2000), Salt Lake City, UT, USA, 19–23 September 2000; pp. 2346–2356. [Google Scholar]
  13. Legrand, F.; Macabiau, C. Results of the implementation of the fast adaptive bandwidth lock loops on a real GPS receiver in a high dynamics context. In Proceedings of the International Conference on Global Navigation Satellite System (GNSS 2001), Seville, Spain, 8–11 May 2001. [Google Scholar]
  14. Chen, Y.; Zheng, H.; Wang, Y. Adaptive bandwidth PLL design based on fuzzy logic control. In Proceedings of the 4th IEEE International Symposium on Microwave, Antenna, Propagation and EMC Technologies for Wireless Communications, Beijing, China, 1–3 November 2011; pp. 645–648. [Google Scholar] [CrossRef]
  15. Hangos, K.M.; Lakner, R.; Gerzson, M. Applied Optimization 60. In Intelligent Control Systems: An Introduction with Examples; Springer: New York, NY, USA, 2004; Volume 1. [Google Scholar]
  16. Cortes, I.; Van der Merwe, J.R.; Rügamer, A.; Felber, W. Adaptive loop-bandwidth control algorithm for scalar tracking loops. In Proceedings of the 2020 IEEE/ION Position, Location and Navigation Symposium (PLANS), Portland, OR, USA, 20–23 April 2020; pp. 1178–1188. [Google Scholar] [CrossRef]
  17. Sun, X.; Qin, H.; Niu, J. Comparison and analysis of GNSS signal tracking performance based on kalman filter and traditional loop. WSEAS Trans. Signal Process. 2013, 9, 99–108. [Google Scholar]
  18. Rao, K.D.; Narayana, J.L. An approach for a faster GPS tracking extended Kalman filter. Navigation 1995, 42, 619–632. [Google Scholar] [CrossRef]
  19. Shen, J.; Cui, X.; Zhu, Y.; Lu, M. A frequency-compensation algorithm in Kalman filter-based tracking loop for high-dynamics GNSS receivers. In Proceedings of the 2016 International Technical Meeting of the Institute of Navigation (ION ITM), Monterey, CA, USA, 25–28 January 2016; pp. 429–436. [Google Scholar] [CrossRef]
  20. Lin, W.; Chen, X.; Wang, Y.; He, D. The design of asynchronous Kalman filter-based tracking loop in digital domain. In Proceedings of the 30th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2017), Portland, OR, USA, 25–29 September 2017; pp. 3853–3864. [Google Scholar] [CrossRef]
  21. Susi, M.; Borio, D. Kalman filtering with noncoherent integrations for Galileo E6-B tracking. Navigation 2020, 67, 601–618. [Google Scholar] [CrossRef]
  22. Won, J.W.; Eissfiller, B. A tuning method based on signal-to-noise power ratio for adaptive PLL and its relationship with equivalent noise bandwidth. IEEE Commun. Lett. 2013, 17, 393–396. [Google Scholar] [CrossRef]
  23. Won, J.H. A novel adaptive digital phase-lock-loop for modern digital GNSS receivers. IEEE Commun. Lett. 2014, 18, 46–49. [Google Scholar] [CrossRef]
  24. Overbeck, M.; Garzia, F.; Popugaev, A.; Kurz, O.; Forster, F.; Felber, W.; Ayaz, A.S.; Ko, S.; Eissfeller, B. GOOSE-GNSS Receiver with an Open Software Interface. In Proceedings of the 28th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2015), Tampa, FL, USA, 14–18 September 2015. [Google Scholar]
  25. Seybold, J. GOOSE: Open GNSS Receiver Platform; Technical Report; TeleOrbit GmbH: Nuremberg, Germany, 2020; Available online: https://teleorbit.eu/en/satnav/ (accessed on 10 January 2021).
  26. Aguirre, S.; Hurd, W.; Kumar, R.; Statman, J. A Comparison of Methods for DPLL Loop Filter Design; Telecommunications and Data Acquisition Progress Report 42–79; Jet Propulsion Laboratory: Pasadena, CA, USA, 1986. [Google Scholar]
  27. Jury, E.I. Theory and Application of the Z-Transform Methods; Wiley: New York, NY, USA, 1964. [Google Scholar]
  28. Taylor, C.J.; Young, P.C.; Chotai, A. True Digital Control: Statistical Modelling and Non-Minimal State Space Design; Wiley: New York, NY, USA, 2013; Volume 1. [Google Scholar]
  29. Humphreys, T.E.; Psiaki, M.L.; Kintner, P.M.; Ledvina, B.M. GPS carrier tracking loop performance in the presence of ionospheric scintillations. In Proceedings of the 18th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2005), Long Beach, CA, USA, 13–16 September 2005; pp. 156–167. [Google Scholar]
  30. Aguirre, S.; Hurd, W. Design and Performance of Sampled Data Loops for Subcarrier and Carrier Tracking; Telecommunications and Data Acquisition Progress Report 42–79; Jet Propulsion Laboratory: Pasadena, CA, USA, 1984. [Google Scholar]
  31. Jaffe, R.; Rechtin, E. Design and performance of phase-lock circuits capable of near-optimum performance over a wide range of input signal and noise levels. IRE Trans. Inf. Theory 1955, 1, 66–76. [Google Scholar] [CrossRef]
  32. Stephens, S.; Thomas, J. Controlled-root formulation for digital phase-locked loops. IEEE Trans. Aerosp. Electron. Syst. 1995, 31, 78–95. [Google Scholar] [CrossRef]
  33. López-Salcedo, J.A.; Peral-Rosado, J.A.D.; Seco-Granados, G. Survey on Robust Carrier Tracking Techniques. IEEE Commun. Surv. Tutor. 2014, 12, 670–688. [Google Scholar] [CrossRef]
  34. Leekwijck, W.V.; Kerre, E.E. Defuzzification: Criteria and classification. Fuzzy Sets Syst. 1999, 108, 159–178. [Google Scholar] [CrossRef]
  35. Domingos, P. The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World; Basic Books, Inc.: New York, NY, USA, 2018. [Google Scholar]
  36. Alban, S.; Akos, D.M.; Rock, S.M.; Gebre-Egziabher, D. Performance analysis and architectures for INS-aided GPS tracking loops. In Proceedings of the 2003 National Technical Meeting of The Institute of Navigation (ION NTM), Anaheim, CA, USA, 22–24 January 2003; pp. 611–622. [Google Scholar]
  37. Amin, H.; Curtis, K.; Hayes-Gill, B. Piecewise linear approximation applied to nonlinear function of a neural network. IEE Proc. Circuits Devices Syst. 1997, 144, 313–317. [Google Scholar] [CrossRef]
  38. Kay, S.M. Fundamentals of Statistical Signal Processing: Estimation Theory; Prentice-Hall Signal Processing Series; Prentice Hall: Upper Saddle River, NJ, USA, 1993; Volume 1. [Google Scholar]
  39. Betz, J.W.; Kolodziejski, K.R. Generalized Theory of Code Tracking with an Early-Late Discriminator Part I: Lower Bound and Coherent Processing. IEEE Trans. Aerosp. Electron. Syst. 2009, 45, 1538–1556. [Google Scholar] [CrossRef]
  40. Cong, L.; Li, X.; Jin, T.; Yue, S.; Xue, R. An adaptive INS-aided PLL tracking method for GNSS receivers in harsh environments. Sensors 2016, 16, 146. [Google Scholar] [CrossRef] [PubMed]
  41. Bhaskar, S. Exploiting quasi-periodicity in receiver dynamics to enhance GNSS carrier phase tracking. In Proceedings of the 27th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2014), Tampa, FL, USA, 8–12 September 2014; pp. 2563–2578. [Google Scholar] [CrossRef]
  42. Josuttis, N.M. The C++ Standard Library: A Tutorial and Reference, 2nd ed.; Addison-Wesley Professional: Boston, MA, USA, 2012. [Google Scholar]
  43. OProfile Manual. Available online: https://oprofile.sourceforge.io/doc/index.html (accessed on 14 December 2020).
  44. Taskset(1)—Linux Manual Page. Available online: https://man7.org/linux/man-pages/man1/taskset.1.html (accessed on 14 December 2020).
  45. Libm. Available online: https://sourceware.org/newlib/libm.html (accessed on 14 December 2020).
  46. Atkinson, K. An Introduction to Numerical Analysis; Wiley: New York, NY, USA, 1989. [Google Scholar]
  47. Garzia, F.; Strobel, C.; Overbeck, M.; Kumari, N.; Joshi, S.; Förster, F.; Felber, W. A multi-frequency multi-constellation GNSS development platform with an open interface. In Proceedings of the 2016 European Navigation Conference (ENC), Helsinki, Finland, 30 May–2 June 2016; pp. 1–7. [Google Scholar] [CrossRef]
  48. Ogrp—The Open Gnss Receiver Protocol. 2016. Available online: https://github.com/Fraunhofer-IIS/ogrp (accessed on 14 December 2020).
  49. Schmitendorf, W.; Leitmann, G. A simple derivation of necessary conditions for Pareto optimality. IEEE Trans. Autom. Control 1974, 19, 601–602. [Google Scholar] [CrossRef]
  50. Gandibleux, X. Metaheuristics for Multiobjective Optimisation; Springer: Berlin, Germany, 2004. [Google Scholar]
  51. Van der Merwe, J.R.; Maasdorp, F.D.V.; du Plessis, W.P.; Linde, L.P. Practical direction-of-arrival system evaluation. In Proceedings of the 2015 IEEE Radar Conference, Johannesburg, South Africa, 27–30 October 2015; pp. 487–492. [Google Scholar] [CrossRef]
  52. Robust Tracking Techniques Dataset Using GOOSE Receiver. Available online: https://owncloud.fraunhofer.de/index.php/s/LGoWPVtV5xbQ9mB (accessed on 10 January 2021).
Figure 1. Architecture of a conventional scalar tracking loop (STL). © IEEE. Adapted, with permission, from [7].
Figure 1. Architecture of a conventional scalar tracking loop (STL). © IEEE. Adapted, with permission, from [7].
Sensors 21 00502 g001
Figure 2. Architecture of the detector. © IEEE. Adapted, with permission, from [7].
Figure 2. Architecture of the detector. © IEEE. Adapted, with permission, from [7].
Sensors 21 00502 g002
Figure 3. Linear model of the STL. © IEEE. Adapted, with permission, from [7].
Figure 3. Linear model of the STL. © IEEE. Adapted, with permission, from [7].
Sensors 21 00502 g003
Figure 4. Linear model of a third-order STL.
Figure 4. Linear model of a third-order STL.
Sensors 21 00502 g004
Figure 5. General architecture of the implemented variable loop-bandwidth tracking techniques.
Figure 5. General architecture of the implemented variable loop-bandwidth tracking techniques.
Sensors 21 00502 g005
Figure 6. Architecture of the three-sigma rule-of-thumb based Fast Adaptive Bandwidth (FAB). © IEEE. Adapted, with permission, from [7].
Figure 6. Architecture of the three-sigma rule-of-thumb based Fast Adaptive Bandwidth (FAB). © IEEE. Adapted, with permission, from [7].
Sensors 21 00502 g006
Figure 7. Architecture of implemented Fuzzy Logic (FL) technique. © IEEE. Adapted, with permission, from [7].
Figure 7. Architecture of implemented Fuzzy Logic (FL) technique. © IEEE. Adapted, with permission, from [7].
Sensors 21 00502 g007
Figure 8. Fuzzy functions for normalized estimates D ˜ and N ˜ . © IEEE. Reprinted, with permission, from [7].
Figure 8. Fuzzy functions for normalized estimates D ˜ and N ˜ . © IEEE. Reprinted, with permission, from [7].
Sensors 21 00502 g008
Figure 9. Architecture of loop-bandwidth control algorithm (LBCA). © IEEE. Adapted, with permission, from [7].
Figure 9. Architecture of loop-bandwidth control algorithm (LBCA). © IEEE. Adapted, with permission, from [7].
Sensors 21 00502 g009
Figure 10. Weighting function of LBCA.
Figure 10. Weighting function of LBCA.
Sensors 21 00502 g010
Figure 11. Comparison between sigmoid weighting function and its piecewise linear approximation.
Figure 11. Comparison between sigmoid weighting function and its piecewise linear approximation.
Sensors 21 00502 g011
Figure 12. Square root CRB of the un-smoothed carrier phase error at different C/N0 levels, τ int = 20   ms .
Figure 12. Square root CRB of the un-smoothed carrier phase error at different C/N0 levels, τ int = 20   ms .
Sensors 21 00502 g012
Figure 13. Photo of the GOOSE receiver @Fraunhofer IIS/Paul Pulkert.
Figure 13. Photo of the GOOSE receiver @Fraunhofer IIS/Paul Pulkert.
Sensors 21 00502 g013
Figure 14. GOOSE architecture diagram.
Figure 14. GOOSE architecture diagram.
Sensors 21 00502 g014
Figure 15. Setup for the simulation. © IEEE. Adapted, with permission, from [7].
Figure 15. Setup for the simulation. © IEEE. Adapted, with permission, from [7].
Sensors 21 00502 g015
Figure 16. Sky-plot of simulated scenario.
Figure 16. Sky-plot of simulated scenario.
Sensors 21 00502 g016
Figure 17. Jerk line-of-sight dynamics of simulated dynamic scenario.
Figure 17. Jerk line-of-sight dynamics of simulated dynamic scenario.
Sensors 21 00502 g017
Figure 18. Static performance of standard PLL at different C/N0 levels and loop bandwidths.
Figure 18. Static performance of standard PLL at different C/N0 levels and loop bandwidths.
Sensors 21 00502 g018
Figure 19. Static performance of FAB PLL at different C/N0 levels.
Figure 19. Static performance of FAB PLL at different C/N0 levels.
Sensors 21 00502 g019
Figure 20. Average FAB PLL loop bandwidth of SV G4 trackingin static scenario.
Figure 20. Average FAB PLL loop bandwidth of SV G4 trackingin static scenario.
Sensors 21 00502 g020
Figure 21. Static performance of FL PLL at different C/N0 levels.
Figure 21. Static performance of FL PLL at different C/N0 levels.
Sensors 21 00502 g021
Figure 22. Average FL PLL loop bandwidth of SV G4 tracking in static scenario.
Figure 22. Average FL PLL loop bandwidth of SV G4 tracking in static scenario.
Sensors 21 00502 g022
Figure 23. Static performance of loop-bandwidth control algorithm (LBCA) PLL at different C/N0 levels.
Figure 23. Static performance of loop-bandwidth control algorithm (LBCA) PLL at different C/N0 levels.
Sensors 21 00502 g023
Figure 24. Average LBCA PLL loop bandwidth of SV G4 tracking in static scenario.
Figure 24. Average LBCA PLL loop bandwidth of SV G4 tracking in static scenario.
Sensors 21 00502 g024
Figure 25. Static performance of LBCA PLL with PLAN interpolation at different C/N0 levels.
Figure 25. Static performance of LBCA PLL with PLAN interpolation at different C/N0 levels.
Sensors 21 00502 g025
Figure 26. Average LBCA + PLAN PLL loop bandwidth of SV G4 tracking in static scenario.
Figure 26. Average LBCA + PLAN PLL loop bandwidth of SV G4 tracking in static scenario.
Sensors 21 00502 g026
Figure 27. Dynamic performance of standard PLL at different C/N0 levels and loop bandwidths.
Figure 27. Dynamic performance of standard PLL at different C/N0 levels and loop bandwidths.
Sensors 21 00502 g027
Figure 28. Dynamic performance of FAB at different C/N0 levels.
Figure 28. Dynamic performance of FAB at different C/N0 levels.
Sensors 21 00502 g028
Figure 29. PLL loop bandwidth update with FAB of SV G17 tracking in dynamic scenario.
Figure 29. PLL loop bandwidth update with FAB of SV G17 tracking in dynamic scenario.
Sensors 21 00502 g029
Figure 30. Dynamic performance of FL at different C/N0 levels.
Figure 30. Dynamic performance of FL at different C/N0 levels.
Sensors 21 00502 g030
Figure 31. PLL loop bandwidth update with FL of SV G17 tracking in dynamic scenario.
Figure 31. PLL loop bandwidth update with FL of SV G17 tracking in dynamic scenario.
Sensors 21 00502 g031
Figure 32. Dynamic performance of LBCA at different C/N0 levels.
Figure 32. Dynamic performance of LBCA at different C/N0 levels.
Sensors 21 00502 g032
Figure 33. PLL loop bandwidth update with LBCA of SV G17 tracking in dynamic scenario.
Figure 33. PLL loop bandwidth update with LBCA of SV G17 tracking in dynamic scenario.
Sensors 21 00502 g033
Figure 34. Dynamic performance of LBCA with PLAN interpolation at different C/N0 levels.
Figure 34. Dynamic performance of LBCA with PLAN interpolation at different C/N0 levels.
Sensors 21 00502 g034
Figure 35. PLL loop bandwidth update with LBCA with PLAN interpolation of SV G17 tracking in dynamic scenario
Figure 35. PLL loop bandwidth update with LBCA with PLAN interpolation of SV G17 tracking in dynamic scenario
Sensors 21 00502 g035
Figure 36. System performance vs. added time complexity comparison.
Figure 36. System performance vs. added time complexity comparison.
Sensors 21 00502 g036
Figure 37. System performance comparison between dynamic and static scenario.
Figure 37. System performance comparison between dynamic and static scenario.
Sensors 21 00502 g037
Table 1. Structure of the fuzzy Matrix W 3 × 3 fuzzy .
Table 1. Structure of the fuzzy Matrix W 3 × 3 fuzzy .
D ˜
ZOPSPL
N ˜ ZO0>0>0
PS<00>0
PL<0<00
Table 2. Complexity of the adaptive loop-bandwidth tracking techniques based on the number of operations.
Table 2. Complexity of the adaptive loop-bandwidth tracking techniques based on the number of operations.
Tracking TechniqueSub-ModuleNumber of Operations:
AdditionsMultiplicationsDivisionsOther
FABDynamic Stress Estimator461-
Three-Sigma FAB1112 · 7
Gradient Descent311-
Total81841
FLDynamic/Noise Estimator442-
FL Algorithm13250-
Total172920
LBCADynamic/Noise Estimator211-
LBCA algorithm451exp
Total6621
LBCA + PLANDynamic/Noise Estimator211-
LBCA algorithm460-
Total6710
Table 3. Time complexity of the adaptive loop-bandwidth tracking techniques, 3 × 10 8 iterations.
Table 3. Time complexity of the adaptive loop-bandwidth tracking techniques, 3 × 10 8 iterations.
Tracking
Technique
Total Time Complexity
T C (s)
Iteration Time Complexity
T Iter (ns)
Added Time Complexity
T Added (Times)
Standard18.160.31
FAB133.7445.87.4×
FL55.0183.53.0×
LBCA31.9106.41.8×
LBCA + PLAN27.892.81.5×
Table 4. Initial configuration of the DLL, FLL and PLL for each tracking channel.
Table 4. Initial configuration of the DLL, FLL and PLL for each tracking channel.
DLLFLLPLL
Order223
B [Hz]0.1158
DiscriminatorCELPDiff AtanAtan
Table 5. Selected values of the fuzzy Matrix W 3 × 3 fuzzy .
Table 5. Selected values of the fuzzy Matrix W 3 × 3 fuzzy .
D ˜
ZOPSPL
N ˜ ZO00.50.75
PS−0.2500.5
PL−0.5−0.250
Table 6. System performance of adaptive tracking techniques.
Table 6. System performance of adaptive tracking techniques.
Tracking TechniqueConfigurationLabel P ¯ System Static P ¯ System Dynamic
Standard PLL B PLL = 5 Hz P 1 0.7180.351
B PLL = 8 Hz P 2 0.7150.410
B PLL = 12 Hz P 3 0.6750.492
B PLL = 16 Hz P 4 0.6080.581
FAB Δ t = 0.8 s T 1 0.7300.343
Δ t = 0.7 s T 2 0.7130.399
Δ t = 0.5 s T 3 0.5740.593
FL S = 0.01 , T Fuzzy D ˜ = 0.14 T 4 0.7200.473
S = 0.1 , T Fuzzy D ˜ = 0.14 T 5 0.7080.470
S = 0.1 , T Fuzzy D ˜ = 0.1 T 6 0.6950.503
S = 0.1 , T Fuzzy D ˜ = 0.2 T 7 0.6780.398
LBCA S = 0.01 , T LBCA = 0.2 T 8 0.7270.458
S = 0.1 , T LBCA = 0.2 T 9 0.6910.444
S = 0.1 , T LBCA = 0.14 T 10 0.7060.543
LBCA + PLAN S = 0.01 , T LBCA = 0.2 T 11 0.7080.466
S = 0.1 , T LBCA = 0.2 T 12 0.7080.451
S = 0.1 , T LBCA = 0.14 T 13 0.7070.602
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Cortés, I.; van der Merwe, J.R.; Nurmi, J.; Rügamer, A.; Felber, W. Evaluation of Adaptive Loop-Bandwidth Tracking Techniques in GNSS Receivers. Sensors 2021, 21, 502. https://doi.org/10.3390/s21020502

AMA Style

Cortés I, van der Merwe JR, Nurmi J, Rügamer A, Felber W. Evaluation of Adaptive Loop-Bandwidth Tracking Techniques in GNSS Receivers. Sensors. 2021; 21(2):502. https://doi.org/10.3390/s21020502

Chicago/Turabian Style

Cortés, Iñigo, Johannes Rossouw van der Merwe, Jari Nurmi, Alexander Rügamer, and Wolfgang Felber. 2021. "Evaluation of Adaptive Loop-Bandwidth Tracking Techniques in GNSS Receivers" Sensors 21, no. 2: 502. https://doi.org/10.3390/s21020502

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop