defense by liuhongmei

VIEWS: 13 PAGES: 51

									  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

								
To top