GNSS Receiver Architectures for Remote Sensing Applications

by

Sara J. Hrbek

M.S., University of Colorado, 2016

M.S., Lule˚aUniversity of Technology, 2012

A thesis submitted to the

Faculty of the Graduate School of the

University of Colorado in partial fulfillment

of the requirements for the degree of

Doctor of Philosophy

Department of Aerospace Engineering Sciences

2019 This thesis entitled: GNSS Receiver Architectures for Remote Sensing Applications written by Sara J. Hrbek has been approved for the Department of Aerospace Engineering Sciences

Prof. Dennis M. Akos

Prof. Penina Axelrad

Date

The final copy of this thesis has been examined by the signatories, and we find that both the content and the form meet acceptable presentation standards of scholarly work in the above mentioned discipline. Hrbek, Sara J. (Ph.D., Aerospace Engineering Sciences)

GNSS Receiver Architectures for Remote Sensing Applications

Thesis directed by Prof. Dennis M. Akos

Global Navigation Satellite System (GNSS) signals designed to support position, navigation and time, can also be used as signals of opportunity for remote sensing applications. As GNSS evolve, the receiver architectures need to evolve as well. This work explores how to improve the

GNSS receiver for remote sensing. Three areas are developed throughout the thesis: utilization of modernized signals, signal cancellation for reduction of cross-correlation noise, and development of a vector delay frequency lock loop with support for Low Earth Orbit (LEO).

The improved structures of modernized signals offer considerable advantages for GNSS Re-

flectometry. One of those signals is GPS L5, which features increased signal power and a higher chipping rate. A comparison study of the transmit power between GPS L1 and L5 showed that the transmit power difference for L5 is close to the specified 3.6 dB. Despite this, due to performance differences of the receive antennas, the benefit might not be obtained. The higher chipping rate of the L5 signal provide advantages in terms of increased waveform resolution for GNSS-R. A study of altimetry performance with WAAS L5 was undertaken. After optimizing the coherent integration time, the altitude standard deviation of the L5 signal, compared to the L1 signal was found to be

2.2 times smaller. The improvements were primarily seen when the aircraft changed altitude.

Reducing cross-correlation noise by means of signal cancellation is an effective tool to im- prove weak signal tracking. Factors influencing performance of signal cancellation: filtering, analog quantization and processing resolution were studied. It was found that canceling a signal collected with a narrow filter bandwidth introduced a residual signal that contributed additional noise. A cancellation efficiency metric was developed in order to analyze how well a signal could be canceled.

It was found that high cancellation efficiency could be obtained with 4 bit analog quantization and

9 bit processing resolution. iv

GPS Radio Occultation measurements originate from the excess phase and amplitude of the occulted signal. The measurements can be obtained through open loop tracking, which requires precise orbit determination. The use of a vector delay frequency lock loop (VDFLL) with a low

Earth orbit dynamic model is proposed to satisfy both of those requirements. The VDFLL takes advantage of inter-channel aiding for precision orbit determination as well as provides a natural extension to open loop processing. The algorithm was tested on simulated and live data, and was found to successfully track a low elevation signal from a spacecraft with geometric open loop processing through VDFLL. Dedication

This thesis is dedicated to my husband Joe Hrbek. Thank you for your love, support and most of all because you never stopped believing I could finish it. vi

Acknowledgements

I would like to express my graditude to my advisor and committee chair Professor Dennis

M. Akos, for guiding me throughout this process. I would also like to thank the other committee members: Professor Penina Axelrad, Professor Jade Morton, Professor Albin Gasiewski and Doctor

Valery Zavorotny.

Thank you to the sponsors of this work: NOAA, Iposi, IAI (GRIBSAR Project) and Space

Science & Engineering. Thanks to the CYGNSS mission, lead by University of Michigan and sponored by NASA, for providing raw IF data files from the CYGNSS satellites.

For help with data collections, writing papers and many many discussions about everything between Heaven and Earth: Staffan Back´en,Dahee Won, Nagaraj Shivaramaiah, Erin Griggs,

Qiang Chen and Damian Miralles. Thank you! vii

Contents

Chapter

1 INTRODUCTION 1

1.1 Remote Sensing Using GNSS ...... 1

1.1.1 GNSS Reflectometry ...... 2

1.1.2 GPS Interferometric Reflectometry ...... 3

1.1.3 Radio Occultation ...... 4

1.1.4 Ionosphere Measurements ...... 4

1.2 GNSS Signals and Receiver Architecture ...... 6

1.2.1 Antenna ...... 9

1.2.2 Front-end ...... 10

1.2.3 Acquisition ...... 12

1.2.4 Tracking ...... 14

1.3 GNSS Software Receiver ...... 17

1.4 Research Outline ...... 18

1.5 Contributions ...... 19

2 BACKGROUND AND THEORY ON GNSS-R AND GPS RO 21

2.1 GPS/GNSS Reflectometry ...... 21

2.1.1 Observables ...... 22

2.1.2 Delay Waveforms ...... 22 viii

2.1.3 Delay Doppler Maps ...... 24

2.1.4 Bistatic Radar Model ...... 24

2.1.5 Altimetry ...... 28

2.1.6 Review of Research Studies Utilizing GNSS-R ...... 30

2.2 GPS/GNSS Radio Occultation ...... 31

2.2.1 Observables ...... 31

2.2.2 Bending Angle ...... 33

2.2.3 Atmospheric Parameters ...... 34

2.2.4 Radio Occultation Receiver ...... 35

2.2.5 Review of Research Studies Utilizing GPS RO ...... 39

2.3 Receiver Architecture Improvements ...... 40

3 UTILIZATION OF MODERNIZED SIGNALS FOR BISTATIC RADAR 41

3.1 GPS L5 signal structure ...... 42

3.2 GPS L5 Power Study ...... 43

3.2.1 Satellite Antenna Patterns ...... 43

3.2.2 Received Power Measurements ...... 45

3.3 GPS/GNSS Reflectometry Receiver Enhancements ...... 52

3.3.1 Software Receiver Architecture for Receiving L5 Reflected Signals ...... 53

3.3.2 Data Collection Setup and Pre-Processing ...... 55

3.3.3 Data Collection and Initial Results ...... 58

3.3.4 Optimization of L1 and L5 Signals ...... 60

3.4 Conclusions on Utilization of Modernized Signals for Bistatic Radar ...... 65

4 SUCCESSIVE INTERFERENCE CANCELLATION 68

4.1 Background ...... 69

4.1.1 Signal Cancellation ...... 69

4.1.2 Cross-Correlation in the GPS L1 C/A Signal ...... 70 ix

4.1.3 Filtering ...... 72

4.1.4 Quantization ...... 73

4.2 Detailed Analysis of Factors Influencing Signal Cancellation ...... 75

4.2.1 Signal Strength and Number of Satellites ...... 75

4.2.2 Analysis of the Effect of Filtering on Signal Cancellation ...... 76

4.2.3 Analysis of the Residual Signal Effect ...... 81

4.3 Analysis of the Effect of Processing Resolution on Signal Cancellation ...... 84

4.3.1 Simulation Analysis of Cancellation Efficiency ...... 88

4.3.2 Simulation for Comparison of Theoretical Calculations ...... 93

4.3.3 Cancellation of Multiple Signals ...... 94

4.4 Real Data Implementation of Signal Cancellation for Strong Signals ...... 96

4.5 Conclusions on Successive Interference Cancellation ...... 100

5 VECTOR DELAY FREQUENCY LOCK LOOP 103

5.1 Vector Lock Loop Tracking ...... 104

5.2 Traditional VDFLL operation ...... 106

5.2.1 Noise Matrices ...... 110

5.2.2 Traditional VDFLL Algorithm Verification ...... 111

5.3 Radio Occultation Position and Velocity Requirements ...... 113

5.4 VDFLL operation with LEO orbit dynamics ...... 115

5.4.1 Algorithm Validation ...... 119

5.4.2 VDFLL Operating on CYGNSS Data ...... 125

5.5 Utilizing VDFLL for an Adapted Closed/Open Loop tracking ...... 129

5.6 Conclusions on Vector Lock Loops for LEO Missions ...... 134

6 SUMMARY AND CONCLUSIONS 137

Bibliography 140 x

Tables

Table

1.1 GPS frequencies ...... 8

3.1 GPS L1 and L5 signal characteristics ...... 42

3.2 Front-end frequency plan ...... 57

3.3 Correlator chip spacing for L1 and L5 ...... 60

3.4 Calculated values of the correlation time based on Eq. 3.4 ...... 62

4.1 Analog quantization loss ...... 74

4.2 Bandwidth requirements ...... 84

4.3 Cancellation efficiency for N1 =2...... 91

4.4 Cancellation efficiency for N1 =4...... 92

4.5 Signals canceled ...... 96

4.6 Helix collected signals ...... 97

5.1 Tracked satellites during the Boulder Canyon Dr. drive test...... 112

5.2 Summary of RO receiver navigation solution performance ...... 114

5.3 Processing stages ...... 121

5.4 Estimated position and velocity errors compared to the simulator truth...... 125

5.5 CYGNSS spacecraft and orbit parameters...... 126

5.6 CYGNSS dataset parameters...... 127

5.7 CYGNSS data set acquisition parameters...... 127 xi

Figures

Figure

1.1 GNSS signals ...... 7

1.2 Tracking ...... 11

1.3 Auto-correlation of PRN 3 ...... 13

1.4 Code tracking ...... 16

1.5 Block diagram of tracking ...... 17

2.1 Open loop processing ...... 23

2.2 Reflected signal delay waveform ...... 24

2.3 Ocean reflected waveform ...... 25

2.4 Glistening zone ...... 26

2.5 Example of L1 DDM ...... 27

2.6 Bistatic radar altimetry ...... 29

2.7 Concept of radio occultation ...... 32

2.8 RO geometry ...... 33

2.9 Block diagram of open loop tracking ...... 37

3.1 GPS signal path from transmitter to receiver...... 43

3.2 Transmit antenna pattern for PRN 28 ...... 45

3.3 Estimated antenna transmit pattern for PRN 6 ...... 46

3.4 Estimated antenna transmit pattern for PRN 30 ...... 47 xii

3.5 Skyplot of the satellite track for PRN 6 ...... 47

3.6 Skyplot of the satellite track for PRN 30 ...... 48

3.7 Difference in estimated transmit power between L5 and L1, PRN 6...... 48

3.8 Difference in estimated transmit power between L5 and L1, PRN 30...... 49

3.9 C/N0 pattern for PRN 6, Antenna 1 ...... 50

3.10 C/N0 pattern for PRN 6, Antenna 2 ...... 50

3.11 C/N0 pattern for PRN 6, Antenna 3 ...... 51

3.12 C/N0 pattern for PRN 6, Antenna 4 ...... 51

3.13 L1 and L5 auto-correlation for PRN 3 ...... 52

3.14 Flight path ...... 53

3.15 Block diagram of the CU bistatic system...... 56

3.16 Bistatic Hardware ...... 57

3.17 Altitude profile during test flight ...... 60

3.18 DDM WAAS L5 ...... 61

3.19 DDM WAAS L1 ...... 61

3.20 L1 integration time optimization ...... 63

3.21 L5 integration time optimization ...... 64

3.22 L1 and L5 waveform comparison ...... 65

3.23 L1 altitude from 5th order polynomial fit ...... 66

3.24 L5 altitude from 5th order polynomial fit ...... 67

3.25 Altitude noise ...... 67

4.1 Cross-correlation due to Doppler and code ...... 72

4.2 GPS front-end ...... 73

4.3 AGC illustration ...... 74

4.4 Cross-correlation simulation ...... 76

4.5 Frequency spectrum ...... 78 xiii

4.6 Residual signal in time domain ...... 79

4.7 Residual signal percentage ...... 79

4.8 Residual signal with carrier power ...... 80

4.9 Measured residual signal ...... 81

4.10 Residual signal auto-correlation ...... 82

4.11 Residual signal cross-correlation ...... 83

4.12 Residual signal impact ...... 84

4.13 Processing resolution ...... 86

4.14 Cancellation efficiency with saturation ...... 89

4.15 Cancellation efficiency ...... 90

4.16 Cancellation efficiency saturation in C/N0 ...... 91

4.17 C/N0 where cancellation efficiency is 0 or negative ...... 92

4.18 Simulated cancellation efficiency ...... 93

4.19 SIC block diagram ...... 95

4.20 Data collection ...... 97

4.21 Sky plot ...... 98

4.22 Increased C/N0 of a live signal due to signal cancellation ...... 99

4.23 Pseudorange improvements ...... 100

4.24 Differences in position estimate ...... 101

5.1 Block diagram of the scalar lock loop ...... 105

5.2 Block diagram of the vector tracking loop ...... 105

5.3 VDFLL post-processing of drive test ...... 112

5.4 Block diagram for VDFLL ...... 118

5.5 Illustration of time alignment ...... 120

5.6 Simulator data collection ...... 121

5.7 VDFLL position errors in ECI ...... 122 xiv

5.8 SLL/VDFLL comparison ...... 123

5.9 VDFLL velocity errors in ECI ...... 124

5.10 CYGNSS spacecraft image, courtsey of NASA...... 126

5.11 Skyplot for the duration of the CYGNSS data ...... 128

5.12 CYGNSS position truth data ...... 129

5.13 CYGNSS velocity truth data ...... 130

5.14 Position error estimates for SLL and VDFLL...... 131

5.15 Velocity error estimates for SLL and VDFLL...... 132

5.16 R-matrix inflation ...... 133

5.17 Geometric open loop tracking of carrier frequency ...... 134

5.18 Geometric open loop tracking of code frequency ...... 135 Chapter 1

INTRODUCTION

The Global Positioning System (GPS) was developed by the United States military as a precise positioning and timing system in the mid 1970’s, with the first satellite launched in 1978 [1].

The system became operational in 1995. It was realized early on that the transmitted GPS signals could be used by researchers as a source for passive remote sensing. In 1993, the use of ocean reflected GPS signals for measuring aircraft altimetry was proposed [2]. Since then, remote sensing applications have grown to include measurements of sea ice, snow depth and soil moisture and measurements of atmosphere parameters such as pressure, temperature and humidity.

Building on the capabilities of a Global Navigation Satellite System (GNSS) software receiver this work explores specific approaches to improve the GNSS receiver for remote sensing, focused mainly on bistatic radar and radio occultation.

1.1 Remote Sensing Using GNSS

Remote sensing refers to the ability to collect information using instruments not physically present at the specific point of interest. Areas of interest include the Earth’s surface and its surrounding atmosphere as well as objects within these areas. Electromagnetic radiation from the sun, thermal radiation from the Earth or man made radio waves act as sources for remote sensing instruments that measure parameters of the electromagnetic source, or the medium through which the electromagnetic radiation propagates. Remote sensing originated from usage of aerial photography for various fields in the early 1930’s [3]. Other systems have since then been developed 2 to take advantage of other parts of the electromagnetic spectrum, such as infra-red and microwave radiation [4].

There are two different categories of remote sensing instruments: active and passive systems.

Active systems such as radar, lidar and sonar transmit their own electromagnetic radiation which is reflected back to the receiver/transmitter, whereas passive systems use electromagnetic radiation from other sources already present in the atmosphere. GPS has been used as a source of electro- magnetic radiation in this manner since the beginning of the 1990’s. Examples of remote sensing retrievals obtained using GNSS signals are: ocean altimetry [2], ocean surface wind speeds [5], sea ice [6], snow height [7], soil moisture [8], total electron content (TEC) [9], radio wave scintilla- tion [10] as well as temperature and water vapor in the atmosphere [11]. Some of these retrievals and their applications are briefly summarized below. Further details can be found in the references.

1.1.1 GNSS Reflectometry

GNSS Reflectometry (GNSS-R) is a field which utilizes reflected signals from GNSS for remote sensing. It takes advantage of scatterometry from surfaces to provide measurements of sea surface state, ice and snow coverage as well as vegetation. The method was proposed in [2] for ocean altimetry by measuring the additional delay a signal took as it was reflected. In order to best receive the reflected signal, a left hand circularly polarized (LHCP) antenna is used. Reflections from sufficiently high elevation angles change polarization from right hand circularly polarized

(RHCP) to LHCP. A GPS signal is forward scattered, which provides high signal to noise ratio for specular scatter and decreases as the surface roughness increases [12]. When a GPS signal is reflected on a smooth surface, it tends to reflect specularly where the angle of incidence is equal to the angle of reflection. A signal reflected on a rough surface, however, will scatter diffusively in a glistening zone around the specular point. The size of the glistening zone depends on the roughness of the surface as well as of the elevation angle of the signal [13]. A reflection from the sea surface consists of contributions from both specular and diffuse reflections where the shortest delay is provided by the specular reflection [14], which can be used to determine the altitude of the 3 receiver. Diffusive reflections due to surface roughness are delayed from the specular reflection and gives rise to a trailing edge in the auto-correlation. The slope of the trailing edge can be used to determine near surface wind speeds [14].

Land reflections from an aircraft were presented in [8]. Land reflections are similar to ocean reflections with the largest differences being the dielectric constant of the soil and surface roughness.

Different dielectric constants are visible as change in SNR.

It is also possible to obtain reflected signals from ice as was first done by [6]. Ice is a material which can be semi-transparent or transparent, thus introducing reflections from underlying water.

The reflection coefficient of ice depends on the dielectric constant of the ice, which in turn depends on the properties of the ice; salinity, composition, density, temperature and age [6]. However, the

GPS L-band signals have the ability to penetrate some portion of the ice between 30-70cm [15], and may alter the polarization of the reflected signal.

1.1.2 GPS Interferometric Reflectometry

GPS Interferometric Reflectometry (GPS-IR) is closely related to GNSS-R. A GPS receiver located slightly above the ground will receive reflected signals, or multipath, from the ground.

The multipath introduces oscillations in SNR, which can be interpreted to provide information about the reflecting surface. Using a periodogram, such as Lomb-Scargle, the dominant frequency of the oscillation can be retrieved and the height of the antenna can be determined [16]. The main difference between GNSS-R and GPS-IR is the altitude of the antenna, and that GPS-IR is received using only a single antenna whereas GNSS-R is received using two antennas, an RHCP and an LHCP antenna. Snow fall is important to monitor in order to manage water resources. It has been shown that snow depth can be measured using GNSS, as described above and shown in [17] using geodetic antennas. The antenna height above the ground is established without snow, and as the snow accumulates the antenna height decreases and thus can be used to gain an estimate of the snow depth. The reception antenna will receive reflections from a footprint that is larger than a single in-situ measurement. Geodetic antennas are usually optimized for direct signals and 4 provide some protection from multipath. In [18] the GNSS software radio is used to show that a horizontal dipole antenna is preferable to use for measuring snow since it provides much more distinct oscillations in comparison to geodetic antennas.

Soil moisture is estimated from periodograms similarly to snow sensing, with the exception that the amplitude and phase of the oscillations are estimated using a least squares approach. The estimated phase contains information about the soil moisture of the top 5 cm [19].

1.1.3 Radio Occultation

As a GPS signal is rising or setting, it travels through the ionosphere and neutral atmosphere.

When the signal encounters the medium it bends, allowing a high altitude or spacebased receiver to see signals below the Earth horizon. The additional delay caused by the bending due to the ionosphere and neutral atmosphere is called excess delay. If measured, the bending angle can be converted to measurements of the medium, namely temperature, pressure, humidity and density, assuming a spherical Earth. The conversion is performed through an Able transform [11]. In order to obtain the excess delay, all clock errors and orbit errors need to be accounted for. Radio occultation is used to provide high vertical resolution measurements of the state of the ionosphere and neutral atmosphere for numerical weather prediction.

1.1.4 Ionosphere Measurements

In addition to the specific remote sensing techniques mentioned above, there are also stand- alone measurements of the ionosphere which can be obtained from GNSS signals. Quantities of the ionosphere such as the total electron content and scintillation can be used to monitor space weather [20] diagnose irregular structures [21], respectively.

1.1.4.1 Total Electron Content

Free electrons in the ionosphere introduces delays/advances in the GNSS signal path which are heavily influenced by space weather. Through the use of dual frequency GNSS, it is possible to 5 solve for the total electron content (TEC) along the ray path, due to the fact that the ionosphere delay is frequency dependent:

2 2 fL1fL2 TEC = 2 2 (ρL2 − ρL1), (1.1) 40.3(fL1 − fL2) where fL1 is the L1 carrier frequency, fL2 is the L2 carrier frequency and ρ is the pseudorange for the respective signals. The vertical TEC can be derived from the slant TEC, which is measured along the GNSS ray path. An obliquity factor is used to relate the slant TEC to the vertical TEC.

It is also possible to solve for slant TEC using only one frequency, by leveraging the code- carrier divergence resulting from group delay of the code and phase advance of the carrier [22]. A combination of these two observables is called the code-minus-carrier observable

CMC = R − φ = 2I − Nλ + , (1.2) where R is the range measurement from the code, λ is the frequency of the carrier signal and φ is the range measurement from the carrier phase while I is the contribution from the ionosphere and

 consist of the sum of the multipath and receiver errors for both the code and the carrier.

The carrier phase has an integer ambiguity term, N, which introduces additional complexity to the problem. It originates from how many carrier cycles it takes from the signal to reach the receiver, with no start time specified. Pseudorange measurements are noisier but provides an absolute measurement. The NASA Global Differential GPS (GDGPS) System, through the use of dual frequency receivers [23] provide TEC measurements which can be used to monitor space weather [24]. In [25] GPS global ionosphere maps were compared to TOPEX TEC maps, and were found to reproduce variations of the ionosphere, with some exceptions including the equatorial anomaly.

1.1.4.2 Scintillation

Scintillations are amplitude and phase fluctuations that occur in the ray path between the

GNSS satellites and the receiver. These fluctuations occur because of scattering due to small scale 6 plasma irregularities in the ionosphere [26]. Scintillations cause issues for GPS since they can introduce cycle slips, degrade performance and even cause loss of lock if sufficiently severe. During a regular day the ionospheric plasma is constantly changing depending on the time of day and the location of the receiver. The plasma density can be measured as TEC which is influenced mostly by solar radiation and the Earth’s magnetic field [27]. Scintillations are more prominent at the

Equator and at the poles, they also have different characteristics. Scintillations at the Equator are typically stronger and exhibit both amplitude fades and phase fluctuations, they generally occur between sunset and midnight. In the high latitude regions phase scintillations are dominant and show larger fluctuations than amplitude fades [28]. Protection from scintillations can be obtained through utilization of frequency diversity [29].

The next section of this chapter will focus on the GNSS signals, and the different stages of the general GNSS receiver, since they are vital to obtain the remote sensing observables.

1.2 GNSS Signals and Receiver Architecture

GNSS is a generic term that describes a number of global satellite systems developed to pro- vide precise positioning, navigation and timing. Satellites in (MEO) broadcast their own positioning information. Position of the receiver is obtained though trilateration of at least three satellites. A fourth satellite is necessary to solve for the receiver clock.

GNSS includes the U.S. Global Positioning System (GPS), the Russian system GLONASS, the European system Galileo and the Chinese system BeiDou. In addition to the global systems, there are also the Satellite Based Augmentation Systems (SBAS), which provide regional aug- mentations to GNSS from geostationary satellites. Wide Area Augmentation System (WAAS) is the SBAS for U.S; European Geostationary Navigation Overlay Service (EGNOS) provides aug- mentations over Europe and Multi-Functional Satellite Augmentation System (MSAS) provides augmentations over Japan. All current GNSS signals are shown in Figure 1.1.

GNSS provide an abundance of signals, which can be used as signals of opportunity for remote sensing of the Earth and its atmosphere. Only the different GPS signals will be further explored, 7

Figure 1.1: GNSS signals. Courtesy of Staffan Back´en.

however, the signals and operation of GNSS are very similar.

In order to distinguish between the different satellites, pseudo-random noise (PRN) codes are used to spread the carrier and provide code division multiple access (CDMA) as well as to enable ranging. In order to do so the codes selected are nearly orthogonal, meaning that their auto-correlation is very strong while cross-correlation with other codes is low, for example the GPS

L1 C/A signal provides protection of nominally 23.9dB [30]. The L1 C/A codes are generated from two maximum length codes, some of the combination codes are better than others, and the

PRN codes were specifically selected to provide as good cross-correlation performance as possible.

Cross-correlation will be further discussed in Chapter 4.

Each GPS satellite broadcasts navigation data consisting of its ephemeris, in the form of quasi-keplerian elements of its own position, and clock errors, as well as an almanac with orbit and clock information of the other satellites. This data is modulated onto a carrier signal that is the 8 same for all GPS satellites.

The GPS L1 coarse acquisition (C/A) signal is illustrated here. Similar concepts apply to all other signal components as well. The GPS L1 C/A transmitted signals are given as

p 2PcC(t)D(t)cos (2πfL1t + φL1 ) , (1.3) where PC is the signal power, C(t) is the PRN code,D(t) represents the data bits, fL1 is the carrier frequency and φL1 is the phase offset when the signal was transmitted from the GPS satellite.

As the GPS satellite and receiver are moving a Doppler shift is induced in relation to the

receiver, depicted as fD. An additional phase change also occurs φL1 as the signal travels through space and encounters the ionosphere,

p 2PcC(t)D(t)cos (2π(fL1 + fD)t + φL1 (t)) . (1.4)

All GNSS satellites transmit signals in the L-band. Since the first GPS satellite was launched in 1978 [1] many more satellites have been launched. The satellites and signal design has been modernized as provided in Table 1.1, where the new satellites and signals are designated with R for replenishment, M for modernization and F for follow-on. GPS provides three civilian signals called L1 coarse acquisition C/A at 1575.42 MHz, L2C at 1227.6 MHz and L5 at 1176.45 MHz.

The L5 signal is further discussed in Chapter 3. Another civilian signal L1C will be transmitted on the new block III satellites, the first of which was launched on Dec 27th 2018. As of October

2019 only satellites from block IIR, IIR-M and IIF are currently in operational use.

Table 1.1: GPS civilian frequencies.

GPS band Center frequency Block

L1 C/A 1575.42 MHz Block I/II/IIA/IIR/IIR-M/IIF

L2C 1227.60 MHz Block IIR-M/IIF

L5 1176.45 MHz Block IIF 9

L2C has two different codes, a medium length code (CM) of 20 ms and a long code (CL) that is 1.5 seconds long. These two codes are time multiplexed, meaning that each chip consists of two parts, one CM code chip and one CL code chip, both clocked at 511.5 kbps. L5 also has two codes, but also two different channels, transmitted 90 degrees apart called the inphase (I) and the quadrature (Q) channels. Each channel has a 1 ms long code, with a chipping rate that is 10.23

MHz and also a secondary coding which is different for each channel.

WAAS signals are transmitted in two of the same bands as GPS namely L1 and L5. Their signal structure is slightly different; they have a higher data rate of 250 bits per second instead of 50 bps and the signals also have different PRN numbers. Corrections to GPS is estimated at base stations and then transmitted to the geostationary WAAS receivers which then broadcast the corrections.

GNSS signals can be received using a commercial receiver, or it can be received using a front-end where the signals are saved to disk and processed later using a software defined receiver.

There are several different receiver architectures. What features are chosen depend on the application. Examples of application dependent architecture features include: acquisition time, acquisition sensitivity, tracking noise performance and measurements used for position solutions as well as error modeling. However, all receiver architectures include an antenna to receive the signal, a front-end for signal conditioning as well signal processing in terms of acquisition and tracking.

1.2.1 Antenna

The first stage in receiving the GPS signal is the antenna; which is usually RHCP to match the transmitted signal. It is important that the antenna has a low noise amplifier (LNA) either inside it, or directly after, because as Friis formula shows, that first LNA will govern the rest of the cascading components and the total noise figure [1]. Since GPS is received below the noise floor [31], the noise figure is extremely important. What kind of antenna is used for receiving GNSS signals is application dependent.

For devices such as cellphones which have ambiguous orientation, the antenna is preferably 10 omni-directional. Due to limitations of space, so-called combination chips have been developed which contain multiple radios, including GPS [32]. It was shown in [33] that a linearly polarized antenna was preferential compared to a RHCP antenna in a high multipath environment. A linear combination antenna, which included GPS was developed in [34].

An antenna for geodetic purposes is optimized to only receive direct signals from the satellites, and suppress as much multipath as possible. A choke ring antenna is an example of a multipath rejecting antenna [35].

