Snapshot Positioning Without Initial Information

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

GPS Solut (2016) 20:605–616

DOI 10.1007/s10291-016-0530-4

REVIEW ARTICLE

Snapshot positioning without initial information


Ignacio Fernández-Hernández1,2 • Kai Borre3,4

Received: 25 July 2015 / Accepted: 11 March 2016 / Published online: 28 March 2016
 Springer-Verlag Berlin Heidelberg 2016

Abstract Snapshot techniques are based on computing a Motivation


position using only a set of digital signal samples captured
over some milliseconds. Existing techniques require, in Thanks mainly to GPS, satellite navigation technologies
addition to the satellite ephemerides, a rough knowledge have become ubiquitous. Miniaturized trackers attached to
of the position and/or time at which the snapshot was objects, animals, or human beings that are switched on
captured. We propose a new method to instantaneously sporadically at a given event or request may be widespread
compute a snapshot position and time solution without in the near future. For these applications, snapshot tech-
any reference time or position. The method is based on niques are more suitable than standard receiver architec-
the addition of a fifth unknown to the instantaneous tures. One could think, for example, of a low-power tracker
Doppler equations, which accounts for a time difference attached to a migratory bird capturing several short signal
between the reference time and the measurement time. snapshots during a period of several months. The tracker
Using this new system of equations at different initial- may wake up for example every few hours triggered by a
ization times separated by some hours, time uncertainties timer. This timer is not a true real-time clock able to time-tag
of days or weeks can be solved. The algorithm has been the snapshot. The tracker may also be switched on based on
implemented in a snapshot GPS software receiver in some other signal, such as temperature, pressure, vibration,
MATLAB, proving that position accuracies of a few moisture, speed, or acceleration. After several months, the
meters with time uncertainties of several weeks can be tracker would download the snapshots to a server to recon-
obtained in a few seconds. struct the seasonal movements. In this example, the server
would have all the information about the satellite positions
Keywords Snapshot positioning  GNSS  Coarse-time during the tracking period but would not have much infor-
navigation  Doppler positioning  Synchronization mation about when and where the snapshots were captured.
Snapshot positioning techniques are based on saving
digital samples from the ADC (analog-to-digital converter)
of a GNSS receiver front end and post-processing them to
calculate a position and time solution. These techniques
still require an initial time reference accurate to the level of
& Ignacio Fernández-Hernández a minute. We present here an algorithm for snapshot
Ignacio.fernandez-hernandez@ec.europa.eu positioning techniques that allows computing a position
Kai Borre and time solution without any initial position or timing
borre@ssau.ru information. It is based on a closed-form solution allowing
1
Aalborg University, Aalborg, Denmark
calculating a position and time with an initial time error of
2
more than an hour. Apart from its potential practical
BREY 7/156; EC DG GROW, 1049 Brussels, Belgium
application, a main motivation for this work is to help solve
3
Samara State Aerospace University, Samara, Russia the theoretical problem of how to calculate a radionavi-
4
Vaarstvej 314, 9260 Gistrup, Denmark gation position with the minimum amount of information.

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


606 GPS Solut (2016) 20:605–616

Background

A receiver has no synchronization with a signal just


acquired, beyond the modulus of the spreading code length,
e.g., 1 ms for GPS L1 C/A. It has to demodulate the signal
data until a certain pattern is found, as is the case of TLM
in the GPS signal. Only then, the receiver can get syn-
chronized to the data bits and start interpreting the data.
This includes decoding the satellite time reference called in
GPS TOW (time of week) and WN (week number) first,
and then the satellite ephemeris, which allow it to compute
the satellite position and clock offset. This whole process
may take between 30 s and 1 min for standard receivers,
until a first position fix is obtained. The standard receiver
acquisition process is described in detail in van Diggelen Fig. 1 Representation of the satellite-to-receiver pseudorange, as the
(2009) and Borre et al. (2007). Classic receiver architec- true range plus the receiver clock offset, and as the sum of integer
tures involving acquisition and tracking stages are descri- GPS 1-millisecond codes plus the code phase measurement
bed by A. J. Van Dierendonck in Chapter 8 of Parkinson
and Spilker (1996) and by Chapters 11 and 12 of Misra and fractional measurement of the full pseudorange, as illus-
Enge (2010). trated in a simplified way in Fig. 1. In order to form the full
Snapshot techniques provide some advantages over pseudorange, the snapshot receiver needs to know the
standard acquisition and tracking positioning: they can number of full PRN codes between the satellite and the
provide an instantaneous position fix, they require much receiver to solve the code phase integer ambiguity.
less power consumption, and the receiving device can be In order to solve the code phase ambiguity, the receiver
cheaper than an ordinary GNSS receiver. One of the ear- needs to assign an integer number of codes Ni to the
liest references found on snapshot techniques is Brown fractional code phase of each satellite i. Due to the
(1992). This reference presents a tracking sensor which receiver clock bias, which commonly affects all code
periodically stores a snapshot of GPS signals, compresses phase measurements, even if the receiver and satellite
it, and transmits it to a central workstation. As opposed to positions at the code phase measurement time are roughly
current snapshot techniques, it requires continuous snap- known, the receiver cannot know for sure what is the Ni of
shots every 0.5–5 s to obtain a few-meter accuracy, while each satellite until it verifies the residuals of a solution. A
modern techniques can obtain such an accuracy from a method to resolve the code phase integer ambiguity to
one-shot position solution through coarse-time navigation compute a full range measurement from an instantaneous
algorithms as described below. A one-shot high-sensitivity fractional range measurement without integer rollovers is
receiver is presented and characterized in Seco-Granados, proposed in Chapter 5 of van Diggelen (2009). In order to
et al. (2012). Dötterböck and Eissfeller (2009) describe a solve the code phase ambiguity, an initial position and
GPS/Galileo snapshot receiver and the signal detection time accurate to around 100 km and a minute are
theory behind it, showing some simulated performance, as necessary.
also does Badia-Solé and Iacobescu-Ioan (2010). Since
snapshot positioning is a major building block of assisted Coarse-time pseudorange navigation
GNSS, van Diggelen (2009) describes it at the levels of
signal processing and PVT (position, velocity, and timing). Once the code phase ambiguities are solved and the
pseudoranges are formed, the measurement time may be
Code phase ambiguity resolution uncertain by some seconds, meaning that the satellite
transmission times and positions are uncertain too. This
A classic receiver can compute the pseudorange measure- problem can be solved by the coarse-time navigation
ment by subtracting the transmission time, which is known algorithm (Peterson et al. 1995) explained in detail in van
from the demodulated signal data, from the reception time. Diggelen (2009). This algorithm allows calculating a fix
However, snapshot techniques are intended for applications even if time is only known with an accuracy of a minute by
and situations where the receiver cannot wait until the adding a fifth unknown named ‘‘coarse time’’ to the navi-
signal is synchronized. What the receiver is able to extract gation equations. The coarse-time navigation algorithm is
from a snapshot is a code phase measurement, i.e., a based on the solution of the following equation:

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


