VIEWS: 13 PAGES: 51 POSTED ON: 5/13/2011 Public Domain
A Self-Calibrating System of Distributed Acoustic Arrays Public Defense 14 November 2005 Lewis Girod CENS Systems Lab girod@cs.ucla.edu 1 Distributed Acoustic Sensing Application 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 2 Problem 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 70x50m • Precise: Std. Dev. of Node Position: 18 cm 3 Why is this hard? Node 108 • Spacing / low node density requirement: – Requires high precision (10 μS) time synchronization Node 104 – 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 4 Acoustic Position Estimation System: A 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) 5 Studentized Residuals Related Work X Indoor Only Ad-Hoc Acoustic X Accuracy UIUC (Kwon) X 2-D Cricket Compass Vanderbilt (Sallai) Yao/Wang X 2-D OSU (Moses) Microsoft (Rui) X Accuracy DOA Network Services DOA Based Localization X Wireless ISIS SRM USC (Chintalapudi) Range Error Models Hood Trickle X 2-D X Accuracy Slijepcevic/Potkonjak X Mote-based UCB (Doherty) 6 Key Contributions Beyond Related Work • Works well outdoors, even in obstructed environments Node 108 – Other systems tested at shorter range, no foliage • Works for relatively sparse nets: 20m spacing with foliage Node 104 – 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 7 Acoustic Position Estimation System: A 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) 8 Position Estimation Application Emit Coded Signal Time-Synchronized Sampling Service Layer Ranging Select Detection Detection Layer Code Algorithm Algorithm Trigger <Code, Detect Time> Time Sync Control Traffic <Range, , > <Code, Detect Time> Multi-hop Network Layer <X, Y, Z, > <Range, , > Trigger Multilateration Layer 9 Acoustic 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 (-4,4,14) 0° 0° 14cm 90° (-4,-4,0) 8cm 10 Range and DOA Estimation Noise Estimate Rate Skew Approx 1st Peak Phase Code SNR 4 4 Filtering and Detection and DOA Estimation Start Time 1st Peak Phase Correlation Extraction And Combining , , V 4 Signal Input • 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) 11 Filtering and Correlation Stage Rate Skew Modulator FFT Code Start Time 4 4 4 4 2 KHz High Signal Input FFT FD Correlation Pass Extract • Synchronized Sampling Layer completely abstracts application from synchronization details • Correlation – Generate reference signal from PN code index – Correlate against the incoming signal 12 Correlation • 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 Reference Observed Lag = Time of Flight 13 Detection Stage Adaptive Noise Esimtator and Noise Estimate Peak Detector Approx 1st Peak Phase 4 4 4 4 4 Interpolation FD Correlation IFFT Normalize TD Correlation FFT 8x IFT Extract • 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 α 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? 14 Selecting a Peak Detection Threshold “Noise Peak”.. max peak before detection “Detection Peak”.. 1st peak above threshold Multiples of σ • Given a peak detection 12 threshold, e.g. 12, we can determine for any given signal the “noise peak” and 0 “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 Distribution of Noise Peaks Distribution of Detection Peaks 15 Zooming 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 16 DOA Estimation and Combining Stage SNR Peak Detector 1st Peak Phase TD Correlation 4 TD Correlation Combiner 6 Max DOA Estimator , , V • 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 17 Position Estimation • Problem: – Given pair-wise range and DOA estimates – Estimate X,Y,Z locations and orientation Θ for each node R,, 18 Position Estimation Solution Ranges and DOA Pre-filter Initial Estimate Refinement Reject Data? X,Y,Z,Θ • 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 19 Use DOA for Initial Estimate (Difference of forward and reverse DOA used to estimate orientation) R Origin Node 20 Two Refinement Methods: R- and NLLS • R- method extrapolates positions based on range and DOA – Simpler – results in linear system, e.g. (assuming Θ constant) • Non-linear Least Squares (NLLS) – Express range constraints separately from angle constraints – Does not result in a linear system: 21 Comparison of R- and NLLS 2-D Position errors from courtyard data • NLLS outperforms R- for our system Time R- NLLS – Position error from scales with R 21:46 154.78 9.57 – R- can’t independently weight angle and range info 22:03 359.68 12.43 – R- can’t independently drop angle and range info 22:20 231.30 11.26 22:34 179.40 10.24 • Note, R- works for very high node densities: 23:01 370.98 11.53 – Given distributions of R and errors 23:21 119.77 12.35 – Uncertainty of R and is comparable for an inter- 23:33 202.35 11.08 node spacing S such that: 23:51 181.09 10.91 • S = R 00:41 78.81 n/a – For our system, 00:56 58.99 9.37 • = 1° = 0.017 rad, 01:29 51.66 10.99 • R = 3.8 cm, • so S = 2.17 m 01:45 150.11 9.86 01:59 29.35 9.49 02:12 n/a 9.64 22 Interleaved 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. Θ Node 23 Rejecting 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 24 Building the Position Estimation Application Emit Coded Signal Time-Synchonized Sampling Service Layer Ranging Select Detection Detection Layer Code Algorithm Algorithm Trigger <Code, Detect Time> Time Sync Control Traffic <Range, , > <Code, Detect Time> Multi-hop Network Layer <X, Y, Z, > <Range, , > Trigger Multilateration Layer 25 StateSync: 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. 26 StateSync Achieves Low Quiescent Cost 27 … Without Sacrificing Latency Much 28 StateSync 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 • StateSync’s 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 29 Experiments Cement Wall • Component Testing – Azimuth angle test – Zenith angle test 24 feet – Range test • System Testing – Court of Sciences Test – James Reserve Test 30 Experimental Setup for Angular Tests Cement Wall 24 feet 31 Azimuth Errors as Function of Angle 32 Overall Distribution of Azimuth Errors 33 Zenith 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. 34 Overall 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. 35 Experimental Setup for Range Tests Semi-enclosed environment (lot 9). Tests at different scales assess precision at a range of distances. 36 Range Measurements with Mean Error 37 Anomalous Behavior at 50m • Might be due to bug in time synchronization service that has since been fixed, or to environmental variables. 38 Overall Distribution of Range Errors • Not a particularly good fit to normal distribution • Might improve under more controlled experiment (e.g. lot 4) 39 System 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. 40 Fitting to Ground Truth to get “Fair” Position Error Computed Ground Truth Translate Scale Rotate 41 System 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. 42 2D 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.?) 43 Repeatability: Per-node XY mean and std-dev X cm Y cm Mean Std-dev: X=3.18, Y=3.85 45 Z and Orientation mean and std-dev Mean Std-dev: 49.15 Mean Std-dev: 1.37 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. 46 James 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 47 James Reserve per-node mean and std-dev Mean Std-dev: X=3.48, Y=3.78 Errors in ground truth likely to be significant fraction of error in mean 48 James 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. 49 Range 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. 50 Conclusions • 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 XYZ+Θ estimation – achieved with • fewer nodes • lower densities • more difficult conditions. 51 Review 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) 52