Remote sensing applications have unique antenna needs. For example, GNSS-R utilizes two antennas, an RHCP antenna to capture the direct signal and a separate LHCP antenna to best receive the reflected signal. GPS-IR utilizes a single antenna to receive both the direct and reflected signals. As was shown in [18] a horizontally polarized dipole antenna performs better for receiving

GPS-IR reflections, since it is optimized to receive both the direct signal and the reflected. For radio occultation, it is important to maintain a high carrier to noise density ratio, specifically for the occulting signals. High gain antennas with wide azimuthal views are optimal [36].

1.2.2 Front-end

Once the RF signal has been captured by an antenna the next stage is the front-end. A

GPS front-end in essence downconverts, amplifies and samples the signal so that it can be used for further processing. Commonly, the front-end first band-pass filters the signal and then amplifies it.

A local oscillator is used to produce a reference signal which the incoming signal is multiplied with in order to downconvert the GPS signal to an intermediate frequency (IF) that is more easily used in a receiver, whether it is in hardware or software.

Down-conversion uses trigonometric rules

AB (Acos(α))(Bcos(β)) = cos(α − β) + cos(α − β), (1.5) 2 11

Figure 1.2: Example of a front-end chain.

which are expressed using the GPS signals as:

hp i h√ i 2PcC(t)D(t)cos (2π(fL1 + fD)t + φL1 (t)) 2cos (2π(fL1 − fIF )t + φIF (t)) = p PcC(t)D(t) {cos [2π(fIF + fD)t + φL1 (t) − φIF ] + cos [2π(2fL1 − fIF + fD)t + φL1 (t) + φIF ]} ,

(1.6) where Pc is the received power, C(t) describes the PRN code, D(t) represent the data bits,

cos (2π(fL1 + fD)t + φL1 (t)) represents the carrier signal, where fL1 is the L1 frequency, fD is the Doppler frequency and φL1 represents the phase at the L1 frequency, φIF is the phase at the intermediate frequency.

The high frequency component is usually filtered out with a band-pass filter centered at fIF , leaving only p PcC(t)D(t)cos (π(fIF + fD)t + φL1 (t) − φIF ) . (1.7)

After downconversion the signal is usually sampled using an analog-to-digital converter (ADC) that converts an analog signal into discrete components. As this happens, the signal loses some of its signal power. Once the signal has been conditioned, it can be processed in either hardware or software. This research focuses on the software receiver and how to adapt it to different areas of 12 remote sensing. An overview of the generic GNSS signal processing follows.

1.2.3 Acquisition

The first signal processing stage is acquisition. GPS signals are transmitted with such a signal power that when they reach the Earth the signal resides below the thermal noise floor [31].

A signal below the noise floor would be very difficult to acquire were it not for the PRN codes.

They allow receivers to cross-correlate a replica of the PRN code with the received conditioned signal, and due to the properties of the code recover the signal. In order to auto-correlate with the

PRN codes the carrier also needs to be removed.

As mentioned in the earlier section the input signal is now located at an intermediate fre- quency. However, due to movement of the satellites (as well as movement of the receiver) the signal experiences a Doppler shift. The receiver clock error also influences the observed frequency. It is therefore necessary to search over a number of frequencies centered around the IF frequency. For each frequency, all different code phases need to be tested through correlation until the signal is found.

Removal of the IF carrier signal is performed similarly to the down-conversion process in signal conditioning, with the exception that the mixing process is done using both a cosine and a sine component of the carrier. This because the phase of the incoming GPS signal is unknown and could reside in either of the two components. In addition, the sine function of the carrier is required to observe the sign of the Doppler shift [1]. The result of multiplying the incoming signal with the cosine is called the inphase component

p ˆ PcC(t)D(t)cos (2π(fIF + fD)t + φL1 (t) − φIF ) cos(2π(fIF + fD)t) = p h  ˆ  ˆ i PcC(t)D(t) cos 2π(fD − fD)t + φL1 (t) − φIF + cos(2π(2fIF + fD + fD)t + φL1 (t) − φIF ) =

p  ˆ  LP F → PcC(t)D(t)cos 2π(fD − fD)t + φL1 (t) − φIF ,

(1.8) similarly the product of the incoming signal with the sine component gives the quadrature compo- 13 nent

p ˆ PcC(t)D(t)cos (2π(fIF + fD)t + φL1 (t) − φIF ) sin(2π(fIF + fD)t) = (1.9) p  ˆ  PcC(t)D(t)sin 2π(fD − fD)t + φL1 (t) − φIF .

The two components, inphase and quadrature, of the signal can be combined into a complex signal

ˆ ˆ p j2π(fD−fD)t+φ PcC(t)D(t)e . (1.10)

Once the carrier component of the incoming signal has been removed, then it is time to correlate the resulting signal with the PRN code. For the L1 C/A signal the codes are 1023 chips long and have a duration of 1 ms, in order to simultaneously provide a short enough code to allow for a short acquisition time while still having sufficient cross-correlation protection to the other PRN codes.

PRN 3 Auto-correlation

1

0.5

0

PRN 3 GPS L1 sampled at 10.23MHz

-2000 -1000 0 1000 2000 Meters

Figure 1.3: Normalized auto-correlation of PRN code 3.

The auto-correlation function is described as:

1 Z Tcode R(τ) = xk(t)xk(t − τ)dt, (1.11) Tcode 0 14 where R(τ) is the auto-correlation, τ is the code phase offset, xk(t) is the PRN code of the kth satellite and Tcode is the length of the PRN code in seconds[1]. An example of the auto-correlation of PRN 3 is given in Figure 1.3.

In practice the auto-correlation integral is realized through summation, as shown in Eq. (1.12)

Tcode 1 X p ˆ ˆ R = C(t − τ) P C(t)D(t)ej2π(fD−fD)t+φ, (1.12) T c code 0 where the real and imaginary parts of the equation need to be treated separately.

1.2.4 Tracking

Tracking maintains signal lock through movement of the satellite (Doppler change), receiver clock errors and receiver movement. Initially the code phase, code frequency and carrier frequency from acquisition are somewhat coarse. Tracking first refines those estimates and then keeps the estimates aligned with the incoming signal. Usually this is performed using a delay lock loop (DLL) for code tracking together with either, or both, a frequency lock loop (FLL) or a phase lock loop

(PLL) for carrier tracking. However, if only the FLL is used, the signal is not phase locked and the data bits are not recovered. The DLL functions such that it produces a code replica aligned with the parameters from acquisition, then using a numerically controlled oscillator speeds up or slows down the code replica generation, by adjusting the chipping rate (also called code frequency).

Three correlators (replicas of the code) are used, early, prompt and late spaced half a chip apart as illustrated in Figure 1.4. Other spacings are also valid but will change the performance of the code tracking and if much closer chip spacing is used will also require a higher bandwidth of the collected signal. Alignment of the prompt code is performed though maintaining the early and late correlators at equal amplitude. Each correlator is the sum of all the energy in the coherent integration interval, inphase and quadrature correlators separately, after the code has been removed and the carrier has been swiped off. Equations (1.13-1.14) describes the inphase prompt correlator and the quadrature prompt correlator

TCO ! ˆ ˆ X j2πfIF +φIF IP = real S(t)CˆP (t)e , (1.13) 0 15

TCO ! ˆ ˆ X j2πfIF +φIF QP = imag S(t)CˆP (t)e . (1.14) 0 Correlators for the early and late replicas are generated similarly.

This process of integration is usually called ”integrate and dump”. These early, prompt and late correlators will be used to produce adequate discriminators for obtaining the error in the code replica and the carrier replica. Both replicas are steered through estimating the code frequency and

IF along with their respective phases. Movement of the satellites and/or the receiver introduces

Doppler shifts in the signal; additional frequency noise is also introduced by the receiver clock. The code and carrier frequencies both experience Doppler shift, the magnitude of the frequency shifts are related with 1540 multiplication for GPS L1. Ionospheric errors also affect the signals, the carrier phase and the pseudorange are impacted equally but with opposite sign. The ionosphere will cause a phase advance in the IF but a group delay for the pseudorange. The apparent Doppler shift due to the receiver clock will be solved using a least squares method when the receiver position solution is calculated. It is important to mention that the code cannot be tracked unless the carrier is simultaneously tracked using a FLL or PLL [1].

A number of different code discriminators can be used to estimate the error in the code generation. The reader is referred to [30] for an extensive overview of the different discriminator algorithms which all have advantages and disadvantages. The one used of this application is the following: E − L , (1.15) E + L

q 2 2 q 2 2 where E = IE + QE and L = IL + QL which is normalized in order to remove amplitude sensitivity [30].

An FLL will produce a replica of the intermediate frequency, but allows the phase to rotate.

Because of the rotation it is difficult to distinguish data bits since a phase transition will be hard to separate from a data bit transition. The FLL is however less sensitive to noise and data bit transitions and can serve to pull the replica close towards the signal if acquisition does not perform well enough. It is also used when the signal to noise ratio is low. All FLL discriminators in this 16

Figure 1.4: a) Code tracking where the prompt replica is off 0.5 chips. b) Code tracking with aligned prompt replica.

thesis uses prompt correlators from two different time epochs, by essentially finding the phase difference between the two epochs and dividing by the time interval. The one presented here is

atan( D ) C (1.16) t2 − t1 where D = I × I + Q × Q and C = I × Q − I × Q . Pt1 Pt2 Pt1 Pt2 Pt1 Pt2 Pt2 Pt1 A PLL serves to maintain a phase error of zero between the carrier replica and the actual signal. The phase angle represents the phase offset between the inphase and quadrature prompt, ideally this angle is 90 degrees with maximum signal energy in the inphase and noise in the quadra- ture component [30].

When a replica is slightly out of phase, this angle between inphase and quadrature will be altered. The PLL discriminator used in this thesis is

Q φ = atan( P ). (1.17) IP Each of these discriminators provide an error estimate to the feedback loop, however, due to 17 noise and imperfect tracking it is necessary to filter the error when feeding back the adjustment. If no filtering were to be done, then the likelihood of overshooting the compensation is high.

Figure 1.5: Block diagram of the tracking block.

Three filters are considered in the code and carrier tracking loops: the first order, second order and third order filters. The first order filter is mostly used in aided code loops whereas the second order filter can be used in both code and carrier loops. The third order filter is unstable at bandwidths larger than 18 Hz [30]. The software receiver used is based on [37], and uses second order filters for both code and carrier tracking loops. The second order filter is defined by two parameters, the damping ratio and noise bandwidth. These parameters, more so the bandwidth, needs to be adjusted for different signals.

1.3 GNSS Software Receiver

When designing a receiver for use in remote sensing (for example reflected signals or rising occultations), it is important to note that the signals are sometimes so weak that you cannot track them properly using a conventional receiver. 18

A key enabler when it comes to development of remote sensing receivers is the software radio.

The software radio is used to post-process raw IF data and can be re-programmed and adapted for specific purposes. This work builds on the software radio in [37] and has been adjusted for optimization towards remote sensing.

1.4 Research Outline

Remote Sensing using GNSS is a rapidly evolving field, which provides Earth/atmosphere sensing communities with invaluable data. In order to do so, and do so well, it is important to take great care when designing the remote sensing receiver. This thesis discusses how to design and implement a high precision software defined radio receiver specialized for remote sensing. First an overview of the theoretical concepts will be provided and after a discussion of how to improve the measurements.

For bistatic radar, this work focuses on the use of the modernized L5 signals mainly because of its higher signal strength and chipping rate. Increased signal strength is beneficial for any appli- cation, and the higher chipping rate should increase the resolution for bistatic radar observables.

The L5 signal is expected to provide better ocean altimetry results. This work discusses how to op- timize the processing for both L1 and L5. Data from a flight outside of Florida’s coast is processed and analyzed.

Remote sensing utilizing GNSS signals generally have lower signal strength than regular direct GNSS signals. For example bistatic GNSS is reflected and received at a lower power than the direct. The remote sensing signals are therefore already much weaker than the direct signals but that is not the only issue. Other stronger GNSS signals in the same frequency band cause cross-correlation degradation of the already weak remote sensing signals, where an example is air target detection with GPS bistatic radar [38]. Signal cancellation is one way of reducing the cross- correlation noise, as was implemented for GPS bistatic radar signals for aircraft detection in [39].

This work aims to characterize how well signal cancellation can be performed in terms of filtering, and quantization, as well as implementing signal cancellation on a live signal and analyzing the 19 resulting noise reduction.

Signal tracking performance of remote sensing signals can be improved through utilizing the benefits from other stronger signals via vector tracking. Occulting signals in the lower troposphere are tracked with a technique referred to as open loop, which does not have a feedback control loop. In order to be able to correlate over the signal energy, high precision knowledge of the transmitting and receiving satellites, as well as knowledge of the ionosphere and troposphere errors are required to estimate where the occulted signal will be received. A vector frequency delay lock loop (VDFLL), which utilizes an extended Kalman filter (EKF) to estimate state parameters of the receiver, is implemented with low Earth orbit (LEO) propagation. The VDFLL takes advantage of inter-channel aiding to provide tracking of the high dynamic signals. The filter also utilizes the measurement covariance matrix, which is adaptive depending on the performance of each correlation estimate, to decide which channels to utilize for optimal receiver solution. Strong signals are more heavily used in the solution while weak signals tend to have less influence. This means that open loop comes natural for the VDFLL since the de-weighting of the weaker signals is in essence the same as removing the feedback from those channels. Depending on the weights, some influence may still be part of the solution. Channels can be switched from closed to open loop through artificially inflating the measurement covariance matrix. This is desirable so that a switch to open loop can be determined based on geometry. This work is to the author’s knowledge the first published design, implementation and testing of the concept of utilizing VDFLL with orbit modeling for open loop processing of LEO signals.

1.5 Contributions

Contributions are published in the following forums:

• Hrbek, S. J., Shivaramiah, N. C., and Akos, D. M., ”Filtering and Quantization Effect on

GNSS Successive Interference Cancellation”, IEEE Transactions on Aerospace and Elec-

tronic Systems, September 2019. DOI: 10.1109/TAES.2019.2935959 20

• Liu, Y., Collett, I., Morton, Y., Hrbek, S. and Akos, D. ”Mountaintop Ocean Reflectometry

with Dual GPS Frequency Signals: Experiment and Preliminary Results” IGARSS 2018 -

2018 IEEE International Geoscience and Remote Sensing Symposium, p. 7680 - 7683

• Gleason, S., Zavorotny, V. U., Walsh E. J., Akos, D. M. and Hrbek, S., Masters, D.,

Popstefanija, I., and Grant M., ”Study of Surface Wind and Mean Square Slope Correlation

in Hurricane Ike With Multiple Sensors,” in IEEE Journal of Selected Topics in Applied

Earth Observations and Remote Sensing. May 2018. DOI: 10.1109/JSTARS.2018.2827045

• Gleason, S., Zavorotny, V. U., Walsh E. J., Akos, D. M. and Hrbek, S., Masters, D.,

Popstefanija, I., and Grant M.,” Asymmetrical wind and surface mean square slope corre-

lation observed in Hurricane Ike” 2017 IEEE International Geoscience and Remote Sensing

Symposium (IGARSS)

• Griggs, E., Hrbek, S. J., Emmert, D. and Akos, D. M., ”Analyses of GPS Satellite Clocks

at Sub-second Time Intervals” Proceedings of the 48th Annual Precise Time and Time

Interval Systems and Applications Meeting, Monterey, California, 2017

• Hrbek, S. J., Won, D. H., and Akos, D. M. ”Power Characterizations for GPS L1 and L5

Transmissions” Proceedings of the 2016 International Technical Meeting of The Institute

of Navigation, Monterey, California, January 2016, pp. 873-880.

• Powell, S. J., Akos, D. M., and V. Zavorotny ”GPS SBAS L1/L5 Bistatic Radar Altimeter”,

Geoscience and Remote Sensing Symposium (IGARSS), 2014 IEEE International, 2014

Quebec City, QC, Canada DOI: 10.1109/IGARSS.2014.6946733;

• Zhao, S., Powell, S. J., Lu, M., and Akos, D. M. ”Deep Integration of GPS/INS Based on

a Software Defined Receiver - Implementation and Test Results” Proceedings of the 27th

International Technical Meeting of The Satellite Division of the Institute of Navigation

(ION GNSS+ 2014), Tampa, Florida, September 2014, p. 2736-2746. Chapter 2

BACKGROUND AND THEORY ON GNSS-R AND GPS RO

This chapter introduces the theory behind the two main remote sensing applications discussed in this thesis, namely GPS/GNSS reflectometry and GPS/GNSS radio occultation.

2.1 GPS/GNSS Reflectometry

Global navigation satellite systems reflectometry (GNSS-R) is as mentioned in Chapter 1 a field of research utilizing GNSS signals reflected on Earth surfaces. It works as a bistatic radar, transmitting and receiving signals from two different antennas separated by a large dis- tance. When a single receiver is capturing signals from multiple transmitters it can be called multi-static radar [40]. In [2] it was first proposed to utilize these reflections to perform mesoscale ocean altimetry, or in other words to measure the altitude of the sea surface to a reference for scales which are in the order of tropical storm systems. The reflected signal, together with the direct signal, can be used to obtain measurements of the reflecting medium such as altitude of the receiver, and in the case of ocean reflections, near surface winds and surface state. A reflection can occur specularly or diffusively, where the specular reflection requires a smooth surface and causes a mirror-like reflection. Diffusive scattering occurs when the surface is rough and different reflec- tions add and subtract producing multiple rays with different delays and Doppler shifts. An ocean reflection is diffusively scattered, on the surface in a small area called a glistening zone, centered on the nominal specular point. Not all reflections are directed towards the antenna and will therefore not be detected. 22

2.1.1 Observables

A GNSS-R system can be constructed with two antennas, one in the zenith direction receiving the direct signal from the GNSS satellite and one in the direction of interest receiving the reflected signal. As the signal is reflected on the surface, its polarization changes so that the reflected signal can be best received with a left hand circular polarized antenna. The reflected signal has a characteristic where the peak signal power is similar to the direct, but exhibits a much higher variability due to the sea surface state. Garrison in [41] showed instantaneous reflected signal strength that varied between 30 and 52 dB-Hz. Although the reflected signal may be acquired, continuous tracking with a conventional receiver is thus very difficult, although possible if the reflections are highly specular [42], and depend on the ability to maintain carrier lock [41].

Instead, since the direct and reflected signals share most properties, with the difference that the reflected signal is received later than the direct; the reflected signal can be processed if its properties are slaved to the properties of the direct signal. The direct signal is acquired and tracked as described in Chapter 1, providing information about the code phase, frequency, and carrier frequency and phase. These signal parameters can be used to place correlators correctly for the reflected signal. Traditionally the only correlators used in closed tracking are early, late and prompt. If instead many more correlators are generated for the reflected signal, these correlators can be averaged to produce a delay waveform as illustrated in Figure 2.1. A downside to this approach is the enormous amount of computations necessary to obtain the extra correlators. The delay necessary for the correlators can be estimated with an a priori knowledge of the receiver altitude.

2.1.2 Delay Waveforms

Auto-correlation of the correlators can be used to generate a waveform that represents the reflected signal.

During a series of flights in 1997, GPS L1 C/A data was collected using a software config- 23

Figure 2.1: Bistatic open loop processing for bistatic reflections. Courtesy of Stephan Ester- huizen [43].

urable delay-mapping GPS receiver and compared to buoy information from NOAA. The data was processed to provide cross-correlation functions of the signal. A widening of the cross-correlation with increasing surface roughness was demonstrated [14].

Figure 2.2 illustrates the widening of the reflected signal in delay space. The direct signal from the GNSS satellite is shown as a reference point. Figure 2.3 shows an example of a reflected waveform obtained with a low altitude aircraft during hurricane Sandy in 2012. The area just before the peak of the reflected signal indicates the delay from the specular reflection whereas the overall diffuse scattering causes a trailing edge effect, which can be used to model wind speeds as shown in [5]. Estimating wind speeds is especially important in the case of tropical storms and 24

Figure 2.2: Description of the reflected signal in delay space. Courtesy of Dallas Masters [44].

hurricanes where bistatic radar can provide a significant contribution in predicting the direction and strength of a hurricane.

2.1.3 Delay Doppler Maps

If the correlation waveform is extended into another dimension, frequency, it becomes a two dimensional image with representation of delay and Doppler, a so called Delay-Doppler map, DDM.

The shape of the DDM contains information about the surface roughness.

Figure 2.5 shows an example of a DDM generated with WAAS L1 PRN 138. The figure was generated from an airplane flight with calm waters, but the reflected signal show the widening of the signal.

2.1.4 Bistatic Radar Model

A theoretical SNR radar model that describes how GPS signal scatters off rough surfaces is provided in [5]. The model is based on Kirchhoffs approximation and is a function of geometrical and environmental parameters. 25

Figure 2.3: Normalized ocean reflected waveform obtained from a low flying aircraft during hurri- cane Sandy 2012.

Following the descriptions in [42], the SNR equation for the direct signal is as follows:

2 2 PGP SGGP SGDλ Λ (τ) SNRDirect = 2 2 , (2.1) 4π RR−GP S kTDBD where PGP S and GGP S is the transmitted power and gain of the GPS satellite respectively, the gain of the receiver antenna is represented as GR, RR−GP S is the range distance between the transmitter and receiver, k is Boltzman’s constant, TD is the system noise temperature of the direct signal path mainly consisting of the sky temperature and the noise temperature of the direct receiving electronics. The noise temperature of the electronics is according to Frii’s formula dominated by the first element of the cascaded system [1], which in this case is a low noise amplifier (LNA). BD is the correlation equivalent bandwidth which depends on the coherent integration time, for 1 ms coherent integration time the bandwidth is 1 kHz. Λ(τ) can be assumed to be one for near perfect 26

Figure 2.4: Description of the glistening zone and Doppler zones, adapted from [5]. The center of the coordinate system is the specular point.

tracking.

The SNR equation for a specular reflection can be derived from the SNR equation for the direct signal since the correlation function is nearly identical to the direct [42] with the exception that the reflection scatters from an area on the surface limited by the first Fresnel zone which is determined from the additional delay of the reflected signal

2 2 2 PGP SGGP SGSλ Γ Λ (τ) SNR = RHCP −LHCP , (2.2) specular 2 2 4π (RR−S + RR−GP S) kTSBS

2 where ΓRHCP −LHCP is the Fresnel coefficient magnitude as the signal changes polarization from RHCP to LHCP. The suffix S stands for specular. The primary differences between the received

SNR of the direct and reflected signals are then the correlation bandwidths, the system noise 27

Direct L1 Delay Doppler Map 2000 1

1000 0.8

0.6 0

Doppler (Hz) 0.4 -1000

0.2 -2000 -500 -400 -300 -200 -100 0 100 200 300 400 500 Delay (m)

Reflected L1 Delay Doppler Map, norm. to direct pwr = 69% 2000 0.6

1000 0.5

0 0.4

-1000 0.3

0.2

Doppler (Hz) offset from Direct -2000 4500 4600 4700 4800 4900 5000 5100 5200 5300 5400 5500 Delay (m) offset from Direct

Figure 2.5: Direct and reflected delay Doppler maps for WAAS L1 PRN 138.

temperatures, the gains of the receiving antennas and the Fresnel reflection coefficient. For sea water and elevation angles above 30 degrees the Fresnel reflection coefficient is approximately

0.8 [42] for the L1 frequency.

For diffuse scattering, the signal is reflected in an extended area of a so called glistening zone which causes a distortion in the correlation function that is related to surface roughness. A model for the SNR was developed in [5] which describes the adjustment to the trailing edge of the correlation function:

2 ZZ 2 2 PGP SGGP S λ 1 GR(ρ)Λ (τ, ρ)S (fD, ρ)σ0(ρ) SNRRough(τ, fD) = 2 2 dρ, (2.3) 4πRR−GP S 4π kT BR Rρ−R where Λ is the auto-correlation function of the GPS signal, depending on the delay τ and the

Doppler frequency fD, the integral is taken over the glistening zone where ρ is a specified point. S is the Doppler function and BR is the correlation bandwidth from the coherent integration time, and finally σ0 is the normalized bistatic scattering cross-section. A surface is considered rough, 28 if its components are larger than several wavelengths of the GPS signal. The bistatic scattering cross-section of the surface πΓ2q4 σ0(ρ) = 4 P (s), (2.4) qz is based on the probability density function (PDF) of anisotropic slopes P (s), the Fresnel reflection coefficient Γ, and the scattering vector q, with qz horizontal to the ocean surface. The near surface winds will affect the scattering cross-section through the mean surface slope.

The Elfouhaily model [45] for surface wave directional spectrum,

1/2π −4 Ψ(k, φ) = [B + B ][1 + ∆(k)cos(2φ)], (2.5) k l h where Bl represents the long-wave curvature spectrum, Bh describes the short-wave curvature spectrum and ∆ is defined as the upwind-crosswind ratio, k represents the wavenumber and φ is the wave direction relative to wind, was used in [5] to provide P (s). Further details can be found in [45].

This model [5] was used in [46] to demonstrate wind speed retrievals obtained from GPS L1

C/A reflections from an aircraft flying at 3 to 5 km above the ocean surface. A moving average of 150 seconds was used to smooth the retrievals. The cross-correlation wave forms showed good agreement, within 2 m/s, with the model in Eq. (2.3).

2.1.5 Altimetry

Bistatic radar altimetry is a concept within GNSS-R concentrating on obtaining altitude above the surface/terrain using reflected signals. Incoming GNSS signals can be treated as parallel rays due to the small angle approximation. If the signal is reflected with sufficiently high elevation angle, based on Brewster’s law, the signal will change polarization from right hand circularly polarized to mostly left hand circularly polarized. From the assumption that the rays from the

GNSS satellite are parallel when they reach the receiver the following statements can be made

ρ h ≈ + b, (2.6) 2sin(α) 29 where ρ is the additional signal path, also called delay, for the reflected signal, h is the altitude above the surface, b is the bias which is introduced since the two antennas are not co-located, and α is the elevation angle of the incident signal. This approximation works well for low altitude aircraft.

Figure 2.6 shows the concept.

Figure 2.6: Bistatic radar altimetry. Figure adapted from [40].

Not only code information can be used for altimetry, [47] utilizes the carrier phase data for ocean altimetry. Cycle slips and carrier phase fading was removed through filtering in order to extract the coherent component of the signal

ρ = 2hsin(α) + b + Nλ, (2.7) where ρ is the delay, N is the integer ambiguity and λ is the carrier wavelength of the GPS signal. 30

2.1.6 Review of Research Studies Utilizing GNSS-R

The proposed method from [2], passive reflectometry and interferometry system (PARIS) was experimentally demonstrated for sea surface altimetry off a bridge in [48], the RMS value of sea surface height was found to be 3.3 meters. It was also anticipated that use of the P(Y) code, which has 10 times higher chipping rate would provide a height error of around 30 centimeters.

Ocean altimetry measurements from an aircraft were obtained using GPS L1 C/A during a

flight of altitude 1.5km. An RMS of 4.7 meters was obtained for the entire duration of the flight, but RMS 3.1 meters during straight paths [49]. The waveforms were generated from 20 ms coherent integration and summed over 1 second.

Receiver altitude was found with 2 cm precision from a ground based receiver 480 meters above Crater lake in [50]. The experiment shows that the dominant errors for a low elevation satellite is troposphere errors whereas for a high elevation satellite the errors consists mainly of receiver noise. Altimetry with 5 cm precision was obtained from aircraft in [51]. The L1 P(Y) waveforms were coherently averaged over 10 ms and then 200 non-coherent summations were performed. The original sampling of 20 MHz was increased 100 times though the use of a finite impulse response

filter (FIR) and then fitted to the model in [5]. Local surface topography was found through the use of receiver altitude from GPS positioning.

In 2002, the first ocean reflection was captured in space [52]. Ocean wind speed retrievals have since been obtained using Delay-Doppler maps from TechDemoSat-1 [53] and Cyclone Global

Navigation Satellite System (CYGNSS) [54].

Wind speed as well as wind direction was obtained with a non-linear least squares approach using data from multiple GPS satellite signals in [55]. In [56] it was discussed how using the derivative of the auto-correlation function of the reflected signal produces mean sea level, ocean surface wind and significant wave height. The mean sea level was found from the peak of the derivative, the amplitude showed ocean roughness which can be used to obtain surface wind. Wave height can be extracted from the width of the derivative auto-correlation function of the reflected 31 signal.