GPS Solut (2016) 20:605–616 607

2 3  
dx q_ i ¼  Di  fd k þ e ð3Þ
6 7
 6 dy 7 where q_ i is the range rate of satellite i, Di is the Doppler
dq ¼ HdX þ e ¼ ei 1 i
q_ 6 6 dz 7þe ð1Þ
7
4 db 5 measurement of the same satellite, fd is the receiver clock
dtc frequency drift, k is the wavelength of the carrier fre-
quency, and e represents the errors in the measurement
where dq is the update of the a priori state, i.e., a column (e.g., frequency misalignment and receiver noise).
matrix with the difference between the predicted pseudor- The instantaneous Doppler technique requires the
anges ρ̂ and the measured pseudoranges q (δρ = ρ ρ̂), knowledge of the initial time at which the Doppler mea-
H is the observation matrix that relates the measurements surements are estimated, accurate to the minute level.
with the state vector dX, ei is the estimated receiver-to- When the time is unknown, van Diggelen (2009) also
satellite-i unit vector with the opposite sign, q_ i is the pseu- presents a method to solve the time uncertainty by com-
dorange rate of satellite i, and [dx dy dz db dtc]T is the update puting a solution at least every minute and determining the
of the state vector dX, or the vector of unknowns to solve, correct one by estimating the solution residuals. This
which includes the receiver position (x, y, z), the receiver bias method is further developed by Chen et al. (2014),
b, and the coarse-time difference tc, i.e., the actual mea- requiring about 30-s processing in a standard processor to
surement time minus the estimated measurement time. The solve a 12-h time error. As proven below, the algorithm
measurement and linearization errors are represented by e. proposed in this article can solve a one-day ambiguity in
Notice that q_ i is often called range rate, avoiding the impli- less than half a second.
cation that it contains not only the range rate but also the
satellite and receiver clock rates. The system of equations in
(1) resembles that of standard PVT estimation as described General description of the proposed algorithm
by Misra and Enge (2010), Chapter 6, with the exception that
it adds an unknown tc to the state vector to account for the The proposed new algorithm is based on the combination
coarse synchronization time error. of the instantaneous Doppler positioning algorithm and the
coarse-time navigation algorithm, which leads to what we
will call the coarse-time Doppler navigation algorithm. It
Instantaneous Doppler positioning
introduces an additional unknown to the state vector of the
instantaneous Doppler equations and relates it to the range
As mentioned before, in order to solve the code phase
rate measurements through the acceleration of the satellites
ambiguity, an initial position accurate to about 100 km is
as seen by the receiver.
needed. Receivers connected to a communication network
Figure 2 depicts the case of one satellite and a receiver
may easily obtain such an initial position. In other cases, van
located at P, having an initial time reference t0, off from
Diggelen (2009) describes in Chapter 8 the instantaneous
the measurement time t1 by more than one hour. It also
Doppler algorithm, in which Doppler measurements are used
shows the estimated range rate q_ ðt0Þ at time t0 and the
to compute an initial position, accurate to some kilometers,
measured range rate q_ ðt1Þ at time t1 between the satellite
sufficient to solve the code phase integer ambiguities and
and the receiver. It also depicts the estimated unit vector e
calculate the pseudoranges. For a static or slow-moving
receiver, the instantaneous Doppler equations are:
2 3
dx
 6 dy 7
dD ¼ e_i 1 6 7
4 dz 5 þ e ð2Þ
dfd
where dD is the update of the a priori state, i.e., a column
vector with the difference between the predicted Doppler
measurements D ^ and the measured ones D ðdD ¼ D  DÞ, ^
i T
e_ is the derivative in time of ei , and [dx dy dz dfd] is the
update of the state vector, which estimates the receiver
position and the frequency drift fd. Doppler and range rate
have inverse signs, i.e., when the satellite is approaching,
and thus the range is diminishing, the Doppler measure-
ment is positive, and thus the frequency is higher: Fig. 2 Satellite range rate variation over time

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


