location based services by: imar sanmartí germà jordi anguela rosell

Post on 31-Dec-2015

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Location Based Services

by:

Imar Sanmartí GermàJordi Anguela Rosell

Index

● General introduction

● Objectives

● Workspace

● Methods

● Conclusions

● Future improvements

General introduction

● What is a 'Location Based Service'?

● LBS have two major actions:

– Obtaining the location of a user

– Utilizing this information to provide a service

● Where am I?, Where is the nearest …?, Where is

my …?, How do I get there?

● 3 types of LBS: pull, push, and tracking services.

Objectives

•Estimate the position of a cell phone

•Restrictions:• Average error < 100m.

• Time to process the request < 1sec.

Workspace

● Mobile positioning techniques

– Rx-Level Based

● Propagation models

– Planet DMS Macrocell prediction

● How to manage all this data

– Spatial Data Base Introduction

● Features and limitations of a Spatial DB

● Saving and access to the data

Mobile positioning techniques

• Radiolocation techniques

• Angle-of-Arrival (AoA)

• Time-Based methods

• Cell ID methods

• Rx Level-Based Positioning

• Satellite-Based techniques

• Assisted GPS

● Techniques used in Proximity Systems

● Dead Reckoning techniques

Propagation models (I)

• Macrocell prediction models– Okumura-Hata model– Parabolic Equation Method– Empirical two ray model (DTR)– Dominant path prediction model

• Microcell prediction models– Empirical COST-Walfisch-Ikegami Model– Ray tracing

Propagation models (II)

• Propagation scenario in a typical urban environment

Planet DMS Macrocell prediction(I)

● File of path loss values over

a certain area for a base

station.

● Each value is assigned to a

slot of terrain of 25m x 25m.

● 1601 x 1601 slots in a base

station map (cell).

● BS centred in the map. 25m

25m

-70dB

Base Station

1601 x 1601 path loss values

Planet DMS Macrocell prediction(II)

120º200º

456241_5550700_0_25_25m_1800_global_25m_EiRP_fast_739496_120_1

455997_5549964_0_22_25m_1800_global_25m_EiRP_fast_739496_200_-5

(456241,5550700)

456241_5550700_0_25_25m_1800_global_25m_EiRP_fast_739496_120_1

455997_5549964_0_22_25m_1800_global_25m_EiRP_fast_739496_200_-5

(455997,5549964)

Introduction Spatial Database

● PostGIS is an extension to the PostgreSQL

object-relational database system which

allows GIS (Geographic Information

Systems) objects to be stored in the

database

● Why PostgreSQL+PostGIS?

– Because it's Open-source (It’s free)

– Doesn’t need an expensive license like Oracle

Spatial DB Features

● Features:

– Three types of indexes: B-Tree, R-Tree, GiST

– Geometry Relationship Functions like:

● Intersects(geometry,geometry)

– Geometry Processing Functions

● Centroid(geometry)

● Area(geometry)

● GeomUnion(geometry,geometry)

Saving data into spatial DB

cell_1001

● One table per each cell

attribute fields:levelcell_geometry

indexs:level_index - btreegeometry_index -

gist

Reducing amount of data

● Our maps have:

1601x1601slots≈ 2.500.000slots/map

● To reduce this we used a 'threshold'

Rx level < -120dB are not stored in DB

2.500.000slots => 2.500slots (1000 times less)

Methods

● Minimization of an error function

● Map intersection without division

● Intersection with map division

● Direct intersection using indexes

– Basic mode

– Cutting the maps under threshold x dB

– Powering the received levels with y dB

– Hybrid mode

Minimization of an error function (I)

• Uses measured signal strength

at the MS.

• Example: – Prx1 = -70dB

– Prx2 = -89dB

– Prx3 = -64dB

Minimization of an error function (II)

(x1,y1) (x2,y2)

(x3,y3)

(x,y)

22nni yy+xx=d

•Requirements:

•Minimum 3 Rx potencies.

•Position of the BSs.

•Selection of the better propagation model.

Minimization of an error function (III)

• Circle of radium di from with centre in (xn,yn).

• If the circles of the BSs don’t intersect, we define

• The point (x,y)OPT will be:

22nnin yy+xxdF

22nni yy+xx=d

n

inopt Fyx

1

2min,

Minimization of an error function

Results• Results obtained with Extended Okumura-Hata propagation

model.

• The method works better with 3 BSs:

– The BSs that is serving

– The next two BSs with higher rx-level reception

• Time of computation fast.

– Average time: 59 ms

• High error:

– Average error: 258 m

• No need to use the maps.

Map intersection without division Select the polygons between the range ±x/2(dB) for each cell.

•Prx1=-64dB •Prx2=-73dB •Prx3=-87dB

-x/2+Prx1 < Level < x/2+Prx1 -x/2+Prx2 < Level < x/2+Prx2 -x/2+Prx3 < Level < x/2+Prx3

•POLYGON ((x11,y11),(X12,y12),(x13,y13),(x14,y14),(x11,y11))

•POLYGON ((x21,y21),(x22,y22),(x23,y23),(x24,y24),(x21,y21))

•POLYGON ((x31,y31),(x32,y32),(x33,y33),(x34,y34),(x31,y31))

•..................................................................................................

•………………………………………………………………………..

•POLYGON ((xn1,yn1),(xn2,yn2),(xn3,yn3),(xn4,yn4),(xn1,yn1))

Map intersection without division Geomunion of the resultant query.

