ppt - Coventry University
Download
Report
Transcript ppt - Coventry University
VoxNet: An Interactive,
Rapidly Deployable
Acoustic Monitoring Platform
Michael Allen¹, Lewis Girod², Ryan Newton², Samuel Madden²,
Travis Collier³, Daniel Blumstein³, Deborah Estrin³
¹Coventry University ²CSAIL, MIT ³CENS, UCLA
Applications and Challenges of
Distributed Acoustic Sensing
Has traditional WSN
complexities, in addition:
High data rate = no
streaming to sink
Forces local, in network
processing
VoxNet: integrated hardware and software platform
for distributed acoustic sensing
* Distributed processing properties
Captures,
* Developintegrates
applications previous
using a high experience
level language in acoustic
* Easily push new applications into the network
sensing
networks
Without sacrificing performance
Audio
Input
Detect
Sensor Node
Buffer
>3sec?
sync4
N
Server Side
Send AML
Output
Run Local
AML DOA
Y
Server Side
AML DOA
Event
association
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
Send Raw
Data
Network Operators
Sensor side
Server side
2
How we got to VoxNet
SenSys 2006 (Girod et al)
Acoustic sensing Platform
IPSN 2007 (Ali et al)
Marmot localization application
Wavescope: signal-oriented
stream processing @ MIT
VoxNet
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
3
VoxNet architecture
Off-line operation and storage
On-line operation
Storage Server
Mesh Network of Deployed Nodes
Gateway
Internet or
Sneakernet
Compute Server
In-field PDA
2008/23/4
Control Console
IPSN/SPOTS '08, St. Louis, MO
4
Roadmap
VoxNet platform
How it’s used
How it’s programmed
Performance results
Network latency
Runtime dynamics
Ongoing work
Conclusions
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
5
Current VoxNet node: ENSBox V2
Based on Acoustic ENSBox prototype
Low power supervisor
4 channel mic. array at 48KHz, 802.11b
Linux, 400 MHz ARM/64MB/8GB
Smaller form factor, Internal battery
Always-on mote for duty cycling
Example: ~5 days @ dawn/dusk sampling
Rapidly deployable!
Field tested over several months
…in the rainforest (Chajul, Mexico)
…and the mountains (Gothic, CO)
With thanks to Travis Collier
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
6
VoxNet on-line usage model
// 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)
Node-side part
Write
program
Optimizing
compiler
Sink-side part
Development cycle
happens in-field,
interactively
Run program
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
Disseminate
to nodes
7
Programming VoxNet
Programming language: Wavescript
User writes a script connecting operators
High level, stream-oriented macroprogramming language
Compiles down to a directed, graph of communicating ‘stream operators’
which data flow through (source to endpoint)
Operates on stored OR streaming data
Writes both node side + sink side separately
User decides where processing occurs (node, sink)
Explicit, not automated processing partitioning
Source
Source
Endpoint
Source
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
8
Example – energy calculation
ch1
VoxNetAudio
rewindow
hanning
fft
// 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)
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
9
Splitting up a logical program
freq
toNet(“frequencies”)
fromNet(“frequencies”)
send(“frequencies”)
arrived(“frequencies”)
bandpass
// acquire data from source, assign to four streams
(ch1, ch2 ch3, ch4) = VoxNetAudio(44100)
freq = fft(hanning(rewindow(ch1, 32)))
Node
//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)
Sink
// calculate energy in bandpassed data
energy = calcEnergy(bpfiltered)
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
10
Roadmap
VoxNet platform
How it’s used
How it’s programmed
Validating VoxNet
Network latency
Runtime dynamics
Ongoing work
Conclusions
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
11
Validating VoxNet
Implementation of indicative application
Resource usage
Marmot localization (from IPSN ‘07)
Hand coded C vs. high level Wavescope
Network trade-off
2008/23/4
Process locally or send raw data to sink?
IPSN/SPOTS '08, St. Louis, MO
12
Example VoxNet application
Detect and determine location of marmots
Crossing of DoA estimates
Obtain results on-line (scientist interaction)
X
Send 32KB
per node,
per detection
Event detection
DoA processing and
position estimation
NODES
2008/23/4
SINK
IPSN/SPOTS '08, St. Louis, MO
13
Hand-coded C vs. Wavescript
100%
EVENT DETECTOR
DATA ACQUISITION
‘SPILL TO DISK’
30% less CPU
Hand-coded C
2008/23/4
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)
Wavescript
IPSN/SPOTS '08, St. Louis, MO
14
Detection data transmission latency
Deployed network in Gothic, CO
Request all nodes to transmit data
simultaneously
Emulates the ‘worst case’ when all
nodes detect the acoustic event
Measure latency to transmit
raw detection or processed data
(32KB vs. 800B/node)
2008/23/4
Gathered single and multi-hop data
Up to three hops
Used single hop 800B data to help
predict missing 800B multi-hop data
IPSN/SPOTS '08, St. Louis, MO
15
Detection data transfer latency
12
1 HOP
2 HOPS
3 HOPS
Network latency will become a problem
if scientist wants results in <5 seconds
(otherwise animal might move position)
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
16
Processing trade-off
Sending raw data to sink
DoA processing takes a short time (0.04s)
Sending data takes a long time
(32KB, up to 12s in expt.)
Sending processed data to sink
DoA processing takes a long time (~2.2s)
Sending data takes a short time (800B, <1s)
Which is best to do to reduce overall position
estimation latency?
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
17
Local vs. sink processing trade-off
NETWORK LATENCY
AML PROCESSING TIME
Process locally, send 800B
Send raw data, process at sink
As hops from sink increases, benefit of
processing DoA locally is clearly seen
DoA processing
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
18
Applying the trade-off at runtime
Aim: process raw data locally when possible
Node has limited buffer space for data samples
Event detection can happen faster than real-time, so can catch up
Sink
Node
N
Buffer
>3sec?
Y
Send Raw
Data
x
AML DOA
0.04s
Merge
AML DOA
2.2s Send AML
Output
y
Wavescript makes this easy to implement
Trivial, natural to split and merge multiple streams
Same on-node and sink DoA implementations
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
19
Roadmap
VoxNet platform
How it’s used
How it’s programmed
Performance results
Network latency
Runtime dynamics
Ongoing work
Conclusions
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
20
Ongoing work
VoxNet Platform Development
NSF Funded UCLA/MIT collaboration (2008-2010)
Aiming for 10x improvement on lifetime
Make platform smaller, lighter, cheaper
Develop VoxNet application portfolio further
Add classification, census to bioacoustics apps.
New applications from different domains:
Increases generality, validates applicability
Ongoing development of Wavescript compiler
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
21
Conclusions
VoxNet hardware is easy to deploy
Wavescript simplifies development
Allows on-line development in the field
Provides comparable operating performance
Experience is invaluable in this respect
Despite being high level language
Easy to implement network dynamics
2008/23/4
Such as local processing adaptation
IPSN/SPOTS '08, St. Louis, MO
22
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
23
The ENSBox platform solves
lots of problems, but…
Algorithm is still difficult to implement
Must code in C, lacks safety features
Want convenient networking primitives
Hard to debug, hard to choose parameters
Desired features
Visibility in the field
Convenient way to install code
Interactive use in the field
Motivation for Wavescope
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
24
What is Wavescope?
Streaming
Databases
Borealis
Stanford STREAM
TelegraphCQ
Coral8, StreamBase
Ptolemy
StreamIT
GnuRadio
Simulink
Dataflow
Languages
ProfileDetector
<t1,t2,emit>
+
Audio0
<audio>
Audio1
<audio>
Audio2
<audio>
Audio3
<audio>
sync
Idea: High performance dataflow system,
but with semantics similar to stream
databases
Safe, powerful, optimizable language
Support for asynchronous, dynamic,
unreliable sensor net environment
IPSN/SPOTS '08, St. Louis, MO
2008/23/4
<w1,w2,w3,w4>
Initial Results:
• 1000x faster than
existing stream db’s;
• Similar performance to
hand-coded C;
• Better support for task
dynamics than SDF
25
Wavescope Objectives
Interactive “query” model
Concurrent queries installed in node engine
UI tools provide visibility into query progress
Integration between backend and sensors
Single program is split across both realms
Operates on stored and streaming data
Safe, fast, highly optimizable language
High rate isochronous data, dynamic data flow
Single language with modern properties
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
26
Girod, et. al., CIDR 2007
Wavescript
Functional language with mutation
Strict, static typing with type inference
Partial evaluation at compile time
“meta-program” constructs data flow graph
Why a new language?
Expressive for this class of applications
Optimizations
2008/23/4
27
Newton, et. al., in submission to PLDI 2008
IPSN/SPOTS '08, St. Louis, MO
Contributions
Developed platform capable of rapid deployment in
realistic environments
High level macroprogramming interface
Platform = Hardware + software
Compiles into a high performance distributed application
Abstracts the user from network details
Defined an interactive usage model
2008/23/4
Run-time installable programs
Run same program over live or stored data
IPSN/SPOTS '08, St. Louis, MO
28
Conclusions:
VoxNet
First deployment, platform using Wavescope approach on
embedded hardware
Improves on previous work
Deployed, validated with motivating application
Less resource overhead
On-line interaction
Data archival
Dynamically adjust processing boundaries
Built over solid, deployed, software framework (EmStar)
2008/23/4
Less emphasis on debugging visibility
EmStar validated through application experience, deployment and
iterative development over several years
IPSN/SPOTS '08, St. Louis, MO
29
Conclusions:
Motivations and challenges
Distributed acoustic sensing is ongoing
A variety of motivating domains and applications
High data rate sensing is a challenge in WSNs
In-network processing/data reduction is vital
Scientific, military, smart office
Event detection, localization, classification
A need for flexible, capable, general acoustic sensing platforms
Applications are hard, solutions need iteration
Significant expense, effort is always expended in deployment
Suitable high level programming abstraction for non-experts
Highly optimized for embedded platforms
Interactive - react to unforeseen situations
We believe VoxNet meets these needs
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
30
Here’s how
Interactive programming allows operational
adjustments in the field
Programming environment allows abstraction of
networking concerns (as far as possible)
Platform architecture avoids problems of badly
configured applications
Make most of time present in field
Record full data stream, replay data offline
Accurate self-localization removes need for manual
surveying*
Deployment is always harder than you remember
*not a direct contribution of VoxNet
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
31
Library: Spill to disk
Save full data stream locally (on gumstix storage server)
Regardless of current on-line processing
User can spill whatever data they require to named local
stream
Multiple uses for disk archiving
Process data in the field, after the fact
Off-line archival, indexing, annotation, sharing
Chan 1
Data Acq.
Chan 2
+
Chan 3 Time sync
Chan 4 (slauson)
2008/23/4
Raw data stream
Application (slauson)
Spill to disk (gumstix)
IPSN/SPOTS '08, St. Louis, MO
32
What’s new?
First embedded Wavescope deployment
Provides on-line and off-line operation
Safe, high level macro-programming environment
Record all data or last hour’s data for reprocessing in the field
Single Wavescript program is partitioned and distributed
Heterogeneous, multi-hop wireless network
Efficiency improvements (CPU, memory)
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
33
Backup: Named Network Streams
// Send side:
ToNet(“MyStream”, S);
// Receive side:
R = FromNet(“MyStream”);
Default stream semantics: reliable message delivery,
with bounded send buffer and head drop
Implemented in Wavescript and C via Foreign
Function Interface
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
34
Backup: Streams in Wavescript
// Sensor side:
(sendback,runlocal) = switch(Detections,
fun (x) SensorBufferTimeRemaining() < 3.0);
ToNet(“AMLStream”, AML(runlocal));
ToNet(“RawStream”, sendback);
// Server
AMLStream
RawStream
AllAMLs =
side:
= FromNet(“AMLStream”);
= FromNet(“RawStream”);
merge(AMLStream, AML(RawStream));
Note: switch is simple to implement in Wavescript.
Related work: VanGo
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
35
Backup: Visualisation
Visualiser allows scientist to ‘subscribe’ to any network
stream and visualise it
Future work – automatic marshalling, data types
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
36
Backup: One-hop data transfer
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
37
Back up: VoxNet node
Four channel 48KHz audio, 802.11b network,
internal battery (5-10hr)
400MHz processor, 64MB RAM
Linux based OS, with EmStar on top
Targeted at science applications
A standard acoustic platform
Rapidly deployable:
2008/23/4
Attended
short-lived deployments
IPSN/SPOTS '08, St. Louis, MO
38
Back up: VoxNet node
Self-calibration/localization
Acoustic time of flight ranging (~75m)
Direction of arrival
Multilateration algorithm for
position/orientation estimation
Take advantage of capabilities required
for acoustic sensing
Global time over network (10us)
5cm 2D pos, 1.5 deg. orientation error
in 80mx50m outdoor environment
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
39
What is VoxNet?
Integrated hardware and software platform for
distributed acoustic sensing
Captures previous experience in deploying
acoustic sensing networks
Top level Wavescript application
Node-side
+
Sink-side
EmStar drivers
Networked streams
EmStar drivers
Control console
Networked streams
MH Routing
App. Dissemination
MH Routing Data archival
Self-localization Time sync
Data acquisition
Hardware
2008/23/4
IPSN/SPOTS '08, St. Louis, MO
Visualization
App. Compilation
40
Distributed Acoustic Sensing is hard
Goals
Event detection
Target localization
Target tracking
Target classification
Signal enhancement
Domains
Scientific research
Smart offices
Military
2008/23/4
Challenges
Deployment
Self-localization
Time synchronization
Programming model
Network communication
Operating faults
Wide-band signals
Channel noise
Processing capability
Real-time operation
IPSN/SPOTS '08, St. Louis, MO
41
VoxNet network support
Support flow of Wavescript streams between nodes
Publish/subscribe named streams (“control”, “data”)
Sits below Wavescope application
Default network stream semantics:
In our case, sink is endpoint for programs
Reliable message delivery
Bounded send buffer, head drop
Assumes IP connectivity (over multiple hops)
2008/23/4
User space implementation of Dynamic Source Routing
IPSN/SPOTS '08, St. Louis, MO
42
VoxNet node software stack
Wavescript application
Node-side
Sink-side
Drivers
Drivers
Networked streams
MH Routing
Control console
Networked streams
Data archival
MH Routing
Self-localization
Time sync
Data acquisition
App. Dissemination
Visualization
Hardware
2008/23/4
App. Compilation
IPSN/SPOTS '08, St. Louis, MO
43
Networked streams
Special network operators allow logical streams
to flow over network toward endpoint (sink)
Publish/subscribe mechanism
Underlying C implementation
Default network stream semantics:
Reliable message delivery
Bounded send buffer, head drop
Assumes multi-hop IP connectivity
2008/23/4
Used implementation of Dynamic Source Routing
IPSN/SPOTS '08, St. Louis, MO
44