48
Wright State University Wright State University CORE Scholar CORE Scholar Browse all Theses and Dissertations Theses and Dissertations 2017 GNSS Receiver Testing and Algorithm Development GNSS Receiver Testing and Algorithm Development Rachael E. Kolker Wright State University Follow this and additional works at: https://corescholar.libraries.wright.edu/etd_all Part of the Electrical and Computer Engineering Commons Repository Citation Repository Citation Kolker, Rachael E., "GNSS Receiver Testing and Algorithm Development" (2017). Browse all Theses and Dissertations. 1730. https://corescholar.libraries.wright.edu/etd_all/1730 This Thesis is brought to you for free and open access by the Theses and Dissertations at CORE Scholar. It has been accepted for inclusion in Browse all Theses and Dissertations by an authorized administrator of CORE Scholar. For more information, please contact [email protected].

GNSS Receiver Testing and Algorithm Development

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GNSS Receiver Testing and Algorithm Development

Wright State University Wright State University

CORE Scholar CORE Scholar

Browse all Theses and Dissertations Theses and Dissertations

2017

GNSS Receiver Testing and Algorithm Development GNSS Receiver Testing and Algorithm Development

Rachael E. Kolker Wright State University

Follow this and additional works at: https://corescholar.libraries.wright.edu/etd_all

Part of the Electrical and Computer Engineering Commons

Repository Citation Repository Citation Kolker, Rachael E., "GNSS Receiver Testing and Algorithm Development" (2017). Browse all Theses and Dissertations. 1730. https://corescholar.libraries.wright.edu/etd_all/1730

This Thesis is brought to you for free and open access by the Theses and Dissertations at CORE Scholar. It has been accepted for inclusion in Browse all Theses and Dissertations by an authorized administrator of CORE Scholar. For more information, please contact [email protected].

Page 2: GNSS Receiver Testing and Algorithm Development

GNSS Receiver Testing and AlgorithmDevelopment

A Thesis submitted in partial fulfillmentof the requirements for the degree of

Master of Science in Electrical Engineering

by

Rachael E. KolkerB.S.E.E., Wright State University, 2015

2017Wright State University

Page 3: GNSS Receiver Testing and Algorithm Development

Wright State UniversityGRADUATE SCHOOL

May 20, 2017

I HEREBY RECOMMEND THAT THE THESIS PREPARED UNDER MY SUPER-VISION BY Rachael E. Kolker ENTITLED GNSS Receiver Testing and Algorithm DevelopmentBE ACCEPTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THEDEGREE OF Master of Science in Electrical Engineering.

Brian Rigling, Ph.D.Thesis Director

Brian Rigling, Ph.D.Chair, Department of Electrical Engineering

Committee onFinal Examination

Brian Rigling, Ph.D.

Arnab Shaw, Ph.D.

John Macdonald, Ph.D.

Robert E. W. Fyffe, Ph.D.Vice President for Research andDean of the Graduate School

Page 4: GNSS Receiver Testing and Algorithm Development

AbstractKolker, Rachael E. , M.S.E.E., Department of Electrical Engineering, Wright State University, 2017.GNSS Receiver Testing and Algorithm Development.

Many current GNSS Software Defined Receivers (SDRs) are often limited in what they

can do across a range of developmental applications. They cannot perform acquisition and

tracking without several iterations of coding, which does not allow for fast processing. This

work provides a Matlab SDR that is based on freely available and optimized components

that can be applied to all GNSS signals. A previous basis has been expanded upon to per-

form tracking of QZSS signals. In addition to this, two separate hardware front ends were

compared and their differences analyzed. These hardware systems collected data with dif-

ferent disciplining clocks, but there was no evidence to show that a significant difference

occurred depending on the clock type.

iii

Page 5: GNSS Receiver Testing and Algorithm Development

Contents

1 Introduction 11.1 Previous Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 GNSS Background 42.1 Description of GPS Processing and Plots . . . . . . . . . . . . . . . . . . . 6

3 GPS Data Collection 123.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1.1 USRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.1.2 D-TA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.1 USRP vs USRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.2 D-TA vs D-TA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2.3 D-TA vs USRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4 QZSS 274.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5 Conclusion 37

Bibliography 38

iv

Page 6: GNSS Receiver Testing and Algorithm Development

List of Figures

2.1 GPS Signals in L1 Band . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Modulated Signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3 Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 Frequency and Phase Correlation . . . . . . . . . . . . . . . . . . . . . . . 11

3.1 Hardware Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 Ettus Research N210 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3 D-TA System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.4 Skyplot for USRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.5 Hardware Correlator for USRP, using the internal TCXO. . . . . . . . . . . 173.6 Hardware Correlator for USRP, disciplined to the rubidium oscillator. . . . 173.7 Phase Lock for USRP, using the internal TCXO. . . . . . . . . . . . . . . . 183.8 Phase Lock for USRP, disciplined to the rubidium oscillator. . . . . . . . . 183.9 Code Minus Carrier for USRP, using the internal TCXO. . . . . . . . . . . 193.10 Code Minus Carrier for USRP, disciplined to the rubidium oscillator. . . . . 193.11 Chipshape for USRP, using the internal TCXO. . . . . . . . . . . . . . . . 203.12 Chipshape for USRP, disciplined to the external rubidium oscillator. . . . . 203.13 Hardware Correlator for D-TA, using the internal TCXO . . . . . . . . . . 223.14 Hardware Correlator for D-TA, disciplined to the rubidium oscillator . . . . 223.15 Phase Lock for D-TA, using the internal TCXO . . . . . . . . . . . . . . . 233.16 Phase Lock for D-TA, disciplined to the rubidium oscillator . . . . . . . . . 233.17 Code Minus Carrier for D-TA, using the internal TCXO . . . . . . . . . . . 243.18 Code Minus Carrier for D-TA, disciplined to the rubidium oscillator . . . . 243.19 Chipshape for D-TA, using the internal TCXO . . . . . . . . . . . . . . . . 253.20 Chipshape for D-TA, disciplined to the rubidium oscillator . . . . . . . . . 25

