master thesis Implementation and evaluation of user ...

82
Technische Universit¨ at Kaiserslautern Fachbereich Elektrotechnik und Informationstechnik Lehrstuhl f¨ ur Funkkommunikation und Navigation master thesis Implementation and evaluation of user movement prediction techniques in a realistic, dense urban environment Vicente Moreno Ortu˜ no August 2014 Supervisors: Prof. Dr.-Ing. Hans D. Schotten Dipl.-Ing. Andreas Klein Student: Vicente Moreno Ortu˜ no Matrikel-Nr. 392141 UPC Barcelona Submission Date: 27.08.2014

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 25

Figure 3.2: CDF 25 km/h

CHAPTER 3. PREDICTION ALGORITHMS 26

Figure 3.3: CDF 50 km/h

CHAPTER 3. PREDICTION ALGORITHMS 27

Figure 3.4: CDF 75 km/h

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 41

Figure 3.9: Handover procedure [6]

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 45

Figure 3.10: Prediction algorithm circuit

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.