Ocean altimetry provided from code measurements have been obtained with performance of altitude standard deviation of 0.10 meters with the GPS L1 C/A code in [57], whereas the phase delay technique has obtained a standard deviation performance of 3 mm during a static data collection over a pond in [58]. This was possible through fitting the obtained waveforms to a high

fidelity model using a least squares approximation [57].

The CYGNSS launched eight LEO satellites in (2016-2017) in order to use GNSS-R to mea- sure wind speeds for the purpose of understanding the connection between surface wind speeds, as well as other dynamical properties and their connection to tropical cyclones [54].

This section of the chapter introduced the theory behind GPS/GNSS reflectometry one of the two main remote sensing areas focused on in this thesis. The next section will introduce the theory behind the second remote sensing area discussed in this thesis, namely radio occultation.

2.2 GPS/GNSS Radio Occultation

Radio occultation has been used for planetary measurements since the 1960’s but the idea of using GPS signals for radio occultation, in order to measure temperature and pressure in the Earth’s atmosphere, was first published in 1986 [59], and then in 1988 [60]. Figure 2.7 illustrates a GPS radio occultation. The large number of current GNSS satellites provide scientists with an abundance of sources to obtain radio occultation measurements. The first GPS radio occultation measurement from a LEO satellite was captured by the GPS/MET experiment as described in [61]. High vertical resolution can be obtained due to the limb-sounding behavior of the RO instrument [62].

2.2.1 Observables

Observables in a GPS radio occultation measurement are carrier phase delay and signal amplitude. The pseudorange and phase observable equations for a GNSS signal are as follows:

S S ρ = RRX + cδRX − cδ + δiono + δtropo + mult + RX , (2.8) 32

Figure 2.7: High vertical resolution measurements of refractivity, temperature, pressure, density or humidity [63] can be derived from the bending angle that occurs when a LEO satellite tracks GPS carrier phase signals through the ionosphere and neutral atmosphere. Earth picture, courtesy of NASA.

S S φ λφ = RRX + cδRX − cδ − δiono + δtropo + Nλ + mult + RXφ, (2.9)

S where ρ is the pseudorange, RRX is the geometric range between the receiver and the GPS satellite, δRX is the receiver clock error, δS is the satellite clock error, δiono,δtropo, are the delays induced by the ionosphere and troposphere respectively, mult and RX represent the multipath and receiver errors, N is the ambiguity resolution term, λ is the wavelength of the GPS carrier and φ is the carrier phase of the GPS signal.

In order to obtain find the excess delay, the delay only caused by the ionosphere and neutral atmosphere, the clock errors need to be removed from the equation and the position of the LEO satellite as well as the GPS satellite needs to be very precisely known. Errors due to multipath and the receiver are treated as measurement noise.

As the signal is delayed due to the ionosphere and the neutral atmosphere, it also decreases in amplitude so-called defocusing. Below 6 km high amounts of water vapor increases de-focusing, and introduces phase and amplitude oscillations [62]. Traditionally the excess phase of the GPS signal is used to obtain the bending angle profile, which then can be inverted using an Abel transform 33 to reconstruct the refractivity profile from which temperature, pressure, density and humidity are derived. Other methods of full spectrum inversions have been developed to provide bending angles from the entire signal, which includes the phase as well as amplitude [64].

2.2.2 Bending Angle

In a GPS receiver carrier phase is calculated from the change in the Doppler shift between transmitter and receiver over time. If spherical symmetry is assumed, then the excess Doppler shift due to the bending can be used together with the position and velocity of the satellite to compute the bending angle profile.

Figure 2.8: The geometry of radio occultation. α is the bending angle, a is the impact parameter and r is the radius at the tangent point. Figure adapted from [11].

The Doppler shift between the LEO satellite and the GPS satellite is calculated in [65] as:

f f f = T (V · ˆe + V · ˆe ) = − T (V rcos(φ ) + V θsin(φ ) + V rcos(φ ) + V θsin(φ )), (2.10) d c T T R R c T T T T R R R R where VT and VR are the velocities of the transmitter and receiver respectively and ˆeT and ˆeR are the unit vectors in the direction of the signal path. From Bouguer’s rule follows that

rT sin(φT ) = rRsin(φR) = a, (2.11) 34 and

α = φT + φR + θ − π. (2.12)

This traditional conversion works well for occultations above 6km of altitude, below 6 km there is more moisture that causes fine atmospheric structures introducing multiple rays at the receiver [66].

By measuring the bending in the signal, the index of refraction as a function of height can be found through inversion. Assuming spherical symmetry, the total refractive bending angle given in

[65] as: Z ∞ Z ∞ 1 dln(n) α(a) = dα = √ dr, (2.13) 2 2 2 rt rt n r − a dr where r is the distance from the center of curvature and the integral is over the part of the at- mosphere above the radius at the tangent point. Equation (2.13) can be inverted using an Abel transform to obtain an expression of the refraction index n(r) as a function of altitude.

1 R √ α da π a 2 2 n(r) = e a −a1 , (2.14) where a1 = nr is the impact parameter with tangent at r [11].

Another way of providing bending angle profiles is presented in [64] where the Fourier trans- form is used on the entire signal, through the assumption that each ray is dependent on the impact parameter.

The amplitude of a radio occultation signal is represented as  1/2 P a   Q = q , (2.15) 2π 2 q a 2 a 2 dθ  (rT rR) sin(θ) 1 − ( ) rT rR da dθ where P is the transmitted signal power, da is a function of the ray signal phase and wavenumber. The Fourier transform of the entire signal is computed and the result used to solve for the impact parameter and thus bending angle. Further details are provided in [64].

2.2.3 Atmospheric Parameters

Temperature, pressure and water vapor are related to the refractive index as follows [66]

P P n 1 N = (n − 1) × 106 = 77.6 + 3.73 × 105 wv − 40.3 × 106 e + O( ) + 1.4W + 0.6W , (2.16) T T 2 f 2 f 3 wv i 35 where T is the temperature in K, P is the pressure in mb, Pwv is the pressure of water vapor in mb,

3 ne is the electron density in 1/m , f is the GPS frequency used for the measurements, Wwv and Wi is the water and ice content in g/m3 respectively. The first two terms in Eq. (2.16) are called the dry and wet terms which gives the refractivity in the neutral atmosphere. The third term provides the majority of the ionosphere contribution and can be measured using a linear combination of two

GPS frequencies, or with a combination of code and carrier measurements from a single frequency.

Temperature and pressure are solved for iteratively using the hydrostatic equilibrium and the ideal gas law ∂P = −ρg, (2.17) ∂z where ρ is the density of air and described from the molecular mass of air md and water vapor mw as: m P (m − m )P ρ = d + w d w , (2.18) RT RT where R is the universal gas constant and T is the temperature, and is used together with Eq. (2.16) to give [67]

∂P gmdN a2gmdPw g(md − mw)Pw = + 2 + . (2.19) ∂h a1R a1RT RT

Eq. (2.16) and Eq. (2.19) can be used to solve for temperature and pressure above a tropo- spheric temperature of 250K where the water vapor contribution can be ignored [67]. Obtaining a solution for the lower moist troposphere requires knowledge of one of the desired observables, temperature, pressure or water vapor.

2.2.4 Radio Occultation Receiver

Radio occultation techniques provide measurements of the ionosphere and neutral atmosphere with high vertical resolution and is a significant contributor to numerical weather prediction centers around the world [68]. It is not straightforward to obtain the GNSS measurements from a signal in occultation, primarily because of signal loss due to diffraction and atmospheric attenuation. Two cases of occultations exist: First, a setting occultation where a signal is initially visible at a higher 36 elevation and then decreases into an occultation; and second, the rising occultation which enters into the occultation as the satellite is becoming visible.

2.2.4.1 Closed loop tracking

A conventional GNSS receiver operates in so called closed loop tracking mode, where there is a feedback connection based on the filtered measured error to steer the carrier and code frequency generation as described in Chapter 1. Closed loop tracking of an occultation can be implemented on the beginning of a setting occultation, however, as the signal gets more and more occulted, the possibility of the tracking loop loosing lock of the signal and instead track the noise, increases.

While the signal is tracked in closed loop mode, the atmospheric component of the delay can be readily measured. In part, the atmospheric delay comes from the ionosphere and part from the neutral atmosphere. The ionospheric contribution can be measured through the use of a dual frequency receiver as discussed in Chapter 1.

2.2.4.2 Open Loop Tracking

Tracking of very weak signals for the purpose of radio occultation measurements is usually performed through open loop tracking [63]. Open loop tracking relies on ephemeris data to precisely predict where the signal is transmitted from in terms of position and velocity. This information, in combination with the receiver position, velocity and clock error, can be converted into an expected code phase, code frequency and carrier frequency of the occulted signal as shown in Figure 2.9.

Open loop tracking is demonstrated in [69] for an airborne RO receiver. The path of the occulting signal consists of two parts, a geometric component and an atmospheric component, both of which are necessary to place correlators correctly in open loop.

The geometric component of open loop tracking depends on a position solution of the LEO receiver and the positions of the GNSS satellites, obtained through the ephemerides. Firstly, the position ~rsat and velocity ~vsat of the transmitting satellite is calculated for the time of reception. A position ~rRX and velocity ~vRX solution and an associated time of reception of the receiver tRX is 37

Figure 2.9: Block diagram of the tracking block including the changes necessary for open loop.

assumed. The relative position vector between the transmitter and receiver is calculated as follows:

R~ = ~rsat − ~rRX . (2.20)

The geometric distance R between the transmitter and receiver is simply the normalized relative position vector:

R = ||R~||. (2.21)

The relative velocity, or range rate, is based on the geometric range:

v = (~vsat − ~vRX ) • R. (2.22)

The ephemerides provide the position of the satellite at the time of transmission, whereas the receiver position solution is obtained at time of reception. In order to solve for the relative distance and velocity both these variables needs to be represented in the same coordinate frame. It takes time for the transmitted signal to reach the receiver, this is the time which makes up the pseudorange.

During this time the Earth rotates, and an Earth fixed receiver rotates with it. The position is solved for in Earth Centered Earth Fixed (ECEF) coordinate frame, and hence the satellite position 38 needs to be rotated back an equal amount [1]. This rotation is required for any GNSS receiver in order to solve for position, as well as for open loop. Generally this calculation is performed through an iterative calculation where the received time is used to calculate an approximate geometric distance between the GNSS satellite and the receiver, that geometric distance is used to adjust the transmission time for which the ephemerides are valid, which again is used to calculate a new geometric distance until convergence.

Open loop tracking forces the receiver to generate the correlators at the predicted carrier frequency and code frequency. In order to estimate the carrier frequency and code frequency it is

first important to generate the pseudorange and Doppler from the geometric range and range rate between the transmitters and the receivers as described above.

In order to obtain the carrier frequency and the code frequency, the larger of these errors need to be accounted for, namely the receiver clock bias and the satellite clock,

ρestimate = R + cδtb − cδtSV + other errors. (2.23)

The Doppler shift is thus found through

−(v + cδt )f f = d L1 , (2.24) D c which is used to calculate the carrier frequency at IF

fcarr = fIF + fD. (2.25)

Disregarding the ionosphere and other errors, the code frequency can be found as follows:

fc fcode = fc + fD( ) (2.26) fL1 where fc is the baseline code frequency of 1.023 MHz.

Only geometric delay has been discussed, but in order to obtain the correct estimation of excess phase the atmospheric delay is also necessary to take into consideration [63]. For setting occultations, the atmospheric delay portion can be estimated from tracking the signal in closed loop before stepping into open loop, allowing for a more precise estimate of the excess phase. Previous 39 radio occultation retrievals were used to model the bending angle with a 14th order polynomial fit depending on the separation angle θ [70].

Since obtaining the atmospheric model itself is a cumbersome process, in this thesis it is assumed that multiple correlators both in frequency and code space will allow the receiver to maintain the signal energy throughout the occultation.

2.2.5 Review of Research Studies Utilizing GPS RO

A number of satellite programs have been developed to utilize the GPS RO technique. Some of them are mentioned below. The first was the experimental GPS Meteorology (GPS/MET) program. Performance of the retrievals obtained from the LEO satellite, which was operational between 1995 and 1997, demonstrate temperature profiles to 5 km within 1 degree of correlative measurements [71].

The CHAllenging Minisatellite Payload (CHAMP) was launched in 2000 [72]. SNR values exceeded that of GPS/MET and resolved the troposphere at 8 km. Argentine Satelite de Aplica- ciones Cientificas-C (SAC-C) was also launched in 2000. A comparative study between CHAMP and SAC-C was provided in [73]. Both CHAMP and SAC-C utilizes the BlackJack RO receiver, but the study was performed before open loop tracking was implemented, however, the lowest 0.5 km were reached approximately 60% of the time. It was found that temperature profiles from CHAMP and SAC-C were consistent to a mean of 0.1 K with standard deviation 0.86 K between 5 and 15 km.

The Gravity Recovery and Climate Experiment (GRACE) consists of two satellites GRACE-

A and GRACE-B, which are both equipped with BlackJack receivers for radio occultation. Radio occultation measurements from GRACE-B are presented in [74].

Constellation Observing System for Meteorology, Ionosphere, and Climate (COSMIC), launched its first 6 satellites in 2006. The COSMIC satellites included open loop tracking in the BlackJack receiver, which was theorized in [75] to improve measurements in the lower troposphere. Six

COSMIC-2 satellites were launched in June 2019. 40

2.3 Receiver Architecture Improvements

The next chapters present improvements to the receiver architecture for remote sensing.

With the introduction of the GPS L5 signals and its higher chipping rate, it is a natural extension to improve the performance of the GNSS bistatic radar. Chapter 3 will discuss the signal strength improvements of GPS L5, as well as a performance assessment of bistatic radar using

WAAS L1 and L5 signals during a test flight outside Florida’s coast.

Weak signals would benefit from increased signal strength, something that is possible one of two ways: increased gain from the antenna or a reduction in signal noise. Since increasing the gain of an antenna is usually quite costly, this work focuses on the latter, reduction of cross-correlation noise from other GPS signals in the same frequency band. A signal cancellation study is performed to evaluate the performance of cancellation for different levels of quantization and filtering.

Radio occultation measurements are often collected using open loop tracking. The final receiver improvement in this document is the development of a vector delay frequency lock loop with low Earth orbit dynamic models that can use the benefits of the inter-channel aiding from the

VDFLL to also obtain open loop measurements. Chapter 3

UTILIZATION OF MODERNIZED SIGNALS FOR BISTATIC RADAR

The GNSS signal structures continue to evolve. New signals are added in different frequency bands, higher signal strength is transmitted and the code modulation has improved. One of the modernized signals is GPS L5. In 2010, the first GPS Block IIF satellite, which transmitted the

GPS L5 signal, was launched. The signal is primarily designed for safety-of-life transportation and is transmitted in the protected L5 frequency band [76]. Improvements compared to the legacy

GPS L1 C/A signal include: longer codes to provide lower cross-correlation, higher signal strength, larger bandwidth, the use of a data-less pilot channel and the addition of secondary codes. These improvements are also beneficial for remote sensing. Two of the improved features; the higher signal strength and the larger bandwidth, are leveraged in this work.

The GPS ICDs specify the minimum transmitted signal strength of all the civilian signals; however, the current GPS L1 C/A signal are well known to transmit at a higher signal strength.

Nominal C/N0 of a GPS L1 signal is provided as 45.5 dB-Hz in [31]. Because of this, it is of interest to quantify whether or not the GPS L5 signal is transmitted with a similarly increased signal strength in order to determine if the signal strength would provide additional benefit to remote sensing.

Clocking the code at 10.23 MHz, compared to the 1.023 MHz for GPS L1 C/A provides the

GPS L5 signal with a ten times sharper auto-correlation function. Altimetry with bistatic radar that measures the delay of the reflected waveform, from the correlation results, should benefit from the higher resolution due to the increased sharpness of the waveform. 42

This chapter is divided into four segments: First, a description of the GPS L5 signal is provided, second, a study of the GPS L5 signal power is undertaken, third utilization of the WAAS

L5 signal for altimetry through bistatic radar is analyzed and last conclusions are presented.

3.1 GPS L5 signal structure

The GPS L5 signal is transmitted on GPS Block IIF and onward. The GPS L5 carrier frequency is lower than GPS L1 C/A, in the protected L5 band at 1176.45 MHz, and transmitted with a ten times higher chipping rate, and thus a wider bandwidth [77]. The code length of the signal is ten times longer than the GPS L1 C/A signals, which provides better cross-correlation protection of 26.4 dB [78] compared to 23.9 dB for GPS L1.

The signal also consists of two parts, transmitted 90 degrees out of phase from each other, the pilot channel (Q-channel) which does not contain any data bits, and the data channel (I-channel) that does. The existence of the pilot channel allows for increased coherent integration time without the need to estimate data bits.

In addition to the carrier and the PRN codes the GPS L5 signals also has an encoding called a Neuman-Hofman code. For the I-channel, the Neuman-Hofman code is 10 ms long and for the

Q-channel, it is 20 ms long.

The received minimum signal strength is specified higher for GPS L5 [77] than for GPS L1

C/A [79]. Together, the data and pilot channels combined are 3.6 dB higher than GPS L1 C/A.

Table 3.1 highlights the differences between GPS L1 C/A and GPS L5.

Table 3.1: Excerpts from the Interface Control Documents [79] and [77].

Frequency band Center frequency Chipping rate Transmission Power L1 1575.42 MHz 1.023 MHz -158.5 dBW L5 1176.45 MHz 10.23 MHz I= -157.9 dBW Q = -157.9 dBW 43

3.2 GPS L5 Power Study

Two aspects were studied in order to quantify the effect of the higher GPS L5 signal power.

The GPS L5 transmitted signal power and the dependence on GPS L5 receive antenna patterns.

An estimate of the satellite antenna patterns can be found from the C/N0, if the receiving antenna pattern is subtracted from the data and the path loss is estimated. This has previously been done for L1 signals in [80] and [81]. An initial analysis of the Block IIF signal while still set unhealthy was done in [82] where it was shown that the L5 signal performed close to what was specified in the ICD, the signal however had distortions in the I and Q channels. This study, published in

2016 [83] by the author, showed that different receive antennas play an important role in whether the signal strength performance of GPS L5 can be exploited. A later study [84] provided some further analysis of the GPS L1 patterns for all available GPS Blocks.

3.2.1 Satellite Antenna Patterns

A Trimble Net R9 receiver was used to collect RINEX data for a GPS L1/L5 antenna. The antenna was located on top of the Engineering Building at University of Colorado - Boulder. The antenna pattern was obtained from the manufacturer and it was possible to estimate a trend of the

GPS L5 satellite antenna pattern. Figure 3.1 show the path of the GPS signal from the transmitter onboard the satellite to the receiver. The received signal power PR is a function of the transmitted

Figure 3.1: GPS signal path from transmitter to receiver. 44 signal power PT , the gain in the transmitter GT , the path loss PL and the gain of the receiver GR

PR = PT + GT + PL + GR. (3.1)

GPS signal strength is measured in C/N0, carrier to noise spectral density ratio:

C/N0 = PR − LR − 10log10(kTA) − FR(TA), (3.2)

where TA is the effective noise temperature of the external noise received by the antenna, k is the Boltzmann constant, FR is the overall noise figure of the receiver, LR is the power loss of the receiver and N0 is the noise power density [1]. The transmitted gain and power can be found in [80] as 4πR G + P = C/N − 20log − G − L − C, (3.3) T T 0 10 λ R A where C contains the information about the receiver after the LNA and has been solved for using the public antenna patterns in [85], C was found to be -217 dB. R is the geometrical range between the receiver and the satellite. LA is the attenuation based on the atmosphere, -0.5 dB was specified in [1] and was used in this estimation.

The transmitted antenna patterns for individual satellites in Block IIR/IIR-M are available in [85] and the performance was discussed in [86]. An estimated transmitted antenna pattern was obtained from C/N0 values using Equation 3.3 for PRN 28. The estimated pattern for PRN 28 seem to agree fairly well with the published patterns as is seen in Figure 3.2. Differences in the estimated pattern compared to the truth is likely due to multipath and signal obstruction from surrounding buildings.

The transmitted power combined with the transmit gain was estimated for two of the Block

IIF satellites, PRN 6 and PRN 30 because they had the best satellite paths over the antenna located on top of the engineering building at University of Colorado, Boulder. Figures 3.3 and 3.4 show the estimated signal pattern for Block IIF satellites PRN 6 and 30. Both PRNs seem to have a preferential side, which is probably due to multipath or signal blockage. It can be noted that the satellites come in from almost opposite sides of the receiver as shown in Figure 3.5 and 3.6 and 45

Figure 3.2: The true transmit antenna pattern for PRN 28 L1 and the estimate based on C/N0 values obtained with a Trimble Net R9.

both antenna patterns have a slightly higher C/N0 on one of the sides. There are also oscillations in the measurements, which are probably caused by multipath.

As can be seen in Figure 3.7 and 3.8 the estimated mean transmit power between the GPS

L5 signal versus the GPS L1 signal show between 2.7 and 3.1 dB additional power in GPS L5.

Although the standard deviation of the measurements is high, it is concluded that the difference between transmit power of L1 and L5 is close to the specifications of 3.6 dB.

Provided that the receive antenna performs similar for both L1 and L5, users should expect stronger signals from L5 if both channels are utilized.

3.2.2 Received Power Measurements

A Trimble Net R9 receiver was used to collect RINEX data for four different GPS L1/L5 antennas. Data was collected for two successive days per antenna between Dec 22nd and Dec 30th 46

Figure 3.3: Estimated antenna transmit pattern for PRN 6. The oscillations and the uneven parts of the pattern are caused by signal obstruction and multipath in the receiver antenna. Purple represent the L5 directivity while green represents the L1 directivity.

2014. The antenna was located on top of the Engineering Building at University of Colorado -

Boulder.

All the data was collected with the Trimble receiver, using their internal algorithm for C/N0.

Following are the results for PRN 6, one of the Block IIF satellites that went high in the sky above Boulder. The L1 signal strength is used as a baseline and 3.6 dB is added as a prediction of the expected L5 signal strength. Figure 3.9 shows the L1 signal strength, the predicted L5 signal strength and the measured L5 signal strength. As can be seen in Figure 3.9, the predicted L5 signal agrees well with the measured L5 signal for Antenna 1. In Figure 3.10, however, the measured L5 signal with Antenna 2 is approximately 3 dB lower than expected for high elevation angles, but closer to the expected at lower elevation angles. Antenna 3 in Figure 3.11 shows larger variations in power over the entire sky pass than the previous two antennas. This is likely due to a smaller 47

Figure 3.4: Estimated antenna transmit pattern for PRN 30. This pattern is uneven in the opposite direction, and as can be seen in the skyplot in Figure 3.6 the satellite traverses the sky in the opposite direction. Purple represent the L5 directivity while green represents the L1 directivity.

Figure 3.5: Skyplot of the satellite track for PRN 6. The green point with the PRN number designation is the last visible position of the satellite. 48

Figure 3.6: Skyplot of the satellite track for PRN 30. The green point with the PRN number designation is the last visible position of the satellite.

Figure 3.7: Difference in estimated transmit power between L5 and L1, PRN 6.

antenna form factor and hence a smaller ground plane. The overall signal power is at the same 49

Figure 3.8: Difference in estimated transmit power between L5 and L1, PRN 30.

levels as the estimated L5 signal for higher elevation angles, and higher for lower elevation angles.

Antenna 4 in Figure 3.12 shows a lower L5 signal power than estimated and also larger short term oscillations, which is probably due to multipath that is not rejected based on a smaller ground plane of the antenna. The missing information in the figures is due to the satellite pass not crossing directly overhead.

The performance of the antennas vary widely between the 4 test cases, where two of the antennas show much lower L5 signal power for high elevation angles. The results show that not all the GPS L1/L5 antennas performed as well for GPS L5 as was expected. Thus utilizing these antennas for GPS bistatic radar might not provide the user with the anticipated improvements. 50

Figure 3.9: C/N0 pattern for PRN 6, Antenna 1. The obtained L5 C/N0 agrees with the predicted L5 C/N0. Blue represents L1, orange represents predicted L5, and red represents measured L5.

Figure 3.10: C/N0 pattern for PRN 6, Antenna 2. The obtained L5 C/N0 is elevation dependent and lower at higher elevation angles. Blue represents L1, orange represents predicted L5, and red represents measured L5. 51

Figure 3.11: C/N0 pattern for PRN 6, Antenna 4. Variations can be seen in this antenna as well, but the overall C/N0 for L5 is higher and more consistent over elevation angles. Blue represents L1, orange represents predicted L5, and red represents measured L5.

Figure 3.12: C/N0 pattern for PRN 6, Antenna 3. Large variations are seen in the C/N0 for both L1 and L5 due to a smaller form factor. The L5 C/N0 is lower than expected for high elevation angles. Blue represents L1, orange represents predicted L5, and red represents measured L5. 52

3.3 GPS/GNSS Reflectometry Receiver Enhancements

As was discussed in the previous section, one of the advantages to the GPS L5 signal is the higher transmitted signal strength, another is the increased chipping rate of the PRN code, which takes the form of a sharper auto-correlation peak. The sharper auto-correlation peak, which can be seen in Figure 3.13, has advantages when it comes to locating the peak as well as distinguishing between the real signal and a multipath signal for reflections close, in the order of an L5 chip width, to the GPS receiver. For bistatic radar, the GPS L5 signal would provide higher resolution.

PRN 3 Auto-correlation

1

0.5

0 Normalized Correlation Amplitude -2000 -1000 0 1000 2000 Meters

Figure 3.13: L1 and L5 auto-correlation for PRN 3, both signals were sampled at 10.23 MHz.

This work presents reflected signals received from the wide area augmentation system (WAAS)

L1 and L5 signals. Ideally, the measurements would have been obtained using the GPS L5 signals, but at the time of data collection, in 2012, there were no GPS Block IIF satellites in view.

The WAAS L5 signal unlike the GPS L5 signal has only one channel; a data channel with a data rate of 250 bps, and a forward error correction scheme. A Neuman-Hofman code, 2 chips long, sampled at 1000 bps is also added on top of the data bits. A study of the WAAS L5 signal in [87] showed that the performance of the carrier to noise density ratio of the WAAS L5 signal was within 1 dB of the WAAS L1 signal. 53

In addition to being very similar to GPS L5, the WAAS satellites are geostationary and always visible above most of the U.S. The data was collected around the coast of Florida, with good visibility of the three WAAS signals, PRN 133, PRN 135 and PRN 138.

Figure 3.14: The flight path outside Florida’s coast.

3.3.1 Software Receiver Architecture for Receiving L5 Reflected Signals

This study presented in [88] by the author and the preluding work in [89], present to the author’s knowledge the first ocean reflections using the WAAS L5 signals. Since at the time of data collection only the WAAS signals were visible, the study focuses on the improvements possible due to the narrower correlation function.

Acquisition of the first reflected L1 C/A signal was presented in 1997 by [41] where the need for a special receiver was discussed since the power fluctuations in the reflected signal caused difficulties with conventional tracking. The method is thus that two antennas are used, one RHCP antenna that receives the direct signal, usually placed on top of the aircraft, and one nadir pointing 54

LHCP antenna that receives the reflected signal. It is known that the signals were transmitted at the same time, although the reflected signal will experience a delay. Since the direct and reflected signal are time aligned, it is possible to track the reflected signal in an open loop sense as described in Chapter 2.

The spacing between the correlators are important to produce a precise waveform, however the sharpness of the waveform is dependent on the bandwidth. For narrow correlator spacing it is important that a large bandwidth is used, otherwise the auto-correlation function tend to become rounded. The correlators for this work are generated using 1 ms coherent integration and then exported to produce the auto-correlation waveform of the reflected signal. The averaging can be performed coherently or non-coherently.