4.1 GNSS Skyplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294.2 System Diagram for QZSS Collections . . . . . . . . . . . . . . . . . . . . 304.3 Code Discriminator for Japan QZSS . . . . . . . . . . . . . . . . . . . . . 314.4 Code Discriminator for Hawaii QZSS . . . . . . . . . . . . . . . . . . . . 314.5 Frequency Discriminator for Japan QZSS . . . . . . . . . . . . . . . . . . 324.6 Frequency Discriminator for Hawaii QZSS . . . . . . . . . . . . . . . . . 32

v

Page 7: GNSS Receiver Testing and Algorithm Development

4.7 Hardware Correlator for Japan QZSS; a cleaner correlator than the Hawaiicollection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.8 Hardware Correlator for Hawaii QZSS . . . . . . . . . . . . . . . . . . . . 334.9 Excellent Phase Lock for Japan QZSS. . . . . . . . . . . . . . . . . . . . . 344.10 Phase Lock for Hawaii QZSS, does not go to unity. . . . . . . . . . . . . . 344.11 Code Minus Carrier for Japan QZSS, with a slight shift. . . . . . . . . . . . 354.12 Code Minus Carrier for Hawaii QZSS, performed as expected. . . . . . . . 354.13 Clean Chipshape for Japan QZSS with rounded edges due to the 16.368

Msamp/sec sampling rate. . . . . . . . . . . . . . . . . . . . . . . . . . . 364.14 Convoluted Chipshape for Hawaii QZSS with sharper edges due to the 100

Msamp/sec sampling rate. . . . . . . . . . . . . . . . . . . . . . . . . . . 36

vi

Page 8: GNSS Receiver Testing and Algorithm Development

List of Tables

3.1 Euclidean Distance of Chipshape, Internal vs External Clock . . . . . . . . 163.2 Euclidean Distance of Chipshape, Clocked D-TA vs Clocked USRP . . . . 26

vii

Page 9: GNSS Receiver Testing and Algorithm Development

AcknowledgmentI would like to thank my advisor Brian Rigling for his help in guiding me toward a research

topic on the base. Thanks to Dr. Macdonald for teaching me all the things I needed to know

for this work and pointing me in the right direction. Also thanks to Rachel Armstrong for

her support as we worked toward a common goal with our research. A special thanks to my

husband, Timothy Kolker, for all of his support and encouragement throughout the process.

Finally, I would like to thank my thesis committee: Brian Rigling, Arnab Shaw (WSU), and

John Macdonald (AFRL).

viii

Page 10: GNSS Receiver Testing and Algorithm Development

Chapter 1

Introduction

Global Navigation Satellite Systems (GNSSs) have signals that are broadcast from a

satellite and can then be received into a hardware system. This hardware system collects the

data from the signal and a receiver processes it to obtain various types of information such

as the satellite’s position above the earth and the time that the signal was broadcast. This

information, combined with information from additional satellites, can determine one’s

location on the earth. Before this information is obtained, each satellite needs to be iden-

tified. One way that this identification processing can be accomplished is with the use of

multi-GNSS Software Defined Receivers (SDRs). However, there can be issues in that

many SDRs are limited in their utility across a range of developmental applications. For

example, open-source SDRs can be poorly documented due to being the work of multiple

authors over long periods of time. This creates difficulty in determining how to use those

SDRs and how to adapt them for any further purposes. In addition, many of these SDRs

use generic Matlab programming, which generally means that the processing can be too

slow for rapid algorithm development.

The goal of this research was to adapt a new Matlab SDR that is based on freely avail-

able and optimized components, while testing and further developing it. Even though use of

Matlab for this work can imply a slow process, this new SDR makes use of MEX functions,

which significantly speeds up the processing. The new SDR can be utilized for identifica-

tion and analysis of the signals coming from the satellites. Our SDR processed signals that

were collected from satellites in the Japanese system (QZSS), and it was designed from an

SDR that originally worked for satellites from the Global Positioning System (GPS).

In addition, this work looks at two specific front-end hardware systems. This hard-

1

Page 11: GNSS Receiver Testing and Algorithm Development

ware collected GPS satellite signals using varying parameters, and research was done into

how the results changed when that collcted data was run through the Matlab SDR. This

document details some of the processing behind the coding for our SDR that was adapted

to collect QZSS signals, in addition to a detailed account of the comparison of the two

front-end hardware devices.

1.1 Previous Work

There have been multiple implementations of SDRs over the years. GNU Radio is a free

