This document describes a study of a satellite navigation system that uses measurements from both satellites and a fixed base transceiver station (BTS) to aid in positioning. The system allows positioning with fewer than the minimum number of satellites required. The BTS provides measurements of its time drift relative to the GNSS system to help solve the positioning equations. Simulations were conducted using both synthetic and real satellite data. Results showed that accuracy of position estimation depends on the time drift and distance between the user and the BTS.
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
Report Satellite Navigation Systems
1. POLITECNICO DI TORINO
Telecommunication Engineering
Academic Year 2014/15
Demetrio Ferro
Information Theory and
Digital Signal Processing
E-mail - Linkedin
Alex Minetto
Information Theory and
Digital Signal Processing
E-mail - Linkedin
BTS-Assisted Positioning System - Simulation and
Performance Analysis
Abstract
This work concerns the study of a satellite navigation system providing a solution to the positioning problem with
the support of a fixed Base Transceiver Station (BTS), which will work as an aiding peer.
The main idea is to use less signals coming from satellites than the minimum required since user’s coverage
may not be full. The amount of information required to solve the Position, Velocity, Time (PVT) equations will be
provided by a fixed aiding peer which provides measurements of its time drift with respect to the GNSS system.
The problem was formulated and simulated by using both synthetic satellites positions generated randomly and
by using real ones. The results of the study were discussed in terms of accuracy of the position estimation.
Master of Science Academic Project - 02LPXOT Satellite Navigation Systems - Professor: Fabio Dovis
Contents
1 Introduction 1
2 Problem Formulation 1
3 Performance Evaluation 4
4 Simulation 6
4.1 Synthetic Data Simulation - - - - - - - - - - - - - - - - 6
4.2 Real Data Simulation - - - - - - - - - - - - - - - - - - - - 7
5 Summary of Results 8
5.1 Time Drift of the two peers - - - - - - - - - - - - - - - - 8
5.2 Distance of the two peers - - - - - - - - - - - - - - - - - 9
6 Further comments 10
1. Introduction
This work concerns the study of a satellite nav-
igation system providing a solution to the posi-
tioning problem with the support of a fixed Base
Transceiver Station (BTS), which will work as an
aiding peer.
One of the main issues with satellite navigation sys-
tems discussed most is the availability: the service
may not have a good coverage on the user’s area.
The main idea is to use less satellites than the mini-
mum amount which is required to localize the user,
asking for the help of an aiding peer which provides
measurements of its distance from satellites which
it has in view.
Such problem was formulated by considering a sin-
gle user which has exactly three satellites in view,
but communicates with a fixed BTS which is close
to him, and has a better service coverage, so that it
can receive signal from at least another satellite.
The assumption leading to this formulation is that,
even if the user position is not exactly the same as
the antenna’s, it is close enough to let the position-
ing computation algorithm converge to a solution
which is close enough to the true one.
2. Problem Formulation
The problem, by its physical nature, consists of
finding the user’s coordinates, which, in their rela-
tive reference system uniquely identify the user’s
position.
xu = [ xu yu zu ] (1)
The navigation problem is generally solved by com-
puting the distance from each satellite to the user:
ri. Then, by trilateration, the actual user’s position
is computed.
r2
i = (xi −xu)2
+(yi −yu)2
+(zi −zu)2
(2)
Since distance measurements involve time, there
is a fourth unknown: time misalignment between
the satellite navigation system time reference and
the user’s clock: δtu, which introduces a spatial
uncertainty but = c·δtu.
2. BTS-Assisted Positioning System - Simulation and Performance Analysis — 2/10
r1 r2 r3 r4
(x1,y1,z1) (x2,y2,z2) (x3,y3,z3) (x4,y4,z4)
(xu,yu,zu)
d
d
d
d
d
d
d
d
d
d
f
f
f
f
f
f
f
f
f
¡
¡
¡
¡
¡
¡
¡
¡
¡
Figure 1. Satellite Positions (xi,yi,zi), User Position (xu,yu,zu) and distances from each satellite ri.
From now on, distances from satellites will be called
pseudoranges ρi, since they identify the radius of
a sphere centered on each satellite, tangent to the
user device.
ρi = (xi −xu)2 +(yi −yu)2 +(zi −zu)2 −but (3)
The equations leading to the solution of the naviga-
tion problem may be linearized through the Taylor
expansion around a known location:
ˆxu = (ˆxu, ˆyu, ˆzu, ˆbut) (4)
The linearization consists in the following:
∆ρi = ˆρi −ρi = axi∆xu +ayi∆yu +azi∆zu −∆but (5)
axi =
xi − ˆxu
ˆri
, ayi =
yi − ˆyu
ˆri
, azi =
yi − ˆyu
ˆri
ˆri = (xi − ˆxu)2 +(yi − ˆyu)2 +(zi − ˆzu)2
Since the problem consists of finding four unknowns,
its solution needs to involve at least four equations,
so at least four satellites have to be seen by the user.
∆ρ1 = ax1∆xu +ay1∆yu +az1∆zu −∆but
∆ρ2 = ax2∆xu +ay2∆yu +az2∆zu −∆but
...
∆ρn = axn∆xu +ayn∆yu +azn∆zu −∆but
(6)
In matrix notation, we may write:
∆ρ = H·∆xu (7)
By defining the matrices ∆ρ,H,∆xu as follows:
∆ρ =
∆ρ1
∆ρ2
...
∆ρn
H =
ax1 ay1 az1 1
ax2 ay2 az2 1
...
...
...
...
axn ayn azn 1
∆xu =
xu − ˆxu
yu − ˆyu
zu − ˆzu
−(but − ˆbut)
=
∆xu
∆yu
∆zu
−∆but
(8)
The solution of the linear equations system can be
obtained, by using a Least Mean Square approach,
from:
∆xu = (HT
·H)−1
HT
∆ρ (9)
The position obtain in this way may be used to
compute iteratively the actual user’s position with
higher accuracy, by setting
ˆxu = (ˆxu +∆xu, ˆyu +∆yu, ˆzu +∆zu, ˆbut −∆but) (10)
.Pseudorange measurements are affected by noise,
assumed to be a realization of a random variable:
δρi ∼ N (0,σ2
UERE), i.i.d. (11)
The standard deviation of the measurements is called
σUERE: User Equivalent Range Error.
Since the pseudorange measurements are affected
by noise, at the end of the computation, the position
estimation will be the realization of random variable
affected by bias and variance.
∆ρ +δρ = H·(∆xu +δxu) (12)
3. BTS-Assisted Positioning System - Simulation and Performance Analysis — 3/10
ρ1 ρ2 ρ3 ρ4
(x1,y1,z1) (x2,y2,z2) (x3,y3,z3) (x4,y4,z4)
(xu,yu,zu) (xB,yB,zB)
e
e
e
e
e
e
e
e
e
e
e
e
e
¡
¡
¡
¡
¡
¡
¡
¡
¡
¡
¡
¡
¡
Figure 2. Satellite Positions (xi,yi,zi), User Position (xu,yu,zu), BST Position (xB,yB,zB) and relative pseudoranges ρi.
The average magnitude of the error committed in
considering the computed one as true position, is
called bias of the estimation.
Bias [ˆxu] = E[ˆxu −xu] = E[δxu]
= (HT ·H)−1HT ·E[δρ] = 0
(13)
While the covariance of the estimated position is:
COV [δxu] = (HT ·H)−1HT ·COV[δρ]·
H(HT ·H)−1
= (HT ·H)−1 ·σ2
UERE
(14)
One of the most interesting quantity of interest is the
trace matrix G = (HT ·H)−1, because it determines
the Geometric Diluition of Precision (GDOP):
GDOP = tr{(HT ·H)−1} (15)
The variance of the error will be defined by using
this coefficient, which refers to the geometry of the
satellites with respect to the user:
σˆxu
= σ2
xu
+σ2
yu
+σ2
zu
+σ2
xbut
= GDOP·σUERE
(16)
Of course it is desirable that the variance of the
estimation is not too high, so that the computed
position converges to the right one.
Once considered the the problem formulation, more
restrictive assumptions may be done.
By supposing that user has three satellites in view,
it has to communicate with an aiding peer which
has a fourth satellite in view, both measuring pseu-
doranges from the satellites they see.
Once the base station has computed its own pseu-
dorange, transmits it to the user, who employs it to
find its own position.
Given that the user position is not the same as the
base station’s, the fourth pseudorange ρ4 will intro-
duce errors because it refers to:
xB = (xB,yB,zB,bbt) (17)
The model built in this project tries to give a solu-
tion to the localization problem, by using as first
approximation point the base station location:
(ˆxu, ˆyu, ˆzu, ˆbut) = (xB,yB,zB,bbt) (18)
Given that if the user and the antenna are not sup-
posed to be synchronous, it is important to take into
account the ratio:
γub =
∆bbt
∆but
. (20)
By considering that the antenna may have a lower
misalignment with respect to the GNSS time refer-
ence, we may set γub = 1 as a worst condition.
The linear system of equations may be written, in
matrix notation, as:
∆Dρ = DH·∆xu (21)
4. BTS-Assisted Positioning System - Simulation and Performance Analysis — 4/10
∆ρ1 −∆ρ2 = (ax1 −ax2)∆xu +(ay1 −ay2)∆yu +(az1 −az2)∆zu
∆ρ1 −∆ρ3 = (ax1 −ax3)∆xu +(ay1 −ay3)∆yu +(az1 −az3)∆zu
∆ρ1 −∆ρ4 = (ax1 −ax4)∆xu +(ay1 −ay4)∆yu +(az1 −az4)∆zu −(∆but −∆bbt)
∆ρ1 = ax1∆xu +ay1∆yu +az1∆zu −∆but
(19)
By defining respectively the matrices ∆Dρ and DH:
∆Dρ =
∆ρ1 −∆ρ2
∆ρ1 −∆ρ3
∆ρ1 −∆ρ4
∆ρ1
(22)
DH =
ax1 −ax2 ay1 −ay2 az1 −az2 0
ax1 −ax3 ay1 −ay3 az1 −az3 0
ax1 −ax4 ay1 −ay4 az1 −az4 1−γub
ax1 ay1 az1 1
This time, the solution to the positioning problem
is given by:
∆xu = (DH)−1
·∆Dρ (23)
Since the matrix DH is square, it results to be in-
vertible provided that it is non-singular.
3. Performance Evaluation
In order to evaluate the performances of such an
estimator, the error on pseudorange measurements
has to be taken into account:
∆Dρ +δDρ = DH·(∆xu +δxu) (24)
First of all, from the physical model:
δDρ =
δDρ1
δDρ2
δDρ3
δDρ4
=
δρ1 −δρ2
δρ1 −δρ3
δρ1 −δρ4(B)
δρ1
(25)
It is possible to notice that now the components of
δDρ are not i.i.d.:
δDρi ∼ N (0,2σ2
UERE), i = 1,2
δDρ3 ∼ N (δρ4,geom,2σ2
UERE)
δDρ4 ∼ N (0,σ2
UERE)
(26)
In this formulation, the pseudorange ρ4, being mea-
sured by the antenna and not by the user, carries
two error components:
δρ4(B)
= δρ4(U)
+δρ4,geom (27)
It is important to notice that the two errors have
different nature:
δρ4(U)
∼ N (0,σ2
UERE)
δρ4,geom, Deterministic
δρ4(B)
∼ N (δρ4,geom,σ2
UERE)
(28)
In order to have a metric of the error, Bias and
Variance of the error has to be computed.
Bias [ˆxu] = E[ˆxu −xu] = E[δxu]
= (DH)−1 ·E[δDρ]
= (DH)−1 ·[ 0, 0, δρ4,geom, 0 ]T
(29)
COV[δxu] = (DH)−1
COV[δDρ](DHT
)−1
(30)
The steps to the actual computation of the covari-
ance matrix are reported in Equations 31, 32.
The previous can be simplified in the following
expression:
COV[δDρ] = C1 ·σ2
UERE +C2 ·δρ2
4,geom (33)
where C1 and C2 are opportunely set to:
C1 =
2 1 1 1
1 2 1 1
1 1 2 1
1 1 1 1
(34)
C2 =
0 0 0 0
0 0 0 0
0 0 1 0
0 0 0 0
(35)
The covariance of the error can be expressed easier:
COV[δxu] = (DH)−1 ·COV[δDρ]·(DHT
)−1
(36)
6. BTS-Assisted Positioning System - Simulation and Performance Analysis — 6/10
4. Simulation
The simulation of the model discussed in the previ-
ous sections was made in Matlab ,
4.1 Synthetic Data Simulation
In the first instance of simulations, it is simulated a
scenario where:
- The Aiding Peer is located in the origin of the
reference system: xB = [0,0,0, ˆbbt].
- The User is located at a fixed distance from the
antenna. xu = xB + 500,500,0,
ˆbbt
γub
- The Satellite Vehicles (SV) have random position:
xSV ∼ N (0,
√
2e7)
- The SV follow a random linear trajectory.
(The speed of each SV has been altered from its
realistic value, in order to see what happens with
a smaller/larger variation in the skyplot).
- The solution of the problem is obtained by us-
ing an algorithm which solves the Linear System
of equations iterating on pseudorange measure-
ments:
1. Measure pseudoranges from the satellites in
view;
2. (a) If they are at least 4, solve Equation (9).
(b) If they are 3 instead, get the pseudorange
measurement from the BTS and solve
Equation (23).
3. (a) If the position estimation obtained at step
(2) has small enough bias, (||ˆxu −xu||
10[m]) return the computed position.
(b) If the bias is not much large, update the
approximation point to the computed one
and go to step (1).
(c) If the computed position is way too far
from the BTS, (||ˆxu −xB|| 1500[m]), it
means that the algorithm does not con-
verge to a position which would be cov-
ered by the BTS.
- The bias of the computed position is shown in
magnitude an on the single coordinates.
Figure 4. Random constellation of Satellites
400
450
500
550
600
300
350
400
450
500
−100
−80
−60
−40
−20
0
20
40
60
80
100
User Position
Z[m]
Solution Convergence
Y [m] X [m]
Figure 5. Convergence of the solution
As shown in Figure 4, by using a random generated
constellation of satellites following a random linear
trajectory, it is possible see in Figure 5 that the
computation of user’s position converges even if it
lasts long.
Since the solution will be affected by bias, on all
the coordinates, in Figure 6 it is have reported the
overall bias that the user experiences:
E[||xu − ˆxu||] = (xu − ˆxu)2 +yu − ˆyu)2 +(zu − ˆzu)2
(41)
Then, in Figure 7 it is reported the bias on the single
coordinates:
E[xu − ˆxu] = [(xu − ˆxu), (yu − ˆyu), (zu − ˆzu)]. (42)
As previously shown, for synthetic SV positions,
the algorithm that iteratively solves PVT equations
actually converges.
7. BTS-Assisted Positioning System - Simulation and Performance Analysis — 7/10
0 20 40 60 80 100 120
0
50
100
150
200
250
Overall Bias of Synthetic Simulation
Iterations
Bias[m]
177.43
112.68
47.93
Figure 6. Bias of the norm of the solution.
0 20 40 60 80 100 120
0
20
40
60
80
100
120
140
160
180
Synthetic Simulation Bias
Iteration
Bias[m]
X−Coordinate
Y−Coordinate
Z−Coordinate
Figure 7. Bias on the coordinates of the solution.
4.2 Real Data Simulation
In order to give more consistency to the simulation,
it is made with real data, by the following steps:
- Measurements are obtained by a GPS receiver
located here at Polytechnic of Turin, ECEF coor-
dinates are rougly xu = [4.47, 0.60, 4.49, 0.73]·
106 [m], since the measurements obtained were
discontinuous, a subset of the whole data collec-
tion (where they have a continuous behaviour)
was selected.
- One of the pseudorange measurements is altered
as if it was obtained by an aiding peer located in
xB = xU ·[1,1,1,γub]+[500,500,0,0].
- The solution of the problem is obtained by using
the same algorithm as previously.
- The bias of the computed position is shown in
magnitude and on ECEF coordinates.
−505101520
x 10
6
−1 −0.5 0 0.5 1
x 10
7
−5
0
5
10
15
20
x 10
6
X [m]
PRN 21
Satellites Constellation
Y [m]
PRN 1
PRN 16
PRN 6
Z[m]
Figure 8. Real satellites constellation
4.4723
4.4723
4.4724
4.4724
4.4724
x 10
6
6.0142
6.0143
6.0144
6.0145
6.0146
x 10
5
4.4925
4.4926
4.4927
4.4927
4.4928
x 10
6
User Position
Z[m]
Navigation Solution
X [m]
Y [m]
Figure 9. Real position estimation
In Figure 8 are reported the real satellites and user’s
position. As it is possible to appreciate in Figure 9,
the positioning solution gets very close to the actual
position, but is always biased.
In Figure 10 is reported the overall bias of the sim-
ulation, whereas in Figure 11 is reported the single-
coordinate bias.
As we can immediately see from the plots, the sce-
nario generated with random SV positions gives a
sharper bias curve.
8. BTS-Assisted Positioning System - Simulation and Performance Analysis — 8/10
0 5 10 15 20 25 30 35 40
0
10
20
30
40
50
60
70
80
90
21.58
43.01
0.16
Overall Bias on User’s Estimated Position
Iterations
Bias[m]
Figure 10. Bias of the norm of the solution
0 5 10 15 20 25 30 35 40
0
10
20
30
40
50
60
70
ECEF Coordinates − Baias Behaviour
Iterations
Bias[m]
X−Coordinate
Y−Coordinate
Z−Coordinate
Figure 11. Bias of the norm of the solution
5. Summary of Results
The algorithm was tested by running a Monte Carlo
simulation, with the generation of random satellites’
positions following random trajectories.
The output of the simulation declared about 60%
convergency of the implemented solution.
Once the performances of such a solution are ob-
tained by simulating both with synthetic and real
data, the aim is to study when the new parameters
introduced achieve better performances or exploit
most the utility the solution.
5.1 Time Drift of the two peers
First of all, consider the issues involved with the
parameter γub = ∆bbt
∆but
.
In order to do that, fix the Satellite constellation
standing above the user and the aiding peer. Fo-
cused on an optimal geometry, reported in Figure
12: the user has in view three equispaced satellites
at the horizon, while the fourth is seen by the an-
tenna.
From the known results (29), let the user to ob-
tain the fourth measure from a satellite close to the
zenith of the aiding peer because it introduces less
bias.
Let γub vary in [0, 2], in order to understand what
happens when the misalignment ratio is different.
One could expect that having a very small value
of γub would lead to better performances, since it
introduces less error in pseudorange measurement.
−2
−1
0
1
2
x 10
7
−2
−1
0
1
2
x 10
7
−1.5
−1
−0.5
0
0.5
1
1.5
2
x 10
7
S1
X [m]
S4
Satellites Constellation
S2
Y [m]
S3
Z[m]
Figure 12. Optimal Constellation of Satellites
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.5
1
1.5
2
2.5
x 10
6 γ Analysis
γ
Bias[m]
Bias Samples
Sliding Mean
Figure 13. Bias[ˆxu] varying with γub ∈ [0,2].
Executing the same algorithm for different values
of γub, it is obtained the plot reported in Figure 13,
where it is possible to see that a very low value of
bias is obtained for γub = 1.
The reason of this is not so immediate by looking at
9. BTS-Assisted Positioning System - Simulation and Performance Analysis — 9/10
formulas, but results to be pretty easy to expect one
thinks that the algorithm solves the LS of equations
to find a value but.
If the pseudorange ρ4 measured by the BTS is af-
fected by exactly the same time misalignment as
the other ones measured by the user, the matrix DH
has the same coefficients on all the rows, this makes
the search for a but value much easier.
So, having an aiding receiver with time drift which
is way too far from the user’s leads to a worse esti-
mation of the position.
5.2 Distance of the two peers
Another important issue of our problem is how
much the bias and the variance vary when the dis-
tance of the user from the aiding peer vary.
The algorithm was run with ||xB −xu|| ∈ [0,1500]
meters, by considering the coverage of a standard
telecommunication BTS.
From the output shown in Figure14, it is possible
to notice that, the theoretical value assumed by the
bias depends mostly on the User-BTS distance on
the slant range (δρ4,geom).
In particular, it is going to assume higher values
when the measurements from the SV used as aid to
the user is located close to the horizon.
Satellites at the zenith of the aiding peer not visible
by the user would carry a lower bias. This may find
application in urban environments.
After these considerations, it is possible to discuss
applicability of such a solution.
The main idea is to understand how much it is con-
sistent for a user to get a position even if it is af-
fected by a lot of bias. It may be useful to introduce
a new metric for the Optimality of our solution:
ψU,B =
E[||ˆxu −xu||]
||xB −xu||
(43)
that is a ratio between amount of bias we have at a
given distance by the aiding peer.
0 500 1000 1500
16
18
20
22
24
26
28
30
32
34
36
Average Bias and Variance
Distance User−BTS [m]
[m]
Variance
Average Bias
Figure 14. Bias and Variance or the position
estimation varying with User-BTS distance
0 500 1000 1500
10
−2
10
−1
10
0
10
1
10
2
Optimality
Distance User−BTS [m]
Log(Ψ)
23 m
Figure 15. Trade-off of the applicability of our
solution over distance
This consideration leads to a trade-off between the
mean error that the user is disposed to accept with
respect to the possibility of getting positioned where
the aiding peer is.
In this simulation, it is supposed that when the error
is larger than the distance from the next given point,
it is convenient for him to get the position of that
point.
With this assumption, it is possible to found out that
when the factor ψU,B 1, the user is so far from the
aiding peer that the bias he gets by implementing
this solution is less than the one he would accept by
being located at the BTS position.
From real data simulations, as shown in Figure 15,
ψU,B = 1 at about 23 meters, so it is convenient for
users who are further than this distance.
10. BTS-Assisted Positioning System - Simulation and Performance Analysis — 10/10
6. Further comments
The implementation of such a solution may involve
further considerations, which exploit the benefits of
using of a fixed aiding peer.
- At first, the BTS has a known position. By using
just one satellite in view, it may compute its own
time misalignment with respect to the GNSS time
reference.
This may be used to adjust its clock and keep the
value assumed by ∆bbt much smaller than the one
assumed by ∆but.
Moreover, the antenna may use a receiver whose
clock frequency drifts less from the reference one,
with respect to the user’s.
This leads to the consideration that the time mis-
alignment ratio γub → 0, but this is way far from
the ideal condition (γub = 1), where the bias as-
sumes lower values.
A hint to solve this may be the compensation of
the value ∆bbt so that it is close to the one assumed
by ∆but, for example by applying this aiding tech-
nique in a synchronous network infrastructure.
- The user may receive more than a single pseu-
dorange measurement from the aiding peer, and
use them with an LMS approach to extend our
solution and solve the positioning problem.
This may be of very feasible since the aiding peer
may be located where there is a good GNSS cov-
erage and have a wider view of the skyplot.
- The antenna may help the user to improve the
solution of the linear system of equations (or to
select the best subset of pseudoranges) by trans-
mitting the measurement (or the measurements)
from the SV(s) it has in view close to the zenith.
This may be useful because they introduce less
error, given that the User-BTS distance in slant
range distance is smaller.
- Obtaining a measured approximation of δρ4,geom
may help to compensate the error.
This lead to have a zero-mean third component in
the bias vector, so that the user can appreciate a
higher accuracy in the position.
- Using more than one aiding peer may be an inter-
esting perspective since it would help very much
even if it is difficult to have different sets of SV
in view in a small region on the Earth.
Moreover, the aiding peers have to communicate
so that the user receives different sets of measures
from different sets of SVs.
As far as we can see, getting extra information from
an aiding peer may help to get coverage where the
service is not available, but involves issues about
time misalignment and geometry, so the user should
be satisfied as much as the error may be compen-
sated.