ArticlePDF Available

goGPS: Open Source Software for Enhancing the Accuracy of Low-cost Receivers by Single-frequency Relative Kinematic Positioning

Authors:

Abstract and Figures

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.
Content may be subject to copyright.
1
goGPS: open source software for enhancing the accuracy of low-cost receivers
by single-frequency relative kinematic positioning
Eugenio Realini1, Mirko Reguzzoni2
1 RISH, Kyoto University, Gokasho, Uji, 611-0011 Kyoto, Japan
eugenio_realini@rish.kyoto-u.ac.jp
2 DICA, Politecnico di Milano, Piazza Leonardo da Vinci 32, 20133 Milano, Italy
mirko@geomatica.como.polimi.it
ABSTRACT:
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 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 of 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 dense urban environment, where its additional features play an important role.
KEY WORDS: GPS, RTK, DTM, Kalman filter, low-cost receivers
1. INTRODUCTION
The field of satellite positioning is growing faster and faster due to the huge success of GPS
chipsets embedded in handheld devices and to the increasing usage of geo-referenced information at
consumer level. These trends push GPS hardware manufacturers into providing lower-cost, smaller
and less energy consuming devices, which in turn pose new challenges to positioning engines. On
the other hand, the increasing miniaturization of GPS hardware allows to more efficiently embed it
into any kind of machinery, from digital cameras to small robots, widening the employment of
satellite positioning. Enhancing the positioning accuracy of low-cost, miniaturized GPS devices,
while generally not useful for everyday car navigation or for geo-referencing standard photographs,
can be fundamental for providing effective solutions for low-cost surveying or accurate monitoring
in cases where hardware miniaturization is a requirement, like for example in the guidance system
of small robots or for analysing the performance of athletes. These embedded GPS chipsets are
usually defined “low-cost” in the geodetic community because they are compared to high-end (and
high-cost) professional receivers, which generally provide accuracies ranging from 1 m to some
centimetres in real-time navigation, while low-cost ones usually span some metres. Apart from the
cost issue, high-end GPS receivers on the market are not suitable to be employed in cases where
size and/or hardware expendability are limiting factors. Therefore, in order to increase the
2
positioning accuracy in these specific situations, low-cost receivers have to be exploited at their
maximum extent, also by supporting them with information coming from sources other than GPS
alone, like for example digital terrain models, linear constraints, MEMS (MicroElectroMechanical
Systems) and obviously other GNSS (GLONASS, Galileo, Compass and QZSS).
Low-cost GPS receivers currently on the market are not taking full advantage of the growing
wireless Internet access with all the implications and new possibilities that it entails. At the moment
the only benefit that some GPS chipsets draw from the availability of Internet connections are A-
GPS (Assisted GPS) services (Van Diggelen, 2009). While these services allow for faster time-to-
first-fix (i.e. faster positioning once the hardware is switched on), they do not provide
enhancements in terms of accuracy. Services that can enhance the accuracy of low-cost receivers
are for example those provided by networks of permanent GNSS stations (Hofmann-Wellenhof et
al., 2003). Though low-cost GPS devices are traditionally designed to perform positioning in stand-
alone mode, research is being carried out to evaluate their performance by differential positioning
with respect to a master station. This technique, known as Real-Time Kinematic (RTK), is usually
employed for higher cost dual-frequency receivers, but there is interest in applying it also to low-
cost receivers in order to remove systematic errors (Alanen et al., 2006; Wirola, 2008; Realini,
2009). By exploiting data coming from one or more reference stations, low-cost receivers can
perform double difference relative positioning, which can correct systematic errors associated to the
absolute positioning they usually perform, namely clock offsets and atmospheric errors (Hofmann-
Wellenhof et al., 1992). In order to apply double differences, raw measurements (i.e. pseudorange
and carrier phase) must be available for both the receiver (rover) and the permanent station (master).
Non-systematic errors like those due to measurement noise (more significant when using low-cost
receivers, compared to high-cost ones) are usually reduced by applying Kalman filtering (Kalman,
1960; Grewal and Andrews, 2001) when operating in kinematic mode.
goGPS1 is an open source software application originally developed by the authors (with the
contribution of various thesis works by master students) since 2007 at the Geomatics Laboratory of
Politecnico di Milano, Como Campus. It is specifically designed to improve the positioning
accuracy of low-cost GPS devices by relative positioning and Kalman filtering. goGPS code was
published online as free and open source software in 2009; being the project open to collaborations,
since its publication it has received support and code contributions by users working in both
academies and business companies from different countries (including Italy, Japan, Switzerland,
Spain and Germany). Originally developed in MATLAB, it was recently ported to Java in order to
widen its user base and to provide it as a service through the web (Realini et al., 2012). goGPS
positioning engine basically applies an Extended Kalman Filter (EKF) on properly weighted double
differenced observations, receiving data from a low-cost receiver and from a master station. goGPS
can also exploit Digital Terrain Model (DTM) data, if available, as an additional observation in
order to improve its accuracy on the vertical direction and it is also able to force its estimated
position on linear paths. goGPS can work in both real-time and post-processing. In the former case,
it must obtain GPS raw data from low-cost GPS modules specifically designed to provide them in
output (e.g. u-blox LEA-4T/5T/6T2, SkyTraq S1315F-RAW3 and Fastrax IT034 modules), while in
the latter case RINEX5 format is generally used. Master station raw data can be provided either in
RTCM format (for real-time) or RINEX (for post-processing).
1 http://www.gogps-project.org/
2 http://www.u-blox.com/
3 http://www.skytraq.com.tw/
4 http://www.fastraxgps.com/
5 ftp://igs.org/pub/data/format/rinex211.txt
3
It is important to remark that there are other scientific open source software packages for GPS
positioning, such as The EASY Suite6 (Borre, 2003) and GpsTools7 (Takasu and Kasai, 2005),
written in MATLAB, and RTKLIB8 (Takasu and Yasuda, 2009) and gLAB (Hernandez-Pajares et
al. 2010), written in C.
In this paper we first present the theoretical background and the implementation of the goGPS EKF
(section 2); then, since the noise level in low-cost receivers is a crucial issue, we describe a
procedure aimed at calibrating the observation weighting functions from the analysis of the error of
a typical low-cost receiver (section 3). The last section includes test results for evaluating the
goGPS accuracy by comparison with the standard processing performed by geodetic and low-cost
receivers (section 4).
2. goGPS KALMAN FILTER
The main purpose of goGPS is to implement an EKF that can apply real-time relative positioning
with respect to a base station. Both code and phase measurements can be used and when the phase
is available the filter continuously updates its ambiguity, which is therefore not fixed. The algorithm
can be easily expanded to include other optional observations. In its current state it can optionally
exploit height data coming from a DTM.
The basic way of using a Kalman filter for stand-alone GPS-only navigation is to apply it directly to
the estimated positions. The positioning is typically computed by least-squares adjustment from
code and phase measurements (Hofmann-Wellenhof et al., 1992) and the Kalman filter acts a
posteriori with a smoothing effect on the estimated trajectory (Hofmann-Wellenhof et al., 2003).
This approach with low-cost devices results in a positioning as accurate as that provided by
performing absolute positioning using phase-smoothed code measurements (few metres of error)
(Leick, 1995). This means that atmospheric delays and clock errors cannot be efficiently corrected,
because this kind of receivers is usually not designed for relative positioning, and computed
trajectories are often affected by large biases.
The Kalman filter implemented in goGPS is not applied on estimated positions, but on double
differenced observations with respect to a reference station (i.e. relative positioning). The
possibility of directly processing GPS observations allows us to remove most of the bias associated
to absolute positioning, obtaining accuracies of less than 1 m. Its use in real-time obviously requires
a wireless connection to the Internet in order to receive the master station observations and a GPS
chipset that provides raw measurements as output. The goGPS Kalman filter is “modular”, in the
sense that it is conceived in such a way that it can be easily integrated with additional components.
This means that different sources of measurements (i.e. observations) can be added or disabled
without major changes in the algorithm. In its current state goGPS includes a first observation
module applied to code double differences, a second one applied to phase double differences and a
third one that exploits the information coming from a DTM.
goGPS main targets are single-frequency low-cost devices, but its code and phase modules are
designed to work either in single-frequency or double-frequency mode. Therefore, it can be used
also with double-frequency receivers, even if it is not yet optimized to exploit at best both
frequencies, e.g. by computing useful data combinations (Teunissen and Kleusberg, 1998). goGPS
includes also an alternative version of its main Kalman filter algorithm, designed to obtain line-
constrained positioning (e.g. to navigate on a network of roads). In this case the DTM information
6 http://kom.aau.dk/~borre/
7 http://gpspp.sakura.ne.jp/gpstools/gt_release.htm
8 http://www.rtklib.com/
4
is not used anymore, because the constraint is already three-dimensional, and only a curvilinear
coordinate has to be estimated.
Since low-cost GPS devices implement single-frequency and highly noisy receivers, the fixing of
integer phase ambiguities is not trivial and would require a long initialization time. Being low-cost
receivers often employed in areas that highly degrade the signal quality and continuity (e.g. urban
environments, proximity of wooden areas), traditional techniques for integer phase ambiguity fixing
(Hatch, 1990; Euler and Landau, 1992; Teunissen, 1995) may not be employed effectively.
Therefore goGPS Kalman filter keeps a float but continuous estimation of phase ambiguities, which
can be efficiently maintained also in difficult environments by detecting and repairing cycle slips
also in real-time. These are detected by using a combination of Doppler observations, loss-of-lock
events provided by the receiver and the prediction of the receiver position by the Kalman filter and
they are repaired by re-estimating affected phase ambiguities by a weighed least squares adjustment
applied on “safe” observations.
2.1 State variables and dynamic model
In the goGPS EKF the quantities used as state variables for double differenced observations are
position, velocity and ambiguities.
The dynamic model under the hypotheses of constant velocity and 1 Hz update rate, assuming a
maximum number of satellites in the constellation equal to 32, is
X
r
(t+1) =X
r
(t)+
X
r
(t)
X
r
(t+1) =
X
r
(t)+
x
Xr
(t+1)
Y
r
(t+1)=Y
r
(t)+
Y
r
(t)
Y
r
(t+1) =
Y
r
(t)+
x
Yr
(t+1)
Z
r
(t+1)=Z
r
(t)+
Z
r
(t)
Z
r
(t+1) =
Z
r
(t)+
x
Zr
(t+1)
N
rm
p1
(t+1) =N
rm
p1
(t)
N
rm
ps
(t+1) =N
rm
ps
(t)
N
rm
p32
(t+1) =N
rm
p32
(t)
ì
í
ï
ï
ï
ï
ï
ï
ï
ï
î
ï
ï
ï
ï
ï
ï
ï
ï
(1)
where r stands for “rover” receiver
m stands for “master” receiver (i.e. the base station)
p stands for “pivot satellite” (here chosen as the satellite with the maximum elevation)
s ={1,2,…,32} represents the PRN (Pseudo Random Number) of the satellites
X
r
,Y
r
,Z
r
are the rover Cartesian coordinates with respect to a global geocentric reference
frame
X
r
,
Y
r
,
Z
r
are the rover velocity components
N
rm
ps
=(N
r
p
-N
m
p
)-(N
r
s
-N
m
s
)
represents the number of cycles of the double differenced
ambiguities for each satellite s.
5
The velocity equations are “corrected” by a random error
x
, controlling how fast the system can
change its velocity; in other words this is the model error of the assumed dynamics. Note that there
is no model error for the ambiguities, because they are exactly constant in time, unless there are
cycle slips.
By defining
X
t
the state vector and
x
t
the model error vector, Eq. 1 can be rewritten as
X
t+1
=T X
t
+
x
t+1
(2)
where
X
t
is structured as follows
X
t
=
X(t)
X(t)
Y(t)
Y(t)
Z(t)
Z(t)
N
rm
p1
(t)
N
rm
ps
(t)
N
rm
p32
(t)
é
ë
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
(3)
and the transition matrix T is given by
T=T0
0I
ë
ê
ê
(4)
with
T=
1 1 0 0 0 0
0 1 0 0 0 0
0 0 1 1 0 0
0 0 0 1 0 0
0 0 0 0 1 1
0 0 0 0 0 1
é
ë
ê
ê
ê
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
ú
ú
ú
(5)
and I being an identity matrix of size 3232. It may be useful to clarify that we set up 32 variables
even if there are never 32 satellites visible at the same time and even if the number of independent
combinations will never be 32. This choice was made in order to force vectors and matrices
involved in the Kalman filter to have a fixed size, in which the row index of a specific satellite does
not change from one epoch to the next.
6
Since the transition matrix is constant, the goGPS EKF is stationary in time; actually the transition
matrix is “manually” changed to handle special cases, such as cycle slips when the dynamics of the
double differenced initial ambiguities is not a constant anymore (see Section 2.4). Note that the
implemented dynamic model is suitable to describe the motion of the rover receiver when its
current position can be reasonably predicted by linearly interpolating its last two positions. This is
typically true when working at 1 Hz. In any case the dynamic model can be easily generalized, e.g.
by considering a constant acceleration (Brovelli et al., 2008). The expected error variances are often
given in a (East, North, Up) local frame and then propagated to a global geocentric frame.
Note that ambiguities are treated as state variables, therefore they are never fixed, but their
estimation constantly evolve with the system (hopefully with a decreasing variability). In particular,
it is assumed that ambiguities stay constant over time (apart from the case of cycle-slips).
At each epoch t, the state vector
ˆ
X
t
is estimated by updating
ˆ
Xt-1
(therefore an initialization is
required) and jointly computing the covariance matrix
C
t
e
of the estimation error
e(t)=ˆ
X
t
-X
t
.
2.2 goGPS observation modules
The assembly of different modules into the goGPS EKF is treated as subsequent additions of
observation equations. Recalling that in a Kalman filter the observation model can be defined as
Y
t
=H
t
X
t
+
n
t
(6)
where
Y
t
is the vector of measurements
H
t
is the transformation (or design) matrix from the state variables to the measurements
X
t
is the state vector, as in Eq. 3
n
t
is the observation noise,
these additions mainly reflect in the insertion of new blocks into the transformation matrix
H
t
and
into the observations covariance matrix
C
t
n
(neglecting cross-covariances among blocks).
Code module: The first module introduces code double differences. The observation equation that
describes the pseudorange obtained by combining master and rover observations, with respect to the
pivot satellite p and each satellite s, is given by
P
rm
ps
(t)=
r
rm
ps
(t)+I
rm
ps
(t)+T
rm
ps
(t)+
n
rm
ps
(t)
(7)
where
r
rm
ps
(t)
is the combination of geometric distances between receivers and satellites
I
rm
ps
(t)
and
T
rm
ps
(t)
are the ionospheric and tropospheric residual effects, respectively
n
rm
ps
(t)
is the double differenced code measurement noise.
Note that the ionospheric and tropospheric residual effects can be assumed to be close to zero under
the hypothesis that the distance between master and rover is not greater than about 10 km (in
normal atmospheric conditions), or in any case these residuals can be approximated by using
standard models such as the Klobuchar and Saastamoinen models (Klobuchar, 1987; Saastamoinen,
1973). After linearization Eq. 7 becomes
7
P
rm
ps
(t)+a
Xr
ps
X
r
(t)+a
Yr
ps
Y
r
(t)+a
Zr
ps
Z
r
(t)-
r
rm
ps
(t)=a
Xr
ps
X
r
(t)+a
Yr
ps
Y
r
(t)+a
Zr
ps
Z
r
(t)+
n
rm
ps
(t)
(8)
where
a
kr
ps
=
k
r
(t)-k
p
(t)
r
r
p
(t)
-
k
r
(t)-k
s
(t)
r
r
s
(t)
é
ë
ê
ù
û
úwith k =X,Y,Z
X
s
(t),Y
s
(t),Z
s
(t)
are the coordinates of the satellite s at the epoch t computed from
ephemerides
X
r
(t),Y
r
(t),Z
r
(t)
are the unknown coordinates of the rover
X
r
(t),
Y
r
(t),
Z
r
(t)
are the approximated coordinates for the linearization, predicted from the
estimated coordinates at time
t-1
on the basis of the EKF dynamic model
r
rm
ps
(t)
is the combination of geometric distances between receivers and satellites, using the
rover approximate coordinates
r
r
s
(t)
is the distance from the rover to the satellite s, using the rover approximate
coordinates.
The observation vector for each satellite
s¹p
can be expressed as
Y
t
(code)
=
P
rm
ps
(t)+a
Xr
ps
X
r
(t)+a
Yr
ps
Y
r
(t)+a
Zr
ps
Z
r
(t)-
r
rm
ps
(t)
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
(9)
and the transformation matrix
H
t
(see Eq. 6) related to code double differences as
H
t
(code)
=
     