and open-source software development toolkit that provides signal processing blocks that

can implement software radios [1]. Examples of implementations using GNU Radio can

be found in [2] and [3]. For our purposes, we chose to use a more recent SDR called

Chameleon Chips (CChips) [4].

In 2014, Dr. Sanjeev Gunawardena of the Air Force Institute of Technology (AFIT)

designed and distributed a Matlab-based GNSS SDR called Chameleon Chips. This SDR

toolbox was designed to process large amounts of collected data in a reasonable amount

of time. Dr. Gunawardena wanted a GNSS SDR processing toolbox that would allow for

education and research to be made available to everyone using a high-level algorithm de-

velopment platform (Matlab in this instance). This toolbox features a multi-channel chip

shape correlation engine to be used for advanced GNSS development. Chip shape pro-

cessing can still be used to obtain a traditional early, prompt, and late tracking points for

a receiver, but it offers several additional benefits as detalied in [5] and [6]. The flexibil-

ity of chip shape processing motivated our work to extend and test the Chameleon Chips

implementation.

2

Page 12: GNSS Receiver Testing and Algorithm Development

1.2 Outline

The outline for the remainder of this thesis is as follows. Chapter 2 gives a background on

GNSS. It lists the different systems in place, and gives a short description of how GPS and

QZSS work with a hardware receiver for our applications. It also gives background infor-

mation on some of the different concepts that will be used throughout the remainder of this

work. Chapter 3 discusses the data collection process for GPS signals, and includes de-

scriptions on the different pieces of hardware used. First the USRP hardware is described,

followed by the D-TA product. Next is an explanation of what all of the parameters were

for each of the collections. It then shows the results of running the data from the collections

through the CChips toolbox, and gives a detailed comparison of the differences. Chapter 4

discusses the QZSS signals specifically. It gives a background on QZSS and comments on

the data that was collected that included a QZSS signal. It then discusses the performance

of the MatLab SDR when used to process the QZSS signal, and details some differences

between the collected data. The last chapter gives a conclusion on the development and

findings of this work.

3

Page 13: GNSS Receiver Testing and Algorithm Development

Chapter 2

GNSS Background

There are many different satellite systems such as the Chinese system (BeiDou) [7],

the Russian system (GLONASS) [8], the European system (Galileo) [9], and the satellite-

based augmentation systems (SBAS) [10]. Our focus was on the worldwide system, Global

Positioning System (GPS) [11], and the Japanese system, Quasi-Zenith Satellite System

(QZSS) [12]. The satellites in all of these systems broadcast signals that can then be used

for identification and positioning information.

Information on the GPS system and any future plans can be found in [11]. There are

currently 31 active satellites in the GPS constellation. A satellite is identified by its space

vehicle (SV) number, or by its pseudorandom noise (PRN) code. The GPS constellation

has PRN numbers that range from 1-32. GPS signals are sent at two carrier frequencies in

the L-band, 1575.42 MHz (referred to as L1), and 1227.60 MHz (L2). There are two types

of PRN codes utilized, the coarse/acquisition (C/A) code and precision (P) code. When

this precision code becomes encrypted, it is referred to as the P(Y) code. The C/A code

is transmitted on the L1 frequency while the P(Y) code is transmitted on both L1 and L2.

These codes are orthogonal to each other, as seen in Figure 2.1. In addition to the C/A code

and the P(Y) code, three other codes are observed in this figure. The M code is the military

signal, and the L1C signals are the pilot and data components of a newer civilian-use signal.

These signals are not being used in our algorithms.

The PRN codes vary for each satellite. For C/A, there are 1,023 chips that are trans-

mitted at 1.023 Mbit/s, allowing the entire code to be broadcast every millisecond. These

chips have the values of +1 and -1, mimicking a random sequence. However, each code

4

Page 14: GNSS Receiver Testing and Algorithm Development

Figure 2.1: GPS Signals in L1 Band

has its own specific pattern, generated by a linear feedback shift register, and they are all

orthogonal to each other. The P(Y) code is broadcast at 10.230Mbit/s, and the code repeats

once a week. When the GPS signal is collected by a receiver, it is roughly 30dB beneath

the noise floor. To recover this signal, a receiver performs correlation. All GPS receivers

know what the codes are for each satellites, and these receivers can then use correlation

to align with the incoming satellite signal’s code. This correlation function causes a sharp

peak when the incoming signal is aligned with the replica. Once the peak of the signal has

been located above the noise floor, this process is called acquisition. The receiver can then

adjust its phase and frequency components to replicate the components of the incoming

signal. This process, called tracking, ensures the receiver stays locked onto the incoming

signal.

In the QZSS constellation, there is at this time a single satellite with a PRN number

of 193. This satellite also broadcasts its signal on the L1 band, and its code structure is

similar to that of the C/A code. QZSS has a goal to complement GPS [12], so that the two

constellations can cooperate to provide positioning information. Due to multipath errors, it

is difficult to provide precise positioning information in Japan. Adding QZSS satellites over

5

Page 15: GNSS Receiver Testing and Algorithm Development

Japan that are compatible with the GPS satellites will allow for more precise positioning

due to the higher number of satellites in use [12].

2.1 Description of GPS Processing and Plots

The PRN codes transmitted from a GPS satellite are modulated onto a carrier wave using

