Title: The Design and Implementation of a SelfCalibrating Distributed Acoustic Sensing Platform
1The Design and Implementation of a
Self-Calibrating Distributed Acoustic Sensing
Platform
Collaborators Deborah Estrin, Martin Lukac
(UCLA/CENS) Vladimir Trifa (EPFL) This material
is based upon work supported by the National
Science Foundation under Grant No. CCF-0120778.
2Distributed Acoustic Sensing Applications
Animal call detection
GoalDevelop a platform to support distributed
acoustic sensing
Highway safety
Vehicle tracking
Node location
3Platform Objective SupportAcoustic Source
Localization
Each node hosts an acoustic array and local
processing capability.
Node1
- Algorithm
- Filter,
- Detect,
- Compute Bearing,
- Collaborate.
Node2
Node3
4Platform Objective SupportAcoustic Source
Localization
In the final step, bearing estimates from each
node are combined to estimate target location.
Node1
- NEED
- Array orientation
- Array position
- Synchronized, buffered sampling across nodes
- Network primitives for collaboration
Node2
Node3
5The Acoustic ENSBox
4 condenser mics 4 piezo tweeters Wind screens
Raised mic for 3D bearing estimates
400 MHz ARM/Linux CPU, 64MB/1GB, 802.11,
4x48KHz 3.5W max power
Plus, a software stack that addresses the needs
of source localization applications
6ENSBox Software Enables Source Localization
- NEED
- Array orientation
- Array position
- Synchronized, buffered sampling across nodes
- Network primitives for collaboration
Location and orientation self-calibration system
5 cm position error, 1.5 degree orientation error
in 50x80 m outdoor urban environment 9 cm
average error in forest environment.
Sampling API Sync across nodes accurate to
within a sample Look-back buffer simplifies
system timing.
StateSync Efficient, reliable publish/subscribe
of K-V pairs to N-hop
neighbors. Flooding with Hop by Hop time
conversion
7Outline
- Synchronized sampling implementation
- Network Primitives
- Self-calibration system design
- Experiments and results
- Ranging component tests
- Bearing component tests
- System test UCLA Courtyard
- System test James Reserve
- External users
- Antbird detection and recognition
8Synchronized 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.
9Look-back buffer Multi-node example
Bird 1
Node1
T
Bird 2
Converted via Syncd
T
Node2
Node3
Node 2s fast detector might initially miss
bird 1, yet later find it using hints from Node 1
10How 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
11Network 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
12Network 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
13Outline
- Synchronized sampling implementation
- Network Primitives
- Self-calibration system design
- Experiments and results
- Ranging component tests
- Bearing component tests
- System test UCLA Courtyard
- System test James Reserve
- External users
- Antbird detection and recognition
14Implementation of the Self-Calibration System
- Problem definition
- For each node, estimate
- 3D position (X,Y,Z)
- Array orientation T
- Fit relative coordinates to survey points
- Relate to fixed system
- Correct for environmental scaling
- Assume all arrays are level
- Metric (given ground truth)
- Avg 2D, 3D position error
- Avg orientation error
(X,Y,Z,T)
15Components of the system
- Range/Bearing Estimation
- Emitter chirps, other nodes detect phase of chirp
via correlation - Estimate AOA using local TDOA
- Report (R,?) data to position layer
- Position Estimation
- Centralized algorithm
- Triggers each node to chirp in turn, receives
(R,?) estimates - Least squares algorithm to compute relative map
(X,Y,Z,T) - Fit map to surveyed locations
Web UI
Position/Orient Estimates
User Input
Position Estimation Algorithm
Range/Bearing to neighbors
Trigger
Range/Bearing Estimation
Ranging is a distributed component that is
greatly simplified by our sampling and network
features
16Range 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
17Range 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)
18Correlation
- 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
19DOA Estimation and Combining Stage
- 6-way cross-correlation of peak region ? DOA
Estimator - Filtered signals from each pair of microphones
are correlated - Offset of maximum correlation between pair
(lag) recorded - DOA Estimator least squares fit of lags to
array geometry - Key Resilient to perturbations in microphone
placement - DOA estimate used to recombine signals to improve
SNR - Final peak detection yields final range estimate R
20Position Estimation
- Problem
- Given pair-wise range and DOA estimates
- Estimate X,Y,Z locations and orientation T for
each node
R,?,?
21Position Estimation Solution
- Iterative refinement
- Non-linear least squares position estimation
- Interleaved orientation estimation
- Filtering out bad data is key to good results
- Pre-filtering step
- Over-constrained system ? reject inconsistent data
22Use DOA for Initial Estimate
Difference of forward and reverse DOA used to
estimate orientation
R
?
23Iterative 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.
24Rejecting Inconsistent Data
- Rejecting data from inconsistent angles
- Angular error likely caused by reflections
- Pre-filter data
- Perform multiple trials, keep data from median
angle value - After orientation estimation converges
- Drop ranges associated with angles that differ
significantly from angles computed from estimated
positions - Rejecting outlier constraints
- Use studentized residuals
- Divides each residual by its variance
- Intuition Large residuals with low variance are
inconsistent
25Mapping to real coordinates and environmental
compensation
- Two problems
- Position estimates are relative, e.g. not related
to GPS - Temperature, humidity, etc cause scaling
- Temperature compensation is challenging
- Difficult to get required accuracy
- Temp along path vs. at a point
- Solve both at once
- Fit the position map to survey coordinates
- Allow translation and rotation to map coordinate
systems - Allow scaling to compensate for environment
26Fitting to Surveyed Points
Surveyed
Computed
Corresponding Points
27Experiments
- Component Testing
- Azimuth angle test
- Zenith angle test
- Range test
- System Testing
- Court of Sciences
- James Reserve
28Experimental Setup for Angular Tests
29Azimuth Errors as aFunction of Angle
30Overall Distribution of Azimuth Errors
31Zenith Errors as aFunction of Angle
- Angles under -30 degrees are obstructed by the
array itself, and have much worse variance.
32Overall distributions of Zenith Angle
- The zenith data does not fit well to a normal
distribution . - To improve things slightly, we computed
statistics on subsets of the data. The NLLS
algorithm accepts parameterized ? values.
33Experimental Setup for Range Tests
Semi-enclosed environment (lot 9). Tests at
different scales assess precision at a range of
distances.
34Range Measurements with Mean Error
35Overall Distribution of Range Errors
- The tighter distribution results from rejecting
all errors over 10 cm
36System 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
37System 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
38System testJames Reserve
- 10 nodes
- Surveyed to 1cm
- Each node approximately oriented west by compass
- Low noise, some echoes
- Significant obstructions from dense foliage
- Hilly terrain 5m variation from low to high
point - 9 cm avg 2D error
- 22 cm avg 3D error
- 2.7 deg avg orient err
- Some of this increase is due to errors in
ground truth and poor array leveling
39Courtyard test Distribution of deviation from
ground truth
40Comparison 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
41External users
- Several external users are taking up Acoustic
ENSBox as a platform for prototyping - Basic source localization research (UCLA EE)
- Intelligent roadway project (Industrial partner)
- USC embedded sensing class
- Antbird recognition project
42Antbird Recognition Project (UCLA biology / EPFL)
- Early results obtained from masters thesis
experiments - Applied AML bearing estimation algorithm to
enhance antbird calls and apply HMM recognizer
Antbird Species Recognition, for varying HMM
parameters
AML Bearing Estimator
Courtesy of Vlad Trifa, EPFL
43 - The End
- Thank you!
- More information at
- http//lecs.cs.ucla.edu/girod/aensbox
44(No Transcript)
45James Reserve test Deviation from ground truth
46Dataflow Within Source Localization Application
- Time Synchronization
- Continuous Sampling
- Networking primitives
- Array location and orientation calibration
47Anomalous Behavior at 50m
- Due to bug in time synchronization service that
has since been fixed, or to environmental
variables.
48Emit Coded Signal
Time-Synchonized Sampling Service Layer
Ranging Layer
Detection Algorithm
Select Code
Detection Algorithm
ltRange, ?, ?gt
ltCode, Detect Timegt
ltCode, Detect Timegt
Time Sync Control Traffic
Trigger
Multi-hop Network Layer
ltRange, ?, ?gt
ltX, Y, Z, ?gt
Trigger
Multilateration Layer
49Filtering and Correlation Stage
- Time conversion and sampling services abstract
application from synchronization details - Correlation
- Generate reference signal from PN code index
- Correlate against the incoming signal
50Correlation
- 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
51Detection Stage
- Want to detect first peak above noise floor
- Locate peak region later refine detection
- Noise floor is time varying and must be estimated
- Use EWMA to compute running mean and variance
estimate - Define threshold to be a multiple of the standard
deviation - First value over threshold considered peak
- Interpolation of peak region
52Zooming 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
53DOA Estimation and Combining Stage
- 6-way cross-correlation of correlations ? DOA
Estimator - Filtered signals from each pair of microphones
are correlated - Offset of maximum correlation between pair
(lag) recorded - DOA Estimator uses least squares to fit lags to
array geometry - Key Resilient to perturbations in microphone
placement - DOA estimate used to recombine signals to improve
SNR - Final peak detection yields range estimate