a
Xr
ps
(t) 0 a
Yr
ps
(t) 0 a
Zr
ps
(t) 0 0 0 0
     
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
. (10)
The corresponding covariance matrix is
C
t
v(code)
=
s
n
rm
ps
2
1 0.5 0.5
0.5  
0.5
0.5 0.5 1
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
(11)
assuming that all the original undifferenced observations are independent and have the same
accuracy, with
s
v
rm
ps
the double differenced code noise standard deviation (typically about 1 m).
A more sophisticated way of weighting observations, introducing information like satellite elevation
and/or C/N0 will be discussed later on.
8
Phase module: goGPS second module applies phase double differences. The phase observation
equation that combines master and rover observations, with respect to the pivot satellite p and each
satellite s, is written as
l
F
rm
ps
(t)=
r
rm
ps
(t)-
l
N
rm
ps
(t)-I
rm
ps
(t)+T
rm
ps
(t)+
h
rm
ps
(t)
(12)
where
N
rm
ps
(t)
is the combined ambiguity value
l
is the L1 wavelength
h
rm
ps
(t)
is the double differenced phase measurement noise
r
rm
ps(t), Irm
ps(t),Trm
ps(t)
are defined as in Eq. 7.
By disregarding or modelling ionospheric and tropospheric residual effects, after linearization the
following equation is obtained
l
F
rm
ps
(t)+a
Xr
ps
X
r
(t)+a
Yr
ps
Y
r
(t)+a
Zr
ps
Z
r
(t)-
r
rm
ps
(t)=
a
Xr
ps
X
r
(t)+a
Yr
ps
Y
r
(t)+a
Zr
ps
Z
r
(t)-
l
N
rm
ps
(t)+
h
rm
ps
(t) .
(13)
Therefore, the observation vector for each satellite
s¹p
is
Y
t
(phase)
=
l
F
rm
ps
(t)+a
Xr
ps
X
r
(t)+a
Yr
ps
Y
r
(t)+a
Zr
ps
Z
r
(t)-
r
rm
ps
(t)
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
. (14)
Consequently the transformation matrix
H
t
(see Eq. 6) becomes
H
t
(phase)
=
     
