location

24
Obtaining the User’s Position Dr. Miguel A. Labrador Department of Computer Science & Engineering [email protected] http://www.csee.usf.edu/~labrador

Upload: mahesh-magar

Post on 03-Dec-2015

212 views

Category:

Documents


0 download

DESCRIPTION

gps systems

TRANSCRIPT

PowerPoint Presentation

Obtaining the Users PositionDr. Miguel A. LabradorDepartment of Computer Science & [email protected]://www.csee.usf.edu/~labrador

###Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #OutlinePositioning systems and techniquesOutdoorGPS systemCellular-based systemsIndoorJava ME Location API 2.0

#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #Global Positioning System (GPS)Three major componentsSpace segmentControl segmentUser segmentSpace segment consists of the orbiting satellites24 satellites in six orbital planes centered on the Earth are needed so at least six satellites can be detected from almost anywhere6 more have been added to provide redundant signals, improve precision, improve reliability and availability of the systemControl segment consists of several ground stations used to track and monitor the space segmentMain control station in Colorado Springs, ColoradoUpdates the atomic clocks on board of all satellites and the ephemerides or table with the exact position of the satellites in the sky#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #Global Positioning System (GPS)Ephemerides are later broadcast by the satellites and used by GPS receivers along with the signals elapsed time to calculate their own positionUser segment is made up of all GPS receivers

GPS satellites continuously broadcast a navigation message1500 bits broken down in 5 subframes 300 bits long, 10 words 30 bits long eachWords 1 and 2 always contain the same informationTelemetry Word (TLM): used by the receiver for synchronizationHand-Over Word (HOW): also for synchronization; enables the receiver to identify the subframeWords 3 to 10 contain the rest of the NM

#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #The Java ME PlatformTLMHOWAlmanac Data, Health Status, Almanac Reference Time1500Subframe #5TLMHOWMessages, Ionospheric Data, Coordinated Universal Time (UTC)1200Subframe #4TLMHOWEphemeris of Transmitting Satellite900Subframe #3TLMHOWEphemeris of transmitting Satellite600Subframe #2TLMHOWClock Correction Data, GPS Week Number300Subframe #1TLM = Telemetry WordHOW = Hand-Over Word03060Frame = 5 subframes = 1500 bits at 50 bps = 30 seconds total#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #GPS SystemAlmanac contains coarse orbit and status information about every satellite in the constellation Each NM contains 1/25th of the almanacReceiver needs 12.5 minutes to receive the entire almanac from a particular satelliteAlmanac is very important because it helps GPS receivers to locate satellites at power upSatellites transmit NM at a very low transmission rate of 50 bpsTransmit a NM every 30 secsMain responsible for the time delay to obtain the first GPS fix Time To First Fix (TTFF)Satellites use CDMA technology to transmit the NMSame two frequencies of 1.57542 GHz (L1 signal) and 1.2276 GHz (L2 signal)Encoding codes are known to all GPS receivers#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #LaterationProcess of calculating the users position using distances between entitiesFinding the position of the user consists of finding the distance between the GPS receiver and the satellite and solving a systems of equations using Pythagoras theorem

#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #LaterationProblem of this method is in the calculation of the distance between GPS receiver and the satellitesCalculated measuring the time it takes the satellite signal to reach the receiver and multiplying it by the speed of lightThe NM contains the exact time at which the signal was sentIn order to make GPS receivers affordable, clocks are not very preciseSynchronization problem introduce errors in distance calculations1 microsecond error introduces an error of 300 meters!To eliminate this error, it is included in the calculations as an additional unknown variableFour equations with four unknowns A fourth satellite is neededSatellites are needed to be far from the user and separated from each otherDilution of Precision (DOP) used to select most appropriate satellites#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #The GSM Cellular NetworkCellular networks play a crucial role in LBIS Transport networkEstimation of the users position

#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #The GPRS Architecture

#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #Cellular Positioning TechnologiesCell Identification or Cell IDSimplest localization methodHLR contains enough information to locate a user in the GSM networkCell ID returns position of the BTS serving the userAccuracy depends on cell sizeAlthough fast and useful for some applications, not very accurate for many otherEnhanced Cell IDBTS measures RTT and estimates distance Reduces the radio of the circle onlyEnhanced Observed Time Difference (E-OTD)BTSs periodically send beacon signals that MS use to measure distance to anchors and apply laterationTerminal-based positioning mechanism#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #Cellular Positioning TechnologiesUplink-Time Difference of Arrival (U-TDoA)Similar to E-OTD but more complicatedCalculations are performed by the BTSs based on signals transmitted by the MSMS is not transmitting all the timeOnly one BTS is serving the MSLocation Measurement Units (LMU) are included in the network to compile measurements and perform calculationsAssisted GPS (A-GPS)Easier and cheaper to implement in a GSM networkGPS-enabled phone and cellular network collaborateImproved accuracyBetter indoor coverageShorter TTFFLess power consumption#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #Cellular Positioning TechnologiesAssisted GPS (A-GPS) Relies on assistant servers located in several parts of the GSM networkServers either provide information that the MS needs to perform the calculations, or perform the calculations using information provided by the MSServer provides MS with information it cannot obtain Almanac, more accurate clock information, accurate coordinates of the server or BTSAlmanac allows the MS to lock to the GPS satellites fasterServer can receive partial information from MS and use its computational power and good satellite signals to compute position on behalf of the MS#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #Indoor Positioning SystemsOutdoor positioning systems are difficult to use indoorsIndoor positioning systems have been developed to fill this needThe smooth integration of them is still and active area of researchWireless Local Area Networks (WLANs)WLAN access points transmit beacon signals like BTSs in cellular networksProximity sensing adopts the position of the closest APLateration techniques can also be usedFingerprintingBased on off-line measurements of the signal strength in specific reference points within the space of interestStored in a database and utilized by the system to find the MSs locationUltrasound-based systemsUse RF and ultrasound signals to estimate distancesNeed US hardware and restricted to very few meters