Coherent averaging will reduce the amount of noise, but will be sensitive to any bit shifts or phase differences in the signal. Assuming the noise is white Gaussian it will be different from millisecond to millisecond whereas the signal components are the same for a successive amount of milliseconds. For a reflected signal scattered off a moving surface such as the ocean, there is an upper limit as to how many milliseconds can be used to accurately represent the waveform. This limit depends on the speed of the aircraft as well as of the surface roughness. The correlation time is described in [90] under the assumption that the sea surface is quasi-frozen with respect to the velocity of the aircraft. Ocean correlation time is defined as the time it takes for the ocean waves to change shape [56]. The coherent integration time is usually set to be less than the correlation time which in itself depends on the footprint of the isorange ellipse that corresponds to the code chip delay [90] ph/sin(θ)λ τcor = √ , (3.4) 2 2cτcv where h is the altitude of the receiver, θ is the elevation angle of the incoming GPS signal, λ is the wavelength of the signal, cτc is the width of a code chip and v is the velocity of the receiver.

Integrating longer than the optimal coherent integration time would result in lower correlation power of the signal [90]. It is discussed in [91] that the reason for the lower correlation power comes 55 from the effective Doppler filter which with longer integration time becomes more narrow, thus reducing the effective area of the signal scattering.

3.3.2 Data Collection Setup and Pre-Processing

This research effort was presented in [88]. The experiment focuses on measuring the antenna altitude over the ocean utilizing a GPS L1/L2/L5 data collection system developed to collect raw

IF data for all three GPS civil frequencies [89]. This section summarizes development of the data collection system.

The system was built around two L1/L2/L5 front-ends, set up so that one collected data from the zenith pointing active antenna and the other collected data from the nadir pointing active antenna, which already existed on the airplane. Figure 3.15 shows a block diagram of the CU bistatic system. In addition to the LNA in the active antennas, the signal was also filtered and amplified further. The switch transferred the direct signal to both front-ends for the initial two minutes ensuring that the data files could be synchronized. After the initial startup, the reflected signal was switched back on. The front-ends streamed data over USB 2.0 to a host PC, with a sampling frequency of 40.96 Msps. Vast amounts of data were streamed over the USB 2.0 link, requiring careful design of the host PC’s USB setup. Despite this, data gaps occurred due to USB transmission overflow. 56

Figure 3.15: Block diagram of the CU bistatic system. 57

The system was installed in the NOAA hurricane hunter, Kermit, where it collected data for a number of flights, including flights though hurricane Sandy and Rafael as well as collecting data over a number of winter storm flights at the coast of Canada. Figure 3.16 shows a picture of the instrument.

Figure 3.16: Picture of the hardware which was installed in the NOAA hurricane hunter, Kermit.

The instrument collected raw IF data from the L1, L2 and L5 frequencies as displayed in

Table 3.2.

Table 3.2: Specification of the three different frequency bands, their frequencies and sampling frequencies.

Frequency band Center frequency Digital IF Sampling frequency L1 1575.42 MHz 12.82 MHz 40.96 Msps L2 1227.60 MHz 12.84 MHz 40.96 Msps L5 1176.45 MHz 12.74 MHz 40.96 Msps

Some amount of pre-processing was required before the data was usable for research. First, 58 the different frequency streams needed to be unpacked into separate streams containing only one frequency. Then the first two minutes of the data files were used to obtain a time stamp for synchro- nization down to the sample level. Each stream contained a header, which allowed synchronization between the frequency channels.

As briefly mentioned above, the data files contained gaps where the computer experienced overflows. These gaps occurred in random places for each stream. Since the data contained header information it was possible to identify the location and duration of the gaps and insert Gaussian noise in order to keep the data aligned.

3.3.3 Data Collection and Initial Results

The CU bistatic instrument collected data for a number of flights, where the specific data sections presented here were collected during a test flight 2012, at relatively low altitudes with calm waters; wind speeds of 7-11 m/s were measured. Onboard the aircraft was a radar altimeter as well as a NovAtel GPS high precision receiver. The radar altimeter provides information of the altitude of the altimeter compared to the ocean surface straight below it, whereas the NovAtel

GPS receiver provides the estimated altitude above the mean sea-level, a geoid used to map points of equi-potential gravity around the Earth. Height above the mean sea level is not an accurate measure of the true height above the ocean surface. A 10 minute segment of the flight outside the coast of Florida was chosen for processing due to an interesting altitude change as seen in

Figure 3.17.

An existing SDR tool built for WAAS L5 bistatic radar was utilized for processing. The

SDR acquired the direct signal, and then generated correlators for each specified offset, which was originally determined through searching through a wide swath of correlator to find the reflected peak and then only generate correlators around that peak. The 1 ms correlator values were then saved for later processing.

In order to obtain the waveform of the reflected signal the correlators were combined coher- ently or non-coherently. 59

The equation for coherent integration is

N X coherent = (PI (n) + QI (n)). (3.5) n=1 Generally, when longer coherent integration is performed, it also implies that the Doppler

filter becomes narrower. It is possible to extend the coherent integration time after the fact, as long as the 1 ms integration in tracking is performed coherently and the correlator are not squared.

However, since the correlators are generated from already tracked 1 ms correlations the Doppler

filter will remain 1 kHz. Thus, the effective area of the glistening zone is the same for 1 ms as it is for longer coherent integration. The correlation power does however still increase due to the longer coherent integration.

Non-coherent summation takes the absolute value of the signal which, of course, also squares the noise N q X 2 2 noncoherent = ( PI (n) + QI (n)), (3.6) n=1 although it has the advantage of being insensitive to phase shifts and data bit transitions. In the same way, the non-coherent summation time can be extended using multiple milliseconds.

Since the WAAS L1 and L5 signals both have data bits, it was required to remove those in order to be able to extend the coherent integration time. The obtained waveforms were noisy, so curve fitting was required to obtain consistent altimetry levels. A 5th order polynomial fit was used to estimate the peak of the waveform and to calculate the delay of the reflected signal and then translating it into altitude of the antenna.

As mentioned earlier in Chapter 2 there is an inherent bias in the data due to the antennas not being co-located. This bias was not removed during this processing, so the estimated altitude is not absolute. For performance comparison, the standard deviation of the noise level of the estimated altitude was used since that would not be dependent on the bias.

Figures 3.18 and 3.19 show the direct and reflected DDM’s for WAAS L5 and L1. For comparison between the signals they are plotted on the same scales. The WAAS L5 direct signal 60

Figure 3.17: The flight path outside Florida’s coast had a number of interesting altitude changes. The 10 minute segment boxed in red was chosen for processing.

appears in an elliptical shape with its peak in delay domain within ±30 meters and within 1 kHz in frequency domain. The reflected signal has it peak around delay 4860 m with a tail that indicates that diffuse scattering due to surface roughness occurred. The measured wind-speeds for this particular part of the flights was 7-11 m/s. Figure 3.19 show the WAAS L1 signal for comparison.

3.3.4 Optimization of L1 and L5 Signals

The objective of this research was to find out how the higher chipping rate of the WAAS L5 signal affected altimetry performance. In processing the collected data, the correlator spacing was chosen to be equal between L1 and L5. This, in order to try to make the measurements comparable since the chip width is 10 times smaller for L5 than for L1. The correlator spacings in chips are provided in Table 3.3. One ms coherent integration correlations were generated, then coherently

Table 3.3: Correlator chip spacing for L1 and L5

Frequency band Starting correlator Spacing End correlator L1 -1.1 0.01 21.1 L5 -1.1 0.1 210.1 61

Direct L5 Delay Doppler Map 2000 1

1000 0.8

0.6 0

0.4 Doppler (Hz) -1000

0.2 -2000 -500 -400 -300 -200 -100 0 100 200 300 400 500 Delay (m)

Reflected L5 Delay Doppler Map, norm. to direct pwr = 29% 2000

0.25 1000

0 0.2

-1000 0.15

Doppler (Hz) offset from Direct -2000 4500 4600 4700 4800 4900 5000 5100 5200 5300 5400 5500 Delay (m) offset from Direct

Figure 3.18: Direct and reflected delay Doppler maps for WAAS L5 PRN 138.

Direct L1 Delay Doppler Map 2000 1

1000 0.8

0.6 0

Doppler (Hz) 0.4 -1000

0.2 -2000 -500 -400 -300 -200 -100 0 100 200 300 400 500 Delay (m)

Reflected L1 Delay Doppler Map, norm. to direct pwr = 69% 2000 0.6

1000 0.5

0 0.4

-1000 0.3

0.2

Doppler (Hz) offset from Direct -2000 4500 4600 4700 4800 4900 5000 5100 5200 5300 5400 5500 Delay (m) offset from Direct

Figure 3.19: Direct and reflected delay Doppler maps for WAAS L1 PRN 138. 62 or non-coherently combined to generate the waveforms.

Values of the theoretical ocean correlation time based on Eq. 3.4 for PRN 138 are presented in table 3.4. The altitude of the receiver was approximately 3200 meters, and the velocity of the aircraft was 130 m/s.

Table 3.4: Calculated values of the correlation time based on Eq. 3.4

Frequency band τcor PRN 138 (el 49 deg) L1 1.9 ms L5 8.2 ms

A study was performed to look at the combination of coherent integration and non-coherent summations. The reflected signal waveforms were generated using a combination of coherent in- tegration and non-coherent summation. Under the assumption that the ocean was quazi-frozen, it was possible to optimize the averaging process in order to find the signal time delay from the strongest peak. Figure 3.20 shows the behavior of different coherent and non-coherent integration times for WAAS L1. Standard deviation of the altitude for straight flight, the first 140 seconds of the segment for PRN 138, was the measure used to optimize the integration time.

Non-coherent averaging of 1 second was found to provide the best standard deviation for both

WAAS L1 and L5. One second averaging with the velocity of the aircraft at 130 m/s corresponds to averaging over a 130 meter long stretch of ocean, thus limiting the spatial resolution.

The optimal combination of coherent and non-coherent integration time that produced the lowest altitude standard deviation for L1 was found to be 4 ms coherent integration with 250 non- coherent sums, totaling the averaging time to 1 second. This is slightly different from the theoretical calculation that stipulates that the coherent integration time should be less than 1.9 ms for the aircraft altitude, velocity and elevation of the WAAS satellite. For the L5 signal the optimization was different, showing improvement at 10 ms coherent integration and 100 non-coherent summations in Figure 3.21. Compared to the theoretical value of 8.2 ms this experimental value is closer. It should be noted, however, that coherent integration time greater than the correlation time causes 63 the trailing edge of the waveform to lose sensitivity to the wind speed [90], not necessarily altitude.

Figure 3.20: Several different combinations of coherent integration times and non-coherent sum- mations were tested. The optimal coherent integration time for L1 was found to be 4 ms with 250 non-coherent sums.

It is intuitive that the coherent integration time would be longer for the L5 signal compared to the L1 signal since the theoretical expression for the ocean correlation time is inversely proportional to the code chip width.

Reflected waveforms were generated incorporating the optimal coherent integration time and the optimal non-coherent summations for both L1 and L5. Figure 3.22 show the waveforms for both L1 and L5 with 1 ms coherent integration and 1 second averaging as well as the optimized coherent integration for both L1 and L5. The waveforms are individually normalized to their own maximum amplitude.

Equation (2.6) was used to estimate the altitude of the antenna. Three WAAS satellites, PRN

133, 135 and 138 were averaged in order to find the correct altitude and a 5th order polynomial filter was implemented in order to smooth the result, both for the L1 and L5 signals as well as for the 64

Figure 3.21: The optimal coherent integration time for L5 was found to be 10 ms with 100 non- coherent sums.

radar altimeter results which had high noise levels. Despite the polynomial fit, the radar altimeter yielded a large standard deviation of 2.3 meters. The NovAtel result had a standard deviation of 0.8 meters unfiltered, it is likely carrier smoothed inside the receiver. Figure 3.23 shows the

filtered result for L1 with a standard deviation of 1.0 meters, although it has about a 30 meter bias and there is lag in the estimated altitude when the aircraft turns. Figure 3.24 shows the filtered altitude obtained from the reflected waveforms of the L5 signal. The bias is significantly reduced, and the L5 signal shows a much better fit when the aircraft is pitching. The standard deviation of the leveled flight, however, is the same for the filtered L1 as for the filtered L5. Utilizing the full

600 seconds, including the altitude change, the difference between standard deviation of L1 and

L5 is about 2.2 times smaller for L5 than for L1 as shown in Figure 3.25 unfiltered. Filtered the difference is 2.8 times. The largest difference occurs when the airplane changes altitude, at a drop rate of 4.3 m/s. This is most likely is an effect of the wider correlation peak, showing the benefit of using L5 for low altitude altimetry. 65

Reflected Waveform 1 L1 signal: 1/1000 L5 signal 1/1000 0.8 L1 signal: 4/250 L5 signal 10/100 0.6

0.4

0.2 Normalized Amplitude 0 4200 4400 4600 4800 5000 5200 5400 5600 5800 6000 Delay (m) Derivative of Reflected Waveform 1 L1 signal: 1/1000 L5 signal 1/1000 L1 signal: 4/250 0.5 L5 signal 10/100

0

-0.5 Normalized Amplitude -1 4200 4400 4600 4800 5000 5200 5400 5600 5800 6000 Delay (m)

Figure 3.22: Waveforms and derivatives of waveforms for the 1 ms coherent integration and the optimized coherent integration for both L1 and L5.

3.4 Conclusions on Utilization of Modernized Signals for Bistatic Radar

First an evaluation of the GPS L5 signal power was performed. The assumption based on the specifications was that L5 should have a 3.6 dB higher signal than L1. The receive antenna pattern for L1 and L5 was removed from the GPS data, in order to estimate the Block IIF antenna patterns.

The resulting patterns show a dependence on multipath from surrounding buildings based on where the satellite rises and sets. After removing the signal path loss, the difference between L1 and L5 signal power was estimated to be approximately 2.7-3.1 dB which is lower, but still close to the expected 3.6 dB. The legacy L1 signals are transmitted with higher signal strength than specified so the results are not unexpected.

A second experiment was set up to investigate receive antenna performance for L5. Four different antennas were used for data collections and it was shown that two of the four antennas had 66

Figure 3.23: The results from processing all 3 L1 signals using the optimized integration times and a 5th order polynomial fit to the waveform. It appears that the polynomial fit increased the bias compared to the reference, but overall the noise level decreased, to the same as for L5.

a preference towards L1 for high elevation angles. Civil users should be aware that the additional benefits from using L5 signals might not be obtained due to antenna optimizations towards L1.

Altimetry using reflected GPS WAAS L1 and L5 signals was provided, with focus on the im- provements obtained from L5 due to the higher chipping rate. As expected, the L5 auto-correlation peak is much sharper than for L1. A short segment of data during a test-flight was processed to produce 1 ms waveforms. A study was performed to optimize processing of the 1 ms correlations, where the optimum combination of coherent and non-coherent summations was found to be 4 ms coherent integration and 250 non-coherent summations for L1 and 10 ms coherent integration with

100 non-coherent summations for L5. A 5th order polynomial fit was used to filter the data which for leveled flight provided a standard deviation of 1.0 for both L1 and L5, although L1 had an approximately 30-meter bias and lagged behind when the aircraft pitched, showing the benefit of using L5. The estimated receiver altitude for L5 showed a standard deviation improvement of 2.2 times lower than from L1, using information from two combined satellites. 67

Figure 3.24: The results from processing all 3 L5 signals using the optimized integration times and a 5th order polynomial fit to the waveform. In comparison to the NovAtel truth reference, the standard deviation is very similar. The standard deviation of the radar altimeter was decreased to 2.3 for the first 140 seconds.

Figure 3.25: Above: The L5 altimeter noise, with the truth subtracted from the signal. Below: The L1 altimeter noise. The standard deviation measurements are of the entire data set. It is clearly seen that the L1 altimeter does not perform as well as the L5 altimeter. The largest deviation from the truth is located when the airplane pitches. Chapter 4

SUCCESSIVE INTERFERENCE CANCELLATION

As more and more signals and constellations are coming online on the 1575.42 MHz frequency, multiple research efforts have focused on estimating the cross-correlation impact between different constellations and signals using the power spectral density of the signals [27, 92, 93]. It is, however, possible to mitigate the effective noise increase due to cross-correlation using a method called successive interference cancellation (SIC) [94], where the strong signals are removed before the signal of interest is processed.

This work, which was presented in [95] by the author aims to characterize how well signal cancellation can be performed in terms of filtering, and quantization, as well as implementation and analysis of the resulting noise reduction.

SIC was first introduced to mitigate MAI for communication signals utilizing code division multiple access (CDMA) techniques in [96] and [97]. The method was applied to GPS for pseudolite removal in [94]. SIC is the most intuitive signal cancellation method, but it has drawbacks such as requiring to subtract the signals in order strongest to weakest. Parallel interference cancellation

(PIC) was introduced in [98], although SIC has been shown to provide better signal cancella- tion in non-power-controlled channels, PIC can obtain better performance in well-power-controlled channels [99]. A subspace projection method was used in [100] to mitigate GPS cross-correlation from strong GPS signals, and was described to have smaller residual error than the SIC method.

However, the subspace projection method is computationally expensive, and not well suited for hardware applications [101]. The subspace projection method was utilized in [39], in order reduce 69 cross-correlation noise for GPS bistatic radar measurements. Signal cancellation for air target de- tection with GPS bistatic radar was also referenced in [38]. Delayed PIC for GPS cross-correlation mitigation was implemented in [102] to alleviate the need for higher IF bit resolution in SIC. Delayed

PIC was further analyzed later in [101].

This work implements SIC for the performance increase it gives as compared to PIC for non- power-controlled signals [99] and analyses the practical and necessary elements within the radio front-end and the consecutive processing, namely: filtering and quantization, in order to optimize cancellation performance.

4.1 Background

4.1.1 Signal Cancellation

Signal cancellation, and in this particular case, successive interference cancellation as de- scribed in [94], is a technique that removes interfering signals from the received signal. Within the scope of this work the interfering signal is a GPS L1 C/A signal, as is the signal of interest.

The interfering signal parameters consisting of signal power, carrier frequency, carrier phase, code frequency and code phase, are estimated through a traditional tracking algorithm, then combined to reconstruct the interfering signal and subtract it from the input signal. The next section will further describe the impact of cross-correlation between GPS L1 C/A signals. The received GPS signal, at the input of the ADC, can be written as:

√ S(t) = PD(t)x(t)cos(2π(fIF + fD)t + φIF (t)) + η(t), (4.1)

where P is the signal power after amplification stages, x(t) is the pseudo-random noise code,

D(t) is the navigation data bits, the carrier is represented by the cosine at the intermediate fre- quency fIF with Doppler fD and phase φIF (t). η(t) is the noise. As these parameters are estimated in tracking, they are also canceled as given in Eq. (4.2)

p ˆ S(t) − PˆDˆ(t)ˆx(t)ej(2πfcarrt), (4.2) 70 where fˆcarr is the estimate of the carrier frequency in tracking, Dˆ(t) is the estimate of the data bits xˆ(t) is the estimate of the code and Pˆ is the estimate of the carrier power in tracking. Depending on the level of quantization, sampling and filtering, signal conditioning can significantly affect how precise signal parameters can be estimated in tracking.

For this research effort post-processing has been performed, where each signal has been canceled for the entire data set. This means that data bits can be estimated in the tracking algorithm and a list of the signal powers have been established.

4.1.2 Cross-Correlation in the GPS L1 C/A Signal

The pseudo-random noise (PRN) codes chosen for GPS L1 C/A have auto-correlation prop- erties with a nominal 23.9 dB cross-correlation isolation between two different GPS L1 C/A signals of equal power. [103] showed that the cross-correlation isolation could decrease to 19.2 dB for 1 ms tracking. Even with the cross-correlation isolation of the PRN codes, other L1 C/A signals do have a negative impact on the overall carrier to noise density ratio (C/N0) of any tracked signal.

This impact can be estimated through the spectral separation coefficient (SSC) as shown in [92] and [27]. The spectral separation coefficient describes how much interfering signal will influence the C/N0 of the signal of interest and can be calculated using the power spectral density of the signal of interest and of the interfering signal. When the interference due to other signals in the same frequency band is taken into account, the effective C/N0, measured in tracking, following the description in [27] becomes: Cη2 (C/N ) = , (4.3) 0 eff PK N0η + k=1 κkIk where κk is the spectral separation coefficient for signal k, Ik is the associated power in linear terms of that same signal, η is the fraction of signal passed through a pre-correlation filter, C is the carrier power and N0 is the noise power.

The spectral separation coefficient can be found following the outline in [92] combined 71 with [27] as: βRX Z 2 κ = ΦI ΦSdf. (4.4) βRX − 2

Where ΦI is the normalized power spectral density of the interfering signal and ΦS is the normalized power spectral density of the signal of interest. βRX is the received bandwidth. The power spectral density of a signal with BPSK modulation is defined as[27]:

2 1 sinc (πf/fc) ΦS = , (4.5) fc ΦTX normalized to the transmitted signal described as

Z βTX 1 2 2 ΦTX = sinc (πf/fc)df, (4.6) fc βTX − 2 which is the power spectral density of the transmitted GPS signal with transmit bandwidth βTX , fc = 1023000 Hz is the chipping rate of the GPS L1 C/A signal. The same calculations are carried out for the interfering signal: 2 1 sinc (πf/fc) ΦI = . (4.7) fc ΦTX

βTX All together, and utilizing the transmitted bandwidth as one-sided 2 = 15.345 MHz [27] with

βRX one-sided receive bandwidth 2 = 10 MHz the spectral separation coefficient becomes:

κ = 10log10 ·

β Z RX 2 2 ! (4.8) 1 2 sinc (πf/fc) sinc (πf/fc) 2 df , (fc) βRX ΦTX ΦTX − 2 which evaluates to

−61.8 dB/Hz−1. (4.9)

In this case, the SSC have been calculated without taking change in Doppler or code phase into account, in comparison to [93] which shows that the estimated value of the SSC varies with the relative Doppler between the interfering and the desired signal.

A GPS signal simulator was implemented in MATLAB, in order to do some statistical testing of the cross-correlation impact between GPS signals. The simulator was used to generate signals for 72

PRN 1 and 6, with varying Doppler offsets and code phase offsets. A Smolyak grid [104] was chosen for statistical analysis since it requires less data points than a traditional Monte Carlo simulation.

The results of the simulation is shown in Figure 4.1. In total 1573 simulations were performed, and the results show a dependence on Doppler offset between the two signals. It is worth to note that this plot only shows the cross-correlation for two PRNs with set signal power to 55 and 45 dB-Hz respectively. This simulation confirms the notion that cross-correlation is most impactful at multiples of 1 kHz [100], for a 1 ms coherent integration.

Figure 4.1: MATLAB simulation of Doppler and code offset impact.

4.1.3 Filtering

Filtering is used in GNSS receivers both to remove interference as well as for reducing band- width, often in several stages in the front-end. Different filters in the front-end have different requirements. The filter before the low noise amplifier (LNA) is called a pre-filter, and requires 73 low insertion loss. It is generalized in [27] that the lowest sampling rate is determined by the stopband of anti-aliasing filters. Betz [27] also describes all filters in the chain with a model of the transfer function product called the pre-correlation filter. In MATLAB simulations in this work, the filters generated act as a pre-correlation filter, since no front-end actually exists. For live data and simulated data collected with a front-end, the exact parameters of the filter are not known, but as discussed in [27] stopband suppression through anti-aliasing filters ensures that aliasing due to frequencies past the Nyquist rate are acceptably low [27].

For GPS L1 C/A code signals roughly 90 percent of the signal power is found in the main lobe of the spreading code, thus only requiring 2 MHz bandwidth to acquire and track the signal.

Figure 4.2 shows a typical signal conditioning and processing chain.

Figure 4.2: A block diagram of a GPS front-end feeding to signal processing.

4.1.4 Quantization

It is widely known that the quantization level of the ADC in a GPS receiver chain has an impact on the overall C/N0 estimate. Table 4.1 shows the minimum quantization loss as given in [105]. As mentioned by [106] and [107] quantization as well as sampling and pre-correlation bandwidth influence the overall loss. The impact of filter bandwidth, sampling frequency and quantization levels was presented in [108] and showed that the degradation due to quantization 74

Table 4.1: Analog quantization loss, LN1 , [105].

Number of bits Minimum quantization loss (dB) 1 -1.961 2 -0.549 3 -0.166 4 -0.05

noise was coupled with the bandwidth.

Many GNSS receivers contain an Automatic Gain Control (AGC) that adjusts the gain

Ag such that the IF signal can be properly represented with analog quantization. Figure 4.3 illustrates how the AGC works. Assuming that the input IF signal can be represented as a Gaussian

T/k distribution there is an optimization parameter k such that Ag = , where T is the analog σIF quantization threshold, k is a scaling parameter to optimize the data to represent a Gaussian distribution and σIF is the standard deviation of the signal at the intermediate frequency. QADC (·) is the analog quantization.

Figure 4.3: Illustration of AGC, adapted from [109].

When considering successive interference cancellation, all these factors: signal power and number of signals in the band, filtering and quantization, play a role in how well cancellation can be performed. The following section will analyze the influence in more detail. 75

4.2 Detailed Analysis of Factors Influencing Signal Cancellation

4.2.1 Signal Strength and Number of Satellites

With more and stronger signals in the GPS L1 C/A band, the noise increases as discussed in the introduction, albeit the question is how much and what effect the noise has. For example, with

10 strong signals in the same band, how large would the degradation due to cross-correlation be?

Three different data sets were collected utilizing a Spirent STR4500 GPS simulator. The first data set had only one enabled signal, PRN 16 at a mean C/N0 of 53.2 dB-Hz which was used to create a baseline. The second data set included PRN 16, and also PRN 22, both set to 53.2 dB-Hz.

As the cross-correlation impact between the two signals was of interest the resulting C/N0 of PRN

16 was measured and found to be 52.6 dB-Hz, a cross-correlation degradation that corresponded to what was calculated using the spectral separation coefficient. The third data set was collected with 10 signals all at 53.2 dB-Hz, the measured C/N0 of PRN 16 was found to be 49.7 dB-Hz with all the other signals in the same data set. The data set was recorded using a NT1065 front-end

[110] at 53 MHz sampling frequency, 2 bits quantization and band-pass sampling. Figure 4.4 shows the result of this test with a stationary scenario.

The mean C/N0 value of PRN 16 was used as a baseline for both signal of interest and interferers to calculate the expected degradation as a single point and plotted over the entire interval for comparison. From Figure 4.4 it can be seen that the mean of the measured degradation due to other GPS L1 C/A signals has good agreement with the expected degradation from Eq. (4.3). It is also interesting to note that the standard deviation of the C/N0 increases with increasing number of interferers, as is expected when tracking performance is decreased. This plot was generated through tracking PRN 16 for all three data sets, using 1 ms coherent integration. The variance summation method (VSM) described in [111] was used to measure the C/N0 levels. C/N0 was chosen to represent the impact since both DLL and PLL errors are related to C/N0.

It is clear that despite the cross-correlation protection from the PRN codes, there is ap- proximately 3 dB degradation on C/N0 due to the other 9 signals for the case where 10 signals 76

Figure 4.4: Simulation showing the impact of other GPS signals in the same band. Note that the power levels of the signals were set to be identical.

are received. This simulation shows that cross-correlation noise from strong signals can have a significantly detrimental effect on C/N0 and hence tracking performance.

4.2.2 Analysis of the Effect of Filtering on Signal Cancellation

Filtering first and foremost impacts the C/N0 of a signal through reducing the bandwidth to encompass only a segment of the full spreading code. Further sections of this chapter assume the bandwidth to be one-sided 15.35 MHz [27]. Equation 4.10 represents the GPS L1 C/A power spectral density as a sinc2 envelope. It is shown in Figure 4.7 that approximately 90 percent of the signal is retrieved using a 2 MHz filter.

βRX R 2 sinc2(f)df S − βRX RX = 2 , (4.10) S βTX TX R 2 sinc2(f)df βTX − 2 77

As mentioned in [27], the stopband sets the limit for the minimum sampling rate, which is then twice the one-sided stopband frequency. Oversampling as discussed in this work is defined as sampling the signal at a higher sampling rate than Nyquist, which introduces a residual effect due to correlation with a non-filtered code. To illustrate the residual signal effect, a baseband simulation was set up through development of a MATLAB GPS L1 C/A simulator. For this simulation a 20

MHz sampling frequency was used along with an intermediate frequency of 20 kHz. Complex samples were generated, with constant Doppler. Figure 4.5 shows the pre- and post-cancellation spectrum where a GPS L1 C/A signal has been simulated at IF with a high sampling frequency and

