Next Article in Journal
An Exploration of Machine-Learning Estimation of Ground Reaction Force from Wearable Sensor Data
Previous Article in Journal
Use of Miniature Step Gauges to Assess the Performance of 3D Optical Scanners and to Evaluate the Accuracy of a Novel Additive Manufacture Process
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

C/N0 Estimator Based on the Adaptive Strong Tracking Kalman Filter for GNSS Vector Receivers

1
School of Automation, Northwestern Polytechnical University, Xi’an 710072, China
2
Beijing Institute of Control and Electronic Technology, Beijing 100032, China
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(3), 739; https://doi.org/10.3390/s20030739
Submission received: 11 December 2019 / Revised: 19 January 2020 / Accepted: 28 January 2020 / Published: 29 January 2020
(This article belongs to the Section Physical Sensors)

Abstract

:
The carrier-to-noise ratio (C/N0) is an important indicator of the signal quality of global navigation satellite system receivers. In a vector receiver, estimating C/N0 using a signal amplitude Kalman filter is a typical method. However, the classical Kalman filter (CKF) has a significant estimation delay if the signal power levels change suddenly. In a weak signal environment, it is difficult to estimate the measurement noise for CKF correctly. This article proposes the use of the adaptive strong tracking Kalman filter (ASTKF) to estimate C/N0. The estimator was evaluated via simulation experiments and a static field test. The results demonstrate that the ASTKF C/N0 estimator can track abrupt variations in C/N0 and the method can estimate the weak signal C/N0 correctly. When C/N0 jumps, the ASTKF estimation method shows a significant advantage over the adaptive Kalman filter (AKF) method in terms of the time delay. Compared with the popular C/N0 algorithms, the narrow-to-wideband power ratio (NWPR) method, and the variance summing method (VSM), the ASTKF C/N0 estimator can adopt a shorter averaging time, which reduces the hysteresis of the estimation results.

1. Introduction

Global navigation satellite system (GNSS) receivers use tracking loops to synchronize replicated signals with received signals to maintain a continuous lock on the received signals. Traditional GNSS receivers use scalar-tracking loops (STLs). Vector-tracking loops (VTLs) are a new type of tracking loop. The basic strategy of VTLs is to combine signal tracking and navigation state (position and velocity) estimation into a single algorithm. Compared to STLs, VTLs improve the receiver tracking sensitivity and dynamic adaptability, increase the resistance to interference, and have the ability to bridge short-term interrupt signals [1].
In GNSS receivers, the carrier-to-noise ratio (C/N0), which is the ratio of the signal power to the noise power density, is an important parameter for measuring the quality of the received signal. In the acquisition phase, C/N0 provides a priori information that is used to determine the optimal detection threshold. In the tracking phase, C/N0 information facilitates the suppression of near-far interference and the avoidance of loss of lock. In particular, various positioning algorithms also use C/N0 to calculate the navigation solutions, such as the weighted least squares method [2]. C/N0 can also be used to facilitate the determination of the current working environment (indoor or outdoor) of the receiver and the construction of an environmentally adaptive navigation system [3]. In a vector receiver, C/N0 is an important basis for determining the validity of the measurements and for estimating the measurement noise [4]. In summary, based on the C/N0, GNSS receivers can implement a variety of functions to improve performance. The accurate estimation of the C/N0 is vital to developing advanced signal-processing algorithms.
In the GNSS context, various C/N0 estimators have been intensively investigated by a broad range of literature. The main strategy of C/N0 estimation is to construct a statistic that contains the C/N0 information by using the sampled values of the correlator outputs or to directly estimate the signal and noise powers. Commonly used algorithms for C/N0 estimation include the narrow-to-wideband power ratio method (NWPR) [5], the correlator comparison method [5] (the additional noise channel method [6], ANCM), and the variance summing method (VSM) [7]. NWPR is a classic measurement method, which is also known as the standard estimator [8] and is used as a benchmark for algorithm comparison [9]. These estimation algorithms exhibit satisfactory estimation performance in a benign signal environment. However, under weak signal conditions, to obtain an accurate C/N0 measurement, a relatively long averaging time is required, thereby resulting in a significant time lag in the C/N0 estimation [5]. In challenging environments such as dense foliage and urban canyons, the signal power and C/N0 change rapidly if satellite signals are blocked. If the C/N0 shows a large change, the traditional estimation methods must adjust the averaging time, which causes the C/N0 estimation to be delayed, and cannot accurately reflect the change of the real signal.
A fatal drawback of the vector receiver is that a faulty tracking channel can contaminate all of the remaining tracking channels [1,10]. C/N0 is typically an important parameter for the identification of fault-tracking channels [4]. Therefore, timely and accurate estimation of the signal C/N0 is crucial for the vector receiver. The delay in the C/N0 estimation process may cause erroneous measurements to be passed to the navigation Kalman filter (KF), which would severely degrade the navigation performance. For these reasons, the conventional C/N0 estimation algorithms that are discussed above can impair the performance of vector-tracking loops in harsh environments.
In response to possible C/N0 mutations, a C/N0 estimation method that is based on an amplitude Kalman filter is typically used by vector receivers [4,11]. To track rapid changes in the signal amplitude, the ratio of the signal power to the noise power density is monitored [4]. When the signal changes beyond a preset threshold, the covariance matrix of the filter is adjusted. This approach has adaptive processing capability and can track the rapid change of C/N0. However, the thresholds for detecting signal changes are a predetermined set of fixed values. The thresholds differ among working environments; hence, this method cannot adapt to a wide range of changes in the receiver operating environment. In addition, in a weak signal environment, the amplitude Kalman filter has difficulty accurately determining the measurement noise. Based on this estimation method, an adaptive C/N0 estimation method is presented in [6]. The signal C/N0 is monitored in real time via statistical mutation in a specified time window. The C/N0 estimation algorithm adaptively switches between the differential method and the strong tracking Kalman filter (STKF) estimator. By utilizing the strong tracking filter’s ability to track sudden changes in state, the main drawback of adjusting the covariance matrix according to a preset threshold is avoided. However, the time window statistic for state mutation detection also has a time delay problem, and the measurement noise estimation problem at low C/N0 is not considered.
In this study, we focus on the timely and accurate estimation of C/N0 and the measurement noise statistics in a weak signal environment. This paper proposes a C/N0 estimation method that is based on the strong tracking Kalman filter [12] and the Allan variance-based measurement noise estimation method. The proposed C/N0 estimator avoids the estimation delay that is caused by signal mutation detection and algorithm switching selection. Facilitated by the adaptive estimation of the measurement noise, the estimation accuracy in the weak signal environment is guaranteed. Based on the software receiver, vector-tracking loops and an adaptive C/N0 estimation algorithm are implemented. To evaluate the estimation accuracy and the performance of the algorithm, simulation tests and a static field test were conducted. The adaptive Kalman filter estimator and two popular algorithms (the NWPR method and the VSM method) were selected as references for comparative analysis. The experimental results demonstrate that the C/N0 estimation method that is based on the adaptive strong tracking Kalman filter (ASTKF) has strong advantages in terms of real-time performance and estimation accuracy.
The remainder of this paper is organized in the following manner. The second section describes the basic principles of the vector receiver and the mathematical model that are used in this paper. The algorithmic details of the adaptive C/N0 estimation method are presented in the third section. In the fourth and fifth sections, the proposed method is evaluated via simulation experiments and a static field test. The conclusions of this study are presented in the final section.

