Receiver Architecture - Inside GNSS - Global Navigation Satellite Systems Engineering, Policy, and Design

Receiver Architecture

Q: What is a maximum likelihood vector tracking receiver?

A: Vector tracking in GNSS receivers is based on the idea that instead of tracking each satellite’s signal separately, all signals are ultimately related to the position and velocity of the user antenna and thus can be tracked collectively. (See the discussion in this column in Sept/Oct 2012 issue of Inside GNSS by Drs. Lashley and Bevly for more information.)

Q: What is a maximum likelihood vector tracking receiver?

A: Vector tracking in GNSS receivers is based on the idea that instead of tracking each satellite’s signal separately, all signals are ultimately related to the position and velocity of the user antenna and thus can be tracked collectively. (See the discussion in this column in Sept/Oct 2012 issue of Inside GNSS by Drs. Lashley and Bevly for more information.)

More specifically, vector tracking uses the receiver’s position and velocity estimates to close the tracking loops. This approach has already attracted much attention and an extensive body of knowledge has documented vector tracking’s superiority under weak signal conditions, such as under foliage and in urban canyons.

Common Vector Tracking Architectures
Various architectures have been reported such as vector-based frequency and delay lock loops (VFLL+VDLL), or vector-based phase and delay loops (VPLL+VDLL). Most of these are implemented using a cascaded approach, meaning the receiver uses a combination of “local,” signal-specific tracking loops and navigation feedbacks, as shown in Figure 1 (see inset, above right, for all figures).

The code phase and Doppler of each signal are calculated incorporating the current navigation solution (i.e., position, velocity, and time) and available ephemeris and then used to drive the numerically controlled oscillators (NCO) that generate the local signals. Next, the tracking loops estimate the errors/residuals in the NCO, and these are used to correct the measurements from the channel that, in turn, update the navigation solution.

The benefit of this approach is that when an adequate number of “good” satellites are available — that is, satellites whose signals can be accurately tracked — the tracking errors for “bad” satellites are reduced relative to the standard receiver case.

This happens because the good satellites are effectively used to estimate the position and velocity of the receiver, which are then used to set the signal parameters for all satellites. In severely degraded signal conditions, however, the benefits of cascaded vector tracking loops are still hindered by insufficient signal-to-noise ratio, and stability problems in the local tracking loops.

Taking GPS L1 C/A signal as an example, once bit synchronization is achieved, the incoming signal can be coherently integrated for 20 milliseconds without transitioning across data bit boundaries. In order to further increase the processing gain, we can apply either longer coherent integration (which may require data bit aiding) or additional non-coherent combining. If local tracking loops are still being used, they need to be well-designed to balance processing gain, dynamic range, and stability of the entire tracking loop.

The other option, which circumvents the loop stability problem, is to use an open loop tracking strategy — sometimes called block processing or batch processing. This approach uses longer integration time, and measurements are generated based on the location of the strongest correlator output. The navigation solution is used to determine which correlators should be generated. In other words, there is no loop filter.

This open loop vector receiver actually has no local loop updates and can be considered as centralized vector tracking. It is very similar to the processing architecture shown in Figure 1 except that it does not require the local tracking loop.

The block processing approach brings in one major benefit: measurements are generated based on maximum likelihood (ML) criterion. This means the performance of these measurements will asymptotically approach the Cramer-Rao lower bound. Aside from that, the navigation solution is exactly the same as before and still relies on traditional inputs, namely pseudorange and Doppler measurements.

Since the loop filter is replaced by the navigation solution, block processing has very little ability to identify or mitigate multipath errors. Specifically, the only option is to test the residuals or innovations in the navigation solution to try to identify outliers. In general, however, without an adequate number of good satellites, this process is usually not as effective as one would like.

Although measurements generated using block processing are based on ML principles, they are still limited by the fact that only a single correlator value — the one with the largest amplitude — is used at a time from a given satellite. All the other correlator values are ignored. Consequently, although computationally efficient, information is lost in the process.

The logical question that follows is: why not use all correlator values as “measurements” to compute the navigation solution? This is precisely the idea behind ML navigation solutions.

Vector Tracking using ML Navigation Solution
Unlike the block processing approach just described, vector tracking based on ML navigation solution estimation projects the signal power from all correlators from all satellites into the navigation (i.e., position and velocity) domain. The final navigation solution is then obtained from the point in the navigation domain that has the most power.

This ML navigation solution can provide additional processing gain across all satellites in the face of weak signals or interference. In some articles on this subject, a similar algorithm is called collective detection, which combines signal powers from multiple satellites onto a geographical search space in order to acquire weak signals, and as a by-product, the maximum likelihood position estimate is also provided.