filtered using a low-pass filter. The lower subplot shows the residual signal after signal cancellation performed with an unfiltered replica. As can be seen in the lower plot in Figure 4.5 the residual signal has the characteristic C/A code spectrum where previously there was only noise. The flat top of the main lobe is the residual noise level of the signal which was canceled. Therefore it can be concluded that canceling an oversampled signal introduces a residual signal.

As mentioned in [112], the replica can also be filtered, but that is a complex high resolution process not included in the scope of this work. This section discusses the impact of the residual signal on cancellation.

Since signal cancellation aims to remove added noise due to signals other than the signal of interest, this residual signal is of interest since cancellation is supposed to remove noise and not add to it. The residual signal is shown in Figure 4.6.

The percentage of transmitted signal which is received at a specific bandwidth can be ex- pressed as in Eq. (4.10), which gives that the residual signal can be represented as

βRX R 2 sinc2(f)df S − βRX Res = 1 − 2 , (4.11) S βSF SF R 2 sinc2(f)df βSF − 2 where βSF is the bandwidth due to the sampling frequency as compared to the bandwidth of the passband in the pre-correlation filter βRX .

Figure 4.7 shows the percentage of received signal relative to the transmitted signal for both 78

Figure 4.5: Spectrum of the filtered signal and its residual after signal cancellation has been per- formed with a non-filtered replica.

the filtered signal and its residual as function of the double sided bandwidth. Therefore it can be concluded that between 0-4 MHz, the percentage of residual is high, but decreases as the bandwidth increases. The next section will describe the impact of the residual signal on a signal of interest.

Figure 4.8 shows the residual signal from Figure 4.7 scaled to a specific carrier power. As is seen in Figure 4.8 C/N0 of the residual signal is high when filtering a strong input signal with low bandwidths. This residual signal will contribute non-white noise to the signals of interest that will degrade cancellation performance as will be shown in the next section.

Theoretical calculations from Eq. (4.11) provide an estimate of the expected C/N0 of the residual signal which should be measurable. Given the distortion in the residual signal, open loop tracking was directly performed given knowledge of code phase and carrier frequency. This provided a means to detect the residual signal power. The resulting C/N0 of the residual signal is shown in 79

C/A-code Filtered C/A-code Residual

Figure 4.6: Filters introduce a residual signal in accordance with the filter bandwidth used. The rectangular pulse illustrates the PRN code. 4 MHz bandwidth was used to produce the filtered version of the code.

Figure 4.7: Theoretical calculation of the percentage of residual signal. 80

Figure 4.8: Theoretical residual of filtered signal with different carrier power.

Figure 4.9.

There is a 3 dB difference between the measured C/N0 and the theoretical estimation of the residual signal strength, caused by correlating over only one of the two peaks shown in the auto- correlation between the residual signal after cancellation and the regular C/A code in Figure 4.10.

Disregarding the 3 dB difference, it can be seen that the residual signal due to cancellation with an unfiltered replica can be strong for low bandwidths, with the conclusion that larger bandwidths are required to reduce the residual impact.

As seen in Figure 4.10 the peak location changes with increasing filter bandwidths. As the

filter bandwidth increases, the peak locations move closer to zero and reduce in magnitude. An effect of the decrease in peak location is that as the filtering bandwidth increases the sampling frequency required to estimate the peak also needs to increase. For example: if the peak is located at 0.2 chips, it would be necessary to have a sampling frequency of at least 5 MHz to avoid roll off since the C/N0 is obtained using correlation and not traditional tracking. Figure 4.9 was generated using 100 Msps sampling frequency. 81

Figure 4.9: Theoretical calculation of residual signal C/N0 vs measured residual signal C/N0 through correlation.

The premise of this work was to investigate how well signal cancellation can be implemented, specifically if signal conditioning as well as practical implementations are taken into account. It has been shown that due to filtering there will exist a residual signal, unless the code replica used for cancellation is also filtered in the same way as the input signal as mentioned in [112]. The amount of residual signal has been quantified based on the passband of the filter and the sampling frequency as shown in Figure 4.9. The important question is the following: since the residual signal exists and can be shown to follow the theoretical description, how would that residual signal impact a weaker signal in the same band?

4.2.3 Analysis of the Residual Signal Effect

In the presence of a strong residual signal, it is important to consider any cross-correlation between this residual signal after signal cancellation and other PRN codes. Figure 4.11 shows the 82

X: 0.25 Y: 3.663

X: 0.15 Y: 2.025

X: 0.1 Y: 1.378

Figure 4.10: Correlation between the residual PRN 1 signal after cancellation with PRN 1 code. Note that the distance between the peaks decrease with increased filter bandwidths.

cross-correlation between PRN 1 and PRN 3 as well as cross-correlation with the residual signal of

PRN 1 and PRN 3, along with an auto-correlation of PRN 1 for reference. The cross-correlation with the replica has a different shape than cross-correlation between regular C/A codes. The correlations have been normalized to compare the shapes, but the impact of the cross-correlation will be dependent on the original signal power of the interfering signal.

A baseband simulation with two signals, PRN 19 at 65 dB-Hz and PRN 28 at 45 dB-Hz, was generated at 20 MHz sampling frequency to find out if there was any impact on a weaker signal

(in this case 45 dB-Hz) caused by the post cancellation residual of a stronger (65 dB-Hz) signal.

The simulated data was filtered with different bandwidths to investigate any impact of the residual signal on the weak signal of interest. Figure 4.12 shows the C/N0 before and after cancellation, and it can be seen that at this power level of the residual signal the impact is minimal. There is a small loss at low bandwidths, caused by the filter not fully covering the entire envelope. For 83

Figure 4.11: a) Autocorrelation for PRN1, b) Cross-correlation between PRN1 and residual PRN 1 c) Cross-correlation between PRN 1 and PRN 3 d) Cross-correlation between residual PRN 1 and PRN 3.

comparison the weak signal was simulated without the strong signal and the same loss appears at low bandwidths. However, if the signal strength of the interfering signal was increased to 75 dB-Hz, the residual signal became strong enough to have a slightly greater impact on the 45 dB-Hz signal tracking as can be seen in Table 4.2. Note that the reduction of C/N0 is considered from 45 dB-Hz, the loss due to the filter is thereby included in that calculation.

Applying signal cancellation to a filtered input signal results in a residual signal with relatively strong signal power for low bandwidth filters. The residual signal shows a double cross-correlation peak with the regular PRN code, where the peak locations with respect to the originally tracked signal decreases with increasing bandwidths. The residual signal may still show up in acquisition, but does not appear to influence weaker signals until signal levels of 75 dB-Hz are reached, and in combination with low bandwidths. The next section describes a detailed analysis of the impact of 84 Table 4.2: Bandwidth requirements.

2-sided Bandwidth Theoretical residual Theoretical residual Reduction in C/N0 on signal if original signal signal if original signal a signal of 45 dB-Hz is 65 dB-Hz is 75 dB-Hz with a residual from a strong 75 dB-Hz signal 2 MHz 55.1 dB-Hz 65.1 dB-Hz 1.47 dB 4 MHz 51.4 dB-Hz 61.4 dB-Hz 0.79 dB 6 MHz 49.0 dB-Hz 59.0 dB-Hz 0.24 dB 8 MHz 47.0 dB-Hz 57.0 dB-Hz 0.36 dB 10 MHz 45.3 dB-Hz 53.3 dB-Hz 0.11 dB

Figure 4.12: Residual signal impact on a 45 dB-Hz signal for different original power levels.

quantization on signal cancellation.

4.3 Analysis of the Effect of Processing Resolution on Signal Cancellation

Processing resolution as considered in this work is the resolution used to store the processed data after cancellation, thereby it consists of 3 parts: the analog quantization, described by N1 number of bits, the quantization of the canceled signal, N2, in bits and the operation performed to 85 cancel N3, which in this case is a subtraction as shown in Eq. (4.12). The analog quantization is multiplied with B to map N1 to the N2 resolution.

N3 = N1B − N2 = N1B + 1. (4.12)

In order to investigate the performance of signal cancellation due to processing resolution, a metric called cancellation efficiency is introduced in this chapter. The following calculations assume that a large enough filter bandwidth is used such that the residual signal due to filtering is negligible.

Assuming that the GPS L1 C/A input signal SIF (at the IF frequency, before quantization) can be represented by

SIF = A1x1 + A2x2 + A3x3 + η, (4.13) where A stands for signal power, x is the signal (carrier, code and data bits), and η is the thermal noise. Index 1 denotes the signal of interest, index 2 is the strongest interfering signal and index 3 all other signals combined.

Losses due to quantization are applied in two stages. After analog quantization the signal

0 power of the interfering signal A2 (which is also a C/A signal) is adjusted to A2 following [106] where Ag is the AGC gain:

0 A2 = A2Ag. (4.14)

T is the maximum quantization threshold calculated as 2N1 −1, if ∆ = 2 and as 2N1−1 −1 if ∆ = 1.

∆ is the interval between quantization levels. Second, the loss due to analog quantization (LN1 ,

0 00 as defined in Table 4.1) is calculated based on the scaled amplitude A2. A2 is the amplitude after scaling and analog quantization and is calculated as

00 0 LN /10 A2 = A210 1 . (4.15)

The expansion of the original quantization N1 to quantization of the cancellation replica N2, provided that N1 is less than N2, is performed using the maximum quantization threshold T and 86 a scaling factor B as follows in Eq. (4.16). b·c is the floor operation.

2N2  B = . (4.16) 2T

00 If N1 ≥ N2, then B = 1 since no expansion is necessary. As A2 is to be canceled, it is of interest to estimate the cancellation efficiency due to quantizing both the analog signal and the replica. As the interfering signal is tracked, it is represented as a deterministic complex sine wave.

Figure 4.13 illustrates the quantization of the cancellation replica. Note that these estimations deal with complex signals, therefore the intermediate frequency is close to baseband. For this case the intermediate frequency was 20 kHz which is why the carrier phase shifts are visible. When the IF is higher than twice the PRN code bandwidth, there are usually multiple carrier cycles in one code chip.

Figure 4.13: Illustration of processing resolution, and of the estimated residual. The figure shows 00 the scaled analog quantized signal in tracking A2sin(2πfIF t), the internally quantized version, 00 Q (A2sin(2πfIF t)) where Q(·) represent the internal quantization, and the difference between the two R(n), which is the quantization noise. N1 = 4 ,T = 7, B = 2, N2 = 5.

As it is not practical to have a very high number of bits for quantization in the receiver, processing resolution is limited internally such that the cancellation replica is quantized to N2 bits.

00 The amplitude of the interfering signal A2 can be calculated using Eq. (4.15), then the residual signal is equal to the quantization noise which can be calculated following the outline in [113]

00 00 R(n) = A2sin(2πfIF t) − Q(A2sin(2πfIF t)). (4.17) 87

Only the case where the number of quantization bits N2 of the cancellation replica is greater or equal to the number of analog quantization bits N1 is explored, as it is not practical to have less internal resolution than analog resolution.

Two cases of quantization Q are utilized based on whether the number of quantization bits

N2 of the cancellation replica, is less than 2 bits, or not. Firstly if N2 ≤ 2 the signal is quantized according to a set threshold T , and a quantization interval ∆ based on [106]:

00 Q(A2sin(2πfIF t)),N2 ≤ 2. (4.18)

Second, the quantization interval ∆ is 2 for N1|N2 = 1, N1|N2 = 2 and 1 elsewhere. When N2 > 2 the quantization is performed through rounding b·e after multiplying the analog quantized signal by a scale factor B, with ∆ = 1:

00 Q = bBA2sin(2πfIF t)e,N2 > 2. (4.19)

For ease of the reader the scaled signal before analog quantization is represented as:

Z TC 0 α = BA2sin(2πfIF t)dt, (4.20) 0 where TC is the integration time, which for this case was set to 1 ms. What should be canceled after analog quantization is defined as:

Z TC 00 β = BA2sin(2πfIF t)dt, (4.21) 0 and the signal after analog quantization, and internal quantization is:

Z TC 00 γ = Q(BA2sin(2πfIF t))dt. (4.22) 0

Inside the tracking algorithm, the resolution of the replica used for cancellation will cause a discrep- ancy between what should be canceled and what is canceled. Depending on the signal power and the quantization scheme cancellation would be performed well, or poor. Therefore the discriminator

 is defined as the fraction of signal that is removed compared to what should be removed

γ  = . (4.23) β 88

If for example the processing resolution is such that it subtracts more signal than it should,  will be greater than 1. In that case, the cancellation efficiency is calculated based on how much extra it removed which is 2β − γ. If  is greater than 2, it is considered only adding signal, and the cancellation efficiency becomes negative. The overall cancellation efficiency is defined as follows:

   γ/α 0 <  ≤ 1 Ceff = (4.24)  (2β − γ)/α  > 1. The following section will analyze how well the interfering signal is canceled using the can- cellation efficiency metric.

4.3.1 Simulation Analysis of Cancellation Efficiency

The following part of this section discusses the cancellation efficiency metric for different values of N1 and N2. A2 which represents the interfering signal amplitude was varied between 1 and 80 dB-Hz while A1 was held constant at 45 dB-Hz, for a specific sampling frequency and noise level. Only two signals were simulated. Cancellation efficiency was evaluated at 10% saturation, meaning that saturation was said to occur if any oscillation in cancellation efficiency was 10% or less for 5 consecutive values of interfering signal C/N0. Figure 4.14 shows the simulation for four different cases (N1 = 2, N2 = 5), (N1 = 2, N2 = 8), (N1 = 4, N2 = 5) and (N1 = 4,

N2 = 8). Because N2 is higher than N1 there is no cancellation below a certain C/N0 threshold, this threshold is marked with thick solid lines. The C/N0 where the cancellation efficiency saturates is marked with thick dashed lines. As can be seen in Figure 4.14 there is still some oscillation after saturation, caused by the different signal levels having an influence on the cancellation efficiency.

The N1 level governs the saturated efficiency level and N2 influences the range of signal levels that can be canceled.

This simulation has been expanded for different values of N1 and N2 in Figure 4.15, but only considering the cases where N2 ≥ N1. The analog quantization, was varied between 1 and 8 bits and N2, the quantization of the cancellation replica, was varied between 1 and 8 bits. Cases where 89

1

0.9

0.8 Depends on N1 0.7

0.6

0.5

0.4

0.3 Depends on N2 0.2

0.1

0 0 10 20 30 40 50 60 70 80

Figure 4.14: The cases (N1 = 2, N2 = 5), (N1 = 2, N2 = 8), (N1 = 4, N2 = 5) and (N1 = 4, N2 = 8) are illustrated. 10% saturation in cancellation efficiency is shown with dashed thick lines, no cancellation is shown in solid thick lines. Some oscillation still occur due to the saturation limit which might show a slightly different cancellation efficiency than expected. The N1 level governs the saturated efficiency level and N2 influences the range of signal levels that can be canceled.

saturation was not reached are displayed as white space. The C/N0 where saturation occurred, i.e. the dashed lines in Figure 4.14 was also expanded to cover the ranges of N1 and N2, which is shown in Figure 4.16.

As can be seen in Figure 4.16 the saturation point of the cancellation efficiency decreases with increasing N2, which leads to another important point: at C/N0 lower than the saturation point, the efficiency decreases and there is a lower limit where no cancellation occurs as illustrated in Figure 4.17.

If N2 = 1|N2 = 2 then negative cancellation occurs rather than no cancellation below a threshold. For cases where N2 > 2 no cancellation occurs below a certain threshold due to rounding.

The threshold where no cancellation occurs can be calculated theoretically and is based on the scaling factor B, the standard deviation of the noise at the intermediate frequency (which also 90

8 0.95

7 0.9

6 0.85

0.96 5 0.8

0.96

0.97 0.96 4 0.75 0.96 0.97 0.94 0.93 0.91 0.94 0.93 0.7 3 0.91 0.89 0.880.89 0.88 0.860.85 0.830.82 0.8 0.79 0.86 0.65 0.77 0.85 2 0.740.75 0.830.82 0.790.8 0.710.72 0.77 0.750.74 0.680.69 0.720.71 0.66 0.680.69 0.65 0.650.66 0.63 0.63 0.6 1 0.62 0.620.6 1 2 3 4 5 6 7 8

Figure 4.15: Cancellation efficiency as a function of N1 and N2. The dark colors represent very low maximum cancellation efficiency and the light colors represent higher maximum cancellation efficiency.

includes the signals) after analog quantization, σIF and the sampling frequency fs. It is found that rounding to an integer inside the tracking algorithm will set a minimum signal power threshold for cancellation, a dynamic range restriction. It means that any signal below that threshold, at the specified sampling frequency and noise level, will not be canceled at all since rounding a value less than 0.5 would mean no signal energy would be removed. The equation for C/N0 is found in [114]: √  ( 2 0.5)2  2 C/N0threshold = 10log10  2  . (4.25) (σIF B) fs

Based on Figure 4.15, two cases were further developed: N1 = 2 and N1 = 4 while N2 was varied between N1 and 8 bits. Table 4.3 describes the saturation levels in more detail for N1 = 2.

At 10% saturation some oscillation still occurs which is why the cancellation efficiency does not completely display the loss due to analog quantization, as depicted in Figure 4.14. It is important to note that if utilizing 2 bit analog quantization, at least 8 bit quantization should be used to 91

8

7 45.7 60

48.1

50.5 43.4 6 52.8

55.2

57.5

59.9 5 62.3 55

45.7

64.6 4 48.1

52.8 62.3 50.5 50

55.2

62.3 64.6 59.9 3 57.5 57.5 59.9 43.4 45.7 55.2 52.8 48.1 50.5 45 2 45.7 52.8 48.1 50.5 55.2 57.5 59.9 52.8 62.3 1 1 2 3 4 5 6 7 8

Figure 4.16: C/N0 levels in dB-Hz corresponding to the cancellation efficiency saturation point.

Table 4.3: Expanded case for N1 = 2. Note that these values are true for a specific sampling frequency, noise level and only for signal of interest of 45 dB-Hz and interfering signal of 65 dB-Hz.

N1 N2 Calc. Ceff at Calc. C/N0 Calc. C/N0 C/N0(dB-Hz) 10% sat. (dB-Hz) at (dB-Hz) no/neg. can- 10% no/neg. cel Eq:4.25 sat. cancel 2 2 No sat. No sat. 62 - 2 3 No sat. No sat. 59 58.4 2 4 No sat. No sat. 52 52.4 2 5 0.76 51 44 44.4 2 6 0.76 45 38 38.4 2 7 0.86 47 32 31.9 2 8 0.85 41 26 25.9

represent the cancellation replica, such that any signals stronger than 41 dB-Hz should be canceled with 85% efficiency. Signals between 41 and 26 dB-Hz would be canceled with a lower efficiency.

Signals below 26 dB-Hz would not be canceled at all. Table 4.3 column 6 shows the threshold values for 3 to 8 bits tailored to the previous example calculated using Eq. (4.25). These thresholds 92

8 75

30.9 70 7 65

35.8 6 60

40.7 55

5 45.6 30.9 50.5 50 4 35.8 45

55.5 3 40 40.7 60.4 45.6

30.9 35 2 50.5 35.8 65.3 60.4 55.5 40.7 70.2 45.6 30 75.1 50.5 1 1 2 3 4 5 6 7 8

Figure 4.17: C/N0 where no signal cancellation, or adding to the signal energy occurs. Cancellation efficiency is defined as 0 if nothing is canceled, and as negative if signal is added instead of canceled.

Table 4.4: Expanded case for N1 = 4 Note that these values are true for a specific sampling frequency, noise level and only for signal of interest of 45 dB-Hz and interfering signal of 65 dB-Hz.

N1 N2 Ceff at 10% sat. C/N0 (dB-Hz) at C/N0 (dB-Hz) 10% no/neg. cancel sat. 4 4 No sat. No sat. 55 4 5 0.95 65 49 4 6 0.99 60 43 4 7 0.96 49 36 4 8 0.96 43 30

will change with sampling frequency and standard deviation of the noise as well as the scaling factor. The theoretical calculation of the threshold for quantization of the cancellation replica closely matches the threshold values where cancellation efficiency is 0.

Table 4.4 describes the same discussion for the case of 4 bit analog quantization. If 4 bits were used in analog quantization, at least 8 bits should be used to quantize the cancellation replica 93 such that 96% cancellation efficiency is obtained for signals above 43 dB-Hz. Since 10% satura- tion is used, oscillation still occurs, which is why the cancellation efficiency appears greater for combinations of N1 = 4 and N2 = 6 than for N1 = 4 and N2 = 8.

4.3.2 Simulation for Comparison of Theoretical Calculations

A MATLAB GPS L1 C/A simulation was performed to verify the performance of the the- oretical calculation. The simulated case was set up with the signal of interest at 45 dB-Hz and the interfering signal at 65 dB-Hz, testing both cases with N1 = 2 and N1 = 4. The cancellation efficiency was calculated inside the cancellation function and has good agreement with the theo- retical calculations. As discussed earlier in this section, the processing resolution is the resolution

1

0.9

0.8

0.7

0.6

0.5

0.4 2 3 4 5 6 7 8

Figure 4.18: Cancellation efficiency for signal of interest of 45 dB-Hz and interfering signal of 65 dB-Hz, for theoretical calculation as well as simulated GPS L1 C/A signals. This figure shows cases where N2 ≥ N1.

after the quantized cancellation replica has been subtracted which means that the total processing 94 resolution N3 is one bit more than the quantization level for the cancellation replica:

N3 = N1B − N2 = N1B + 1. (4.26)

For 2 bit analog quantization with 8 bit quantization of the cancellation replica the processing resolution would amount to 9 bits.

4.3.3 Cancellation of Multiple Signals

Previous sections have discussed the cancellation efficiency of only one signal. This sections present a brief theoretical basis for extending the cancellation efficiency analysis to canceling mul- tiple signals. It should be noted that the analog quantization N1 governs the loss for all canceled signals despite the higher resolution of the new input signal.

With more signals the description of the input signal becomes:

SIF = A1x1 + A2x2 + A3x3 + A4x4 + η, (4.27)

as SIF is quantized to N1 bits and then scaled with B such that the internal replica signals can be quantized with N2 bits the signal is:

00 00 00 00 00 00 BSIF = BA1x1 + BA2x2 + BA3x3 + BA4x4 + Bη , (4.28) and after cancellation of BA00x , BS00 is represented using N bits 2 2 IFC2 3

BS00 = BA00x + BA00x − Q(BA00x ) + IFC2 1 1 2 2 2 2 (4.29) 00 00 00 +BA3x3 + BA4x4 + Bη .

00 No new scaling is necessary for canceling the second strongest signal A3x3

BS00 = BA00x + BA00x − Q(BA00x ) + IFC3 1 1 2 2 2 2 (4.30) 00 00  00 00 + BA3x3 − Q(BA3x3) + BA4x4 + Bη .

00 The cancellation efficiency of canceling A3x3 can be extrapolated from Eq. (4.24) such that the main loss comes from the analog quantization N1 and the quantization of the replica with the 95

Figure 4.19: Block diagram over canceling more than one signal. 96 Table 4.5: A conservative estimate of how many signals can be canceled without increasing the processing resolution. The case presented is the one of N2 = 8. Strictly speaking the representation of a register of this width should also include -128, but due to symmetry around zero, and the assumed scaling factor the last value has been discounted.

BN1 Levels Processing reso- C/N0 (dB-Hz) N2 Interfering # satellites that lution levels signal levels can be canceled. -127:127 -255:255 40 -2:2 63 -127:127 -255:255 45 -4:4 32 -127:127 -255:255 50 -7:7 18 -127:127 -255:255 55 -13:13 9 -127:127 -255:255 60 -23:23 5 -127:127 -255:255 65 -38:38 3 -127:127 -255:255 70 -60:60 2

possibility of using up to N3 bits impacts the signal power that can be canceled. As such, there is a limit to how many signals can be canceled before processing resolution N3 needs to be increased.

Table 4.5 shows a conservative estimate based on the simulation in the previous section. All signals are generally not at the same power level as in the case presented here, but it should allow the reader to perform the calculations as suited best to their needs.

4.4 Real Data Implementation of Signal Cancellation for Strong Signals

In order to verify the simulated behavior a live signal data set was collected. An experiment was set up on the rooftop of the engineering center of University of Colorado - Boulder. The antenna used was a passive right hand circularly polarized helix antenna QHACP1.2-1.6N10RH, which has approximately 11.5 dBi gain and a 3 dB beamwidth of roughly 30 degrees at the GPS L1 frequency. Raw IF data was collected with a 10 MHz sampling frequency, a 20 kHz intermediate frequency and with complex data represented as 16 bits.

In order to optimize the gain of the antenna it was pointed towards PRN 19, the sky plot at the time of data collection is shown in Figure 4.21. PRN 17 was the second to strongest signal and was treated as the signal of interest. The data was post-processed and PRN 19 was canceled. C/N0 levels of PRN 17 was found to increase as expected when comparing the measured 97

Figure 4.20: The Helix antenna was installed in the rooftop of the engineering center of CU Boulder.

Table 4.6: Collected signals and their respective Doppler and code phase.

PRN IF (Hz) Doppler (Hz) Code phase (samples) 19 19800 -200 7239 17 18500 -1500 1741 24 21100 1100 6915 6 21900 1900 5171 12 23200 3200 7575 28 18200 -1800 9078

C/N0 for PRN 17 before and after PRN 19 was canceled, as is shown in Figure 4.22. Signal cancellation clearly increases the estimated C/N0 of the signal of interest (PRN 17 in this case).

The standard deviation of the estimate has also been significantly reduced. As has been discussed 98

0 330 0 30 15 30 300 60 12; 41 45 60 17; 51 24; 44 75 19; 61 270 90 90 28; 39 6; 45

240 120

210 150 180

Figure 4.21: Sky plot of the data collection. Each PRN is labeled with its PRN number and the mean C/N0 in dB-Hz.

in the previous sections insignificant impact is expected for the following signal conditioning: 10

MHz bandwidth, 2 bit analog quantization and 8 bit representation in cancellation. In order to validate the previous discussions which were mainly based on theoretical calculations and simulated data, the real data set was used. It was quantized to 2 bits representing the levels as [-3 -1 1 3],

PRN 19 was canceled and quantized to 8 bits, utilizing processing resolution of 9 bits total. The result in processing PRN 17 before and after cancellation with limited resolution is also shown in

Figure 4.22. The data set was processed and compared between the full resolution and the hardware configuration. As expected the hardware configuration has slightly lower C/N0, mainly due to the analog quantization. Increasing the C/N0 of the signal of interest in this manner can improve any measurements utilizing this signal, since tracking errors become smaller with the decreased noise.

The impact of cross-correlation on pseudorange calculations have previously been studied 99

56

54

52

50

48

46

44 0 10 20 30 40 50 60

Figure 4.22: The strongest signal in view was PRN 19, and PRN 17 was the second strongest signal in view. As PRN 19 was canceled, PRN 17 increased in power on average 3.36 dB. Also shown is the increase when the input data was quantized to 2 bits and canceled with a processing resolution of 8 bits which had an average increase of 3.28 dB.

for example in [115] where the theoretical result for a 1 chip correlator spacing was simulated to a pseudorange error with standard deviation of 5 meters. For this data set pseudoranges were calculated for PRN 17 and PRN 12 before cancellation of PRN 19 in order to evaluate whether there was a difference compared to when cancellation of the strong interfering signal was performed. Thus the standard deviation of the difference in pseudorange calculations when cancellation of PRN 19 is enabled versus not enabled corresponds approximately to the pesudorange error reported in [115].

Due to cancellation of PRN 19 it is possible to acquire and track two additional satellites that were not acquired earlier, PRN 3 and PRN 28.

Figure 4.24 show the East/North scatter plot of the position calculated when no signals were cancelled, and also when PRN 19 was cancelled. No truth position exists which is why the position with the smallest 50% circular error probable, CEP, was chosen as reference in the figure. The 50% 100

20

10

0

-10 0 10 20 30 40 50 60

20

10

0

-10 0 10 20 30 40 50 60

Figure 4.23: The pseudorange difference between the 2 bit quantized data set without and with cancellation of PRN 19 has a standard deviation of 5.3 meters for PRN 17 and 4.5 for PRN 12.

