1Developing Mobile Applications 2G1722 Johan Montelius
Developing Mobile Applications
Location based services
2Developing Mobile Applications 2G1722 Johan Montelius
GSM positioning
cell id
A C
B
120 degrees
3Developing Mobile Applications 2G1722 Johan Montelius
An ideal world
4Developing Mobile Applications 2G1722 Johan Montelius
in reality, cells are
• diffuse• overlapping• depending on
– geography– buildings– weather
5Developing Mobile Applications 2G1722 Johan Montelius
Cells vary in size
• Rural area– 35 km in radius
• Urban areas– 4 km
• shopping mall– 100 m
6Developing Mobile Applications 2G1722 Johan Montelius
Timing advance (TA)
• Base station inform the terminal how much earlier it should transmit to meet its time slot.– granularity aprx 550m
• BSC sends out the first TA as a reply on a random access request. BTS continuously sends TA updates during a call (how often?)
• Efficient to use when cells are large.• However.....
7Developing Mobile Applications 2G1722 Johan Montelius
No angel
?
?
?
?
?
?
8Developing Mobile Applications 2G1722 Johan Montelius
when do we have the information?• phone idle
– we only know the location area (a group of base stations)
• during a call (or signaling) – we know the TA of the terminal
related to one base station• how do we we get more information?• can we do triangulation?
9Developing Mobile Applications 2G1722 Johan Montelius
no easy way out
• The terminal has to make a hand over to produce more TA information. Not easy to force the phone to do hand over.
• TA is deliberately inaccurate since we do not want to send them to often.
• Signal strength is always reported to the system but this will not give us very high accuracy (if you don't create a radio map).
10Developing Mobile Applications 2G1722 Johan Montelius
Observed Time Difference of Arival (OTDOA)• The terminal also maintains a observed
time difference of base stations within reach. If the real time difference is known, a new TA can be calculated in advance when doing hand over.
11Developing Mobile Applications 2G1722 Johan Montelius
Observed Time Difference
Real Time Difference
Observed Time Difference
12Developing Mobile Applications 2G1722 Johan Montelius
Enhanced OTD (E-OTD)
• Base stations use GPS receivers to observe the real time difference between stations.
• Terminals measure exact arrival of synchronization bursts from several base stations.
• The terminal will relay this information to the network that can then do triangulation.
13Developing Mobile Applications 2G1722 Johan Montelius
Triangulation using E-OTH (ideal)
GPS
GPS
GPS
14Developing Mobile Applications 2G1722 Johan Montelius
Angle of Arrival (AOA)
• Array antennas at BTS measure the angle to terminal.
• Two measurements is enough• Array antennas are expensive but might
be deployed anyway.• High accuracy in rural areas.• Could be enhanced with measurement of
distance (one BTS is enough)
15Developing Mobile Applications 2G1722 Johan Montelius
Uplink - Time Difference of Arrival• Based on the uplink measurements
performed by the base stations.• New antenna at BTS that tracks
terminals.• No special handset needed.• Accuracy aprx. 50m
16Developing Mobile Applications 2G1722 Johan Montelius
What if we did it ...
• Using a dedicated positioning system that was not depending on the mobile network...– GPS
17Developing Mobile Applications 2G1722 Johan Montelius
Global Positioning System
18Developing Mobile Applications 2G1722 Johan Montelius
GPS
• 24 satellites, in operation since 1994• satellites orbit the earth in 12 hours at
20.000 km and an inclination of 56 and 65 degrees.
• each satellite transmit: id, time and almanac
• you need four satellites to determine x,y,z – why four?
• accuracy aprx. 10 m • what happened to scrambling of signal?
19Developing Mobile Applications 2G1722 Johan Montelius
What is the problem
20Developing Mobile Applications 2G1722 Johan Montelius
Differential GPS
• Place a GPS receiver on a known location.• Record the GPS signals and calculate how
they differ from an ideal situation.• Relay this information to all D-GPS
receivers in the area ( hundreds of km )• How to relay: FM radio, mobile networks ..• Accuracy aprx. 2 m
21Developing Mobile Applications 2G1722 Johan Montelius
problems with GPS
• weak signals – only works indoors• long time to find and decode the signals
– cold start could take minutes• owned by the US :-) • Russian GLONASS• EU Galileo under deployment
22Developing Mobile Applications 2G1722 Johan Montelius
Assisted GPS (A-GPS)
• The terminal asks the network which satellites to search for (no cold start).
• Terminal records satellite data but does not do any calculations. All data is sent to a positioning server.
• The server has differential information of the area and can do a very precise calculation.
• The position is relayed to the requested service or to the terminal.
23Developing Mobile Applications 2G1722 Johan Montelius
Other techniques
• You're close– Use Bluetooth or WLAN access points– If you can hear me you're close
• Tell me what you see– Gather whatever information you have,
send it to a server.– Requires that the fingerprints are
collected and valid over time.
24Developing Mobile Applications 2G1722 Johan Montelius
J2ME JSR 179// Set criteria to 500 meters horizontallyCriteria cr= new Criteria();cr.setHorizontalAccuracy(500);// Get an instance of the providerLocationProvider lp= LocationProvider.getInstance(cr);// Request the location, setting a one-minute timeoutLocation l = lp.getLocation(60);Coordinates c = l.getQualifiedCoordinates();if(c != null ) { // Use coordinate information double lat = c.getLatitude(); double lon = c.getLongitude();}
25Developing Mobile Applications 2G1722 Johan Montelius
technology is one thing
• Even when we have a working technology that can give us an accurate position we need to turn this in to a service!– find the nearest Bank :-(– find a friend– find a stolen car – emergency response E112/E911
PC (web) community
Pervasive street adventure
Join the rebel fight against Global Nation
Tactical battles where brainpower matters
Build the best robot for your career
Multiplayer and singleplayer missions with real and virtual enemies
Strong community features
3-4 months episodes with storyline
J2ME client
27Developing Mobile Applications 2G1722 Johan Montelius
Mobile operators• Cell id has been used for several years
– accuracy is low– need to work with several mobile operators
• 3GPP– S tandardizing in TS 23.271 how positioning
information should be gathered using several techniques (Cell, OTDOA, ..., GPS )
• OMA– Mobile Location S ervice Architecture– How to access positioning information and build
services. Role of operator, privacy, ...