Location Y. Richard Yang 4/6/2011
Wireless Networking: Summary send receive status info info/control The ability to communicate is a foundational support of wireless mobile networks Unfortunately, the capacity of such networks using current techniques is limited Much progress has been made, but still more are coming.
Outline Admin. Localization overview
Motivations The ancient question: Where am I? Localization is the process of determining the positions of the network nodes This is as fundamental a primitive as the ability to communicate
Localization: Many Applications Location aware information services e.g., E911, location-based search, advertisement, inventory management, traffic monitoring, emergency crew coordination, intrusion detection, air/water quality monitoring, environmental studies, biodiversity, military applications, resource selection (server, printer, etc.) “Sensing data without knowing the location is meaningless.” [IEEE Computer, Vol. 33, 2000]
The Localization Process Location Based Applications Location Computation Localizability (opt) Measurements
Classification of Localization based on Measurement Modality Coarse-grained measurements, e.g., signal signature a database of signal signature (e.g. pattern of received signal, visible set of APs (http://www.wigle.net/)) at different locations match to the signature connectivity Usage e.g., Microsoft “Locate Me” Place lab: http://data.placelab.org/ Advantages low cost; measurements do not need line-of-sight Disadvantages low precision For a detailed study, see “Accuracy Characterization for Metropolitan-scale Wi-Fi Localization,” in Mobisys 2005.
Classification of Localization based on Measurement Modality (cont’) Fine-grained localization distance angle (esp. with MIMO) Usage GPS, sensor networks Advantages high precision Disadvantages measurements need line-of-sight for good performance Cricket
Outline Admin. Localization Overview GPS
Global Position Systems US Department of Defense: need for very precise navigation In 1973, the US Air Force proposed a new system for navigation using satellites The system is known as: Navigation System with Timing and Ranging: Global Positioning System or NAVSTAR GPS http://www.colorado.edu/geography/gcraft/notes/gps/gps_f.html
GPS Operational Capabilities Initial Operational Capability - December 8, 1993 Full Operational Capability declared by the Secretary of Defense at 00:01 hours on July 17, 1995
NAVSTAR GPS Goals What time is it? What is my position (including attitude)? What is my velocity? Other Goals: - What is the local time? - When is sunrise and sunset? - What is the distance between two points? - What is my estimated time arrival?
GSP Basics Simply stated: The GPS satellites are nothing more than a set of wireless base stations in the sky The satellites simultaneously broadcast beacon messages (called navigation messages) A GPS receiver measures time of arrival to the satellites, and then uses “trilateration” to determine its position
GPS Basics: Triangulation Measurement: Computes distance
GPS Basics: Triangulation In reality, receiver clock is not sync’d with satellites Thus need to estimate clock called pseudo range
GPS with Clock Synchronization?
GPS Design/Operation Segments (components) user segment: users with receivers control segment: control the satellites space segment: the constellation of satellites transmission scheme
Control Segment Master Control Station is located at the Consolidated Space Operations Center (CSOC) at Flacon Air Force Station near Colorado Springs
CSOC Track the satellites for orbit and clock determination Time synchronization Upload the Navigation Message Manage Denial Of Availability (DOA)
Space Segment: Constellation
Space Segment: Constellation System consists of 24 satellites in the operational mode: 21 in use and 3 spares 3 other satellites are used for testing Altitude: 20,200 Km with periods of 12 hr. Current Satellites: Block IIR- $25,000,000 2000 KG Hydrogen maser atomic clocks these clocks lose one second every 2,739,000 million years
GPS Orbits
GPS Satellite Transmission Scheme: Navigation Message To compute position one must know the positions of the satellites Navigation message consists of: - satellite status to allow calculating pos - clock info Navigation Message at 50 bps each frame is 1500 bits Q: how long for each message? More detail: see http://home.tiscali.nl/~samsvl/nav2eu.htm
GPS Satellite Transmission Scheme: Requirements All 24 GPS satellites transmit Navigation Messages on the same frequencies Resistant to jamming Resistant to spoofing Allows military control of access (selected availability)
GPS As a Communication Infrastructure All 24 GPS satellites transmit on the same frequencies BUT use different codes i.e., Direct Sequence Spread Spectrum (DSSS), and Code Division Multiple Access (CDMA) Using BPSK to encode bits
Basic Scheme
GPS Control Controlling precision Control access/anti-spoofing Lower chipping rate, lower precision Control access/anti-spoofing Control chipping sequence
GPS Chipping Seq. and Codes Two types of codes C/A Code - Coarse/Acquisition Code available for civilian use on L1 Chipping rate: 1.023 M 1023 bits pseudorandom numbers (PRN) P Code - Precise Code on L1 and L2 used by the military Chipping rate: 10.23 M PRN code is 6.1871 × 1012 (repeat about one week) P code is encrypted called P(Y) code http://www.navcen.uscg.gov/gps/geninfo/IS-GPS-200D.pdf http://www.gmat.unsw.edu.au/snap/gps/gps_survey/chap3/chap3.htm
GPS PHY and MAC Layers
Typical GPS Receiver: C/A code on L1 During the “acquisition” time you are receiving the navigation message also on L1 The receiver then reads the timing information and computes “pseudo-ranges”
Military Receiver Decodes both L1 and L2 L2 is more precise L1 and L2 difference allows computing ionospheric delay
Denial of Accuracy (DOA) The US military uses two approaches to prohibit use of the full resolution of the system Selective availability (SA) noise is added to the clock signal and the navigation message has “lies” in it SA is turned off permanently in 2000 Anti-Spoofing (AS) - P-code is encrypted
Extensions to GPS Differential GPS Assisted GPS ground stations with known positions calculate positions using GPS the difference (fix) transmitted using FM radio used to improve accuracy Assisted GPS put a server on the ground to help a GPS receiver reduces GPS search time from minutes to seconds E.g., iPhone GPS: http://www.broadcom.com/products/GPS/GPS-Silicon-Solutions/BCM4750
GPS: Summary GPS is among the “simplest” localization technique (in terms topology): one-step trilateration
GPS Limitations Hardware requirements vs. small devices GPS jammed by sophisticated adversaries Obstructions to GPS satellites common each node needs LOS to 4 satellites GPS satellites not necessarily overhead, e.g., urban canyon, indoors, and underground
Limitation of Trilateration Percentage of localizable nodes localized by Trilateration. Ratio Average Degree Uniformly random 250 node network.
Outline Admin. GPS General localization
Extending GPS: Multilateration A subset of nodes (called anchors) know their positions through GPS, e.g., nodes close to windows, at the entrance of a cave, at an open field inside a forest, etc manual configuration Nodes measure relative distance among each other 3 5 2 4 1
General Localization node with known position (anchor) node with unknown position distance measurement
Localization Service Definition Given: set of n nodes positions of k of them known distances between m pairs of nodes Find: positions of nodes node with known position (anchor) node with unknown position distance measurement
Outline Admin. GPS General localization Overview Foundation
Measurement Graph Consider network nodes as vertices in a graph 3 Consider network nodes as vertices in a graph There is an edge between two vertices if the distance between the corresponding nodes are known 5 2 4 1 5 4 1 2 3
Grounded Graph The measurement graph structure needs to distinguish between anchor nodes and non-anchor nodes Solution: add an edge between every pair of anchor nodes, since the distance between them is implicitly known! The resulting graph is called grounded graph, whose graphical properties determine localizability with probability 1 5 4 1 2 3 5 4 1 2 3
Grounded Graphs The grounded graph captures all distance constraints we no longer need to distinguish between anchor nodes and non-anchor nodes use anchor only at the last to pinpoint all nodes
In case you were wondering: Why “with probability 1”? 4 2 1 3 {x1, x2, x3} {d14, d24, d34} ? In general, this graph is uniquely realizable. In degenerate case, it is not: The constraints are redundant. 2 1 3 4 probability 1 case 2 1 3 4 probability 0 case
Summary of Problem: General Localization using Grounded Graphs Determine if the positions of all nodes are fixed relative to each other due to the known distance measurements, then all nodes have unique positions (the network is thus localizable) Then the only deformation allowed is translation or rotation of the complete network This is called trivial continuous transformation Use anchors can remove trivial transformation
Example Question: any continuous transformation to move points from one configuration to another one while respecting all distance constraints?
Non-Uniqueness Due to Continuous Deformation Continuous non-uniqueness: Non-trivial continuous transformation to move points from one configuration to another one while respecting all distance constraints
Graph Rigidity A localization network is flexible if it admits a non-trivial continuous deformation A localization network with a unique realization cannot be flexible A localization network that is not flexible is called rigid Rigidity is a necessary condition for network localizability
Rigidity in Other Contexts
Intuition: How many distance constraints are necessary to limit a graph to only trivial continuous deformations? == How many edges are necessary for a graph to be rigid? Total degrees of freedom: 2n
How Many Constrains are Necessary to Make a Localization Network of n Nodes Rigid? Each edge can remove a single degree of freedom Rotations and translations will always be possible, so at least 2n-3 edges are necessary for a graph to be rigid.
Are 2n-3 Edges Sufficient? n = 5, 2n-3 = 7 n = 4, 2n-3 = 5 n = 3, 2n-3 = 3 yes yes no
Further Intuition Need at least 2n-3 “well-distributed” edges If not well-distributed, a subgraph has more edges than necessary: some edges are redundant Non-redundant edges are called independent n = 5, 2n-3 = 7
Determining Edge Independence The edges of a graph are independent if and only if no subgraph has more than 2n’-3 edges*. Laman’s Condition: * n’ is the number of nodes |V’| in the subgraph (V’,E’). n = 5, 2n-3 = 7 This means that a graph with 2n-3 edges is rigid if and only if no subgraph has more than 2n’-3 edges.
Algorithm to Test Laman’s Condition Laman’s condition taken literally leads to poor algorithm, as it involves checking all subgraphs Efficient and intuitive algorithm exists, based on counting degrees of freedom to check and identify rigid components
Alternate Laman’s condition For a graph G=(V,E) with m edges and n vertices, the following are equivalent: The edges of G are independent in 2-D. For each edge (a,b) in G, the graph formed by adding 3 additional copies of (a,b) has no subgraph G’ with more than 2n’ edges.
Illustration no subgraph with >2n’ edges “quadruple an edge” G
Basic idea Grow a maximal set of independent edges one at a time Each candidate edge quadrupled and the resulting graph tested using Laman’s revised condition If 2n’-3 independent edges found for n’ nodes, the subgraph is rigid
“The Pebble Game” Each node assigned 2 pebbles An edge is covered by having one pebble placed on either of its ends Pebble covering is assignment of pebbles so that all edges in graph are covered Existence of pebble covering of graph implies balanced edges implies all edges independent
Pebble Covering 4 copies of e2 e2 e1 initial testing e1 for independence
Pebble Game Algorithm Assume we have a set of independent edges covered with pebbles and we want to add a new edge First, look at vertices incident to new edge if either has a free pebble, use it to cover the edge and done. otherwise, their pebbles are covering existing edges. if vertex at other end of one of these edges has free pebble, then use that pebble to cover existing edge, freeing up pebble to cover new edge Search for free pebbles in a directed graph. if edge ea,b is covered by pebble from vertex a, the edge if directed from a to b Search until pebble is found, then swap pebbles until new edge covered, else fail
unassigned pebble Assume node 0 gets a new edge to cover. 4 5 4 3 1 2 3 4 3 2 2 1 1 3 2 3
b c d a initial state b c (a,b) independent d a b c testing (a,b) d a after (a,b) included
b c d a b c input to next step d a b c testing (b,c) d a after (b,c) included
b c d a input to next step b c ? a c d b after (a,c) included d a testing (a,c)
b c d a b c input to next step d a a c d b after (a,d) included testing (a,d)
G=({a,b,c,d}, {ab,ac,ad,bc,bd}) is rigid input to next step d a a c d b after (b,d) included testing (b,d) G=({a,b,c,d}, {ab,ac,ad,bc,bd}) is rigid
b c d b a c input to next step d a testing (c,d) fails!
Pebble Game Properties Testing edge for independence takes O(n) time. At worst, all m edges will be tested for a running time of O(nm) If entire graph not rigid, pebble game discovers rigid subgraphs Algorithm is amenable to distributed implementation
Continuous Deformation Solved Continuous non-uniqueness: Can move points from one configuration to the other while respecting constraints
Backup Slides
GPS PHY and MAC Layers
GPS Chipping Seq. and Codes Two types of codes C/A Code - Coarse/Acquisition Code available for civilian use on L1 1023 bits pseudorandom numbers (PRN) P Code - Precise Code on L1 and L2 used by the military PRN code is 6.1871 × 1012 (repeat about one week) P code is encrypted called P(Y) code http://www.navcen.uscg.gov/gps/geninfo/IS-GPS-200D.pdf http://www.gmat.unsw.edu.au/snap/gps/gps_survey/chap3/chap3.htm