DANISH GPS CENTER
Carrier Tracking Loop;
Loop Filter
GPS Signals And Receiver Technology MM12
Darius Plaušinaitis
[email protected]Today’s Subjects DANISH GPS CENTER
• Demodulation of the GPS signal
• Tracking loop introduction
• Carrier tracking
– Phase Lock Loop (PLL)
– Frequency Lock Loop (FLL)
• Loop filters
2009 Danish GPS Center 2
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 3
Demodulation DANISH GPS CENTER
• The transmitted signal from satellite k is:
S k (t ) = 2 Pc (C k (t ) D k (t )) cos(2πf L1t ) L1 C/A signal
+ 2 PPL1 ( P k (t ) D k (t )) sin( 2πf L1t ) L1 P(Y) signal
+ 2 PPL 2 ( P k (t ) D k (t )) cos(2πf L 2t )
L2 P(Y) signal
D – data
C – C/A code
P – P(Y) code
2009 Danish GPS Center 4
Demodulation DANISH GPS CENTER
• The transmitted signal from satellite k is:
S k (t ) = 2 Pc (C k (t ) D k (t )) cos(2πf L1t ) + 2 PPL1 ( P k (t ) D k (t )) sin( 2πf L1t )
+ 2 PPL 2 ( P k (t ) D k (t )) cos(2πf 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 DANISH GPS CENTER
• The signal from two satellites after the ADC:
S (n) = C 1 (n) D1 (n) cos(ωif 1n) + C 2 (n) D 2 (n) cos(ωif 2 n) + e(n)
• 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 6
Demodulation DANISH GPS CENTER
• 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)
cos(a)*cos(b) = ½cos(a+b) + ½cos(a-b)
S (n) cos(ωif 1n) = 12 C 1 (n) D1 (n) + 12 C 1 (n) D1 (n) cos(2ωif ) +
C 2 (n) D 2 (n) cos(ωif 2 n) cos(ωif 1n) + e(n)
S (n) cos(ωif 1n) = 12 C 1 (n) D1 (n) + 12 C 1 (n) D1 (n) cos(2ωif )
+ 12 C 2 (n) D 2 (n) cos(ωif 2 − ωif 1n)
+ 12 C 2 (n) D 2 (n) cos(ωif 2 + ωif 1n) + e(n)
2009 Danish GPS Center 7
Demodulation Visualized DANISH GPS CENTER
IF f
2009 Danish GPS Center 8
Demodulation DANISH GPS CENTER
• Code wipe off:
S (n) cos(ωif 1n)C 1 (n) = 12 D1 (n) + 12 D1 (n) cos(2ωif ) + e(n)
• After low-pass filtering (integration):
S (n) cos(ωif 1n)C 1 (n) = I = 12 D1 (n) + e(n)
• Received signal amplitude vs. tracking errors
sin(π∆f iT ) S
Ii = 2 R(τ i ) Di cos(∆φi ) + ei
(π∆f iT ) N0
• 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 DANISH GPS CENTER
The error measurement Scaling of error – used to control
sensitivity to the tracking error
Tracked
signal Filter has two
Filter
Θ1(s) Θe(s) main tasks:
? Kd F(s) •To filter noise in
Error the error
measurement unit measurements
Θ2(s) VCO (due to noise in
(called error
the tracked signal)
detector or K0/s •To shape the
discriminator)
tracking loop’s
response to the
Generated Signal generator generates tracking error
signal replica of the tracked signal
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
cos(ωif n + φ )
D(n) cos(ωif n)
sin(ωif n + φ )
Quadrature-
phase 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 + φ ) = 12 D(n) cos(φ ) + 12 D(n) cos(2ωif n + φ )
• The demodulation in the Quadrature-phase (Q)
branch:
D(n) cos(ωif n) sin(ωif n + φ ) = 12 D(n) sin(φ ) + 12 D(n) sin( 2ωif n + φ )
• The I signal:
I = 12 D(n) cos(φ )
• The Q signal:
Q = 12 D(n) sin(φ )
2009 Danish GPS Center 18
Carrier Tracking Loop DANISH GPS CENTER
• Costas loop:
I = 12 D(n) cos(φ )
cos(ωif n + φ )
D(n) cos(ωif n)
sin(ωif n + φ )
Q = 12 D(n) sin(φ )
2009 Danish GPS Center 19
Carrier Tracking Loop DANISH GPS CENTER
• To find the phase error:
φ
Q 12 D(n) cos(φ ) -2π 2π
= 1 = tan(φ )
I 2 D ( n) sin(φ ) Phase
delay
1
D(n) sin(φ ) Q
φ = tan −1 2
1
2 D(n) cos(φ )
φ
I
Q
φ = tan −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: An output example:
Discrete-Time Scatter Plot
Q
4000
2000
Q prompt
φ 0
φ I -2000
-4000
-8000 -6000 -4000 -2000 0 2000 4000 6000 8000
I prompt
2009 Danish GPS Center 21
Carrier Tracking Loop DANISH GPS CENTER
• Different kinds of phase lock loop discriminators:
– Arctan
Q
D = tan −1
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 DANISH GPS CENTER
• Costas loop:
I = 12 D(n) cos(φ )
cos(ωif n + φ )
D(n) cos(ωif n)
I
φ = tan −1
Q
sin(ωif n + φ )
Q = 12 D(n) sin(φ )
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?
DANISH GPS CENTER
• The error measurement is there, so just
correct the generator frequency and job is
done, right?
• The answer is NO:
– 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 DANISH GPS CENTER
• Phase error detector has
gain Kd. The transfer Phase detector Filter
Θ1(s) Θe(s)
function is showed in +
Σ Kd F(s)
figure a) –
• The VCO has a center Θ2(s) VCO
frequency ω0 and gain K0/s
K0. The transfer function
is showed in figure b) ω ud
• The filter coefficients ω0
depend on Kd and K0 u Θe
a) b)
2009 Danish GPS Center 30
An Example Of Filter Output
vs. Input
DANISH GPS CENTER
Raw PLL discriminator • There is an initial
0.2 frequency between
0.1
tracked and generated
Amplitude
0
signals (27Hz here)
-0.1
-0.2
• Figures show:
0.05 0.1 0.15
Time (s)
0.2 0.25 0.3
– The filter “accumulates”
offset over time and keeps
Filtered PLL discriminator
it
30
20
– The result of damping –
different convergence
Amplitude
10
0 times
-10
-20
0.05 0.1 0.15 0.2 0.25 0.3
Time (s)
2009 Danish GPS Center 31
A Simple Digital Loop Filter DANISH GPS CENTER
• The C1 and C2 depend
Filter Filter
on loop noise bandwidth input output
BL, VCO and PD gains c2 Σ Σ
and loop damping factor
ζ. z-1
• Damping factor controls c1
how fast the filter
reaches its settle point 1 8ζω nT
C1 =
• Noise bandwidth K 0 K D 4 + 4ζω nT + (ωnT ) 2
controls the amount of
allowed noise in the 1 4(ζω nT ) 2
C2 =
filter K 0 K D 4 + 4ζω nT + (ωnT ) 2
8ζ BL
ωn =
4ζ 2 + 1
2009 Danish GPS Center 32
Damping Factor DANISH GPS CENTER
• Determines how much
Different loop responses
the loop filter ”resists”
depending on the damping factor to the control signal:
(first 20ms are due to loop filter initialization) – On one hand – how fast
the loop will ”fix” the
tracking error
– On other hand – how
much the loop will
overshoot 0 error point
ζ = 0.3
• A compromise value is
80
60
ζ = 0.5 used or few values are
ζ = 0.7
used for different
minator output°][
40 ζ = 0.9
20
ζ = 1.1
receiver modes
0
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
PLL discriminator Carrier frequency offset
90 -2520
Frequency offset (Hz)
Phase offset [degrees]
45 -2540
0 -2560
-45 -2580
-2600
-90 0 100 200 300 400 500
0 100 200 300 400 500
Time (ms) Time (ms)
2009 Danish GPS Center 34
Noise Bandwidth DANISH GPS CENTER
• Loop noise PLL discriminator
bandwidth also
90
determines 45
maximum 0
Doppler offset -45
and rates -90
0 50 100 150 200 250
Time (ms)
300 350 400 450 500
tolerated by the
Carrier frequency offset
loop -98
Frequency offset (Hz)
• Figures show a -99
case of too big
initial frequency
-100
error in -101
0 50 100 150 200 250 300 350 400 450 500
acquisition Time (ms)
2009 Danish GPS Center 35
Loop Order DANISH GPS CENTER
• The filter is a first order
filter
• The tracking loop
Filter Filter (excluding filter) is a
input output
c2 Σ Σ first order system,
therefore the tracking
z-1 loop is second order
c1
• 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 DANISH GPS CENTER
• ω=20/0.7845; T=0.02;
– k1= 2.4 * ω
– k2= (1.1 * ω ^2)/20
– k3= ω ^3/20
• ω =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