Next Article in Journal
Modifications of Au Nanoparticle-Functionalized Graphene for Sensitive Detection of Sulfanilamide
Next Article in Special Issue
Spoofing Detection Using GNSS/INS/Odometer Coupling for Vehicular Navigation
Previous Article in Journal
Comparison between Electrocardiographic and Earlobe Pulse Photoplethysmographic Detection for Evaluating Heart Rate Variability in Healthy Subjects in Short- and Long-Term Recordings
Previous Article in Special Issue
Research into Kinect/Inertial Measurement Units Based on Indoor Robots
Article Menu
Issue 3 (March) cover image

Export Article

Sensors 2018, 18(3), 845; doi:10.3390/s18030845

Article
Design and Implementation of an RTK-Based Vector Phase Locked Loop
Position, Location and Navigation (PLAN) Group; Schulich School of Engineering, University of Calgary, Calgary, AB T2N 1N4, Canada
*
Author to whom correspondence should be addressed.
Received: 8 January 2018 / Accepted: 6 March 2018 / Published: 13 March 2018

Abstract

:
This paper introduces a novel double-differential vector phase-locked loop (DD-VPLL) for Global Navigation Satellite Systems (GNSS) that leverages carrier phase position solutions as well as base station measurements in the estimation of rover tracking loop parameters. The use of double differencing alleviates the need for estimating receiver clock dynamics and atmospheric delays; therefore, the navigation filter consists of the baseline dynamic states only. It is shown that using vector processing for carrier phase tracking leads to a significant enhancement in the receiver sensitivity compared to using the conventional scalar-based tracking loop (STL) and vector frequency locked loop (VFLL). The sensitivity improvement of 8 to 10 dB compared to STL, and 7 to 8 dB compared to VFLL, is obtained based on the test cases reported in the paper. Also, an increased probability of ambiguity resolution in the proposed method results in better availability for real time kinematic (RTK) applications.
Keywords:
Global Navigation Satellite Systems (GNSS); vector tracking; carrier phase tracking; RTK

1. Introduction

The concept of vector tracking loop (VTL) was first proposed in [1] and since then it has been of interest for Global Navigation Satellite Systems (GNSS) applications. This method leverages the spatial correlation among measurements from different satellites to enhance tracking capability. In contrast to the conventional scalar tracking loop (STL) in which each satellite signal is processed independently, VTL processes all signals in parallel using a common navigation filter. VTL is proven to have superior performance compared to STL during weak signal tracking, high dynamic situations and even under interference conditions [2,3,4,5]. VTL is based upon the fact that all received signals are spatially correlated. The receiver motion projects onto received signals from different satellites according to their corresponding locations. This property is used in vector tracking to enhance robustness. In this case, strong signals assist weak signal tracking during short time outages to prevent loss of lock. This approach is now widely used for code phase and carrier frequency tracking, leading to vector delay lock loop (VDLL) and vector frequency lock loop (VFLL) architectures, respectively. However, the methods result in a non-coherent receiver in which carrier phase measurements either are not being tracked or are tracked independently. Hence, carrier phase-based navigation algorithms such as RTK should rely on scalar-based tracking measurements.
Although vector tracking is very beneficial for frequency and code tracking loops, applying the same concept to the carrier phase is not straightforward. The reason for is that the magnitude of errors affecting GNSS signals is usually at the metre level, which is, in some cases, far more than the tolerable intervals for phase discriminators with limited linear regions. Due to relatively short GNSS carrier wavelengths, these errors can easily force the loop to drop out of lock or generate cycle slips. Hence, a significant part of disturbance in the carrier phase of each pseudo random number (PRN)is unique to the corresponding satellite, and effects such as ionospheric and tropospheric delays can make carrier phase measurement errors uncorrelated.
The Co-op tracking loop was proposed in [6] as an alternative to the vector tracking loop. Analogous to VTL, this architecture also utilizes the spatial correlations among measurements from different satellites to enhance tracking capability. In contrast, in addition to a single filter for common effects, each channel has its own channel-arm filter to track the residual phase in the corresponding channel. However, using the channel filters compromises the tracking loop performance compared to a pure vector solution, as satellite geometry is only incorporated partially [7].
Henkel et al. introduced a Multi-Frequency Multi-Carrier VPLL (MC-VPLL) in which additional information is used to keep the VPLL in lock and to account for the residual error in each channel [8]. In this case, the navigation filter also contains an ionospheric delay state for each satellite as well as a tropospheric zenith delay state. A multi-frequency receiver has been considered in order to estimate ionospheric delays. The receiver starts with scalar-based tracking loops and switches to VPLL when all tracking loops are in the locked condition and the transient regime is completed. In this way, integer ambiguities and initial phase errors are obtained from the scalar tracking loops. Results from studies using this method have shown that its outperforms scalar tracking in terms of phase jitter and the probability of loss-of-lock, provided that deep fading due to scintillation does not affect all satellites and frequencies simultaneously.
Brewer and Raquet proposed a differential VPLL (DVPLL) in which base station measurements are utilized to assist the vector loop [9]. DVPLL attempts to remove nuisance parameters, such as atmospheric errors, instead of estimating them for short to medium baselines, through differential processing of the observations. DVPLL employs single-differencing between receivers, thereby eliminating or substantially reducing atmospheric errors (for short to medium-length baselines) as well as satellite orbital and clock errors. Therefore, the receiver must estimate its own position and clock information (bias, drift, etc.). In addition, rover measurements (i.e., carrier phases and code phases) are estimated by projecting base station observations onto the rover position. In this way, the degraded incoming signals can be ignored, as the local replica is merely a function of base station observations and rover dynamics information. Hence, as long as the estimated position and clock states are fairly accurate, it is possible to generate rover observations regardless of the incoming signal quality.
In [1], a modified version of this algorithm was applied to a moving rover. It was shown that DVPLL tracking sensitivity was improved by 4 to 8 dB compared to the scalar-based tracking loop. The author conducted a moving rover experiment in a moderate to heavy foliage environment, where the vector tracking experienced a lower number of cycle slips compared to the scalar loop.
A partitioned phase tracking loop was introduced in [10] in which a combination of scalar-base and vector-based loops were employed for carrier phase tracking. The vector processing was intended to track errors caused by receiver clock bias and motion, whereas the scalar loop tracks satellite-dependent errors.
This paper introduces a double-difference VPLL (DD-VPLL) tracking architecture for carrier phase vector processing in the receiver. Similar to DVPLL, the proposed method utilizes base station observations for carrier phase estimation. However, using double-differencing obviates the necessity for estimating receivers’ clock biases. For the DVPLL case, receiver clock bias modelling with centimetre accuracy is very challenging, especially with receivers equipped with temperature-controlled oscillators (TCXO). Other effects, such as vibration-induced errors in non-stationary rovers, must be taken into account. Thus, a simple two-state clock model in DVPLL may not be adequate for dynamic cases. In order to evaluate the performance of the proposed method, a GNSS hardware simulator was employed which generates both the base station and the rover RF signals. For the rover, a circular motion was considered at constant velocity of 10 m/s with radius of 200 m.

