7/29/2019 GPS Loop Mm12_slides
1/40
DANISHGPSCENTER
Carrier Tracking Loop;
Loop FilterGPS Signals And Receiver Technology MM12
Darius Plauinaitis
7/29/2019 GPS Loop Mm12_slides
2/40
DANISH GPS CENTERTodays Subjects
Demodulation of the GPS signal Tracking loop introduction
Carrier tracking
Phase Lock Loop (PLL)
Frequency Lock Loop (FLL)
Loop filters
2009 2Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
3/40
DANISH GPS CENTER
Demodulation
Or how to turn the radio waves back into the data
message that we are interested in
2009 3Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
4/40
DANISH GPS CENTERDemodulation
The transmitted signal from satellite k is:
)2cos())()((2
)2sin())()((2
)2cos())()((2)(
22
11
1
tftDtPP
tftDtPP
tftDtCPtS
L
kk
PL
Lkk
PL
L
kk
c
k
+
+
= L1 C/A signal
L1 P(Y) signal
L2 P(Y) signal
D data
C C/A code
P P(Y) code
2009 4Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
5/40
DANISH GPS CENTERDemodulation
The transmitted signal from satellite k is:
After an RF front-end (L1 only):
The signal from one satellite after the ADC(narrow filters and low sampling frequency):
)2cos())()((2
)2sin())()((2)2cos())()((2)(
22
111
tftDtPP
tftDtPPtftDtCPtS
L
kk
PL
L
kk
PLL
kk
c
k
+
+=
)()cos()()()( nennDnCnS ifkkk
+=
)sin())()((2)cos())()((2)( 1 ttDtPPttDtCPtS IFkk
PLIF
kk
c
k +=
2009 5Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
6/40
DANISH GPS CENTERDemodulation
The signal from two satellites after the ADC:
The code phase and the intermediatefrequency of the carrier wave should be
known parameters to demodulate thenavigation data from e.g. satellite 1.
)()cos()()()cos()()()( 222
1
11nennDnCnnDnCnS ifif ++=
2009 6Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
7/40
DANISH GPS CENTERDemodulation
Convert the signal down to baseband:
)()cos()cos()()(
)cos()cos()()()cos()(
12
22
11
11
1
nennnDnC
nnnDnCnnS
ifif
ififif
+
+=
)()cos()cos()()(
)2cos()()()()()cos()(
12
22
11
2111
21
1
nennnDnC
nDnCnDnCnnS
ifif
ifif
+
++=
cos(a)*cos(b) = cos(a+b) + cos(a-b)
)()cos()()(
)cos()()(
)2cos()()()()()cos()(
12
22
21
12
22
21
11
2111
21
1
nennDnC
nnDnC
nDnCnDnCnnS
ifif
ifif
ifif
+++
+
+=
2009 7Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
8/40
DANISH GPS CENTERDemodulation Visualized
fIF
2009 8Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
9/40
DANISH GPS CENTERDemodulation
Code wipe off:
After low-pass filtering (integration):
Received signal amplitude vs. tracking errors
Conclusion: perfectly aligned code and carrierreplicas are required to do demodulation.These replicas can be tracked using twotracking loops.
)()2cos()()()()cos()( 1211
211
1 nenDnDnCnnS ifif ++=
)()()()cos()(1
211
1 nenDInCnnS if +==
iiii
i
ii eDR
N
S
Tf
TfI +
= )cos()(2
)(
)sin(
0
2009 9Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
10/40
DANISH GPS CENTER
Tracking Loop
A way to generate exact copy of the received signal
2009 10Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
11/40
DANISH GPS CENTERWhat does tracking do and
why?
The main goal is to receive the GNSS signalas 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 tracksignal arrival (time) as precise as possible
Advanced receivers can detect multipath to
some extent Additional task can be signal quality
monitoring
2009 11Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
12/40
DANISH GPS CENTERThe Tracking Loop Idea
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 thedata processing task
Repeat procedure
2009 12Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
13/40
DANISH GPS CENTERMain Parts Of A Tracking Loop
F(s)
Filter
Kd
K0
/s
VCO
1(s)
2(s)
e(s)
Tracked
signal
Generated
signal
Error
measurement unit
(called error
detector or
discriminator)
The error measurement Scaling of error used to control
sensitivity to the tracking error
Filter has two
main tasks:To filter noise in
the error
measurements
(due to noise in
the tracked signal)
To shape thetracking loops
response to the
tracking errorSignal generator generates
replica of the tracked signal
?
2009 13Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
14/40
DANISH GPS CENTERTypes Of Tracking Loops
There are 3 main types of the tracking loopsdepending 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 14Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
15/40
DANISH GPS CENTERPlan For The Tracking Topic
PLL (FLL) and DLL are explained in sectionson 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 separatesection as the same theory is used for all
types of tracking loops
2009 15Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
16/40
DANISH GPS CENTER
The Carrier Tracking Loop
The Phase Locked Loop (PLL)
2009 16Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
17/40
DANISH GPS CENTERCarrier Tracking Loop
The goal of the Carrier Tracking Loop is to produce aperfectly aligned carrier replica. The most commonway is to use a PLL:
)cos( +nif)cos()( nnD if
)sin( +nif
Quadrature-
phase arm
In-phase arm
2009 17Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
18/40
DANISH GPS CENTERCarrier Tracking Loop
The demodulation in the In-phase (I) branch:
The demodulation in the Quadrature-phase (Q)
branch:
The I signal:
The Q signal:
)2cos()()cos()()cos()cos()(21
21 ++=+ nnDnDnnnD ififif
)cos()(21 nDI=
)2sin()()sin()()sin()cos()(21
21 ++=+ nnDnDnnnD ififif
)sin()(21 nDQ =
2009 18Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
19/40
DANISH GPS CENTERCarrier Tracking Loop
Costas loop:
)cos()(21 nDI=
)cos( +nif
)cos()( nnD if
)sin( +nif
)sin()(21 nDQ =
2009 19Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
20/40
DANISH GPS CENTERCarrier Tracking Loop
To find the phase error:
Phase
delay
-2)tan(
)sin()(
)cos()(
21
21
==
nD
nD
I
Q
)cos()(
)sin()(tan
21
21
1
nD
nD
=
I
Q1tan=
Q
I
2
2009 20Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
21/40
DANISH GPS CENTERCarrier Tracking Loop
The Costas loop is independent on the phase shifts
caused by the data bits
Phasor diagram: An output example:
-8000 -6000 -4000 -2000 0 2000 4000 6000 8000
-4000
-2000
0
2000
4000
Discrete-Time Scatter Plot
I prompt
Qprompt
Q
I
2009 21Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
22/40
DANISH GPS CENTERCarrier Tracking Loop
Different kinds of phase lock loop discriminators:
Arctan
Much time consuming (not a big problem today)
The output is the real phase error
Sign product
Fast method
The discriminator output is proportional to sin()
I
QD 1tan=
)(IsignQD =
2009 22Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
23/40
DANISH GPS CENTERCarrier Tracking Loop
Different kinds of phase lock loop discriminators:
2009 23Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
24/40
DANISH GPS CENTERCarrier Tracking Loop
Costas loop:
)cos()(21 nDI=
)cos( +nif)cos()( nnD if
)sin( +
nif
)sin()(21 nDQ =
Q
I1tan=
2009 24Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
25/40
DANISH GPS CENTERCarrier Tracking Loop
The signal energy in I and Q when PLL has locked on
the signal:
2009 25Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
26/40
DANISH GPS CENTER
The Carrier Tracking Loop
The Frequency Locked Loop (FLL)
2009 26Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
27/40
DANISH GPS CENTERFrequency Lock Loop
The discrimators are a bit different than inPLL. 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 27Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
28/40
DANISH GPS CENTER
Loop Filters
2009 28Danish GPS Center
Wh Th Filt I N d d
7/29/2019 GPS Loop Mm12_slides
29/40
DANISH GPS CENTERWhy The Filter Is Needed
Anyway?
The error measurement is there, so justcorrect the generator frequency and job is
done, right?
The answer is NO:
There is an error measurement noise (even at goodSNR)
There is a stady state error caused by Doppler
2009 29Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
30/40
DANISH GPS CENTERThe 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 gainK0. The transfer function
is showed in figure b)
The filter coefficients
depend on Kd and K0
F(s)
Phase detector Filter
Kd
K0/s
VCO
1(s)
2(s)
e(s)
u
0
ud
e
a) b)
+
2009 30Danish GPS Center
An Example Of Filter Output
7/29/2019 GPS Loop Mm12_slides
31/40
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
An Example Of Filter Output
vs. Input
0.05 0.1 0.15 0.2 0.25 0.3
-20
-10
0
10
20
30
Time (s)
Amplitude
Filtered PLL discriminator
0.05 0.1 0.15 0.2 0.25 0.3
-0.2
-0.1
0
0.1
0.2
Time (s)
Amplitude
Raw PLL discriminator
2009 31Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
32/40
DANISH GPS CENTER
The C1 and C2 depend
on loop noise bandwidthBL, VCO and PD gainsand loop damping factor.
Damping factor controlshow fast the filterreaches its settle point
Noise bandwidthcontrols the amount of
allowed noise in thefilter
A Simple Digital Loop Filter
2
0
1)(44
81
TT
T
KKC
nn
n
D
++=
z-1
c2
c1
Filterinput
Filteroutput
2
2
0
2)(44
)(41TT
TKK
Cnn
n
D
++=
14
82 +
=
Ln
B
2009 32Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
33/40
DANISH GPS CENTER
2008 Danish GPS Center 33
Determines how much
the loop filter resiststo the control signal: On one hand how fast
the loop will fix thetracking error
On other hand howmuch the loop willovershoot 0 error point
A compromise value isused or few values are
used for differentreceiver modes
Damping Factor
Different loop responses
depending on the damping factor(first 20ms are due to loop filter initialization)
0
20
40
60
80
minatoroutput[]
= 0.
= 0.
= 0. = 0.
= 1.1
7/29/2019 GPS Loop Mm12_slides
34/40
DANISH GPS CENTERNoise Bandwidth
Narrow noise bandwidth decreases noise inthe tracking loop, AND response speed
At 100ms the loop noise bandwidth is
switched from about 100Hz to 15Hz
0 100 200 300 400 500-2600
-2580
-2560
-2540
-2520Carrier frequency offset
Time (ms)
Frequency
offset(Hz)
0 100 200 300 400 500-90
-45
0
45
90PLL discriminator
Time (ms)
Phaseoffs
et[degrees]
2009 34Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
35/40
DANISH GPS CENTERNoise Bandwidth
Loop noise
bandwidth also
determines
maximum
Doppler offset
and ratestolerated by the
loop
Figures show a
case of too biginitial frequency
error in
acquisition
0 50 100 150 200 250 300 350 400 450 500-90
-45
0
45
90PLL discriminator
Time (ms)
0 50 100 150 200 250 300 350 400 450 500-101
-100
-99
-98Carrier frequency offset
Time (ms)
Frequency
offset(Hz)
2009 35Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
36/40
DANISH GPS CENTER
2008 Danish GPS Center 36
The filter is a first order
filter
The tracking loop
(excluding filter) is a
first order system,
therefore the trackingloop is second order
Higher order filters
approximate the error
dynamics better (e.g. tobe used for ships etc.)
Loop Order
z-1
c2
c1
Filter
input
Filter
output
7/29/2019 GPS Loop Mm12_slides
37/40
DANISH GPS CENTERAn Example Of A PLL
=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
2009 37Danish GPS Center
This slide
contents is only
available to the
listeners of our
courses
7/29/2019 GPS Loop Mm12_slides
38/40
DANISH GPS CENTER2-nd Order Loop Responce
2009 38Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
39/40
DANISH GPS CENTER3-rd Order Loop Responce
2009 39Danish GPS Center
7/29/2019 GPS Loop Mm12_slides
40/40
DANISH GPS CENTER
Questions and Exercises
Top Related