608 GPS Solut (2016) 20:605–616

pointing from the receiver to the estimated satellite position


at t0.
Satellite-to-receiver range rate q_ ðt0Þ at an instant t0 and
q_ ðt1Þ at an instant t1 differs by a magnitude that, in the
proposed algorithm, can be approximated by the time
increment between t1 and t0 multiplied by the satellite-to-
receiver relative acceleration at t0, or differentiation in time
of the range rate. We refer to this term as q.€ This acceleration
relates the estimated range rate at t0 with the actual or
measured range rate at t1 according to the equation
q_ ðt1Þ ¼ q_ ðt0Þ þ ðt1  t0Þ  q€ ð4Þ
The equation assumes that q€ is constant between t1 and t0,
which is a sufficient assumption for the convergence to a Fig. 4 Satellite–receiver accelerations of visible GPS satellites
solution if t1 and t0 differ by a few hours, depending on the (PRN). March 2, 2010, 8:00–15:00 UTC, Danish GPS Centre,
case, as shown more in detail later. The limitations of this Aalborg, Denmark
assumption are depicted in Figs. 3 and 4. Figure 3 shows
the range rates of GPS satellites above 10 of elevation as
seen by a receiver located at Aalborg, Denmark, while X ¼ ðx; y; z; fd; tcÞ ð5Þ
Fig. 4 shows the satellite–receiver accelerations. When a where x, y, and z are the receiver coordinates, fd is the
satellite is not visible, the range rates and accelerations receiver clock frequency drift, and tc is the time difference
appear as zero in both figures. between the initial time t0 and the actual time t1. The
There is a linearization error because accelerations are system of equations to solve is:
not constant. However, this error does not prevent the 2 3
convergence of the algorithm. The following sections show dx
6 7
that, with GPS satellites, the closed-form solution here  i 6 dy 7
dD ¼ e_ 1 q€ 6 dz 7
i 6
7þe ð6Þ
proposed always converged to the right solution for an 4 dfd 5
initial error of at least 1.5 h.
dtc
Coarse-time Doppler navigation equations where dD corresponds to the vector of the differences
for a static receiver between the Doppler measurements (m/s) and the Doppler
estimation from the satellite data and a previous position
For simplicity, we start with the description of the algo- and time, which for the first iteration is set to P0 at t0. The
rithm for a static or slow-moving receiver, up to some symbol q€i denotes the satellite-i-to-receiver relative
meters per second. In this case, the proposed state vector to acceleration, and e is the error associated with the mea-
be solved is surements and the linearization process. This system of
equations can be solved by a standard iterative method
where the dD and dx; dy; dz; dfd; dtc provide an update to
the next iteration.
If the receiver is dynamic but has sensors that provide
measurements of the receiver velocity, these measurements
can be subtracted from the Doppler measurements and we
can apply the equations for a static receiver. Velocity could
be determined from an inertial unit, odometer, or any other
source or signal. By having a static receiver or by not
estimating the receiver velocity as part of the unknowns,
the number of required satellites can be reduced to at least
five or six if the measurement residuals are verified. If the
frequency drift is known or very low, the number of
required satellites can be reduced to at least four or five if
residuals are verified. The same applies if the position
Fig. 3 Range rates of visible GPS satellites (PRN). March 2, 2010, height is estimated from another source, as, e.g., the geoid,
8:00–15:00 UTC, Danish GPS Centre, Aalborg, Denmark or a more precise source.

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


GPS Solut (2016) 20:605–616 609

Coarse-time Doppler navigation equations q_


_ ~
*
for a dynamic receiver e¼
q
 h i
_ 1
q_ q  ~
*
Before providing the equations for a dynamic receiver, we e¼ 2
~ qq_ ð9Þ
q
will mathematically derive the system of equations pre-  
sented in (6) from the coarse-time pseudorange navigation 1 ~ 
¼ V s;rx  ~_
eq
Eq. (1), as follows: q
_
dq_ ¼ HdX þ HdX_ þ e_ where V~s;rx is the vector of satellite velocity relative to the
2 3 2 3 receiver. An equivalent expression is found in (8.6) of van
dx dx_
6 7 6 7 Diggelen (2009).
6 dy 7 6 dy_ 7 The method therefore proposes the first closed-form
 6 7  6 7
dD ¼ e_i 0 q€i 6 7
6 dz 7 þ e
i
1 q_ i 6 7
6 dz_ 7 þ e_ solution allowing the calculation of a position and time
6 7 6 _7
4 db 5 4 db 5 with an initial time error of hours. For comparison pur-
dtc dt_c poses, Table 1 identifies and summarizes the closed-form
2 3 solutions that have been developed over the past two
2 3 dvx
dx 6 7 decades on GNSS positioning with partial or no initial
6 dvy 7
 6
6 dy
7 
7 6 7 information.
¼ e_i q€i 6 7 þ ei 1 q_ i 6 7
6 dvz 7 þ e_
4 dz 5 6 7
4 dfd 5
dtc
0 General algorithm implementation including
ð7Þ long-time uncertainty periods