#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #Skyhooks Hybrid Positioning System (XPS)XPS is a software-based positioning systems that combines Wi-Fi AP locations, GPS data, and cellular tower locations to provide 10-20 meter accuracy positions in indoor and outdoor environmentsMobile Location Client (MLC) and XPS Location Server (XLS)MLC can perform all calculationsMobile-based location provider modelMLC can also off load the calculations on the XLSMLC send GPS, Wi-Fi AP, and Cell ID data to XLSXLS has access to a huge DB with AP and cell tower locations and powerful algorithms to make the calculationsLocation-provider modeliPhone and iPod use Skyhooks systemhttp://www.skyhookwireless.com#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #The Location API 2.0JSR 293 recently approved (October 2008)Improves certain features and include new ones with respect to JSR 179 (Location API version 1.0)Two major packagesjavax.microedition.locationImprovements to classes needed to request and obtain a locationLocation, LocationListerner, LocationProvider, ProximityListener, GeographicAreajavax.microedition.location.servicesNew classes and interfaces related to LBS, such as geocoding, map, and navigation#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #The Location API 1.0Most important objects included are the LocationProvider, Criteria, and Location objectsLocationProvider is the provider of location dataAll interactions with the underlying positioning technology are handled through this objectSince there may be several positioning technologies, several LocationProviders may existCriteria contains the requirements of the applicationAccuracy, speed, and course of the MS is neededLocation is the object that contains the location data

#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #The Location API 1.0Location object includes QualifiedCoordinates class that contains estimated latitude, longitude, altitude of the current positionEstimated horizontal and vertical accuraciesNice to know how good the estimation isSpeed and course of the MSTime at which the position was calculatedPositioning method utilizedTwo methodsgetLocation method to obtain the location one timeLocationListener method to obtain the location at predefined intervals#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #getLocation Methodtry {// Create a Criteria object to define desired selection criteriaCriteria cr = new Criteria();cr.setHorizontalAccuracy(20);//Requests an estimated accuracy of 20 meterscr.setSpeedAndCourseRequired(true);//Requests speed and course of MS//Requests a LocationProvider that meets these CriteriaLocationProvider lp = LocationProvider.getInstance(cr);// Get the location, 60 seconds timeoutLocation loc = lp.getLocation(60);Coordinates coord = loc.getQualifiedCoordinates();if (coord != null) {// Include code that uses coordinates here// ...}}catch (LocationException e) {// Could not retrieve location }catch (InterruptedException e) {// Location retrieval interrupted}#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #Location Listener Classpublic class LocListener implements LocationListener {

LocListener locListener = new LocListener();int interval = 4;// Interval between location updates is 4 sint timeout = 2;// Timeout after location request is 2 s// Maximum age allowed for a duplicate location value to be returned is 2 sint maxAge = 2;lp.setLocationListener(locListener, interval, timeout, maxAge);. . .public void locationUpdated(LocationProvider provider, Location location) {// This code will be triggered with updated // location data at the defined interval}. . .}#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #The Location API 2.0Modifies the following featuresCriteria and LocationProviderProximityListenerLandmark and LandmarkStoreIncludes the following new featuresLandmark Exchange FormatsGeocodingMap User InterfacesNavigation

#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #Criteria and LocationProviderEliminates ambiguity when Criteria includes conflicting requirementsDifferent devices may choose different positioning systemsCriteria object now includes priorities, from 1 to N (lowest number, highest priority)An array of prioritized location method constants defined in the Location object can be used to specify the desired fallback order of positioning technologies to be used by the LocationProviderA tracking application may wish to use GPS, and if GPS is not available use cell signal-based positioning, and if cell signal-based positioning is not available use Cell ID, and so forth#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #Criteria and LocationProviderint[] preferredLocationMethods = new int[3];

//First preference of positioning technologypreferredLocationMethods[0] = MTE_SATELLITE;

//Second preferencepreferredLocationMethods[1] = MTE_TIMEDIFFERENCE;

//Third preferencepreferredLocationMethods[2] = MTE_CELLID;

//Get the LocationProvider for preferred location technologiesLocationProvider lp = LocationProvider.getInstance(preferredLocationMethods, parameters); #Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #ProximityListenerProximity detection has been greatly enhanced in version 2.0An interval and timeout value can be defined by the application when the ProximityEnterAndExitListener, which has replaced the ProximityListener of version 1.0, is registeredNow, a new locationUpdated() method is called at a particular interval, so that the application can tell how frequently the device is checking proximity to the registered locationThe specification now supports the detection of departure from a specific areaThe new specification allows the registration of different types of geographic areas, including circular, rectangle, and polygon geographic areas#Copyright Dr. Miguel A. Labrador#Copyright Dr. Miguel A. Labrador #