CEP was less after cancelling PRN 19 than before.

4.5 Conclusions on Successive Interference Cancellation

Cross-correlation due to other signals in the same frequency band increase the overall noise

floor of a signal in tracking. Successive signal cancellation is a very powerful tool that can be used to improve signal tracking characteristics of a signal of interest.

However, signal cancellation is difficult to implement, due to practical digital signal process- ing restrictions and other implementation considerations such as filters and available quantization resources. This work has analyzed the two main components which cause performance reduction in signal cancellation, namely filtering and processing resolution. It was found that filtering intro- duces a residual signal which for low bandwidths reduces the effectiveness of signal cancellation.

The residual signal has a dual peak cross-correlation envelope. Cross-correlation with the residual 101

6

50%4 CEP =4.4m, no cancel

50%2 CEP = 3.3m, cancel PRN 19

0

-2

-4

-6

-8

-10

-10 -5 0 5 10 s

Figure 4.24: North/East scatter plot of position using tracking without cancellation and after cancelling PRN 19.

signal was found to increase the noise level slightly between PRN’s. With signals in the order of 75 dB-Hz, the residual signal becomes so strong that it increases the noise level of a 45 dB-Hz tracked signal with approximately 1 dB.

Processing resolution is used as a description for the combination of analog quantization, quantization of the cancellation replica and the operation used to cancel the interfering signal.

As hardware processing usually entails lower resolution it was investigated how limited processing resolution impacted signal cancellation. A cancellation efficiency metric was developed in order to optimize the analog quantization and processing resolution to obtain high cancellation efficiency.

It was found that 2 bit analog quantization with 8 bit quantization of the cancellation replica

(9 bits of processing resolution) would obtain cancellation efficiency around 85% for interfering signals stronger than 41 dB-Hz. To increase the cancellation efficiency to approximately 96% it is recommended that a combination of 4 bit analog quantization and 9 bit processing resolution is 102 utilized for maximized cancellation performance over a large range of signal strengths.

A real data set was collected at University of Colorado, Boulder, with a high gain helical antenna. This data set was then used to confirm performance of signal cancellation, and was shown to increase the signal of interest with 3.36 dB on average over the data segment through canceling the strongest signal.

The same segment of the real data set was re-quantized down to 2 bits, and then 9 bits of processing resolution was used to compare the resulting improvement of the signal of interest with full resolution. It was seen that the lower resolution retained most of the improvement due to signal cancellation though a small loss primarily due to the analog quantization existed.

The next chapter will focus on utilizing the benefits from vector lock loops for positioning specifically through implementing the equations of motion for a satellite in low Earth orbit. Chapter 5

VECTOR DELAY FREQUENCY LOCK LOOP

As discussed in section 2.2 radio occultation signals can be tracked with a combination of closed and open loop tracking. This chapter introduces a vector delay frequency lock loop as an al- ternative to the traditional closed loop/open loop scalar tracking. Vector tracking utilizes a Kalman

filter to combine the different tracked signals optimally for positioning. Instead of separately track- ing each channel independently and then later operating on the resulting pseudorange errors, the vector tracking combines tracking and positioning into one algorithm through the Kalman filter.

This enables each channel to aid the others, so called inter-channel aiding. It also allows each signal to be tracked at a lower carrier to noise density ratio [116], because the vector tracking does not operate directly on the frequency and code, but indirectly through position and velocity estimates. These state estimates are generated from the VDFLL, which takes all channels as inputs and converts the position and velocity estimates into carrier frequency, code frequency and code phase estimates.

Traditional vector lock loops have been used in dynamic scenarios such as drive tests [117], [118].

This research effort developed a VDFLL, with dynamic models of a LEO satellite. Utilizing the

VDFLL will provide tracking advantages in terms of smoother position and velocity solutions, closed loop tracking to lower C/N0 values and an intuitive switch over to open loop tracking by artificially inflating the measurement noise covariance matrix of the filter at a desired C/N0 or elevation angle.

The chapter is structured as follows: First, an overview of the traditional VDFLL is given, 104 second, an overview of LEO RO receiver position and velocity requirements is provided. Third, the addition of the 2-body dynamic model to the VDFLL is considered and the algorithm validated through the use of a simulated LEO data set. Fourth, a live data set from a Cyclone Global

Navigation Satellite System (CYGNSS) satellite in LEO is utilized to show the performance of the VDFLL and last, open loop processing through the use of the VDFLL is demonstrated and compared to traditional scalar lock loop (SLL) tracking.

5.1 Vector Lock Loop Tracking

Optimal processing of GPS signals in a navigator/tracker algorithm using a Kalman filter was introduced by Copps [119]. A similar technique was later named vector delay lock loop (VDLL), because the signals are processed in parallel as a vector operation, by Spilker [120]. The vector lock loop has been developed further to include vector delay frequency lock loops (VDFLL) to calculate both position and velocity solutions, and later also vector delay phase lock loops [121]. Benson [122] showed tracking improvement in presence of interference when comparing VDLL with Traditional tracking loops. There exist two types of vector tracking specified in [123], position state based and pseudorange state based. The latter was used in Lashley [123] to develop a method for comparison of frequency performances between a traditional FLL and a VDFLL algorithm. Figure 5.1 shows a block diagram of the scalar lock loop operation. The individual tracking loops for each channel provide estimates of pseudoranges and pseudorange-rates that are used with an iterative least squares or a Kalman filter in the navigation engine. For the VDFLL, as illustrated in Figure 5.2 the correlation outputs for each are converted into pseudorange residuals and pseudorange-rate residuals which are used as observations in the EKF to estimate the state of the receiver to provide predicted pseudoranges and pseudorange-rates for the correlation operations. The benefit of the

VDFLL comes from the usage of multiple channels to estimate only the state, instead of each channels individual error [123].

Benefits of vector tracking include lower C/N0 threshold for tracking through inter-channel aiding, better tracking performance, easy re-acquisition in areas which experience signal blockage, 105

Figure 5.1: Block diagram of the scalar lock loop.

Figure 5.2: Block diagram of the vector tracking loop. 106 and lower dynamic errors due to models, as well as a certain insensitivity to track through spoofing and scintillation [124]. As with all things, there are also drawbacks to utilizing vector tracking.

Implementation is complex and has the downside that bad measurements can throw off the state estimates.

Other methods of incorporating Kalman filters into the GNSS tracking algorithm also exist, but are not classified as vector tracking, for example [125, 126] which utilizes the extended Kalman

filter instead of the traditional DLL and PLL, with the states of the filter being the carrier phase and amplitude and code phase of the signal, in comparison to the most common form of vector tracking where states are position, velocity and clock error of the receiver. Kalman filters have been implemented for high orbit dynamics for high Earth orbit (HEO) and LEO orbits in [127], the tra- ditional DLL/PLL is replaced by individual Kalman filters for each channel. Further improvements such as implementing ultra deep GPS/INS to the receiver is presented in [128].

5.2 Traditional VDFLL operation

A VDFLL is an extended Kalman filter (EKF) applied to the tracking algorithm of a GNSS receiver, and combining the navigation algorithm with the tracking algorithm. The filter utilizes a model of the receiver dynamics and receiver clock A to fit measurements y in order to estimate the state of the receiver by calculating the minimum variance estimate. The traditional feedback loop of the DLL and FLL are instead replaced with an EKF that takes the DLL and FLL discriminators as measurements y, calculates the Kalman gain and estimates the state error xˆ. The state error is then used to update the propagated trajectory for the next time update. The propagated state is used to estimate the code frequency, carrier frequency and code phase, which steers the receiver.

The EKF follows [129] and are presented here for ease of the reader. The state of the extended

Kalman filter (EKF) consists of the position, velocity, clock bias and clock drift of the receiver

T X = [x vx y vy z vx tb td] . (5.1)

The following list consists of the different stages that the filter goes through: 107

• Initialize filter

• Perform time update

• Obtain observations

• Integrate reference trajectory

• Compute observation deviations

• Perform measurement update

• Update reference trajectory

The estimation error covariance matrix P is initialized as a diagonal matrix, with values corre- sponding to the state error estimates. Initialization of the a priori state vector consists of receiver position, velocity, clock bias and drift, which can be obtained from a least squares solution or a truth file.

The time update of the EKF is:

T P¯ = Φ(ti, ti−1)Pi−1Φ (ti, ti−1), (5.2)

where Φ(ti, ti−1) is the discrete time state transitioning matrix assuming linear movement between updates:

  1 ∆t 0 0 0 0 0 0        0 1 0 0 0 0 0 0       0 0 1 ∆t 0 0 0 0         0 0 0 1 0 0 0 0    Φ(ti, ti+1) =   . (5.3)    0 0 0 0 1 ∆t 0 0       0 0 0 0 0 1 0 0         0 0 0 0 0 0 1 ∆t      0 0 0 0 0 0 0 1 108

Observations are obtained from generating the code and carrier replicas at the estimated carrier frequencies fcarr, code frequencies fcode and code phases τi. These variables are indirectly calculated based on the estimate of the position, velocity and clock of the receiver along with the position, velocity and clock of each GNSS satellite.

fcarr = IF + (−vLOS· eˆLOS + td)/c ∗ fL1, (5.4)

∂ρ f = f (1 + ), (5.5) code c c∂t and (ρ − ρ )f f τ = τ + i i−1 c + ∆s c , (5.6) i i−1 c sf where eˆLOS is the unit line of sight vector between the GNSS satellite and the receiver, vLOS is the velocity vector between the GNSS satellite and the receiver, IF is the intermediate frequency, fc is the nominal code frequency, ρ is the estimated pseudorange, τ is the code phase, or the reminder of the code phase assuming that the replica always starts at the first code phase, ∆s is the difference in samples over an integration period as compared to the nominal integration time in samples, and sf is the sampling frequency. The remainder of the carrier phase is calculated as in a traditional

DLL/PLL/FLL loop filter code [130]. Reference orbits of the GNSS satellites are calculated at the time of the observation, which is different for each satellite.

Observations y consist of the error in pseudorange and Doppler from the discriminators given in [30] E − L  = , (5.7) ρ 2(E + L) where E and L represent the early and late correlators

q 2 2 E = IE + QE, (5.8)

q 2 2 L = IL + QL. (5.9)

Each observation is linearly interpolated to the solution point, since each satellite is received at a different time. The error measurement in Doppler is calculated using the four quadrant arctangent 109 frequency discriminator [30] AT AN2(dot, cross) fD = , (5.10) (t2 − t1) where

dot = IP1 × IP2 + QP1 × QP2 , (5.11)

cross = IP1 × QP2 − IP2 × QP1 . (5.12)

The observations are then generated as:   c c ρ −f  1 fcode D1 fL1     . .  y =  . .  , (5.13)    c c  ρ −f m fcode Dm fL1 where m is the index of the visible satellites used in the solution. Since the frequency discriminator depend upon two consecutive correlator measurements within the same data bit, it is required that the filter operates every other time update and that it be bit synchronized at the beginning of the

EKF. When the EKF does not compute an error term, the state vector is updated using the force model.

The measurement matrix H contains the measurement model for each satellite s, where R consists of the line of sight distance between GNSS satellite and the receiver

p 2 2 2 R = (x − xs) + (y − ys) + (z − zs) . (5.14)

  (x − xs )/R 0 (y − ys )/R 0 (z − zs )/R 0 1 0  1 1 1       0 (x − xs1 )/R 0 (y − ys1 )/R 0 (z − zs1 )/R 0 1    ......  Hi =  ......        (x − xsm )/R 0 (y − ysm )/R 0 (z − zsm )/R 0 1 0     0 (x − xsm )/R 0 (y − ysm )/R 0 (z − zsm )/R 0 1

The Kalman gain matrix is calculated as follows:

¯ T ¯ T −1 Ki = PiHi (HiPiHi + Ri) , (5.15) 110 where Ri is the measurement noise covariance matrix and will be discussed in the next section.

The state estimation error covariance matrix is updated using the Bucy and Joseph formulation as described in [129] to preserve a symmetric covariance matrix Pi

¯ T T Pi = (I − KiHi)Pi(I − KiHi) + KiRiKi . (5.16)

The state error is estimated

xˆi = Kiyi, (5.17) and applied to the state trajectory

Xi = Xi + xˆi. (5.18)

The reference trajectory is propagated forward in time as

Xi+1 = Xi + ∆tX˙ i (5.19) which is possible since the assumption is that movement is linear between time epochs. Later when implementing this for an orbital case, this reference trajectory needs to be integrated.

5.2.1 Noise Matrices

One of the downsides which may occur in a Kalman filter as the number of observations grows is that the state estimation error covariance matrix P may start to approach zero, and thus render the filter insensitive to new observations [129]. One way of avoiding that is to add some level of process noise to the state propagation.

The process noise covariance matrix Q is defined in [131]. The noise model of position and velocity QPV is based on a white noise model with the spectral amplitude Sp empirically set from estimations of the receiver dynamics. The noise model for the receiver clock QClk is based on the

Allan variance of the clock and includes white noise and phase random walk [131].

 3 2  Sp∆t Sp∆t 3 2 QPV =   (5.20)  2  Sp∆t 2 Sp∆t 111  3 2  Sg∆t Sg∆t Sf ∆t + 3 2 QClk =   (5.21)  2  Sg∆t 2 Sg∆t

The noise spectral densities of the clock Sf and Sg are calculated as:

h S ≈ 0 , (5.22) f 2

2 Sg ≈ 2π h−2. (5.23)

  QPV 0 0 0        0 QPV 0 0  Q =   (5.24)    0 0 Q 0   PV    0 0 0 Qclk

The measurement noise covariance matrix Ri is used to inform the filter of how well the measurements should be trusted. Thus the measurement covariance matrix depend on the variance

2 of the measurement noise Ri = kσi [132]. A moving average with 50 measurement points each was chosen to avoid step functions in calculation of Ri.   2 2 kσρ kσ  1 fD1     . .  Ri =  . .  , (5.25)     kσ2 kσ2 ρm fDm where values of k should be in the order of 1; larger k would make the filter allow larger measurement errors [132]. The corresponding action of adjusting the DLL and FLL bandwidths for the EKF is the ”tuning” of the filter, that is to adjust the Q and R matrices.

5.2.2 Traditional VDFLL Algorithm Verification

As a starting point for VDFLL-LEO development, the traditional VDFLL with linear es- timates of the position and velocity was implemented in a software receiver based on [37]. The implementation was tested using data from a drive test on Boulder Canyon Dr. The same data set was used in [118]. In total 9 satellites were tracked during the drive, although signal blockage 112 resulted in as low as 2 visible satellites at times. Table 5.2 shows the tracked satellites and their acquired Doppler in Hz and code phase in samples.

Table 5.1: Tracked satellites during the Boulder Canyon Dr. drive test.

PRN Doppler (Hz) Code Offest (samples) 22 -4100 1787 24 -6800 1476 18 -5500 1517 14 -3100 2258 6 -6000 1765 27 -6300 590 9 -6200 2122 3 -6100 1714 31 300 706

Figure 5.3: VDFLL post-processing of drive test on Boulder Canyon Dr. Green dots represent the VDFLL positioning points, yellow dots represent IMU data.

Tuning of the process noise parameters and measurement noise parameters were required to optimize performance. The state noise compensation matrix was tuned empirically to h0 =

−19 −20 2 × 10 and h2 = 2 × 10 along with a low spectral density of 0.3 for position and velocity. The measurement matrix was set to 3σ2 of the pseudorange and Doppler errors for each signal.

The position results are shown in Figure 5.3. It can be seen that the VDFLL performs well.

However, the VDFLL lost lock after some time due to a low amount of visible satellites to steer the filter. 113

5.3 Radio Occultation Position and Velocity Requirements

In order for a GPS receiver to properly track a radio occultation signal in open-loop, two components are required, a geometric model and an atmospheric model [63]. This chapter focuses purely on estimating the geometric position and velocity of the occulting satellite in the ECEF coordinate frame, by the means of estimating the position and velocity of the receiver to sufficient degree.

It is noted in [63] that 6-9 satellites are required to provide reliable real-time navigation solutions necessary for the open-loop models. The required model performance is specified to be within delay range of 300 meters, and within a Doppler shift estimate of 10Hz.

Below is an attempt to summarize the information of real-time precise orbit determination

(POD) solution precision for LEO missions that is presented in literature, as well as to summarize different research groups plans and developments. In [133] JPL’s Real-Time GIPSY (RTG) software was uploaded to the SAC-C satellite and tested. The RTG software contains an EGM-96 70 by

70 gravity field, the DTM 94 atmospheric drag model, a solar radiation pressure model, Earth orientation and polar motion models as well as a relativity model. The software interfaces with the BlackJack receiver and obtains dual frequency pseudoranges and carrier phases as well as broadcast ephemerides and then provides its own position and velocity solutions at 30 second intervals. Montenbruck et. al. in [134] tested the performance of the IGOR receiver which is a follow-on from the BlackJack receiver along with two COTS based receivers OEM4-G2 and

PolarRx2, on a simulated LEO scenario for precise orbit determination.

A Kalman filter model including measurements from a number of LEO GPS dual frequency receivers were shown to provide 3D RMS position solutions of 0.4-0.6 m with broadcast ephemerides and up to 15 cm with dedicated orbit and clock products that would need to be uploaded to the satellite [135]. Precise point positioning performance of 6.8 cm 3D RMS with continuous clock and orbit support was shown in [136].

In summary it appears that cm level positioning and mm level velocity solutions should be 114 Table 5.2: Summary of RO receiver navigation solution performance.

Source Receiver Pos. R rms(m) Pos. I rms(m) Pos. C rms(m) Vel. R rms(m/s) Vel. I rms(m/s) Vel. C rms(m/s) BlackJack onboard point-position solution [133] SAC-C 6.14 1.75 2.67 0.136 0.0344 0.0548 RTG onboard solution [133] SAC-C 1.16 0.55 0.91 0.00167 0.00069 0.00076 RTG solution [133] CHAMP 0.18 0.08 0.14 0.00043 0.00024 0.00016 Source Receiver Pos. R (m) Pos. I (m) Pos. C(m) Vel. R (m/s) Vel. I(m/s) Vel. C (m/s) Simulated IGOR +8.4±3.3 +0.4±1.3 -0.0±1.2 +0.09±0.07 +0.00±0.04 -0.00±0.03 LEO with OEM4-G2 -13.9±5.7 +0.1±2.4 +0.1±2.1 -0.06±0.05 -0.01±0.03 -0.00±0.02 ionosphere [134] PolaRx2 0.1 ±1.0 +0.0±0.5 +0.1±0.4 -0.01±0.07 +0.01±0.03 +0.00±0.03

possible on orbit with some level of real-time clock and orbit products. As specified in [63] the performance of the open loop model needs to be within 1 C/A code chip (300 meters) and about

10 Hz to obtain measurements of the bending angles. This implies that as long as the atmospheric model is sufficient, there is some flexibility in the precision orbit determination of the receiver. This can be concluded since the single point positioning of the BlackJack [133] and IGOR [134] receiver performance is in the meter level for positioning and cm/s level for velocity.

In general these higher levels of precision orbit determination originate from Kalman filtering of GNSS pseudoranges and carrier phases, together with different fidelity gravity models, models of solar radiation pressure and drag. Higher level of clock and orbit information may also be used.

This research focuses on developing a vector lock loop with LEO orbit dynamics which can provide precision orbit determination of a LEO GNSS receiver. In addition to POD, open loop tracking comes naturally to a vector lock loop through adaptive tuning of the measurement noise 115 covariance matrix, and an artificial inflation of these values when a hard switch into open loop is desired. If the proper atmospheric models were added to the filter for the open-loop channels radio occultation measurements could be extracted at 100 Hz update frequency.

5.4 VDFLL operation with LEO orbit dynamics

The primary difference between the traditional VDFLL and VDFLL implemented for LEO, is the non-linear dynamic model. This section will focus on implementation of the dynamic model and noise matrices, the general idea follows [129].

The equations of motion for the spacecraft F , are primarily derived from Newton’s solution of the 2-body problem µr p r¨ = − , r = x2 + y2 + z2, (5.26) r3 where it has been assumed that there exists only gravitational forces between the two bodies. The

2-body problem is a simplified version of the actual problem. Only two perturbing forces were used in the model: the J2 term which consists of 95% of the gravitation effects on the Earth due to oblateness of the Earth [129] and atmospheric drag since it is a significant force that acts on the spacecraft. Including these two terms in the equations of motion gives: " # µx R 2 3  z 2  x¨ = − 1 − J Earth 5 − 1 r3 2 r 2 r (5.27) 1 A q   − C ρ e−(r−r0)/H (x ˙ + θy˙ )2 + (y ˙ − θx˙ )2 +z ˙2 x˙ + θy˙ 2 D m 0

" # µy R 2 3  z 2  y¨ = − 1 − J Earth 5 − 1 r3 2 r 2 r (5.28) 1 A q   − C ρ e−(r−r0)/H (x ˙ + θy˙ )2 + (y ˙ − θx˙ )2 +z ˙2 y˙ − θx˙ 2 D m 0

" # µz R 2 3  z 2  z¨ = − 1 − J Earth 5 − 3 r3 2 r 2 r (5.29) 1 A q − C ρ e−(r−r0)/H (x ˙ + θy˙ )2 + (y ˙ − θx˙ )2 +z ˙2 (z ˙) 2 D m 0 116 where REarth is the radius of the Earth, A is the area and m the mass of the spacecraft. H is the scale height applied to an altitude r0 at the pressure ρ0 and θ˙ is the rotation rate of the Earth.

In order to generate the state transition matrix, based on the 2-body dynamic model, the equations were numerically integrated using a Runge-Kutta (4.5) algorithm of the name ode45 in

MATLAB. Before integration the state transition matrix is re-initialized to the identity matrix. At the same time the reference trajectory is also integrated.

∂F (X, t) A(t) = (5.30) ∂X

Φ˙ (t, ti−1) = A(t)Φ(t, ti−1) (5.31)

X˙ = F (X(t), t) (5.32)

The force model F is integrated in the Earth Centered Inertial (ECI) coordinate frame while the GNSS satellite position and velocity is calculated in the Earth Centered Earth Fixed (ECEF) coordinate frame. Because of this the transformation between the reference frames is performed every iteration, and all matrices in the state update are provided in the ECI coordinate frame. The position and velocity are transformed from one frame to the other via the following matrices:

posECI = R3(−θGST )posECEF (5.33) where   cos(x) sin(x) 0       R3 =  −sin(x) cos(x) 0  (5.34)     0 0 1   −y  ECEF    vel = R3(−θ )vel + θ˙   . (5.35) ECI GST ECEF  xECEF      0

The Greenwich mean sidereal time θGST is updated each time epoch so that the coordinate trans- form between ECI and ECEF can be performed. The measurement model H is the same as for a 117 traditional VDFLL which utilizes pseudorange and Doppler frequency, only mapped into the ECI coordinate frame.

Along with changes in the dynamic model, the state noise compensation matrix also require changes

T P¯k+1 = Φ(tk+1, tk)PkΦ (tk+1, tk) + Q. (5.36)

The process noise covariance matrix Q can be split up into two parts which represents the process noise for the position and velocity and the process noise for the clock error

  T Γ(tk+1, tk)QPV Γ (tk+1, tk) 0   Q =   , (5.37) 0 QClk where Γ(tk+1, tk) is the process noise transition matrix for position and velocity   ∆t 0 0      2   (∆t) /2 0 0         0 ∆t  Γ(tk+1, tk) =   , (5.38)    0 (∆t)2/2 0         0 0 ∆t      0 0 (∆t)2/2 and QPV , the position and velocity process noise covariance matrix is diagonal and chosen empir- ically   σ2 0 0  x¨    Q =  2  . (5.39) PV  0 σy¨ 0     2  0 0 σz¨ The state noise compensation for the clock is the same as for the traditional VDFLL specified in the section above.

Figure 5.4 shows the flow of the VDFLL with included orbit dynamics. 118

Figure 5.4: Block diagram for VDFLL.

5.4.0.1 Timing Considerations

One of the most important aspects of a GNSS receiver is timing. Without proper timing, all else falls apart. In a traditional post-processing scalar lock loop each signal can be processed at its code boundary without too much emphasis on the timing. When dealing with a vector tracking loop however, timing becomes increasingly important. Not only because each satellite signal arrives at different times, but because the error estimates of the pseudorange and Doppler are to be applied at different times.

The following list describes the timing aspects:

• The VDFLL solution time was chosen such that the solution was always behind processing

of the data. Each signal lagged behind with a different amount according to the pseudorange

to the satellite and the alignment of the data bits. No channel lagged behind by more than

20 ms.

• Each channel produces a replica of the carrier and of the PRN code which are then multi- 119

plied with the incoming data and integrated over time. This produces discriminator errors

that apply to the average of the integration time epoch. A time history and linear inter-

polation of the discriminator errors were used to produce pseudorange and Doppler errors

at the Kalman filter solution point.

• In order to properly utilize the information in the frequency discriminator, each signal was

processed at its data bit boundary instead of on an arbitrary code boundary. This meant

that the different channels could be up to 20 milliseconds apart from each other when

being processed. When dealing with LEO receivers, 20 milliseconds is a long time during

which the spacecraft may move a significant distance. Hence, after each solution point, the

reference trajectory was propagated to each signals individual processing time, as were the

GNSS satellites.

• The estimate of the code boundary is at the leading edge of the of the code boundary

and integration time. Therefore, the GNSS satellite positions and velocities along with the

reference trajectory was propagated to that specific point for each signal. For the estimates

of the carrier frequency and code frequency, those estimates are calculated as an average of

the integration time, and thus should be propagated to the middle of the integration time

epoch.

Figure 5.5 illustrates this behavior. All of the timing aspects need to be considered in order for the

filter to function.

5.4.1 Algorithm Validation

A simulator data set from an IFEN NCS professional simulator was used to validate the

VDFLL algorithm with the low Earth orbit dynamics. An orbit modeled from the international space station (ISS) at an altitude around 400 km above the Earth surface was simulated, but the simulation did not include any drag or J2, nor did it include any ionosphere errors. Ten GPS L1

C/A code signals were simulated with different signal strengths. Figure 5.6 shows the signals that 120

Figure 5.5: Illustration of time alignment between solution point, satellites and different estima- tions.

were simulated and their signal strengths. The simulator provided 10 Hz receiver truth files in the

ECEF coordinate system, along with receiver independent exchange format (RINEX) navigation

files. The data set was collected using a USRP N210 front-end which was clock synchronized with the simulators 10 MHz clock. The USRP collected data at 4 Msps, with an IF frequency of 20 kHz.

The VDFLL was initialized based on the 10 Hz truth file. Ephemeris information was obtained from the RINEX navigation files provided by the simulator, this because the VDFLL uses the frequency discriminator and thus does not solve for data bits. Process noise position standard deviations were set to 50 m per integration time epoch, and the receiver clock noise parameters

−21 −20 were empirically set to h0 = 1 × 10 , and h2 = 2 × 10 . The state estimation covariance matrix was initialized to position variances of 1 m2 and velocity variances to 0.1 m2/s2, while the measurement noise covariance matrix was initially set high to enable the filter to converge.

The signals were acquired using 10 ms coherent integration and 2 non-coherent summations. 121

Figure 5.6: Data collection from the IFEN NCS simulator with a low Earth orbit simulation.

Due to the velocity of the receiver, the Doppler search space was set to 80 kHz around the nom- inal IF. Tracking was first initialized with 1 ms coherent DLL/PLL. After bit synchronization, the coherent integration time was increased to 10 ms. Since the VDFLL utilizes the frequency discriminator, tracking was first switched to an FLL assisted PLL, and then to a pure FLL. The

VDFLL was started once the FLL had settled. The process and its tracking stages is illustrated in

Table 5.3.

Table 5.3: Processing stages.

Stage Coherent integration time (ms) Filter 1 1 2nd order DLL/3rd order PLL 2 10 2nd order DLL/3rd order PLL 3 10 2nd order DLL/2nd order FLL assisting 3rd order PLL 4 10 2nd order DLL/2nd order FLL 5 10 VDFLL with filter updates every 20 ms 6 10 VDFLL with filter updates every 20 ms, reduced R

Figure 5.7 shows the position error in ECI compared to the truth file, together with 3σ bounds from the state estimation covariance matrix. Ten tracking channels were used for this position solution. It can be seen that the VDFLL-LEO solves for position at the meter level. The 122 adaptive measurement covariance matrix was set to 10σ2, calculated over a time history of 50 measurements, to allow a higher level of measurement error in the solution.

