PDF - Positioning, Location And Navigation Group

advertisement
POLITECNICO DI TORINO
III Facoltà di Ingengeria dell’Informazione
Corso di Laurea in Ingegneria delle Telecomunicazioni
Tesi di Laurea Magistrale
Codeless Tracking Algorithms for
GNSS Software Receivers
Relatori:
dr. Daniele Borio
prof. Letizia Lo Presti
prof. Gérard Lachapelle
Candidato:
Nicola Linty
Anno accademico 2009-2010
Sommario
I sistemi satellitari globali di navigazione, Global Navigation Satellite Systems (GNSS),
sono sistemi di navigazione e posizionamento che sfruttano segnali trasmessi da una
costellazione di satelliti e contenenti informazioni sulla loro orbita. L’utente, misurando il tempo di trasmissione di questi segnali, può stimare la propria distanza dai
satelliti e quindi calcolare la propria posizione.
I satelliti trasmettono segnali in chiaro, che possono essere utilizzati per applicazioni civili, e segnali criptati, riservati per applicazioni militari. La cifratura è
ottenuta tramite tecniche di spreading (Direct Sequence Spread Spectrum, DSSS)
in cui il codice pseudo-casuale è segreto. Nel particolare caso del Global Positioning
System (GPS), la possibilità di analizzare segnali criptati, come il P(Y), in ambito
civile permette di effettuare misure su due frequenze diverse e quindi di correggere
l’errore introdotto dalla ionosfera. Per questo motivo sono state sviluppate delle
tecniche per l’analisi, anche se parziale, di questo tipo di segnali.
Algoritmi di tracking di tipo codeless, ovvero senza la conoscenza del codice
segreto [25, 28], sono stati proposti in passato per trattare segnali criptati in un
ricevitore GPS, nello stadio denominato tracking, all’interno di un anello ad aggancio
di fase (Phase Lock Loop, PLL). Lo scopo della tesi è di analizzare queste tecniche
nel caso particolare dei segnali P(Y) del GPS. In particolare la tecnica codeless
conosciuta come squaring, che prevede l’eliminazione del codice sconosciuto tramite
l’elevamento al quadrato del segnale, è stata scelta e analizzata.
Gli obiettivi principali della tesi sono riassunti nel seguito:
• Analisi dei risultati presenti in letteratura riguardanti gli algoritmi di tracking
codeless e gli squaring PLL.
• Descrizione e caratterizzazione teorica dell’algoritmo di tracking codeless squaring.
• Determinazione di uno stimatore di massima verosimiglianza per la stima della
frequenza e della fase di un segnale GPS nel caso in cui il codice è sconosciuto.
• Determinazione di un’espressione per la varianza dell’errore nei vari stadi del
PLL e per il tracking jitter.
III
• Simulazioni Monte Carlo di un PLL di tipo codeless per il confronto con il
PLL standard e per la convalida dei risultati teorici.
• Analisi sperimentale su segnali GPS reali per la conferma della validità della
tecnica di tracking codeless squaring descritta.
Il principale problema da affrontare in uno squaring PLL è il peggioramento
della qualità del segnale dovuto all’elevamento al quadrato. Infatti anche il rumore
termico che accompagna il segnale utile all’interno del ricevitore viene elevato al
quadrato e quindi amplificato; inoltre bisogna considerare il doppio prodotto segnalerumore, che si comporta come rumore aggiuntivo. Pertanto le prestazioni del PLL
e del ricevitore sono notevolmente ridotte rispetto al caso standard.
Pur essendo presenti in letteratura descrizioni degli algoritmi di tracking codeless,
un’analisi teorica approfondita del PLL codeless per l’analisi di segnali GPS criptati
è assente. I risultati ottenuti in [28] sono approssimativi e parzialmente incorretti.
In particolare in questi lavori si afferma che in uno squaring PLL il peggioramento
rispetto a un PLL standard è di circa 30 dB−Hz. Al contrario è stato provato
che questo valore non è costante, ma dipende dal C/N0 del segnale in ingresso.
Tuttavia per recuperare questa perdita è possibile aumentare il tempo coerente di
integrazione fino a centinaia di millisecondi, purché la banda equivalente dell’anello
sia sufficientemente bassa da garantire la stabilità del sistema.
Tramite l’analisi del tracking jitter, che rappresenta la propagazione del C/N0
del segnale in ingresso all’interno del PLL, è stato provato che con un tempo di
integrazione pari a 100 ms è possibile effettuare il tracking codeless di segnali con
un C/N0 superiore a circa 45 dB−Hz, garantendo buoni risultati nella maggior parte
dei casi. Questa soglia è stata verificata tramite simulazioni Monte Carlo.
In seguito è stato analizzato il caso di tracking codeless di segnali multicomponente, con due componenti in quadra-fase sulla stessa frequenza. Infatti a causa
dell’elevamento al quadrato si verifica un fenomeno di riduzione della potenza del
segnale, la cui intensità dipende dal rapporto delle potenze delle singole componenti.
Infine è stata effettuata un’analisi sperimentale con dati GPS reali, raccolti presso
il laboratorio di navigazione satellitare dell’Università di Calgary. I risultati del
tracking codeless su dati reali hanno confermato la teoria sviluppata e i risultati
delle simulazioni, verificando ulteriormente la validità della tecnica descritta.
La tesi è stata svolta durante uno stage di 6 mesi presso il gruppo PLAN (Position, Location And Navigation), del dipartimento di ingegneria geomatica della
University of Calgary (Canada). Il gruppo PLAN è coinvolto in numerose attività
di ricerca e sviluppo nell’ambito della navigazione satellitare e inerziale, e dispone di
strumenti hardware e software all’avanguardia. Il gruppo costituisce uno dei centri
di riferimento a livello mondiale in questo ambito.
IV
Contents
Sommario
III
1 Introduction
1.1 GNSSs . . . . . . . . . . . . . . . . . . .
1.1.1 Example of GNSSs . . . . . . . .
1.2 GPS frequency plan and signals . . . . .
1.3 Encrypted signals . . . . . . . . . . . . .
1.4 Benefits of dual frequency measurements
1.5 Thesis motivations and objectives . . . .
1.6 Thesis outline . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Signal and System Model
2.1 The GPS signal . . . . . . . . . . . . . . . .
2.1.1 GPS signal components . . . . . . .
2.1.2 The spreading codes . . . . . . . . .
2.2 Structure of a GPS receiver . . . . . . . . .
2.2.1 Introduction to tracking loops . . . .
2.2.2 The PLL . . . . . . . . . . . . . . . .
2.2.3 PLL linear model . . . . . . . . . . .
2.3 Phase and frequency estimation in a codeless
2.3.1 Signal parameters estimation . . . .
2.3.2 Principles of codeless acquisition . . .
2.3.3 Principles of codeless tracking . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
receiver
. . . . .
. . . . .
. . . . .
3 Functional description of codeless squaring tracking
3.1 General description of the squaring codeless PLL . .
3.1.1 Architecture . . . . . . . . . . . . . . . . . . .
3.1.2 Issues related to squaring . . . . . . . . . . . .
3.1.3 Carrier aiding . . . . . . . . . . . . . . . . . .
3.2 Theoretical characterization of the squaring PLL . . .
3.2.1 Integrate and dump . . . . . . . . . . . . . . .
V
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
2
2
3
4
5
6
.
.
.
.
.
.
.
.
.
.
.
9
9
9
15
18
19
23
26
28
28
32
33
.
.
.
.
.
.
35
36
36
37
37
38
39
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
47
47
49
50
52
54
59
61
65
4 Impact of quadra-phase signals on the same channel
4.1 Multicomponent signal model . . . . . . . . . . . . . . . .
4.1.1 List of orbiting GPS satellites and broadcast signals
4.1.2 Signal model . . . . . . . . . . . . . . . . . . . . .
4.1.3 Power analysis . . . . . . . . . . . . . . . . . . . .
4.2 Simulation analysis . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Software simulated GPS signals . . . . . . . . . . .
4.2.2 Hardware generated GPS signals . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
67
68
68
69
72
74
74
77
.
.
.
.
.
.
.
.
.
.
.
.
81
81
81
83
88
90
90
91
92
94
95
95
97
3.3
3.4
3.2.2 Discriminator Output . . . . . . . . . . . .
Monte Carlo simulations and formulae validation
3.3.1 Variance of the correlator output noise . .
3.3.2 Amplitude of useful signal . . . . . . . . .
3.3.3 Variance of the discriminator output noise
3.3.4 Comparison with standard PLL . . . . . .
3.3.5 Loop performance . . . . . . . . . . . . . .
3.3.6 Loop filter design . . . . . . . . . . . . . .
3.3.7 Tracking jitter . . . . . . . . . . . . . . . .
C/N0 estimation . . . . . . . . . . . . . . . . . .
5 Experimental analysis
5.1 Description of hardware and software tools . . .
5.1.1 GSNRxTM , software receiver . . . . . . .
5.1.2 Spirent GSS 7700, hardware simulator .
5.1.3 NI PXI-5660 Signal Analyzer, front-end .
5.2 Signals used for the experimental analysis . . .
5.2.1 Hardware simulated signals . . . . . . .
5.2.2 Real signals . . . . . . . . . . . . . . . .
5.2.3 Analysis with GSNRxTM . . . . . . . . .
5.3 HW simulated signals tests . . . . . . . . . . . .
5.4 Real signals tests . . . . . . . . . . . . . . . . .
5.4.1 Codeless acquisition . . . . . . . . . . .
5.4.2 Codeless Tracking . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Conclusion
103
A Proofs
A.1 Proofs related to the the
in Section 2.3 . . . . . .
A.1.1 Proof 1 . . . . . .
A.1.2 Proof 2 . . . . . .
105
ML criterion for the codeless cost
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
VI
function
. . . . . . 105
. . . . . . 105
. . . . . . 106
A.2
A.3
A.4
A.5
A.6
Werner Formulae . . . . . . . . . . . . . . . . . . . . . .
Signal component after the I&D . . . . . . . . . . . . . .
Variance of the noise component after the I&D . . . . . .
Uncorrelation of the signal and noise terms at the output
Normalized amplitude of the useful signal . . . . . . . . .
Bibliography
. . . . . . .
. . . . . . .
. . . . . . .
of the I&D
. . . . . . .
107
107
108
109
109
113
VII
List of Tables
3.1
3.2
4.1
4.2
4.3
5.1
5.2
5.3
5.4
Parameters used in the simulations of Section 3.3.1, 3.3.2 and 3.3.3.
Parameters used in the simulations for the tracking jitter in Section
3.3.7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Summary of GPS signal configurations on satellites of different blocks
[15]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Summary of GPS satellite characteristics [24]. . . . . . . . . . . . .
Average received power levels of legacy GPS signals in L1 and L2
bands [19]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Summary of the characteristics of the 1st data set of GPS simulated
signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Summary of the characteristics of the 2nd dataset of GPS simulated
signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Summary of the characteristics of the 3rd data set of GPS simulated
signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Summary of the characteristics of the collected real GPS signals. . .
VIII
. 48
. 63
. 68
. 69
. 72
. 92
. 92
. 93
. 93
List of Figures
1.1
1.2
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
2.10
2.11
2.12
2.13
2.14
2.15
2.16
2.17
2.18
3.1
3.2
3.3
3.4
Legacy GPS signals frequency occupation. . . . . . . . . . . . . . . .
General scheme summarizing the organization of the thesis. . . . . . .
Structure of a GNSS signal. . . . . . . . . . . . . . . . . . . . . . . .
Amplification, down-sampling, filtering and analog to digital conversion in a GNSS receiver front-end. . . . . . . . . . . . . . . . . . . . .
Power spectral density of the noise inside a GNSS receiver. . . . . . .
Example of a PRN spreading sequence with P = 12. . . . . . . . . . .
Spectrum of a generic signal with bandwidth Bs and of the same
signal spread over the bandwidth Bc using a DSSS modulation. . . .
Auto-correlation and cross-correlation functions of a PRN sequence
used for the C/A signal. . . . . . . . . . . . . . . . . . . . . . . . . .
P(Y) encrypted code generation. . . . . . . . . . . . . . . . . . . . . .
Block scheme of a GPS receiver. . . . . . . . . . . . . . . . . . . . . .
Concatenation mechanism of PLL and DLL [6]. . . . . . . . . . . . .
General structure of a tracking loop [6]. . . . . . . . . . . . . . . . . .
The correlation blocks required by a standard DLL. . . . . . . . . . .
General structure of a PLL [6]. . . . . . . . . . . . . . . . . . . . . .
PLL working principle. . . . . . . . . . . . . . . . . . . . . . . . . . .
Output of the loop filter of a tracking loop obtained processing a real
GPS signal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Linear model for the evaluation of performance parameters in a PLL.
Graphical representation of the projection between the incoming signal and its local replica. . . . . . . . . . . . . . . . . . . . . . . . . .
Block scheme of the open loop processing. . . . . . . . . . . . . . . .
Example of output of the open loop analysis of live a GPS signal. . .
Block diagram of the squaring codeless PLL [28]. . . . . . . . . . . .
Squaring PLL scheme with C/A carrier aiding. . . . . . . . . . . . . .
Block scheme of the different stages of a squaring PLL with the different considered quantities. . . . . . . . . . . . . . . . . . . . . . . .
Loss in the noise variance in a squaring PLL with respect to a standard PLL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IX
3
7
11
13
14
15
15
17
18
19
20
21
22
23
24
25
26
31
32
33
36
38
47
48
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
4.1
4.2
4.3
4.4
4.5
4.6
4.7
Theoretical and simulation values for the variance of the noise at the
correlator output of a squaring PLL. . . . . . . . . . . . . . . . . .
Theoretical and simulation results for the normalized signal amplitude
at the correlator output in a squaring codeless PLL. . . . . . . . . .
Theoretical and simulation results for the variance of the phase error
σr2 in a squaring codeless PLL. . . . . . . . . . . . . . . . . . . . . .
Theoretical variance of the phase error in a squaring codeless PLL
with respect to C/N0 and Tc . . . . . . . . . . . . . . . . . . . . . .
Theoretical results for the variance of the phase error σr2 in the case
of squaring and standard PLL. . . . . . . . . . . . . . . . . . . . . .
Values for the integration time in a squaring loop needed to obtain
the same performance of a standard loop for a fixed C/N0 . . . . . .
Correlator and filter outputs of a squaring PLL with Tc = 1 ms,
Bn = 10 Hz, fd = 1764 Hz and for different C/N0 values. . . . . . .
Loop filter output for C/N0 = 45 dB−Hz, fd = 1760.5 Hz and with
different values of the integration time and the loop bandwidth. . .
Discriminator output with different values of the loop bandwidth. .
Output of the loop filter with different loop filter coefficients. . . . .
Theoretical values of the tracking jitter in a codeless PLL. . . . . .
Comparison between theoretical values of the tracking jitter in a standard and in a codeless PLL. . . . . . . . . . . . . . . . . . . . . . .
Comparison between theoretical and simulation values of the tracking
jitter in a squaring PLL, Tc = 10 ms, Bn = 10 Hz. . . . . . . . . . .
Comparison between theoretical and simulation values of the tracking
jitter in a squaring PLL, Tc = 100 ms, Bn = 1 Hz. . . . . . . . . . .
C/N0 estimation algorithm output in the case of a real GPS signal.
Spectrum of a simulated multicomponent GPS signal after squaring,
down-conversion and filtering. Quadra-phase components are characterized by the same power. . . . . . . . . . . . . . . . . . . . . . .
Spectra of GPS simulated multicomponent signals after squaring,
down-conversion and filtering with power levels corresponding to the
nominal values for the L1 and L2 frequencies. . . . . . . . . . . . .
Spectra of a GPS simulated L1 signals after the squaring block. . .
Spectra of a GPS simulated L2 signals after the squaring block. . .
Spectra of GPS simulated multicomponent signals after the squaring
block. The signal components are characterized by the same power.
Spectra of GPS simulated multicomponent signals after the squaring
block. The signal components are characterized by nominal power
levels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spectrum of a simulated GPS L2 signal after the squaring block. Only
the in-phase component is present. . . . . . . . . . . . . . . . . . .
X
. 49
. 50
. 51
. 52
. 53
. 55
. 57
.
.
.
.
59
60
60
61
. 62
. 63
. 64
. 66
. 75
. 76
. 77
. 78
. 79
. 80
. 80
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
5.16
5.17
5.18
5.19
5.20
Screenshot of GSNRxTM during the tracking stage. . . . . . . . . . . 82
The Spirent GSS 7700 signal generator available at the PLAN group. 84
Screenshot of the Spirent signal generator, main interface. . . . . . . 85
Screenshot of the Spirent signal generator, signals settings. . . . . . . 85
Screenshot of the Spirent signal generator, signal components settings. 86
Screenshot of the Spirent signal generator, relative power levels settings. 87
The NI PXI-5660 front-end available in the PLAN group. . . . . . . . 88
Configuration window of the NI PXI-5660 front-end. . . . . . . . . . 89
Configuration adopted for the data collection of hardware generated
signals. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Configuration adopted for the data collection of real GPS signals. . . 91
Skyplot of GPS satellites over Calgary on May 14, 2010, between
12 pm and 1 pm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Correlator output of a squaring PLL processing hardware generated
signals with different power levels on the quadra-phase components. . 94
Correlator output of a squaring PLL processing hardware generated
multicomponent and single component signals. . . . . . . . . . . . . . 95
Spectrum of a real GPS signal in L1, after the squaring block, compared to the reference data obtained from GSNRxTM . . . . . . . . . . 96
Spectrum of a real GPS signal in L2, after the squaring block, compared to the reference data obtained with GSNRxTM . . . . . . . . . . 97
Performance of a standard tracking loop on L1 (signal 31). . . . . . . 98
Performance of a squaring tracking loop on L1 with Tc = 150 ms
(signal 31). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Performance of a squaring tracking loop on L1 with Tc = 400 ms
(signal 30). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Performance of a squaring tracking loop on L1 with Tc = 10 ms (signal
31). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Performance of a squaring tracking loop on L2 with Tc = 200 ms
(signal 32). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
XI
Chapter 1
Introduction
1.1
GNSSs
Global Navigation Satellite Systems (GNSSs) exploit the signals transmitted by a
constellation of satellites at known locations for determining the user position. In
the past, several solutions have been exploited to determine the user position and
include maps, compasses and clocks [10]. These solutions usually provide limited
performance in terms of accuracy or are affected by time dependent errors. Around
1960, the improvements in electronics, as well as developments in space exploration,
led to a new solution: a constellation of orbiting satellites broadcasting signals
providing information about their position and their dynamic model. A receiver
placed on the ground can measure the time of flight of the received signals and
determine its position with an accuracy of the order of 3 – 5 metres, if at least four
satellites are in view [8].
The idea is based on the method of trilateration [22]. The signal transmitted by
the satellite travels at the speed of the light; knowing the propagation time of the
signal it is possible to compute the distance between the receiver and the satellite,
and finally, knowing the position of the satellites, the position of the receiver can be
estimated solving a system of equations.
The main problem of this approach is that an error in time of the order of
milliseconds translates into an error in the position of the order of thousands of
kilometres. Additionally, in order to have an accuracy of the order of metres, receiver
and satellite clocks need to be synchronized with an error of some nanoseconds. This
is the reason why the timing accuracy of GNSSs is an important issue in the design
of these systems.
1
1 – Introduction
1.1.1
Example of GNSSs
There are several GNSSs, developed by different countries, some of them are fully
functional whereas others are under development:
Global Positioning System (GPS), developed mainly for military purposes by
the Department of Defence (DoD) of the USA. It is operational since 1978, it
is at present the main system used by civilian users and a modernization is
on-going.
GLObal NAvigation Satellite System (GLONASS), developed by the Russian Federation, currently operational but under restoration.
Compass, the Chinese navigation system, currently under development.
Galileo, the European Union (UE) and European Space Agency (ESA) system,
under development.
Regional systems, developed by different countries (China, India, Japan) and not
available worldwide.
The main focus of this thesis is on the signals currently broadcast by GPS with
emphasis on the military encrypted signals on the GPS L1 and L2 frequencies.
Although specific focus is devoted to those signals, the considered algorithms are
general and can be applied to other signals the primary spreading code of which is
unknown.
1.2
GPS frequency plan and signals
GPS shares with other GNSSs some bands in the Radio Frequency (RF) plan: in
particular the centre frequencies of the bands used by GPS are
fL1 = 1575.42 MHz ,
fL2 = 1227.60 MHz ,
fL5 = 1176.45 MHz .
(1.1)
The broadcast signals have a bandwidth equal to 24 MHz for L1 and L5 and 20 MHz
for L2 [10].
It is noted that the two main frequencies used by GPS are L1 and L2 where
signals have been broadcast since the beginning of operations. During GPS modernization, the L5 frequency has been added and new civilian signals have been
designed for the L1 and L2 bands. In this thesis, only legacy GPS signals are
considered.
2
1.3 – Encrypted signals
GPS uses a Code Division Multiple Access (CDMA) technique: the L1 and
L2 signals are modulated with spreading codes allowing the identification of each
satellite. The Coarse Acquisition (C/A) and the Precision (P) codes are the main
components currently broadcast in the L1 and L2 bands and are publicly known. The
properties of the encrypted version of the P code, the Precision encrypted (P(Y))
code, are unknown and the signal is reserved for military applications. During
normal operations, the P(Y) code is usually broadcast, whereas the P signal is
reserved for system testing and quality monitoring. The L1 signal contains an
in-phase component modulated by the P(Y) code and a quadrature component
modulated by the C/A signal. The legacy L2 signal contains only the in-phase
component, modulated by the P(Y) code, whereas the new L2 signal, introduced by
GPS modernization, also contains a quadrature component, the L2 Civilian (L2C)
code. A more detailed description of the signal structure and properties of the codes
mentioned above is given in Sections 2.1.2 and 4.1.
The frequency plan of legacy GPS signals is in Figure 1.1.
Phase
component
L2
L1
1227.6 MHz
P(Y)
1575.42 MHz
P(Y)
f
C/A
Quadrature
component
Figure 1.1: Legacy GPS signals frequency occupation.
1.3
Encrypted signals
Several techniques have been developed by the DoD to avoid an authorized user to
exploit all the functionalities of GPS.
Selective Availability (SA) consists of an intentional error added to the signal,
in order to worsen the performance achievable by a civilian user; this feature was
disabled on May 1, 2000 [22]. An Anti-Spoofing (A/S) mechanism was introduced on
January 31, 1994 [1] and is intended to prevent an enemy or a terrorist from spoofing
3
1 – Introduction
the GPS signal, that is to generate a GPS like signal containing false data. When
A/S is turned on, satellites modulate the P code with a secret sequence, generating
the P(Y) code. As a result, civilian users, having no access to the P(Y) code, are
no longer able to despread the in-phase components of both L1 and L2 signals and
consequently, only the L1 C/A signal is directly available. This introduces at least
two limitations in the computation of the position of the user:
• it is no longer possible to use the P modulated signal, that, having a bandwidth
10 times larger than the C/A modulated signal, is 10 times more accurate;
• it is no longer possible to use standard techniques to generate dual frequency
measurements, since the L2 carrier is no longer available.
1.4
Benefits of dual frequency measurements
The main benefit brought by measurements on two different frequencies is the possibility to correct ionospheric effects on the pseudorange and carrier phase measurements [20]. Pseudoranges and carrier phase observations are the main types of
measurements generated by a GPS receiver. Pseudoranges, usually denoted by ρ,
are obtained exploiting the properties of the spreading code and are a measure of the
signal travel time. Carrier phase observations are generated using the properties of
the carrier wave used to up-convert the broadcast signal. Carrier phase observations
are a measure, up to an integer number of wavelengths, of the travel time [22].
The ionosphere is a layer of the Earth atmosphere that introduces a delay in
the received signal. This delay is inversely proportional to the square of the carrier
frequency and can be modelled as
ρi = A/fc2 ,
(1.2)
where A is a constant related to the number of free electrons in the path covered by
the GPS signal and fc is the carrier frequency. In Eq. (1.2), the delay ρi is expressed
in units of metres. The conversion is obtained multiplying the delay in seconds by
the speed of light. A is strongly dependent on the time of the day, on the solar
activity of the sun and on the length of the signal path inside the ionosphere that,
in turn, depends on the elevation of the satellite. Dual frequency measurements
allow one to estimate this parameter.
Although the proof provided in the following is derived for pseudorange measurements, it can be directly applied to carrier phase observations. Considering
pseudorange measurements obtained from two different frequencies, for example
from fL1 and fL2 , the following system of equations is obtained:
(
2
ρL1 = ρ + A/fL1
(1.3)
2
ρL2 = ρ + A/fL2
4
1.5 – Thesis motivations and objectives
where ρ is the true pseudorange. System (1.3) can be solved, leading to the following
expression for the iono-free pseudorange:
ρ = ρL1
2
2
fL1
fL2
−
ρ
.
L2
2
2
2
2
fL1
− fL2
fL1
− fL2
(1.4)
When carrier phase measurements are used instead of code delay measurements,
the availability of dual frequency observations facilitates the process of ambiguity
resolution. More specifically, carrier phase measurements are obtained by measuring
the phase of the incoming signal. This phase can be measured only modulo 2π, i.e.,
it is not possible to directly determine the number of cycles (wavelengths) that
the carrier wave has described when transiting from the satellite to the user. The
process of determining the integer number of cycles described by the signal carrier
is called ambiguity resolution and it is essential for precise positioning based on
carrier phase observations [22]. In these applications it is useful to work with large
equivalent wavelengths in order to reduce the possibility of wrongly determining the
carrier phase ambiguity. Having access to an L2 signal allows one to combine dual
frequency phase observations, characterized by and equivalent frequency equal to
fL1 − fL2 . For this type of combined observations it is possible to resolve the integer
ambiguity more easily.
1.5
Thesis motivations and objectives
In order to exploit all the advantages of P code modulated signals and dual frequency
measurements, several techniques have been developed to access these signals even
if the code is unknown. These methodologies allow the processing of GNSS signals
without the knowledge of the spreading sequence (codeless techniques) or with a
partial information about the spreading code (semi-codeless techniques).
The objectives of this thesis can be summarized as follows:
• Review of existing codeless tracking techniques. Among the different codeless and semi-codeless techniques, the thesis focuses on the codeless
squaring technique [11, 25, 28];
• Theoretical characterization. Although the degradation in terms of signal
tracking performance has been empirically determined by Woo [28], a comprehensive theoretical framework allowing the analytical characterization of
codeless tracking techniques is still missing in literature. Thus, one of the
main goals of this thesis is to provide a theoretical expression for the tracking
jitter of codeless techniques. The tracking jitter quantifies the portion of noise
transferred from the input signal samples to the final observations generated
by a GPS receiver [6];
5
1 – Introduction
• Algorithm implementation and empirical characterization of the considered tracking techniques. The codeless squaring Phase Lock Loop
(PLL) is implemented in Matlab and Monte Carlo simulations are used to
evaluate the different metrics used for characterizing the receiver performance.
These results are compared against the results relative to a standard PLL [3];
• Comparison of theoretical and empirical results. The results obtained
from the theoretical and empirical characterization are compared, showing the
validity of the proposed theory. An analysis on real GPS data is performed to
assess the validity of codeless squaring PLLs.
1.6
Thesis outline
The remaining of this thesis is organized as follows.
• Chapter 2 briefly summarizes the structure of the GPS signal, the modulations present in the L1 and L2 bands including the C/A, P and P(Y) signals.
The basic theory of a GPS receiver and of tracking loops is summarized with
specific focus on PLLs. Then the theory of phase and frequency estimation
in a codeless receiver is developed, leading to an expression for the Maximum
Likelihood Estimator (MLE) and to its implementation in codeless acquisition
and tracking.
• In Chapter 3 a literature review on the squaring codeless technique is presented. A functional description of the technique is provided, deriving an
expression for the noise variance at the PLL discriminator output and for the
tracking jitter. The results are then evaluated exploiting a Monte Carlo model
and compared with the standard PLL case;
• Chapter 4 deals with multicomponent GPS signals: the impact of signals
with quadra-phase components in a codeless PLL is analyzed. Hardware and
software simulated signals are considered to support the results obtained in
the different signal configurations;
• In Chapter 5 the theoretical results discussed in the previous chapters are
validated exploiting real GPS data. At first a description of the hardware
and software devices adopted for the different experiments is provided. Real
signals are used to test the performance of a squaring codeless PLL.
• Chapter 6 presents some conclusions and suggestions for future works on the
topic.
6
1.6 – Thesis outline
A schematic summary of the thesis outline and the of interdependencies of the
different chapters is shown in Figure 1.2.
Thesis
organization
Introduction
Chapter 1
The GPS
signal model
The receiver
and the PLL
The codeless
MLE
Literature
review
Signal model
Theoretical
characterization
Monte Carlo
Simulations
Monte Carlo
simulations
Acquisition
analysis
Chapter 3
Multicomponent signals
Single component signals
Chapter 2
Chapter 4
Real data
processing
Tracking
analysis
Chapter 5
Further
suggestions
Conclusions
Figure 1.2: General scheme summarizing the organization of the thesis.
7
Chapter 2
Signal and System Model
The first part of this chapter describes the structure of legacy GPS signals and their
components; particular attention is given to the spreading codes used to modulate
the signal. The second part deals with the basic theory of tracking loops used in
GNSS receivers with specific focus on the PLL and its linear model; the concepts
of phase error and tracking jitter are introduced. Finally, frequency and phase
Maximum Likelihood (ML) estimators are derived in the case where the spreading
code is unknown. This leads to the cost function that is optimized by codeless
receivers. Codeless acquisition and tracking are then derived from this optimization
criterion.
2.1
2.1.1
The GPS signal
GPS signal components
The signal transmitted by GNSS satellites must satisfy several requirements. First of
all, it must allow the user to estimate his distance from the satellite, defined pseudorange. The prefix pseudo is used to indicate that range measurements can be affected
by a bias due to clock synchronization errors between receiver and transmitter. The
transmitted signal must also carry data containing useful information about the
satellite position and velocity. Moreover, it has to be robust against interference,
multipath, atmospheric distortions and other types of errors. Finally, it must allow
the identification of each satellite in a unique way. CDMA signals modulated using
Pseudo-Random Noise (PRN) sequences accomplish these requirements and have
been thus chosen for navigation purposes. Legacy GPS signals and they components
are detailed in the following.
9
2 – Signal and System Model
The analog signal transmitted by a GNSS satellite can be modelled as:
s(t) =
L
X
yi (t)
(2.1)
i=1
where, yi (t) are the different signal components. In the case of the legacy GPS
signals, L = 3 and y1 (t), y2 (t) and y3 (t) are the C/A, L1 and L2 P(Y) components,
respectively. Modernized GPS satellites will broadcast a higher number of signals.
As shown in Figure 2.1, each signal component, yi (t), consists of three different
terms:
p
(2.2)
yi (t) = 2Pi · di (t) · ci (t) · cos (2πfRF,i t + ϕi ) ,
where
• Pi is the power of the i-th component;
• di (t) is the navigation message, containing the GPS time, the satellite
ephemeris and health status and the almanacs. The navigation message consists of a sequence of Binary Phase-Shifting Key (BPSK) modulated bits with
a 50 bps rate in the case of legacy GPS signals [22];
• ci (t) is the spreading code, used for modulating the navigation message.
Each component is modulated by different spreading codes, some of them
public (C/A, P), some others encrypted or secret (P(Y));
• cos (2πfRF,i t + ϕi ) is the carrier, used to up-convert the baseband GPS signal to RF. In Eq. (2.2), fRF,i is used to denote the RF frequency equal to
1575.42 MHz for the L1 band and 1227.6 MHz for the L2 frequency, as reported in Eq. (1.1). ϕi is phase term used to indicate if the signal component
has been broadcast in-phase or quadrature. For example, the L1 and L2 P(Y)
signals are broadcast in-phase, with ϕi = 0◦ whereas the C/A component on
L1 is broadcast in quadrature, with ϕi = 90◦ .
The signal received by a GNSS receiver is given by the superposition of K useful
signals of the form of Eq. (2.1) and a noise term (denoting with K the number of
satellites in view). Each useful signal, s(t), passes through a communication channel
that modifies the received signal. At first a delay, usually referred as code delay is
introduced. This delay is proportional to the distance between the satellite j and the
receiver and affects both the navigation message and the code. For the same reason,
a phase term is introduced in the carrier. In addition, because of the relative motion
between the user and the satellite, the central frequency of the signal is affected by
the Doppler effect. Since each satellite is in a different position and has a different
10
2.1 – The GPS signal
+1
+1
+A
−1
−1
−A
di (t )
y i (t )
cos ( 2π f RF ,i t + ϕi )
c i (t )
+1
+A
−1
−A
Figure 2.1: Structure of a GNSS signal yi (t). Three components can be identified: the navigation message di (t), the code ci (t) and the carrier
cos (2πfRF,i t + ϕi ).
relative velocity with respect to the user, the code delay and the Doppler frequency
are different for each Satellite Vector (SV).
Thus, the signal at the receiver input, usually called Signal-In-Space (SIS), can
be modelled as
r(t) =
K
X
s̃j (t) + η(t) =
j=1
K X
H
X
ỹi,j (t) + η(t)
(2.3)
j=1 i=1
where s̃j (t) denotes the signal s(t) after passing through the communication channel
and broadcast by the j-th satellite and η(t) is the thermal noise assumed to be
Additive White Gaussian Noise (AWGN). In Eq. (2.3), each signal, s̃j (t), is given
by
H
X
s̃j (t) =
ỹi,j (t)
(2.4)
i=1
that is the linear combinations of H useful components. In general H =
/ L since
some of the transmitted components could not be recovered by the receiver. For
example, a single frequency GPS receiver just ignores the L2 signal component; in
this case H = 2. Each signal component, ỹij (t), can be modelled as [6]:
p
(2.5)
ỹij (t) = 2Cij dij (t − τij ) cij (t − τij ) cos 2π fRF,i + fdij t + ϕi + φij
where
• Cij is the received signal power;
11
2 – Signal and System Model
• τij is the code delay introduced of the i-th components of the signal broadcast
by the j-th satellite;
• fdij is the Doppler frequency shift;
• φij is the carrier phase introduced by the channel.
Because of the quasi-orthogonality of the signals broadcast by the different satellites and of the different components, the receiver is able to process each signal component, ỹij (t), independently [22]. For this reason, the indexes i and j are removed
in the following and a single component signal is considered. Quasi-orthogonality derives from the good correlation properties of PRN sequences, as discussed in Section
2.1.2.
When dealing with codeless techniques, the code quasi-orthogonality cannot be
used for separating the different signal components. However, each signal received
from a specific satellite is characterized by a specific Doppler frequency. The receiver
already has a raw estimate of this Doppler frequency, for example because initialized
using the C/A code, and thus each signal is isolated and processed independently
based on its Doppler frequency. Signal components from the same satellite and at
the same centre frequency cannot be separated on the basis of the Doppler frequency.
Thus, the assumption of the model described above is violated. This violation and its
implications on codeless tracking are analyzed in Chapter 4 where a multicomponent
model will be considered.
Down-conversion and digitization
The first stage of a GNSS receiver consists of the signal conditioning that transforms
the RF signal of Eq. (2.3) into an Intermediate Frequency (IF) digital sequence. The
steps required for generating this digital sequence are shown in Figure 2.2. The signal
is usually too weak to be processed and needs to be amplified; a Low Noise Amplifier
(LNA) is used to limit the amount of noise. Moreover the frequency of the carrier,
fRF , is too high to allow any processing. Therefore the signal is down-converted to
IF, at the frequency fIF through a mixer, i.e. by multiplying the incoming signal
by a locally generated sinusoid at a frequency fLO , where fLO = fRF − fIF . It has
to be noted that also the noise part η(t) is multiplied by the local sinusoid, but the
resulting term is still a white Gaussian noise with the same variance. Then the signal
is filtered to remove the high frequency term generated during the multiplication,
and assumes the form:
√
(2.6)
rIF (t) = 2Cd (t − τ ) c (t − τ ) cos [2π (fIF + fd ) t + ϕ] + ηIF (t) .
In Eq. (2.6), ϕ includes the effect of the channel and the initial phase offset broadcast
by the satellite. ηIF (t) is the down-converted noise term.
12
2.1 – The GPS signal
fs
r [ n]
r (t )
f LO
~
Figure 2.2: Amplification, down-sampling, filtering and analog to digital conversion in a GNSS receiver front-end.
At this point, the signal is still in its an analog form and has to be converted
into digital samples; an Analog-to-Digital (A/D) converter is used at this step, with
a sampling frequency fs = 1/Ts , leading to the digital version of the signal1 :
r[n] =
√
2Cd (nTs − τ ) c (nTs − τ ) cos [2π (fIF + fd ) nTs + ϕ] + ηIF [n] .
(2.7)
In the following, in order to simplify the notation, it is assumed fD = fIF + fd ,
denoting with fD the frequency of the sinusoid; this term also includes the oscillator
clock drift. In the following this oscillator error will be always assimilated to the
Doppler frequency of the signal.
In the expressions above real signals are considered. More specifically, it has been
assumed that the receiver front-end uses a real sampling technique [22] to generate
the digital sequence reported in Eq. (2.7). It is noted that it is possible to use a
different down-conversion/sampling technique, called in-phase/quadrature sampling
[22]. This technique produces a baseband complex signal in the form
√
r[n] =
2Cd (nTs − τ ) c (nTs − τ ) ej2π(fIF +fd )nTs +ϕ + ηIF [n] .
(2.8)
In the following, both signal models, real and complex, will be used.
The thermal noise, ηIF
The performance of a GPS receiver strongly depends on how much noise affects
the useful signal. The noise can either come from the outside environment and be
captured by the antenna (interference), or being generated by the electronic devices
inside the receiver (thermal noise) [13]. This results in a random process that is
usually modelled as a white Gaussian noise, with a flat power spectral density equal
to N0 /2 W/Hz, as shown in Figure 2.3. The total power of the noise at the output
1
In the following the notation r(nTs ) = r[n] is sometimes used to denote the sampled signal
13
2 – Signal and System Model
of the IF stage is then
Z
BIF
Pη =
−BIF
N0
N0
= 2BIF
= N0 BIF .
2
2
(2.9)
where BIF is the receiver bandwidth.
PSD
N0 / 2
− BIF
BIF
f
Figure 2.3: Power spectral density of the noise inside a GNSS receiver.
The C/N0
An important parameter to measure the quality of a GNSS signal in is the Carrierto-Noise density power ratio (C/N0 ). The total power received by the antenna, as
stated by the Friis transmission formula [18], depends on the satellite transmitted
power, the satellite antenna gain, the receiver antenna gain, the free-space losses
and the attenuations of the channel. It is denoted with C and in the case of GNSSs
is in general very low; for the GPS L1 C/A signal the typical receiver power is
approximately −160 dBW [6]. Therefore, the ratio between the received power of
the signal carrier and the noise power introduced in the previous paragraph in a
1 Hz bandwidth can be assumed as measure of the quality of the signal and is called
C/N0 [13].
The C/N0 , despite being a ratio, is expressed in logarithmic terms and its unit
of measures is:
[C] W C =
=
= Hz|dB = dB−Hz
(2.10)
N0 dB
[N0 ] dB
W/Hz dB
The usual value for the C/N0 in normal GNSS applications is around 40 − 45 dB−Hz
[6], but this is strongly dependent on the quality of the receiver and on the environment, such as the weather conditions, the elevation of the satellite, the position of
the receiver with respect to the satellites and the type of signal considered. Standard
GNSS receivers can handle signals the C/N0 of which is in the range 35 − 53 dB−Hz.
High-sensitivity receivers can process weaker signals.
14
2.1 – The GPS signal
2.1.2
The spreading codes
Several GNSSs use Direct-Sequence Spread Spectrum (DSSS) modulation techniques. The idea is to spread the signal over a wider bandwidth, by multiplying
it by a periodical PRN binary sequence, called spreading code, c(t), and known by
both sender and receiver [7]. A spreading sequence of length P is made by P pulses
of amplitude +1 or −1, called chips. Therefore the chip length, tb , is the duration
of a single chip and the code length is equal to P · tb , as depicted in Figure 2.4. The
chipping rate is the frequency of a chip, 1/tb .
P ⋅ tb
+1
t
−1
tb
Figure 2.4: Example of a PRN spreading sequence with P = 12.
By multiplying the original signal, d(t), by a spreading code, the bandwidth of
the signal increases because of the high chipping rate of the PRN code. In this way,
the power of the original signal is spread over a wider bandwidth, giving a stronger
resistance against interference, multipath and jamming. In Figure 2.5 the spectrum
of the original signal is shown. It is characterized by a bandwidth BS . When the
same signal is modulated by a spreading code, its bandwidth becomes BC .
BS
f
BC
Figure 2.5: Spectrum of a generic signal with bandwidth Bs and of the same signal
spread over the bandwidth Bc using a DSSS modulation.
Moreover, most of PRN sequences, among which Gold codes, used in GPS, exhibit good correlation properties [10]. The correlation is a measure of the similarity
between two sequences, that in this case are represented by the PRN sequences. In
15
2 – Signal and System Model
particular the normalized cyclic cross-correlation measures the similarity between
two different sequences cyclically shifted with respect to each other; it is defined as
[10]
P
1 X Rx,y (l) =
x p y (p + l) mod P ,
(2.11)
P p=1
where P is the length of the sequences, x is the first sequence and y is the second
sequence. The normalized cyclic auto-correlation measures the similarity between a
sequence and a shifted version of itself and it is defined as [10]
Rx (l) =
P
1 X x p x (p + l)
P p=1
mod P .
(2.12)
Good PRN sequences are characterized by an auto-correlation equal to 1 for l = 0,
i.e., when the two sequences are perfectly aligned, and with very low values (ideally
equal to zero) for the other values of l. The auto-correlation of a C/A signal is shown
in Figure 2.6(a). In addition to this, a good PRN code should have very low (ideally
equal to zero) cross-correlation values when correlated with a sequence from the
same family. This property is shown in Figure 2.6(b). These properties introduce
two important consequences: since the cross-correlation between different sequences
is low, it is possible to share the communication channel between several users, each
one distinguished by a different PRN sequence, and then to isolate the signal coming
from a single user (CDMA despreading). Moreover since the auto-correlation has a
strong peak, it is possible to measure the delay between the incoming sequence by
correlating it with a local replica of the incoming signal. This delay corresponds to
the transit time of the signal, modulo the code period, that can be converted into a
pseudorange.
Thus, the use of PRN sequences in the GPS signal leads to several important
benefits:
• resistance to jamming, interference and multipath;
• sharing of the channel between several satellites;
• determination of the transit time of the signal.
The C/A signal
The Coarse Acquisition (C/A) is the signal mainly used for civilian applications
and it is characterized by a 1023 chips long periodic sequence with chipping rate
equal to 1.023 MHz. Therefore an entire period of the code lasts 1 ms [15]. The
16
2.1 – The GPS signal
0.2
1
0.8
0.1
R(l)
R(l)
0.6
0.4
0.2
0
−0.1
0
−0.2
−500
0
l (chips)
500
(a) Auto-correlation
−0.2
−500
0
l (chips)
500
(b) Cross-correlation
Figure 2.6: Auto-correlation and cross-correlation functions of a PRN sequence
used for the C/A signal.
GPS C/A signal belongs to a family of PRN codes, known as Gold codes. A Gold
code is a binary sequence characterized by the good correlation properties described
before and easily obtainable using two shift registers. Figure 2.6(a) shows the autocorrelation of a PRN sequence used in GPS, normalized to the unitary value; as
expected there is a peak at l = 0, i.e., when the two sequences are perfectly aligned,
and low correlation values elsewhere. It can be proved that these values are equal
to −65/1023, −1/1023 and 63/1023 [10]. Likewise, Figure 2.6(b) shows the crosscorrelation between two different PRN sequences; the values are quite close to zero
everywhere, exactly equal to −65/1023, −1/1023 and 63/1023 [10].
The C/A signal is used in military applications as a first step to get coarse
parameters, subsequently refined using the P code, and in civilian applications to
obtain the final estimate of the position, being the only publicly available code at
present.
The P signal
The Precision (P) signal has a chipping rate equal to 10.23 MHz and it is generated
combining four pseudo-random codes generated by shift registers. It is more than
38 weeks long, but it is divided into 38 one-week long sub-codes, 32 of which are
assigned to different satellites. The short duration of a chip (0.1 µs) allows a very
accurate time resolution [15].
17
2 – Signal and System Model
The P(Y) signal
When A/S mode (Section 1.3) is on, satellites transmit an encrypted version of the
P code, obtained modulating it with an unknown code. The encrypted version is
usually denoted Precision encrypted (P(Y)) code or Y code and is obtained adding
modulo-2 an additional pseudo-random binary sequence to the P code. This additional sequence is called W code (or sometimes A code) and it is unavailable to
civilian users. The encryption process is shown in Figure 2.7.
P code
W code
Y code
0
20
40
60
80
time (chips)
Figure 2.7: P(Y) encrypted code generation: the lower rate W code is modulo-2
added to the P code.
The W code is secret; however some measurements taken using high gain dish
antennas revealed that its chipping rate is approximately 20 times lower than the
P code chipping rate, and so approximately equal to 500 kHz [29]. This additional
information, exploited in semi-codeless techniques, leads to significant tracking improvements.
2.2
Structure of a GPS receiver
A standard GNSS receiver has to accomplish several different functions, from the
acquisition of the signals to the computation of the user’s position. In the following
a generic receiver is described, focusing the attention on the tracking stage.
As shown in Figure 2.8, the main blocks present in any GNSS receiver are:
• the RF front-end, that amplifies, filters, down-converts and digitizes the
signal coming from the antenna, as explained in Section 2.1.1. This step is
fundamental to generate digital samples that can be easily processed by the
subsequent blocks. In particular the preamplifier amplifies the signal, that is
too weak to be processed. Secondly, the band-pass filter filters the signal in
the band of interest, in order to reject out of band components and to reduce
the noise content. Then the down-converter brings the RF signal down to an
IF, and finally the A/D converter samples and quantizes the signal, creating
a digital signal in the form of Eq. (2.7).
18
2.2 – Structure of a GPS receiver
antenna
channel 1
tracking
RF
front-end
channel 2
tracking
acquisition
NAV
PVT
…
channel K
tracking
Figure 2.8: Block scheme of a GPS receiver.
• the acquisition stage, that determines the satellites in view (sky search) and
provides a first rough estimate of the signal parameters, i.e., the code delay
and the Doppler frequency, for each satellite. It implements the global search
method, described in Section 2.3.2, consisting in considering any couple of code
delay and Doppler frequency inside a grid, evaluating their correlator output,
and and determining the signal presence if the correlator output passes a
decision threshold.
• the tracking stage, that refines the estimates of the signal parameters provided by the acquisition stage. In fact these parameters are not accurate
enough to be used for positioning and navigation; moreover the phase information is ignored by the acquisition stage and all these parameters change over
time. The tracking stage gives a fine estimate of the code delay, the Doppler
frequency and the carrier phase, and it dynamically follows their variations.
A more detailed description of the tracking is given in Section 2.2.1;
• the navigation solution block, that evaluates the user’s position and velocity
from the pseudoranges and the navigation data. The pseudoranges, obtained
by converting the code delay into distances, give the position of the user,
whereas the velocity is obtained converting the information on the Doppler
frequency. The navigation data are extracted from the signal navigation message.
2.2.1
Introduction to tracking loops
A standard tracking stage consists of two concatenated loops, called tracking loops.
They are used for tracking the quantities to be estimated: the code delay τ , the
carrier phase ϕ and the frequency fD , and they are called Delay Lock Loop (DLL)
and Phase Lock Loop (PLL), respectively. In certain applications, a Frequency Lock
Loop (FLL) can be used instead of the PLL. Alternatively, FLL and PLL can be
19
2 – Signal and System Model
used in sequence or in a FLL-assisted-PLL configuration [27]. In the first case, the
receiver uses the FLL to reduce the frequency uncertainty before switching to PLL.
In the second case the loops work cooperatively.
The two loops are strictly interrelated and they work in a concatenated way, as
shown in Figure 2.9. More specifically, the DLL is used to reproduce a local version
of the spreading code that is removed from the incoming signal before entering the
PLL (code wipe-off). In this way, a pure carrier is found at the input of the PLL.
In a similar way, the PLL is used to generate a local version of the signal carrier
that is down-converted to baseband. In this way, a noisy baseband binary sequence
enters the DLL (carrier wipe-off).
PLL
fˆd
DLL
τˆ
Figure 2.9: Concatenation mechanism of PLL and DLL [6].
More specifically, a cost function that depends on the type of tracking loop
is iteratively maximized/minimized. If the initial estimates of the parameters are
sufficiently good and the input signal is not dominated by noise, a tracking loop can
converge and provide, at each iteration, a better estimate of the delay τ̂ and of the
Doppler frequency fˆd , by processing the correlator outputs. In particular the DLL,
by maximizing the correlation between the incoming signal and the local replica of
the code, gives an estimate of the code delay τ̂ , whereas the PLL, by minimizing
the phase difference between the incoming signal and the local replica of the carrier,
gives an estimate of the Doppler frequency, fˆd , and carrier phase.
Figure 2.10 shows the basic block model of a tracking loop. The input signal is first correlated with a local code/carrier, coming from the DLL/PLL and
then correlated with a local carrier/code, generated by the Numerical Controlled
Oscillator (NCO). After that, the signal enters a correlator bank, composed by a
different number of correlators, depending on the type of tracking loop. A nonlinear discriminator extracts from the correlators the quantity to be tracked, in
the case of GNSS the phase or the delay. Then a loop filter improves the estimate
of this quantity and finally a new local carrier/code is generated according to the
new phase/delay estimate. A detailed description of these blocks is given in the
following.
20
2.2 – Structure of a GPS receiver
Correlator
bank
Input signal
1
∑ (•)
N
Non-linear
discriminator
Loop
filter
DLL /
PLL
NCO
Figure 2.10: General structure of a tracking loop [6].
The correlator
The input signal of a tracking loop comes directly from the front-end and is reported
in Eq. (2.7).
After multiplying the incoming signal by the local carrier and code, the signal is
accumulated over a certain time duration, denoted coherent integration time. This
operation reduces the noise components and allows one to accumulate coherently
the signal samples. This is the correlation that is the projection of the incoming
signal over its local replica [6]. The local replica is generated by the NCO of the
loop, using as parameter the output of the loop filter. Therefore in the PLL the local
replica is a carrier, with central frequency equal to the sum of fIF and the estimate
of the Doppler frequency, whereas in the DLL, three different time shifted versions of
the code, denoted Prompt (P), Early (E) and Late (L), are considered. These three
local code replicas are required for evaluating an approximation of the derivative of
the correlation function that is maximized using a gradient ascent approach.
The output of the correlator block gives a measure of how similar the incoming
signal and the local replica are. In the case of the PLL the output contains information on the phase difference between incoming and local carrier, whereas in the
case of DLL the three outputs contain information on the code delay.
The coherent integration time, Tc , usually lasts 1 ms to 20 ms and corresponds to
N samples. It has to be noted that after integration, the rate of the loop is reduced
by a factor of N , from the sampling frequency fs to fc = 1/Tc = fs /N . This last
block is usually called Integrate and Dump (I&D).
Figure 2.11 shows the correlation mechanism for the DLL. The case of PLL is
similar, but only the P correlator is required.
21
2 – Signal and System Model
1
∑ (•)
N
1
∑ (•)
N
1
∑ (•)
N
PLL
E
P
N
N
N
L
Code generator
NCO
Figure 2.11: The correlation blocks required by a standard DLL.
The non-linear discriminator
A non-linear discriminator is applied to the output of the I&D, to extract useful
information on the quantity to be tracked. In particular, the discriminator evaluates
an error function of the residual delay and phase error. At each iteration, the loop
tries to drive to zero this error maximizing or minimizing an error function.
The type of discriminator changes according to the type of loop, to the quantity
to be tracked and the computational capabilities of the device. PLLs use a phase
discriminator, able to extract the phase difference between the input and local signal.
Further details on the phase discriminators are given in the following.
DLL discriminators are a function of the three outputs of the I&D, that are the
E, P and L correlators, and give as output a quantity proportional to the delay of
the code in the incoming signal with respect to the local signal.
The loop filter
A loop filter is used to improve the delay/phase estimate, reducing the noise present
at the output of the discriminator, and to follow the signal dynamics. Although
in origin loop filters were analog devices, currently most of them are digital. The
main parameters of the filters are the order and the noise bandwidth. The order
determines the ability of the filter to respond to different types of dynamics: a filter
of the first order is sensitive to velocity, a filter of the second order is sensitive
to acceleration and a filter of the third order is sensitive to jerk [6]. The noise
bandwidth, denoted Bn , is a property of the whole loop that is approximated by a
linear device (filter). The loop acts a low-pass filter and the bandwidth corresponds
to its cut-off frequency: a low bandwidth leads to a good filtering, with a high
amount of noise filtered, but requires that the dynamics of the signals are not too
22
2.2 – Structure of a GPS receiver
much large. Although Bn is a property of the whole loop, it is essentially determined
by the coefficients of the loop filter and can thus be used as a design parameter for
the filter.
The coefficients of the filter are usually found designing the filter in the analog domain and successively obtaining its digital counterpart using transformation
methods, such as the bilinear transform or the step invariant transform [6].
The NCO
The final block in a tracking loop is the NCO, that generates a local replica of carrier
and of code, used in the correlator block. During the first iteration of the loop it uses
the information on the Doppler frequency and on the code delay coming from the
acquisition stage, whereas after that it uses the information coming from the loop
filter, closing the loop. It has to be noted that the NCO performs an over-sampling,
because it receives information at the frequency of the loop fc , and creates a code
and a carrier with samples at the sampling frequency fs = N fc .
2.2.2
The PLL
The main topic of this thesis is codeless tracking. In this case, the DLL is not used
and the code is removed by squaring. For this reason, only the PLL is detailed
in the following. A codeless PLL is slightly different from the standard PLL described below. The knowledge of the standard PLL is however a prerequisite for
fully understanding the functioning of a codeless PLL.
The general structure of a standard PLL is shown in Figure 2.12; it is possible
to recognize all the elements described in the previous section.
Input signal
Integrate & Dump
Discriminator
1
∑ (•)
N
atan 2 (i)
Loop
filter
DLL
F( z )
NCO
Figure 2.12: General structure of a PLL [6].
As already said, the objective of the PLL is to minimize the phase difference
between the incoming and the locally generated carrier. This is achieved by adjusting
23
2 – Signal and System Model
the frequency of the local oscillator to match the frequency of the input signal. In
Figure 2.13 the two sinusoids are characterized by an initial phase difference and a
different frequency; by changing the frequency of the local replica, it is possible to
recover this error and to perfectly align the sinusoids, leading to a phase difference
ideally equal to zero.
1
Phase difference
0.8
0.6
Amplitude
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0.5
1
1.5
2
2.5
Time
Figure 2.13: PLL working principle: two sinusoids characterized by an initial
phase difference and different frequencies are aligned by adjusting
the frequency of the locally generated wave.
Assuming that the code delay is perfectly estimated and the code wiped off from
the input signal, the signal entering the PLL contains only the carrier component.
This signal is then correlated with the local carrier generated in the NCO and a
waveform containing only a component related to the phase error ∆ϕ is obtained.
The phase information is extracted by the discriminator.
Several types of discriminators can be used: pure PLL discriminators, that are
sensitive to bit transitions, i.e., to transitions in the phase of the signal equal to 180◦ ,
and Costas loop discriminators, insensitive to bit transitions. The usual Costas loop
discriminator, corresponding to the MLE for the phase error, is the arctangent of
the ratio between the imaginary and real part of the correlator output scorr :
∆ϕ̂ = arctan
24
scorr,Q
.
scorr,I
(2.13)
2.2 – Structure of a GPS receiver
The most exploited pure PLL discriminator, used when there are no data bits, is the
four quadrant arctangent, that is able to take into account the angles in the phase
full range [−π, + π]:
∆ϕ̂ = arctan2 (scorr,Q ,scorr,I ) .
(2.14)
Other discriminators can be obtained from the previous ones by approximating them
for example with Taylor or Euler expansions.
The loop filter gives as output a rate of change of the phase, and the frequency
of the local carrier replica in the NCO is finally increased or decreased according to
this parameter.
-1730
Doppler frequency shift (Hz)
-1735
-1740
-1745
-1750
-1755
-1760
0
500
1000
1500
2000 2500
Epochs
3000
3500
4000
Figure 2.14: Output of the loop filter of a tracking loop obtained processing a real
GPS signal.
In Figure 2.14 an example of output of the loop filter is depicted. After some
oscillations, required to recover the initial frequency uncertainty from acquisition,
the loop filter output converges to the correct frequency value. It is interesting to
note that after 1800 epochs data bit synchronization is achieved and the integration
time is increased from 1 ms to 20 ms, that is the duration a GPS C/A code data bit.
Therefore the correlation is made over a greater number of samples and the phase
error is significantly reduced.
25
2 – Signal and System Model
Codeless and semi-codeless PLLs are slightly different because the code component is removed from the signal before entering the tracking loop through operations
such as squaring.
2.2.3
PLL linear model
In general, a PLL is a non-linear device and its performance is difficult to evaluate because of the presence of the non-linear discriminator. However, approximate
results can be obtained using a linear model representing the PLL in the phase
domain. The scheme of the linear model for a PLL is shown in Figure 2.15, where
N
ϕ
∆ϕ
i
i
i
Gd
ϕˆ
i
F( z )
NCO
Figure 2.15: Linear model for the evaluation of performance parameters in a PLL.
• ϕi is the phase of the input signal at time i;
• ϕ̂i is the phase of the local signal at time i;
• ∆ϕi is the useful signal component at time i, corresponding to the the phase
difference between incoming and locally generated carriers;
• Ni the noise at the discriminator output at time i;
• ϕ̂i+1 is the phase of the local signal generated by the NCO at time i + 1;
• Gd is the discriminator gain, obtained by linearizing the non-linear discriminator, i.e., the non-linear discriminator is approximated by a constant gain.
The input signal, ϕi , represents the quantity to be tracked, in this case the phase.
The local estimate of the phase, ϕ̂i , is at first subtracted from the true phase of the
signal at time i. Successively, the phase difference, ∆ϕi , is multiplied by the loop
gain Gd , that approximates the behaviour of the non linear discriminator. If the
error function ∆ϕi is small enough to enter in the linear zone of the arctangent, then
26
2.2 – Structure of a GPS receiver
the gain is equal to 1. At this point the noise Ni is added and the discriminator
output can be modelled as
Gd (ϕi − ϕ̂i ) + Ni .
(2.15)
It is noted that the linear model works at the rate of the loop fc = 1/Tc , that
is N times lower than the sampling frequency fs . Thus, ϕi , ϕ̂i and Ni have to be
considered average quantities over the integration time, Tc .
The analysis of the system with the linear model leads to the evaluation of some
important statistical properties, described in the following.
Variance of the input noise Ni
It is noted that scheme provided above is an equivalent model and the quantities
present in this model have to be related to the parameters of a real PLL. Ni models
the noise at the output of the discriminator and it is, in general, a white sequence
with zero mean. Its variance depends on the C/N0 , the integration time and the type
of discriminator adopted in the PLL. This variance is denoted σr2 and is expected to
decrease as the C/N0 increases. In the standard PLL with arctangent discriminator,
it is approximately equal to [3]
σr2 =
2C/N0 Tc + 1
.
(2C/N0 Tc + 2)2
(2.16)
Tracking jitter
The tracking jitter is a measure of the amount of noise transferred from the input
signal to the output of the PLL on the final phase estimate. It is the first measure
of a loop performance and allows one to quantify the impact of the thermal noise
on the PLL. It is defined as [6]:
σr p
σj =
2Bn Tc ,
(2.17)
Gd
where:
• σr is the standard deviation of the noise at the output of the discriminator,
• Bn is the equivalent bandwidth of the loop,
• Tc is the integration time,
• Gd is the discriminator gain defined as
d E [φε (∆ϕ)] Gd =
,
d ∆ϕ
∆ϕ=0
where φε is the discriminator output.
27
(2.18)
2 – Signal and System Model
The tracking jitter is a normalized version of the noise standard deviation, taking
into account the bandwidth of the complete loop. The expression of the tracking
jitter in a standard PLL is [3]:
s
Bn
1
σj =
1+
.
(2.19)
C/N0
2C/N0 Tc
In codeless and semi-codeless techniques the variance of the noise at the discriminator output is different from Eq. (2.16) and thus a different expression for the
tracking jitter is found.
2.3
Phase and frequency estimation in a codeless
receiver
A tracking loop is first of all an estimator that tries to determine some of the parameters of the incoming signal. More specifically, it is possible to show [6] that standard
tracking loops are suboptimal implementations of the MLE for the GNSS signal
parameters. More specifically, they iteratively maximize the likelihood function for
the signal parameters. When the PRN code is not known, alternative estimation
techniques have to be adopted. In the following the frequency and phase ML estimators are determined when the spreading code is unknown. Codeless acquisition
and tracking are then derived from the MLE. The proof follows the approach described by [4]. It is noted that when the code is unknown, the code delay cannot be
observed.
2.3.1
Signal parameters estimation
The incoming signal entering the receiver, after the preprocessing described in Section 2.2, is reported in Eq. (2.7). This signal model can be further rewritten as
r[n] =
√
2Ccn cos (2πfD nTs + ϕ) + ηIF [n] ,
(2.20)
where
• cn = d(nTs −τ ) · c(nTs −τ ) is the code component including both the spreading
sequence and the navigation message. Since the spreading code is not known,
cn can be modelled as a random variable assuming value {−1, + 1} with equal
probability;
• ηIF [n] is the noise, distributed according to a Gaussian process with zero mean
2
and variance equal to σIF
;
28
2.3 – Phase and frequency estimation in a codeless receiver
• fD and ϕ are the parameters to be estimated.
The probability mass function of cn is given by
1
.
(2.21)
2
In order to determine the likelihood function for fD and ϕ, the probability density
function of r[n] has to be at first determined. It is noted that:
√
2
r[n] cn ∼ N
2Ccn cos (2πfD nTs + ϕ) , σIF .
(2.22)
In particular r[n]cn is a Gaussian random variable with mean equal to the deterministic component in Eq. (2.20) and variance equal to the variance of the noise
component.
The probability density function of the signal r[n], denoted f (r[n]) can be derived
applying the formula of the total probability:
f (r[n]) = f r[n]cn = 1 · P(cn = 1) + f r[n]cn = −1 · P(cn = −1) .
(2.23)
P(cn = +1) = P(cn = −1) =
Developing the expression,
i2 √
1 h
1
1
exp − 2 r[n] − 2C cos(2πfD nTs + ϕ)
+
f (r[n]) = p
2
2 (2πσIF
2σIF
)
i2 √
1
1
1 h
=
+ p
exp − 2 r[n] + 2C cos(2πfD nTs + ϕ)
2
2 (2πσIF
2σIF
)
1
1 2
2
=p
exp − 2 r [n] + 2C cos (2πfD nTs + ϕ)
·
2
2σIF
(2πσIF
)
!
√
2Cr[n] cos(2πfD nTs + ϕ)
cosh
.
(2.24)
2
σIF
Considering a set of N independent realizations of the process, a random vector
R can be defined:


r[0]
 r[1] 


(2.25)
R=
,
..


.
r[N − 1]
and the joint probability density function assumes the form:
N
−1
Y
2
1
1
2
p
f (Rcn ) =
exp − 2 r [n] + 2C cos (2πfD nTs + ϕ)
·
2
2σ
(2πσ
)
IF
IF
n=0
!
√
2Cr[n] cos(2πfD nTs + ϕ)
cosh
.
(2.26)
2
σIF
29
2 – Signal and System Model
This expression corresponds to the likelihood function of the incoming signal
samples and has to be maximized. Some simplifications can be made considering
the logarithm of this function. The logarithm is a monotonic function and thus its
maximization is equivalent to the maximization of its argument. Moreover, all the
constant terms and coefficients not depending on the quantities to be estimated can
be dropped. The resulting expression to be maximized is (Appendix A.1.1):
N
−1
X
C(fD ,ϕ R) =
ln cosh (r[n] cos(2πfD nTs + ϕ)) .
(2.27)
n=0
It is noted that the argument of the logarithm of the hyperbolic cosine is very
small. Therefore it is possible to approximate it with its Taylor expansion centred
on 0. Denoting the argument of the log cosh by x, the Taylor expansion is:
log cosh x = log cosh x|x=0 +
1 ∂2
log cosh x|x=0 · x2
2 ∂x2
= 0 + ax2 .
(2.28)
where a is a constant that does not depend on the parameters to be estimated.
Then the logarithm of the hyperbolic cosine can be approximated by the square of
its argument:
N
−1
X
2
C(fD ,ϕR) =
r [n] cos2 (2πfD nTs + ϕ) .
(2.29)
n=0
By using trigonometric properties and removing constant terms the following cost
function is found:
C1 (fD ,ϕ|R) =
N
−1
X
2
r [n] cos(4πfD nTs + 2ϕ) .
(2.30)
n=0
The estimates fˆD and ϕ̂ are the values of fD and ϕ maximizing C1 (fD ,ϕ|R):
(N −1
)
i
Xh
fˆD ,ϕ̂ = arg max
r2 [n] cos(4πfD nTs + 2ϕ)
.
(2.31)
fD ,ϕ
n=0
Eq. (2.31) corresponds to the cost function maximized by codeless tracking algorithms. Eq. (2.31) can be further developed by expressing the cosine as the real part
of a complex exponential, and then by separating the term containing the Doppler
frequency from the term containing the phase. In this way is it possible to evaluate
separately phase and frequency. In Appendix A.1.2 it is proved that:
fˆD ,ϕ̂ = arg max Re Ae(jφA −j2ϕ) ,
(2.32)
fD ,ϕ
30
2.3 – Phase and frequency estimation in a codeless receiver
where
N −1
X
r2 [n] exp {−j4πfD nTs }
A=
n=0
(N −1
)
X
φA = /
r2 [n] exp {−j4πfD nTs }
(2.33)
n=0
Thus:
)
(N −1
X
fˆD = arg max {A(fD )} = arg max r2 [n] exp {−j4πfD nTs }
fD
fD
n=0
N
−1
X
(2.34)
n
o
1
1
r2 [n] exp −j4π fˆD nTs .
ϕ̂ = φA = /
2
2 n=0
It is noted that the frequency estimate is obtained by maximizing the absolute
value of the modified Fourier transform of r2 [n]. The Fourier transform is modified
by the presence of the factor 2 in the exponential in Eq. (2.33). The estimate of
the phase is obtained by finding the value of ϕ that projects the Fourier transform
of r2 [n] on the real axis.
This can be interpreted in the following way: the term r2 [n] and the term
cos(4πfD nTs + 2ϕ) are two vectors of N samples in a complex plane as represented
in Figure 2.16. Their product corresponds to a scalar value, which is maximum
when the angle between the two vectors is zero.
r 2 [ n]
cos(4π f D nTs + 2ϕ )
Figure 2.16: Graphical representation of the projection between the incoming signal and its local replica.
Different strategies can be adopted to maximize Eq. (2.31). In particular two
main approaches are exploited in GNSS receiver:
• The global search is an extensive approach, in which all the possible fD
inside a given range are used to generate several local signals that are correlated with the incoming samples. The fD giving the maximum correlation
and passing a threshold is selected as frequency estimate. This technique is
31
2 – Signal and System Model
relatively easy to implement, but can be computationally demanding. Moreover the accuracy of the result depends on the granularity of the grid used for
searching fD . In this case, the phase is ignored. This process is denoted open
loop and corresponds to the acquisition stage.
• The local search, a direct approach in which the frequency is estimated
using a gradient ascent/descent algorithm [6] and corresponding to the codeless
tracking PLL. In this case, the phase error is minimized.
2.3.2
Principles of codeless acquisition
The block scheme of the open loop, codeless acquisition, is shown in Figure 2.17 and
reflects the expression of the MLE found in Eq. (2.34).
r[n]
( •)
1
∑ (•)
N
2
•
2
exp {− j2π f D nTs }
Figure 2.17: Block scheme of the open loop processing.
The signal r[n] is correlated with a local sinusoid for several frequencies, fD .
It is interesting to note that by squaring the input signal the code component is
removed. Successively, the signal is averaged over N samples and the following
complex correlator is found:
N −1
1 X 2
r [n] exp {−j4πfD nTs } .
C(fD ) =
N n=0
(2.35)
The squared absolute value of the signal is then evaluated; an example is shown in
Figure 2.18. Since, several signals from different SVs are present several peaks can
be observed. These peaks correspond to the Doppler frequencies of each SV signal.
As already highlighted, the squaring operation removes the PRN codes from all
the signals present in the incoming samples. Thus, signals from different satellites
can be identified only for the different Doppler frequencies. The receiver however
already has a rough estimate of the Doppler frequency of each signal and thus can
isolate the peaks of the different components. Moreover, components form the same
satellites and at the same frequency can interact leading to variations in received
signal power. This problem is addressed in Chapter 4.
32
2.3 – Phase and frequency estimation in a codeless receiver
The operations used for evaluating the complex correlators as a function of fD
can be interpreted as the Fourier transform of r2 [n] and thus can be efficiently
implemented using the FFT technique.
1
0.9
Normalized spectrum
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
−5000
0
Doppler frequency (Hz)
5000
Figure 2.18: Example of output of the open loop analysis of live a GPS signal.
2.3.3
Principles of codeless tracking
The tracking stage implements the local search strategy for the optimization of the
cost function of Eq. (2.34). More specifically, the tracking stage can be considered
as an iterative procedure that maximizes Eq. (2.31) by aligning the average phase
of the local carrier with the one of the incoming signal.
The theory, the analytical aspects and the analysis of the results of the codeless
PLL will be treated in the next chapter.
33
Chapter 3
Functional description of codeless
squaring tracking
Codeless and semi-codeless techniques are particular types of algorithms used in
tracking loops to process the encrypted GNSS signals without the knowledge, or
with a partial knowledge of the encryption code. In particular they are used in
GPS receivers to track the P(Y) signal, allowing double frequency measurements,
as described in Section 1.4.
Codeless algorithms are based on the removal of the P(Y) code component, by
multiplying the signal by itself (squaring), or by another signal sharing the same
spreading sequence (cross correlation).
Semi-codeless algorithms are improvements of the codeless techniques in which,
before processing the incoming signal, the P code is removed through the multiplication with a local replica of the P sequence, leading to a signal modulated only
by the W code. They are called semi-codeless squaring technique and semi-codeless
cross-correlation technique. The advantage of this is that the energy of the incoming
signal is spread over a narrower bandwidth, around 20 times smaller than the bandwidth of the P(Y) code, as described in Section 2.1.2, assuring thus a theoretical
gain of 13 dB [29].
In this thesis, only the codeless squaring technique is considered. In this chapter
a functional description of the algorithm and a theoretical characterization of the
squaring PLL are provided. Expressions for the variance of the noise at the discriminator output and of the tracking jitter are provided. Theoretical results are
supported using Monte Carlo simulations. Finally a description of the C/N0 estimation algorithm, used to assess the performance of the codeless tracking algorithm,
is given.
35
3 – Functional description of codeless squaring tracking
3.1
General description of the squaring codeless
PLL
The squaring PLL is based on the removal of the P(Y) code through squaring of
the incoming signal [11, 25, 28]. This algorithm is a suboptimal implementation of
the ML phase estimator when the code chips are unknown, as shown in Chapter 2.
The P(Y) code is a bi-phase sequence assuming values +1 and −1. Therefore, by
squaring the incoming GPS signal, the spreading code is removed. However, for the
same reason, also the bi-phase navigation data is lost. The squared signal contains
thus a Direct Current (DC) component and a sinusoidal component at twice the
frequency of the SIS carrier central frequency, as described in details in Section 3.2.
The DC component is removed by filtering.
Since the navigation message is lost, it is no longer possible to obtain important
information such as the satellites ephemeris. This is why codeless techniques cannot
be used alone in a GPS receiver. The standard processing of the C/A signal has to
be performed at the same time.
3.1.1
Architecture
The block diagram of a squaring PLL is shown in Figure 3.1.
f IF
(•)
2
PLL
2 f IF
Figure 3.1: Block diagram of the squaring codeless PLL [28].
The main components are:
• a band pass filter, filtering the input digitized signal, centred around the frequency fIF ; the filter must have a bandwidth wide enough to pass only the
P(Y) component in order to preserve the useful signal power and to reduce
the noise entering the PLL. This block usually corresponds to the last part of
the front-end;
• the squaring block, in which the filtered signal is multiplied by itself to remove
the spreading code component; the resulting signal consists of a DC component
and an un-modulated continuous wave signal at frequency 2 (fIF + fd ). This
replaces the multiplication by the local code estimated by the DLL, that is
present in standard PLLs;
36
3.1 – General description of the squaring codeless PLL
• a second filter, used to remove the DC component introduced by squaring,
and centred around the frequency 2fIF . This filter is not necessary since the
same filtering effect is obtained through the I&D of the PLL;
• a standard PLL, giving as output an estimate of the Doppler frequency, as
described in Section 2.2.2.
3.1.2
Issues related to squaring
The main issue related to this approach is the fact that the squared signal contains
a sinusoid at twice the frequency of the original signal. Since the bandwidth of
the system should be broad enough to include all the energy of the signal and to
follow the signal frequency variations, a bandwidth two times larger is required in
a squaring PLL with respect to the standard case. In addition to this, by squaring
the signal, also the noise is squared; moreover a signal/noise cross term, behaving
as additional noise, is generated. According to previous analysis, this noise amplification affects the performance of the loop by approximately 30 dB with respect
to a standard loop [28]. The deterioration of the loop performance will be better
quantified in the following.
Moreover the squared signal contains no longer the navigation message, and
cannot be used to recover navigation information, unless some further techniques
for recovering the data are implemented [11].
Finally, squaring of signals containing quadra-phase components causes the appearance of cross terms and the reduction of useful signal power. This case is
investigated in Chapter 4, whereas single component signals are considered in this
chapter.
3.1.3
Carrier aiding
In a PLL, the locally generated carrier and the incoming signal have a small frequency difference, called frequency error, fe . This error should be lower than the
pulling range of the PLL, equal to the equivalent bandwidth of the loop, Bn . This
requirement is not a problem in standard tracking loops, where short coherent integration times are used and thus there are, in general, no strict constraints on the
equivalent bandwidth, and thus frequency errors of the order of a few tens of Hertz
are allowed. On the other hand, in squaring PLLs, where higher integration times
are used, low values of the equivalent noise bandwidth are required. This is due
to stability constraints, most specifically the product between integration time and
loop bandwidth has to be much lower than 1 [21]. Thus a squaring PLL cannot follow high signal dynamics and high frequency errors could lead to failures in tracking,
as explained in Section 3.3.5. For example, if Tc = 100 ms , the frequency error must
37
3 – Functional description of codeless squaring tracking
be lower than 5 Hz, which is not always possible, because of the low accuracy of the
acquisition and of the signal variations over time.
However in a squaring tracking loop it is possible to have highly accurate Doppler
frequency estimates. In fact, the central frequency of P(Y) and C/A signals in the
L1 band is the same, that means that the Doppler effects will alter them in a
similar way, while in the L2 band it is sufficient to take into account a proportional
factor between fL1 and fL2 to obtain an estimate of the Doppler shift of the L2
component. Consequently, rather than using the information collected during the
acquisition stage, the P(Y) codeless PLL is initialized with the output of the C/A
standard PLL. In addition, the output of the C/A tracking can be exploited by
the codeless PLL in the subsequent iterations of the loop, compensating for the
main variations of the signal frequency. The advantage of this is that the frequency
estimate of the C/A tracking is very accurate, and always updated, following the
dynamics of the signal. The squaring PLL has then only to deal with the frequency
variations due to the receiver thermal noise and, in the case of the L2 signal, to the
ionospheric frequency divergence.
This technique is called carrier aiding and is described in Figure 3.2 [6]. In this
(•)
2
1
∑ (•)
N
discriminator
F( z )
NCO
fe
C/A PLL
Figure 3.2: Squaring PLL scheme with C/A carrier aiding.
case, the Doppler estimates from the C/A PLL are added to the output of the P(Y)
loop filter. In this way, the P(Y) PLL has to track only the frequency variations of
the P(Y) signal with respect to the C/A component. In the L2 case, a scaling factor
is applied to the C/A Doppler frequency estimates.
3.2
Theoretical characterization of the squaring
PLL
As in standard GPS receivers, in a squaring codeless receiver, before entering the
tracking loop, the SIS passes through the front-end. This block provides to the PLL
38
3.2 – Theoretical characterization of the squaring PLL
a digitized signal, filtered and down-converted at an IF.
After the filtering, down-conversion and sampling, and assuming that the other
satellites components can be neglected, the signal assumes the form of Eq. (2.7):
√
r[n] = 2Cd (nTs − τ ) c (nTs − τ ) cos [2πfD nTs + ϕ] + ηIF [n] .
The noise term ηIF [n] is a white sequence, distributed according to a Gaussian
process with zero mean and variance equal to ση2 :
η[n] ∼ N 0, ση2 ,
(3.1)
where
ση2 = N0 BIF ,
(3.2)
as shown by Eq. (2.9).
The signal is then squared. The BPSK code components c2 ( · ) and d2 ( · ) disappear, since (+1)2 = (−1)2 = 1, and a term at twice the frequency is obtained, as
stated by the Werner formulae reported in Appendix A.2:
r2 [n] = 2Cd2 (nTs − τ ) c2 (nTs − τ ) cos2 (2πfD nTs + ϕ) + η 0 [n]
= C + C cos (4πfD nTs + 2ϕ) + η 0 [n] ,
(3.3)
where the noise η 0 [n] contains a term equal to the square of the original noise plus
a cross term containing both noise and useful signal component. More specifically:
√
η 0 [n] = 2 2Cd (nTs − τ ) c (nTs − τ ) cos (2πfD nTs + ϕ)η[n] + η 2 [n] .
(3.4)
After squaring the signal is filtered by a band pass filter to remove the DC
component:
r0 [n] = C · cos (4πfD nTs + 2ϕ) + η 0 [n] .
(3.5)
Eq. (3.5) provides the model of the signal entering the standard PLL shown in
Figure 3.1.
3.2.1
Integrate and dump
The first step inside the PLL is the correlation with the local sinusoid l[n], generated
by the NCO using either the Doppler frequency coming from acquisition, the output
of the loop filter or the information coming from the C/A tracking:
l[n] = e−j4πfL nTs −j2ϕL .
(3.6)
In (3.6), ϕL is an estimate of the signal phase, ϕ, and fL is an estimate of the
Doppler frequency, fD . It is noted that in order to take into account the doubling
39
3 – Functional description of codeless squaring tracking
of the frequency of the incoming signal, the frequency of the local carrier is equal to
2fL . The signal, after multiplication with the local carrier, assumes the form:
r0 [n] · l[n]
= {C cos (4πfD nTs + 2ϕ) + η 0 [n]} · e−j4πfL nTs −j2ϕL
= C cos (4πfD nTs + 2ϕ) · e−j4πfL nTs −j2ϕL + η 0 [n] · e−j4πfL nTs −j2ϕL .
(3.7)
At this point the signal is averaged over N samples, and at the output of the
I&D block assumes the form:
rID
N −1
1 X
C cos (4πfD nTs + 2ϕ) · e−j4πfL nTs −j2ϕL +η 0 [n] · e−j4πfL nTs −j2ϕL . (3.8)
=
N n=0
The useful signal component and the noise component are uncorrelated, so they
can be studied and characterized separately.
rID
N −1
1 X
C cos (4πfD nTs + 2ϕ) · e−j4πfL nTs −j2ϕL +
=
N n=0
N −1
1 X 0
+
η [n] · e−j4πfL nTs −j2ϕL .
N n=0
(3.9)
Useful signal component
The useful signal component at the output of the I&D, corresponding to the first
part of the Eq. (3.9), is equal to:
rID,s
N −1
1 X
=
C cos (4πfD nTs + 2ϕ) · e−j4πfL nTs −j2ϕL
N n=0
=
C jφs
·e ,
2
(3.10)
where:
• φs = 2π∆f (N − 1)Ts + 2∆ϕ ' 2π∆f Tc + 2∆ϕ,
• ∆f = fD − fL ,
• ∆ϕ = ϕ − ϕL .
The proof of this is reported in the Appendix A.3.
40
3.2 – Theoretical characterization of the squaring PLL
Noise component
The noise component at the output of the I&D, corresponding to the second part
of the Eq. (3.9), is equal to:
rID,η =
=
N −1
1 X 0
η [n] · e−j4πfL nTs −j2ϕL
N n=0
N −1
1 Xh √
2 2Cd (nTs − τ ) c (nTs − τ ) cos (2πfD nTs + ϕ)η[n] + η 2 [n] ·
N n=0
i
−j4πfL nTs −j2ϕL
e
.
(3.11)
The noise component is a random variable, and is then characterized from a probabilistic point of view. The mean of rID,η is zero, because the exponential term is
oscillating at a high frequency, and η 0 is zero mean:
E [rID,η ] = 0 .
(3.12)
The variance can be studied separating the in-phase and quadrature components; in
particular in Appendix A.4 it is shown that the variance of the in-phase component
of the noise is equal to:
N −1
n √
1 X
var 2 2Cd(nTs − τ )c(nTs − τ ) ·
var {rID,η,I } = 2
2N n=0
o
cos (2πFd nTs + ϕ)η[n] + η 2 [n] .
(3.13)
It can be proved (Appendix A.5) that the two addends inside the variance operator are uncorrelated. So the two components can be separated, applying the
addition property of the variance:
var {rID,η,I }
N −1
o
2 i
1 Xh n √
=
var
2
2Cd
(nT
−
τ
)
c
(nT
−
τ
)
cos
(2πf
nT
+
ϕ)η[n]
+
var
η [n]
s
s
D
s
2N 2 n=0
=
N −1
2 i
1 Xh
2
2
2
8Cd
(nT
−
τ
)
c
(nT
−
τ
)
cos
(2πf
nT
+
ϕ)
var
{η[n]}
+
var
η [n]
s
s
D
s
2N 2 n=0
N −1
2 i
1 Xh
=
4C · var {η[n]} + var η [n] .
2N 2 n=0
41
(3.14)
3 – Functional description of codeless squaring tracking
In (3.14), the high frequency oscillating term inside the summation has been neglected. This is justified by the fact that the summation filters out all the high
frequency terms. The variance of the noise η[n] squared can be computed in the
following way:
var η 2 [n] = var {η̃[n]}
= E η̃ 2 [n] − E2 [η̃[n]]
= E η 4 [n] − E2 η 2 [n]
2
= 3ση4 − ση2 = 3ση4 − ση4 = 2ση4 .
(3.15)
Thus, substituting (3.15) into Eq. (3.14), the following expression is obtained:
N −1
1 X
4
2
+
2σ
var {rID,η,I } =
4Cσ
η
η
2N 2 n=0
1
=
N 4Cση2 + 2ση4
2
2N
1
2C 2
= ση4 +
σ .
N
N η
(3.16)
Using Eq. (3.2), the final expression for the noise variance is obtained:
var {rID,η,I } = σr2ID,η =
2
N02 BIF
2CN0 BIF
+
.
N
N
(3.17)
It can be proved that the result for the quadrature component is the same. Thus,
since the in-phase and quadrature parts are independent, the noise component is a
complex Gaussian random variable:
2
rID,η ∼ N 0, I2 σrID,η .
(3.18)
The noise component can be assumed Gaussian because of the central limit theorem.
More specifically, several (non-Gaussian) random variables are integrated in the I&D
block and thus the distribution of their sum converges to a Gaussian.
Finally, the expression of the complete signal before the discriminator is obtained
combining Eqs. (3.10) and (3.18) and can be rewritten as:
rID = Ac · ejφs + ρ · ejφη ,
(3.19)
where, without loss of generality and according to a common choice in the literature
[26], it is assumed that the signal has been normalized in order to have a random
variable with real and imaginary parts with unit variance. This assumption does
not affect the results, since the ratio between signal and noise power is preserved
[5]. In particular:
42
3.2 – Theoretical characterization of the squaring PLL
• Ac is the normalized amplitude of the useful signal, and its value is (Appendix
A.6):
s 2
C/2
C
Tc Ts
Ac = q
=
.
(3.20)
N0 1 + 4C/N0 Ts
σr2ID,η
• ρ is the amplitude of the noise component, a Rayleigh distributed random
variable;
• φη is the phase of the noise component, a random variable uniformly distributed in the range [−π, π].
A further simplification of the value of Ac is possible assuming
4C/N0 Ts 1 .
(3.21)
This is valid for values of C/N0 lower than 50 dB − Hz, that is usually the normal
working condition of GPS, leading to the expression:
s 2
C
Ac =
Tc Ts .
(3.22)
N0
3.2.2
Discriminator Output
As described in Section 2.2.1, a non-linear discriminator is applied to the signal
at the output of the I&D, in order to evaluate the phase of the signal, i.e., the
quantity to be tracked. In this case, a pure PLL discriminator can be used since
data bit transitions are removed by squaring. The approach described here follows
the techniques used by [3] to determine an approximate expression of the variance of
the noise at the output of a standard PLL discriminator. The expression of the signal
at the output of the correlator, reported in Eq. (3.19) can be modified, separating
the phase of the useful signal from the phase introduced by the noise term:
rID = ejφs Ac + ρ · ej(φη −φs ) .
(3.23)
From this expression it emerges that the phase term introduced by noise is given
by the angle of the complex number present in the second term of Eq. (3.23). In
particular this number can be further developed in the following way:
Ac + ρ · ej(φη −φs ) = Ac + ρ cos (φη − φs ) + jρ sin (φη − φs )
= (Ac + I) + jQ ,
(3.24)
where I = ρ cos (φη − φs ) and Q = ρ sin (φη − φs ) are Gaussian random variables
with zero mean and unit variance, because they are the product of a Rayleigh
43
3 – Functional description of codeless squaring tracking
distributed random variables and of a sine and a cosine of an uniform random
variable, respectively.
In this expression it should be noted that φη − φs is a random variable uniformly
distributed in the range [−π − φs , π − φs ), but φs is present only as argument of
functions of period 2π, and so it is possible to consider φη − φs uniformly distributed
in the range [−π, π), without changing the statistical nature of the expression.
The value of the noise phase can thus be extracted applying the four quadrant
arctangent1 to the signal, as has been proved in Eq. (2.34).
φε = / Ac + ρ · ej(φη −φs )
= arctan2 [Q,Ac + I] .
(3.25)
Variance of the input noise
The statistical properties of the phase error can be computed approximating the
four quadrant arctangent using the Euler formula [2] and limiting the expansion to
the first term:
Q (Ac + I)
.
(3.26)
φε = arctan2 (Q,Ac + I) '
Q2 + (Ac + I)2
Since the numerator and the denominator are uncorrelated, and since also I and
Q are uncorrelated, the mean of the discriminator output is zero.
The variance of the input noise, described in Section 2.2.3, is a measure of the
quantity of noise present at the output of the discriminator, and it is denoted σr2 . It
can be evaluated using the approximate formula for the variance of the quotient [3]:
σr2 = var {φε }
Q (Ac + I)
' var
Q2 + (Ac + I)2
E (Q (Ac + I))2
' 2 2
E [Q + (Ac + I)]
A2c + 1
.
=
(A2c + 2)2
(3.27)
where Ac is given in Eq. (3.20).
An alternative way to compute the variance of the phase error is using the closed
formula for the probability distribution of the output of a four quadrant arctangent
1
The four quadrant arctangent, denoted arctan2 (y,x), is the phase of the complex number x+jy
[3]
44
3.2 – Theoretical characterization of the squaring PLL
proposed by Crosta [9]. By integrating this probability distribution it is possible to
obtain the following expression for the discriminator output noise variance:
Z π
2
−A2
π 2 − A2c
Ac
Ac cos ξ
c sin ξ
2
2
√
σr = e 2 + √
ξ e 2
cos ξ 1 + erf
dξ .
(3.28)
3
2 2π −π
2
The advantage of using this expression is that no approximations are introduced,
but it is quite expensive from a computational point of view. On the contrary the
expression in Eq. (3.27) is simpler, but less accurate when the argument of the
arctangent exits from its linearity zone, that is when the noise term is strong, as in
the case of codeless techniques. For this reason, in the following, the formulations
are considered.
Tracking jitter
The concept of tracking jitter is described in Section 2.2.3. A formulation of the
tracking jitter for the squaring codeless technique can be obtained using the general
expression reported in Eq. (2.17):
σj =
σr p
2Bn Tc ,
Gd
where σr is given by Eq. (3.27). It has to be noted that using the value of σr2 obtained
using the approximated formulation of the arctangent leads to an approximated
expression of the tracking jitter, valid only for a high C/N0 . The expression in Eq.
(3.28) should be used to obtain more accurate results.
The discriminator gain Gd is reported in Eq. (2.18) and is equal to
d E [φε (φs )] Gd =
,
(3.29)
d φs
φs =0
An approximation can be introduced to compute the expected value of φε [3]:
IQ
E [φε ] = E 2
I + Q2
E [IQ]
cov [(IQ),(I 2 + Q2 )]
E [IQ]
'
−
+ 3 2
var I 2 + Q2 . (3.30)
2 2
2
2
2
2
E [I + Q ]
E [I + Q ]
E [I + Q ]
It can be shown that:
• E [IQ] =
A2c
2
sin(2φs );
• E [I 2 + Q2 ] = A2c + 2;
45
3 – Functional description of codeless squaring tracking
• var [I 2 + Q2 ] = 4A2c + 4;
• cov [(IQ),(I 2 + Q2 )] = 2A2c sin(2φs ).
Substituting these results into Eq. (2.18) becomes:
A2c
2
2
Ac
sin(2φs ) 2A2c sin(2φs )
sin(2φs )
2
2
E [φε ] '
−
+
4A
+
4
c
A2c + 2
(A2c + 2)2
(A2c + 2)3
sin(2φs )A2c
4
4 (A2c + 1)
=
1
−
+
2 (A2c + 2)
A2c + 2
(A2c + 2)2
4 (A2c + 2) − 4 (A2c + 1)
sin(2φs )A2c
1−
=
2 (A2c + 2)
(A2c + 2)2


=
sin(2φs ) A2c 
1

1 − 2
2  .
2
Ac + 2 2
Ac
+1
2
(3.31)
By deriving this expression with respect to φs and evaluating it in φs = 0, the
discriminator gain is:


1
1 A2c 
d E [S(∆ϕ)] 
=
2
(3.32)
Gd =
1 − 2
2  .
2
d ∆ϕ
A
+
2
2
A
c
c
∆ϕ=0
+1
2
Finally, the tracking jitter σj becomes:
s
σj =

A2c + 1
(A2c + 2)2
s
−1
A2c
1
+ 2
 p
1
−
2Bn Tc


2
A2c
A2c
+
1
2

−1
1
A2c + 1 

1 − 2
2 
4
Ac
Ac
+1
2

−1
s
1
2Bn Tc
1 

=
1 + 2 1 − 2  .
2
2
Ac
Ac
Ac
+1
2
=
2Bn Tc
(3.33)
If A2c 1, the right term inside square brackets can be dropped. Otherwise the
expression of the tracking jitter in a squaring PLL is:
s
(A2c + 1) (A2c + 2)4
,
(3.34)
σj = 2Bn Tc
A8c (A2c + 4)2
where A2c is given by Eq. (3.20).
46
3.3 – Monte Carlo simulations and formulae validation
3.3
Monte Carlo simulations and formulae validation
In the following, the theoretical results derived in the previous section are validated
by Monte Carlo simulations. The different stages of a squaring PLL are considered
starting from the correlator and the discriminator outputs. Finally, standard and
squaring PLLs are compared. Figure 3.3 shows the block scheme of a squaring PLL,
clarifying the points in the loop the different considered quantities correspond to.
r = y +η
rID = Ac ·e jφs + rID ,η (3.19)
 2
σ rID ,η (3.17)
Correlator
σ r2 (3.27)
Discriminator
F( z )
NCO
σ j2 (3.34)
Figure 3.3: Block scheme of the different stages of a squaring PLL with the different considered quantities.
3.3.1
Variance of the correlator output noise
The expression of the variance of the noise at the correlator output, denoted σr2ID,η
is reported in Eq. (3.17).
It can be proved that the variance of the in-phase noise component in a standard
PLL is given by [3]:
N0 BIF
.
(3.35)
σr2ID,η (standard) =
2N
The two expressions can be compared and Eq. (3.17) can be expressed as:
σr2ID,η =
N0 BIF
(2N0 BIF + 4C) = σr2ID,η (standard) · L ,
2N
(3.36)
proving that the variance of the noise component after the correlator in a codeless
PLL is worse with respect to a standard PLL by a factor
L = 2N0 BIF + 4C .
47
(3.37)
3 – Functional description of codeless squaring tracking
In particular the values of L in dB units for the different C/N0 , representing the
loss of the squaring PLL with respect to the standard one, are plotted in Figure
3.4. For low C/N0 the loss is around 30 dB and it affects in a considerably way the
40
35
L (dB)
30
25
20
15
10
30
35
40
45
C/N0 (dB - Hz)
50
55
Figure 3.4: Loss in the noise variance in a squaring PLL with respect to a standard
PLL.
performance of the tracking loop.
To prove the validity of the theoretical results of Eq. (3.17) in the squaring case,
a simulation is performed. In Figure 3.5, results relative to the case obtained with
the parameters reported in Table 3.1 are shown.
Table 3.1: Parameters used in the simulations of Section 3.3.1, 3.3.2 and 3.3.3.
Sampling frequency
Coherent integration time
IF bandwidth
Number of realizations
48
fs = 4 MHz
Tc = 100 ms
BIF = fs /2
2 000
3.3 – Monte Carlo simulations and formulae validation
25
Theoretical
Simulation
2
σr,I
D,η (rad)
20
15
10
5
0
30
35
40
45
C/N0 (dB - Hz)
50
55
Figure 3.5: Theoretical and simulation values for the variance of the noise at the
correlator output of a squaring PLL.
3.3.2
Amplitude of useful signal
The normalized amplitude of the useful signal at the output of the correlator, denoted Ac , has been also verified by simulation. In particular three quantities are
compared:
• The theoretical normalized value, equal to the amplitude of the signal component divided by the standard deviation of the noise power, and provided in
Eq. (3.20).
• The approximated theoretical value, reported in Eq. (3.22).
• The simulated value obtained by Monte Carlo simulations, with the parameters
reported in Table 3.1.
The results are shown in Figure 3.6. Eq. (3.22) provides a good approximation
of the normalized amplitude value. This approximation is valid for C/N0 lower than
50 dB−Hz. For higher values of C/N0 small deviations from the simulated values
can be observed. Simulation results match well the exact theoretical curve. The
49
3 – Functional description of codeless squaring tracking
4
10
3
10
2
A2c (dB)
10
1
10
0
10
−1
10
Theoretical approximation
Theoretical exact
Simulation
−2
10
30
35
40
45
C/N0 (dB - Hz)
50
55
Figure 3.6: Theoretical and simulation results for the normalized signal amplitude
at the correlator output in a squaring codeless PLL.
oscillations of the simulated values for low C/N0 are caused by the great amount
of the noise that is not sufficiently smoothed by an average over 20 000 simulation
points.
3.3.3
Variance of the discriminator output noise
The variance of the phase error, σr2 , corresponds the variance of the output of the
discriminator, and has been determined in Section 2.2.3. Three quantities are compared to support the validity of the results obtained in Section 3.2.2:
• the theoretical variance of the phase error of Eq. (3.27), computed using a
first order approximation of the four quadrant arctangent;
• the theoretical variance of the phase error of Eq. (3.28), computed using a
closed integral formula;
50
3.3 – Monte Carlo simulations and formulae validation
• the value found using Monte Carlo simulations with the parameters reported
in Table 3.1.
The results are shown in Figure 3.7(a). A simulation with 20 000 realizations of the
process for each C/N0 value and with an integration time equal to 10 ms has been
performed.
3.5
3.5
Theoretical approximation
Theoretical exact
Simulation
3
2.5
σr2 (rad)
σr2 (rad)
2.5
2
1.5
2
1.5
1
1
0.5
0.5
0
30
Theoretical approximation
Theoretical exact
Simulation
3
35
40
45
C/N0 (dB - Hz)
50
55
(a) Tc = 10 ms
0
30
35
40
45
C/N0 (dB - Hz)
50
55
(b) Tc = 100 ms
Figure 3.7: Theoretical and simulation results for the variance of the phase error
σr2 in a squaring codeless PLL.
The blue curve, representing the theoretical approximated values, goes to 0 for
high values of the C/N0 and saturates around the value 0.25 for low values of C/N0 .
This reflects the behaviour of the expression in Eq. (3.27). Given the fact that Ac
is proportional to the input C/N0 :
A2c + 1
=0
AC →+∞ (A2 + 2)2
c
A2c + 1
= lim
= 0.25 .
AC →0 (A2 + 2)2
c
σs2 C/N0 →+∞ =
σs2 C/N0 →0
lim
(3.38)
For values of C/N0 lower than 50 dB−Hz, the arctangent approximation is no longer
valid; in fact the squaring of the signal introduces a large amount of noise that moves
the value of the angle of the expression of the noise power in Eq. (3.25) far from the
linear zone of the arctangent. That is why the closed formulation of Eq. (3.28) is
introduced.
It is noted that, when using a higher integration time, the approximation holds
for lower values of C/N0 as shown in Figure 3.7(a), where a coherent integration
51
3 – Functional description of codeless squaring tracking
time equal to 100 ms is used. While in the previous case, with Tc = 10 ms, the
variance is underestimated by the approximate formula for input C/N0 lower than
50 dB−Hz, in this case good variance estimates are obtained for input C/N0 of
45 dB−Hz. By increasing the integration time the tracking performance improves
and lower variances are obtained for the same input C/N0 .
3.5
3
σr2 (rad)
2.5
2
1.5
1
0.5
0
0
100
200
300
Tc (ms)
400
55
50
45
40
35
30
C/N0 (dB - Hz)
Figure 3.8: Theoretical variance of the phase error in a squaring codeless PLL with
respect to C/N0 and Tc .
In both cases the curve of the exact theoretical values and the points obtained
by simulation fit well, confirming the validity of the provided analytical characterization. The curves saturates around the value 3.3 for low values of C/N0 . This can
be proved analytically considering the fact that for low values C/N0 it is possible
to assume that the phase error is a uniform random variable. Thus its variance is
equal to π 2 /3 ' 3.3 [4].
The dependence of the variance of the discriminator output noise with respect
to the C/N0 and the coherent integration time is depicted in Figure 3.8. The figure
shows that the values of the noise variance decrease increasing the C/N0 and Tc .
3.3.4
Comparison with standard PLL
In order to have a measure of the squaring loss introduced by the squaring codeless
technique is it useful to compare the results obtained above with the theoretical
52
3.3 – Monte Carlo simulations and formulae validation
expressions for a standard PLL. In Figure 3.9, the theoretical variance of the discriminator output noise for a C/N0 ranging from 15 dB−Hz to 65 dB−Hz and for
an integration time equal to 1 ms for both a squaring and a standard PLL is shown.
0
10
−1
σ2r (rad)
10
−2
10
13 dB
−3
10
−4
10
−5
10
Squaring exact
Squaring approximated
Standard exact
Standard approximated
20
30
40
C/N0 (dB - Hz)
50
60
Figure 3.9: Theoretical results for the variance of the phase error σr2 in the case of
squaring and standard PLL.
For a normal operating point of 45 dB−Hz, the difference between the squaring
PLL and the standard PLL is approximatively equal to L = 13 dB. That means
that in a squaring tracking loop, in order to have the same phase error variance
obtained in a standard loop, a C/N0 13 dB−Hz higher is needed.
Since it is not possible to increase at will the value of the C/N0 , the only way to
improve the performance of a codeless receiver is to increase the integration time Tc .
The value of the required integration time, denoted T˜c can be computed comparing
the expression of the discriminator noise variance in the two cases for a fixed C/N0 .
For standard PLL, the variance of the discriminator phase noise is equal to [3]:
2
σr,st
=
2C/N0 Tc + 1
.
(2C/N0 Tc + 2)2
53
(3.39)
3 – Functional description of codeless squaring tracking
This same result, with the same C/N0 , has to be achieved by the variance of the
2
noise phase in a squaring PLL, σr,sq
, reported in Eq. (3.27); in the following equation
C/N0 is used to denote the target C/N0 and T˜c is the unknown integration time to
be determined.
2
2
˜
(3.40)
σr,st C/N0 = σr,sq C/N0 , Tc .
Using the expression of the variance of the input noise found in Eq. (3.27), it is
possible to solve the problem analytically. Instead of comparing the values for σr2 , it
is possible to compare the values of A2c , without loss of generality. In particular the
value of A2c for the squaring case has been found in Eq. (3.20) and for the standard
case is equal to 2C/N0 Tc [3].
A2c,st = A2c,sq
2
C
C
T˜c Ts
2 Tc =
.
·
N0
N0
1 + 4C/N0 Ts
(3.41)
The value ∆T = T̃c /Tc is then derived:
T˜c
Tc
2C/N0 (1 + 4C/N0 Ts )
=
Ts (C/N0 )2
2 + 8Ts C/N0
=
T C/N0
s
1
=2
+4 .
Ts C/N0
∆T =
(3.42)
The coherent integration time of a squaring PLL has to be increased by a factor
∆T , in order to obtain the same performance of a standard PLL, for a fixed input
C/N0 . Figure 3.10 shows the value of ∆T for different C/N0 .
3.3.5
Loop performance
Previous simulations were performed using an open loop approach, where lock conditions were artificially maintained by matching the frequency generated by the
NCO with the frequency of the incoming signal. A second step consists in closing
the tracking loop and running a complete PLL simulation. Three different types of
plots are important for understanding the behaviour of a tracking loop:
• Output of the correlator: the values of the real and imaginary part of
the correlator output are a good measure of the performance of the loop,
54
3.3 – Monte Carlo simulations and formulae validation
3500
3000
2500
∆T
2000
1500
1000
500
0
35
40
45
C/N0 (dB - Hz)
50
55
Figure 3.10: Values for the integration time in a squaring loop needed to obtain
the same performance of a standard loop for a fixed C/N0 .
allowing one to understand how the accumulated signal power is distributed
with respect to time. As soon as the tracking loop locks the phase of the input
signal, all the signal power should be contained in the in-phase component.
This means that, if the PLL is correctly tracking the signal, the real part of the
correlator output is a signal with a certain mean, proportional to the useful
power, and the imaginary part is a zero mean noise process. Otherwise, if the
PLL is not correctly working, some power is present in both the in-phase and
quadrature branches.
• Output of the discriminator: the values of the signal at the output of the
arctangent discriminator correspond to the phase of the correlator output. In
order to avoid sudden phase transitions of 180◦ (cycle slips), those values must
stay inside the range [−π, π] and not too close to this limit.
• Output of the loop filter: it corresponds to the estimate of the Doppler
frequency of the signal as a function of time. If the PLL is correctly tracking
the signal, after some oscillations, the output of the filter converges to the true
value of the Doppler frequency. On the contrary, if the tracking loop fails, the
plot oscillates or diverges. It has to be noted that in the case of codeless
tracking, the value of the output of the loop filter corresponds to twice the
55
3 – Functional description of codeless squaring tracking
Doppler frequency, because of squaring of the input signal.
In the following several simulations are considered in order to test the behaviour
of the loop with different input parameters, thus describing the squaring PLL performance in different situations. The plots described above are considered to evaluate
the tracking performance. Some parameters are fixed in all the simulations, in
particular:
• sampling frequency: 5 MHz;
• carrier central frequency (IF): 0.42 MHz;
• order of the PLL filter: 3;
The number of epochs processed varies in order to highlight the different phenomena
characterizing the behaviour of a squaring PLL.
C/N0 impact
In a standard PLL, a typical working point for the C/N0 is around 45 dB−Hz. As
shown in the previous section, in a squaring PLL, to obtain the same performance,
a C/N0 of 58 dB−Hz would be needed. This condition is never reached in normal
GNSS receivers. Therefore some other techniques have to be introduced to recover
the squaring loss introduced by the codeless algorithm.
Figure 3.11 shows the correlator and the loop filter outputs with an integration
time equal to 1 ms, a bandwidth Bn equal to 10 Hz and a C/N0 equal to 45 dB−Hz
(left boxes) and equal to 58 dB−Hz (right boxes) for a squaring PLL.
From the figure, it is clear that in the case of high C/N0 the tracking loop is
working correctly: in Figure 3.11(b) the real and imaginary part of the correlator
output are clearly separated, and the imaginary part, after a thousand of epochs, is
a zero mean signal, meaning that the PLL is working correctly. Moreover, Figure
3.11(d) shows that the Doppler value stabilizes around 1764 Hz, that is the value
expected from the simulation. On the contrary in the case of “low” C/N0 values,
the tracking loop does not work, and the loop filter output, as shown in Figure
3.11(c), diverges from the true value. This shows that a much longer integration
time is required for making a squaring PLL properly work at normal C/N0 values.
It is noted that in practice 45 dB−Hz should be already considered good C/N0
conditions.
Integration time Tc and equivalent loop bandwidth Bn
Since it is not possible to increase at will the C/N0 , a solution consists in increasing
the integration time, Tc . Figure 3.10 summarizes the integration times required for
56
3.3 – Monte Carlo simulations and formulae validation
50
150
Real part
Imaginary part
Real part
Imaginary part
Correlator Output
Correlator Output
100
0
50
0
−50
1000
2000
3000
Epochs
4000
−100
0
5000
1000
2000
3000
Epochs
4000
5000
(a) Correletor output, C/N0 = 45 dB−Hz
(b) Correletor output, C/N0 = 58 dB−Hz
1800
1800
1790
1790
frequency (Hz)
frequency (Hz)
−50
0
1780
1770
1760
1750
0
1780
1770
1760
1000
2000
3000
Epochs
4000
5000
(c) Filter output, C/N0 = 45 dB−Hz
1750
0
1000
2000
3000
Epochs
4000
5000
(d) Filter output, C/N0 = 58 dB−Hz
Figure 3.11: Correlator and filter outputs of a squaring PLL with Tc = 1 ms,
Bn = 10 Hz, fd = 1764 Hz and for different C/N0 values.
a set of C/N0 . For example, for a C/N0 of 45 dB−Hz a Tc around 300 ms should be
used to achieve the same performance of a standard PLL with a 1 ms integration
period.
A larger integration time leads, in general, to a better performance of the loop,
because the correlation is made over a higher number of samples, and thus the variance of the noise is significantly reduced. A standard PLL, during the initial phase,
usually works with a Tc = 1 ms, corresponding to the duration of the code period,
to avoid phase transitions. However once the synchronization with the navigation
data bits is achieved, the integration time is increased up to 20 ms, as described
in Section 2.2.2, and the estimate of the Doppler frequency becomes much more
accurate. In squaring PLLs, since both the navigation message and the spreading
57
3 – Functional description of codeless squaring tracking
code are removed, no phase transitions are present and it is possible to work with
higher integration times.
However it is not possible to increase the integration time beyond a certain value:
in fact, working with a high Tc leads to several disadvantages:
• the update rate of the loop is reduced, and a larger time is required by the
PLL to produce an output;
• it is not possible to go beyond a certain value, to guarantee the stability of the
loop. In general, the product between the loop bandwidth and integration time
has to be much lower than 1 for stability reason. When using the controlledroot formulation for loop filter design [21] this product should be lower than
0.4 for a third order loop. Thus, when increasing the integration time, the
loop equivalent bandwidth should be decreased, accordingly.
The equivalent bandwidth of the loop has to be chosen as a compromise between
the capability of the PLL to follow the signal dynamics and the improvement of the
performance against noise [14]. A value excessively large causes the inclusion of a
great amount of noise, but does not allow tracking of signals with high dynamics;
in addition, in the case of high integration times, aliasing problems are introduced
when using transformation methods for the filter design. On the contrary, a small
value reduces the possibilities for the tracking loop to follow the variations in the
frequency over time and requires a good initial estimate of the Doppler frequency. A
solution when small loop bandwidths are used is to adopt carrier aiding as described
above.
Figure 3.12 shows the output of the loop filter with a fixed C/N0 equal to
45 dB−Hz and with different values of the integration time and of the equivalent
noise bandwidth.
In the first case, shown in Figure 3.12(a), the signal at the output of the loop
filter oscillates and diverges. The loop is characterized by an integration time equal
to 1 ms and a bandwidth equal to 25 Hz.
In the second case, depicted in Figure 3.12(b), the integration time is increased
to 100 ms. However the equivalent bandwidth is not modified, and the loop design
conditions described above are not respected. For this reason the designed loop is
unstable and the Doppler estimates diverge.
On the contrary, in the third case, reported in Figure 3.12(c) and zoomed in
Figure 3.12(d), the integration time is increased to 100 ms and the equivalent bandwidth is reduced to the value Bn = 2 Hz respecting the condition:
Bn · Tc = 2 · 0.1 = 0.2 < 0.4 .
(3.43)
In this case the squaring PLL correctly tracks the signal, that converges to the
correct value 1760.5 Hz.
58
3.3 – Monte Carlo simulations and formulae validation
18000
1840
16000
1820
frequency (Hz)
frequency (Hz)
14000
1800
1780
1760
1740
12000
10000
8000
6000
4000
1720
1700
0
2000
1000
2000
3000
Epochs
4000
0
0
5000
(a) Tc = 1 ms, Bn = 25 Hz
1000
2000
3000
Epochs
4000
5000
(b) Tc = 100 ms, Bn = 25 Hz
1840
1762
1800
frequency (Hz)
frequency (Hz)
1820
1780
1760
1740
1761.5
1761
1760.5
1720
1700
0
1760
1000
2000
3000
Epochs
4000
5000
(c) Tc = 100 ms, Bn = 2 Hz
0
1000
2000
3000
Epochs
4000
5000
(d) Zoom of (c), Tc = 100 ms, Bn = 2 Hz
Figure 3.12: Loop filter output for C/N0 = 45 dB−Hz, fd = 1760.5 Hz and with
different values of the integration time and the loop bandwidth.
Figure 3.13 shows the output of the discriminator in the second and third case
of the previous simulations, confirming the results described above.
In the first plot, where the loop design condition is not respected, the values of
the discriminator outputs are very close to −π and π, whereas in the second plot
the phase error is smoother and oscillates around the zero value.
3.3.6
Loop filter design
The coefficients of the PLL loop filter have to be carefully designed, most of all in the
case of squaring PLLs that has to adopt large integration time. In standard PLLs,
the loop filter is usually designed using transformation methods from the analog
59
3
3
2
2
discriminator output (rad)
discriminator output (rad)
3 – Functional description of codeless squaring tracking
1
0
−1
−2
1
0
−1
−2
−3
0
1000
2000
3000
Epochs
4000
−3
0
5000
1000
(a) Bn = 25 Hz
2000
3000
Epochs
4000
5000
(b) Bn = 2 Hz
Figure 3.13: Discriminator output with C/N0 = 45 dB−Hz, fd = 1760.5 Hz,
Tc = 100 ms and with different values of the loop bandwidth.
1800
1800
1700
1700
1600
1600
frequency (Hz)
frequency (Hz)
domain. These methods are unreliable for high integration times and alternative
approaches should be considered. More specifically, the controlled-root formulation
proposed by [21] allows one to design the loop filter directly in the digital domain
having a better control on the loop stability.
The controlled-root formulation allows one to design loop filters able to handle
higher integration times and thus it is possible to obtain better tracking results, in
particular when the C/N0 is lower.
1500
1400
1300
0
1500
1400
1300
1000
2000
3000
Epochs
4000
5000
(a) Analog filter coefficients
0
1000
2000
3000
Epochs
4000
5000
(b) Digital filter coefficients
Figure 3.14: Output of the loop filter with different loop filter coefficients.
60
3.3 – Monte Carlo simulations and formulae validation
Figure 3.14 shows the output of the loop filter of a PLL working at the limit
design conditions (Bn = 20 Hz, Tc = 20 ms, Bn Tc = 0.4) and with a C/N0 equal
to 47 dB−Hz in two different simulations: in the first case the coefficients of the
loop filter are computed in the traditional way [8], through analog transformation
methods, whereas in the second case the controlled-root formulation is exploited.
Clearly, in the first case in Figure 3.14(a), the tracking loop fails and loss of lock
occurs, while in the second case the PLL tracks the signal, confirming that a good
design of the loop parameters results in a better performance of the system.
It is noted that in all the simulations described in this chapter, the coefficients
used in the loop filter are computed using the controlled-root formulation algorithm.
3.3.7
Tracking jitter
In Section 3.2.2, an expression of the tracking jitter in the case of codeless squaring
PLLs has been determined and is reported in Eq. (3.34).
Figure 3.15 shows the theoretical tracking jitter of a squaring PLL as a function
of the integration time and the C/N0 , plotted in a logarithmic scale, and with an
equivalent bandwidth equal to 1 Hz. As expected the value of σj2 decreases increasing
Tc and the C/N0 , confirming the fact that for a fixed value of the C/N0 , a tracking
loop with a higher integration time gives better results.
50
Tracking jitter (dB)
40
30
20
10
0
−10
−20
35
0
40
45
50
C/N0 (dB-Hz)
50
55
100
Tc (ms)
Figure 3.15: Theoretical values of the tracking jitter in a codeless PLL.
61
3 – Functional description of codeless squaring tracking
Figure 3.16 compares the theoretical tracking jitter in the case of the standard
and squaring PLLs for different integration times, and for an equivalent bandwidth
equal to 1 Hz. The curves are plotted in logarithmic units. The expression of the
tracking jitter for the standard loop is reported in Eq. (2.19), as a function of the
C/N0 , the integration time Tc and the equivalent loop bandwidth Bn .
50
Squaring, Tc = 1 ms
Standard, Tc = 1 ms
Squaring, Tc = 20 ms
Standard, Tc = 20 ms
Squaring, Tc = 100 ms
Standard, Tc = 100 ms
40
30
σj2 (rad)
20
10
0
−10
−20
−30
35
40
45
C/N0 (dB-Hz)
50
55
Figure 3.16: Comparison between theoretical values of the tracking jitter in a standard and in a codeless PLL.
As expected, the tracking jitter in the squaring case is much worse than in the
standard case, especially for low C/N0 values, where the noise is dominant. Moreover
from the figure it is clear that in the squaring case, increasing the integration time,
better results are achieved, whereas in the standard case the improvement is less
significant. In the standard PLL, the squaring loss is not significant and the effect
of longer integration times is compensated by the constant loop bandwidth. More
specifically, longer integration times imply different loop filter coefficients that are
obtained to keep the loop bandwidth constant. In this way, the tracking jitter does
not significantly change for higher integration times and a constant bandwidth. In
the case of a squaring PLL, the squaring loss has a significant impact on the tracking
jitter, thus, by increasing the integration time, the squaring loss is mitigated and
the tracking jitter decreases.
Simulations of a codeless PLL are finally run in order to prove the theoretical
values of the tracking jitter. However the structure of a tracking loop does not
62
3.3 – Monte Carlo simulations and formulae validation
allow a direct measurement of this value. In order to compute an estimate of it,
the variance of noise at the loop output at each iteration is computed, and then
propagated through the loop [6]. It is noted that this experiment differs from the
previous ones since, in this case, a full loop, including the reaction branch of the
PLL, has been simulated.
A comparison between theoretical and simulated results, with the parameters
reported in Table 3.2, is shown in Figure 3.17.
Table 3.2: Parameters used in the simulations for the tracking jitter in Section
3.3.7.
Sampling frequency
fs = 5 MHz
IF bandwidth
BIF = fs /2
Number of epochs
1000
Coherent integration time
Tc = 10 ms
Equivalent bandwidth of the loop Bn = 10 Hz
0.9
Theoretical (approximated)
Theoretical
Simulation
0.8
0.7
σj2 (rad)
0.6
0.5
0.4
0.3
0.2
0.1
0
44
46
48
50
52
54
C/N0 (dB-Hz)
56
58
60
Figure 3.17: Comparison between theoretical and simulation values of the tracking
jitter in a squaring PLL, Tc = 10 ms, Bn = 10 Hz.
The simulation results match well the theoretical findings. However for C/N0
63
3 – Functional description of codeless squaring tracking
values lower than 44 dB−Hz, the noise is too high, and the PLL looses lock. Therefore the points of the Monte Carlo simulation diverge and are no longer valid.
Increasing the integration time to 100 ms and reducing the equivalent bandwidth
of the loop to 1 Hz, the tracking performance improves, as depicted in Figure 3.18.
The squaring PLL is able to track signals with a lower C/N0 and looses lock for
values lower than 40 dB−Hz, giving a gain of about 4 dB.
However, for low C/N0 , even if the loop does not loose lock, tracking can be
very unstable. This is confirmed by the fact the the curve of the tracking jitter is
almost vertical in the range 40 − 45 dB−Hz. Therefore an input C/N0 of 45 dB−Hz,
corresponding to a σj2 of about 0.1 rad, can be assumed as a theoretical threshold for
the squaring PLL, to assure a successful tracking. Moreover, it has to be noted that
this result is obtained in optimal conditions, with simulated signals. Real signals
are characterized by higher dynamics, and by a C/N0 varying with time. Therefore
the results obtained with real data can be slightly worse than expected, because of
additional error sources not considered in Monte Carlo simulations.
0.9
Theoretical (approximated)
Theoretical
Simulation
0.8
0.7
σj2 (rad)
0.6
0.5
0.4
0.3
0.2
0.1
0
40
45
50
C/N0 (dB-Hz)
55
60
Figure 3.18: Comparison between theoretical and simulation values of the tracking
jitter in a squaring PLL, Tc = 100 ms, Bn = 1 Hz.
64
3.4 – C/N0 estimation
3.4
C/N0 estimation
The C/N0 , as described in Section 2.1.1, is an important parameter to measure the
quality of a GNSS signal. In the case of simulated GPS signals, as the ones used
in the simulations of this chapter, it is possible to directly control the value of the
C/N0 , since each parameter of the signal can be set by the user.
On the contrary, real GPS signals, captured by an antenna and processed by
a front-end, contain no direct information on its C/N0 , that depends on several
factors, and thus has to be estimated. In the following a simple algorithm for
the C/N0 estimation [4] is detailed. The algorithm is based on the estimation of
the noise variance at the output a fictitious correlator in the absence of squaring.
More specifically, the same processing adopted in standard receivers can be used to
estimate the noise Power Spectral Density (PSD), N0 , of the input samples. This
process is described in the following. The signal power, C, is extracted from the
correlator values in the presence of squaring.
The correlator output square mean, denoted µ2 and the noise variance, σ 2 , are
estimated separately as follows:
1. an estimate of the noise floor, σ 2 , is obtained by correlating the input signal
with a non-existing PRN sequence, and computing the variance of several of
this correlations. In this case, no signal component should be present and a
zero mean noise process should be obtained;
2. the square mean value of the signal component, µ, is extracted from the complex correlator P : µ = |E[P ]|;
3. several estimates of µ are combined together in order to have a better estimate
of the signal mean. For example, an exponential filter could be used to smooth
the estimate of the mean signal component;
4. the Signal-to-Noise Ratio (SNR) defined as 2µ/σ 2 , and reflects the signal quality at the output of a correlator in the absence of squaring;
5. the C/N0 is derived, taking into account the integration time
C/N0 |dB = 10 log10
SN R
.
Tc
(3.44)
This algorithm allows one to get a reference value of the C/N0 for real GPS signals,
and is used in the following chapters each time a real GPS signal is analyzed.
An example of the C/N0 estimation of a real L2 P(Y) GPS signal, processed
with a squaring codeless PLL, is depicted in Figure 3.19. The estimated value of
the C/N0 is around 43 dB−Hz.
65
3 – Functional description of codeless squaring tracking
45
40
Estimated C/N0 (dB-Hz)
35
30
25
20
15
10
5
0
0
2000
4000
6000
8000
10000
Epochs
Figure 3.19: C/N0 estimation algorithm output in the case of a real GPS signal.
66
Chapter 4
Impact of quadra-phase signals on
the same channel
In the previous chapter, all the considered signals were single component in the form
of Eq. (2.7). This signal model is based on the following assumptions:
• the receiver is able to isolate and process independently signals coming from
different satellites;
• the received signals are single components such as the legacy L2 P signal.
The first assumption holds in general, since a codeless GPS receiver disposes of a raw
estimate of the Doppler frequency of each signal and thus can use this information
to isolate signals from different satellites. On the contrary, the second statement is
not true in general. In fact, as described in Section 1.2, the majority of the signals
transmitted by GPS satellites contain two components on the same channel, in
quadra-phase. This is generally not a problem in standard PLLs, because the good
correlation properties of the spreading sequences allow the isolation of the different
signal components. On the contrary in squaring PLLs, since the code components
are deleted, the despreading and code isolation mechanism is no longer possible.
Therefore the in-phase and quadrature components of the signal cannot be isolated.
It is thus necessary to deal with multicomponent signals, containing two components
with a phase difference of 90◦ .
This chapter describes multicomponent signals, analyzes the consequences of
squaring and illustrates its implications on codeless tracking. It is noted that, before
GPS modernization, a single component signal was transmitted in the L2 band.
Thus, it was possible to directly use codeless tracking techniques. Since the advent
of the L2C signal this is no longer possible and the implications caused by the
presence of an additional component have to be considered.
67
4 – Impact of quadra-phase signals on the same channel
In this chapter a theoretical model for the multicomponent signals is at first
derived, considering the power of each component. Then the codeless acquisition
technique is applied to simulated signals, in order to support the theoretical findings.
Finally real GPS data are considered.
4.1
Multicomponent signal model
The term multicomponent is used to indicate GPS signals with multiple components
on the same frequency. The specific case where signals are transmitted with a 90◦
phase difference is considered.
4.1.1
List of orbiting GPS satellites and broadcast signals
As already introduced in Chapter 2, each legacy GPS signal contains a component
modulated with an unknown spreading sequence, the P(Y) code. L1 signals also
contain a C/A modulated component, in quadrature with respect to the P(Y). On
the contrary, in the L2 frequency band, in origin, only the P(Y) signal was present.
In recent years, a new civilian signal, denoted L2C, has been added in quadrature
with respect to the P(Y) component.
In particular the L2C signal has been introduced with satellites of block IIR-M
in 2005 (the first SV containing it in its payload has been launched on September
26, 2005 [23]); it is a civilian signal, meaning that its PRN codes are public, with a
chipping rate equal to 511.5 kbps. It is made of two different components transmitted in-phase and time-multiplexed: the Medium (L2CM), characterized by a ranging
code 20 ms long and corresponding to 10 230 chips and the Long (L2CL), characterized by a ranging code 1.5 s long, corresponding to 767 250 chips. The L2CM is
a data channel carrying the navigation message, whereas the L2CL component is a
pure pilot channel that can be used for long coherent integrations.
Therefore at present, some satellites, the oldest ones, broadcast a single component signal on L2, whereas recently launched satellites transmit a multicomponent
signal [15]. The different signal configurations are summarized in Table 4.1. It
Table 4.1: Summary of GPS signal configurations on satellites of different blocks
[15].
SV blocks
Block II/IIA/IIR
Block IIR-M/IIF
L1 signals
In-phase Quadrature
P(Y)
P(Y)
C/A
C/A
68
L2 signals
In-phase Quadrature
P(Y)
P(Y)
–
L2C
4.1 – Multicomponent signal model
is noted that a block is a set of satellites with different payload characteristics,
launched at a different time.
Table 4.2 contains the list of orbiting satellites, with their PRN number, used
to distinguish them, and with the indication of the block to which they belong to.
In particular, it is noted that satellites with red numbers belong to the IIR-M and
IIF blocks and so broadcast multicomponent signals in the L2 band. The findings
obtained in this chapter can be applied to these signals. On the contrary satellites
with blue numbers broadcast single components signals on L2 and therefore the
codeless squaring technique described in Chapter 3 can be directly applied.
Table 4.2: Summary of GPS satellite characteristics [24].
PRN
block
1
IIR-M
2
IIR
3
IIA
4
IIA
5
IIR-M
6
IIA
7
IIR-M
8
IIA
9
IIA
10
IIA
11
IIR
12
IIR-M
13
IIR
14
IIR
15
IIR-M
16
IIR
17
IIR-M
18
IIR
19
IIR
20
IIR
21
IIR
22
IIR
23
IIR
24
IIA
25
IIF
26
IIA
27
IIA
28
IIR
29
IIR-M
30
IIA
31
IIR-M
32
IIA
4.1.2
Signal model
All the different combinations of C/A, P(Y) and L2C signals in L1 and L2 are
analyzed in details in the following, proposing a model for each multicomponent
signal after the squaring block. It is assumed that the signal broadcast by a single
satellite and denoted s[n] has already been filtered, down-converted at fIF and
digitized. It is assumed that the receiver is able to isolate signals from different
SVs using the Doppler frequency information. Each signal component in s[n] is
characterized by the same Doppler frequency, fd , and the same code delay, τ . More
specifically, a general model for multicomponent signals can be derived from (2.4)
and (2.7):
H p
X
2Ci di (nTs − τ ) ci (nTs − τ ) cos (2π(fIF + fd )nTs + φi + ϕ)
s[n] =
(4.1)
i=1
where the quantities in (4.1) have been defined in Chapter 2. ϕ is the carrier phase
introduced by the communication channel and it is considered constant for the different signal components. In the following, the different L1/L2 signal configurations
69
4 – Impact of quadra-phase signals on the same channel
are considered with specific focus on the case where H = 2 and
◦
0 , 180◦
for in-phase components
φ=
±90◦
for quadrature components
(4.2)
.
C/A and P(Y) on L1
The signal currently broadcast on the L1 frequency contains two components: a
C/A modulated signal in quadrature
√ and a P(Y) modulated signal in-phase. The
C/A signal
has amplitude AC = 2C1 , whereas the P(Y) signal has amplitude
√
AP = 2C2 . Thus Eq. (4.1) becomes:
s[n] = AP d1 (nTs − τ )c2 (nTs − τ ) cos (2π(fIF + fd )nTs + ϕ)
+ AC d1 (nTs − τ )c1 (nTs − τ ) sin (2π(fIF + fd )nTs + ϕ) .
(4.3)
It is noted that both components are modulated by the same navigation message,
d1 ( · ). For ease of notation it is set c2 (nTs − τ ) = P [n], c1 (nTs − τ ) = C[n],
d1 (nTs − τ ) = D[n] and g[n] = (2π(fIF + fd )nTs + ϕ), so that the multicomponent
signal at the input of a squaring PLL can be written as:
s[n] = AP P [n]D[n] cos(g[n]) + AC C[n]D[n] sin(g[n]) .
(4.4)
It is noted that a noise term always enters a squaring PLL with the useful signal
s[n]. Its impact will be discussed in later sections of this chapter.
The signal, s[n], is at first squared. Using the fact that P 2 [n] = 1, D2 [n] = 1
and C 2 [n] = 1, the following result is obtained:
s[n]2 = [AP P [n]D[n] cos(g[n]) + AC C[n]D[n] sin(g[n])]2
1
1
1
= A2P [1 + cos(2g[n])] + A2C [1 − cos(2g[n])] + 2AP AC P [n]C[n] sin(2g[n]) .
2
2
2
(4.5)
The factors containing the product between the two codes can be dropped since
they will be filtered out by the PLL I&D blocks. In this way:
1
1
1
1
s[n]2 = A2P + A2P cos(2g[n]) + A2C − A2C cos(2g[n])
2
2
2
2
i
i 1h
1h 2
= AP + A2C +
A2P − A2C cos(2g[n]) .
2
2
From this last expression it is clear that the signal squared is composed by:
• a continuous term, that will be filtered out by the squaring PLL;
70
(4.6)
4.1 – Multicomponent signal model
• a sinusoidal term at frequency 2(fIF + fd ) and of amplitude A2 =
1
2
A2P − A2C ;
The squared signal entering the PLL can be modelled then as:
s̃[n] = A2 cos (2π(fIF + fd )nTs + ϕ) ,
(4.7)
This is similar to what was happening for the single component case. In this
case, the amplitude of the signal entering the squaring PLL depends on the power
difference between quadra-phase components. In the worse case, i.e., when AP = AC
the signal power totally cancels out and codeless tracking is no longer possible. It
is noted that, similarly to the single component case, the noise at the input of the
PLL will be given by the square of the input noise, ηIF [n] (see Eq. (2.7)), and a
cross-term given by the product of the useful signal components and ηIF [n]. As
shown for the single component case, the second noise term can be neglected.
P(Y) alone on L2
The satellites of the blocks II, IIA and IIR currently broadcast on L2 only the P(Y)
signal. Therefore the analysis of the squaring technique is exactly equal to the one
described in Chapter 3, where single component signals are considered.
L2C and P(Y) on L2
The satellites of the blocks IIR-M and IIF currently broadcast on L2 two components: a P(Y) modulated signal in-phase and a L2C modulated signal in quadrature.
The signal model assumed is the same as the one analyzed for the L1 case, the
only differences are the central frequency of the carrier, fIF , the use of the L2C
code instead of the C/A code, the power of the different components, AC and AP ,
and the parameters introduced by the communication channel, τ , fd and ϕ. The
computations are analogous and the final result is
s[n]2 =
i 1h
i
1h 2
AP + A2C +
A2P − A2C cos(2g[n]) ,
2
2
(4.8)
where, in this case, the letter C denotes the components related to the L2C code.
The squared filtered signal assumes then the form:
s̃[n] = A2 cos (2π(fIF + fd )nTs + ϕ) ,
where A2 =
1
2
A2P − A2C .
71
(4.9)
4 – Impact of quadra-phase signals on the same channel
4.1.3
Power analysis
Different signal components are characterized by different transmitted powers [19].
The signals on L1 are transmitted with a higher power with respect to the signals
on L2 and, in addition, the quadrature signals are stronger than in-phase signals.
Nevertheless, the received power of a signal depends not only on the transmitted
power, but also on the elevation of the satellite, on the path losses, on the ionospheric
scintillation effects and on the gain of the receiving antenna. Moreover these losses
depend on the frequency and so they affect in different ways the signals on L1 and
L2. Therefore the received power levels are not fixed. However components on the
same centre frequency are expected to be interested by the same power attenuation.
The values of the average received power of GPS signals are reported in Table 4.3 .
Table 4.3: Average received power levels of legacy GPS signals in L1 and L2 bands
[19].
GPS signal
Band
Power (dBm)
C/A
P(Y)
L2C
P(Y)
L1
L1
L2
L2
−128.5
−131.5
−130
−131.5
The ratio between powers of signals in the same frequency band is maintained
between the transmitter and the receiver. The ratio between the C/A signal power
and the P(Y) signal power in L1 is equal to:
P |C/A
= −158.5 dBm − (−161.5 dBm) = 3 dB → 2 .
P |P(Y)
(4.10)
The C/A signal at the receiver is thus about 2 times stronger than the P signal.
The ratio between the L2C signal power and the P signal power in L2 is equal
to:
√
P |L2C
= −160 dBm − (−161.5 dBm) = 1.5 dB → 2 .
(4.11)
P |P(Y)
√
The L2C signal at the receiver is about 2 times stronger than the P signal.
Squared signal amplitude
The amplitude of the squared signals in the L1 and L2 case, reported in Eq. (4.7)
and in Eq. (4.9) respectively, is equal to
1
A2 = A2P − A2C ,
(4.12)
2
72
4.1 – Multicomponent signal model
where AP and AC are the amplitude of the P(Y) and C/A components in the L1
case, and the amplitude of the P(Y) and L2C components at the receiver in the L2
case. Therefore the power of the multicomponent signal depends on the difference
between the squared amplitude of the components of the input signals.
If the power of the two quadra-phase components at the receiver is the same,
then the signal is completely cancelled and it is not possible to process it with a
squaring PLL. However, according to the nominal power levels of the C/A, P(Y)
and L2C signals reported in Table 4.3 this does not happen in normal conditions.
In L1 the power of the C/A signal is 3 dB higher than the power of the P(Y)
signal. As a results, A2C is about 2 times greater than A2P (the input signal power
is proportional to the square of the signal amplitude). Therefore the power of the
squared signal is:
2
1
1 2
1 2
A
1
C
2
A = AP 1 − 2 = AP (1 − 2) = A2P = A2C
2
AP
2
2
4
(4.13)
2
2
→ A dB = AP dB − 3 dB
→ A2 = A2C − 6 dB .
dB
dB
The amplitude of the squared multicomponent signal on L1 is lower than the amplitude of the squared C/A signal and of the squared P(Y) signal. The two components
add in a destructive way reducing the effective power available for the squaring PLL.
The L2 case is analogous:
the L2C signal is 1.5 dB stronger than the P(Y), that
√
means that A2C is about 2 times greater than A2P . The power of the squared signal
is:
√
√2 − 1
2
1 2
1 2 √
2−1
A
C
2
2
A = AP 1 − 2 = AP
2 − 1 =
AP = √ A2C
2
AP
2
2
2 2
(4.14)
2
2
→ A dB = AP dB − 6.8 dB
→ A2 = A2C − 8.3 dB .
dB
dB
The power of the squared multicomponent signal on L2 is lower than the power level
of both L2C and P(Y) signals.
Noise power
The noise term has been neglected in the previous computations. However it can
be treated exactly as in the previous chapter, where single component signals were
considered. The signal model considering the noise is the following:
r[n] = y1 [n] + y2 [n] + ηIF [n] ,
73
(4.15)
4 – Impact of quadra-phase signals on the same channel
where y1 [n] and y2 [n] are the two signal components and ηIF [n] is the noise term
with the properties described in Section 2.1.1. The squared signal is
2
r2 [n] = y12 [n] + y22 [n] + 2y1 [n]y2 [n] + ηIF
[n] + 2y1 [n]ηIF [n] + 2y2 [n]ηIF [n]
= s2 [n] + η 0 [n] .
(4.16)
In (4.16), s2 [n] corresponds to the expression computed above for the different cases,
whereas the noise component η 0 [n] can be analyzed in a similar way as it has been
done in Section 3.2.1, leading to the a similar expression for its mean and variance.
4.2
Simulation analysis
In order to support the theoretical results obtained in the previous section, some experiments, using simulated GPS signals have been conducted. The main advantage
of using simulated signals is that they allow one to control all the signal parameters,
including the relative power levels between the different components. It is possible,
for example, to generate signals with either the in-phase or the quadrature component, with the P code instead of the P(Y) code, or with a given value for the C/N0 .
Some of these signals are not available in real GPS signals, but they are useful to
study the behaviour of the codeless squaring technique. In particular, in the following, simulated signals are used to control the power of each single component, in
order to prove the results obtained above.
4.2.1
Software simulated GPS signals
At first, signals generated inside a fully software simulation environment are analyzed. In particular multicomponent signals, similar to real GPS signals on the L1
and L2 frequencies (blocks IIR-M and IIF satellites), are considered. Each component contains:
• a carrier, in the form cos(2π(fIF + fd )n/fs + ϕ), where fIF is the central
frequency of the carrier, set to 0.42 · 106 , fd is the Doppler frequency affecting
the signal and ϕ is the phase introduced by the communication channel. It is
noted that for the quadrature component the cosine is replaced by a sine;
• a navigation message D[n], a random sequence of +1 and −1;
• two code components, C[n] and P [n];
• two terms representing the powerpof the component, Ac and Ap . These values
are normalized in order to have A2c + A2p = 1;
74
4.2 – Simulation analysis
The two components are then summed and a white Gaussian noise, ηIF , with power
N0 fs /2 is added, in order to achieve the required C/N0 . Thus, the following model
for the GPS signal has been used with a sampling frequency fs = 25 MHz:
r[n] = Ap P [n]D[n] cos(2π(fIF + fd )n/fs + ϕ)
+ Ac C[n]D[n] sin(2π(fIF + fd )n/fs + ϕ) + η[n] .
(4.17)
Then the signal is squared, the DC component is removed and the signal is
brought to baseband, multiplying it by a sinusoid at the frequency 2fIF . Finally
the spectrum of the signal is evaluated, computing the Discrete Fourier Transform
(DFT). The signal spectrum is normalized with respect to its maximum.
It is noted that a value fd = 1000 Hz is given to the Doppler frequency. Therefore
a main peak, in correspondence to the value +2000 Hz is expected; this is because
the frequency is doubled by squaring.
Signals with the same power
As described in Section 4.1.2, when two components are present and their power
at the receiver is the same, the signal at the input of a squaring PLL is completely
cancelled. Figure 4.1 shows the spectrum of a signal where the power of the in-phase
and quadrature component is the same. As expected the peak corresponding to the
Doppler frequency is not present.
1
0.9
Normalized spectrum
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
−6000
−4000
−2000
0
2000
Doppler frequency (Hz)
4000
6000
Figure 4.1: Spectrum of a simulated multicomponent GPS signal after squaring,
down-conversion and filtering. Quadra-phase components are characterized by the same power.
75
4 – Impact of quadra-phase signals on the same channel
Signals with nominal power levels
1
1
0.8
0.8
Normalized spectrum
Normalized spectrum
As computed in Section 4.1.3, in the L1 band the C/A signal is about 2 times
stronger than the P(Y), whereas in the L2 band, the L2C signal is about 1.4 times
stronger than the P(Y). Therefore the signal components are not cancelled as in
the previous case. However, since the power of the squared signal is the difference
between the powers of the components, the larger is the difference, the highest is
the power of the squared signal. Therefore the squaring mechanism in L1, where
in-phase and quadrature components are separated by 3 dB, is expected to work
better than in L2, where they are separated only by 1.5 dB. Figure 4.2 shows the
spectrum of a multicomponent signal, in which the ratio between the components
power corresponds to the true values for the L1 and L2 cases, as reported in Eqs.
4.10 and 4.11. As expected the main peak, with respect to the noise peaks, is much
stronger in the first case than in the second one.
0.6
0.4
0.2
0.6
0.4
0.2
0
−6000 −4000 −2000
0
2000
Doppler frequency (Hz)
4000
6000
0
−6000 −4000 −2000
0
2000
Doppler frequency (Hz)
(a) L1 signal
4000
6000
(b) L2 signal
Figure 4.2: Spectra of GPS simulated multicomponent signals after squaring,
down-conversion and filtering with power levels corresponding to the
nominal values for the L1 and L2 frequencies.
Comparisons with single component signals
In order to understand the performance of the squaring technique in the case of
multicomponent signals with respect to signals where only the quadrature or inphase components are present, as the ones described in Chapter 3, it is possible
compare the spectra obtained above with the spectra of the single component signals.
In Figure 4.3, the spectra of L1 squared single components are shown. It is
clear that the best plot, from a qualitative point of view, is the one of the C/A
76
4.2 – Simulation analysis
1
1
0.8
0.8
Normalized spectrum
Normalized spectrum
component alone, shown in Figure 4.3(a). The case of the P(Y) signals, depicted in
Figure 4.3(b) is slightly worse. On the contrary the multicomponent case depicted
in Figure 4.2(a) is characterized by a greater amount of noise. This result confirms
the theoretical results obtained in Eq. (4.13).
0.6
0.4
0.2
0.6
0.4
0.2
0
−6000 −4000 −2000
0
2000
Doppler frequency (Hz)
4000
6000
0
−6000 −4000 −2000
0
2000
Doppler frequency (Hz)
(a) C/A only
4000
6000
(b) P(Y) only
Figure 4.3: Spectra of a GPS simulated L1 signals after the squaring block.
The same analysis is done for the L2 signal. Also in this case the results of the
simulation reflect the theoretical findings, reported in Eq. (4.13). It is clear that the
best plot, from a qualitative point of view, is the one of the L2C component only,
shown in Figure 4.4(a). The case of the P(Y) signal alone, depicted in Figure 4.4(b)
is slightly worse, whereas the multicomponent signal spectrum (Figure 4.2(b)) is
characterized by a higher amount of noise.
4.2.2
Hardware generated GPS signals
A Spirent hardware signal generator, described in Section 5.1.2, is available in the
Position Location And Navigation (PLAN) group and has been used to generate
GPS multicomponent signals. Three set of signals are considered:
1. L1 + L2 (blocks IIR-M, IIF), with same power on all components;
2. L1 + L2 (blocks IIR-M, IIF), with nominal power levels;
3. L1 + L2 (blocks II, IIA, IR), with nominal power levels.
A detailed description of the adopted experimental setup and on the simulated
signals, along with the reference Doppler frequencies, is given in Section 5.2.1.
77
1
1
0.8
0.8
Normalized spectrum
Normalized spectrum
4 – Impact of quadra-phase signals on the same channel
0.6
0.4
0.2
0.6
0.4
0.2
0
−6000 −4000 −2000
0
2000
Doppler frequency (Hz)
4000
6000
(a) L2C only
0
−6000 −4000 −2000
0
2000
Doppler frequency (Hz)
4000
6000
(b) P(Y) only
Figure 4.4: Spectra of a GPS simulated L2 signals after the squaring block.
In this section, only results supporting the analysis on multicomponent signals
are reported. The full experimental setup is described in Section 5.3.
The signals are processed with the codeless acquisition technique described in
Section 2.3.2, with a coherent integration time equal to 100 ms. The difference
with the analysis done in the previous part is that the scenario is more realistic: the
satellite constellation is simulated by a hardware generator that produces RF signal,
processed by a RF front-end. More than one satellite is simulated and several peaks
are visible, corresponding to the different Doppler frequencies of the signals. It is
noted that the frequency axis has been scaled by a factor 2 in order to take into
account the doubling of the frequencies due to squaring.
The results are compared with reference data, obtained analyzing the signals with
the GNSS Software Navigation Receiver (GSNRxTM ) [16], as described in Section
5.2.3. GSNRxTM is able to process L1 and L2 P signals when the encryption code
is not applied. The hardware signal generator was configured in order to simulate
unencrypted P signals. In the following figures the reference Doppler frequencies are
identified by a red dot and the numbers are the PRNs numbers of the GPS signals
corresponding to each Doppler frequency.
In the first considered test both the signals on L1 and L2 frequencies are multicomponent, with the same power on each component. As expected, by squaring
the signal, the useful signal components are completely cancelled and only noise
emerges. Therefore, the same result described in Figure 4.1 is obtained. Figure 4.5
shows the spectrum of the squared signal in L1 and L2. The majority of the peaks
are due to noise and the peaks corresponding to the Doppler frequencies, identified
by a red dot, are dominated by noise. In this case, tracking is not possible.
78
4.2 – Simulation analysis
Codeless acquisition
GSNRx
1.2
Normalized spectrum
Normalized spectrum
1.2
1
0.8
0.6
0.4
0.2
0
−4000
Codeless acquisition
GSNRx
1
0.8
0.6
0.4
0.2
−2000
0
2000
Doppler frequency (Hz)
4000
(a) L1 signal
0
−4000
−2000
0
2000
Doppler frequency (Hz)
4000
(b) L2 signal
Figure 4.5: Spectra of GPS simulated multicomponent signals after the squaring
block. The signal components are characterized by the same power.
In the second experiment signals with the nominal power ratio between the
different components, reported in Table 4.3, are considered. The spectra of the L1
and L2 signals squared are reported in Figure 4.6. In this case the Doppler peaks
emerge clearly, especially in the L1 signal, where the difference between the power
of the C/A and P(Y) components is bigger.
Finally, in the third experiment, signals belonging to blocks II, IIA and IIR are
considered. The result for L1 signals is the same depicted in Figure 4.6(a), whereas
in the L2 frequency, since only the in-phase component is present, no cross terms are
created and the peaks in correspondence of Doppler frequencies are stronger than
in the previous cases. The spectrum of the L2 squared signal is shown in Figure
4.7(a). The improvement with respect to the multicomponent case described above
is significant. Moreover, since the signals have been generated with a high power,
the noise level is very low and it is possible to recognize the sinc shape, due to the
finite integration time, of the different signal components. This is shown in Figure
4.7(b).
79
4 – Impact of quadra-phase signals on the same channel
Codeless acquisition
GSNRx
1
8
1
0.8
13
14
20
0.6
23
10
0.4
Codeless acquisition
GSNRx
1.2
Normalized spectrum
Normalized spectrum
1.2
0.2
14
1
8
1
0.8
13
0.6
10
20
23
0.4
0.2
0
−4000
−2000
0
2000
Doppler frequency (Hz)
0
−4000
4000
(a) L1 signal
−2000
0
2000
Doppler frequency (Hz)
4000
(b) L2 signal
Figure 4.6: Spectra of GPS simulated multicomponent signals after the squaring
block. The signal components are characterized by nominal power
levels.
Codeless acquisition
GSNRx
8
Normalized spectrum
Normalized spectrum
1.2
1
14
0.8
10
13
0.6
1
0.4
20
23
0.8
0.6
0.4
0.2
0.2
0
−4000
−2000
0
2000
Doppler frequency (Hz)
4000
(a) Entire spectrum
960
970
980
990
1000
Doppler frequency (Hz)
(b) Zoom on a single peak
Figure 4.7: Spectrum of a simulated GPS L2 signal after the squaring block. Only
the in-phase component is present.
80
Chapter 5
Experimental analysis
In this chapter, several experimental tests, performed in order to support the validity
of the developed theoretical analysis, are described. Real and simulated signals
are processed with a squaring codeless PLL and the theoretical results obtained in
Chapters 3 and 4 are verified.
First a brief description of the hardware and software devices available in the
PLAN group of the Geomatics Department of the University of Calgary is provided.
Then the signals, collected using a GNSS front-end, are analyzed with GSNRxTM ,
the software receiver developed in the PLAN group, and with codeless acquisition
and tracking techniques implemented in MatlabTM . In the last part of the chapter,
the analysis of the different experiments, performed using hardware simulated and
real GPS signals, is detailed.
5.1
Description of hardware and software tools
In the PLAN group several hardware and software tools are available for the analysis
of real and hardware simulated signals. Some of them have been used to perform
the experimental analysis developed in this thesis and are described in the following.
5.1.1
GSNRxTM , software receiver
GSNRxTM is a GNSS software receiver, developed by the PLAN group [16]. This
software is capable to process raw GNSS data samples at IF, quantized either at 8
or 16 bit, in real time or read from files in post-mission. In particular, it performs
the three fundamental steps of a GNSS receiver: acquisition, tracking and the computation of the navigation solution. GSNRxTM is able to process GPS, GLONASS
and Galileo signals. Moreover it generates several different files to be used in other
data processing softwares. GSNRxTM is developed in C++ using a highly modular
81
5 – Experimental analysis
object-oriented approach. Therefore it is flexible, adaptable to different scenarios
and easy to be modified to add new signals and new capabilities.
GSNRxTM has been used to perform a first check on the data collected in the
laboratory and to obtain information on the parameters of the signals, such as the
C/N0 and the Doppler frequency, used as benchmarks in the following.
Figure 5.1: Screenshot of GSNRxTM during the tracking stage.
Figure 5.1 shows a screenshot of the software tracking a set of data samples at
fs = 25 MHz in the L1 and L2 band, captured by a wide band antenna on the roof of
the Calgary Center for Innovative Technology (CCIT) building at the University of
Calgary and processed by a National Instruments (NI) front-end on May 14, 2010.
It is noted that satellites 1, 11, 14, 17, 20, 22, 23, 30, 31 and 32 are present. In
particular the software is tracking the C/A component in L1 and the L2C component
in L2, when present. At the top of the window some information about the position
and the velocity of the receiver are given. The screenshot was captured before
the receiver fixed a position solution, thus the values in Figure 5.1 are the default
82
5.1 – Description of hardware and software tools
values used to initialize the software. The central part contains the information on
the signals: the first column shows the Satellite Vector IDentifier (SVID) for each
visible satellite, the second one the type of signal tracked, the third one the status
of the receiver (acquisition, tracking), the fourth one the C/N0 and the last one the
Doppler frequency of each signal. The lower part contains some messages concerning
the operations performed by the software receiver.
5.1.2
Spirent GSS 7700, hardware simulator
In order to generate simulated GPS signals it is useful to employ a hardware signal
generator. In the PLAN group a Spirent GSS 7700 hardware signal generator is
available as shown in Figure 5.2.
This simulator reproduces the typical environment where a GNSS receiver [17]
can operate. RF signals are simulated, taking into account the effects of receiver
motion, satellites motion and ionospheric and tropospheric effects. Several scenarios
can be considered, in which it is possible to set-up different environments with the
following characteristics:
• different GNSS and different signals, GPS L1, L2 and L5, GLONASS L1 and
L2 and several other regional systems (Figure 5.4);
• different components for each frequency band: C/A, P(Y), P, in case of GPS
(Figure 5.5);
• day of the year and time of the day, or GPS week number (Figure 5.3);
• the satellites in view (Figure 5.3);
• position, elevation, speed and velocity of the receiver (Figure 5.3);
• absolute power level of the different signals components (Figure 5.3);
• relative power levels between each signal component (Figure 5.6).
83
5 – Experimental analysis
Figure 5.2: The Spirent GSS 7700 signal generator available at the PLAN group.
84
5.1 – Description of hardware and software tools
Figure 5.3: Screenshot of the Spirent signal generator, main interface.
Figure 5.4: Screenshot of the Spirent signal generator, signals settings.
85
5 – Experimental analysis
Figure 5.5: Screenshot of the Spirent signal generator, signal components settings.
86
5.1 – Description of hardware and software tools
Figure 5.6: Screenshot of the Spirent signal generator, relative power levels settings.
87
5 – Experimental analysis
5.1.3
NI PXI-5660 Signal Analyzer, front-end
A front-end is needed to amplify, filter, down-convert and digitize both real and
simulated analog GPS signals. In the PLAN group a NI PXI-5660 Signal Analyzer
front-end is available [12]. This instrument is able to work in the range 9 kHz
– 2.7 GHz and acquire the signals with a bandwidth of about 22 MHz. In the
laboratory three NI front-ends are present; they can work synchronously and in
parallel, in order to process at the same time signals in different bands, for example
L1, L2 and L5.
A LNA first amplifies the signal, limiting the noise impact. After that, the signal
is down-converted to IF by a NI-5600 down-converter and then sampled by a NI5142 high spectral purity digitizer at a sample rate of 100 MHz. After this the
digital signal is re-sampled at frequencies up to 50 MHz. Figure 5.7 shows the three
signal analyzers. It is possible to recognize the input coaxial cable, the pre-amplifier,
a signals splitter and the three down-converters and digitizers.
A graphical interface, depicted in Figure 5.8, allows the configuration of several
parameters, such as the pathname of the files where the IF signal samples will be
stored, the carrier centre frequency, the sampling rate, the clock reference and the
duration of the data acquisition.
Figure 5.7: The NI PXI-5660 front-end available in the PLAN group.
88
5.1 – Description of hardware and software tools
Figure 5.8: Configuration window of the NI PXI-5660 front-end.
89
5 – Experimental analysis
5.2
5.2.1
Signals used for the experimental analysis
Hardware simulated signals
Different sets of GPS signals have been generated using the Spirent hardware generator. The main motivation behind this type of experiment is to dispose of signals
with an arbitrary power on the different components and thus to have the flexibility
required to prove the results obtained in Section 4.1.2. Moreover, the hardware simulator has been configured in order to modulate the signals with the unencrypted
P code instead of the P(Y) code; in this way it has been possible to process P code
data with GSNRxTM .
A block diagram showing the configuration adopted for the experiment is provided in Figure 5.9; an LNA is used to amplify the signal power. Using the two
of the three front-ends present in the NI signal analyzer, channel 1 and channel 3,
signals from both L1 and L2 frequencies have been acquired. The simulated visible
satellites are characterized by the SVID numbers 1, 8, 10, 13, 14, 20 and 23.
NI front-end
Ch 3
Spirent HW
simulator
LNA
Splitter
Ch 1
Figure 5.9: Configuration adopted for the data collection of hardware generated
signals.
In particular, three sets of data have been collected, with the following configuration:
1. Signals belonging to blocks IIR-M and IIF, and thus multicomponent signals
in both L1 and L2 bands. The same power level is set on all components, as
reported in Figure 5.6;
2. Signals belonging to blocks IIR-M and IIF, with nominal power levels, reported
in Table 4.3;
3. Signals belonging to blocks II, IIA and IR, and thus with a single component,
P signal, in the L2 frequency. The nominal power levels have been respected.
90
5.2 – Signals used for the experimental analysis
5.2.2
Real signals
Real GPS signals have been used to test the performance of the squaring codeless
technique under realistic conditions. The block diagram of the configuration adopted
during the data collection is reported in Figure 5.10. The signals have been collected
using NovAtel 702gg wide band antennas, placed on the rooftop of the CCIT building
at the University of Calgary, and then processed by the NI front-end, before being
stored on a hard drive. Both L1 and L2 components have been collected.
Antenna
NI front-end
Ch 3
Splitter
Ch 1
Figure 5.10: Configuration adopted for the data collection of real GPS signals.
The data have been collected on May 14, 2010, between 12 pm and 1 pm. The
skyplot of the visible GPS satellites is shown in Figure 5.11
Sky Plot
0°
30°
12
G12
G17
12
13
60°
12
G30
G20
G14
13
12
12
270°
12
G32
13
13
12
90°
90°
13
G11
12
G31
13
12
G22
180°
Figure 5.11: Skyplot of GPS satellites over Calgary on May 14, 2010, between
Station Calgary,Alberta North 51° 3' West 114° 4' Height 0m
Elevation cutoff 10° Obstacles 0%
Time 5/14/2010
12:00 - and
5/14/2010113:00
(UTC-6.0h)
Satellites 30 GPS 30
12 pm
pm.
91
Copyright (C) 2001 - 2008 by Trimble Navigation Limited.
G23 13
5 – Experimental analysis
5.2.3
Analysis with GSNRxTM
Some characteristic of each signal component, such as the C/N0 and the Doppler
frequency estimate, are obtained processing them with GSNRxTM . These values are
reported in the following tables and are used as reference values for the analysis of
the obtained results
It is noted that since the signals are changing over time, the parameters are
subject to variations. In particular the parameters reported in the tables are relative
to the instant when GSNRxTM starts operating in PLL mode.
Results for the hardware simulated signals described in Section 5.2.1 are shown
in Tables 5.1, 5.2 and 5.3.
Table 5.1: Summary of the characteristics of the 1st data set of GPS simulated
signals.
SVID
1
8
10
13
14
20
23
C/N0 of L1 C/A fd on L1
(dB−Hz)
(Hz)
47.3
48.9
49.9
50.9
50.0
47.8
51.4
-3892
-2621
-374
-2179
-3270
1254
-1583
fd on L2
(Hz)
-3032
-2042
-929
-1698
-2547
977
-1233
Table 5.2: Summary of the characteristics of the 2nd dataset of GPS simulated
signals.
SVID
1
8
10
13
14
20
23
C/N0 of L1 C/A fd on L1
(dB−Hz)
(Hz)
49.3
51.9
50.8
49.4
51.2
49.3
48.0
-3894
-2611
-376
-2175
-3269
1259
-1580
92
fd on L2
(Hz)
-3034
-2036
-293
-1695
-2547
981
-1232
5.2 – Signals used for the experimental analysis
Table 5.3: Summary of the characteristics of the 3rd data set of GPS simulated
signals.
SVID
C/N0 of L1 C/A fd on L1
(dB−Hz)
(Hz)
1
8
10
13
14
20
23
48.7
51.3
49.9
49.4
48.9
50.3
49.9
fd on L2
(Hz)
-3893
-2617
-375
-2177
-3269
1256
-1581
-3033
-2039
-292
-1696
-2548
979
-1232
The results for the real signals described in Section 5.2.2 are reported in Table
5.4. In particular, according to Table 4.2, satellites 1, 17 and 31 transmit also the
L2C signal on L2, that is thus processed by GSNRxTM . On the contrary, the other
SVs transmit only the P(Y) component on L2 that, being encrypted, cannot be
demodulated by GSNRxTM .
The results are shown in Table 5.4.
Table 5.4: Summary of the characteristics of the real GPS signals.
∗: Signal too weak.
NA: Signal not present.
SVID
1
11
14
17
20
22
23
30
31
32
C/N0
L1 C/A
(dB−Hz) fd (Hz)
40.3
46.8
48.4
39.3
47.8
41.0
41.7
44.4
50.6
49.5
3246
-1649
-2565
-729
2834
-3572
3218
854
965
1280
C/N0
L2 L2C
(dB−Hz) fd (Hz)
35.0
2527
NA
NA
*
NA
NA
NA
NA
44.6
739
NA
Common considerations can be drawn from the previous tables:
93
5 – Experimental analysis
• The values of the Doppler frequencies in the L1 band with respect to L2
are directly proportional to the ratio of the two centre frequencies1 . The
proportionality factor is thus fL1 /fL2 = 1575.42/1227.60 ' 1.28.
• In some cases, denoted with the symbol *, the C/N0 is too low and GSNRxTM
cannot track the signal. In particular this happens in the L2 frequency, where
the C/N0 is lower with respect to L1.
5.3
HW simulated signals tests
As theoretically proved in Section 4.2.2, the hardware generated signals belonging
to the 1st test are affected by signal power cancellation. Therefore tracking is not
possible. On the contrary, signals in the 2nd and 3rd tests give good tracking results,
since the power levels between the components respect the nominal values.
Figure 5.12 shows the correlator outputs in the case of tracking of the L1 signals
acquired in tests 1 and 2 respectively, with a coherent integration time equal to
100 ms and an equivalent bandwidth equal to 2 Hz. Clearly, in the first case, the
1
Correlator output
Correlator output
0.5
0
−0.5
−1
0.5
0
−0.5
Real part
Imaginary part
1000
2000 3000
Epochs
4000
Real part
Imaginary part
5000
(a) Same power
1000
2000 3000
Epochs
4000
5000
(b) Nominal power levels
Figure 5.12: Correlator output of a squaring PLL processing hardware generated
signals with different power levels on the quadra-phase components.
squaring PLL is not tracking the signal, whereas in the second case the real and
imaginary parts of the correlator output are well spaced, meaning that tracking is
properly working.
A further interesting experiment consists in comparing the performance of multicomponent signals, such as the L2 signals generated in test 2, and single component
1
Plus a term due to the ionosphere frequency divergence.
94
5.4 – Real signals tests
1
1
0.8
0.8
0.6
0.6
Correlator output
Correlator output
signals, such as L2 signals of test 3. In the first case, both the L2C and P components are present, whereas in the second case only the P signal is present. A
gain of about 6.8 dB is expected, as proved in Section 4.1.3. Figure 5.13 shows the
squaring PLL correlator outputs of the signals described above. The case of single
components signals shows a better separation between the in-phase and quadrature
components; the real and imaginary parts of the correlator output are more distant,
supporting the theoretical findings.
0.4
0.2
0
−0.2
−0.4
1000
2000
3000
Epochs
4000
0.2
0
−0.2
−0.4
Real part
Imaginary part
−0.6
0.4
Real part
Imaginary part
−0.6
5000
(a) L2C and P
1000
2000
3000
Epochs
4000
5000
(b) only P
Figure 5.13: Correlator output of a squaring PLL processing hardware generated
multicomponent and single component signals.
5.4
Real signals tests
The validity of the tracking codeless technique is finally verified processing the real
data described in Section 5.2.2. Several tests have been done in both L1 and L2
frequencies and the results are reported in the following. The tests differ from the
previously considered simulations because the input data are real and thus encrypted
signals are present. Moreover the C/N0 is lower with respect to the case of hardware
generated signals.
5.4.1
Codeless acquisition
Real signals are at first analyzed with the codeless acquisition technique described
in Section 2.3.2 and already exploited in Chapter 4 for hardware generated signals.
Since real GPS signals are characterized by a C/N0 much lower with respect to
simulated signals, the noise component is stronger and only the peaks corresponding
95
5 – Experimental analysis
to the signals with higher C/N0 emerge. In order to reduce the effect of noise, a
coherent integration time equal to 100 ms is used in the experiments.
The spectrum of the L1 signal squared is shown in Figure 5.14; the results
are compared with the reference data obtained through GSNRxTM , reported in
Table 5.4. As expected, only the signals of satellites number 11, 14, 20, 31 and 32,
characterized by a C/N0 higher that 45 dB−Hz, are strong enough to emerge from
the noise floor. In the other cases the signal peak is too weak with respect to the
noise floor.
Codeless acquisition
GSNRx
1.2
32
Normalized spectrum
1
11
0.8
0.6
31
14
20
0.4
30
0.2
0
−4000 −3000 −2000 −1000
0
1000 2000
Doppler frequency (Hz)
3000
4000
Figure 5.14: Spectrum of a real GPS signal in L1, after the squaring block, compared to the reference data obtained from GSNRxTM .
Figure 5.15 depicts the spectrum of the squared L2 signal. In this case the
situation is slightly worse because of several reasons:
• the signals in the L2 band are transmitted at a lower power;
• the powers of the quadra-phase components in L2 , when present, are closer,
as proved in Chapter 4. Therefore the power of the squared signal is lower;
• the NovAtel 702gg antenna has an lower gain in the L2 band.
The only peak clearly dominating the noise is the one corresponding to the signal
of SV 32. In fact this signal is characterized by a higher C/N0 . Moreover satellite
96
5.4 – Real signals tests
32 belongs to the block IIA, containing a single component signal in L2; therefore
the received power is higher than in the case of multicomponent signals, as proved
in Section 4.1.3.
Codeless acquisition
GSNRx
1.2
Normalized spectrum
1
32
0.8
30
0.6
0.4
0.2
0
−4000 −3000 −2000 −1000
0
1000 2000
Doppler frequency (Hz)
3000
4000
Figure 5.15: Spectrum of a real GPS signal in L2, after the squaring block, compared to the reference data obtained with GSNRxTM .
5.4.2
Codeless Tracking
The same plots described in Section 3.3.5 are used to test the loop performance.
The behaviour of the real and imaginary parts of the correlator output is a measure
of the distribution of the signal power in the in-phase and quadrature components.
If the PLL is correctly tracking the signal, most of the signal power is contained in
the real part of the correlator output whereas the imaginary part should be a zero
mean signal. The output of the loop filter corresponds to the Doppler frequency of
the signal and follows this value over time.
L1 signals
A plot of the correlator and filter outputs in the case of a standard PLL is shown
as a basis for comparison in Figure 5.16. The tracking is performed on signal 31,
characterized by a C/N0 of about 50.6 Hz, that is the strongest available. The
97
5 – Experimental analysis
coherent integration time is initially set to 1 ms and the bandwidth of the loop
to 10 Hz. After some oscillations in the first 1000 epochs, the Doppler frequency
estimate starts to converge. A single processing epoch corresponds to 1 ms of data.
At epoch 1909 the PLL achieves the synchronization with the navigation message
and the integration time is increased to 20 ms.
0.8
Real part
Imaginary part
965
0.4
Frequency (Hz)
Correlator output
0.6
0.2
0
−0.2
−0.4
−0.6
960
955
950
945
−0.8
500 1000 1500 2000 2500 3000 3500 4000
Epochs
(a) Correlator output
500 1000 1500 2000 2500 3000 3500 4000
Epochs
(b) Filter output
Figure 5.16: Performance of a standard tracking loop on L1 (signal 31).
The same signal is processed by a codeless squaring PLL. The initial Doppler
frequency value is taken from the GSNRxTM reference data, the integration time is
set to 150 ms and the equivalent bandwidth of the loop to 2 Hz. The correlator and
loop outputs are depicted in Figure 5.17.
The good input C/N0 and the high integration time allow the loop to correctly
track the signal: the real and imaginary parts of the correlator output are clearly
separated after a few thousands of epochs and the Doppler frequency estimate converges. Moreover the frequency estimate follows the variations in the signal in the
same way as in the standard case (plotted lighter in the background of the same
figure), proving that squaring tracking is successful.
However not all the signals present can be successfully tracked by the codeless
PLL. In particular, only signals 11, 14, 20, 31 and 32 give positive results. As
expected, they are exactly the ones emerging in the spectrum depicted in Figure
5.14. In Section 3.3.7, it has been shown that only signals with a C/N0 higher than
about 45 dB−Hz can be correctly tracked by a squaring PLL with an integration
time of at least 100 ms. Real data results are in good agreement with this finding;
in fact, among the available signals, only the ones with a C/N0 higher than this
threshold can be processed.
On the contrary, it is not possible to track weaker signals. For example, it is not
98
5.4 – Real signals tests
970
1
Standard PLL
Squaring PLL
968
Frequency (Hz)
Correlator output
0.5
0
−0.5
964
962
Real part
Imaginary part
−1
0
966
2000
4000
6000
Epochs
8000
960
0
10000
(a) Correlator output
2000
4000
6000
Epochs
8000
10000
(b) Filter output
Figure 5.17: Performance of a squaring tracking loop on L1 with Tc = 150 ms
(signal 31).
possible to track signal with PRN 30 that is characterized by a C/N0 lower than
45 dB−Hz. It is not possible to process this signal even with a coherent integration
time of 400 ms, as shown by the correlator and loop filter outputs in Figure 5.18.
In particular the estimate of the Doppler frequency diverges from the true value
(plotted lighter in the figure), obtained processing the signals with a standard PLL.
862
1
Standard PLL
Squaring PLL
860
858
Frequency (Hz)
Correlator output
0.5
0
854
852
850
−0.5
848
Real part
Imaginary part
−1
0
856
2000
4000
6000
Epochs
8000
10000
(a) Correlator output
846
0
2000
4000
6000
Epochs
8000
10000
(b) Filter output
Figure 5.18: Performance of a squaring tracking loop on L1 with Tc = 400 ms
(signal 30).
A measure of the improvement obtained by increasing the integration time is
99
5 – Experimental analysis
given by the plot of the correlator output in Figure 5.19, where the real and imaginary parts of the correlator output of a codeless PLL are shown for signal 31 with a
Tc = 10 ms. By comparing it with Figure 5.17(a), where a coherent integration time
equal to 150 ms was used, it emerges that in the case of low integration times, the
tracking is much more difficult, because of the greater amount of noise not filtered
by the I&D.
1
Correlator output
0.5
0
−0.5
Real part
Imaginary part
−1
0
2000
4000
6000
Epochs
8000
10000
Figure 5.19: Performance of a squaring tracking loop on L1 with Tc = 10 ms
(signal 31).
It is noted that without exploiting carrier aiding it is not possible to increase
the integration time at will. In fact, a Tc longer than 400 ms implies an equivalent
loop bandwidth lower than 1 Hz, in order to respect the loop design condition. This
will make tracking unfeasible because of the dynamics of the input signal and of the
uncertainty in the initial Doppler estimate.
L2 signals
As already stated in Section 5.4.1, in the L2 band only signal 32 has enough power
to dominate the noise. Figure 5.20 shows the correlator and filter outputs of the
squaring tracking of this signal. The integration time is equal to 200 ms and the
equivalent bandwidth is equal to 1.5 Hz. The PLL tracks correctly the signal, giving
a good estimate of the Doppler frequency. However this is the only signal correctly
processed by the squaring PLL.
The experimental results support the validity of the theoretical characterization
of codeless squaring PLLs proposed in Section 3.2 and are in good agreement with
the simulation findings of Sections 3.3 and 4.2. It can be stated that a codeless
squaring PLL is able to correctly track GPS signals, provided that:
• the C/N0 is sufficiently high, at least 45 dB−Hz;
100
5.4 – Real signals tests
1
999
998.5
Frequency (Hz)
Correlator output
0.5
0
−0.5
2000
4000
6000
Epochs
8000
997.5
997
996.5
996
Real part
Imaginary part
−1
0
998
10000
(a) Correlator output
995.5
0
2000
4000
6000
Epochs
8000
10000
(b) Filter output
Figure 5.20: Performance of a squaring tracking loop on L2 with Tc = 200 ms
(signal 32).
• the coherent integration time is sufficiently high. Its value should be chosen
according to the results in Section 3.3.4;
• the equivalent bandwidth of the loop is lower than a few Hertz, depending on
the value of Tc ;
• the initial estimate of the Doppler frequency is as accurate as possible; in any
case, the Doppler error should be lower than the equivalent loop bandwidth;
• the signals dynamics are limited.
101
Conclusion
In this chapter, some conclusions, summarizing the contents of the thesis, are drawn.
The main objective of the work was to provide a thorough analysis of codeless tracking algorithms for GNSS receivers, with particular focus on GPS encrypted signals.
It is shown, indeed, that although some works dealing with codeless techniques are
present in literature [25, 28] a detailed theoretical characterization was still missing.
Moreover, the results obtained in these works were empirical and only approximately
correct.
After giving a brief introduction on GNSS systems and on the receivers structure,
with particular attention to PLLs, the benefits of tracking encrypted signals and of
performing double frequency measurements have been outlined. The MLE for the
phase and the frequency of a signal with unknown spreading code has been derived
and it has been shown that a squaring tracking loop is a sub-optimal implementation
of this MLE criterion.
A theoretical characterization of the squaring PLL is given and supported by
Monte Carlo simulations, confirming the validity of the developed theory. In particular it has been found that the loss with respect to the standard case is not
constant, as claimed by [28], but increases as the C/N0 decreases. By considering
the variance of the noise at the PLL discriminator output, it has been shown that
the same performance obtained in standard tracking loops cannot be achieved in
squaring PLLs, unless the coherent integration time is increased up to hundreds of
milliseconds. Furthermore, the analysis of the tracking jitter led to the determination of a threshold in terms of C/N0 , under which a squaring codeless PLL is not
able to track GPS signals.
The case of multicomponent signals has been examined and it has been shown
that squaring signals containing quadra-phase components causes the reduction of
the useful signal power. It has been proved that the power of the squared signal is
proportional to the difference between the powers of the single components. These
results have then been verified by means of hardware generated signals.
Finally, an experimental analysis on real GPS signals has been conducted. The
results of codeless squaring tracking on real data are consistent with the theoretical
and simulation findings. It has been shown that, using a higher integration time
103
5 – Experimental analysis
and a narrower loop bandwidth, codeless tracking is possible even with signals characterized by (relatively) low C/N0 , further supporting the theoretical findings.
It is noted that, in the case of GPS P(Y) signals, a better performance can
be obtained considering semi-codeless techniques, in which a theoretical gain of
13 dB−Hz is expected. The analysis and implementation of these algorithms is left
as future work.
104
Appendix A
Proofs
A.1
A.1.1
Proofs related to the the ML criterion for the
codeless cost function in Section 2.3
Proof 1
N
−1
Y
2
1
1
2
p
f (Rcn ) =
exp − 2 r [n] + 2C cos (2πfD nTs + ϕ)
·
2
2σIF
(2πσIF
)
n=0
!
√
2Cr[n] cos(2πfD nTs + ϕ)
cosh
2
σIF
N
−1
Y
1
1
1 1
2
p
+ cos(4πfD nTs + 2ϕ)
·
=
exp − 2 r [n] + 2C
2
2σIF
2 2
(2πσIF
)
n=0
!
√
2Cr[n] cos(2πfD nTs + ϕ)
cosh
2
σIF
By taking the logarithm of the likelihood function and removing all the constant
terms, the following cost function is found:
C(fD ,ϕR) = ln
(N −1
Y
exp [− cos(4πfD nTs + 2ϕ)] ·
n=0
√
cosh
=
N
−1
X
(
ln
2Cr[n] cos(2πfD nTs + ϕ)
2
σIF
h
i
exp − cos(4πfD nTs + 2ϕ) +
n=0
105
!)
=
A – Proofs
√
cosh
=
N
−1
X
− cos(4πfD nTs + 2ϕ)+
ln cosh
=
!)
"
n=0
N
−1
X
2Cr[n] cos(2πfD nTs + ϕ)
2
σIF
!#
√
2Cr[n] cos(2πfD nTs + ϕ)
2
σIF
[− cos(4πfD nTs + 2ϕ)] +
n=0
N
−1
X
√
"
ln cosh
n=0
2Cr[n] cos(2πfD nTs + ϕ)
2
σIF
!#
.
The cosine term oscillates at a high frequency and is then is filtered out by the
summation. The expression to be minimized becomes:
N
−1
X
[ln cosh (r[n] cos(2πfD nTs + ϕ))] .
(A.1)
n=0
A.1.2
Proof 2
N
−1
X
ˆ
fD ,ϕ̂ = arg max
r2 [n] cos(4πfD nTs + 2ϕ)
fD ,ϕ
= arg max
fD ,ϕ
= arg max
fD ,ϕ
n=0
N
−1
X
n=0
N
−1
X
Re r2 [n]e−j(4πfD nTs +2ϕ)
Re r2 [n]e−j4πfD nTs e−j2ϕ
n=0
)
(N −1
X
= arg max Re
r2 [n]e−j4πfD nTs e−j2ϕ
fD ,ϕ
n=0
(N −1
)
X
= arg max Re
r2 [n]e−j4πfD nTs e−j2ϕ
fD ,ϕ
n=0jφ −j2ϕ = arg max Re Ae A e
fD ,ϕ
= arg max Re Ae(jφA −j2ϕ) .
fD ,ϕ
106
(A.2)
A.2 – Werner Formulae
A.2
Werner Formulae
sin α · cos β =
cos α · cos β =
sin α · sin β =
cos2 α =
sin2 α =
A.3
1
[sin (α + β) + sin (α − β)]
2
1
[cos (α + β) + cos (α − β)]
2
1
[cos (α − β) − cos (α + β)]
2
1
[1 + cos 2α]
2
1
[1 − cos 2α]
2
(A.3a)
(A.3b)
(A.3c)
(A.3d)
(A.3e)
Signal component after the I&D
Proof of Eq. (3.10) in Section 3.2.1:
N −1
1 X
C cos (4πfD nTs + 2ϕ) · e−j4πfL nTs −j2ϕL
N n=0
N −1 C X ej4πfD nTs +j2ϕ + e−j4πfD nTs −j2ϕ −j4πfL nTs −j2ϕL
=
·e
N n=0
2
N −1
C X j4π(fD −fL )nTs +j2(ϕ−ϕL )
e
=
+ e−j4π(fD +fL )nTs −j2(ϕ+ϕL ) .
2N n=0
Removing the term at high frequency (fd + fL ), and denoting ∆f = fD − fL and
∆ϕ = ϕ − ϕL , the following expression is obtained:
N −1
C X j4π∆f nTs +j2∆ϕ e
2N n=0
N −1
C j2∆ϕ X j4π∆f nTs e
e
=
2N
n=0
N −1
=
C j2∆ϕ X j4π∆f Ts n
e
e
2N
n=0
C j2∆ϕ 1 − ej4π∆f Ts N
e
=
2N
1 − ej4π∆f Ts
C j2∆ϕ ej2π∆f Ts N e−j2π∆f Ts N − ej2π∆f Ts N
e
=
ej2π∆f Ts e−j2π∆f Ts − ej2π∆f Ts
2N
107
A – Proofs
=
C j2∆ϕ j2π∆f Ts (N −1) sin (2πN ∆f Ts )
e
e
.
2
N sin (2π∆f )
Assuming that ∆f is a small quantity, the expression can be simplified, and assumes
the value
C j2∆ϕ j2π∆f (N −1)Ts
e
e
·1
2
C
= ej2π∆f (N −1)Ts +j2∆ϕ
2
C jφs
= e
2
A.4
(A.4)
Variance of the noise component after the
I&D
Proof of Eq. (3.13) in Section 3.2.1:
( N −1
1 Xh √
2
2 2Cd(nTs − τ )c(nTs − τ ) cos(2πfD nTs + ϕ)η[n] + η [n] ·
var
N n=0
)
−j4πf nTs −j2ϕ i
L
L
Re e
(
= var
N −1
1 Xh √
2
2 2Cd(nTs − τ )c(nTs − τ ) cos(2πfD nTs + ϕ)η[n] + η [n] ·
N n=0
)
i
cos(4πfL nTs + 2ϕL )
"
N −1
n √
1 X
= 2
var
2 2Cd(nTs − τ )c(nTs − τ ) cos(2πfD nTs + ϕ)η[n] + η 2 [n] ·
N n=0
#
o
cos(4πfL nTs + 2ϕL )
"
N −1
n √
o
1 X
var 2 2Cd(nTs − τ )c(nTs − τ ) cos(2πfD nTs + ϕ)η[n] + η 2 [n] ·
= 2
N n=0
#
cos2 (4πfL nTs + 2ϕL )
108
A.5 – Uncorrelation of the signal and noise terms at the output of the I&D
"
N −1
n √
o
1 X
var 2 2Cd(nTs − τ )c(nTs − τ ) cos(2πfD nTs + ϕ)η[n] + η 2 [n] ·
= 2
N n=0
#
1 1
+ cos(8πfL nTs + 4ϕL )
.
2 2
The cosine term oscillates at a high frequency and is then is filtered out by the
summation. The expression becomes:
N −1
n √
o
1 X
2
var
2
2Cd
[nT
−
τ
]
c
[nT
−
τ
]
cos
[2πf
nT
+
ϕ]η[n]
+
η
[n]
. (A.5)
s
s
D
s
2N 2 n=0
A.5
Uncorrelation of the signal and noise terms
at the output of the I&D
Proof of the uncorrelation of the signal term and the noise term at the output of
the I&D in Section 3.2.1.
√
Fixing in Eq. 3.13, x[n] = 2 2Cd(nTs − τ )c(nTs − τ ) cos (2πFd nTs + ϕ), the
terms x[n] and η[n] are uncorrelated:
E η 2 [n] · 2x[n]η[n] − E η 2 [n] · E [2x[n]η[n]]
= E η 2 [n] · 2x[n]η[n] − E η 2 [n] · 0
= 2x[n]E η 3 [n]
= 0,
(A.6)
because the third moment of a Gaussian random variable is equal to 0.
A.6
Normalized amplitude of the useful signal
Proof of Eq. 3.20 in Section 3.2.1:
C/2
Ac = q
σr2ID,η
= r
s
=
C/2
2
N02 BIF
N
+
2CN0 BIF
N
C 2N
.
2
4 (N02 BIF
+ 2CN0 BIF )
109
(A.7)
A – Proofs
Substituting N = Tc /Ts and BIF = 1/(2Ts ),
s
C 2 Tc /Ts
Ac =
4N02 (2T1 )2 + 8CN0 2T1 s
s
s
C 2 Tc
=
N02 T1s + 4CN0
s 2
C
Tc Ts
=
.
N0 1 + 4C/N0 Ts
110
(A.8)
Acronyms
A/D
Analog-to-Digital
A/S
Anti-Spoofing
AWGN
Additive White Gaussian Noise
BPSK
Binary Phase-Shifting Key
C/A
Coarse Acquisition
CCIT
Calgary Center for Innovative Technology
CDMA
Code Division Multiple Access
C/N0
Carrier-to-Noise density power ratio
DC
Direct Current
DFT
Discrete Fourier Transform
DLL
Delay Lock Loop
DoD
Department of Defence
DSSS
Direct-Sequence Spread Spectrum
E
Early
ESA
European Space Agency
FLL
Frequency Lock Loop
GLONASS
GLObal NAvigation Satellite System
GNSS
Global Navigation Satellite System
GPS
Global Positioning System
111
A – Proofs
GSNRxTM
GNSS Software Navigation Receiver
I&D
Integrate and Dump
IF
Intermediate Frequency
L
Late
L2C
L2 Civilian
LNA
Low Noise Amplifier
ML
Maximum Likelihood
MLE
Maximum Likelihood Estimator
NCO
Numerical Controlled Oscillator
NI
National Instruments
P
Precision
P
Prompt
RF
Radio Frequency
PLAN
Position Location And Navigation
PLL
Phase Lock Loop
PRN
Pseudo-Random Noise
PSD
Power Spectral Density
P(Y)
Precision encrypted
SIS
Signal-In-Space
SA
Selective Availability
SNR
Signal-to-Noise Ratio
SV
Satellite Vector
SVID
Satellite Vector IDentifier
UE
European Union
112
Bibliography
[1] H. Abidin. Fundamentals of GPS signals and data, pages 95 – 113. Bossler J.
D., 2002.
[2] M. Abramowitz and I.A. Stegun. Handbook of mathematical functions with
formulas, graphs, and mathematical tables. Dover publications, 1964.
[3] D. Borio. PLL: Tracking Jitter Analysis, 2009.
[4] D. Borio. Personal communication, plan group. June 2010.
[5] D. Borio and G. Lachapelle. A non-coherent architecture for GNSS digital
tracking loops. Annales des Télécommunications, 64(9–10):601–614, 2009.
[6] D. Borio and C. O’Driscoll. GNSS Receiver Design. Technical Report ENGO
638, PLAN, Geomatics Engineering department, University of Calgary, 2009.
[7] C. Chiasserini. Ad hoc and sensor networks course notes. Technical report,
Gruppo reti, Politecnico di Torino, 2010.
[8] R. Conley, R. Cosentino, C. J. Hegarty, E. D. Kaplan, J. L. Leva, M. U.
De Haag, and K. Van Dyke. Understanding GPS: Principles and Applications
Second Edition, chapter 6. Kaplan, E. and Hegarty, C., 2006.
[9] P. Crosta. A novel approach to the performance evaluation of an arctangent
discriminator for phase locked loop and application to the carrier tracking of the
ionospheric scintillation. In Proceedings of ENC GNSS 2009, volume seession
B1, Napoli, Italy, 3 – 9 September 2009.
[10] F. Dovis and P. Mulassano. Introduction to Global Navigation Satellite Systems.
2009.
[11] C. E. Dunn, D. C. Jefferson, S. M. Lichten, J. B. Thomas, Y. Vigue, and
L. E. Young. Time and position accuracy using codeless GPS. In 25th Annual
PTTI Applications and Planning Meeting, pages 169 – 179, Marina Del Rey,
CA, USA, 29 November - 2 December 1993. Goddard Space Flight Center
(Greenbelt, Md).
[12] National Instruments. NI PXI–5660 Data sheet. 2008.
[13] R.B. Langley. GPS receiver system noise. GPS world, 8(6):40–45, 1997.
[14] P. Misra and P. Enge. Global positioning system: signals, measurements, and
performance. Ganga-Jamuna Press Lincoln, USA, 2001.
113
Bibliography
[15] GPS Navstar. Navstar GPS Space Segment/Navigation User Interfaces. Interface Specification IS-GPS-200D, 2004.
[16] C. ODriscoll, D. Borio, M.G. Petovello, T. Williams, and G. Lachapelle. The
Soft Approach: A Recipe for a Multi-System, Multi-Frequency GNSS Receiver.
Inside GNSS Magazine, 4(5):46 – 51, 2009.
[17] Spirent Communications Plc. SimGEN USER MANUAL. (DGP00686AAA),
April 2008.
[18] G. Povero. GNSS Introduction course notes, Link Budget. Technical report,
Navigation Lab - ISMB, 2009.
[19] N. Samama. Global positioning: technologies and performance. WileyInterscience, 2008.
[20] L. Schmidt and R. Kramer. Effects of ionospheric delay estimation on time
transfer via GPS. In Proceedings of ION GPS, pages 1073–1079, 1999.
[21] S.A. Stephens and J.B. Thomas.
[22] J.B.Y. Tsui. Fundamentals of global positioning system receivers: a software
approach. Wiley-Interscience, 2005.
[23] U.S. Naval Observatory. Block II satellites information. ftp://tycho.usno.
navy.mil/pub/gps/gpsb2.txt, July 2010.
[24] U.S. Naval Observatory. Current GPS constellation. http://tycho.usno.
navy.mil/gpscurr.html, July 2010.
[25] A. J. Van Dierendonck. Understanding GPS receiver technology: A tutorial on
what those words mean. In International Symposium on Kinematic Systems in
Geodesy, Geomatics and Navigation - KIS 94, pages 15 – 24, Banff, Alberta,
Canada, 30 August - 2 September 1994. University of Calgary, department of
Geomatics Engineering.
[26] A.J. Van Dierendonck, P. Fenton, and T. Ford. Theory and performance of
narrow correlator spacing in a GPS receiver. Navigation, 39(3):265–283, 1992.
[27] P. W. Ward. Performance Comparison between FLL, PLL and a Novel FLLAssisted-PLL Carrier Tracking Loop Under RF Interference Conditions. In
Proceedings of the 11th ION/GPS, pages 783 – 795, Nashville, TN, 1998.
[28] K. T. Woo. Optimum Semi-Codeless Carrier Phase Tracking of L2. In Proceedings of ION GPS, volume 47, pages 289 – 306, Nashville TN, USA, 14 – 17
September 1999. U.S. Institute of Navigation, Fairfax.
[29] K. T. Woo, J. O. Quan, and U. Cheng. System and method for demodulating
global positioning system signals, September 2000.
114
Download