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

Tracking Loops: Difference between revisions

From Navipedia
Jump to navigation Jump to search
m (Included editor logo.)
 
(11 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
|Logo=GMV
|Title={{PAGENAME}}
}}
}}
 
GNSS receivers’ goal is to synchronize a local replica of the transmitted PRN Code with the incoming signal, in order to estimate the distance travelled by the incoming signal as accurately as possible. For that purpose, '''tracking loops''' are used in a closed loop to follow continuously the code and carrier parameters of the incoming signal. These loops are often designated as ''code'' and ''carrier'' tracking loops.
GNSS receivers’ goal is to synchronize a local replica of the transmitted PRN Code with the incoming signal in order to estimate the distance travelled by the incoming signal as accurately as possible. For that purpose, tracking loops are used in a closed loop in order to follow continuously the code and carrier parameters of the incoming signal; these loops are often designated as code and carrier tracking loops.
 


==Block Diagram==
==Block Diagram==
In order to extract information from the incoming signals, GNSS receivers track them by replicating the PRN code and adjusting its code delay and carrier phase continuously so as to guarantee synchronization with the incoming signal. In its most common implementation, the receiver implements '''code and carrier tracking loops''' to achieve synchronization with the incoming signal, as depicted in Figure 1.


In order to extract information from the incoming signals, GNSS receivers track them by replicating a PRN code and adjusting its code delay and carrier phase continuously so as to guarantee synchronization with the incoming signal.
[[File:tl_block.png|center|thumb|450px|'''''Figure 1:''''' Basic block diagram of the tracking loops.]]
In its most common implementation, the receiver implements code and carrier tracking loops to achieve synchronization with the incoming signal, as depicted in Figure 1.


The tracking loops include:


[[File:tl_block.png|center|thumb|450px|'''''Figure 1:''''' Basic Block Diagram of the Tracking Loops.]]
*'''Integrate & Dump (I&D)''': blocks that accumulate the [[Correlators|correlators’]] outputs, and provide their In-phase ''I'' and Quadrature ''Q'' components.
*'''Discriminators''': process the correlators’ outputs to provide measurable quantities (e.g. carrier phase information).
*'''Filters''': filter the discriminators’ outputs to reduce noise.
*'''NCO''': Numerical Control Oscillators convert the filter outputs into usable correction factors of Doppler frequency and code delay, which are fed back to the Doppler removal and Local code Generators blocks respectively, as shown [[Digital Signal Processing|here]].


While code tracking loops follow the code delay of the incoming signal using [[Delay Lock Loop (DLL)| Delay Lock Loops (DLL)]], carrier tracking loops can be designed to follow either the phase of the incoming signal – using [[Phase Lock Loop (PLL)| Phase Lock Loops (PLL)]], or the Doppler frequency of the incoming signal using [[Frequency Lock Loop (FLL)| Frequency Lock Loops (FLL)]]. Nevertheless, receivers may implement both FLLs and PLLs: this decision, together with the dimensioning of all the components within the tracking loops, is part of a series of trade-offs conducted during receiver design.


The tracking loops include:
As an example, the selection of the integration times used in I&D blocks (also discussed [[Baseband Processing|here]]) is a trade-off between accuracy and robustness to receiver dynamics. On one hand, the longer the integration time, the less noise is expected at the correlators’ outputs; on the other hand, shorter integration times are more robust in high dynamic stress signal conditions.
*<b>Integrate & Dump (I&D)</b> blocks that accumulate the [[Correlators|correlators’]] outputs and provide their in-phase and quadrature components.
*<b>Discriminators</b>: process the correlators’ outputs to provide measurable quantities (e.g. carrier phase information)
*<b>Filters</b>: filter the discriminators’ outputs to reduce noise
*<b>NCO</b>: Numerical Control Oscillators convert the filter outputs into usable correction factors of Doppler frequency and code delay that are feedback to the Doppler removal and Local code Generators blocks respectively, as shown [[Digital Signal Processing|here]]


==Loop Filters==
The objective of the loop filters is to filter the discriminator output in order to reduce noise. These measurements are fed to the loop's NCOs that subtract them from the original input signal to produce a correction factor. This correction is then fed back into the first blocks of the receiver [[Baseband Processing|channels]], namely Doppler removal and local replica generator, so as to update the current estimations.


