<<

Evaluation of a Single Frequency Software Receiver

THESIS

Presented in Partial Fulfillment of the Requirements for the Degree Master of Science in the Graduate School of The Ohio State University

By

Seyedfarhad Mirkazemi, M.S.

Graduate Program in Electrical and Computer Science

The Ohio State University

2019

Master's Examination Committee:

Dr. Lee Carson Potter, Advisor

Dr. Emre Ertin

Copyrighted by

Seyedfarhad Mirkazemi

2019

Abstract

Principles of satellite navigation will be reviewed. An existing open source single- frequency C/A code Global Positioning System (GPS) software receiver is investigated in terms of observable generation. Maximum-likelihood detection and estimation of the received signal is formulated. Experimental results using Universal

Software Radio Peripheral (USRP) platform is compared to a benchmark double difference static solution provided by Online Positioning User Service (OPUS) based on observations from a Topcon Net-G3 geodetic-grade receiver. The final horizontal

RMSE is 6.865 meter with standard deviation of 4.144 meter for a recorded signal at 5 Msps.

ii

To My Invisible Partner

iii

Acknowledgments

I would like to express my appreciation to Professor Lee Potter for his logistic support and for teaching me principles of signal processing.

I cannot forget Professor Christopher Jekeli generous guidance, helping me understand complicated math problems.

None of the steps towards my second graduate degree would have been possible without financial support of Professor Dorota Brzezinska.

My sincere thanks go to Dr. Kyle Snow who open-mindedly trusted me and gave me access to the Topcon hardware facilities during and after my internship solely for the purpose of my research.

iv

Vita

2004 ...... Dr. Hesabi High School

2009 ...... B.S. Geodetic Engineering, National

Geographic Organization of Iran

2017 ...... M.S. Geodetic Engineering, The Ohio

State University

2017 to present ...... PHD Geodetic Engineering, The Ohio

State University

2015 to present ...... Graduate Teaching Associate,

Department of Civil and Geodetic

Engineering, The Ohio State University

Fields of Study

Major Field: Electrical and Computer Engineering

v

Table of Contents

Abstract ...... ii

Acknowledgments ...... iv

Vita ...... v

List of Tables ...... viii

List of Figures ...... ix

Chapter 1: GNSS Positioning Principles ...... 11

1.1 Introduction ...... 11

1.2 GNSS Reference Frames ...... 14

1.2.1 GNSS ...... 14

1.2.2 GNSS Time Reference System...... 27

1.3 GNSS Errors ...... 30

1.3.1 Satellite Dependent Errors ...... 30

vi

1.3.2 Channel Dependent Error ...... 37

1.3.3 Receiver Dependent Error ...... 45

1.4 GNSS Access and Modulation Schemes ...... 51

Chapter 2: GNSS Measurement ...... 60

2.1 Signal Acquisition ...... 60

2.2 Signal Tracking ...... 70

2.3 Navigation Message Decoding ...... 83

2.4 Navigation Solution ...... 89

2.5 Conclusion ...... 94

Bibliography ...... 97

Appendix A. Hardware Specifications and Setups ...... 99

Appendix B. Acquisition and Tracking Results & Algorithms ...... 104

vii

List of Tables

Table 1.Terrestrial Reference Systems for GNSS ...... 19

Table 2.GNSS Orbit Specifications ...... 24

Table 3. Modulation Scheme for GNSS at center frequency of 1575.42 MHz ...... 59

Table 4 Statistics of the final solution for 36 seconds period and final solution computed at rate of 100 ms ...... 94

Table 5 Channels statistics over period of 36 seconds ...... 106

viii

List of Figures

Figure 1. Ellipsoidal Geometry ...... 16

Figure 2. Keplerian Orbit...... 21

Figure 3. Schematic Spread BPSK and BOC Modulated Signal ...... 59

Figure 4.Time representation of a millisecond of recorded signal ...... 63

Figure 5. Frequency representation of a millisecond of recorded signal ...... 64

Figure 6.Acquisition Search Space Channel #1 ...... 69

Figure 7. Schematic Diagram of GNSS Signal Acquisition Based on GLRT ...... 70

Figure 8. Block Diagram of Early Minus Late Power DLL ...... 75

Figure 9. First 6 Seconds of Output of Early Minus Late Power DLL Discriminator for Channel #1...... 76

Figure 10. Open Loop Initial Doppler Estimation/Reacquisition ...... 78

Figure 11. Block Diagram of Costas PLL ...... 81

Figure 12. First Second of Output of Costas PLL Discriminator for Channel #1 . 83

Figure 13. Structure of GPS NAV Data ...... 85 ix

Figure 14. First 15 Second of Demodulated Data Bits for Channel #1 ...... 86

Figure 15. Detected Sub-frames Using The Preamble for Channel #1 ...... 87

Figure 16. Final Solution Error with Respect to Topcon Net-G3 Hardware Receiver

...... 95

Figure 17. Location of the Antenna on the Rooftop ...... 96

Figure 18 Acquisition Plots ...... 105

Figure 19 Evolution of DLL Discriminators ...... 107

Figure 20 Evolution of early, late and prompt correlators ...... 108

Figure 21 Evolution of PLL discriminators ...... 109

x

Chapter 1: GNSS Positioning Principles

1.1 Introduction

Long before technology took over, mathematics of positioning and timing have been

developed and practiced within the oldest and most unknown science of the earth,

by means of celestial observations. The basic idea is straightforward,

referencing to an external celestial object described in a pre-defined barycenteric

celestial reference system (BCRS) followed by a set of transformations to a secondary

Earth-Centered Earth-Fixed (ECEF) reference frame to solve for observer position

and to determine non-uniform periodic variations of the second coordinate system

with respect to the first to scale time. By the advent of engineering, however,

technological tools for imitating geodetic astronomy were invented and horizons for

location based applications and services were expanded. Global Positioning System

(GPS) as the first substantiation of the family of Global Navigation Satellite Systems

(GNSS) is a realization of such a perspective to address the high demands of universal

11

solution for positioning applications. Russia was the second contributor to launch its constellation called (GLONASS) to space. European Union and China have joined the satellite navigation community and by the time of writing this report European

(Galileo) has 15 global satellites in orbit and China’s (BeiDou) has 18 satellites in orbit for global positioning.

Satellite positioning uses Time of Arrival (TOA) among other means of location determination defined as delay of a radio signal transmitted by an emitter from

𝑘𝑘 𝑟𝑟 a Satellite Vehicle (SV) at satellite𝜏𝜏 time when received at the User Equipment

𝑘𝑘 (UE) time on or above the ground 𝑡𝑡

𝑟𝑟 𝑡𝑡 (1.1) 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑟𝑟 𝜏𝜏 (𝑡𝑡) = 𝑡𝑡 (𝑡𝑡) − 𝑡𝑡 (𝑡𝑡) with the time argument to indicate that receiver and satellite time are themselves

function of true time. The second quantity observed at the UE is the phase difference between the emitter and receiver generated carrier of the radio signal at the receiver time defined as the following

𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑖𝑖 𝜙𝜙 (𝑡𝑡) = 𝜙𝜙 (𝑡𝑡) − 𝜙𝜙 �𝑡𝑡 − 𝜏𝜏 (𝑡𝑡)� − 𝑁𝑁 (𝑡𝑡) (1.2)

𝑘𝑘 𝑑𝑑 𝑟𝑟 𝑓𝑓 (𝑡𝑡) 𝜏𝜏̇ (𝑡𝑡) = − 0 𝑓𝑓

12

where , and are the initial carrier phase of the signal

𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑖𝑖 at the emitter,𝜙𝜙 (𝑡𝑡 − 𝜏𝜏 carrier(𝑡𝑡)), 𝜙𝜙 phase(𝑡𝑡) 𝜙𝜙 of( 𝑡𝑡the) signal𝑁𝑁 (at𝑡𝑡) the receiver, carrier phase difference and

unknown integer number of the carrier cycle, the so-called Integer Ambiguity (IA)

in satellite navigation jargon, as a function of time. , and are time

𝑘𝑘 𝑟𝑟 𝑑𝑑 0 derivative of the signal delay, instantaneous doppler𝜏𝜏 ̇frequency(𝑡𝑡) 𝑓𝑓 (𝑡𝑡) due 𝑓𝑓to satellite- receiver movement and nominal carrier frequency respectively. Units in 1.1, 1.2 are

in second, cycle and second per second and if one could measure any of the three

quantities at the receiver, conversion to distance or Range, and velocity or range

rate is a simple multiplication by the speed of light (c) assuming electromagnetic

wave propagated through a vacuum or wavelength associated with radio carrier

frequency, respectively.

By definition,𝜆𝜆 Euclidian -norm of satellite-receiver pairs, in can be defined

2 𝑘𝑘 3 ℓ 𝑟𝑟 as ‖𝑟𝑟 ‖ ℝ

3 (1.3) 𝑘𝑘 𝑘𝑘 2 𝑟𝑟 𝑖𝑖 𝑖𝑖,𝑟𝑟 ‖𝑟𝑟 ‖ = ��𝑖𝑖=1 �𝑋𝑋 − 𝑋𝑋 � where are the -th component of -th satellite and -th receiver coordinates

𝑘𝑘 𝑖𝑖 𝑖𝑖,𝑟𝑟 which 𝑋𝑋can, 𝑋𝑋be used to constitute𝑖𝑖 our mathematical𝑘𝑘 model relating𝑟𝑟 coordinates of the receiver and satellite to the range measured from the previous step. Clearly, the steps

13

above require definition of a coordinate system. Another important problem is the

definition of time reference for which one must introduce an origin and more

importantly scale. In the next subsection, we briefly introduce common spatial and

time reference systems that are used in satellite positioning.

1.2 GNSS Reference Frames

1.2.1 GNSS Spatial Reference System

From global perspective four criteria must be accessible when establishing a

coordinate system for any measurement with respect to earth namely origin, orientation, scale and whether it is fixed or rotating with it. As far as satellite

positioning is concerned, we are to define two coordinate system; one inertial

coordinate system in which we can define the satellite coordinates and one rotating with the earth rotation to be stable and global for solving for user position. From geometrical point of view, the most suitable surface that describes best the shape of the earth which coincides with our space observation is an of revolution, which is flattened at poles and formed by rotating an about its minor axis.

Three parameters, first eccentricity, and semi-major axis are of interest

14

when doing geometry on the surface of an ellipse but only the last two are necessary

to define one; these parameters are related as the following

2 2 (1.4) 2 ′ 𝑎𝑎 − 𝑏𝑏 𝑎𝑎 − 𝑏𝑏 where and are semi𝑓𝑓 =-major and, 𝑒𝑒 semi= -minor2 ,axe𝐸𝐸 =s and𝐸𝐸 = 𝑎𝑎is𝑎𝑎 flattening parameter, 𝑎𝑎 𝑎𝑎 and is𝑎𝑎 first 𝑏𝑏eccentricity. The parameters and are 𝑓𝑓 arbitrary plane

′ focal 𝑒𝑒 points. With respect to an ellipsoid𝐸𝐸 with𝐸𝐸 given parameters, Geodetic

Coordinates (GC) form Geodetic Coordinate System (GCS), which resemble the

notion of spherical coordinate system if we used a sphere instead. Now, we can

formulate transformation between the Cartesian coordinate system to geodetic

coordinate system through the following

𝑎𝑎2 2 𝑁𝑁 = �1 − 𝑒𝑒 sin 𝜑𝜑 𝑥𝑥 = (𝑁𝑁 + ℎ) cos 𝜑𝜑 cos 𝜆𝜆 (1.5) 𝑦𝑦 = (𝑁𝑁 + ℎ) cos 𝜑𝜑 sin 𝜆𝜆 2 𝑧𝑧 = [𝑁𝑁(1 − 𝑒𝑒 ) + ℎ] sin 𝜑𝜑 Above, is geodetic , is geodetic , is geodetic height in the direction𝜑𝜑 of normal or perpendicular 𝜆𝜆 to the ellipsoid at ℎthe specific point below or above it and is radius of curvature of ellipsoid in the same direction as the geodetic height or perpendicular𝑁𝑁 to the elliptical meridian plane.

15

Figure 1 shows the ellipsoidal geometry and the definition of geodetic coordinates with respect to the three axes and if for instance, one cut across the ellipsoid at point

on the ground having geodetic longitude of , the resulting ellipse passing through

° 𝐴𝐴 the axes and is called elliptical meridian 0 plane of that point.

1 3 𝑥𝑥 𝑥𝑥

3 𝑥𝑥

rotational axis rotational 𝐴𝐴

ℎ 𝑏𝑏

′ 1 𝑎𝑎 𝑥𝑥 𝐸𝐸 𝜑𝜑

𝑁𝑁 𝐸𝐸 𝜆𝜆

Figure 1. Ellipsoidal Geometry 2 𝑥𝑥

Few important observations are as follows: 1. geodetic latitude at a point is measured

from the to the perpendicular to the elliptical plane passes through the equator and not the origin. 2. geodetic longitude is the angle measured counterclockwise on equator or parallel to equator as in the spherical case. 3. third axis is usually placed in the direction of rotation; the plane spanned by and

𝑥𝑥1 𝑥𝑥2 bases is called equator.

16

The inverse transformation is as follows (for )

𝑧𝑧 ≠ 0

−1 𝑦𝑦 𝜆𝜆 = tan , (1.6) 𝑥𝑥 2 −1 𝑧𝑧 𝑒𝑒 𝑁𝑁 sin 𝜑𝜑(𝑖𝑖 − 1) 𝜑𝜑(𝑖𝑖) = tan � 2 2 �1 + �� with first iteration as �𝑥𝑥 + 𝑦𝑦 𝑧𝑧

2 −1 𝑧𝑧 𝑒𝑒 2 𝜑𝜑(𝑖𝑖) = tan � 2 2 �1 + �� where the initial latitude guess is to �be𝑥𝑥 on+ the𝑦𝑦 ellipsoid1 − (𝑒𝑒 ) and final latitude is

used to solve for geodetic height ℎ = 0

(1.7)

2 2 2 2 ℎ = ��𝑥𝑥 + 𝑦𝑦 � cos 𝜑𝜑 + 𝑧𝑧 sin 𝜑𝜑 − 𝑎𝑎�1 − 𝑒𝑒 𝑠𝑠𝑠𝑠𝑠𝑠 𝜑𝜑 . Now that the elements of a geodetic coordinate system and its direct and inverse

transformation to Cartesian coordinate system has been established, we may

introduce particular realizations of the geodetic coordinate system along with

corresponding ellipsoid parameters and set of conventions that are in use in satellite

positioning systems.

International Earth Rotation Services (IERS) observes Earth rotation parameters

with respect to an International Celestial Reference System (ICRS) which is stable

(since it is fixed to the location of celestial objects such as stars). It measures Earth orientation irregularities mostly due to internal change of distribution of mass or 17 external forces from celestial bodies known as Precession and Nutation and therefore is able to provide transformation parameters to an International Terrestrial

Coordinate System (ITRS). IERS convention for orientation of an ITRS is as follow; third axis coincides with Earth mean spin axis with mean pole adopted as the average of true pole by celestial observations over 6 years named Conventional International

Origin (CIO), first axis aligned with a prime meridian, determined astronomically by the one passing through Greenwich observatory; and, second axis to create a right-handed coordinate system. A natural origin for a global coordinate system to be called Geocentric was remained unrealizable until last the 40 years where center of mass of the Earth was realized using Earth-orbiting satellite tracking and thus an average of the observation can be used as the origin. It is worth noting that all these definitions and conventions of Coordinate systems have to be actually realized by occupying actual points on the ground called reference stations and performing geodetic or celestial or satellite observations in order to form a Geodetic Frame or

Datum. The scale for an ITRS conventionally is defined by SI meter, which is based on the adopted speed of light in vacuum and is related to SI definition of second.

Overall, seven parameters, three rotations, three translation and one scale is to be

18

provided to move from an old ITRF to a new ITRF from one epoch to another epoch

in time.

GNSS GPS GLONASS Galileo BeiDou Constellation

Reference WGS84 PZ-90.11 GTRF BDCS Ellipsoid

Semi-major 6378137.0(m) 6378136.0(m) 6378136.0(m) 6378137.0(m)

(𝒂𝒂) Flattening 298.257223563 298.257839303 298.257839303 298.257222101

𝟏𝟏 Geocentric𝒇𝒇 3.986005×1014 3.9860044×1014 3.986004418×1014 3.986004418×1014 Gravitational Constant 3 3 3 3 m2 m2 m2 m2 Nominal Mean 7.2921151467( ) 7.292115( ) 7.2921151467( ) 7.292115( ) (𝝁𝝁) s s s s Earth’s Rotation -5 rad -5 rad -5 rad -5 rad Rate ×10 ( ) ×10 ( ) ×10 ( ) ×10 ( ) s s s s Table 1.Terrestrial Reference Systems for GNSS 𝒆𝒆 𝛀𝛀̇

Given in the Table 1 are ellipsoidal parameters and their associated gravitational

and rotational parameter for different TRS used in the four GNSS constellations. As

discussed earlier, TRS reference system is a rotating coordinate system that is also

called Earth-Centered Earth-Fixed (ECEF) coordinate system. A non-rotating version that is named Earth-Centered Inertial (ECI) coordinate system, which may be defined to be coincident with the ECEF coordinate at time , has to be adopted

𝑘𝑘 𝑡𝑡 19

first for orbit determination of the satellite. This is worth noting here that to account

for Earth rotation effect while signal propagating in the space,

coordinates of an SV, whose signal is received at

𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑟𝑟 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑟𝑟 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑟𝑟 time𝑥𝑥 ( 𝑡𝑡at) ,the𝑦𝑦 UE (has𝑡𝑡 ), 𝑧𝑧to be transformed(𝑡𝑡 ) backward in time to be consistent with the

𝑟𝑟 ECEF𝑡𝑡 coordinates at

𝑘𝑘 𝑡𝑡 𝑘𝑘 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑥𝑥 (𝑡𝑡𝑘𝑘 ) ⎡ 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 ⎤ ⎢𝑦𝑦 (𝑡𝑡𝑘𝑘)⎥ 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 ⎣𝑧𝑧 (𝑡𝑡 )⎦ 𝑘𝑘 𝑘𝑘 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑟𝑟 (1.8) ̇ 𝑟𝑟 ̇ 𝑟𝑟 𝑥𝑥 (𝑡𝑡 ) cos 𝛀𝛀(𝑡𝑡 − 𝑡𝑡𝑘𝑘 ) − sin 𝛀𝛀(𝑡𝑡 − 𝑘𝑘𝑡𝑡 ) 0 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑟𝑟 = ⎡ ̇ 𝑟𝑟 ̇ 𝑟𝑟 ⎤ ⎡𝑦𝑦 (𝑡𝑡 )⎤ ⎢sin 𝛀𝛀(𝑡𝑡 − 𝑡𝑡 ) cos 𝛀𝛀(𝑡𝑡 − 𝑡𝑡 ) 0⎥ ⎢ 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑟𝑟 ⎥ ⎣ 0 0 1⎦ ⎣𝑧𝑧 (𝑡𝑡 )⎦ where , is the mean Earth rotation rate and this phenomenon is known as Sagnac effect. ΩFinallẏ , we should briefly introduce the basics of Keplerian mechanics, as satellite ECEF coordinates are computed based on the broadcast orbit parameters in the navigation message. Let us now define the orbit parameters and their relation with satellite coordinates.

Based on Kepler’s laws of two-body planetary motion, the radius vector (from the earth to satellite) sweeps a constant area per unit time interval. Another property is that the square of the orbital period increases with the third power of mean geocentric distance to satellite.

20

( ) = 𝑘𝑘 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝐸𝐸𝐸𝐸𝐸𝐸 𝑍𝑍 𝑡𝑡 𝑍𝑍 𝜂𝜂

Perigee 𝑟𝑟

𝜁𝜁 𝜈𝜈

