Title: III1
1Part III Time Space Problems in Sensor
NetworksMani Srivastava
2Time and Space Problems
- Timing synchronization
- Node Localization
- Sensor Coverage
3Time Synchronization
- Time sync is critical at many layers in sensor
nets - Beam-forming, localization, tracking, distributed
DSP
Ref based on slides by J. Elson
4Time Synchronization
- Time sync is critical at many layers in sensor
nets - Beam-forming, localization, tracking, distributed
DSP - Data aggregation caching
t1
t0
t2
t3
Ref based on slides by J. Elson
5Conventional Approaches
- GPS at every node
- E.g. some GPSs provide 1 pps _at_ O(10ns) accuracy
- But
- doesnt work everywhere
- cost, size, and energy issues
- NTP
- some well known primary time servers are
synchronized via GPS, atomic clock etc. - pre-defined server hierarchy (stratums)
- nodes synchronize with one of a pre-specified
list of time servers - Problems
- potentially long and varying paths to
time-servers due to multi-hopping and short-lived
links - delay and jitter due to MAC and store-and-forward
relaying - discovery of time servers
- Perfectly acceptable for most cases
- E.g. Internet (coarse grain synchronization)
- Inefficient when fine-grain sync is required
- e.g. sensor net applications localization,
beamforming, TDMA etc
6Limitations of What Exists
- Existing work is a critical building block
- BUT
- Energy
- e.g., we cant always be listening or using CPU!
- Wide range of requirements within a single app
no method optimal on all axes - Cost and form factor can disposable motes have
GPS receivers, expensive oscillators? Completely
changes the economics - Needs to be fully decentralized,
infrastructure-free
Ref based on slides by J. Elson
7Sources of time synchronization error
- Send time
- Kernel processing
- Context switches
- Transfer from host to NIC
- Access time
- Specific to MAC protocol
- E.g. in Ethernet, sender must wait for clear
channel - Propagation time
- Dominant factor in WANs
- Router-induced delays
- Very small in LANs
- Receive time
- Common denominator non-determinism
8About Computer Clocks
- Clocks in computers
- Clock Skew ?
- Due to the clock drift, the local clock need to
be periodically synchronized to maintain an
accurate global time
9Romer2000 Scheme for Ad Hoc Networks
- Dont try to synchronize local clocks all the
time - Generate time stamps to record the events
occurring time - The time stamps are updated along its way by each
node using its own local clock - As the result of clock shift and message
propagation delay, the final time stamp is
expressed as a lower and upper bound
10Example
- When 1 senses an event, it starts counting time
with its clock. - 1 sends 2 a message regarding the event, and a
time stamp including how long the time has
elapsed since the event - 2 estimates the transmission delay to the time
stamp and continues counting the time - Messages are forwarded the same fashion as 1?2 to
node N - N is able to recover the time by looking at the
time stamp
1
2
3
N
11Analysis
- Assumptions
- Maximum clock skew is known
- The link can survive long enough so that a
synchronization message can be sent after the
application message - Time transformation
- Recall
- Real time estimation based on clock 1
- Time difference in local clock 2
12Message Delay
- Estimate delay for M2
- Sender
- Receiver
- A transmission of M2 is necessary for receiver to
obtain an estimation of delay! Dummy message
might need to be sent - It is desirable to make the interval between M1
and M2 short
Receiver
Sender
13Add Them Together !
- Node N puts together the time counted by all the
nodes and message delays - Notation
- idlet2-t1
- rttt3-t2
idle1
idle2
rtt1
rtt2
r1
r2
r3
rN
s1
sN
s2
s3
?3
?N
?1
?2
14This Leads To
- Inaccuracy is proportional to time stamp length
- Time stamp length increases linearly with
- the age of time stamp
- the number of hops
S1
S2
15Results
- Simulation
- Number of hops
- Age of time stamp
- Length of time stamp
- Able to distinguish two events with time
separation 6 ms - Improvements
- Store and forward the history of time stamp.
- Look for common node in history when two time
stamps overlap - When events have overlapping time stamps
- Use statistical tools to analyze the probability
that one event happens before another
16New Sync Method Reference Broadcast Elson2001
- Reference-broadcast synchronization Very high
precision sync with slow radios - Beacons are transmitted, using physical-layer
broadcast, to a set of receivers - Time sync is based on the difference between
reception times dont sync sender w/ receiver! - Post-facto synchronization Dont waste energy on
sync when it is not needed - Timestamp events using free-running clocks
- After the fact, reconcile clocks
- Peer-to-peer sync no master clock
- Tiered Architectures Range of node capabilities
Ref based on slides by J. Elson
17Traditional Sync
Problem Many sources of unknown,
nondeterministic latency between timestamp and
its reception
Sender
Receiver
Send time
Receive Time
At the tone t1
NIC
NIC
Access Time
Propagation Time
Physical Media
Ref based on slides by J. Elson
18Reference Broadcast Sync
Sync 2 receivers with each other, NOT sender with
receiver
Sender
Receiver
Receiver
Receive Time
NIC
NIC
NIC
I saw it at t4
I saw it at t5
Propagation Time
Physical Media
Ref based on slides by J. Elson
19RBS reduces error by removing much of it from the
critical path
NIC
NIC
Sender
Sender
Receiver
Receiver 1
Critical Path
Receiver 2
Time
Critical Path
Traditional critical path From the time the
sender reads its clock, to when the receiver
reads its clock
RBS Only sensitive to the differences in receive
time and propagation delay
Ref based on slides by J. Elson
20Observations about RBS
- RBS removes send and access time errors
- Broadcast is used as a relative time reference
- Each receiver synchronizing to a reference packet
- Ref. packet was injected into the channel at the
same instant for all receivers - Message doesnt contain timestamp
- Almost any broadcast packet can be used, e.g ARP,
RTS/CTS, route discovery packets, etc
Ref based on slides by J. Elson
21Phase Offset Estimation
- Simplest case single pulse, two receivers
- Xmitter broadcasts reference packet
- Each receiver records the time that beacon was
received according to its local clock - Receivers exchange observations
- Sufficient information to form a local (relative)
timescale - However, global timescales are also important
- Extending simple case to many receivers
- Assumptions
- Propagation delay is zero
- No clock skew
- Receiver non-determinism (error) is Gaussian
- Sending more messages increases precision
- Transmitter broadcasts m packets
- Each receiver records time the beacon was
observed - Receivers exchange observations
- Receiver i computes phase offset to receiver j as
the average of the offsets implied by each pulse
received by both nodes - Result
22Receiver Determinism
Testbed Berkeley motes with narrowband (19.2K)
radios
Ref based on slides by J. Elson
23Gaussian Good!
- Well behaved distributions are useful
- Error can be reduced statistically, by sending
multiple pulses over time and averaging - Also, easier to model/simulate
- Problem Clock skew
- It takes time to send multiple pulses
- By the time we do, clocks will have drifted
- Oscillator characteristics
- Accuracy difference between expected and actual
frequency - Difference Frequency error (usually 10-4 10-6)
- Stability tendency to stay at same frequency
over time - Phase difference between two nodes clocks will
change due to frequency differences - Solution dont average fit a line instead!
- Frequency and phase of local nodes clock
recovered from slope and intercept of the line - Fitting a line assumes that frequency is stable
- Assume high short-term frequency stability
- Ignore data more than a few minutes old
Ref based on slides by J. Elson
24Clock Skew Estimation Results
- 2 receivers (motes) r1, r2
- Point (0,0) marks the first pulse
- Receivers synchronized, no clock skew
- Clock skew increases as time increases
- Linear fit gives good results
- With clock skew estimation, sufficient
information exists to convert any time value
generated by r1s clock to a time value that
would have been generated by r2s clock
Time
Ref based on slides by J. Elson
25RBS Phase offset estimation Numerical analysis
results
- Numerical analysis for m1..50, n2..20
- 1000 trials for each m, n
- Results mean dispersion, std.dev
- 2-receiver case
- 30 broadcasts improve precision from 11 usec to
1.6 usec - 20-receiver case
- Dispersion reduced down to 5.6 usec
26RBS Sync Advantages
- 11usec precision over 19.2K radios wow!
- local or relative time peer to peer sync
- allows seamless exchange of messages about the
local area no error due to the master sync
server being far away - (NTP allows sync without an external ref., but
some node still needs to be defined as time) - Graceful handling of lost packets, outliers
Ref based on slides by J. Elson
27Comparison to NTP
- Second implementation
- Compaq IPAQs (small Linux machines)
- 11mbit 802.11 PCMCIA cards
- Ran NTP, RBS-Userspace, RBS-Kernel
- NTP synced to GPS clock every 16 secs
- NTP with phase correction, too it did worse (!)
- In each case, asked 2 IPAQs to raise a GPIO line
high at the same time differences measured with
logic analyzer
Ref based on slides by J. Elson
28Clock Resolution
Ref based on slides by J. Elson
29Clock Resolution
RBS degraded slightly (6us to 8us) NTP degraded
severely (51us to 1542us)
Ref based on slides by J. Elson
30Multihop RBS
- Some nodes broadcast RF synchronization pulses
- Receivers in a neighborhood are synced by using
the pulse as a time reference. (The pulse
senders are not synced.) - Nodes that hear both can relate the time bases to
each other
Blue pulse 2 secafter red pulse!
Here 3 sec after blue pulse!
Here 1 sec after red pulse!
Here 1 sec afterblue pulse!
Here 0 sec after red pulse!
Ref based on slides by J. Elson
31Time Routing
The physical topology can be easily converted to
a logical topology links represent possible
clock conversions
1
2
5
A
B
6
3
4
7
C
8
9
D
10
11
Use shortest path search to find a time
route Edges can be weighted by error estimates
Ref based on slides by J. Elson
32External Standards (UTC)
The multihop algorithm can also be easily used to
sync an RBS domain to an external standard such
as UTC
1
2
5
A
B
6
3
4
7
C
8
9
GPS
D
GPS
10
11
GPSs PPS generates a series of fake
broadcasts received by node 11s local clock
and UTC
Ref based on slides by J. Elson
33Post-facto Sync (well, pre)
Sync pulses
Drift Estimate
Test pulses
7usec error after 60 seconds of silence
Ref based on slides by J. Elson
34RBS Summary
- RBS can improve accuracy by removing sender from
the critical path - RBS outperforms NTP
- 8 times better for light load
- Remarkable performance on heavy load
- Multi-hop algorithm can extend RBS property
across broadcast domains, and to external
standards such as UTC - Facilitates tiered architectures (some nodes have
GPS, some dont) - Facilitates post-facto sync (save energy by only
syncing after an event of interest) - Cannot be applied to the Internet at large
- Only works with broadcast medium, not
point-to-point links
Ref based on slides by J. Elson
35References on Timing Synchronization
- Kay Romer Time Synchronization in Ad Hoc Networks
- Jeremy Elson et al. Fine-Grained Network Time
Synchronization Using Reference Broadcasts - http//www.gpsclock.com/gps.html
36Localization
- Localization of sensor nodes has many uses
- Beamforming for localization of targets and
events - Geographical forwarding
- Geographical addressing
- Why not just GPS at every node?
- Large size
- High power consumption
- Works only when LOS to satellites
- Over kill often only relative position is
needed - Works only on earth (e.g. sensor nets on other
planets)
37What is Location?
- Absolute position on geoid
- e.g. GPS
- Location relative to fixed beacons
- e.g. LORAN
- Location relative to a starting point
- e.g. inertial platforms
- Most applications
- location relative to other people or objects,
whether moving or stationary, or the location
within a building or an area - Range and resolution of the position location
needs to be proportionate to the scale of the
objects being located
38Self-positioning vs. Remote-Positioning
- Self-positioning
- Mobile node formulates its own position
- e.g. by sensing signals received at the mobile
from the transmitters in the infrastructure - Remote-positioning
- Position of mobile node calculated at a remote
location - e.g. by using signals received from the mobile by
sensors in the infrastructure - Indirect positioning
- Using a data link it is possible to send position
measurements from a self-positioning receiver to
a remote site, or vice versa - A self-positioning system that sends data to a
remote location is called indirect
remote-positioning - A remote-positioning system transmitting an
objects position to the object is called
indirect self-positioning
39Techniques for Location Sensing
- Measure proximity to landmarks
- e.g. near a basestation in a room
- example systems
- Olivettis Active Badge for indoor localization
- infrared basestations in every room
- localizes to a room as room walls act as barriers
- Most commercial RF ID Tag systems
- strategically located tag readers
- improved localization if near more than one
landmark - Estrins system for outdoor sensor networks
- grid of outdoor beaconing nodes with know
position - position centroid of nodes that can be heard
- of periodic beacon packets received in a time
interval exceeds a theshold - a problem not really location sensing
- it really is proximity sensing
- accuracy of location is a function of the density
of landmarks - Location accuracy O(distance between landmarks)
40Techniques for Location Sensing (contd.)
- Dead reckoning position relative to an
initialization point - work as supplement to a primary location sensing
techniques - resynchronize when the primary location sensing
technique works, and takes over if the primary
fails - e.g. supplement GPS during signal outages
- Use wheel and steering information in vehicles
- Integrating accelerometers mounted on
gyroscopically stabilized platforms - Point Researchs Pointman Dead Reckoning Module
- inertial measurement unit for personnel on foot
- Latitude and longitude relative to the start
point - magnetic compass MEMS-based electronic
pedometer barometric altimeter DSP - position error of 2-5 of total distance traveled
since last resynchronization - no drift with time
- U. S. Patent No. 5,583,776.
- www.pointresearch.com
41Pointman Dead Reckoning Module
Size 1.9" x 2.9" x 0.6 Weight 1.5 oz. Power
0.5 Watts _at_ 3.3 V (250 mW in new low-power DRM)
42Trackman Personnel Locator
- Combines a DRM with a GPS and a radio transmitter
to provide continuous location tracking - Kalman filter is used to combine the dead
reckoning data with GPS data when it is available - Specifications
- Size 3.2" x 7.5" x 2.3"
- Weight 12 oz.
- Range 0.25 miles
43Techniques for Location Sensing (contd.)
- Measure direction of landmarks
- Simple geometric relationships can be used to
determine the location by finding the
intersections of the lines-of-position - e.g. Radiolocation based on angle of arrival
(AoA) measurements of beacon nodes (e.g.
basestations) - can be done using directive antennas or antenna
arrays - need at least two measurements
44Techniques for Location Sensing (contd.)
- Measure distance to landmarks, or Ranging
- e.g. Radiolocation using signal-strength or
time-of-flight - also done with optical and acoustic signals
- Distance via received signal strength
- use a mathematical model that describes the path
loss attenuation with distance - each measurement gives a circle on which the MS
must lie - use pre-measured signal strength contours around
fixed basestation (beacon) nodes - can combat shadowing
- location obtained by overlaying contours for each
BS - Distance via Time-of-arrival (ToA)
- distance measured by the propagation time
- distance time c
- each measurement gives a circle on which the MS
must lie - active vs. passive
- active receiver sends a signal that is bounced
back so that the receiver know the round-trip
time - passive receiver and transmitter are separate
- time of signal transmission needs to be known
- N1 BSs give N1 distance measurements to locate
in N dimensions
45Radiolocation via ToA and RSSI
x2
d2
BS
BS
x1
MS
d1
d3
BS
x3
46Location in 3D
47Location in 3D
48Location in 3D
49Techniques for Location Sensing (contd.)
- Measure difference in distances to two landmarks
- Time-difference-of-arrival (TDoA)
- Time of signal transmission need not be known
- Each TDoA measurement defines line-of-position as
a hyperbola - hyperbola is a curve of constant difference in
distance from two fixed points (foci) - Location of MS is at the intersection of the
hyperbolas - N1 BSs give N TDoA measurements to locate in N
dimensions
50Algorithms for Location
- Depends on whether ToA (RSSI is similar) or TDoA
is used - Straightforward approach geometric
interpretation - Intersection of circles for ToA
- Intersection of hyperbolas for TDoA
- But what if the circles or hyperbolas do not
intersect at a point due to measurement errors?
51Sources of Errors
- Multipath
- Introduces error in RSSI, AoA, ToA, TDoA
- RSSI
- Multipath fading and shadowing causes up to 30-40
dB variation over distances in the order of half
a wavelength - Shadowing may be combated by using pre-measured
signal strength contours that are centered at BSs
(assumes constant physical topography) - AoA
- Scattering near and around the MS BS will
affect the measured AoA - Problem even when there is a LoS component
- In macrocells, basestations are elevated so that
signals arrive in a relatively narrow AoA spread - In microcells, signals arrive with a large AoA
spread, and therefore AoA may be impractical - ToA and TDoA
- Conventional delay estimators based on
correlation are influenced by the presence of
multipath fading which results in a shift in the
peak of the correlation
52Sources of Errors (contd.)
- Non line-of-sight (NLoS)
- Signal takes a longer path or arrives at a
different angle - Can be disaster for AoA if received AoA much
different from true AoA - For time-based, the measured distance may be
considerably greater than true distances - in GSM system, ranging error due to NLoS
propagation is 400-700 m - Multiple-access interference
- Most problem in CDMA where high power users may
mask the low power users due to near-far effect - Power-control is used in CDMA
- But, MS is not power controlled to other BSs
- So signal from MS may not be detectable at enough
BSs to form a location estimate - A possibility is to temporarily power up MS to
maximum, thus mitigating the near-far effect
53Location Algorithms in Presence of Errors
- Geometrical algorithms fail
- resort to estimation
- 2D scenario
- MS is located at
- BSs are located at
- vector of noisy measurements, , from a
set ofBSs can be modeled by - where is an measurement noise
vector, generally assumed to have zero mean and
ancovariance matrix - The system measurement model depends on
the location method used
54Location Algorithms in Presence of Errors (contd.)
- System measurement model
- ToA
- TDoA
- AoA
- Note
- without loss of generality, TDoA are referenced
to the first BS - if the time of transmission is needed to
form the ToA estimate, it can be incorporated
into as a parameter to be estimated along
with and - the unknown parameter vector can then be modified
to while the system
measurement model becomes - The AoAs are defined by
- Although not shown, , , and are
nonlinear functions of
55Location Algorithms in Presence of Errors (contd.)
- A well known approach for estimating from a noisy
set of measurements method of least squares (LS)
estimation - Weighted least squares (WLS) solution is formed
as the vector that minimizes the cost
function - LS methods can achieve the maximum likelihood
(ML) estimate when the measurement noise vector
is gaussian with and equal variances,
i.e. - For unequal variances, WLS with
gives the ML estimate - assume from now on
56Location Algorithms in Presence of Errors (contd.)
- is a nonlinear function of the unknown
parameter vector - The LS problem is a non linear one
- One straightforward approach iteratively search
for the minimum of the function using a gradient
descent method - an initial guess is made of the MS location, and
successive estimates are updated according
towhere the matrix is
the step size,is the estimate at time , and
denotes the gradient vector with
respect to the vector
57Location Algorithms in Presence of Errors (contd.)
- In order to mold the problem into a linear LS
problem, the nonlinear function can be
linearized by using a Taylor series expansion
about some reference point so that - where is the Jacobian matrix of
- Then the LS solution can be formed as
-
- This approach can be performed iteratively, with
each successive estimate being closer to the
final estimate - a drawback an initial guess of MS position
must be made
58Location Algorithms in Presence of Errors (contd.)
- Problems with linearization doesnt work well if
the linearized function does not
represent the nonlinear function well - other approaches have been developed for TDoA
that avoid linearization
59PinPoint 3D-iD Local Positioning System (LPS)
- Components
- Tags, networked Cell Controllers
- Transponding-tag
- readers emit codes that are received by the tags
- tags simply change the signal's frequency and
transpond it back to the reader with tag ID
information phase-modulated onto it - no need to calibrate the tag's clock (unlike GPS)
- no need to synchronize the various readers
- Multipath!
- processing gain!
- 40 MHz chipping rate in PinPoints systems
60Ascensions MotionStar Wireless
- Utilizes pulsed DC magnetic fields emitted by its
range transmitter to track the position and
orientation of sensors - Sensors mounted on key points of articulation for
body/head/hand tracking in VR environments - Components
- Backpack for mounting sensors
- Rack mountable chassis for data processing
- One or two external range transmitters for
emitting detectable magnetic fields - http//www.ascension-tech.com/graphic.htm
61Commercial Tags
- Active and passive RFID tags
- Close proximity of an interrogators
- few cms to 2-3 m
- IRID tags
- E.g. active badge
- Tags periodically transmit their identification
codes by emitting infrared light to readers
installed throughout the facility
62ATT Labs BAT System
- Mobile units Bats
- Use of ultrasound
- Consists of a radio transceiver, controlling
logic, and an ultrasound inducer
63ATT Labs BAT System (contd.)
- Basestations receivers placed in ceilings
- Use of multilateration for location
- All the receivers lie in the plane of the
ceiling, and the transmitters must be below the
ceiling. - This allows calculation of transmitter positions
using only three distances rather than the four
required in the general case. - Occasionally, however, the direct path may be
blocked, and the first received signal peak will
be due to a reflected pulse. - In this case, the measured transmitter-receiver
distance will be greater than true distance. - The difference between two transmitter-receiver
distances cannot be greater than the distance
between the receivers.
64Distance Calculation
- For each receiver, the interval tp between the
start of the sampling window and the peak signal
time represents the sum of several individual
periods
65Æther Wire Location, Inc.s Localizers
- Based on a new type of radio ultra-wideband,
non-sinusoidal communication - Claim/goal pager-sized and coin-sized units
powered by AAA-sized cells that are capable of
localization to submeter accuracy over kilometer
distances in networks of up to a few hundred
Localizers
66Cooperative Networked Ranging for Ad Hoc Networks
- Each node determines the range to every other
node and then shares the information with members
of the network - With 4 nodes knowing all the ranges between them,
a rigid tetrahedral structure is determined
(assuming no 3 nodes are collinear) - each node can then be in one of two 3-dimensional
locations with respect to the other 3 nodes - having a 5th node resolves this ambiguity
- Advantage no fixed infrastructure
- extensible, incremental, mobile, and survivable
- Many open issues
67Localization Issues in Sensor Networks
- Harsh environment with multipaths etc.
- Energy constraint
- Minimal infrastructure
- Few beacons
- No basestations
- No backend computation
- Scale
68Sensor Net Localization Scenarios
Ad-Hoc Node Localization Techniques
Locate nodes deployed in a sensor field
Rapid installation and self-calibration of indoor
localization systems
Indoor localization in the presence
of Obstacles (e.g SmartKG)
69Example of Cooperative Networked Ranging for Ad
Hoc Networks
- Each node determines the range to every other
node and then shares the information with members
of the network - With 4 nodes knowing all the ranges between them,
a rigid tetrahedral structure is determined
(assuming no 3 nodes are collinear) - each node can then be in one of two 3-dimensional
locations with respect to the other 3 nodes - having a 5th node resolves this ambiguity
- Advantage no fixed infrastructure
- extensible, incremental, mobile, and survivable
- Many open issues
70Challenges
- Algorithmic level
- Solve a large non-linear optimization problem
using resource constrained microprocessors - Computation and communication challenges and
energy tradeoffs (distributed, efficient and
robust) - Physical Effects on Ranging Measurements
- Interference - transmission coordination
- Multipath effects
- Other systematic error sources
- Practical Challenges
- Demonstrate principles on a prototype testbed
- Robustness, mobility support
- Protocol architectures and integration
71Robust Wideband Acoustic Ranging System
- Basic idea
- Sender emits a characteristic acoustic signal
- Receiver correlates received time series with
time-offsets of reference signal to find peak
offset
Degree of correlation as a function of time
offset
Amount of Correlation
T
72Acoustic Mote
- Mote with an audio amplifier and speaker
73Correlation
- Green is reference, Red is measured
- Signals aligned to offset yielding max correlation
Amplitude
Time in Samples (20 uS)
74Correlation
- Correlation function low noise, high SNR
Lag in Samples (20uS)
75Modulation Strategies
- One of the obstacles to implementation is the
performance of the speakers - Limited frequency response certain frequencies
are strongly emphasized, exhibit resonance - Impulses cause ringing for 100 samples (70 cm)
- Impulse responses not uniform across motes
- Fundamental problems
- Nonlinear response outside limited range
- Unable to follow phase shifts at high frequencies
- Unable to follow rapid frequency shifts
- Poor low frequency response
76Correlation
- Multipath interference, lower SNR
Lag in Samples (20uS)
77Detection Algorithms
- Output of matched filter can be ambiguous
- PN code has low autocorrelation.. But the impulse
response is quite periodic - Want to select earliest peak.. But not noise.
- Peaks separated by 10cm (speakers fundamental
frequency) - Errors tend to be stationary (consistent across
multiple trials) - Errors function of multipath environment,
orientation, noise level - Improving accuracy of detection
- Tune signal to match speaker Preserve phase at
high power, reduce ringing, inter-pulse gaps - Adaptive noise threshold IIR filters of
correlation function at different time scales, to
find first cluster - Peak selection algorithm first peak of cluster
hard to define consistently, use max of cluster - Self-ranging listen to your own signal
eliminates sending latency, consistently applies
detection algorithm to node-specific impulse
response
Autocorrelation of Impulse Response
78Acoustic Error Model
- Components
- Gaussian measurement error (
- Synchronization error
- Detection error resulting from noise in channel
- Quantization error
- All ranges quantized to CODEC sampling frequency
(0.71 cm) - Algorithmic detection error
- Inconsistent peak selection errors quantized to
10 cm - NLOS error
- Turbulence near surfaces, diffraction, blurring
5-30 cm error - Offsets from reflected paths (ceiling, walls)
meters - Often NLOS error is correlated along similar
paths - Peak selection and NLOS error is stationary
- Primarily influenced by stationary features of
environment
Stationary Error
79Localization over Multiple Hops
- Nodes with unknown locations are multiple hops
away. - Propagate beacon locations inside the network
- Measure inter-node distances with a ranging
technology - Measurements and beacon locations to estimate the
locations of the remaining nodes. - Ranging Technologies
- RSSI, Laser Ranging, Wide Band Acoustic,
Ultrasonic, UWB, RF-Time-of-Flight may be there
soon
Ref based on slides by Andreas Savvides
80Iterative Multilateration
- Nodes that estimate their locations can become
beacons and help other nodes discover their
locations. - Resembles distance vector routing
- Some facts
- Can work for small networks, if ranging is
accurate - Energy efficient
- Still requires quite a lot of initial beacons
- Suffers from error accumulation
- Bad geometry yields bad results unpredictable
performance - Still a useful primitive for Distributed
Collaborative Multilateration
Ref based on slides by Andreas Savvides
81Iterative Multilateration Accuracy
50 Nodes, 20x20m room, range3m, 10 beacons
20mm white gaussian ranging error
Ref based on slides by Andreas Savvides
82Node vs. Initial Beacon Densities
Resolved Nodes
Total Nodes
Initial Beacons
Uniformly distributed deployment in a field
100x100. Node range 10 Results include only
iterative multilateration
Ref based on slides by Andreas Savvides
83Collaborative Multilateration
- Estimate node locations using location
information from beacons that are multiple hops
away - Prevent error accumulation
- Lightweight computation
- Robust and energy conserving
- Work well at lower beacon densities and in the
presence of obstacles
Ref based on slides by Andreas Savvides
84Collaborative Multilateration
- Considers constraints over the whole network
- Ensure that a unique solution exists before
trying to solve the problem. - Need a set of initial estimates to start the
estimation process - Start the position refinement iterative least
squares - How can one solve this efficiently?
- Begin with a central point formulation and move
to a distributed one - Assumptions
- There is sufficient connectivity
- Some nodes already know their locations
- The beacons surround the unknowns
- Will be removed later on
- Ranging error is white gaussian
(AB sin a, AB cos a)
(AC,0)
(0,0)
Ref based on slides by Andreas Savvides
85PHASE 1
PHASE 2
Find nodes with unique position solutions
Compute Initial Position Estimates For all nodes
PHASE 3
PHASE 3
Centralized Computation
Distributed Computation
Communicate
Communicate results to central point
Compute estimate at each node
Compute location estimates
Criteria met?
Refine estimates of under-constrained nodes
NO
YES
Transmit estimates back to each unknown node
Done
Done
Ref based on slides by Andreas Savvides
86Collaborative Subtrees (Phase 1)
- Consider the single hop case
- 3 non-collinear beacons are required
- Multihop case
- Need at least 3 neighbors to act as anchors
- Additional conditions need to be imposed
- Consider the case where 3 beacons are at most 2
hops away - Derive a new set of constraints
- Extend to multiple hops
Ref based on slides by Andreas Savvides
87Collaborative Subtree Conditions
- Condition 1 An unknown node should have at least
three neighboring anchors - Condition 2 Anchors should be non-collinear.
Can be checked using angles - If AD AC CD noise, anchors are collinear
A
B
Anchors
C
Unknown node
D
Ref based on slides by Andreas Savvides
88Collaborative Subtree Conditions
- Condition 3 Each pair of unknowns that uses a
link to each other as an unknown has to have at
least one external reference - How can these conditions be checked in the
network? - Execute a recursive call at each unknown node to
determine if it can be an anchor node.
1
2
1
3
5
4
3
?
OR
4
3
4
2
2
1
Symmetric topology
Condition 3 satisfied
Ref based on slides by Andreas Savvides
89Collaborative Subtree Discovery
Complete subtree
- Start at an unknown node and check if it has at
least 3 anchors. - A node is an anchor if it is a beacon or if it
has at least 3 neighbors that are anchors - Expand collaborative subtree by absorbing all
unknowns for which the locations can be
determined with the nodes inside the tree.
Expanded subtree
Ref based on slides by Andreas Savvides
90Initial Estimates (Phase 2)
- Use the accurate distance measurements to impose
constraints in the x and y coordinates bounding
box - Use the distance to a beacon as bounds on the x
and y coordinates
U
a
a
a
x
Ref based on slides by Andreas Savvides
91Initial Estimates (Phase 2)
- Use the accurate distance measurements to impose
constraints in the x and y coordinates bounding
box - Use the distance to a beacon as bounds on the x
and y coordinates - Do the same for beacons that are multiple hops
away - Select the most constraining bounds
Y
bc
bc
c
b
U
a
X
U is between Y-(bc) and Xa
Ref based on slides by Andreas Savvides
92Initial Estimates (Phase 2)
- Use the accurate distance measurements to impose
constraints in the x and y coordinates bounding
box - Use the distance to a beacon as bounds on the x
and y coordinates - Do the same for beacons that are multiple hops
away - Select the most constraining bounds
- Set the center of the bounding box as the initial
estimate
Y
bc
bc
c
b
U
a
a
a
X
Ref based on slides by Andreas Savvides
93Initial Estimates (Phase 2)
- Example
- 4 beacons
- 16 unknowns
- To get good initial estimates, beacons should be
placed on the perimeter of the network - Observation If the unknown nodes are outside the
beacon perimeter then initial estimates are on or
very close to the convex hull of the beacons
Ref based on slides by Andreas Savvides
94Computation (Phase 3)
- Centralized
- Only one node computes
2. Locally Centralized Some of unknown nodes
compute
3. (Fully) Distributed Every unknown node computes
- Each approach may be appropriate for a different
application - Centralized approaches require routing and
leader election - Fully distributed approach does not have this
requirement
Ref based on slides by Andreas Savvides
95Computing at a Central Point
1
5
4
3
6
2
The objective function is
Can be solved using iterative least squares
utilizing the initial estimates from phase 2 -
we use a Kalman Filter
Ref based on slides by Andreas Savvides
96Kalman Filter
From Greg Welch
- We only use measurement update since the nodes
are static - We know R (ranging noise distribution)
- Not really using the KF for now, no notion of
time
Ref based on slides by Andreas Savvides
97Global Kalman Filter
- Matrices grow with density and number of nodes
so does computation cost - Computation is not feasible on small processors
with limited computation and memory
Ref based on slides by Andreas Savvides
98Distributed Computation
- One option is to use a Distributed Kalman Filter
Roumeliotis,Whyte - Instead, we use a simpler approximation
- Perform Iterative Multilateration inside a
Collaborative Subtree - If multilaterations follow a consistent pattern
then a gradient with respect to the whole
collaborative subtree is established (driven
using Distributed Depth First Search) - Less computation, similar result
Ref based on slides by Andreas Savvides
99Distributed Computation II
2
1. Obtain initial estimates 2. for each
unknown 2.1 Perform Atomic Multilateration
if the neighbor is beacon use
beacon location else use current
position estimate 2.2 Broadcast new
location estimate 3. Repeat step 2 every time a
new position estimate is received until
the convergence criteria are met
5
3
Position Uncertainty
4
1
The unknown nodes need to perform their atomic
multilateration in the same order, driven by a
Distributed Depth First Search algorithm
local computations, follow a global gradient
Ref based on slides by Andreas Savvides
100Distributed Computation III
1. Obtain initial estimates 2. for each
unknown 2.1 Perform Atomic Multilateration
if the neighbor is beacon use
beacon location else use current
position estimate 2.2 Broadcast new
location estimate 3. Repeat step 2 every time a
new position estimate is received until
the convergence criteria are met
2
5
3
4
Stopping Criterion
1
The unknown nodes need to perform their atomic
multilateration in the same order, driven by a
Distributed Depth First Search algorithm local
computations, follow a global gradient
Ref based on slides by Andreas Savvides
101Convergence Process
- From SensorSim
- simulation
- 40 nodes, 4 beacons
- IEEE 802.11 MAC
- 10Kbps radio
- Average 6 neighbors
- per node
Ref based on slides by Andreas Savvides
102Gains in Computation
- Computation cost based on MATLAB FLOPS outputs
- Result difference between centralized and
distributed is very small - Mean 0.015 mm, Standard Deviation 0.0054mm
- A group of nodes can collectively solve a
non-linear optimization problem than none of the
nodes can solve individually. - Distributed computation cost between 3-4 MFLOPS
per node
Ref based on slides by Andreas Savvides
103Communication Cost and Latency
- Convergence time increases
- with network size
- Simulation uses IEEE 802.11
- and a 10kbps radio
- Communication cost evenly
- distributed across all nodes
- Route to central point using DSR
Ref based on slides by Andreas Savvides
104Localization Accuracy
- Results obtained on a suite of 200 networks
10-200 nodes in each network - Average error over all networks 27.7 millimeters,
with a std 16mm
Ref based on slides by Andreas Savvides
105Conclusions on Collaborative Multilateration
- Advantages
- It can go around obstacles does not consider
multipath effects though - Reduces Error Propagation
- Distributed version
- Allows a group of nodes to solve a problem that
they could not solve individually - Robust
- Even power consumption
- Disadvantages
- Still sensitive to geometry best results when
nodes are surrounded by beacons - Interaction between collaborative subtrees needs
to be studied further
Ref based on slides by Andreas Savvides
106Generalized or Relative Localization
- Determine the position of all elements in a
network (both fixed and mobile) relative to an
arbitrary global coordinate system. - Each element is equipped with either a beacon or
beacon sensor such that each beacon can be
unambiguously determined by the beacon sensors. - Each measurement made by a beacon sensor imposes
a constraint on the relative pose of two network
elements - Given a set of such measurements, the generalized
localization problem can be reduced to the task
of finding a set of global poses.
107Relaxation on a Mesh Howard2001
108Other Localization Research
- Doherty _at_ Berkeley
- Centralized convex optimization
- Badri Nath _at_ Rutgers
- Angle of arrival
- Sastry _at_ Berkeley
- Bound by rectangular boundaries
- Hari Balakrishnan _at_ MIT
- Location and Orientation in Infrastructure-oriente
d case - Sensoria _at_ Santa Monica
- Locations and Orientation in Ad Hoc case
109Sensor Network Coverage
- The Problem
- Given
- Ad hoc sensor field with some number of nodes
with known location - Start and end positions of an agent
- Want
- How well can the field be observed?
- Example usage
- Commander
- Weakest path what path is the enemy likely to
take? - Network manager
- Weakest path where to deploy additional nodes
for optimum coverage? - Soldier in the battlefield
- Strongest path what path to take for maximum
coverage by my command? - Weakest path how to walk through enemy sensor
net or through minefield?
Ref based on slides by Seapahn Megerian
110Evolution of Research on Coverage
- Distance to closest sensor
- Worst case coverage Maximal Breach Path
- Best case coverage Maximal Support Path
- Exposure to sensors
- Consider distance
- Worst case coverage Minimal Exposure Path
- Localized distributed algorithms
- Query from user roaming in the sensor field
- Computation done by the nodes themselves
- Only relevant sensor nodes involved in the
computation - On-going
- Effect of target speed
- Heterogeneous sensors
- Terrain-specific measured or statistical exposure
models - Probability of detection
111Closest Sensor Model Maximal Breach Path
- Problem find the path between I F with the
property that for any point p on the path the
distance to the closest sensor is maximized - Observation maximal breach path lies on the
Voronoi Diagram Lines - by construction each line segment maximizes the
distance from the nearest point
- Given Voronoi diagram D with vertex set V and
line segment set L and sensors S - Construct graph G(N,E)
- Each vertex vi?V corresponds to a node ni ?N
- Each line segment li ?L corresponds to an edge ei
? E - Each edge ei?E, Weight(ei) Distance of li from
closest sensor sk ?S - Search for PB
- Check for existence of I?F path using BFS
- Search for path with maximal, minimum edge weights
Ref based on slides by Seapahn Megerian
112Example Result
Example Max Breach Path in a 50-node network
Ref based on slides by Seapahn Megerian
113Exposure Model of Sensors
- Likelihood of detection by sensors is a function
of time interval and distance from sensors. - Minimal exposure paths indicate the worst case
scenarios in a field - Can be used as a metric for coverage
- Sensor detection coverage
- Also, for wireless (RF) transmission coverage
Ref based on slides by Seapahn Megerian
114Exposure Model of Sensors (contd.)
- Sensing model S at an arbitrary point P for a
sensor s -
-
- where d(s,p) is the Euclidean distance between
the sensor s and the point p, and positive
constants ? and K are technology- and
environment-dependent parameters. - Effective sensing intensity at point p in the
sensor field F - All sensors
- Closest sensor
- K closest sensor
- The Exposure for an object O in the sensor field
during the interval t1,t2 along the path p(t)
is
Ref based on slides by Seapahn Megerian
115Minimum Exposure Path Formulation
- Problem
- Find the Minimal Exposure Path PminE in A
starting in I and ending in F, i.e. the path from
I to F along which the exposure is smallest - Example minimum exposure for one sensor in a
square field
Ref based on slides by Seapahn Megerian
116Solution Approach
- General Case is analytically intractable
- Practical approach efficient and scalable method
to approximate exposure integrals and search for
Minimum Exposure paths - use a grid to approximate path exposures
- exposure (weight) along each hrif edge
approximated numerically - use Dijkstras Single-Source Shortest Path
Algorithm on the weighted graph (grid) to find
the Minimal Exposure Path - worst case search O(n2m) for a nxn grid with m
divisions per edge - cost dominated by grid construction
- Generalized grids provide improved accuracy by
increasing grid divisions at the cost of higher
storage and run-time
Ref based on slides by Seapahn Megerian
117Example Result
- 50 randomly deployed node with the all-sensor
intensity model
Ref based on slides by Seapahn Megerian
118Problem? . Centralized
GATEWAY
MAIN SERVER
CONTROL CENTER
Ref based on slides by Seapahn Megerian
119Solution?
Localized Distributed Algorithm
Ref based on slides by Seapahn Megerian
120Localized Algorithms
- Solve a distributed optimization problems
- Take into account topology, available energy,
power etc. - Obtain only needed information and use it to
guide optimization - Take into account problem properties
- Problems Numerical errors
Ref based on slides by Seapahn Megerian
121Localized Exposure
- Voronoi Partitioning
- Advantages
- One sensor per Polygon
- Node can calculate its VP by knowing only its
immediate (Delaunay) neighbors - Smaller VPs in high node density areas
- Drawbacks
- One sensor potentially in charge of large area
- Paths likely to be close to border edges
- How to find Delaunay neighbors?
- If node only knows locations of the Delaunay
neighbors, then exposure calculation is not
accurate
Ref based on slides by Seapahn Megerian
122Localized Exposure (contd.)
- Each polygon edge has a corresponding Exposure
Profile (EP) - Can use different data structures to store EPs.
- EPs initialized to infinity
- Continuously updated in algorithm by keeping
smaller values and discarding larger ones
Ref based on slides by Seapahn Megerian
123Localized Exposure (contd.)