If you wish to contribute or participate in the discussions about articles you are invited to contact the Editor
Multicorrelator: Difference between revisions
m (Included editor logo.) |
|||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Article Infobox2 | {{Article Infobox2 | ||
|Category=Receivers | |Category=Receivers | ||
| | |Editors=GMV | ||
|Level=Advanced | |Level=Advanced | ||
|YearOfPublication=2011 | |YearOfPublication=2011 | ||
|Logo=GMV | |Logo=GMV | ||
|Title={{PAGENAME}} | |||
}} | }} | ||
It is commonly said that correlation is the key operation in GNSS receivers, in order to achieve synchronization with the incoming signals from each satellite. However, a single correlator is not enough to fulfill this purpose: in fact, even the simplest GNSS receiver supports multiple correlators to achieve synchronization and / or improve the accuracy of the generated observables. | |||
It is commonly said that correlation is the key operation in | |||
==Concept== | ==Concept== | ||
The basic concept within the baseband processing of a GNSS receiver relies in correlating the incoming signal with a local replica of the PRN code (also called ranging code), in order to derive estimates of the Doppler frequency and the code delay from which to shift and adjust the local replica generation, guaranteeing that it is aligned with the incoming signal. The aligned replica is often called ''Prompt (P)'' correlator - also discussed [[Correlators|here]]. | |||
The basic concept within the baseband processing of a GNSS receiver relies in correlating the incoming signal with a local replica of the PRN code (also called ranging code) in order to derive estimates of the Doppler frequency and the code delay | |||
In reality, even the simplest GNSS receiver supports at least three correlators: | In reality, even the simplest GNSS receiver supports at least three correlators: | ||
*'''Prompt (P)''': an aligned replica with the incoming signal. | |||
*'''Early (E)''': a replica that is shifted earlier in time than the prompt replica. | |||
*'''Late (L)''': a replica that is shifted later in time than the prompt replica. | |||
[[File:mc_replicas.png|right|thumb|350px|'''''Figure 1:''''' Example of the outputs of the E, P, L correlators when the prompt correlator is completely aligned with the incoming signal (right hand side), and when synchronization has not yet been achieved (left hand side), for BPSK modulation.]] | |||
Figure 1 depicts an example of the outputs of these correlators when the prompt correlator is completely aligned with the incoming signal, which is the desired situation, and when synchronization has not yet been achieved. | |||
The correlation results are points over the autocorrelation function – in this example, it is a triangular function accounting for BPSK modulation used, for example in GPS L1 C/A. From inspection of the figure, the following comments can be intuitively derived (these concepts are further explored [[Tracking Loops|here]]): | |||
*When the signal is correctly tracked: | |||
**The power of the prompt correlator is higher than the power of the Early and Late correlators. | |||
**The E and L correlators have comparable powers. | |||
*When the signal is not correctly tracked, it is possible to “have an idea” as to how the replicas should be delayed to correct for this, by analysis of the powers of the E, P, L correlators. For instance, in the left figure, one can see that the code delay should be corrected so as to shift all three replicas towards the right hand side. This is actually the objective of the [[Tracking Loops|tracking loops]]. | |||
*When the signal is not correctly tracked, it is possible | |||
*The spacing between the Early and Late correlators, also referred to as E-L spacing, is an important parameter in the receiver: | |||
**It should be lower than 2 chips (otherwise it falls out of the auto-correlation function). | |||
**If it is too small (e.g. near zero), it will not be so easy to distinguish the correlators, especially in noisy conditions. | |||
**Smaller E-L spacings tend to provide more robust navigation, since they render the correlator outputs insensitive to potential distortions of the auto-correlation outside that region. | |||
==Block Diagram== | ==Block Diagram== | ||
[[File:mc_block.png|center|thumb|450px|'''''Figure 2:'''''Multicorrelators Block Diagram.]] | |||
Figure 2 depicts the baseband processing block diagram for a single channel, with focus on the correlators. This representation shows how the correlators’ outputs (both the real and the imaginary part, i.e. using the ''In-phase (I)'' and ''Quadrature (Q)'' component of the incoming signal respectively) are computed. These outputs are then used by the [[Tracking Loops|tracking loops]] to compute new estimates of: | |||
*The '''code delay''': additional delay that should be used to adjust the local code replicas. | |||
*The '''Doppler frequency''': adjustment of the Doppler removal block. | |||
This is an iterative process that the receiver supports continuously. The ''Integrate and Dump (I&D)'' blocks are used to integrate the correlation outputs over time, either coherently or non-coherently, as discussed in [[Baseband Processing|baseband processing]]. | |||
In parallel, [[Lock Detectors|lock detectors]] use these correlator outputs to assess whether or not the incoming signal is actually being tracked. This is justified by the fact that, in noisy conditions, the tracking loops may diverge from the real peak, or that a false acquisition may occur. | |||
==Mathematical Model== | |||
Neglecting noise and picking up from [[Baseband Processing| baseband processing]], the ''Prompt'' correlator output can be written as: | |||
= | <math>I_P = Ad R_{x} (\tau_e) cos(\phi_e)\,</math> | ||
<math>Q_P = -AdR_{x}(\tau_e)sin(\phi_e)\,</math> | |||
The expressions for the ''Early'' and ''Late'' replicas are given by: | |||
<math>I_E = Ad R_{x} (\tau_e-\frac{\delta}{2}) cos(\phi_e)\,</math> | |||
<math> | <math>Q_E = -AdR_{x}(\tau_e-\frac{\delta}{2})sin(\phi_e)\,</math> | ||
<math> | <math>I_L = Ad R_{x} (\tau_e+\frac{\delta}{2}) cos(\phi_e)\,</math> | ||
<math> | <math>Q_L = -AdR_{x}(\tau_e+\frac{\delta}{2})sin(\phi_e)\,</math> | ||
where: | |||
*<math>\tau_e</math> is the error of the code delay estimated at the receiver | *<math>\tau_e\,</math> is the error of the code delay estimated at the receiver. | ||
*<math>\phi_e</math> is the error of the carrier phase estimated at the receiver | *<math>\phi_e\,</math> is the error of the carrier phase estimated at the receiver. | ||
*E, P, L indexes stand for Early, Prompt and Late respectively | *<math>E\,</math>, <math>P\,</math>, and <math>L\,</math> indexes stand for ''Early'', ''Prompt'', and ''Late'', respectively. | ||
*<math>\delta</math> is the Early-Late spacing | *<math>\delta\,</math> is the ''Early-Late'' spacing. | ||
Please note that the phase error can also be written as: | Please note that the phase error can also be written as: | ||
<math>\phi_e = 2\pi f_e t + \phi_0\,</math> | |||
where: | |||
*<math>f_e\,</math> is the error of the estimated Doppler frequency (and receiver clock instabilities) at the receiver. | |||
* | *<math>\phi_0\,</math> is the initial incoming signal phase. | ||
==Further Applications== | |||
Although basic receivers use three correlators to track the incoming signal, one can imagine that the number of correlators could be increased (at the cost of power and resources consumption) in order to extract further information. These kind of techniques are actually used in advanced signal processing receivers to achieve higher performances. Two examples are: | |||
[[File:mc_auto.png|right|thumb|300px|'''''Figure 3:'''''Multipeaked Auto-Correlation Functions for two examples of BOC modulations.]] | |||
*'''Multipath Mitigation''': the Multipath Estimating Delay Lock Loop (MEDLL) was first proposed in 1992 by Van Nee<ref>R. Van Nee, “The Multipath Estimating Delay Lock Loop”, IEEE ISSSTA 92, 1992, Japan, pp 39-42.</ref>. The MEDLL estimates the amplitude, delay and phase of each multipath component using maximum likelihood criteria. The contribution to the correlation function is in turn subtracted from the measured correlation function. When this process is complete, the estimate of the direct path correlation function is left and the code error can be computed<ref>B. Townsend, P. Fenton, K. Van Dierondonck, R.Van Nee, “Performance Evaluation of the Multipath Estimating Lock Loop”, ION Navigation, VOL. 42, No. 3, fall 1995,pp 503-514.</ref>. In practice, the MEDLL uses 10 or more correlators to increase the resolution of the correlation function and extract further information on its shape. | |||
*Tracking of BOC modulations | *'''Tracking of BOC modulations''': the bump jumping algorithm <ref>P. Fine, W. Wilson, “Tracking Algorithm for GPS Offset Carrier Signals,” ION NTM 1999, San Diego, MA, pp. 671-676.</ref> is designed to track BOC modulated signals. In fact, the auto-correlation function of the BOC signals presents more than one peak, as illustrated in Figure 3. Thus, the receiver needs to implement a mechanism that ensures it is tracking the correct auto-correlation peak, and not a side peak. The bump jumping mechanism consists in adding two extra correlators to the receiver [[Tracking Loops|tracking loops]] structure: the ''very early (VE)'' and the ''very late (VL)'' correlators. Then, their powers are used to assess whether the main peak is being correctly tracked, or if the receiver has locked into a side peak. | ||
The bump jumping mechanism consists in adding two extra correlators to the receiver [[Tracking Loops|tracking loops]] structure: the very early (VE) and the very late (VL) correlators. Then their powers are used to assess whether the main peak is being tracked or if the receiver has locked into a side | |||
==Related articles== | ==Related articles== |
Latest revision as of 16:37, 18 September 2014
Receivers | |
---|---|
Title | Multicorrelator |
Edited by | GMV |
Level | Advanced |
Year of Publication | 2011 |
It is commonly said that correlation is the key operation in GNSS receivers, in order to achieve synchronization with the incoming signals from each satellite. However, a single correlator is not enough to fulfill this purpose: in fact, even the simplest GNSS receiver supports multiple correlators to achieve synchronization and / or improve the accuracy of the generated observables.
Concept
The basic concept within the baseband processing of a GNSS receiver relies in correlating the incoming signal with a local replica of the PRN code (also called ranging code), in order to derive estimates of the Doppler frequency and the code delay from which to shift and adjust the local replica generation, guaranteeing that it is aligned with the incoming signal. The aligned replica is often called Prompt (P) correlator - also discussed here.
In reality, even the simplest GNSS receiver supports at least three correlators:
- Prompt (P): an aligned replica with the incoming signal.
- Early (E): a replica that is shifted earlier in time than the prompt replica.
- Late (L): a replica that is shifted later in time than the prompt replica.
Figure 1 depicts an example of the outputs of these correlators when the prompt correlator is completely aligned with the incoming signal, which is the desired situation, and when synchronization has not yet been achieved.
The correlation results are points over the autocorrelation function – in this example, it is a triangular function accounting for BPSK modulation used, for example in GPS L1 C/A. From inspection of the figure, the following comments can be intuitively derived (these concepts are further explored here):
- When the signal is correctly tracked:
- The power of the prompt correlator is higher than the power of the Early and Late correlators.
- The E and L correlators have comparable powers.
- When the signal is not correctly tracked, it is possible to “have an idea” as to how the replicas should be delayed to correct for this, by analysis of the powers of the E, P, L correlators. For instance, in the left figure, one can see that the code delay should be corrected so as to shift all three replicas towards the right hand side. This is actually the objective of the tracking loops.
- The spacing between the Early and Late correlators, also referred to as E-L spacing, is an important parameter in the receiver:
- It should be lower than 2 chips (otherwise it falls out of the auto-correlation function).
- If it is too small (e.g. near zero), it will not be so easy to distinguish the correlators, especially in noisy conditions.
- Smaller E-L spacings tend to provide more robust navigation, since they render the correlator outputs insensitive to potential distortions of the auto-correlation outside that region.
Block Diagram
Figure 2 depicts the baseband processing block diagram for a single channel, with focus on the correlators. This representation shows how the correlators’ outputs (both the real and the imaginary part, i.e. using the In-phase (I) and Quadrature (Q) component of the incoming signal respectively) are computed. These outputs are then used by the tracking loops to compute new estimates of:
- The code delay: additional delay that should be used to adjust the local code replicas.
- The Doppler frequency: adjustment of the Doppler removal block.
This is an iterative process that the receiver supports continuously. The Integrate and Dump (I&D) blocks are used to integrate the correlation outputs over time, either coherently or non-coherently, as discussed in baseband processing.
In parallel, lock detectors use these correlator outputs to assess whether or not the incoming signal is actually being tracked. This is justified by the fact that, in noisy conditions, the tracking loops may diverge from the real peak, or that a false acquisition may occur.
Mathematical Model
Neglecting noise and picking up from baseband processing, the Prompt correlator output can be written as:
[math]\displaystyle{ I_P = Ad R_{x} (\tau_e) cos(\phi_e)\, }[/math]
[math]\displaystyle{ Q_P = -AdR_{x}(\tau_e)sin(\phi_e)\, }[/math]
The expressions for the Early and Late replicas are given by:
[math]\displaystyle{ I_E = Ad R_{x} (\tau_e-\frac{\delta}{2}) cos(\phi_e)\, }[/math]
[math]\displaystyle{ Q_E = -AdR_{x}(\tau_e-\frac{\delta}{2})sin(\phi_e)\, }[/math]
[math]\displaystyle{ I_L = Ad R_{x} (\tau_e+\frac{\delta}{2}) cos(\phi_e)\, }[/math]
[math]\displaystyle{ Q_L = -AdR_{x}(\tau_e+\frac{\delta}{2})sin(\phi_e)\, }[/math]
where:
- [math]\displaystyle{ \tau_e\, }[/math] is the error of the code delay estimated at the receiver.
- [math]\displaystyle{ \phi_e\, }[/math] is the error of the carrier phase estimated at the receiver.
- [math]\displaystyle{ E\, }[/math], [math]\displaystyle{ P\, }[/math], and [math]\displaystyle{ L\, }[/math] indexes stand for Early, Prompt, and Late, respectively.
- [math]\displaystyle{ \delta\, }[/math] is the Early-Late spacing.
Please note that the phase error can also be written as:
[math]\displaystyle{ \phi_e = 2\pi f_e t + \phi_0\, }[/math]
where:
- [math]\displaystyle{ f_e\, }[/math] is the error of the estimated Doppler frequency (and receiver clock instabilities) at the receiver.
- [math]\displaystyle{ \phi_0\, }[/math] is the initial incoming signal phase.
Further Applications
Although basic receivers use three correlators to track the incoming signal, one can imagine that the number of correlators could be increased (at the cost of power and resources consumption) in order to extract further information. These kind of techniques are actually used in advanced signal processing receivers to achieve higher performances. Two examples are:
- Multipath Mitigation: the Multipath Estimating Delay Lock Loop (MEDLL) was first proposed in 1992 by Van Nee[1]. The MEDLL estimates the amplitude, delay and phase of each multipath component using maximum likelihood criteria. The contribution to the correlation function is in turn subtracted from the measured correlation function. When this process is complete, the estimate of the direct path correlation function is left and the code error can be computed[2]. In practice, the MEDLL uses 10 or more correlators to increase the resolution of the correlation function and extract further information on its shape.
- Tracking of BOC modulations: the bump jumping algorithm [3] is designed to track BOC modulated signals. In fact, the auto-correlation function of the BOC signals presents more than one peak, as illustrated in Figure 3. Thus, the receiver needs to implement a mechanism that ensures it is tracking the correct auto-correlation peak, and not a side peak. The bump jumping mechanism consists in adding two extra correlators to the receiver tracking loops structure: the very early (VE) and the very late (VL) correlators. Then, their powers are used to assess whether the main peak is being correctly tracked, or if the receiver has locked into a side peak.
Related articles
References
- ^ R. Van Nee, “The Multipath Estimating Delay Lock Loop”, IEEE ISSSTA 92, 1992, Japan, pp 39-42.
- ^ B. Townsend, P. Fenton, K. Van Dierondonck, R.Van Nee, “Performance Evaluation of the Multipath Estimating Lock Loop”, ION Navigation, VOL. 42, No. 3, fall 1995,pp 503-514.
- ^ P. Fine, W. Wilson, “Tracking Algorithm for GPS Offset Carrier Signals,” ION NTM 1999, San Diego, MA, pp. 671-676.