where the dot expresses the differentiation in time and The proposed algorithm can solve a timing uncertainty of
dvx; dvy; and dvz express the receiver velocity. When the more than 1 h by just solving the system of equations in (6)
receiver is static or moving slowly, the relative velocity is or (8). However, when the timing uncertainty is higher, the
zero, or close to zero, and therefore the system of equations algorithm will not converge to the right solution, mainly
becomes that in (6). When the receiver velocity needs to be due to the linearization errors of nonlinear equations. In
taken into account, the system of equations is as follows: order to eliminate the need for convergence over long
2 3 periods, we calculate a solution for several initial times and
dx
6 dy 7 choose the solutions with residuals below a given thresh-
6 7 old. A way to implement this method is to split the time
6 dz 7
6 7
 i 6 dvx 7 uncertainty interval into subintervals of a given duration,
i
dD ¼ e_ e 1 q€ 6 i 6 7 þ e_ ð8Þ
7 define an initial time t0 associated with each subinterval
6 dvy 7
6 dvz 7 T01, T02, T03, T04, and T05 as per Fig. 5, until the full-time
6 7
4 dfd 5 uncertainty interval is covered and, for each initial time,
dtc run the coarse-time Doppler navigation algorithm, which
will provide, for each interval, a different time solution
where the state vector in (5) is extended to include the T11, T12, T13, T14, and T15, as per Fig. 5. If the method
receiver velocity vx; vy; vz: The derivative e_i of the recei- converges to a plausible solution for a certain interval, the
ver-to-satellite unit vector for a given satellite at position ~
S obtained measurement residuals, in case of an overdeter-
! mined solution, will be below a certain threshold (THR1),
and a receiver at position Rx , with a range q between the
two, can be calculated as follows. The notation has been as T12, T13, and T15 in the figure. We will call this method
slightly modified here to distinguish between magnitudes q ‘‘cold snapshot.’’ The approach followed is similar to that
and vectors ~ q: proposed by Chen et al. (2014), with the difference that,

Table 1 Closed-form solutions to GNSS positioning with partial or no initial information


Initial time error Correction of integer Initial position Initial time error
of minutes millisecond rollover unknown of hours

Peterson et al. (1995) X


van Diggelen (2000, 2009) X X X
Fernández-Hernández (2015) X X X X

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


610 GPS Solut (2016) 20:605–616

Fig. 5 Residual computation to determine the right ‘‘cold snapshot’’


solution. Residuals check for the coarse-time Doppler solution (up)
and for the coarse-time pseudorange solution (down)

thanks to the additional unknown added to the state vector,


there is one iteration every 3 h instead of every minute,
which significantly reduces the processing time without
any disadvantage to the knowledge of the authors. If nee-
ded, we can use the low-residual coarse-time Doppler
navigation solutions to initialize a coarse-time pseudorange
solution, which will converge to a correct and low-residual
pseudorange solution below a certain residual threshold
(THR2), if the initial position and time were roughly cor-
rect, as illustrated in Fig. 5.
The logic flow diagram for the extraction of coarse-time
Doppler solutions is depicted in Fig. 6. As an outcome of
the acquisition stage, measurements for each satellite of the
satellite-to-receiver Doppler and range are obtained. Range
rate measurements can be obtained from frequency Doppler
measurements as well as code phase difference measure-
Fig. 6 Logic flow diagram of the ‘‘cold snapshot’’ algorithm
ments or carrier phase difference measurements. As already
mentioned, the algorithm requires a reference time t0 and
position P0. The reference position P0 can be set to the unless the signal carrier phases are stably tracked for some
center of the earth, or the center of the polygon formed by time. However, it can be used to calculate a more accurate
the satellite ground projection at t0 for the observed satel- instantaneous position and time based on range measure-
lites. For a given position and time pair (P0, t0), the pro- ments. If a position with a higher accuracy needs to be
posed method obtains and stores the receiver position, obtained, the coarse-time pseudorange navigation method
velocity, timing, and frequency offset in the following step can be initialized with the coarse-time Doppler solution
by resolving (6) or (8), depending on the receiver dynamics. allowing an accuracy at the meter level, depending on the
The method then checks the plausibility of each solution accuracy of the code phase measurements, as shown in
(P1, t1) by comparing the residuals vector to a threshold Fig. 7.
THR1 in Fig. 5. If the solution is plausible, it is stored for Several Doppler solutions can be obtained and stored
later use and reported as an output of the method. from a broad time uncertainty interval, as, e.g., those
associated with T12, T13, and T15 in Fig. 5. In case a wrong
‘‘Cold snapshot’’ with coarse-time pseudorange Doppler solution such as T15 enters the coarse-time pseu-
navigation dorange navigation block, the pseudorange residuals check
against THR2 in Fig. 5 will declare it as incorrect. The
The ‘‘cold snapshot’’ method when based only on Doppler residual threshold in this case will be much lower than in
measurements will not yield an accuracy at the meter level the coarse-time Doppler case, commensurate with the

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


GPS Solut (2016) 20:605–616 611

experimental work of this research following the GPS


interface specification (IS-GPS-200 2014).

Effect of GNSS orbital repeatability on Doppler


navigation

If the time uncertainty interval is too broad, there will be