a
Xr
ps
(t) 0 a
Yr
ps
(t) 0 a
Zr
ps
(t) 0 0 -
l
0
     
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
(15)
with a
-
l
value in the column corresponding to the satellite s.
The phase measurement noise covariance matrix, defining
s
h
rm
ps
as the double differenced phase
noise standard deviation, is
C
t
v(phase)
=
s
h
rm
ps
2
1 0.5 0.5
0.5  
0.5
0.5 0.5 1
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
, (16)
where, again, it is assumed that all the original undifferenced observations are independent and have
the same accuracy.
9
Also for phase observations, a more sophisticated weighting approach will be discussed later on.
DTM module: The third module that has been integrated in goGPS so far introduces heights
extracted from a DTM as additional observations. When using low-cost GPS devices the error in the
vertical direction can be very high, say of the order of tens of metres. If the DTM accuracy is better
than the one expected from the GPS positioning in the vertical direction, the introduction of this
additional observation into the goGPS EKF improves the positioning accuracy without constraining
the estimated position to be exactly on the DTM surface.
Since this kind of data is usually very large, covering very extended areas, and the real-time
functioning of goGPS requires fast load times, a procedure has been implemented that divides the
DTM in multiple tiles, compressed in MATLAB binary format. When the EKF predicts a new
position, its coordinates are used to load the tile that contains them, together with a buffer of the
surrounding eight tiles. A bilinear interpolation is then performed to obtain the height at the
predicted position.
A problem arises from the fact that DTMs are usually provided in cartographic (projected) or
geodetic coordinates, while goGPS works with Cartesian geocentric coordinates. Therefore, the
height
h
DTM
(t)
must be expressed as a function of the approximate position
X
r
(t),
Y
r
(t),
Z
r
(t)
in
order to be able to build the
Y
t
(DTM )
and
H
t
(DTM )
matrices.
Expressing the differential of the position vector as a function of the differentials of the geodetic
coordinates
d
l
,d
f
,dh
(Sansò, 2006)
dX
dY
dZ
é
ë
ê
ê
ê
ù
û
ú
ú
ú=(N+h)cos
f
e
l
d
l
+(M+h)e
f
d
f
+vdh
(17)
where
l
,
f
,h
are respectively the longitude, the ellipsoidal latitude and the ellipsoidal height of the
point
e
l
,e
f
,v
are the unit vectors of a Cartan local (mobile) frame
N is the radius of curvature in the prime vertical, defined as
N=a
1-e
2
sin
2
f
, being e the
eccentricity and a the semi-major axis of the reference ellipsoid
M is the radius of curvature in the meridian, defined as
M=N
1-e
2
1-e
2
sin
2
f
,
the following equation is obtained
dX
dY
dZ
é
ë
ê
ê
ê
ù
û
ú
ú
ú=R
(N+h)cos
f
0 0
0 (M+h) 0
0 0 1
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
d
l
d
f
dh
é
ë
ê
ê
ê
ù
û
ú
ú
ú
(18)
where R is the rotation matrix from the Cartesian geocentric frame
(X,Y,Z)
to the Cartan local
frame, namely
10
R=e
l
e
f
v
é
ë
êù
û
ú=
-sin
l
-sin
f
cos
l
cos
f
cos
l
cos
l
-sin
f
sin
l
cos
f
sin
l
0 cos
f
sin
f
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
. (19)
Therefore the differential of the ellipsoidal height dh can be expressed as
dh =v
+
dX
dY
dZ
é
ë
ê
ê
ê
ù
û
ú
ú
ú=cos
f
cos
l
dX +cos
f
sin
l
dY +sin
f
dZ
(20)
where the superscript + indicates the transpose operation. The height equation thus reads
h
DTM
(t)=cos
f
r
(t)cos
l
r
(t)X
r
(t)-
X
r
(t)
é
ë
ù
û+
cos
f
r
(t)sin
l
r
(t)Y
r
(t)-
Y
r
(t)
é
ëù
û+sin
f
r
(t)Z
r
(t)-
Z
r
(t)
é
ëù
û+
h
r
(t)+
z
DTM
(t)
(21)
where
l
r
(t),
f
r
(t),
h
r
(t)
are the geodetic coordinates of the rover position predicted by the EKF
h
DTM
(t)
is the interpolated height value at the rover position predicted by the EKF
z
DTM
(t)
is the DTM noise.
Note that if the DTM is provided with orthometric heights instead of ellipsoidal heights, the
conversion can be easily done by having a geoid model available (Heiskanen and Moritz, 1967).
Nowadays this is possible worldwide with sufficient accuracy thanks to geoid models derived from
gravity satellite missions like GOCE (Pail et al. 2011).
In order to build the
Y
t
(DTM )
vector (actually just a scalar), this equation can be rearranged as
h
DTM
(t)+cos
f
r
(t)cos
l
r
(t)
X
r
(t)+cos
f
r
(t)sin
l
r
(t)
Y
r
(t)+sin
f
r
(t)
Z
r
(t)-
h
r
(t)=
cos
f
r
(t)cos
l
r
(t)X
r
(t)+cos
f
r
(t)sin
l
r
(t)Y
r
(t)+sin
f
r
(t)Z
r
(t)+
z
DTM
(t)
(22)
obtaining
Y
t
(DTM )
=[h
DTM
(t)+cos
f
r
(t)cos
l
r
(t)
X
r
(t)+cos
f
r
(t)sin
l
r
(t)
Y
r
(t)+sin
f
r
(t)
Z
r
(t)-
h
r
(t)]
(23)
and the transformation matrix (see Eq. 6)
H
t
(DTM )
=cos
f
r
(t)cos
l
r
(t) 0 cos
f
r
(t)sin
l
r
(t) 0 sin
f
r
(t) 0 0
é
ë
ê
ù
û
ú
(24)
with
C
t
n
(DTM )
=
s
z
2
@0.09
m2 in the case of the airborne LiDAR (Light Detection And Ranging)
DTM we have used in some of our experiments (the accuracy was evaluated by comparison with a
GPS survey; it is consistent with the expected accuracy of airborne laser scanning, as described in
Baltsavias, 1999). Note that the accuracy of the DTM is assumed to be the same for every node,
11
which can be a strong approximation in case of DTMs derived from DSMs (Digital Surface
Models), after the removal of features above the ground.
Combination of modules: In order to integrate observation modules into the goGPS EKF, it is
sufficient to build new
Y
t
and
H
t
matrices using those described up to now as blocks.
For example, the observation vector
Y
t
is built up as
Y
t
=
Y
t
(code)
Y
t
(phase)
Y
t
(DTM )
é
ë
ê
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
ú
(25)
and the transformation matrix Ht as
H
t
=
H
t
(code)
H
t
(phase)
H
t
(DTM )
é
ë
ê
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
ú
=
H0
H H
l
H
DTM
0
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
(26)
where
H=
     
a
Xr
ps
(t) 0 a
Yr
ps
(t) 0 a
Zr
ps
(t) 0
     
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
(27)
H
DTM
=cos
f
r
(t)cos
l
r
(t) 0 cos
f
r
(t)sin
l
r
(t) 0 sin
f
r
(t) 0
é
ë
ê
ù
û
ú
(28)
H
l
=
    
0-
l
0 0 0
0 0 0 -
l
0
    
