DANISH GPS CENTER
Carrier Tracking Loop; Loop Filter
GPS Signals And Receiver Technology MM12 Darius Plauinaitis
[email protected]Todays Subjects
Demodulation of the GPS signal Tracking loop introduction Carrier tracking
Phase Lock Loop (PLL) Frequency Lock Loop (FLL)
DANISH GPS CENTER
Loop filters
2009
Danish GPS Center
DANISH GPS CENTER
Demodulation
Or how to turn the radio waves back into the data message that we are interested in
2009
Danish GPS Center
Demodulation
The transmitted signal from satellite k is:
S k (t ) = 2 Pc (C k (t ) D k (t )) cos(2f L1t ) + 2 PPL1 ( P k (t ) D k (t )) sin( 2f L1t ) + 2 PPL 2 ( P k (t ) D k (t )) cos(2f L 2t )
D data C C/A code P P(Y) code
DANISH GPS CENTER
L1 C/A signal L1 P(Y) signal L2 P(Y) signal
2009
Danish GPS Center
Demodulation
The transmitted signal from satellite k is:
DANISH GPS CENTER
S k (t ) = 2 Pc (C k (t ) D k (t )) cos(2f L1t ) + 2 PPL1 ( P k (t ) D k (t )) sin( 2f L1t ) + 2 PPL 2 ( P k (t ) D k (t )) cos(2f L 2t )
After an RF front-end (L1 only):
S k (t ) = 2 Pc (C k (t ) D k (t )) cos( IF t ) + 2 PPL1 ( P k (t ) D k (t )) sin( IF t )
The signal from one satellite after the ADC (narrow filters and low sampling frequency):
S k (n) = C k (n) D k (n) cos(if n) + e(n)
2009 Danish GPS Center 5
Demodulation
S (n) = C 1 (n) D1 (n) cos(if 1n) + C 2 (n) D 2 (n) cos(if 2 n) + e(n)
DANISH GPS CENTER
The signal from two satellites after the ADC: The code phase and the intermediate frequency of the carrier wave should be known parameters to demodulate the navigation data from e.g. satellite 1.
2009
Danish GPS Center
Demodulation
Convert the signal down to baseband:
S (n) cos(if 1n) = C 1 (n) D1 (n) cos(if 1n) cos(if 1n) + C 2 (n) D 2 (n) cos(if 2 n) cos(if 1n) + e(n)
DANISH GPS CENTER
cos(a)*cos(b) = cos(a+b) + cos(a-b)
S (n) cos(if 1n) = 1 C 1 (n) D1 (n) + 1 C 1 (n) D1 (n) cos(2if ) + 2 2 C 2 (n) D 2 (n) cos(if 2 n) cos(if 1n) + e(n)
S (n) cos(if 1n) = 1 C 1 (n) D1 (n) + 1 C 1 (n) D1 (n) cos(2if ) 2 2 + 1 C 2 (n) D 2 (n) cos(if 2 if 1n) 2 + 1 C 2 (n) D 2 (n) cos(if 2 + if 1n) + e(n) 2
2009 Danish GPS Center 7
Demodulation Visualized
DANISH GPS CENTER
IF
2009
Danish GPS Center
Demodulation
Code wipe off:
S (n) cos(if 1n)C 1 (n) = 1 D1 (n) + 1 D1 (n) cos(2if ) + e(n) 2 2
DANISH GPS CENTER
After low-pass filtering (integration):
S (n) cos(if 1n)C 1 (n) = I = 1 D1 (n) + e(n) 2
Received signal amplitude vs. tracking errors
sin(f iT ) S Ii = 2 R( i ) Di cos(i ) + ei N0 (f iT )
Conclusion: perfectly aligned code and carrier replicas are required to do demodulation. These replicas can be tracked using two tracking loops.
2009 Danish GPS Center 9
DANISH GPS CENTER
Tracking Loop
A way to generate exact copy of the received signal
2009
Danish GPS Center
10
What does tracking do and why?
DANISH GPS CENTER
The main goal is to receive the GNSS signal as clear and loud as possible the local carrier and spreading code must be well aligned with the ones in the signal GNSS adds one more requirement: to track signal arrival (time) as precise as possible Advanced receivers can detect multipath to some extent Additional task can be signal quality monitoring
2009 Danish GPS Center 11
The Tracking Loop Idea
DANISH GPS CENTER
Generate a local signal Correlate it with the received signal Measure (time/code-phase, frequency, phase) error between the local and the received signals Steer local signal generators to minimize the error Pass demodulated data bit value stream to the data processing task Repeat procedure
2009 Danish GPS Center 12
Main Parts Of A Tracking Loop
The error measurement
DANISH GPS CENTER
Scaling of error used to control sensitivity to the tracking error
Tracked signal 1(s) Error measurement unit (called error detector or discriminator) Generated signal ? 2(s) e(s)
Filter
Kd
VCO
F(s)
K0/s
Signal generator generates replica of the tracked signal
Filter has two main tasks: To filter noise in the error measurements (due to noise in the tracked signal) To shape the tracking loops response to the tracking error
2009
Danish GPS Center
13
Types Of Tracking Loops
DANISH GPS CENTER
There are 3 main types of the tracking loops depending on the tracked property of the tracked signal:
Phase lock loop (PLL) Frequency lock loop (FLL) Delay lock loop (DLL)
There are few error detectors for each type of the tracking loop with different properties Variations of filter parameters will shape the filter response and amount of noise filtering
2009 Danish GPS Center 14
Plan For The Tracking Topic
DANISH GPS CENTER
PLL (FLL) and DLL are explained in sections on carrier and code tracking Each section will also cover a set of error detectors applicable in a given tracking loop Tracking loop filter is explained in a separate section as the same theory is used for all types of tracking loops
2009
Danish GPS Center
15
DANISH GPS CENTER
The Carrier Tracking Loop
The Phase Locked Loop (PLL)
2009
Danish GPS Center
16
Carrier Tracking Loop
DANISH GPS CENTER
The goal of the Carrier Tracking Loop is to produce a perfectly aligned carrier replica. The most common way is to use a PLL:
In-phase arm
D(n) cos(if n)
cos(if n + )
sin(if n + )
Quadraturephase arm
2009
Danish GPS Center
17
Carrier Tracking Loop
DANISH GPS CENTER
The demodulation in the In-phase (I) branch:
D(n) cos(if n) cos(if n + ) = 1 D(n) cos( ) + 1 D(n) cos(2if n + ) 2 2
The demodulation in the Quadrature-phase (Q) branch:
D(n) cos(if n) sin(if n + ) = 1 D(n) sin( ) + 1 D(n) sin( 2if n + ) 2 2
The I signal: The Q signal:
I = 1 D(n) cos( ) 2
Q = 1 D(n) sin( ) 2
2009
Danish GPS Center
18
Carrier Tracking Loop
Costas loop:
DANISH GPS CENTER
I = 1 D(n) cos( ) 2
cos(if n + )
D(n) cos(if n)
sin(if n + )
Q = 1 D(n) sin( ) 2
2009
Danish GPS Center
19
Carrier Tracking Loop
To find the phase error:
Q 1 D(n) cos( ) = 2 = tan( ) 1 I 2 D ( n) sin( )
1 1 2 1 2
DANISH GPS CENTER
-2 2 Phase delay
Q
= tan
D(n) sin( ) D(n) cos( )
Q = tan I
1
2009
Danish GPS Center
20
Carrier Tracking Loop
DANISH GPS CENTER
The Costas loop is independent on the phase shifts caused by the data bits Phasor diagram:
Q
4000 2000
An output example:
Discrete-Time Scatter Plot
Q prompt
0 -2000 -4000 -8000 -6000 -4000 -2000 0 2000 4000 6000 8000 I prompt
2009
Danish GPS Center
21
Carrier Tracking Loop
Arctan
DANISH GPS CENTER
Different kinds of phase lock loop discriminators:
D = tan 1 Q I
Much time consuming (not a big problem today) The output is the real phase error
Sign product
D = Q sign(I )
Fast method The discriminator output is proportional to sin()
2009
Danish GPS Center
22
Carrier Tracking Loop
DANISH GPS CENTER
Different kinds of phase lock loop discriminators:
2009
Danish GPS Center
23
Carrier Tracking Loop
Costas loop:
I = 1 D(n) cos( ) 2
DANISH GPS CENTER
D(n) cos(if n)
cos(if n + )
sin(if n + )
= tan 1
I Q
Q = 1 D(n) sin( ) 2
2009
Danish GPS Center
24
Carrier Tracking Loop
DANISH GPS CENTER
The signal energy in I and Q when PLL has locked on the signal:
2009
Danish GPS Center
25
DANISH GPS CENTER
The Carrier Tracking Loop
The Frequency Locked Loop (FLL)
2009
Danish GPS Center
26
Frequency Lock Loop
DANISH GPS CENTER
The discrimators are a bit different than in PLL. They measure change in carrier phase over an interval of time. Less noise sensitive than PLL it can track at lower SNR The tracking loop has more noise than PLL Can be used for the re-acquisition or pull-in states due to bigger frequency lock range
2009
Danish GPS Center
27
DANISH GPS CENTER
Loop Filters
2009
Danish GPS Center
28
Why The Filter Is Needed Anyway?
The error measurement is there, so just correct the generator frequency and job is done, right? The answer is NO:
DANISH GPS CENTER
There is an error measurement noise (even at good SNR) There is a stady state error caused by Doppler
2009
Danish GPS Center
29
The Typical Tracking Loop
Phase error detector has gain Kd. The transfer function is showed in figure a) The VCO has a center frequency 0 and gain K0. The transfer function is showed in figure b) The filter coefficients depend on Kd and K0
Phase detector 1(s) + e(s)
DANISH GPS CENTER
Filter
Kd
VCO
F(s)
2(s)
K0/s
0 u e ud
a)
b)
2009
Danish GPS Center
30
An Example Of Filter Output vs. Input
Raw PLL discriminator 0.2 0.1 0 -0.1 -0.2 0.05 0.1 0.15 Time (s) 0.2 0.25 0.3
DANISH GPS CENTER
There is an initial frequency between tracked and generated signals (27Hz here) Figures show:
The filter accumulates offset over time and keeps it The result of damping different convergence times
Amplitude
Filtered PLL discriminator 30 20
Amplitude
10 0 -10 -20 0.05 0.1 0.15 Time (s) 0.2 0.25 0.3
2009
Danish GPS Center
31
A Simple Digital Loop Filter
The C1 and C2 depend on loop noise bandwidth BL, VCO and PD gains and loop damping factor . Damping factor controls how fast the filter reaches its settle point Noise bandwidth controls the amount of allowed noise in the filter
Filter input c2
DANISH GPS CENTER
z-1
Filter output
c1
C1 =
8 nT 1 K 0 K D 4 + 4 nT + (nT ) 2
4( nT ) 2 1 C2 = K 0 K D 4 + 4 nT + (nT ) 2
n =
8 BL 4 2 + 1
32
2009
Danish GPS Center
Damping Factor
Different loop responses depending on the damping factor
(first 20ms are due to loop filter initialization)
DANISH GPS CENTER
Determines how much the loop filter resists to the control signal:
On one hand how fast the loop will fix the tracking error On other hand how much the loop will overshoot 0 error point
80 60
minator output] [
40 20 0
= 0.3 = 0.5 = 0.7 = 0.9 = 1.1
A compromise value is used or few values are used for different receiver modes
2008
Danish GPS Center
33
Noise Bandwidth
DANISH GPS CENTER
Narrow noise bandwidth decreases noise in the tracking loop, AND response speed At 100ms the loop noise bandwidth is switched from about 100Hz to 15Hz
90 PLL discriminator
-2520
Carrier frequency offset
Frequency offset (Hz)
Phase offset [degrees]
45
-2540 -2560 -2580 -2600
-45
-90
100
200 300 Time (ms)
400
500
Danish GPS Center
100
200 300 Time (ms)
400
500
34
2009
Noise Bandwidth
Loop noise bandwidth also determines maximum Doppler offset and rates tolerated by the loop Figures show a case of too big initial frequency error in acquisition
2009
90 45 0 -45 -90 PLL discriminator
DANISH GPS CENTER
50
100
150
200
250 Time (ms)
300
350
400
450
500
Frequency offset (Hz)
-98 -99 -100 -101
Carrier frequency offset
50
100
150
200
300 250 Time (ms)
350
400
450
500
Danish GPS Center
35
Loop Order
DANISH GPS CENTER
Filter input
c2
z-1
Filter output
c1
The filter is a first order filter The tracking loop (excluding filter) is a first order system, therefore the tracking loop is second order Higher order filters approximate the error dynamics better (e.g. to be used for ships etc.)
2008
Danish GPS Center
36
An Example Of A PLL
=20/0.7845; T=0.02;
k1= 2.4 * k2= (1.1 * ^2)/20 k3= ^3/20
DANISH GPS CENTER
=20/0.53; T=0.02;
k1= 1.414 * k2= ^2/20 k3= 0
This slide contents is only available to the listeners of our courses
2009 Danish GPS Center 37
2-nd Order Loop Responce
DANISH GPS CENTER
2009
Danish GPS Center
38
3-rd Order Loop Responce
DANISH GPS CENTER
2009
Danish GPS Center
39
DANISH GPS CENTER
Questions and Exercises
2009
Danish GPS Center
40