𝜔𝜔 ( ) = 𝑘𝑘 𝐶𝐶 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝐸𝐸𝐸𝐸𝐸𝐸 ( ) = 𝑖𝑖 𝑌𝑌 𝑡𝑡 𝑌𝑌

𝑘𝑘 Ω 𝑋𝑋𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑡𝑡 𝑋𝑋𝐸𝐸𝐸𝐸𝐸𝐸 𝐾𝐾 𝜉𝜉 Figure 2. Keplerian Orbit

According to [4], in analytic form, we may solve a differential equation associated with two-body motion as follows

2 (1.9) 𝑑𝑑 𝑟𝑟⃗ 𝐺𝐺𝐺𝐺 where is gravitational𝑎𝑎 = constant;2 = − 3 us𝑟𝑟ing ⃗ the Earth gravitational 𝑑𝑑𝑑𝑑 𝑟𝑟 potential𝐺𝐺𝐺𝐺 , this can be written as

𝑉𝑉 (𝑟𝑟, Θ, 𝜆𝜆) 2

𝑑𝑑 2𝑟𝑟⃗ as for two-body motion . In the= case∇𝑉𝑉 of true satellite motion, is 𝑑𝑑𝑑𝑑 𝐺𝐺𝐺𝐺 𝑟𝑟 modeled based on spherical 𝑉𝑉 = harmonic series as follows 𝑉𝑉 (𝑟𝑟, Θ, 𝜆𝜆)

21

𝐺𝐺𝐺𝐺 𝑉𝑉 (𝑟𝑟, Θ, 𝜆𝜆) = �1 𝑟𝑟 𝑁𝑁 𝑛𝑛 𝑛𝑛 𝑎𝑎 𝑛𝑛𝑛𝑛 𝑛𝑛𝑛𝑛 + � � � � 𝑃𝑃̅ (𝑐𝑐𝑐𝑐𝑐𝑐Θ)[𝐶𝐶 cos (𝑚𝑚𝑚𝑚) (1.10) 𝑛𝑛=2 𝑚𝑚=0 𝑟𝑟 𝑛𝑛𝑛𝑛 + 𝑆𝑆 𝑠𝑠𝑠𝑠𝑠𝑠(𝑚𝑚𝑚𝑚)]� with normalized associated Legendre functions and normalized

𝑛𝑛𝑛𝑛 𝑛𝑛𝑛𝑛 𝑛𝑛𝑛𝑛 𝑃𝑃̅ coefficients and ( ) are geocentric co-latitude and𝐶𝐶 longitude, 𝑆𝑆 of the point located at the distance Θ from, 𝜆𝜆 the origin and mean equatorial radius of the

𝑟𝑟 𝑎𝑎 Earth. The maximum index, of the first summation depends on the model that is accompanied with the reference 𝑁𝑁 ellipsoid; for example, EGM96 that associates with

WGS84 ellipsoid, provides spherical harmonics up to order and degree of 360 but for GPS orbit computations coefficients are used through degree and order𝑁𝑁 of= 12.

In the model above, we ignored perturbation due to third-body gravitation from sun and plus solar radiation pressure and some additional forces such as satellite outgassing and earth tidal variations, which can all be combined in a perturbing acceleration so that the equation of motion reads

𝑑𝑑 𝑎𝑎 2 (1.11) 𝑑𝑑 𝑟𝑟⃗ 𝑑𝑑 2 = ∇𝑉𝑉 + 𝑎𝑎 𝑑𝑑𝑑𝑑 Although we can solve the fully perturbed equation of motion, taking into consideration precession, nutation and other forces, orbital parameters given in the

22

navigation message will typically be solved for two-body equation of motion using classical solution to the differential equation that derives six integrals of motion known as Keplerian orbital parameters which can be computed numerically. Given a reference time which is also called ephemeris time with the true position and velocity of the satellite known (initial condition). As time progresses, knowing the perturbation characterized by second order coefficients (given in the navigation message), we are able to compute the position of satellite in orbital coordinate system. From the Figure 2, , , are orbit inclination, argument of perigee and right ascension (longitude) 𝑖𝑖of 𝜔𝜔 ascending Ω node that forms three orientation parameters. Perigee is the closest distance from the𝐾𝐾 satellite to the center of Earth as opposed to Apogee, which has the furthest distance. is the point where the satellite pass through the equatorial plane. Other three orbit𝐾𝐾 shape parameters or shape parameters are , , known as eccentricity, orbit radius and mean anomaly.

The indicate the 𝑎𝑎orientation 𝑒𝑒 𝑀𝑀 of the orbital coordinate system as towards , perpendicular𝜉𝜉, 𝜁𝜁 at the orbital plane centered at respectively and to make a right𝐾𝐾 handed coordinate system. It is worth nothing𝐶𝐶 it has been observed𝜂𝜂 that there are two short and long period perturbations associated with and a short period with .

𝑒𝑒 Table 2 shows orbit specifications for various GNSS constellation. 𝑎𝑎

23

GNSS GPS GLONASS Galileo BeiDou(MEO) Constellation Orbit Period 11 h 58 min 11 h 16 min 14 h 05 min 12 h 53 min

26560 Km 25510 Km 29600 Km 27910 Km

Nominal𝑎𝑎 Altitude 20180 Km 19130 Km 23220 Km 21528 Km Less than0.02 Less than 0.02 Less than 0.02 Less than 0.02

𝑒𝑒 55 Degree 64.8 Degree 56 Degree 55 Degree

Operational𝑖𝑖 SV#, Orbital Plane# 31,6 24,3 22,3 18,3 (3/12/2019) Table 2.GNSS Orbit Specifications

Along with the six orbit parameters, harmonic cosine and sine coefficients of second order, accompanied to model perturbations in argument

𝑖𝑖𝑖𝑖 𝑢𝑢𝑢𝑢 𝑟𝑟𝑟𝑟 𝑖𝑖𝑖𝑖 𝑢𝑢𝑢𝑢 𝑟𝑟𝑟𝑟 of perigee𝐶𝐶 , 𝐶𝐶or ,latitude𝐶𝐶 , 𝐶𝐶 , , 𝐶𝐶orbit, 𝐶𝐶 radius and orbit inclination. The accuracy of the

broadcast ephemeris is in the range of 1-2 meters. For precise positioning applications

with centimeter accuracy and with single receiver known as precise point positioning

(PPP), one may use precise orbit product provided by organizations such as

International GNSS Services (IGS), which are accurate to centimeter level.

According to [11], computation of the satellite position at time in ECEF is based

𝑘𝑘 on received ephemeris which is designed to be used from epoch𝑡𝑡 of reference

𝑡𝑡𝑜𝑜𝑜𝑜 24

included in the navigation message. Given transmit time one can compute the

𝑘𝑘 elapsed time from 𝑡𝑡

𝑜𝑜𝑜𝑜 𝑡𝑡 (1.12) 𝑘𝑘 𝑘𝑘 𝑜𝑜𝑜𝑜 𝑡𝑡 = 𝑡𝑡 − 𝑡𝑡 Computing the mean motion (in ) from orbit semi major axis and

rad gravitational constant which gets corrected ⁄sec with from navigation message to compute mean anomaly𝜇𝜇 (in ) Δ𝑛𝑛

𝑟𝑟𝑟𝑟𝑟𝑟

0 𝜇𝜇 𝑛𝑛 = � 3 , (1.13) 𝑎𝑎 𝑘𝑘 0 0 𝑘𝑘 A useful axillary variable 𝑀𝑀 known= 𝑀𝑀 as+ eccentric(𝑛𝑛 + Δ 𝑛𝑛anomaly)𝑡𝑡 can be computed from the

𝑘𝑘 iteratively as follows 𝐸𝐸

𝑘𝑘 𝑀𝑀

𝑘𝑘 𝑘𝑘 𝑘𝑘 which in turn leads to true anomaly𝐸𝐸 = 𝑀𝑀 computation+ 𝑒𝑒 sin 𝐸𝐸 as

𝑘𝑘 𝜈𝜈

2 √ 𝑘𝑘 1 − 𝑒𝑒 sin 𝐸𝐸 −1 𝑘𝑘 −1 � 𝑘𝑘 𝑘𝑘 sin 𝜈𝜈 ⎡ (1 − cos 𝐸𝐸 )⎤ 𝜈𝜈 = tan � 𝑘𝑘� = tan ⎢ 𝑘𝑘 ⎥ (1.14) cos 𝜈𝜈 ⎢ (cos 𝐸𝐸 − 𝑒𝑒) ⎥ � 𝑘𝑘 ⎣ (1 − 𝑒𝑒 cos 𝐸𝐸 ) ⎦ knowing the second harmonic perturbation coefficients

𝑘𝑘 𝑢𝑢𝑢𝑢 𝑘𝑘 𝑢𝑢𝑢𝑢 𝑘𝑘 𝛿𝛿𝑢𝑢 = 𝐶𝐶 sin 2(𝜈𝜈 + 𝜔𝜔) + 𝐶𝐶 cos 2(𝜈𝜈 + 𝜔𝜔) (1.15) 𝑘𝑘 𝑟𝑟𝑟𝑟 𝑘𝑘 𝑟𝑟𝑟𝑟 𝑘𝑘 𝛿𝛿𝑟𝑟 = 𝐶𝐶 sin 2(𝜈𝜈 + 𝜔𝜔) + 𝐶𝐶 cos 2(𝜈𝜈 + 𝜔𝜔) 𝑘𝑘 𝑖𝑖𝑖𝑖 𝑘𝑘 25 𝑖𝑖𝑖𝑖 𝑘𝑘 𝛿𝛿𝑖𝑖 = 𝐶𝐶 sin 2(𝜈𝜈 + 𝜔𝜔) + 𝐶𝐶 cos 2(𝜈𝜈 + 𝜔𝜔)

the corrected terms are

𝑘𝑘 𝑘𝑘 𝑘𝑘 , 𝑢𝑢 = 𝜈𝜈 + 𝜔𝜔 + 𝛿𝛿𝑢𝑢 (1.16) 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑟𝑟 = 𝑎𝑎(1 − 𝑒𝑒 cos 𝐸𝐸 ) + 𝛿𝛿𝑟𝑟 , 𝑘𝑘 0 𝑘𝑘 𝑘𝑘 𝑖𝑖 = 𝑖𝑖 + 𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼 × 𝑡𝑡 + 𝛿𝛿𝑖𝑖 . where and and extracted from the navigation message and position of

0 satellite𝑖𝑖 in orbit𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼 plane is given𝜔𝜔 as

𝑘𝑘 𝑘𝑘 𝑘𝑘 𝜉𝜉(𝑡𝑡𝑘𝑘) 𝑟𝑟 cos 𝑢𝑢 (1.17) ⎡ ⎤ 𝑘𝑘 𝑘𝑘 ⎢𝜂𝜂(𝑡𝑡𝑘𝑘)⎥ = �𝑟𝑟 sin 𝑢𝑢 � We also need to correct the ⎣longitude𝜁𝜁(𝑡𝑡 )⎦ of the 0ascending node as follows

𝑘𝑘 0 𝑒𝑒 𝑘𝑘 𝑒𝑒 𝑜𝑜𝑜𝑜 and are given in the Ωnavigation= Ω + �messageΩ̇ − Ω̇ � and𝑡𝑡 + theΩ̇ 𝑡𝑡 nominal value of the is

0 𝑒𝑒 alsoΩ listed Ω̇ on the ICD documents. Final computation is to rotate the orbit planeΩ̇ coordinates to align with the ECEF coordinate system at time as follows

𝑘𝑘 𝑡𝑡 𝑘𝑘 𝑘𝑘 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 𝑥𝑥 (𝑡𝑡𝑘𝑘 ) 𝜉𝜉(𝑡𝑡𝑘𝑘) (1.18) ⎡ 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 ⎤ 𝟑𝟑 𝑘𝑘 𝟏𝟏 𝑘𝑘 ⎡ ⎤ ⎢𝑦𝑦 (𝑡𝑡𝑘𝑘)⎥ = 𝑹𝑹 (−Ω )𝑹𝑹 (−𝑖𝑖 ) ⎢𝜂𝜂(𝑡𝑡𝑘𝑘)⎥ 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 ⎣𝑧𝑧 (𝑡𝑡 )⎦ ⎣𝜁𝜁(𝑡𝑡 )⎦ Where and are rotation matrices about third and first axes.

𝟏𝟏 𝟑𝟑 The Keplerian𝑹𝑹 orbit𝑹𝑹 algorithm explained above is same for all GNSS constellations

with minor differences in the case of GLONASS.

26

1.2.2 GNSS Time Reference System

Similar to the definition of spatial coordinate system, for time reference systems, we

need to decide on an origin, scale, and conversion between any two one-dimensional

systems to be able to make a global reference system of time. In addition, it should be also realizable in order to be called reference frame. According to [5], four existing types of scale, which might also relevant in the case of GNSS, are as follows

1. Sidereal time defined by Earth’s rotation with respect to celestial sphere; it is

the hour angle of the vernal equinox or in simple words it is the angle between

local meridian and an expansion of a meridian (hour circle) that passes

through vernal equinox point on the equator plane. Vernal equinox is the

point at which the sun crosses the celestial equator from south to north from

the view of an observer on the Earth, the point at which springs occurs for a

observer.

If Mean vernal equinox is taken as our reference, it is called Mean Sidereal

Time (MST) and therefore two consecutive transit of MST is called mean

sidereal day and depending on the meridian it refers to, it may either called

L(Local)MST or G(Greenwich)MST.

27

2. Universal time defined by Earth’s rotation with respect to mean sun; it is

based on diurnal motion of the sun. By introduction of mean sun, the so-

called Mean solar time (MT) is defined and that of the Greenwich meridian

MT is called UT. Therefore two consecutive transit of mean sun of a meridian

in this case is called solar day. The following holds for relation between

Sidereal time and solar time

24h03m56.5554sof Sidereal time = 1 Solar day

UT and ST are not uniform because of earth rotation irregularities. Depending

on the factors includes in the definition of Earth’s rotation rate UT0, UT1

and UT2 are defined. UT0 is related to the coordinate system that is defined

based on Mean Pole; UT1 is based on instantaneous pole and UT2 is UT1

when it is modified for seasonal variations. UTC stands for coordinated

universal time and corresponds exactly with international atomic time (TAI)

in rate but differs from it by an integr number of seconds, which is adjusted

by introducing Leap Seconds. Leap seconds are compensation for the

irregularities in Earth rotation rate (within 2-millisecond/day) that

occasionally introduces a second in the definition of a minute.

28

3. International Atomic Time (TAI) defined by the number of oscillation in the

energy states of cesium-133 atom. In this system, a second is the duration of

9192631770 periods of radiation corresponding to transition between the two

hyperfine levels of the ground state of Cesium 133 atom. It was realized for

the first time in 1958 but officially re-introduced in 1972 and today its

realization is based on 400 precision atomic clocks around the world, which

gives it the name of Statistical Clock.

4. GNSS Time offset from TAI for each GNSS constellation as follows

t(GPS)=TAI-19s

t(Galileo)=TAI-19s

t(BeiDou)=TAI-33s

t(GLONASS)=UTC + 3h

Above the nanosecond offset ignored. GPS time is formed a composite clocks

on the ground control section and three on-board clocks which contribute on

the resulting time based on their observed variance. The origin of the GPS

time is January 6 1980 UTC.

GLONASS time or GLST origin is on January 1, 1996 in the UTC time

system. Besides introducing leap second, it is also 3h ahead of UTC because

of the time difference to Greenwich.

29

Galileo time or GST origin is defined to be same as GPS time origin and

BeiDou time or BDT origin set to be January 1 2006 UTC.

1.3 GNSS Errors

As the main concern in satellite navigation is to estimate the true delay of the 𝑘𝑘 𝜏𝜏̂𝑟𝑟 signal propagating from the satellite to the receiver , one should consider either

𝑘𝑘 𝑟𝑟 estimating or eliminating associated errors with radio signal generation, propagation and reception depending on the application requirements. In that sense, one may categorize errors in GNSS positioning in three classes based on dependency on satellite, channel and receiver. What follows is a brief look at the errors from this perspective.

1.3.1 Satellite Dependent Errors

Oscillator plays crucial rule in satellite navigation signal, as it is the source for generation of the reference frequency and therefore used in the generation of the signal carrier, spreading code and navigation data by a divider or multiplier or for time keeping by accumulating or counting number of intervals to measure elapsed time which can be typically referenced to as a 1 Pulse Per Second (PPS) standard.

In fact, other than location determination, GNSS is the major contributor of time

30

transfer in our daily basis applications. Therefore, any deterministic or random error

of the frequency standard may lead to failure of the system itself or any other

dependents if not addressed properly. Good news is, GNSS came to existence thanks to existence of atomic clocks which are to deliver highest standard in terms of frequency stability. Frequency stability is a degree to which an oscillator produces the same frequency through an interval of time. According to [2], a precision oscillator produces a signal whose voltage can be written as

0 0 Where , are nominal peak𝑉𝑉 (𝑡𝑡 )amplitude= 𝐴𝐴 sin( 2and𝜋𝜋𝑓𝑓 nominal+ 𝜗𝜗(𝑡𝑡)) angular frequency ( ) are 𝐴𝐴0 𝜔𝜔0 𝜗𝜗 𝑡𝑡 fluctuations in nominal phase of the oscillator where we ignored amplitude fluctuations as it is negligible compared to nominal peak amplitude. One can see that the instantaneous normalized frequency offset from the nominal frequency and

1 normalized instantaneous phase are as follows 𝑎𝑎 (𝑡𝑡)

0 𝑎𝑎 (𝑡𝑡)

0 𝜗𝜗(𝑡𝑡) 𝑎𝑎 (𝑡𝑡) = 0 2𝜋𝜋𝑓𝑓

1 1 𝑑𝑑𝜗𝜗 𝑎𝑎 (𝑡𝑡) = 0 2𝜋𝜋𝑓𝑓 𝑑𝑑𝑑𝑑

31

Introducing a frequency drift parameter which is basically the second derivative

2 of the normalized instantaneous phase, the𝑎𝑎 (deterministic𝑡𝑡) part of the clock error (clock offset) for a satellite can be modeled as a second order polynomial as follows

(1.19) 𝑘𝑘 𝑘𝑘 𝑘𝑘 2 0 𝑜𝑜𝑜𝑜 1 𝑜𝑜𝑜𝑜 𝑜𝑜𝑜𝑜 1 2 𝑜𝑜𝑜𝑜 𝑜𝑜𝑜𝑜 ∆𝑡𝑡(𝑡𝑡 ) = 𝑎𝑎 (𝑡𝑡 ) + 𝑎𝑎 (𝑡𝑡 )[𝑡𝑡 − 𝑡𝑡 ] + 𝑎𝑎 (𝑡𝑡 )[𝑡𝑡 − 𝑡𝑡 ] with known as time (specific GNSS time 2i.e. GPS time) of clock when the

𝑜𝑜𝑜𝑜 coefficients𝑡𝑡 , and are calculated at the ground control segment and given in

0 1 2 the navigation𝑎𝑎 𝑎𝑎message𝑎𝑎 with rate of 2 hours. There are of course other unmolded deterministic parts due to environmental effects that is hoped to be included in IGS precise clocks calculations with rate of 30 seconds which can be used for the precise positioning models where centimeter accuracy is demanded.

Random part associated with the clock offset can be characterized by the spectral or time domain analysis of the clock after deterministic error removal. According to [2], the simple well-known measure in time domain is Allan variance for quantifying the frequency stability using samples as follows

𝑁𝑁 𝑁𝑁−1 2 (1.20) 2 𝑖𝑖+1 𝑖𝑖 1 𝑦𝑦̅ − 𝑦𝑦̅ 𝜎𝜎 (𝜏𝜏) = �𝑖𝑖=0 � � 𝑁𝑁 2

where

32

𝑡𝑡𝑘𝑘+𝜏𝜏 𝑖𝑖 1 1 𝑦𝑦̅ = �𝑘𝑘 𝑎𝑎 (𝑡𝑡) 𝑑𝑑𝑑𝑑 and is the average normalized frequency𝜏𝜏 𝑡𝑡 offset over a period of . This is not

