Article

goGPS: open-source MATLAB software

Abstract

goGPS is a positioning software application designed to process single-frequency code and phase observations for absolute or relative positioning. Published under a free and open-source license, goGPS can process data collected by any receiver, but focuses on the treatment of observations by low-cost receivers. goGPS algorithms can produce epoch-by-epoch solutions by least squares adjustment, or multi-epoch solutions by Kalman filtering, which can be applied to either positions or observations. It is possible to aid the positioning by introducing additional constraints, either on the 3D trajectory such as a railway, or on a surface, e.g., a digital terrain model. goGPS is being developed by a collaboration of different research groups, and it can be downloaded from http:// www. gogps-project. org. The version used in this manuscript can be also downloaded from the GPS Toolbox Web site http:// www. ngs. noaa. gov/ gps-toolbox. This software is continues to evolve, improving its functionalities according to the updates introduced by the collaborators. We describe the main modules of goGPS along with some examples to show the user how the software works.
GPS TOOLBOX
goGPS: open-source MATLAB software
Antonio M. Herrera
1
Hendy F. Suhandri
2
Eugenio Realini
3
Mirko Reguzzoni
4
M. Clara de Lacy
1,5
Received: 21 January 2015 / Accepted: 2 June 2015
Springer-Verlag Berlin Heidelberg 2015
Abstract goGPS is a positioning software application
designed to process single-frequency code and phase
observations for absolute or relative positioning. Published
under a free and open-source license, goGPS can process
data collected by any receiver, but focuses on the treatment
of observations by low-cost receivers. goGPS algorithms
can produce epoch-by-epoch solutions by least squares
adjustment, or multi-epoch solutions by Kalman filtering,
which can be applied to either positions or observations. It
is possible to aid the positioning by introducing additional
constraints, either on the 3D trajectory such as a railway, or
on a surface, e.g., a digital terrain model. goGPS is being
developed by a collaboration of different research groups,
and it can be downloaded from http://www.gogps-project.
org. The version used in this manuscript can be also
downloaded from the GPS Toolbox Web site http://www.
ngs.noaa.gov/gps-toolbox. This software is continues to
evolve, improving its functionalities according to the
updates introduced by the collaborators. We describe the
main modules of goGPS along with some examples to
show the user how the software works.
Keywords GNSS Open-source software Positioning
Navigation
Introduction
The development of goGPS started in 2007 at Politecnico
di Milano, Como campus (Italy). The first version of
goGPS MATLAB was published as free and open-source
software in 2009, under a GPLv3 license; the software has
evolved steadily through the years, improving stability and
The GPS Toolbox is a column dedicated to highlighting algorithms and
source code utilized by GPS engineers and scientists. If you have an
interesting program or software package you would like to share with our
readers, please pass it along; e-mail it tous at gpstoolbox@ngs.noaa.gov.
To comment on any of the source code discussed here, or to download
source code, visit our website at http://www.ngs.noaa.gov/gps-toolbox.
This column is edited by Stephen Hilla, National Geodetic Survey,
NOAA, Silver Spring, Maryland, and Mike Craymer, Geodetic Survey
Division, Natural Resources Canada, Ottawa, Ontario, Canada.
&Antonio M. Herrera
aherreraolmo@gmail.com
Hendy F. Suhandri
suhandri@nav.uni-stuttgart.de
Eugenio Realini
eugenio.realini@gmail.com
Mirko Reguzzoni
mirko.reguzzoni@polimi.it
M. Clara de Lacy
mclacy@ujaen.es
1
Departamento de Ingenierı
´a Cartogra
´fica, Geodesia y
Fotogrametrı
´a, Escuela Polite
´cnica Superior, Universidad de
Jae
´n, Jae
´n, Spain
2
Institut fu
¨r Navigation, Universita
¨t Stuttgart, Stuttgart,
Germany
3
Geomatics Research and Development (GReD) srl, Milan,
Italy
4
DICA, Politecnico di Milano, Milan, Italy
5
Centro de Estudios Avanzados de Ciencias de la Tierra
(CEACTierra), Jae
´n, Spain
123
GPS Solut
DOI 10.1007/s10291-015-0469-x
performance. The development of an alternative version of
goGPS, written in Java and published under a LGPLv3
license, was started in 2010 with the aim of providing a
positioning library in a coding language more suitable for
the implementation of positioning Web services (Realini
et al. 2012). It is important to note goGPS does not require
MATLAB special supporting toolboxes. The user only
requires the Instrumental Control Supporting Toolbox
when the connection of a GPS device to a COM port is
desired. In this paper, we focus on the MATLAB version,
from here on simply referred to as ‘‘goGPS’’.
goGPS processes single-frequency (L1) code and carrier
phase observations either by epoch-by-epoch least squares
adjustment (LSA) or by an extended Kalman filter (EKF),
applied to either undifferenced or double-differenced
observations, to produce solutions based on multiple epochs.
goGPS can apply different observation-weighting strategies:
based on satellite elevation or on tailored weight functions
that exploit the known signal-to-noise ratio characteristics of
low-cost receivers. The modular design of the goGPS EKF
allows for the seamless addition of optional external data
sources, e.g., pseudo-observations interpolated from digital
terrain models (Realini and Reguzzoni 2013).
The general way of using a Kalman filter for GPS-based
navigation is to apply it to epoch-by-epoch positions. These
are typically estimated by LSA on code and phase obser-
vations: the filter acts a posteriori smoothing the resulting
trajectory (Hofmann-Wellenhof et al. 2008). When this
method is applied to low-cost devices, the resulting posi-
tioning is as accurate as that obtained by applying absolute
positioning on phase-smoothed code measurements, i.e.,
typically with an error of few meters (Leick et al. 2015). By
this approach, the effects of atmospheric delays and clock
errors cannot be efficiently mitigated; this kind of receiver,
in fact, is not designed for relative positioning, and the
resulting trajectories are generally affected by large biases.
The Kalman filter implemented in goGPS works in this
way when the filter is used with code-only observations,
either in stand-alone or in relative mode. When code and
phase observations are used in stand-alone and double-
difference modes, the goGPS EKF is applied on double-
difference observations with respect to a reference station.
The possibility of directly processing GPS observations
allows us to remove most of the biases associated with
absolute positioning, obtaining accuracies of less than 1 m.
goGPS acquires input observations either by reading
standard RINEX files, from either low-cost or geodetic
receivers, or by decoding receiver-specific binary formats.
The decoding functions support the following low-cost
modules: u-blox LEA-4T/5T/6T, NVS NV08C-CSM,
SkyTraq S1315F-RAW, Fastrax IT03. For real-time func-
tioning, the software can acquire reference station obser-
vations by decoding RTCM 3.1 data streams from an
NTRIP caster; these observations are synchronized on the
fly with those decoded from multiple low-cost receivers
(from one to four) connected to USB (COM) ports.
Changes in the satellite configurations, i.e., satellite addi-
tions/losses or new reference (pivot) satellite used for the
double differences, and cycle slips are managed for all
EKF modes. As of now, only the MATLAB version pro-
vides a graphical user interface.
goGPS mainly targets single-frequency, low-cost devi-
ces, but its code and phase modules are designed to work
either in single-frequency or in dual-frequency mode.
Therefore, it can be used also with dual-frequency recei-
vers, even if it is not yet optimized to best exploit both
frequencies, e.g., by computing useful data combinations
(Teunissen and Kleusberg 1998).
We describe the main modules of goGPS, included in
the official releases of the software since version 0.4.2. In
particular, the following section deals with a summary of
the theory implemented in the program: stand-alone posi-
tioning with LSA and relative positioning with EKF. Each
topic is briefly summarized in a separate subsection. After
that, tests and results are discussed.
Main functionalities of goGPS
This section summarizes the theory implemented in goGPS
in the different positioning modes: stand-alone positioning
with LSA and relative positioning with EKF, both in post-
processing and real time. In the manual of the program, the
parameters to set in both cases are shown.
Stand-alone positioning with LSA
This module uses pseudorange observations. The code
observation equation at the epoch tis defined as:
Ps
rðtÞ¼qs
rðtÞþcdtrðtÞdtsðtÞðÞþIs
rðtÞþTs
rðtÞþvs
rðtÞ
ð1Þ
where cis the speed of the light in vacuum, dt
r
and dt
s
are
the receiver and satellite clock offsets, Ts
ris the tropo-
spheric delay and Is
ris the ionospheric delay, vs
ris code
observation noise and qs
ris the geometric distance between
satellite and receiver positions in Cartesian coordinates.
The atmospheric delays are removed by standard mod-
els, in this case the Klobuchar ionospheric model (Klo-
buchar 1987) and the Saastamoinen tropospheric model
(Saastamoinen 1973). Since the satellite position
(Xs;Ys;Zs) is assumed to be known from the ephemerides,
the satellite clock offset dt
s
is obtained from the navigation
message, the atmospheric delays Is
rand Ts
rare estimated
from standard models, there are four unknowns: the
receiver position coordinates Xr;Yr;Zrand the receiver
GPS Solut
123
clock offset dt
r
. At each epoch of measurement, point
positioning can thus be performed by having at least four
observations, which means receiving the signal from at
least four satellites. Since it is possible to estimate the
receiver position by using single epoch observations, point
positioning by code observations can be effectively used in
kinematic positioning for navigation purposes or using
LSA to estimate the unknowns during the observation
session in post-processing.
The system of code observation equations is nonlinear;
therefore, it is required to linearize it around an approxi-
mate value of the receiver coordinates. This approximated
position is computed by performing three iterations of least
squares on code pseudorange observations starting from the
center of the earth.
A way to improve the result of stand-alone positioning is
to use the corrections coming from a SBAS (satellite-based
augmentation system). The European Geostationary Navi-
gation Overlay Service (EGNOS) is a SBAS, developed to
improve the performance of GPS and Galileo in the
European region. EGNOS allows for improved accuracy in
stand-alone positioning with respect to GPS-only solutions,
by means of corrections to GPS orbits, satellite clocks and
ionospheric delays. The EGNOS corrections are divided
into two categories: fast and long term. The fast corrections
are used to model rapidly changing terms such as the
satellite clock errors; they are provided as corrections to be
applied directly to the code pseudorange observations. The
long-term corrections are for the slower changing terms,
due to the ionosphere, the mis-modeling of the broadcast
orbits and the long-term components of the satellite clock
error. The fast corrections and the clock/orbit parts of the
long-term corrections are common to all users, while the
ionospheric corrections depend on the user position, since
they are derived from a gridded model of the ionosphere.
goGPS MATLAB uses several of the standard EGNOS
messages that are needed to achieve improved accuracy.
These implemented messages are shown in Table 1. The
formulation of the implemented corrections can be seen in
(RTCA DO-229D 2006).
The implementation of EGNOS corrections in goGPS
includes both fast and long-term corrections, but their
availability depends on the data source. The most complete
source of EGNOS data, that includes all corrections
available, is the EGNOS Message Server (EMS). The EMS
stores the augmentation messages broadcast by EGNOS in
hourly text files and permits access to archived broadcast
messages by FTP protocol. goGPS automatically connects
to EMS, downloads the necessary data and uses them to
apply the corrections to GPS orbits and observations.
However, the corrections provided by the EMS are not
available in real time, so they may be applied only for post-
processing purposes. Some low-cost receivers, such as
those based on the u-blox LEA-4T/5T/6T modules, provide
some of the EGNOS corrections in real time by means of
receiver-specific binary messages that can be enabled with
the raw data output. In the case of u-blox receivers,
EGNOS data are included in the NAV-SBAS message
(UBX format), but they are limited to the fast corrections
and the ionospheric corrections. The current version of
goGPS supports only EMS; therefore, it can apply EGNOS
corrections only in post-processing. Support for decoding
and using corrections from the UBX-NAV messages has
already been implemented and can be provided on request,
but it is not included in the current official release.
Furthermore, goGPS includes a module to deal with
several GNSS constellations that include the Russian sys-
tem GLONASS, the Chinese BeiDou, the European Galileo
and the Japanese QZSS. At a basic level, multi-constella-
tion processing has to take into account at least the design
differences between terrestrial reference systems and time
systems. In addition, the presence of inter-system (receiver
clock) biases (ISB) has to be assumed because of the
alignment errors among the different time systems. Table 2
gives an overview of the multi-constellation design char-
acteristics taken into account in goGPS.
The transformation between PZ-90.02 and WGS84 is
valid from 20/09/2007 at 18:00 UTC (Revnivykh 2008). Its
expression in meters is given by:
X
Y
Z
2
43
5ITRF2000
¼
X
Y
Z
2
43
5PZ90:02
þ
0:36
0:08
0:18
2
43
5ð2Þ
No transformation between Galileo Terrestrial Refer-
ence Frame (GTRF) and WGS-84 is currently implemented
in goGPS, but its agreement with WGS-84 is deemed to be
sufficient for positioning with broadcast ephemeris (Hof-
mann-Wellenhof et al. 2008); the same is assumed for
CGCS2000.
goGPS uses GPS time as a reference for the processing.
Galileo time and QZSS time are aligned with GPS time, so
there is no need to apply known time offsets beforehand.
On the contrary, GLONASS time is aligned to UTC time,
so the current number of leap seconds has to be applied.
Actually there is a fixed 3-h offset between GLONASS
Table 1 EGNOS messages implemented in goGPS
Type Content
1 PRN mask assignments
2–5 Fast corrections
18 Ionospheric grid points mask
24 Mixed fast corrections/long-term satellite error corrections
25 Long-term satellite error corrections
26 Ionospheric delay corrections
GPS Solut
123
time and UTC time, but this is already accounted for in the
time tag read from RINEX files. The start epoch of BeiDou
time is 00:00:00 on January 1, 2006, UTC; therefore, the
leap seconds on that moment (14 s) have to be taken into
account to align BeiDou time with GPS time. In addition,
ISBs are estimated by means of additional unknowns in a
classical least squares problem. If, at any given epoch, i
satellite systems are available, i-1 ISB parameters are
added to the design matrix in a classical LSA. Equation 3
shows an example for code observations at an epoch with n
GPS, mGLONASS and s QZSS satellites.
Pg1
r
Pg2
r
.
.
.
Pgn
r
Pr1
r
.
.
.
Prm
r
Pj1
r
.
.
.
Pjs
r
2
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
¼
ag1
Xag1
Yag1
Z100
ag1
Xag2
Yag2
Z100
.
.
..
.
..
.
..
.
..
.
..
.
.
agn
Xagn
Yagn
Z100
ar1
Xar1
Yar1
Z110
.
.
..
.
..
.
..
.
..
.
..
.
.
arm
Xarm
Yarm
Z110
aj1
Xaj1
Yaj1
Z101
.
.
..
.
..
.
..
.
..
.
..
.
.
ajs
Xajs
Yajs
Z101
2
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
5
X~
X
Y~
Y
Z~
Z
cdtr
c:dGLO
c:dQZSS
2
6
6
6
6
6
6
4
3
7
7
7
7
7
7
5
þb
(
ð3Þ
where code observations are indicated by the notation P
r
gk
(k=1,,n with nbeing the number of GPS satellites), P
r
rl
(l=1,,m with mbeing the number of GLONASS
satellites) and P
r
jq
(q=1,,s with sbeing the number of
QZSS satellites); the aparameters represent the lineariza-
tion coefficients of the pseudorange equation; ~
X;~
Y;~
Zare
the approximate coordinates for the receiver antenna; cis
the speed of light; the unknowns are expressed as X, Y, Z
for the receiver antenna coordinates, dt
r
for the receiver
clock error and d
GLO
,d
QZS
for the ISBs of GLONASS and
QZSS, respectively, in this case, with respect to GPS. bis
the vector of constant terms from the linearized pseudor-
ange equations using initial or updated values of the
parameters. goGPS can process single-frequency code and
phase observations for all the currently available GNSS
constellations (excluding IRNSS) read from RINEX v2.10-
12 and v3.01 files. The satellite orbits and clocks are
computed from the broadcast ephemeris and clock
parameters. The constellations to be processed can be
selected by means of the goGPS graphical user interface.
Support for the multi-constellation low-cost receiver
NV08C-CSM (by NVS Technologies AG) is also included.
It is important to note that at the moment, the receiver must
be updated with a demo firmware that provides raw data
output not only for GPS and GLONASS, as with the
standard firmware, but also for Galileo and QZSS.
Relative positioning with KF
In this section, we focus on the EKF used with phase and
code observations, since this is the most original part of the
software. The Kalman filter implemented in goGPS works
on double-difference observations with respect to a refer-
ence station (Realini 2009).
In the goGPS KF, the quantities used as state variables
for double-difference observations are position, velocity
and ambiguities. A generic nth-order dynamic model can
be written as
Xtþ1ðÞ¼
XtðÞþ
X0tðÞ
X0tþ1ðÞ¼
X0tðÞþ
X00 tðÞ
.
.
.
XnðÞ tþ1ðÞ¼0þ
XnðÞ tðÞþe
XnðÞ tþ1ðÞ
Np1
rmtþ1ðÞ¼Np1
rmtðÞ
.
.
.
Nps
rmtþ1ðÞ¼Nps
rmtðÞ
8
>
>
>
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
>
>
>
:
ð4Þ
where
Xis the receiver position Xr;Yr;Zr
½,e
XnðÞ is the
model error and Npi
rmrepresents the double differences of
ambiguities. Various types of motion can be modeled by
using different values for n; therefore, n=0 means ‘‘rover
is static,’n=1 means ‘constant velocity,’ n=2 means
‘constant acceleration’’ and so on.
The transition matrix Twill be defined as follows
T¼
T0
0I
 ð5Þ
with
T¼
Tn00
0Tn0
00Tn
2
43
5ð6Þ
and
Tn¼
11 0  0
01 1 ..
..
.
.
.
.
...
.
11 ..
..
.
.
.
.
...
...
...
.
0
.
.
...
...
.
1
0   01
2
6
6
6
6
6
6
6
6
4
3
7
7
7
7
7
7
7
7
5
ð7Þ
Table 2 Constellations, terrestrial reference systems (TRS) and time
systems, as currently implemented in goGPS
System TRS Time system
GPS WGS-84 GPST
GLONASS PZ-90.02 UTC (GPST–leap sec)
Galileo GTRF GST (GPST)
BeiDou CGCS2000 BDT (GPST–14 s)
QZSS WGS-84 QZSST (GPST)
GPS Solut
123
The phase observation equation that combines master
and rover observations, with respect to the pivot satellite p
and each satellite s, is written as
k/ps
rmtðÞ¼qps
rmtðÞkNps
rmtðÞIps
rmtðÞþTps
rmtðÞþgps
rmtðÞ
ð8Þ
where Nps
rmtðÞ is the double-difference of ambiguities
between rover and master, kis the L1 wavelength, gps
rmtðÞis
the phase measurement double-difference noise,
qps
rmtðÞ;Ips
rmtðÞ;Tps
rmtðÞare the double difference of the geo-
metric distance, the double differences of the ionospheric
effect and the double differences of the tropospheric effect,
respectively.
For level baselines less than 10 km, Eq. (8) can be
approximated as
k/ps
rmtðÞ¼qps
rmtðÞkNps
rmtðÞþgps
rmtðÞ:ð9Þ
The observation vector can be written as
YphaseðÞ
t¼
.
.
.
k/ps
rmtðÞþaps
xr
~
XrtðÞþaps
yr
~
YrtðÞþaps
zr
~
ZrtðÞ~
qps
rmtðÞ
.
.
.
2
6
6
4
3
7
7
5
ð10Þ
where aps
xr,aps
yr;aps
zrare the coefficients of the linearization of
the double differences of the geometric distance for all
s=p where srepresents visible satellites; consequently,
the design matrix Hbecomes
HphaseðÞ
t¼
.
.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
.
aps
xrtðÞ 0aps
yrtðÞ 0aps
zrtðÞ 00 k0
.
.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
..
.
.
2
6
6
4
3
7
7
5
ð11Þ
with a kvalue in the column corresponding to the satellite
s.
The phase measurement noise covariance matrix is the
known covariance matrix of the double-difference obser-
vations. For low-cost receivers, the way of weighting
observations takes into account the satellite elevation and/
or carrier-to-noise ratio (C/N0). From the results of
empirical tests, it has been decided to use an inverse square
sine function to introduce the elevation information in the
weighting function, which becomes
WCN0;eðÞ
¼
1
sin2e10CN0s1ðÞ
aA
10s0s1ðÞ
a
1

CN0s1
s0s1þ1

CN0\s1
1CN0s1
8
<
:ð12Þ
where eis the elevation angle. The s1 parameter defines the
threshold after which the weight is set to 1, it means the C/
N0 value after which measurements are considered
‘good’’; the s0 parameter defines the C/N0 value for which
the function is ‘‘forced’’ to have the weight defined by the
Aparameter. The aparameter defines the bending of the
curve. Sample values are A=30, s0=10, s1=50 and
a=20. The user can choose between different weighting
options: without weights, as function of elevation of the
satellites, as function of C/N0 of the satellites and as a
combination of both of them. More details can be seen in
(Realini 2009).
The initialization of the goGPS KF starts with a first
estimation of the rover approximate position by computing
three iterations of linearized least squares adjustment on
undifferenced code observations, starting from the center
of the earth, resulting in a position with an error of some
meters. This result is then used as an approximate position
to apply stand-alone positioning as explained above. This
position is then passed to the KF algorithm as the
Xr0ðÞ;Yr0ðÞ;Zr0ðÞ state variables. The velocities
_
Xr0ðÞ;_
Yr0ðÞ;_
Zr0ðÞcan be initialized to zero, under the
hypothesis that the rover starts its motion from a stationary
state, or to a constant value equal to the cruise velocity of
the rover.
As for the initialization of ambiguities, the first float
number of cycles Nps
rmis obtained from a least squares
solution on code and phase observations, or, if the number
of observations is not sufficient, by the equation
Nps
rm¼qps
rmk/ps
rm
kþgps
rm
kð13Þ
in which qps
rmis estimated as qps
rm¼Pps
rmmps
rm, where Pps
rmis
the combined pseudorange from code measurements and
mps
rmis the code double-difference noise. Thus, the estimated
number of cycles ^
Nps
rmwill be ^
Nps
rm¼Pps
rmk/ps
rm
k!
r^
Nrm=k5 cycles.
The initial state covariance matrix is defined as a diag-
onal matrix in which we will have the position error vari-
ances, the velocity variances, the acceleration variances
and the estimated variance of the initial ambiguity; it is
introduced just on the lines corresponding to visible
satellites and can be different from satellite to satellite
(Realini 2009). Note that a high velocity variance can be
used to model the acceleration of a body that starts moving
from a stationary state. It is important to note that in
principle also covariances between position errors could be
provided.
The resolution of the ambiguities is based on the
LAMBDA method. goGPS implements both versions 2 and
3 of the LAMBDA MATLAB code (http://gnss.curtin.edu.
au/research/lambda.cfm) developed at Delft University of
Technology and Curtin University (Teunissen 1995;De
Jonge and Tiberius 1996; Verhagen and Li 2012). goGPS
applies the LAMBDA method either in the epoch-by-epoch
GPS Solut
123
processing modes or in the EKF processing modes. In the
latter case, the Kalman filter keeps continuous float ambi-
guity estimation; LAMBDA is then applied after the filter
update step (Suhandri and Realini 2013).
Cycle slips are a fundamental aspect to deal with when
trying to achieve high accuracy with low-cost GPS devices.
Compared to high-level receivers, carrier phase measure-
ments coming from these kinds of sensors are subject to
various measurement errors, such as multipath, antenna
phase center variation and noise due to the lower quality of
the electronic components involved (Takasu and Yasuda
2008). These error sources, together with cycle slip
occurrences, severely deteriorate the achievable positional
accuracy.
In goGPS, the detection of cycle slips at time tis per-
formed by comparing the KF ambiguity update at that time
with an estimation of the number of cycles made on the
basis of observations. Since according to the goGPS KF
dynamic model the number of cycles should not change
over time, then the updated ambiguity is
Nps
rmtjt1ðÞ¼
^
Nps
rmt1ðÞ:ð14Þ
Its variance r2
Nps
rmðtjt1Þis obtained from the covariance
matrix Ce
t1¼TtCe
t1TT
tat the position that corresponds to
the satellite s. The new estimation of ^
Nps
rmtjt1ðÞusing
observations at time tis
^
Nps
rm tjt1ðÞ¼
qps
rm tjt1ðÞk/ps
rm tðÞ
k:ð15Þ
Then the following test is applied in order to detect
cycle slips Nps
rmtjt1ðÞ
^
Nps
rmtjt1ðÞ
\M)no cycle
slip where Mis an empirical threshold value in cycles set
by the user; e.g., ten cycles would be equivalent to about a
2-m error.
Variometric approach for velocity estimation
goGPS includes a variometric approach applied to phase
observations that is aimed at estimating the velocity of a
stand-alone receiver (Traugott et al. 2008, Colosimo et al.
2011). This method exploits epoch-differenced phase
observations to estimate the displacement vector from
epoch tto epoch tþDt.
Tests and results
In this section, some examples obtained by goGPS with
different positioning modes are introduced. These tests
correspond to the examples and data set included in the
manual for the program. In this way, users will be able to
reproduce the results by themselves.
Stand-alone positioning with EGNOS corrections
To check the positioning improvement achieved with the
introduction of EGNOS corrections, the following experi-
ment was performed. The standard u-blox antenna (ANN-
MS, patch type) was connected to the low-cost receiver
u-blox AEK-4T and placed on a point of known coordi-
nates, on the rooftop of a building at the University of Jaen
(Spain). Measurements were taken over 1 h with a 1-s
sampling rate, on December 12, 2012. goGPS was used to
post-process the acquired data according to the following
three modes of operation: GPS only, GPS with EGNOS
corrections from the logged u-blox NAV-SBAS message
and GPS with EGNOS corrections downloaded from the
EMS. The results are shown in Fig. 1. It can be seen that
the GPS-only solution has a bias of about 2 m with respect
to the known coordinates. The use of the fast and iono-
spheric corrections included in the u-blox NAV-SBAS
message reduces the bias to about 1 m. Lastly, the use of
the complete set of EGNOS corrections from the EMS
(fast, long term and ionospheric) provides the best result,
with the bias further reduced to less than 0.5 m (Herrera
et al. 2012).
Multi-constellation support
As an example of the outcome of the multi-constellation
implementation in goGPS, we present here the results of
epoch-by-epoch processing of stand-alone single-fre-
quency code observations from the JAXA station GMSD,
belonging to the IGS Multi-GNSS Experiment (MGEX,
http://igs.org/mgex/) network. The observations cover a
time span of 24 h, on June 15, 2013, at 30-s rate. The
elevation cutoff was set to 158. Until epoch 246, the only
available Galileo satellite was E19; from epoch 403,
Galileo satellites E19 and E20 were available. The number
of available BeiDou satellites at any given epoch ranged
between 7 and 11 during this time span, including a total of
Fig. 1 Positioning results obtained from 1-hour single-frequency
code observations by a low-cost receiver u-blox AEK-4T, 12
December 2012 (DOY 347)
GPS Solut
123
13 different PRNs: four geostationary Earth orbit (GEO)
satellites (C1–C4), five medium Earth orbit (MEO) satel-
lites (C6–C10) and four inclined geosynchronous satellite
orbit (IGSO) satellites (C11–C14).
Figure 2shows the estimated ISBs of BeiDou, QZSS,
Galileo and GLONASS with respect to GPS; each of the four
constellations was processed separately, in a dual-constel-
lation configuration with GPS. Mean and standard deviation
of the four constellations are presented in Table 3. The
positioning mean difference with respect to the known
coordinates of the GMSD station antenna and the standard
deviation of these differences, for different combinations of
constellations, are summarized in Fig. 3. The ionospheric
delay was mitigated by applying the Klobuchar model
derived from the broadcast ionospheric parameters for GPS,
adjusted for the various frequencies. It should be pointed out
that the GPS ?Galileo and GPS ?QZSS combinations
give almost the same error as the GPS-only processing, since
only two Galileo satellites not at the same time and one QZSS
satellite are added, respectively.
Relative positioning with integer ambiguity
resolution
In this case, stationary single-frequency relative position-
ing tests using an u-blox AEK-4T receiver are carried out.
Its ANN-MS antenna was placed on a point of known
coordinates on the rooftop of a building at the Politecnico
di Milano, Italy, along with a geodetic base station. The
baseline length was about 60 m. Processing settings
include an elevation cutoff of 15, double-differenced
observation noise standard deviations of 30 cm (code) and
3 mm (phase) and an exponential weighting function based
on satellite elevations. The LAMBDA version 3 code was
used. We report here an example of the results obtained
over a timespan of about 12 h, on April 5, 2013, with an
observation rate of 15 s. Figure 4compares the float results
estimated by the goGPS EKF, and the integer result esti-
mated by LAMBDA. The differences between the EKF
final positioning and the ground truth are 1 cm (east),
2.8 cm (north) and 6.9 cm (up) for the float solution, and
0.6 cm (east), 2.9 cm (north) and 6.8 cm (Up) for the
integer solution. The relatively large biases are deemed to
be due to the undefined phase center of the low-cost
antenna, which makes it difficult to properly place it on the
point of known coordinates, as well as to its lack of a
calibrated phase center offset.
Navigation
The performance of the navigation algorithm is presented
by means of a path surveyed by car on an island in Osaka
Bay, Japan, with good conditions of satellite visibility (a
10elevation cutoff was adopted for the data processing).
An u-blox antenna was mounted on the car rooftop
along with two dual-frequency receivers that were used for
the accuracy assessment. The car was driven at approxi-
mately constant velocity along the whole path in order to
be consistent with the Kalman filter dynamical model
implemented in goGPS. The u-blox observations were
processed in relative mode with respect to a VRS (virtual
reference station) roughly located in the barycenter of the
surveyed path. A comparison with the positioning results
obtained by the dual-frequency receivers was performed,
showing an overall accuracy of the order of half a meter.
Therefore, these results improve the usual accuracy from 2
to 4 m to some decimeters. The interested reader can find
additional details on the experimental test in Realini and
Reguzzoni (2013).
Conclusions
The open-source positioning software goGPS has been
introduced. This is the result of the collaboration between
researchers from different universities and countries, made
possible by the public availability of the goGPS code. The
main functionalities of the software are summarized, and
some examples are presented to demonstrate the capabili-
ties of the software, in terms of achievable accuracy, by
means of both stand-alone positioning and relative
Fig. 2 Estimated inter-system biases (ISBs) with respect to GPS for
BeiDou, QZSS, Galileo and GLONASS. IGS MGEX station
‘GMSD,’’ June 15, 2013 (DOY 166)
Table 3 Mean and standard deviation of the estimated ISBs in Fig. 3
Mean Standard deviation
BeiDou 17.8 ns ^5.34 m 1.9 ns ^0.57 m
Galileo 3.5 ns ^1.05 m 3.2 ns ^0.96 m
GLONASS -393.9 ns ^118.09 m 3.0 ns ^0.90 m
QZSS -1.5 ns ^-0.45 m 3.2 ns ^0.96 m
GPS Solut
123
positioning. The examples included correspond to those
presented in the manual. In this way, the user can replicate
the results using the files delivered with the manual.
References
Colosimo G, Crespi M, Mazzoni A (2011) Real-time GPS seismology
with a stand-alone receiver: a preliminary feasibility demonstra-
tion. J Geophys Res: Solid Earth (1978–2012), 116(B11)
De Jonge P, Tiberius C (1996) The LAMBDA method for integer
ambiguity estimation: implementation aspects. Publications of
the Delft Computing Centre, LGR-Series (12)
Herrera A, Caldera S, de Lacy MC, Realini E, Reguzzoni M (2012)
An Analysis of the improvements introduced by EGNOS into the
software goGPS for kinematic positioning using low cost
receivers.7
a
Asamblea Hispano-Portuguesa de Geodesia y
Geofı
´sica, pp. 5–7
Hofmann-Wellenhof B, Lichtenegger H, Wasle E (2008) GNSS—
global navigation satellite systems—GPS, GLONASS, Galileo,
and more. Springer
Klobuchar JA (1987) Ionospheric time-delay algorithm for single-
frequency GPS users. IEEE Trans Aerosp Electron Syst AES
23(3):325–331
Leick A, Rapoport L, Tatarnikov D (2015) GPS satellite surveying,
4th edn. New York, Wiley
Realini E (2009) goGPS free and constrained relative kinematic
positioning with low cost receivers. Ph. D. thesis, http://www.
researchgate.net/publication/237520116
Realini E, Reguzzoni M (2013) goGPS: open source software for
enhancing the accuracy of low-cost receivers by single-fre-
quency relative kinematic positioning. Meas Sci Technol
24(11):115010
Realini E, Yoshida D, Reguzzoni M, Raghavan V (2012) Enhanced
satellite positioning as a web service with goGPS open source
software. Appl Geomat 4(2):135–142
Revnivykh S (2008) GLONASS status and progress. In: Proceeding
48th Meeting of the Civil GPS Service Interface Committee
(CGSIC) 2008. Savannah, GA, US
RTCA DO-229D (2006) Minimum Operational Performance Speci-
fication for Global Positioning System / Wide Area Augmenta-
tion System Airborne Equipment. Appendix A. Prepared by SC-
159. December 13 2006
Saastamoinen J (1973) Contribution to the theory of atmospheric
refraction. Bull Ge
´od 107(1):13–14
Suhandri HF, Realini E (2013) Issues of different estimation models
for epoch-by-epoch double-difference GPS observation equa-
tions: a comparative study. In: Proceedings of European
Navigation Conference (ENC) 2013, Vienna, Austria
Takasu T, Yasuda A (2008) Evaluation of RTK-GPS Performance
with low-cost single-frequency GPS Receivers, presented at
International Symposium on GPS/GNSS 2008, November
11–14. Tokyo, Japan
Teunissen P (1995) The least-squares ambiguity decorrelation
adjustment: a method for fast GPS integer ambiguity estimation.
J Geod 70(1–2):65–82
Teunissen P, Kleusberg A (1998) GPS for geodesy. Springer, Berlin
Traugott J, Dell’Omo G, Vyssotski AL, Odijk D, Sachs G (2008) A
time-relative approach for precise positioning with a miniatur-
ized L1 GPS logger. Proc ION GNSS 2008, Institute of
Navigation, September 16–19, Savannah, GA, US,
pp. 1883–1894
Verhagen S, Li B (2012) LAMBDA—Matlab implementation, version
3.0. Delft University of Technology and Curtin University
Fig. 3 Accuracy of the epoch-
by-epoch processing of multi-
constellation single-frequency
code observations by the IGS
MGEX station ‘‘GMSD,’ June
15, 2013 (DOY 166)
Fig. 4 E,N,Udifferences [cm] with respect to the known position
using float and integer ambiguities
GPS Solut
123
Antonio M. Herrera Antonio
M. Herrera is a Ph.D. candidate
in the University of Jaen. He
received his Master’s Degree in
Telecommunications Engineer-
ing in 2008 from Polytechnic
School of Linares, University of
Jaen. He is a member of ‘‘Mi-
crogeodesia Jae
´n’’ research
group. His current research
activity focuses on GNSS low-
cost receivers, multi-constella-
tions positioning and geodetic
control ground deformation.
Hendy F. Suhandri Hendy F. Suhandri holds a master’s degree in
2008 from the Geoengine program at the University of Stuttgart,
Germany. Since 2009 he has been a research fellow at the Institute of
Navigation, Stuttgart. His research focuses on stochastic modelling of
GNSS observations, ambiguity resolution, and kinematic attitude
determination.
Eugenio Realini Eugenio Rea-
lini got his Master’s Degree in
Environmental Engineering in
2005 and his Ph.D. in Geodesy
and Geomatics in 2009, both
from Politecnico di Milano
(Italy). His research activities
focus on GNSS positioning and
GNSS-based tropospheric anal-
ysis. He is co-founder and
developer of goGPS, an open
source software application for
GNSS positioning. He is now
researcher at Geomatics
Research & Development
(GReD), a spin-off company of Politecnico di Milano.
Mirko Reguzzoni Mirko
Reguzzoni is an assistant pro-
fessor at Politecnico di Milano,
where he graduated in Com-
puter Engineering in 1999 and
got a Ph.D. in Geodesy and
Geomatics in 2004. He is also
president of the International
Service for the Geoid and sci-
entific advisor of Geomatics
Research & Development
(GReD), a spin-off company of
Politecnico di Milano. He
mainly works on Earth gravity
field modelling and in general
on statistical data analysis, with applications to physical geodesy,
geophysics and GNSS positioning. He is co-founder and developer of
goGPS, an open source software package for GNSS positioning.
M. Clara de Lacy M. Clara de
Lacy is an associate professor of
Geodesy at the department of
Cartographic, Geodetic and
Photogrammetric Engineering
in theUniversity of Jae
´n. She is
a member of the UJA Geodesy
Research Group. She is
involved in research on GNSS
positioning and navigation
using GPS and Galileo, crustal
deformation monitoring and
engineering geodesy.
GPS Solut
123
... In 2016, Google released the original observation data of Android smart devices, which provides a new idea for researching GNSS navigation and positioning technology based on smart terminals. Scholars can calculate and correct the original positioning data obtained by the intelligent terminal through algorithms or other technologies to improve the accuracy of the equipment [10][11][12]. In 2018, smartphones were first equipped with dual-frequency GNSS chips. ...
Article
Full-text available
This study focuses on evaluating the positioning accuracy of smartphones in a deciduous forest environment compared to various levels of Global Navigation Satellite System (GNSS) devices. In a mixed coniferous forest with 90% broad-leaved forest (deciduous season), the accuracy of 57 test points was evaluated according to different openness levels under the forest. Taking the coordinates obtained by survey-grade GNSS devices in RTK (Real-time Kinematic) mode as standard, the accuracy of the single-point positioning (SPP) mode and precise-point positioning (PPP) mode obtained by three smartphones (one single frequency and two dual frequency), one survey-grade receiver and one recreational-grade receiver are compared. It can be found that there was a significant positive correlation between canopy openness and carrier-to-noise density(C/N0) (p < 0.05). Meanwhile, the C/N0 of survey-grade devices is significantly higher than that of smartphones. The results show that the positioning accuracy of dual-frequency smartphones under forests is better than that of single-frequency smartphones. Furthermore, the positioning accuracy of the smartphone corrected by PPP mode is better than that of the recreational-grade GNSS receiver and can achieve an accuracy of about 2.5 m in the horizontal direction, which can be used for forestry stakeout, reset and determination of forest area boundaries in environments with high openness (R > 0.7). However, in an environment with low openness (R < 0.7) and relatively complex forest area positioning, survey-grade GNSS devices are still required to cooperate with the PPP or real-time differential positioning method to obtain accurate sub-meter-level positioning data.
... Osah, 2013 developed "GeoSuite" a geodetic application for GNSS data post-processing, Datum transformation, and Direct & Inverse geodetic computation for Ghana but does not generate report documents for SMD report use or submission. Open-source GNSS applications like the goGPS (Herrera et al., 2016), RTKLib (Takasu, 2013), and gLab (Sanz et al., 2012) have been researched and tested to be efficient and produce accurate results after processing data as compared to other commercial software (Videkull, 2015), but most of the information produced is not needed for some survey works. ...
Article
Processing of Global Navigational Satellite System (GNSS) data forms the basis for the usage of differential systems for obtaining spatial data. All open sources or commercial software packages developed for data processing give specific details to suit the intended purpose of the software. To obtain a uniform format for submitted survey data, Survey and Mapping Division (SMD) in various jurisdictions have specified formats for data submission for all kinds of surveys. In this regard, “GNSS Ghana” Software (GGS), a GNSS standalone Windows-based application with a modern user-friendly interface was developed for geodetic applications such as, projection and datum transformation worldwide, GNSS data post-processing of Receiver Independent Exchange Format (RINEX) files, and generating reports to meet Ghana SMD reporting standards including cadastral computations and reports for submission. To assess the developed software, GNSS data from two International GNSS Service (IGS) stations (BJCO and YKRO) were processed using GGS and three other commercial software such as GNSS Solution Software (GSS), Spectrum Survey Software (SSS), and Leica Geo Office (LGO), and the positional results compared against the existing coordinate. The results revealed that the GGS outperformed the remaining three commercial software packages with a sub-meter level of accuracy. Further assessment was conducted on datum transformation using the coordinates of 21 existing geodetic control points in Ghana. Utilizing the 7-transformation parameters of Ghana, the results gave uncertainties of [0.10ft. ± 0.99ft.] in the eastings and [0.02ft. ± 1.61ft.] in the northings with a 99% confidence level.
... (i) GNSS data processing -24 hours GNSS data in rinex format collected from the six selected CORS were processed at 60-seconds sampling rate and 10˚ elevation cut-off using goGPS software version 0.5.2 beta 1 (Realini and Reguzzoni, 2013;Herrera et al., 2016). The relative positioning technique on both code and carrier-phase double-difference was utilized with Kalman filtering using the LISAG_SPINTEX station as the base and the remaining stations as rovers. ...
Article
Tropospheric delay prediction models have become increasingly important in Global Navigation Satellite System (GNSS) as they play a critical role in GNSS positioning applications. Due to the different atmospheric conditions over the earth regions, tropospheric effect on GNSS signals also differs, influencing the performance of these prediction models. Thus, the choice of a particular prediction model can significantly degrade the positioning accuracy especially when the model does not suit the user’s environs. Therefore, a performance assessment of existing prediction models in various regions for a suitable one is very imperative. This paper evaluates and analyses seven commonly used tropospheric delay models in Ghana in terms of performances in Zenith Tropospheric Delay (ZTD) estimation and baseline positional accuracies using data from six selected Continuously Operating Reference Stations (CORS). The 1˚x1˚ gridded Vienna Mapping Functions 3 (VMF3) ZTD product and coordinates solutions from the CSRS-PPP positioning service were respectively used as references. The results show that the Black model performed better in estimating the ZTD, followed by Askne and Nordius model. The Saastamoinen, Marini and Murray, Niell, Goads and Goodman and Hopfield models respectively performed poorly. However, the result of the baseline solutions did not show much variation in the coordinate difference provided by the use of the prediction models, nonetheless, the Black and Askne and Nordius models continue to dominate the other models. Of all the models evaluated, either Black or Askne and Nordius model is recommended for use to mitigate the ZTD in the study area, however, the choice of the Black model will be more desirable.
... Finally, the extended Kalman filter (EKF) algorithm is used in this work to obtain the float RTK positioning estimation ̂ (RTK) r,k . More detailed content can refer to the open-source software package, goGPS v0.4.3 (Herrera et al. 2016). Again, the ̂ (RTK) r,k will be used to compensate for the next-epoch tracking code phase error as described by (5). ...
Article
Full-text available
In an urbanized environment, a superior baseband algorithm fundamentally enhances global navigation satellite system (GNSS) receivers by resisting interferences such as reflection leading to multipath signals and abnormal dynamics caused by user’s motion or non-line-of-sight (NLOS) signals. A carrier aiding algorithm is frequently adopted to remove most dynamic errors on local code signals. Depending on this idea, all-channel spatial information based on the user’s velocity is also exploited by existing vector tracking techniques to aid code tracking. As known, a carrier phase is one order of magnitude less noisy and more capable of mitigating multipath than a code phase. The traditional carrier frequency aiding improves the precision of the code phase estimation by suppressing random noise, but it is powerless in eliminating the biased error. To solve this issue, a real-time kinematic (RTK) solution, which is the product of the carrier phase, is proposed to remove the absolute biased error in the vector delay/frequency lock loop (VDFLL). Thus, the GNSS baseband can be optimized with both the carrier frequency and the absolute carrier phase aiding. Two stationary real-world experiments are conducted in open-sky and light-urban situations to verify the proposed GNSS software-defined radio (SDR) using collected GPS L1 C/A intermediate frequency (IF) data. The testing results demonstrate that the proposed SDR improves the pseudorange quality and positioning accuracy by a maximum of 48.5% and 42.5%, respectively.
... Data processing and analysis were carried out by using self-developed C++ language programming software. This software was developed based on other mature, open-source software, such as RTKLIB, goGPS, PRIDE-PPPAR, and GAMP [37][38][39][40]. Figure 2 shows the flow chart of the PPP processing strategy. Table 1 lists the detailed processing models and strategies applied for combined PPP. ...
Article
Full-text available
The main purpose of this article is to evaluate the comprehensive performance of two inter-frequency code bias (IFCB) models using undifferenced and uncombined observations. These two IFCB models estimate IFCB parameters for each GLONASS satellite (EG model) and IFCB parameters using a quadratic function of frequency channels K (K = −7…6) (QF model). The data sampled in 30 s from 140 stations of the IGS network on 1–7 September 2021, are used for this study. We analyze all the combinations, including the GLONASS data, from the perspective of positioning accuracy, convergence time, and data utilization. The results show that the positioning accuracy of these two IFCB models for the same combination is comparable in three directions in both static and kinematic modes under long-term observation; the positioning accuracies of each IFCB model for all the combinations are almost the same in three directions in static mode, and the positioning accuracy of the combinations including the GPS data in three directions is better than that of the combinations not including the GPS data for kinematic mode. For some combinations, such as GLONSS-only and GPS/GLONASS, the convergence time of the EG model is better than that of the QF model, but the improvement rate does not exceed 22%. However, for other combinations, such as GLONASS/BDS and GLONASS/BDS/GALILEO, the convergence time of the QF model is better than that of the EG model, and the improvement rate in some directions is more than 50%. For the combinations including GPS data, the data utilization of the EG and QF models are almost the same for both static and kinematic modes; however, for combinations without GPS data, the data utilization of the QF model is better than that of the EG model. For these two IFCB models (EG and QF models), all combinations can achieve the set accuracy thresholds in three directions, but the EG model has more parameters to estimate than the QF model. From the perspectives of positioning accuracy, solution convergence time, data utilization, and the number of estimated parameters for each IFCB model, we suggest that the IFCB should be estimated using the QF model when performing combined PPP for different combinations.
... The decorrelation and search procedures of the conventional LAMBDA method [32] can still be used for finding integer candidates. The open-source software goGPS [33] is referenced for the implementation of this estimator. Figures 5 and 6 demonstrate the CNES post-processed code and phase bias products on 1 May 2021. ...
Article
Full-text available
The modernization of Global Navigation Satellite System (GNSS) including the transmission of signals on multiple frequencies has greatly promoted the development of the popular PPP (Precise Point Positioning) technique. A key issue of multi-frequency PPP is the handling of the observable-specific signal biases in order to allow for carrier-phase ambiguity resolution (AR). As a result, PPP modeling at a user side in the multi-frequency case varies depending on the definition of the applied phase bias products. In this study, we investigate the positioning performance of GPS L1/L2/L5 and Galileo E1/E5a/E5b/E6 undifferenced ionosphere-float model in the conventional PPP mode and the single-epoch mode using the uncombined code and phase bias products generated at the French CNES (Centre National D’Etudes Spatiales). A series of widelane ambiguities are configured in our multi-frequency PPP functional model instead of forming the classical Melbourne–Wübbena (MW) combination. The best integer equivariant (BIE) estimator is used for the ambiguity resolution in a conventional cascading scheme according to the wavelength of the combined ambiguities for each constellation. Real data collected at IGS stations with a 30-s sampling interval is applied to evaluate the above models. For the conventional kinematic PPP configuration, a significant accuracy improvement of 63% on the east component of the fixed solution is obtained with respect to the ambiguity-float solution. The PPP convergence is accelerated by 17% after the AR. Regarding the single-epoch positioning, an accuracy of 32 and 31 cm for north and east components can be achieved, respectively, (68th percentile) with the instantaneous widelane-ambiguity resolution, which is improved by 13% and 16% compared to multi-frequency code-based or float solution.
... There is a strong correlation among the elevation angles, C/N0, and residuals, in particular from 13:00 to 19:00 (UTC + 8). Therefore, a comprehensive weighting strategy based on the elevation angles and C/N0 values was employed to weigh the observation values in this study (Realini 2009;Herrera et al. 2016): ...
Article
Full-text available
Multipath effect is one of the main challenges of precise point positioning (PPP) in complex environments. Nowadays, the BeiDou global navigation satellite system (BDS-3) constellation was fully operational. We evaluated the multipath characteristics of BDS-3 open-service signals. The results indicate that the B2a signal had the best anti-multipath performance, and B1C signal had the worst capability. Since BDS-3 satellites with different orbital types have different orbital repeat time, the traditional method based on multipath time-domain repeatability is complicated to alleviate the multipath error on BDS-3 satellites. In contrast, the multipath spatial-domain repeatability method does not need to calculate the orbital repeat times and is only related to the position of the satellite in the sky. It has the advantages of simple algorithm and easy implementation. We selected a multipath hemispherical map (MHM) and a MHM based on trend-surface analysis (T-MHM) to evaluate the effects of BDS-3 PPP multipath correction. The positioning results for the inclined geosynchronous orbit (IGSO) and medium earth orbit (MEO) satellites, which were separately modeled and corrected, are slightly better than those obtained when they were modeled and corrected together. Compared with the uncorrected multipath, the positioning accuracy of B1I/B3I and B1C/B2a ionospheric-free (IF) combinations using the MHM can be improved by 52.7% and 51.6% and the convergence time can be shortened by 48.6% and 57.5%, respectively. The positioning accuracy of B1I/B3I and B1C/B2a IF combinations using the T-MHM can be improved by 67% and 66.9% and the convergence time can be shortened by 69.3% and 76.5%, respectively. The T-MHM introduces trend-surface analysis to model the spatial variation of the multipath inside the grid, which effectively alleviates high-frequency and low-frequency multipath. This study is of great significance for further improvements to the application of BDS-3 in complex environments.
Chapter
In this paper, the average amount of water vapor in the atmosphere (PWV) from 2017 to 2019 has been calculated which, is derived from the GNSS data constellation using goGPS free software. The average PWV values for 2017, 2018, and 2019 were 38.9 mm, 34.7 mm, and 36.1 mm; respectively, and generally ranged between 11.4 and 56.3 mm. There is also a negative correlation between PWV and global solar energy of r = −0.62 and a gradient descent of −6.40 Ly/mm. The PWV daily profile shows that the smallest PWV occurs at midnight and the largest PWV occurs at the noon. The PWV value used is the average value calculated in the time range from 11 to 13 LT (UTC + 7).KeywordsPrecipitable water vaporGlobal navigation satellite systemGlobal irradiancegoGPS
Article
Global Positioning System (GPS) merupakan salah satu dari teknologi Global Navigational Satelite System (GNSS), yang digunakan untuk menentukan posisi yang dapat dimanfaatkan untuk kegiatan bernavigasi, pemantauan struktur bangunan, landslide, gempa bumi maupun tsunami. Penentuan posisi secara aboslut atau Precise Point Positioning saat ini berkembang dengan cepat seiring dengan meningkatnya akurasi posisi yang dihasilkan. PPP merupakan alternatif penentuan posisi dengan menggunakan metode absolut yang dapat mecapai akurasi dalam skala sentimeter maupun desimeter atau bahkan hingga milimeter. Pada penelitian ini menggunakan data pengamatan dual frekuensi dari CORS CBAL, CPAL, CAMP, CMLI, CRAU yang kemudian diolah menggunakan software GoGPS metode PPP dengan menggunakan koreksi ionosfer orde 1. Hasil yang didapatkan dari penelitian ini yaitu pada stasiun CORS CAMP, CBAL, CPAL, CRAU dan CMLI diperoleh hasil standar deviasi berkisar antara dm hingga cm. Waktu konvergensi yang diperlukan mencapai 3,3jam untuk mendapatkan solusi dengan level mm. Nilai standar deviasi yang paling kecil terdapat pada hasil penentuan posisi stasiun CORS CAMP dan CBAL.
Article
Full-text available
goGPS is a free and open source satellite positioning software package aiming to provide a collaborative platform for research and teaching purposes. It was first published in 2009 and since then several related projects are on-going. Its objective is the investigation of strategies for enhancing the accuracy of low-cost single-frequency GPS receivers, mainly by relative positioning with respect to a base station and by a tailored extended Kalman filter working directly on code and phase observations. In this paper, the positioning algorithms implemented in goGPS are presented, emphasizing the modularity of the software design; two specific strategies to support the navigation with low-cost receivers are also proposed and discussed, namely an empirical observation weighting function calibrated on the receiver signal-to-noise ratio and the inclusion of height information from a digital terrain model as an additional observation in the Kalman filter. The former is crucial when working with high-sensitivity receivers, while the latter can significantly improve the positioning in the vertical direction. The overall goGPS positioning accuracy is assessed by comparison with a dual-frequency receiver and with the positioning computed by a standard low-cost receiver. The benefits of the calibrated weighting function and the digital terrain model are investigated by an experiment in a dense urban environment. It comes out that the use of goGPS and low-cost receivers leads to results comparable with those obtained by higher level receivers; goGPS has good performances also in a dense urban environment, where its additional features play an important role.
Article
Full-text available
We show the feasibility of waveforms and coseismic displacements real-time estimation at few centimeters accuracy level by a stand-alone dual-frequency GPS receiver through a variometric approach. This approach is based on the time single-differences of the carrier phase observations collected at high-rate (1Hz or more) by a stand-alone receiver and on the standard GPS broadcast products (orbits, clocks). Time series of epoch-by-epoch displacements are estimated at first; then, they can be summed over the interval (limited to few minutes) when the earthquake occurs, provided the collected observations are continuous. The estimation biases due to mismodeling accumulate over time and display as a trend, which can be considered linear and easily removed thanks to the shortness of the interval. Since the proposed approach does not require any additional technological complexity nor centralized data analysis, in principle it can be embedded into the receiver firmware, providing also a significant contribution to tsunami warning systems. After a preliminary test regarding a simulated example, the effectiveness has been proven over real data. In details, we have analyzed the 1Hz GPS data recorded by the IGS station BREW during the Denali Fault, Alaska earthquake (Mw 7.9, November 3, 2002, 22:12:41 UTC) and the 5 Hz data collected by some stations included into the UNAVCO-Plate Boundary Observatory network and California Real Time Network (CRTN) during the Baja California, Mexico earthquake (Mw 7.2, April 04, 2010, 22:40:42 UTC). The comparisons with results obtained with different strategies show an agreement within few centimeters; examples for Baja California earthquake (waveforms for stations P496 e P744, to be compared with http://www.unavco.org/research_science/science_highlights/2010/M7.2-Baja.html) are shown in Figures 1 and 2. Fig. 1 - P496 Fig. 2 - P744
Article
Full-text available
Providing enhanced satellite positioning as a web service can be an effective way to enable low-level GPS receivers to perform surveys with a good accuracy and to reduce hardware cost, by removing computation capability and embedded proprietary software. goGPS is an open source application for achieving sub-meter accuracy with low-cost GPS receivers by exploiting real-time kinematic positioning, Kalman filtering, aid from a digital terrain model, and in general by integrating GPS data with other sources of information. Since goGPS directly processes raw GPS observations, it provides a means to substitute black-box processing components (e.g., GPS chipsets) with open source positioning software. goGPS can work either in real-time or post-processing, by acquiring raw GPS data in input and providing positioning (i.e., coordinates) in output. Though originally developed in MATLAB, goGPS was recently ported to Java in order to have the possibility to provide it as a web service, thus allowing a wider user base to develop and use it. Since real-time GPS positioning heavily relies on fast matrix computation, a careful selection of Java matrix libraries was carried out in order to obtain optimal performances. An Open Geospatial Consortium standard Web Processing Service (WPS) implementation of goGPS by means of ZOO WPS framework was developed and tested in order to let lightweight clients just acquire raw GPS data, send them to a server for processing, and receive back the accurate positioning.
Conference Paper
Full-text available
In short-timespan processing of GPS observations the combination of code and carrier phase observations has the shortcoming that the normal matrix is often ill-conditioned and giving unstable computation. The regularized least-squares (RLS) and the iterative least-squares (ILS) methods are often proposed as alternatives to the conventional least-squares (CLS) method. The RLS are claimed to give better reliability of GPS ambiguity solving for short-period observations and to improve the quality of the normal equation, also reducing the condition number of the normal matrix. The regularization parameter is determined by minimizing the trace of the mean square error matrix. However, the regularization induces a biased estimation and its benefits are difficult to be confirmed. On the other hand, the ILS do not improve the estimate results and their stochastic properties, apart from stabilizing the normal matrix and reducing its condition number: this, however, depends on the given initial estimate vector. In this work we investigate the performance of RLS and ILS as compared to CLS when applied to single-frequency epoch-by-epoch processing with ambiguity solving by LAMBDA method. Results show that, while the investigated methods do not produce significant differences in terms of estimated baseline precision, improvements are instead observed in the condition number of the normal matrix, with ILS producing the best results when using estimated initial values from CLS. On the other hand, the RLS method fails to improve the condition number for epoch-by-epoch strategy. All methods also give practically equal reliability for ambiguity resolution, where the evaluation is taken in terms of success rate.
Book
"GPS for Geodesy" describes the use of Global Positioning System (GPS) measurements for geodetic applications. It covers the modelling and data processing strategies needed for the determination of precise coordinates for position and the monitoring of temporal changes of these coordinates in well-defined reference systems. Starting from the GPS observables, the GPS orbits, the reference frames and the GPS signal propagation characteristics, complete observation equations are presented and discussed for the spectrum of geodetic applications. Models for single-receiver applications are followed by models for multi-receiver applications for which the network scale is used as the criterion. It includes the theory of GPS ambiguity resolution, the contribution of GPS to atmospheric modelling and the use of GPS for geodynamic applications.
Book
GPS Satellite Surveying is the classic text on the subject, providing the most comprehensive coverage of global navigation satellite systems applications for surveying. Fully updated and expanded to reflect the field's latest developments, this new edition contains new information on GNSS antennas, Precise Point Positioning, Real-time Relative Positioning, Lattice Reduction, and much more. New contributors offer additional insight that greatly expands the book's reach, providing readers with complete, in-depth coverage of geodetic surveying using satellite technologies. The newest, most cutting-edge tools, technologies, and applications are explored in-depth to help readers stay up to date on best practices and preferred methods, giving them the understanding they need to consistently produce more reliable measurement. Global navigation satellite systems have an array of uses in military, civilian, and commercial applications. In surveying, GNSS receivers are used to position survey markers, buildings, and road construction as accurately as possible with less room for human error. GPS Satellite Surveying provides complete guidance toward the practical aspects of the field, helping readers to: - Get up to speed on the latest GPS/GNSS developments - Understand how satellite technology is applied to surveying - Examine in-depth information on adjustments and geodesy - Learn the fundamentals of positioning, lattice adjustment, antennas, and more