2. Signal and System Model

Brewer and Raquet proposed a differential VPLL for carrier phase tracking that employs base station measurements to assist the rover tracking loops [9]. The rover carrier phase is predicted based upon base station measurements and the relative location of the two receivers. Specifically,
ϕ R k ( t R ) = ϕ B k ( t B k ) + f s a t ( t B k t R ) ϕ 0 R k + ϕ 0 B k
where ϕ R k and ϕ B k are rover and base station carrier phase values from the kth satellite, ϕ 0 R and ϕ 0 B are initial phase values and f s a t represents the GNSS carrier frequency. Accordingly, the rover carrier phase at time t R can be estimated by base station carrier phase at time t B k , where
t B k = t B 1 + 1 + ε B 1 + ε R ( t R t R 1 ) + ( | r B r k | | r R r k | c + Δ I k + Δ T k + Δ η ) ( 1 + ε B )
and c is the speed of light, t R 1 and t B 1 are initial clock biases and ε R and ε B are clock drifts for rover and base stations. Since a base station usually has a better clock, ε B is smaller than 1 and ( 1 + ε B ) 1 . Moreover, for short to medium baselines, the ionospheric delay ( Δ I k ) is negligible and the tropospheric delay ( Δ T k ) is insignificant, provided that the two receivers have more or less similar heights. Δ η accounts for the uncorrelated errors, such as white noise and multipath, which are not modelled. r B , r R and r k are the position vectors of base station, rover and kth satellite, respectively. The authors proposed an extended Kalman filter (EKF) that estimates t B 1 and ε B as well as the rover’s position ( r R ). Other parameters can be exploited at the rover using satellite ephemeris available at the base station. This algorithm has the advantage of eliminating common errors, such as atmospheric delays, satellites clock and orbital errors. Hence, the predicted carrier phase has a fraction of a cycle (e.g., 0.1 cycle) accuracy, provided that the rover position and clock terms can be estimated precisely.
In order to alleviate the clock bias issue, estimation and elimination are the two possible approaches. Although simplified models, such as random walk clock drift, can be utilized, they fail to model realistic clock behavior, especially for a dynamic rover with effects such as vibrations. This paper introduces the DD-VPLL tracking loop that eliminates clock bias terms and leads to a more robust loop.
Due to the double-differencing operation, measurements from a reference satellite are required. Hereafter, it is assumed that sR refers to the reference satellite index. Based on Equation (1), it can be shown that
ϕ R k ( t R ) ϕ R s R ( t R ) = ϕ B k ( t B k ) ϕ B s R ( t B s R ) + f s a t ( t B k t B s R ) ϕ 0 R k + ϕ 0 B s R + ϕ 0 R k ϕ 0 B s R
In addition, according to Equation (2)
t B k t B s R = ( | r B r k | | r R r k | | r B r s R | + | r R r s R | c + Δ I k + Δ T k + Δ η ) ( 1 + ε B )
Double differencing removes the atmospheric effects, provided that the baseline (distance between the two receivers) is relatively short (a few km), in which case the atmospheric effects are highly correlated. Hence, the carrier phase of the rover station for the kth satellite can be expressed as
ϕ R k ( t R ) = ( ϕ B k ( t B k ) ϕ B s R ( t B s R ) + ϕ R s R ( t R ) ) 1 λ ( | r B r k | | r R r k | | r B r s R | + | r R r s R | + Δ ε ) + Δ R k ϕ 0
where Δ R k ϕ 0 accounts for any double difference in the initial phase offset in receivers and satellites as well as integer carrier phase ambiguities. The time epoch for base station measurements can be computed as
t B k = t R P R k P B k c .
where P B k and P R k are the base station and rover pseudo-range measurements for the kth satellite. The carrier Doppler interpolation is used to estimate the base station carrier phase at any specific epoch, namely
ϕ ( t B k ) = ϕ ( t B ) + ( t B t B ) ω ( t B )
Similarly, the carrier Doppler of the rover station can also be estimated based on the base station measurements, as
ω R k ( t B k ) = ( ω B k ( t B k ) ω B s R ( t B s R ) + ω R s R ( t R ) ) 1 λ ( ( v B v k ) . e B k ( v R v k ) . e R k ( v B v s R ) . e B s R + ( v R v s R ) . e R s R )
where v B , v R and v k denote the base station, rover and the kth satellite velocity vector, respectively. Also ω i j and e i j are the carrier Doppler measurement and the unit directional vector between the ith receiver and jth satellite, respectively.
This model does not consider carrier phase multipath effects. Since multipath errors for spatially separated receivers are uncorrelated, they are not eliminated by the double differencing process. In a harsh GNSS environment with strong multipath components or in a fast fading situation, the use of the proposed DD-VPLL may not be as beneficial, as double differencing amplifies the multipath effect. Also, vector processing combines the observations from different satellites and adds correlations among them. However, if the target environment has a few strong satellites with line-of-sight (LOS) signals, e.g., partial forestry canopy, the observations that are not affected by the multipath help the navigation filter to provide a more accurate estimated receiver position and alleviate the multipath effect of other satellites. Hence, vector processing leads to better performance compared to the use of scalar loops.
Although triple differencing (TD) eliminates integer ambiguities, it is not a viable solution for carrier phase positioning. The main issue with this method is lower observability due to time differencing. In this case, the weaker geometry matrix significantly degrades the estimated position accuracy. TD is usually used to obtain a preliminary position estimate that is then used for DD RTK positioning in which case, the integer nature of the carrier phase ambiguities can be exploited; when the integer values are found, they become deterministic and are removed from the state vector, improving observability in the process.