periods of non-convergence, where the initial time (T01,
T04), as per Fig. 5, does not allow the method to converge to
a low-residual solution (T11, T14), and initial times (T02,
T03, T05) where the method converges to a low-residual
solution (T12, T13, T15). However, there may be low-resid-
ual Doppler solutions at wrong times (T15). This is due to
the orbital repeatability of navigation satellites. Due to this
effect, a low-residual Doppler solution can be obtained with
a fixed periodicity. Given the 12-sidereal-hour orbital
repeatability of GPS, this will always occur every 12 side-
real hours for GPS-only measurements: A low-residual
solution is found at a position with approximately the same
latitude but opposite longitude 12 sidereal hours later. The
satellites will have completed their orbits and will be at the
same positions with respect to an inertial reference frame,
but the earth will have turned 180. A low-residual solution
at approximately the same latitude and longitude will be
found 24 sidereal hours later, when the earth will have
performed a full 360 turn. This 12-h ambiguity may pass
the coarse-time Doppler residual threshold and can only be
discarded at the later coarse-time pseudorange algorithm
step. The application of ephemerides and clock corrections
at incorrect times by several hours or days will lead to
positioning errors that will be reflected into a solution with
Fig. 7 Logic flow diagram of the ‘‘cold snapshot’’ algorithm higher residuals, as illustrated in Fig. 5 and later in Fig. 10.
combined with coarse-time pseudorange navigation
Interestingly, thanks to the orbital imperfections and mainly
due to clock drifts, the algorithm is able to work with any
accuracy of the range-based solution. In the implementa- time uncertainties. This would not have been possible if the
tion presented, the PVT calculation has been performed by satellite orbits were perfect and the GPS atomic clocks had
solving the system in (1) through least-squares estimation. no drift because, for GPS only, the situation would repeat
Once reconstructed, the pseudoranges can be approximated identically every orbit. Another way to solve this problem is
as: to use measurements from at least two satellites, each from a
q¼rþbþIþT þe ð10Þ different satellite constellation such as GPS, GLONASS,
Galileo or Beidou, and with a different orbital period, to
where q is the pseudorange, r is the actual range, b is the avoid the periodic repeatability of range rates from satellites
receiver clock bias, I is the ionospheric delay, T is the from a single constellation. In this case, the repeatability
tropospheric delay, and e is the error due to other factors period will correspond to the lowest common multiple of the
such as receiver noise, sampling and quantization, effects orbital periods of the satellites used, which will be of several
from the receiver clock drift, and multipath (Misra and days.
Enge 2010). In the results later presented, the tropospheric
error has been estimated following Goad and Goodman
(1974), which describes the tropospheric correction func- Experimental results
tion implemented in Borre et al. (2007). For the iono-
spheric correction, the Klobuchar (1987) model broadcast We present some experimental results of the proposed
by GPS has been used. A Klobuchar error correction model algorithm. The results are based on real GPS snapshot data
has been coded in the MATLAB snapshot receiver for the captures. A MATLAB-based snapshot receiver for GPS

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


612 GPS Solut (2016) 20:605–616

Table 2 Summary of data capture properties and results


ID Sampling Intermediate Location Date and Number and Avg. execution RMS-2D,
frequency frequency time (UTC) duration of time. One-day RMS-3D
(MHz) (MHz) snapshots (ms) time error (s) (m)

1 16.368 4.129945 Danish GPS Centre, March 2, 2010 13:38 80, 10 0.46 5.6, 11.3
Aalborg, Denmark
2 38.192 9.548 University of Boulder, May 7, 2005, 19:10 100, 10 0.46 6.0, 8.2
Colorado, US
3 16.368 4.129945 CTAE, Barcelona, Spain March 25, 2010 15:14 80, 10 0.44 12.3, 35.2
4 16.368 4.129945 Gallecs, Barcelona, Spain June 17, 2010 12:40 80, 10 0.32 6.8, 34,3
5 16.368 4.092 Universidad Autónoma February 12, 2014 15:15 40, 10 0.41 6.4, 11.8
de Barcelona, Spain

