Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(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
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
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
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
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
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
Figure 3.5: Hardware Correlator for USRP, using the internal TCXO.
Figure 3.6: Hardware Correlator for USRP, disciplined to the rubidium oscillator.
17
Figure 3.7: Phase Lock for USRP, using the internal TCXO.
Figure 3.8: Phase Lock for USRP, disciplined to the rubidium oscillator.
18
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
Figure 3.11: Chipshape for USRP, using the internal TCXO.
Figure 3.12: Chipshape for USRP, disciplined to the external rubidium oscillator.
20
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
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
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
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
Figure 3.19: Chipshape for D-TA, using the internal TCXO
Figure 3.20: Chipshape for D-TA, disciplined to the rubidium oscillator
25
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
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
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
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
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
Figure 4.3: Code Discriminator for Japan QZSS
Figure 4.4: Code Discriminator for Hawaii QZSS
31
Figure 4.5: Frequency Discriminator for Japan QZSS
Figure 4.6: Frequency Discriminator for Hawaii QZSS
32
Figure 4.7: Hardware Correlator for Japan QZSS; a cleaner correlator than the Hawaiicollection
Figure 4.8: Hardware Correlator for Hawaii QZSS
33
Figure 4.9: Excellent Phase Lock for Japan QZSS.
Figure 4.10: Phase Lock for Hawaii QZSS, does not go to unity.
34
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
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
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
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
[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