Real-time Kinematic Positioning: Background, Assessment ...
Transcript of Real-time Kinematic Positioning: Background, Assessment ...
Real-time Kinematic Positioning:Background, Assessment and Forecasting
A thesis submitted to the faculty of the University of Minnesota by
John Jackson
In partial fulfillment of the requirements for the degree of Master of Science
Demoz Gebre-Egziabher
2018 July
Contents
List of Figures ii
List of Tables ii
1 Introduction 1
2 Background 4
2.1 Global Navigation Satellite Systems . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Reference Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 GPS Signal Description . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Position and Time Determination with GNSS . . . . . . . . . . . . . . . . . 7
2.2.1 Pseudorange Observable . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2.2 Carrier Phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Data Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.1 Measurement Exchange Formats . . . . . . . . . . . . . . . . . . . . 11
2.3.2 Solution Exchange Formats . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Challenges of GNSS Navigation . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Assessment 15
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 Performance Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2.1 RTK Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.2 RTK Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.3 RTK Continuity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.4 Time to First RTK Fix . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Experiment Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.1 PyRTK Data Collection Software . . . . . . . . . . . . . . . . . . . . 19
3.3.2 Static Test Considerations . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.3 Dynamic Test Considerations . . . . . . . . . . . . . . . . . . . . . . 19
3.4 Static Experiment Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4.1 Accuracy for Static Tests . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4.2 Availability for Static Tests . . . . . . . . . . . . . . . . . . . . . . . 29
3.4.3 Continuity for Static Tests . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.4 Time to First RTK Fix . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.5 Dynamic Experiment Results . . . . . . . . . . . . . . . . . . . . . . . . . . 33
i
3.5.1 Accuracy for Dynamic Tests . . . . . . . . . . . . . . . . . . . . . . . 33
3.5.2 Continuity for Dynamic Tests . . . . . . . . . . . . . . . . . . . . . . 37
3.5.3 Availability for Dynamic Tests . . . . . . . . . . . . . . . . . . . . . 39
3.6 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4 Forecasting 43
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Neural Network Background . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3.1 Recurrent Neural Networks . . . . . . . . . . . . . . . . . . . . . . . 47
4.4 Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4.1 Experimental Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4.2 Forecaster Topology . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.4.3 General Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.5 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.5.1 Direct Measurement Forecasts . . . . . . . . . . . . . . . . . . . . . 54
4.5.2 Delta Measurement Forecast . . . . . . . . . . . . . . . . . . . . . . 57
4.5.3 Improving the Delta Method Forecasts . . . . . . . . . . . . . . . . . 58
4.6 Assessing RNN Measurement Predictions . . . . . . . . . . . . . . . . . . . 64
4.6.1 Calculating the Position Solution . . . . . . . . . . . . . . . . . . . . 65
4.7 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5 Conclusion 69
Bibliography 70
A Appendix 75
ii
List of Figures
1.1 Army deputy Lt. Col. Paul Weber wearing an early GPS receiver. . . . . . 3
1.2 Simple illustration of the RTK positioning problem with a reference receiver
and a rover receiver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Illustration of the GPS signal structure from carrier wave to code phase to
navigation data wave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Example NMEA navigation solution string from a GPS receiver. . . . . . . 12
3.1 Map of the Minnesota Continuously Operating Reference Station (MnCORS)
network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Illustration of the experimental setup. . . . . . . . . . . . . . . . . . . . . . 22
3.3 The hardware setup showing the low-cost receivers in a protective container. 22
3.4 Horizontal position accuracy CDF from static testing at the rural location
using the multifrequency antenna. . . . . . . . . . . . . . . . . . . . . . . . 23
3.5 Horizontal position accuracy CDF from static testing at the rural location
using the patch antenna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.6 Horizontal position accuracy CDF from static testing at the suburban loca-
tion using the multifrequency antenna. . . . . . . . . . . . . . . . . . . . . . 25
3.7 Horizontal position accuracy CDF from static testing at the suburban loca-
tion using the patch antenna. . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.8 Horizontal position accuracy CDF from static testing at the urban location
using the multifrequency antenna. . . . . . . . . . . . . . . . . . . . . . . . 27
3.9 Horizontal position accuracy CDF from static testing at the urban location
using the patch antenna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.10 RTK availability for static testing in the rural environment. . . . . . . . . . 29
3.11 RTK availability for static testing in the suburban environment. . . . . . . 30
3.12 RTK availability for static testing in the urban environment. . . . . . . . . 31
3.13 Horizontal position accuracy CDF from dynamic testing on the rural route
using the multifrequency antenna. . . . . . . . . . . . . . . . . . . . . . . . 34
3.14 Horizontal position accuracy CDF from dynamic testing on the overhead
bridges route using the multifrequency antenna. . . . . . . . . . . . . . . . . 35
3.15 Horizontal position accuracy CDF from dynamic testing on the urban route
using the multifrequency antenna. . . . . . . . . . . . . . . . . . . . . . . . 36
iii
3.16 Piksi Multi RTK fixed-integer loss of lock while traveling under a bridge on
the overhead bridges route. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.17 Eclipse P307 RTK fixed-integer loss of lock while traveling under a bridge on
the overhead bridges route. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.18 RTK availability from dynamic testing for each route using the multifre-
quency antenna. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.1 Overview of forecasting architecture. . . . . . . . . . . . . . . . . . . . . . . 44
4.2 Illustration of a single neuron. . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.3 Illustration of a 2-layer, fully-connected neural network. . . . . . . . . . . . 46
4.4 Graphic illustrating general recurrent neural network architecture. . . . . . 47
4.5 L1 carrier-phase measurements for each satellite on March 14th, 18:00 to
18:59 UTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.6 L1 carrier-phase measurements for each satellite on March 15th, 18:00 to
18:59 UTC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.7 The network topology used for all experiments. . . . . . . . . . . . . . . . . 53
4.8 Forecast of L1 carrier-phase measurements 600 seconds out using the direct
one-day method for each GPS satellite. . . . . . . . . . . . . . . . . . . . . . 55
4.9 Forecast of L1 carrier-phase measurements 600 seconds out using the direct
two-day method for each GPS satellite. . . . . . . . . . . . . . . . . . . . . 56
4.10 Forecast of L1 carrier-phase measurements 600 seconds out using the delta
one-day method for each GPS satellite. . . . . . . . . . . . . . . . . . . . . . 58
4.11 Forecast of L1 carrier-phase measurements 100 seconds out using the delta
one-day method for each GPS satellite. . . . . . . . . . . . . . . . . . . . . . 59
4.12 Forecast of L1 carrier-phase measurements 600 seconds out using the delta
two-day method for each GPS satellite. . . . . . . . . . . . . . . . . . . . . 60
4.13 Forecast of L1 carrier-phase measurements 100 seconds out using the delta
two-day method for each GPS satellite. . . . . . . . . . . . . . . . . . . . . 61
4.14 Forecast of L1 carrier-phase measurements 600 seconds out using the delta
mean-reduction method for each GPS satellite. . . . . . . . . . . . . . . . . 61
4.15 Forecast of L1 carrier-phase measurements 100 seconds out using the delta
mean-reduction method for each GPS satellite. . . . . . . . . . . . . . . . . 62
4.16 Forecast of L1 carrier-phase measurements 600 seconds out using the delta
mean-reduction, carrier-phase only method for each GPS satellite. . . . . . 62
4.17 Forecast of L1 carrier-phase measurements 100 seconds out using the delta
mean-reduction, carrier-phase only method for each GPS satellite. . . . . . 63
4.18 NED position errors w.r.t. the original solution up to falling out of RTK mode. 66
iv
4.19 NED position errors w.r.t. the original solution up to one minute after fore-
casting begins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
A.1 Location of the TURKEY MN037 marker used for static testing. . . . . . . 75
A.2 Location of the UNIVERSITY1934 marker used for static testing. . . . . . 76
A.3 Location of the SCHREIBER marker used for static testing. . . . . . . . . . 77
A.4 The bridges route for dynamic data collection. . . . . . . . . . . . . . . . . 78
A.5 The urban route for dynamic data collection. . . . . . . . . . . . . . . . . . 79
A.6 Absolute prediction error for the direct 1-day method. . . . . . . . . . . . . 80
A.7 Absolute prediction error for the direct 2-day method. . . . . . . . . . . . . 80
A.8 Absolute prediction error for the delta 1-day method. . . . . . . . . . . . . 81
A.9 Absolute prediction error for the delta 2-day method. . . . . . . . . . . . . 81
A.10 Absolute prediction error for the delta mean-reduction method. . . . . . . . 82
A.11 Absolute prediction error for the delta mean-reduction, carrier-only method. 82
v
List of Tables
2.1 GPS carrier frequency information . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Summary of RINEX file types and uses. . . . . . . . . . . . . . . . . . . . . 12
2.3 Dissection of the NMEA string above. . . . . . . . . . . . . . . . . . . . . . 13
2.4 Possible values for the GGA fix type. . . . . . . . . . . . . . . . . . . . . . . . 13
3.1 Summary of the performance metrics used for receiver evaluation. . . . . . . 16
3.2 Summary of the receivers used for this assessment. . . . . . . . . . . . . . . 18
3.3 RTK Losses per RTK Minute in the rural, suburban and urban environments
from static testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.4 RTK Reacquisition Time in the rural, suburban and urban environments
from static testing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.5 Time to Initialize RTK Fixed-Integer solution and hold for 10 subsequent
seconds in the rural, suburban and urban environments from static testing. 33
3.6 Firmware loaded on each receiver used in this assessment. . . . . . . . . . . 42
4.1 Parameters used for all networks in this study. . . . . . . . . . . . . . . . . 51
4.2 Summary of the forecasting experiments carried out. . . . . . . . . . . . . . 54
4.3 Prediction error for each experiment at different forecasting horizons. . . . . 64
vi
Abstract
This thesis presents an introduction and work performed related to real-time kinematic
(RTK) positioning. RTK positioning is a differential positioning method that uses signals
from global navigation satellite systems (GNSS). Position solutions using RTK methods
have a nominal accuracy on the order of centimeters and are available in real-time, making
them useful for such applications as autonomous vehicles and mobile robotics, driver-assist
technologies, and precise geospatial data collection. First, a background on positioning using
GNSS and RTK methods is presented. Next, an assessment of low-cost RTK receivers for
the Minnesota Department of Transportation is described. Several low-cost RTK-capable
receivers were assessed using metrics related to accuracy, availability, continuity and ini-
tialization in different environments during static and dynamic tests. The low-cost mul-
tifrequency receiver tested performed more consistently than the single-frequency low-cost
receivers, especially for the dynamic tests. Of the low-cost single frequency receivers, there
is a wide range in performance metrics. In addition, a multi-thousand dollar receiver was
tested and outperformed all of the low-cost receivers in all environments. Finally, a fore-
casting method using recurrent neural networks is explored to increase the robustness of
RTK positioning. The methodology presented here was unable to create a reliable RTK
solution, but suggestions are offered for future work. The goal of this thesis is to familiarize
the reader with the basic premise of RTK positioning and educate them on the capabilities
of low-cost receivers.
vii
Acknowledgments
I would like to extend my deepest gratitude towards my advisor, Professor Demoz Gebre-
Egziabher, for his encouragement and guidance. Were it not for our chance encounter on
the East River Road, I would not be writing this thesis.
A big thank you to Professor Linares and Professor Donath for serving on my thesis com-
mittee.
I am very grateful for the help of Brian Davis, Research Fellow from the Intelligent Vehicles
Laboratory, who also worked on the assessment.
To those in Akerman 309, I could not have done it without you.
Of course, I am nothing without my family, friends and Roch – I love you all.
viii
1. Introduction
Navigation is an endeavor that enables us to explore the Earth, travel to the surface of the
moon, and reach beyond our solar system. It also helps us to find our way around in a new
city. Humans are far from the first creatures to perform navigation or the determination
of one’s position. Migrating salmon are thought to be born with a “magnetic map” for
finding a particular feeding ground [1]. Dung beetles seem to use the gradient of the milky
way to maintain their heading [2]. There is evidence that honeybees use polarized sunlight
to determine directions to sources of food and communicate with other bees [3]. These
fascinating examples show that navigation is a natural phenomenon.
As humans, we are limited in our natural sensing capabilities. Thus tools and technolo-
gies have been developed over time to assist our navigation. A major achievement in the
technological advancement of navigation are Global Navigation Satellite Systems (GNSS),
satellite constellations that enable world-wide position and time determination. The first
such constellation was the Global Positioning System (GPS) developed by the US Air Force
and Department of Defense in the 1970s [4]. Today, several countries and coalitions have
their own GNSS and regional systems, such as Russia, India and the European Union [5].
The growing abundance of independent GNSS systems has given rise to multiconstellation
GNSS navigation.
GNSS navigation has revolutionized many facets of life and will keep doing so as the
technology advances and becomes more accessible. Having a reliable system for position
and time determination has brought about personal navigation in our pockets [6], assistance
for plow drivers in adverse visual conditions [7], guided munitions that minimize collateral
damage [8], and the synchronization of utility grids and financial transactions on a global
scale [9]. Small satellites like CubeSats frequently use GNSS for on-orbit position and time
determination [10]. All of this and more is due to the open availability of GNSS.
Prior to the year 2000, the GPS constellation included a debilitating feature called Se-
lective Availability (SA) in the civilian access signal [11]. When switched on, it inserted
artificial noise into the signal. This caused the variance of calculated positions to be on the
order of hundreds of meters. Using modern receivers and antennas, a typical uncorrected
position solution has an accuracy on the order of meters. In the 1980s, Counselman et al.
showed that the carrier wave of the GPS signal could be used for centimeter-level position-
ing [12]. Using the carrier wave is especially challenging because of its ambiguous nature.
Two methods for centimeter-level positioning from the carrier wave are differential carrier-
phase positioning and precise-point positioning. Differential carrier-phase positioning uses
measurements from a nearby receiver to calculate a precise relative solution. Precise-point
1
positioning uses high-precision information about the satellites to calculate a precise abso-
lute solution.
This thesis is concerned with the relative navigation algorithm called real-time kine-
matic (RTK) positioning, which is a subset of differential carrier-phase positioning. RTK
positioning requires a rover receiver and a reference receiver within the vicinity of the rover.
RTK positioning can produce position solutions in real time with a high accuracy (2 cen-
timeters, nominally) relative to the reference receiver. If the reference receiver’s position
is known with respect to the Earth, then the rover’s RTK position solution is an absolute
position solution.
Early GNSS receivers were large, bulky devices that limited their wide adoption, as seen
in Figure 1.1. With the proliferation of microelectronics, many fully-fledged receivers are
now smaller than a credit card. Along with their size, the cost of receivers (and antennas)
has fallen as well. As a result, low-cost ($500 or less) RTK receivers have been offered
on the market over the past several years. As new receivers are released and old ones are
obsolesced, understanding the capabilities and limitations of low-cost RTK receivers will
require diligence. The first work performed for this thesis evaluated the performance of
five low-cost and one mid-cost receiver for the Minnesota Department of Transportation
(MnDOT).
Calculating an RTK position solution requires periodic measurements from a reference
receiver. One common method is using a continuously operating reference station (CORS)
network [14]. A CORS network is made up of anywhere from a few to hundreds of GNSS
receivers dispersed throughout a geographic area. These receivers are connected to a central
server via the internet, and the server sends users GNSS measurements for RTK naviga-
tion. The measurements may be from the closest reference station, or by interpolating
the reference stations within the network to generate virtual measurements. The second
work performed for this thesis investigated using a recurrent neural network (RNN) for
forecasting CORS measurements in case connection to the CORS network is lost.
In the next chapter, a brief background of GNSS and signals is introduced. The reader
is walked through the architecture of GNSS to see how the signal is utilized. In Chapter
3, an assessment of low-cost RTK receivers is discussed. In Chapter 4, work towards using
recurrent neural networks is discussed to augment RTK positioning functionality.
2
Figure 1.1: Army deputy Lt. Col. Paul Weberwearing an early GPS receiver [13].
Figure 1.2: Simple illustration of the RTK po-sitioning problem with a reference receiver anda rover receiver.
3
2. Background
2.1 Global Navigation Satellite Systems
Global navigation satellite system (GNSS) is a term for a satellite constellation that facili-
tates positioning and timing in the global reference frame. There are several GNSS operated
by different governments, and there are a handful of Regional Navigation Satellite Systems
(RNSS) that provide navigation services in certain localities.
The Global Positioning System (GPS) is the GNSS constellation managed by the United
States Air Force and Department of Defense. Its conception and initial development took
place in the 1970s and 1980s with the first generation of GPS satellites known as NAVSTAR.
Advancements in technology have resulted in new generations of satellites known as GPS
II and GPS III satellites. The last GPS II satellites were deployed in 2016, and the initial
block of GPS III satellites may launch in 2018 [15], [16].
GNSS constellations beyond GPS and their respective countries of operation are [5]:
• BeiDou - People’s Republic of China
• Galileo - European Union
• Global Navigation Satellite System (GLONASS) - Russian Federation
Regional navigation satellite systems available or in development include:
• Quasi-Zenith Satellite System (QZSS) - Japan
• Indian Regional Satellite System (NAVIC) - India
Each GNSS constellation is programmatically divided into three segments; the space
segment, the ground segment and the user segment [17]. The space segment consists of all
the satellite vehicles. Satellite vehicles transmit signals that the user segment can use to
navigate. The most critical component of a GNSS satellite is the onboard clock. A stable
clock is critical to generate consistent signals that are synchronized with all other vehicles
in the constellation. The ground segment is a network of ground stations that track and
communicate with the space segment. The role of the ground segment is to update the
orbital and clock parameters of each satellite and to monitor the status and health of each
vehicle. The user segment is made up of the millions receivers and antennas that is use a
constellation to perform navigation.
For the GPS constellation, there are nominally 24 satellites in operation at all times.
The satellites are orbit the Earth in one of six orbital planes. Each satellite occupies one
4
of 24 slots, with four slots in each orbital plane. The orbital planes are defined such that
a receiver-antenna pair will see a minimum of four satellites anywhere on Earth. A few of
the orbital slots are expandable, meaning they can accommodate a second satellite. Thus
there are 27 specified slots for satellites. For redundant satellites, there are no specific slots
[17].
Receivers that are capable of using two or more GNSS constellations are called multi-
constellation receivers. Receivers that use more than one constellation have more satellites
to utilize, resulting in more information at their disposal.
2.1.1 Reference Frames
Position and time solutions are calculated within the context of a reference frame. A frame
is absolute if it is inertial i.e. a non-accelerating frame. For example, the reference frames
based on the center of the Earth are absolute if the rotation and orbit of the Earth are
irrelevant to the navigation problem at hand. GNSS position solutions are expressed in
terms of an Earth-centered, Earth-fixed frame. The parameters defining the characteristics
of the Earth are defined by global coordinate systems.
The World Geodetic System 1984 (WGS84) is a standard that governs a worldwide
reference frame for geospatial applications including the GPS constellation. It identifies
four parameters regarding the Earth: its semi-major axis, its flattening factor, its angular
velocity, and the geocentric gravitational constant [18]. The GLONASS constellation uses a
different standard called PZ-90, and the EU developed a derivative of WGS84 for GALILEO
[19]. Such global reference frames have been defined and revisited to make GNSS viable
everywhere.
The position solution can be expressed in polar form with latitude, longitude and altitude
from the Earth’s surface, or in Cartesian form using the distance offsets from the center
of the Earth. The time solution is expressed relative to a point in the past, called an
epoch. The GPS Epoch is midnight on January 1, 1980 universal time (UT) and offset by
16 seconds from universal coordinated time (UTC)[20].
2.1.2 GPS Signal Description
The structure of the GPS signal description is introduced to familiarize the reader with
GNSS signals in general. Refer to each constellation’s standards document for differences
specific to the constellation.
The GPS signal is transmitted from each satellite in the constellation. There are three
layers to the signal: the carrier wave, the code data, and the navigation data. The three
components are multiplexed to create the final waveform. The signal structure is illustrated
5
in Figure 2.1.
The purpose of the signal is to provide enough information for a receiver to determine
its position on Earth. The complete description of parameters that describe the orbits of
each satellite is called the ephemeris. A receiver that is performing a cold start, or has
no prior knowledge of the orbits of the satellites, needs more time to calculate a position
solution than a receiver that is performing a hot start or a warm start. In a hot start, a
receiver has very recent information that is seconds old, whereas a warm start may have
satellite orbit information that is minutes old.
Figure 2.1: Illustration of the GPS signal structure from carrier wave to code phase to navigationdata wave [11].
The basis of the GPS signal is the carrier wave. The carrier wave is a right-handed,
circular polarized electromagnetic wave. GPS satellites broadcast signals based on carrier
waves with different frequencies summarized in Table 2.1. Receivers that are capable of pro-
cessing two signals with different carrier wave frequencies are called dual-frequency receivers
(or multifrequency receivers).
The code data consists of a binary sequence of 1023 chips (bits) called the pseudo-
random noise (PRN) sequence. It is a repeating, known sequence whose power spectrum is
similar to white noise. Its purpose is to allow every satellite to broadcast signals with the
same frequency while still being discernible from one another. The code data is repeated
once per millisecond, meaning each chip is about 1 microsecond long. This results in each
chip having a width (wavelength) of 300 meters.
The navigation data is a binary message that contains information of satellite ephemeris,
a reduced-precision ephemeris called an almanac, and other pertinent satellite information.
The navigation data has a lower bitrate of 50 bits per second, with the satellite ephemeris
6
and clock parameters repeated every thirty seconds. These three components are used to
build the GPS signal that will be transmitted using the carrier wave as the basis. The
code data and the navigation data are combined and modulated onto the carrier wave using
binary phase shift keying (BPSK).
It should be noted that this process is relevant only to the GPS constellation and other
constellations that transmit using CDMA (code division multiplexing access). GLONASS
uses a different architecture called FDMA (frequency division multiplexing access) that
allocates a channel for each satellite centered around a carrier frequency, though its new
vehicles have a CDMA frequency [5].
Table 2.1: GPS carrier frequency information
Designation Freq. (MHz) Purpose
L1 1575.42Course-acquisition code used for general naviga-tion and timing for all users.
L2 1227.60 General navigation and timing for all users.L3 1381.05 Nuclear detonation detection device health.L5 1176.45 Safety of life positioning and timing.
To take measurements of the observables mentioned previously, a receiver needs to
acquire GNSS signals using an antenna and extract the ephemeris from the navigation
data. The acquisition of a signal is done via an autocorrelation process using the measured
signal and a receiver-generated signal. The code phase measurement is the time offset of
the receiver-generated signal and the measured signal and can be expressed as tu− tn where
tu and tn are the biased times of receiving and transmitting. The code phase will be used
to create the pseudorange observable.
2.2 Position and Time Determination with GNSS
In the following sections, much has been drawn from [11]. The author suggests referring
this text for more detail.
The GNSS navigation problem is concerned with determining four states – the X, Y and
Z positions with respect to an Earth-fixed frame and time with respect to the respective
GNSS time. Four states requires range measurements from a minimum of four independent
satellite vehicles. Let rnu be the true geometric range between the user receiver u and
satellite n at some arbitrary time. This is expressed as
rnu =√
(xn −X)2 + (yn − Y )2 + (zn − Z)2 (2.1)
where {xn, yn, zn} is the position of the satellite’s transmitting antenna, and {X,Y, Z} is
7
the position of the antenna feeding the receiver. Having measurements from three satellites
will provide enough information to determine the unknown position state variables. A
fourth measurement is required to determine the GNSS time, and this is calculated using
clock data from the navigation message.
The true range rnu cannot be directly measured. Rather, there are two observables that
contain the true range along with bias, corruption and error terms. These observables are
the pseudorange and carrier phase observables. Subsequent sections will introduce models
for these observables and the error terms corrupting them.
2.2.1 Pseudorange Observable
The pseudorange is a biased observable that contains the true range and errors due to the
ionosphere, troposphere, satellite and receiver clock biases, and other unmodelled errors. It
is calculated by multiplying the code phase by the speed of light or
ρnu = c(tu − tn) (2.2)
where the subscript u refers to those variables pertaining to the receiver, and the superscript
n pertains to the satellite in question. A typical pseudorange measurement model is
ρnu = rnu + T + I + c(δtu − δtn) + εnu (2.3)
where r is the true range between receiver u and satellite n, T is the troposhperic delay,
I is the ionospheric delay, δtu and δtn are the clock errors of the receiver and satellite
respectively, c is the speed of light in a vacuum, and ε represents unmodelled errors.
One significant source of unmodelled errors are due to signal multipath. Multipath
errors are due to a signal taking multiple paths to the antenna. Often times multipath is
caused by structures near the antenna reflect and attenuate the signal. Additional sources
of unmodelled error are noise due to receiver electronics and unmodelled signal propagation
effects.
Navigation with Pseudorange
When at least four pseudorange measurements have been made, the above navigation equa-
tions can be solved. When there are more than four measurements available, the problem
is over-constrained. A typical strategy is to use a least-squares approach to minimize the
residual error. The optimization problem can be formulated as
minr,δt||r + cδt− ρ||2 (2.4)
8
This problem is iterated as the receiver collects future measurements. The position
output frequency can vary receiver to receiver, with typical output rates ranging from 0.1
Hz to up to 100 Hz for tactical grade receivers.
2.2.2 Carrier Phase
The carrier phase is a biased, ambiguous observable that has a finer resolution than the
code phase. A single carrier cycle has a length on the order of centimeters, determined by
the wavelength equation:
λ =c
f(2.5)
where c is the speed of light in a vacuum, and f is the frequency of concern. Thus, the
wavelength of the GPS L1 (1575.42 Hz) carrier wave is about 19 centimeters compared to
the 300 meter length of a single code cycle.
The carrier phase observable Φ is the difference between the phases of the receiver-
generated carrier signal and the measured carrier signal from a satellite. A simple measure-
ment model for the measured carrier phase is
Φnu = λ−1[rnu + IΦ + TΦ] +
c
λ(δtu − δtn) +N + εnΦ,u (2.6)
where λ is the wavelength of the carrier wave, r is the true range, T is the troposhperic
delay, I is the ionospheric advance, δtu and δtn are the clock errors of the receiver and
satellite respectively, c is the speed of light, N is the integer number of wavelength cycles
between the user and the satellite, and ε are unmodelled errors.
Differential Carrier Phase Positioning
Consider a GNSS receiver in the field that is receiving observations from a reference receiver.
The subscript u denotes the user or rover receiver, and the subscript r specifies quantities
related to the reference receiver. Consider two carrier phase measurements from the rover
and reference receivers, expressed as
Φku = λ−1[rku + IΦ + TΦ] +
c
λ(δtu − δtsk) +Nk
u + εΦ,u (2.7)
and
Φ1r = λ−1[rkr + IΦ + TΦ] +
c
λ(δtr − δtsk) +Nk
r + εΦ,r (2.8)
where the superscript k refers to the kth satellite vehicle number. Some of the errors can be
differenced out by subtracting these two measurements. This is called the single difference
9
denoted by ∆Φkur or Φk
ur. The single-difference is then
∆Φkur = λ−1[rkur + IΦ,ur + TΦ,ur] +
c
λδtur +Nk
ur + εΦ,ur (2.9)
where each of the parameters above with subscript ur is the difference between the respective
user receiver and reference receiver term. A single term has disappeared altogether – the
satellite clock bias δtsk has been differenced out due to its independence from the receivers.
Assumptions on the distance between the user receiver and reference receiver (called
the baseline) can allow more terms to be removed. If the baseline is short enough, the
atmospheric effects can be assumed to be the same for both receivers and smaller than the
remaining error sources. Explicitly, IΦ,ur = 0 and TΦ,ur = 0. The final single-difference
result is
∆Φkur = λ−1rkur +
c
λδtur +Nk
ur + εΦ,ur (2.10)
which is narrowing down the hunt for the true geometric range.
With the single difference in mind, one can perform a second differencing using two
single differences from two different satellite vehicles. Let k and l be the kth and lth satellite
vehicles. The double difference, commonly Φklur, ∆Φkl
ur or ∇∆Φklur is the difference between
the single differences of satellite vehicles k and l (at the same epoch).
∇∆Φklur = ∆Φk
ur −∆Φlur (2.11)
Similar to how the single difference removed the satellite clock bias term, the double
difference removes the receiver bias term since the receiver clock bias is the same between
two measurements of different satellites at the same epoch. Following the same notation as
Equation 2.10,
∇∆Φklur = λ−1rklur +Nkl
ur + εklΦ,ur (2.12)
where the terms are now the double-differenced values. This leaves three parameters left –
r, the true range between the antenna and the satellite; N , the integer number of carrier
cycles between the antenna phase-center and the satellite’s transmitting antenna; and ε,
which accounts for all other error sources.
Similar to the pseudorange residual formulation, a least-squares approach can be used
to find the best integers N to minimize the residual error. Reformulating the problem in
set form,
min ||y −Gδx−AN ||2 (2.13)
where y are the differences between the measured and computed double differences, G is
the observation matrix related to the double-differences, δx is the initial position estimate
10
error, N contains the double-differenced integer ambiguities in vector form, and A is a
stack of identity matrices whose size depends on the number of epochs being considered.
The most popular method for integer ambiguity resolution is based on the Least-squares
AMBiguity Decorrelation Adjustment (LAMBDA) method introduced in the early 1990s
[21].
Once the integer ambiguities are found, the position estimate can be created in the
same manner as the pseudorange. Instead of being accurate on the meter-level, the posi-
tion estimate of the differential carrier-phase position will have a nominal accuracy on the
centimeter-level, assuming the correct integers have been found.
2.3 Data Formats
In GNSS navigation, it’s necessary to transfer data between devices and sensors and archive
data for later use. For RTK navigation, data must travel in real time between receivers.
The most popular data protocols necessary for different functions will be discussed in this
section.
2.3.1 Measurement Exchange Formats
It’s necessary to transfer measurements from one receiver to another to perform differential
positioning. Measurement exchange protocols move data from one user to another, either
in real-time or in post-processing.
RINEX
RINEX is the Receiver INdependent EXchange format, an ASCII-based standard that is
used for data post-processing and archiving [22]. As it’s formatted in ASCII, it is human
readable. The RINEX header contains information regarding the dataset, including the
coordinates for reference receivers, the start- and stop-times of the record, the satellite
vehicles present in the record, and the observable types present in the record. RINEX can
incorporate data from all GNSS constellations. There are several types of RINEX file types,
summarized in Table 2.2. As the file extension is arbitrary, some organizations will append
the current year to observation files i.e. .o17.
RTCM
The RTCM protocol is named after its creator and maintainer, the Radio Technical Commis-
sion for Maritime Services [23]. RTCM is a binary protocol used to exchange measurements
between receivers in real-time. The most-recent version of the RTCM protocol specifies
11
Table 2.2: Summary of RINEX file types and uses.
Extension Contents & Description
.obs, .o ObservationsContains observations, e.g. pseudo-range, carrier phase, signal-to-noiseratio
.nav, .n GPS NavigationContains GPS ephemeris informa-tion
.gnav, .g GLONASS NavigationContains GLONASS ephemeris in-formation
hundreds of messages for exchanging different GNSS data products. However, only a hand-
ful are needed for RTK operation. The RTCM standards document specifies minimum
message requirements for different RTK capability with certain constellations.
2.3.2 Solution Exchange Formats
Navigation solutions produced by a receiver can be communicated in many ways, but the
most common non-proprietary solution format is the ASCII-based National Marine Elec-
tronics Association (NMEA) protocol [24]. Its legacy stems from exchanging position in-
formation between marine electronics and vehicles in a sender-agnostic manner. There are
about a dozen different NMEA message types relating to GNSS navigation, and variants
on the protocol itself.
The legacy protocol is NMEA-0183, and the newer version is NMEA-2000. There also
exist variants of the NMEA protocol including high-precision, where the position output is
given additional decimal points for greater spatial resolution. An example NMEA string is
shown in Figure 2.2 and each component interpreted in Table 2.3
$GPGGA,202004.10,4443.60155,N,09305.46821,W,4,08,1.3,262,M,0.0,M,2.1,0096*5A
Figure 2.2: Example NMEA navigation solution string from a GPS receiver.
The 7th item of the $GPGGA message indicates the positioning mode a receiver is in.
Possible fix modes are shown in Table 2.4.
2.4 Challenges of GNSS Navigation
There are practical challenges in using GNSS for navigation. First, there are operational
challenges inherent to GNSS. The antenna needs to have enough satellites within its field of
view in order to have enough measurements for positioning. Environments with significant
blockage of the visible sky, including forests, mountainous regions, and large buildings can
12
Table 2.3: Dissection of the NMEA string above.
Item Portion Meaning
1 $GPGGA NMEA Header. GP means GPS-only, GGA is fix information.2 202004.10 GPS Time Of Day (20:20:04.10 UTC)3 4443.60155 Signless Latitude (44.4436015512 degrees)4 N Latitude North/South Indicator5 09305.46821 Signless Longitude (93.054682140 degrees)6 W Longitude East/West Indicator7 4 Fix Type (4 is RTK Fixed-Integer)8 08 Number of Satellites Used For Solution9 1.3 Horizontal Dilution of Precision10 262 Altitude of Antenna Above Sea-Level11 M Units of Altitude (Meters)12 0.0 Separation of Mean Sea Level and WG84 Geoid13 M Units of Separation (Meters)14 2.1 Age of Differential Corrections (seconds)15 0096 Reference Station ID16 *5A Checksum for Message Integrity
Table 2.4: Possible values for the GGA fix type.
Fix Type Solution Mode Description
0 No Fix Insufficient measurements to create a fix.1 2D Fix Horizontal position fix.2 3D Fix Horizontal and vertical position fix.3 DGPS Fix Differential pseudorange position solution.4 RTK Fixed-Integer Fixed-integer position solution.5 RTK Floating-Point Floating-point position solution.
prohibit GNSS operation. An active area of research involves ubiquitous navigation in urban
canyons using novel multipath detection and mitigation methods [25] and navigation using
other signal sources such as cellular or WiFi networks (also called signal-of-opportunity
navigation) [26].
There is also the risk of intentional interference that will prevent navigation. GNSS
interference detection and mitigation has motivated the continued development of GNSS
with more advanced cryptographic protections.
Other challenges for implementing GNSS navigation are the size and cost of the necessary
hardware and software. There are a wide variety of GNSS receivers, antennas, accessories,
and software solutions that range from the enterprise to the open-source options. Receivers
that can perform standard positioning are widely available and embedded in many consumer
devices, and RTK-capable receivers have been used in surveying equipment and specialized
autonomous vehicles since the late 1990s. Such specialized receivers come with a price tag in
13
excess of $10,000 and have proven reliability. Over the past several years, low-cost ($500 or
less) RTK-capable receivers have been introduced to the navigation marketplace. However,
these receivers are released and go obsolete quickly, leaving questions about their reliability
and performance in navigation applications. This growth of low-cost, RTK-capable GNSS
receivers prompted the assessment that is described in the next chapter.
14
3. Assessment
3.1 Introduction
As discussed previously, the implementation of RTK GNSS receivers has significant chal-
lenges and rewards. RTK operation requires a steady, constant stream of data from another
receiver and solving the integer ambiguity problem is no small feat. Once the problem is
solved, position solutions with centimeter level accuracy are realized and applications re-
quiring such accuracy are enabled. Historically, receivers capable of generating an RTK
solution that is both accurate and reliable were costly (in excess of $10,000) making them
unsuitable for cost-sensitive applications requiring high accuracy positioning. Additionally,
many early RTK corrections sources were proprietary and accessible with paid subscriptions
limited to certain hardware. Such is the case with the John Deere RTK network (which
only works with John Deere affiliated receivers) [27].
A CORS network is a number of stationary GNSS receivers distributed across a geo-
graphic area that provide RTK-enabling data on a continuous basis. The primary method
for accessing a CORS network is the internet using the NTRIP (Networked RTK over Inter-
net Protocol) architecture [28]. Recently, more receivers have built-in NTRIP support and
many clients are available for accessing data. The Minnesota Continuously Operating Refer-
ence Station (MnCORS) network operated by the Minnesota Department of Transportation
(MnDOT) is a service available to the public free of charge [29].
Recently, GNSS equipment manufacturers have started advertising inexpensive (less
than $1,000) RTK-capable receivers that can use Continuously Operating Reference Station
(CORS) networks. The cost of these receivers is much lower than traditional receivers. The
assessment described in this chapter was motivated by the unknown performance of low-
cost, RTK-capable GNSS receivers using a CORS network.
The first motivation for this assessment was to aid in the development and evolution of
the Minnesota Continuously Operating Reference Station (MnCORS) network operated by
the Minnesota Department of Transportation (MnDOT). A map of the MnCORS network
is shown in Figure 3.1. If new RTK-capable receivers can provide centimeter-level accuracy
inexpensively, it may lead to a surge in the user base demanding access to the MnCORS
network.
The second motivation for this work stems from on-vehicle applications. Autonomous
vehicles and other intelligent transportation systems are one consumer of GNSS systems
requiring positioning at the centimeter level [30]. For example, one application is using
GNSS paired with high-accuracy maps to determine a vehicle’s relative position within the
15
road geometry. This method is particularly useful when navigating in environments where
weather may degrade the performance of other sensors such as in a blizzard. Ensuring
system performance in these environments drives the need for GNSS-based solutions that
can increase system robustness and reliability. If low cost receivers can provide sufficient
performance, this may enable a level of ubiquity not currently feasible for automated vehicle
applications.
Next, the performance metrics that governed this assessment are discussed. These
metrics cover most aspects of receiver performance as it relates to reliable navigation, though
not all.
3.2 Performance Metrics
The following metrics were defined for this assessment: RTK Accuracy, RTK Availability,
RTK Continuity, and Time to First RTK Fix laid out in Table 3.1. These metrics were
inspired by performance definitions in the GPS Standard Positioning Solution Performance
Standard [17]. These metrics are concerned with the RTK floating-point and fixed-integer
solutions.
Table 3.1: Summary of the performance metrics used for receiver evaluation.
Metric Description Units
RTK Fixed-Integer Accuracy
Value of the difference between RTKfixed-integer horizontal position solutionand the truth position.
meters
Loss of Locks perMinute
The likelihood of losing an RTK fixed-integer position solution. Presented asloss of RTK locks per RTK minute.
number of lossesper minute
ReacquisitionTime
The amount of time it took a receiver toreacquire an RTK lock after it was lost.
seconds
Fixed-IntegerAvailability
The total amount of time as a percentageof testing time that a receiver reported anRTK fixed-integer solution.
% of time
RTK Availability
The total amount of time as a percentageof testing time that a receiver reported anRTK fixed-integer or floating-point solu-tion.
% of time
Time to FirstRTK Fix
The amount of time that it took a receiverto report its initial RTK fixed-integer so-lution.
seconds
16
3.2.1 RTK Accuracy
In general, GNSS accuracy is defined as the difference of the calculated position error and
the truth position that is exceeded only 5% of the time in the absence of system errors [11].
Stated another way, this is the 95th percentile of the position errors. The RTK Fixed-Integer
Accuracy is calculated using the difference between a receiver’s RTK position solution and
a truth position. After an ensemble of position solutions are collected, the position errors
are used to create an empirical cumulative distribution function.
3.2.2 RTK Availability
The RTK Availability is defined as the total amount of time that a receiver spends in RTK
mode, broken down into fixed-integer and floating-point modes. An ideal receiver would
have a fixed-integer availability close to 100%.
3.2.3 RTK Continuity
The formal definition of continuity is the likelihood of a detected but unscheduled navigation
function interruption after an operation has been initiated [17]. Once a receiver has com-
puted an RTK fixed-integer solution, it may lose the solution and fall back to floating-point
mode.
Two values are used for the RTK Continuity metric. The first is Loss of Locks per
Minute, which is the number of times a receiver falls out of RTK fixed-integer mode divided
by the total amount of time it spent in RTK fixed-integer mode. The second is Reacquisition
Time, which is the time it took a receiver to reacquire the fixed-integer solution after losing
it.
3.2.4 Time to First RTK Fix
The time to first fix (TTFF) is a performance metric of receiver initialization. It is the
amount of time that it takes to report a solution from a cold start (no knowledge left over
from its previous operational state). The Time to First RTK Fix is the amount of time a
receiver takes to report its initial RTK fixed-integer solution.
3.3 Experiment Setup
The key criteria for selecting a receiver was a price of ∼$500 or less and advertised RTK
positioning capability using a CORS network. The selected receivers are not representative
of all possible choices. Table 3.2 provides an overview of all the receivers. The Hemisphere
Eclipse P307 was included at the request of MnDOT due to the agency’s ongoing use of the
17
receiver. Though it is a mid-range receiver in terms of cost (greater than $1000), it is still
a more affordable option compared to the most expensive receivers.
Two antennas were used: a multifrequency antenna and a single-frequency patch an-
tenna. The multifrequency antenna was a Navcom ANT-3001R antenna with an LNA gain
of 39 dB [31]. The patch antenna was an ANN-MS L1-only antenna with an LNA gain of
29 dB [32].
The receivers were connected to a single antenna through a GPS Technologies ALDCV1x8
signal splitter. They were connected to a laptop computer via USB that ran the data col-
lection software. The data collection software was a custom application built in Python.
RTK corrections data was provided by the MnCORS network. This service was accessed
over the internet by connecting the laptop to a cellular modem. Figure 3.2 shows a diagram
of the experimental setup.
The receiver output were National Marine Electronics Association (NMEA) strings, a
human-readable format used for reporting GNSS solutions. The type-GGA string contains
the latitude, longitude, position-fix type and other relevant information about the GPS
fix of the receiver [24]. Position errors were calculated using the Navpy [33] and Pynmea2
[34] Python packages. The RTK solutions were computed on the receiver and not in post-
processing.
The initial position calculated by a receiver was sent to the MnCORS network. The
MnCORS network uses the Virtual Reference Station (VRS) method to generate measure-
ments from a virtual base station near the initial position. The typical distance of the
virtual station the receiver, or baseline length, is a few meters [35]. MnCORS provides
GPS and GLONASS L1/L2 observations at a rate of 1 Hz. After a receiver calculated a
new position solution, it was sent to the MnCORS network again and the cycle repeated.
Table 3.2: Summary of the receivers used for this assessment.
Receiver Bands GNSS Price
Swift Piksi Multi L1/L2 GPS
<∼$500NVS TechnologiesNV08C-RTK
L1 GPS + GLO
Emlid Reach L1 GPS + GLOu-blox NEO-M8P L1 GPS + GLOSkytraq S2525F8-RTK
L1 GPS + GLO
HemisphereEclipse P307
L1/L2 GPS + GLO >$1000
18
3.3.1 PyRTK Data Collection Software
To run each receiver and respective MnCORS connections simultaneously, an application
was written in Python. A user specifies receivers and USB devices in XML files. An inter-
face was developed to communicate the navigation state of each receivers, basic diagnostic
information, and a field to specify the amount of time to collect data for. After pressing
the Start button, the program would begin to search for each receiver’s USB device name.
One low-cost receiver, the Skytraq S2525F8-RTK, used a separate input and output
USB port for sending and receiving data. However, the USB devices were identical from
a software perspective, so a serial watchdog was used to determine which port was which
when the experiment began. The first serial port to send out NMEA strings was considered
the output port and the other the input port. The software is stored in a GitHub repository
at [36].
3.3.2 Static Test Considerations
Static testing was conducted using geodetic monuments as truth positions. The antenna
was mounted on a constant-height tripod placed over the monument. Three monuments,
named TURKEY MN037, UNIVERSITY1934 and SCHREIBER, were chosen to best reflect
the qualitative characteristics of rural, suburban and urban settings respectively. The rural
marker was located near farmland at UMore Park, the UNIVERSITY1934 marker was on
the University of Minnesota, Twin Cities campus, and the SCHREIBER marker was located
northwest of the University of Minnesota. Figures showing the location of these markers are
available in the Appendix. They were found using MnDOT’s interactive geodetic monument
viewer [37]. The chosen test sites were a compromise in the availability of markers and
desired features. All static data was collected in 25-minute-long sessions on 17 days over
4 months. The data was collected roughly at the same time of day, though it was not a
priority to have the same satellites in view.
3.3.3 Dynamic Test Considerations
The dynamic tests were conducted using a vehicle outfitted with the Navcom ANT-3001R
multifrequency antenna. A Navcom SF-3050 receiver was used to provide truth positions
to calculate receiver accuracy. The Navcom was chosen due to its favorable operating
characteristics. It has an RTK RMS accuracy of 1 cm + 1 ppm, a quick RTK initialization
time, and is designed for dynamic applications [38]. The ANN-MS patch antenna was
omitted from the dynamic testing because of its incompatibility with the SF-3050 receiver.
Three routes were chosen for the dynamic testing to represent different environments.
The urban route ran through downtown St. Paul and Minneapolis through the Lowry Hill
19
tunnel along interstate 94. The rural route followed Neal Ave. South from Hudson Rd.
South to 122nd Ave. South in Woodbury, MN. The last route was a highway with overhead
bridges that ran from Neal Ave. South along I-94 to 122nd Ave. South via highway US 10.
At the beginning of each data collection session, the vehicle was idled for five minutes for the
receivers to initialize. Each route took about 20 minutes to drive and was repeated traveling
in the opposite direction e.g. northbound and southbound. Each route was repeated six
times. A map of each route is available in the Appendix.
3.4 Static Experiment Results
3.4.1 Accuracy for Static Tests
Accuracy is presented as an empirical cumulative distribution function (CDF) between the
50th and 95th percentiles for the multifrequency and patch antennas. CDFs are a useful
for understanding the probability distribution of a random variable, and receiver accuracy
is often cited with respect to a certain percentile e.g. 50-percent accuracy [39].
Accuracy CDFs from the rural location are seen in Figure 3.4 and Figure 3.5. The
results in the rural environment can be considered the best-case scenario. All of the low-
cost receivers have 5 cm accuracy up to the 75th percentile while using the multifrequency
antenna. The Eclipse P307 and Piksi Multi maintain 5 cm accuracy or better up to the
95th percentile using the multifrequency antenna. Using the patch antenna, the Eclipse
P307, Reach, and NEO-M8P maintain 5 cm accuracy up to the 95th percentile. This is the
only experiment where the Reach and NEO-M8P did not exhibit accuracy degradation.
In Figure 3.4, a large jump in the error magnitude can be seen for a couple of receivers
after the 68th percentile. This large jump is approximately the wavelength of a single L1
GPS cycle, 19 centimeters. These accuracy degradations are likely due to the receivers
using an incorrect integer to calculate the position solution. This behavior can be seen in
many other figures, and highlights the effects of choosing incorrect integers.
Accuracy CDFs from the suburban location are presented in Figure 3.6 and Figure 3.7.
Using the multifrequency antenna, only the Eclipse P307 maintains centimeter-level accu-
racy up to the 95th percentile. Only the Reach and Eclipse P307 maintain centimeter-level
accuracy up to the 95th percentile using the patch antenna.
Accuracy CDFs from the urban location are presented in Figure 3.8 and Figure 3.9. Us-
ing the multifrequency antenna, only the Reach and Eclipse P307 maintains centimeter-level
accuracy up to the 95th percentile. Using the patch antenna, many receivers exhibit accu-
racy degradation well before the 50th percentile, evident by the Piksi Multi, S2525F8-RTK
and NV08C-RTK receivers in Figure 3.9. Only the Eclipse P307 maintained centimeter-level
accuracy up to the 95th percentile.
20
Figure 3.2: Illustration of the experimental setup.
Figure 3.3: The hardware setup showing the low-cost receivers in a protective container.
22
Figure 3.4: Horizontal position accuracy CDF from static testing at the rural location using themultifrequency antenna.
23
Figure 3.5: Horizontal position accuracy CDF from static testing at the rural location using thepatch antenna.
24
Figure 3.6: Horizontal position accuracy CDF from static testing at the suburban location usingthe multifrequency antenna.
25
Figure 3.7: Horizontal position accuracy CDF from static testing at the suburban location usingthe patch antenna.
26
Figure 3.8: Horizontal position accuracy CDF from static testing at the urban location using themultifrequency antenna.
27
Figure 3.9: Horizontal position accuracy CDF from static testing at the urban location using thepatch antenna.
28
3.4.2 Availability for Static Tests
The total percentage of time that a receiver spent in RTK fixed-integer or floating-point
mode are shown in Figure 3.10, Figure 3.11 and Figure 3.12 for each environment. Nearly
all the receivers spent more time in RTK fixed-integer mode in the rural location regardless
of antenna choice. The worst availability was observed in the urban environment.
The antenna had a clear effect on the availability of the multifrequency receivers, the
Eclipse P307 and the Piksi Multi. Using the multifrequency antenna, both receivers reported
an RTK fixed-integer position more than 95% of the time. However, the availability drops
off when the patch antenna was used.
This relationship was less prominent for the single-frequency receivers. In the rural
environment, the RTK availability for the single-frequency receivers is nearly the same re-
gardless of antenna. In the suburban and urban environments, the multifrequency antenna
more often results in a higher RTK availability. This could be a result of the build qual-
ity, the higher signal gain, or phase-center stability characteristics of the multifrequency
antenna.
Figure 3.10: RTK availability for static testing in the rural environment. The darker color denotesfixed-integer mode and the lighter color floating-point mode.
29
Figure 3.11: RTK availability for static testing in the suburban environment. The darker colordenotes fixed-integer mode and the lighter color floating-point mode.
30
Figure 3.12: RTK availability for static testing in the urban environment. The darker color denotesfixed-integer mode and the lighter color floating-point mode.
31
3.4.3 Continuity for Static Tests
The receivers’ loss of lock averages are shown in Table 3.3. Except for the NV08C-RTK
and S2525F8-RTK, there was a dependence on environment and the average number of
losses. In the rural environment, a receiver was less likely to lose an RTK lock. Using
the multifrequency antenna, a receiver was less likely to experience a loss of lock. The
S2525F8-RTK and NV08C-RTK were prone to higher RTK fixed-integer lock losses in all
environments.
The average times to reacquire the RTK fixed-integer solution are shown in Table 3.4.
Using the patch antenna resulted in some cases where RTK fixed-integer was lost and reac-
quisition did not take place within the experimental time of 25 minutes, such as the Eclipse
P307 in the rural and urban environments. This is not to say that it would not reacquire
the RTK fixed-integer solution ever. In the rural environment, the multifrequency antenna
usually led to quicker RTK reacquisition times. In the other environments, there is no clear
relationship between antenna quality and the RTK reacquisition time. Curiously, the Piksi
Multi reported a reacquisition time greater than 800 seconds in the suburban environment
using the multifrequency antenna. It reported an RTK fixed-integer reacquisition time in
only two of the tests using the multifrequency antenna and is likely related to its robustness
in operating in challenging environments.
Table 3.3: RTK Losses per RTK Minute in the (R)ural, (S)uburban and (U)rban environmentsfrom static testing.
ReceiverMultifreq. Antenna Patch AntennaR S U R S U
Piksi Multi 0.03 0.03 0.11 0.04 0.93 0.86NV08C-RTK 0.73 11.04 11.66 13.74 1.95 2.27Reach 0.07 4.43 1.55 0.13 10.53 2.18NEO-M8P 0.03 0.86 0.48 0.09 1.02 3.79S2525F8-RTK 8.24 7.4 9.22 0.72 4.68 0.16
Eclipse P307 0.09 0.03 0.03 0.02 0.11 0.04
3.4.4 Time to First RTK Fix
The average times to first RTK fix are shown in Table 3.5. The time to acquire an RTK
solution is dependent on the quality of the received signals (which is affected by propagation
errors as well as antenna phase center motion), whether or not the receiver is multifrequency,
and the algorithms built into the firmware.
Unsurprisingly, there is a clear benefit to using the multifrequency antenna with the
multifrequency receivers. By using two or more frequencies, a receiver has double or greater
32
Table 3.4: RTK Reacquisition Time (seconds) in the (R)ural, (S)uburban and (U)rban environ-ments from static testing.
ReceiverMultifreq. Antenna Patch AntennaR S U R S U
Piksi Multi 8 853 150 410 110 *NV08C-RTK 13 19 22 18 29 10Reach 74 84 202 161 20 97NEO-M8P 66 233 194 74 351 211S2525F8-RTK 299 172 210 262 197 624
Eclipse P307 4 18 31 * 812 *
the information at hand which makes RTK initialization quicker. This benefit is lost when
using the single-frequency patch antenna.
Table 3.5: Time (seconds) to Initialize RTK Fixed-Integer solution and hold for 10 subsequentseconds in the (R)ural, (S)uburban and (U)rban environments from static testing.
ReceiverMultifreq. Antenna Patch AntennaR S U R S U
Piksi Multi 76 260 491 411 311 827NV08C-RTK 551 290 445 294 697 170Reach 465 332 643 393 226 366NEO-M8P 307 337 407 294 537 356S2525F8-RTK 901 1887 936 684 913 1528
Eclipse P307 52 61 62 607 749 818
3.5 Dynamic Experiment Results
In the figures that follow each bar color represents a different location (left to right): red
for the rural route, brown for the bridges route, and purple for the urban route.
3.5.1 Accuracy for Dynamic Tests
The horizontal accuracy CDFs of the fixed-integer solutions are shown in Figure 3.13,
Figure 3.14, and Figure 3.15 for each environment. The multifrequency receivers maintained
an accuracy of 16 cm (95%) or better on all routes. The Reach maintained accuracies of
2 cm (95%) on the suburban and urban routes and NEO-M8P had an accuracy of 15 cm
(95%) on the bridges route. At the 50th and 68th percentiles, the accuracy of most receivers
is 10 cm or better. Up to the 95th percentile, many receivers errors diverge towards 1+
meters.
33
Figure 3.13: Horizontal position accuracy CDF from dynamic testing on the rural route using themultifrequency antenna.
34
Figure 3.14: Horizontal position accuracy CDF from dynamic testing on the overhead bridgesroute using the multifrequency antenna.
35
Figure 3.15: Horizontal position accuracy CDF from dynamic testing on the urban route usingthe multifrequency antenna.
36
3.5.2 Continuity for Dynamic Tests
The route with bridges running along US-10 in St. Paul was specifically chosen to explore
the RTK fixed-integer loss and reacquisition time when traveling under bridges. The only
receivers that had an RTK fixed-integer lock consistent enough to evaluate the effects of
bridges were the Piksi Multi and Eclipse P307. These receivers have the same mean loss of
RTK instances in the bridges route.
There was no distinction made in the data between a loss of RTK due to bridges or a
different cause e.g. a hauling truck or a retaining wall. However, Figure 3.16 and Figure 3.17
show a portion of the bridge route where the test vehicle drove under a bridge. The Eclipse
P307 fell into an RTK floating-point solution almost immediately, then reacquired the RTK
fixed-integer solution 19 seconds later. The Piksi Multi completely lost its RTK solution
after traveling under a bridge and took about 41 seconds to reacquire an RTK fixed-integer
solution.
Figure 3.16: Piksi Multi RTK fixed-integer loss of lock while traveling under a bridge on theoverhead bridges route. RTK fixed-integer (green), RTK floating-point (orange), standard positionfix (red).
37
Figure 3.17: Eclipse P307 RTK fixed-integer loss of lock while traveling under a bridge on theoverhead bridges route. RTK fixed-integer (green), RTK floating-point (orange), standard positionfix (red).
38
3.5.3 Availability for Dynamic Tests
The RTK availability for each receiver is shown in Figure 3.18. The availability of the RTK
fixed-integer solution was much lower for all receivers in the dynamic case than the static
case. The single-frequency receiver with the best fixed-integer availability of 27% was the
NEO-M8P on the rural route. When both RTK fixed-integer and floating-point solutions
were considered, all the receivers perform similarly. The Piksi Multi and Eclipse P307 had
similar RTK fixed-integer availability on all routes. The multifrequency receivers overall
had a higher availability, with the worst-case of the Piksi Multi in the urban environment
outperforming all of the single-frequency receivers.
Figure 3.18: RTK availability from dynamic testing for each route using the multifrequency an-tenna. The darker color denotes fixed-integer mode and the lighter color floating-point mode.
39
3.6 Discussion
Of the low-cost receivers tested, the Piksi Multi exhibited the best performance while using
the multifrequency antenna. It had consistent accuracy and higher availability in all envi-
ronments during static and dynamic testing. The NEO-M8P and Reach receivers performed
similarly during most tests, static and dynamic, with some exceptions. The NV08C-RTK
and S2525F8-RTK displayed the worst metrics in both from both the static and dynamic
tests in all environments.
Even the Piksi Multi fell short of the performance of the mid-range Eclipse P307 that had
unparalleled consistency in all environments during the static and dynamic tests. However,
this advantage is limited only to when the Eclipse P307 is using the multifrequency antenna,
as its metrics degrade substantially using the patch antenna. This highlights the importance
of using a multifrequency antenna with a multifrequency-capable receiver.
The single-frequency, L1-only low-cost receivers excelled with respect to one metric but
performed poorly relative to others. Though a few had CDF curves that were stable up to
the 90th percentile, they were marred by their poor availability and continuity character-
istics especially in the suburban and urban environments. The following observations are
made about the single frequency receivers evaluated in this work:
1. They all achieved centimeter-level accuracy (95%) during static tests in the rural
environment.
2. The metrics did not heavily depend on the use of the L1-only or L1/L2 antenna.
3. All metrics degraded when testing in the urban and suburban environments.
4. When not in fixed-integer mode, they spent most of their time in floating-point mode.
5. Absolute fixed-integer availability fell during dynamic tests, but relative availability
was consistent.
During the static tests, the low-cost receivers had nominal performance in the rural
environment where there was minimal signal interference. Three of the five low-cost receivers
had a horizontal RTK fixed-integer position accuracy of 2.6 cm (95%) or better while the
other two had sub-meter accuracy. In the rural environment, the L1-only receivers had
lower RTK availability and initialization times compared to the multifrequency receivers.
The Emlid Reach and u-blox NEO-M8P maintained a sub-5cm accuracy (95%) accuracy
in the rural environment using the patch antenna. Per Table 3.3, both had stable RTK
fixed-integer solutions with loss-lock averages of less than 0.2 lock losses per RTK-minute.
Both receivers had similar RTK fixed-integer availability metrics seen in Figure 3.10.
40
The suburban and urban environments had a negative impact on the RTK fixed-integer
accuracy of the low-cost receivers. These are environments replete with interference that
introduce error into the measured signals, as expected. These challenges are minimized in
the open-sky, rural environment. Methods exist for multipath detection and mitigation [40]
and are employed by some receivers such as the Eclipse P307, which maintained centimeter-
level accuracy metrics across all testing environments. The effects are evident in Figure 3.8
and Figure 3.9. Using the multifrequency antenna, most receivers have 5 cm accuracy up to
the 60th percentile until errors become more pronounced. Using the patch antenna, most
receivers have accuracy values worse than 10 cm at the 50th percentile.
The multifrequency Piksi Multi displayed the same shortcomings (degraded accuracy,
worse availability) in the suburban and urban environments during static testing. In the
rural environment, it had an availability above 95% and a stable CDF curve that paralleled
the Eclipse P307. Using the multifrequency antenna, it had a very stable RTK fixed integer
solution with an average of 0.03 fixed-integer losses per minute in the rural and suburban
environments and 0.11 losses per minute in the urban environment.
During the dynamic tests, the L1-only receivers had low RTK fixed-integer availability
and continuity. Although the absolute RTK fixed-integer availability was lower during
dynamic tests, the relative availability between each receiver stayed the same. This is
evident by comparing say Figure 3.10 and Figure 3.18. In addition, some receivers had
large position errors that exceeded 1 meter. Although not presented here, some of the
L1-only receivers had floating-point solution errors on the order of hundreds of meters and
kilometers.
The low-cost Piksi Multi had higher RTK availability and maintained stable accuracy
up to the 95th percentile (relative to the Navcom receiver) during on-vehicle testing com-
pared to the low-cost, L1-only receivers. There’s an obvious benefit to having additional
information at the ready for positioning in the dynamic environment. The continuity anal-
ysis of the Piksi Multi showed reacquisition times greater than 40 seconds after traveling
underneath a bridge. Such long reacquisition times may be prohibitive for certain on-vehicle
applications.
The Eclipse P307 maintained consistent accuracy, availability and continuity statistics
in all environments using the multifrequency antenna. It was also capable of operating
with the L1-only antenna, though its availability, continuity and initialization degraded as
a result. It also showed accuracy degradation using the patch antenna in some cases. While
its performance metrics were better than the low-cost receivers’, it comes at a price that
could be prohibitive for mass-market applications.
The receiver firmware used in this assessment are listed in Table 3.6 and were current as
of March 2017. There have been a couple of notable updates for the Piksi Multi, including
41
an update that introduces support for the GLONASS constellation. Future work could
quantify the changes in receiver performance of new firmware.
Table 3.6: Firmware loaded on each receiver used in this assessment.
Receiver Firmware Version
Swift Piksi Multi 1.1.27NVS Technologies NV08C-RTK V0029Emlid Reach 2.3u-blox NEO-M8P HPG 1.20REFSkytraq S2525F8-RTK NS-HP-GL-10S (20170712)
3.7 Conclusion
A black-box assessment of five low-cost, RTK-capable GNSS receivers was performed for
MnDOT investigating multiple performance metrics. This assessment provided insight into
the built-in RTK capability of each receiver in static and dynamic scenarios using a CORS
network. Of the low-cost receivers, the multifrequency Swift Piksi Multi had the most
stable accuracy, highest availability and a stable fixed-integer solution while using the mul-
tifrequency antenna. All low-cost receivers exhibited degraded metrics in environments
with obstructed sky view, though the mid-range receiver was consistent in the other en-
vironments. Accuracy and availability were degraded for all receivers during the dynamic
testing, but relative receiver performance was consistent. The mid-range Eclipse P307 re-
ceiver outperformed all of the low-cost receivers in static and dynamic testing, but is an
order of magnitude more expensive than the low-cost receivers (but more affordable than
the $10,000+ high-end receivers, too).
In the end, a user needs to weigh the performance metrics that are important for their
application and choose a receiver accordingly. It is reasonable to anticipate that low-cost,
RTK receivers will become more robust and capable in the future, and in fact, u-blox
recently announced a new low-cost, multifrequency chipset [41]. I’s likely that many of the
low-cost receivers would perform better with firmware updates. Of interest is the Piksi
Multi which introduced GLONASS support after testing had begun. This assessment is a
starting point for future assessments of new, low-cost RTK receivers.
42
4. Forecasting
4.1 Introduction
Performing RTK navigation requires a steady stream of data from an a reference receiver.
This can come from a CORS network accessed via the internet or a second receiver via
a very high frequency (VHF) radio. A reliable connection between the rover receiver and
the reference receiver is needed to maintain RTK operation. Unless the two receivers are
physically connected, as in the case of using two receivers for heading determination, a user
runs the risk of losing the RTK position if the connection degrades or is completely lost.
For a brief period, a receiver can use old data for RTK positioning if there is latency in
the connection. A variable known as the age of differential corrections is used to commu-
nicate the age, in seconds, of the most recent data from the RTK data source. The age of
differential corrections begins increasing when a receiver does not receive new RTK data.
Many receivers will cease RTK navigation if the age of differential corrections grows too
large A typical threshold is thirty seconds. Performing navigation with differential correc-
tions data that is older than this results in growing position solution errors. After ceasing
RTK navigation, a receiver will report the standard (code-phase) position solution until
they receive new corrections.
Operating RTK receivers in the field can result in increased latency and loss of a con-
nection with a corrections source. If the source is a CORS network accessed via a cellular
internet connection, performance will be worse in areas with poorer cellular network cov-
erage. Many rural regions still lack reliable cell service. Internet access with satellites can
be interrupted by atmospheric disturbances and is not as ubiquitous as cellular access. A
hard-wired internet connection is impractical or impossible for a receiver that is operating
on a vehicle or in a remote, natural location.
Vehicles that use GNSS navigation often employ an inertial navigation system (INS)
in conjunction with GNSS to bridge the gap when receivers lose position lock [42]. These
systems, called GNSS/INS or GPS/INS filters, are only useful for short-term solutions
unless expensive, tactical-grade sensors are employed. One study used RTK GPS and INS
on transit buses for bridge-induced RTK fixed-integer losses with an average length of 10
seconds [43]. The resulting GNSS/INS filter was capable of producing position solutions
with mean position errors on the order of centimeters during the RTK outages. While
effective in the short-term, the position solution errors will diverge with time unless the
fixed-integer solution is regained.
To mitigate these challenges, this chapter explores the concept of using a recurrent neural
43
Figure 4.1: Overview of forecasting architecture.
network (RNN) time-series forecaster to predict differential corrections based on older data
received. As RTK navigation becomes incorporated into autonomous technologies that
operate on roadways and in airspace, creating solutions to make positioning more robust
will increase the safety of these systems, which will lend themselves to be adopted more.
Most modern RTK applications revolve around surveying and farm equipment navigation,
but its use in autonomous vehicle navigation both in the ground and the air is increasing.
Novel uses for RTK navigation include autonomous search and rescue missions, unmanned
aerial vehicle package deliveries, automatic close-point infrastructure inspection, and direct
georeferencing of agriculture and structural assets. Any mission that uses RTK navigation
would benefit from increased robustness against corrections data loss.
The motivation for choosing this problem stemmed from the hands-on experience with
the hardware described in the last chapter. There were portions of the dynamic test when
the cellular connection was lost, resulting in every receiver being tested to fall out of RTK
navigation mode only to pick it up again seconds later. The focus on an RNN-based
approach was a matter of interest in the subject. RNN architectures have been applied to
interesting problems, such as generating Wikipedia articles [44] and learning to play arcade
video games [45]. In each application, the problem is broken down into a sequence of inputs
and a response to said inputs.
The architecture for an RNN forecaster for RTK corrections data is illustrated in Fig-
ure 4.1. The hardware components of the system are an RTK-capable GNSS receiver and
antenna, a computer, and connection hardware for the external corrections data e.g. a cel-
lular modem for accessing a CORS network. The software components are few; first, there
is an RNN forecaster that is trained on the corrections data. Second, there is a monitor that
requests forecasts from the RNN in case the external corrections data is lost for a period
of time. To the receiver, it will seem as though the connection to the external source has
been maintained. If the connection with the external source is revived, the monitor would
continue to train the RNN forecaster and send the external data to the receiver. If the
connection is lost for too long, the system will stop sending data altogether to the receiver
as forecast errors tend to grow the farther the horizon. The receiver will go into single
44
point positioning mode, and the centimeter and decimeter-level accuracy will be lost. This
envisioned architecture for the RNN-based forecaster is a stop-gap measure for maintaining
centimeter-level accuracy in case of temporary external corrections data loss.
This leads to questions that were asked for this project:
1. Can an RNN-based forecaster be used to generate RTK-quality forecasts given a time-
series of corrections data?
2. If yes, how long is the effective forecasting horizon of such a forecaster?
This project has not fully answered the above questions. Rather, it has been an exer-
cise in answering the first question by experimenting with different network architectures
and input-output schemes. The strategies outlined in this chapter fall short of creating
centimeter-level position solutions using forecasted data but are a stepping stone for future
study.
Similar techniques have been demonstrated for time-series forecasting, even in the realm
of differential GPS. The following sections review work related to differential GPS fore-
casting neural networks, a brief introduction to neural networks, and the details of the
experiments carried out.
4.2 Related Work
Neural networks combined with an unscented Kalman filter have been studied to perform
online prediction of pseudorange correction values for DGPS using a 2-hour dataset [46].
The neural network was trained online using the ten previous inputs while looking ahead
one, five and ten timesteps. The results from only two satellites are presented, and the
longest complete outage considered was 10 seconds.
Artificial neural networks have been used to bound Autoregressive Moving Average
(ARMA) and Autoregressive (AR) models of different orders [47]. The models were used
to predict pseudorange and carrier phase corrections for DGPS predictions. Experiments
they conducted showed a 6.691 meter position accuracy (95%) with DGPS outages and
no predictions and 2.553 meter accuracy (95%) with predictions using the ARMA and AR
neural networks. Their networks were capable of forecasting usable DGPS products for
18-20 seconds before the forecasts diverged and become unusable.
The efficacy of different dynamic neural networks in predicting pseudorange corrections
for several satellite vehicles have been compared [48]. In these experiments, neural networks
with time delays, non-linear autoregressive, and recurrent architectures were trained on a
dataset, and then validated by forecasting the same dataset. The best performing network
in their experiments was the Layer Recurrent Neural Network (LRNN), though it is likely
45
that the LRNN memorized the data and has limited capability for forecasting data beyond
what it was trained on.
4.3 Neural Network Background
The idea of neural computation was discussed in 1943, when McCulloh and Pitts explored
modeling biological neural activity [49]. The basis of their formulation was the concept
of neuron excitation, that a neuron was either “on or off”. For a neuron to be excited, a
minimum number of the neuron’s neighbors must be excited and the neuron without an in-
hibitor. Also, the structure of the overall network does not change over time. This structure
of connected neurons and their interactions gave rise to the artificial neural network, which
has proliferated the areas of artificial intelligence, computation and estimation, control, and
many other sectors of technology and science.
In the modern sense, the basic component of a neural network is referred to as a neuron,
unit or node. A neuron is modeled as a nonlinear function with an input x and output h.
The parameters governing the structure of the neuron are the input weights w, the bias
b, and the activation function F illustrated in Figure 4.2. The activation function F is a
non-linear function that is commonly a sigmoid function that has an “S” shape, though it
can also be a linear function, rectified linear function, or other functions that satisfy the
required activation behavior. The output of a neuron is given by
h = F (
N∑i=1
wixi + b) (4.1)
Figure 4.2: Illustration of a single neuron.Figure 4.3: Illustration of a 2-layer, fully-connected neural network [50].
46
A neural network is made of individual neurons connected in various ways. The data
being fed into a neural network, x = x1, x2, . . ., is called the input. The final layer of the
network y = y1, y2, . . . is called the output layer. Between the input and output layer are the
hidden layers h = h1, h2, . . ., called so for being sandwiched inbetween the aforementioned.
The number of hidden layers defines the depth of a neural network. A neural network
can contain any number of hidden layers, and each hidden layer can contain an arbitrary
number of neurons. Figure 4.3 illustrates the layer topology of a 2-layer, fully-connected
neural network, i.e. the output of every layer is used as the input to the subsequent layer.
The number of hidden layers, the number of units in each layer, and the size of the input
and output of a neural network is known as network topology. Topological parameters that
need to be specified for creating a neural network are the number of hidden layers, the
number of units (neurons) in each hidden layer, the activation function(s) for each layer
and the size of the input and output layer. The choice of topological parameters is a
combination of art and science. The black-box nature of neural networks leaves much
desired to be understood about the complexity of their structure.
4.3.1 Recurrent Neural Networks
In the above neural network architecture, the state of each hidden-layer neuron h is not
persisted in time. In the recurrent neural network (RNN) architecture, each hidden-layer
neuron state h at one epoch is used as an input in the next epoch. This introduces a
degree of state persistence that lends itself to problems related to time-series analysis, as
the internal state of the network incorporates a form of memory separate from the input
data. Figure 4.4 illustrates the recurrence between internal states hk, hk+1 and so on.
Figure 4.4: Graphic illustrating general recurrent neural network architecture.
The following two equations are the basis of a general RNN model [44]. These two
47
equations are iterated over each timestep t = 1, . . . , T . and layer n = 2, . . . , N in the RNN.
Beginning with the first layer,
h1t = H(Wh1xt +Wh1h1h
1t−1 + b1h) (4.2)
where H is the layer activation function and W is a matrix of weights for each dependence
for The output is dependent on the weighted input xt, the weighted output of the same
layer from the previous timestep t − 1, and the layer’s bias. The time recurrence can be
removed by setting Wh1h1 = 0, which is a standard neural network layer. The inter-layer
recurrence is modeled by
hnt = H(Whnxt +Whn−1hnhn−1t +Whnhnh
nt−1 + b1h) (4.3)
After the output of these layers has been calculated, the final output of the RNN is
yt = Y (by +
N∑n=1
Whnyhnt ) (4.4)
where Y is the output activation function.
A particular type neuron used in RNN topologies is called long short-term memory
(LSTM) [51]. While the details of its function are omitted here, it was leveraged due to its
superior performance over a standard RNN. It contains a cell architecture that explicitly
holds onto past information and gates that specify whether or not to forget a portion of the
information.
4.4 Methodology
This section will outline the experimental methodology used in sufficient detail. The Python
and batch scripts used for the experiments are persisted in a GitHub repository available
at [52].
4.4.1 Experimental Data
As a preliminary measure, RINEX data from two MnCORS network reference stations
was used in lieu of real receiver and real-time RTCM data. In a final realization of this
architecture, GNSS measurements from a receiver in-field and real-time RTCM data (from
a CORS network) would actually be used. Using two MnCORS stations provides an ideal
dataset to work.
The two MnCORS stations used were the Golden Valley and the Arden Hills stations.
48
The Golden Valley station was considered the faux-reference station, and the Arden Hills
station the faux-user receiver. The distance between the two base stations is 10-miles, which
is approaching the maximum recommended baseline for RTK operation.
The RINEX datafiles were retrieved from the MnCORS FTP website [53]. Two hour-
long files were pulled for each site. The date and time for each RINEX file was March 14th
from 18:00:00 UTC to 18:59:59 UTC and March 15th from 18:00:00 UTC to 18:59:59 UTC.
In a real, inline implementation of this method, the corrections data would be in the
RTCM format which is structured a little differently than the RINEX data. However, both
are transferring pseudorange and carrier phase measurements, so working with RINEX files
is effectively the same as raw RTCM data.
The L1 carrier-phase measurements from each day are shown in Figure 4.5 and 4.6. In
this and subsequent figures, ‘G#‘ refers to the unique number of each GPS satellite. Over
a 24-hour period, the measurements visually resemble a parabola due to the satellites rising
above the horizon, reaching their apogee relative to the antenna, and then descending
towards the horizon again. Over an hour, the measurements range from resembling a
straight line to a slight arc. The forecaster must take each of these into account. As these
measurements are from a CORS network, they were taken with a static receiver and a
geodetic-quality antenna. The carrier-phase values seen in these figures are those that the
receiver would use to perform RTK positioning described in Chapter 2.
Figure 4.5: L1 carrier-phase measurements for each satellite on March 14th, 18:00 to 18:59 UTC.
49
Figure 4.6: L1 carrier-phase measurements for each satellite on March 15th, 18:00 to 18:59 UTC.
A RINEX parser was written to extract the timestamp k, satellite vehicle number S, and
GNSS measurements from the datafiles. Only satellites from the GPS constellation were
considered for this experiment. Four measurements were extracted from the RINEX files;
L1 pseudorange, L1 carrier-phase, L2 pseudorange and L2 carrier-phase. For each satellite
S, the measurements are formed into time series dSM where M indicates the measurement
type.
With all of the data extracted, the series must be broken down into inputs and outputs to
train the forecaster. A sliding window of width L is used on each array dSM to create smaller
time series. At a timestep k, the array xk−L:k consists of measurements from timestep k−Lto L. It is created by using a sliding window of width L. L is also called the lookback length.
The corresponding output is the next measurement yk+1.
For a time series of length N , the sliding window creates floor(N/L) input-output pairs
for each array dSM . Since not every satellite vehicle is not always in view of the antenna,
not-a-number (nan) values are used in place of null measurements.
4.4.2 Forecaster Topology
The forecasting method introduced here is not dependent on measurements from the rover
receiver. Previous work has used the pseudorange and carrier-phase differences between the
receivers as the structure. No assumption of the dynamics of the rover receiver is necessary
50
Table 4.1: Parameters used for all networks in this study.
Parameter Name Value Description
Look back 300Number of timesteps to look-back at a time.
Look ahead 1Number of timesteps to fore-cast.
Hidden Layers 3Number of hidden layers inthe RNN.
Hidden Layer Units (600, 300, 150)Number of neurons in eachhidden layer.
Layer Activation Functions (atan, atan, atan, linear)Activation function of eachlayer.
Training Epochs 5Number of times the fore-caster was trained on eachdataset.
for the work presented here.
Through trial and analysis, the network topology parameters were found and fixed for all
experiments. These parameters are summarized in Table 4.1, and the topology is presented
in Figure 4.7. More likely than not, there are more effective network architectures for this
problem and could be an area for future exploration.
The network was constructed using a Keras front-end with a Tensorflow backend in a
Python 3.6 environment. Keras is a high-level, front-end interface that works for many
machine learning frameworks including Tensorflow, Theano and CNTK [54]. Using a front-
end like Keras simplifies the execution of experiments without getting into the muddy details
of building a network architecture from scratch.
All experiments were conducted on a machine running Windows 7 Professional with an
Intel i7-3770 CPU, 16 GB of RAM and an NVIDIA Ge Force GT 640 graphics card with 1
GB of dedicated memory.
4.4.3 General Approach
Given a time series of N measurements, the network will forecast the next M measurements
in the series. In other words, N is the length of the historical time series and M is the
forecasting horizon.
Let L be the look behind value, or the number of previous timesteps to consider. Let A
be the look ahead value, or the number of measurements to predict given L measurements.
Using these definitions of input and output, a single forecast takes the form
yk+A = fRNN (xk−L:k, θ) (4.5)
51
In these experiments, only one-step ahead forecasting was performed (A = 1). So a
single forecast step is
yk+1 = fRNN (xk−L:k, θ) (4.6)
The entire data is split into training and validation datasets using the training ratio.
The number of training points is
Ntrain = floor(N ∗ trainingratio). (4.7)
The training dataset consists of the first Ntrain measurements and split into input train-
ing data and output training data using the sliding window method discussed previously.
The input-output pairs are
1. Input data - X = {x1:L, . . . xNtrain−L:Ntrain}
2. Output data - Y = {yL+1, . . . , yLtrain+1}
Each training series is scaled by 125% of the maximum absolute value of the series. This
is done as the network expects inputs between -1 and 1. The scaling results in all values
falling between -0.8 and 0.8. Other scaling strategies were not explored in this work, but
could have an effect on the efficacy of the forecaster.
Using the training data, the network optimization can be setup to find the network
parameters θ:
minθ||Y− fRNN (X, θ)|| (4.8)
where Y is the entire output set and X is the entire input set.
The network was trained using the adaptive momentum (adam) gradient descent method
[55]. This method, among others, are popular choices for training RNNs and were readily
available to use in the Keras package. The network parameters θt are updated at the next
timestep t+ 1 by
θt+1 = θt − α ∗ mt+1/(√vt+1 + ε) (4.9)
where m and v are the first and second moment vectors that are decayed with respect
to the gradient g = ∇RNNf(θt) over time.
4.5 Experiments
A number of experiments were performed for forecasting summarized in Table 4.2. The
primary test considerations were the data structure and dataset size. The data structure
52
Table 4.2: Summary of the forecasting experiments carried out.
Experiment Structure Dataset Size
1 Direct 1 Day2 Direct 2 Day3 Delta 1 Day4 Delta 2 Day5 Delta, Mean Reduction 2 Day6 Delta, MR, Carrier-Only 2 Day
specifies the format of the input and output data, and the dataset size refers to the num-
ber of days of training data considered. Only GPS signals were used for this experiment.
GLONASS signals, though available, were not used. Both L1 and L2 pseudorange and car-
rier phase measurements were considered, but all of the graphs display the L1 measurements
and predictions. The L2 figures are identical.
4.5.1 Direct Measurement Forecasts
The initial approach directly forecasted the GPS observables given a time history of pseu-
dorange and carrier phase measurements.
This type of forecasting uses a time history of measurements to predict the next mea-
surement. Let xk−L:k be a window of measurements of length L. The forecaster uses this
sequence to predict the next measurement yk+1:
yk+1 = fRNN (xk−L:k) (4.10)
The forecaster is trained on many of these sequences. After training the network, the
forecaster will use its prediction to create a new windowed series to perform the next
prediction. An extension of the previous step takes the form
yk+2 = fRNN (xk−L+1:k, yk+1) (4.11)
This procedure is repeated for the entire forecasting horizon.
1-Day, Single-Hour Dataset
The reference data source was from the MnCORS Golden Valley reference station. The data
was collected on March 15th, 2018 between 18:00:00 and 18:59:59 UTC. Measurements were
taken at 1 Hz for a total of 3600 timesteps. A training ratio of 0.8 was used for a total of
2580 training steps.
54
The network was trained using four measurements from the RINEX file: 1) L1 pseudor-
ange, 2) L1 carrier cycles, 3) L2 pseudorange, and 4) L2 carrier cycles. There were up to 10
different satellites in view at any one GPS epoch. Each measurement-satellite combination
consisted of 2580 time-series, which was windowed into time series with a lookback length
of 300 seconds. This resulted in 113520 time series used to train the network.
Figure 4.8 shows the carrier phase forecasting errors for all of the satellite vehicles. The
forecasting errors range from -3% (-3.8 million cycles) to 1.5% (2 million cycles) through the
entire prediction horizon. At 100 seconds, the error is bounded between -1% (-1.1 million
cycles) and 0.5% (500000 cycles). Not all satellite vehicles are present that were used for
training, because they were not in view during the forecasting window.
The forecasted data was not able to reconstruct a differential carrier-phase solution.
The magnitude of the carrier phase measurements are on the order of 108. Therefore, the
forecasted measurement errors at 100 seconds range from 100000 to 1 million carrier phase
cycles. Such large errors in the corrections data makes it unfeasible to calculate a differential
carrier-phase position solution.
Figure 4.8: Forecast of L1 carrier-phase measurements 600 seconds out using the direct one-daymethod for each GPS satellite.
55
2-Day, Single-Hour Dataset
In an attempt to drive the error magnitude down, the data was adjusted to use two hour-
long datasets from subsequent days rather than a single-day dataset. The two datafiles were
retrieved from the MnCORS Golden Valley station. The data was collected on March 14th
and March 15th, 2018 between 18:00:00 and 18:59:59 UTC on each. Measurements were
taken at 1 Hz for a total of 7200 timesteps. First, the RNN forecaster was trained on the
entire March 14th dataset. Then, the forecaster was trained on the March 15th dataset in
the same manner as the single-day, single-hour experiment with a training ratio of 0.8. The
total number of time series used to train the forecaster was 227040 series.
The forecast errors through the entire horizon in this experiment are shown in Figure 4.9.
The error percentages range from -1% (-1.3 million cycles) to -5% (-6 million cycles) for the
entire forecasting horizon. At 100 seconds, the maximum error is -1.5% (-2 million cycles).
Compared to Figure 4.10, the error is worse. Again, the errors were too divergent to create
a post-processed position solution.
Figure 4.9: Forecast of L1 carrier-phase measurements 600 seconds out using the direct two-daymethod for each GPS satellite.
56
4.5.2 Delta Measurement Forecast
Using direct measurements as the forecaster’s input and output resulted in prohibitively
large errors. This is in part due to the large magnitude of the carrier phase measurements.
To reduce the magnitude of the values being dealt with, the difference between subsequent
measurements was used as the datasource. Let ∆xk+1 = (xk+1 − xk). Using sequences of
∆xs, the forecaster now takes the form
δyk+1 = fRNN (δxk−L:k) (4.12)
where L is the lookback length specified in the previous section. The predicted value
δyk+1 can then be used for forecasting the next value δyk+2:
δyk+2 = fRNN (δyk+1, δxk−L+1:k) (4.13)
Rather than predicting measurements that have a magnitude on the order of 108, the
value ∆y is on the order of 102. After forecasting the delta value at timestep k + 1, the
measurement xk+1 can be constructed from the previous measurement xk and the forecasted
delta as follows:
xk+1 = xk + ∆yk+1 (4.14)
1-Day, Single-Hour Dataset
The same dataset from the MnCORS Golden Valley reference station on March 15th was
used.
The delta measurement forecasting resulted in a considerable improvement in the carrier-
phase error. Figure 4.10 shows the carrier-phase errors for each satellite. At the prediction
horizon, the errors range from -0.1% (-100000 cycles) to .13% (150000 cycles). Four of
the satellites, G10, G13, G26, and G24 have worst-case errors better than -0.05% (50000
cycles). Compared to Figure 4.8, this is a major improvement in the error magnitude.
At 100 seconds, the worst-case error is better than 0.008% (12000 cycles) with the
aforementioned satellites having a much smaller error seen in Figure 4.11. Satellite G13 has
an error on the order of 2500 carrier phase cycles, while G16 has an even smaller error.
2-Day, Single Hour Dataset
While the errors dropped significantly using the delta measurement in the single-day case,
they are still prohibitively divergent and prevent calculating differential carrier-phase po-
sition solutions. The same two-day, single-hour datasets were used from March 14th and
57
Figure 4.10: Forecast of L1 carrier-phase measurements 600 seconds out using the delta one-daymethod for each GPS satellite.
15th in an attempt to drive down the errors.
The carrier-phase prediction error from training the forecaster on this dataset is shown
in Figure 4.12. At the prediction horizon, the maximum error is better than -0.11% (-
120000 cycles). At 100 seconds, all satellites have an error better than -0.008% (-8100
cycles). While the absolute error has not moved much, the spread of the errors has been
reduced when compared to Figure 4.10.
4.5.3 Improving the Delta Method Forecasts
At this point in the experiments, it was clear that the delta method offered superior fore-
casting capabilities compared to the direct method. This section discusses other variations
on the delta, two-day method to improve the accuracy of the forecasts further.
Mean Reduction
Using the delta method still results in large forecasting error that prevents RTK operation.
In order to reduce the magnitude of the numbers the network interacts with further, the
mean of the previous day’s delta measurements are used to reduce the scale of the current
day’s delta measurements.
The mean of the delta measurements from the previous day (March 14) is given by
58
Figure 4.11: Forecast of L1 carrier-phase measurements 100 seconds out using the delta one-daymethod for each GPS satellite.
δdSM,prev = 1N
∑N−1k=0 (dSM )k+1 − (dSM )k. This mean is subtracted from the current day’s
(March 15) delta measurements prior to scaling.
The results from the mean reduction (MR) method are compared to the previous delta
method. The results are shown in Figure 4.14 through the entire horizon and in Figure 4.15
through 100 seconds. Through the entire forecasting horizon, the errors ranged from 0.012%
(15000 cycles) to -0.03% (-32000 cycles). Compared with Figure 4.12, the range of errors
has narrowed considerable from a 0.0-0.1% spread to now a -0.03-0.01% spread.
The greatest forecasting error after 100 seconds is below 0.0025% (2500 cycles) for
satellite G15. This is another 75% reduction in the largest magnitude of the forecasting
error from the delta 2-day method. Satellite G24 had an very low error of just 19 cycles
through 100 seconds.
Mean Reduction, Carrier-Phase Only
The previous experiments trained the forecaster on both pseudorange and carrier-cycle mea-
surements. On observation, the pseudorange measurements have a higher noise component
that could make predicting the less-noisy pseudorange more difficult. This experiment em-
ployed the same mean-reduction method as the previous section but trained the network
only on the L1/L2 carrier-phase measurements.
59
Figure 4.12: Forecast of L1 carrier-phase measurements 600 seconds out using the delta two-daymethod for each GPS satellite.
The L1 carrier-phase forecasting results for the MR-CO method are displayed in Fig-
ure 4.16 and Figure 4.17. Considering the entire forecasting horizon, the range of the errors
increased from the MR method to 0.01% to -0.08%. Through 100 seconds, the largest error
is -0.0020% (-2300 carrier cycles) for satellite G13. The lowest error is around -0.0001%
(less than 100 carrier cycles) for satellite G24.
Using only the carrier-phase measurements improved the forecasts for some measure-
ments. Satellite G15’s L1 carrier phase prediction error was kept under 0.0010% using
only the carrier cycles measurement, while the magnitude of G13’s prediction error in-
creased from 0.0010% to -0.0020%. Some vehicles have better predictions when training
the network with pseudorange and carrier-phase measurements, while others have worse
predictions.
60
Figure 4.13: Forecast of L1 carrier-phase measurements 100 seconds out using the delta two-daymethod for each GPS satellite.
Figure 4.14: Forecast of L1 carrier-phase measurements 600 seconds out using the delta mean-reduction method for each GPS satellite.
61
Figure 4.15: Forecast of L1 carrier-phase measurements 100 seconds out using the delta mean-reduction method for each GPS satellite.
Figure 4.16: Forecast of L1 carrier-phase measurements 600 seconds out using the delta mean-reduction, carrier-phase only method for each GPS satellite.
62
Figure 4.17: Forecast of L1 carrier-phase measurements 100 seconds out using the delta mean-reduction, carrier-phase only method for each GPS satellite.
63
4.6 Assessing RNN Measurement Predictions
The forecaster presented here was capable of making carrier-phase predictions with very
small percentile errors. Results for each forecaster type are summarized in Table 4.3 How-
ever, these very small percentile errors still translate to large errors in the carrier cycle
forecasts. The initial strategy of using the direct measurement data structure produced
the largest errors on the order of 5% relative to the true measurements. Using a the pre-
vious day’s measurements in addition to the target day’s measurements for training the
forecaster did not reduce the overall error using the direct method. In an attempt to reduce
the magnitude of numbers being predicted, the delta measurement method was employed
with successful results. Using a single day’s worth of measurements, the maximum error of
the forecaster using the delta method was less than 0.13%, a huge reduction compared to
the direct method. Using the previous day’s data reduced the maximum error to 0.11%.
The best forecasts were made using the delta measurement method, so other strategies
were explored to drive down the forecasting error. The mean-reduction (MR) method used
the mean delta measurement of the prior day’s dataset to further reduce the scale of the
target day’s dataset. This method had a dramatic effect in reducing the maximum error to
0.03%, a 73% reduction compared to the two-day delta forecaster. Next, the MR carrier-
cycles only method was employed. Disregarding the pseudorange measurements to train
the forecaster resulted in a larger error magnitude at the 600 second horizon. Some satellite
vehicles errors decreased, while others increased. The MR-CO method is considered a wash,
and the MR method was the most effective method used out of all the experiments.
Recall the general model for the carrier cycles measurement:
Φnu = λ−1[rnu + IΦ + TΦ] +
c
λ(δtu − δtn) +N + εnΦ,u (4.15)
the integer number of wavelength cycles N is an unobservable, to-be-determined quantity.
Errors in the carrier phase prediction for each satellite will cause the calculated N to diverge.
Table 4.3: Prediction error for each experiment at different forecasting horizons.
Forecaster Max Error100s (%) Max Error600s (%)
Direct, One-Day -1 -3Direct, Two-Day -1.5 -5Delta, One-Day 0.008 0.13Delta, Two-Day -0.008 -0.11Delta, Mean-Reduction 0.0022 -0.03Delta, Carrier-Only -0.0020 -0.08
64
4.6.1 Calculating the Position Solution
In each of the experiments, a RINEX file was created that replaced the true reference station
measurements with the forecasted measurements. The open-source software RTKlib was
used to post-process the faux user receiver measurements and forecasted measurements
to create a non-real-time RTK navigation solution [56]. Only one forecaster, the delta
mean-reduction forecaster, produced sufficient measurement predictions to create an RTK
navigation solution. After all, the end-goal is to produce a usable navigation solution.
Figure 4.18 shows the error between the solution using the true measurements and the
solution using the forecasted measurements. The RTK solution was only in floating-point
mode and never fixed-integer mode. The forecasting begins at 09:48:00. The North-South
and East-West position component errors diverge towards hundreds of meters quickly, while
the Up-Down component errors stay reasonable before diverging. Around the 09:50:45
mark, the solution reverts back to single-point position mode. While the RTK floating-
point position errors are absurdly large, this was the first time RTKlib was able to create
an RTK navigation solution using the forecasted reference station measurements.
The Up-Down component of the position has much lower error than the North-South
or East-West components. Figure 4.19 shows the error up to one minute after forecasting
begins. The error of the Up-Down component is below 2 meters for the first 12 seconds
below 10 meters for the first minute. This is an order of magnitude smaller than the East-
West error and two orders of magnitude smaller than the North-South error. The relative
difference in component errors could shed light on where weaknesses lie in the forecaster.
A reason that position solutions cannot be computed with post-processing is because the
forecasted measurement errors diverge relative to one another (not just absolutely). Recall
from Chapter 2, the concept of single-difference and double-difference measurements. When
performing differential carrier-phase navigation, the measurement itself is not as important
as the final double-differenced values used to resolve the integer ambiguities.
In hindsight, perhaps the single-differenced measurements between satellite vehicles
would have been a more suitable choice for training the forecaster and is suggested as
an avenue for future research. This idea was primitively tested by inserting a constant off-
set in the RINEX measurements (-10000) to each of the measurements. Post-processing a
position solution using this perturbed data maintained an accurate floating point solution.
Questions remain as to the applied efficacy of this approach, and the specific result omitted
from this thesis.
There was concern that the order that the time series were fed into the forecaster biased
the forecaster to favor some satellites over others. For example, satellite G24 often had the
lowest error out of all the vehicles as seen in Figure 4.12 and Figure 4.16. Trials were run
that shuffled the input and the output data without major effects.
65
Figure 4.19: NED position errors w.r.t. the original solution up to one minute after forecastingbegins.
67
4.7 Future Work
The work presented here did not reach the goal of creating a forecaster that can maintain
an RTK navigation solution after the loss of external reference data. However, as a general
forecaster, the network presented here is capable of very-accurate forecasts with errors
much less than 0.1%. There are many considerations for future work towards creating an
RNN-based forecaster to augment RTK operation.
Many parts of the work described here offer opportunities for future exploration and
iteration. While the final forecaster strategy presented was not able to reproduce usable
RTK solutions, each trial took a step forward in reducing the magnitude of the forecast-
ing error. Though the errors are too large for producing RTK solutions, perhaps such a
forecaster could be used for long-term, high-fidelity differential GPS positioning that uses
pseudorange corrections (PRC) that have a much lower magnitude than the measurements
discussed here.
A single RNN forecaster was used for all of the measurements from all of the satellite
vehicles. No information was passed into the RNN as to which measurements came from
which satellite. The internal weights of the RNN encapsulated all of the satellite vehicles at
the same time meaning computational overhead was reduced, but possible useful information
may have been lost. It could be that idiosyncrasies between satellites are lost inside the
bulk of the network. Rather than using a single forecaster, an architecture that can handle
subsets of satellites could be more appropriate. This could take the form of using the
satellite number as a network input or creating individual forecasters for each vehicle as an
example. As it stands now, this forecaster is vehicle agnostic.
The experiments carried out here used only a sliver of data (two hours from two days)
compared to the amount available. Many CORS networks, including MnCORS, have an
archive of measurements available as RINEX files for dozens of reference stations. There
could be opportunity into leveraging a large amount of GNSS measurement data to improve
the performance of an RNN forecaster. This would increase the likelihood that the forecaster
has seen some data trend in the past.
There are aspects of neural network design and implementation that were overlooked
and not discussed in this thesis. These include dropout and noise layers, more sophisticated
network topologies, and online training methods. This work is an initial step on developing
an RNN forecaster that can predict future time-series measurements with very little error.
As the state of the art of neural networks and deep learning is constantly changing, there
is much more to explore especially in the realm of time-series forecasting.
68
5. Conclusion
This thesis presented a technical background of global positioning satellite systems (GNSS)
and the real-time kinematic (RTK) positioning method of calculating precise position so-
lutions. It covered the basics of GNSS signals, the pseudorange and carrier phase, and
RTK navigation using these observables. Also introduced are common data formats used
for transferring GNSS-related information.
The growing availability of low-cost RTK receivers prompted an assessment of sev-
eral receivers using the Minnesota Continuously Operating Reference Station (MnCORS)
network. This assessment was performed for the Minnesota Department of Transporta-
tion (MnDOT). The study showed that the multifrequency Swift Piksi Multi had the best
accuracy and availability of the low-cost receivers while using a multifrequency antenna.
However, it demonstrated degraded metrics using the patch antenna and when operating in
non-ideal environments. The single-frequency low-cost receivers performed best in the rural
environment during static testing, but metrics degraded in other environments and during
the dynamic tests. The u-blox NEO-M8P and Emlid reach had the highest availability,
continuity and accuracy of the single-frequency low-cost receivers. The mid-range Hemi-
sphere Eclipse P307 outperformed all of the low-cost receivers during static and dynamic
testing in all environments. The performance of the Eclipse P307 came at a cost of around
$2000 versus $600 or less compared to the low-cost receivers. Low-cost receiver technology
is advancing, and some manufacturers including Swift and u-blox have released firmware
updates that may increase the capabilities of the receivers. Future work could investigate
the changes that these updates have had and investigating new hardware as it is released.
RTK navigation depends on a steady stream of GNSS data from a reference station, and
the position solution can be lost if the connection between the reference and primary receiver
is compromised In the final chapter, a recurrent neural-network (RNN) time-series forecaster
was prototyped to predict measurements for RTK operation. An RNN forecaster was trained
offline using measurement from MnCORS base stations, and it was found that using the
difference between subsequent measurements will result in an overall lower prediction error.
However, the prediction errors were too large to be useful for RTK positioning, though there
is likely room for improvement in the forecaster. Future work could include building upon
the current capabilities of RNN time series forecasting to increase the robustness of RTK
GNSS or investigating alternative approaches to this problem.
69
Bibliography
[1] Nathan F. Putman. “Inherited magnetic maps in salmon and the role of geomag-
netic change”. In: Integrative and Comparative Biology 55.3 (2015), pp. 396–405. issn:
15577023. doi: 10.1093/icb/icv020.
[2] Marie Dacke et al. “Dung beetles use the milky way for orientation”. In: Current
Biology 23.4 (2013), pp. 298–300. issn: 09609822. doi: 10.1016/j.cub.2012.12.034.
arXiv: 9809069v1 [arXiv:gr-qc].
[3] C. Evangelista et al. “Honeybee navigation: critically examining the role of the po-
larization compass”. In: Philosophical Transactions of the Royal Society B: Biological
Sciences 369.1636 (2014), pp. 20130037–20130037. issn: 0962-8436. doi: 10.1098/
rstb.2013.0037.
[4] Mai Thuy. Global Positioning System History. 2012. url: https://www.nasa.gov/
directorates/heo/scan/communications/policy/GPS{\_}History.html.
[5] United Nations Office for Outer Space Affairs. “Current and Planned Global and
Regional Navigation Satellite Systems and Satellite-based Augmentations Systems”.
In: (2010), p. 70. url: http://www.unoosa.org/pdf/publications/icg{\_}ebook.
pdf.
[6] Frank van Diggelen. “The Smartphone Revolution”. In: GPS World (Dec. 2009). url:
http://gpsworld.com/wirelesssmartphone-revolution-9183/.
[7] Alec Gorjestani et al. Part of the Intelligent Vehicle Initiative Driver Assistive Systems
for Snowplows. Tech. rep. University of Minnesota, 2003.
[8] XM395 Precision Mortar. 2015. url: https://www.orbitalatk.com/defense-
systems/.
[9] GPS.gov. Applications - Timing. 2014. url: https://www.gps.gov/applications/
timing/ (visited on 12/28/2017).
[10] Jessica Arlas and Sara Spangelo. “GPS Results for the Radio Aurora Explorer II
CubeSat Mission”. In: AIAA Region III Student Conference (2012), pp. 1–8. doi:
10.2514/6.2013-123.
[11] Pratap Misra and Per Enge. Global Positioning System - Signals, Measurements, and
Performance. Revised Se. Lincoln, Massachusetts: Ganga-Jamuna Press, 2011. isbn:
978-0-9709544-1-1.
[12] Charles C. Counselman et al. “Centimeter-Level Relative Positioning With GPS”. In:
Journal of Surveying Engineering 109.2 (1983), pp. 81–89.
70
[13] Bradford W. Parkinson and Stephen T. Powers. “Part 2: The Origins of GPS, Fighting
to Survive”. In: GPS World (June 2010). url: http://gpsworld.com/origins-gps-
part-2-fighting-survive/.
[14] Chris Rizos. “Alternatives to current GPS-RTK services and some implications for
CORS infrastructure and operations”. In: (2007). doi: 10.1007/s10291-007-0056-x.
[15] “Last Block IIF to replace oldest GPS satellite”. In: GPS World (Jan. 2016). url:
http://gpsworld.com/last-block-iif-to-replace-oldest-gps-satellite/.
[16] Col. Steven Whitney. “Directions 2018: The GPS year in review”. In: GPS World
(Dec. 2017). url: http://gpsworld.com/directions-2018-the-gps-year-in-
review/.
[17] US Department Of Defense. “Global Positioning System Standard Positioning Ser-
vice”. In: gps.gov September (2008), pp. 1 –160. url: http : / / www . gps . gov /
technical/ps/2008-SPS-performance-standard.pdf.
[18] NIMA. “Department of Defense World Geodetic System 1984”. In: Technical Report
8350.2, Third Edition (2000), p. 175. doi: TR8350.2. url: http://earth-info.nga.
mil/GandG/publications/tr8350.2/wgs84fin.pdf.
[19] Martina Szabova and M Sc. “Survey Of GNSS Coordinates Systems”. In: 12.24 (2016),
pp. 33–42. doi: 10.19044/esj.2016.v12n24p33.
[20] navy.mil. USNO GPS Time Transfer. url: tycho.usno.navy.mil/gpstt.html.
[21] P. J. G. Teunissen, P. J. de Jonge, and Christian C. C. J. M. Tiberius. “The LAMBDA-
Method for Fast GPS Surveying”. In: Proceedings of International Symposium �GPS
technology applications� 1 (1995), pp. 203–210.
[22] International GNSS Service ( IGS ). “The Receiver Independent Exchange Format”.
In: IGS Workshop 2012 104 (2012), pp. 1–74.
[23] RTCM SPECIAL COMMITTEE NO. 104. RTCM STANDARD 10403.2 DIFFER-
ENTIAL GNSS (GLOBAL. Tech. rep. Arlington, VA: Radio Technical Commission
for Maritime Services.
[24] NMEA 0183 Interface Standard. Standard. Severna Park, MD: National Marine Elec-
tronics Association, Nov. 2008.
[25] Li Ta Hsu et al. “Multiple Faulty GNSS Measurement Exclusion Based on Consistency
Check in Urban Canyons”. In: IEEE Sensors Journal 17.6 (2017), pp. 1909–1917. issn:
1530437X. doi: 10.1109/JSEN.2017.2654359.
71
[26] Trevor Layh et al. “A recovery system for SUAV operations in GPS-denied environ-
ments using timing advance measurements”. English (US). In: Institute of Navigation
International Technical Meeting 2015, ITM 2015. United States: Institute of Naviga-
tion, Jan. 2015, pp. 293–303.
[27] Laurie Bedord. “John Deere Ramps Up RTK Coverage”. In: Successful Farming (Apr.
2016). url: https://www.agriculture.com/content/john-deere-ramps-up-rtk-
coverage.
[28] RTCM SPECIAL COMMITTEE NO. 104. RTCM STANDARD 10410.0. Tech. rep.
Arlington: Radio Technical Commission for Maritime Services, 2001.
[29] MnDOT. MnCORS GNSS Network. 2018. url: http://www.dot.state.mn.us/
surveying/cors/.
[30] Yijian Cui et al. “Feasibility analysis of low-cost GNSS receivers for achieving re-
quired positioning performance in CAV applications”. In: 2017 Forum on Cooperative
Positioning and Service, CPGPS 2017 (2017), pp. 355–361. doi: 10.1109/CPGPS.
2017.8075154.
[31] Antennas. NOT-20140609a. Navcom. 2014.
[32] ANN-MS, Active GPS antenna. UBX-15025046. R14. u-blox. Nov. 2017.
[33] Hamid Mokhtarzadeh, Adhika Lie. NavPy. Version 1.0. url: https://github.com/
NavPy/NavPy.
[34] Knio. Pynmea2. Version 1.12.0. url: https://github.com/Knio/pynmea2.
[35] Gary Chisholm. “Virtual reference station improved efficiency”. In: International
Ocean Systems 6.6 (2002), pp. 10–12. issn: 14604892. doi: 10.5081/jgps.1.2.137.
[36] J. Jackson. PyRTK Utility. 2017. url: https://github.umn.edu/IVLab/gnss-
eval/tree/master/Utility.
[37] MnDOT. Interactive Geodetic Monument Viewer. 2018. url: https://www.dot.
state.mn.us/maps/geodetic/.
[38] SF-3050. NCT-20140609a. Navcom. 2014.
[39] James E. Gentle. “Mathematical and Statistical Preliminaries”. In: Computational
Statistics. New York, NY: Springer New York, 2009, pp. 5–79. isbn: 978-0-387-98144-
4.
[40] Michael S. Braasch (Ohio University). “Multipath Effects”. In: Global Positioning
System: Theory and Applications. Ed. by Bradford W. Parkinson and James J. Spilker
Jr. AIAA, 1995, pp. 547–568.
72
[41] u-blox announces u-blox F9 robust and versatile high precision positioning technology
for industrial and automotive applications. Thalwil, Switzerland, 2018. url: https:
//www.u-blox.com/en/press-releases/u-blox-announces-u-blox-f9-robust-
and-versatile-high-precision-positioning-technology.
[42] Tomoji Takasu and Akio Yasuda. “Evaluation of RTK-GPS performance with low-
cost single-frequency GPS receivers”. In: Proceedings of international symposium on
GPS/GNSS (2008), pp. 852–861.
[43] “Dual Frequency, Carrier Phase Differential GPS Augmentation”. In: Intelligent Trans-
portation Systems (), p. 43.
[44] Alex Graves. “Generating Sequences With Recurrent Neural Networks”. In: (2013),
pp. 1–43. issn: 18792782. doi: 10.1145/2661829.2661935. arXiv: 1308.0850.
[45] Daniel Zoran et al. “Playing Atari with Deep Reinforcement Learning”. In: arXiv
32.Ijcai (2016), pp. 1–9. issn: 10495258. doi: 10.1038/nature14236. eprint: 1507.
01526.
[46] Yanrui Geng. “Online DGPS correction prediction using recurrent neural networks
with unscented Kalman filter”. In: International Global Navigation Satellite Systems
Society IGNSS Symposium, The University of New South Wales, Sydney, Australia
(2007), pp. 4–6.
[47] Arif Indriyatmoko et al. “Artificial neural networks for predicting DGPS carrier
phase and pseudorange correction”. In: GPS Solutions 12.4 (2008), pp. 237–247. issn:
10805370. doi: 10.1007/s10291-008-0088-x.
[48] Sohel Ahmed, Quddusa Sultana, and K. Deergha Rao. “Comparative analysis of
DGPS predicted corrections using dynamic neural networks”. In: 2014 IEEE Interna-
tional Conference on Vehicular Electronics and Safety, ICVES 2014 m (2015), pp. 61–
65. doi: 10.1109/ICVES.2014.7063725.
[49] Warren S. McCulloch and Walter Pitts. “A logical calculus of the ideas immanent in
nervous activity”. In: The Bulletin of Mathematical Biophysics 5.4 (1943), pp. 115–
133. issn: 00074985. doi: 10.1007/BF02478259. arXiv: arXiv:1011.1669v3.
[50] Czxttkl. Convolutional Neural Network Simple Tutorial. url: https://nb4799.neu.
edu/wordpress/?p=246 (visited on 05/11/2018).
[51] Sepp Hochreiter and Jurgen Jurgen Schmidhuber. “LSTM”. In: Neural Computation
9.8 (1997), pp. 1–32. issn: 0899-7667. doi: 10.1162/neco.1997.9.8.1735. arXiv:
1206.2944.
[52] J. Jackson. RTKnet. 2018. url: https://github.umn.edu/jacks974/RTKnet.
73
[53] MnDOT. MnCORS FTB Website. 2018. url: ftp://ftp.olmweb.dot.state.mn.
us/.
[54] Francois Chollet et al. Keras. https://github.com/keras-team/keras. 2015.
[55] Diederik P. Kingma and Jimmy Ba. “Adam: A Method for Stochastic Optimization”.
In: (2014), pp. 1–15. doi: http://doi.acm.org.ezproxy.lib.ucf.edu/10.1145/
1830483.1830503. arXiv: arXiv:1412.6980v9.
[56] Tomoji Takasu et al. RTKlib. https://github.com/tomojitakasu/RTKLIB/tree/
rtklib_2.4.3. 2017.
74
Figure A.6: Absolute prediction error for the direct 1-day method.
Figure A.7: Absolute prediction error for the direct 2-day method.
80
Figure A.8: Absolute prediction error for the delta 1-day method.
Figure A.9: Absolute prediction error for the delta 2-day method.
81