Download presentation
Presentation is loading. Please wait.
1
Distributed Acoustic Sensing with VoxNet Michael Allen¹, Lewis Girod², Ryan Newton², Samuel Madden², Travis Collier³, Daniel Blumstein³, Deborah Estrin³ ¹Coventry University ²CSAIL, MIT ³CENS, UCLA
2
24/6/2008 2WiSiG Webinar What is distributed acoustic sensing? Driven by acoustics-based applications Driven by acoustics-based applications Embedded devices deployed over a space Embedded devices deployed over a space Typically employ wireless communication Typically employ wireless communication
3
24/6/2008 3WiSiG Webinar What is distributed acoustic sensing? Driven by acoustics-based applications Driven by acoustics-based applications Embedded devices deployed over a space Embedded devices deployed over a space Typically employ wireless communication Typically employ wireless communication Wireless sensor networks for acoustics applications
4
24/6/2008 4WiSiG Webinar Applications and Challenges of Distributed Acoustic Sensing
5
24/6/2008 5WiSiG Webinar Applications and Challenges of Distributed Acoustic Sensing Has traditional WSN complexities, in addition: Has traditional WSN complexities, in addition: High data rate = no streaming to sink High data rate = no streaming to sink Forces local, in network processing Forces local, in network processing
6
24/6/2008 6WiSiG Webinar Applications and Challenges of Distributed Acoustic Sensing Has traditional WSN complexities, in addition: Has traditional WSN complexities, in addition: High data rate = no streaming to sink High data rate = no streaming to sink Forces local, in network processing Forces local, in network processing * Distributed processing properties * Develop applications using a high level language * Easily push new applications into the network Without sacrificing performance
7
24/6/2008 7WiSiG Webinar VoxNet VoxNet: integrated hardware and software platform for distributed acoustic sensing Captures, integrates previous experience in acoustic sensing networks Audio Input Detect Server Side AML DOA Send Raw Data Buffer >3sec? Run Local AML DOA N Send AML Output Y Sensor Node Server Side Event association sync4 Network Operators Sensor side Server side
8
24/6/2008 8WiSiG Webinar How 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) VoxNet
9
24/6/2008 9WiSiG Webinar VoxNet architecture In-field PDA Gateway Mesh Network of Deployed Nodes Control Console
10
24/6/2008 10WiSiG Webinar VoxNet architecture In-field PDA Gateway Mesh Network of Deployed Nodes On-line operation Off-line operation and storage Compute Server Storage Server Internet or Sneakernet Control Console
11
24/6/2008 11WiSiG Webinar Roadmap VoxNet platform VoxNet platform How it’s used How it’s used How it’s programmed How it’s programmed Performance results Performance results Network latency Network latency Runtime dynamics Runtime dynamics Ongoing work Ongoing work Conclusions Conclusions
12
24/6/2008 12WiSiG Webinar Current VoxNet node: ENSBox V2 Based on Acoustic ENSBox (SenSys 2006) Based on Acoustic ENSBox (SenSys 2006) 4 channel mic. array at 48KHz, 802.11b 4 channel mic. array at 48KHz, 802.11b Linux, 400 MHz ARM/64MB/8GB Linux, 400 MHz ARM/64MB/8GB Smaller form factor, Internal battery Smaller form factor, Internal battery GPS, 3-axis accelerometer GPS, 3-axis accelerometer Always-on mote for duty cycling Always-on mote for duty cycling Software support (SenSys 2006) Software support (SenSys 2006) Time sync, self-localization Time sync, self-localization Rapidly deployable! Rapidly deployable! Field tested over several months Field 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 Collier
13
24/6/2008 13WiSiG Webinar VoxNet on-line usage model Write program // acquire data from source, assign to four streams (ch1, ch2 ch3, ch4) = VoxNetAudio(44100) // calculate energy freq = fft(hanning(rewindow(ch1, 32))) bpfiltered = bandpass(freq, 2500, 4500) energy = calcEnergy(bpfiltered)
14
24/6/2008 14WiSiG Webinar VoxNet on-line usage model Write program Node-side part Sink-side part Optimizing compiler // acquire data from source, assign to four streams (ch1, ch2 ch3, ch4) = VoxNetAudio(44100) // calculate energy freq = fft(hanning(rewindow(ch1, 32))) bpfiltered = bandpass(freq, 2500, 4500) energy = calcEnergy(bpfiltered)
15
24/6/2008 15WiSiG Webinar VoxNet on-line usage model Write program Node-side part Sink-side part Optimizing compiler Disseminate to nodes // acquire data from source, assign to four streams (ch1, ch2 ch3, ch4) = VoxNetAudio(44100) // calculate energy freq = fft(hanning(rewindow(ch1, 32))) bpfiltered = bandpass(freq, 2500, 4500) energy = calcEnergy(bpfiltered)
16
24/6/2008 16WiSiG Webinar VoxNet on-line usage model Write program Node-side part Sink-side part Run program Optimizing compiler Disseminate to nodes // acquire data from source, assign to four streams (ch1, ch2 ch3, ch4) = VoxNetAudio(44100) // calculate energy freq = fft(hanning(rewindow(ch1, 32))) bpfiltered = bandpass(freq, 2500, 4500) energy = calcEnergy(bpfiltered)
17
24/6/2008 17WiSiG Webinar VoxNet on-line usage model Write program Node-side part Sink-side part Run program Optimizing compiler Disseminate to nodes // acquire data from source, assign to four streams (ch1, ch2 ch3, ch4) = VoxNetAudio(44100) // calculate energy freq = fft(hanning(rewindow(ch1, 32))) bpfiltered = bandpass(freq, 2500, 4500) energy = calcEnergy(bpfiltered) Development cycle happens in-field, interactively
18
24/6/2008 18WiSiG Webinar Programming VoxNet Programming language: Wavescript Programming language: Wavescript High level, stream-oriented macroprogramming language High level, stream-oriented macroprogramming language Compiles down to a directed, graph of communicating ‘stream operators’ which data flow through (source to endpoint) Compiles down to a directed, graph of communicating ‘stream operators’ which data flow through (source to endpoint) Operates on stored OR streaming data Operates on stored OR streaming data User writes a script connecting operators User writes a script connecting operators Writes both node side + sink side separately Writes both node side + sink side separately User decides where processing occurs (node, sink) User decides where processing occurs (node, sink) Explicit, not automated processing partitioning Explicit, not automated processing partitioning Source Endpoint
19
24/6/2008 19WiSiG Webinar Example – energy calculation // 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 operators freq = fft(hanning(rewindow(ch1, 32))) // apply bandpass filter to freq bpfiltered = bandpass(freq, 2500, 4500) // calculate energy in bandpassed data energy = calcEnergy(bpfiltered) VoxNetAudio rewindowhanningfft ch1
20
24/6/2008 20WiSiG Webinar Splitting up a logical program // acquire data from source, assign to four streams (ch1, ch2 ch3, ch4) = VoxNetAudio(44100) freq = fft(hanning(rewindow(ch1, 32))) //send data to sink toNet(“frequencies”,freq) // receive data from node stream freq2 = fromNet(“frequencies”) // apply bandpass filter to freq bpfiltered = bandpass(freq2, 2500, 4500) // calculate energy in bandpassed data energy = calcEnergy(bpfiltered) freq toNet(“frequencies”)fromNet(“frequencies”) send(“frequencies”)arrived(“frequencies”) Sink Node bandpass
21
24/6/2008 21WiSiG Webinar Roadmap VoxNet platform VoxNet platform How it’s used How it’s used How it’s programmed How it’s programmed Validating VoxNet Validating VoxNet Network latency Network latency Runtime dynamics Runtime dynamics Ongoing work Ongoing work Conclusions Conclusions
22
24/6/2008 22WiSiG Webinar Validating VoxNet Implementation of indicative application (Marmot localization) Implementation of indicative application (Marmot localization) Distributed event detection and position estimation Distributed event detection and position estimation Resource usage Resource usage Hand coded C vs. high level Wavescope Hand coded C vs. high level Wavescope Network trade-off Network trade-off Process locally or send raw data to sink? Process locally or send raw data to sink?
23
24/6/2008 23WiSiG Webinar Example VoxNet application Detect and determine location of marmots Detect 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 32KB per node, per detection NODESSINK
24
24/6/2008 24WiSiG Webinar Hand-coded C vs. Wavescript 100% Hand-coded CWavescript EVENT DETECTOR DATA ACQUISITION
25
24/6/2008 25WiSiG Webinar Hand-coded C vs. Wavescript 30% less CPU EVENT DETECTOR DATA ACQUISITION 100% Hand-coded CWavescript
26
24/6/2008 26WiSiG Webinar Hand-coded C vs. Wavescript Extra resources mean that data can be archived to disk as well as processed (‘spill to disk’, where local stream is pushed to storage co-processor) EVENT DETECTOR DATA ACQUISITION ‘SPILL TO DISK’ 100% Hand-coded CWavescript
27
24/6/2008 27WiSiG Webinar Detection data transmission latency Deployed network in Gothic, CO Deployed network in Gothic, CO Request all nodes to transmit data simultaneously Request all nodes to transmit data simultaneously Emulates the ‘worst case’ when all nodes detect the acoustic event Emulates the ‘worst case’ when all nodes detect the acoustic event Measure latency to transmit raw detection or processed data (32KB vs. 800B/node) Measure latency to transmit raw detection or processed data (32KB vs. 800B/node) Gathered single and multi-hop data Gathered single and multi-hop data Up to three hops Up to three hops Used single hop 800B data to help predict missing 800B multi-hop data Used single hop 800B data to help predict missing 800B multi-hop data
28
24/6/2008 28WiSiG Webinar Detection data transfer latency 1 HOP2 HOPS3 HOPS 12
29
24/6/2008 29WiSiG Webinar Detection data transfer latency Network latency will become a problem if scientist wants results in <5 seconds (otherwise animal might move position) 1 HOP2 HOPS3 HOPS 12
30
24/6/2008 30WiSiG Webinar Processing trade-off Sending raw data to sink Sending 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 (32KB, up to 12s in expt.) Sending data takes a long time (32KB, up to 12s in expt.) Sending processed data to sink Sending 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, <1s) Sending data takes a short time (800B, <1s) Which is best to do to reduce overall position estimation latency? Which is best to do to reduce overall position estimation latency?
31
24/6/2008 31WiSiG Webinar Local vs. sink processing trade-off DoA PROCESSING TIME NETWORK LATENCY Send raw data, process at sink DoA processing
32
24/6/2008 32WiSiG Webinar Local vs. sink processing trade-off DoA PROCESSING TIME NETWORK LATENCY Process locally, send 800B DoA processing
33
24/6/2008 33WiSiG Webinar Local vs. sink processing trade-off DoA PROCESSING TIME NETWORK LATENCY As hops from sink increases, benefit of processing DoA locally is clearly seen
34
24/6/2008 34WiSiG Webinar Applying the trade-off at run-time Aim: process raw data locally when possible Aim: process raw data locally when possible Node has limited buffer space for data samples Node has limited buffer space for data samples Event detection can happen faster than real-time, so can catch up Event detection can happen faster than real-time, so can catch up Wavescript makes this easy to implement Wavescript makes this easy to implement Trivial, natural to split and merge multiple streams Trivial, natural to split and merge multiple streams Same on-node and sink DoA implementations Same on-node and sink DoA implementations AML DOA Send Raw Data Buffer >3sec? AML DOA N Send AML Output Y Node Sink Merge 2.2s 0.04s x y
35
24/6/2008 35WiSiG Webinar Roadmap VoxNet platform VoxNet platform How it’s used How it’s used How it’s programmed How it’s programmed Performance results Performance results Network latency Network latency Runtime dynamics Runtime dynamics Ongoing work Ongoing work Conclusions Conclusions
36
24/6/2008 36WiSiG Webinar Ongoing work VoxNet Platform Development VoxNet Platform Development NSF Funded UCLA/MIT collaboration (2008-2010) NSF Funded UCLA/MIT collaboration (2008-2010) Aiming for 10x improvement on lifetime Aiming for 10x improvement on lifetime Make platform smaller, lighter, cheaper Make platform smaller, lighter, cheaper Develop VoxNet application portfolio further Develop VoxNet application portfolio further Add classification, census to bioacoustics apps. Add classification, census to bioacoustics apps. New applications from different domains: Increases generality, validates applicability New applications from different domains: Increases generality, validates applicability Ongoing development of Wavescript compiler Ongoing development of Wavescript compiler
37
24/6/2008 37WiSiG Webinar Conclusions VoxNet hardware is easy to deploy VoxNet hardware is easy to deploy Experience is invaluable in this respect Experience is invaluable in this respect Wavescript simplifies development Wavescript simplifies development Allows on-line development in the field Allows on-line development in the field Provides comparable operating performance Provides comparable operating performance Despite being high level language Despite being high level language Easy to implement network dynamics Easy to implement network dynamics Such as local processing adaptation Such as local processing adaptation
38
24/6/2008 38WiSiG Webinar For more information My contact details: email: allenm@coventry.ac.uk web: http://cogentee.coventry.ac.uk/~allenm My contact details: email: allenm@coventry.ac.uk web: http://cogentee.coventry.ac.uk/~allenmallenm@coventry.ac.ukhttp://cogentee.coventry.ac.uk/~allenmallenm@coventry.ac.ukhttp://cogentee.coventry.ac.uk/~allenm Wavescope: http://wavescope.csail.mit.edu/doku.php Wavescope: http://wavescope.csail.mit.edu/doku.php http://wavescope.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., "VoxNet: An Interactive, Rapidly-Deployable Acoustic Monitoring Platform", Proceedings of IPSN 2008
39
24/6/2008 39WiSiG Webinar Backup slide: Wavescope “Wavescope is a system for developing distributed, high-rate applications that need to process streams of data from various sources (e.g., sensors) using a combination of signal processing and database (event stream processing) operations. The execution environment for these applications ranges from embedded sensor nodes to multicore/multiprocessor servers.” “Wavescope is a system for developing distributed, high-rate applications that need to process streams of data from various sources (e.g., sensors) using a combination of signal processing and database (event stream processing) operations. The execution environment for these applications ranges from embedded sensor nodes to multicore/multiprocessor servers.”
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.