L1 C/A has been developed for testing the concept. It is • Initial Time: February 2, 2010, 02:00:00 UTC
partly based on Borre et al. (2007) and Badia-Solé and (28.43 days error)
Iacobescu-Ioan (2010). Five data captures have been • Coarse-Time Doppler Interval: 180 min
processed at different times and locations, as reported in • Elevation Mask: 5
Table 2. All data captures included GPS L1 C/A signals. • Integration Time for Each Solution: 10 ms
The table presents the sampling and intermediate fre- • Coherent Integration Time: 1 ms
quencies, the location and time, the number of snapshots • Non-Coherent Integrations: 10
calculated, and its duration. As results, the table presents • Doppler Solution—Residuals Vector Module Thresh-
the average execution time to solve a one-day time error, old (THR1): 15 m/s.
and the three-dimensional and two-dimensional RMS • Doppler Solution—Maximum Height: 20,000 m (above
errors of the coarse-time range solutions initialized by the WGS84 geoid)
coarse-time Doppler solutions. • Code Solution—Residuals Vector Module Threshold
The average execution time shows that a one-day time (THR2): 100 m
error was solved in less than half a second, using a • Acquisition Method: code phase parallel acquisition
MATLAB non-optimized code in a standard Intel i7- • Acquisition Frequency Bin Step: 500 Hz
3630QM CPU @ 2.4 GHz processor in Windows 8 at 964
The satellite ephemerides for the time uncertainty period
bits. This means that, even before any translation to other
are obtained from RINEX Navigation files (Gurtner 2007).
languages such as C/C?? or any code optimization, the
Signal acquisition is performed coherently for 1 ms with
method can cover periods of days almost instantaneously.
10 non-coherent integrations, for a total of 10 ms. The
Software and hardware optimizations can decrease pro-
signal acquisition method used is based on the non-co-
cessing time to a quick resolution of time uncertainties of
herent code phase parallel acquisition as described in Borre
several weeks, months, or even years, allowing to virtually
et al. (2007). The Doppler and code phase measurements
compute a PVT without any position and time reference.
have been generated in open-loop mode, i.e., without
The final column shows the accuracy of the code phase-
tracking loops. One of the limitations of open-loop posi-
based solution, which is in the order of that of standard
tioning is that, without any additional processing, the code
GPS receivers. All solutions reported as correct were
phase accuracy is limited by the sampling frequency. If
indeed correct, demonstrating the reliability of the method.
parallel code acquisition is performed, the acquisition peak
In the rest of the section, we will report in detail results
will tell the sample with the highest peak, but the actual
based on data capture ID1 (Badia-Solé and Iacobescu-Ioan
code delay will usually be between samples. In order to
2010), which is representative of the ensemble. The sam-
solve this, López-Risueño and Seco-Granados (2004) pro-
ples have been captured with a SiGe SE4110L GPS L1
pose the interpolation between the samples around the
integrated circuit (SiGe 2006). Here are the configuration
peak. In the current implementation, a quadratic interpo-
parameters of the dataset for a one-month time error:
lation has been used. As regards to frequency accuracy,
• True Position: Lat = 57.01473071, Long = 9.9859041, once the code phase measurement has been obtained, the
h = 59.998 m (WGS84) signal can be de-spread to leave only the frequency carrier,
• True Time: March 2, 2010, 12:14:04 UTC and transformed through DFT (discrete Fourier transform)
• Receiver Conditions: static, open-sky into a function of frequency, in which the maximum pro-
• Initial Position (X,Y,Z): (0,0,0) vides the Doppler measurement, with a higher accuracy

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


GPS Solut (2016) 20:605–616 613

Fig. 8 Instantaneous Doppler positioning, ID1 (Danish GPS Center).


Instantaneous Doppler solutions are calculated once every minute.
Top-left Doppler measurement residuals vector module. Top-right Fig. 9 Time error of 3-h coarse-time Doppler solutions over 10 days
Position error. Bottom left estimated frequency drift. Bottom right
estimated position height

than that provided by the frequency bin resolution. Notice


that the main goal of this research is not to maximize the
snapshot accuracy but to provide sufficiently accurate
measurements that allow validating the concept. We
compute one coarse-time Doppler solution every 3 h. The
proposed coarse-time Doppler equations in (6) have been
solved using a Taylor first-order linearization, as in the
standard literature, and a solution has been estimated
through least squares (Misra and Enge 2010; Borre and
Strang 2012).
In order to illustrate the behavior of Doppler-based
solutions with real data, Fig. 8 presents the results of the
standard instantaneous Doppler positioning as per (2) over
a period of 20 h around the correct measurement time. Fig. 10 Residual vector of plausible Doppler solutions over last
10 days
Figure 8 top-left plot presents the module of the Doppler
measurement residuals vector. It shows that the residuals
are very low at the correct time (Time = 0). It also shows
some relatively low residuals at ±360 min, i.e., every 6 h, repeatable way. This can be expected as the Doppler
or half the GPS 12-h orbital period, where the residual solution residuals are repeatable every 12 h. Figure 10
vector module is in the order of 100 m/s. The top-right plot shows, out of the 37 Doppler solutions that had low
shows the actual position error, which is very high in all residuals, the residuals of the coarse-time pseudorange
cases except at the right timing. The bottom-left plot shows solution. We can see that there is only one solution (ID 36)
the estimated clock frequency drift. The bottom-right plot with low enough residuals, the closest one having a
shows the height of the estimated position, which is close residual vector module of around 2000 m, which seems
to the truth for the correct time and ±6 h. high enough to be discarded.
In order to check the resolution of high time errors, the The following figures show the sensitivity of the coarse-
method was run over an initial time uncertainty of time Doppler solutions to errors in the Doppler measure-
1 month, for a total of 241 times. Out of them, only ments. Figures 11 and 12 show the time error and the
one solution had low enough code phase residuals and was position error, respectively, of the coarse-time Doppler
considered the correct solution. Figures 9 and 10 show the solution in relation to the RMS error of the Doppler mea-
results for the last 10 days. surements for the 80 snapshots of Scenario ID1.
Figure 9 shows the time error of each coarse-time As expected, the figures show a correlation between
Doppler solution. We can observe that the time error has a the Doppler measurement quality and the position and
linear component and a periodic component, as every 12 h time solution error. The method provides very good
there are four solutions converging to a time error in a results with good-quality measurements, where the

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


614 GPS Solut (2016) 20:605–616

50 Hz of Doppler errors where the solution was less