2. Vector-Tracking Loops

The vector-tracking algorithm is an advanced satellite navigation signal-processing algorithm. A conventional scalar receiver assigns a tracking channel to each visible satellite, and the tracking channel processes the baseband signal using a code loop (delay lock loop, DLL) and a carrier loop (phase lock loop, PLL). Each tracking channel is independent of the others, which ignores the inherent relationships between channels and between navigation parameters and tracking channels [1]. Therefore, this is not a structural form that realizes the best performance. Vector-tracking loops leverage a Kalman filter to simultaneously conduct signal tracking and navigation solutions calculation. The navigation parameters are used to control the operation of the tracking loops, and the correlations between tracking channels are fully considered, which can significantly improve the tracking performance of the receiver. Moreover, the vector-tracking loops are the basis for the construction of a GNSS/inertial deep integration navigation system.
The vector receiver uses the traditional acquisition and scalar tracking algorithm to decode the ephemeris and to obtain the first navigation solution, which is used to complete the necessary initialization work [13,14]. In vector mode, the receiver uses the predicted position and velocity and the ephemeris to calculate the control command of the numerically controlled oscillator (NCO) to generate the local replica code and carrier. After the local replica signal and the received signal complete the mixing and correlation operations, the correlation results are input into the code discriminator and the carrier frequency discriminator, and the code phase and carrier frequency tracking error are calculated. Then, the signal-tracking errors are converted into pseudorange residuals and pseudorange rate residuals as the measurement vector of the navigation Kalman filter. States of the Kalman filter are fed back to correct the position and velocity prediction errors. The basic structure of the vector-tracking loops is illustrated in Figure 1. The details of one of the tracking channels are presented in the dashed box.
In Figure 1, the navigation Kalman filtering (NKF) is the core of a vector receiver, which estimates the navigation solutions and closes the tracking loops simultaneously. From the perspective of NKF, the vector-tracking algorithm includes two forms: centralized filtering and federated filtering. The state vector of NKF can select the position-state formulation or the pseudorange-state formulation [15,16]. Centralized filtering avoids the filter divergence that is caused by filter cascade. The position-state formulation has a clearer physical meaning, and the state dimension is lower than the pseudorange-state formulation. Therefore, the centralized filtering structure in the form of the position-state formulation is used as the basic reference frame for vector-tracking loops design.
In the position-state formulation, the typical states of the navigation Kalman filter are the receiver’s position, velocity, and clock states [15]. The state vector of the navigation Kalman filter is
X = [ ( δ P 3 × 1 ) T ( δ V 3 × 1 ) T ( δ A 3 × 1 ) T ( δ B 2 × 1 ) T ] T
where δ P 3 × 1 , δ V 3 × 1 and δ A 3 × 1 denote the position errors, velocity errors, and acceleration errors, respectively, in three directions and δ B 2 × 1 represents the receiver’s clock bias and clock drift errors.
The discretized form of the system equation is as follows:
X k = Φ k , k 1 X k 1 + η k 1
where Φ k , k 1 is the state transition matrix, which is formulated as follows:
Φ k , k 1 = [ I 3 × 3 T s I 3 × 3 T s 2 I 3 × 3 / 2 0 3 × 2 0 3 × 3 I 3 × 3 T s I 3 × 3 0 3 × 2 0 2 × 3 0 2 × 3 I 3 × 3 0 3 × 2 0 2 × 3 0 2 × 3 0 2 × 3 L ]
L = [ 1 T s 0 1 ]
where T s is the discretization interval and I 3 × 3 denotes a third-order unit matrix.
In Equation (2), η k 1 is the process noise. The variance matrix is:
Q k = [ U T s 5 / 20 U T s 4 / 8 U T s 3 / 6 0 3 × 2 U T s 4 / 8 U T s 3 / 3 U T s 2 / 2 0 3 × 2 U T s 3 / 6 U T s 2 / 2 T s U 0 3 × 2 0 2 × 3 0 2 × 3 0 2 × 3 V ]
U = [ q x 2 0 0 0 q y 2 0 0 0 q z 2 ] ,   V = [ q b 2 T s + q d 2 T s 3 3 q d 2 T s 2 2 q d 2 T s 2 2 q d 2 T s ]
where q x 2 , q y 2 and q z 2 denote the power spectral density (PSD) of the acceleration disturbance noise in three directions and q b 2 and q d 2 are the PSDs of the receiver clock phase noise and the frequency noise, respectively.
The measurement equation of the navigation Kalman filter is as follows:
[ Δ ρ 1 Δ ρ ˙ 1 Δ ρ M Δ ρ ˙ M ] = [ u l o s , 1 0 1 × 3 0 1 × 3 1 0 0 1 × 3 u l o s , 1 0 1 × 3 0 1 u l o s , M 0 1 × 3 0 1 × 3 1 0 0 1 × 3 u l o s , M 0 1 × 3 0 1 ] [ δ P 3 × 1 δ V 3 × 1 δ A 3 × 1 δ B 2 × 1 ]
where Δ ρ and Δ ρ ˙ are the pseudorange residuals and the pseudorange rate residuals, respectively, that are output by the discriminators; u l o s denotes the unit vector of the receiver and satellite line of sight; and M is the number of visible satellites.
The symbols I E k , Q E k , I L k and Q L k represent the early and late complex correlator output samples at time k. The correlator spacing is 1/2 chip. I P k , 1 , I P k , 2 , Q P k , 1 and Q P k , 2 represent prompt complex correlator output samples (subscripts 1 and 2 denote the sample outputs in the first half and the second half, respectively, of the integration period). As shown in Figure 1, each tracking channel uses a code discriminator and a carrier frequency discriminator to process the correlator outputs and to estimate the code and carrier tracking errors. The tracking errors of the discriminator output are converted into pseudorange and pseudorange rate residuals as Kalman filter measurements. The forms of the code phase and carrier frequency discriminator are as follows [15].
(1)
Code discriminator
Y R , k = ( I E k 2 + Q E k 2 ) ( I L k 2 + Q L k 2 )
where Y R , k is the code discriminator output, which has been converted to a pseudo-range residual Y ˜ R , k (unit: m):
Y ˜ R , k = Y R , k β / 2 A F , k 2 = ρ e , k + υ R , k β / 2 A F , k 2
where ρ e , k is ideal pseudorange residual, β is the chip length (unit: m), A F , k is the signal amplitude, and υ R , k is the discriminator output noise.
Let υ ˜ R , k = υ R , k β / 2 A F , k 2 . The variance is:
σ 2 ( υ ˜ R , k ) = β 2 2 ( T c / n o ) 2 + β 2 T c / n o ( ρ e 2 β 2 + 1 4 )
where T is the predetection integration time and c / n o is the carrier-to-noise ratio in Hz.
(2)
Carrier frequency discriminator
Y R R , k = I P k , 2 Q P k , 1 I P k , 1 Q P k , 2 A F , k 2 R 2 ( ε k ) ( π f e r r , k T ) / 4 + υ R R , k
where ε k denotes the code phase error, R ( ε k ) is the C/A code correlation function, f e r r , k is the frequency error, and υ R R , k is the noise term.
The discriminator output is converted to the pseudo-range rate residual Y ˜ R R , k (unit: m/s):
Y ˜ R R , k = ρ ˙ e r r , k + υ ˜ R R , k
In Equation (10), υ ˜ R R , k denotes the pseudorange rate residual measurement noise. Its detailed formula and variance are as follows:
υ ˜ R R , k = 4 A F , k 2 R 2 ( ε k ) π T c f L 1 υ R R , k
σ 2 ( υ ˜ R R , k ) = 2 + 2 R 2 ( ε k ) ( T c / n o ) R 4 ( ε k ) ( T c / n o ) 2 ( c π T f L 1 ) 2
where f L 1 is the Global Positioning System (GPS) L1 frequency and c is the speed of light.

