Title: A SelfCalibrating System of Distributed Acoustic Arrays
1A Self-Calibrating Systemof Distributed Acoustic
Arrays
Node 108
Node 104
- Lewis Girod
- CENS Systems Lab
- girod_at_cs.ucla.edu
2Distributed Acoustic SensingApplication
Requirements
- Cross-beam localization requires
- 3D Array Position
- Level Orientation
- Design constraints
- 3D terrain, 3D target locations
- 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 20 cm
- Precise Std. Dev. of Node Position 18 cm
70x50m
4Outline
- Overview of system
- Ranging and DOA DSP Algorithm
- Performance of Ranging and DOA
- Performance of overall system
- Conclusions and future work
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)
6Position Estimation Application
7Acoustic 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
8Range 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)
9Filtering 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
10Correlation
- 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
11Detection 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?
12Selecting 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
13Zooming 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
14DOA 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
15An idea that didnt work so well Angular
Correlation
- For each possible angle
- Hypothesize incoming angle
- Shift correlation functions to match
- Multiply and accumulate
- Problem
- Too Sensitive to microphone placement
- Slight shift misses peaks
Shift
Shift
x
180
225
0
270
Direction of wave
0 90 180 270
0
16Position Estimation
- Problem
- Given pair-wise range and DOA estimates
- Estimate X,Y,Z locations and orientation T for
each node - Solved using iterative non-linear least squares
R,?,?
17Experiments
- Component Testing
- Azimuth angle test
- Zenith angle test
- Range test
- System Testing
- Court of Sciences Test
- James Reserve Test
18Experimental Setup for Angular Tests
19Azimuth Errors as Function of Angle
20Overall Distribution of Azimuth Errors
21Zenith 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.
22Overall 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.
23Experimental Setup for Range Tests
Semi-enclosed environment (lot 9). Tests at
different scales assess precision at a range of
distances.
24Range Measurements with Mean Error
25Anomalous Behavior at 50m
- Might be due to bug in time synchronization
service that has since been fixed, or to
environmental variables.
26Overall Distribution of Range Errors
- Not a particularly good fit to normal
distribution - Might improve under more controlled experiment
(e.g. lot 4) - Doesnt account for possible differences node to
node
27System 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.
28Fitting to Ground Truth to get Fair Position
Error
Ground Truth
Computed
Corresponding Points
29System 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.
30Repeatability Per-node XY mean and std-dev
X cm
Y cm
Mean Std-dev X3.18, Y3.85
31Z 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.
32James Reserve System Test
- Deployed 10 nodes in forested area.
- In many cases LOS was partially obstructed.
- Ground truth measured using professional
surveying equipment. - Nodes were aligned to point approximately west by
compass.
N
33James Reserve per-node mean and std-dev
Mean Std-dev X3.48, Y3.78
34James Reserve Z and Orientation mean/std-dev
100
0
Mean Std-dev 3.15
Mean Std-dev 17.1
-100
- 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. - All data taken from the 6 experiments that placed
all 10 nodes. The location stakes are still in
place.
35Conclusions
- Acoustic ENSbox platform supports distributed
acoustic sensing - Implemented ranging and position estimation
application. - Highly accurate positioning in a challenging
environment - XYZ Position 20cm
- 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.
36Future Work
- Array geometry calibration, tilt sensor
- New tests with better measurement of array
orientation - Forward/reverse range discrepancies
- Improvements to hardware, array geometry
- Development and testing of applications
37Review 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)
38Thank you!