é
ë
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
(29)
with a
-
l
on the column that corresponds to the satellite the phase observation refers to, being
l
the signal wavelength.
Assuming that the observation blocks are uncorrelated among each other, the covariance matrix
becomes
12
C
t
n
=
C
t
n
(code)
0 0
0C
t
n
(phase)
0
0 0 C
t
n
(DTM )
é
ë
ê
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
ú
. (30)
It is important to note that this design, besides providing a straightforward way to add new modules,
is also very flexible and adaptive. For example, if the navigating body moves beyond the borders of
the DTM, the software simply disregards the matrices
Y
t
(DTM )
and
H
t
(DTM )
, leaving them empty
(which does not mean full of zeros!). In this way, the goGPS EKF runs as if the DTM module was
not existing at all.
2.3 goGPS EKF initialization
The initialization of the goGPS EKF starts with a first estimation of the rover position using the
Bancroft algorithm (Bancroft, 1985), with an error of some metres. The result is then used as an
approximate position to apply a linearized least-squares adjustment on code and phase double
differences (two iterations are performed). This position, obtained with an error of some tens of
centimetres, is then passed to the EKF algorithm as
X
r
(0), Y
r
(0), Z
r
(0)
state variables. The
velocities
X
r
(0),
Y
r
(0),
Z
r
(0)
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. Along
with the position, initial float values of phase ambiguities are estimated in the adjustment.
Note that if the number of satellites is not sufficient for the least-squares solution, initial positions
are directly taken from Bancroft algorithm. In this case, for the initialization of ambiguities it comes
out from Eq. 13 (disregarding residual atmospheric delays) that the number of cycles
N
rm
ps
(t)
is
roughly obtained as
N
rm
ps
(t)=
r
rm
ps
(t)-
l
F
rm
ps
(t)
l
+
h
rm
ps
(t)
l
(31)
in which
r
rm
ps
(t)
can be evaluated in two ways
-
r
rm
ps
(t)=P
rm
ps
(t)-
n
rm
ps
(t)
, where
P
rm
ps
(t)
is the combined pseudorange from code measurements
and
n
rm
ps
(t)
is the double differenced code noise, see Eq. 7
-
r
rm
ps
(t)=
r
rm
ps
(t)-
e
rm
ps
(t)
, where
r
rm
ps
(t)
is the combined distance obtained using the approximate
position on the ground and
e
rm
ps
(t)
is the corresponding estimation error obtained from a
linearized propagation of the coordinate errors.
Thus, the initial number of cycles
ˆ
N
rm
ps
(t)
will be, respectively
ˆ
N
rm
ps
(t)=
P
rm
ps
(t)-
l
F
rm
ps
(t)
l
®
s
ˆ
N
»
s
n
l
»
5 cycles (32)
for the first method, and
13
ˆ
N
rm
ps
(t)=
r
rm
ps
(t)-
l
F
rm
ps
(t)
l
®
s
ˆ
N
»
s
e
l
(33)
for the second method. Note that generally the phase ambiguity at time t is estimated by EKF.
Equations 32 and 33 are used only for initialization (t=0) and special events (e.g. re-initialization
after a cycle slip, see section 2.4).
The initial state covariance matrix
C
0
e
is defined as
C
0
e
=
s
x
2
0 0 0 0 0 0 0 0 0
0
s
x
2
0 0 0 0 0 0 0 0
0 0
s
y
2
0 0 0 0 0 0 0
0 0 0
s
y
2
0 0 0 0 0 0
0 0 0 0
s
z
2
0 0 0 0 0
0 0 0 0 0
s
z
2
0 0 0 0
0 0 0 0 0 0
s
ˆ
N
2
0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
s
ˆ
N
2
0
      0