3. Proposed Tracking Loop Architecture

Figure 1 shows the overall structure of the proposed tracking loop architecture. The input signal passes through two different layers. The backup layer is a high-sensitivity tracking loop, responsible for maximizing measurement availability as well as providing reference satellite measurements. It can be a STL, VTL or any other algorithm through which signal parameters can be estimated.
The DD-VPLL layer estimates rover carrier phase values with the VPLL algorithm. The main goal of this layer is to enhance carrier phase tracking sensitivity of the receiver for situations in which the backup layer is unable to provide carrier phase measurements for a subset of satellites. An EKF is employed as the navigation filter to estimate rover position and dynamics which are then fed to phase projectors. A phase projector applies Equations (5) and (8) to estimate the rover’s carrier phase and Doppler values. Moreover, the base station aiding information is shown in green boxes in Figure 1, including navigation data bits, ephemerides and base station observations. Aiding can be utilized in the backup layer as well, to enhance its sensitivity.
Since the carrier phase prediction is very sensitive to the rover’s position error, a real time kinematic (RTK) engine is utilized in the DD-VPLL layer to initialize the navigation filter. The DD-VPLL measurements are reliable only when the RTK engine is able to fix carrier phase ambiguities. Therefore, a tracking strategy finite state machine (FSM) is added to this architecture which determines the current tracking state. Moreover, signal quality metrics (SQM), such as carrier-to-noise spectral density (C/N0), phase lock indicator (PLI), frequency lock indicator (FLI) and so on are fed into the algorithm to switch back and forth between DD-VPLL and STL modes.
The tracking strategy is as follows:
Determine the tracking state: Initially, the receiver measurements are obtained from the backup layer. As soon as the integer ambiguities are fixed, the strategy initializes the navigation filter and switches to vector mode. In this case, DD-VPLL measurements are selected as the actual observations.
Determine the reference satellite: Based on SQMs, the best candidate is selected to be the reference satellite. Usually, a combination of C/N0 and high satellite elevation angle is used for this purpose.
The EKF employed in the DD-VPLL layer estimates the rover’s position, velocity and higher order dynamics. The states vector is expressed as
x = [ r R T r R ( 1 ) T r R ( n 1 ) T ] 3 n × 1 T
where r R ( i ) T is the transpose of the ith order rover dynamic vector and n is the highest order of the dynamics of interest for the prediction process. Likewise, the measurement vector is defined as
φ = [ φ 1 φ 2 φ S φ ( 1 ) , 1 φ ( 1 ) , S φ ( m 1 ) , S ] m ( S 1 ) × 1 T
where S is the number of satellites and m represents the highest order of measurement dynamics. For example, m = 1 when only carrier phase observations are utilized and m = 2 when both carrier phase and carrier–Doppler observations are used. Also, φ ( i ) , j represents the ith order measurement for the jth satellite.

4. Tracking Loop Analysis

This section involves a comprehensive theoretical analysis of the proposed tracking loop. As DD-VPLL is an extension of vector tracking, it is important to determine the theoretical performance, benefits and limitations of this method compared to other tracking loop strategies.

4.1. Observability Analysis

Observability is an important characteristic. If the underlying model does not fulfill the observability condition, the Kalman filter as a state estimator is not applicable. This condition guarantees that the state of the system can be inferred uniquely by observing the measurements. Otherwise, given the measurements, it is not possible to determine how the states evolve, and prediction is not possible.
It is shown that a state estimator is observable if the following observability matrix is of full-rank [11]:
O ( F , H ) = [ H T F T H T ( F T ) 2 H T ( F T ) n 1 H T ]
In this section, the observability of DD-VPLL is obtained for an arbitrary number of states and measurements. According to Equation (9), the states’ dynamic matrix, F, can be expressed as
F = [ 0 3 I 3 0 3 0 3 0 3 0 3 I 3 0 3 : : 0 3 I 3 0 3 0 3 0 3 ] = A n I 3
where is the Kronecker product operator. 0 n and I n are zero and identity matrices of size n × n with
A n = [ 0 1 0 0 0 0 1 0 : : : : 0 0 0 1 0 0 0 0 ] n × n
For the measurement model, the H matrix can be expressed as follows
H = H n H g = ( [ 1 T 2 ! T 2 3 ! T m 1 m ! ] 1 × m I S 1 ) . ( I m × n H g 1 ) = [ 1 T 2 ] . I m × n I S 1 . H g 1 = H n 1 . I m × n I S 1 . H g 1
where H n accounts for the fact that the discriminator output is the phase error average in the previous integration interval at the correlator output. H g 1 is referred to as the geometry matrix and is defined as
H g 1 = [ e r 1 1 e r 1 1 : : e r S 1 ] S × 4
It is proven in Appendix A that the observability is guaranteed regardless of system and measurement orders, provided that at least four satellites are visible to the receiver. Hence, from A theoretical observability point of view, there is no limitation on the system and measurement order and the observability of DD-VPLL. However, the following considerations limit the system order in practice:
  • The state transition matrix (STM) of the discrete-time system is A function of the update time (T). In the STM equation, higher order terms are multiplied by high powers of T, leading to fast up/down scaling of the matrix. Hence, maintaining a high numerical precision is difficult even if numerically stable implementations are used [12].
  • Negligible third and higher order dynamics in the received GNSS signals, especially for vehicular applications [13].
  • Higher order states are weakly observable due to lack of information for estimating process noise, spectral density contents and numerical round-off errors [12].
