Академический Документы
Профессиональный Документы
Культура Документы
Antti Lehtinen
Doppler Positioning with GPS
Master of Science Thesis
I would like to thank professor Keijo Ruohonen for his mathematical assistance
and other help he has given throughout the work. In addition, I express my
gratitude to Paula Syrjarinne, who has provided me with GPS related advice,
measurement data and excellent remarks on the contents of the thesis. Nokia
Mobile Phones deserves my thanks for funding the project. Moreover, many
Nokia employees have given me valuable feedback at the workshops. I would
also like to thank the personnel of the Institute of Mathematics, especially Niilo
Sirola, who has helped me a lot by proofreading the thesis, giving me new ideas
and sharing his Matlab functions.
Furthermore, I am indebted to all the people who have given me the joy of living
that helped me to complete the thesis. Especially Marjo Matikainen deserves
thanks for her support during the work.
Antti Lehtinen
Iidesranta 3 A 4
33100 Tampere
Tel. 040-7291388
i
Contents
Abstract v
Tiivistelm
a vi
Symbols ix
1 Introduction 1
3.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
ii
3.4 Positioning Error Analysis . . . . . . . . . . . . . . . . . . . . . . 13
5 Positioning Performance 31
iii
5.2.3 Applications of the Doppler Dilution of Precision Concept 39
6 Numerical Results 43
6.2.5 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.3.2 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . 50
7 Conclusions 53
iv
Abstract
The objective of this thesis was to examine a new GPS positioning method based
on Doppler measurements. Doppler positioning with the GPS has generally been
overlooked because it provides worse accuracy than the standard method. How-
ever, the Doppler measurements can be obtained even in very bad conditions.
Thus, when combined with cellular network assistance, the method may prove
valuable.
In this thesis, a new positioning algorithm is developed. The algorithm needs only
the Doppler measurements from at least four GPS satellites, the GPS satellite
orbital parameters and the current time. A general theory for estimating errors
in GPS Doppler positioning is also developed. Numerical results are compared
with the measurements and the accuracy of the algorithm is assessed.
v
Tiivistelm
a
vi
sa. Satelliittien ratatiedot ja aikatieto pitaa kuitenkin olla saatavilla. Mikali na-
vigointisanomaa ei saada, pitaa vastaanottimen siis olla yhteydessa esimerkiksi
matkapuhelintukiasemaan.
vii
Abbreviations and Acronyms
viii
Symbols
ix
2 variance, covariance
a vector in R3
ai relative acceleration vector of the ith satellite with respect to the user
A Doppler geometric dilution of precision matrix
b vector in R3
c speed of light
c vector in R3
cov covariance operator
d receiver clock drift equivalent, derivative
d estimated receiver clock drift equivalent
Di Doppler shift from the ith satellite
E expectation value operator
f real valued function
f (x) probability distribution function of positioning error vector
fi measured frequency from satellite i
g real valued function
G Doppler geometry matrix
H pseudorange geometry matrix
I identity matrix
i, j, k, l satellite indexes
L1 GPS civil frequency 1575.42 MHz
L2 GPS military frequency 1227.6 MHz
n number of satellites used in the calculations
n user position and time vector
n estimated user position and time vector
p( x) delta range residuals function
x)
pi ( ith component of delta range residuals function
R set of real numbers
ri satellite i position vector
ru user position vector
ru estimated user position vector
T matrix transpose
tu receiver clock bias
tu receiver clock drift
v speed
vprop wave propagation speed
vrel transmitter relative speed with respect to the receiver
vi estimated satellite i relative velocity vector with respect to the user
wi satellite i velocity vector
wT u true user velocity vector
wu estimated user velocity vector
x wave transmitter position
x user position and drift vector
x estimated user position and drift vector
x0 initial guess for user position and drift vector
x
xk vector x estimate after k steps of an iterative algorithm
xu user x coordinate
xu estimated user x coordinate
yu user y coordinate
yu estimated user y coordinate
zu user z coordinate
zu estimated user z coordinate
xi
Chapter 1
Introduction
Satellite positioning has received much attention during the last 40 years. The
beginning era of satellite positioning research was focused on military applica-
tions. Now the focus has changed. Because of the huge commercial potential,
the objective of the current research is mainly to develop equipment for personal
positioning.
The Global Positioning System (GPS) is currently the only satellite positioning
system suitable for personal positioning. The GPS is funded by the United States.
A new system, called Galileo, is expected to be launched by the European Union
in 2008. The Galileo is very similar to the GPS.
The GPS has a very good accuracy in good conditions. However, problems arise
in indoors and urban areas. The standard GPS receiver needs to track at least
four satellites simultaneously. In addition, it needs to demodulate the navigation
message from the carrier signals. The demodulation is possible only if the signal
is not too noisy. When the demodulation fails, the position cannot be solved.
This is a huge drawback for use of the GPS in personal positioning. Most of the
users of the positioning services live in urban areas.
During the last few years much eort has been put to solve the problem. Many
innovative solutions have been explored. They are mainly based on the idea of
the assisted GPS. This means that the GPS measurements are combined with
other data, which is available for example from cellular network.
1
has seemed to consider the use of Doppler positioning in weak signal conditions.
The great benet of the Doppler positioning is that the Doppler measurements
can be received even when the standard positioning fails. The Doppler measure-
ments can be used to solve the receiver position even without demodulating the
navigation message. This requires that the satellite orbital parameters and the
current time are known from some other source. Thus, this thesis belongs to the
eld of assisted GPS.
The discussion of the GPS Doppler positioning is started with the physical back-
ground of the Doppler eect in Chapter 2. The chapter also enlightens the ap-
plications of the Doppler eect in satellite positioning and other elds. Chap-
ter 3 introduces the Global Positioning System, its standard positioning algo-
rithm and its limitations. Chapter 4 begins by discussing the feasibility of GPS
Doppler positioning. Later in the chapter, the new Doppler positioning algorithm
is presented. Chapter 5 turns the attention to the important issue of positioning
accuracy. Possible error sources are discussed. In addition, a theory for esti-
mating Doppler positioning accuracy is developed. The possible applications of
the theory are also covered. Chapter 6 begins with a numerical analysis of the
properties of the measurement noise. Later, the new theory is compared with the
numerical results. Furthermore, positioning results with real measurement data
are illustrated. Finally, Chapter 7 ends the thesis with conclusions.
2
Chapter 2
In this chapter we will shortly discuss the Doppler eect as a physical phenomenon
and introduce some of its applications in modern technology. In addition, the
history of exploiting the Doppler eect in satellite navigation is considered.
The Doppler eect was rst noticed by the Austrian physicist C.J. Doppler (1803-
1853). The phenomenon was rst noticed in sound, but it applies to every kind
of wave propagation. The Doppler eect is caused by a transmitter that is in
relative motion with respect to a receiver. When the transmitter approaches the
receiver, the transmitted signal is squeezed. This produces a rise in the frequency
of the transmitted signal. As explained in [Alonso & Finn, p. 706] and [Giancoli,
p. 321], the frequency experienced by the receiver can be modelled as
vrel cos
= 1 (2.1)
vprop
where is the received frequency, is the transmitted frequency, vrel is the mag-
nitude of relative velocity of the transmitter with respect to the receiver, vprop is
the propagation speed of the wave and is the angle between the relative velocity
and the wave propagation direction. The equation 2.1 is a valid approximation
when vrel vprop . Figure 2.1 illustrates the squeezing of the signal when the
transmitter located at the point x is at motion with speed v.
The Doppler eect is still mostly known from acoustics. An example from every-
day life is the shift in the tone of a car when it passes the listener. The Doppler
eect in acoustics is widely exploited in military applications. Assume that a
noisy object (eg. a helicopter) is travelling along a straight line with a constant
velocity. Then a stationary sensor receives a frequency that varies with time as
3
Frequency shift for a moving transmitter
Signal magnitude
x v
Position
Figure 2.1: Doppler eect
Time
Figure 2.2: Doppler curve
4
in Figure 2.2. The shape of the so called Doppler curve in Figure 2.2 can be used
to estimate the distance to the tracked object as well as its velocity. Numerically
this can be done with least squares curve tting.
The preceding section showed that there are numerous applications in dierent
elds that take advantage of the Doppler eect. The Doppler eect, by its nature,
is ideally suited for velocity measurement. However, it has already for long been
used in navigation. In this section, we will enlighten the history of satellite
Doppler navigation.
The idea of a satellite Doppler navigation system comes from Applied Physics
Laboratory of the John Hopkins University, United States. The invention was
made in 1958 and was publicised in 1960. The early development of the project
and a proof of feasibility of satellite Doppler navigation was presented in
[Guier & Weienbach]. The U.S. Navy Navigation Satellite System, also known
as Transit, was designed based on this idea. The system became operational
in 1964. Details of the system were released in 1967 by the U.S. government.
This was done in order to permit commercial manufacture and use of Transit
navigation equipment.
The Transit system provided intermittent position x updates rather than contin-
uous navigation information [Laurila, p. 463]. It consisted of satellites in circular,
polar orbits about 1075 kilometres high. The receiver only needed to track one
satellite to produce a navigation x. In order to produce an accurate estimate,
5
the receiver needed to collect measurement data over several minutes. The actual
computation of the receiver position was based on the Doppler curve of a satellite
pass. Doppler curves of satellites are atter than in Figure 2.2. This is because
they travel along circular orbits rather than straight lines. The position of the
receiver was determined by curve tting. The latitude and longitude estimates
were optimised such that the computed Doppler curve tted to the measured
data. The computational details can be found in [Laurila, p. 474]. The accuracy
of the Transit system was about half a kilometre.
In order to compute the Doppler curves, one also needs to know the position
and velocity vectors of the satellite. Thus, the Transit satellites transmitted
binary data by phase modulation. This data is called ephemeris. One was able
to compute the satellite position and velocity from the ephemeris. The Transit
satellites transmitted continuous wave signals on two distinct frequencies, namely
150 MHz and 400 MHz. The purpose of this was to eliminate the rst order
ionospheric refraction and receiver frequency measurement errors. The accuracy
of the Transit system was about 100 meters for a stationary receiver, but was
severely worse for a receiver in unknown motion [Laurila, p. 476]. According
to [Parkinson & Spilker, p. 4], the Transit system is still operational, but new
satellites are not being launched.
6
Chapter 3
In this chapter we will introduce the Global Positioning System. Its history and
general working principles will be covered. The accuracy considerations and the
limitations of the system are also discussed in short.
3.1 History
The history of the Global Positioning System (GPS) can be said to begin from
the year 1973. Until then, the U.S. Navy and the U.S. Air Forces had been
studying navigation separately. But in 1973 a Joint Program Oce was formed
by the U.S. Department of Defence (DOD). The new system called GPS or
NAVSTAR, was planned. The rst prototype satellites were launched in 1978
[Parkinson & Spilker, pp. 4-9]. The full operational capability was reached by
the end of year 1994.
Although the GPS has been a military project, it has been designed also for
the civil use. In the beginning the U.S. military feared that the GPS could be
eectively used by the enemy. A system called selective availability (SA) was
created. This meant that there were two dierent signals, one for the public and
one encrypted for the military only. The public signal was deliberately degraded
such that the accuracy for the civil users was an order of magnitude worse than
for the military.
As late as in May 2000 the SA was nally turned to zero. Technically the SA
may still be re-introduced in case a need for that arises. The reason for turning
SA o is partially the economic boost it was thought to give. Partially the reason
is, however, that the eects of the SA can be circumvented with the modern
technology. The mentioned modern technology involves carrier smoothing and so
called dierential GPS (DGPS).
7
Recently, a project similar to the GPS has also been launched in the Europe. The
project is called Galileo. The Galileo satellite system is planned to be perfectly
compatible to the GPS. This is a benet, because the same receivers can use
either or both of the systems. The main dierence between Galileo and GPS
is that Galileo has not been planned to be used by the military. Galileo is a
completely civil project, which is funded by the European Union and various
European companies. The Galileo system is expected to be operational in 2008
[ESA].
In every kind of navigation one needs some reference coordinate system. In GPS
this is an important issue, since the natural coordinate systems for the satellites
positions and for the receivers position are dierent.
For the purposes of computing the position of a GPS receiver, it is more conve-
nient to use a coordinate system that rotates with the Earth. This coordinate
system is called Earth-centred Earth-xed (ECEF) system. A stationary receiver
on the surface of the Earth is stationary also in the ECEF coordinate system.
Thus, the natural coordinate system for the satellites is ECI and that for the
receiver is ECEF. The normal procedure is to compute the satellite orbits in
the ECI system and then transform them to the ECEF system. Thereafter, the
receiver position is computed in the ECEF system. In this thesis, unless otherwise
specied, all the given coordinates will be in the ECEF coordinate system.
8
suciently many satellites, the receivers position can be solved. An example in
two dimensions is shown in Figure 3.1.
Satellite 2
Satellite 1 Receiver
Satellite 3
When the user knows the positions of the satellites and the satellite-to-receiver
distances, he can draw a picture similar to Figure 3.1. In three dimensions the
circles around the satellites are naturally spheres. The radii of the spheres are
the distances to the satellites measured by the receiver. The receiver position can
be found from the intersection of the spheres.
The GPS satellites transmit two dierent signals. Coarse/acquisition (C/A) sig-
nal is transmitted at the frequency L1 (1575.42 MHz). The C/A signal is open to
be used by everyone. The precision (P(Y)) signal is transmitted at the frequency
L2 (1227.6 MHz). The P(Y) signal is encrypted and can be used only by the U.S.
military. The GPS receivers are totally passive in the sense that they need not
transmit anything. In order to conclude its position, the receiver only needs to
listen to the frequency L1 .
The satellite carrier signals are binary phase shift key modulated with pseudo-
random noise (PRN) codes. The modulation frequency is 1.023 MHz. The code
repeats once in a millisecond. The PRN codes are binary sequences that appear
to be noise but are actually deterministic. Determinism is naturally necessary
because the receiver needs to demodulate the signal. The noise-like characteristic
9
of the PRN codes is crucial because all the satellites transmit at the same fre-
quency. The PRN codes are used to dierentiate the satellite signals from each
other. The PRN codes have been designed to have extremely low cross-correlation
[GPS 1995]. With their wide spectra and low cross-correlations, the PRN codes
are ideally suited for making the dierence between the satellite signals. Systems
like the GPS, which transmit dierent data at the same frequency, are called code
division multiple access systems.
The satellites transmit also navigation data which is modulated to the C/A signal
at 50 Hz frequency. The navigation data is organised in superframes, frames and
subframes. The superframes, frames and subframes last 12.5 minutes, 30 seconds
and 6 seconds, respectively.
The navigation message contains for example the ephemeris. The ephemeris is a
set of time varying parameters that are used to calculate the position and velocity
of the satellite. The satellite positions can be computed accurately or approxi-
mated [Korvenoja & Piche]. The knowledge of satellites position is crucial for
the positioning, as can be seen from the Figure 3.1. If the satellite position is
biased, also the receiver position will be incorrectly determined. The ephemeris
contains also some correction terms that pass the user information for example
about the satellite clock drift.
One of the most important things that the navigation data contains, is the time.
The time in the navigation message is the time of transmission of the beginning
of each subframe. Thus, the time information is sent in the navigation message
once in 6 seconds.
Above, the GPS was stated to be a time-of-arrival positioning system. The way
to measure the propagation times of the signals is based on the PRN codes.
The satellite PRN code is replicated in the receiver. Retarding the replica code
and performing a correlation process with the received signal yields ti , the
signal propagation time from the ith satellite. This can be obtained because the
user knows both the time of the beginning of each subframe from the navigation
message and the time of signal reception from the correlation process. The GPS
signals travel at the speed of light c. Thus, the satellite-to-user range can be
computed with
r i r u = cti (3.1)
where r i is the satellite position vector, r u is the receiver position vector, c is the
speed of light and ti is the signal propagation time.
10
The satellite signal is very accurate. However, the user clock is usually not
synchronised with the satellite clocks. This makes the exact measurement of the
range impossible. If the satellite clock is behind the system time, the measured
range shorter than the real range and vice versa. The measured range is called
pseudorange and can be modelled as
where tu is the receiver clock bias and i is the measurement error. The true
pseudorange is the pseudorange measurement with no error:
T i = r i r u + ctu (3.3)
The other signicant measurable in GPS positioning is the delta range, or the
time derivative of the pseudorange. Let us nd out an expression for the true
delta range by dierentiating the equation 3.3:
dT i d ri ru
T i = = (r i r u + ctu ) = (wi wu ) + ctu (3.4)
dt dt r i r u
where wi is the satellite velocity vector, wu is the receiver velocity vector and tu
is the receiver clock bias time derivative, or the receiver clock drift. More infor-
mation about measuring pseudorange and delta range can be found in [Braasch].
The delta range measurements are further discussed in Chapter 4 and Chapter 5.
The GPS receivers calculate their positions in a process called pseudorange posi-
tioning. Assume that the receiver measures pseudoranges to n satellites simulta-
neously. We can write the equation 3.2 for all the satellites simultaneously. We
achieve the following system of equations:
1 = r 1 r u + ctu
2 = r 2 r u + ctu
.. (3.5)
.
n = r n r u + ctu
All the pseudoranges i are known from the measurements and all the satellite
position vectors r i are known from the navigation data. It remains to solve for
the user position vector r u and the receiver clock bias tu . Since r u R3 , there
are four unknowns to be solved for. Thus, one needs at least four independent
11
equations in the system of equations 3.5. Physically this means pseudorange
measurements from at least four dierent satellites at the same time. If there
are more than four equations, the methods developed for solving overdetermined
systems of equations may be applied.
There are numerous methods for solving the system of equations 3.5. Both closed-
form and iterative solutions have been extensively studied. A good overview of
dierent methods is provided in [Korvenoja, pp. 31-50]. Here we will introduce
the most commonly used method, namely the iterative least squares algorithm.
For notational simplicity, let us denote the user position and time vector as
n = [xu yu zu ctu ]T where xu , yu , zu are the user x, y, z coordinates, respec-
tively, c is the speed of light and tu is the user clock bias.
Moreover,T let us
denote the estimated user position and time vector as n = xu yu zu ctu . The
expected pseudorange is denoted by i and is the theoretical pseudorange calcu-
lated assuming n = n. With the pseudorange model 3.2 one has the expected
pseudorange as a function of n
i = i (n)
= r i ru + ctu (3.6)
Using the vector notation, we have the pseudorange measurement vector =
[1 2 . . . n ]T and the expected pseudorange vector
= [1 2 . . . n ]T
Using the rst order Taylor series, one can approximate the theoretical pseudo-
range vector
at any point n
+ n:
(n
+ n) =
(n)
+ n (3.7)
n
where n is the linearization point and n is an arbitrary vector. Naturally, the
approximation 3.7 is most accurate when n is small.
12
The estimated position and time vector n can be updated by adding the correction
term n to the estimate n. Thereafter, the expected pseudorange vector and
the derivative matrix can be calculated again. This allows one to re-use
n
the equation 3.9 to nd a new correction term n. Thus, the iteration can
be continued, until a satisfactory accuracy for the position and time estimate is
reached.
With the new notations, let us rewrite the expression for the correction term in
the equation 3.9:
1 T
n = H T H H ( ) (3.10)
Let us assume that the pseudorange measurements have errors that are uncorre-
lated and have equal variances 2 . Following [Parkinson & Spilker, p. 414], one
achieves an expression for the positioning error covariance matrix:
1
cov(n) = E nnT = 2 H T H (3.11)
1
The matrix H T H is called geometrical dilution of precision matrix or GDOP
matrix. It contains the information about the quality of the satellite geometry.
If one has an estimate for the measurement error variance 2 , one can calculate
the positioning variance cov(n) with the help of the GDOP matrix.
13
geometry can be reduced to a single real number. The geometrical dilution of
precision value (GDOP) is dened as
1
GDOP = trace H T H (3.12)
where trace means the summation along the main diagonal of the matrix. The
GDOP value can be used for estimating the magnitude of the positioning error,
as follows:
n = GDOP (3.13)
where n is a combined standard deviation of the solution x, y, z and ctu com-
ponents, while is the pseudorange measurement standard error. Besides of
the GDOP, there are other useful values that can be computed from the GDOP
matrix. These include position DOP, horizontal DOP, vertical DOP and time
DOP [Parkinson & Spilker, p. 414].
In the previous section it was stated that the GPS has a very good positioning
performance. The theory for the pseudorange positioning is well developed and
relatively easy. Still, the GPS has its limitations. One of the most severe is the
satellite availability. The standard GPS receivers need to measure pseudoranges
to at least four satellites simultaneously, in order to solve for the position estimate.
In theory, at least four satellites should be available nearly always nearly every-
where [Kaplan, p. 287]. In practise, however, there are problems. The prob-
lems usually arise in weak signal conditions. Sometimes the receiver should have
many satellites in sight but there is some barrier that prevents the GPS signal
from reaching the receiver. This occurs frequently in urban areas and indoors
[Syrjarinne, p. 22]. Usually the signal is received, but it is too much attenuated
for the pseudorange positioning purposes.
Recently, some eort has been put to resolve the satellite availability problem.
Novel methods have been developed for enhancing the positioning performance
14
in weak signal conditions. The key for the solution seems to be the assisted GPS.
This means that the receiver gains some extra information, for example through
a cellular network. This helps when the receiver has not been able to demodulate
the navigation message from the attenuated GPS signal. With assisGPS, also
the attenuated signals can be exploited in the positioning determination. More
details about these methods can be found in [Syrjarinne] and [Sirola].
15
Chapter 4
In this chapter, the possibility of using the Doppler measurements in GPS will
be discussed. The theory for positioning based on simultaneous Doppler mea-
surements will be developed. In addition, an iterative algorithm suitable for the
positioning is presented.
The Global Positioning System was developed for pseudorange positioning. There
is no doubt that using the pseudorange measurements is the most accurate way
to nd a position estimate for the receiver. However, the end of the preceding
chapter gave a glimpse of the diculties that frequently arise in pseudorange
positioning.
Very often it happens, that there are several attenuated GPS satellite signals
available. The signals are so noisy that the demodulation of the navigation mes-
sage is impossible. Thus, the pseudorange measurements cannot be performed.
However, the signals are suciently good so that the signals can be recognised
according to the PRN codes. In addition, the received signal frequencies can be
measured. The frequency dierences are mainly caused by the Doppler eect. In
this chapter it will be shown that the frequency shifts can be used for positioning
without knowledge of the pseudoranges. This kind of positioning will be referred
to as GPS Doppler positioning.
16
navigation message. Here, however, we assumed that the signals are so attenuated
that this is impossible. The solution is the assisted GPS. We will assume that
the satellite orbital parameters and the current time is received from somewhere
out of the GPS system. Typically this means that the receiver is connected to a
cellular network.
It is evident that the ability to perform the positioning using only Doppler mea-
surements would be of great use in many situations. Even if the positioning
estimate would not be as accurate as in pseudorange positioning, the Doppler
positioning would still make sense. As was written above, the pseudorange posi-
tioning is not always possible. More good news is that carrying out the Doppler
measurements does not require any hardware modications to the receiver. Ac-
tually, the state of the art receivers are doing the Doppler measurements all the
time as a by-product of satellite tracking.
Let us rst consider the bad sides of the GPS when compared to the Transit.
First of all, the GPS only has one available civil frequency. In Transit there were
two separate frequencies. This is a big benet allowing the user to eliminate
all the rst order errors in measurements. Thus, most of the atmospheric and
receiver measurement errors can be eliminated in the Transit. In addition, the
Transit satellites were at lower orbits and travelled at a higher velocity. This
produces benets in Doppler positioning, because the Doppler shifts are larger.
Furthermore, the positioning geometry is better when the satellites are at lower
orbits. In other words, the positioning error for the same Doppler measurement
error is smaller for low orbit satellites [Hill].
However, there are also good things in the GPS when compared to the Transit.
The biggest advantage of using the GPS for Doppler positioning in stead of the
Transit is the satellite availability. There are much more satellites in the GPS. In
17
the Transit, the receiver was lucky to be able to track even one satellite. Most of
the time there were no satellites in the view. On the contrary, there are usually
several GPS satellites in the view at the same time. Even if the receiver is indoors,
most of the GPS signals can be received, although attenuated. The high number
of satellites allows a GPS receiver to have simultaneous Doppler measurements
from several satellites. This is a huge increase in the amount of information that
can be used for the positioning.
In addition, the GPS frequency is much higher than the Transit frequencies.
This is a benet, because relative frequency measurement errors become smaller.
Furthermore, the higher frequency causes smaller atmospheric errors. As a con-
clusion, it cannot be said which is better: the Transit or the GPS Doppler po-
sitioning. Both have their advantages and drawbacks. A summary of these is
shown in Table 4.1. After all, one can say that the GPS Doppler positioning
may well be of at least the same accuracy as the Transit. Thus, there is a reason
for further GPS Doppler positioning research. More thorough positioning error
analysis will be provided in Chapter 5.
Let us now begin to build a physical model for the GPS Doppler positioning. This
will eventually lead to an algorithm, that can be used in position estimation.
The frequency of the received GPS signal diers from the frequency transmitted
by the satellite. This easily measurable frequency oset is mainly due to the
Doppler eect. The Doppler eect is caused by the relative motion of the trans-
mitting satellite with respect to the receiver. The Doppler Shift can be modelled
with the dot product equation
wi wu ri ru
Di = L1 (4.1)
c r i r u
18
where wi is the satellite velocity, wu is the receiver velocity, c is the speed of
light, r i is the satellite location, r u is the receiver location and L1 is the frequency
transmitted by the satellite.
The Doppler shift equation 4.1 can be modied to achieve a range rate equation.
For notational simplicity let us dene the satellites relative velocity with the
following equation:
v i = wi wu (4.2)
After algebraic manipulation one obtains
ru ri Di c
vi = (4.3)
r u r i L1
We notice that the left hand side of the equation 4.3 is the rate at which the
satellite is approaching the user. Thus, the equation can also be written as a
range rate equation as
d Di c
r u r i = (4.4)
dt L1
Assume that the user knows the current time as well as his own velocity exactly,
and that he has the valid ephemeris. Consequently he can calculate satellites
position vectors r i and relative velocities v i . Also assume that the receiver knows
the speed of light constant c, the real transmitted frequency L1 and the real
Doppler shift Di .
With preceding assumptions, the only unknown in the equation 4.3 is the user
position vector r u . Interpreting the dot product geometrically with the formula
ru ri
a b = a b cos (a, b) and noticing that the vector is of unit
r u r i
length, the equation 4.3 can be written as
Di c
v i cos = (4.5)
L1
where = (v i , r u r i ) is the angle between the relative satellite velocity v i
and the satellite-to-user vector r u r i . Solving for the angle in the equation
4.5 gives us
Di c
= arccos (4.6)
L1 v i
Thus the receiver must be located such that the satellite-to-user vector r u r i
forms an angle with the satellite relative velocity vector v i . The possible
receiver positions r u form a surface of a right circular cone whose vertex is at
the satellite position r i . The cone is shown in Figure 4.1. The cone has a semi-
innite axis in the direction of the satellite velocity v i when the Doppler shift
Di is positive and in the direction opposite to v i when Di is negative. The angle
between the surface of the cone and the satellite relative velocity vector v i is
19
Di c
= arccos . As a special case of equation 4.6 when the Doppler shift
L1 v i
Di equals zero the receiver must be located on a plane that is orthogonal to v i
and passes through r i .
vi ri
v i cos
ru
If we had three ideal Doppler measurements, we could solve for the three un-
knowns, namely the user position vector r u = [xu yu zu ]T . The user position
would be found at the intersection of the three dierent cones dened by the
equation 4.3. However, things are unfortunately not that simple. It is extremely
dicult to measure the Doppler shift with the precision required for the position-
ing.
In order to accurately measure the frequency of a signal, one must have a very
stable clock. The same applies also to accurately generating a desired frequency.
Satellite frequency generation is based on a highly accurate free running atomic
standard. The GPS control segment makes sure that the frequencies transmitted
by the satellites are very close to the nominal frequency L1 and adds correction
terms to the navigation messages when necessary [Kaplan, p. 50]. Thus, the
error in the transmitted frequency causes little harm for the receiver.
By contrast, the receiver very seldom has suciently good an oscillator to accu-
rately estimate the Doppler shift of the received signal. Let us denote the time
derivative of the receiver clock bias, the receiver clock drift, by tu . If tu is positive,
20
the receiver clock is running fast and if tu is negative, it is running slow. The
error f in the estimate for the received frequency can be modelled as
f = tu L1 (4.7)
It is important to notice that the error in the received frequency estimate in the
equation 4.7 is independent of the received frequency. Moreover, it is constant
in the sense that it has the same value for every signal if frequencies of multiple
signals are measured at the same time instant. However, the clock drift is not
generally constant in time.
Let us denote the receivers estimate for the frequency of the received signal
from the satellite i by fi . Modelling the frequency osets from the Doppler shift
(equation 4.1) and the receiver clock drift (equation 4.7) we obtain a model for
the total frequency oset:
vi ri ru
fi L1 = Di + f + fi = L1 tu L1 + fi (4.8)
c r i r u
where fi is the unmodelled noise in the frequency measurement. Properties of
the measurement noise will be covered in Chapter 5.
fi L1 ri ru f c
c = vi + ctu i (4.9)
L1 r i r u L1
f c
Using the equation 3.4 and denoting i = i the equation 4.8 can be rewritten
L1
as
fi L1
c = T i + i (4.10)
L1
where T i is the true delta range and i is the delta range measurement noise.
The delta range measurement i is the true deltarange T i disturbed by the noise
i :
i = T i + i (4.11)
Combining the equations 4.10 and 4.11, one achieves the delta range measurement
model :
fi L1
i = c (4.12)
L1
Analogously, combining the equations 3.4 and 4.11 yields the delta range physical
model :
ri ru
i = v i + ctu + i (4.13)
r i r u
21
For notational simplicity let us denote ctu , the eect of user clock drift to the
delta range measurement, by d. The new variable d has unit of velocity, that is
m/s. The true delta range can now be written in the form
ri ru
T i = v i +d (4.14)
r i r u
Now approximate the true delta range T i with the measured delta range i . Using
the equation 4.14 we obtain the following equation with 4 unknowns, namely
r u R3 and d R:
ri ru
vi + d i = 0 (4.15)
r i r u
Assume we have simultaneous delta range measurements from n dierent satel-
lites. Each measurement contributes one equation similar to 4.15. This yields us
the system of equations for multiple satellite Doppler positioning:
r1 ru
v1 + d 1 = 0
r 1 r u
r2 ru
v2 + d 2 = 0
r 2 r u (4.16)
..
.
r
n ru
vn + d n = 0
r n r u
where
d is the receiver clock drift eect to the delta range measurement, unknown
xu
ru yu
x= =
zu R
4
d
d
22
Let us now turn into our main goal, namely solving the positioning problem
dened by the system of equations 4.16. There are many dierent approaches
for solving the problem. These include symbolic methods, standard numerical
methods and problem specic iterative methods. It should be both mathematically
and physically clear that the system of equations 4.16 cannot be uniquely solved
unless the number of satellites n 4.
Let us continue to consider the system of delta range equations 4.16. One cannot
be sure that there exists a solution variables r u and d such that the equations
hold. Actually, if n > 4 and the measurements are noisy, it is almost sure that a
solution does not exist. However, as we will see later in this chapter, satisfying
all the equations accurately is not necessary for a good positioning estimate.
23
4.5 Standard Numerical Methods
In this section, a new algorithm is developed for the GPS Doppler positioning.
The algorithm is based on well known ideas from the numerical analysis. However,
the method has not earlier been applied to the GPS Doppler positioning problem.
In the following, we will consider iterative methods that begin from an initial
guess for the solution and continue to gradually enhance the estimate.
Notation 1. The receiver position and drift estimate
xu
ru yu
x
= =
zu R
4
d
d
is the current estimate for the receiver position and drift vector x
Notation 2. The delta range measurement vector
= [ 1 2 . . . n ]T
is a vector formed of the delta range measurements from the n satellites used in
the calculations.
The equation 4.13 gives a physical model for the delta range measurements. As-
suming that the noise components i are zero-mean gives rise to the following
denition:
Denition 2. The expected delta range vector
r 1 ru
v +d
1 r 1 ru
r 2 ru
v2 +d
= r 2 ru
..
.
r n ru
vn + d
r n ru
is the expected delta range measurement vector assuming the receiver to be located
at ru and the clock drift to be d.
The positioning solution procedure should aim at nding a point x such that
the expected delta range measurement vector would be equal to the real delta
range measurement vector, that is = .
In order to have the problem in a
mathematically standard form we will dene the following helpful function:
24
Denition 3. Delta range residuals function
r 1 ru
v + d 1
1 r 1 ru
r 2 ru
v2 + d 2
p(x) = =
r 2 ru
..
.
r n ru
vn + d n
r n ru
is a vector valued function with the receiver position and drift estimate x
as an
argument. The components of the vector function are the dierences between
the predicted delta ranges assuming x = x and the measured delta ranges i .
p(x) R , where n is the number of satellites used in the calculations.
n
From the system of equations 4.16 one immediately notices that if the estimate
x
is equal to the real position and drift vector x then the value of the function
p(
x) must be a zero vector. Thus our hope for nding the real receiver position
and drift vector x lies in nding a zero of the function p( x). The problem can
be formulated by the following equation
r 1 ru
v + d 1
1 r 1 ru
0
r 2 ru
v2 + d 2 0
p(x) =
r 2 ru = .
.. (4.17)
.
..
r n ru 0
vn + d n
r n ru
As should be clear from Subsection 4.4.2, there is no guarantee that the system of
equations 4.16 has only one solution. Consequently, the equation 4.17 may well
have solutions other than x = x. In the following we will assume that we have
an initial guess x0 that is suciently close to the real position and drift vector x.
Then our solution algorithm should converge to the correct zero of the function
p(
x).
Here we will use the Newton method to nd the solution. The solution pro-
cedure is based on the idea of linearly approximating the nonlinear function
[Kaleva2000, p. 25]. This has to be done because there are no general methods for
directly solving a nonlinear equation. The linear approximation is accurate only
in a small neighbourhood of the linearization point. However, as the linearization
procedure is repeated, the solution estimate becomes increasingly accurate. Let
25
us approximate the delta range residuals function p( x) by the rst order Taylor
series at the estimated point xk :
p(x)
p(xk + x) p(xk ) + x (4.18)
x x =xk
For simplicity, we will use the following notation for the derivative matrix:
x)
p(
G(xk )
x =xk
x
Now the approximate solution for the equation p(xk + x) = 0 can be found by
setting the right hand side of the approximate equation 4.18 to zero and solving
for x. Thus x needs to be solved from the equation
Assuming that measurements from four satellites are used in the calculations
x) R4 ) and that the derivative matrix G(xk ) is nonsingular, we obtain the
(p(
equation
x = [G(xk )]1 p(xk ) (4.20)
where x = xk+1 xk is the dierence between the new and the old estimated
position and drift vector.
It is not very practical to limit oneself to use only four satellites in the positioning.
There is always some noise present in the delta range measurements i . Conse-
quently, it is usually unwise to discard any available data. The Newton method
can be slightly modied so that it can be used for any number of satellites. We
want to use the equation 4.17 we have derived. Now when we may have more
than four satellites it is highly probable that the delta range residuals function
p(x) does not have a zero. Instead, we now seek the point for which p( x) is
closest to the zero point in the Euclidean norm sense.
The problem of the equation 4.17 is rst reformulated as a nonlinear least squares
problem:
min p( x)2 : x R4 (4.21)
It is easy to see that when the number of satellites n = 4, the equations 4.17
and 4.21 produce the same result x . The dierence is that the latter can be
used always when n 4. When the equation 4.21 is solved by the Gauss-Newton
26
method [Fletcher, p. 110], [Kaleva1998, p. 92], the iteration step solution 4.20 is
replaced by the more general
1
x = [G(xk )]T [G(xk )] [G(xk )]T p(xk ) (4.22)
One can easily see that if G(xk ) is a square matrix (G(xk ) R44 ) then the
equation 4.22 reduces to equation 4.20. Thus, the equation 4.22 can be used
without losing generality.
We end up with the following algorithm for searching the zero of the delta range
residuals function in the least squares sense:
1. Decide the initial guess x0 for the position and drift vector.
2. Given xk , calculate the delta range residuals function p(xk ) and the deriva-
tive matrix G(xk ).
4. Calculate the new estimate for position and drift vector with
xk+1 = xk + x
5. Continue from step 2 with the new estimate xk+1 until x is less than
the desired tolerance
As was seen in the preceding subsection the derivative matrix of the delta range
residuals function with respect to the estimated user position and drift vector is
vital for the Gauss-Newton method. Now we will focus on the matrix G in a
little more detail.
p(x)
Since G = , the matrix G has as many rows as the delta range residuals
x
function p(
x) and as many columns as the position and drift estimate x . Thus
G R , where n is the number of satellites used in the calculations.
n4
The matrix G is very important for us because it appears in the equation 4.18
which is used to linearly approximate the delta range residuals function p(
x).
27
Fortunately, nding the matrix G by algebraic dierentiation of the function
p(
x) is quite straightforward. Let us consider the dierentiation in detail:
p1 p1
ru d
p2 p2
p p
G= =
= . r Rn4
d (4.23)
..
u
x ru .
. .
d pn pn
ru d
where pi are the components of the vector function p. Using the Denition 3,
one obtains an expression for a single component of the vector function p. This
can be written as
r i ru
x) = v i
pi ( + d i (4.24)
r i ru
Dierentiating the ith component of the delta range residuals function p(
x) par-
tially with respect to the estimated receiver position ru yields
pi r i ru
= vi + d i (4.25)
ru ru r i ru
pi 1 v Ti
= v i (r i ru ) + (r i ru )
ru ru r i ru r i ru ru
1 (r i ru )T v Ti
= v i (r i ru ) I 33
r i ru 2 r i ru r i ru
vi r i ru r i ru
= (4.26)
r i ru r i ru r i ru
T
r i ru r i ru vi
r i ru r i ru r i ru
The equation 4.26 gives the partial derivative of the delta range residuals func-
tion with respect to the receiver position estimate. The form of the equation is
satisfactory for numerical computation. However, the form is not very intuitive.
The right hand side of the equation 4.26 can be transformed into a geometrically
more illustrative form involving cross products. Making use of the vector triple
28
r i ru
product formula a (b c) = (a c)b (a b)c with a = c = and
r i ru
vi
b= gives us
r i ru
T
x)
pi ( r i ru v i r i ru
=
ru r i ru r i ru r i ru
T
r i ru r i ru vi
= (4.27)
r i ru r i ru r i ru
The cross product of two vectors is always orthogonal to both vectors. Thus
pi
the partial derivative lies in the same plane with both the satellite relative
ru
velocity vector v i and the estimated receiver-to-satellite vector r i ru . Moreover,
pi
is perpendicular to r i ru . Figure 4.2 illustrates the situation. The negative
ru
of the derivative vector is presented in the gure for graphical clarity.
ri
r i r u
x)
pi (
ru
vi
r i ru
ru
T
r 1 ru r 1 ru v1
1
r 1 ru r 1 ru r 1 ru
r2 ru r2 ru v2
T
1
x) =
G( r 2 ru r 2 r
u r 2 r
u
(4.28)
.
.. ..
.
T
r n ru r n ru vn
1
r n ru r n ru r n ru
29
The matrix G(x), that is the derivative matrix calculated at the true position
and drift point x, is called Doppler geometry matrix. Sometimes the Doppler
geometry matrix G(x) will be written without the argument as G.
It would appear that the rst algorithm for GPS Doppler positioning was invented
by Jonathan Hill. In his paper [Hill], presented in ION GPS 2001, he discusses the
feasibility of Doppler positioning. He describes an iterative algorithm that uses
least squares technique after an algebraic manipulation of the set of equations
4.16.
The Hill algorithm does not use the derivative matrix G at all. This has the
advantage of somewhat lighter computation. On the other hand, the derivative
matrix could be benecial when analysing the positioning error, as will be shown
in the following chapter. There is no documented testing of the convergence
properties of the Hill algorithm.
Probably other iterative algorithms suitable for Doppler positioning can be found.
Deciding which algorithm to use requires extensive numerical testing and depends
on users needs. At least computational eciency, reliability, convergence prop-
erties and error estimation have to be considered when choosing the algorithm.
30
Chapter 5
Positioning Performance
In the preceding chapter, it was shown that the receiver position can be estimated
using only the delta range measurements with the current ephemeris and time.
If the Doppler shift in the received frequency could be measured precisely, one
would achieve the accurate position. Unfortunately, there is always some noise
present in the measurements. In this chapter, we will discuss positioning accuracy
for GPS Doppler positioning and consider the things that aect it.
There are several sources of errors in GPS Doppler positioning. In the following,
we will discuss the ionospheric eects, receiver noise, the eect of unknown user
velocity and the eect of biased time estimate.
The GPS signals are electromagnetic waves that travel at the speed of light in
vacuum. However, as a signal arrives to the ionosphere, its speed is slowed
down by ions. This causes errors both to pseudorange and delta range mea-
surements. In delta range measurements, the error due to the ionosphere is
31
proportional to the rate of change of the total electron content of the ionosphere.
The upper limit for the frequency measurement error due to the ionosphere is
0.085 Hz. This value corresponds to the error of 1.6 cm/s in the delta range
measurement[Parkinson & Spilker, p. 495].
Even if the frequency of the GPS signal managed to penetrate the ionosphere
without disturbance, the actual measurement would still cause errors. The prop-
erties of the measurement errors depend heavily on the receiver architecture. The
largest receiver error in the frequency measurement is the clock drift error d. Its
eect on the delta range measurement can be of the order of 10 m/s. Fortunately,
the clock drift error can be taken as an extra variable that is solved for, as was
done in Chapter 4. The order of magnitude of the remaining receiver noise is
hard to estimate theoretically.
In Subsection 4.3.3 we assumed that the satellite relative velocity vectors v i are
known. With the equation 4.2, v i was dened as wi wu , where wi is the
satellite velocity vector and wu is the user velocity vector. The satellite velocity
vector wi can be calculated from the current ephemeris if one knows the current
time. By contrast, the user velocity vector wu is unknown unless one has some
extra information. The most common form of extra information is probably the
knowledge that the user is stationary.
Taking the vector wu as a variable to be solved for means that we have three
more unknowns, since wu R3 . Thus, the number of required satellites for the
positioning increases from four to the usually unrealistic number of seven. Solving
for wu is not considered any further here.
Let us consider the error that the unknown user velocity causes. Assume that
the user velocity wu is replaced by a biased user velocity estimate wu + wu .
Then, according to the equation 4.2, the satellite relative velocity vectors v i are
32
replaced by v i wu . Let us rewrite the equations 4.24 and 4.13 here for the
simplicity of reference:
r i ru
x) = v i
pi ( + d i (5.1)
r i ru
ri ru
i = v i + ctu + i (5.2)
r i r u
From the equation 5.2, one sees that the ith component of the delta range residuals
r i ru
x), is replaced by pi (
function, pi ( x) wu . Using the equations 5.1
r i ru
and 5.2, one nally notices that error wu in the user velocity is equivalent
to additional error in the delta range measurement. Thus, the errors in the
user velocity estimate can be analysed similarly to the errors in the frequency
measurement. If the only error present is the error in the user velocity estimate,
we have
r i ru
i = wu (5.3)
r i ru
Furthermore, let us assume that the user position estimate ru is close to the real
r i ru ri ru
user position r u . Now the unit vector can be replaced by .
r i ru r i r u
Finally, we get the equation for the eect to the measurement:
ri ru
i = wu (5.4)
r i r u
ri
ri ru
wu ru ri
r i r u
ru
wu
Figure 5.1 shows the situation graphically. It is evident that the unknown user
velocity has most eect to the measurement when its direction is along the line-of-
sight vector. On the contrary, the eect is zero if the unknown user velocity vector
is perpendicular to the line-of-sight vector. Usually, any direction of unknown
user velocity cannot be ruled out. Thus, the worst case situation is that the
eect to the delta range measurements is the speed of the receiver, or wu .
Apparently, even very slow velocities may have drastic eects on the positioning
accuracy. In the above it was stated that the ionospheric errors are not larger
that 1.6 cm/s. Now, if the receiver is experiencing an unknown motion of, say
1.6 m/s, the measurement error level would eectively be 100 times larger.
33
More bad news is that the user velocity is extremely hard to measure. A speedo-
meter will not do, since it produces no information about the direction of the
velocity. And even if the user velocity vector could be determined, say with a
combination of gyroscopes and three-dimensional compasses, transforming the
vector into the ECEF coordinate system would complicate the computation.
In Chapter 4 we assumed that the ephemeris and an accurate time estimate were
available. In practise, however, the receiver only has an estimate for the current
time. In conditions where pseudorange measurements are unavailable the GPS
satellites cannot provide time information. Thus, the receiver time estimate is
probably biased. The consequence of the biased time estimate is that the satellite
positions and velocities are calculated wrong.
The biased time estimate eect can again be thought of as a measurement er-
ror. The positioning algorithms utilise the delta range dierence function p(
x).
According to Denition 3, we have
x) =
p( (5.5)
Evidently, the biased time estimate causes error to the expected delta range vector
According to the equation 5.5, however, the eect is the same as if there were
.
additional error in the delta range measurement vector . The resulting error can
be accurately approximated by examining the dierences of the expected delta
range vectors at time t and at the biased time t + t. When t is small we can
use the rst order Taylor series:
(t = t
+ t) (t) (5.6)
t
i ri ru
= v i (r i r u v i ) + r i r u 2
ai (5.7)
t r i r u 3
34
Thus, the time bias eect to the positioning accuracy may easily be at least the
same order of magnitude as the ionospheric errors.
A solution for the time bias error might be iterating the time estimate. If the
time estimate is expected to be too much biased, one could take it as an un-
known variable and solve it. This results in an additional column to the Doppler
geometry matrix G. The components of the column would be of the form of the
right hand side of the equation 5.7. This would also mean that a fth satellite is
needed to produce more measurement information.
Let us now discuss the eect of the measurement noise on the position estimate.
In the following, we will consider the accuracy of the Gauss-Newton method.
Since the Gauss-Newton method is iterative, its error estimates are very dicult
to derive rigorously. However, with the help of a few simplifying assumptions this
can be done.
Let us assume that the initial guess is suciently close to the real receiver coordi-
nates so that the Newton method converges towards the right minimum. Consider
the algorithm for positioning presented in Section 4.5.2. Now focus on the last
step of the iterative algorithm. The last step takes place just before ending cri-
terion is fullled. According to the formula 4.22, the ultimate estimate x for the
receiver position and drift vector is calculated from
1
x
= xk [G(xk )]T [G(xk )] [G(xk )]T p(xk ) (5.8)
= T + (5.9)
x
= x + x (5.10)
35
If the measurements and other data were ideal, the positioning solution would
also be perfect. Thus setting = 0 indicates that x = 0. Applying these for
the equation 5.11 gives us
1
x xk = [G(xk )] [G(xk )]
T T
[G(xk )] T (5.12)
Now subtracting the equation 5.12 from the equation 5.11 yields
1
x = [G(xk )]T [G(xk )] [G(xk )]T (5.13)
Let us simplify things by assuming the last linearization point xk to be very close
to the true position and drift x. Now the matrix G(xk ) can be approximated
by the Doppler geometry matrix G(x), which will be denoted G. Finally, we
have an equation that approximates the eect of the measurement errors on the
positioning solution:
1 T
x = GT G G (5.14)
The equation 5.14 can be used to calculate the error in the positioning estimate
if the measurement error is known. Unfortunately, can never be known. If
the error was known it could be compensated and there would be no error at all.
However, one should thrive to achieve an estimate for the accuracy of the solution.
Otherwise, the user cannot really trust that the solution is even near the right
one. The positioning error can be estimated by statistical methods. For that
we need some knowledge or assumptions about the statistical properties of the
measurement error . Let us assume the following:
The measurement errors are zero mean, that is their expected values are
zero:
E { } = 0 (5.15)
36
Let us rst calculate the expected value of the positioning error. According
to elementary statistics the expectation operator E is linear. Manipulating the
equation 5.14 we obtain
1 T
1 T
E {x} = E G G T
G = GT G G E( )
T 1 T (5.17)
= G G G 0 = 0
The equation 5.17 does not mean that the positioning error would always be
zero. It simply indicates that the errors of the xu , yu , zu and d components have
equal probability of being either negative or positive. To achieve more useful
information about the magnitude of the positioning error one needs to calculate
a second order statistical number, namely the covariance:
T
cov(x) = E (x E {x}) (x E {x})
eq.5.17
!"
= E xTx
eq.5.14
!"
T 1 T
T 1 T T
= E G G G G G G
T 1 T 1 T
= E G G G G G G
T T
(5.18)
1 T
T 1
= E G G T
G G G G
T
T 1 T
1
= G G G E T G GT G
!"
T 1 T 2
1
eq.5.16
= G G G I nn G GT G
T 1 2
= G G
The equation 5.18 shows us how the positioning accuracy is dependent on the
DGDOP matrix A. One has to keep in mind that the result was derived using
the very strong assumptions 5.15 and 5.20.
Thus the eect of satellite geometry on the positioning performance can be pre-
sented as a matrix A R44 . This is considerable reduction of information
since the satellite geometry is dependent on several vectors, namely the receiver
position, satellite positions and satellite velocities. However, the matrix A still
37
contains 16 components whose meaning needs to be claried. The matrix A in
its component form can be presented as follows:
A11 A12 A13 A14
A21 A22 A23 A24
A= A31 A32 A33 A34
(5.19)
A41 A42 A43 A44
What really interests us are the variances x2u , y2u , z2u and d2 . Using 5.18, 5.19
and 5.20 one obtains expressions for the preceding variances:
38
Doppler drift dilution of precision (DDDOP)
#
d2 #
= DDDOP = A44 (5.28)
We still need to keep in mind the assumption 5.16 on measurement errors, which
are uncorrelated and have the same variances. With this assumption, we were
able to derive the equations 5.255.28. Now these equations can be used to
estimate the positioning error. It is easy to see that the following equations hold:
$
x2u + y2u + z2u = DPDOP (5.29)
$
x2u + y2u = DHDOP (5.30)
zu = DVDOP (5.31)
d = DDDOP (5.32)
The Doppler dilution of precision values are relatively easy to compute. Now if we
have an estimate for the delta range measurement standard error we can easily
achieve estimates for the position estimate standard deviation using the equations
5.295.32. Estimate for the positioning error is naturally of great value. The
position estimate achieved by using the algorithm presented in Subsection 4.5.2
would be of little value if its error could not be estimated.
39
The DDOP concept is extremely benecial both theoretically and practically. It
allows one to consider the positioning error as a product of two independent fac-
tors, namely the delta range measurement error and the quality of the satellite
constellation. If the measurement standard error can be estimated then the po-
sitioning standard error can also be estimated theoretically without numerical
simulation or building a positioning apparatus. This is important when assessing
the performance of Doppler positioning because GPS Doppler positioning appa-
ratuses are not even known to exist. Theoretical analysis is also in many ways
more reliable than experimenting with real hardware. In the latter, the eects
of the measurement errors cannot be separated from the eect of the satellite
constellation. Of course, all this applies only if our assumptions on the nature of
the measurement errors are valid.
In Section 5.2 we assumed that the measurement errors were zero-mean, uncor-
related and had equal variances. With these assumptions, we were able to derive
theoretical formulae for the standard errors and the covariances of the positioning
errors. We were not, however, able to conclude anything else about the distribu-
tion of the positioning errors.
40
Let us now make the even stronger assumption that the measurement error vector
has a multivariate normal distribution [Johnson & Wichern, p. 126]. Rewriting
the equation 5.14, we have
1
x = [G(xk )]T [G(xk )] [G(xk )]T (5.33)
We notice that on the right hand side of the equation 5.33, there is the multinor-
mally distributed vector multiplied by the non-random matrix
1
[G(xk )]T [G(xk )] [G(xk )]T . The properties of the multivariate normal dis-
tribution propose that also the vector x now has multinormal distribution
[Pohjavirta, p. 78]. The normal distribution parameters, namely the expected
value and the covariance, can be found with the formulae presented already in
Section 5.2. From the equations 5.17 and 5.18 one has:
1 T
E {x} = GT G G E( ) (5.34)
1 T
1
cov(x) = GT G G cov( )G GT G (5.35)
If one can further assume that the measurement errors are zero-mean and have
equal variances 2 , the equations 5.17 and 5.18 are valid:
E {x} = 0 (5.36)
1 2
cov(x) = GT G (5.37)
In this case, the positioning error vector x has the following probability density
function:
exp 12 (x E(x))T cov(x)1 (x E(x))
f (x) = #
(2)dim(x )/2 det (cov(x))
1 2 1
exp 2 x G G
1 T T
x
=
1 2
(2) 4/2 det G G T
$
det GT G exp 21 2 Tx GT G x
= (5.38)
(2)2 4
$
T Gx2
det G G exp
22
=
(2)2 4
where det means the determinant of a matrix, exp means the exponent function
ex and dim means the dimension of a vector.
With the help of the equation 5.38, one can further analyse the nature of the
positioning error. One can see that the probability density is large for x such
41
that Gx 0. Thus there are large positioning errors in the directions that
are orthogonal to the most of the row vectors in the Doppler geometry matrix
G. According to the equation 4.28, the row vectors in G are always orthogonal
to the respective user-to-satellite vectors r i r u . One can expect that if there
are many satellites near the horizon then the up-direction position estimate has
relatively small errors. On the contrary, if all the satellites have high elevation
angles then the positioning error in the up-direction is expected to be relatively
high.
42
Chapter 6
Numerical Results
In Chapter 4, it was shown that the Doppler measurements from the GPS satel-
lites can be used for solving the user position. Chapter 5, in turn, sets the
theoretical basis for GPS Doppler positioning error analysis. There is, however,
no way to prove that the Gauss-Newton algorithm converges. Similarly, we were
unable to derive theoretical model for the measurement noise in Chapter 5.
In the analysis of the current chapter we will use both simulated data and real
measured data. The real measured data was collected during May 16th 2001.
The data was collected using an Avocet VLR10B,3V,R2 GPS receiver (Axiom
Navigation) connected to a HP 58504A GPS L1 1 HP 58509A GPS antenna.
The receiver reported the new pseudorange and delta range measurement values
at 1 Hz frequency. The receiver was stationary during the measurements and
its exact location in ECEF coordinates was known. The receiver was continu-
ously solving the time with pseudorange positioning. Consequently, the current
time was known with a high accuracy. The integration time in the delta range
measurements was evidently one second.
43
6.2 Properties of the Measurement Noise
In Section 5.1, we introduced the main sources of errors in the GPS Doppler
positioning. These included the ionospheric eects, the receiver noise, the eect
of unknown user velocity and the eect of biased time estimate. In the current
chapter, we will only consider a stationary receiver with a time estimate of high
quality. Since the user velocity and the time are accurately known, they are not
additional error sources here. It should be borne in mind that the positioning
errors might be several orders of magnitude greater for a moving receiver. Simi-
larly, the results would be signicantly weaker, if the current time estimate were
biased.
In this subsection, we will state the hypothesis we have of the properties of the
measurement data. We will also discuss the methods with which the hypothesis
can be validated.
From the equations 4.13 and 4.14 we can see the nature of the measurements.
Our hypothesis is that the measurement data can be modelled with the following
system of equations:
r i (t) r u (t)
i (t) = v i (t) + d(t) + i (t) (6.1)
r i (t) r u (t)
The diculty of the testing of the hypothesis 6.1 is the unknown clock drift
term d(t). The problematic term can be eliminated by considering the dierences
ij (t) = i (t) j (t).
ri ru rj ru
ij = i v i j v j (6.2)
r i r u r j r u
where the argument t for time has been left out for notational simplicity.
The right hand side of the equation 6.2 can be calculated from delta range mea-
surements and the current ephemeris. In the measurement data there were 7
satellites that were visible during the whole period of 1274 seconds. Since the
receiver reported the measurement data at 1 Hz frequency, there were 1274 delta
range measurements from each of the 7 satellites. The sequences ij were formed
for all the dierent combinations i, j such that i < j and j 7.
44
6.2.2 Numerical Testing of Normality
The normality of the dierences ij was tested with the Lilliefors test which
is implemented in the Matlab 6.1 Statistics Toolbox [Conover]. The level of
signicance used in the test was 5 %. In three cases out of the 21 sequences the
test rejected the hypothesis of normally distributed data. In the gure 6.1 the
dierence probabilities for one of the sequences ij are plotted.
Dierence probabilities compared to normal distribution
0.999
0.99
0.95
Probability
0.75
0.50
0.25
0.05
0.01
Difference sequence
0.001 Normal distribution
0.02 0.015 0.01 0.005 0 0.005 0.01 0.015 0.02
Dierences (m/s)
The Lilliefors test rejected the hypothesis that the sequence whose probabilities
are plotted in Figure 6.1 would be normally distributed. The reason, as can be
seen, are the large errors. There seem to be some outliers that do not t to
the normal distribution. However, this applies only to a small fraction of the
data. Furthermore, the vast majority of the sequences could be from the normal
distribution, according to the Lilliefors test. We can conclude that the sequences
ij are not perfectly normally distributed, but the normal distribution is still a
good approximation for the data.
Next, we will consider the correlation between the errors of the delta range mea-
surements from dierent satellites. Again, the clock drift term prevents us from
testing the correlation between the delta range measurement errors i . However,
we are able to measure the correlations between the dierence sequences ij .
All the dierent combinations {ij , kl } were formed such that i < j, i < k <
l and l 7. This resulted in 105 dierent combinations of {i, j, k, l}. The
correlations between the sequences were calculated. The maximum absolute value
45
of correlation between any two dierence sequences ij and kl was 7 %. The
histogram 6.2 shows the distribution of the correlations.
Dierence sequence correlations
20
15
Count
10
0
0.06 0.04 0.02 0 0.02 0.04
Correlation
Figure 6.2: Histogram of dierence sequence correlations
0.8
Probability
0.6
0.4
0.2
The small correlation values imply that the dierence sequences are in reality
uncorrelated. The signicance of the correlations is investigated calculating the
F statistics for the correlations [Walpole & Myers, p. 349]. In Figure 6.3 the
F statistics of the dierence sequence correlations are plotted and compared to
the Fishers distribution with degrees of freedom 1 = 2 and 2 = 1272. The
gure 6.3 shows that the F statistics could well be from the Fishers distribution.
This implies that the correlations between the dierence sequences ij are not a
statistically signicant part of the total variance in the sequences. Thus, it can
be said that the dierence sequences ij do not correlate.
46
6.2.4 Magnitude of Errors
The actual error in the delta range measurements could not be determined due
to the unknown clock drift error. However, the clock drift error was estimated
as an average of the dierences between the measured delta ranges and expected
received frequencies at each instant of time:
n
%
= r i (t) r u (t)
d(t) i (t) v i (t) (6.3)
i=1
r i (t) r u (t)
This estimate is unbiased and logical consequence of the equation 4.14.
The estimates for the measurement noise components i were calculated with
the help of the equations 6.1 and 6.3. In Figure 6.4, the measurement noises of
Measurement noise of two satellites
0.01
Magnitude (m/s)
0.005
0.005
0.01
Satellite 1
Satellite 2
0.015
500 1000
time (s)
Figure 6.4: Measurement noise
two satellites are plotted. As one can see from the gure, the average error level
contributes more to the error than does the time dependent noise. This holds
in every measurement analysed so far. The reason for this may well be that the
measurement period has been quite short, about 20 minutes. This is so short a
time that for example the ionospheric eects remain about the same during the
measurement. Since the ionosphere is the biggest source of errors, the nonzero
average of the measurement noise during a short period is what could have been
expected.
The standard errors for all the seven measurement sequences were calculated
using the estimate 6.3. The standard errors were in the range between 0.003 and
0.006 m/s.
47
6.2.5 Conclusions
In Subsection 6.2.2 it was shown that the dierence sequences ij can be modelled
as normally distributed. This assumption is valid with relatively high accuracy.
In Subsection 6.2.3 it was illustrated that the dierence sequences ij are uncor-
related. In Subsection 6.2.4 we analysed the magnitude of the measurement noise
and found out that its order of magnitude in this measurers was about 0.5 cm/s.
All our numerical testing was done with the dierence sequences ij = i j
because the measurement noise i cannot be measured. It is dicult to state
anything about the nature of the measurement noise sequences i . For our
purposes, we can model the measurement noise as having a multivariate normal
distribution without correlation between the dierent sequences. It has to be
borne in mind that the measurement noise cannot be modelled as white noise.
This is because the errors change very slowly with time as was explained in
Subsection 6.2.4.
In this section, the positioning results with real measured data are given. The
positioning was carried out using Matlab. The used algorithm was presented in
Subsection 4.5.3. Since the algorithm is iterative, we need to investigate both its
accuracy and its convergence.
The Gauss-Newton algorithm was used to calculate the position estimates in-
dependently at each instant of time. The initial guess given for the algorithm
was the centre of the Earth. The iteration was continued until the norm of the
correction term x fell under , where the machine precision was 2.2e-16.
In Figure 6.5, the magnitudes of the positioning errors are demonstrated in the
case where seven satellites were used to form a position estimate once a second.
The standard positioning error is about 105 meters. The Doppler position dilution
of precision measures were calculated with the equation 5.25. The DPDOP value
changed very slightly during the measurements and was about 9700 seconds. The
good positioning accuracy and low DPDOP value were due to the usage of the
high number of seven satellites. According to the theory developed in Chapter 5
and using the equation 5.29, we get that the standard error in the delta range
measurements is about 1.0 cm/s.
48
Histogram of positioning errors with 7 satellites
300
250
200
Count
150
100
50
0
90 100 110 120 130
Error magnitude (m/s)
Figure 6.5: Positioning errors
Next, we will illustrate the eect of the satellite geometry on the positioning
accuracy. The positioning was now performed using only four of the seven visible
satellites in the calculations. All 35 dierent geometries involving four satellites
were tested. The DPDOP values were also calculated for the dierent geometries.
In Figure 6.6, the positioning error magnitudes are plotted versus the Doppler
position dilution of precision values. The positioning error magnitudes and the
DPDOP values have a correlation of 94 %, the slope of the t line being 1.0 cm/s.
The result implies that the positioning errors and the DPDOP values actually
have a linear dependence on each other, as suggested in Chapter 5. In addition,
the result implies that the order of magnitude of the delta range errors in the
measurements is 1 cm/s. Figure 6.7 is the same plot with the logarithmic scale
on both axes. The purpose of this gure is to show that the linear t predicts
the positioning error reasonably well even with smaller DPDOP values.
Positioning errors versus DPDOP values
3500
3000
Positioning error (m)
2500
2000
1500
1000
500
Data points
Linear fit
0
0 0.5 1 1.5 2 2.5 3
5
DPDOP (s) x 10
49
Positioning errors versus DPDOP values
2
10
Data points
Linear fit
4 5
10 10
DPDOP (s)
Figure 6.7: Error dependence on geometry, logarithmic plot
6.3.2 Convergence
Extensive testing was performed in order to achieve numerical results for the
convergence area. The results were very optimistic. The iteration converged in
all the cases where x0 was near the Earth. The rst divergent case took place
only when the initial guess x0 was more than 17 000 kilometres biased from the
real receiver location. When the bias in x0 was more than 17 000 kilometres,
some of the iterations diverged. When the bias was more than 23 000 kilometres,
all the iterations diverged. We can conclude that the algorithm has a very large
convergence area. The iteration can be initiated from the centre of the Earth
without the fear of divergence.
Testing with the real data is naturally fruitful, but testing with simulated data
is also necessary. The algorithm can be tested very extensively with simulated
data because data collection causes no problems. Simulated data can also be
50
used for testing how the algorithm behaves in rare and unexpected situations.
In addition, the testing is more controlled since the magnitudes of the simulated
errors are known. Altogether, more than 140 000 simulations were performed with
dierent combinations of dierent simulated receiver locations, initial guesses,
noise magnitudes and numbers of satellites. The used satellite geometries were
taken from real ephemerides.
The positioning accuracy was now tested with the simulated data. Multinormally
distributed white noise was added to the theoretically calculated delta ranges.
Thereafter, the Gauss-Newton algorithm was used to compute the position es-
timate for the simulated receiver. In Figure 6.8, the position errors are plotted
versus DPDOP , where is the standard deviation of the added noise. The
Positioning errors versus DPDOP
4
x 10
2.5
Positioning error (m)
1.5
0.5
0
0 0.5 1 1.5 2 2.5 3
DPDOP (m)
4
x 10
linear t of the data points in Figure 6.8 gives an index of determination of 0.92.
This means that the positioning error can be estimated with a high accuracy as
the product of DPDOP and .
We have now seen that the positioning error can be easily estimated as a product
of DPDOP and magnitude of delta range measurement noise. The measurement
noise is hard to analyse and depends on the receiver. On the contrary, the DPDOP
values are easy to analyse. The DPDOP values are easy to compute, as was
explained in Chapter 5. In addition, the computation of DPDOP values requires
only knowledge of the current ephemeris, time and a reference position but no
measurements.
51
A big number of DPDOP values were computed using dierent ephemerides from
dierent days and choosing dierent satellite combinations. The satellites whose
elevation angle was less than ve degrees were rejected. When using all the avail-
able satellites, the DPDOP values were most of the time below 10 000 seconds.
Furthermore, when using the four best satellites, the DPDOP values were most
of the time below 13 000 seconds. The importance of selecting the right satellites
is demonstrated by the fact that using the worst four satellites produced DPDOP
values as high as 1010 seconds. Figure 6.9 shows the variation of the best and the
worst four satellites DPDOP values at a single location. Note the logarithmic
scale. The total number of visible satellites was eight.
DPDOP values during 13 minutes
10
10
8
10
DPDOP (s)
6
10
4
10
Worst satellites
2
Best satellites
10
0 100 200 300 400 500 600 700 800
time (s)
Figure 6.9: DPDOP values with the best and worst 4 satellites
The lesson from Figure 6.9 is that positioning with low number of satellites is
risky. Sometimes the positioning results may be very good, the order of magnitude
being 100200 meters. Sometimes, however, the positioning estimate may be
millions of kilometres biased. This all does not depend on measurement errors
but satellite geometry. Luckily, calculating the DPDOP values gives the user
information whether the positioning geometry is bad or not.
Still much more testing is required to be able to draw conclusions about the
general distribution of the DPDOP values. For example, it would be interesting
to know if some areas on Earth are more advantageous for Doppler positioning
than others. In addition, the dependence of the DPDOP value on the reference
position is also important.
52
Chapter 7
Conclusions
This thesis discussed the feasibility of using Doppler positioning with the GPS.
The predecessor of the GPS system, namely the Transit Doppler positioning sys-
tem, was introduced. It was shown that the standard GPS positioning method
is very accurate, but it cannot be used in weak signal conditions. Thus, there is
need for new positioning techniques. A heuristic comparison between the GPS
and Transit Doppler positioning showed that the GPS might be at least as accu-
rate as the Transit. This fact justies further analysis.
Details aecting the accuracy of the GPS Doppler positioning were covered. It
was pointed out that for a stationary receiver with perfect time information, the
ionospheric eects are the main error source. But when the user is in motion or
if the time information is biased, the order of magnitude of the positioning error
is expected to rise substantially.
In addition, a new theory for estimating positioning errors was developed. Ac-
cording to the theory, the positioning error analysis can be divided into two
separate elds, namely measurement error analysis and satellite geometry anal-
ysis. The nal positioning error estimate can then be achieved by multiplying
the two eect together. The result is essentially a modication of the dilution of
53
precision concept in standard GPS positioning. Furthermore, it was shown that
the new theory can be used in satellite selection as well as in error estimation.
The last part of the thesis concentrated on numerical results. Real measurement
data was used in the analysis. The properties of the measurement errors were
rst analysed. The average error delta range level in the data set was found
to be about 0.6 cm/s. The result is in line with the literature, which estimates
the ionospheric error to be at most 1.6 cm/s. The measurements from dierent
satellites were found to be uncorrelated. The measurement errors were almost
normally distributed, but there was slight tendency for larger errors than the nor-
mal distribution t expected. However, it was concluded that only a minor error
is done if the measurement errors are modelled with multinormal distribution.
A Matlab algorithm was used to perform positioning with the newly developed
algorithm. The algorithm was noticed to behave well and converge from an
initial estimate even thousands of kilometres away. The positioning results were
surprisingly good, the error being on average 105 meters when seven satellites
were used. Moreover, the positioning errors were found to be well in line with
the theory developed for estimating the errors.
Because of the limited measurement data set, also simulated data was used to test
the positioning performance. The positioning error estimation theory was further
tested and found to be valid. Variation of the satellite geometry was also studied.
It became evident that the satellite geometry aects the positioning error much
more than the ionospheric eect, because its variability is many orders of mag-
nitude larger. With 4 satellites, for example, the positioning error estimate may
be well below 200 meters when the geometry happens to be good. However, the
worst case scenario with only four available satellites gives positioning estimates
that are millions of kilometres biased.
This thesis has shown that the Doppler positioning is a considerable option for a
rough positioning estimate if the standard GPS positioning fails. A positioning
estimate can be achieved with only four satellites. The navigation data need
not be demodulated if the satellite positions and velocities are achieved from
other sources. However, the accuracy of the method with only four satellites is
not guaranteed. Increasing the number of satellites diminishes the risk of a bad
positioning estimate.
The theory for estimating positioning errors turned out to be extremely useful.
Using the theory, bad satellite geometries are noticed and the user can be warned
about unreliable positioning results. The theory can also be used for selecting the
most suitable satellites when computational eciency prevents one from using all
the visible satellites.
54
The positioning algorithm was developed assuming that the user is stationary
or that its velocity vector is known. The applicability of the method for mobile
devices is signicantly diminished by the fact that even a slow receiver motion
weakens the positioning performance drastically. For example, a velocity of 1.0
m/s is expected to raise the magnitude of positioning errors by two orders of
magnitude. Thus, for a mobile receiver, a modication for the algorithm is nec-
essary. The modied algorithm would solve for the receiver velocity as well as its
position. The modied algorithm would require at least seven satellites.
In addition, the accuracy is further weakened if the receiver does not have the
correct time information. However, this eect is not as devastating as that of the
user motion. Still, a bias of one second is expected to diminish the accuracy of
the positioning by one order of magnitude, when compared to a stationary user
with correct time information. The algorithm can also be modied to solve for
the time information. This modication requires an additional available satellite.
55
Bibliography
[Alonso & Finn] Alonso, Marcelo & Finn, Edward J. Fundamental Uni-
versity Physics Volume II. Addison-Wesley, 1967. 965 p.
[Bascom & Cobbold] Bascom, P.A. & Cobbold, R.S. Origin of the Doppler
Ultrasound Spectrum from Blood. IEEE Transactions on
Biomedical Engineering 43, 6(1996). pp. 562-569.
[Guier & Weienbach] Guier, W.H. & Weienbach, G.C. A Satellite Doppler
Navigation System. Proceedings of the IRE 48, 4(1960).
pp. 507-516.
56
[Hill] Hill, Jonathan. The Principle of a Snapshot Navigation
Solution Based on Doppler Shift. ION GPS 2001.
[Johnson & Wichern] Johnson, Richard A & Wichern, Dean W. Applied Multi-
variate Statistical Analysis, 3rd ed. Prentice-Hall, 1992.
642 p.
[Korvenoja & Piche] Korvenoja, Paula & Piche, Robert. Ecient Satellite Or-
bit Approximation. ION GPS 2000.
[Parkinson & Spilker] Parkinson, B. (Editor) & Spilker, J. (Editor). Global Po-
sitioning System: Theory and Applications Volume I.
57
Cambridge, MA:Charles Stark Draper Laboratory, Inc.,
1996. 793 p.
[Post & Cupp] Post, M.J. & Cupp R.E. Optimizing a pulsed Doppler
lidar. Applied Optics 29(1990). pp. 4145-4158.
[Wang & Snyder] Wang, C.P. & Snyder, D. Laser Doppler velocimetry: ex-
perimental study. Applied Optics 13, 1(1974). pp. 98-103.
58