𝑖𝑖 provided𝑦𝑦̅ in the broadest navigation message and might be approximated𝜏𝜏 without a

need of an atomic clock as a reference by isolating carrier phase observations from a

satellite using product of two pairs of single differences.

One practical application might be in the selection of on-board satellite clock (there

are three) for time and frequency generation and also for adjustment purposes to

keep the deviations of the on-board time within a bounded limit from specific GNSS

time.

Next satellite dependent error, is Group Delay Differential known for instance as

or Inter Signal Correction (ISC) in U.S. GPS and in the case of Galileo,

𝐺𝐺𝐺𝐺 𝐺𝐺𝐺𝐺 which𝑇𝑇 is the representation of the differential delay of the𝐵𝐵 signal from the time of

generation to the time of transmission in the satellite electronics for different

spreading codes carried on different frequencies. According to [11], it is obviously

different satellite to satellite and calculated by control segment when the satellite is

on orbit and update the initial differential group delay value computed at the time of manufacture. The correction for single frequency user is necessitated by the fact that the clock offset coefficient is computed based on effective received code phase

0 33 𝑎𝑎 with dual frequency ionospheric correction thus the user who utilizes single frequency

only, has to modify the offset by the in the navigation message and basically

𝐺𝐺𝐺𝐺 update clock correction equation above𝑇𝑇 as follows

𝑘𝑘 𝑘𝑘 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝐺𝐺𝐺𝐺 The differential group delay ∆is𝑡𝑡 not (of𝑡𝑡 )use= ∆for𝑡𝑡( 𝑡𝑡multiple) − 𝑇𝑇 frequency users who are able

to compute the ionospheric correction but only for single frequency users.

The next error is the relativistic effects for the on-orbit satellite clocks. This is actually one of the first engineering application of general and special theory of relativity. According to [2], defining proper time as the actual clock time in one’s

frame of reference, the correspondence between the proper time recorded by a clock

at and the proper time recorded by on orbit satellite clock is concluded as

𝑘𝑘 𝑘𝑘 𝑝𝑝 3 1 𝐺𝐺𝐺𝐺 1 0 𝑝𝑝 𝑑𝑑𝑡𝑡 reciever(𝑡𝑡 ) = �1 + 2 𝑘𝑘 − 2 𝑊𝑊 � 𝑑𝑑𝑡𝑡 satellite(𝑡𝑡 ) (1.23) 2 𝐶𝐶 𝑎𝑎(𝑡𝑡 ) 𝐶𝐶 √ 𝑘𝑘 𝑘𝑘 2 𝐺𝐺𝐺𝐺 𝑘𝑘 + 2 �𝑎𝑎(𝑡𝑡 ) 𝑒𝑒(𝑡𝑡 ) sin 𝐸𝐸 (𝑡𝑡 ) All the parameters defined before𝐶𝐶 in the computation of satellite position except the

constant t, which is sum of gravitational potential and centrifugal potential, on

0 geoid at 𝑊𝑊the equator. For the computation of it is enough for practical

0 application to consider perturbation of second order𝑊𝑊 only, to the dominant Earth

gravitational potential as modification for the Earth oblateness.

34

Above, the first term is the dominant time dilation due to velocity of the satellite and Earth gravitational potential, which are referred to as special relativistic and general relativistic time dilation respectively with the first of the scale of few microsecond per day and the second of the scale of tens of microsecond per day. To compensate for the dominant part, the GNSS clock with nominal frequency of 10.23

MHz is given a fractional rate offset to have actual frequency of 10.22999999543 MHz prior to launch. The second term known as eccentricity dependent relativistic effect however, is accounted for when the navigation message is decoded and therefore simply computed with the actual eccentricity at time . This error therefore, can be

𝑘𝑘 considered as channel and satellite dependent error as 𝑡𝑡 one fixes the channel error by compensating it in the satellite clock.

The final satellite dependent error is phase -up effect, which is problematic in precise positioning application using phase observation. Simply speaking, it is the effect of satellite or receiver antenna rotating around their boresight direction, which changes the instantaneous electrical field of circularly polarized electromagnetic waves, and thus the measured phase angle at the receiver. This rotation at the transmitter is due to satellite efforts to keep the solar panel of the satellite pointing towards sun to receiver the maximum energy possible while the satellite antenna

35

maintains its direction towards Earth center of mass. For receiver part, the phase

error is the same for all satellite. This error is in the order of millimeter for double

difference computation and therefore usually ignored but it is up to half a cycle of

the carrier when un-differenced observation model is used and therefore for PPP application has to be accounted for by using clock and orbit products from IGS.

36

1.3.2 Channel Dependent Error

Ionospheric and tropospheric delay are known as most important channel errors when

speaking about GNSS signals. In general, troposphere is the lowest part of Earth

atmosphere where it contains the main water vapor, aerosols and generally the mass

of the atmosphere. It is a non-dispersive medium with respect to electromagnetic waves in the GNSS band which means it is not frequency dependent and therefore can not be removed with observation on different frequencies. In other words,

𝑑𝑑𝑑𝑑 = 0 Where is the index of refractivity and𝑑𝑑𝑑𝑑 frequency of the carrier. According to

Fermat’s𝑛𝑛 principle, the path that is taken by𝑓𝑓 an electromagnetic wave between two points has the least delay possible. The electric path length is defined as ratio between propagation time and the speed of light as

𝑑𝑑

𝐿𝐿 = � 𝑛𝑛(𝑠𝑠) 𝑑𝑑𝑑𝑑 with as defined previously as the differential𝑎𝑎 of the distance along the true path

and 𝑑𝑑 𝑑𝑑and are arrival and departure of the signal to and from the troposphere.

Refractivity 𝑎𝑎 𝑑𝑑 defined as

𝑁𝑁 6 𝑁𝑁(𝑠𝑠) = 10 [𝑛𝑛(𝑠𝑠) − 1] 37

measures the amount of delay and bending of the electromagnetic wave due to change of media with different indices of refractivity. For troposphere meaning slower propagation speed and therefore being bent in order to minimize𝑛𝑛 > 1 the path delay according to Fermat principle. Therefore, we may model the disturbed distance in troposphere as

𝑑𝑑 𝑑𝑑 −6 𝑇𝑇 𝐿𝐿 where the first term is the amount= 10 of� 𝑎𝑎the𝑁𝑁 (along𝑠𝑠)𝑑𝑑𝑑𝑑 +the�𝑎𝑎 path𝑑𝑑𝑑𝑑 contribution of deviation

from the speed of light and second term the true damped path. We can further

decompose the first term to hydrostatic and wet components as

𝑑𝑑 𝑑𝑑 𝑑𝑑 (1.24) −6 𝑇𝑇 ℎ 𝑤𝑤 𝐿𝐿 = 10 ��𝑎𝑎 𝑁𝑁 (𝑠𝑠)𝑑𝑑𝑑𝑑 + �𝑎𝑎 𝑁𝑁 (𝑠𝑠)𝑑𝑑𝑑𝑑� + �𝑎𝑎 𝑑𝑑𝑑𝑑

Now if we subtract the true geometric distance between the two points, we may model the tropospheric delay as

𝑇𝑇 𝑘𝑘 𝑇𝑇 true 𝑟𝑟 The wet part of the tropospheric𝑇𝑇 = delay𝐿𝐿 − is‖𝑟𝑟 significantly‖ variant with time as it

depends on the air pressure than hydrostatic part; therefore, the hydrostatic part

can be modeled more accurately. Further, the delay due to bending of the signal, the

third term above, is also modeled with hydrostatic part. Since it is impossible to

38 model the tropospheric delay for all the possible satellite to receiver direction, in practice one models each components in Zenith direction and project it on the actual line of sight knowing the satellite .

A widely used empirical model known as Saastamoinen model in Zenith direction is as follows

𝑘𝑘 𝑧𝑧 −6 −6 0 ℎ ℎ 1 𝑅𝑅𝑝𝑝 𝑒𝑒𝑒𝑒𝑒𝑒 𝑇𝑇 = 10 � 𝑁𝑁 (𝑠𝑠)𝑑𝑑𝑑𝑑 = 10 𝑘𝑘 𝑑𝑑 𝑒𝑒𝑒𝑒𝑒𝑒 𝐺𝐺 𝑟𝑟 𝑀𝑀 𝐺𝐺 = 9.8740−6 × (1 − 0.00266) cos(2𝜑𝜑) − 0.28 (1.25) 𝑘𝑘× 10 ℎ 𝑧𝑧 −6 𝑤𝑤𝑤𝑤 𝑤𝑤 𝑤𝑤 𝑠𝑠 𝑃𝑃 𝑇𝑇 = 10 � 𝑁𝑁 (𝑠𝑠)𝑑𝑑𝑑𝑑 = 0.0022768(1255 + 0.05𝑇𝑇 ) 𝑠𝑠 𝑟𝑟 𝑇𝑇

first refractivity coefficient, ground pressure, mean molar masses of dry

1 𝑘𝑘 0 𝑑𝑑 air, universal gas constant, 𝑝𝑝 is effective gravitational 𝑀𝑀 potential at latitude

𝑅𝑅 𝑒𝑒𝑒𝑒𝑒𝑒 𝜑𝜑 and height with respect to geoid𝐺𝐺 , and are the site temperature and water

𝑠𝑠 𝑤𝑤𝑤𝑤 vapor pressure of the receiver location.ℎ 𝑇𝑇 𝑃𝑃

Knowing the above delay components in Zenith direction, one may use a mapping function to derive the slant tropospheric delay at a given satellite elevation angle .

Therefore, final model ta the form 𝐸𝐸

(1.26) 𝑧𝑧 𝑧𝑧 ℎ 𝑤𝑤 𝑇𝑇 (𝐸𝐸) = (𝑇𝑇 + 𝑇𝑇 )39𝑀𝑀 (𝐸𝐸(𝑡𝑡))

With simplest form of as

𝑀𝑀(𝐸𝐸(𝑡𝑡))

1 𝑀𝑀(𝐸𝐸(𝑡𝑡)) = With assumption of planar Earth; for highersin precision𝐸𝐸(𝑡𝑡) application where centimeter level accuracy is demanded, the process is a little bit different as follows; First, two separate mapping functions is introduced for hydrostatic and wet parts separately

and slightly different than the above mapping function. Then, as assumed that the

hydrostatic part is very well modeled, observations are adjusted for the slant

hydrostatic part and a constant part of slant wet component and the rest of the slant

wet part is estimated with the navigation solution.

The next contributor of channel error is ionospheric delay. The is the

ionized part of Earth atmosphere due to solar radiation containing free electrons.

Therefore, the refractive index in this medium is mainly characterized by electron

density distribution. Slant Total Electron Content (VTEC) counts all the electrons in cylinder of unit area as follows

𝑒𝑒 where is electron density and𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 again= � is𝑁𝑁 the𝑑𝑑𝑑𝑑 electromagnetic wave path. As

𝑒𝑒 𝑑𝑑𝑑𝑑 ionosphere𝑁𝑁 is a dispersive medium, the refractive index is dependent on frequency of 40

the electromagnetic wave and therefore it affects the code phase different from the

carrier phase having different frequency. The relationship between the carrier phase

refractive index and code phase group refractive index is as follows

𝜑𝜑 𝜌𝜌 𝜑𝜑 𝑑𝑑𝑛𝑛 𝑛𝑛 = 𝑛𝑛 + 𝑓𝑓 It can be shown that the first order refractive index𝑑𝑑𝑑𝑑 depends directly on the density and inversely on the square of frequency as

(1.27) 𝜑𝜑 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑛𝑛 = 1 − 40.28 2 𝑓𝑓 And for it is

𝑔𝑔𝑔𝑔 𝑛𝑛 (1.28)

𝑔𝑔𝑔𝑔 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝑛𝑛 = 1 + 40.309 2 𝑓𝑓 Which implies the phase of the carrier is advanced but the group code phase is

delayed as but , i.e. the path velocity is faster in the first case but

𝜑𝜑 𝑔𝑔𝑔𝑔 slower for the𝑛𝑛 second.< 1 As𝑛𝑛 done> 1 for the tropospheric case, one can show

𝑘𝑘 1 𝜑𝜑 𝑔𝑔𝑔𝑔 true 𝑟𝑟 𝐼𝐼 = �𝐿𝐿 or 𝐿𝐿 � − ‖𝑟𝑟 ‖ 𝑑𝑑

𝜑𝜑 𝑔𝑔𝑔𝑔 𝜑𝜑 𝑔𝑔𝑔𝑔 �𝐿𝐿 or 𝐿𝐿 � = �𝑎𝑎 ��𝑛𝑛 or 𝑛𝑛 � − 1� 𝑑𝑑𝑑𝑑

41

For dual frequency receivers, therefore, one can remove the first order ionospheric

delay due to deviation from the speed of light but not due to bending of the signal by forming the ionospheric free linear combination as follows

(1.29) 2 2 𝑘𝑘 1 𝑘𝑘 2 𝑘𝑘 𝐼𝐼𝐼𝐼 2𝑓𝑓 2 𝑓𝑓1 2𝑓𝑓 2 𝑓𝑓2 𝜑𝜑 = 2 1 𝜑𝜑 − 2 1 𝜑𝜑 𝑓𝑓 − 𝑓𝑓 𝑓𝑓 − 𝑓𝑓 Where , and are phase observation on first and second frequency and

𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑓𝑓1 𝑓𝑓2 𝐼𝐼𝐼𝐼 the so called𝜑𝜑 ionospheric𝜑𝜑 𝜑𝜑 free observation.

We should point out that in all the derivation above we neglect the effect of earth

magnetic on the refraction index has completely ignored and that is why we used

notation to refer to first order ionospheric correction; however, the second order

1 term contribution𝐼𝐼 is known to be less than 0.1% of the total effect with introduction

of only few millimeters error to the actual position of the receiver.

For single frequency users, all GNSS constellations except GLONASS included a

version of ionospheric model in their navigation message, which can mitigate the

ionospheric error up to 50%. For instance, Klobuchar model amplitude and period

coefficients sent in GPS navigation message can be used to approximate the

ionospheric delay with respect to a reference time at a given geomagnetic latitude

and satellite elevation. Another approach is to use Global Ionospheric Map (GIM),

42

which is provided by NASA JPL or IGS, which are based on the estimation of the

ionosphere TEC from large number of global reference stations. The user can

interpolate the data in space and time with update rate of a day for IGS product

and 5 to 15 minutes from JPL.

At the receiver, a GNSS signal is the sum of direct LOS and reflection or refraction

from nearby objects. For clean positioning, however, one is interested in the LOS

observation. The non-line of sight contributors bias the estimated frequency, phase

and delay of the signal in the receiver’s tracking loop which is usually referred to as

multipath and therefore lower the accuracy of the navigation solution.

Identification of multipath in real time is still under research but there are

approaches to characterize the multipath environment in post-processing mode by

forming double difference method, which is due the fact that the only error term

remains in the double difference equations is multipath along with measurement

noise. Isolating the multipath error by forming code minus carrier observation in single frequency receiver is another post processing method. Measuring the repeatability of the adjustment residuals in a longer frame of time for an environment with almost static multipath characteristics can be also useful for separation of multipath from measurement noise. At the measurement level, using angle of arrival

43 estimation methods along with satellite elevation angles known at an epoch of time has been combined to remove observations from unexpected direction for a specific location. For mitigating multipath, a common method is the use of narrow correlators. The basis of the theory behind use of narrow correlator (chip spacing less than 0.1 chip) is that the effect of multipath on correlation peak is the weakest than anywhere else. However, the spacing narrowing is limited by the analogue bandwidth of front end in use as the correlation peak is flattened and therefore the discrimination between the early and late correlator gets limited. Second methods is to use more early and late correlators to create a narrower discriminator functions.

First of its kind was double delta correlator by exploiting two early and two late correlators leading to narrow discriminators.

44

1.3.3 Receiver Dependent Error

Receiver errors are mainly categorized into three main classes; receiver clock error,

receiver instrumental bias and antenna phase center offset and variations.

As described for satellite clock error before, one may model the receiver clock to be

synched with GNSS time in the scale of few tens of nanosecond using GNSS-

Disciplined oscillator; however, most of the time we do not have access to this for

the purpose of modeling and therefore we only estimate the receiver clock bias and

drift in the navigation solution. In fact, the necessity of having at least four

observations is to account for the receiver clock bias where clock drift is estimated

from the Doppler observations when determining the velocity of the receiver.

Another consideration is the total delay caused by the signal passing through

antenna, cables and other circuitries in the front end but one may differentiate it

with the receiver group delay differential bias or more commonly named receiver

inter channel bias, which has been introduced mainly by analog filtering of the signal

and also different hardware paths for signal processing. According to [2], the latter

can be reduced as the number of analog filtering decreased and precisely same

components applied in different paths for frequency manipulations and channel

processing. Thus, the total delay is a frequency independent delay plus a frequency

45

dependent delay. The total delay can be assumed constant for all the satellite when talking about single frequency observations of CDMA type which can be accounted for with the receiver clock error estimation but the frequency dependent part has to be addressed when channels’ frequency differences are significant such as FDMA type of observations or combining observations from two or three frequencies as the error clearly grows having filter responses significantly different by frequency differences of order of Megahertz; theoretically, however, even in the case of CDMA systems, there is still a small variation in the assumed constant bias due to Doppler frequency differences (few KHz) observed on the same center frequency between satellites which is in the scale of few nanoseconds and is usually ignored in the case of standard positioning but it might be taken into account when performing precise positioning. Another important related discussion is as follows. According to [12], group delay differential bias can be also arisen at the signal processing level in the delay lock loop when the early late correlator is used to estimate the code phase of the incoming signal. It can be shown that as the width of the early late correlator spacing gets narrowed, by definition it emphasizes the higher frequency contents of the code which in turn translated to an additional group delay; further, this DLL related delay is different for codes of different GNSS constellations even if they

46

modulated on or near same frequency as the higher frequency contents of two codes

can be different from one another (for example difference between BPSK and BOC

modulated codes) and therefore it introduces another group delay differential bias

which is called inter system bias that must be estimated in case of precise positioning

by introducing additional parameter in the observation equations.

Receiver antenna phase center offset and variations might be the least important

when code phase positioning within the standard model; however, for phase

observations in precise positioning, it may lead to few centimeters of error. This error

sourced from the fact that the phase center of the antenna is not necessarily the

geometric center of the antenna because the apparent source of radiation of the antenna does not have a regular spherical shape and therefore the actual phase center varies depending on the signal angle of arrival and frequency. IGS determines the mean phase center and its variations depending on different angle of arrivals for an antenna relative to a precision antenna and publish information specifically for geodetic grade antenna types.

Now that the main sources of error in a satellite navigation system defined, we may expand the observation equations in 1.1 and 1.2 as the following

47

𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑟𝑟 𝜏𝜏 (𝑡𝑡) = 𝑡𝑡 (𝑡𝑡) − 𝑡𝑡 (𝑡𝑡) + Channel Bias+Channle noise 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑖𝑖 where the𝜙𝜙 (channel𝑡𝑡) = 𝜙𝜙 (bias𝑡𝑡) − 𝜙𝜙is (the𝑡𝑡 − contribution𝜏𝜏 ) + 𝑁𝑁 (𝑡𝑡) +of Channelthe deterministic Bias+Channle part ofnoise time errors

that might be modeled in some part and removed from the observation equations

and channel noise is total random effects mainly in the medium (channel) and also

due to measurements at the receiver. According to [2], we may write it out as

𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑟𝑟 𝑃𝑃 (𝑡𝑡) = 𝐶𝐶𝜏𝜏 (𝑡𝑡) 𝜏𝜏 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑟𝑟 = 𝐶𝐶[𝑡𝑡 (𝑡𝑡) + 𝑑𝑑𝑑𝑑 (𝑡𝑡) + 𝑏𝑏 (𝑡𝑡) + Δb (𝑡𝑡)] (1.30) 𝑘𝑘 𝑘𝑘 𝑘𝑘