bi-phase quadrature keying (BPSK) modulation. Figure 2.2 shows the structure of the sig-

nal that is broadcast from the satellite. The C/A code is added to navigation data, and then

modulated onto the L1 carrier. Navigation data transmits at 50bps, and contains informa-

tion such as clock bias, ephemeris data (satellite’s position and velocity), and details on the

health of the satellite. This same process happens with the P(Y) code as well [13].

Figure 2.2: Modulated Signal

When the transmitted signal from the satellite is received, the signal structure is:

s(t) = AI(t)GC/A(t)D(t) cos(2π(fL1 + ∆fSV )t+ φ)

+ AQ(t)GP (Y )(t)D(t) sin(2π(fL1 + ∆fSV )t+ φ), (2.1)

6

Page 16: GNSS Receiver Testing and Algorithm Development

where s(t) is the received signal, AI(t) is the amplitude of the in-phase (I) component of

the transmitted signal, and AQ(t) is the amplitude of the quadrature-phase (Q) component.

In addition, GP (Y )(t) is the precision, or P(Y) code, and GC/A(t) is the coarse/acquisition

(C/A) code. The L1 carrier frequency is fL1, the satellite frequency offset is ∆fSV , and the

carrier phase offset is φ, and the navigation data message is D(t). Since in our application

we were only focused on the C/A code, the P(Y) code can be ignored because of the orthog-

onality of the two codes. The C/A code is in-phase, and the P(Y) code is quadrature. Once

we account for the propagation delay, and ignoring the P(Y) signal, the equation changes:

s(t) = AI(t)GC/A(t− τC/A)D(t− τC/A)·

cos(2π(fL1 + ∆fSV )t+ φ(t− τL1)) + n0(t), (2.2)

where τC/A is the C/A code propagation delay, τL1 is the L1 carrier propagation delay, and

φ(t) is the time-dependent carrier phase. There is also a noise component at the antenna,

mainly due to thermal noise,

n0(t) ∼ N(0, σ2n0) (2.3)

σ2n0 = kBT0B (2.4)

where kB is the Boltzmann constant (1.38 × 10−23 Joules/Kelvin), T0 is the ambient tem-

perature (295K), and B is the bandwidth in Hertz.

The incoming signal reaches the receiver but is below the noise floor. To compensate

for this, a receiver can create the local replica for any of the satellites, duplicating each

satellite’s PRN code. This local replica slides to the left and right, trying to align itself with

that incoming signal’s code. As the local replica shifts, it uses different Doppler and code

phase values to help it align with the incoming signal. Both the code phase and the Doppler

7

Page 17: GNSS Receiver Testing and Algorithm Development

Figure 2.3: Correlation

frequency need to be similar to those in the incoming signal to eliminate any errors.

The correlation technique is utilized to acquire the incoming signal and position it

above the noise floor. As seen in Figure 2.3 [14], the incoming signal code is aligned

with the ”prompt” local replica. This yields the peak of the correlation triangle. The local

replica has three parts to it, the ”prompt” replica, an ”early” replica that is shifted by 1/2 a

chip from the prompt, and a ”late” replica that is shifted the other direction by 1/2 a chip.

When these shifted replicas are aligned with the incoming signal, it yields two points on

the correlation triangle that are on either side of the peak. Traditional digital correlation

uses the following equation,

C(τ) =

∫ inf

−inf

x(t)x̂(t− τ)dt, (2.5)

where x(t) is the incoming signal, x̂(t) is the local replica of the code, τ is the offset of

the codephase, and C(τ) is the local replica. More detail on the correlation process for

receivers can be found in [15]. The receiver takes the sampled IF signal and correlates it

with the local replica signal that has an estimated offset for code and Doppler frequency.

Once the receiver’s replica is fully locked onto that incoming signal, the signal rises above

8

Page 18: GNSS Receiver Testing and Algorithm Development

the noise floor, and it is determined that the satellite signal has been acquired. At this point,

the receiver moves from the acquisition stage into the tracking stage.

The specific Doppler and code phase values that the receiver’s replica used need to

stay consistent between the receiver and the satellite. These values in the transmitted signal

will vary over time due primarily to the satellite positions and ionospheric effects. The

receiver attempts to anticipate the values as they change and make adjustments accordingly,

which allows the replica and incoming signal to stay locked together. The receiver can

occasionally lose its lock with the incoming signal, but it just restarts the earlier process of

acquiring that signal.

There are many different detectors that let us know if the signal is being tracked cor-

rectly and staying locked onto the replica signal. One of these indicators is the Code Lock

Indicator [14]. This discriminator tells us whether or not the C/A code itself is locked with

the local replica. Phase and frequency discriminators compare the phase and frequency

of the local replica with the incoming signal. The carrier frequency must be locked onto

first, otherwise the phase discriminator will not lock. In addition, the Phase Lock Indica-

tor tells us the carrier phase measurement quality. It is close to unity when the received

signal has been phase locked to the replica signal. Figure 2.4 [14] shows different fre-

quency and phase scenarios. Figure 2.4(a) shows the result when the local replica has the

same frequency and the same phase as the incoming signal. This in-phase alignment of

the carrier phase and local replica gives a positive correlation. The reverse happens when