0 0 0 0 0 0 0 0 0 0 0
é
ë
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
ú
(34)
where
s
x
2
,
s
y
2
,
s
z
2
are the position error variances from the diagonal of the inverse least-squares
normal matrix
s
x
2
,
s
y
2
,
s
z
2
are the velocity variances from an a-priori assumption
s
ˆ
N
2
is the estimated variance of the initial ambiguity; it is introduced just on the lines
corresponding to visible satellites and it can be different from satellite to satellite. Since the
dimension of the matrix is fixed, zeros are placed on lines corresponding to non-visible
satellites; this not strictly positive definite covariance matrix is allowed by the Kalman filter
mathematical formulation (Sansò, 2006).
Note that an initial high value of the velocity variance can be used to model the acceleration of a
body that starts moving from a stationary state.
2.4 Satellite configuration changes
The goGPS EKF described up to now can work seamlessly if events like changes of the satellite
configuration and signal losses do not happen. Anyway, since this kind of events usually do happen
during any navigation period, it is fundamental to introduce some event manager in the EKF
algorithm to model them. goGPS handles partial and total satellite losses, satellite additions, pivot
satellite changes and cycle-slips by editing the EKF matrices, as summarized in the next sub-
sections (more detailed explanations are given in Realini, 2009).
14
2.4.1 Satellite losses
When for any reason a satellite s that was visible at time
t-1
is no more visible at time t, the only
change in the goGPS EKF is that the
H
t
matrix automatically loses the rows that correspond to the
satellite s code and phase measurements.
In case, also the combined ambiguities
ˆ
N
rm
ps
(t)
can be set to zero, but this is not strictly necessary,
since they are going to be reset anyway if the satellite s will come back visible again.
If all the satellites are lost, the system will proceed just by using the filter dynamics, thus
ˆ
X
t
=T
ˆ
X
t-1
(35)
meaning, for instance, that it goes straight into a long tunnel.
2.4.2 Satellite additions
When a satellite s that was not visible at time
t-1
becomes visible at time t, its observations are
added automatically to the
H
t
matrix (if the satellite elevation is higher than the chosen cut-off
angle), but it is also necessary to initialize its ambiguity
ˆ
N
rm
ps
(t-1)
in the state vector
X
t-1
as if the
satellite were visible in the previous epoch. The estimation error covariance at time
t-1
is modified
accordingly. Either Eq. 32 or Eq. 33 can be used for initializing the ambiguity of satellite s and for
estimating its variance.
2.4.3 Pivot change
The change of the pivot satellite (e.g. when a satellite reaches a higher elevation than the current
pivot satellite) requires the combined ambiguities to be referred to the new pivot. This solution is
adopted to avoid that a low elevation pivot could degrade all double differenced observations.
Let us suppose a change of the pivot satellite at time t. Given the combined ambiguities equations at
time
t-1
, with pivot satellite p
N
rm
p1
(t-1) =(N
r
p
-N
m
p
)-(N
r
1
-N
m
1
)
N
rm
pq
(t-1) =(N
r
p
-N
m
p
)-(N
r
q
-N
m
q
)
N
rm
pp
(t-1) =0
N
rm
p32
(t-1) =(N
r
p
-N
m
p
)-(N
r
32
-N
m
32
)
ì
í
ï
ï
ï
ï
î
ï
ï
ï
ï
(36)
the corresponding ambiguities with respect to the pivot satellite q would be (at time
t-1
)
15
N
rm
q1
(t-1) =(N
r
q
-N
m
q
)-(N
r
1
-N
m
1
)=N
rm
p1
-N
rm
pq
N
rm
qq
(t-1) =0
N
rm
qp
(t-1) =(N
r
q
-N
m
q
)-(N
r
p
-N
m
p
)=0-N
rm
pq
N
rm
q32
(t-1) =(N
r
q
-N
m
q
)-(N
r
32
-N
m
32
)=N
rm
p32
-N
rm
pq
ì
í
ï
ï
ï
ï
î
ï
ï
ï
ï
(37)
therefore the second set of equations can be obtained from the first one by using the following
linear transformation
N
q
(t-1) =
N
rm
q1
(t-1)
N
rm
q2
(t-1)
N
rm
q32
(t-1)
é
ë
ê
ê
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
ú
ú
=R
N
rm
p1
(t-1)
N
rm
p2
(t-1)
N
rm
p32
(t-1)
é
ë
ê
ê
ê
ê
ê
ê
ù
û
ú
ú
ú
ú
ú
ú
=RN
p
(t-1)
(38)
with R being a matrix constructed to reflect the relationship between the vectors
N
q
(t-1)
and
Np(t-1)
, as expressed in Eq. 37.
Since initial ambiguities are transformed with Eq. 38, this transformation has to be propagated to
the estimation error covariance as
C
t-1( pivot q)
e
=I0
0R
é
ë
êù
û
úC
t-1( pivot p)
e
I0
0R
é
ë
êù
û
ú
+
.
(39)
2.4.4 Cycle slips
The detection of cycle slips at time t is performed by comparing the current ambiguity value with an
estimation of the number of cycles made on the basis of observations. The number of cycles is
estimated by applying Eq. 33, with the combined distance computed by updating the previous epoch
EKF position, on the basis of the dynamic model only. If the difference between this estimated
number of cycles and the current ambiguity value is larger than an empirical threshold set by the
user (e.g. 3 cycles ≈ 60 cm), then a cycle slip is detected. This test is reliable when the accuracy of
the EKF estimated coordinates is of the order of tens of centimetres; otherwise many false alarms
can occur. When a cycle slip is detected, the corresponding satellite is treated as if it was added to
the current configuration at time t (see Section 2.4.2). If a cycle slip affects the pivot satellite, then
all double differenced observations slip and all ambiguities are re-initialized; the solution at time t
will then be mostly based on code observations. As an alternative real-time method, Doppler
observations are also used for cycle slip detection. Of course, when working in post-processing,
more sophisticated and efficient techniques for cycle slip detection could be implemented (see e.g.
Blewitt, 1990; De Lacy et al., 2008); this is part of future activities.
16
3. U-BLOX ERROR CALIBRATION
Short baseline tests were performed in order to assess the measurement quality of a u-blox receiver
and calibrate goGPS parameters accordingly. An AEK-4T evaluation kit with its standard patch
antenna (ANN-MS) and a permanent station installed in Como (Italy) were used. The permanent
station belongs to the EUREF Permanent Network (EPN), with the marker name ‘COMO’.
3.1 Short baseline test
In order to study the behaviour and quality of the data received by the AEK-4T, without
interferences given by the rover motion or by its distance from the master station, a short baseline
test has been performed, keeping the AEK-4T antenna stationary on a metallic pillar during a period
of about 8 h 30 m at a distance of 6.68 m from the Como permanent station (Figure 1) on the
rooftop of the university building.
Figure 1. AEK-4T antenna location for short baseline test
The coordinates of the metallic pillar are known with an accuracy of about 0.5 cm (measured with a
double frequency receiver in static mode, post-processed with double differences with respect to the
Como permanent station). Code and phase observations from both the AEK-4T and the permanent
station were processed with double differences (DD), therefore the available epochs were filtered to
select only the synchronized ones that are in common to both instruments. This selection produced a
total of 28 577 synchronized epochs at 1 Hz, corresponding to a time span of 7 h 56 m 17 s.
Double differenced AEK-4T code quality: The assessment of the double differenced code quality
has been performed by computing overall mean value and standard deviation of the DD code errors.
The error has been estimated by calculating the difference between the observed DD measurement
and the one computed by knowing the true position of the AEK-4T antenna. In the case of a so short
baseline, satellite position errors can be neglected. The computation was performed on all the
dataset, taking into account C/N0 and elevation cut-offs (30 dBHz and 10° respectively). This led to
a number of 795 856 samples of DD code error. The resulting mean value, standard deviation and
RMSE are listed in Table 1.
Mean [m] Std. deviation [m] RMSE [m] Num. of samples
0.565 2.982 3.035 795 856
Table 1. Overall short baseline DD AEK-4T code quality
The AEK-4T DD code measurement errors show an overall RMSE of about 3 m. The error
histogram, which looks like a Gaussian distribution, is not centred on zero, but shows a bias of
17
about 60 cm; this can create problems when estimating phase ambiguities from code data, being the
carrier wavelength of the order of 20 cm. The cause of this bias is unclear; it might be attributed to
the low quality of the receiver electronics, but further investigations are required.
Double differenced AEK-4T phase quality: The AEK-4T phase measurements are affected by
some more issues than code measurements. Particularly, DD phase errors plots reveal trends and
discontinuities, probably due to AEK-4T clock drift errors and/or cycle slips (Odijk et al., 2007
describe in details the discrete jumps applied by an ANTARIS-based GPS receiver to adjust its
clock reading). In order to obtain a rough estimation of the DD phase error standard deviation, these
jumps have been removed by shifting the error values after each jump by a quantity corresponding
to the jump itself. This operation left just a trend, which for some couples of satellites was a
decreasing one, for others an increasing one. The phase double difference equation says that, in
principle, constant time series should be obtained over long time periods after removing cycle slips;
the physical phenomena producing this behaviour are still not fully clear and they are going be
investigated thoroughly in future developments. Anyway, these trends have been removed by fitting
the data with a third degree polynomial, which was then subtracted from the data, with the aim of
obtaining a zero-mean time series. Nevertheless, the obtained time series still presented some
systematic effects; this residual time correlation could in principle be modelled and introduced in
the Kalman filter.
After excluding suspected outliers, a first rough estimation of the DD phase error standard deviation
was obtained. The results are reported in Table 2.
Mean [m] Std. deviation [m] RMSE [m] Num. of samples
0.000 0.032 0.032 32 668
Table 2. Overall short baseline DD AEK-4T phase quality
Elevation and C/N0 weight calibration: Weights to be assigned to measurements have been
calibrated by analysing the variation of the code error as a function of the elevation and C/N0 of the
satellites. Only C/N0 values acquired from the rover have been considered, because the observation
quality of the permanent station receiver is definitively higher. The available epochs have been
subdivided into different classes on the basis of elevation and C/N0 ranges. Eight elevation classes
(each one spanning 10°, from a minimum of 10° to the zenith) and five C/N0 classes (each one
spanning 5 dBHz, from a minimum of 30 dBHz to 55 dBHz) have been considered for both the
satellites used in each combination of the double differences. The mean value and the standard
deviation of the errors have been computed for each combination of classes. Then the RMSE has
been computed as a unique quality index for each combination of elevation or C/N0 classes.
In order to properly weight measurements on the basis of their C/N0, an interpolation function has
been conceived that fits well enough the resulting RMSE values for the different combinations of
C/N0 ranges. In particular, the following function has been specifically formulated to follow the
behaviour of the code error as a function of C/N0 values (CN variable in the formula)
W(CN )=10
-(CN-T)
a
A
10
-(F-T)
a
-1
æ
è
ç
ç
ç
ö
ø
÷
÷
÷
CN -T
F-T+1
æ
è
ç
ç
ç
ö
ø
÷
÷
÷CN <T
1CN ³T
ì
í
ï
ï
î
ï
ï
(40)
18
The T parameter defines the threshold after which the weight is set to 1 (i.e. the C/N0 value after
which measurements are considered “good”); the F parameter defines the C/N0 value for which the
function is “forced” to have the weight defined by the A parameter; the a parameter defines the
bending of the curve.
The combination of the two W functions of the two satellites involved in double differences is given
by
W(CN
1
,CN
2
)=W(CN
1
)+W(CN
2
)
2
(41)
and it results in a surface used to approximate the DD code RMSE values (Figure 2).
Figure 2. Weighting surface function (T = 50; F = 10; A = 30; a = 30) and RMSE values (circles)
As regards elevation analysis, the results show less variability of RMSE values than in the C/N0
analysis. The RMSE is generally decreasing as the elevation increases up to 50°, then it rises again.
This increasing behaviour for high elevation ranges is probably due to multipath effects in the
vertical direction that were not shielded during the test. Since the C/N0 is clearly dominant over the
elevation in the analysis of the DD code RMSE and taking into account the way of weighting
observations as a function of elevation described in Kirchner (2005), it has been decided to use an
inverse square sine function to introduce the elevation information in the weighting function, i.e.
W(CN ,e)=
1
sin
2
e10
-(CN-T)
a
A
10
-(F-T)
a
-1
æ
è
ç
ç
ç
ö
ø
÷
÷
÷
CN -T
F-T+1
æ
è
ç
ç
ç
ö
ø
÷
÷
÷
æ
è
ç
ç
ç
ö
ø
÷
÷
÷CN <T
1CN ³T
ì
í
ï
ï
î
ï
ï
(42)
Of course the resulting weighting functions are tailored for u-blox receivers.
19
4. ACCURACY TESTS
A path was surveyed on one of the artificial islands of Osaka Bay, Japan (Figure 3, green line), in
order to assure good sky visibility conditions.
Figure 3. Accuracy test location. The background satellite image shows Osaka Bay, covering about
37 km East-West, 28 km North-South; the zoomed white box shows the location used for the open
sky tests, covering 400 m East-West, 220 m North-South; the yellow and red dots in Osaka urban
area respectively mark the path sections where both the reference dual-frequency receivers had an
integer fix and those where they did not
Two TOPCON dual frequency LEGACY-E+ receivers (PG-A1 antennas) and one u-blox AEK-4T
receiver (ANN-MS antenna) were mounted on the rooftop of a car moving at constant velocity. The
observations of the two dual frequency receivers were post-processed by TOPCON proprietary
software in kinematic mode, solving integer ambiguities; this trajectory was used as a reference for
the accuracy assessment. This processing was performed with respect to a virtual reference station
(VRS), generated by a positioning service exploiting the Japanese nation-wide array of GPS stations
(GEONET; Yamagiwa et al., 2006); the VRS was located at a distance of about 8 km from the
nearest network station. The u-blox antenna was positioned along the segment connecting the
centres of the two dual-frequency antennas, at a known distance from the two, in order to derive its
position (Figure 4). The segment connecting the receivers was along the direction of movement of
the car. goGPS was used to process both TOPCON receivers (using L1 only) and the u-blox
receiver in relative positioning with respect to the same VRS used for estimating the reference
trajectory.
Figure 4. Setup of TOPCON and u-blox antennas during tests
This was done in order to evaluate goGPS results using either high-cost or low-cost hardware. The
two TOPCON dual frequency solutions (computed using TOPCON software and the same VRS)
were used as references for computing the accuracy of the goGPS solutions. The AEK-4T internally
20
computed positioning was also saved, in order to compare it with the goGPS solution using the
same hardware and the same GPS observations.
Three tests were done on the same day, with a pause of about two hours between subsequent tests in
order to let the satellite configuration change significantly. During each test, three surveys were
performed by driving the car along the same path (Figure 3, green line) at different speeds: 5, 10
and 20 km/h. The speed during each survey was kept as much as possible constant. The same
processing parameters were kept during all the surveys, although two different sets of parameters
were applied for TOPCON and u-blox receivers in order to optimize the solution (Table 3). The
dynamic model of the Kalman filter was set at constant velocity for all the tests (see Eq. 1).
Parameter TOPCON u-blox
EKF error st.dev. (East) 0.3 m/s 0.3 m/s
EKF error st.dev. (North) 0.3 m/s 0.3 m/s
EKF error st.dev. (Up) 0.1 m/s 0.1 m/s
Code error st.dev. 0.4 m 3 m
Phase error st.dev. 0.003 m 0.03 m
Weighting strategy elevation C/N0
Cycle slip threshold 5 cycles 10 cycles
Elevation cut-off 10 deg 10 deg
Table 3. goGPS parameters for the accuracy tests (tuned for the two different kinds of receivers);
note that the EKF model errors basically define how much the estimated trajectory is allowed to
deviate from a straight path (see Eq. 1)
Figures 5-7 summarize the accuracy results in terms of two-dimensional (East-North) RMSE of the
residuals with respect to the dual frequency solution computed by TOPCON software. All
coordinates were projected to UTM (Universal Transverse Mercator). In particular, Figure 5
compares the goGPS relative solution and the u-blox stand-alone solution using the u-blox AEK-4T
hardware.
Figure 5. Accuracy comparison between goGPS relative positioning and u-blox stand-alone
positioning, both using u-blox hardware (2D coordinates)
goGPS relative solution shows an accuracy of less than about 1 m, while the u-blox stand-alone
accuracy (using the same observations as goGPS) is less than about 3 m. Figure 6 compares the
21
goGPS relative solution using either TOPCON (L1 only) or u-blox AEK-4T hardware. The
accuracy achieved by goGPS single-frequency relative positioning with high-end hardware quality
is less than about 50 cm. It is worth noting that this result was obtained by keeping ambiguities as
float; the fixing of integer ambiguities, if correctly solved, is expected to significantly enhance the
accuracy. Integer ambiguity solving by LAMBDA method (Teunissen, 1995) is currently being
added to goGPS and will be included in future publications.
Figure 6. Accuracy results of goGPS single frequency (L1) relative positioning, using TOPCON
and u-blox hardware (2D coordinates)
A second path was surveyed while driving the same car (with the same equipment configuration)
from a location within Osaka urban area to the artificial island surveyed for the open sky tests
(Figure 3, yellow and red points). Most of the path was surveyed on highways, flanked by 3- to 5-
story buildings. In order to have a reliable reference for the accuracy assessment, only the results for
which both reference (i.e. TOPCON) receivers had an integer fix were selected for the comparison
(yellow points in Figure 3).
Figure 7 shows the effect of the different weighting strategies implemented in goGPS on the
accuracy of the estimated trajectory.
Figure 7. Accuracy comparison among different weighting strategies with goGPS relative
positioning using u-blox hardware in a dense urban environment (2D coordinates)
The dense urbanization and the presence of tall buildings emphasizes the importance of properly
weighting the available observations: in fact the high sensitivity of typical low-cost GPS hardware
enables the availability of many observations, even if degraded. In this kind of scenario, the CN/0
weighting strategy provides the best results for different elevation cut-offs. Note that the elevation
22
cut-off in standard GPS positioning engines is usually kept fixed to a low value in order to
maximize the number of available observations; this is a good strategy in open-sky scenarios, but in
the dense urban environment of the present test it introduces a significant degradation of the
positioning accuracy. Increasing the cut-off values to high elevation angles, however, degrades the
geometry of the satellites. The CN/0 weighting strategy implemented in goGPS provides a solution
for improving the positioning accuracy while keeping the elevation cut-off to low angles.
In order to evaluate the benefit of the DTM module implemented in goGPS, the same path in Osaka
urban area was used, selecting one of the sections with the largest error in the vertical direction (i.e.
the section with the densest high-rise buildings, causing extremely adverse positioning conditions).
Using this dataset, the positioning results of goGPS with and without the DTM support were
compared with the positioning solution computed by the u-blox module (Figure 8). DTM grids for
goGPS were produced using the Shuttle Radar Topography Mission (SRTM) 3 arc-second dataset.
Within this timespan the dual frequency receivers provided only few float solutions (i.e. integer
ambiguities could not be resolved) with very large errors, due to the strongly difficult positioning
conditions; therefore, the SRTM height value was used as a reference to evaluate the reliability of
the positioning along the vertical direction. Naturally the comparison is biased due to the fact that
the reference DTM is the same used to correct the goGPS solution. However the goal of the test is
not to evaluate the absolute accuracy of the goGPS+SRTM system, but to show that by having a
good quality DTM, goGPS is able to take it into account for improving the solution. It is also worth
noting that the terrain level of the Osaka urban area surveyed for this test is mostly flat and within
few metres from the sea level. The large differences shown in Figure 8 by both the solutions
without the DTM support, and particularly those below the sea level, are thus accounted as actual
positioning error.
Figure 8. Effect of DTM support on goGPS vertical positioning in a dense urban environment
Table 4 shows the mean and standard deviation of the differences between the three positioning
solutions and the SRTM height.
mean st.dev.
goGPS with DTM 0.0 m 4.1 m
goGPS without DTM 0.6 m 15.7 m
u-blox -10.3 m 8.4 m
Table 4. Difference with respect to the reference DTM
23
The advantage of exploiting at best the information of high-sensitive receivers in such a critical
scenario is evident.
5. CONCLUSIONS
goGPS free and open source positioning software has been published online as a collaborative
research and teaching platform. It is based on extended Kalman filtering with tailored algorithms
for processing low-cost receiver data. goGPS single-frequency relative kinematic positioning
accuracy was evaluated by comparison with a dual-frequency receiver; results show an accuracy of
less than 1 m when using low-cost, consumer-level hardware and of less than 50 cm when using
high-end hardware (single-frequency). A weighting function calibrated on a specific low-cost
receiver was tested during navigation in a dense urban environment, showing an improvement of 1-
2 m with respect to the solution without weights. This confirms that low-cost receivers need specific
processing strategies, as it is done in goGPS. The use of a coarse DTM (SRTM3) height
information as an additional information in goGPS EKF was demonstrated to stabilize the solution
along the vertical direction in adverse positioning conditions (i.e. when navigating among tall
buildings in a dense metropolitan area). This is again a valuable add on to the presented software,
also from the methodological point of view.
Future plans for goGPS development include generalization to other GNSS constellations, possibly
using SBAS (Satellite Based Augmentation Systems) for increasing the accuracy in stand-alone
mode. Studies for improving also the static positioning with low-cost receivers will be performed
too, following the philosophy proposed in this research.
6. ACKNOWLEDGMENTS
The accuracy tests have been designed and carried out in collaboration with Venkatesh Raghavan
(Osaka City University), Hirofumi Hayashi (Applied Technology Co.,Ltd.) and Akinori Kimoto
(JENOBA Co.,Ltd.). The tests were supported by the JSPS Grant-in-Aid for Scientific Research
(Issue No. 2109737) entitled "Development of Ubiquitous LBS Web-Service using Free and Open
Source Software".
goGPS has been ported to Java and implemented as a web service in collaboration with Venkatesh
Raghavan, Daisuke Yoshida (Tezukayama Gakuin University) and Lorenzo Patocchi (CRYMS
Sagl).
7. REFERENCES
Alanen, K., Wirola, L., Käppi, J., Syrjärinne, J., 2006, Inertial Sensor Enhanced Mobile RTK
Solution Using Low-Cost Assisted GPS Receivers and Internet-Enabled Cellular Phones, Inside
GNSS, 1(4), 32-39.
Baltsavias, E.P., 1999, Airborne laser scanning: basic relations and formulas, ISPRS Journal of
Photogrammetry & Remote Sensing, 54, 199-214.
Bancroft, S., 1985, An Algebraic Solution of the GPS Equations, IEEE Trans. Aerospace and
Electronic Systems, AES-21(1), 56-59.
Blewitt, G., 1990, An automatic editing algorithm for GPS data. Geophysical Research Letters,
17(3), 199-202.
24
Borre, K., 2003, The Easy Suite - MATLAB code for the GPS newcomer, GPS Solutions, 7(1), 47-
51.
Brovelli, M. A., Realini, E., Reguzzoni, M. and Visconti, M. G., 2008, Comparison of the
Performance of Medium and Low Level GNSS Apparatus, with and without Reference Networks.
International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences, 36,
part 5/C55, 54-61.
De Lacy, M. C., Reguzzoni, M., Sansò, F., Venuti, G., 2008, The Bayesian detection of
discontinuities in a polynomial regression and its application to the cycle-slip problem, Journal of
Geodesy, 82(9), 527-542.
Euler, H.-J., Landau, H., 1992, Fast GPS ambiguity resolution on-the-fly for real-time application,
Proceedings of the sixth international geodetic symposium on satellite positioning, Columbus, Ohio,
17–20 March, 650–659.
Grewal, M.S., Andrews, A.P., 2001, Kalman Filtering: Theory and Practice Using Matlab, John
Wiley & Sons, Ltd.
Hatch, R., 1990, Instantaneous ambiguity resolution, Proceedings of KIS’90, Banff, Canada, 10–13
September, 299–308.
Heiskanen, W.A., Moritz, H., 1967, Physical Geodesy, W.H. Freemann, San Francisco, USA.
Hernandez-Pajares, M., Juan, J.M., Sanz, J., Ramos-Bosch, P., Rovira-Garcia, A., Salazar, D.,
Ventura-Traveset, J., Lopez-Echazarreta, C., Hein, G., The ESA/UPC GNSS-Lab tool (gLAB): An
advanced multipurpose package for GNSS data processing, Proceedings of the Satellite Navigation
Technologies and European Workshop on GNSS Signals and Signal Processing (NAVITEC), 2010
5th ESA Workshop, 8-10 Dec. 2010, doi: 10.1109/NAVITEC.2010.5708032
Hofmann-Wellenhof, B., Lichtenegger, H., Collins J., 1992, GPS Theory and Practice. Springer-
Verlag, New York.
Hofmann-Wellenhof, B., Legat, K., Wieser, M., 2003, Navigation, Principles of Positioning and
Guidance. Springer-Verlag Wien, New York.
Kalman, R. E., 1960, A New Approach to Linear Filtering and Prediction Problems, Transaction of
the ASME - Journal of Basic Engineering, 35-45.
Kirchner, M., Becker, 2005, M., The use of signal strength measurements for quality assessments of
GPS observations, Geodetic and Geodynamic Programs of the CEI Symposium G9, Reports on
Geodesy, 2(73).
Klobuchar, J. A., 1987, Ionospheric time-delay algorithm for single-frequency GPS users,
Aerospace and Electronic Systems, IEEE Transactions on, (3), 325-331.
Leick, A., 1995, GPS Satellite Surveying, Wiley, New York.
25
Odijk, D., Traugott, J., Sachs, G., Montenbruck, O., Tiberius, C., 2007, Two Precision GPS
Approaches Applied to Kinematic Raw Measurements of Miniaturized L1 Receivers, Proceedings
of ION GNSS 2007, 25-28 September, 827-838.
Pail, R., Bruinsma, S., Migliaccio, F., Förste, C., Goiginger, H., Schuh, W.D., Höck, E., Reguzzoni,
M., Brockmann, J.M, Abrikosov, O., Veicherts, M., Fecher, T., Mayrhofer, R., Krasbutter, I., Sansò,
F., Tscherning, C. C., 2011, First GOCE gravity field models derived by three different approaches,
Journal of Geodesy, 85(11), 819-843.
Realini, E., goGPS - free and constrained relative kinematic positioning with low cost receivers,
Ph.D. thesis, Politecnico di Milano, 2009.
Available online at http://geomatica.como.polimi.it/tesi/E_Realini.tar (acc. 2 April 2013)
Realini, E., Yoshida, D., Reguzzoni, M., Raghavan, V., 2012, Enhanced satellite positioning as a
web service with goGPS open source software, Applied Geomatics, 4(2), 135-142.
Saastamoinen, J., 1973, Contribution to the theory of atmospheric refraction, Bulletin Géodésique,
107(1), 13-34.
Sansò, F., 2006, Navigazione geodetica e rilevamento cinematico, Polipress, Milan, Italy (in Italian).
Takasu, T., Kasai, S., 2005, Precise Orbit Determination of GPS Satellites using Carrier Phase
Measurements, Proceedings of the 15th Workshop on JAXA Astro Dynamics and Flight Mechanics.
Available online at http://gpspp.sakura.ne.jp/paper2005/astro2005.pdf (acc. 2 April 2013)
Takasu, T., Yasuda, A., 2009, Development of the low-cost RTK-GPS receiver with an open source
program package RTKLIB, Proceedings of the International Symposium on GPS/GNSS,
International Convention Center Jeju, Korea, November 4-6.
Teunissen, P.J.G., 1995, The least-squares ambiguity decorrelation adjustment: a method for fast
GPS integer ambiguity estimation. Journal of Geodesy, 70, 65–82, doi:10.1007/BF00863419.
Teunissen, P.J.G., Kleusberg A. (eds), 1998, GPS for Geodesy. Springer, Berlin.
Van Diggelen, F., 2009, A-GPS: Assisted GPS, GNSS and SBAS, Artech House, Norwood MA,
USA.
Yamagiwa, A., Hatanaka, Y., Yutsudo, T., Miyahara, B., 2006, Real time capability of GEONET
system and its application to crust monitoring, Bulletin of the Geographic Survey Institute, 53, 27-
33.
Wirola, L., 2008, High-accuracy Positioning for the Mass Market, Presented at FIG Working Week
2008, June 14-19, Stockholm, Sweden.
Available online at
http://www.fig.net/pub/fig2008/ppt/ts08f/ts08f_03_wirola_ppt_3167.pdf (acc. 2 April 2013)
... The C/N 0 is an important indicator for the observation noise [39]. In general, the observations with lower C/N0 values always have larger noise. ...
... Here the following values have been used. For HP40 observations, M = 50 for L1/E1/B1 signals, and 40 for L5/E5a/B2a signals, and A = 30 [39]. A detailed explanation of (3) is given below. ...
Article
Full-text available
The emerging Internet of Things (IoT) applications, such as intelligent transportation based on vehicular-lane accurate positioning, have a growing demand for precise and reliable positioning with Global Navigation Satellite Systems (GNSSs). It is desirable to use GNSS modules in smartphones to achieve high-precision positioning. The GNSS modules in some brands of smartphones thus far are able to track the new L5 signals of GPS and QZSS, E5a signals of Galileo and B2a signals of BeiDou-3. The L5/E5a/B2a signals have higher quality due to their signal structure, which provides an important potential for high-precision positioning in smartphones. In this paper, we will study the quality of L5/E5a/B2a signals, and their superiorities in integer ambiguity resolution (IAR) and precise positioning with respect to the L1/E1/B1 signals from GPS, QZSS, Galileo and Beidou-2/3 satellites. The signal quality is evaluated in terms of observation precision, multipath, double-differenced ambiguity fractions and ambiguity dilution of precision (ADOP). In addition, we propose a new weighting model that takes into account the variation range of carrier-to-noise density ratio (C/N0). The results indicate that the Beidou-3 B2a signal has comparable quality to L5/E5a signals of other systems, and all of them are better than the L1/E1/B1 signals. However, the ambiguity fractions of B2a signals diverge abruptly in some periods, resulting in the unsuccessful ambiguity fixing. The L5/E5a/B2a signals can generally obtain higher IAR fix-rate and positioning accuracies than the L1/E1/B1 signals. The new weighting model can capture the smartphone noise characteristics better than the traditional weighting model, thus improving the positioning accuracy.
Chapter
Full-text available
Sediment connectivity is a distributed property of river systems that emerges from the connected transfer of sediment between multiple sources and sinks. Its disruption, brought by anthropic disturbances, can have severe and unforeseen consequences on both fluvial ecosystems and human livelihood. Modeling network-scale sediment connectivity provides a foundational understanding of river processes and their response to new pressures and can be used to forecast future system evolutions. In this chapter, we present the basin-scale, dynamic sediment connectivity model D-CASCADE (Dynamic CAtchment Sediment Connectivity And DElivery), which quantifies spatiotemporal patterns of sediment delivery in river networks. D-CASCADE considers multiple factors affecting transport, including heterogeneities in hydrology and sediment supply, different grain sizes, channel morphological evolution, and reservoir presence and management. The model is designed to be flexible, data parsimonious, and computationally efficient. We also present two applications of D-CASCADE in real-world case studies for historic geomorphic evolution reconstruction and future dam impacts forecasting. D-CASCADE is intended for integrated, basin-scale water management efforts, to perform multiple screening of various decision portfolios for hydromorphological impact assessments.
Chapter
Full-text available
This brief summarizes some of the main results I obtained during my Ph.D. studies at Politecnico di Milano, under the supervision of Professor Stefano Tubaro. The thesis provides contributions to understanding the advantages, and limitations, of data-driven deep learning approaches to geophysical inverse problems, with a special focus on Convolutional Neural Networks (CNNs). Exploration Geophysics aims at estimating accurate physical properties of the Earth subsurface from seismic data acquired close to the surface. Seismic data show a great variety of statistically relevant and independent patterns. I devise Deep Learning methods to solve several geophysical tasks by learning such patterns. First, I devise generative networks as a post-processing operator for refining reflectivity images. When trained on pure image datasets, these networks suffer from the lack of physical knowledge. Then, I show a different approach named Deep Priors, which are CNNs that precondition the inverse problem. In particular, I develop a scheme to interpolate seismic data. Finally, I leverage the features extraction ability of CNNs for buried landmine detection on Ground Penetrating Radar (GPR) acquisitions. While the presented methods are effective compared to the state of the art, improvements can be achieved by integrating pure data-driven algorithms within general inverse problems theory through a-priori information derived from domain knowledge.
Chapter
Full-text available
This is an introductory article to the topics more widely discussed in the PhD thesis from the same author. Following a short introduction and the motivations for researching innovative gamma-ray detector systems, this article describes a novel 85 dB dynamic range per channel integrated circuit for SiPM charge signal readout, named GAMMA, and the custom FPGA-based readout system. Experimental results presented in this article, obtained using a planar array of NUV-HD SiPMs, encompass the single-photon sensitivity achieved by GAMMA ASIC and the 2.6% resolution at the ¹³⁷ Cs peak emission energy of 662 keV, when using GAMMA ASIC to collect current signal from a detector array that is coupled to a LaBr 3 scintillation crystal. Pixellation of the detector matrix allows for coarse position of interaction sensitivity in the scintillation crystal using machine learning reconstruction algorithms.
Chapter
Full-text available
Reinforcement Learning (RL) has emerged as a powerful tool to solve sequential decision-making problems, where a learning agent interacts with an unknown environment in order to maximize its rewards. Although most RL real-world applications involve multiple agents, the Multi-Agent Reinforcement Learning (MARL) framework is still poorly understood from a theoretical point of view. In this manuscript, we take a step toward solving this problem, providing theoretically sound algorithms for three RL sub-problems with multiple agents: Inverse Reinforcement Learning (IRL), online learning in MARL, and policy optimization in MARL. We start by considering the IRL problem, providing novel algorithms in two different settings: the first considers how to recover and cluster the intentions of a set of agents given demonstrations of near-optimal behavior; the second aims at inferring the reward function optimized by an agent while observing its actual learning process. Then, we consider online learning in MARL. We showed how the presence of other agents can increase the hardness of the problem while proposing statistically efficient algorithms in two settings: Non-cooperative Configurable Markov Decision Processes and Turn-based Markov Games. As the third sub-problem, we study MARL from an optimization viewpoint, showing the difficulties that arise from multiple function optimization problems and providing a novel algorithm for this scenario.
Chapter
Full-text available
The research spans several application areas, including biotechnology, medical imaging, and environmental monitoring. Precise and specialized processing techniques are often required for measurements of signal parameters with high efficiency, for example, in terms of resolution and count rate, such as time of occurrence of events. Digital solutions have thus received the most significant attention since they are the most effective at enabling flexible, application-oriented elaboration systems. The research is finalized to develop high-resolution time measurement systems in Field Programmable Gate Array (FPGA) devices. The goal is to optimize resolution, linearity, and processing speed at the state-of-the-art in modern, most dynamic branches of very high-efficiency time measurement. To maximize the number of events handled in real-time, the research is also concentrated on developing cutting-edge communication and data transfer methods for performing multiple measures in parallel.
Chapter
Full-text available
In the last decades, on the one hand, Deep Learning (DL) has become state of the art in several domains, e.g., image classification, object detection, and natural language processing. On the other hand, pervasive technologies—Internet of Things (IoT) units, embedded systems, and Micro-Controller Units (MCUs)—ask for intelligent processing mechanisms as close as possible to data generation. Nevertheless, memory, computational, and energy requirements characterizing DL models are three or more orders of magnitude larger than the corresponding memory, computation, and energy capabilities of pervasive devices. This work aims at introducing a methodology to address this issue and enable pervasive intelligent processing. In particular, by defining Tiny Machine Learning (TML) solutions, i.e., machine and deep learning models that take into account the constraints on memory, computation, and energy of the target pervasive device. The proposed methodology addresses the problem at three different levels. In the first approach, the methodology devices inference-based Deep TML solutions by approximation techniques, i.e., the TML model runs on the pervasive device but was trained elsewhere. Then, the methodology introduces on-device learning for TML. Finally, the third approach develops Wide Deep TML solutions that split and distribute the DL processing over connected heterogeneous pervasive devices.
Chapter
Full-text available
Over the last few years, a growing interest has been observed in the field of Interferometric Synthetic Aperture Radar (InSAR) meteorology. The atmosphere has always been seen as a disturbance in interpreting interferograms (the output product of InSAR processing). A space-borne radar, however, can sense the refractive index of the medium it travels. The refractive index, in turn, is sensitive to pressure, temperature, and humidity of the air. Therefore, SAR data contains information about the atmosphere’s status and can be exploited by Numerical Weather Prediction Models (NWPM) as additional information to improve weather forecasts. This chapter investigates a fast and robust method for generating the so-called Atmospheric Phase Screens (APS) from InSAR data. The method exploits both Permanent Scatterers (PS) and Distributed Scatterers (DS) in an optimal way leading to wide and dense APS maps. When operating at large scales, it is also mandatory to calibrate the data using a network of Global Navigation Satellite System (GNSS) receivers. The calibration can remove the so-called Orbital Phase Screens (OPS) that otherwise severely corrupt the atmospheric measurements. Results using real data acquired by the European Sentinel-1 mission show the potential of InSAR meteorology to provide valuable data to improve weather forecasts.
Chapter
Full-text available
A Networked Music Performance (NMP) is defined as what happens when geographically displaced musicians interact together while connected via network. The first NMP experiments begun in the 1970s, however, only recently the development of network communication technologies has created the necessary infrastructure needed to successfully create an NMP. Moreover, the widespread adoption of network-based interactions during the COVID-19 pandemic has generated a renewed interest towards distant music-based interaction. In this chapter we present the Intelligent networked Music PERforMANce experiENCEs (IMPERMANENCE) as a comprehensive NMP framework that aims at creating a compelling performance experience for the musicians. In order to do this, we first develop the neTworkEd Music PErfoRmANCe rEsearch (TEMPERANCE) framework in order to understand which are the main needs of the participants in a NMP. Informed by these results we then develop IMPERMANENCE accordingly.
Chapter
Full-text available
Microplastic pollution is a ubiquitous environmental threat, in particular to the oceans. In the marine environment, microplastics are not just passively transported by sea currents, but often get contaminated with organic pollutants during the journey. The uptake of chemicals onto microplastics can worsen the adverse effects of microplastics to marine organisms; however, investigation on this urgent phenomenon is hampered by the impossibility of monitoring and tracking such small plastic fragments during their motion at sea. This work aims at addressing the need for an effective modelling of the advection–diffusion processes jointly involving microplastics and the pollutants they carry to further our understanding of their spatiotemporal patterns and ecological impacts, focusing on the Mediterranean Sea. Here we present the conceptual design, methodological settings, and modelling results of a novel, data-informed 2D Lagrangian–Eulerian modelling framework that simultaneously describes (i) the Lagrangian dispersal of microplastic on the sea surface, (ii) the Eulerian advection–diffusion of selected organic contaminants, and (iii) the gradient-driven chemical exchanges between microplastic particles and chemical pollutants in the marine environment in a simple, yet comprehensive way. Crucial to the realism of our model is exploiting the wide variety and abundance of data linked with drivers of Mediterranean marine pollution by microplastics and chemicals, ranging from national censuses to satellite data of surface water runoff and GPS ship tracking, other than the use of oceanographic reanalyses to inform microplastics’ motion at sea. The results of our method applied to a multi-year simulation contribute to a first basin-wide assessment of the role of microplastics as a vehicle of other pollutants of concern in the marine environment. The framework proposed here is intended as a flexible tool to help advance knowledge towards a comprehensive description of the multifaceted threat of marine plastic pollution and an informed support to targeted mitigation policies.
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.
Article
Full-text available
The principle of mobile mapping is to combine some surveying techniques with results coming from a navigation apparatus. In this context there is a tendency to try to use cheaper and simpler devices, particularly for GNSS receivers. At the same time there is an increasing diffusion of reference networks of permanent GNSS stations. In this paper we investigate to what extent the differential positioning can alleviate the degradation of accuracy due to the use of medium and low level devices. Some experiments of RTK and kinematic positioning elaborated with and without corrections coming from permanent GNSS stations are described. It turns out that differential corrections significantly enhance the information acquired by medium level GNSS devices, although in some cases also stand-alone low level apparatus can have performances of unexpected good accuracy.
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.
Chapter
With high quality dual-frequency receivers, it is possible to instantaneously resolve the whole-cycle carrier phase ambiguities in a kinematic scenario. The various proposals for resolving ambiguities in a moving environment are reviewed and compared with the least squares search technique. The least squares technique is derived, and test results are described. As more capable and less expensive receivers become available and as the satellite constellation nears completion, the conditions for instantaneous ambiguity resolution can commonly be met; and the technique should find frequent use in applications requiring high accuracy in a moving environment.
Article
Satellite Navigation has become a keystone for the development of Europe and its citizens. It is then essential to provide adequate educational programmes so to ensure a prepared workforce for the GNSS sector in Europe. In this context, ESA has launched a complete Satellite Navigation Educational program, called EDUNAV, aiming at providing up-to-date GNSS based educational material and educational tools. The GNSS-Lab (gLAB) Educational Software Tool is part of this ESA EDUNAV initiative. gLAB, developed under ESA Contract by the research group of Astronomy and Geomatics (gAGE) from the Universitat Politecnica de Catalunya (UPC), is an interactive educational multipurpose package to process and analyse GNSS data. gLAB performs precise modeling of GNSS observables (pseudorange and carrier phase) at the centimetre level, allowing both standalone GPS positioning and PPP. Every single error contributor may be assessed independently, which, in turn, provides a major educational benefit. gLAB is adapted to a variety of standard formats like RINEX-3.00, SP3, ANTEX and SINEX files, among others. Moreover, functionality is also included for GPS, Galileo and GLONASS, allowing performing some data analysis with real multi-constellation data. The gLAB software tool is quite flexible, able to run under Linux and Windows operating systems and is provided free of charge by ESA to universities and GNSS professionals.