− 𝐶𝐶[𝑡𝑡 (𝑡𝑡) + 𝑑𝑑𝑑𝑑 (𝑡𝑡) + 𝑏𝑏 𝑖𝑖(𝑡𝑡)] 𝑘𝑘 𝑓𝑓 𝑘𝑘 𝑘𝑘 𝑘𝑘𝜏𝜏 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑟𝑟 + 𝐶𝐶[𝑀𝑀�𝐸𝐸(𝑡𝑡)� 𝑇𝑇 + 𝜇𝜇 𝐼𝐼 + 𝑀𝑀 ] + 𝜖𝜖 (𝑡𝑡)

𝑘𝑘 𝜑𝜑 𝑟𝑟 𝑟𝑟 𝐶𝐶 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝜙𝜙 (𝑡𝑡) = �𝜙𝜙 (𝑡𝑡) + 𝑖𝑖 [𝑑𝑑𝑑𝑑 (𝑡𝑡) + 𝑏𝑏 (𝑡𝑡) + Δb (𝑡𝑡)]� 𝜆𝜆 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝐶𝐶 − �𝜙𝜙 (𝑡𝑡 − 𝜏𝜏 ) + 𝑖𝑖 [𝑑𝑑𝑑𝑑 (𝑡𝑡) + 𝑏𝑏 (𝑡𝑡)]� 𝜆𝜆 𝑖𝑖 𝑘𝑘 𝑓𝑓 𝑘𝑘 𝑘𝑘 (1.31) 𝐶𝐶 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑟𝑟 + 𝑖𝑖 �𝑀𝑀�𝐸𝐸(𝑡𝑡)� 𝑇𝑇 (𝑡𝑡) + 𝜇𝜇 𝐼𝐼(𝑡𝑡) + 𝑚𝑚(𝑡𝑡) � 𝜆𝜆 𝑘𝑘 𝑘𝑘 𝑘𝑘𝜑𝜑 𝑖𝑖 𝐶𝐶 𝑟𝑟 + 𝑁𝑁 (𝑡𝑡) + 𝑤𝑤 (𝑡𝑡) + 𝑖𝑖 𝜖𝜖 (𝑡𝑡) 𝜆𝜆 are 𝑖𝑖 𝜏𝜏 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑓𝑓 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑟𝑟 r𝑡𝑡eceiver(𝑡𝑡), 𝑑𝑑𝑑𝑑 (time,𝑡𝑡), 𝑏𝑏 (receiver𝑡𝑡), Δb ( 𝑡𝑡clock), 𝑡𝑡 ( 𝑡𝑡error,), 𝑑𝑑𝑑𝑑 ( 𝑡𝑡receiver), 𝑏𝑏 (𝑡𝑡), 𝑀𝑀instrumental�𝐸𝐸(𝑡𝑡)�, 𝑇𝑇 ,bias,𝜇𝜇 , 𝐼𝐼receiver, 𝑀𝑀 , 𝜖𝜖 group(𝑡𝑡) delay differential code bias (inter-channel code bias), satellite time, satellite clock error, satellite instrumental delay or fractional cycle bias (FCB) for the carrier phase 48

observation, tropospheric mapping function, zenith tropospheric delay, ionospheric

coefficient, ionospheric delay, code phase multipath for code phase observations and

channel and measurement random effect for code phase. Additional parameters in

the phase observation equation are are integer ambiguity and phase

𝑘𝑘 𝑖𝑖 wind-up effect, and 𝑁𝑁 ( are𝑡𝑡), 𝑤𝑤 receiver(𝑡𝑡) group delay differential carrier

𝜑𝜑 𝑘𝑘 𝑘𝑘𝜑𝜑 𝑟𝑟 𝑟𝑟 𝑟𝑟 bias (inter-channel carrierΔb (𝑡𝑡 )bias)carrier, 𝑚𝑚(𝑡𝑡) , 𝜖𝜖 (phase𝑡𝑡) multipath for code phase observations

and channel and measurement random effect for carrier phase.

One important point is that the time variable in the equations above has to be modified in the case of multi-GNSS observations to account for the so called inter system time offset; as pointed out, GNSS constellations adopt time reference systems with offset in the origin with respect to TAI and synchronized to TAI in scale within nanoseconds. More precisely, GPS is connected to UTC maintained by US naval observatory, Galileo is connected to set of EU timekeeping institutions and BeiDou is connected to UTC maintained by Chinese institution known as NTCS. GLONASS is also connected to UTC by Russian time and frequency services with a major difference that it is not continuous and applies the leap seconds to its time system.

Now it is clear that each GNSS time is realized by different set of master clocks different from the UTC they are synchronized to and different from their

49 counterparts. The remedy for this is to model time variations of one constellation with respect to a reference constellation using a first order polynomial with coefficient sent through the navigation message. Galileo, BeiDou and GLONASS send the two coefficients with respect to GPS time in their navigation message.

50

1.4 GNSS Access and Modulation Schemes

Satellites from different constellations need to share same transmission medium such that ground receiver can distinguish different satellites from each other and perform ranging and decode navigation message to compute satellite position in order to solve for the position of the receiver. This is accomplished by using multiple access (MA) techniques of mainly two forms: Code Division Multiple Access (CDMA) and

Frequency Division Multiple Access (FDMA). These two techniques separate signals from different satellites in code domain and frequency domain respectively. The point here is to achieve the same spectral efficiency while keeping same symbol rate per channel user and the same total bandwidth.

In CDMA, all channels transmit at the same time and use the total available bandwidth where channels are separated by unique spreading codes. In FDMA, however, one does not need unique code per channel since channels transmit at different narrowband center frequencies. According to [3], one important factor for the choice of MA is Spectral Separation (SS) to measure the factor of interference of a signal with others sharing the same band. It is proven that FDMA has better SS versus CDMA technique where CDMA can only guarantee signal protection by using unique spreading code with desirable cross-correlation characteristics. On the other

51 hand, FDMA has better overall spectral and code separation characteristics than

CDMA with respect to narrowband jamming. This is because jamming for a satellite with CDMA system means all other satellites also jammed as they are centered on the same center frequency rather than in FDMA which a narrowband interferer can only attacks one satellite at a time. Clearly, this is not such an advantage in today’s world where wideband jammers are available. From the point of view of receiver design, however, CDMA is superior in terms of reducing the number of carriers to only one per band along with more convenient filter design schemes.

According to [2], two main modulation schemes are in use for satellite navigation:

Binary Phase Shift Keying (BPSK) and Binary Offset Carrier (BOC) modulations.

Let us briefly discuss them here. Direct Sequence Spread Spectrum (DSSS) is the method in use in satellite navigation. In DSSS, the major responsibility of estimating the delay of the signal is on the shoulder of the so-called spreading codes. Spreading codes are chosen of significantly higher rate than the navigation message as sum of unit rectangular pulse shape of duration seconds, with the assumption that integer

𝑐𝑐 number of the spreading code (Pseudo𝑇𝑇 Random Noise) , will fit exactly into one data𝑀𝑀 bit; analytical expression of the complex envelope, 𝑃𝑃 𝑃𝑃𝑃𝑃will read

(1.32)

𝑘𝑘 BPSK √ 𝑣𝑣 (𝑡𝑡) = 2𝑃𝑃52 𝑑𝑑(𝑡𝑡)𝑃𝑃𝑃𝑃𝑃𝑃(𝑡𝑡) where

𝑘𝑘 𝑇𝑇 𝑐𝑐 𝑃𝑃𝑃𝑃𝑃𝑃(𝑡𝑡) = �𝑘𝑘 𝑎𝑎 𝑃𝑃 (𝑡𝑡 − 𝑘𝑘𝑇𝑇 ) ,

𝑗𝑗 𝑀𝑀𝑀𝑀 𝑐𝑐 𝑑𝑑(𝑡𝑡) = �𝑗𝑗 𝑑𝑑 𝑃𝑃 (𝑡𝑡 − 𝑗𝑗𝑗𝑗𝑇𝑇 ) ,

𝑐𝑐 𝑇𝑇 1 0 ≤ 𝑡𝑡 < 𝑇𝑇 and 𝑃𝑃 (𝑡𝑡) = � 0 otherwise

⎧ 1 𝑗𝑗 𝑘𝑘 �1 with probability 𝑑𝑑 and 𝑎𝑎 ∈ 2 . ⎨ 1 denotes the spread spectrum� signal−1 power with at probability the k-th satellite antenna and ⎩ 2 𝑘𝑘 is𝑃𝑃 the data sequence, which is formed by the navigation message. Obviously, the final𝑑𝑑(𝑡𝑡) sequence is the member of the set implying that the phase of the modulated𝜈𝜈 (carrier𝑡𝑡) shifted by at the time{1, −of1 }chip change which is called BPSK

° ( ) with chipping rate of the180 spreading code.

𝑐𝑐 𝑐𝑐 According𝑓𝑓 𝑓𝑓 to [2], processing gain is a measure of how effective the spread spectrum system reacts to possible noise or jamming or in another word it is the reduction in noise plus jammer power due to despreading. The processing gain is defined as the ratio of chip rate to the bit rate when the system is despread and therefore signal to noise power increases by processing gain as the following

53

𝑐𝑐 s 𝑓𝑓 𝐵𝐵 𝐺𝐺 = 𝑏𝑏 = 𝑑𝑑 , 𝑓𝑓 𝐵𝐵 (1.33) d 𝑃𝑃 s 𝑃𝑃 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 = 𝑑𝑑 0 𝐽𝐽 = 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝐺𝐺 = s 0 𝐽𝐽 𝐺𝐺. and are chip rate and𝐵𝐵 𝑁𝑁bit +rate𝑃𝑃 respectively. 𝐵𝐵 𝑁𝑁, + 𝑃𝑃and are signal

𝑑𝑑 𝑐𝑐 𝑏𝑏 d 𝐵𝐵 s s to𝑓𝑓 interference 𝑓𝑓 -plus-noise ratio and channel one-𝑆𝑆sided𝑆𝑆𝑆𝑆𝑆𝑆 bandwidth𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 after., 𝐵𝐵Dispreading

and are narrowband jammer power and front end noise figure where it is

𝐽𝐽 0 𝑃𝑃clear that𝑁𝑁 .

𝑑𝑑 𝑠𝑠 It is trivial𝐵𝐵 to ≪show𝐵𝐵 under the assumption that code has a long period where

the data synchronously acts at a submultiple of the𝑃𝑃𝑃𝑃𝑃𝑃 chip rate then the power spectral

density of BPSK modulated spread spectrum signal reads

(1.34) 2 BPSK 𝑐𝑐 𝑐𝑐 𝑉𝑉 (𝑓𝑓) = 𝑃𝑃 𝑇𝑇 [sinc (𝜋𝜋𝜋𝜋𝑇𝑇 )] . and is chip duration.

𝑐𝑐 BOC𝑇𝑇 is the second type of modulation for satellite navigation, first developed by Dr.

John Betz of MITRE corporation for modernized GPS military signal which gradually became popular choice for civil signals for GPS and other constellations

too. It is a subset of Multilevel Coded Spreading Symbole (MCS) where the choice

of chip values is limited to alternating in a systematic fashion. For time

domain representation, we can{1, −still1} work within the framework of the BPSK

54

modulation with an extra component namely the so-called sub-carrier defined as

either of the following two forms

(1.35) sin 𝑠𝑠 𝑠𝑠𝑠𝑠 (𝑡𝑡) = sign(sin(2𝜋𝜋𝑓𝑓 𝑡𝑡) + 𝜃𝜃) cos 𝑠𝑠 𝑠𝑠𝑠𝑠 (𝑡𝑡) = sign(cos(2𝜋𝜋𝑓𝑓 ) + 𝜃𝜃) Where is the sub-carrier frequency; then BOC modulated signal depending using

𝑠𝑠 sine or 𝑓𝑓cosine phasing can be written as

(1.36) BOCsin BPSK sin 𝑣𝑣 (𝑡𝑡) = 𝑣𝑣 (𝑡𝑡)𝑠𝑠𝑠𝑠 (𝑡𝑡) , BOCcos BPSK cos 𝑣𝑣 (𝑡𝑡) = 𝑣𝑣 (𝑡𝑡)𝑠𝑠𝑠𝑠 (𝑡𝑡) . Typically, BOC signal is denoted by BOC ( , ). According to [4], the power

𝑠𝑠 𝑐𝑐 spectral density of given the same assumption𝑓𝑓 𝑓𝑓 for BPSK PSD plus further

𝐵𝐵𝐵𝐵𝐵𝐵𝑠𝑠𝑠𝑠𝑠𝑠 assumption that if odd𝑉𝑉 or even multiple of sub-carrier chip fits within a single code chip are as follows 𝑃𝑃𝑃𝑃𝑃𝑃

BOCsin 𝑉𝑉 (𝑓𝑓) 2 2 𝑠𝑠 ⎧ 𝑐𝑐 𝜋𝜋𝜋𝜋 𝑓𝑓 (1.37) �sinc (𝜋𝜋𝜋𝜋𝑇𝑇 )tan � 𝑠𝑠� if 𝑘𝑘 = 𝑐𝑐 even 𝑐𝑐 � 2 2𝑓𝑓 𝑓𝑓 = 𝑃𝑃 𝑇𝑇 𝑐𝑐 2 𝑠𝑠 ⎨cos (𝜋𝜋𝜋𝜋𝑇𝑇2 ) 𝜋𝜋𝜋𝜋 𝑓𝑓 � 𝑐𝑐 tan � 𝑠𝑠� if 𝑘𝑘 = 𝑐𝑐 odd And for ⎩ (𝜋𝜋𝜋𝜋𝑇𝑇 ) 2𝑓𝑓 𝑓𝑓

BOCcos 𝑉𝑉 (𝑡𝑡)

55

BOCcos 𝑉𝑉 (𝑓𝑓) 2 2 ⎧ 𝜋𝜋𝜋𝜋 2 sin � 𝑠𝑠� 𝑠𝑠 � 𝑐𝑐 ⎛ 4𝑓𝑓 ⎞ 𝑓𝑓 �sinc (𝜋𝜋𝜋𝜋𝑇𝑇 ) ⎜ ⎟ if 𝑘𝑘 = 𝑐𝑐 even � ⎜ 𝜋𝜋𝜋𝜋 ⎟ 𝑓𝑓 � cos � 𝑠𝑠� 𝑐𝑐 ⎝ 2𝑓𝑓 ⎠2 = 4𝑃𝑃 𝑇𝑇 2 ⎨ 2 𝜋𝜋𝜋𝜋 � 𝑐𝑐 sin � 𝑠𝑠� 𝑠𝑠 � cos (𝜋𝜋𝜋𝜋𝑇𝑇2 ) ⎛ 4𝑓𝑓 ⎞ 𝑓𝑓 (1.38) 𝑐𝑐 ⎜ ⎟ if 𝑘𝑘 = 𝑐𝑐 odd � ⎜ 𝜋𝜋𝜋𝜋 ⎟ � (𝜋𝜋𝜋𝜋𝑇𝑇 ) cos � 𝑠𝑠� 𝑓𝑓 There are other forms⎩ of BOC modulation⎝ 2 in𝑓𝑓 the⎠ satellite navigation literature based on either of the sine and cosine BOC such as Composite BOC (CBOC), which is a linear combination of several (usually two in case of satellite navigation) sine BOC’s

with different powers, Time Multiplexing BOC (TMBOC) which uses different sub-

carrier shapes for different chips of the code in a deterministic pattern which is

optimized to improve correlation properties𝑃𝑃𝑃𝑃𝑃𝑃 of the signal and finally, alternative BOC

(AltBOC) which uses complex sub-carrier by using imaginary sine BOC and real

cosine BOC.

This scheme has many uses in satellite navigation in order to guarantee reliability

for both civil and military customers and interoperability of GNSS constellations

over a center frequency. Use of sub carrier in the modulation lets the main lobe content of the signal shift to and - . This means that GNSS constellations can

𝑠𝑠 𝑠𝑠 cooperate to design the right 𝑓𝑓main lobe𝑓𝑓 peak that does not interfere with others at

the same center frequency.

56

Structure of a satellite navigation signal typically can be indicated as follows; two

separate quasi-orthogonal sequences are multiplied by an in-phase and

quadrature carrier BPSK ( 𝑃𝑃)𝑃𝑃𝑃𝑃 modulated by separate data bits (navigation message

𝑐𝑐 bits), the so-called BPSK 𝑓𝑓data with QPSK Spread Spectrum Modulation. Same

procedure can be imagined for BOC ( , ) signal as it has only an additional

𝑠𝑠 𝑐𝑐 sequence, which is the subcarrier. Therefore𝑓𝑓 𝑓𝑓 the resulting complex envelop signal at

the output of transmitter can be written as

𝑘𝑘 𝑘𝑘 BPSK 𝐼𝐼 𝐼𝐼 𝑠𝑠 (𝑡𝑡) = ℜ ��2𝑃𝑃 (𝑡𝑡) �𝑑𝑑 (𝑡𝑡)𝑃𝑃𝑃𝑃𝑃𝑃 (𝑡𝑡) 𝑘𝑘 𝑗𝑗2𝜋𝜋𝑓𝑓0𝑡𝑡 𝑗𝑗𝜙𝜙 (𝑡𝑡) 𝑄𝑄 𝑄𝑄 + 𝑗𝑗𝑑𝑑 (𝑡𝑡)𝑃𝑃𝑃𝑃𝑃𝑃 (𝑡𝑡)�𝑒𝑒 𝑒𝑒 � 𝑘𝑘 𝑘𝑘 BOC 𝐼𝐼 𝐼𝐼 𝐼𝐼 𝑠𝑠 (𝑡𝑡) = ℜ ��2𝑃𝑃 (𝑡𝑡) �𝑑𝑑 (𝑡𝑡)𝑠𝑠𝑠𝑠 (𝑡𝑡)𝑃𝑃𝑃𝑃𝑃𝑃 (𝑡𝑡) 𝑘𝑘 (1.39) 𝑗𝑗2𝜋𝜋𝑓𝑓0𝑡𝑡 𝑗𝑗𝜙𝜙 (𝑡𝑡) 𝑄𝑄 𝑄𝑄 𝑄𝑄 + 𝑗𝑗𝑑𝑑 (𝑡𝑡)𝑠𝑠𝑠𝑠 (𝑡𝑡)𝑃𝑃𝑃𝑃𝑃𝑃 (𝑡𝑡)�𝑒𝑒 𝑒𝑒 � All the terms are same as before with the difference of having a subscript or

stands for in-phase or quadrature data, and sub carrier sequences, for the𝐼𝐼 last𝑄𝑄

one it should not be confused with sine𝑃𝑃 or𝑃𝑃𝑃𝑃 cosine sub carrier. The structure shown above does not necessarily have to be BPSK ( ) or BOC ( , ) consistent in both

𝑐𝑐 𝑠𝑠 𝑐𝑐 arms as some constellations combine one or two𝑓𝑓 BPSK ( 𝑓𝑓) and 𝑓𝑓 BOC ( , ) type

𝑐𝑐 𝑠𝑠 𝑐𝑐 signals in the in-phase and quadrature arms. In general, 𝑓𝑓 𝑓𝑓 𝑓𝑓

57

𝑘𝑘 𝑘𝑘 𝐼𝐼1 𝐼𝐼1 𝐼𝐼1 𝐼𝐼2 𝐼𝐼2 𝑠𝑠 (𝑡𝑡) = ℜ ��2𝑃𝑃 (𝑡𝑡) �[𝑑𝑑 (𝑡𝑡)𝑠𝑠𝑠𝑠 (𝑡𝑡)𝑃𝑃𝑃𝑃𝑃𝑃 (𝑡𝑡) + 𝑑𝑑 (𝑡𝑡)𝑃𝑃𝑃𝑃𝑃𝑃 (𝑡𝑡)]