MULTIPOLYGON ((x11,y11),(X12,y12),(x13,y13),(x14,y14),

(x21,y21),(x22,y22),(x23,y23),(x24,y24),(x21,y21),(x31,y31),

(x32,y32),(x33,y33),(x34,y34),

(x31,y31).........................................................................................

.

…………………………………………………………………………….

(xn1,yn1),(xn2,yn2),(xn3,yn3),(xn4,yn4),(xn1,yn1))

Map intersection without division

Centroid of the resultant intersection

Intersection of the resultant GeomunionsCalculate centroid of the resultant intersection

Map intersection without division

Results• The computation time is an exponential function of the

number of polygons to join.

• Error approximation (140m approx.).

• High computation time:

– Need to split the multipolygons.

ttttttttttt eeeeeeeeeee 5

Intersection with map division(I)

● Methodology

– Split the maps to work faster with them

Intersection with map division(II)

● This division is done recursively if one of the

partitions has more than a

slot_threshold=700slots

2500 slots

SPLIT!!!!

> threshold

100 slots 400 slots

300 slots

1700 slots

100 slots 400 slots

300 slots

600 slots

400 slots400 slots

300 slots

Intersection with map division(III)

● Methodology

– Select the polygons between the range ±x/2(dB) for each

map.

– Geomunion of the resultant query

– Geomunion of the divided maps

– Intersection of the resultant Geomunions of the divided

maps

– Calculate centroid of the resultant intersection

Intersection with map division

Results● Error approximation: 147m

● Computation time: 109 s

● Conclusion:

– It still spends a lot of time and the results obtained aren’t

so good as we expected

● Solution: don’t use the functions GeomUnion() and

Intersection() to estimate the position

Direct intersection (I)

● How it works:

– We use a prepared SQL query to estimate the

mobile position directly from the spatial DB.

● What do we expect?

– At least, faster computation time.

Direct intersection (II)

● How the SQL query chooses the data?

– It takes profit of the indexes:

● level_index

● geometry_index: with operator (&&) much much faster

Ex: SELECT …

FROM…

WHERE cell1.geom && cell2.geom …

Direct intersection (III)

● How the mobile position is estimated?

– The final position is estimated doing the average

of the centers of all slots that have been

selected.

SELECT

AVG(Y(Centroid(cell1.geom))) AS North

AVG(X(Centroid(cell1.geom))) AS East

FROM …

Direct intersection (IV)

RESULTS● Features:

– We have the same error

– Average time is reduced to 2,5 s.

– Method very simple

● Next step:

– Reduce the time -> use threshold in Rx levels

– Improve the error -> power Rx levels

Direct intersection (V)

● Tested solutions

– Cutting the maps under threshold -85dB, -80dB

– Powering the received levels with 3dB, 5dB, 7dB

– Hybrid mode: combination of both methods

0,0 20,0 40,0 60,0 80,0 100,0 120,0 140,0 160,0 180,0 200,0

Range

Error (m)

Pow 7dB / cut -85dB

Pow 3dB / cut -80dB

Pow 5dB / cut -80dB

Pow 3dB / cut -85dB

Pow 5dB / cut -85dB

Powered 3dB

Powered 5dB

Direct cut -80dB

Direct cut -85dB

Direct Intersection

40dB

30dB

24dB

20dB

14dB

10dB

0,0

5,0

10,0

15,0

20,0

25,0

30,0

35,0

40,0

Range

Direct intersection

Direct cut -85dB

Direct cut -80dB

Powered 5dB

Powered 3dB

Pow 5dB / cut -85dB

Pow 3dB / cut -85dB

Pow 5dB / cut -80dB

Pow 3dB / cut -80dB

Pow 7dB / cut -80dB

40dB 30dB 24dB 20dB 14dB 10dB

Direct intersection (VII)

Results● The best method used:

– Cutting the maps under -80dB.

– Powering 5dB the received signals

– Direct intersection using indexes with 30dB of range

● The obtained results:

– Average error: 105,3 m

– Average time: 0,92 s

Direct intersection (VI)

Results● Cutting the maps under some threshold increases

the precision.

● Cutting over -80dB is the limit where some tests start not to intersect.

● Powering the received signals also increases the precision, but increases the computation time.

● Powering with 7dB is the limit where some tests start no to intersect.

Direct intersection (VIII)

Our proposal● Requirements:

– Map of the service station is needed

– Discard maps with Rx received level under

-80dB

– Minimum 2 maps over threshold -80dB are

needed.

– Power the resultant Rx-levels with 5dB.

Conclusions

• We have accomplished the objectives:– Error ≈ 100 m

– Time < 1 s

• Large dispersion in the results (high variance)

• Methods were only tested in Dejvice area:– Need to test in other parts of Prague.

• An error of 100 m means a distance of 4 resolution units of the DB (res. 25m).

• The use of indexes is the optimal method.

Future improvements (I)

● Use of improved maps. How?

– Using other propagation models considering

more factors (rooftop, diffraction on corners,

street canyon effect...).

– Change of macrocell to microcell maps:

● Shorter maps with higher resolution.

Future improvements (II)

• Average of multiple measurements. Why?

– Avoid the fast fading– Change of LOS to

NLOS– Have more accuracy

in the rx-level values

Future improvements (III)

•Use of vector files with

information of the city.

•Use the map as a

mask over the pathloss

files, to reduce the

amount of data to

store.

The End

Thanks for the assistance

Any question?

top related