Code tracking loops follow the code delay of the incoming signal using [[Delay Lock Loop (DLL)| Delay Lock Loops (DLL)]]. Carrier tracking loops can be designed to follow either the phase of the incoming signal – using [[Phase Lock Loop (PLL)| Phase Lock Loops (PLL)]] or the Doppler frequency of the incoming signal using [[Frequency Lock Loop (FLL)| Frequency Lock Loops (FLL)]].
[[File:tl_loopResponse.png|right|thumb|320px|'''''Figure 2:''''' Loop response to a phase step at t=2s, for different loop bandwidths.]]
The design of the loop filters consists in dimensioning the filter order and bandwidth, in order to determine its response to the signal dynamics. In general, the design of the filter noise bandwidth <math>B_n\,</math> needs to consider the integration time <math>T\,</math>, so that:


Furthermore, receivers may implement both FLLs and PLLs. This decision, together with the dimensioning of the all the components within the tracking loops is part of a series of trade-offs conducted during receiver design.


As an example, the selection of the integration times in I&D blocks (also discussed [[Baseband Processing|here]]), is a trade-off between accuracy and robustness to receiver dynamics. On one hand, the longer the integration time, the less noise is expected at the correlators’ outputs. On the other hand, shorter integration times are more robust in high dynamic stress signal conditions.
<math>B_nT << 1\,</math>


==Loop Filters==


The objective of the loop filters is to filter the discriminator output in order to reduce noise. These measurements are fed to the loop Numerical Control Oscillators (NCO) that subtract them from the original input signal to produce a correction factor which is fed back into the first blocks of the [[Baseband Processing|channels]], namely Doppler removal and local replica generator, so as to update the current estimations.
Whenever this condition is not guaranteed, the actual bandwidth tends to be larger than the desired one, leading to filter instability.


The design of the loop filters consists in dimensioning the filter order and bandwidth in order to determine its response to the signal dynamics.
The effect of the filter noise bandwidth is illustrated in Figure 2, which depicts the filter response to a phase step. It can be seen on one hand, that lower bandwidths present less noisy results (since they correspond to longer integration times), and on the other hand, higher bandwidths have faster response times.


In terms of filter order considerations, the higher the order, the better the capability of the filter to follow the LOS dynamics. As such:


[[File:tl_loopResponse.png|right|thumb|350px|'''''Figure 2:''''' Loop response to a phase step at t=2s, for different loop bandwidths.]]
*1st order filters are sensitive to velocity stress.
*2nd order filters are sensitive to acceleration stress.
*3rd order filters are sensitive to jerk stress.


As a consequence, higher order filters perform better in dynamic stress conditions and provide less noisy results. The drawback relies mainly on the additional computational burden of the filters, since the order of the filter is directly related to the amount of operations. Furthermore, the order also imposes a limit on the filter bandwidth: as an example, a 3rd order filter requires a noise bandwidth below 18 Hz in order to guarantee stability<ref name="kaplan">Kaplan E.D., Hegarty C.J.,"Understanding GPS: Principles and Applications", second edition.</ref>.


In general, the design of the filter noise bandwidth, <math>B_n</math> needs to consider the Integration time, T, so that <math>B_nT << 1</math>. In fact, whenever this condition is not guaranteed, the actual bandwidth tends to be larger than the desired one leading to filter instability.
==Aiding==
The effect of the filter noise bandwidth is illustrated in Figure 2, which depicts the filter response to a phase step. It can be seen on one hand, that lower bandwidths present less noisy results (since they correspond to longer integration times). On the other hand, higher bandwidths have faster response times.
Noting that the [[Phase Lock Loop (PLL)|carrier loop]] jitter is much less noisy than the [[Delay Lock Loop (DLL)|code loop]] jitter, it is possible to use the measurements from the carrier loop to remove the LOS (Line-Of-Sight) dynamics of the code loop, with the advantage of being able to lower the order of the code loop filter, as well as its bandwidth. This architecture is often called ''carrier-aiding'', since it allows having a 3rd order PLL filter feeding its information to a 2nd order DLL filter, maintaining the same levels of performance of an unaided 3rd order DLL filter, as shown in Figure 1. For that purpose, a scale factor needs to be applied to the carrier filter outputs before including them in the code loop, in order to account for the fact that the Doppler effect on the signal is inversely proportional to its wavelength<ref name="kaplan"></ref>:




As for filter order, the higher the order, the better the capability of the filter to follow the LOS dynamics.
<math>SF=\frac{R_c}{f_L}\,</math>
As such:
*1st order filters are sensitive to velocity stress
*2nd order filters are sensitive to acceleration stress
*3rd order filters are sensitive to acceleration stress




As consequence, higher order filters perform better in dynamic stress conditions and provide less noisy results. The drawback relies mainly on the additional computational burden of the filters, since the order of the filter is directly related to the amount of operations. Furthermore, the order of the filter imposes a limit on the filter bandwidth. As an example, a third order filter would require a noise bandwidth below 18 Hz in order to guarantee stability<ref name="kaplan">Kaplan E.D., Hegarty C.J.,"Understanding GPS: Principles and Applications", second edition</ref>.
where:


*<math>R_c\,</math> is the code chipping rate of the signal at hand.
*<math>f_L\,</math> is the carrier frequency of the signal at hand.


==Aiding==
Another way to remove higher order dynamics from the loops is to use external inertial sensors; this approach also allows for lower filter orders in the tracking loops<ref>”Development of INS-Aided GPS Tracking Loop and Flight Test Evaluation”, Toshiaki Tsujii1, Takeshi Fujiwara, Yoshimitsu Suganuma, Hiroshi Tomita,and Ivan Petrovski, Aviation Program Group, Japan Aerospace Exploration Agency, iP-Solutions, Tokyo, Japan.</ref>.


Noting that the [[Phase Lock Loop (PLL)|carrier loop] jitter is much less noisy than the [[Delay Lock Loop (DLL)|code loop]] jitter, it is possible to use the measurements from the carrier loop to remove the LOS (Line Of Sight) dynamics of the code loop, with the advantage of being able to lower the order of the code loop filter, as well as its bandwidth. This architecture is often called carrier-aiding and it allows having a 3rd order PLL filter feeding its information to a 2nd order DLL filter, maintaining the same levels of performance of an unaided 3rd order DLL filter.


For that purpose, a scale factor needs to be applied to the carrier filter outputs before including them in the code loop in order to account for the fact that the Doppler effect on the signal is inversely proportional to its wavelength<ref name="kaplan"></ref>:
==Vector Processing==


<math>SF=\frac{R_c}{f_L}</math>
In conventional receivers, tracking loops - namely [[Delay Lock Loop (DLL)|Delay Lock Loops (DLL)]] operate independently, as they are assigned to dedicated channels to provide observables, e.g. pseudorange information for the case of the DLL.


Where:
The concept of Vector DLL (VDLL) relies on the fact that pseudo-range is not an observable per se<ref>J. J. Spilker Jr., “Global Positioning System: Theory and Applications”, Volume I, Chapter Fundamentals of Signal Tracking Theory, edited by B. Parkinson and J. Spilker Jr, Published by the American Institute of Aeronautcs and Astronautics, Inc</ref>. Instead, the receiver observes the sum of signals coming from different satellites. Therefore it is possible to close the loop of the solution computation back to the signal correlation outputs, which are the actual measured quantities.
*<math>R_c</math> is the code chipping rate of the signal at hand
*<math>f_L</math> is the carrier frequency of the signal at hand


Other ways to remove higher order dynamics from the loops is to use external inertial sensors; also allowing lowering the order of the filters of the tracking loops<ref>”Development of INS-Aided GPS Tracking Loop and Flight Test Evaluation”, Toshiaki Tsujii1, Takeshi Fujiwara, Yoshimitsu Suganuma, Hiroshi Tomita,and Ivan Petrovski, Aviation Program Group, Japan Aerospace Exploration Agency, iP-Solutions, Tokyo, Japan</ref>, or further implement piggyback loops.
As an example, vector processing techniques have been used to estimate Doppler measurements from different satellites, and feeding back this information in order to be able to reduce the PLL filter bandwidth <ref>Chiou, Tsung-Yu, Seo, Jiwon, Walter, Todd, Enge, Per, "Performance of a Doppler-Aided GPS Navigation System for Aviation Applications under Ionospheric Scintillation," Proceedings of the 21st International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2008), Savannah, GA, September 2008, pp. 1139-1147.</ref>.
Vector processing may reduce the noise from all channels and guarantee that the loop bandwidth is now driven by the receiver dynamics. Furthermore, the VDLL may be able to cope with the blockage of one single satellite, as long as enough (strong) satellites are visible. The actual effect on the system is equivalent to the increase of noise on the remaining channels.