Therefore, a system order of 2 or 3 is chosen in practice and higher order dynamics are modelled by process noise.

4.2. Sensitivity Analysis

When the tracking loops are locked, the discriminator outputs for all channels can be assumed to have the following Gaussian distribution vector:
d STL ~ N ( 0 , R v )
where R v is the covariance matrix of the noise at the discriminator outputs. For VTL, the measurements are transferred into the position domain through the geometry matrix (H). The VTL can be assumed as a vector discriminator with the following distribution
d VTL ~ N ( 0 , H ( H T R v 1 H ) 1 H T )
The advantage of a vector discriminator is reduction of its output noise variance by the factor
g i = σ d ( VTL ) 2 σ d ( STL ) 2 = d i a g i { H . ( H T R v 1 H ) 1 . H T R v 1 }
for the ith channel. A simplified model for VTL is shown in Figure 2 in which a linearized discriminator takes the difference between the incoming carrier phase vector ( φ ) and the estimated vector ( φ ^ ), generated by a numerically controlled oscillator (NCO). The measurements are contaminated by the additive noise vector ( v ) and are passed through loop filters (F).
g = [ g 1 g 2 g n ] T
where n is the number of channels that are processing in VTL and the multiplier g T accounts for the VTL gain. In practice, when the number of satellites is more than the number of states in the navigation filter, the elements of the g vector are smaller than one, leading to lower tracking jitter compared to STL [3]. This shows the VTL advantages in reducing the noise of the estimated parameters.
The output variance for the coherent discriminator of an STL can be expressed as
σ φ ^ , STL 2 = σ d ( STL ) 2 + | H c ( ω ) | 2 d ω = σ d ( STL ) 2 . B = B C / N 0
where B represents the equivalent noise bandwidth (ENBW), and σ d 2 is the discriminator’s output noise variance. H c is a closed-loop transfer function of the loop, and σ S T L 2 denotes the tracking loop output variance. Similarly, the output vaxxriance for the ith channel in the VTL, assuming a similar bandwidth, can be expressed as
σ φ ^ i , VTL 2 = σ d ( VTL ) 2 . B = σ d ( STL ) 2 . g i B
To simplify mathematical derivations, it is assumed hereafter that all satellites have the same C/N0 values (i.e., R v = σ 0 2 I n ). This is the worst-case scenario because in practice it is likely that a few strong satellite observations reduce tracking jitter of the weak channels more than Equation (21).
As DD-VPLL combines the ideas of both the Difference Correlator [14] and VTL, it is expected that the performance of this tracking loop will be affected by the effects of both methods. The output tracking jitter for a Kalman-filter based DD-VPLL tracking loop can be expressed as follows ([7])
R ϕ ^ , DDVPLL = ( H c ( ω ) R v H c H ( ω ) + ( I H c ( ω ) ) R w ( I H c ( ω ) ) H ) d ω
where H c is the closed-loop transfer of DD-VPLL, R v represents rover channel noise covariance and R w is the combined effect of the observation noise covariance at the base station and the reference satellite of the rover.
In contrast to VTL, DD-VPLL adds a base station and reference satellite observations to the NCO output in order to obtain the estimated carrier phase values. Hence, the equivalent block diagram for DD-VPLL assuming vector discriminators is shown in Figure 3. Herein, the combined effects of base station and reference satellite measurements noise are referred to as w.
Assuming similar C/N0 and ENBW values for all channels in the rover and solving Equation (22), the variance of the ith channel tracking output in the DD-VPLL can be expressed as
σ φ ^ i , DDVPLL 2 = g i B σ v 2 + ( 1 + g i B ) σ w 2 = g i B ( σ v 2 + σ w 2 ) + σ w 2
Compared to VTL, there are two noise sources (i.e., v and w), and the measurement noise directly affects the tracking variance. The C/N0 gain of DD-VPLL compared to that of STL can be expressed as
g a i n ( C / N 0 ) i = ( C / N 0 ) STL ( C / N 0 ) DDVPLL = σ i , STL 2 σ i , DDVPLL 2 = B σ v 2 g i B ( σ v 2 + σ w 2 ) + σ w 2 = 1 g i ( 1 + σ w 2 σ v 2 ) + 1 B σ w 2 σ v 2
in which the C/N0 gain is defined as the ratio between STL to DD-VPLL C/N0, resulting in the same output jitter, assuming the same loop bandwidth. Obviously, the gain is a function of the satellites’ geometry. In contrast to VTL, the DD-VPLL gain is also a function of the ratio between the tracking variance of the base station to the rover station as well as the loop bandwidth. According to the above formula, if there are no base station measurements (i.e., w = 0), the gain becomes similar to VTL. Moreover, the gain increases as the base station measurements have lower variances.
Figure 4 shows the cumulative complementary distribution function (CCDF) of the DD-VPLL gain for different observation numbers and rover C/N0 values. The simulation considers 1000 geometry samples uniformly distributed over azimuth and elevation angles (with an elevation mask of 10 degrees). The worst and the best gains are shown for each case. In this simulation, the C/N0 values of the base station measurements and reference satellite of the rover are assumed to be 40 dB-Hz.
In contrast to VTL, the gain can be negative, leading to a worse performance compared to STL. According to Equation (24), when the rover C/N0 values are 20 dB-Hz, the ratio σ w 2 σ v 2 1 . Hence, the DD-VPLL gain is almost equal to the VTL case (i.e., 1 g i ) and is always positive (upper left subplot). Since the base station observation noise is very small in this case, the VTL gain is much larger than the loss due to the noise amplification effect of the differential operation. As the rover C/N0 increases, the ratio σ w 2 σ v 2 increases and the gain decreases (upper right and lower left subplots) due to the adverse effects of double differencing. The worst case is when the rover C/N0 values are equal to or greater than those of the base station (lower right subplot). In this case, the gain is always negative due to the limited VTL gain compared to the differencing operation degradation.
Figure 5 shows the average C/N0 gain of DD-VPLL as the number of satellites and rover channels C/N0 values change. The 0 dB threshold is shown, to visualize the cases when DD-VPLL outperforms STL. For low C/N0 values, DD-VPLL has a far better performance.