accurate but still generally allowing to solve the code
phase ambiguity and calculate an accurate coarse-time
pseudorange solution. However, there are six out of the
80 snapshots in this test where the measurement errors
lead to position-time solutions with errors beyond 100 s
that were discarded by the method at the pseudorange
stage. Notice that the accuracy of the Doppler measure-
ments is limited by the acquisition and low integration
times used (1-ms coherent, 10 non-coherent integrations).
Optimizing these parameters will lead to a higher avail-
ability. Notice that, in spite of the Doppler measurement
errors, the method yielded no incorrect solution consid-
Fig. 11 Time error of the coarse-time Doppler solution versus ered as correct, therefore proving full integrity and reli-
Doppler measurement RMS error for 80 snapshots, ID1 ability not only with the ID1 80 snapshots but with the
total of 380 snapshots analyzed.
Finally, Fig. 13 shows the 3D and 2D position errors for
the 80 snapshots of Scenario ID 1, except those six for
which the Doppler measurement quality did not allow the
generation of a code-phase-based position. The RMS-2D
error (root mean squared, two-dimensional horizontal) is
around 5.6 m. The RMS-3D (root mean squared, three
dimensional) error of is in the order of 11.3 m. The higher
vertical than horizontal error is in accordance with
expectations due to ionospheric effects and geometry.
Figure 14 shows the obtained horizontal positions and the
actual position in a map. The performance is not far from
that of standard GPS receivers.
As the main purpose of the experimentation was to
demonstrate the ‘‘cold snapshot’’ method based on the
Fig. 12 Position error of the coarse-time Doppler solution versus coarse-time Doppler navigation equations, a further char-
Doppler measurement RMS error for 80 snapshots, ID1
acterization of the accuracy results is beyond the scope of
this article. The accuracy obtained is considered in line
Doppler RMS error is below 15 Hz (i.e., around 3 m/s), with the expectations, taking into account that open-loop
the position error in the order of 10–20 km, and the time acquisition has been implemented, without any tracking
error below 20 s. There is another region between 15 and loop fine-tuning or multipath mitigation strategy.

Fig. 13 Position errors of ID1


10-ms snapshots. ‘‘Cold
snapshot’’ results—Danish GPS
Centre, Aalborg, 2010

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


GPS Solut (2016) 20:605–616 615

Acknowledgments The authors would like to thank Oriol Badia


Sole for granting access to the snapshot data captures from his
Master’s Thesis at Aalborg University, Prof. Gonzalo Seco-Granados,
Prof. Torben Larsen, Prof. Dennis M. Akos, and the Journal anony-
mous reviewers for their comments. The work presented here is part
of the research performed for a Ph.D. degree at Aalborg University.
The information and views set out here are those of the authors and do
not necessarily reflect the official opinion of any institution.

References

Badia-Solé O, Iacobescu-Ioan T (2010) GPS snapshot techniques.


Aalborg University, Danish GPS Center
Borre K, Strang G (2012) Algorithms for global positioning.
Wellesley-Cambridge Press, Wellesley
Borre K, Akos DM, Bertelsen N, Rinder P, Jensen SH (2007) A
software-defined GPS and Galileo receiver: single-frequency
approach. Birkhäuser, Basel
Brown, AK (1992) The TIDGET—a low cost GPS sensor for tracking
applications. In: Proceedings of ION GPS 1992, Institute of
Navigation. Albuquerque, NM, pp 661–669
Fig. 14 Position errors of ID1. Horizontal ‘‘cold snapshot’’ results— Chen HW, Wang HS, Chiang YT, Chang FR (2014) A new coarse-
Danish GPS Centre, Aalborg, 2010 time GPS positioning algorithm using combined Doppler and
code-phase measurements. GPS Solut 18(4):541–551
Dötterböck D, Eissfeller B (2009). A GPS/Galileo software snap-shot
Conclusions and further work receiver for mobile phones. In: Proceedings of the IAIN 2009
world congress. Stockholm, Sweden
This article has presented a new algorithm to instanta- Fernández-Hernández I (2015) Snapshot and authentication tech-
niques for satellite navigation. Ph.D. Dissertation, Aalborg
neously calculate PVT over snapshots without any position
University, Faculty of Engineering and Science, Department of
and time reference. The algorithm is called coarse-time Electronic Systems
Doppler navigation and is based on the addition of a fifth Goad CC, Goodman L (1974). A modified tropospheric refraction
state to the instantaneous Doppler equations (van Diggelen correction model. American Geophysical Union Annual Fall
Meeting. San Francisco
2009), which accounts for the time difference, which can
Gurtner W (2007) RINEX: the receiver independent exchange format
be in the order more than 1 h. The proposed system of version 2.10. ftp://igscb.jpl.nasa.gov/igscb/data/format/rinex210.txt
equations can be obtained by time differentiation of the IS-GPS-200 (2014) GPS interface specification. The US Government
pseudorange coarse-time navigation equations. Time Klobuchar J (1987) Ionospheric time-delay algorithms for single-
frequency GPS users. IEEE Trans Aerosp Electron Syst 3:325–331
uncertainties up to days, weeks, or even months can be
López-Risueño G, Seco-Granados G (2004) Measurement and process-
solved through several iterations at different times and the ing of indoor GPS signals using a one-shot software receiver. 2nd
verification of the solution residuals. In principle, the ESA workshop on satellite Navigation User Equipment Technolo-
proposed method can work with a snapshot taken virtually gies(NAVITEC 2004). Noordwijk, The Netherlands
Misra P, Enge P (2010) Global positioning system: signals,
anywhere, at any time, provided that the measurements are
measurements and performance (revised second edition).
of good-enough quality. Ganga-Jamuna Press, Lincoln
The method has been integrated in a MATLAB GPS L1 Parkinson BW, Spilker JJ (1996) Global positioning system: theory &
C/A snapshot receiver. Using the proposed coarse-time applications, vol 1, 1st edn. American Institute of Aeronautics
and Aeronautics, Reston
Doppler equations to provide an initial reference to coarse-
Peterson B, Hartnett R, Ottman G (1995). GPS receiver structures for
time pseudorange equations, accuracies of few meters are the urban canyon. In: Proceedings of ION GPS 1995, Institute of
obtained in less than half a second with time uncertainties Navigation, Palm Springs, CA, pp 1323–1332
of 1 day. Time uncertainties up to 1 month have been Seco-Granados G, Lopez-Salcedo JA, Jiménez-Baños D, López-
Risueño G (2012) Signal processing challenges in indoor GNSS.
tested too.
IEEE Signal Process Mag 29(2):108–131
Further work on this topic can cover the performance SiGe SE4110L (2006) ‘‘SE4110L PointChargerTM GPS Receiver
analysis of the algorithm using multi-GNSS measurements, IC.’’ 73-DST-01. SiGe Semiconductor Inc
the performance analysis of dynamic receivers under harsh van Diggelen F (2000) Method and apparatus for time-free processing
of GPS signals. U.S. patent 6417801
reception conditions, and the fine-tuning of the measure-
van Diggelen F (2009) A-GPS: assisted GPS, GNSS, and SBAS.
ment generation process. Artech House, Norwood

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


