Title: Development and Characterization of an Acoustic Rangefinder
1Development and Characterization of an Acoustic
Rangefinder
- Lewis Girod
- 8 December 1999
2Objective
- Tags can benefit from having accurate range data
to other tags - Many context-aware apps need spatial awareness
- Small scale of elements requires accurate info
- Indoor embedded systems can't use GPS
- Scaling issues.
- Pinpoint centrally manages location information
- Active Badge/Bat centrally managed, but base
stations only handle contents of single room - But both require significant investment in
infrastructure
3Requirements
- Conducive to decentralized algorithms
- High accuracy relative to tag size (cm)
- Good interference rejection
- Must work outdoors and in any environment
- Resistant to jamming
- Multiple access
- Tags should not interfere with each other
4Active Bats
- Similar in design and requirements
- Infrastructure far from ad-hoc
- Centralized data collection
- Positions of receivers must be carefully measured
- System must coordinate readings globally
- Only one bat triggered at a time to avoid
interference - Limits the measurement rate as system scales
- Highly accurate (cm) but works only at low range
- Receivers installed every 5 ft
- Susceptible to jamming, and long paths when
obstructed
5Theory
- Measure time of flight of sound
- Sender emits a particular sound at T0
- Receiver detects that sound at T1
- Distance ??T Speed of Sound
6Synchronization
- What if the clocks aren't synchronized?
- Speed of sound is 331.5 m/s
- 1 msec of error is 33 cm!
- Solution Out-of-band synchronization
- Use a radio signal.. It's 6 orders of magnitude
faster than sound - Synchronization is still not trivial
- each cm is only 30 microseconds
- O/S gets in the way
7System Design Overview
Sender
Receiver
Chirp Request Message
Receive Chirp Request
T1
Record Timestamp
Begin Listening
Begin Radio Sync
T2
Radio packet transmission
Begin Chirp
Chirp
Listen
T3
Time
Critical synchronization Radio transmission Acoust
ic transmission
Detect T3 Result is (T3 - T2) VS
8Experimental Testbed
- Testbed needed to explore the space
- Chose to use PCs and soundcards
- Drawback lower frequency
- sampling at 44.1KHz, max resolution is 7.5mm
- Benefits
- DSP freedom to select and detect almost
arbitrary waveforms - Standard audio hardware has fairly wide band
9Design Issues
- Modulation strategy
- What sort of waveform is best?
- Which waveforms are most resilient to
interference, jamming, crosstalk? - Synchronization strategy
- How can we eliminate sources of sync error?
- Detection strategy
- What detection algorithms are most effective?
- Balance multipath rejection vs. noise rejection
10Modulation
- Design principles
- Measure the channel characteristics
- What does the system do to the signal?
- DAC ? Amp ? Speaker ? Noisy, multipath
environment ? Microphone ? ADC - The only controllable aspect is the environment
(e.g. quiet foam box vs. noisy machine room)
ADC
Mic/ Preamp
DAC
Amp/ Speaker
Environment
22KHz
20Hz-16KHz
22KHz
20Hz-20KHz
11Channel Measurement
- Methodology
- Use DFT to calculate power spectrum
- Graphs magnitude of frequency components
- Perform experiments in anechoic chamber
- Measure spectrum of input generated at sender
- Measure spectrum of output observed at receiver
- Then compare the graphs
- Estimate the system pass band, then select a
waveform that passes through adequately
12White Noise Response
Drop-outs
Log plots of DFT of input waveform and measured
waveform
13Spread Spectrum
- Problem Drop outs and interference
- Any single frequency is a bad choice in some
environment - Solution signals with wide spectrums
- Even if some frequency components are lost, the
signal can still be detected - Multiple access for free if correlation
between signals is low, they will look like noise
to each other
14Spreading Techniques
- Frequency sweep
- Analog hardware can do this
- Good interference rejection, but no coding
- Direct sequence
- Long, high rate bit sequence
- Frequency hopping
- Shorter sequence of pulses selected from a large
set of frequencies
15Power Spectra (a) 4 KHz frequency sweep (b) 10
Kb/s sequence (128b) (c) 768 freq, 64 hop sequence
16(No Transcript)
17Cross Correlation
- Cross correlation occurs when the signal is
similar to offset copies of itself - Ex. A train of identical pulses
- Cross-correlation causes poor detection
- Leads to detection of ghost images
- Coding and Frequency Sweep methods exhibit low
cross-correlation
18Design Issues
- Modulation strategy
- Synchronization strategy
- How can we eliminate sources of sync error?
- Detection strategy
- What detection algorithms are most effective?
- Balance multipath rejection vs. noise rejection
19Synchronization
Sender
Receiver
Chirp begins immediately after radio controller
accepts packet. Hopefully delay inside
controller is fixed
Sync timestamp with start of listen
T1
Kernel module catches radio interrupt and saves a
timestamp radio interrupt assigned maximum
priority
T2
Radio packet transmission
Chirp
Listen
T3
To achieve 1 cm resolution, maximum timing
variance is 30 ?s
20Design Issues
- Modulation strategy
- Synchronization strategy
- Detection strategy
- What detection algorithms are most effective?
- Balance multipath rejection vs. noise rejection
21Detection
- A matched filter, or autocorrelation function, is
used to detect the signal - Receiver constructs an identical copy
- Compares it to the observed signal at each
possible offset - The best matchis considered the true offset,
and the time of flight is calculated
22Matched Filter
Pairwise multiply and sum (Dot product)
23Making it work
- Two components
- Selecting a signal that is easy to detect
- Lower cross-correlation ? sharper detection
- Random coding ? low correlation with
environmental noise ? avoid false positives - Detection heuristic
- In multipath and obstructed environments, the
best match numerically is not always the right
one must consider good matches that come earlier
24Good Correlation
(Note log scale) Y axis is a measure of the
degree of correlation at each offset. There is a
prominent, narrow peak at sample 250. Sample
taken in a quiet, echo-free environment.
Peaks
Cross-correlation
25Obstructed/Multipath
(Note linear scale) A peak detection function
selects the first good candidate. The noise
threshold must adapt to environmental noise and
to variations in signal power.
Cluster of Echoes
Looks like the peak
Shortest path was attenuated by an obstruction
26Estimating Noise
- The magnitude of noise depends on environment
- Want to set threshold just above
cross-correlation
Noise Threshold
- Solution Run a test correlation
- Generate a separate random sequence, use same
modulation algorithms - Correlation will exhibit cross-correlation
without peaks
27Detection Algorithm
- Estimate noise threshold
- Locate first above threshold correlate
- Based on knowledge of modulation, select the
center of peak
- Shape of peak depends on modulation some are
wider than others - In some cases, curve fitting may help
Peak from frequency sweep correlation
28Results
This graph shows the results of a series of tests
in a noisy machine room. Each point represents
about 10 trials. The tests were conducted at 1 m
intervals. The data in each point ranges about
?1.5 cm. The variance is about 0.01 cm
29Results (detail)
30Sources of inaccuracy
- For individual readings, synchronization is the
biggest problem - Averaging fixes this
- In good environments, low frequency and sample
rate second largest problem - In bad environments, environmental
characteristics are the largest problem - Little can be done about long paths when LOS is
completely obstructed
31Future Work
- Future testing should include
- Longer ranges, outdoor environments
- Environments with many beacons
- Environments with deliberate noise sources
- Use two detectors to extract orientation
- Improvements to the detector
- Use of specialized hardware to do better
synchronization