the local replica is 180°out of phase with the incoming signal, such as in Figure 2.4(b) -

there is a negative correlation. When the local replica becomes 90°out of phase with the

incoming signal, there is a zero correlation, as in Figure 2.4(c). The phase is only providing

magnitude information, and matching the frequencies must be taken into account as well.

Figure 2.4(d) then shows what happens when a second local replica enters that is 90°out

of phase with the first. The replica that is out of phase yields the largest correlation output

when the in-phase replica has a zero output. In other words, this is showcasing the orthogo-

9

Page 19: GNSS Receiver Testing and Algorithm Development

nality of the in-phase and quadrature parts of the signal. When the incoming signal has the

same frequency but an arbitrary phase, as in Figure 2.4(e), the correlation of the quadrature

phase can be represented with the complex plane. This allows both the magnitude and the

phase to be determined, using the following equations,

R̂m =√I2m +Q2

m (2.6)

φ̂m = tan−1(Qm/Im) (2.7)

with 2.6 showing the magnitude of the in-phase (I) and quadrature (Q), and 2.7 showing

the phase. Lastly, Figure 2.4(f) shows that performing correlation with zero-mean Gaussian

noise will yield small in-phase and quadrature magnitudes.

There are a few remaining detectors that help ensure that the receiver has not lost the

incoming signal in any way. The hardware correlator shows the accumulations of the in-

phase and quadrature channels. The in-phase channel goes to zero once the signal is being

tracked by the receiver. The code minus carrier is another detector that we utilize. If the

incoming signal is being properly tracked, the code and the carrier should be the same,

driving this detector to zero.

The last detector that we use for determining correct tracking with the SDR is the

chipshape. This is the result of using a mask in the local replica, which corresponds to the

different chip transitions in the C/A code. When correlated with the input signal, the result

is the average chip shape for all of the chip transitions. [15]

10

Page 20: GNSS Receiver Testing and Algorithm Development

(a) Same Freq and Phase (b) Same Freq, -180°Phase

(c) Same Freq, 90°Phase (d) Second replica 90°outof phase

(e) Same Freq, ArbitraryPhase

(f) Noise

Figure 2.4: Frequency and Phase Correlation

11

Page 21: GNSS Receiver Testing and Algorithm Development

Chapter 3

GPS Data Collection

To do any comparison with the GPS data, the signal information collected by the front-

end hardware had to be sent through the CChips SDR so that the PRNs could be acquired

and tracked. Figure 3.1 shows the block diagram for this process.

Figure 3.1: Hardware Diagram

The satellite signals were broadcast to the antenna and the data was stored inside the

front-end devices connected to the antenna. The front-end hardware is the focus of this

chapter. The data was then loaded into the CChips MatLab SDR to perform all of the

processing. First was a script for acquisition, and the code phase and Doppler values to

match the SDR with the satellite’s data were recorded. These code phase and Doppler

values for each PRN were then utilized in the tracking script, so that the satellite’s signal

could be tracked and processed.

12

Page 22: GNSS Receiver Testing and Algorithm Development

3.1 Hardware

3.1.1 USRP

The first piece of front-end hardware that was used to collect GPS data was a Universal

Software Radio Peripheral (USRP) product, an N210 from Ettus Research. It was a small

device, weighing about 1.2 kg. This product has a frequency range of 1.5GHz-2.1GHz, an

instantaneous bandwidth of 40MHz, and a variable sample rate. The clock inside the USRP

is a Thermally Compensated Crystal Oscillator (TCXO). Figure 3.2 shows the device. [16]

Figure 3.2: Ettus Research N210

3.1.2 D-TA

For the second GPS collection, the piece of front-end hardware used came from D-TA

Systems Inc. [17] It included the DTA-3200M tunable RF transceiver, the DTA-2300 multi-

channel digital IF transceiver, and the DTA-1000 RAID server. This product had a TCXO

13

Page 23: GNSS Receiver Testing and Algorithm Development

internal clock, and a variable sampling rate. Figure 3.3 [18] shows the system, however,

this image has a 3-Unit 3200 as opposed to a 1-Unit device. It also shows a DTA-5000,

which is the 3-Unit version of the 1-Unit DTA-1000.

Figure 3.3: D-TA System

3.2 Comparison

Collections were made with the D-TA and the USRP following certain parameters, as de-

scribed below. Both systems collected GPS data while disciplined to their own internal

clocks, and then the same collections were made while disciplined to an external rubidium

oscillator. The rubidium oscillator has a higher frequency standard than what the TCXO

clocks have, so it was considered to be a better clock. It can be assumed that, unless other-

wise stated, all of the collections took place at Wright Patterson Air Force Base in Dayton,

Ohio, and they also happened between the hours of 9:00 AM and 11:00 AM throughout the

months of September-October. The goal was to see if there was any noticeable difference

between the processed results of the two hardware systems, as well as to see if using a

better clock made a difference in the results for either system.

14

Page 24: GNSS Receiver Testing and Algorithm Development

3.2.1 USRP vs USRP

This section details the comparison between a collection made the morning of September

29th, 2016, and a collection made the morning of October 20th, 2016. Both collections took

place at Wright Patterson Air Force Base, and were made with the USRP N210 device.

Figure 3.4: Skyplot for USRP

The collection from September used the internal clock on the USRP, while the col-