Figure 5.7: VDFLL position errors in ECI with 3σ bounds.

For comparison, the data set was also used with a traditional SLL. Tracking was performed with a 2nd order DLL, a 3rd order PLL and 10 ms coherent integration time. The VDFLL produce solutions at 10 Hz, versus 1 Hz for the SLL as seen in Figure 5.8. It can be seen that there is a small drift in the Y-axis for the VDFLL solution. The VDFLL was developed from a base software which utilizes the so called shift-incoming technique. Each channel is tracked at its code boundary, and the incoming data is adjusted to the location of the code. Because of this, a number of timing aspects were required, in particular a linear interpolation of the discriminator error to the filter solution point. It is possible that the linear interpolation causes the drift shown in Figure 5.8. A second generation of the VDFLL filter could implement shift-local, which instead of shifting the data, shifts the code replica in order to process all the measurements at the same time.

Figure 5.9 shows the error between the true velocity and the estimated velocity from the 123

10

0

-10 2.146 2.1465 2.147 2.1475 2.148 2.1485 2.149 105 10

0

-10 2.146 2.1465 2.147 2.1475 2.148 2.1485 2.149 105 10

0

-10 2.146 2.1465 2.147 2.1475 2.148 2.1485 2.149 105

Figure 5.8: Comparison between SLL and VDFLL position errors.

VDFLL in the ECI coordinate frame. The VDFLL was started approximately 20 seconds into the data set to allow the appropriate loops to settle. During the initial 20 seconds the filter propagates the state forward in time.

To compare position and velocity performance with reported POD performance as discussed in the beginning of this chapter the truth reference was first converted from ECEF into ECI, and then used as a reference based on the GPS time stamp to convert into the radial in-track, cross- track reference frame, which is an effective way of displaying orbital differences between two orbits where one is treated as the reference. The conversion follows [137].

The reference position and velocity in ECI is defined as:

r¯ = [xˆi yˆj zkˆ], (5.40)

v¯ = [vxˆi vyˆj vzkˆ], (5.41) 124

Figure 5.9: VDFLL velocity errors in ECI with 3σ bounds.

h¯ =r ¯ × v,¯ (5.42) where the unit vectors of the RIC frame becomes

r¯ R¯ = , (5.43) ||r¯||

h¯ C¯ = , (5.44) ||h¯||

I¯ = C¯ × R.¯ (5.45)

ECI the direction cosines between the ECI and RIC can be combined to the rotation matrix βRIC   R R R  x y z    βECI =   (5.46) RIC  Ix Iy Iz      Cx Cy Cz 125 which can be used to calculate the orbital differences between the reference orbit and the estimated orbit in both position

ECI ∆¯rRIC = βRIC ∆¯rECI , (5.47) and velocity

ECI ∆¯vRIC = βRIC ∆¯vECI . (5.48)

It can be seen in Table 5.4 that increasing the number of satellites used in the VDFLL solution beyond 7 does not seem to improve the position or velocity solution. This calculation utilized data after the VDFLL was started, until the end of the 330 seconds. Something to take into consideration here is that the measurement covariance matrix R is set to be adaptive, which means that the signals are de-weighted based on their measurement quality. The more signals that are used, the worse their quality typically becomes because the tracking loops choose the signals to track based on their acquisition thresholds. The radial component of both the position and velocity estimates are the worst, which corresponds to the altitude estimate on a Earth based receiver. Performance of the VDFLL appears to be in the same order of magnitude as the IGOR receiver [134], although the simulation data used for that experiment included ionosphere error.

Table 5.4: Estimated position and velocity errors compared to the simulator truth.

# Sats. R rms(m) I rms(m) C rms(m) R rms(m/s) I rms(m/s) I rms(m/s) 4 5.05 0.94 4.26 0.0372 0.0107 0.0288 5 1.89 0.40 0.60 0.0087 0.0024 0.0039 6 1.90 0.41 0.64 0.0087 0.0023 0.0039 7 1.31 0.40 0.78 0.0080 0.0023 0.0043 8 1.47 0.41 0.60 0.0082 0.0023 0.0043 9 1.39 0.41 0.62 0.0081 0.0023 0.0042 10 1.59 0.42 0.56 0.0086 0.0023 0.0043

5.4.2 VDFLL Operating on CYGNSS Data

As simulations are only as good as the system generating them, it was of interest to test the algorithm with some real IF data from a LEO spacecraft and 60 seconds of live data from the 126

CYGNSS mission was obtained.

CYGNSS is a mission consisting of eight satellites that collect GPS L1 C/A reflections from the Earth in order primarily to measure surface winds of tropical cyclones [138]. All eight micro- satellites were launched on December 15th 2016 into LEO, at approximately 530 km of altitude with 35 degrees of inclination, somewhat higher than anticipated. At launch these satellites were designed to use differential drag to lower their orbit, which took longer than expected partly because of the higher initial orbit and lower than anticipated solar flux [139]. Each satellite is small, the deployed solar panels have a length of 179 cm, and the body of the spacecraft fits in a 59 cm x 18.6 cm x 51 cm envelope. Each satellite weighs approximately 29 kg, and has a direction of motion surface area of approximately 0.1 m2 in nominal mode [140]. Although the footprint is small, the drag should be taken into account for the orbital model.

Table 5.5: CYGNSS spacecraft and orbit parameters.

Orbit altitude (km) Mass (kg) Area (m2) 530 29 0.1

Figure 5.10: CYGNSS spacecraft image, courtsey of NASA. 127

The CYGNSS mission is optimized for ocean reflections, and has two antennas, one RHCP on top of the spacecraft towards zenith and one LHCP antenna which is the primary mission antenna pointed nadir. For the purpose of this experiment, which was to test the VDFLL algorithm with

LEO orbit dynamics the top mounted RHCP antenna was used. The data set was collected on

October 8th 2017.

The atmospheric density for the orbit was calculated based on [141], which is technically only valid below 500 km. However, the altitude of the CYGNSS spacecraft is so close to the limit altitude that it should be acceptable to use. The atmospheric density model is based on the solar

flux at the 10.7 cm indicated by the F10.7 index [142], and the planetary index Ap which measures the geomagnetic activity [143]. For October 2017 the F10.7 was approximately 80 solar flux units, and the Ap index approximately 12, together with an altitude of 530 km the density was calculated to: 1.0263 × 10−13 kg/m3.

Table 5.6: CYGNSS dataset parameters.

Sampling frequency Intermediate frequency Real/Complex data 16.0362 MHz 3.8724 MHz Real

Table 5.7: CYGNSS data set acquisition parameters.

PRN Doppler (Hz) Code phase (samples) 28 15500 4824 17 -10900 13026 19 -24500 14691 7 -4300 9653 30 -7800 11040 1 27200 13814 22 36700 13751 13 -34100 12203 11 28800 7559 6 -18500 15899 15 -24900 14567 3 30900 504 8 33900 2951 128

Figure 5.11 shows the signals that were able to be tracked with a 1 ms coherent integration time with SLL utilizing traditional DLL and PLL. The circles represent the first recorded elevation and azimuth. PRN 8 is a good example of a low elevation rising satellite.

0 0 330 30 15

30

300 11 60 8 45 15 1 60 28

17 75 22 270 13 90 90 19

3 30

240 120 7 6

210 150

180

Figure 5.11: Skyplot for the duration of the CYGNSS data.

Truth data for the CYGNSS mission was obtained, but was only available in 1 Hz, and with quite low resolution as can be seen from Figure 5.12 and 5.13.

Position and velocity of the CYGNSS direct antenna is tracked with the VDFLL as shown in the following figures. Due to the lack of good truth data, oscillations originally from the truth data show up in the error estimates. In summary the VDFLL obtains position and velocity solutions that should be possible to use for open loop estimates of one of the channels as will be shown in the next section. For comparison single point solutions from a 1 ms SLL is also shown. 129

105 1 0 -1 -2

4.046 4.047 4.048 4.049 4.05 4.051 104 106 -6 -6.02 -6.04 -6.06

4.046 4.047 4.048 4.049 4.05 4.051 104 106 3.4

3.35

3.3 4.046 4.047 4.048 4.049 4.05 4.051 104

Figure 5.12: Position truth data for the duration of the IF data file.

5.5 Utilizing VDFLL for an Adapted Closed/Open Loop tracking

As shown in the previous sections, the VDFLL tracks the GNSS signals and obtains the state estimates of the spacecraft to sufficient degree. The next step in this research is to show open loop performance utilizing the VDFLL with orbit dynamics. For this purpose two tests were performed:

• First, it was shown that inflating the measurement noise covariance matrix for a specified

number of signals has a similar effect on the state estimates as actively removing those

channels from the EKF solution. This is to ensure that the channel that is in occultation

is not influencing the POD solution.

• Second, one of the low elevation satellites in the CYGNSS data set was chosen to be

processed both closed loop (without VDFLL) and open loop, showing the performance of

the open loop. 130

6700

6695

6690

6685 4.046 4.047 4.048 4.049 4.05 4.051 104

1300 1200 1100 1000 4.046 4.047 4.048 4.049 4.05 4.051 104

2400

2300

2200 4.046 4.047 4.048 4.049 4.05 4.051 104

Figure 5.13: Velocity truth data for the duration of the IF data file. Note the low resolution.

Due to the nature of the CYGNSS POD antenna unfortunately the data set did not include any signals that could not be also tracked in closed loop with a 2nd order FLL. This VDFLL only has support for the geometric part of the open loop model, which is what is being tested in this work.

If the measurement noise covariance matrix is increased, the filter will de-weight those mea- surements since they are deemed not trustworthy. In essence this becomes a natural type of open loop tracking. For example when a GNSS satellite is setting, the signal amplitude tend to fade due to the atmospheric influences. The loss in signal amplitude would cause the measurement quality to decrease, and the resulting variance of the signal to increase lending the filter to de-weight the impact this signal will have on the navigation solution. Generally it is of interest to determine the switch between closed and open loop based on geometry instead of signal strength. For that purpose artificial inflation of the measurement covariance matrix could be introduced at a specified 131

20 SLL 1ms =0.048, =1.4 VDFLL 10 ms = 0.25 =1.1 10 0 4.0465 4.047 4.0475 4.048 4.0485 4.049 4.0495 4.05 4.0505 4.051 104

10

0

-10 4.0465 4.047 4.0475 4.048 4.0485 4.049 4.0495SLL 4.05 1ms 4.0505=-2, =4.8 4.051 VDFLL 10 ms = 1.6 =1.3104

SLL 1ms =1.8, =1.8 10 VDFLL 10 ms = -0.01 =0.86 5 0 4.0465 4.047 4.0475 4.048 4.0485 4.049 4.0495 4.05 4.0505 4.051 104

Figure 5.14: Position error estimates for SLL and VDFLL.

geometric point.

An experiment was setup for the VDFLL running on the CYGNSS data set to artificially inflate the R-matrix for channels 9-13, while leaving the stronger 8 channels intact so that the

VDFLL could obtain its navigation solution. The standard deviations were set to 10 km and

1 km/s for pseudorange and pseudorange-rate respectively. Figure 5.16 shows the difference in position and velocity between running the VDFLL algorithm with only 8 channels, and running the VDFLL algorithm while inflating the variances of the R-matrix for channel 9 through 13. As can be seen, there is still a small impact from the signals, which is causing mm level differences in position a hundredth of mm level differences in velocity. However, the position differences are so small that it can be concluded that inflating the measurement noise covariance matrix is an effective way to allow the VDFLL to perform open loop. Another option is to remove those signals from the Kalman filter updates, but that change is more invasive. 132

1

0.5

0 SLL 1ms =0.35, =0.29 4.0465 4.047 4.0475 4.048 4.0485 4.049 4.0495 4.05 4.0505 4.051 VDFLL 10 ms = 0.47 =0.27 104

1 0 SLL 1ms =-2.6, =0.28 -1 VDFLL 10 ms = 0.45 =0.27 -2 -3 4.0465 4.047 4.0475 4.048 4.0485 4.049 4.0495 4.05 4.0505 4.051 104

2 1 0 SLL 1ms =2.6, =0.26 4.0465 4.047 4.0475 4.048 4.0485 4.049 4.0495 4.05 4.0505 4.051 VDFLL 10 ms = 0.5 =0.26 104

Figure 5.15: Velocity error estimates for SLL and VDFLL.

PRN 8, a low elevation, rising satellite, was chosen for open loop processing. Figure 5.17 shows the open loop carrier frequency of the signal. Note that VDFLL open loop starts at approximately

12 seconds into the data set, before that the signal was tracked closed loop with a second order FLL with 3 Hz bandwidth. For comparison the signal was also tracked closed loop with a traditional scalar lock loop, with the FLL and 3 Hz bandwidth. Since the velocity of the spacecraft is so high, and thus the Doppler of the signal changes rapidly, the rate of change of the carrier frequency is also shown. Each time step is 10 milliseconds. It is recognized that comparing the performance of open loop through VDFLL with a closed loop FLL is not the optimal comparison. Preferably, the open loop VDFLL should be compared with traditional open loop performance. Because traditional open loop, which relies on the navigation solution in combination with a scheduler that determines where the correlators should be placed, was not part of this effort the VDFLL was instead compared to closed loop tracking. 133

10-3

2

0

-2

0 10 20 30 40 50

10-5 1 0 -1 -2 -3 0 10 20 30 40 50

Figure 5.16: ECEF position estimate differences between VDFLL with only 8 channels enabled, and VDFLL with channels 9 through 13 in open loop with inflated measurement noise covariance matrix values.

Figure 5.18 shows the code frequency from open loop tracking with the VDFLL algorithm of PRN 8. Just as with the carrier phase the open loop processing starts at 12 seconds with the previous segment tracked with a 10 Hz DLL in closed loop mode.

As can be seen in both Figure 5.17 and 5.18 the performance of the adaptive open loop

VDFLL for PRN 8 successfully tracks the signal in open loop, following closely to the carrier and code frequency of what is tracked in closed loop.

This work demonstrates geometric open loop tracking of a low elevation satellite through the use of a VDFLL with modeled orbit dynamics. In this work only the geometric part is considered.

It is however possible to obtain the signal energy from a signal in occultation through the use of additional correlators. Gleason [66] shows the excess Doppler and excess phase delay which consists of the atmosphere component, in comparison to the geometric component. The excess Doppler is in the order of 1 kHz, and the excess phase delay is in the order of 6-8 km. It is discussed in [63] 134

106 3.9066 3.9065 3.9064 3.9063 3.9062 10 20 30 40 50

10

0

-10

10 20 30 40 50

Figure 5.17: PRN 8 carrier frequency comparison between 3Hz FLL, and open loop VDFLL. The time derivative of the carrier frequency is also shown for better clarity.

that phase reconstruction is possible if the Doppler mismodeling is less than 10 Hz. Delay modeling should be within 300 m [66]. It is therefore hypothesized that a correlator grid of 100 frequency bins and 14 delay bins should capture the signal energy of the occulted signal.

Future work could include the development of an atmosphere model to calculate the additional path delay, and excess Doppler due to atmospheric bending.

5.6 Conclusions on Vector Lock Loops for LEO Missions

A vector delay frequency locked loop was implemented with dynamical models following the

2-body propagation with added J2 perturbations and a drag model. The implementation was tested using a data set obtained from an IFEN NCS Professional simulator. Position and velocity errors from the VDFLL were compared to interpolated truth data generated by the simulator.

Performance of the VDFLL converted into the RIC frame was in the same order of magnitude as 135

106

1.023024 1.023022 1.02302 1.023018 1.023016 10 20 30 40 50

5

0

-5

10 20 30 40 50

Figure 5.18: PRN 8 code frequency comparison between 3Hz FLL, and open loop VDFLL. The time derivative of the code frequency is also shown for better clarity.

the IGOR receiver, namely meter level positions and cm level velocities.

A live LEO data set was obtained from the CYGNSS mission’s direct antenna. Unfortunately, the available truth data were of a lower precision than that of the VDFLL, which causes fluctuations to appear in the error calculations. However, it was concluded that the VDFLL tracked the available signals properly and generated valid positions and velocities.

As the purpose of implementing this adaptive open/closed loop VDFLL is for tracking radio occultation signals, the prospect of artificially inflating the measurement noise covariance matrix was shown to have similar effect to removing channels from the Kalman filter. Some influence of the open loop channels remained to the mm-level in position and sub-mm level in velocity. However, those levels should not cause any significant issues with the POD required for the mission.

Geometric open loop tracking was demonstrated for a low elevation satellite and compared to tracking the signal in closed loop. It was shown that open loop performance was better than 136 traditional DLL and FLL tracking with 1 Hz and 3 Hz bandwidth respectively. Future work would include adding an atmospheric model to the open loop tracking and testing the algorithm on an occulting GNSS signal. Chapter 6

SUMMARY AND CONCLUSIONS

This dissertation focuses on GNSS receiver architectures for remote sensing. Three main topics of receiver improvements have been identified: utilizing the modernized GPS L5 signals for their higher signal strength and increased chipping rate, implementing signal cancellation and analyzing how well signal cancellation can be performed under certain specific constraints and,

finally, utilizing the benefits of vector tracking in combination with orbit modeling of low Earth orbits to provide open loop measurements.

A case study was performed utilizing GPS L5 signals, and analyzing the signal power in comparison to GPS L1. After removing the receive antenna pattern it was found that the difference between GPS L1 C/A and GPS L5 transmit signal power was close, 3.1 (PRN 6) and 2.7 (PRN

30) dB, to the expected value of 3.6 dB. Significant differences between different antennas were found throughout the data collections, which concludes that antenna performance could limit the received signal behavior. Despite that GPS L5 signal is transmitted stronger than GPS L1, the advantages from the stronger GPS L5 signals may be limited by the receive antenna performance.

To evaluate the use of the L5 signal for bistatic radar, data from the CU Bistatic instrument was analyzed during a 2012 test flight outside Florida’s coast. Due to geometry and time of data collection, L5 data from the geostationary WAAS satellites were utilized. The WAAS satellites also transmit L1 and L5 signals, with some smaller modifications. The hypothesis for processing the L5 signals was that the higher chipping rate would provide higher altimetry sensitivity. In order to perform a comparative analysis between WAAS L1 and L5, the same parameters (in terms 138 of discriminator offsets in meters) were used. Coherent integration time as well as non-coherent summations were also optimized for each signal in order to perform the analysis comparatively.

It was found that 4 ms coherent integration time with 250 summations was optimal in terms of standard deviation of altitude estimates for L1, versus 10 ms coherent integration time with 100 summations for L5. Taking all these optimizations into account, the altitude of the receiver was found through fitting a 5th order polynomial to the delay waveforms and calculate the altitude from the peak of the waveform. Overall performance in standard deviation was found to be similar between L1 and L5 at leveled flight, although a larger bias was seen in the L1 estimates of receiver altitude, likely due to utilizing the peak metric of the waveform. For the entire processed segment it was found that the L5 signal had a 2.2 times lower standard deviation compared to L1. The larger error for L1 occurred when the aircraft changed altitude, which further supports the claim that the higher chipping rate provides better altimetry resolution.

Successive interference cancellation was analyzed as a noise reduction technique with focus on the GPS L1 C/A signals. Signal cancellation as a means of improving noise performance for GPS bistatic radar was implemented in [39] in order to perform aircraft detection. Because hardware is usually limited, the three primary elements analyzed during this research were limitations on

filter bandwidth, analog quantization and processing resolution. It was found that filtering with a narrow bandwidth and canceling the signal without regard to the filter introduced a residual signal, which was seen in turn to reduce the signal strength of the signal of interest at signal powers above 75 dB-Hz. Reductions in the order of 1 dB were shown for 2 MHz bandwidth filters.

Bandwidths above 10 MHz would be recommended in order to minimize the impact of the residual signal. Quantization plays an important role in what signals can be canceled and to what degree.

In order to answer the question of how to assess the signal cancellation performance, a metric of cancellation efficiency was developed. It was found that analog quantization limits the saturated cancellation efficiency and that the processing resolution limits how well signals at certain signals strengths could be canceled. In order to maintain 96% cancellation energy and cancel signals above

43 dB-Hz, a combination of 4 bits analog quantization and 9 bits processing resolution should be 139 used. The simulated experiments were validated with a live data test with a high gain antenna that provided signals up to 61 dB-Hz. It was seen that if the strongest signal was canceled, the second strongest signal (treated as the signal of interest) gained 3.3 dB in processing. It is therefore concluded that improvements can be obtained through utilizing successive signal cancellation, under the circumstances specified herein.

Receivers in high dynamic environments such as low Earth orbit benefit from vector lock loop tracking since the dynamics of the orbit can be modeled, and the signals can be tracked through scintillation and other outages as well as can be tracked to a lower carrier to noise density ratio than regular scalar lock loops. An adaptive open/closed vector delay frequency lock loop was developed which included 2-body propagation, J2 and drag modeling. The algorithm was tested on a simulated data set and the precision orbit determination performance was found to be in the meter level for position and cm level for velocity. A live data test was also performed utilizing 60 seconds of data from the CYGNSS mission direct antenna.

It was concluded that inflating the measurement noise covariance matrix was a way of chang- ing the specification of tracking from closed loop to open loop for a select channel. Depending on the level of inflation, some residual effect on the POD could still be seen, however with large values the effect on the POD was minimal. One of the low elevation signals, PRN 8, was chosen for open loop processing. The same satellite was also processed with a regular scalar lock loop that implemented a second order FLL with 3 Hz bandwidth and a second order DLL with 10 Hz bandwidth. It was shown that the carrier frequency and code frequency were adequately tracked for both open loop and closed loop, but the noise performance of the open loop was lower. Open loop tracking through VDFLL of a low elevation satellite was performed on a LEO live data set.

In conclusion, the GNSS remote sensing fields provide valuable data for Earth and atmosphere monitoring. As GNSS evolves, the receivers need to evolve as well where the remote sensing fields may benefit from the improved receiver architectures presented in this work. Bibliography

[1] P. Misra and P. Enge, Global Positioning System Signals Measurements and Performance. Ganga-Jamuna Press, second edition ed., 2005.

[2] M. Mart´ın-Neira,“A passive reflectometry and interferometry system (PARIS): Application to ocean altimetry,” ESA Journal, vol. 17, pp. 991–355, 1993.

[3] G. K. Moore, “What is a picture worth? A history of remote sensing,” Hydrological Sciences Bulletin, vol. 24:4, pp. 477–485, 1979.

[4] W. Rees, Physical Principles of Remote Sensing. Cambridge University Press, second edi- tion ed., 2001.

[5] V. Zavorotny and A. Voronovich., “Scattering of GPS signals from the ocean with wind remote sensing application,” IEEE Trans. Geoscience and Remote Sensing, vol. 38, pp. 951– 964, 2000.

[6] A. Komjathy, J. Maslanik, V. U. Zavorotny, P. Axelrad, S. J. Katzberg, and C. Colorado, “Sea Ice Remote Sensing Using Surface Reflected GPS Signals,” in IGARSS 2000. IEEE 2000 International Geoscience and Remote Sensing Symposium. Taking the Pulse of the Planet: The Role of Remote Sensing in Managing the Environment. Proceedings (Cat. No.00CH37120), vol. 7, (Honolulu, HI, USA), pp. 2855–2857, IEEE, 2000.

[7] K. M. Larson, E. D. Gutmann, V. U. Zavorotny, J. J. Braun, M. W. Williams, and F. G. Nievinski, “Can we measure snow depth with GPS receivers?,” Geophysical Research Letters, vol. 36:17, no. June, pp. 1–5, 2009.

[8] D. Masters, V. Zavorotny, S. Katzberg, and W. Emery, “GPS signal scattering from land for moisture content determination,” IGARSS 2000. IEEE 2000 International Geoscience and Remote Sensing Symposium. Taking the Pulse of the Planet: The Role of Remote Sensing in Managing the Environment. Proceedings (Cat. No.00CH37120), vol. 7, pp. 3090–3092, 2000.

[9] P. F. Macdoran, “Satellite emission radio interferometric earth surveying series GPS geodetic system,” Journal of Geodesy, Bull. Geodesique, vol. 53, no. 2, pp. 117–138, 1979.

[10] A. Van Dierendonck, J. Klobuchar, and Q. Hua, “Ionospheric Scintillation Monitoring Using Commercial Single Frequency C/A Code Receivers,” in Proceedings of the 6th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 1993), (Salt Lake City, UT), pp. 1333 – 1342, 1993. 141

[11] W. G. Melbourne, E. S. Davis, C. B. Duncan, G. A. Hajj, K. R. Hardy, E. R. Kursinski, T. K. Meehan, L. E. Young, and T. P. Yunck, “The application of spaceborne GPS to atmospheric limb sounding and global change monitoring,” NASA-CR-199799, Technical Report, Aircraft Communications and Navigation, 1994.

[12] J. Garrison and S. Katzberg, “The application of reflected GPS signals to ocean remote sensing,” Remote Sensing Environment, vol. 73, no. 2, pp. 175–187, 2000.

[13] S. Gleason, Remote sensing of ocean, ice and land surfaces using bistatically scattered GNSS signals from low Earth orbit. PhD thesis, University of Surrey, 2006.

[14] J. Garrison, S. Katzberg, and M. Hill, “Effect of sea roughness on bistatically scattered range coded signals from the global positioning system,” Radio Science, vol. 37, 1998.

[15] M. Rivas, J. Maslanik, and P. Axelrad, “Bistatic scattering of GPS signals off arctic sea ice,” IEEE Transactions on Geoscience and Remote Sensing, vol. 48, no. 3, 2010.

[16] K. Larson, “GPS interferometric reflectometry: applications to surface soil moisture snow depth and vegetation water content in the western united states,” WIREs Water, vol. 3, p. 775787, 2016.

[17] K. Larson and F. Nievinski, “GPS snow sensing: results from the EarthScope Plate Boundary Observatory,” GPS Solutions, vol. 17, no. 1, pp. 41–52, 2013.

[18] Q. Chen, D. Won, and D. Akos, “Snow depth sensing using the GPS L2C signal with a dipole antenna,” EURASIP Journal on Advances in Signal Processing, vol. 2014, no. 1, p. 106, 2014.

[19] K. Larson, E. Small, E. Gutmann, A. Bilich, J. Braun, and V. Zavorotny, “Use of gps receivers as a soil moisture network for water cycle studies,” Geophysical Research Letters, vol. 5, 2008.

[20] “Total electron content.” https://www.swpc.noaa.gov/phenomena/ total-electron-content. Accessed: 2019-11-16.

[21] C. Rino, The Theory of Scintillation with Applications in Remote Sensing. Wiley-IEEE Press, 2011.

[22] C. Cohen, B. Pervan, and B. Parkinson, “Estimation of absolute ionospheric delay exclusively through single-frequency GPS measurements,” Proceedings of the 5th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 1992), pp. 325–330, 1992.

[23] Y. Bar-Sever, L. Young, F. Stocklin, and J. Rush, “NASA’s Global Differential GPS System and the TDRSS Augmentation Service for Satellites,” in Proceedings of NAVITEC 2004, 2nd ESA Workshop on User Equipment Technologies, (Noordwijk, The Netherlands), 2004.

[24] “Global ionospheric (tec) maps.” http://www.gdgps.net/products/tec-maps.html. Ac- cessed: 2019-11-16.

[25] G. Jee, H. B. Lee, Y. H. Kim, J. K. Chung, and J. Cho, “Assessment of GPS global ionosphere maps (GIM) by comparison between CODE GIM and TOPEX / Jason TEC data: Ionospheric perspective,” Journal of Geophysical Research, vol. 115, pp. 1–11, 2010. 142

[26] J. Aarons, H. Whitney, and R. Allen, “Global morphology of ionospheric scintillations,” Proceedings of the IEEE, vol. 70, no. 4, pp. 360 – 378, 1982.

[27] J. Betz, Engineering Satellite-Based Navigation and Timing, Global Navigation Satellite Systems and Receivers. Wiley IEEE press, 2016.

[28] Y. Jiao, Y. T. Morton, S. Taylor, and W. Pelgrum, “Characterization of high-latitude iono- spheric scintillation of GPS signals,” Radio Science, vol. 48, no. 6, pp. 698–708, 2013.