5. Simulation Results

This section describes a simulation platform for a Monte Carlo performance evaluation of the DD-VPLL. A third order tracking loop is considered. The simulation platform generates both base station and the rover observations based on the GPS signal simulator, as described in [15]. On the receiver side, the tracking loops are implemented based on the semi-analytical simulation methodology which utilizes a correlator output model and thereby significantly reduces the number of samples to be processed [16]. Table 1 provides a list of parameters that are used for simulations in this section.

5.1. Performance Evaluation

This section evaluates the performance of DD-VPLL compared to STL. Herein, the worst case scenario used is defined as that when all satellite signals, including the reference, are attenuated at the same time and by the same amount. Figure 6 shows the carrier phase jitter for different C/N0 values. Unlike STL, the performance of different channels is not equal in the vector tracking due to its dependency on satellite geometry. For high C/N0 values, the tracking jitter values in DD-VPLL are slightly worse than their corresponding values in the STL. However, as the C/N0 decreases to 35 dB-Hz or less, the proposed method outperforms STL as the information from all satellites is used to estimate signal parameters in each channel. This simulation also verifies the theoretical analysis which resulted in Equation (24).

5.2. Signal Blockage Scenario

This scenario investigates the potential advantages of DD-VPLL over scalar-based tracking loops for cases where the satellites signals cannot be tracked due to partial blockages or attenuation. In these cases, strong signal observations along with known receiver/satellite positions assist the DD-VPLL to reconstruct the measurements for signals that conventional tracking cannot track. Herein, the received signals from three satellites are intentionally attenuated for 50 s (from epoch 30 s to 80 s). Initially, all satellites have similar C/N0 values of 40 dB-Hz. During signal blockage, three out of seven satellites (PRN 13, 27 and 28) experience severe C/N0 attenuation, down to 10 dB-Hz. The rover is also under a low dynamic profile with a circular motion, with a constant velocity of 10 km/h and radius of 100 m around the base station.
Figure 7 compares the tracking phase errors of DD-VPLL and STL for all satellites. Obviously, the proposed method can track attenuated PRNs properly (with tracking errors of up to 0.2 cycles) whereas the STLs fail to follow the incoming signals and experience loss of lock during the blockage interval. Also, STL requires extra re-acquisition time for recovery, with the help of the acquisition block to obtain an initial rough estimation of the signals after the attenuation interval.

6. Data Collection and Testing

This section deals with actual GPS data processing and analysis. The measurement setup is shown in Figure 8. A GSS7700 Spirent hardware simulator was used to generate GPS L1/CA signals for both base and rover stations. The radio frequency (RF) signals were then down-converted, digitized and stored using a National Instrument (NI) RF front-end. Each channel used an independent internal oven-controlled crystal oscillator (OCXO) reference clock for sampling and down conversion. A NovAtel Propak-V3 receiver was utilized to generate base station observations. A stationary receiver was considered for the base station located on a building at the University of Calgary.
The GNSS software receiver, GSNRxTM (University of Calgary, Calgary, Canada), developed for processing and analysis of GNSS intermediate frequency (IF) samples, was used [5]. Different variants of tracking loops were implemented in this software for processing the digitized samples. Herein, the following tracking loops implementations were considered:
  • The standard scalar-based tracking loop
  • The Kalman filter-based VFLL assisted PLL tracking loop [17]
  • The proposed DD-VPLL method
In addition to the NovAtel receiver, a GSNRx version with standard tracking loops is utilized for processing base station samples at a high rate of 50 Hz. As shown in Figure 8, a variable attenuator was used to simulate weak signals and blockage conditions. The attenuator was implemented in the receiver after the correlators. In fact, the attenuator reduces the correlator magnitude by a constant value so that the overall C/N0 value decreases. Although other methods, such as the use of an external RF attenuator or hardware simulator settings to reduce the signals’ power, may seem to be more reasonable, there are two impediments which lead to a digital attenuator’s implementation:
Using a RF attenuator degrades all PRNs evenly, which is not suitable for partial signal outage situations.
One of the two available channels in the hardware simulator is used for base station observations. Hence, only one channel is available for the rover station. Also, true rover carrier phases are required for carrier phase error analysis. Hence, the rover signals are not attenuated before the receivers and a standard version of GSNRxTM is utilized to generate true carrier phase values.
Carrier phase positioning and ambiguity resolution are performed by integrating open source RTKLIB software package with GSNRxTM. RTKLIB is comprised of a mature library that implements standard and precise positioning algorithms for GNSS [18].

GPS Data Analysis