Conversely, a potential disadvantage of the vector processing is contamination among the measurements, e.g. in strong multipath environments such as urban canyons.


==Related articles==
==Related articles==
*[[Generic Receiver Description]]
*[[Generic Receiver Description]]
*[[Phase Lock Loop (PLL)]]
*[[Frequency Lock Loop (FLL)]]
*[[Delay Lock Loop (DLL)]]
*[[System Design Details]]
*[[System Design Details]]
*[[Antennas]]
*[[Receiver Characteristics]]
*[[Baseband Processing]]
*[[Baseband Processing]]



Latest revision as of 16:34, 18 September 2014


ReceiversReceivers
Title Tracking Loops
Edited by GMV
Level Advanced
Year of Publication 2011
Logo GMV.png

GNSS receivers’ goal is to synchronize a local replica of the transmitted PRN Code with the incoming signal, in order to estimate the distance travelled by the incoming signal as accurately as possible. For that purpose, tracking loops are used in a closed loop to follow continuously the code and carrier parameters of the incoming signal. These loops are often designated as code and carrier tracking loops.

Block Diagram

In order to extract information from the incoming signals, GNSS receivers track them by replicating the PRN code and adjusting its code delay and carrier phase continuously so as to guarantee synchronization with the incoming signal. In its most common implementation, the receiver implements code and carrier tracking loops to achieve synchronization with the incoming signal, as depicted in Figure 1.

Figure 1: Basic block diagram of the tracking loops.

The tracking loops include:

  • Integrate & Dump (I&D): blocks that accumulate the correlators’ outputs, and provide their In-phase I and Quadrature Q components.
  • Discriminators: process the correlators’ outputs to provide measurable quantities (e.g. carrier phase information).
  • Filters: filter the discriminators’ outputs to reduce noise.
  • NCO: Numerical Control Oscillators convert the filter outputs into usable correction factors of Doppler frequency and code delay, which are fed back to the Doppler removal and Local code Generators blocks respectively, as shown here.

While code tracking loops follow the code delay of the incoming signal using Delay Lock Loops (DLL), carrier tracking loops can be designed to follow either the phase of the incoming signal – using Phase Lock Loops (PLL), or the Doppler frequency of the incoming signal using Frequency Lock Loops (FLL). Nevertheless, receivers may implement both FLLs and PLLs: this decision, together with the dimensioning of all the components within the tracking loops, is part of a series of trade-offs conducted during receiver design.

As an example, the selection of the integration times used in I&D blocks (also discussed here) is a trade-off between accuracy and robustness to receiver dynamics. On one hand, the longer the integration time, the less noise is expected at the correlators’ outputs; on the other hand, shorter integration times are more robust in high dynamic stress signal conditions.

Loop Filters

The objective of the loop filters is to filter the discriminator output in order to reduce noise. These measurements are fed to the loop's NCOs that subtract them from the original input signal to produce a correction factor. This correction is then fed back into the first blocks of the receiver channels, namely Doppler removal and local replica generator, so as to update the current estimations.

Figure 2: Loop response to a phase step at t=2s, for different loop bandwidths.

The design of the loop filters consists in dimensioning the filter order and bandwidth, in order to determine its response to the signal dynamics. In general, the design of the filter noise bandwidth [math]\displaystyle{ B_n\, }[/math] needs to consider the integration time [math]\displaystyle{ T\, }[/math], so that:


[math]\displaystyle{ B_nT \lt \lt 1\, }[/math]


Whenever this condition is not guaranteed, the actual bandwidth tends to be larger than the desired one, leading to filter instability.

