Title: Acoustic ENSBOX: a SelfCalibrating Distributed Acoustic Sensing Platform
1Acoustic ENSBOXa Self-Calibrating Distributed
Acoustic Sensing Platform
- Lewis Girod
- (CSAIL/MIT)
- Martin Lukac, Vlad Trifa, Deborah Estrin
(CENS/UCLA)
2Distributed Acoustic Sensing Applications
Bio-acoustics, Animal call detection
GoalDevelop a platform to support distributed
acoustic sensing
3Drilling down for requirements Marmot Call
Application
- Goal study calling behavior.
- Detect, record, localize.
Node
Some Marmots
Meadow Deployment
4Marmot habitat in alpine meadow
- Deploy sensors, surround region of interest
50m
5Deploy detection application
- Deploy sensors, surround region of interest
- Calibrate system determine sensor
location/orientation - Nearby node detects, notifies others
- All nodes estimate bearing to source
50m
6Collect and analyze results
Goal develop a platform that makes this easy.
7Key requirement Node location and orientation
- Source localization combines results from
different locations - Use local sub-arrays to estimate bearingto
source - Beam crossing
- Relies on knowingcorrect location
andorientation of each node - Accuracy targets
- Pos 15cm
- Orient 2 deg
Need automated location calibration
8Key requirement Support real-time detection
- Must filter local noise sources
- Nearby noise often louder
- wind, insects, rivers
- other animals with similar calls
- CPU/RAM requirements
- 48Ks/s 4ch 16 bits 384KB/s
- 16 tap FIR filter, 1 channel 16 CPU of 400MHz
PXA - Exact requirements hard to predict before
deployment
Frequency
Time
Provide enough memory and CPU to support rapid
prototyping
9Acoustic ENSBox Platform
Software Stack Self Localization
Service Synchronized Sampling Service Simple
primitives for collaboration
Software Stack Self Localization
Service Synchronized Sampling Service Simple
primitives for collaboration
4 condenser mics,in 8cm cubic array. 4 piezo
tweeters 48 KHz sample rate
400 MHz ARM/Linux 10 MFlop CPU, 64MB/1GB, 802.11,
Internal Li battery 3.5W max power
10Self-localization ServiceProblem definition
- For each node
- 3D position (X,Y,Z)
- Array orientation T
- Relate to map coords
- Environmental scaling
- Temperature, humidity, etc.
(X,Y,Z,T)
11High-level System Architecture
12Key points about the system
User control rather than autonomous
High Accuracy Long Range
13Distribution of Angular Errors
14Distribution of Range Errors
15Long detection range
- 120m range at maximum power (in shade)
- 60m, with emitter calibrated to 105 dB _at_ 10 cm
- Holding physical density constant,Localization
solution will be better constrained - Critical for robustness and outlier rejection
16Key points about position estimation
Outlier rejection High accuracy in system
tests Compensation for environmental factors
17Importance of redundancy in localization solution
- Inspires confidence in results, e.g.
- Suppose spot comparison to GPS disagrees.
- Test if GPS correct, is system still consistent?
- Enables rejection of inconsistent data
- Angular inconsistency might indicate reflection
- Range inconsistency large weighted residual
- But, how effective in practice?
18System test James Reserve
- Ground truth survey pos. accurate to 1cm.
- Oriented west by eye
- using a compass.
- 9 cm avg 2D error
- 22 cm avg 3D error
- 2.7 deg avg orient err
- (1.7 deg median err)
19Impact of outlier rejection
20Outliers in an Urban Test
21Self-consistency is great, but
- What about the real world?
- (So far we have a relative coordinate system)
- What about the speed of sound?
- ( a function of temperature and other factors)
- Solution
- Capture ranges over short time period to minimize
environmental changes, and compute relative map - Acquire surveyed points via GPS, GIS, etc.
- Fit them to corresponding points in relative map
- Allow only rotation, translation, and uniform
scaling - Why is this a good solution?
22Two nice properties
- Fitting anchors after computing relative map
- Prevents error in anchors from biasing the system
- Important when anchors less accurate than ranges
- Scaling compensates directly for speed of sound!
- No need to measure temp, humidity, etc.
- Resulting scale factor can be used to correct any
TOF based algorithms - Does it work?
- Good results in system tests, in shade and sun
- More experimentation required
23Success as a platform
- Provides key functionality for source
localization apps - July 06 Marmot study
- Supported bulk recording with timesync and
self-calibration - Marmot detection application 800 lines of code,
1 week - Distributed detect / record
- Source localization off-line
- Synchronized sampling API
24Version 2
- Planned for deployment in Mexico Dec 06
- Antbird call study
- Rain forest conditions
- Version 2
- Smaller, lighter, waterproof
- Single unit
- Improved storage capacity
- Many mechanical bugs fixed
- Easier to replicate
- Enable other interested users studies of
chimpanzees, wolves, birds, noise pollution
measurement
25Conclusions
- Platform for distributed acoustic sensing
- Supports key features for deployment
- Packaged and portable, 10 hours battery life
- Robust self-localization system
- Well suited to rapid development
- API for distributed synchronized sampling
- Spare cycles reduce need for early optimization
- Already used in bio-acoustic studies
http//lecs.cs.ucla.edu/girod/aensbox
26(No Transcript)
27System Tests
- Experimental Process
- Lay out 10 nodes, and use survey tool to record
ground truth - Using UI, request 5 ranging trials and record
positioning results - Restart system and repeat
- Compare results to ground truth
- Test locations
- Selected challenging test locations
- Obstructions, reflections, noise
- Metric Average Position Error
- Fit estimated map to ground truth
- Then compute average distance between
- corresponding points
28System test UCLA Court of Sciences
- 10 nodes
- Two Deployments
- Surveyed to 1cm
- Each node pointed at a neighbor by laser
- 65-70 dB noise
- Tall hedges planters
- Reflecting buildings
- 5 cm avg 2D error
- 45 cm avg 3D error
- 1.3 deg avg orient err
29Impact of simulated Obstructions
30Azimuth Errors as aFunction of Angle
31Range Measurements with Mean Error
32Zenith Errors as aFunction of Angle
- Angles under -30 degrees are obstructed by the
array itself, and have much worse variance.
33Range and Bearing EstimationSystem Overview
Receiver Node
Emitter Node
Emit Coded Signal
Sampling Service Lookback Buffer
Sampling Service Lookback Buffer
Ranging Layer
Detection Algorithm
Select Code
Detection Algorithm
ltRange, ?, ?gt
Trigger
ltCode, Detect Timegt
ltCode, Detect Timegt
Flooding Time Conversion
34Synchronized Sampling and the Look-back buffer
- Sampling system provides continuous, monotonic
indices - Sampling API supports streaming and buffered
access - Timesync enables conversion of sample indices
across nodes
- Local Example
- At time T, detect feature in Ch0.
- Local look-back Extract Ch0-3 from past data
T-d,T. - Queue data for enhancement using beamforming.
35Look-back buffer Multi-node example
Event 1
Node1
T
Event 2
Converted via Syncd
T
Node2
Node3
Node 2s fast detector might initially miss
event 1, yet later find it using hints from Node 1
36How Time Conversion Works
Node1
Node2
Sample1
Sample2
CPU1
CPU2
Node3
Observed linear conversion metric relating two
clocks Message containing timestamp in C2
timebase
Key idea Observe and convert rather than
synchronize.
TC2
CPU3
37Network PrimitiveFlooding with Time Conversion
- Simple, low latency flooding algorithm
- Upon receipt of message containing timestamp
- Attempts to convert to local time
- Drops/forgets packet if no conversion available
Drop (no conversion)
X
TC1
TC1
TC2
TC2
TC3
Node1
Node2
Node3
CPU1
CPU2
CPU3
38Range and Bearing EstimationAlgorithm
- Inputs
- The input signals from the microphones
- The time the signal was emitted (used to select
from input signal) - The PN code index used
- Outputs
- Peak phase (i.e. range) R
- The 3-D direction of arrival ?, ?
- Signal to Noise Ratio (SNR)
39Correlation
- Signal detection via matched filter constructed
from PN code - Observed signal S is convolved with the reference
signal - Peaks in resulting correlation function
correspond to arrivals - Earliest peak is most direct path
40DOA Estimation and Combining Stage
- 6-way cross-correlation of peak region ? DOA
Estimator - DOA Estimator least squares fit of phase offsets
to array geometry, determine most likely DOA - Key Resilient to perturbations in microphone
placement - DOA estimate used to recombine signals to improve
SNR - Final peak detection yields final range estimate R
41Zooming in.. 8x Interpolation
- Sub-sample phase comparison is critical to DOA
estimation - Otherwise, large quantization errors 1 sample
offset 5 - Once a peak region is identified
- Zoom in by interpolating
- Use Fourier coefficients to expand the signal at
higher resolution - Equivalent to phase shift in FD
- But enables direct TD processing of correlation
outputs
42Iterative Refinement
- Non-linear Least Squares (NLLS)
- Express range constraints separately from angle
constraints - Does not result in a linear system
- Linearize, gradient descent
- Orientation estimated in a separate, interleaved
step - Average residual represents bias caused by array
orientation - Values converge rapidly keep fixed after 10
iterations while NLLS converges.
43Network PrimitiveReliable N-hop
Publish/Subscribe
- Publish/Subscribe API
- Data model is tables of key-value pairs
- Each publisher has independent key-space (no
contention) - Implemented as sequenced log of add/delete
entries - Low cost to replacing single key
- Low quiescent cost
- Used for publishing
- Fault reports (Node1/Mic1 Fail)
- Range/Bearing data
- Position maps
- Configuration data
Node1
Node2
Node3
1X1 2X2 2Y3
1X1 2X2 2Y3
1X1 2X2 2Y3
44Comparison to Related Work
- More accurate than other outdoor systems
- Vanderbilt Sallai and UIUC Kwon
- 15-25 cm std. dev. range error (vs. 1.7-3.8 cm)
- Low detection range 20-30 m (vs. 80 m)
- 2.46 m 2D position error (vs. 0.05 m)
- Solves more difficult problem
- 3D position array orientation
- Tested in much more challenging environments
- Much easier to prototype with than Mote-based
systems