This section compares the tracking sensitivity of different tracking loops in a typical low dynamic profile. This scenario involves a dynamic receiver with a circular motion trajectory. The base station is located at the centre of a circle with a 200-m radius. The rover has a constant velocity of 10 m/s along the circular track. It is assumed that seven satellites are in-view of the rover, and PRN28 is chosen as the reference (not shown in Figure 9, Figure 10 and Figure 11). Three satellites (PRN 1, PRN 11 and PRN 15) are attenuated at a rate of 2 dB per 20 s. The minimum observability condition of four satellites is assumed.
Figure 9 shows the true C/N0 values for all channels over time along with the estimated C/N0 values for three types of tracking loops. The estimated C/N0 for each channel is obtained by applying a C/N0 estimator on the correlator output of that channel [19]. Obviously, the estimated values are very close to the true ones when the received signals are strong. However, as the signals are more attenuated, the estimation error increases.
As shown in Figure 10, while DD-VPLL provides continuous carrier tracking, STL loses lock around 120 s and VFLL goes out of lock at 180 s for PRN 15 (the worst case). Furthermore, the estimated C/N0 values (i.e., Figure 9) for DD-VPLL are closer to the true values, mainly due to robust signal tracking and small tracking phase error compared to the other tracking algorithms. Nevertheless, the main drawback of the proposed tracking loop is when the signals are strong (e.g., interval 0–100 s) in which DD-VPLL has larger carrier phase errors as the differencing operation magnifies the uncorrelated noise component of the observations.
The estimated carrier Doppler errors for different satellites are shown in Figure 11. These measurements are available for a larger interval (up to 350 s for attenuated PRNs) as frequency tracking is usually less stringent than that of phase tracking. Thus, the receiver switches to the frequency lock loop (FLL) when a reliable carrier phase cannot be estimated.
Figure 12 shows the discriminator output tracking jitter values versus C/N0 values for different tracking algorithms. There are slight discrepancies among various satellites’ performances as the dynamic stress in the tracking loop of each channel depends on its corresponding satellite to the rover directional vector. Tracking sensitivity is defined as the minimum C/N0 value for which tracking jitter is below a predefined threshold. Herein, a threshold of 0.2 cycles (1/5 of the discriminator linear range) is considered for sensitivity analysis.
Table 2 provides the tracking sensitivities in this case, implying 8 to 10 dB DD-VPLL gain compared to STL, and 7 to 8 dB gain compared to VFLL.
Comparing the RTKLIB sum of residual ratio tests for different methods in Figure 13 indicates that when utilizing the proposed tracking loop, the probability of a fixed solution increases significantly. A larger ratio means that the ambiguity resolution algorithm has higher confidence in the selected integer ambiguity set [20]. When the ratio test surpasses a constant threshold, the ambiguities are used for fixed integer solution estimation. The probability of a fixed solution is defined as the time percentage that a fixed solution is available.
Herein, the RTKLIB’s ability to provide a fixed solution implies that the estimated carrier phase observations for low C/N0 values with the DD-VPLL approach are highly correlated with the true measurements [21].

7. Conclusions

In this paper a novel architecture that enhances GNSS receiver sensitivity for carrier phase tracking was introduced. The proposed DD-VPLL is a variant of vector PLL that utilizes a double differencing operation to alleviate the errors induced by the propagation channel and clock biases. The experiment, performed using sample data generated from the combination of hardware and software simulators, showed that the proposed algorithm is valid for carrier phase tracking with promising performance compared to other signal tracking methods, such as STL and VFLL. The tracking sensitivity of the receiver equipped with DD-VPLL is significantly enhanced, resulting in tracking attenuated signals down to 17 dB-Hz. A performance gain of 8 to 10 dB compared to STL and 7 to 8 dB compared to VFLL were obtained based on the test cases, indicating that this method is highly suitable in harsh signal conditions, such as partial blockages.
Comparing carrier phase positioning results, the proposed method provided a probability of fixed integer ambiguity solution of over 90% for the experiment, compared to 51% for STL and 47% for VFLL in the best case scenario.
It was shown that the tracking jitter of DD-VPLL is slightly larger than that of STL for strong signals, mainly due to noise amplification as a result of the double difference operation. However, DD-VPLL outperforms STL for medium to low C/N0 values (i.e., 30–35 dB-Hz) due to the vector processing gain. The threshold C/N0 in which DD-VPLL outperforms STL is a function of the reference satellite C/N0 and the number of satellites. A tracking strategy can be adopted in which observations from the backup layer are used for signals with C/N0 values larger than the threshold and DD-VPLL observations for other signals. In this way, the limitations of the proposed method can be reduced.

Author Contributions

Authors namely, Ahmad Shafaati, Tao Lin, Ali Broumandan and Gérard Lachapelle have cooperated in technical parts, data collection and analyses and writing of this paper. Fund for this research was provided by iCORE/Alberta Innovates Technology Futures

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

