master thesis Implementation and evaluation of user ...
Transcript of master thesis Implementation and evaluation of user ...
Technische Universitat KaiserslauternFachbereich Elektrotechnik und InformationstechnikLehrstuhl fur Funkkommunikation und Navigation
master thesis
Implementation and evaluation ofuser movement prediction
techniques in a realistic, denseurban environment
Vicente Moreno Ortuno
August 2014
Supervisors: Prof. Dr.-Ing. Hans D. SchottenDipl.-Ing. Andreas Klein
Student: Vicente Moreno OrtunoMatrikel-Nr. 392141UPC Barcelona
Submission Date: 27.08.2014
Erklarung
Ich erklare hiermit ehrenwortlich, dass ich die vorliegende Masterarbeit selbstandigangefertigt habe; die aus fremden Quellen direkt oder indirekt ubernommenen Gedankensind als solche kenntlich gemacht.
Die Arbeit wurde bisher keiner anderen Prufungsbehorde vorgelegt und auch noch nichtveroffentlicht.
Ich bin mir bewusst, dass eine unwahre Erklarung rechtliche Folgen haben wird.
Kaiserslautern, den 27.08.2014
Unterschrift
Contents
Acronyms III
List of Algorithms V
List of Figures VI
List of Tables VIII
1 Introduction 1
2 Simulation Environment and Models 3
2.1 Unity 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Simulation environment . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Mobility model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.1 Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.2 Turning criterion . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3.3 Traffic lights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Propagation Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.1 Macro BS propagation model . . . . . . . . . . . . . . . . . . . 11
2.4.2 Micro BS propagation model . . . . . . . . . . . . . . . . . . . . 13
3 Prediction Algorithms 16
3.1 Kalman Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.1 State Vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.2 Dynamic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.3 Observation Model . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.4 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.5 Sensitivity Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Statistical Prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.1 Obtaining the Statistics . . . . . . . . . . . . . . . . . . . . . . 30
3.2.2 The Prediction Procedure . . . . . . . . . . . . . . . . . . . . . 31
I
3.2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.3 Statistical Prediction enhanced with a Kalman Filter . . . . . . . . . . 33
3.3.1 Prediction of the Next Cross Road . . . . . . . . . . . . . . . . 34
3.3.2 The Prediction Procedure . . . . . . . . . . . . . . . . . . . . . 36
3.3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Purpose of the Prediction Algorithm . . . . . . . . . . . . . . . . . . . 38
3.4.1 Obtaining the Predicted Base Stations . . . . . . . . . . . . . . 38
3.4.2 Reference Scenario . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.3 Prediction Scenario . . . . . . . . . . . . . . . . . . . . . . . . . 42
4 Performance Evaluation 49
4.1 Performance Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2 Simulation Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2.1 Scenario Without Prediction . . . . . . . . . . . . . . . . . . . . 52
4.2.2 Scenario with Statistic Prediction and KF . . . . . . . . . . . . 53
4.3 Results obtained from the simulation . . . . . . . . . . . . . . . . . . . 54
4.3.1 Inconsistent Results . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3.2 Undesirable behavior of the Algorithm . . . . . . . . . . . . . . 61
5 Summary and Outlook 67
A USB Content 69
Bibliography 70
II
Acronyms
2D 2 Dimensions
3D 3 Dimensions
3GPP 3rd Generation Partnership Project
A-GPS Assisted-Global Positioning System
AP Antenna Probability
BS Base Station
CDF Cumulative Distribution Function
CRPT Cross Road Prediction Time
E2E End To End
GPS Global Positioning System
HO HandOver
HOM HandOver Margin
ITU-R International Telecommunication Union - Radio
KPI Key Performance Indicator
LTE Long Term Evolution
MMC Massive Machine Communication
MSE Mean Squared Error
ODP Origin - Destination Probability
OTDOA Observed Time Difference Of Arrival
RMUA Rectilinear Movement Uniformly Accelerated
III
ACRONYMS IV
RP Route Probability
RSRP Reference Signal Receiver Power
SINR Signal To Interference Ratio
TTT Time To Trigger
UE User Equipment
UMa Urban Macro
UMi Urban Micro
UTDOA Uplink-Time Difference Of Arrival
WGN White Gaussian Noise
List of Algorithms
2.1 Turning Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1 Statistic Prediction Algorithm . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Statistics with KF Prediction Algorithm . . . . . . . . . . . . . . . . . 37
3.3 HO Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4 Prediction HO Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 43
V
List of Figures
2.1 Simulation environment in unity3D . . . . . . . . . . . . . . . . . . . . 3
2.2 2D simulation environment in unity3D . . . . . . . . . . . . . . . . . . 5
2.3 Crossroad collider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Number of different routes from one origin to one destination . . . . . . 7
2.5 User moving to the right pointing its destination . . . . . . . . . . . . . 9
2.6 User moving to the right with α≤90o . . . . . . . . . . . . . . . . . . . 9
2.7 User moving to the right with α>90o . . . . . . . . . . . . . . . . . . . 10
2.8 Geometry of the propagation scenario ITU-R UMa showed in [2] . . . . 12
2.9 Geometry of the propagation Scenario ITU-R UMi showed in [2] . . . . 14
3.1 Kalman filter circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 CDF 25 km/h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3 CDF 50 km/h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.4 CDF 75 km/h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5 MSE values of the different speeds and prediction horizons . . . . . . . 28
3.6 Example of deviation in the worst case possible . . . . . . . . . . . . . 33
3.7 Delay in determining the correct next cross road for different positioning
technologies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.8 Scenario of handover process . . . . . . . . . . . . . . . . . . . . . . . . 40
3.9 Handover procedure [6] . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.10 Prediction algorithm circuit . . . . . . . . . . . . . . . . . . . . . . . . 45
4.1 Dropped connection for the different simulations . . . . . . . . . . . . . 55
4.2 HO failures for the different simulations . . . . . . . . . . . . . . . . . . 55
4.3 Time disconnected for the different simulations . . . . . . . . . . . . . . 56
4.4 Time connected for the different simulations . . . . . . . . . . . . . . . 56
4.5 Values of the different times for a HOM = 5 dB TTT = 640 ms . . . . 59
4.6 Ratio of improvement fora HOM = 5 dB TTT = 640 ms . . . . . . . . 60
4.7 Ratio of improvement for a HOM = 1 dB TTT =160 ms . . . . . . . . 60
4.8 Disconnected positions for the prediction with a HOM = 5 dB TTT =
640 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
VI
LIST OF FIGURES VII
4.9 Disconnected positions for the reference with a HOM = 5 dB TTT =
640 ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
List of Tables
3.1 Measurement Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2 Deviation 25 km/h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 Deviation 50 km/h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4 Deviation 75 km/h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1 Possible Simulation Choices . . . . . . . . . . . . . . . . . . . . . . . . 52
VIII
Chapter 1
Introduction
The first objective of this project is to create a simulation environment and a real-
istic propagation model that approaches as much as possible the real world. Experi-
ences obtained of past work done in 3GPP have shown the need for a more realistic
characterization[1], as some results obtained through synthetic (not realistic) simu-
lations have turned out to be incorrect once the implementation was applied in the
real world. In order to avoid repeating such experiences, we used a 3D simulation
environment implemented in Unity3D.
The second objective of this project is to obtain a movement prediction algorithm
capable of predicting the user behavior. In a city where there is a dense urban en-
vironment, the wireless connectivity mobiles users may be negatively affected by the
following factors:
• Suddenly changes in the receive signal levels due the shadowing, i.e., the attenu-
ation suffered due to possible obstacles, which in the worst case result in dropped
connections[9].
• Handovers processes triggered too late[9].
• Large decrease of the Data Rate value when considering a high HOM value, given
the larger permanence in a BS with a lower SINR value.
• Handover failures considering a high TTT value for the HO condition.
• Ping Pong effect considering a low TTT or low HOM values for the HO condition.
Considering all this undesirable cases, the way to avoid them is to have information
in advance, e.g, if the user is going to turn or to keep straight, or which is the most
probable BS to have a better signal level.
1
CHAPTER 1. INTRODUCTION 2
If we study the behavior of users in the real world we can see that the way they
move is not random but follows patterns [15]. Using methods of theory of movement
we can see that two to four activities cover 75% and eight cover 85% of all trips made
by the user in four weeks [7]. This information could help to predict mobility related
events, such as handovers, and to optimize user transmission scheduling.
Therefore, the main objective of the project is to create a prediction algorithm,
based on statistical studies obtained from the observation of the pseudo-random be-
havior of the users and a Kalman Filter, to avoid this undesirable events cited above.
The structure of the project is as follows:
• In the second chapter is described the simulation environment. In this chapter is
explained how has been considered and implemented this pseudorandomness of
the users in the simulation tool.
• In the third chapter is described the different movement prediction algorithms
which could be used for the main purpose of the project, and which is the used
one and why. Also in this chapter is explained in a detailed way which is the
main purpose of the movement prediction algorithm.
• In the fourth chapter is described the identified KPIs that will be used to evaluate
the prediction algorithm and a detailed evaluation of the performance.
• The fifth chapter contains conclusions and possible future work.
Chapter 2
Simulation Environment andModels
The programmed environment with Unity 3D Javascript language meant to simulate
an area of the city of Madrid (Spain) specifically the area where is the street known as
La Gran Via.
Figure 2.1: Simulation environment in unity3D
2.1 Unity 3D
To perform the simulation environment we used the system of game development
Unity3D. This system is a powerful rendering engine that includes a set of simple
and intuitive tools to create interactive 3D content.
This development system not only allows the previously cited actions but is also
Multi-platform, meaning that the user can create games for different operative systems,
3
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 4
e.g., Android, Windows or Mac-OS.
Another advantage to use this program is that the programmer has a series of
introductory videos to start working without major complications and a list of all
the specific functions of this system [17] corresponding to the different programming
languages that can be used, i.e., Javascript, C# Sharp and Boo.
This program, Unity 3D, will be needed for fulfill the main objectives of the project,
since it is quite important to use a realistic scenario. As cited in the introduction, past
experiences with other works performed in 3GPP have shown the need for a proper
characterization of realistic effects [1]. Some results obtained from synthetic simulations
have turned out to be incorrect once the implementation was applied to the real world.
Therefore a 3D simulation environment will be used to approach as closely as possible
the real world effects.
2.2 Simulation environment
This simulation environment has been created to approach to the greatest extent pos-
sible to the streets of a real city, so at the time of creation was took into account the
following factors taken from the TC2 layout[2].
The Dimensions for the TC2 layout are 387 m (east-west) and 552 m (south north).
The building height is uniformly distributed between 8 and 15 floors with 3.5 m per
floor.
Specifically:
• 25 Cross Roads with a characteristic number. The numeration starts from the
up left cross road increasing from left to right.
• Square shaped buildings. Both length (east-west orientation) and width (south-
north orientation) is equal to 120 m and the height of the building varies.
• Rectangle shaped buildings. Length is equal to 120 m, width is 30 m and the
height of the building varies.
• Park. Both length and width is 120 m.
• Sidewalks. They surround every building and are 3 m wide. Special types of
sidewalks are:
Gran Via sidewalk: Double (6 m wide) sidewalk between Gran Via road lanes.
Calle Preciados: South-north oriented sidewalk of 21 m between rectangle
shaped buildings.
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 5
• 1 Macro Base Station situated on the roof of one of the buildings.
• 12 Micro Base Stations situated in the different streets.
Figure 2.2: 2D simulation environment in unity3D
2.3 Mobility model
For the creation of the mobility model we will consider that a standard user of the
real world does not move in a completely random manner, but largely moves between
a number of preset points, such as from the gym to work and from work to home.
So the intention of this model is to continue this concept together with the fact that
there is randomness in the route that the user can choose to move from one point to
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 6
another. We will define a route as a sequence of cross roads. Every cross road has its
corresponding CrossRoad Collider, shown in the Figure 2.3.
Figure 2.3: Crossroad collider
Every time that the user reaches a cross road, he collides with the corresponding
CrossRoad Collider and this is considered as the trigger to start the procedure to
determine if the user is going to turn or to keep straight.
First of all it is important to show that this mobility model has considered a high
degree of randomness in the way that the user moves from one origin to one destination.
Therefore it has been considered a simulation in which the user has reached 100 times
his destination to prove, as we can see in the Figure 2.4, that the different routes that
the user can take to go from one origin to one destination are high enough to show a
realistic behavior.
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 7
Figure 2.4: Number of different routes from one origin to one destination
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 8
2.3.1 Users
The users are vehicles moving at a constant speed between 25 and 75 km/h and seeking
to move from one point to another following a behavior as close as possible as the one
which a real user would follow.
There are four types or groups of users, the difference lies in the position of their
home, where they start. Every home is located in a corner of the scenario and all the
users belong to one of this four positions. This means that if the user decides to return
home, he can only go back to the home associated to his group. The different groups
of users are:
• Users from North West.
• Users from North East.
• Users from South West.
• Users from South East.
These four types or groups of users will be able to move, in addition to home, to
three points on the map showed in the Figure 2.2 that are common to all:
• Work.
• University.
• Gym.
2.3.2 Turning criterion
The user decide to turn or to keep straight based on the angle α and its complementary
or supplementary β. The angle α determines the angle between the front of the user
and his destination. This angle can be defined given that the user points in every
moment with an imaginary line his destination. This imaginary line is represented in
the figure 2.5. It have been evaluated two possibilities, that the angle concerned is less
than or equal to 90o or the angle exceeds 90o.
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 9
Figure 2.5: User moving to the right pointing its destination
If α ≤ 90o:
Figure 2.6: User moving to the right with α≤90o
• β corresponds to the complementary angle of α.
• If α < β the user will decide to keep straight 90% of the times, and to turn 10% of
the times. In the case that the user reaches an intersection where turning could
mean exit the scenario, the user will decide to keep straight.
• If α ≥ β the user will decide to turn 90% of the times, and to keep straight 10%
of the times. In the case that the user reaches an intersection where keeping
straight could mean exit the scenario, the user will decide to turn.
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 10
If α > 90o:
Figure 2.7: User moving to the right with α>90o
• β corresponds to the supplementary angle of α.
• The fact that α is greater than 90o can only be because the user has its destination
behind him.
• In this situation the user will turn in order to get closer to its destination, as
would happen in a real situation.
It is important to notice that the probabilities has been fixed to 90% and 10% for
the sake of simplicity, but as we can see in the Figure 2.4 the results show a realistic
behavior, given that exist different routes to go to the same destination starting from
the same origin.
The turning algorithm is shown in the Algorithm 2.1.
1 if(HitCrossRoadCollider)
2 Probability = RandomValue (0 ,100);
3 // Return a random value between 0 and 100
4 if(alpha <= 90)
5 if(alpha < beta)
6 if(Probability <= 90) //90% of the times
7 straight ();
8
9 else //10% of the times
10 turn();
11
12
13 else
14 if(Probability <= 90) //90% of the times
15 turn();
16
17 else //10% of the times
18 straight ();
19
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 11
20
21
22 else
23 turn();
24
25
Algorithm 2.1: Turning Algorithm
2.3.3 Traffic lights
In this scenario there are specifically 25 crossroads each of them with their correspond-
ing vertical and horizontal semaphores represented in Figure 2.2. For the simulation
will take into account the following pattern that will be repeated every 90 seconds:
• 0-30 seconds: horizontal lights green, vertical lights red.
• 30-45 seconds: both horizontal and vertical lights red.
• 45-75 seconds: horizontal lights red, vertical lights green.
• 75-90 seconds: both horizontal and vertical lights red.
2.4 Propagation Model
2.4.1 Macro BS propagation model
The propagation model used is discussed in [2], specifically ITU-R UMa. This scenario
assumes that the macro BS is located on the roof of a building which has a domi-
nant visibility of users. The geometry of the propagation scenario of the Macro BS
corresponds to the one shown in Figure 2.8, where:
• ∆hm is the difference between the height of the last building and the height of
the mobile antenna.
• x is the horizontal distance between the mobile antenna and the edge of diffrac-
tion.
• R corresponds to the horizontal distance between the base station and mobile
antenna.
• θ = tan−1(|∆hm|x
).
• r =√
(∆hm)2 + x2.
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 12
• hb is the height of the BS.
• ∆hb is the relative height of the BS, with respect to the height of the building
hr.
• l is the path length covered by buildings that are between the user and the base
station.
• b is the separation between buildings.
Figure 2.8: Geometry of the propagation scenario ITU-R UMa showed in [2]
For calculating the path loss in decibels of this propagation scenario, the total trans-
mission losses are expressed as the sum of three different types of losses. Specifically:
L(R) =
Lfs + Lrts + Lmsd if Lrts + Lmsd > 0
Lfs if Lrts + Lmsd ≤ 0(2.1)
Where Lfs correspond to the loss in free space, Lrts diffraction loss from rooftop
to the street and Lmsd the multiple screen diffraction loss from the base antennas due
to propagation past rows of buildings, following the equations (2.2), (2.3) and (2.4)
respectively.
Lfs = 10log10
(λ
4πR
)2
(2.2)
Lrts = −20log10
[1
2− 1
πarctan
(sign(θ)
√π3
4λr(1− cos θ)
)](2.3)
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 13
Lmsd =
Lbsh + ka + kd log10(R/1000) + kf log10(f)− 9 log10(b) if l > ds
−10 log10(Q2M) if l ≤ ds
(2.4)
Where:
• ds is the ”settled field distance” criterion for grazing incidence.
ds = λR2
∆h2b
• Lbsh is a loss term that depends on the base station height.
Lbsh =
−18 log10(1 + ∆hb) for hb > hr
0 for hb ≤ hr
• ka =
54 for hb > hr
54− 0.8∆hb for hb ≤ hr and R ≥ 500
54− 1.6∆hb R/1000 for hb ≤ hr and R < 500
• kd =
18 for hb > hr
18− 15∆hbhr
for hb ≤ hr
• kf =
0.7(f/925− 1) for suburban centers with medium tree density
15(f/925− 1) for metropolitan centers
• QM =
2.35
(∆hbR
√bλ
)0.9
for hb > hrbR
for hb ≈ hrb
2πR
√λρ
(1ϑ− 1
2π+ϑ
)for hb < hr
• ϑ = tan−1(
∆hbb
)• ρ =
√∆hb
2 + b2
*Note that the frequency is expressed in MHz and the minimum coupling loss is set to
70 dB.
2.4.2 Micro BS propagation model
The propagation model used for the Micro BS is discussed in [2], specifically ITU-R
UMi. This scenario assumes that the transmitting antennas are well below the average
height of the buildings, which means that, unlike the previous model, there is great
visibility of users and the propagation is produced by reflection from the buildings.
For this scenario, a particular propagation geometry is needed. Specifically the one
shown in the figure 2.9, where:
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 14
• Tx corresponds to the position of the transmitting antenna.
• Rx corresponds to the position of the user.
• d1 is the distance between the cross road and the transmitter antenna.
• d2 is the distance between the cross road and the user.
Figure 2.9: Geometry of the propagation Scenario ITU-R UMi showed in [2]
For calculating the path loss in decibels of this propagation scenario will be con-
sidered three different cases. The first case in which the user, with their corresponding
receptor, is located on the same street as the transmitting antenna; the second case in
which the user is located on a perpendicular street and, finally, the case where the user
is located in a parallel street to the transmitter antenna.
Case 1: The LoS path loss in decibels of a receiver situated in the same street as
the transmitter follows the equation (2.5).
PLLoS(d1) = 40 log10(d1) + 7.8− 18 log10(h′Tx)− 18 log10(h′Rx) + 2 log10(fc) (2.5)
Where:
• d1 in this case corresponds to the distance between the transmitter and the re-
ceiver.
• fc is the frecuency expressed in GHz.
• h′Tx is the effective antenna height of the transmitter.
h′Tx = hTx − 1
CHAPTER 2. SIMULATION ENVIRONMENT AND MODELS 15
• hTx is the actual antenna height of the transmitter.
• h′Rx is the effective antenna height of the receiver.
h′Rx = hRx − 1
• hRx is the actual antenna height of the receiver.
*Note that we are assuming that the effective environment height in urban environ-
ments is equal to 1 meter.
Case 2: The path loss in decibels of a receiver situated in a perpendicular street
to the transmitter follows the equation (2.6).
PL = min(PL(d1, d2), PL(d2, d1)) (2.6)
Where:
• PL(dk, dl) = PLLoS(dk) + 17.9− 12.5nf + 10nf log10(dl) + 3 log10(fc)
• nf = max(2.8− 0.0024dk, 1.84)
Case 3: Finally, we will consider that the path loss of a receiver situated on a
parallel street to the transmitter will be infinite.
*Note that the minimum coupling loss is set to 53 dB.
Chapter 3
Prediction Algorithms
In order to predict the behavior of a real-world user, different prediction algorithms
are proposed. A Kalman Filter, an algorithm based on probabilities obtained through
statistics and finally a final prediction algorithm resulting from the combination of the
latter two.
The main objective of the prediction algorithm is to predict the full path which the
user will follow in order to make an optimal management of the resources available to
us, e.g., optimizing the time that a user remains connected to a BS.
Each prediction algorithm will be discussed in detail below.
3.1 Kalman Filter
Between 1960 and 1961 Rudolf Emil Kalman published his paper in which he explained
a recursive predictive filter that is based on the use of state space techniques and re-
cursive algorithms, revolutionizing the field of estimation. The Kalman filter estimates
the state of a dynamic system. It is a powerful mathematical tool and is widely used
for image processing and trajectory prediction[19]. One of the most important aspects
of the Kalman Filter is that it minimizes the MSE, as demonstrated at the end of the
subsection ”Correction”, allowing us to obtain an accurate prediction, which implies
that the Kalman filter is an optimal estimator. The algorithm follows the steps showed
in figure 3.1.
The algorithm is characterized by two stages, prediction and correction. First, the
prediction, in which an estimation of the future state is projected, also called estimation
’a priori’. Second, the correction, in which a measurement is taken when the estimated
state is reached in order to correct the initial prediction; this estimation is called ’a
posteriori’. Moreover the corrected measure is used to predict the next state. For all
calculations below, we will consider that we are working with discrete states.
16
CHAPTER 3. PREDICTION ALGORITHMS 17
Figure 3.1: Kalman filter circuit
3.1.1 State Vector
The state vector contains the values of the parameters we are interested to perform the
corresponding estimation. In our case we are considering planar movements and we
want to estimate the position of a vehicle traveling at a constant speed. The position
of both coordinates and the speed at which the user moves in a coordinate and the
other are the parameters that will be contained in our state vector. Specifically our
state vector is as follows:
~x =
xyxy
(3.1)
Where:
• x Corresponds to the position in the x coordinate.
• y Corresponds to the position in the y coordinate.
• x Corresponds to the speed in the x coordinate.
• y Corresponds to the speed in the y coordinate.
3.1.2 Dynamic Model
The dynamic model describes the evolution of the state vector over time noted by k.
This evolution can be represented by the following equation:
CHAPTER 3. PREDICTION ALGORITHMS 18
~xk = A~xk−1 +B~uk + ~wk−1 (3.2)
~uk is the optional control input vector, which in our model is associated to the
acceleration, and ~wk is the dynamic noise that we can assume as WGN with a covariance
matrix Q. This dynamic noise corresponds to the error of the input of the system
associated to the optional control input vector ~uk.
The covariance matrix Q depends on the standard deviation of the position in the
coordinate x (σx), in the coordinate y (σy) and on the standard deviation of the speed
in the coordinate x (σx) and in the coordinate y (σy) as represented in (3.3). We will
consider the x and y coordinates independent.
Q =
σ2x 0 σxσx 0
0 σ2y 0 σyσy
σxσx 0 σ2x 0
0 σyσy 0 σ2y
(3.3)
Given that we are working with discrete time steps, we can calculate the parameters
of the matrix Q as shown in (3.4). *Notice: T is the sampling time of the Kalman
Filter, which is equivalent to the prediction horizon.
Q =
T 4
40 T 3
20
0 T 4
40 T 3
2T 3
20 T 2 0
0 T 3
20 T 2
(3.4)
The square matrix A is the one that relates the state vector ~xk−1 with ~xk in the
absence of dynamic noise. Note that in practice this matrix varies at each step, but
specific to our scenario we can assume it constant, since our dynamic model is based on
the equations (3.5) and (3.6), the typical equations of RMUA. Notice that x is the first
derivative of the position with respect to time, i.e., speed, and x the second derivative
of the position with respect to time, i.e., acceleration.
xk = xk−1 + xk−1T +1
2xk−1T
2 (3.5)
xk = xk−1 + xk−1T (3.6)
The rectangular matrix B relates the optional control input vector ~uk with the state
vector ~xk.
With the equations (3.5) and (3.6) we can construct the matrix A and B being as
follows:
CHAPTER 3. PREDICTION ALGORITHMS 19
A =
1 0 T 00 1 0 T0 0 1 00 0 0 1
(3.7)
B =
T 2
2T 2
2
TT
(3.8)
3.1.3 Observation Model
The observation model relates the state vector ~xk with the measurement vector ~zk with
equation (3.9). This relationship between the state vector and the measurement vector
will allow us to make a correction to obtain a more accurate prediction.
~zk = H~xk + ~vk (3.9)
Where ~vk is the noise in the measurement, considering it as in the case of dynamic
noise, WGN with a covariance matrix R. We consider that both noise ~vk and ~wk are
independent.
R is the covariance matrix of the noise in the measurement, it depends on the
standard deviation of the error of the measurement (σzx , σzy) which depends on the
used positioning technology in x and y coordinates, considering both independent. We
can represent matrix R as in (3.10).
R =
(σ2zx 00 σ2
zy
)(3.10)
The fact that in our model we only want to estimate the position in both coordinates
allows us to construct the matrix H as follows:
H =
(1 0 0 00 1 0 0
)(3.11)
3.1.4 Algorithm
Kalman Filter algorithm is characterized by having two parts. The first part focuses on
predicting the next state, or state a priori, to be represented by ~x−k . The second part
focuses on correcting the ’a priori’ prediction to thereby obtain an improved version.
CHAPTER 3. PREDICTION ALGORITHMS 20
This will allow us to use this new estimation to predict the next state. This version
corrected, or ’a posteriori’ estimation, will be represented by ~x+
k .
For this section we consider that the initial values with which the prediction starts
are:
• Initial position of the state vector ~x0 corresponds to the user home.
• Covariance matrix of the state vector at the initial position P0 corresponds to
the covariance matrix of the dynamic noise Q.
Prediction
As mentioned above, this is the first part of the Kalman filter algorithm, which is
responsible for providing a first prediction of the next state. The estimated state, or
rather, the state ’a priori’ is calculated neglecting the dynamic noise and solving the
equations of the dynamic model, i.e., equation (3.12).
~x−k = A~x
+
k−1 +B~uk (3.12)
Then the covariance matrix of the state vector is calculated by the error propagation
law [4] with the equation (3.13).
*Notice: Superscript T means transpose.
P−k = AP+k−1A
T +Q (3.13)
Correction
Secondly, the Kalman filter algorithm, perform the correction scenario. This step im-
proves the ’a priori’ estimation ~x−k with observations taken at time k and the parameter
called Kalman Gain Matrix K. This parameter K is the gain or blending factor that
minimizes the ’a posteriori’ error covariance matrix P of the state vector.
To calculate the Kalman Gain Matrix we use the equation (3.14).
Kk = P−k HT (HP−k H
T +R)−1 (3.14)
The correction scenario follows the next steps:
• At time step k a measurement is made using the equation (3.9).
CHAPTER 3. PREDICTION ALGORITHMS 21
• The estimated measurement is calculated with the equation (3.15).
~zk = H~x−k (3.15)
• With the difference between the two measures we obtained the deviation vector:
~lk = ~zk − ~zk (3.16)
• The coefficients of the matrix K are calculated with the equation (3.14). It is
important to appreciate the fact that as the filter goes predicting states, the value
of the coefficients of the matrix K converge to provide a better correction.
• In this step we will have all the parameters that we need to perform the correction
of the ’a priori’ estimation with the equation (3.17).
~x+
k = ~x−k +Kk
~lk (3.17)
• Finally a correction of the state vector covariance matrix is performed following
the equation (3.18) based on the law of error propagation [4].
P+k = (I −KkH)P−k (3.18)
If we seek to minimize the expected value of the square of the magnitude of the
error of the ’a posteriori’ prediction, we can do it minimizing the trace of the estimate
covariance matrix P+ using the equation (3.18). Therefore after a few predictions
the parameter K, which depends on the value of the ’a priori’ predicted covariance
matrix P−, implying that also depends on the past ’a posteriori’ predicted value of the
covariance matrix P+ showed in equation (3.13), will tend to converge to its optimal
value allowing us to reduce the MSE of the prediction. That implies that the Kalman
filter is an optimal filter.
3.1.5 Sensitivity Analysis
Parameters
To perform the simulation section, different positioning technologies have been taken
into account in order to appreciate the impact of the deviation in the measurement for
each one. Besides, the acceleration will be zero, therefore we can disregard the optional
control vector ~uk. For the simulation we are considering the following positioning
technologies:
CHAPTER 3. PREDICTION ALGORITHMS 22
• GPS
• A-GPS
• UTDOA LTE
• OTDOA LTE
The error has a Gaussian density probability function, therefore we can take into
account that the maximum error follows the 3 times σ criteria, i.e., the maximum
error that we will consider that can occur will be inside the range of three times
the standard deviation with a probability of 99.7%[13]. Hence, knowing the error of
the different positioning technologies [5][14][16][20], we can calculate the mean with
equation (3.19), where µ is the mean. If we consider that for the maximum error of
the positioning technology the CDF value must be 99.7% following the 3σ criteria, the
standard deviation can be calculated with the equation (3.20), where σ is the standard
deviation. Finally this values are included as information into the simulation. This
parameters are shown in Table 3.1.
µ =min(Error) +max(Error)
2(3.19)
σ =max(Error)− µ√
2erf−1(2 · 0.997− 1)(3.20)
Table 3.1: Measurement Error
Technology Error (m) Mean StandardDeviationGPS [16] 3-15 9 2.18
A-GPS [14] 5-50 27.5 8.19UTDOA [20] 27-76 51.69 8.71OTDOA [5] 50-200 125 27.3
Simulation
In order to obtain the results of the simulation, the speed, the positioning technology
and the prediction horizon have been taking into account as the variables of the sim-
ulation. The prediction horizon corresponds to the time between each time step, i.e.,
the sampling time. This prediction horizon will affect in the distance of the predicted
position in respect to the actual position, or in other words, the smaller the predic-
tion horizon, the smaller the distance between the predicted position and the actual
position.
CHAPTER 3. PREDICTION ALGORITHMS 23
The simulation is based on the collection of data obtained from the difference be-
tween the actual position of the user and the estimated a priori position. With the
measures taken from the deviation in meters, the CDF is calculated using matlab.
The data obtained for the 80% of cases for different speeds and for different po-
sitioning technologies are shown in the Tables 3.2, 3.3 and 3.4. The CDF graphs are
shown in the Figures 3.2, 3.3 and 3.4, and show the evolution of the CDF. The vertical
axis is the probability and the horizontal axis the deviation in meters.
Table 3.2: Deviation 25 km/h
Technology PredictionHorizon (sec) Deviation (m)
GPS
2 8.55 17.377 29.510 61
A-GPS
2 17.815 33.47 40.310 51.4
UTDOA
2 30.75 507 5910 109
OTDOA
2 53.375 937 140.410 138
CHAPTER 3. PREDICTION ALGORITHMS 24
Table 3.3: Deviation 50 km/h
Technology PredictionHorizon (sec) Deviation (m)
GPS
2 17.125 56.27 8310 139
A-GPS
2 22.55 53.377 90.810 142.8
UTDOA
2 34.755 67.27 98.610 149.4
OTDOA
2 575 1207 140.410 181.1
Table 3.4: Deviation 75 km/h
Technology PredictionHorizon (sec) Deviation (m)
GPS
2 29.175 84.357 12710 193
A-GPS
2 32.575 94.57 16310 206
UTDOA
2 455 103.27 161.410 220
OTDOA
2 63.125 123.57 169.410 254.1
CHAPTER 3. PREDICTION ALGORITHMS 28
As we see in the Table 3.2, the tendency is very pronounced between the different
positioning technologies and show an accuracy for the 80% of the times better than
the mean error of each positioning technology.
One factor to consider in the simulation is the MSE. This value was calculated by
the equation (3.21) and is shown for different speeds and different prediction horizons
in Figure 3.5.
MSE =1
n
n∑i=1
( ~xi − ~xi)2 (3.21)
Where ~x is the vector of n predicted positions and ~x is the vector of the n true positions.
Figure 3.5: MSE values of the different speeds and prediction horizons
CHAPTER 3. PREDICTION ALGORITHMS 29
3.1.6 Conclusion
As can be seen in Figure 3.5, the results corresponding for an appropriate speed for city
driving, e.g., 25 km/h and a short prediction horizon, e.g., 2 seconds, are promising.
It can be said that effectively the Kalman Filter is a minimizer of MSE, given that for
all the positioning technologies the MSE is less than the average error. For example
the mean error value in the measurement of the GPS technology is 9 meters while the
MSE is 7.07. However the results obtained for the other speeds, 50 and 75 km/h, and
prediction horizons are not as good. This is because the distance between the position
of the user and the predicted position depends on the prediction horizon and the
speed following the equation (3.22). If we consider the optimal case for the positioning
technology with no error in the measurements, in the case that the prediction is made
just before turning, this distance will match with the maximum deviation.
DistancePred = PredHorizon · Speed (3.22)
Where:
• DistancePred is the distance between the position of the user and the predicted
position.
• PredHorizon is the prediction horizon.
• Speed is the speed of the user.
If we define a prediction horizon for the filter of, e.g., 10 seconds, and a speed of, e.g.,
75 km/h, the value of the DistancePred will be of 208.33 meters. If a prediction is made
just before reaching a cross road, in the case where no deviation in the measurement
is considered, the existing deviation between the predicted position and the actual will
be high, of 208.33 meters, given that the Kalman filter is not able to predict turns
of 90o or 180o. The fact that the Kalman filter is not able to predict this kind of
turns is because the prediction equation (3.12) is based on the Rectilinear Movement
Uniformly Accelerated (RMUA). As we can see in equation (3.5), the RMUA only
consider rectilinear movement and under no circumstances oblique. If the user advances
with a certain speed in a particular coordinate, the predicted position will be based
on that speed and the actual position of the user. With this approach, if a user turn
with a high angle of rotation, the algorithm will need a larger period of correction to
recalculate the prediction based on measurements taken afterwards. In essence, given
that the Kalman Filter is based on RMUA, the predicted position will change in respect
to the actual position only in the coordinate which the speed is not zero. For example,
if the user has a speed of 13 m/s in the coordinate x and 0 m/s in the coordinate y
CHAPTER 3. PREDICTION ALGORITHMS 30
and a position pos = (x, y), the KF with a prediction horizon of 1 second will predict
the position posPred = (x+ 13m, y + 0m) given the RMUA equations. The worst case
possible in our 3D model environment occur when the KF makes a prediction of the
position of the user just before making a turn of 90o, in this case the predicted position
and the actual position will be different in both coordinates. Other factor to take into
account is that the higher the prediction horizon and speed, the higher will be the
difference between the position of the user and the predicted position, what could lead
to bigger deviation errors. For having small deviations the values of the prediction
horizon and the speed should be as low as possible.
If we consider only the case that interests us, i.e., reduced speed because users
circulate within a city and a low prediction horizon, the Kalman Filter performance
is good. However in each step is only capable to predict a few meters ahead of the
current position and in no instance is able to predict the full route. This suggests that
the Kalman Filter does not help us to realize the main objective of the prediction task.
3.2 Statistical Prediction
In order to solve the inability of the Kalman Filter to predict complete routes, a pre-
diction algorithm based on Statistics is proposed. As mentioned in previously sections,
the behavior of a user in the real world tends to follow patterns [15]. Given this pat-
terns, this pseudo-random behavior can be predicted if the different users are observed
for a long enough period of time. This prediction will allow us to predict complete
routes which the users will follow to go from one point to another of the map.
3.2.1 Obtaining the Statistics
First all the users will be tracked to provide some statistical values. The procedure of
the statistical study is as follows:
• A route is defined as a sequence of cross roads.
• The routes taken by users of the four different groups are observed for a period
of time.
• This observation period will be defined as the time it takes to each user to perform
one hundred routes in one unique simulation.
• We will have 25 users of each group.
CHAPTER 3. PREDICTION ALGORITHMS 31
• After the observation, it is checked how many times have a user gone from a
particular origin to a particular destination to assign probabilities to the destina-
tions in function of the origins. This value will be known as Origin-Destination
Probability (ODP).
• Finally it is checked how many times have a user, from a specific group, followed
one of the possible routes given a specific origin and destination. This will allow
us to assign probabilities to each of the possible routes. These probabilities are
conditionally assigned in function of the origin and the destination. In other
words, the sum of all routes that have the same origin and the same destination
will be equal to one. This parameter will be known as Route Probability (RP).
3.2.2 The Prediction Procedure
The prediction algorithm based on Statistics works as follows:
1. The most probable route is defined as the predicted route reading the statistical
study.
2. When the user reaches the cross road, the probabilities are recalculated only in
function of the intersections that has already reached. All the routes which do
not contain the reached cross roads will be discarded.
3. If it turns out that the algorithm had predicted a sequence of cross roads and
the user reaches one that does not match with one of the predicted sequence,
the predicted route is reassigned in function of the recalculated probabilities.
The ODP and the RP are recalculated following the equations (3.23) and (3.24)
respectively. Given the equations, the predicted route will be the one which
contains all the reached cross roads and the highest probability.
RP+jk =
0 if Rjk /∈ Ωj
RP−jk +∑m=r
m=1 RP−jm
Ωjif Rjk ∈ Ωj
(3.23)
ODPj =
0 if Ωj = 0
Ωj∑i=ni=1 Ωi
if Ωj 6= 0(3.24)
Where:
ODP is the Origin Destination Probability.
R is a Route given a particular origin and destination.
RP− is the Route Probability before the correction.
CHAPTER 3. PREDICTION ALGORITHMS 32
RP+ is the Route Probability after the correction.
Ω are the Possible Routes for a particular origin and destination given the
already reached cross roads.
j is the index which determines the origin and destination. In our case,
j ∈ [1, n], where n = 12.
k is the index which determines the route of a particular origin and desti-
nation.
m is the index which determines the route of a particular origin and desti-
nation which is not possible given the Ω.
r is the total number of not possible routes for a particular origin and
destination.
4. If is the end of the route, the algorithm returns to the step 1, if not, return to
the step 2.
The prediction algorithm based only on statistics is shown in the Algorithm 3.1.
1 ReadStats ();
2 // Defines a predicted route based on the statistical study
3 while(true)
4 if(HitCrossRoadCollider)
5 if(PredictionBad)
6 CorrectProbabilities ();
7
8 if(EndOfRoute)
9 ReadStats ();
10
11
12
Algorithm 3.1: Statistic Prediction Algorithm
3.2.3 Conclusion
This algorithm, unlike the Kalman Filter, is capable of predicting full routes indicating
where is the user destination, however this solution is not complete. If we consider the
worst case, the distance that can exist between an intersection and another may be up
to 120 meters, which means that if the prediction is wrong the deviation between the
predicted and the actual position may be up to 169.70 meters, just as shown in Figure
3.6. This deviation is not tolerable if we want an accurate prediction in order to fulfill
the main objective.
CHAPTER 3. PREDICTION ALGORITHMS 33
Figure 3.6: Example of deviation in the worst case possible
3.3 Statistical Prediction enhanced with a Kalman
Filter
This prediction algorithm, unlike the other two, intended to alleviate the inability to
predict a full path, experienced by the Kalman Filter, and the large deviation errors
experienced by the algorithm based only on statistics, through a joint implementation
of both.
The algorithm is able to predict full paths because it uses the statistical prediction
algorithm. This implies that on this occasion, the collection of statistics taken from the
observation from the different users will be also required, as discussed in the previous
algorithm.
The difference lies in the fact that on this occasion the algorithm has a Kalman
Filter to help us to predict the next cross road which the user will reach in function of
the predicted position by the Kalman Filter.
CHAPTER 3. PREDICTION ALGORITHMS 34
3.3.1 Prediction of the Next Cross Road
To predict the next cross road the following parameters have been taken into account:
• As explained in Section 3.1.6, in order to reduce the deviation between the pre-
dicted position and the actual position, a prediction horizon of 50 ms and a speed
of 30 km/h are established. It has been considered a speed of 30 km/h given that
is an adequate speed for city driving, and 50 ms for the prediction horizon since
a lower value than the proposed could not be implementable or useful in the real
world. Furthermore its low enough, inasmuch as with this values of the param-
eters the predicted distance, or in other words, the maximum deviation in the
case which considers no error in the measurements, will be of 0.416 meters, and
this deviation is tolerable.
• CRPT (Cross Road Prediction Time). This parameter is the runtime for the
prediction of the next cross road, i.e., the time that the KF will be predicting
every 50 ms the next cross road. This time has been considered given that the
KF is not able to predict turns of 90o degrees, and the first prediction could
be wrong. The Figure 3.7 shows how much time needs the KF to predict the
correct cross road with a speed of 30 km/h. This results have been obtained
from simulations in which were compared the predicted cross road by the KF
and the actual cross road which the user was heading to, until the value of the
”needed time” parameter converged. This delay which the KF needs to predict
the next cross road with a particular speed was calculated with the equation
(3.25).
Delay =1
N
i=N∑i=1
Delayi (3.25)
Where:
Delay is the mean Delay after N cross roads.
Delayi is the Delay of cross road i.
i is the index of cross roads.
N is the needed number of cross roads to make Delay converge, i.e.,1N
∑i=Ni=1 Delayi ≈
1N+k
∑i=N+ki=1 Delayi ± 10ms, where k ∈ N.
Reasonable values of the CRPT for a particular positioning technology would be
the values above the maximum mean delay, i.e., CRPT > Max(Delay). It has
been considered a higher value for cases in which the delay for a particular cross
road is higher than the mean value, i.e., if we consider a CRPT of 1.36 seconds it
CHAPTER 3. PREDICTION ALGORITHMS 35
may work in most of the cases, but if the used positioning technology is OTDOA
LTE in some cross roads this CRPT could be too low and the prediction could not
work. The maximum delay of a particular cross road could be different between
simulations since the deviation in the measurement of the different positioning
technologies follows a normal distribution, therefore no specific value can be
fixed. Simulations have shown that if the CRPT is equal to the mean delay plus
1 second, i.e, CRPT = Delay + 1, the prediction works. For example the CRPT
for the GPS positioning technology could be 2 seconds. In essence, we oversize
the value of this parameter to be sure that the prediction will be correct.
The prediction of the next cross road follows the next steps:
1. When the user hits the CrossRoad Collider the counter of the CRPT starts and
the KF performs the first prediction of the next cross road. The cross road located
north, south, east or west of the user will be defined as the next cross road in
function of where is pointing the predicted position of the KF.
2. Waits 50 ms.
3. Another prediction of the next cross road is done, the algorithm return to the
step 2. Repeat until the CRPT is equal to 2 seconds.
Figure 3.7: Delay in determining the correct next cross road for different positioningtechnologies
CHAPTER 3. PREDICTION ALGORITHMS 36
3.3.2 The Prediction Procedure
The procedure of the prediction algorithm is as follows:
1. Reading the statistical study, the most probable route is defined as the predicted
route.
2. When the user hits a CrossRoad starts the CRPT.
3. During all the CRPT the Kalman Filter predicts a cross road every 50 ms.
4. If the predicted cross road does not correspond with the previous prediction,
the probabilities are recalculated in function of the cross roads that the user has
already reached and predicted cross road by the KF, i.e., the next predicted route
must contain the reached cross roads and the one predicted by the KF. The RP
and ODP are recalculated following the equations (3.26) and (3.27) respectively.
Given the equations, the next predicted route will be defined as the one which
contains all the reached cross roads and the predicted one by the KF and also
has the higher probability.
RP+jk =
0 if Rjk /∈ Ωj
RP−jk +∑m=r
m=1 RP−jm
Ωjif Rjk ∈ Ωj
(3.26)
ODPj =
0 if Ωj = 0
Ωj∑i=ni=1 Ωi
if Ωj 6= 0(3.27)
Where:
ODP is the Origin Destination Probability.
R is a Route given a particular origin and destination.
RP− is the Route Probability before the correction.
RP+ is the Route Probability after the correction.
Ω are the Possible Routes for a particular origin and destination given the
already reached cross roads and the predicted one by the Kalman Filter.
j is the index which determines the origin and destination. In our case,
j ∈ [1, n], where n = 12.
k is the index which determines the route of a particular origin and desti-
nation.
m is the index which determines the route of a particular origin and desti-
nation which is not possible given the Ω.
CHAPTER 3. PREDICTION ALGORITHMS 37
r is the total number of not possible routes for a particular origin and
destination.
5. If the CRPT is not over, return to step 3, if it is, continue to step 6.
6. If is the end of the route, the algorithm returns to the step 1, if not, return to
the step 2.
The Prediction Algorithm based on Statistics enhanced with a KF is shown in the
Algorithm 3.2.
1 ReadStats ();
2 // Defines a predicted route based on the statistical study
3 while(true)
4 if(HitCrossRoadCollider)
5 if(EndOfRoute)
6 ReadStats ();
7
8 while(CRPT)
9 CrossRoad = NextCrossPrediction ();
10 // Returns the predicted Cross Road
11 if(CrossRoad != PreviousCrossRoad)
12 CorrectProbabilities ();
13
14 PreviousCrossRoad = CrossRoad;
15
16
17
Algorithm 3.2: Statistics with KF Prediction Algorithm
3.3.3 Conclusion
This prediction algorithm, like the one based only on statistics, is able to predict full
routes, however, the main difference lies in the ability of correctness of the predicted
sequence of cross roads. While the prediction algorithm based only on statistics is only
capable of performing a correction once a cross road, this one is able to perform a
correction based on the predicted position by the KF.
Since the main objective of the prediction algorithm was to predict full routes
suffering small deviations between the actual position and the predicted position, it
appears that this algorithm is suitable for this purpose.
CHAPTER 3. PREDICTION ALGORITHMS 38
3.4 Purpose of the Prediction Algorithm
Once we have the movement prediction algorithm, the next step is to assign a purpose.
The main purpose of the prediction algorithm is to be able to predict to which base
station will connect the user in function of the predicted path, so in theory obtaining
an improvement of the time that the user remains connected to a base station and a
reduction of dropped connections and hand over failures.
3.4.1 Obtaining the Predicted Base Stations
In the same way that has been done for the prediction of the routes taken by the user,
in order to make a prediction of the base stations, a statistical study must be done in
order to assign a sequence of antennas to a particular route. This way we can define a
route of base stations as the sequence of antennas to which the user will be connected
if he follows a particular sequence of cross roads. The procedure of the statistical study
is as follows:
• The simulation starts. One simulation mean 100 routes.
• The UE starts without an established connection to a BS and search for one.
• Every time that the UE connects to a new BS, the characteristic number of the
BS is stored and cataloged associating this BS to the route that the user is doing.
• Repeat this process until the hundred routes are finished.
To perform this procedure a reference scenario has been created which simulates
the current telecommunications model that we eventually have.
3.4.2 Reference Scenario
The reference scenario pretend to simulate the current telecommunications model that
we have nowadays. The key factor of this scenario is the process of handover and it has
been implemented as a script in the simulation. Before proceeding we will define that
the UE takes periodically downlink radio channel measurements of the power level of
all BS [6].
Handover Procedure in LTE
Handover or Handoff is called to the procedure by which a service is transferred from
a station to another when the link quality is insufficient in one of them.
CHAPTER 3. PREDICTION ALGORITHMS 39
Condition
To have a trigger that tells when to perform a HO a condition is needed. The condition
which indicates if it is necessary to perform a HO is based on the link quality. We
consider that the link quality is insufficient when the difference of the RSRP between
the BS to which the user is connected, or in other words old BS, and the new, is greater
or equal to the Margin Handover, specifically:
RSRPA ≥ RSRPB +HOM (3.28)
Where:
• RSRPA is the Reference Signal Receiver Power from the new BS.
• RSRPB is the Reference Signal Receiver Power from the old BS.
This margin is a way to make sure that the signal strength of the new base station
is surely greater. HOM usually tend to be 1, 3 or 5 dB1. This HO process is represented
in the Figure 3.8, where the HO point symbolizes the instant when the HO conditions
are fulfilled and the HO is triggered.
Once the margin is satisfied, a period of time called Time To Trigger (TTT) is
waited to ensure thereby that no ping pong effect will be produced [10]. The value of
TTT tends always to be multiples values of 20 ms2.
Once the condition of the HOM is satisfied during all the TTT, the procedure of
the HO will be started.
Procedure
Based on the measurements of the reports, if the above conditions are met, the serving
BS initiates the preparation of the HO [6]. This preparation involves an exchange of
signaling between the two BS and admission control of the UE in the target BS.
Once the preparation of HO is successful, the HO decision is finally taken and a
HO Command is sent to the UE. The connection between the base to which the user
is connected and the UE is released. After releasing the connection, the UE tries to
sync and access the new BS using the random access channel (RACH).
Finally if the synchronization has been successful with the new base station, this
last transmits an uplink scheduling grant to the UE. Then the UE sends a confirmation
1Simulations for all the possible cases will be made, since most of the existing information aboutthe HOM cases do not fit to the TC2 layout.
2As in the HOM case, there is no information about the fitting value of the TTT for the TC2scenario, therefore simulations with the different values will be done.
CHAPTER 3. PREDICTION ALGORITHMS 40
Figure 3.8: Scenario of handover process
message to the base station to complete the procedure of HO. This procedure its shown
in Figure 3.9. Taking into account that this procedure takes time, for the realization
of the simulations and for the sake of simplicity of the procedure, this time will be
considered equal to zero.
The HO Procedure Algorithm is shown in the Algorithm 3.3
1 while(TTT)
2 if(RSRP_A >= RSRP_B + HOM))
3 HOStart = true;
4
5 else
6 HOStart = false;
7 break;
8
9
10 HOProcedure ();
Algorithm 3.3: HO Algorithm
Where the procedure of the handover only can start if HOStart is true for the whole
TTT.
CHAPTER 3. PREDICTION ALGORITHMS 42
3.4.3 Prediction Scenario
After performing the statistical analysis we have the following types of probabilities:
• Origin - Destination Probability (ODP): This parameter will indicate us the
probability of a user to go from particular origin to a particular destination
without evaluating the sequence of crossings that the user take.
• Route Probability (RP): This parameter will indicate us the probability of choos-
ing a particular route, or in other words, the probability of following a specific
sequence of cross roads. This parameter is conditioned to a specific origin and
destination, i.e., the sum of the probabilities of all routes with the same origin
and the same destination will be equal to 1. RPt(BSi) corresponds to the prob-
ability of a route which contains the antenna BSi in their sequence of antennas
in the time step t.
• Antenna Probability (AP): For each BS there is an AP, been the value of each of
them the probability to be the next antenna to which the user will be connected
to. It is calculated by the equation (3.29)3. As can seen, this parameter depends
both on the ODP and the RP, so the more accurate is the calculation of the
probabilities of the routes, the more accurate will be the AP.
APt(BSi) =n∑j=1
(ODPj ·
m∑k=1
RPjk(BSi)
)(3.29)
Where:
• t corresponds to the time interval which the user is connected to the same antenna.
Every time the user connects to the next antenna the value of t will increase in
1 until the predicted route is corrected.
• n corresponds to all the possible combinations of origins and destinations. In our
particular case n = 12.
• m corresponds to all the possible routes, or sequences of cross roads, for a par-
ticular ODP, which have in their sequence of antennas the BSi.
• i is a particular BS. In our case i ∈ [0, 12]
3See the example in Section 3.4.3.
CHAPTER 3. PREDICTION ALGORITHMS 43
Prediction HO Procedure
In this scenario the HO procedure does not take place as in the reference case, since
we will rely only in the AP of each antenna and the RSRP of the BS with the highest
AP, i.e., the most probable.
The procedure is as follows:
• A HOM and TTT for the prediction scenario is established.
• The UE makes measurements of the signal power of the BS with the higher AP
for every x seconds. This time x is determined by the report time.
• If the RSRPPredBS, i.e., the RSRP value of the BS with higher AP, is higher or
equal than the RSRP value of the BS which the user is connected plus the HOM,
the procedure of the HO will be started. Specifically:
RSRPPredBS ≥ RSRPB +HOM (3.30)
Where:
• RSRPPredBS is the Reference Signal Receiver Power from the BS with the higher
AP.
• RSRPB is the Reference Signal Receiver Power from the old BS.
The main difference between this HO procedure and the one which has been stated
in the reference scenario lies in the fact that the UE has a prior knowledge of where
the user is going to be connected in the future, allowing us to establish a HOM and a
TTT lower than for the reference.
The objective of reducing the value of these parameters is to reduce the time that a
user remains waiting for the HO, thus increasing the time of connection. By reducing
the HOM the user change his BS before, implying higher CINR levels in the prediction
scenario than in the reference.
The Prediction HO Procedure Algorithm is shown in the Algorithm 3.4
1 while(TTT)
2 if(RSRP_PredBS >= RSRP_B + HOM))
3 HOStart = true;
4
5 else
6 HOStart = false;
7 break;
8
CHAPTER 3. PREDICTION ALGORITHMS 44
9
10 HOProcedure ();
Algorithm 3.4: Prediction HO Algorithm
Where the procedure of the prediction handover only can start if HOStart is true
for the whole TTT.
Prediction Algorithm Behavior
The steps that the prediction algorithm perform in this scenario are:
1. A most probable route and sequence of antennas are defined in function of the
probabilities obtained from the statistical study.
2. With the help of the KF we correct the path or discard routes that are no longer
possible given the cross road predicted by the KF and the previous reached cross
roads.
3. The AP from each BS are calculated.
4. As described in the section 3.4.3, if the UE detects that the difference in signal
strength between the current BS and predicted is greater or equal than the HOM
during all the established TTT, performs the HO.
5. All the AP’s are recalculated for the next time step t.
6. When the user reaches a cross road the ODP, RP and AP probabilities are recal-
culated using the prediction of the KF. In this point the AP should be recalculated
in case that the previous predicted route was not the route followed by the user,
given that the sequence of antennas are defined by the predicted route.
7. The algorithm waits until the condition of the step 4 is fulfilled or to reach another
cross road.
The procedure is represented in a Block Diagram shown in Figure 3.10.
CHAPTER 3. PREDICTION ALGORITHMS 46
Example of Prediction
We consider that the user is leaving their home, therefore we can consider the following
ODPs:
• ODP1(Home→ Gym) = 0.1
• ODP2(Home→ Work) = 0.6
• ODP3(Home→ Uni) = 0.3
Furthermore, as a user can choose different routes to travel from the same origin
to the same destination, we could have for example:
• Destination Gym
RP11 = 0.5
RP12 = 0.5
• Destination Work
RP21 = 0.2
RP22 = 0.5
RP23 = 0.3
• Destination Uni
RP31 = 1
If we suppose that the sequences of antennas corresponding to the routes are:
• Destination Gym
Route 1 → Sequence BS1, BS5 & BS7
Route 2 → Sequence BS1, BS6 & BS7
• Destination Work
Route 1 → Sequence BS3, BS8 & BS9
Route 2 → Sequence BS3, BS7 & BS9
Route 3 → Sequence BS3, BS6 & BS9
• Destination Uni
Route 1 → Sequence BS2, BS1 & BS5
CHAPTER 3. PREDICTION ALGORITHMS 47
Having this sequences of antennas and probabilities of the routes we are now able
to calculate the probability of the antenna as follows:
We define the time interval as the time which the user is connected to the same
antenna.
First time interval t = 1:
• AP1(BS1) = (RP11 +RP12) ·ODP1
AP1(BS1) = (0.5 + 0.5) · 0.1 = 0.1
• AP1(BS2) = RP31 ·ODP3
AP1(BS2) = 1 · 0.3 = 0.3
• AP1(BS3) = (RP21 +RP22 +RP23) ·ODP2
AP1(BS3) = (0.2 + 0.3 + 0.5) · 0.6 = 0.6
The rest of the probabilities of the antennas will be zero because according to statistics
the user will not be connected to these antennas.
Second time interval t = 2:
• AP2(BS1) = RP31 ·ODP3
AP2(BS1) = 1 · 0.3 = 0.3
• AP2(BS5) = RP11 ·ODP1
AP2(BS5) = 0.5 · 0.1 = 0.05
• AP2(BS6) = RP12 ·ODP1 +RP23 ·ODP2
AP2(BS6) = 0.5 · 0.1 + 0.3 · 0.6 = 0.23
• AP2(BS7) = RP22 ·ODP2
AP2(BS7) = 0.5 · 0.6 = 0.3
• AP2(BS8) = RP21 ·ODP2
AP2(BS8) = 0.2 · 0.6 = 0.12
The rest of the probabilities of the antennas will be zero because according to
statistics the user will not be connected to these antennas.
Third time interval t = 3:
• AP3(BS5) = RP31 ·ODP3
AP3(BS5) = 1 · 0.3 = 0.3
CHAPTER 3. PREDICTION ALGORITHMS 48
• AP3(BS7) = (RP11 +RP12) ·ODP1
AP3(BS7) = (0.5 + 0.5) · 0.1 = 0.1
• AP3(BS9) = (RP21 +RP22 +RP23) ·ODP2
AP3(BS9) = (0.2 + 0.3 + 0.5) · 0.6 = 0.6
The rest of the probabilities of the antennas will be zero because according to
statistics the user will not be connected to these antennas.
These would be the a priori probabilities, whenever the probabilities of the routes
change, will also change the probabilities of the antennas. Every time the user switches
base station, the probabilities of each antenna will be recalculated.
Chapter 4
Performance Evaluation
The main objective of the prediction algorithm is to show a decrease in the HO Failures
and Dropped Connections and also an increase in the served time that the user will
be with a satisfactory connection. With the prediction algorithm we have in advance
information of the Base Stations to which the user is going to be the connected. This
information could help the UE to avoid unnecessary attempts of HO, which could end
in a HO Failure or in the worst case in a dropped connection.
All the simulations were made considering 40 users, 10 from each group. The time
results, e.g., the time that the user remains disconnected, connected, or in HO, are
a mean of the sum of this particular time of each user. However, for the sake of
understanding, the number of dropped connections or HO Failures are shown as the
sum of this particular value of each user, and not the mean.
For the simulations two scenarios are going to be considered:
• Reference Scenario: This scenario intends to reproduce the performance of the
actual communication model, which has not a prediction algorithm.
• Prediction Scenario: The simulations done with this scenario will show the per-
formance of the prediction algorithm.
4.1 Performance Indicators
To perform the simulation section must be taken into account the following parameters
to make an objective evaluation of the improvement when the prediction algorithms
are used. These parameters are:
• Geometry Value: The Geometry Value or G-Factor corresponds to the value of
the SINR (Signal To Interference Ratio)[8]. The SINR is calculated with the
equation (4.1).
49
CHAPTER 4. PERFORMANCE EVALUATION 50
SINR =P
I +N(4.1)
Where:
P is the power of the incoming signal of interest.
I is the interference power of the other (interfering) signals in the network.
N is the noise term.
• Dropped Connection: A Dropped Connection is occurred in the case that for a
continued second the geometry value of the user is below a threshold value.
• Connection not Served: It is considered that a connection is not properly served
if the geometry value of the user is below the threshold value.
• HO Failure: A HO failure is considered if, after the finalization of the HO proce-
dure, for a continued second the geometry value of the user is below a threshold
value.
• Threshold Value: This parameter corresponds to the minimum acceptable Ge-
ometry Value. For the simulations this parameter will be fixed to -4 dB[8].
• Time Connected: Time a user stays connected to a BS without suffering connec-
tion drops or HO procedures.
• Time In HO: Time spent in the process of HO. This parameter depends on the
value of TTT,since the HO procedure has been considered as ideal with a delay
of zero seconds. In this simulation it was considered that the value of TTT can
be between 20 ms and 640 ms. TTT=2i · 20ms, specifically TTT=[20, 40, 80,
160, 320, 640]ms.
• Time Not Served: Time a user stays connected but with a geometry value below
the threshold value.
• Time Disconnected: Time a user stays offline, or in other words, with a dropped
connection.
• Connection Time ratio of Improvement: This value is given by the equation (4.2).
The result will be shown in terms of %.
Ratio =(TimeCP − TimeNSP )− (TimeCw/oP − TimeNSw/oP )
Timew/oP − TimeSw/oP· 100 (4.2)
Where:
CHAPTER 4. PERFORMANCE EVALUATION 51
TimeCP : Is the time which the user stays connected in the prediction sce-
nario.
TimeNSPred: Is the time which the user stays, for less than a second, with
a geometry value below the threshold value in the prediction scenario.
TimeCw/oP : Is the time which the user stays connected in the reference
scenario.
TimeNSw/oPred: Is the time which the user stays, for less than a second,
with a geometry value below the threshold value in the reference scenario.
The worst possible value is -100%.
The best possible value has no limit.
• Dropped Connections Ratio of Improvement: This value is given by the equation
(4.3). The result will be shown in terms of %.
DropRatio =DropConw/oP −DropConP
DropConw/oP· 100 (4.3)
Where:
DropConP : Are the dropped connections produced in the prediction sce-
nario.
DropConw/oP : Are the dropped connections produced in the reference sce-
nario.
The worst possible value has no limit. When the Dropped Connections of
the reference scenario are 0, the value of this ratio is -∞.
The best possible value is 100%.
• HO Failures Connections Ratio of Improvement: This value is given by the equa-
tion (4.4). The result will be shown in terms of %.
HOFRatio =HOFw/oP −HOFP
HOFw/oP· 100 (4.4)
Where:
HOFP : Are the HO Failures produced in the prediction scenario.
DropConw/oP : Are the HO Failures produced in the reference scenario.
The worst possible value has no limit. When the Dropped Connections of
the reference scenario are 0, the value of this ratio is -∞.
The best possible value is 100%.
CHAPTER 4. PERFORMANCE EVALUATION 52
Table 4.1: Possible Simulation Choices
HOM (dB) TTT (ms)5 640, 320, 160, 80, 40, 203 640, 320, 160, 80, 40, 201 640, 320, 160, 80, 40, 20
4.2 Simulation Setup
For proper simulation and reliable results, the first step was to assign each user a
sequence of cross roads to follow during 300 seconds, which would be repeated for each
simulation. To assign this sequence of cross roads to each user, another simulation was
made to store the sequence of cross roads which the user reached following the behavior
described in the Section 2.3.2. This sequences of cross roads which were stored, are the
ones which every user will follow in the next simulations, each user his corresponding
sequence. This sequence of cross roads constitute several routes (several origins and
destinations).
As told previously, it has been taken into account two possible scenarios:
• Case Without Prediction.
• Case with Statistic Prediction with an implemented KF.
4.2.1 Scenario Without Prediction
This case is intended to simulate a real environment in which no prediction algorithm is
used. This scenario aims to simulate the characteristics of the communications model
currently available. As told in Section 3.4.2, the steps that the UE follows for the
realization of the HO are:
• Check the signal strength of all the BS except the one which the UE is connected.
• If for all the TTT the power of the signal of one of the BS’s is higher than the
power of the one that the user is already connected plus the HOM the HO will
be realized.
To reflect accurately the real world, the values of the Table 4.1 are proposed. 18
different simulations are possible with the proposed values.
What is expected from the simulation of this scenario is a time of HO high com-
pared to the other scenarios, but a disconnected time and a time without service low.
Moreover, since the HO Condition is checked every report time and the UE checks the
RSRP of all the BS’s, the dropped connections and HO failures should be also low.
CHAPTER 4. PERFORMANCE EVALUATION 53
4.2.2 Scenario with Statistic Prediction and KF
This prediction algorithm is propose as a solution for different purposes. Given that we
know with a certain probability where is going the user to be connected, the proposed
algorithm could be used as a solution to decrease the HO Failures avoiding unnecessary
attempts of HO, and also to avert possible dropped connections when the geometry
value of the user falls below the threshold value for a continued second. Another
possibility is to reduce the time which the user remains checking the condition of HO
because we have an information which told us where the user is going to be, and thus
provide us information about the sequence of antenna which the user will be connected,
hence a reduced TTT value could be considered.
As told in Section 3.4.3, the steps that the UE follows for the realization of the
prediction HO are:
• Checks the power of the Antenna with the highest AP, or in other words, the
most probable.
• If for all the TTT defined for the prediction, the power of the signal of the
predicted BS is higher than the BS where the user is already connected plus the
HOM, the HO Procedure will be triggered.
For the simulation of this scenario the same values of the previous scenario are
proposed, the ones of the Table 4.1.
What is expected from the simulation of this scenario is a reduced time of HO
compared to the scenario without prediction. Given that the prediction of the BS is
based on the prediction of the route, and this algorithm dispose of a KF which will
predict the route that the user will take with a high precision, using this algoithm we
will obtain less HO Failures and less Dropped Connections. Moreover, it is expected
a higher Connect Time compared to both scenarios given the reduction of the HO
time, HO Failures and Dropped Connections. Finally the improvement value ratio
should be above 1 for the implementation of this prediction algorithm, the one with
an implemented KF. That would mean that the degree of satisfaction of the user is
higher.
CHAPTER 4. PERFORMANCE EVALUATION 54
4.3 Results obtained from the simulation
In the following section the results of the simulations are shown. Before discussing the
results it is important to note that:
• Time Results:
The results of the scenario without prediction are shown by the green bars.
The results of the statistical prediction stage with a KF implemented are
shown by the blue bars.
The percentage above the bars represent the amount of time of the corre-
sponding parameter with respect to the total amount of time.
• Ratio Results:
The ratio of time improvement of the prediction algorithm is represented by
the green bars.
The ratio of HO Failures improvement of the prediction algorithm is repre-
sented by the blue bars.
The number above the bars represent the value of the ratio of improvement
of the corresponding prediction algorithm.
4.3.1 Inconsistent Results
The simulations of the prediction scenario and the reference scenario were made con-
sidering all the possible combinations of the values of the HOM and the TTT from the
Table 4.1, furthermore a Report Time of 480 ms was considered[3].
After the simulation of the both scenarios, as we can see in the Figures 4.1, 4.2, 4.3
and 4.4, while the results of the reference scenario (The figures from the left) follow a
tendency and a clear patterns, the results of the prediction scenario (figures from the
right) do not show any conclusive improvement.
CHAPTER 4. PERFORMANCE EVALUATION 55
Figure 4.1: Dropped connection for the different simulations
Figure 4.2: HO failures for the different simulations
CHAPTER 4. PERFORMANCE EVALUATION 56
Figure 4.3: Time disconnected for the different simulations
Figure 4.4: Time connected for the different simulations
CHAPTER 4. PERFORMANCE EVALUATION 57
The results showed by the simulation of the reference scenario in the Figures 4.1,
4.2 and 4.3, follow a clear tendency. For the case of the Dropped Connections and
Disconnected time, the higher are the HOM and the TTT, the higher is the value of
this parameters, what proves that, for this case this two parameters are correlated.
For the case of the HO Failures, taking into account that the difference between the
maximum value and the minimum is only of one HO Failure, we can observe that the
behavior is very stable despite the graph have peaks for some of the possible HOM and
TTT values.
On the other hand, the results of the simulations of the prediction scenario do not
show any pattern or tendency, only in the case of the dropped connections we can
appreciate that the behavior is approximate to the reference scenario, but as we can
see in the Figure 4.1, when we reduce the value of the TTT and HOM, while in the
reference scenario the dropped connections are zero, in the prediction scenario remain
high, above 50. Furthermore, as told in the case of the reference scenario, the dropped
connections and the disconnected time should follow a similar behavior, but, as we
can see in the Figure 4.3, the disconnected time does not seem to be correlated to
the dropped connections. Moreover if we observe the Figure 4.4, we can see that the
connected time is in most of the cases higher in the reference scenario than in the
prediction scenario, what determines that the prediction algorithm is not working as
expected.
If we compare the ratio of improvement of the dropped connections, HO Failures
and the different times of the different possible simulations (choosing different values
for the HOM and TTT), we can understand that the results are truly inconsistent
given that the performance seem to be worse for every simulation.
A particular result of the simulation, e.g., HOM = 5 dB and a TTT = 640ms, is
shown in the Figure 4.5.
Seeing the Figure 4.5, we can observe that the time that the user remains connected
is higher in the prediction scenario as in the reference case, but if we compare the ratio
of improvement, as we can see in the figure 4.6, as expected from seeing the 3D figures,
the prediction algorithm show no benefit for the dropped connections (0 %), and only
a small benefit, only of 1.118% in terms of time with a served connection. On the other
hand, the ratio of HO failures do not appear since the HO failures happened in the
reference scenario are zero, while in the prediction scenario this value remain above
zero. Therefore the ratio of improvement of this parameter tend to -∞.
In the previous combination of the HOM and the TTT (HOM = 5dB, TTT = 640
ms) the ratio of time improvement showed that the prediction algorithm was obtaining
some improvements in terms of time with a served connection. But if we analyze the
reference scenario plot (Figure from the Left) in the Figure 4.4, the lower the TTT and
CHAPTER 4. PERFORMANCE EVALUATION 58
the HOM, the higher should be the connected time, and as we can see in the Figure 4.7,
the ratios of improvement of the dropped connection, HO Failures and served time are
under zero, considering that the HO Failures and Dropped Connections of the reference
scenario are zero while in the prediction scenario not, tending their values to -∞. This
proves that the behavior of the prediction algorithm is not stable, show randomness,
and does not work as expected.
CHAPTER 4. PERFORMANCE EVALUATION 59
Figure 4.5: Values of the different times for a HOM = 5 dB TTT = 640 ms
CHAPTER 4. PERFORMANCE EVALUATION 60
Figure 4.6: Ratio of improvement fora HOM = 5 dB TTT = 640 ms
Figure 4.7: Ratio of improvement for a HOM = 1 dB TTT =160 ms
CHAPTER 4. PERFORMANCE EVALUATION 61
4.3.2 Undesirable behavior of the Algorithm
Statistical Study
The statistical study of all the simulations was made with a particular value of HOM
and TTT, specifically 5 dB and 640 ms. Of course the sequence of cross road do
not change for different values of the previous cited parameters, but the sequence
of antennas might change, since the HO condition will be different by altering these
parameters. Therefore one thing to consider is that for every possible value of the
HOM and the TTT value, a statistical study should be done.
By decreasing the HOM and the TTT parameters, if we consider a BS which has a
high signal level for a small amount of time, the UE will consider it to trigger the HO
procedure, and with higher values of the HO parameters, this BS wont be considered
as a target. This problem appears when the Macro BS has a higher RSRP value in
front of the Micro BS’s, which will produce a ping pong effect between the different BS.
Although this effect is visible in the sequence of antennas, it is not possible to avoid it,
since the problem is how the statistical study is made in function of the selected HOM
and TTT values. A possible solution for this effect is to consider how much time stays
the user connected to this particular BS in this particular route, and if the connected
time is inferior to, e.g., 3 seconds, remove this antenna from the sequence. Following
the previous example of avoiding particular BS when the connected time is slow (e.g.
3 seconds), if the user stays less than 3 seconds in a particular BS we can understand
that this HO has been done due the ping pong effect, but there is still a possibility
that the HO was needed for avoiding a dropped connection or HO Failure.
Furthermore, this statistical study does not only depend on the HOM and the
TTT, it actually depends also on the report time, or in other words, how often does
the UE make measurements of the signal levels of the different BS. For example, we
consider the case in which the report time is set to 480 ms and the UE has been
provided with a particular sequence of antennas obtained from the statistical study.
Considering the case that exists a BS with a higher signal level for a short amount of
time, the first time that the user goes through the route A, the UE might consider this
BS as a target because the HO Condition is fulfilled, but the second time that the user
drive along the route A, the report measurements may be done in different positions
of the route and the previous considered BS wont fulfill this time the HO conditions,
therefore the sequence of antennas could be different. This problematic exist although
the coordinates for the starting point of the Route A are the same. The problem is
that the report measurements could be done in different time instances. For example,
the user starts in the coordinates associate to his home, waits report time (Report
Time 0.48 seconds) and makes measurements. When the user do another route, e.g.
Route B, and come back to home, the user could have done the measurements before
CHAPTER 4. PERFORMANCE EVALUATION 62
starting the Route A again, and the next report will be before 0.48 seconds, hence the
measurement reports will be done in different time steps.
Specifically:
• Route A: Home→Work: Waits 0.48 seconds and do a measurement of the signal
levels.
• Route B: Work→Home: Just 0.24 seconds before reaching home, the user makes
measurements.
• Route A: Home→Work: Waits 0.24 seconds and do a measurement.
However the difference between the two measurements of the same BS in different
time instance could be small in the middle of a street, given the actual propagation
model of the Micro BS, this difference could increase significantly in the case that this
example happens just before reaching a cross road. The statistical study which does
not take into account this variations in the sequences of BS, choose as the sequence of
antennas for a particular route the first registered. Hence, every statistical study should
take into account also the report time as a parameter for the prediction. Moreover, if
the objective of the statistical study is to have a unique sequence of BS, this report
time should be as low as possible.
Another issue to consider is that the way the statistical study is made, and given
the actual simulation environment which we are working with, at the beginning of the
route the user have multiple possible BS to which he could be connected depending
on which side of the cross road is he. In essence, the first BS depends on the previous
route which the user has taken, because if the user reaches a cross road from the south
or north, the BS with which the user has an established connection will be different as
in the case that the user reach the cross road from the east or west given the actual
Propagation Model for the Micro BS. Therefore the probability of having different
sequences of antennas using this procedure for the statistical study will be high. This
last problematic is very hard to solve, inasmuch as while the statistical study is being
done, we do not know which is going to be the next route, therefore when the user
finishes a route reaching a cross road, e.g from the east side, and starts a new one, the
first antenna of the sequence of the new route may be different if the user reached the
cross road by the north side.
This undesirable behavior is possibly caused by the fact that for doing the statistics
with the actual implementation, the initial conditions for the same route could be
different, since the simulation is not restart. If we apply the Monte Carlo approach[12]
for doing the statistical study some of the results may change. If we intend to apply the
Monte Carlo method for doing the statistical study procedure detailed in the Section
CHAPTER 4. PERFORMANCE EVALUATION 63
3.2.1 should change. As seen in the Figure 2.4, a lot of routes can be chosen to go from
a particular origin to a particular destination, but now, instead of choosing a new route
after finishing the previous one in the same simulation, a unique route should be done
per simulation. This implementation could make the users do the same routes with the
exactly same conditions. For example, a simulation start and a user starts the Route
A. When the user finishes the route A the simulation should end. After this route if
another simulation is started and the user select again the Route A, the conditions will
be exactly the same as in the previous simulation, avoiding the undesirable effect of
making the measurement reports in different time instances and the dependence of the
previous route.
As a summary of the issue of the statistical study, it is important to understand
that the prediction algorithm based its prediction in the sequence of antennas provided
by the statistical study. If this sequences are different for the same route, the algorithm
is not able to understand this differences between the sequences and the prediction will
be lost, because the prediction algorithm will predict an antenna to which the user is
never going to be connected in the near future. For example if we consider a route A
and a route B:
• Route A: 21, 16, 17, 12, 13, 8, 9, 10; Antennas: BS0, BS3, BS4, BS5, BS6, BS0,
BS1
• Route B: 21, 16, 17, 18, 19; Antennas: BS0, BS4, BS0, BS8, BS7
If the route with the higher RP is the route A, and after the cross road 17 the user
does not keep staying in the route A and changes to the route B, the KF prediction
could say in less than 2 seconds, if we are using GPS positioning technology, which
is the new route of the user, but if the beginning of the sequences of antennas of the
routes A and B are not equal, the algorithm will be lost. In the moment that the user
reaches cross road 17 the route will be corrected, and another sequence of antennas
will be selected as the predicted (the one corresponding to the route B), but if both
routes have a minimal difference between their sequences of antennas the algorithm
wont work. An example of a minimal difference between the sequences of antennas is
that in the route A the user has established a connection with antenna 3 before reaching
cross road 17, and the user in the route B does not establish connection with BS 3 at
all. This could happen due one of the explanations of the errors of the algorithm, the
most probable explanation is a high report time and a small amount of time with the
BS3 with a higher signal level than the BS0.
This could cause a dropped connection until the user finishes the route and the
statistics are reset. In the Figure 4.8 we can see the positions where a user drives with
a dropped connection. This graph was obtained using a HOM = 5 dB, TTT = 640 ms
CHAPTER 4. PERFORMANCE EVALUATION 64
and a report time of 480 ms, exactly the same values as the statistical study. As we
can see, the prediction used to be lost when the user has a established connection with
the BS 0, i.e., the Macro BS. This results supports all the explanations, the first which
expose the problematic of using different HOM and TTT, the second which explains
the impact of using a high value for the report time what leads in different sequences
of antennas and a lost prediction, and finally the explanation which tends to show
the biggest problematic for the statistical study, the fact of no reseting the conditions
in the beginning of every route, or in other words, the fact of not using the Monte
Carlo approach. This could be the biggest issue and also the most important for the
prediction algorithm, inasmuch as the sequence of antennas will be different from the
start point, and the prediction will be lost since the beginning of the route. This result
is not satisfactory since the performance of the reference scenario, with the same values
of the different parameters, shown in the figure 4.9, is much better in terms of covered
distance with a dropped connection.
Figure 4.8: Disconnected positions for the prediction with a HOM = 5 dB TTT = 640ms
CHAPTER 4. PERFORMANCE EVALUATION 65
Figure 4.9: Disconnected positions for the reference with a HOM = 5 dB TTT = 640ms
Pointing to the predicted BS
The main issue of the prediction algorithm is that it is very sensible to small changes
in the predicted sequence of antennas. The algorithm has a vector with all the BS
corresponding to the predicted route. Moreover there is also a variable which points
to the position of this vector marking which will be the next antenna to which the
user is going to be connected, but here a problem arise. Given that the sequence of
antennas may change, as explained in the Section before, this variable is not able to
point correctly to the right antenna in the vector which contains all the sequence of
predicted antennas.
An example which actually occurs in the simulations is the next:
The user is connected to the BS 0 pointing as the next antenna the BS 5 and
following the Route A.
• Cross Roads Route A: 5, 4, 9, 8, 13, 12
• Antennas Route A: 0, 5, 6.
The user reaches the cross road 9 and the Route A is corrected to Route B.
• Cross Roads Route B: 5, 4, 9, 14, 19, 18, 17, 12
CHAPTER 4. PERFORMANCE EVALUATION 66
• Antennas Route B: 0, 9, 0, 5, 6.
In this moment a problem with the prediction algorithm is found. The prediction
algorithm only knows that he is connected to his BS, in this case the BS 0, so he
looks for this BS in the predicted sequence of antennas and point the next one to
be predicted. However, in this occasion he finds this BS twice for the route B. The
problem is that in this case the user should be connected in the future to the BS 5 but
the algorithm predicts the BS 9 therefore he will not be connected to the BS 5 and the
user will be disconnected the whole route. A way to solve this problem is to store in
another variable which was the predicted BS after the algorithm corrects the sequence
to look for it in the new sequence of antennas, but here is also a problem, in the case
that the user actually needs to connect to BS9 instead of BS5, this solution wont work.
Hence, there is very difficult to find a way to point always to the correct antenna to
be predicted. If we try to use the knowledge of the previous connected BS to find the
target antenna, this also wont help, given that the sequences of antennas are different
from one route to another as explained before, therefore it is not possible to find all
the previous connected antennas in the new sequence associated to the predicted route
after the correction.
Chapter 5
Summary and Outlook
The fact of using Unity3D for modeling the simulation scenario was very useful in
terms of obtaining realistic results. Thanks to the created 3D simulation environment,
undesirable effects which may affect negatively the users, e.g., shadowing, have been
modeled in a realistic way to approach in the maximum extent possible the real world.
Further the possible applications which may be created with Unity 3D are uncountable,
inter Alia, a prediction algorithm and a user mobility model, like the ones created in
this project. Furthermore Unity 3D allows us to test this applications with a visual
interface in 3D and obtain results with which we can have a certain guess of what is
going to happen once the implementation is applied in the real world.
With the previous sections it has been proved that the prediction algorithm does
not work due the problematic of the differences between the sequences of antennas in
the same route. Nevertheless a movement prediction algorithm has been created using
a statistical study enhance with a Kalman filter. This movement prediction algorithm
can predict the future position of the user with an adequate speed for city driving, e.g.,
30 km/h, with only a small delay between corrections showed in mean in the Figure
3.7.
Regarding to the undesirable behavior of the prediction algorithm, one possibility to
solve the issue of predicting the BS could be to make a statistical study which has into
account several prediction parameters, inter Alia, the HOM, the TTT, the report time
and also the position of the user when the BS is registered in the sequence of antennas.
For improving this solution, the UE can measure how much time stays a user of a
certainly group connected to a particular BS in the same street. By doing that, the
statistical study can discard some BS of the sequences, in order to avoid unnecessary
HO and the ping pong effect. Another improvement to this solution could be to make
multiple statistical studies for the same combination of the HOM and TTT values once
the statistics are obtained do a study of the most probable sequences of antennas for
a particular route and check which are the routes with the most remarkable problems,
67
CHAPTER 5. SUMMARY AND OUTLOOK 68
i.e., the routes which have a higher number of different sequences of antennas. Finally,
as a last improvement or change for the statistical study, the Monte Carlo method
could be used to avoid the issue of obtaining different BS for the same route, since the
starting conditions will be the same for all the possible routes. This solution is very
promising since we will avoid the fact of making measurements of the signal levels of
the BS in different time instances and also the dependence of the previous route.
Other possible way to solve the problem could be to find an algorithm which makes
the prediction of the BS more stable and robust in front of this small differences between
the sequences of antennas of the same route. A solution to this problem could be to
have a different implementation for the prediction algorithm. The actual algorithm
only takes into account one unique sequence and only one predicted antenna. The
performance of the algorithm could change significantly if the prediction takes into
account the RSRP value of all the BS and not only of the predicted BS. If we consider
the other BS’s, in the case that the prediction algorithm does not recognize the actual
predicted antenna as the BS with the higher signal level, and the Geometry value of
the user falls bellow the threshold value, this event could be stored and after that the
UE could try to trigger the HO procedure for other BS’s instead of keep searching
for the predicted one. Additionally an adaptive filter could be used to recalculate the
sequences and the probabilities of each of them in function of this stored events. For
example a possible implementation of the filter could be to count how many times the
prediction guess the correct BS and how many times err. When the prediction is right a
counter, e.g., ”GoodPredictionCounter”, for that particular antenna in that particular
route increase. When the prediction is wrong, i.e., the geometry value of the UE falls
below the threshold value, a counter, e.g., ”BadPredictionCounter”, for that particular
antenna in that particular route increase. In this moment the prediction algorithm
enhanced with this adaptive filter could try to trigger a HO to change the connection
to a BS with a better signal level. Further, if the counter ”BadPredictionCounter” is
bigger than the ”GoodPredictionCounter” for that particular antenna and route, the
sequence of antennas could change to the new one which considers this new BS with
higher RSRP.
Appendix A
USB Content
In the USB the following files can be found:
• Master Thesis Vicente Moreno: Report of the Master Thesis in pdf format.
• Prediction Project: All the files belonging to the Prediction Project implemented
in Unity 3D.
Scripts: Subfolder inside the subfolder Assets. Contains all the Scripts cre-
ated with Unity3D Javascript.
• How to Run: In this document is explained how to run the Prediction Project in
Unity 3D.
• MATLAB: Folder with all the created scripts needed for the statistical study.
Scripts are created in matlab.
• Master Thesis LATEX: Folder with the Latex files of the report of the Master
Thesis.
Images: Folder with all the images of the report.
69
Bibliography
[1] D1.1 - Scenarios, requirements and KPIs for 5G mobile and wireless system.
METIS Project (Apr 2013). Available online: https://www.metis2020.com.
[2] D6.1 - Simulation Guidelines. METIS Project (Oct 2013). Available online:
https://www.metis2020.com.
[3] 3GPP. LTE; Evolved Universal Terrestrial Radio Access (E-UTRA); Require-
ments for support of radio resource management. TS 136.133, 3rd Generation
Partnership Project (3GPP), Nov. 2008. Available online: http://www.3gpp.org.
[4] Burgard, W., Stachniss, C., Bennewitz, M., Grisetti, G., and Arras,
K. Error Propagation, June 2010.
[5] Communications, S. An overview of LTE Positioning. Spirent Comunications
White Papers (Feb. 2012).
[6] Dimou, K., Wang, M., Yang, Y., Kazmi, M., Larmo, A., Pettersson, J.,
Muller, W., and Timner, Y. Handover within 3GPP LTE: Design Principles
and Performance. 1–5.
[7] Hellebrandt, M., Mathar, R., and Scheibenbogen, M. Estimating po-
sition and velocity of mobiles in cellular radio networks. IEEE Transaction on
Vehicular Technology 46, 1 (Feb. 1997), 65–71.
[8] Holma, D. H., and Toskal, D. A. LTE for UMTS - OFDMA and SC-FDMA
Based Radio Access. Wiley Publishing, 2009.
[9] Klein, A., Rauch, A., Kuruvatti, N., and Schotten, H. Analysis of
Movement Prediction Gains in Real-World Dense Urban Deployments. Institute
for Wireless Communications and Navigation (2013).
[10] Lee, Y., Shin, B., Lim, J., and Hong, D. Effects of time-to-trigger parameter
on handover performance in SON-based LTE systems. 492–496.
70
BIBLIOGRAPHY 71
[11] Liu, T., Bahl, P., and Chlamtac, I. Mobility modeling, location tracking,
and trajectory prediction in wireless ATM networks. IEEE Journal on Selected
Areas in Communications 16, 6 (1998), 922–936.
[12] Metropolis, N., and Ulam, S. The Monte Carlo Method. Journal of the
American Statistical Association 44, 247 (Sep 1949), 335–341. Available online:
http://home.gwu.edu.
[13] Narasimhan, B. The Normal Distribution. Available online:
http://statweb.stanford.edu.
[14] Rubino, D. GPS vs. AGPS: A Quick Tutorial. Available online:
http://www.wpcentral.com/gps-vs-agps-quick-tutorial.
[15] Schonfelder, S. Some notes on space, location and travel behaviour. 1st Swiss
Transport Research Conference (Mar 2001).
[16] Sites, R. N. W. GPS Basics. Available online: http://www.gps-
basics.com/faq/q0116.shtml.
[17] Technologies, U. Unity Scripting Reference. Available online:
http://docs.unity3d.com/ScriptReference/index.html.
[18] Welch, G., and Bishop, G. An Introduction to the Kalman Filter. Tech. rep.,
Chapel Hill, NC, USA, 1995.
[19] Welch, G., and Bishop, G. An Introduction to the Kalman Filter. Department
of Computer Science University of North Carolina at Chapel Hill (Jul 2006), 1–16.
Available online: http://www.cs.unc.edu.
[20] Yehia Hamdy and Dr. Sami Mawjoud. Assessment of Uplink Time Difference
Of Arrival (U-TDOA) Position Location Method in Urban Area and Highway in
Mosul City. AL Rafdain Engineering Journal 21, 2 (2013), 54–65.