lection from October was disciplined to the external rubidium oscillator. Both collections

used a sampling rate of 2 Msamps/sec. The sets of plots seen below are the result of data

from the USRP being run through the CChips SDR. Figure 3.4 shows the GPS satellites in

the sky at the time of the collection. For these comparisons, PRN 19 is the satellite chosen

(labeled G19 on the figure). Since the different discriminators only give information that

the local replica and the incoming signal have locked onto each other, and nothing related

15

Page 25: GNSS Receiver Testing and Algorithm Development

to how different clocks might compare, those plots aren’t shown. Figure 3.5 and Figure 3.6,

however, show the timing of when the hardware correlator actually locks. The first figure

is showing the result with using just the internal clock on the N210, whereas the second

shows the correlator with the external rubidium clock. The I-channel locks into place right

close to the same time for both of them; the disciplined collection locking in at 2000 blocks,

slightly before the non-disciplined one at closer to 2500 blocks. However, that was not a

consistent result throughout the rest of the PRNs and sampling rates of the data collected.

The next two figures, Figure 3.7 and Figure 3.8 also show the disciplined collection locking

into the phase slightly before the non-disciplined. The plots that follow are the code minus

carrier values, and both sets show that it settles around the zero axis like expected. Finally,

the last plots show the chipshape. There is almost no observable difference between Fig-

ure 3.11 and Figure 3.12. All of these plots point toward the conclusion that using a better

clock to discipline the USRP does not make a significant difference.

Table 3.1 shows the Euclidean distance of the chipshape plots, looking at each of the

five sample rates that were used in conjunction with the internal and external clock. There

are two sections, one is the positive-negative part of the chipshape, and the other is the

negative-positive part of the chipshape. As can be seen, the distances become smaller with

higher sampling rates.

Table 3.1: Euclidean Distance of Chipshape, Internal vs External Clock2 Msamps/sec 5 Msamps/sec 12.5 Msamps/sec 16.6667 Msamps/sec 25 Msamps/sec

Euclidean Distance POS-NEG 2.3511 1.9021 1.6021 1.6152 1.5618Euclidean Distance NEG-POS 2.5267 1.7377 1.6496 1.5678 1.5054

16

Page 26: GNSS Receiver Testing and Algorithm Development

Figure 3.5: Hardware Correlator for USRP, using the internal TCXO.

Figure 3.6: Hardware Correlator for USRP, disciplined to the rubidium oscillator.

17

Page 27: GNSS Receiver Testing and Algorithm Development

Figure 3.7: Phase Lock for USRP, using the internal TCXO.

Figure 3.8: Phase Lock for USRP, disciplined to the rubidium oscillator.

18

Page 28: GNSS Receiver Testing and Algorithm Development

Figure 3.9: Code Minus Carrier for USRP, using the internal TCXO.

Figure 3.10: Code Minus Carrier for USRP, disciplined to the rubidium oscillator.

19

Page 29: GNSS Receiver Testing and Algorithm Development

Figure 3.11: Chipshape for USRP, using the internal TCXO.

Figure 3.12: Chipshape for USRP, disciplined to the external rubidium oscillator.

20

Page 30: GNSS Receiver Testing and Algorithm Development

3.2.2 D-TA vs D-TA

This section details the comparison between the D-TA system when it was using its internal

clock as opposed to the external rubidium clock. These collections were taken with a

sampling rate of 100 Msamps/sec. As can be seen from Figures 3.13- 3.16, the receiver

reaches lock at close to 2000 blocks for each collection. The Chipshape plots also look

similar, with a Euclidean difference of 2.3412 for the positive-negative shape, and 2.6637

for the negative-positive shape. This follows the same pattern as the USRP collections,

showing that there does not appear to be a difference when using the different clocks to

achieve better tracking of the signals.

21

Page 31: GNSS Receiver Testing and Algorithm Development

Figure 3.13: Hardware Correlator for D-TA, using the internal TCXO

Figure 3.14: Hardware Correlator for D-TA, disciplined to the rubidium oscillator

22

Page 32: GNSS Receiver Testing and Algorithm Development

Figure 3.15: Phase Lock for D-TA, using the internal TCXO

Figure 3.16: Phase Lock for D-TA, disciplined to the rubidium oscillator

23

Page 33: GNSS Receiver Testing and Algorithm Development

Figure 3.17: Code Minus Carrier for D-TA, using the internal TCXO

Figure 3.18: Code Minus Carrier for D-TA, disciplined to the rubidium oscillator

24

Page 34: GNSS Receiver Testing and Algorithm Development

Figure 3.19: Chipshape for D-TA, using the internal TCXO

Figure 3.20: Chipshape for D-TA, disciplined to the rubidium oscillator

25

Page 35: GNSS Receiver Testing and Algorithm Development

3.2.3 D-TA vs USRP

One last comparison was made, between the USRP and the D-TA collections. The D-TA

system disciplined to the external rubidium clock was compared with the collections of the

USRP disciplined to the external rubidium clock. The images produced by the SDR for

those collections were previously shown. To obtain a result, the Euclidean distance of the

average chipshapes were compared. Table 3.2 shows those results. The Euclidean distance

decreases as the sampling rate increased on the USRP. Collections were not made with the

