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