Calval for land ice Part I D. Blumstein and F. Remy Scientific objectives, requirements
Distributed Acoustic Sensing with VoxNet Michael Allen¹, Lewis Girod², Ryan Newton², Samuel...
-
date post
22-Dec-2015 -
Category
Documents
-
view
220 -
download
0
Transcript of Distributed Acoustic Sensing with VoxNet Michael Allen¹, Lewis Girod², Ryan Newton², Samuel...
Distributed Acoustic Distributed Acoustic Sensing Sensing
with VoxNetwith VoxNet
Michael AllenMichael Allen¹¹, Lewis Girod, Lewis Girod²², Ryan Newton, Ryan Newton²², Samuel , Samuel MaddenMadden²², ,
Travis CollierTravis Collier³³, Daniel Blumstein, Daniel Blumstein³³, Deborah Estrin, Deborah Estrin³³
¹¹Coventry University Coventry University ²CSAIL, MIT²CSAIL, MIT ³³CENS, CENS, UCLAUCLA
24/6/2008 2WiSiG Webinar
What is distributed acoustic What is distributed acoustic sensing?sensing?
Driven by acoustics-based Driven by acoustics-based applicationsapplications
Embedded devices deployed over a Embedded devices deployed over a spacespace
Typically employ wireless Typically employ wireless communicationcommunication
24/6/2008 3WiSiG Webinar
What is distributed acoustic What is distributed acoustic sensing?sensing?
Driven by acoustics-based Driven by acoustics-based applicationsapplications
Embedded devices deployed over a Embedded devices deployed over a spacespace
Typically employ wireless Typically employ wireless communicationcommunication
Wireless sensor networks for acoustics applicationsWireless sensor networks for acoustics applications
24/6/2008 4WiSiG Webinar
Applications and Applications and Challenges of Distributed Challenges of Distributed
Acoustic SensingAcoustic Sensing
24/6/2008 5WiSiG Webinar
Applications and Applications and Challenges of Distributed Challenges of Distributed
Acoustic SensingAcoustic Sensing Has traditional WSN Has traditional WSN
complexities, in complexities, in addition:addition:
High data rate = no High data rate = no streaming to sinkstreaming to sink
Forces local, in Forces local, in network processingnetwork processing
24/6/2008 6WiSiG Webinar
Applications and Applications and Challenges of Distributed Challenges of Distributed
Acoustic SensingAcoustic Sensing Has traditional WSN Has traditional WSN
complexities, in complexities, in addition:addition:
High data rate = no High data rate = no streaming to sinkstreaming to sink
Forces local, in Forces local, in network processingnetwork processing
* Distributed processing properties* Distributed processing properties* Develop applications using a high level language * Develop applications using a high level language
* Easily push new applications into the network* Easily push new applications into the networkWithout sacrificing performanceWithout sacrificing performance
24/6/2008 7WiSiG Webinar
VoxNetVoxNet
VoxNet: integrated hardware and software platform for distributed acoustic sensing
Captures, integrates previous experience in acoustic sensing networks
AudioInput
Detect
Server SideAML DOA
Send RawData
Buffer>3sec?
Run LocalAML DOA
N
Send AMLOutput
Y
Sensor Node
Server Side
Eventassociation
sync4
Network OperatorsSensor sideServer side
24/6/2008 8WiSiG Webinar
How we got to VoxNetHow we got to VoxNet
Acoustic ENSBox (UCLA)Proof of concept (SenSys 2006)
Source localization of marmots (UCLA)
Proof of concept (IPSN 2007)
Wavescope (MIT)(High level, signal-oriented stream processing system)
VoxNetVoxNet
24/6/2008 9WiSiG Webinar
VoxNet architectureVoxNet architecture
In-field PDAIn-field PDA
GatewayGateway
Mesh Network of Deployed NodesMesh Network of Deployed Nodes
Control ConsoleControl Console
24/6/2008 10WiSiG Webinar
VoxNet architectureVoxNet architecture
In-field PDAIn-field PDA
GatewayGateway
Mesh Network of Deployed NodesMesh Network of Deployed Nodes
On-line operationOn-line operation Off-line operation and storageOff-line operation and storage
Compute ServerCompute Server
Storage ServerStorage Server
Internet orInternet orSneakernetSneakernet
Control ConsoleControl Console
24/6/2008 11WiSiG Webinar
RoadmapRoadmap
VoxNet platformVoxNet platform How it’s usedHow it’s used How it’s programmedHow it’s programmed
Performance resultsPerformance results Network latencyNetwork latency Runtime dynamicsRuntime dynamics
Ongoing workOngoing work ConclusionsConclusions
24/6/2008 12WiSiG Webinar
Current VoxNet node: Current VoxNet node: ENSBox V2ENSBox V2
Based on Acoustic ENSBox (SenSys Based on Acoustic ENSBox (SenSys 2006)2006) 4 channel mic. array at 48KHz, 802.11b4 channel mic. array at 48KHz, 802.11b Linux, 400 MHz ARM/64MB/8GBLinux, 400 MHz ARM/64MB/8GB Smaller form factor, Internal batterySmaller form factor, Internal battery GPS, 3-axis accelerometerGPS, 3-axis accelerometer Always-on mote for duty cyclingAlways-on mote for duty cycling
Software support (SenSys 2006)Software support (SenSys 2006) Time sync, self-localizationTime sync, self-localization
Rapidly deployable!Rapidly deployable! Field tested over several monthsField tested over several months ……in the rainforest (Chajul, Mexico)in the rainforest (Chajul, Mexico) ……and the mountains (Gothic, CO)and the mountains (Gothic, CO)With thanks to Travis CollierWith thanks to Travis Collier
24/6/2008 13WiSiG Webinar
VoxNet on-line usage VoxNet on-line usage modelmodel
Write program
// acquire data from source, assign to four streams(ch1, ch2 ch3, ch4) = VoxNetAudio(44100)// calculate energyfreq = fft(hanning(rewindow(ch1, 32)))bpfiltered = bandpass(freq, 2500, 4500)energy = calcEnergy(bpfiltered)
24/6/2008 14WiSiG Webinar
VoxNet on-line usage VoxNet on-line usage modelmodel
Write program
Node-side part
Sink-side part
Optimizingcompiler
// acquire data from source, assign to four streams(ch1, ch2 ch3, ch4) = VoxNetAudio(44100)// calculate energyfreq = fft(hanning(rewindow(ch1, 32)))bpfiltered = bandpass(freq, 2500, 4500)energy = calcEnergy(bpfiltered)
24/6/2008 15WiSiG Webinar
VoxNet on-line usage VoxNet on-line usage modelmodel
Write program
Node-side part
Sink-side part
Optimizingcompiler
Disseminateto nodes
// acquire data from source, assign to four streams(ch1, ch2 ch3, ch4) = VoxNetAudio(44100)// calculate energyfreq = fft(hanning(rewindow(ch1, 32)))bpfiltered = bandpass(freq, 2500, 4500)energy = calcEnergy(bpfiltered)
24/6/2008 16WiSiG Webinar
VoxNet on-line usage VoxNet on-line usage modelmodel
Write program
Node-side part
Sink-side part
Run program
Optimizingcompiler
Disseminateto nodes
// acquire data from source, assign to four streams(ch1, ch2 ch3, ch4) = VoxNetAudio(44100)// calculate energyfreq = fft(hanning(rewindow(ch1, 32)))bpfiltered = bandpass(freq, 2500, 4500)energy = calcEnergy(bpfiltered)
24/6/2008 17WiSiG Webinar
VoxNet on-line usage VoxNet on-line usage modelmodel
Write program
Node-side part
Sink-side part
Run program
Optimizingcompiler
Disseminateto nodes
// acquire data from source, assign to four streams(ch1, ch2 ch3, ch4) = VoxNetAudio(44100)// calculate energyfreq = fft(hanning(rewindow(ch1, 32)))bpfiltered = bandpass(freq, 2500, 4500)energy = calcEnergy(bpfiltered)
Development cycle Development cycle happens in-field, happens in-field,
interactivelyinteractively
24/6/2008 18WiSiG Webinar
Programming VoxNetProgramming VoxNet Programming language: WavescriptProgramming language: Wavescript
High level, stream-oriented macroprogramming languageHigh level, stream-oriented macroprogramming language Compiles down to a directed, graph of communicating Compiles down to a directed, graph of communicating
‘stream operators’ which data flow through (source to ‘stream operators’ which data flow through (source to endpoint)endpoint)
Operates on stored OR streaming dataOperates on stored OR streaming data User writes a script connecting operators User writes a script connecting operators
Writes both node side + sink side separatelyWrites both node side + sink side separately User decides where processing occurs (node, sink)User decides where processing occurs (node, sink)
Explicit, not automated processing partitioningExplicit, not automated processing partitioning
Source
Source
Source
Endpoint
24/6/2008 19WiSiG Webinar
Example – energy Example – energy calculationcalculation
// acquire data from source, assign to four streams(ch1, ch2 ch3, ch4) = VoxNetAudio(44100)
// window ch1 data stream into 32 sample chunks, // passing through hanning then fft operatorsfreq = fft(hanning(rewindow(ch1, 32)))
// apply bandpass filter to freqbpfiltered = bandpass(freq, 2500, 4500)
// calculate energy in bandpassed dataenergy = calcEnergy(bpfiltered)
VoxNetAudiorewindow hanning fft
ch1
24/6/2008 20WiSiG Webinar
Splitting up a logical Splitting up a logical programprogram
// acquire data from source, assign to four streams(ch1, ch2 ch3, ch4) = VoxNetAudio(44100)
freq = fft(hanning(rewindow(ch1, 32)))
//send data to sinktoNet(“frequencies”,freq)
// receive data from node streamfreq2 = fromNet(“frequencies”)
// apply bandpass filter to freqbpfiltered = bandpass(freq2, 2500, 4500)
// calculate energy in bandpassed dataenergy = calcEnergy(bpfiltered)
freq toNet(“frequencies”) fromNet(“frequencies”)
send(“frequencies”) arrived(“frequencies”)
Sink
Node
bandpass
24/6/2008 21WiSiG Webinar
RoadmapRoadmap
VoxNet platformVoxNet platform How it’s usedHow it’s used How it’s programmedHow it’s programmed
Validating VoxNetValidating VoxNet Network latencyNetwork latency Runtime dynamicsRuntime dynamics
Ongoing workOngoing work ConclusionsConclusions
24/6/2008 22WiSiG Webinar
Validating VoxNetValidating VoxNet
Implementation of indicative Implementation of indicative application (Marmot localization)application (Marmot localization) Distributed event detection and position Distributed event detection and position
estimationestimation Resource usageResource usage
Hand coded C vs. high level WavescopeHand coded C vs. high level Wavescope Network trade-offNetwork trade-off
Process locally or send raw data to Process locally or send raw data to sink?sink?
24/6/2008 23WiSiG Webinar
Example VoxNet Example VoxNet applicationapplication
Detect and determine location of marmotsDetect and determine location of marmots Crossing of DoA estimates Crossing of DoA estimates Obtain results on-line (scientist interaction)Obtain results on-line (scientist interaction)
Event detection
DoA processing and position estimation
X
Send 32KBper node,per detection
NODES SINK
24/6/2008 24WiSiG Webinar
Hand-coded C vs. Hand-coded C vs. WavescriptWavescript
100%
Hand-coded C Wavescript
EVENT DETECTORDATA ACQUISITION
24/6/2008 25WiSiG Webinar
Hand-coded C vs. Hand-coded C vs. WavescriptWavescript
30% less CPU30% less CPU
EVENT DETECTORDATA ACQUISITION
100%
Hand-coded C Wavescript
24/6/2008 26WiSiG Webinar
Hand-coded C vs. Hand-coded C vs. WavescriptWavescript
Extra resources mean that data can be Extra resources mean that data can be archived to disk as well as processed archived to disk as well as processed (‘spill to disk’, where local stream is (‘spill to disk’, where local stream is pushed to storage co-processor)pushed to storage co-processor)
EVENT DETECTORDATA ACQUISITION
‘SPILL TO DISK’
100%
Hand-coded C Wavescript
24/6/2008 27WiSiG Webinar
Detection data Detection data transmission latencytransmission latency
Deployed network in Gothic, Deployed network in Gothic, COCO Request all nodes to transmit Request all nodes to transmit
data simultaneouslydata simultaneously Emulates the ‘worst case’ when Emulates the ‘worst case’ when
all nodes detect the acoustic all nodes detect the acoustic eventevent
Measure latency to transmit Measure latency to transmit raw detection or processed raw detection or processed data (32KB vs. 800B/node)data (32KB vs. 800B/node) Gathered single and multi-hop Gathered single and multi-hop
datadata Up to three hopsUp to three hops Used single hop 800B data to Used single hop 800B data to
help predict missing 800B multi-help predict missing 800B multi-hop datahop data
24/6/2008 28WiSiG Webinar
Detection data transfer Detection data transfer latencylatency
1 HOP 2 HOPS 3 HOPS12
24/6/2008 29WiSiG Webinar
Detection data transfer Detection data transfer latencylatency
Network latency will become a problem Network latency will become a problem if scientist wants results in <5 seconds if scientist wants results in <5 seconds (otherwise animal might move position)(otherwise animal might move position)
1 HOP 2 HOPS 3 HOPS12
24/6/2008 30WiSiG Webinar
Processing trade-offProcessing trade-off
Sending raw data to sinkSending raw data to sink DoA processing takes a short time (0.04s)DoA processing takes a short time (0.04s) Sending data takes a long time Sending data takes a long time
(32KB, up to 12s in expt.)(32KB, up to 12s in expt.) Sending processed data to sinkSending processed data to sink
DoA processing takes a long time (~2.2s)DoA processing takes a long time (~2.2s) Sending data takes a short time (800B, Sending data takes a short time (800B,
<1s)<1s) Which is best to do to reduce overall Which is best to do to reduce overall
position estimation latency?position estimation latency?
24/6/2008 31WiSiG Webinar
Local vs. sink processing Local vs. sink processing trade-offtrade-off
DoA PROCESSING TIMENETWORK LATENCY
Send raw data, process Send raw data, process at sinkat sink
DoA processing
24/6/2008 32WiSiG Webinar
Local vs. sink processing Local vs. sink processing trade-offtrade-off
DoA PROCESSING TIMENETWORK LATENCY
Process locally, send Process locally, send 800B800B
DoA processing
24/6/2008 33WiSiG Webinar
Local vs. sink processing Local vs. sink processing trade-offtrade-off
DoA PROCESSING TIMENETWORK LATENCY
As hops from sink increases, benefit of As hops from sink increases, benefit of processing DoA locally is clearly seenprocessing DoA locally is clearly seen
24/6/2008 34WiSiG Webinar
Applying the trade-off at Applying the trade-off at run-timerun-time
Aim: process raw data locally when possibleAim: process raw data locally when possible Node has limited buffer space for data samplesNode has limited buffer space for data samples Event detection can happen faster than real-time, so can catch Event detection can happen faster than real-time, so can catch
upup
Wavescript makes this easy to implementWavescript makes this easy to implement Trivial, natural to split and merge multiple streamsTrivial, natural to split and merge multiple streams Same on-node and sink DoA implementationsSame on-node and sink DoA implementations
AML DOASend Raw
DataBuffer>3sec?
AML DOA
N
Send AMLOutputY
Node Sink
Merge2.2s
0.04sx
y
24/6/2008 35WiSiG Webinar
RoadmapRoadmap
VoxNet platformVoxNet platform How it’s usedHow it’s used How it’s programmedHow it’s programmed
Performance resultsPerformance results Network latencyNetwork latency Runtime dynamicsRuntime dynamics
Ongoing workOngoing work ConclusionsConclusions
24/6/2008 36WiSiG Webinar
Ongoing workOngoing work VoxNet Platform DevelopmentVoxNet Platform Development
NSF Funded UCLA/MIT collaboration (2008-NSF Funded UCLA/MIT collaboration (2008-2010) 2010)
Aiming for 10x improvement on lifetime Aiming for 10x improvement on lifetime Make platform smaller, lighter, cheaperMake platform smaller, lighter, cheaper
Develop VoxNet application portfolio furtherDevelop VoxNet application portfolio further Add classification, census to bioacoustics apps.Add classification, census to bioacoustics apps. New applications from different domains:New applications from different domains:
Increases generality, validates applicabilityIncreases generality, validates applicability Ongoing development of Wavescript Ongoing development of Wavescript
compilercompiler
24/6/2008 37WiSiG Webinar
ConclusionsConclusions
VoxNet hardware is easy to deployVoxNet hardware is easy to deploy Experience is invaluable in this respectExperience is invaluable in this respect
Wavescript simplifies developmentWavescript simplifies development Allows on-line development in the fieldAllows on-line development in the field
Provides comparable operating Provides comparable operating performanceperformance Despite being high level languageDespite being high level language
Easy to implement network dynamicsEasy to implement network dynamics Such as local processing adaptationSuch as local processing adaptation
24/6/2008 38WiSiG Webinar
For more informationFor more information
My contact details:My contact details:email: email: [email protected]@coventry.ac.ukweb: web: http://cogentee.coventry.ac.uk/~allehttp://cogentee.coventry.ac.uk/~allenmnm
Wavescope:Wavescope:http://http://wavescope.csail.mit.edu/doku.phpwavescope.csail.mit.edu/doku.php
The IPSN 2008 VoxNet paper:The IPSN 2008 VoxNet paper:
Allen, M., Girod, L., Newton, R., Madden, S., Blumstein, D., Estrin, D., Allen, M., Girod, L., Newton, R., Madden, S., Blumstein, D., Estrin, D., "VoxNet: An Interactive, Rapidly-Deployable Acoustic Monitoring Platform","VoxNet: An Interactive, Rapidly-Deployable Acoustic Monitoring Platform", Proceedings of IPSN 2008Proceedings of IPSN 2008
24/6/2008 39WiSiG Webinar
Backup slide: WavescopeBackup slide: Wavescope ““Wavescope is a system for developing Wavescope is a system for developing
distributed, high-rate applications that distributed, high-rate applications that need to process streams of data from need to process streams of data from various sources (e.g., sensors) using a various sources (e.g., sensors) using a combination of signal processing and combination of signal processing and database (event stream processing) database (event stream processing) operations.operations.
The execution environment for these The execution environment for these applications ranges from embedded sensor applications ranges from embedded sensor nodes to multicore/multiprocessor nodes to multicore/multiprocessor servers.”servers.”