USRP that contained a higher sampling rate closer to the sampling rate of 100 Msamps/sec

as used by the D-TA.

Table 3.2: Euclidean Distance of Chipshape, Clocked D-TA vs Clocked USRP2 Msamps/sec 5 Msamps/sec 12.5 Msamps/sec 16.6667 Msamps/sec 25 Msamps/sec

Euclidean Distance POS-NEG 8.4219 5.2535 3.1582 2.7493 2.1775Euclidean Distance NEG-POS 8.2959 5.2440 3.0918 2.8319 2.2741

26

Page 36: GNSS Receiver Testing and Algorithm Development

Chapter 4

QZSS

4.1 Background

The Quasi-Zenith Satellite System (QZSS) is a Japanese satellite positioning system. At

the time of this writing, only one satellite has been launched, with the intent of QZSS

becoming a four-satellite system by 2018 [12]. Three of those QZSS satellites, including

the one now in existence, will follow a quasi-zenith orbit. They will be located above

the Asia-Oceania regions, but the design was specifically optimized for Japan. QZSS was

designed to be highly compatible with GPS, allowing GPS hardware and software receivers

to also receive a QZSS signal with ease. [12]

As seen in the previous chapter, the Chameleon Chips SDR can perform acquisition

and tracking algorithms on GPS satellite signals. However, this SDR needed to be adapted

so that it could also perform those algorithms on a QZSS signal. Detailed information

on the interface specifications for QZSS can be found in [19]. The Chameleon Chips

SDR for QZSS was able to utilize many of the components that the SDR for GPS signals

included. One difference between the QZSS signal and the GPS signal is in the navigation

data portion of the signal. A GPS satellite’s data signal includes information about the

ionospheric parameters for all over the world, but the QZSS satellite’s data signal only

includes parameters for Japan and the immediately surrounding area. Another difference is

due to the fact that QZSS signals do not include a P or P(Y) code, unlike the GPS signals.

Because of this, there was no orthogonality between those different portions of the signal

to consider. An additional difference is within the state machine that is utilized within

27

Page 37: GNSS Receiver Testing and Algorithm Development

the Matlab code to transition between the tracking discriminators. The parameters used to

control the QZSS state machine have different values than the state machine for the GPS

SDR.

4.2 Performance

Data was collected while in Hawaii on April 7th, 2016 which included the QZSS satellite in

addition to GPS satellites. This collection was made with the D-TA equipment at 1:50 pm

Hawaii Standard Time. The collection lasted for an hour. After the collection, the data was

then sent into the new QZSS SDR. Figure 4.1 [20] shows the GPS and QZSS satellites that

were in view at the time of the collection. The QZSS satellite was located on the horizon

during that time, due to the distance between Hawaii and the satellite’s location over Japan.

The QZSS satellite is labeled 193 on the 15°line in the figure. The rest of the satellites in

the image are GPS signals that were also in view.

When measured by the CChips SDR, the QZSS signal had a strength of just under

40dB. The signal strength should be above 40dB to be considered a strong signal. The

weakness of the QZSS satellite was because of its location on the horizon relative to Hawaii.

Because of this, the tracking results generated by the SDR were also weak. To prove that the

signal strength was the definite factor for poor tracking results, we ran another collection

of QZSS data through CChips as well. This collection was done with a LabSat device [21].

The collection happened in Japan itself, so the signal strength of the satellite was much

stronger than our collection from Hawaii. The strength of this signal from the Japanese

collection was measured at 45dB with our SDR. The following figures show the results

from both of the collections, run with similar CChips parameters, and one can see that the

tracking quality was indeed much better with the data from Japan. Because the difference

was with the data and not with CChips, this shows that the adapted version of CChips can

perform tracking on QZSS as well as on GPS.

28

Page 38: GNSS Receiver Testing and Algorithm Development

Figure 4.1: GNSS Skyplot

Figure 4.2 shows the system diagram for the two different collections used in this

research. QZSS satellite data was collected from Japan into the LabSat device, as well as

from Hawaii into the D-TA system. Both sets of data were then processed by the SDR.

Figures 4.3- 4.6 show the code discriminator and the frequency discriminator for both

the pre-collected data from Japan and the data that we collected while in Hawaii. Both sets

of discriminator plots stay around the zero-axis, as expected. The data from Hawaii makes

a larger reduction in its own size than the Japanese data does for the code discriminator due

to accumulation parameters changing in the code. Each block corresponds to a millisecond

of the collection. The hardware correlator figures, Figure 4.7 and Figure 4.8, vary due to

the tracking ability. The Japanese data shows a fully working hardware correlator, with the

in-phase portion going to the zero axis around 2000-2500 blocks. The data from Hawaii,

29

Page 39: GNSS Receiver Testing and Algorithm Development

Figure 4.2: System Diagram for QZSS Collections

however, is more convoluted. The in-phase component does go to zero around 3000 blocks,

but it is difficult to read and not well defined due to the poor tracking. Figure 4.9 and

Figure 4.10 show the phase lock status. As seen, the pre-collected data reaches unity around

2000-2500 blocks and then stays locked in place. However, the data from Hawaii does not

reach unity. It appears to get close at 3000 blocks, but then it keeps losing that unity,

implying that the receiver’s local signal is not staying aligned with the incoming signal.