616 GPS Solut (2016) 20:605–616

Ignacio Fernández-Hernández Kai Borre originally graduated


is an engineer from ICAI as a chartered surveyor. Kai
(Madrid); has an MBA from Borre obtained his Ph.D. in
LBS, London; and recently geodesy from Copenhagen
obtained a Ph.D. in Electronic University and a Doctor of
Systems from Aalborg Univer- Technology degree from Graz
sity for his research on snapshot University of Technology. He
algorithms and GNSS authenti- has been a full professor in
cation. He works at the Euro- geodesy at Aalborg University
pean Commission on the since 1976. Borre is a co-author
definition of Galileo services. of the widely used textbooks,
Linear Algebra, Geodesy, and
GPS and A Software-Defined
GPS and Galileo Receiver;
Single-Frequency Approach. He
currently works as a Senior Researcher at the Samara State Aerospace
University, Russia.

123

Content courtesy of Springer Nature, terms of use apply. Rights reserved.


Terms and Conditions
Springer Nature journal content, brought to you courtesy of Springer Nature Customer Service Center GmbH (“Springer Nature”).
Springer Nature supports a reasonable amount of sharing of research papers by authors, subscribers and authorised users (“Users”), for small-
scale personal, non-commercial use provided that all copyright, trade and service marks and other proprietary notices are maintained. By
accessing, sharing, receiving or otherwise using the Springer Nature journal content you agree to these terms of use (“Terms”). For these
purposes, Springer Nature considers academic use (by researchers and students) to be non-commercial.
These Terms are supplementary and will apply in addition to any applicable website terms and conditions, a relevant site licence or a personal
subscription. These Terms will prevail over any conflict or ambiguity with regards to the relevant terms, a site licence or a personal subscription
(to the extent of the conflict or ambiguity only). For Creative Commons-licensed articles, the terms of the Creative Commons license used will
apply.
We collect and use personal data to provide access to the Springer Nature journal content. We may also use these personal data internally within
ResearchGate and Springer Nature and as agreed share it, in an anonymised way, for purposes of tracking, analysis and reporting. We will not
otherwise disclose your personal data outside the ResearchGate or the Springer Nature group of companies unless we have your permission as
detailed in the Privacy Policy.
While Users may use the Springer Nature journal content for small scale, personal non-commercial use, it is important to note that Users may
not:

1. use such content for the purpose of providing other users with access on a regular or large scale basis or as a means to circumvent access
control;
2. use such content where to do so would be considered a criminal or statutory offence in any jurisdiction, or gives rise to civil liability, or is
otherwise unlawful;
3. falsely or misleadingly imply or suggest endorsement, approval , sponsorship, or association unless explicitly agreed to by Springer Nature in
writing;
4. use bots or other automated methods to access the content or redirect messages
5. override any security feature or exclusionary protocol; or
6. share the content in order to create substitute for Springer Nature products or services or a systematic database of Springer Nature journal
content.
In line with the restriction against commercial use, Springer Nature does not permit the creation of a product or service that creates revenue,
royalties, rent or income from our content or its inclusion as part of a paid for service or for other commercial gain. Springer Nature journal
content cannot be used for inter-library loans and librarians may not upload Springer Nature journal content on a large scale into their, or any
other, institutional repository.
These terms of use are reviewed regularly and may be amended at any time. Springer Nature is not obligated to publish any information or
content on this website and may remove it or features or functionality at our sole discretion, at any time with or without notice. Springer Nature
may revoke this licence to you at any time and remove access to any copies of the Springer Nature journal content which have been saved.
To the fullest extent permitted by law, Springer Nature makes no warranties, representations or guarantees to Users, either express or implied
with respect to the Springer nature journal content and all parties disclaim and waive any implied warranties or warranties imposed by law,
including merchantability or fitness for any particular purpose.
Please note that these rights do not automatically extend to content, data or other material published by Springer Nature that may be licensed
from third parties.
If you would like to use or distribute our Springer Nature journal content to a wider audience or on a regular basis or in any other manner not
expressly permitted by these Terms, please contact Springer Nature at

onlineservice@springernature.com

You might also like