If you wish to contribute or participate in the discussions about articles you are invited to contact the Editor

Multicorrelator: Difference between revisions

From Navipedia
Jump to navigation Jump to search
No edit summary
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Article Infobox2
{{Article Infobox2
|Category=Receivers
|Category=Receivers
|Title={{PAGENAME}}
|Editors=GMV
|Authors=GMV
|Level=Advanced
|Level=Advanced
|YearOfPublication=2011
|YearOfPublication=2011
|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 the GNSS receiver 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 multi-correlators to achieve synchronization and/ or to improve the accuracy of the generated observables.
 
 


==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 (from which to shift the local replica) that guarantee that it is aligned with the incoming signal. The aligned replica is often called Prompt (P) correlator - also discussed [[Correlators|here]].


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: an aligned replica with the incoming signal
*Early: a replica that is shifted earlier in time than the prompt replica
*Late: 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.
*'''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.


[[File:mc_replicas.png|center|thumb|450px|'''''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.]]
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.


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.
*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]].
From inspection of the figure, the following comments can be intuitively derived:
*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 by analysis of the powers of the E, P, L correlators to “have an idea” as to how the replicas should be delayed to correct for this. For example, in the left hand picture 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]].
*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 correlators’ outputs insensitive to potential distortions of the autocorrelation outside that region.


These concepts are further explored [[Tracking Loops|here]].
*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==
Figure 2 depicted the block diagram for the baseband processing of a single channel, with focus on the correlators.
[[File:mc_block.png|center|thumb|450px|'''''Figure 2:'''''Multicorrelators 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 representation shows how the correlators’ outputs (both the real and the imaginary part, i.e. using the In-phase and Quadrature component of the incoming signal respectively) are computed. These outputs are then used by the [[Tracking Loops|Tracking Loops]] to compute new estimates of:
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]].
*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 [[Baseband Processing|here]].
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.
In parallel, [[Lock Detectors|lock detectors]] use these correlators’ outputs to assess whether or not the incoming signal is actually being tracked. In noisy conditions it might happen that the tracking loops diverge from the real peak or that a false acquisition has occurred.
Finally, the sign of the prompt correlator output can be used to infer the sign of the navigation data bit (or symbol for FEC coded signals such as Galileo).


==Mathematical Model==
==Mathematical Model==
Neglecting noise and picking up from [[Baseband Processing| baseband processing]], the ''Prompt'' correlator output can be written as:


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>
<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>
The expressions for the ''Early'' and ''Late'' replicas are given by:


<math>Q_E = -AdR_{x}(\tau_e-\frac{\delta}{2})sin(\phi_e) </math>


<math>I_L = Ad R_{x} (\tau_e+\frac{\delta}{2}) cos(\phi_e) </math>
<math>I_E = Ad R_{x} (\tau_e-\frac{\delta}{2}) cos(\phi_e)\,</math>


<math>Q_L = -AdR_{x}(\tau_e+\frac{\delta}{2})sin(\phi_e) </math>
<math>Q_E = -AdR_{x}(\tau_e-\frac{\delta}{2})sin(\phi_e)\,</math>


<math>I_L = Ad R_{x} (\tau_e+\frac{\delta}{2}) cos(\phi_e)\,</math>


*<math>\tau_e</math> is the error of the code delay estimated at the receiver
<math>Q_L = -AdR_{x}(\tau_e+\frac{\delta}{2})sin(\phi_e)\,</math>
*<math>\phi_e</math> is the error of the carrier phase estimated at the receiver
*E, P, L indeces stand for Early, Prompt and Late respectively
*<math>\delta</math> is the Early-Late spacing


Please note that the phase error can also be written as:


<math>\phi_e = 2\pi f_e t + \phi_0 </math>
where:


where
*<math>\tau_e\,</math> is the error of the code delay estimated at the receiver.
*<math>f_e</math> is the error of the estimated Doppler frequency (and receiver clock instabilities) at the receiver
*<math>\phi_e\,</math> is the error of the carrier phase estimated at the receiver.
*<math>\phi_0</math> is the initial incoming signal phase
*<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.


==Further Applications==
Please note that the phase error can also be written as:


Although the 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, of course) 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:
<math>\phi_e = 2\pi f_e t + \phi_0\,</math>
*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. Finally, a standard E-L DLL is applied in order to estimate optimally the code loop tracking error<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, 10 or more correlators are employed in order to increase the resolution of the correlation function obtained by sampling




[[File:mc_auto.png|right|thumb|350px|'''''Figure 3:'''''Multipeaked Autocorrelation Functions for two examples of BOC modulations.]]
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.


*Tracking of BOC modulations
The bump jumping algorithm proposed in <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 the BOC modulated signals. In fact, the autocorrelation function of the BOC signals presents more than one peak, as illustrated in Figure 3, leading to several zero crossings of the discriminator response. Thus, the receiver needs to implement a mechanism that ensures it is tracking the correct autocorrelation 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.


==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''': 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.


==Related articles==
==Related articles==

Revision as of 11:01, 23 February 2012


ReceiversReceivers
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: 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 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: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 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:

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[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

  1. ^ R. Van Nee, “The Multipath Estimating Delay Lock Loop”, IEEE ISSSTA 92, 1992, Japan, pp 39-42.
  2. ^ 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.
  3. ^ P. Fine, W. Wilson, “Tracking Algorithm for GPS Offset Carrier Signals,” ION NTM 1999, San Diego, MA, pp. 671-676.