This is one of the issues due to having a weaker signal. The next set of figures show the

code minus carrier. For the Japanese data, Figure 4.11, the code minus carrier goes to zero

as it should around 2500 blocks. However, there was a slight issue in that it started to slowly

shift away from the zero axis as time progressed. The Hawaii code minus carrier performs

well, though; Figure 4.12 goes to zero around 3000 blocks. The final two figures show the

chipshape plots. They do vary from each other quite a bit, but the average chipshape is still

easily seen in both of them. Figure 4.13 has a rounded shape while Figure 4.14 has sharper

edges. Each of these signals were collected with different sampling rates, which implies

differing bandwidth, which then explains the main difference in the shapes between the

two chipshape plots. The data from the LabSat had a sampling rate of 16.368 Msamps/sec,

whereas the collected data from Hawaii was at 100 Msamps/sec.

30

Page 40: GNSS Receiver Testing and Algorithm Development

Figure 4.3: Code Discriminator for Japan QZSS

Figure 4.4: Code Discriminator for Hawaii QZSS

31

Page 41: GNSS Receiver Testing and Algorithm Development

Figure 4.5: Frequency Discriminator for Japan QZSS

Figure 4.6: Frequency Discriminator for Hawaii QZSS

32

Page 42: GNSS Receiver Testing and Algorithm Development

Figure 4.7: Hardware Correlator for Japan QZSS; a cleaner correlator than the Hawaiicollection

Figure 4.8: Hardware Correlator for Hawaii QZSS

33

Page 43: GNSS Receiver Testing and Algorithm Development

Figure 4.9: Excellent Phase Lock for Japan QZSS.

Figure 4.10: Phase Lock for Hawaii QZSS, does not go to unity.

34

Page 44: GNSS Receiver Testing and Algorithm Development

Figure 4.11: Code Minus Carrier for Japan QZSS, with a slight shift.

Figure 4.12: Code Minus Carrier for Hawaii QZSS, performed as expected.

35

Page 45: GNSS Receiver Testing and Algorithm Development

Figure 4.13: Clean Chipshape for Japan QZSS with rounded edges due to the 16.368Msamp/sec sampling rate.

Figure 4.14: Convoluted Chipshape for Hawaii QZSS with sharper edges due to the 100Msamp/sec sampling rate.

36

Page 46: GNSS Receiver Testing and Algorithm Development

Chapter 5

Conclusion

This work shows how a GPS SDR was used for looking at the results of two different

front-end hardware receivers that were collecting GPS data. Using both the internal clocks

of those receivers and an external clock showed results which implied that there was not

a difference when choosing a clock source. In addition, it was shown that the SDR which

works for GPS signals can also be adapted and used for the processing of QZSS signals.

Future work may be done by further adapting the CChips SDR for additional GNSS

signals. Research can also be done into more comparisons with the front-end hardware

receivers to see what parameters can be changed between the scenarios that still allow for

adequate acquisition and tracking to be done on the SDR.

37

Page 47: GNSS Receiver Testing and Algorithm Development

Bibliography

[1] “Gnu radio,” ’The Free and Open Software Radio Ecosystem’.

[2] E. A. Thompson, N. Clem, I. Renninger, and T. Loos, “Software-defined gps receiver

on usrp-platform,” Journal of Network and Computer Applications, vol. 35, no. 4,

p. 13521360, 2012.

[3] A. Csete, “Welcome to gqrx,” Gqrx SDR.

[4] S. Gunawardena, “Chameleon chips,” GNSS SDR Tools for Education and Research,

2014.

[5] S. Gunawardena, ION GNSS, p. 15601576. 2013.

[6] S. Gunawardena, “A universal gnss software receiver toolbox,” Inside GNSS, p. 5867,

2014.

[7] “Beidou general introduction,” ’BeiDou General Introduction - Navipedia’, 2011.

[8] “Glonass general introduction,” ’GLONASS General Introduction - Navipedia’, 2011.

[9] “Galileo general introduction,” ’Galileo General Introduction - Navipedia’, 2011.

[10] “Sbas general introduction,” SBAS General Introduction - Navipedia, 2011.

[11] J. v. Rodrguez, “Gps signal plan,” Navipedia, 2011.

[12] “Qzss (quasi-zenith satellite system),” ’Quasi-Zenith Satellite System(QZSS)’.

[13] P. Misra and P. Enge, Global Positioning System: Signals, Measurements, and Per-

formance. Ganga-Jamuna Press, 2nd ed., 2012.

[14] S. Gunawardena, “The gnss receiver design,” EENG 633, 2016.

38

Page 48: GNSS Receiver Testing and Algorithm Development

[15] R. Armstrong, J. Macdonald, and S. Gunawardena, “Gnss receiver design develop-

ment based on chipshape correlation,” Joint Navigation Conference, 2016.

[16] “Ettus research,” ’USRP N210 Software Defined Radio (SDR)’.

[17] “D-ta systems inc. - home,” D-TA Systems Inc.

[18] “Multi-antenna data recording,” ’Censin Technology’.

[19] “Interface specifications for qzss,” ’QZ-vision’, 2016.

[20] “Gnss view,” ’GNSS View’, 2014.

[21] I. Drewitz, “Labsat - gps simulator, gps signal generator,” ’LabSat’.

39