𝑄𝑄1 𝑄𝑄1 𝑄𝑄1 + 𝑗𝑗�𝑑𝑑 (𝑡𝑡)𝑠𝑠𝑠𝑠 (𝑡𝑡)𝑃𝑃𝑃𝑃𝑃𝑃 (𝑡𝑡) 𝑘𝑘 (1.40) 𝑗𝑗2𝜋𝜋𝑓𝑓0𝑡𝑡 𝑗𝑗𝜙𝜙 (𝑡𝑡) 𝑄𝑄2 𝑄𝑄2 + 𝑑𝑑 (𝑡𝑡)𝑃𝑃𝑃𝑃𝑃𝑃 (𝑡𝑡)�� 𝑒𝑒 𝑒𝑒 � where the additional subscript 1 or 2 is to differentiate between sequences. Figure 3

is a composite schematic diagram of the general signal modulated at the transmitter.

The upper output is if two BPSK’s are on the in-phase and quadrature arms. The

lower is same for BOC, and the output in the middle is if two BPSK and BOC are

on both arms. For instance, two GPS military codes (BPSK and BOC modulated)

are on in-phase arm where two civil signals modulated in the quadrature arm. Other

constellations, however, are consistent at each frequency, i.e. they are either BPSK

or BOC modulated at both arms. In fact, having multiple signals for the case of GPS

is to gradually migrate from legacy signals to the so-called GPS modernized signal and in near future GPS military BPSK modulated P(Y)-codes are not going to be broadcasted as planned.

58

𝑐𝑐 𝑠𝑠𝑠𝑠 (𝑡𝑡) in-phase + Quad BOC BOC s (𝑡𝑡) − s (𝑡𝑡) 0 + cos(𝜔𝜔 𝑡𝑡) √ + 𝑔𝑔 = 𝑃𝑃

in-phase Quad BPSK s BPSK (𝑡𝑡) − s (𝑡𝑡) 𝑐𝑐 𝑐𝑐 𝑃𝑃𝑃𝑃 (𝑡𝑡) 𝑑𝑑 (𝑡𝑡)

Figure 3. Schematic Spread BPSK and BOC Modulated Signal

Table 3 shows the status of modulation for various constellations at L1 frequency.

The coefficients 1/11 and 10/11 for L1-C GPS modulation defines the distribution

of power over data and pilot channels that are modulated with (6,1) and

sin (1,1) respectively. BOC

sin BOCGNSS GPS (L1) Galileo (E1) BeiDou GLONASS Constellation (B1) (G1) In-Phase BPSK(10)+ CBOC BOC(1,1) BPSK(5.11) (6,1,1/11) BOCsin(10,5)+ (1/11) BOCsin(1,1)

Quad BPSK(1)+ BOCcos(10,5) QMBOC BPSK(0.511) (10/11) BOCsin (6,1,4/33) (1,1)+ BOCsin(6,1)

Table 3. Modulation Scheme for GNSS at center frequency of 1575.42 MHz 59

Chapter 2: GNSS Measurement

In this chapter, the process of signal acquisition, tracking, navigation message decoding and navigation solution computation for BPSK modulation will be discussed. To keep the discussion more intuitive, actual GPS C/A code recorded at

the L1 frequency of 1575.42 MHz using USRP-NI 2920 along with the results at different stages of the receiver will be provided. Further, signal recording using the aforementioned front-end will be briefly discussed using the C++ software API provided by the ETTUS research in the appendix A

2.1 Signal Acquisition

The problem of signal acquisition in satellite navigation is twofold; statistical detection to determine the presence of a signal along with coarse initial estimation

60

of parameters of interests, being the code phase and Doppler frequency of the

carrier in the case of signal presence. 𝑃𝑃 𝑃𝑃𝑃𝑃

Knowing the signal structure at the transmitter, one may write the received BPSK

data QPSK spread spectrum modulated signal for a single satellite at the UE’s

antenna as follows

𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑟𝑟 𝐼𝐼 𝑟𝑟 𝐼𝐼 𝑟𝑟 𝑠𝑠 (𝑡𝑡) = ℜ ��𝑃𝑃 (𝑡𝑡) �𝑑𝑑 (𝑡𝑡 − 𝜏𝜏 (𝑡𝑡))𝑃𝑃𝑃𝑃𝑃𝑃 (𝑡𝑡 − 𝜏𝜏 (𝑡𝑡)) 𝑘𝑘 𝑘𝑘 𝑗𝑗2𝜋𝜋𝑓𝑓0𝑡𝑡 𝑗𝑗𝜙𝜙0,𝑟𝑟(𝑡𝑡) 𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑(𝑡𝑡)𝑡𝑡 𝑄𝑄 𝑟𝑟 𝑄𝑄 𝑟𝑟 + 𝑗𝑗𝑑𝑑 (𝑡𝑡 − 𝜏𝜏 (𝑡𝑡))𝑃𝑃𝑃𝑃𝑃𝑃 (𝑡𝑡 − 𝜏𝜏 (𝑡𝑡))�𝑒𝑒 𝑒𝑒 𝑒𝑒 � (2.1) 𝑘𝑘 𝑅𝑅𝑅𝑅 + 𝑛𝑛 𝑟𝑟 (𝑡𝑡) where the total signal at the receiver antenna for satellites is actually

𝑁𝑁

𝑁𝑁 𝑘𝑘 𝑟𝑟 𝑟𝑟 𝑠𝑠 (𝑡𝑡) = �𝑘𝑘=1 𝑠𝑠 (𝑡𝑡) is the attenuated power of the received signal, , ( ) is the phase term accounting

0 𝑟𝑟 𝑟𝑟 𝜙𝜙 𝑡𝑡 for𝑃𝑃 the delay in the absence of Doppler shift and is complex Additive White

𝑘𝑘 𝑅𝑅𝑅𝑅 𝑟𝑟 Gaussian Noise (AWGN) with power at the radio𝑛𝑛 frequency stage. It is worth

0 noting that the quantity that was𝑁𝑁 defined before is related to the above phase

𝑟𝑟 components as 𝜙𝜙 (𝑡𝑡)

𝑟𝑟 0,𝑟𝑟 𝑑𝑑 The received signal goes through𝜙𝜙 (𝑡𝑡 a) =down𝜙𝜙 (convertor𝑡𝑡) + 2𝜋𝜋𝑓𝑓 to(𝑡𝑡) mix𝑡𝑡 the signal to intermediate

frequency (IF) and ideally baseband frequency. Even though, it is desirable but 61 mixing the signal to baseband comes with the cost of IQ imbalance and DC offset.

Functions typically provided in Ettus C++ API to estimate and mitigate these problems. Therefore, the amplified, down converted to zero frequency, band pass filtered and digitized by ADC of the complex baseband signal can be written as

𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝐼𝐼 𝑠𝑠 𝑟𝑟 𝐼𝐼 𝑠𝑠 𝑟𝑟 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) = �𝑃𝑃̃ (𝐾𝐾𝑇𝑇 ) �𝑑𝑑 ̃ (𝐾𝐾𝑇𝑇 − 𝜏𝜏 )𝑃𝑃�𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 − 𝜏𝜏 ) 𝛿𝛿 𝑘𝑘 𝑘𝑘 𝑗𝑗2𝜋𝜋(𝑓𝑓𝑑𝑑+ 𝑓𝑓)𝐾𝐾𝑇𝑇𝑠𝑠 𝑗𝑗𝜙𝜙𝑟𝑟̃ 𝑄𝑄 𝑠𝑠 𝑟𝑟 𝑄𝑄 𝑠𝑠 𝑟𝑟 + 𝑗𝑗𝑑𝑑 ̃ (𝐾𝐾𝑇𝑇 − 𝜏𝜏 )𝑃𝑃�𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 − 𝜏𝜏 )�𝑒𝑒 𝑒𝑒 𝑘𝑘 (2.2) 𝑅𝑅𝑅𝑅 𝑠𝑠 + 𝑛𝑛̃ 𝑟𝑟 (𝐾𝐾𝑇𝑇 ) where time variable dropped from the delay, Doppler frequency and phase functions for ease of notation and tilde superscripts are to show the amplified power , filtered

data , spreading code and amplified and filtered noise and phase𝑃𝑃̃ offset added 𝑑𝑑 tõ through the 𝑃𝑃down�𝑃𝑃𝑃𝑃 conversion process to create . 𝑛𝑛 is̃ frequency offset

𝛿𝛿 of the local𝜙𝜙 oscillator which has been minimized in this project𝜙𝜙̃ by𝑓𝑓 locking the USRP

TCXO oscillator to the GPS disciplined OCXO oscillator (GPSDO). One observation is, even if the channel noise was independent and identically distributed (i.i.d) before passing through the daughterboard components, it is now correlated at least because of the filtering stage; however, further derivation will still be on the assumption of i.i.d AWGN noise.

62

For this project, the legacy GPS C/A code is to be acquired with chipping rate of

1.023 MHz, which is translated to Nyquist sampling frequency, greater than

1 𝑠𝑠 𝑇𝑇𝑠𝑠 2.046 MHz. Sampling frequency was set to 20 MSps and quantization𝐹𝐹 = resolution was

coded to receive 8 bit per I and Q sample (16 bit per I-Q sample) in Byte format. 45

seconds of size of 450 Mbytes of live signal recorded over the carrier frequency

0 of 1575.42 MHz. Note the capital notation for sampling frequency, chosen to ,be𝑓𝑓

distinguished from sub-carrier frequency defined in the previous chapter. Figures 4

and 5 are time and frequency plots of one millisecond of the recorded digitized signal.

Figure 4.Time representation of a millisecond of recorded signal 63

As described above, the problem of acquisition is to detect the presence of the signal for a specific satellite. Our detection problem contains four unknown fundamental parameters, code phase and Doppler frequency along with power

(amplitude) and carrier phase of the signal. We may not be concerned with the amplitude at this point. The signal portion of the probability distribution function (PDF) under the presence of the signal is unknown due to the unknown parameters and under absence of the signal, as discussed earlier, we can work with the assumption of zero mean i.i.d AWGN.

Figure 5. Frequency representation of a millisecond of recorded signal

64

According to [6], there are two approaches under the name of Composite Hypothesis

Testing (CHT) to solve the detection problem under the situation described;

Bayesian approach which by definition requires a prior PDF for the unknown

parameters (hard to obtain), which then leads to a multidimensional integration over

the parameters in the likelihood ratio test. The second approach, which is mainly

used in GNSS signal detection, is the Generalized Likelihood Ratio Test (GLRT).

According to [5], the unknown parameters are first estimated using the Maximum

Likelihood (ML) approach and then the estimated values substituted in the

likelihood ratio test. Formally, decide if

1 ℋ

𝑘𝑘 𝑘𝑘 (2.3) 𝑘𝑘 𝑟𝑟 1̂ 𝑟𝑟̃ 𝑟𝑟 𝑑𝑑 𝑟𝑟̃ 1 𝑟𝑟 max 𝑝𝑝(𝑠𝑠̃ ; 𝜃𝜃 = �𝑃𝑃 , 𝜏𝜏 , 𝑓𝑓 , 𝜙𝜙 �, ℋ ) 𝑘𝑘 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 (𝑠𝑠̃ ) = 𝑟𝑟 0 0 > 𝛾𝛾 where and are hypothesemaxs𝑝𝑝 (tests𝑠𝑠̃ ; 𝜃𝜃 ̂ under= 0, ℋpresence) and absence of the signal

1 0 respectivelyℋ , andℋ is ML estimated vector of parameters under and is ML

1 1 0 estimate under absence𝜃𝜃̂ of navigation signal. is the detection threshold.ℋ Assuming 𝜃𝜃̂ i.i.d AWGN with known variance of unity, the𝛾𝛾 distribution under the presence of the signal will be same with non-zero mean as follows

𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑠𝑠 𝒩𝒩 𝑟𝑟 𝑠𝑠 , being the deterministic𝑠𝑠̃ (𝐾𝐾𝑇𝑇 part) ~ ℂ of the( 𝑟𝑟 signal.̃ (𝐾𝐾𝑇𝑇 )A , 1necessary ) condition of a local 𝑘𝑘 𝑟𝑟 𝑠𝑠 maximum 𝑟𝑟̃ (𝐾𝐾𝑇𝑇 ) of the log likelihood is for the derivative to vanish as 65

𝑘𝑘 𝑘𝑘 𝜕𝜕 𝑟𝑟 𝑟𝑟 𝑟𝑟 𝑑𝑑 𝑟𝑟 1 𝜃𝜃𝑖𝑖=𝜃𝜃�𝚤𝚤 𝑖𝑖 log 𝑝𝑝(𝑠𝑠̃ ��𝑃𝑃̃ , 𝜏𝜏 , 𝑓𝑓 , 𝜙𝜙̃ �, ℋ �� = 0 which implies𝜕𝜕 𝜃𝜃

𝑇𝑇𝑏𝑏 𝑁𝑁�=𝑇𝑇𝑠𝑠�−1 (2.4) 𝑘𝑘 𝑘𝑘 𝑘𝑘 ⎡ 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝜕𝜕 𝑟𝑟 𝑠𝑠 ⎤ ℜ � [𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) − 𝑟𝑟̃ (𝐾𝐾𝑇𝑇 )] 𝑖𝑖 𝑟𝑟����̃ ��(���𝐾𝐾�����𝑇𝑇������)�� = 0 ⎢ 𝐾𝐾=0 𝜕𝜕𝜃𝜃 ⎥ is the data⎣ bit duration (data bit on C/A code⎦ has the duration of 20

𝑏𝑏 millisecond); 𝑇𝑇 therefore reads the number of samples per data bit; if the 𝑇𝑇𝑏𝑏 𝑇𝑇𝑠𝑠 maximum integration time𝑁𝑁 = is constrained to , then this is usually called coherent

𝑏𝑏 integration in GNSS jargon as the phase 𝑇𝑇effect induced by data bit remains

unchanged. Under severe conditions such as indoor conditions however, one might

need to increase the integration time to exceed more than one data bit interval but

obviously doing so may lead to misdetection if care is not taken. Using squaring

operation and adding multiple coherent intervals is a common technique to remove

the effect of data bit transition and Doppler frequency offset in which case it is called

non-coherent integration.

According to [5], one might derive the fundamental parameters from the optimal

condition above with a slight modification by absorbing the carrier phase term to

the power or the amplitude of the signal. Therefore, the complex-valued amplitude

estimate will be 66

𝑁𝑁−1 𝑟𝑟 𝑑𝑑 𝑠𝑠 −𝑗𝑗𝜙𝜙̃ 𝑘𝑘 𝑘𝑘 −𝑗𝑗2𝜋𝜋𝑓𝑓 𝐾𝐾𝑇𝑇 𝑟𝑟 𝑠𝑠 𝑀𝑀̂ 𝑀𝑀 𝑠𝑠 𝑠𝑠 𝑟𝑟 𝑟𝑟 𝑠𝑠 �𝑃𝑃̃ (𝐾𝐾𝑇𝑇 )𝑒𝑒 = 𝐴𝐴̃ (𝐾𝐾𝑇𝑇 ) = ���𝐶𝐶����(���𝐾𝐾�����𝑇𝑇�������−������𝜏𝜏������)�� 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )� 𝑒𝑒 and for integration interval less than the𝐾𝐾=0 duration of a data bit, we may drop the

data part and as we only process the quadrature spreading code such that

is the known real code as follows (the cross correlation between

𝑘𝑘 𝑠𝑠 𝑟𝑟 𝑄𝑄 𝐶𝐶the(𝐾𝐾 in𝑇𝑇-phase− 𝜏𝜏 )and quadrature spreading𝑃𝑃𝑃𝑃𝑃𝑃 code is nearly zero)

𝑘𝑘 𝑘𝑘 𝑠𝑠 𝑟𝑟 𝑄𝑄 𝑠𝑠 𝑟𝑟 Noting that is a function𝐶𝐶(𝐾𝐾𝑇𝑇 of− 𝜏𝜏code) = phase�−𝑃𝑃𝑃𝑃𝑃𝑃 and (Doppler𝐾𝐾𝑇𝑇 − 𝜏𝜏frequency)� and substituting

𝑀𝑀̂ 𝑀𝑀 it in the log conditional𝐴𝐴̃ pdf, one may derive optimality condition for code phase and

Doppler frequency and hence, the numerator of the generalized likelihood ratio test

as the following

𝑘𝑘 𝑘𝑘 max𝑘𝑘 𝑟𝑟 𝑀𝑀𝑀𝑀 𝑟𝑟 𝑑𝑑 1 𝑟𝑟 𝑑𝑑 ̃̂ 𝜏𝜏 , 𝑓𝑓 �log 𝑝𝑝(𝑠𝑠̃ �𝐴𝐴 , 𝜏𝜏 , 𝑓𝑓 , ℋ �� = 𝑁𝑁−1 𝑁𝑁−1 2 𝑘𝑘 𝑘𝑘 𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑𝐾𝐾𝑇𝑇𝑠𝑠 max𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑀𝑀𝑀𝑀 𝑠𝑠 𝑠𝑠 𝑟𝑟 𝑟𝑟 𝑑𝑑 ̃̂ 𝜏𝜏 , 𝑓𝑓 �− 𝐾𝐾�=0 log 𝜋𝜋 − 𝐾𝐾�=0 �𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) − 𝐴𝐴 (𝐾𝐾𝑇𝑇 )𝐶𝐶(𝐾𝐾𝑇𝑇 − 𝜏𝜏 )𝑒𝑒 � � =

𝑁𝑁−1 𝑁𝑁−1 2 𝑘𝑘 2 max𝑘𝑘 𝑟𝑟 𝑀𝑀𝑀𝑀 𝑀𝑀𝑀𝑀�����𝑀𝑀����𝑀𝑀��� 𝑟𝑟 𝑑𝑑 ̃̂ ̃̂ ̃̂ 𝜏𝜏 , 𝑓𝑓 �− 𝐾𝐾�=0 log 𝜋𝜋 − �𝐾𝐾�=0|𝑠𝑠̃ | � − �𝐴𝐴 � + 2ℜ �𝐴𝐴 𝐴𝐴 �� =

2 max𝑘𝑘 𝑀𝑀𝑀𝑀 𝑟𝑟 𝑑𝑑 ̃̂ For the denominator, 𝜏𝜏 , 𝑓𝑓 �𝐴𝐴 �

𝑁𝑁−1 𝑘𝑘 𝑘𝑘 2 𝑟𝑟 0 𝑟𝑟 𝑠𝑠 max[log 𝑝𝑝(𝑠𝑠̃ ; ℋ )] = max � |𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )| 67 𝐾𝐾=0

Therefore,

2 𝑀𝑀̂ 𝑀𝑀 𝑘𝑘 max �𝐴𝐴̃ � 𝑟𝑟 𝑁𝑁−1 𝑘𝑘 2 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 (𝑠𝑠̃ ) = 𝑟𝑟 𝑠𝑠 > 𝛾𝛾 And since is known, we decide max if∑ 𝐾𝐾=0 |𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )| 𝑘𝑘 𝑟𝑟 1 𝑠𝑠̃ ℋ

𝑁𝑁−1 2 (2.5) 𝑘𝑘 𝑘𝑘 𝑘𝑘 −𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑𝐾𝐾𝑇𝑇𝑠𝑠 𝑟𝑟 𝑄𝑄 𝑠𝑠 𝑟𝑟 𝑟𝑟 𝑠𝑠 𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺 (𝑠𝑠̃ ) = max �𝐾𝐾�=0�𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 − 𝜏𝜏 ) 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )� 𝑒𝑒 � ′ And, therefore > 𝛾𝛾

𝑁𝑁−1 2 (2.6) 𝑘𝑘 𝑘𝑘 𝑘𝑘 −𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑𝐾𝐾𝑇𝑇𝑠𝑠 𝑟𝑟 𝑀𝑀𝑀𝑀 𝑑𝑑𝑀𝑀𝑀𝑀 𝑄𝑄 𝑠𝑠 𝑟𝑟 𝑟𝑟 𝑠𝑠 𝜏𝜏̂ , 𝑓𝑓 ̂ = arg max �𝐾𝐾�=0�𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 − 𝜏𝜏 ) 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )� 𝑒𝑒 � The numerical maximizer to the code phase and Doppler frequency above is computed through a two dimensional numerical search. Hence, when the replica code phase is aligned and the Doppler frequency matched with the received code phase and Doppler frequency then the hypothesis is accepted and the optimal values