[29] C. Carrano, K. Groves, W. McNeil, and P. Doherty, “Scintillation characteristics across the GPS frequency band,” 25th International Technical Meeting ION 2012, pp. 1972–1989, 2012.

[30] P. W. Ward, J. W. Betz, and C. J. Hegarty, Understanding GPS: Principles and Applications, ch. Satellite Signal Acquisition, Tracking and Data Demodulation. Artech House, 2 ed., 2017.

[31] A. Joseph, “GNSS Solutions: Measuring GNSS Signal Strength,” InsideGNSS, 2010.

[32] T. Haddrell, M. Phocas, and N. Ricquier, “Innovation: Mobile-phone GPS antennas: Can they be better?,” GPS World, 2010.

[33] V. Pathak, S. Thomwall, M. Krier, S. Rowson, G. Poilasne, and L. Desclos, “Mobile Hand- set System Performance Comparison of a Linearly Polarized GPS Internal Antenna with a Circularly Polarized Antenna,” in Proceedings of IEEE Antennas and Propagation Society International Symposium 2003, (Columbus, Ohio, USA), pp. 666–669, 2003.

[34] R. Li, B. Pan, J. Laskar, and M. M. Tentzeris, “A Compact Broadband Planar Antenna for GPS , DCS-1800, IMT-2000, and WLAN Applications,” IEEE Antennas and Wireless Propagation Letters, vol. 6, pp. 25–27, 2007.

[35] A. Dinius, “GPS antenna multipath rejection performance,” tech. rep., Lincoln Laboratory, MIT, 1995.

[36] P. Silvestrin, R. Bagge, M. Bonnedal, A. Carlstr¨om,J. Christensen, M. H¨agg,T. Lindgren, and F. Zangerl, “Spaceborne GNSS Radio Occultation Instrumentation for Operational Ap- plications,” in ION GPS 2000, (Salt Lake City, UT), pp. 872–880.

[37] K. Borre, D. Akos, N. Bertelsen, P. Rinder, and S. Jensen, A Software Defined GPS and Galileo Receiver A Single-Frequency Approach. Birkhauser Boston, 2007.

[38] E. P. Glennon, “Feasibility of air target detection using GPS as a bistatic radar,” Journal of Global Positioning Systems, vol. 5, pp. 119–126, 2006.

[39] C. Y. Pui and M. Trinkle, “GPS bistatic radar using phased-array technique for aircraft detection,” in 2013 International Conference on Radar, pp. 274–279, Sept 2013.

[40] S. Jin, E. Cardellach, and F. Xie, GNSS Remote Sensing, Theory, Methods and Applications. Springer, 2014.

[41] J. L. Garrison, S. J. Katzberg, and C. T. Howell III, “Detection of ocean reflected GPS signals: Theory and experiment,” in Proceedings IEEE SOUTHEASTCON ’97. ’Engineering the New Century’, (Blacksburg, VA), pp. 290–294, 1997. 143

[42] P. Axelrad and D. Masters, “Analysis of GPS bistatic radar for ground target detection,” Final Report Colorado Center for Astrodynamics Research University of Colorado, 2003.

[43] S. Esterhuizen, “The design construction and testing of a modular GPS bistatic radar software receiver for small platforms,” Master’s Thesis, University of Colorado, 2006.

[44] D. S. Masters, Surface remote sensing applications of GNSS bistatic radar: Soil moisture and aircraft altimetry. PhD thesis, University of Colorado, Boulder, CO, USA, 2004.

[45] T. Elfouhaily, B. Chapron, K. Katsaros, and D. Vandemark, “A unified directional spectrum for long and short wind-driven waves,” Journal of Geophysical Research, vol. 102, no. 97, pp. 15781–15796, 1997.

[46] A. Komjathy, V. Zavorotny, G. B. P. Axelrad, and J. Garrison, “GPS signal scattering from sea surface: Wind speed retrieval using experimental data and theoretical model,” Remote Sensing Environment, vol. 73, pp. 162–174, 2000.

[47] M. Caparrini, L. Ruffini, and G. Ruffini, “PARFAIT: GNSS-R coastal altimetry,” Proceedings from the 2003 Workshop on Oceanography with GNSS Reflections, vol. 22, 2003.

[48] M. Mart´ın-Neira, M. Caparrini, J. Font-Rossello, S. Lannelongue, and C. S. Vallmitjana, “The PARIS concept: An experimental demonstration of sea surface altimetry using GPS reflected signals,” IEEE Transactions on Geoscience and Remote Sensing, vol. 39, pp. 142 – 150, 2001.

[49] S. Lowe, C. Zuffada, J. LaBrecque, M. Lough, J. Lerma, and L. Young, “An ocean-altimetry measurement using reflected observed from a low-altitude aircraft,” in IGARSS 2000. IEEE 2000 International Geoscience and Remote Sensing Symposium. Taking the Pulse of the Planet: The Role of Remote Sensing in Managing the Environment. Proceedings (Cat. No.00CH37120), vol. 7, (Honolulu, HI, USA), 2000.

[50] R. Treuhaft, S. Lowe, C. Zuffada, and Y. Chao, “2-cm gps altimetry over crater lake,” Geophysical Research Letters, vol. 28, pp. 4343 – 4346, 2001.

[51] S. Lowe, C. Zuffada, Y. Chao, P. Kroger, and L. Young, “5-cm-precision aircraft ocean altimetry using GPS reflections,” Geophysical Research Letters, vol. 29, pp. 131 – 134, 2002.

[52] S. Lowe, J. LaBrecque, C. Zuffada, L. Romans, L. Young, and G. Hajj, “First spaceborne observation of an Earth-reflected GPS signal,” Radio Science, vol. 37, pp. 1 – 28, 2009.

[53] G. Foti, C. Gommenginger, P. Jales, M. Unwin, A. Shaw, C. Robertson, and J. Rosell´o, “Spaceborne GNSS reflectometry for ocean winds: First results from the UK TechDemoSat-1 mission,” Geophysical Research Letters, vol. 42, pp. 5435–5441, 2015.

[54] C. Ruf, S. Gleason, Z. Jelenak, S. Katzenberg, A. Ridley, R. Rose, J. Scherrer, and V. Za- vorotny, “The NASA EV-2 Cyclone Global Navigation Satellite System (CYGNSS) Mission,” Aerospace Conference, 2013.

[55] A. Komjathy, M. Armatys, D. Masters, and P. Axelrad, “Retrieval of ocean surface wind speed and wind direction using reflected GPS signals,” Journal of Atmospheric and Oceanic Technology, vol. 21, pp. 515–526, 2002. 144

[56] G. Hajj and C. Zuffada, “Theoretical description of a bistatic system for ocean altimetry using the gps signal,” Radio Science, vol. 38, 2003.

[57] G. Ruffini, F. Soulat, M. Caparrini, O. Germainand, and M. Mart´ın-Neira,“The Eddy exper- iment: Accurate GNSS-R ocean altimetry from low altitude aircraft,” Geophysical Research Letters, vol. 31, 2004.

[58] M. Mart´ın-Neira,P. Colmenarejo, G. Ruffini, and C. Serra, “Altimetry precision of 1 cm over a pond,” Canadian Journal of Remote Sensing, vol. 28, pp. 394–403, 2002.

[59] A. Gurvich and T. Krasilnikova, “Navigation satellites for radio sounding of the Earth’s atmosphere,” Issled. Zemli Kosmosa 1986, in English: Soviet Journal of Remote Sensing, 6, 1990, vol. 6, 1986.

[60] T. Yunck, G. Lindal, and C. Liu, “The role of GPS in precise Earth observation,” in IEEE PLANS ’88.,Position Location and Navigation Symposium, Record. ’Navigation into the 21st Century’., (Orlando, FL, USA), 1988.

[61] R. Ware, C. Rocken, F. Solheim, M. Exner, W. Schreiner, R. Anthes, D. Feng, B. Herman, M. Gorbunov, S. Sokolovskiy, K. Hardy, Y. Kuo, X. Zou, K. Trenberth, T. Meehan, W. Mel- bourne, and S. Businger, “GPS sounding of the atmosphere from low Earth orbit: Preliminary results,” Bulletin of the American Meteorological Society, vol. 77, pp. 19–38, 1996.

[62] S. Gleason and D. Gebre-Egziabher, GNSS Applications and Methods. Artech House, 2009.

[63] C. Ao, G. Hajj, T. Meehan, D. Dong, B. Iijima, A. Mannucci, and E. Kursinski, “Rising and setting GPS occultations by use of open-loop tracking,” Journal of Geophysical Research, vol. 114, 2009.

[64] A. S. Jensen, M. S. Lohmann, H.-h. Benzon, and A. Steen, “Full Spectrum Inversion of radio occultation signals,” Radio Science, vol. 38, no. 3, pp. 1–15, 2003.

[65] E. R. Kursinski, G. A. Hajj, S. S. Leroy, and B. Herman, “The GPS radio occultation technique,” Terrestrial Atmospheric and Oceanic Sciences Journal, vol. 11, pp. 53–114, 2000.

[66] S. Gleason and D. Gebre-Egziabher, GNSS Applications and Methods. Artech House, 2009.

[67] G. Hajj, E. Kursinski, L. Romans, W. Bertiger, and S. Leroy, “A technical description of atmospheric sounding by GPS occultation,” Journal of Atmospheric and Solar-Terrestrial Physics, vol. 64, no. 4, pp. 451 – 469, 2002.

[68] R. A. Anthes, P. A. Bernhardt, Y. Chen, L. Cucurull, K. F. Dymond, D. Ector, S. B. Healy, S.-P. Ho, D. C. Hunt, Y.-H. Kuo, H. Liu, K. Manning, C. McCormick, T. K. Meehan, W. J. Randel, C. Rocken, W. S. Schreiner, S. V. Sokolovskiy, S. Syndergaard, D. C. Thompson, K. E. Trenberth, T.-K. Wee, N. L. Yen, and Z. Zeng, “The COSMIC/FORMOSAT-3 mission: Early results,” Bulletin of the American Meteorological Society, vol. 89, no. 3, pp. 313–334, 2008.

[69] J. L. Garrison, J. S. Haase, Y.-m. Yang, and J. Voo, “Open Loop Tracking of Radio Occulta- tion Signals from an Airborne Platform,” in Proceedings of the 23rd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2010), (Portland, OR, USA), pp. 1049–1060, 2010. 145

[70] G. A. Hajj, E. R. Kursinski, L. J. Romans, W. I. Bertiger, and S. S. Leroy, “A techni- cal description of atmospheric sounding by GPS occultation,” Journal of Atmospheric and Solar-Terrestrial Physics, vol. 64, pp. 451–469, 2002. [71] C. Rocken, R. Anthes, D. Hunt, S. Sokolovskiy, R. Ware, M. Gorbunov, W. Schreiner, D. Feng, B. Herman, Y. Kuo, and X. Zou, “Analysis and validation of GPS/MET data in the neutral atmosphere,” Journal of Geophysical Research, vol. 102, pp. 29849–29866, 1997. [72] J. Wickert, C. Reigber, G. Beyerle, K. Rolf, C. Marquardt, T. Schmidt, L. Grunwaldt, R. Galas, T. K. Meehan, W. G. Melbourne, and K. Hocke, “Atmosphere sounding by GPS radio occultation: First results from CHAMP Atmosphere sounding by GPS radio occultation: First results from CHAMP,” Geophysical Research Letters, 2001. [73] G. A. Hajj, C. O. Ao, B. A. Iijima, D. Kuang, E. R. Kursinski, A. J. Mannucci, T. K. Meehan, L. J. Romans, M. de la Torre Juarez, and T. P. Yunck, “CHAMP and SAC-C atmospheric occultation results and intercomparisons,” Journal of Geophysical Research: Atmospheres, vol. 109, 2004. [74] G. Beyerle, T. Schmidt, G. Michalak, S. Heise, J. Wickert, and C. Reigber, “GPS radio occultation with GRACE: Atmospheric profiling utilizing the zero difference technique,” Geophysical Research Letters, vol. 32, no. 13, pp. 1–5, 2005. [75] J. Wickert, G. Michalak, T. Schmidt, G. Beyerle, C.-Z. Cheng, S. B. Healy, E. Ozawa, A. G. Pavelyev, S. Heise, C.-Y. Huang, N. Jakowski, W. K¨ohler,C. Mayer, D. Offiler, A. G. P. Eiji Ozawa, M. Rothacher, B. Tapley, and C. Arras, “GPS Radio Occultation: Results from CHAMP, GRACE and FORMOSAT-3/COSMIC,” Terr. Atmos. Ocean. Sci, vol. 20, no. 1, pp. 35–50, 2009. [76] “Official U.S. government information about the Global Positioning System (GPS) and related topics.” https://www.gps.gov/systems/gps/modernization/civilsignals/. Acessed: 11-18-2019. [77] “Global positioning systems directorate systems engineering and integration interface speci- fication IS-GPS-705E,” 2018. [78] M. Tran and C. Hegarty, “Receiver Algorithms for the New Civil GPS Signals,” in Proceedings of the 2002 National Technical Meeting of The Institute of Navigation, (San Diego, CA, USA), pp. 778 – 789, 2002. [79] “Global positioning systems directorate systems engineering and integration interface speci- fication IS-GPS-200J,” 2018. [80] M. Moreau, E. Davis, R. Carpenter, D. Kelbel, G. Davis, and P. Axelrad, “Results from the GPS flight experiment on the high earth orbit AMSAT OSCAR-40 spacecraft,” in Proceedings of the 15th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 2002), (Portland, OR, USA), pp. 122–133, 2002. [81] M. Moreau, GPS Receiver Architecture for Autonomous Navigation in High Earth Orbits. PhD thesis, University of Colorado, Boulder, CO, USA, 2001. [82] S. Erker, S. Thoelert, L. Heng, R. E. Phelts, G. X. Gao, and G. Wong, “On the air New signals from the First GPS IIF satellite,” Inside GNSS, 2010. 146

[83] S. J. Hrbek, D. H. Won, and D. M. Akos, “Power Characterization for GPS L1 and L5 Transmissions,” in Proceedings of the 2016 International Technical Meeting of The Institute of Navigation, (, Monterey, CA, USA), pp. 873–880, 2016.

[84] J. E. Donaldson, J. J. K. Parker, M. C. Moreau, D. E. Highsmith, and P. Martzen, “Character- ization of On-Orbit GPS Transmit Antenna Patterns for Space Users,” in Proceedings of the 31st International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+ 2018), (Miami, FL, USA), pp. 1208–1245, 2018.

[85] W. Marquis, “The GPS Block IIR/IIR-M Antenna Panel Pattern Appendix A SV-Specific Patterns, Plots,” Lockheed Martin Space Systems Company, 2014.

[86] M. W and R. D, “The GPS Block IIR and IIR-M Broadcast L-band Antenna Panel: Its Pattern and Performance,” NAVIGATION, Journal of the Institute of Navigation, vol. 62, no. 4, pp. 329–347, 2015.

[87] Hyunho Rho and Richard B. Langley, “The WAAS L5 Signal An Assessment of Its Behavior and Potential End Use,” GPS World, 2009.

[88] S. Powell, D. Akos, and V. Zavorotny, “GPS SBAS L1/L5 bistatic radar altimeter,” IEEE Geoscience and Remote Sensing Symposium, pp. 1544–1547, 2014.

[89] S. J. Powell, “Altimetry with GNSS Bistatic Radar,” Master’s Thesis, Lule˚a University of Technology, Sweden, 2012.

[90] N. Rodriguez-Alvarez, D. M. Akos, V. U. Zavorotny, J. A. Smith, A. Camps, and C. W. Fairall, “Airborne GNSS-R Wind Retrievals Using Delay Doppler Maps,” vol. 51, no. January 2016, pp. 626 – 641, 2013.

[91] H. You, J. L. Garrison, G. Heckler, and D. Smajlovic, “The Autocorrelation of Wave- forms Generated From Ocean-Scattered GPS Signals,” IEEE Geoscience and Remote Sensing Letters, vol. 3, no. 1, pp. 78–82, 2006.

[92] ITU-R, “A coordination methodology for radionavigation-satellite service inter-system inter- ference estimation, Recommendation ITU-R M.1831-1,” tech. rep., International Telecommu- nications Union, 2015.

[93] A. J. V. Dierendonck, A. J. Systems, S. Kalyanaraman, R. Collins, C. J. Hegarty, T. M. Cor- poration, K. Shallberg, and Z. Associates, “A More Accurate Evaluation of GPS C/A Code Self-Interference Considering Critical Satellites,” in Proceedings of the 2017 International Technical Meeting of The Institute of Navigation, (Monterey, CA, USA), pp. 671–680, 2017.

[94] P. H. Madhani, P. Axelrad, K. Krumvieda, and J. Thomas, “Application of successive interfer- ence cancellation to the GPS pseudolite near-far problem,” IEEE Transactions on Aerospace and Electronic Systems, vol. 39, no. 2, pp. 481–488, 2003.

[95] S. J. Hrbek, N. C. Shivaramiah, and D. M. Akos, “Filtering and quantization effect on gnss successive interference cancellation,” IEEE Transactions on Aerospace and Electronic Systems, 2019. 147

[96] P. Patel and H. Jack, “Analysis of a Simple Successive Interference Cancellation Scheme in a DS/CDMA System,” IEEE Journal on Selected Areas in Communications, vol. 12, no. 5, 1994.

[97] K. I. Pedersen, T. E. Kolding, I. Seskar, and J. M. Holtzman, “Practical implementation of successive interference cancellation in DS/CDMA systems,” IEEE Conf. on Universal Pers. Comm., pp. 321–325, 1996.

[98] M. K. Varanasi and B. Aazhang, “Multistage Detection in Asynchronous Code-Division Multiple-Access Communications,” IEEE Transactions on Communications, vol. 38, no. 4, pp. 509–519, 1990.

[99] S. Moshavi, “Multi-user detection for DS-CDMA communications,” IEEE Communications Magazine, vol. 34, no. 10, pp. 124–135, 1996.

[100] Y. Morton, J. Tsui, D. Lin, and M. Miller, “Assessment and handling of CA code self- interference during weak GPS signal acquisition,” in Proceedings of the 16th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS/GNSS 2003), (Portland, OR, USA), pp. 646–653, 2003.

[101] E.´ P. Glennon and A. G. Dempster, “Delayed PIC for postcorrelation mitigation of continuous wave and multiple access interference in GPS receivers,” IEEE Transactions on Aerospace and Electronic Systems, vol. 47, no. 4, pp. 2544–2557, 2010.

[102] E. P. Glennon, R. C. Bryant, A. G. Dempster, and P. J. Mumford, “Post correlation CWI and cross correlation mitigation using delayed PIC,” in Proceedings of the 20th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2007), pp. 236–245, 2007.

[103] M. Foucras, J. Lecl`ere,C. Botteron, O. Julien, C. Macabiau, P. A. Farine, and B. Ekambi, “Study on the cross-correlation of GNSS signals and typical approximations,” GPS Solutions, vol. 21, no. 2, pp. 293–306, 2016.

[104] T. Gerstner and M. Griebel, “Numerical integration using sparse grids,” Numerical Algorithms, vol. 18, pp. 209–232, 1998.

[105] C. J. Hegarty, “Analytical Model for GNSS Receiver Implementation Losses,” NAVIGATION, Journal of the Institute of Navigation, vol. 58, pp. 29–44, March 2011.

[106] F. Bastide, D. Akos, C. Macabiau, and B. Roturier, “Automatic gain control (AGC) as an interference assessment tool,” in Proceedings of the 16th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS/GNSS 2003), (Portland, OR, USA), pp. 2042–2053, 2003.

[107] B. W. Parkinson, J. J. Spilker, P. Axelrad, and P. Enge, Global Positioning System: Theory and Applications, vol. 1, ch. 8 GPS Receivers. AIAA, Inc., 1996.

[108] H. Chang, “Presampling filtering, sampling and quantization effects on the digital matched filter performance,” in Proc. ITC, San Diego, CA, USA, pp. 889–915, 1982.

[109] D. Borio, A Statistical Theory for GNSS Signal Acquisition. PhD thesis, Dept. Elettronica e delle Comunicazioni, Univ. Politecnico Di Torino, Torino, Italy, 2008. 148

[110] NTLabs, “4-Channel GPS/GLONASS/Galileo/BeiDou/IRNSS/QZSS L1/L2/L3/L5 band RF Front End Data Sheet.” http://ntlab.com/sitefiles/1/6/21228/NT1065%20SE%20DS% 20v0.19.pdf, 2015. [Accessed 3-5-2018].

[111] M. L. Psiaki, D. M. Akos, and T. Jonas, “A Comparison of Direct RF Sampling and Down- Convert & Sampling GNSS Receiver Architectures,” in Proceedings of the 16th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS/GNSS 2003), (Portland, OR, USA), pp. 1941–1952, 2003.

[112] E. Glennon, R. Bryant, and A. Dempster, “Delayed parallel interference cancellation for GPS C/A code receivers,” U.S. Patent WO/2009/002936, 2008.

[113] R. Easton, “Basic principles of imaging science ii.” https://www.cis.rit.edu/class/ simg712-01/notes/basic_principles_notes-high_quality-1-27-2005.pdf, 2005. Acessed: 11-15-2019.

[114] E. T. Vinande, Overcoming Urban GPS Navigation Challenges Through the Use of MEMS Inertial Sensors and Proper Verification of Navigation System Performance. PhD thesis, Dept. of Aerospace Engineering Sciences, University of Colorado, Boulder, CO, USA, 2010.

[115] A. J. Van Dierendonck, R. Erlandson, G. Mcgraw, and R. Coker, “Determination of C/A Code Self-Interference Using Cross-Correlation Simulations and Receiver Bench Tests,” in Proceedings of the 15th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 2002), pp. 630–642, 2002.

[116] M. Lashley and D. M. Bevly, “Vector Delay/Frequency Lock Loop Implementation and Anal- ysis,” Proceedings of the 2009 International Technical Meeting of The Institute of Navigation, January 26 - 28, 2009, pp. 1073–1086, 2009.

[117] T. Pany and B. Eissfeller, “Use of a Vector Delay Lock Loop Receiver for GNSS Signal Power Analysis in Bad Signal Conditions,” in 2006 IEEE/ION Position, Location, And Navigation Symposium, (Coronado, CA, USA), pp. 893–903, 2006.

[118] S. Zhao and D. Akos, “An open source GPS/GNSS vector tracking loop-implementation, filter tuning, and results,” in Proceedings of the 2011 International Technical Meeting, pp. 1293– 1305, 2011.

[119] E. M. Copps, G. J. Geier, W. C. Fidler, and P. A. Grundy, “Optimal Processing of GPS Signals,” NAVIGATION, Journal of The Institute of Navigation, vol. 27, no. 3, pp. 171 – 182, 1980.

[120] B. W. Parkinson, J. J. Spilker, P. Axelrad, and P. Enge, Global Positioning System: Theory and Applications, vol. 1, ch. 7 Fundamentals of Signal Tracking Theory. AIAA, Inc., 1996.

[121] P. Henkel, K. Giger, and C. G¨unther, “Multifrequency, multisatellite vector phase-locked loop for robust carrier tracking,” IEEE Journal on Selected Topics in Signal Processing, vol. 3, no. 4, pp. 674–681, 2009.

[122] D. Benson, “Interference benefits of a vector delay lock loop (VDLL) GPS receiver,” Proceedings of the 63rd Annual Meeting of The Institute of Navigation April 23 - 25, 2007, no. VDLL, pp. 749 – 756, 2007. 149

[123] M. Lashley, D. M. Bevly, and J. Y. Hung, “A Valid Comparison of Vector and Scalar Tracking Loops,” in IEEE/ION Position, Location and Navigation Symposium, pp. 464–474, 2010. [124] M. Lashley and D. M. Bevly, “What is the carrier phase measurement? how is it generated in gnss receivers?,” Inside GNSS, pp. 18–22, 2010. [125] M. L. Psiaki and H. Jung, “Extended Kalman Filter Methods for Tracking Weak GPS Sig- nals,” in Proceedings of the 15th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 2002), (Portland, OR), pp. 2539–2553, 2002. [126] N. I. Ziedan, W. Lafayette, and J. L. Garrison, “Extended Kalman Filter-Based Tracking of Weak GPS Signals under High Dynamic Conditions,” in ION GNSS 17th International Technical Meeting of the Satellite Division, (Long Beach, CA, USA), pp. 20–31, 2004. [127] Y. Meng, B. Qu, Y. Wang, L. Bian, L. Li, and X. Wang, “A High Sensitive GNSS Receiver for High Altitude Space Missions,” in 30th International Technical Meeting of the Satellite Division of the Institute of Navigation (ION GNSS+ 2017), (Portland, OR), pp. 1688–1694, 2017. [128] X. Wang, D. Gong, Y. Wang, B. Qu, L. Li, H. Xingyuan, and Y. Meng, “Test Results of HiSGR: A Novel GNSS / INS Ultra Tight Coupled Spaceborne Test results of HiSGR,” in China Satellite Navigation Conference (CSNC) 2017 Proceedings: Volume II. CSNC 2017, 2017. [129] B. D. Tapley, B. E. Schutz, and G. H. Born, Statistical Orbit Determination. Elsevier Aca- demic Press, 2004. [130] X. Li and D. Akos, “Implementation and performance of clock steering in a software GPS L1 single frequency receiver,” NAVIGATION, Journal of the Institute of Navigation, vol. 57, no. 1, pp. 69–85, 2010. [131] R. G. Brown and P. Y. C. Hwang, Introduction to Random Signals and Applied Kalman Filtering with MATLAB Exercises. John Wiley & Sons, Inc., 4th ed ed., 2013. [132] R. Schneider and C. Georgakis, “How to NOT make the extended kalman filter fail,” Industrial and Engineering Chemistry Research, vol. 52, no. 9, pp. 3354–3362, 2013. [133] A. Reichert, T. Meehan, and T. Munson, “Toward Decimeter-Level Real-Time Orbit Determi- nation: A Demonstration Using the SAC-C and CHAMP Spacecraft,” in Proceedings of the 15th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GPS 2002),, pp. 1996–2003, 2002. [134] O. Montenbruck, Miquel Garcia-Fernandez, and J. Williams, “Performance comparison of semicodeless GPS receivers for LEO satellites,” GPS Solutions, vol. 10, no. 4, pp. 249–261, 2006. [135] O. Montenbruck and P. Ramos-Bosch, “Precision real-time navigation of LEO satellites using global positioning system measurements,” GPS Solutions, vol. 12, no. 3, pp. 187–198, 2008. [136] A. Hauschild, J. Tegedor, O. Montenbruck, H. Visser, and M. Markgraf, “Precise Onboard Orbit Determination for LEO Satellites with Real-Time Orbit and Clock Corrections,” in Proceedings of the 29th International Technical Meeting of the ION Satellite Division (ION GNSS+ 2016), (Portland, OR, USA), 2016. 150

[137] G. Born, “Coordinate systems,” Class Notes, ASEN 3200, 2006.

[138] C. Ruf, S. Gleason, Z. Jelenak, S. Katzberg, A. Ridley, R. Rose, J. Scherrer, and V. Zavorotny, “The NASA EV-2 Cyclone Global Navigation Satellite System (CYGNSS) mission,” in IEEE Aerospace Conference Proceedings, pp. 1–7, 2013.

[139] “Cyclone global navigation satellite system (CYGNSS) CYGNSS Lessons Learned (LL) Re- port,” Tech. Rep. April, 2018.

[140] C. D. Bussy-Virat, A. J. Ridley, A. Masher, K. Nave, and M. Intelisano, “Assessment of the Differential Drag Maneuver Operations on the CYGNSS Constellation,” IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, vol. 12, no. 1, pp. 7–15, 2019.

[141] R. Panwar, “Satellite orbital decay calculations.” http://www.sws. bom.gov.au/Category/Educational/SpaceWeather/SpaceWeatherEffects/ SatelliteOrbitalDecayCalculations.pdf, 2000. Acessed: 2019-6-18.

[142] “Space weather prediction center: F10.7 CM RADIO EMISSIONS.” https://www.swpc. noaa.gov/phenomena/f107-cm-radio-emissions. Accessed: 2019-6-18.

[143] “Space weather prediction center: AP Progression.” https://www.swpc.noaa.gov/ products/solar-cycle-progression. Accessed: 2019-6-18.