According to Equations (12) and (13), it can be shown that
( F n T ) k = ( A n T ) k I 3 , k { 1 , , n }
Also, for different powers of the A matrix, the following identities can easily be deducted:
A n 2 = [ 0 0 1 0 0 0 0 : : : : 1 0 0 0 0 0 0 0 0 ] ; A n n 1 = [ 0 0 0 1 0 0 0 : : : : 0 0 0 0 0 0 0 0 0 ] ; A n n = 0 n
The observability matrix rank is
r a n k ( O ( F , H ) ) = r a n k ( O ( F , H ) 3 n × 3 n ( S 1 ) ) 3 n
Hence, the matrix is of full-rank when r a n k ( O ( F , H ) ) = 3 n . Combining Equations (A1) and (14), it can be shown that
( F n T ) k H T = ( ( A n T ) k I 3 ) ( I n × m H n 1 T H g 1 T ) = ( A n T ) k I n × m H n 1 T H g 1 T
When a simplified measurement model is assumed with only carrier phase measurements (m = 1), the Equation (A4) reduces to
( F n T ) k H T = ( A n T ) k I n × 1 H g 1 T
Also, it can be shown that
( A n T ) i [ 1 0 : 0 ] n × 1 = [ 0 0 1 0 0 ] T
where the non-zero entry is at the ith element of the vector. Assembling the above, the observability matrix can be written as [22]
O ( F , H ) = [ H T F T H T ( F T ) n 1 H T ] = [ [ 1 0 : 0 ] n × 1 H g 1 [ 0 1 : 0 ] n × 1 H g 1 [ 0 0 : 1 ] n × 1 H g 1 ] = I n H g 1
It is known that r a n k ( A B ) = r a n k ( A ) × r a n k ( B ) . Hence
r a n k ( O ( F , H ) ) = r a n k ( O ( F , H ) 3 n × 3 n ( S 1 ) ) = n × r a n k ( H g 1 ) = n × min ( 3 , S 1 )
The above inequality is valid as long as S 4 . In other words, the system is observable as long as at least four satellites (measurements) are available.
If the measurement vector also contains higher order dynamics (i.e., m > 1), it is possible that some (or all) zero entries in Equation (A7) are non-zero. In this case,
I n × m H n 1 T = { [ 1 T 2 T ( m 1 ) m ! 0 0 ] T m < n [ 1 T 2 T ( n 1 ) n ! ] T m n
After mathematical simplifications, it can be shown that
O ( F , H ) = [ 1 0 0 T 2 1 0 : T 2 : T ( m 1 ) m ! : 0 0 0 : 0 : 0 0 1 ] H g 1
for n > m and
O ( F , H ) = [ 1 0 0 T 2 1 0 : : : T ( n 1 ) n ! T ( n 2 ) ( n 1 ) ! 1 ] H g 1
For m n , in both cases, the left-hand matrix is lower diagonal. From linear algebra, the rank of a triangular matrix is at least the number of non-zero entries on the main diagonal. Obviously, all diagonal elements in Equations (A10) and (A11) are 1 and hence, it is a full-rank matrix. In other words, the Equation (A8) is valid for any value of m.

References

  1. Scott, M. GPS Carrier Phase Tracking in Difficult Environments Using Vector Tracking for Precise Positioning and Vehicle Attitude Estimation Tracking in GNSS. Ph.D. Thesis, Auburn University, Auburn, AL, USA, 2017. [Google Scholar]
  2. Krasovski, S.; Petovello, M.G.; Lachapelle, G. Ultra-tight GPS/INS Receiver Performance in the Presence of Jamming Signals. In Proceedings of the ION GNSS, Tampa, FL, USA, 8–12 September 2014. [Google Scholar]
  3. Lashley, M.; Bevly, D. What are Vector Tracking Loops, and what are their benefits and drawbacks. Inside GNSS 2009, 4, 16–21. [Google Scholar]
  4. Pany, T.; Eissfeller, B. Use of a Vector Delay Lock Loop Receiver for GNSS Signal Power Analysis in Bad Signal Conditions. In Proceedings of the IEEE/ION PLANS, Coronado, CA, USA, 25–27 April 2006; pp. 893–903. [Google Scholar]
  5. Petovello, M.G.; O’Driscoll, C.; Lachapelle, G.; Borio, D.; Murtaza, H. Architecture and Benefits of an Advanced GNSS Software Receiver. In Proceedings of the International Symposium on GPS/GNSS 2008, Tokyo, Japan, 11–14 November 2008. [Google Scholar]
  6. Zhodzishsky, M.; Yudanov, S.; Veitsel, V.; Ashjaee, J. Co-Op Tracking for Carrier Phase. In Proceedings of the ION GPS, Nashville, TN, USA, 15–18 September 1998; pp. 653–664. [Google Scholar]
  7. Giger, K.T. Multi-Signal Tracking in GNSS. Ph.D. Thesis, Technical University of Munich, München, Germany, 2014. [Google Scholar]
  8. Henkel, P.; Giger, K.; Gunther, C. Multi-Frequency, Multi-Satellite Vector Phase-Locked Loop for Robust Carrier Tracking. IEEE J. Sel. Top. Signal Process. 2009, 3, 674–681. [Google Scholar] [CrossRef]
  9. Brewer, J.; Raquet, J. Differential Vector Phase Locked Loop. IEEE Trans. Aerosp. Electron. Syst. 2016, 52, 1046–1055. [Google Scholar] [CrossRef]
  10. Marçal, J.; Nunes, F. Robust vector tracking for GNSS carrier phase signals. In Proceedings of the 2016 International Conference on Localization and GNSS (ICL-GNSS), Barcelona, Spain, 28–30 June 2016; pp. 1–6. [Google Scholar]
  11. Gelb, A.; Kasper, J.F.; Nash, R.A.; Price, C.F.; Sutherland, A.A. Applied Optimal Estimation; MIT Press: Cambridge, MA, USA, 2001. [Google Scholar]
  12. Brown, R.G.; Hwang, P.Y.C. Introduction to Random Signals and Applied Kalman Filtering, 4th ed.; John Wiley & Sons: Hoboken, NJ, USA, 2012. [Google Scholar]
  13. Tsui, J.B. Fundamentals of Global Positioning Systems Receivers. A Software Approach; John Wiley & Sons: Hoboken, NJ, USA, 2005. [Google Scholar]
  14. Pany, T.; Euler, H.G.; Winkel, J. Difference Correlators. Does Indoor Carrier Phase Tracking Allow Indoor RTK? Inside GNSS 2012, 7, 62–73. [Google Scholar]
  15. Dong, L. IF GPS Signal Simulator Development and Verification. Master’s Thesis, University of Calgary, Calgary, AB, Canada, 2003. [Google Scholar]
  16. Borio, D.; Anantharamu, P.B.; Lachapelle, G. SATLSim: A Semi-Analytic Framework for Fast GNSS Tracking Loop Simulations. GPS Solut. 2011, 15, 427–431. [Google Scholar] [CrossRef]
  17. Petovello, M.G.; Lachapelle, G. Comparison of Vector—Based Software Receiver Implementations with Application to Ultra-Tight GPS/INS Integration. In Proceedings of the ION GNSS, Fort Worth, TX, USA, 26–29 September 2006. [Google Scholar]
  18. Takasu, T.; Yasuda, A. Development of the low-cost RTK-GPS receiver with an open source program package RTKLIB. In Proceedings of the International Symposium on GPS/GNSS, Jeju, Korea, 4–6 November 2009. [Google Scholar]
  19. Van Dierendonck, A.J. GPS Receivers. In Global Positioning System: Theory and Applications; Parkinson, B., Spilker, J.J., Jr., Eds.; American Institute of Aeronautics and Astronautics, Inc.: Washington, DC, USA, 1993; Volume 1, pp. 390–393. [Google Scholar]
  20. Teunissen, P.J.G. The Least-Squares Ambiguity Decorrelation Adjustment: A Method for Fast GPS Ambiguity Estimation. J. Geodesy 1995, 70, 65–82. [Google Scholar] [CrossRef]
  21. Lin, T. Contributions to a Context-Aware High Sensitivity GNSS Software Receiver. Ph.D. Thesis, University of Calgary, Calgary, AB, Canada, 2013. [Google Scholar]
  22. Roger, A.H.; Johnson, C.R. Matrix Analysis; Cambridge University Press: New York, NY, USA, 1985. [Google Scholar]
Figure 1. Proposed tracking loop architecture block diagram. Abbreviations: FLL, frequency locked loop; FSM, finite state machine; NCO, numerically controlled oscillator; PLL, phase-locked loop; VDLL, vector delay lock loop. (Discr. stand for discriminator and DRC stands for Doppler removal and correlation).
Figure 1. Proposed tracking loop architecture block diagram. Abbreviations: FLL, frequency locked loop; FSM, finite state machine; NCO, numerically controlled oscillator; PLL, phase-locked loop; VDLL, vector delay lock loop. (Discr. stand for discriminator and DRC stands for Doppler removal and correlation).
Sensors 18 00845 g001
Figure 2. Equivalent block diagram of the vector tracking loop (VTL).
Figure 2. Equivalent block diagram of the vector tracking loop (VTL).
Sensors 18 00845 g002
Figure 3. Equivalent block diagram of DD-VPLL.
Figure 3. Equivalent block diagram of DD-VPLL.
Sensors 18 00845 g003
Figure 4. Cumulative complementary distribution function (CCDF) of DD-VPLL gain versus the number of observations for different rover carrier-to-noise spectral density (C/N0) values of (a) 20 dB-Hz; (b) 30 dB-Hz; (c) 35 dB-Hz; (d) 40 dB-Hz.
Figure 4. Cumulative complementary distribution function (CCDF) of DD-VPLL gain versus the number of observations for different rover carrier-to-noise spectral density (C/N0) values of (a) 20 dB-Hz; (b) 30 dB-Hz; (c) 35 dB-Hz; (d) 40 dB-Hz.
Sensors 18 00845 g004
Figure 5. Average C/N0 gain of DD-VPLL for different rover C/N0 values and numbers of satellites.
Figure 5. Average C/N0 gain of DD-VPLL for different rover C/N0 values and numbers of satellites.
Sensors 18 00845 g005
Figure 6. Comparing theoretical and simulation tracking phase jitter of DD-VPLL with respect to the standard tracking loops for different satellites.
Figure 6. Comparing theoretical and simulation tracking phase jitter of DD-VPLL with respect to the standard tracking loops for different satellites.
Sensors 18 00845 g006
Figure 7. Comparison of carrier phase errors of the standard tracking loop (c) and DD-VPLL (a) with simulator reference values when the received signals of PRN 13, 27 and 28 are severely attenuated (d) such that their corresponding discriminator outputs have no useful information (b).
Figure 7. Comparison of carrier phase errors of the standard tracking loop (c) and DD-VPLL (a) with simulator reference values when the received signals of PRN 13, 27 and 28 are severely attenuated (d) such that their corresponding discriminator outputs have no useful information (b).
Sensors 18 00845 g007
Figure 8. Measurement setup for data collection of hardware simulated GPS signals (NI: National Instrument, RF: Radio Frequency, Ref.: Refernece).
Figure 8. Measurement setup for data collection of hardware simulated GPS signals (NI: National Instrument, RF: Radio Frequency, Ref.: Refernece).
Sensors 18 00845 g008
Figure 9. Actual and estimated C/N0 values for all satellites, different types of tracking loops and a circular motion rover when PRNs 01, 11 and 15 are attenuated with a staircase function over time (ac) and the others have constant C/N0 values (df).
Figure 9. Actual and estimated C/N0 values for all satellites, different types of tracking loops and a circular motion rover when PRNs 01, 11 and 15 are attenuated with a staircase function over time (ac) and the others have constant C/N0 values (df).
Sensors 18 00845 g009
Figure 10. Estimated carrier phase errors for different satellites, tracking loops and a circular motion rover when PRNs of 01, 11 and 15 are attenuated with a staircase function over time (ac) and the others have a constant C/N0 values (df).
Figure 10. Estimated carrier phase errors for different satellites, tracking loops and a circular motion rover when PRNs of 01, 11 and 15 are attenuated with a staircase function over time (ac) and the others have a constant C/N0 values (df).
Sensors 18 00845 g010
Figure 11. Estimated carrier Doppler errors for different satellites, tracking loops and a circular motion rover when PRNs 01, 11 and 15 are attenuated with a staircase function over time (ac) and the others have constant C/N0 values (df).
Figure 11. Estimated carrier Doppler errors for different satellites, tracking loops and a circular motion rover when PRNs 01, 11 and 15 are attenuated with a staircase function over time (ac) and the others have constant C/N0 values (df).
Sensors 18 00845 g011
Figure 12. Discriminators’ output tracking jitter versus C/N0 values for dynamic rover scenario. The dashed line is a tracking sensitivity threshold.
Figure 12. Discriminators’ output tracking jitter versus C/N0 values for dynamic rover scenario. The dashed line is a tracking sensitivity threshold.
Sensors 18 00845 g012
Figure 13. Sum of residuals ratio test results for different tracking loops.
Figure 13. Sum of residuals ratio test results for different tracking loops.
Sensors 18 00845 g013
Table 1. Parameters used in DD-VPLL simulations.
Table 1. Parameters used in DD-VPLL simulations.
Simulation ParameterValue
Reference C/N0 40   dB - Hz
Base station h0 10 21   Hz 1
Base station h−2 10 24   s 2 Hz 1
Rover station h0 10 19 Hz 1
Rover station h−2 10 21   s 2 Hz 1
Scalar tracking loops filter order 3
Scalar tracking loops filter bandwidth 15   Hz
Sampling frequency 10   MHz
Integration Time 10   ms
Table 2. Tracking threshold of different algorithms [dB-Hz].
Table 2. Tracking threshold of different algorithms [dB-Hz].
AlgorithmBest CaseWorst Case
STL2629
VFLL2427
DD-VPLL1719

© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Sensors EISSN 1424-8220 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert
Back to Top