1 stored as initial values for tracking ℋ loop. In order to reduce computational expense, the cross correlation part of the cost function may be evaluated in the frequency domain using FFT with a serial search for Doppler frequency bins 250 Hz apart.

Without loss of generality, we may only consider searching only for the

quadrature , C/A code, and hence real valued replica. Figure 6 shows the search

space and detected 𝑃𝑃𝑃𝑃𝑃𝑃 which is recorded at 5 Msps.

68 𝑃𝑃𝑃𝑃𝑃𝑃1

Figure 6.Acquisition Search Space Channel #1

The Figure 7 is the flow diagram of GLRT detection computed based on numerical maximum likelihood estimation of the code phase and Doppler frequency. It is worth noting that the detection statistic does not depend on the noise nor on sampling frequency for this detector, which is desirable in a sense that one does not need to change the threshold value as the integration time or the receiver noise increase or decrease.

Channels acquisition results can be found in appendix B.

69

FFT max | IFFT| 2 ′ > 𝛾𝛾 1 𝑘𝑘 ℋ 𝑟𝑟 𝑠𝑠 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) FFT* 𝑘𝑘 𝑟𝑟 𝑀𝑀𝑀𝑀 𝑑𝑑̂ 𝑀𝑀𝑀𝑀 𝜏𝜏̂ , 𝑓𝑓Tracking −𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑𝐾𝐾𝑇𝑇𝑠𝑠 Loops 𝑒𝑒 𝑑𝑑 𝑓𝑓 = −5 𝐾𝐾𝐾𝐾𝐾𝐾: 250𝐻𝐻𝐻𝐻: 5 𝐾𝐾𝐾𝐾𝐾𝐾 𝑄𝑄 𝑠𝑠 𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 ) Figure 7. Schematic Diagram of GNSS Signal Acquisition Based on GLRT

2.2 Signal Tracking

The problem of tracking is to finely adjust the coarse initial value of code phase and carrier Doppler frequency coming from the acquisition block within a closed loop feedback structure and track the changes in those parameters as long as the signal is present. As seen in the acquisition stage, the code phase and Doppler values are estimated numerically by a two dimensional search process. Here, we may derive a nearly optimal solution based on the ML criterion for both parameters, which can be implemented within the Delay Lock Loop (DLL) and Phase Lock Loop (PLL) structures. According to [3], we may again start with the maximum likelihood

70

equation derived in the acquisition stage, assuming the phase of the signal is not

known (Non-coherent).

For the code phase, the equation is as follows

𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑟𝑟 max [𝑝𝑝(𝑠𝑠̃ |𝜏𝜏 )] = 𝑁𝑁−1 𝑘𝑘 𝑘𝑘 𝑘𝑘 2 𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝑟𝑟 max𝑟𝑟 𝜏𝜏 �exp �− 𝐾𝐾�=0|𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) − 𝑟𝑟̃ (𝐾𝐾𝑇𝑇 , 𝜏𝜏 )| �� =

𝑁𝑁 𝑘𝑘 2 𝑘𝑘 𝑘𝑘 2 𝑘𝑘 𝑘𝑘 𝑘𝑘 max𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑟𝑟 𝑠𝑠 𝑟𝑟 �exp �− �|𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )| + |𝑟𝑟̃ (𝐾𝐾𝑇𝑇 , 𝜏𝜏 )| − 2ℜ�𝑟𝑟����̃ ��(��𝐾𝐾������𝑇𝑇������,��𝜏𝜏������)��𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )��� Above,𝜏𝜏 the first term𝐾𝐾=0 is not dependent on and the second term, which is also

𝑘𝑘 𝑟𝑟 energy function and is independent of the code𝜏𝜏 phase under the assumption that the codes in both in-phase and quadrature channel are independent. Therefore, the maximization problem is reduced to

𝑁𝑁−1 𝑘𝑘 𝑘𝑘 𝑘𝑘 max𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑟𝑟 𝑠𝑠 𝑟𝑟 �exp �2ℜ ���𝑟𝑟���̃ ��(��𝐾𝐾������𝑇𝑇������,��𝜏𝜏������)��𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )��� Doppler Frequency is𝜏𝜏 known from𝐾𝐾= 0Frequency Lock Loop (FLL) or open loop

frequency estimator; then

𝑁𝑁−1 𝑘𝑘 𝑘𝑘 −𝑗𝑗𝜙𝜙𝑟𝑟̃ max𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑄𝑄 𝑠𝑠 𝑟𝑟 𝑟𝑟 �exp �ℜ ��𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )�𝑃𝑃𝑅𝑅𝑁𝑁 (𝐾𝐾𝑇𝑇 − 𝜏𝜏 )�𝑒𝑒 ��� assuming the carrier𝜏𝜏 phase𝐾𝐾 is=0 distributed uniformly in the range of [0 2 ] but

𝜋𝜋 unknown, we may also average it out

71

2𝜋𝜋 𝑁𝑁−1 𝑘𝑘 𝑘𝑘 max𝑘𝑘 1 𝑟𝑟 𝑠𝑠 𝑄𝑄 𝑠𝑠 𝑟𝑟 𝑟𝑟 𝑟𝑟 � � exp �� 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )�𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 − 𝜏𝜏 )�� cos �𝜙𝜙̃ 𝜏𝜏 2𝜋𝜋 0 𝐾𝐾=0 𝑁𝑁−1 𝑘𝑘 𝑟𝑟 𝑠𝑠 − arg �𝐾𝐾�=0 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )�� 𝑑𝑑𝜙𝜙�̃

𝑁𝑁−1 𝑘𝑘 𝑘𝑘 max𝑘𝑘 0 𝑟𝑟 𝑠𝑠 𝑄𝑄 𝑠𝑠 𝑟𝑟 = 𝑟𝑟 �𝐼𝐼 ��� 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )�𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 − 𝜏𝜏 )���� 𝜏𝜏 𝐾𝐾=0

where is the modified Bessel function of first kind and zero order. The log of

0 the cost𝐼𝐼 (𝑥𝑥function) would be maximized easier instead as for small value of ,

𝑥𝑥 ; then, ignoring the scalar part 2 𝑥𝑥 0 4 ln( 𝐼𝐼 (𝑥𝑥)) ≅

𝑁𝑁−1 𝑘𝑘 𝑘𝑘 𝑘𝑘 0 𝑟𝑟 𝑠𝑠 𝑄𝑄 𝑠𝑠 𝑟𝑟 max𝑟𝑟 𝜏𝜏 �ln �𝐼𝐼 ��𝐾𝐾�=0 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )�𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 − 𝜏𝜏 )�����

𝑁𝑁−1 2 𝑘𝑘 𝑘𝑘 max𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑄𝑄 𝑠𝑠 𝑟𝑟 ≅ 𝑟𝑟 �� 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )�𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 − 𝜏𝜏 )�� first order optimality condition 𝜏𝜏yields𝐾𝐾 =0

𝑁𝑁−1 2 (2.7) 𝑘𝑘 𝑘𝑘 𝜕𝜕 𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑄𝑄 𝑠𝑠 𝑟𝑟 𝑟𝑟 �𝐾𝐾�=0 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )�𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ )�� = 0 which means the𝜕𝜕𝜏𝜏 square of summation of the product of the received signal samples

and the differentiated reference signal samples for the specified interval must be zero.

According to [8], pulling in the coarse code phase from the acquisition module for

72

the first N samples and assuming that and also that the rate of change

𝑘𝑘(0) 𝑘𝑘𝐴𝐴𝐴𝐴𝐴𝐴 𝑟𝑟 𝑟𝑟 of code phase is small from current𝜏𝜏 ̂ interval≅ 𝜏𝜏 to the next one (i.e. is

𝑘𝑘 𝑟𝑟 𝑠𝑠 differentiable or for small ) where at each integration interval𝑟𝑟̃ (𝐾𝐾𝑇𝑇 )the

𝑘𝑘(1) 𝑘𝑘(0) 𝑟𝑟 𝑟𝑟 converges to its𝜏𝜏 optimal− 𝜏𝜏̂ value= 𝜖𝜖 , then 𝜖𝜖

𝑘𝑘 𝑟𝑟 𝜏𝜏

𝑘𝑘 𝑘𝑘(0) 𝑘𝑘(0) 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝜕𝜕 𝑘𝑘 ��������������𝑄𝑄���������������𝑠𝑠�������������𝑟𝑟����������� 𝐸𝐸 �𝑠𝑠̃ �𝐾𝐾𝑇𝑇 , �𝜏𝜏̂ + 𝜖𝜖�� 𝑟𝑟 𝑃𝑃𝑃𝑃𝑃𝑃 �𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ �� 𝜕𝜕𝜏𝜏̂ 𝑘𝑘(0) 𝑄𝑄 𝑠𝑠 𝑟𝑟 = 𝐸𝐸 �𝑃𝑃𝑃𝑃𝑃𝑃 �𝐾𝐾𝑇𝑇 , �𝜏𝜏̂ (2.8) 𝑘𝑘(0) 𝜕𝜕 𝑘𝑘 ��������������𝑄𝑄���������������𝑠𝑠�������������𝑟𝑟����������� 𝜕𝜕 𝑃𝑃�𝑃𝑃𝑃𝑃 + 𝜖𝜖�� 𝑟𝑟 𝑃𝑃𝑃𝑃𝑃𝑃 �𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ �� = 𝑅𝑅 (𝜖𝜖) Therefore, based on the assumption𝜕𝜕𝜏𝜏̂ of ergodicity of 𝜕𝜕the𝜖𝜖 navigation signal, the

maximum likelihood derived code phase , scaled by N, approximates the

𝑘𝑘 𝑟𝑟 differentiated autocorrelation function which 𝜏𝜏 ̂ is also known as DLL discriminator

function which gives a correction term proportional to the code phase change .

Therefore, if is momentarily increases with respect to ,the sum above𝜖𝜖

𝑘𝑘(1) 𝑘𝑘(0) 𝑟𝑟 𝑟𝑟 increases, and 𝜏𝜏one can use this information in a closed loop structure𝜏𝜏̂ to keep the

error close zero. Thus, the loop tracks the variation in the code phase based on the

optimality condition. However, the triangular autocorrelation function is not differentiable at its peak and we can only approximate the derivative in the maximum likelihood equation as follows

73

𝑁𝑁−1 2 𝑘𝑘 𝑘𝑘 𝜕𝜕 𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑄𝑄 𝑠𝑠 𝑟𝑟 𝑟𝑟 �� 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )�𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ )�� 𝜕𝜕𝜏𝜏 𝐾𝐾=0 2 𝑁𝑁−1 𝑘𝑘 𝑘𝑘 𝐾𝐾=0 𝑟𝑟 𝑠𝑠 𝑄𝑄 𝑠𝑠 𝑟𝑟 Δ �∑ 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) �𝑃𝑃𝑃𝑃𝑃𝑃 �𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ + ��� 2 𝑁𝑁−1 𝑘𝑘 𝑘𝑘 2 𝐾𝐾=0 𝑟𝑟 𝑠𝑠 𝑄𝑄 𝑠𝑠 𝑟𝑟 Δ − �∑ 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) �𝑃𝑃𝑃𝑃𝑃𝑃 �𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ − 2 ��� Where ≅ and are early and late reference Δ 𝑘𝑘 Δ 𝑘𝑘 Δ Δ 𝑄𝑄 𝑠𝑠 𝑟𝑟 2 𝑄𝑄 𝑠𝑠 𝑟𝑟 2 2 signal with𝑃𝑃𝑃𝑃𝑃𝑃 respect(𝐾𝐾𝑇𝑇 , 𝜏𝜏to +a prompt) 𝑃𝑃 𝑃𝑃𝑃𝑃signal(𝐾𝐾 of𝑇𝑇 , 𝜏𝜏 − ) . Substituting in the

𝑘𝑘 𝑄𝑄 𝑠𝑠 𝑟𝑟 maximum likelihood expression 𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 , 𝜏𝜏 )

𝑁𝑁−1 2 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑄𝑄 𝑠𝑠 𝑟𝑟 Δ �𝐾𝐾�=0 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) �𝑃𝑃𝑃𝑃𝑃𝑃 �𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ + ��� 𝑁𝑁−1 2 2 𝑘𝑘 𝑘𝑘 (2.9) 𝑟𝑟 𝑠𝑠 𝑄𝑄 𝑠𝑠 𝑟𝑟 Δ − �𝐾𝐾�=0 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) �𝑃𝑃𝑃𝑃𝑃𝑃 �𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ − ��� = 0 In the above expression it is assumed that the PLL is not 2operating yet otherwise, the expression would have been reduced to simple early minus late without requiring any power computation. In other words, the unknown phase costs the squaring operation and this leads to a non-coherent early minus late power discriminator.

Figure 8 shows the closed loop structure of the DLL based on the ML estimation.

The filter is a proportional integral filter used to produce both code phase and code Doppler𝐻𝐻( 𝑧𝑧frequency) error of the DLL minimizing the noise.

74

Early Correlator

𝑁𝑁−1 2 � 𝑘𝑘=0 | . |

PRN _ ∆ NCO + 2 Gen 𝑘𝑘 ∆ 𝑟𝑟 𝑠𝑠 − 𝐻𝐻(𝑧𝑧) 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) 2 𝑘𝑘 𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑̂ 𝐾𝐾𝑇𝑇𝑠𝑠 𝑟𝑟 𝑁𝑁−1 𝛿𝛿𝜏𝜏̂ 𝑒𝑒 2 From FLL/PLL �𝑘𝑘=0 Late Correlator | . | 𝑑𝑑 𝑓𝑓 ̂ Figure 8. Block Diagram of Early Minus Late Power DLL

Phase lock loop is another feedback structure, used for carrier synchronization as

DLL is for code synchronization. Usually when the PLL frequency error is within on-

sided loop noise bandwidth, phase acquisition occurs quickly; however, the Doppler

frequency estimated in the acquisition step is too coarse for PLL to start with.

There is a need for an intermediate step for frequency estimate conditioning before

the PLL. This could be done in either open loop or closed loop fashion (FLL). We

may start with, the open loop first.

75

Figure 9. First 6 Seconds of Output of Early Minus Late Power DLL Discriminator for Channel #1

Consider the likelihood function (instead of log likelihood), conditioned on Doppler frequency

𝑘𝑘 𝑟𝑟 𝑑𝑑 max [𝑝𝑝(𝑠𝑠̃ |𝑓𝑓 )] = 𝑁𝑁 𝑘𝑘 2 𝑘𝑘 𝑘𝑘 2 𝑘𝑘 𝑘𝑘 𝑘𝑘 max 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑟𝑟 𝑠𝑠 𝑑𝑑 �exp − ��|𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )| + |𝑟𝑟̃ (𝐾𝐾𝑇𝑇 , 𝜏𝜏 )| − 2ℜ�𝑟𝑟����̃ ��(��𝐾𝐾������𝑇𝑇������,��𝜏𝜏������)��𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )��� = As one𝑓𝑓 can see, 𝐾𝐾the=0 first term is not dependent on Doppler frequency and second term, which contains sum of squared exponentials function of Doppler frequency which is unity; therefore our optimal condition is again reduced to

76

𝑁𝑁−1 𝑘𝑘 𝑘𝑘 𝑘𝑘 max 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑑𝑑 �exp ℜ � 2�𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑟𝑟����̃ ��(��𝐾𝐾������𝑇𝑇������,��𝜏𝜏������)���� Knowing the code phase𝑓𝑓 from the acquisition𝐾𝐾=0 , the code part is also dropped; therefore

𝑁𝑁−1 𝑘𝑘 −𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑𝐾𝐾𝑇𝑇𝑠𝑠 −𝑗𝑗𝜙𝜙𝑟𝑟̃ max 𝑟𝑟 𝑠𝑠 𝑑𝑑 exp ℜ � 2�𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑒𝑒 𝑒𝑒 � Computing the real part𝑓𝑓 and assuming𝐾𝐾=0 the carrier phase is distributed uniformly in

the range of [0 2 ] but unknown, we may also average it out

𝜋𝜋

2𝜋𝜋 𝑁𝑁−1 𝑘𝑘 −𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑𝐾𝐾𝑇𝑇𝑠𝑠 max 1 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑑𝑑 � exp �� 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑒𝑒 � cos �𝜙𝜙̃ 𝑓𝑓 2𝜋𝜋 0 𝐾𝐾=0 𝑁𝑁−1 𝑘𝑘 −𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑𝐾𝐾𝑇𝑇𝑠𝑠 𝑟𝑟 𝑠𝑠 − arg �𝐾𝐾�=0 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑒𝑒 �� 𝑑𝑑𝜙𝜙 ̃

𝑁𝑁−1 𝑘𝑘 −𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑𝐾𝐾𝑇𝑇𝑠𝑠 max 0 𝑟𝑟 𝑠𝑠 = 𝑑𝑑 �𝐼𝐼 ��� 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑒𝑒 ��� where is the modified𝑓𝑓 Bessel 𝐾𝐾function=0 of first kind and zero order. According

0 to [14] 𝐼𝐼as( 𝑥𝑥the) Bessel function is a convex function, optimizing a convex function of a cost function means optimizing the cost function itself; therefore,

(2.10) 𝑁𝑁−1 𝑘𝑘 −𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑𝐾𝐾𝑇𝑇𝑠𝑠 𝑟𝑟 𝑠𝑠 max𝑑𝑑 𝑓𝑓 �𝐾𝐾�=0 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑒𝑒 � which means the ML estimator of Doppler frequency is the max of the magnitude of

the FFT. Accordingly, the so-called open loop structure is as shown in figure 10

77

max |FFT| DLL/PLL 𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) 𝑓𝑓̂𝑑𝑑

From Acquisition

𝑘𝑘 𝑘𝑘(0) 𝑄𝑄 𝑠𝑠 𝑟𝑟 𝑟𝑟 Figure 𝑃𝑃10𝑃𝑃𝑃𝑃. Open(𝐾𝐾 𝑇𝑇Loop− 𝜏𝜏Initial̂ ) Doppler Estimation/Reacquisition𝜏𝜏̂

It is worth noting that the initial value of Doppler frequency for both of DLL and

PLL is fed from the value estimated here. Closed loop frequency error estimator can

be also designed based on the same principles as done for delay lock loop by

approximating the derivative of the cost function derived here as follows

𝑁𝑁−1 𝑘𝑘 −𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑̂ 𝐾𝐾𝑇𝑇𝑠𝑠 −𝑗𝑗2𝜋𝜋𝜋𝜋𝜋𝜋𝑇𝑇𝑠𝑠 𝑟𝑟 𝑠𝑠 �∑𝐾𝐾=0 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑒𝑒 𝑒𝑒 � 𝑁𝑁−1 𝑁𝑁−1 𝑘𝑘 −𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑̂ 𝐾𝐾𝑇𝑇𝑠𝑠 𝑗𝑗2𝜋𝜋𝜋𝜋𝜋𝜋𝑇𝑇𝑠𝑠 𝑘𝑘 −𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑𝐾𝐾𝑇𝑇𝑠𝑠 𝐾𝐾=0 𝑟𝑟 𝑠𝑠 (2.11) 𝑟𝑟 𝑠𝑠 −�∑ 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑒𝑒 𝑒𝑒 � max𝑑𝑑 �𝐾𝐾�=0 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑒𝑒 � ≅ = 0 Above,𝑓𝑓 is a delay of one sample. In this project, 2the𝜀𝜀 open loop structure has been

used. ε

After DLL is locked and higher resolution frequency estimated either in the from of open loop or FLL, we may estimate the phase of the signal. Generally, non-coherent

PLL in the form of Costas loop is the method used in satellite navigation except for

tracking pilot channels that can be done coherently as one may not be concerned

about data bit transition. The maximum log likelihood equation will read

78

