Upload
sherman-curtis
View
219
Download
0
Tags:
Embed Size (px)
Citation preview
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?