3. Adaptive Carrier-to-Noise Ratio (C/N0) Estimation Method

According to Section 2, the calculation of the noise variances in the vector tracking loops requires signal C/N0 information. In addition, C/N0 can also be used for the detection and isolation of fault-tracking channels.
If there is occlusion of the signal transmission path, the sudden disappearance or occurrence of the signal will cause a sudden change in the signal power, and the C/N0 will also exhibit a short-term large-scale jump. In contrast to conventional receivers, vector receivers can bridge short-term interrupt signals. To fully utilize the advantages of vector-tracking loops, the C/N0 estimation algorithm must adapt to the C/N0 mutation environment. The classical C/N0 estimators have a large delay in response to the sudden change of C/N0, which will weaken the performance advantage of vector receivers in harsh environments; hence, these estimators are not suitable for vector receivers.
The strong tracking Kalman filter can accurately track the state of a mutation [12]. By using a strong tracking filter to estimate the amplitude of the signal, it can effectively cope with the possible mutation of the received signal. The Allan analysis of variance adaptively estimates the measurement noise by segmenting the frequency bands of the measurement outputs. Based on these two algorithms, a C/N0 estimation method that is based on the adaptive strong tracking Kalman filter is designed.
When the receiver has completed signal acquisition and is tracking a signal well, the coherent integration values of the in-phase (I) and quadraphase (Q) outputs of the prompt branch of the tracking channel can be reduced to functions of c / n 0 [17].
I P k = 2 ( c / n 0 ) T c o h σ n cos ϕ e + n I Q P k = 2 ( c / n 0 ) T c o h σ n sin ϕ e + n Q
where T c o h denotes the coherent integration time, c / n 0 is the carrier-to-noise ratio in Hz, ϕ e is the carrier phase error, and n I and n Q are Gaussian white noises with mean zero and variance σ n 2 . The coherent integral values are functions of C/N0. A statistical analysis of the coherent integrated sample values can estimate C/N0.
Define a statistic in the following form:
A ˜ k = I P k 2 + Q P k 2
Its mean is:
E { A ˜ k } = A k 2 + 2 σ n , k 2
A k 2 = 2 ( c / n 0 ) T c o h σ n , k 2
where A k is the effective amplitude of the signal and A ˜ k is a biased estimate of the square of the signal amplitude.
According to Equation (16), C/N0 in dB-Hz can be expressed as follows:
( C / N 0 ) k = 10 log 10 ( A k 2 2 T c o h σ n , k 2 )
According to Equation (17), estimation of C/N0 requires the signal amplitude and noise variance information. The noise variance is estimated in the receiver via a noise correlator. The noise correlator uses a non-existing pseudo-random noise (PRN) code; hence, its output can be regarded as zero-mean Gaussian white noise [18]. In each 20 ms coherent integration period, the noise correlator outputs N samples. Empirical measurements of the noise variance are obtained as:
σ ˜ n , k 2 = 1 N j = 1 N n j 2
where n j represents the noise correlator output.
The interference noise in the receiver tracking channel is mainly thermal noise, and its variance changes slowly with time. Therefore, the noise variance measurement is smoothed to obtain a more accurate measurement [4].
σ ^ n , k 2 = ( 1 α ) σ ^ n , k 1 2 + α σ ˜ n , k 2
where α is a filter coefficient, the value of which can be found in [4].
Each tracking channel is configured with an amplitude Kalman filter for estimating the signal amplitude. The amplitude Kalman filter is a single-state filter. The discretized system model and measurement equation are as follows:
{ X k = X k 1 + w k 1 Z k = X k + v k
X k = A 2 + 2 σ n 2
where A is the effective amplitude of the signal; Z k is the filter measurement, the value of which is equal to A ˜ in Equation (14); and w and v are the system noise and the measurement noise, respectively. The state transition matrix Φ k , k 1 and the measurement matrix H k are both 1.
The variance of the measurement noise is:
σ v , k 2 = E { [ A ˜ k E ( A ˜ k ) ] 2 } 4 σ ^ n , k 2 ( A ˜ k σ ^ n , k 2 )
The main reason for the sudden change of the C/N0 due to signal occlusion is the sudden change in the signal power, namely, the signal amplitude (filter state) has a large jump. After the filter reaches a steady state, the classical Kalman filter (see Table 1) state covariance matrix ( P k ) tends to a fixed value. The Kalman filter gain approaches zero. The time update effect is strengthened, and the measurement update function is weakened [19]. This causes the state estimate of the filter to deviate substantially from the true value of the catastrophic state.
To solve the divergence problem of CKF, the strong tracking Kalman filter introduces a time-varying fading factor into the calculation of the state-one-step prediction mean square error matrix, thereby improving the performance in tracking the state. The covariance propagation of the amplitude Kalman filter that is based on the STKF is as follows:
P k / k 1 = λ k Φ k , k 1 P k 1 Φ k , k 1 T + Q k 1 = λ k P k 1 + Q k 1
where λ k 1 is a time-varying fading factor.
Figure 2 depicts the time-varying fading factor calculation process. In Figure 2, 0 < κ 1 is the forgetting factor and L 1 is weakening factor.
In the amplitude Kalman filter, the noise variance is estimated via Equation (22). In the case of low C/N0, A ˜ may be smaller than the noise variance σ ^ n 2 . Calculating the noise variance using Equation (22) will result in a negative value, thereby causing the filter to be abnormal. To avoid a negative value of the measurement noise variance, a measurement noise adaptive method that is based on the Allan variance is used to realize the online estimation of the noise variance in real time.
The measurement variance estimation algorithm that is based on the Allan variance is [20]:
R ^ k = 1 2 ( k 1 ) i = 2 k ( Z i Z i 1 ) 2 = 1 2 ( k 1 ) [ i = 2 k 1 ( Z i Z i 1 ) 2 + ( Z k Z k 1 ) 2 ] = ( 1 1 k 1 ) R ^ k 1 + 1 2 ( k 1 ) ( Z k Z k 1 ) 2
where k = 2 , 3 , 4 , and the initial value R ^ 1 is calculated via Equation (22).
In Equation (24), the estimation process of the measurement noise variance that is based on Allan variance and the Kalman filtering process are completely independent of each other, thereby effectively reducing the risk of Kalman filter divergence [20]. According to Equation (24), the strong tracking filter adjusts the one-step prediction mean square error matrix according to the measurement innovation. Compared with the adaptive method that is based on the innovation sequence, the filtering process that is based on the Allan variance is more stable.
To reduce the influence of the old measurement noise, an exponential fading memory weighted average method can be utilized. The recursive estimation formula for measuring the noise variance is as follows [20]:
R ^ k = ( 1 β k ) R ^ k 1 + β k 2 ( Z k Z k 1 ) 2
β k = β k 1 β k 1 + b
where the initial value β 0 = 1 and 0 < b < 1 is the fading factor.
By combining the noise variance and the state estimate of the amplitude Kalman filter, the following c / n 0 estimation formula is obtained:
( c ^ / n ^ 0 ) k = X ^ k 2 σ ^ n , k 2 2 T c o h σ ^ n , k 2
The C/N0 estimates are averaged over multiple times to obtain more accurate results:
C ^ / N ^ 0 = 10 log 10 ( 1 N k = 1 N ( c ^ / n ^ 0 ) k )
A detailed algorithmic flow chart of the ASTKF C/N0 estimation method is shown in Figure 3.

4. Computer Simulation Experiments

To evaluate the performance of the ASTKF C/N0 estimation algorithm, simulation tests were conducted using the GNSS signal simulator and the vector software receiver. Figure 4 shows a block diagram of the simulation experiment’s data generation and processing. In the tests, the Skydel SDX satellite navigation signal simulator was used to generate in real-time the in-phase/quadrature (I/Q) samples representing the GPS baseband signals. Moreover, the SDX simulator can adjust the power of the simulation signal online [21]. Then, a universal software radio peripheral converted baseband I/Q samples to the GPS L1 C/A radio frequency (RF) signal. The RF front-end converted the simulated RF signal into a digital intermediate frequency (IF) signal and stored it on the computer. The signal simulation and acquisition equipment is shown in Figure 5. Table 2 presents the main parameters of the RF front end. The vector software receiver performed post-processing analysis on the digital IF signal and output the C/N0 estimation results.

4.1. C/N0 Mutation Scenario Evaluation

The motion form of the receiver was set to static. In the simulation process, the signal C/N0 was changed in step form to evaluate the estimation performance of the ASTKF C/N0 estimator during C/N0 hopping. At the beginning of the simulation, C/N0 was set to 45 dB-Hz. At 60 s, C/N0 was increased to 55 dB-Hz in steps. At 120 s, C/N0 was reduced to 15 dB-Hz in steps, and at 180 s, it was restored to 45 dB-Hz.
To fairly evaluate the advantages of the strong tracking filter over the classical Kalman filter, a measurement noise adaptive technique that is based on the Allan variance is introduced into the standard amplitude Kalman filter. A C/N0 estimation algorithm that is based on adaptive Kalman filter (AKF) is constructed as a benchmark. The averaging time for both methods is set to 0.5 s.
Figure 6 presents the C/N0 estimation results of the AKF and ASTKF methods. The results of the AKF and ASTKF methods are approximately consistent when C/N0 is stable. However, when C/N0 shows a large jump (at 60 s, 120 s and 180 s), the ASTKF estimation method can track the C/N0 change more quickly, while the AKF estimation result shows a significant lag.
When the signal amplitude changes abruptly, C/N0 changes substantially. The system model that is represented by Equation (20) has a severe mismatch with the real model. The mean square error that is calculated by the classical Kalman filter in Table 1 is smaller than the true value, thereby resulting in a small filter gain value, and the impact of the measurement innovation on the state update is weak. According to Equation (22) and the calculation process of time-varying fading factor, we can see that the STKF utilizes the measurement innovation when calculating the one-step prediction mean square error matrix. Therefore, when C/N0 jumps, the filter gain of the ASTKF method is larger than the filter gain of the AKF method, and the response to the sudden change in state is more rapid.

4.2. Algorithm Precision Analysis

To evaluate the estimation accuracy of the ASTKF estimation method, two sets of GPS L1 C/A signals that differed in terms of C/N0 were generated by the SDX satellite signal simulator. For one set, C/N0 was set to 55 dB-Hz, which corresponds to a strong satellite signal; for the other set, C/N0 was set to 18 dB-Hz, which corresponds to a weak satellite signal. The digital IF signals were post-processed by the software receiver. Two classical methods, the NWPR and the VSM were selected as the reference. To analyse the effect of the averaging time, four averaging times (0.5 s, 1 s, 3 s and 5 s) were used.
In the simulation tests, the C/N0 estimation results are smaller than the set values due to signal attenuation that is caused by the simulator, the RF front-end, and the connection cables. Therefore, the accuracy of the estimation is measured in terms of the standard deviation (Std) of the estimation results.

4.2.1. Strong Signal Environment Evaluation

The C/N0 of the simulated signal was set to 55 dB-Hz. In the real environment, the outdoor GPS signal has a C/N0 of approximately 35~55 dB-Hz [17]. The C/N0 of 55 dB-Hz is almost the maximum value of the real GPS signal, which represents a strong signal environment. The length of the sampled signal is approximately 10 minutes.
Figure 7 presents the C/N0 estimation results that were obtained using four averaging times. The estimation results of the two classical C/N0 estimation methods are similar. In addition to the initial transition phase, the estimation results of the ASTKF method are more stable than those of the NWPR and the VSM.
Table 3 presents a statistical comparison of the estimation results. In the strong signal environment, the standard deviation of the ASTKF estimation results is smaller than that of the results of the other two methods using the same averaging time. In addition, according to Table 3, the estimated standard deviation of ASTKF using the averaging time of 0.5 s is smaller than that of NWPR and VSM using the averaging time of 5 s. Therefore, compared with the NWPR and the VSM, the ASTKF C/N0 estimation algorithm can adopt a smaller averaging time, which facilitates the reduction of the lag of the estimation result. In the strong signal environment, using the ASTKF method, after the averaging time exceeds 0.5 s, continuing to increase the averaging time does not significantly improve the estimation accuracy of C/N0.

4.2.2. Weak Signal Environment Evaluation

The simulation signal C/N0 was set to 18 dB-Hz for the simulation of a weak signal environment with a simulation time of 10 min. Figure 8 presents the simulation results of the ASTKF C/N0 estimation method in this weak signal environment. Table 4 presents a statistical comparison of the C/N0 estimation results.
According to Figure 8 and Table 4, in the weak signal environment, the C/N0 estimation error is larger than that in the strong signal environment. However, compared with the NWPR and the VSM, the estimation results of the ASTKF estimation method are more stable, which is consistent with the simulation results in the strong signal environment. Similarly, the estimated standard deviation of ASTKF using an averaging time of 0.5 s is smaller than that of NWPR with an averaging time of 5 s and that of VSM with an averaging time of 3 s. Therefore, regardless of the strength of the received satellite signal, the ASTKF estimation method can use a shorter averaging time than the NWPR and the VSM.
In addition, comparing Table 3 and Table 4, in the weak signal environment, increasing the averaging time can significantly improve C/N0 estimation accuracy. Therefore, for receivers that are operating in special environments (such as indoor environments), the averaging time should be extended suitably.

5. Static Field Test

To further evaluate the performance of the ASTKF method in a real environment, a static field test was conducted. The static test site was selected in an open, outdoor area, and the test environment is shown in Figure 9. In the test, the RF front-end was used to record the GPS L1 C/A code signal, and the signal length was approximately 5 min. The vector software receiver was used for post-processing analysis. During the field test, satellites 10, 12, 14, 20, 21, 24, 25 and 32 were visible. Figure 10 shows a sky plot of the visible GPS satellites. The ASTKF and two popular methods (NWPR and VSM) were used to estimate C/N0 for comparative analysis. The averaging time of 0.5 s was selected as the empirical value of the averaging time.
As can be seen from Figure 10, satellite 10 has the highest elevation angle, and the signal reception quality is satisfactory. In a short time (5 min), the signal power and C/N0 do not change substantially. Figure 11 presents its C/N0 estimation results. According to Figure 11, in the real signal environment, the ASTKF estimation results are less volatile than the NWPR and the VSM estimation results. Figure 12 is a box diagram of the C/N0 estimation results of satellite 10 at various averaging times. According to Figure 12, the ASTKF method achieves higher accuracy (the result distribution is more concentrated). Moreover, the ASTKF estimation error with an averaging time of 0.5 s is less than that of the NWPR and the VSM with an averaging time of 5 s. These results are consistent with the conclusions of the simulation tests.
As Figure 10 shows, satellite 24 has a low elevation angle, and the signal is susceptible to interference and attenuation. Satellite 24 is selected for evaluation of the estimation performance of the ASTKF method when the signal condition in the environment is poor. Figure 13 shows that the trends in the ASTKF and the other two methods are consistent. At 100~200 s, the signal power and C/N0 show wide ranges of changes. The ASTKF method can correctly track this change in C/N0. The test results demonstrate that in the real environment, the ASTKF method realizes satisfactory estimation performance on signals of poor quality.

6. Conclusions

In this paper, we propose a C/N0 estimation method that is based on an adaptive strong tracking Kalman filter, which considers the characteristics and application environment of the vector receivers. Based on the STKF and a measurement noise adaptation that is based on Allan variance, the ASTKF C/N0 estimation method estimates the C/N0 values of vector receivers in signal strength hopping and weak signal environments. The results of the first simulation test demonstrate that the estimated delay of the ASTKF method is significantly smaller than that of the AKF method when the C/N0 jumps. The results of the second simulation experiment demonstrate that the estimated standard deviation of the ASTKF method with an averaging time of 0.5 s is smaller than that of the NWPR and the VSM with a longer averaging time in both the strong signal and the weak signal simulation environments. Therefore, compared to the NWPR and the VSM, the ASTKF method can use a shorter averaging time to reduce the lag of the estimation results. The static field test data demonstrate the applicability of the ASTKF method to signals in practice, and the ASTKF method can track large variations in the true signal C/N0. In addition, the results of the field test support the conclusion of the simulation test that the estimated standard deviation of the ASTKF method is significantly smaller than that of the NWPR and the VSM.

Author Contributions

Conceptualization, S.L. (Shiming Liu) and S.L. (Sihai Li); Methodology, S.L. (Shiming Liu); Software, S.L. (Shiming Liu) and J.Z.; Validation, S.L. (Shiming Liu), J.Z., Q.F., and Y.Y.; Writing—original draft preparation, S.L. (Shiming Liu); Writing—review and editing, S.L. (Shiming Liu), S.L. (Sihai Li), J.Z., Q.F., and Y.Y.; Supervision, S.L. (Sihai Li); Project administration, S.L. (Sihai Li) and Q.F. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Lashley, M.; Bevly, D.M. What are vector tracking loops, and what are their benefits and drawbacks? Inside GNSS 2009, 4, 16–21. [Google Scholar]
  2. Gómez-Casco, D.; López-Salcedo, J.A.; Seco-Granados, G. C/N0 estimators for high-sensitivity snapshot GNSS receivers. GPS Solut. 2018, 22, 122. [Google Scholar] [CrossRef]
  3. Gao, H.; Groves, P.D. Environmental context detection for adaptive navigation using GNSS measurements from a smartphone. Navig. J. Inst. Navig. 2018, 65, 99–116. [Google Scholar] [CrossRef]
  4. Lashley, M.; Bevly, D.M. Comparison in the performance of the vector delay/frequency lock loop and equivalent scalar tracking loops in dense foliage and urban canyon. In Proceedings of the 2011 International Technical Meeting of the Satellite Division of the Institute of Navigation, Portland, OR, USA, 20–23 September 2011; pp. 1786–1803. [Google Scholar]
  5. Groves, P.D. GPS signal to noise measurement in weak signal and high interference environments. Navig. J. Inst. Navig. 2005, 52, 83–94. [Google Scholar] [CrossRef]
  6. Zhu, Z. Research on Key Techniques of Vector Tracking for Satellite Navigation. Ph.D. Thesis, National University of Defense Technology, Changsha, China, 2011. [Google Scholar]
  7. Sharawi, M.S.; Akos, D.M.; Aloi, N.D. GPS C/N0 estimation in the presence of interference and limited quantization levels. IEEE Trans. Aerosp. Electron. Syst. 2007, 43, 227–238. [Google Scholar] [CrossRef]
  8. Kannan, M.; Daniele, B. C/N0 Estimation for Modernized GNSS Signals: Theoretical Bounds and a Novel Iterative Estimator. Navig. J. Inst. Navig. 2010, 57, 309–323. [Google Scholar]
  9. Falletti, E.; Pini, M.; Lo Presti, L. Low Complexity Carrier-to-Noise Ratio Estimators for GNSS Digital Receivers. IEEE Trans. Aerosp. Electron. Syst. 2011, 47, 420–437. [Google Scholar] [CrossRef]
  10. Sun, Z.; Wang, X.; Feng, S.; Che, H.; Zhang, J. Design of an adaptive GPS vector tracking loop with the detection and isolation of contaminated channels. GPS Sol. 2017, 21, 701–713. [Google Scholar] [CrossRef]
  11. Lashley, M.; Bevly, D.M.; Hung, J.Y. Performance analysis of vector tracking algorithms for weak GPS signals in high dynamics. IEEE J. Sel. Top. Signal Process. 2009, 3, 661–673. [Google Scholar] [CrossRef]
  12. Zhou, D.; Xi, Y.; Zhang, Z. A Suboptimal Multiple Fading Extended Kalman Filter. Acta Autom. Sin. 1991, 17, 689–758. [Google Scholar]
  13. Xu, B.; Hsu, L.-T. Open-source MATLAB code for GPS vector tracking on a software-defined receiver. GPS Sol. 2019, 23, 46. [Google Scholar] [CrossRef]
  14. Zhao, S.; Akos, D. An Open Source GPS/GNSS Vector Tracking Loop—Implementation, Filter Tuning, and Results. In Proceedings of the 2011 International Technical Meeting of the Institute of Navigation, San Diego, CA, USA, 24–26 January 2011; pp. 1293–1305. [Google Scholar]
  15. Lashley, M. Modeling and performance analysis of GPS vector tracking algorithms. Ph.D. Thesis, Auburn University, Auburn, AL, USA, 2009. [Google Scholar]
  16. Cheng, J.R.; Liu, G.B.; Yao, Z.C.; Liu, D.; Yao, Z.Y. A robust GNSS vector tracking loop. Acta Aeronaut. et Astronaut. Sin. 2014, 35, 3106–3114. [Google Scholar]
  17. Xie, G. Principles of GPS and Receiver Design; Publishing House of Electronics Industry: Beijing, China, 2017. [Google Scholar]
  18. Satyanarayana, S.; Borio, D.; Lachapelle, G. C/N0 estimation: design criteria and reliability analysis under global navigation satellite system (GNSS) weak signal scenarios. IET Radar Sonar Navig. 2012, 6, 81–89. [Google Scholar] [CrossRef]
  19. Qin, Y.; Zhang, H.; Wang, S. Principles of Kalman Filter and Integrated Navigation, 3rd ed.; Northwestern Polytechnical University Press: Xi’an, China, 2015. [Google Scholar]
  20. Yan, G.; Li, S.; Qin, Y. Inertial Instrument Testing and Data Analysis; National Defense Industry Press: Beijing, China, 2015. [Google Scholar]
  21. SDX user manual 18.10. Available online: https://users.skydelsolutions.com/user-files/Release-18.10/SDX-User-Manual-18.10.pdf (accessed on 16 March 2019).
Figure 1. Basic structure of the vector-tracking loops.
Figure 1. Basic structure of the vector-tracking loops.
Sensors 20 00739 g001
Figure 2. Time-varying fading factor calculation process.
Figure 2. Time-varying fading factor calculation process.
Sensors 20 00739 g002
Figure 3. Summary of the adaptive strong tracking Kalman filter (ASTKF) carrier-to-noise ratio (C/N0) estimation algorithm.
Figure 3. Summary of the adaptive strong tracking Kalman filter (ASTKF) carrier-to-noise ratio (C/N0) estimation algorithm.
Sensors 20 00739 g003
Figure 4. Simulation experiments data generation and processing flow.
Figure 4. Simulation experiments data generation and processing flow.
Sensors 20 00739 g004
Figure 5. Global Positioning System (GPS) radio frequency (RF) signal simulation and digital intermediate frequency (IF) signal acquisition.
Figure 5. Global Positioning System (GPS) radio frequency (RF) signal simulation and digital intermediate frequency (IF) signal acquisition.
Sensors 20 00739 g005
Figure 6. Comparison of the estimation results in a C/N0 mutation environment (0.5 s averaging time): (a) a global figure; (b) a zoomed-in view of part 1; (c) a zoomed-in view of part 2; and (d) a zoomed-in view of part 3.
Figure 6. Comparison of the estimation results in a C/N0 mutation environment (0.5 s averaging time): (a) a global figure; (b) a zoomed-in view of part 1; (c) a zoomed-in view of part 2; and (d) a zoomed-in view of part 3.
Sensors 20 00739 g006
Figure 7. Simulation strong signal C/N0 estimation results: (a) 0.5 s averaging time; (b) 1 s averaging time; (c) 3 s averaging time; and (d) 5 s averaging time.
Figure 7. Simulation strong signal C/N0 estimation results: (a) 0.5 s averaging time; (b) 1 s averaging time; (c) 3 s averaging time; and (d) 5 s averaging time.
Sensors 20 00739 g007
Figure 8. Simulation weak signal C/N0 estimation results: (a) 0.5 s averaging time; (b) 1 s averaging time; (c) 3 s averaging time; and (d) 5 s averaging time.
Figure 8. Simulation weak signal C/N0 estimation results: (a) 0.5 s averaging time; (b) 1 s averaging time; (c) 3 s averaging time; and (d) 5 s averaging time.
Sensors 20 00739 g008
Figure 9. Static real signal acquisition environment.
Figure 9. Static real signal acquisition environment.
Sensors 20 00739 g009
Figure 10. Sky plot of GPS satellites for the static field test.
Figure 10. Sky plot of GPS satellites for the static field test.
Sensors 20 00739 g010
Figure 11. Satellite 10 C/N0 (0.5 s averaging time).
Figure 11. Satellite 10 C/N0 (0.5 s averaging time).
Sensors 20 00739 g011
Figure 12. Satellite 10 C/N0 estimation box plot comparison.
Figure 12. Satellite 10 C/N0 estimation box plot comparison.
Sensors 20 00739 g012
Figure 13. Satellite 24 C/N0 (0.5 s averaging time).
Figure 13. Satellite 24 C/N0 (0.5 s averaging time).
Sensors 20 00739 g013
Table 1. Classical Kalman filter (CKF) process [19].
Table 1. Classical Kalman filter (CKF) process [19].
System propagation1. State prediction X ^ k / k 1 = Φ k , k 1 X ^ k 1
2. Covariance propagation P k / k 1 = Φ k , k 1 P k 1 Φ k , k 1 T + Q k 1
Measurement update3. Kalman gain K k = P k / k 1 H k T ( H k P k / k 1 H k T + R k ) 1
4. State update X ^ k = X ^ k / k 1 + K k ( Z k H k X ^ k / k 1 )
5. Covariance update P k = ( I K k H k ) P k / k 1
Table 2. RF front-end main parameters.
Table 2. RF front-end main parameters.
Quantization BitNoise FigureIF FrequencySampling Frequency
2 bits2.8 dB3.996 MHz16.369 MHz
Table 3. Strong signal C/N0 estimation statistics.
Table 3. Strong signal C/N0 estimation statistics.
0.5 s Averaging Time1 s Averaging Time3 s Averaging Time 5 s Averaging Time
Mean
(dB-Hz)
Std
(dB-Hz)
Mean
(dB-Hz)
Std
(dB-Hz)
Mean
(dB-Hz)
Std
(dB-Hz)
Mean
(dB-Hz)
Std
(dB-Hz)
NWPR52.471.2252.421.0552.350.7152.320.52
VSM52.541.1752.491.0052.420.6752.400.50
ASTKF52.580.1552.580.1552.570.1452.570.14
Table 4. Weak signal C/N0 estimation statistics.
Table 4. Weak signal C/N0 estimation statistics.
0.5 s Averaging Time1 s Averaging Time3 s Averaging Time5 s Averaging Time
Mean
(dB-Hz)
Std
(dB-Hz)
Mean
(dB-Hz)
Std
(dB-Hz)
Mean
(dB-Hz)
Std
(dB-Hz)
Mean
(dB-Hz)
Std
(dB-Hz)
NWPR9.886.2210.305.6911.194.3011.713.20
VSM10.514.4210.933.5711.642.1811.901.58
ASTKF13.942.0314.091.7114.251.2914.321.07

Share and Cite

MDPI and ACS Style

Liu, S.; Li, S.; Zheng, J.; Fu, Q.; Yuan, Y. C/N0 Estimator Based on the Adaptive Strong Tracking Kalman Filter for GNSS Vector Receivers. Sensors 2020, 20, 739. https://doi.org/10.3390/s20030739

AMA Style

Liu S, Li S, Zheng J, Fu Q, Yuan Y. C/N0 Estimator Based on the Adaptive Strong Tracking Kalman Filter for GNSS Vector Receivers. Sensors. 2020; 20(3):739. https://doi.org/10.3390/s20030739

Chicago/Turabian Style

Liu, Shiming, Sihai Li, Jiangtao Zheng, Qiangwen Fu, and Yanhua Yuan. 2020. "C/N0 Estimator Based on the Adaptive Strong Tracking Kalman Filter for GNSS Vector Receivers" Sensors 20, no. 3: 739. https://doi.org/10.3390/s20030739

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