𝑘𝑘 𝑟𝑟 max [log 𝑝𝑝(𝑠𝑠̃ |𝜃𝜃)] = 𝑁𝑁 𝑘𝑘 2 𝑘𝑘 𝑘𝑘 2 𝑘𝑘 𝑘𝑘 𝑘𝑘 max 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝑟𝑟 ���𝑟𝑟��������������𝑠𝑠��������𝑟𝑟����� 𝑟𝑟 𝑠𝑠 𝜙𝜙 �− 𝐾𝐾�=0|𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )| + |𝑟𝑟̃ (𝐾𝐾𝑇𝑇 , 𝜏𝜏 )| − 2ℜ�𝑟𝑟̃ (𝐾𝐾𝑇𝑇 , 𝜏𝜏 )𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )�� =

𝑁𝑁−1 𝑘𝑘 𝑘𝑘 𝑘𝑘 max 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝑟𝑟 �ℜ � 2�𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑟𝑟����̃ ��(��𝐾𝐾������𝑇𝑇������,��𝜏𝜏������)���� Knowing the code phase 𝜙𝜙from the𝐾𝐾= 0acquisition and Doppler frequency from the open loop frequency estimator the code part is also dropped but we assumed unknown data bit; then

𝑁𝑁−1 𝑘𝑘 𝑘𝑘 −𝑗𝑗𝜙𝜙𝑟𝑟̃ max 𝑟𝑟 𝑠𝑠 𝑠𝑠 𝑟𝑟 𝜙𝜙 �ℜ 𝐾𝐾�=0 2�𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑑𝑑(𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ )𝑒𝑒 ��

𝑁𝑁−1 ̂ 𝑘𝑘 𝑘𝑘 −𝑗𝑗𝜙𝜙𝑟𝑟̃ 𝑟𝑟 𝑠𝑠 𝑠𝑠 𝑟𝑟 �ℜ 𝐾𝐾�=0 −2𝑗𝑗 �𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑑𝑑(𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ )𝑒𝑒 �� = 0

𝑁𝑁−1 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑠𝑠 𝑟𝑟 𝑟𝑟̂ 𝑟𝑟̂ �ℜ � �𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )𝑑𝑑(𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ )(sin 𝜙𝜙̃ + 𝑗𝑗 cos 𝜙𝜙̃ )�� = 0 Considering constant𝐾𝐾= 0phase during the integration interval,

𝑁𝑁−1 𝑘𝑘 𝑘𝑘 𝑟𝑟̂ 𝑟𝑟 𝑠𝑠 𝑠𝑠 𝑟𝑟 �sin 𝜙𝜙̃ � �𝐾𝐾�=0[ℜ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )}𝑑𝑑(𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ )]�

𝑁𝑁−1 𝑘𝑘 𝑘𝑘 𝑟𝑟̂ 𝑟𝑟 𝑠𝑠 𝑠𝑠 𝑟𝑟 = �cos 𝜙𝜙̃ � �𝐾𝐾�=0 ℜ{−𝑗𝑗𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )}𝑑𝑑(𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ )�

𝑁𝑁−1 𝑁𝑁−1 −1 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑟𝑟̂ 𝑟𝑟 𝑠𝑠 𝑠𝑠 𝑟𝑟 𝑟𝑟 𝑠𝑠 𝑠𝑠 𝑟𝑟 𝛿𝛿𝜙𝜙̃ = tan �� ℑ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )}𝑑𝑑(𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ )�� ℜ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )}𝑑𝑑(𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ )� Above, if there is 𝐾𝐾no= 0data bit transition or data is𝐾𝐾 =wiped0 off during the integration, then it reduces to

79

𝑁𝑁−1 𝑁𝑁−1 (2.12) 𝑘𝑘 𝑘𝑘 𝑟𝑟̂ 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝛿𝛿𝜙𝜙̃ = 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴2 �𝐾𝐾�=0 ℑ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )} , 𝐾𝐾�=0 ℜ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )}� which is the normal mode of PLL derived based on ML optimality condition. One

can observe this needs constant data wipe off. If there is no knowledge about the bit transition, then the so-called two quadrant Costas PLL that is insensitive to 180 degrees phase shift is used. This is why the Costas loop is mainly used in the GNSS receiver as follows

𝑁𝑁−1 𝑁𝑁−1 (2.13) 𝑘𝑘 𝑘𝑘 𝑟𝑟̂ 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝛿𝛿𝜙𝜙̃ = 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 �𝐾𝐾�=0 ℑ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )}�𝐾𝐾�=0 ℜ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )}� According to [4], there is only a one time need to detect initial bit; data bit can be

detected easily by accumulating the in phase samples for one data bit interval in

Costas PLL. Since there is a 180 degrees ambiguity, the initial detected data bit might be normal or inverted but this can be resolved during the data frame synchronization using the preamble. If the autocorrelation with the preamble results

in an inverted peak, then the data bit must be inverted; if it is normal, the detected

bit is true. If it was inverted, then 180 degrees must be also added to the phase

values. Then as long as the loop is in lock, the phase ambiguity remains resolved, as

the computation is insensitive to any phase change.

80

The block diagram of the Costas loop is as in figure 11. The filter here is again

a proportional integral filter to estimate both carrier phase and𝐻𝐻 (carrier𝑧𝑧) Doppler

frequency. Figure 12 shows how quickly the carrier phase error converges compared

to what we have seen for DLL convergence.

Now that the maximum likelihood estimate of phase derived, one may use this

information to derive the mostly common FLL in navigation receivers instead of

early late FLL. According to [2], knowing the relation between phase and Doppler

frequency, we write

𝑘𝑘+1 𝑘𝑘 𝑟𝑟̂ 𝑟𝑟̂ 𝑑𝑑 𝛿𝛿𝜙𝜙̃ − 𝛿𝛿𝜙𝜙̃ 𝛿𝛿𝑓𝑓 ̂ = 𝑘𝑘 = 1,2, …. 𝑁𝑁

𝑁𝑁−1

ℑ �𝑘𝑘=0

𝑘𝑘 𝑟𝑟 𝑠𝑠 NCO 𝑠𝑠̃ (𝐾𝐾𝑇𝑇 ) 𝑑𝑑 (.) 𝛿𝛿𝑓𝑓 ̂ (.) 𝐻𝐻(𝑧𝑧) 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎

𝑁𝑁−1 𝑘𝑘 𝑄𝑄 𝑠𝑠 𝑟𝑟 𝑗𝑗2𝜋𝜋𝑓𝑓𝑑𝑑̂ 𝐾𝐾𝑇𝑇𝑠𝑠 𝑃𝑃𝑃𝑃𝑃𝑃 (𝐾𝐾𝑇𝑇 − 𝜏𝜏̂ ) ℜ �𝑘𝑘=0 𝑒𝑒 DLL Figure 11. Block Diagram of Costas PLL

81

Where is the phase error of the carrier at an epoch of integration and is 𝑘𝑘 𝑟𝑟̂ integration𝛿𝛿𝜙𝜙̃ interval. Then 𝑁𝑁

𝑘𝑘+1 𝑘𝑘 𝑘𝑘+1 𝑘𝑘 𝑟𝑟̂ 𝑟𝑟̂ 𝑟𝑟̂ 𝑟𝑟̂ tan 𝛿𝛿𝜙𝜙̃ 𝑘𝑘−+1tan 𝛿𝛿𝜙𝜙̃ 𝑘𝑘 tan �𝛿𝛿𝜙𝜙̃ − 𝛿𝛿𝜙𝜙̃ � = = 𝑟𝑟̂ 𝑟𝑟̂ 1 + tan 𝛿𝛿𝜙𝜙̃ tan 𝛿𝛿𝜙𝜙̃ 𝑁𝑁−1 2𝑁𝑁−1 2𝑁𝑁−1 𝑁𝑁−1 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝐾𝐾�=0 ℜ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )} . 𝐾𝐾�=𝑁𝑁 ℑ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )} − 𝐾𝐾�=𝑁𝑁 ℜ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )} . 𝐾𝐾�=0 ℑ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )}

𝑁𝑁−1 2𝑁𝑁−1 2𝑁𝑁−1 𝑁𝑁−1 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑘𝑘 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 𝑟𝑟 𝑠𝑠 � ℜ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )} . � ℜ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )} − � ℑ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )} . � ℑ{𝑠𝑠̃ (𝐾𝐾𝑇𝑇 )} Which𝐾𝐾= is0 commonly referred𝐾𝐾=𝑁𝑁 to as dot cross 𝐾𝐾FLL=𝑁𝑁 as 𝐾𝐾=0

𝑘𝑘+1 𝑘𝑘 𝑟𝑟̂ 𝑟𝑟̂ cross tan �𝛿𝛿𝜙𝜙̃ − 𝛿𝛿𝜙𝜙̃ � = And therefore, dot

−1 (2.14) cross 𝑑𝑑 tan 𝛿𝛿𝑓𝑓 ̂ = dot 𝑁𝑁 We will see this type of FLL is used for estimating carrier Doppler frequency in the

vector tracking loop when the carrier to noise ratio is low.

Channels statistics and tracking results can be found in the appendix B.

82

Figure 12. First Second of Output of Costas PLL Discriminator for Channel #1

2.3 Navigation Message Decoding

Structure of navigation messages is different constellation to constellation and within a constellation. The GPS NAV data includes satellite ephemerides, system time information and status message among other data by a rate of 50 bps. For C/A code, with code length of 1 Ms, every 20 codes fit in one data bit. According to [11], there is no Forward Error Correction (FEC) or Cyclic Redundant Check (CRC) for NAV data but there is a parity check bits assigned at the end of each sub-frame. Other navigation message for modernized GPS is civil navigation data CNAV which includes all the information as NAV data with rate of 25 bps which is encoded by a

83 rate of ½ convolutional encoder resulting in the same 50 sps rate which is then modulated on CM code on L2 and L5 data channel (In-phase channel) and adding

24 bits of CRC check. Here, we only discuss the NAV data that is modulated along with C/A code on the quadrature arm. The structure of a complete NAV message is as shown in Figure 13.

Each full navigation message is 750 seconds long (12 Minutes and 30 Seconds) includes 25 frames, each 30 seconds long and each frame includes 5 sub-frames, each

6 seconds long and each sub-frame has 10 words each 0.6 second long. With data bit rate of 50 bps, one may obtain total of 37500 bits per full navigation message, 1500 bits per frame, 300 bits per sub-frame and 30 bits per word. As shown in the Figure

13, sub-frame 1 through 3 has same information (satellite broadcast ephemerides, clock and health information) in all the 25 frames but sub-frames 4 and 5 have different data (25 pages), sub frame 4 contains reserved bits for system use, ionospheric Klobochar model coefficients, UTC coefficients and almanac data. Sub frame 5 has same data for the first 24 pages and almanac data for the 25th page).

84

0 6 12 18 24 30 words

1 |↓ 2 ↓| 3 ↓ | 4↓ | 5↓ | ↓6 | ↓7 |↓ 8 ↓| 9 ↓| 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 Sec Frame 1 Sub-frame1 Sub-frame2 Sub-frame3 Sub-frame Sub-frame

36 42 48 154 60 1 4 5 → 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 Sec Frame 2 Sub-frame1 Sub-frame2 Sub-frame3 Sub-frame Sub-frame 2 2 4 5 →

......

726 732 738 744 750

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 Frame 25 Sub-frame1 Sub-frame2 Sub-frame3 Sub-frame Sub-frame Sec

25 25 4 5 → Figure 13. Structure of GPS NAV Data

Each word ends with 6 bits parity for error correction. Sub-frames always start with two words known as Telemetry (TLM word) and handover (HOW) word respectively. TLM start with 8 bits preamble, which is used for frame synchronization, 16 bits reserved and 6-bit parity. HOW contains 17 bit truncated

Time Of Week (TOW) followed by two flags about satellite accuracy and health; then, the next three bits indicate the sub-frame ID.

An example of demodulated navigation message is shown in Figure 14.

85

Figure 14. First 15 Second of Demodulated Data Bits for Channel #1

According to [1], known up-sampled (Up sample Factor=bit period (20 ms)

/integration interval (1ms) from tracking loop) version of the 8-bit preamble (1,-1,-

1,-1,1,-1,1,1) is correlated with the in-phase prompt output of the tracking loop which has the data only at this time (code and carrier wiped off). a preconditioning is that sample values needs to be converted to 1 and -1 before correlating. Therefore, one may expect a total peak value of 160 or -160 if the bit sequence is inverted

(mentioned in the carrier phase tracking). As mentioned, the preamble is at the start of TLM word and TLM word repeats every sub-frame (every 6 seconds). This results in a peak value every 6 seconds and that is one check to ensure the peak 86

values are actually preambles not preamble like patterns data. Second step

verification is parity check that is not explained here but it is simple check based on

the last word’s last two parity bits and the current word data bits and parity bits.

When the start of sub-frame is carefully detected, for satellite orbit and clock computations, we need to find out at least where the three first sub-frames are located from the HOW word (the sub-frame ID are bits 20-22 in the HOW after

TOW bits). As soon as sub-frame ID is located, the three sub-frames can be decoded and also Time Of Week of the first sub-frame in the block can be computed.

Figure 15. Detected Sub-frames Using The Preamble for Channel #1

87

TOW is 17 bits counting number in interval of 6 seconds (Truncated Z-count) from

the beginning of GPS Week, which is the mid-night between Saturday and Sunday.

These 17 bits corresponds to TOW count, which occurs at the leading edge of the

next following sub-frame. Therefore, for the current sub-frame a sub-frame long interval must be subtracted from the current computed TOW. In addition, data bits

related to satellite accuracy and health must be check (located in the third word in

sub-frame 1) before proceeding. The TOW of the starting sub-frame (with known

accumulated sample number) can be reproduced for all other accumulated samples,

which are in this case integer number of milliseconds apart from the TOW which

means now every integrated sample out of the tracking loop has a TOW. One

interpolation step can be done in order to find a specific sample TOW between two

integration time intervals for all the channels and therefore be able to compute

pseudoranges for any specific time. At this point, the transmit time associated with

any sample number is established. The satellite position is now computed based on

the transmit time of the measuring sample through the algorithm explained in

chapter 1. The receiver time however, is only differentially computed for all the channels with respect to the fundamental channel which has the minimum travel

time, the channel with earliest arriving sub-frame. The travel time from satellite

88

about 21000 Km above the ground is known to be between 65-85 milliseconds. One may add an initial value of the average 70 millisecond to all the differential values computed by before to make an initial pseudoranges. Non-linear least squares is performed for the navigation equations in chapter 1 with the set of initial pseudoranges to solve for the receiver position and receiver clock error plus a bias.

The bias is now used to correct the set of initial pseudorange values to their actual

values.

2.4 Navigation Solution

For the tracking loop setup mentioned so far, observation from each channel is

generated independent from one another; however, as soon as the number of channels

is above four, which is the number of unknown parameters of interest in the

navigation equations, one might use this extra information which is the spatial

correlation between channels to produce better estimate of the navigation solution

under signal degradation. This means channels may exchange information, which is

useful when one channel has better carrier to noise ratio comparing to other ones.

The concept of Vector Lock Loop (VLL) in parallel to the Scalar Lock Loop (SLL)

was proposed to bring such an advantage to the receiver. In SLL, each channel

89

tracking loop produces code phase and Doppler frequency errors which leads to

pseudorange and pseudorange rate separately for the channel; but if the channel goes

under temporary loss of lock due to sudden obstruction between the satellite and the

receiver, the receiver cannot predict the channel parameters anymore and this in

turn affects the final navigation accuracy. However, if the position solution computed based on all the channels in one integrated navigation filter, is translated to code

phase and Doppler carrier for each channel in a feedback loop, the receiver still can

predict the lost satellites parameters based on the final solution computed from other

satellites until the channel reacquires the signal. This setup may bring up the notion

of Kalman Filter where a physical model predicts the next epoch of unknown

parameters based on the current epoch and the system is updated whenever measurements are available. The receiver process can be considered as a constant

velocity model (reasonable for an integration interval of a millisecond for civilian

application) as the following

− 1 𝑘𝑘+1 𝑘𝑘,𝑘𝑘+1 𝑘𝑘 𝑘𝑘+1 𝛿𝛿𝑋𝑋̂ = 𝑡𝑡 𝛿𝛿𝑉𝑉̂ + 𝑊𝑊 − 2 𝑟𝑟,𝑘𝑘+1 𝑟𝑟,𝑘𝑘 𝑘𝑘,𝑘𝑘+1 𝑟𝑟,𝑘𝑘 𝑘𝑘+1 𝑑𝑑�𝑑𝑑 = 𝑑𝑑�𝑑𝑑 + 𝑡𝑡 𝛿𝛿𝑑𝑑�𝑑𝑑̇ + 𝑊𝑊 − 3 𝑘𝑘+1 𝑘𝑘+1 𝛿𝛿𝑉𝑉̂ = 𝑤𝑤 − 4 𝑟𝑟,𝑘𝑘+1 𝑘𝑘+1 (2.15) 𝛿𝛿𝑑𝑑�𝑑𝑑̇ = 𝑤𝑤 𝑘𝑘,𝑘𝑘+1 𝑡𝑡 = 𝑁𝑁90

where is the predicted receiver velocity, position, clock

− − − 𝑘𝑘+1 𝑘𝑘+1 𝑟𝑟,𝑘𝑘+1 �𝑟𝑟,𝑘𝑘 offset and𝛿𝛿𝑉𝑉̂ clock, 𝛿𝛿𝑋𝑋 ̂ drift, 𝛿𝛿 𝑑𝑑�error𝑑𝑑 at, 𝛿𝛿 𝑑𝑑epoch𝑑𝑑̇ + 1 with respect to epoch based on their

𝑘𝑘 𝑘𝑘 estimated values from previous epoch and is integration interval. are

𝑖𝑖 𝑘𝑘,𝑘𝑘+1 𝑘𝑘+1 process i.i.d WGN terms. Note that the clock𝑡𝑡 drift is also modeled as a random 𝑤𝑤 walk

since the clock drift of GPSDO locked RF front end is assumed stable during the

integration time. Therefore, knowing the initial position, velocity, clock bias and

clock drift of the receiver from the SLL at epoch of zero, their predicted values at

the next epoch can be obtained based on the process in the equation 2.16 where the

subscripts 1,2,3 are to indicate components of position, velocity and noise.

The model can be modified to a second order to include acceleration for cases that constant velocity model might not be sufficient.

