Title: A SelfCalibrating System of Distributed Acoustic Arrays
1A Self-Calibrating Systemof Distributed Acoustic
Arrays
- Public Defense
- 14 November 2005
- Lewis Girod
- CENS Systems Lab
- girod_at_cs.ucla.edu
2Distributed Acoustic SensingApplication
Requirements
- Acorn Woodpecker Localization
- Solution
- Surround trees with acoustic arrays
- Arrays detect woodpecker(s)
- Arrays estimate bearing to birds
- Cross-beam localization to estimate number and
location of birds - Key Problem
- Need 3D Array Position and Orientation
- Design constraints
- 3D birds are in trees, 3D terrain
- Spacing requirement 20 meters
- Accuracy requirement
- 2 bearing, ?25 cm position
- Resilient to environment
- Ground foliage
- Background noise
- Weather conditions
3Problem Statement
Goal Develop a self-calibrating system to
support collaborative acoustic sensing
applications, such as beam-forming and cross-beam
localization.
- Target System
- Input Node placement
- 3D, Outdoor, Foliage OK
- 20m Inter-node spacing
- Arrays are level
- Output Estimates
- XYZ Position 25cm
- Orientation 2
- Results in James Reserve
- Accurate Mean 3D Position Error 50 cm
- Precise Std. Dev. of Node Position 18 cm
70x50m
4Why is this hard?
Node 108
- Spacing / low node density requirement
- Requires high precision (10 µS) time
synchronization - Acoustic range often RF range ? multi-hop
timesync - Less range data available, larger impact of
angular error - 3D positioning vs. 2D
- Adds additional degree of freedom
- Topologies tend to be flat i.e. poorly
constrained Z - Orientation estimation
- Adds additional degree of freedom
- Accuracy of 2 degrees difficult with small
baseline array - Noise and interference rejection
- Ranging must acquire precise phase of first
arrival - Foliage often obstructs LOS
- Blocks/attenuates signal (esp. narrowband
signals) - Increases odds of ranging errors
Node 104
5Acoustic Position Estimation SystemA Vertical
Distributed Sensing Application
Acoustic Ranging and Positioning System
- Range and DOA Estimation (Ch 3)
- Multilateration Algorithms (Ch 4)
- Calibration Application (Ch 2,4,5)
Integration of Embedded Platform
- CPU and Microphone Array (Ch 2)
- Emstar Software Framework (Ch 6)
- Audio Server and Sync Support (Ch 7)
- Diagnostic and control tools (Ch 6)
Network Stack and Collaboration Primitives
- Multi-hop Time Synchonization (Ch 7)
- Topology discovery and control (Ch 8)
- Reliable State Dissemination (Ch 8)
6 Related Work
Studentized Residuals
Active Bat
Ultrasound
X Indoor Only
Ad-Hoc Acoustic
Audible
AHLoS
Cricket
X Accuracy
UCB (Whitehouse)
UIUC (Kwon)
X 2-D
Vanderbilt (Sallai)
Cricket Compass
Yao/Wang
Penn State (Ji)
X 2-D
OSU (Moses)
Microsoft (Rui)
MultiDim Scaling
X Accuracy
DOA
Network Services
X Wireless
ISIS
SRM
DOA Based Localization
Range Error Models
Hood
Trickle
USC (Chintalapudi)
X Mote-based
Slijepcevic/Potkonjak
X 2-D
X Accuracy
UCB (Doherty)
7Key Contributions Beyond Related Work
- Works well outdoors, even in obstructed
environments - Other systems tested at shorter range, no foliage
- Works for relatively sparse nets 20m spacing
with foliage - Others work well only at high densities and
larger scales - This is not always practical
- Achieves better accuracy and precision, in 3D
- The best competing system gives 50cm position
error in 2D - Our system gives 9cm error in 2D, 50cm error in
3D with poorly constrained flat topology - Precise orientation estimation
- Required to support cross-beam algorithms
- Does not require magnetic compass
- 3D DOA estimation
- Angular constraints are critical to good 3D
performance, especially given that most
topologies are relatively flat - Multi-hop time synchronization with COTS 802.11
- Acoustic range RF range
Node 108
Node 104
8Acoustic Position Estimation SystemA Vertical
Distributed Sensing Application
Acoustic Ranging and Positioning System
- Range and DOA Estimation (Ch 3)
- Multilateration Algorithms (Ch 4)
- Calibration Application (Ch 2,4,5)
Integration of Embedded Platform
- CPU and Microphone Array (Ch 2)
- Emstar Software Framework (Ch 6)
- Audio Server and Sync Support (Ch 7)
- Diagnostic and control tools (Ch 6)
Network Stack and Collaboration Primitives
- Multi-hop Time Synchonization (Ch 7)
- Topology discovery and control (Ch 8)
- Reliable State Dissemination (Ch 8)
9Position Estimation Application
10Acoustic Array Configuration
- 4 condenser microphones, arranged in a square
with one raised - 4 piezo tweeter emitters pointing outwards
- Array mounts on a tripod or stake, wired to CPU
box - Coordinate system defines angles relative to array
11Range and DOA Estimation
- 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)
- The 3-D direction of arrival ?, ?, and a scaling
factor V - Signal to Noise Ratio (SNR)
12Filtering and Correlation Stage
- Synchronized Sampling Layer completely abstracts
application from synchronization details - Correlation
- Generate reference signal from PN code index
- Correlate against the incoming signal
13Correlation
- 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
Lag Time of Flight
14Detection Stage
- Want to detect first peak above noise floor
- Need to capture approx. peak region peak
selection refined later - Noise floor is time varying and must be estimated
- Use EWMA to compute continuous mean and variance
estimate - Selected a such that system adapts to 1 within
5ms - Define threshold to be a multiple of the standard
deviation - First value over threshold considered peak
- How to select threshold?
15Selecting a Peak Detection Threshold
Detection Peak.. 1st peak above threshold
Noise Peak.. max peak before detection
- Given a peak detection threshold, e.g. 12, we can
determine for any given signal the noise peak
and detection peak. - To be certain not to detect noise, we want a wide
gap between the distribution of rejected noise
peaks and of detection peaks - We selected a threshold of 12, and tested it with
100,000 trials collected at the James Reserve.
12
Multiples of s
0
12
Distribution of Noise Peaks
Distribution of Detection Peaks
16Zooming 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
17DOA 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
18Position Estimation
- Problem
- Given pair-wise range and DOA estimates
- Estimate X,Y,Z locations and orientation T for
each node
R,?,?
19Position Estimation Solution
- Two refinement algorithms
- R-? and NLLS
- Filtering out bad data is the key to good results
- Pre-filtering step
- Rejection of inconsistent data
- Metrics for assessment
20Use DOA for Initial Estimate
(Difference of forward and reverse DOA used to
estimate orientation)
R
?
21Two Refinement Methods R-? and NLLS
- R-? method extrapolates positions based on range
and DOA - Simpler results in linear system, e.g.
(assuming T constant) - Non-linear Least Squares (NLLS)
- Express range constraints separately from angle
constraints - Does not result in a linear system
22Comparison of R-? and NLLS
2-D Position errors from courtyard data
- NLLS outperforms R-? for our system
- Position error from ? scales with R
- R-? cant independently weight angle and range
info - R-? cant independently drop angle and range info
- Note, R-? works for very high node densities
- Given distributions of R and ? errors
- Uncertainty of R and ? is comparable for an
inter-node spacing S such that - S?? ?R
- For our system,
- ?? 1 0.017 rad,
- ?R 3.8 cm,
- so S 2.17 m
23Interleaved Orientation Estimation
- Orientation estimated in a separate, interleaved
step - Average difference between measured and computed
angles - Average represents bias caused by array
orientation - Values converge rapidly keep fixed after 10
iterations while NLLS converges.
Measured
Computed
T
Node
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 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
25Building the Position Estimation Application
26StateSync A Multi-hop Collaboration Primitive
- StateSync provides a simple Publish-Subscribe API
and reliable, efficient data dissemination over
multiple hops. It is designed to support
applications publishing long-lived data.
27StateSync Achieves Low Quiescent Cost
28 Without Sacrificing Latency Much
29StateSync Greatly Simplifies Position Estimation
- Ranging component publishes range estimates
- Position Estimation component subscribes to range
estimates - Processes current data
- If data is insufficient to achieve convergence
and place our own node, requests local ranging
component to emit ranging signals - StateSyncs reliability layer unburdens the
application - Reliable
- Handles retransmission to achieve reliable
delivery - Brings late joiners up to date
- Nodes that lose connectivity can smoothly rejoin
the network - Stale data from rebooted nodes is dropped
- Efficient
- Leverages broadcasts
- Eliminates expensive soft-state refresh for low
quiescent cost
30Experiments
- Component Testing
- Azimuth angle test
- Zenith angle test
- Range test
- System Testing
- Court of Sciences Test
- James Reserve Test
31Experimental Setup for Angular Tests
32Azimuth Errors as Function of Angle
33Overall Distribution of Azimuth Errors
34Zenith Errors as Function of Angle
- Negative angles are obstructed by the array
itself, and have much worse variance. - Zenith performance varies with the azimuth angle,
perhaps a function of the array geometry. Our
data only tested two azimuth angles.
35Overall distributions of Zenith Angle
- The zenith data does not fit well to a normal
distribution (which is problematic because the
position algorithms assume that). - To improve things slightly, we computed
statistics on subsets of the data. Both position
algorithms can accept parameterized ? values.
36Experimental Setup for Range Tests
Semi-enclosed environment (lot 9). Tests at
different scales assess precision at a range of
distances.
37Range Measurements with Mean Error
38Anomalous Behavior at 50m
- Might be due to bug in time synchronization
service that has since been fixed, or to
environmental variables.
39Overall Distribution of Range Errors
- Not a particularly good fit to normal
distribution - Might improve under more controlled experiment
(e.g. lot 4)
40System Tests
- Experimental Process
- Lay out 10 nodes, and run system to collect
ranges and DOA - Apply positioning algorithms to compute maps
- Compare to ground truth
- Metrics1
- Average Range Residual
- Measures quality of fit, useful when GT unknown
- Simple average of range residual values
- Average Position Error
- Absolute measure of performance, useful when GT
known - Fit estimated map to ground truth
- Then compute average distance between
corresponding points
1. Modification of metrics presented in
Slijepcevic and Potkonjak, Characterization of
Location Errors in WSNs, Analysis and
Applications, IPSN 03.
41Fitting to Ground Truth to get Fair Position
Error
Ground Truth
Computed
Corresponding Points
42System Test Court of Sciences
N
- 10 nodes placed at yellow dots
- Yellow lines denote tall hedges
- Ground truth measured as carefully as possible
and arrays aligned to point west. - Z axis was difficult to measure used data from
Google Earth, which is measured to the nearest
foot.
432D and 3D position error
- 3D position error for NLLS reflects low quality Z
GT, flat topology - NLLS did not converge for experiment 9
- R-? much worse, but shows improvement over time
(env. cond.?)
44Average Range Residuals and Position Err
- Average Range Residual metric is consistently
low, except for the failed Experiment 9.
45Repeatability Per-node XY mean and std-dev
X cm
Y cm
Mean Std-dev X3.18, Y3.85
46Z and Orientation mean and std-dev
Mean Std-dev 1.37
Mean Std-dev 49.15
- Are non-zero means due to errors in ground truth
or in measurements? - X/Y estimates unclear. Ground truth
incorporated cumulative errors and obstructions
often blocked efforts to measure both axes. - Z estimates likely inaccurate. The variation is
larger than that expected from Google Earth data. - Orientation estimates likely accurate They are
generally low-variance and ground truth errors in
alignment of 5 degrees are expected.
47James Reserve System Test
- Deployed 10 nodes in forested area.
- In many cases LOS was partially obstructed.
- Accurate ground truth difficult to measure
because of blocked LOS and changes in elevation. - Measurements were taken with a laser rangefinder
and an altimeter with a output resolution of 1m. - Nodes were aligned to point west with a compass.
N
48James Reserve per-node mean and std-dev
Mean Std-dev X3.48, Y3.78
- Errors in ground truth likely to be significant
fraction of error in mean
49James Reserve Z and Orientation mean/std-dev
Mean Std-dev 17.1
Mean Std-dev 3.15
- For many nodes, the variance in Z values for the
hilly JR data is considerably lower than those in
the courtyard data. - The orientation repeatability is comparable to
the courtyard data. The errors in ground truth
for JR are expected to be worse. - All data taken from the 6 experiments that placed
all 10 nodes. The location stakes are still in
place.
50Range Consistency vs. Position Error
- This result shows that there are few cases where
a good fit resulted in bad position error. The
better fits at JR are likely due to more
well-constrained Z axis which relies less on ?
angles.
51Conclusions
- Acoustic ENSbox platform supports distributed
acoustic sensing - Implemented ranging and position estimation
application. - Highly accurate positioning in a challenging
environment - XYZ Position 50cm (likely considerably better)
- Orientation 2
- Nearly order of magnitude improvement upon prior
work - 9 cm XY error vs. 50 cm (UIUC)
- Supports XYZT estimation
- achieved with
- fewer nodes
- lower densities
- more difficult conditions.
52Review of Contributions
Acoustic Ranging and Positioning System
- Range and DOA Estimation (Ch 3)
- Multilateration Algorithms (Ch 4)
- Calibration Application (Ch 2,4,5)
Integration of Embedded Platform
- CPU and Microphone Array (Ch 2)
- Emstar Software Framework (Ch 6)
- Audio Server and Sync Support (Ch 7)
- Diagnostic and control tools (Ch 6)
Network Stack and Collaboration Primitives
- Multi-hop Time Synchonization (Ch 7)
- Topology discovery and control (Ch 8)
- Reliable State Dissemination (Ch 8)