Once an ML navigation solution is obtained, the receiver can generate the correction terms (residuals) with respect to the previous solution. After passing these through a navigation filter, the updated navigation solution can be used to calculate the signal parameters, as illustrated in Figure 2. This architecture is called maximum likelihood vector tracking (MLVT).

In MLVT the navigation solution actually takes outputs from correlator arrays as “measurements” to directly detect a navigation solution with a maximum likelihood criterion. In this way navigation sensitivity will be superior to conventional navigation solution processor even with open loop tracking.

Understanding the Differences
To understand the differences between these two approaches, we present a graphical representation of each starting with the ML measurement approach. In Figure 3, the top figure shows the correlation power in the code phase domain, comprising both a line-of-sight (LOS) signal and non-line-of-sight (NLOS) signal. In this case the LOS is assumed to be weaker than NLOS. So, using centralized vector tracking, the measurements will be generated based on the NLOS signal, which will introduce errors into the navigation solution.

To illustrate how this happens, in the bottom portion of the figure, each signal component (LOS and NLOS) from the code phase domain is projected into the position domain. (Only the horizontal components are shown for simplicity.) Recall that the center of the position domain is the previous navigation solution; hence, the axes are actually the differences (residuals) relative to that point. Note that this projection happens implicitly in the navigation solution.

As shown in Figure 3, the solid line corresponds to the LOS signal, and the dashed lines to the NLOS signal. If multiple NLOS signals with different delays are received, they would each project into a different part of the position domain.

Figure 4 shows the scenario when all available satellites are projected into position domain. (For simplicity, only three satellites are plotted.) The diagram assumes each satellite has a LOS signal and a single NLOS signal, although this is not required (e.g., LOS could be absent and/or several NLOS signals could be present).

As can be seen, there are many crossing points. Most importantly, all of the LOS signal intersect at a single location corresponding to the true position. In contrast, all other intersection points correspond to combinations with at least one NLOS signal.

As the number of satellites increases, the contribution of the LOS signals will continue to accumulate at a single point. In contrast, the NLOS signal powers will generally not accumulate at different positions (since different NLOS signals map differently into the position domain).

An important note: the multipath statistics for each satellite are generally different and time-varying, whereas the LOS signal is predictable and deterministic. As such, by accumulating power across all satellites, the total power of LOS components continues to increase and has the potential to improve to provide a good position estimate, even if NLOS signals dominate the LOS signals for one or more satellites.

Before concluding, a couple more things should be noted. First, in the above the LOS signals intersected at the origin, which assumes that the previous position solution was correct. In general, this will not be the case, and the offset of the position with the highest power relative to the origin is the position residual, which can be input into a filter to improve performance (see Figure 2). Second, although the above discussion focused on the position domain only, a similar approach is also possible in the velocity domain.

Although more complex and computationally intensive, maximum likelihood vector tracking it is generally much more robust than traditional vector tracking receiver in the presence of NLOS signals. However, with the development of the faster processing hardware such as CPUs (central processing units) and GPUs (graphical processing units), the implementation may eventually become feasible.

Further Reading
Lashley, Matthew, and David Bevly, “GNSS Solutions: How do vector delay lock loops predict the satellite signals?” Inside GNSS, September/October 2012 

For information about “collective detection”:
Axelrad, P., and B. K. Bradley, J. Donna, M. Mitchell, and S. Mohiuddin, "Collective Detection and Direct Positioning Using Multiple GNSS Satellites," NAVIGATION, Journal of The Institute of Navigation, Vol. 58, No. 4, Winter 2011–2012, pp. 305–321

Axelrad, P., and J. Donna and M. Mitchell, “Enhancing GNSS Acquisition by Combining Signals from Multiple Channels and Satellites,” Proceedings of the 22nd International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS 2009), pp. 2617–28, 2009

For details about MLVT:
Weil, L. R., “A High Performance Code and Carrier Tracking Architecture for Ground-Based Mobile GNSS Receivers,” in Proceedings of the 23nd International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS 2010), Portland, Oregon USA, pp. 3054-3068, 2010

For details about the use of maximum likelihood estimation of velocity:
He, Z., and V. Renaudin, M. Petovello, and G. Lachapelle, “Use of High Sensitivity GNSS Receiver Doppler Measurements for Indoor Pedestrian Dead Reckoning,” Sensors, MDPI, 13, 4303-4326, doi:10.3390/s130404303, 2013