− 1,𝑘𝑘+1 �1,𝑘𝑘 1 𝛿𝛿𝑥𝑥̂ 0 0 0 𝑁𝑁 0 0 0 0 𝛿𝛿𝛿𝛿 1,𝑘𝑘+1 𝑤𝑤 ⎡ 2,𝑘𝑘+1 ⎤ ⎡ ⎤ ⎡ 2,𝑘𝑘 ⎤ 1 𝛿𝛿𝑥𝑥̂ 𝛿𝛿𝛿𝛿 ⎡ 2𝑘𝑘+1 ⎤ ⎢ ⎥ ⎢ 0 0 0 0 𝑁𝑁 0 0 0 ⎥ ⎢ ⎥ 3,𝑘𝑘+1 ⎢𝑤𝑤1 ⎥ ⎢ 𝛿𝛿𝑥𝑥̂ ⎥ ⎢ ⎥ ⎢ 𝛿𝛿𝛿𝛿3,𝑘𝑘 ⎥ 3,𝑘𝑘+1 ⎢ ⎥ 0 0 0 0 0 𝑁𝑁 0 0 ⎢ ⎥ ⎢𝑤𝑤2 ⎥ 1,𝑘𝑘+1 ⎢ ⎥ ⎢ 𝛿𝛿𝑣𝑣̂ ⎥ ⎢ 1,𝑘𝑘 ⎥ ⎢ 1,𝑘𝑘+1⎥ ⎢ 0 0 0 0 0 0 0 0 ⎥ 𝛿𝛿𝛿𝛿 ⎢𝑤𝑤2 ⎥ ⎢ 2,𝑘𝑘+1 ⎥ = ⎢ ⎥ + 2,𝑘𝑘+1 ⎢ 𝛿𝛿𝛿𝛿 ⎥ ⎢ ⎥ ⎢ 𝛿𝛿𝛿𝛿2,𝑘𝑘 ⎥ ⎢𝑤𝑤 ⎥ ⎢ 0 0 0 0 0 0 0 0 ⎥ ⎢ 2 ⎥ ⎢ 3,𝑘𝑘+1 ⎥ ⎢ ⎥ 3,𝑘𝑘+1 ⎢ ⎥ 3,𝑘𝑘 ⎢𝑤𝑤 ⎥ ⎢ 𝛿𝛿𝑣𝑣 ̂ ⎥ 0 0 0 0 0 0 0 0 ⎢ 𝛿𝛿𝛿𝛿 ⎥ 3 (2.16) ⎢ 𝑘𝑘+1 ⎥ ⎢ 𝑟𝑟,𝑘𝑘+1 ⎥ ⎢ ⎥ ⎢ 𝑟𝑟,𝑘𝑘 ⎥ 𝑑𝑑�𝑑𝑑 𝑑𝑑𝑑𝑑 ⎢ 𝑤𝑤4 ⎥ ⎢ ⎥ ⎢ 0 0 0 0 0 0 1 𝑁𝑁⎥ ⎢ ⎥ 𝑘𝑘+1 �𝑟𝑟,𝑘𝑘+1 ̇ 𝑟𝑟,𝑘𝑘 ⎣ 𝑤𝑤 ⎦ ⎣𝛿𝛿𝑑𝑑𝑑𝑑̇ ⎦ ⎣ 0 0 0 0 0 0 0 0 ⎦ ⎣𝛿𝛿𝑑𝑑𝑑𝑑 ⎦ One may notice the position and velocity above is in a so-called body frame, namely

a coordinate system attached to the body of the receiver at an epoch of time.

However, navigation using external references is based on Line Of Sight (LOS) 91

observations; therefore, the position and velocity errors have to be projected to LOS;

this is done using the direction cosine vector. Direction cosine defined as

𝑗𝑗 1 1,𝑟𝑟 𝑗𝑗 𝑋𝑋𝑗𝑗 − 𝑋𝑋 1 ⎡ 2,𝑟𝑟⎤ 𝑘𝑘 𝑗𝑗 2 (2.17) 𝑎𝑎 = 𝑟𝑟 ⎢𝑋𝑋𝑗𝑗 − 𝑋𝑋 ⎥ �𝑟𝑟 � 3 3,𝑟𝑟 ⎣𝑋𝑋 − 𝑋𝑋 ⎦𝑘𝑘 are component of satellite and receiver position and is the norm of

𝑗𝑗 𝑡𝑡ℎ 𝑗𝑗 𝑖𝑖 𝑖𝑖,𝑟𝑟 𝑟𝑟 the𝑋𝑋 , 𝑋𝑋LOS. Then,𝑖𝑖 projected predicted state of position and velocity‖𝑟𝑟 ‖error has to be translated to predicted state of natural parameters namely code phase and Doppler frequency error in order to be usable in the DLL and FLL as follows

− 𝑇𝑇 𝑇𝑇 𝑗𝑗 − 𝑗𝑗 − 𝐶𝐶/𝐴𝐴 𝑟𝑟,𝑘𝑘+1 𝑟𝑟,𝑘𝑘+1 𝐶𝐶 𝑘𝑘,𝑘𝑘+1 𝑘𝑘+1 𝑘𝑘 � 𝐶𝐶/𝐴𝐴 𝛿𝛿𝑓𝑓 ̂ = �𝑉𝑉̂ − 𝑉𝑉̂ � 𝑎𝑎 + 𝐶𝐶𝑑𝑑𝑑𝑑̇ 𝑓𝑓 𝑇𝑇 𝑗𝑗 − 𝑗𝑗 − 𝑇𝑇 𝑗𝑗 − 𝐶𝐶− 𝑘𝑘,𝑘𝑘+1 ̂𝑘𝑘,𝑘𝑘+1 𝑟𝑟,𝑘𝑘,𝑘𝑘+1 𝑘𝑘 �𝑟𝑟,𝑘𝑘+1 𝐶𝐶/𝐴𝐴 𝛿𝛿𝜏𝜏̂ = �𝛿𝛿𝑋𝑋 − 𝛿𝛿𝛿𝛿 � 𝑎𝑎 + 𝐶𝐶𝑑𝑑𝑑𝑑 𝑓𝑓 ̂ 𝑘𝑘,𝑘𝑘+1 (2.18) − 𝑇𝑇 𝑇𝑇 𝑗𝑗 − 𝑗𝑗 − 𝐶𝐶 𝑑𝑑𝑘𝑘,𝑘𝑘+1 𝑘𝑘+1 𝑟𝑟,𝑘𝑘+1 𝑘𝑘 �𝑟𝑟,𝑘𝑘+1 0 𝛿𝛿𝑓𝑓 ̂ = �𝑉𝑉̂ − 𝑉𝑉̂ � 𝑎𝑎 + 𝐶𝐶𝑑𝑑𝑑𝑑̇ Above, 𝑓𝑓 shows estimated displacement in the position of the satellite in the 𝑗𝑗 𝑘𝑘+1,𝑘𝑘 satellite 𝑑𝑑 body𝑋𝑋̂ frame, predicted displacement in the position of receiver in

− 𝑇𝑇 𝑟𝑟,𝑘𝑘,𝑘𝑘+1 the receiver body frame 𝛿𝛿𝛿𝛿 , estimated velocity of satellite, predicted 𝑇𝑇 𝑗𝑗 − 𝑘𝑘+1 𝑟𝑟,𝑘𝑘+1 velocity of the receiver, 𝑉𝑉̂ carrier Doppler frequency error, 𝑉𝑉̂ code phase − 𝑗𝑗 − 𝑑𝑑̂ 𝑘𝑘,𝑘𝑘+1 𝑘𝑘,𝑘𝑘+1 error, code Doppler𝛿𝛿𝑓𝑓 frequency error. 𝛿𝛿𝜏𝜏̂ − 𝐶𝐶/𝐴𝐴 ̂ 𝑘𝑘,𝑘𝑘+1 𝛿𝛿𝑓𝑓 92

The predicted values above is used to generate initial code offset and carrier

frequency which then is correlated with the incoming signal. The output of

discriminators are the measurement updates (observations) for the Kalman filter.

The structure of the measurement matrix is as follows

𝐶𝐶 𝑓𝑓1,𝐶𝐶/𝐴𝐴 1,𝑘𝑘+1 1,𝑘𝑘+1 𝛿𝛿𝜏𝜏̂ ⎡ 𝐶𝐶 ⎤ 𝛿𝛿𝑥𝑥 ̂ 𝑘𝑘,𝑘𝑘+1 0 𝑑𝑑 ⎢𝑡𝑡 𝑓𝑓 𝛿𝛿𝑓𝑓 ̂ 1,𝑘𝑘+1 ⎥ ⎡ 2,𝑘𝑘+1 ⎤ 𝐶𝐶 𝛿𝛿𝑥𝑥̂ ⎢ 2,𝐶𝐶/𝐴𝐴 ⎥ ⎢ ⎥ 𝑓𝑓 2,𝑘𝑘+1 3,𝑘𝑘+1 ⎢ 𝛿𝛿𝜏𝜏̂ ⎥ ⎢ 𝛿𝛿𝑥𝑥̂ ⎥ 𝐶𝐶 𝑗𝑗 𝑗𝑗 𝑗𝑗 𝑘𝑘,𝑘𝑘+1 0 ⎢ ⎥ ⎢𝑡𝑡 𝑓𝑓 𝑑𝑑 ⎥ 𝑘𝑘,1 𝑘𝑘,2 𝑘𝑘,3 1,𝑘𝑘+1 ̂ 2,𝑘𝑘+1 ⎢ 𝛿𝛿𝑣𝑣̂ ⎥ ⎢ 𝛿𝛿𝑓𝑓 ⎥ −𝑎𝑎 −𝑎𝑎 −𝑎𝑎 𝑗𝑗0 𝑗𝑗0 𝑗𝑗0 1 0 = � � ⎢ 2,𝑘𝑘+1 ⎥ ⎢ . ⎥ 𝑘𝑘,1 𝑘𝑘,2 𝑘𝑘,3 ⎢ 𝛿𝛿𝛿𝛿 ⎥ ⎢ ⎥ 0 0 0 𝑎𝑎 𝑎𝑎 𝑎𝑎 0 1 ⎢ 3,𝑘𝑘+1 ⎥ ⎢ . ⎥ 𝛿𝛿𝑣𝑣̂ 𝐶𝐶 ⎢ ⎥ ⎢ 𝑓𝑓𝑛𝑛,𝐶𝐶/𝐴𝐴 𝑛𝑛,𝑘𝑘+1 ⎥ ⎢ 𝑟𝑟,𝑘𝑘+1 ⎥ ⎢ 𝛿𝛿𝜏𝜏̂ ⎥ 𝑑𝑑�𝑑𝑑 𝐶𝐶 ⎢ ⎥ ⎢𝑡𝑡𝑘𝑘,𝑘𝑘+1𝑓𝑓0 𝑑𝑑 ⎥ �𝑟𝑟,𝑘𝑘+1 (2.19) 𝛿𝛿𝑓𝑓 ̂ 𝑛𝑛,𝑘𝑘+1 ⎣𝛿𝛿𝑑𝑑𝑑𝑑̇ ⎦ ⎣ ⎦

As one can see, the estimated code phase and carrier Doppler frequency errors, has

to be translated to pseudorange and pseudorange rate before injecting into the update equations. The measurement design matrix entries are from the same direction cosine matrix which is clearly inverse the projection back to the state of coordinates in the body frame.

It is worth noting that, for carrier frequency estimation one may not use the Costas

PLL because at low carrier to noise ratio, PLL loses lock. In fact, the magnitude of

93

error affects the GNSS signal is at meter level, especially at low carrier to noise ratio,

which is not sufficient to predict and generate the carrier phase discriminator. This

has to do with the short wavelength of GNSS signals. Therefore, the FLL setup

mentioned before may be used for carrier estimation which in turn allows the receiver to estimate the velocity. In addition, in VLL setup the receiver no longer needs to estimate the data bits and the SLL setup can work in the background to accomplish the need for carrier phase estimation and data bits retrieval for channels with high

carrier to noise ratio.

2.5 Conclusion

The tabulated positioning statistics in Table 4 shows the performance of the GPS

C/A code receiver, a Matlab library which is accompanied by the reference [1].

Coordinate X(ECEF) Y(ECEF) Z(ECEF) Statistic

Reference Position 603501.010(m) -4852265.937(m) 4081994.843(m) Mean 603500.613(m) -4852271.396(m) 4082001.539(m) Std 1.964(m) 3.649(m) 2.612(m) RMSE 2.004(m) 6.566(m) 7.187 (m) Table 4 Statistics of the final solution for 36 seconds period and final solution computed at rate of 100 ms

94

The chipping rate of the C/A code is 1.023 MHz which is equivalent to spatial resolution of 293.05 meter. With the recorded sampling frequency of 5 Msps, the spatial resolution is improved as

=

∆𝑝𝑝 𝑐𝑐 = 59.95 𝑚𝑚 According to [13], to further refine 5000000such a low resolution leading to higher variance of the final solution, we should use the residual code at the end of each integration interval. The residual code is defined as the difference of the end of the code period and the next sample which is within half a sample.

Figure 16. Final Solution Error with Respect to Topcon Net-G3 Hardware Receiver

95

Therefore, the true accumulated code phase can be computed better than actual

sampling frequency.

The RMSE in table 4 is computed based on observations from a Topcon Net-G3

receiver. Observation file is uploaded to Online Positioning User Service (OPUS) to

compute double difference static centimeter level accuracy solution based on

concurrent observations from a network of IGS reference stations.

Figure 16 shows the error in ECEF coordinate system from the reference solution.

Also, figure 17 is the final solution shown on a georeferenced satellite using

Arc GIS 10.6 software.

. Reference Position . Measurements . Measurements Mean

Figure 17. Location of the Antenna on the Rooftop 96

Bibliography

[1] K. Borre et al, Software-Defined GPS and Galileo Receiver : A Single-Frequency Approach. 2007Available: https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docI D=3062974. DOI: 10.1007/978-0-8176-4540-3.

[2] P. J. G. Teunissen and O. Montenbruck, Springer Handbook of Global Navigation Satellite Systems. (1st ed. 2016 ed.) 2017Available: https://ebookcentral.proquest.com/lib/[SITE_ID]/detail.action?docID=488003 0.

[3] J. K. Holmes, Spread Spectrum Systems for GNSS and Wireless Communications. 2007Available: http://bvbr.bib- bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=015785 151&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MED IA.

[4] E. D. Kaplan and C. J. Hegarty, Understanding GPS. (2. ed. ed.) 2006Available: http://bvbr.bib- bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014595 928&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MED IA.

[5] T. Pany, Navigation Signal Processing for GNSS Software Receivers. Boston [u.a.]: Artech House, 2010.

[6] S. M. Kay, Fundamentals of Statistical Signal Processing. (12. printing ed.) 2008.

[7] C. Jekeli, Inertial Navigation Systems with Geodetic Applications. 2001Available: http://bvbr.bib- bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009157 925&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MED IA.

97

[8] B. W. Parkinson and J. Spilker James J., Global Positioning System: Theory and Applications, Volume I. 1996Available: http://arc.aiaa.org/doi/abs/10.2514/4.866388. DOI: 10.2514/4.866388.

[9] C. Yang et al, "Comparative study of coherent, non-coherent, and semi-coherent integration schemes for GNSS receivers (preprint)," Apr. 2007.

[10] P. J. G. Teunissen. GPS for Geodesy. Available: https://doi.org/10.1007/978-3-642-72011- 6.

[11] GPS Interface Specification (GPS-IS-200J). Available: https://www.gps.gov/technical/icwg/IS-GPS-200J.pdf

[12] C. Hegarty, E. Powers and B. Fonville, "Accounting for timing biases between GPS, modernized GPS, and galileo signals," Jan. 2005.

[13] X. LI and D. AKOS, "Implementation and Performance of Clock Steering in a Software GPS L1 Single Frequency Receiver," Navigation, vol. 57, (1), pp. 69-85, 2010. Available: https://onlinelibrary.wiley.com/doi/abs/10.1002/j.2161-4296.2010.tb01768.x. DOI: 10.1002/j.2161-4296.2010.tb01768.x.

[14] J. Hamkins and M. K. Simon, Autonomous Software-Defined Radio Receivers for Deep Space Applications. US: Wiley-Interscience, 2006.

98

Appendix A. Hardware Specifications and Setups

The following shows the actual setup of the NI-USRP 2920 receiving a 20 MHz sine wave reference frequency from a Topcon built-in GPS-Disciplined oscillator. Also, a

1 PPS timing signal with 5 ns resolution is provided to the USRP.

99

100

Above, a mini-circuit splitter is used to split the power between the USRP and the hardware receiver. Also, an attenuator is used to avoid the DC current from the

Topcon receiver to the USRP.

The following are the main procedure to record GPS signal using UHD C++ API.

1. The open source UHD C++ API downloaded from Ettus research github is

installed on the UBUNTU 16.04 platform.

2. USRP IP address was setup on 192.168.0.1 if the IP address is empty.

3. ./rx_samples_to_file.cpp is updated to record signal with 8 bit resolution

and dynamic range peak of 0.01 to acquire the weak GPS signal.

101

4. External frequency and time references from TOPCON Net-G3 OCXO GPS

disciplined oscillator (GPSDO) is connected to the USRP. The GPSDO

frequency output is 20 MHz where the default input of the USRP is 10 MHz.

There is a built-in hardware PLL on the WBX daughterboard for generating

a reference frequency. The PLL has an r-divider that can be used to divide

the external GPSDO 20 MHz reference frequency to 10 MHz to be usable by

the RF chain. This can be done by changing the r-divider value to 2 under

./clock_ctrl.cpp and then building the whole UHD again.

102

5. uhd_cal_rx_iq_balance command can be used to minimize the IQ

imbalance. USRP automatically applies the corrections at runtime and also

writes the results to a CSV file.

103

Appendix B. Acquisition and Tracking Results & Algorithms

1. Acquisition Results

104

Figure 18 Acquisition Plots

General Acquisition Algorithm

1. Sig = Read complex samples (0:integration time); 2. PrnFreq = Conj( (PRN Codes)); 3. for PRN=1:NumCh𝑁𝑁 do 𝑁𝑁 4. for =StartDopp𝐹𝐹𝐹𝐹𝐹𝐹 : 250 : EndDopp do IQ= ; 𝑑𝑑 𝑓𝑓 CrossCorrPow=abs( (IQ.* PrnFreq)) ; 𝑁𝑁 𝑑𝑑 𝑠𝑠 [Pow,𝐹𝐹𝐹𝐹 Ind]=max(max(CrossCorrPow,2));𝐹𝐹 [(exp�−𝑗𝑗2𝜋𝜋𝑓𝑓 (0: 𝑇𝑇 : integration time)� .∗ Sig] 𝑁𝑁 [NextPow, NextInd]=Next𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼 max(max(CrossCorrPow,2));. ^ 2 5. If PowDeclare ‘Detected’; NextPow Save >,𝛾𝛾 ;

6. end if; 𝑘𝑘 𝑟𝑟 𝑑𝑑 7. end; 𝜏𝜏̂ 𝑓𝑓 ̂ 8. end

;

105

1. Tracking Results

Channel Mean PLL Discriminator DLL Discriminator

C Std (rad) Std N0 1 52.49 (dB– Hz) 0.009 0.075 11 49.34 0.014 0.105 7 44.77 0.023 0.163 17 51.83 0.01 0.075 18 45.29 0.022 0.163 28 47.36 0.016 0.130 19 45.97 0.020 0.155 30 48.54 0.015 0.11

Table 5 Channels statistics over period of 36 seconds

106

Figure 19 Evolution of DLL Discriminators

107

Figure 20 Evolution of early, late and prompt correlators

108

Figure 21 Evolution of PLL discriminators

109

General Tracking Algorithm

1. for PRN_Detected=1:NumCh Read from Acquistion; SigWipe𝑘𝑘 d = Wipe off (PRN( )); 𝜏𝜏̂𝑟𝑟 FineRes = (SigWipe, zpadLength𝑘𝑘 ); 𝑡𝑡 − 𝜏𝜏̂𝑟𝑟 2. end; 𝑑𝑑 3. while PRN_Detected𝑓𝑓 ̂ 𝐹𝐹𝐹𝐹𝐹𝐹 ; 4. for PRN_Detected =1:NumCh IQSig=Read(buffer (length(integration time)); Early=(PRN( ));

Late=(PRN( 𝑘𝑘 )); 𝑟𝑟 Prompt=(PRN(𝑡𝑡 − 𝜏𝜏𝑘𝑘̂ −));∆ 𝑟𝑟 Carr= 𝑡𝑡 − 𝜏𝜏̂ +𝑘𝑘∆ ; 𝑟𝑟 𝑡𝑡 − 𝜏𝜏̂ EI= Early .*Real(Carr .*IQSig);EQ= Early .* Imag(Carr .*IQSig); 𝑑𝑑̂ 𝑠𝑠 LI= Lateexp .*Real(Carr�𝑗𝑗. 2𝜋𝜋. Fine R.*IQSiges𝑓𝑓 . ();L0: 𝑇𝑇Q=: integration Late .* Imag(Carr time)� .*IQSig); PI= Prompt .*Real(Carr .*IQSig);PQ= Prompt .* Imag(Carr .*IQSig); PhaseError = atan(PQ/ PI); CurrCarrDoppler = PIfilter(PhaseError); CodeError = Mag(EI+ j.EQ) - Mag(LI+ j.LQ); CurrCodeDoppler = PIfilter(CodeError); Feedback for next iteration; 5. end; 6. output PI for frame synchronization;

110