The effect of the filter noise bandwidth is illustrated in Figure 2, which depicts the filter response to a phase step. It can be seen on one hand, that lower bandwidths present less noisy results (since they correspond to longer integration times), and on the other hand, higher bandwidths have faster response times.

In terms of filter order considerations, the higher the order, the better the capability of the filter to follow the LOS dynamics. As such:

  • 1st order filters are sensitive to velocity stress.
  • 2nd order filters are sensitive to acceleration stress.
  • 3rd order filters are sensitive to jerk stress.

As a consequence, higher order filters perform better in dynamic stress conditions and provide less noisy results. The drawback relies mainly on the additional computational burden of the filters, since the order of the filter is directly related to the amount of operations. Furthermore, the order also imposes a limit on the filter bandwidth: as an example, a 3rd order filter requires a noise bandwidth below 18 Hz in order to guarantee stability[1].

Aiding

Noting that the carrier loop jitter is much less noisy than the code loop jitter, it is possible to use the measurements from the carrier loop to remove the LOS (Line-Of-Sight) dynamics of the code loop, with the advantage of being able to lower the order of the code loop filter, as well as its bandwidth. This architecture is often called carrier-aiding, since it allows having a 3rd order PLL filter feeding its information to a 2nd order DLL filter, maintaining the same levels of performance of an unaided 3rd order DLL filter, as shown in Figure 1. For that purpose, a scale factor needs to be applied to the carrier filter outputs before including them in the code loop, in order to account for the fact that the Doppler effect on the signal is inversely proportional to its wavelength[1]:


[math]\displaystyle{ SF=\frac{R_c}{f_L}\, }[/math]


where:

  • [math]\displaystyle{ R_c\, }[/math] is the code chipping rate of the signal at hand.
  • [math]\displaystyle{ f_L\, }[/math] is the carrier frequency of the signal at hand.

Another way to remove higher order dynamics from the loops is to use external inertial sensors; this approach also allows for lower filter orders in the tracking loops[2].


Vector Processing

In conventional receivers, tracking loops - namely Delay Lock Loops (DLL) operate independently, as they are assigned to dedicated channels to provide observables, e.g. pseudorange information for the case of the DLL.

The concept of Vector DLL (VDLL) relies on the fact that pseudo-range is not an observable per se[3]. Instead, the receiver observes the sum of signals coming from different satellites. Therefore it is possible to close the loop of the solution computation back to the signal correlation outputs, which are the actual measured quantities.

As an example, vector processing techniques have been used to estimate Doppler measurements from different satellites, and feeding back this information in order to be able to reduce the PLL filter bandwidth [4]. Vector processing may reduce the noise from all channels and guarantee that the loop bandwidth is now driven by the receiver dynamics. Furthermore, the VDLL may be able to cope with the blockage of one single satellite, as long as enough (strong) satellites are visible. The actual effect on the system is equivalent to the increase of noise on the remaining channels.

Conversely, a potential disadvantage of the vector processing is contamination among the measurements, e.g. in strong multipath environments such as urban canyons.

Related articles

References

  1. ^ a b Kaplan E.D., Hegarty C.J.,"Understanding GPS: Principles and Applications", second edition.
  2. ^ ”Development of INS-Aided GPS Tracking Loop and Flight Test Evaluation”, Toshiaki Tsujii1, Takeshi Fujiwara, Yoshimitsu Suganuma, Hiroshi Tomita,and Ivan Petrovski, Aviation Program Group, Japan Aerospace Exploration Agency, iP-Solutions, Tokyo, Japan.
  3. ^ J. J. Spilker Jr., “Global Positioning System: Theory and Applications”, Volume I, Chapter Fundamentals of Signal Tracking Theory, edited by B. Parkinson and J. Spilker Jr, Published by the American Institute of Aeronautcs and Astronautics, Inc
  4. ^ Chiou, Tsung-Yu, Seo, Jiwon, Walter, Todd, Enge, Per, "Performance of a Doppler-Aided GPS Navigation System for Aviation Applications under Ionospheric Scintillation," Proceedings of the 21st International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2008), Savannah, GA, September 2008, pp. 1139-1147.