Title: Removing Redundancy from Wireless Sensor Networks
1Removing Redundancy from Wireless Sensor Networks
Jim Chou Kannan Ramchandran
Rahul Shah Jan Rabaey
2Overview
- Setup - Motivation
- Distributed Source Coding
- Theory
- Practical Codes
- Application to Sensor Networks
- Routing with Aggregation
- Results
- Conclusion
3Scenario
- Network consists of many sensors, few
controllers, and few actuators - Sensors give their measurements to controllers,
which process them and make decisions
4Data Reports
- Payload has redundancy
- because nearby sensors
- have correlated readings
- Headers are overhead
- of communication setup
- control
5Overview
- Setup - Motivation
- Distributed Source Coding
- Theory
- Practical Codes
- Application to Sensor Networks
- Routing with Aggregation
- Results
- Conclusion
6Problem Base Case
Y
- Suppose X, Y correlated
- Y available at decoder but not at encoder of X
- How to compress X close to H(XY)?
X
7Encoding with fidelity criterion
Rate distortion with side information (Wyner-Ziv,
78)
- X and Y are correlated,
- continuous alphabet sources.
- Y is available only to decoder.
X
Decoder
Encoder
Y
X aY N N correlation noise If N is
Gaussian, can get same performance by knowing
only statistics of N at encoder as when Y is
known at encoder. Performance is measured as MSE
for a given transmission rate R.
8Basic Concept
Consider a simple 8-level scalar quantizer
Partition
r r r
r
0 2 4
6
r r r
r
2 cosets
1 3
5 7
Encoder Send index of coset containing quantized
outcome Decoder Decode side information Y in
given coset
9 r r r r r r
r r
0 1 2 3 4
5 6 7
X
Y
10General block diagram of DISCUS (Pradhan
Ramchandran 99)
Decoder
Encoder
Find quantization index using source
codebook
Source X
Find Coset of quantized codeword
I
I
Find codeword closest to S in encoded
coset
Optimally estimate source
coset
Correlated source Y
- Interplay between source coding, channel coding
and estimation theory can leverage latest
advances in all areas (generalized coset codes
Forney) - 7-15 dB gains in reconstruction SNR over
theoretically optimal strategies that ignore
correlation for typical correlated sources. - 3-5 dB gap from Wyner-Ziv bound (Gaussian case)
using sample by sample quantization and encoding
better performance with TCQ/TCM.
11Challenges of Real World
- Theory says what is possible given the
statistics. - Codes exist which achieve bounds when statistics
are known. - How does one find the statistics?
Correlation Tracking Algorithms What codes to
use?
Practical Codes How is it Possible?
Theory What is Possible?
Real Systems
12Setup
- Controller receives uncoded data from sensors
- Breaks them up into clusters s.t. nodes within
cluster are highly correlated - Tells each cluster what code-book to use
13Correlation Tracking
- Sensor nodes measure X, controller node has Y
- Data gathering node needs to estimate number of
bits, i, it needs from sensor nodes for X.
X aY N N correlation noise
14Tree-Structured Code
- Depth of tree specifies number of bits used for
encoding
D
- Path in the tree specifies the encoded value.
- Can tolerate 2i-1D of correlation noise using an
ith level codebook
15Simulations (correlation tracking)
- 15 sensors measuring temperature, light and
humidity are arranged in star topology - 3 clusters formed
Correlation Noise
Time
16Simulations (energy savings)
- Each node has 0 energy savings 20 time (uncoded)
- Ave Temp Savings 40.8
- Ave Humidity Savings 17.6
- Ave Light Savings 6.75
Energy Savings ()
Time
17Room for Improvement
- Encode more than one sample at a time
- Use a tighter bound (Chebyshev is too
conservative) - Larger clusters
- Non-stationary signals (e.g. acoustic)
18Overview
- Setup - Motivation
- Source Coding with Side Information
- Theory
- Practical Codes
- Application to Sensor Networks
- Routing with Aggregation
- Results
- Conclusion
19Motivation for Removing Header Redundancy
- In a sensor network, data rates are low packet
header overhead is high - Many sensors report back to controller
- Sending the information of many sensors in one
packet reduces header overhead
20Setup
- Network consists of many sensors, few
controllers, and few actuators - Sensors give their measurements to controllers,
which process them and make decisions
21Data Reports
- If sensors send their
- readings independently
- many headers sent
- unnecessarily
-
22Routing with Aggregation
- Would like to do data aggregation along the way
Controller Sensors
23Setup
- Network consists of many sensors, few
controllers, and few actuators - Sensors give their measurements to controllers,
which process them and make decisions
24Regions
- Controller defines a cuboid in space
- Regions can be chosen based on correlation within
region - Sensors within that region send their
measurements to the controller every few minutes
Controller Sensors
25Interest Packets
- Controller sends an interest packet defining
the region and specifying frequency of sensor
reports - Nodes outside the region forward the packet and
update path-cost within packet
Controller Sensors
26Interest Packets
- Controller sends an interest packet defining
the region and specifying frequency of sensor
reports - Nodes outside the region forward the packet and
update path-cost within packet
Controller Sensors
27Interest Packets
- Controller sends an interest packet defining
the region and specifying frequency of sensor
reports - Nodes outside the region forward the packet and
update path-cost within packet
Controller Sensors
28Interest Packets
- Controller sends an interest packet defining
the region and specifying frequency of sensor
reports - Nodes outside the region forward the packet and
update path-cost within packet
Controller Sensors
29Interest Packets
- Controller sends an interest packet defining
the region and specifying frequency of sensor
reports - Nodes outside the region forward the packet and
update path-cost within packet
Controller Sensors
30Interest Packets
- Controller sends an interest packet defining
the region and specifying frequency of sensor
reports - Nodes outside the region forward the packet and
update path-cost within packet
Controller Sensors
31Border Nodes
- Each border node computes its cost for reaching
controller - The cost is a function of the energy required to
reach the controller and energy left in nodes
along the path - There are several paths, so each border nodes
cost is a weighted average of the cost of each
path
Controller Sensors
Border Nodes
32Flood Packets
- Each border node floods the region with a packet
identifying itself as a border node and
specifying its cost to reach the controller,
along with original interest by the controller - Other nodes in region use these packets to
determine paths back to the border nodes
Controller Sensors
Border Nodes
33Flood Packets
- Each border node floods the region with a packet
identifying itself as a border node and
specifying its cost to reach the controller,
along with original interest by the controller - Other nodes in region use these packets to
determine paths back to the border nodes
Controller Sensors
Border Nodes
34Flood Packets
- Each border node floods the region with a packet
identifying itself as a border node and
specifying its cost to reach the controller,
along with original interest by the controller - Other nodes in region use these packets to
determine paths back to the border nodes
Controller Sensors
Border Nodes
35Compute Schedule
- Each node in region uses the same deterministic
function to compute a schedule of when to talk to
each border node
Controller Sensors
Border Nodes
36Reporting to Border Node
- During every round of reporting, the sensors send
their information to the designated border node
for that round - Sensors far from the border node send their info
before the sensors near the border node in order
to allow packet aggregation at intermediate nodes
Controller Sensors
Border Node
37Reporting to Border Node
- During every round of reporting, the sensors send
their information to the designated border node
for that round - Sensors far from the border node send their info
before the sensors near the border node in order
to allow packet aggregation at intermediate nodes
Controller Sensors
Border Node
38Reporting to Border Node
- During every round of reporting, the sensors send
their information to the designated border node
for that round - Sensors far from the border node send their info
before the sensors near the border node in order
to allow packet aggregation at intermediate nodes
Controller Sensors
Border Node
39Reporting to Controller
- The designated border node aggregates all the
information sent to it by the sensors in the
region - It sends out a single packet, with a single
header, containing all the information from the
region
Controller Sensors
Border Node
40Reporting to Controller
- The designated border node aggregates all the
information sent to it by the sensors in the
region - It sends out a single packet, with a single
header, containing all the information from the
region
Controller Sensors
Border Node
41Reporting to Controller
- The designated border node aggregates all the
information sent to it by the sensors in the
region - It sends out a single packet, with a single
header, containing all the information from the
region
Controller Sensors
Border Node
42Reporting to Controller
- The designated border node aggregates all the
information sent to it by the sensors in the
region - It sends out a single packet, with a single
header, containing all the information from the
region
Controller Sensors
Border Node
43Reporting to Controller
- The designated border node aggregates all the
information sent to it by the sensors in the
region - It sends out a single packet, with a single
header, containing all the information from the
region
Controller Sensors
Border Node
44Simulation
- Implemented Funneling algorithm in OpNet
network simulator - Controller queried a region with 15 sensors
- Sensors reported every 10 seconds with data
aggregation along the way - Measured the average number of sensor readings
per packet transmittion
45Topology
46Results
- On average, 7 sensor readings per packet (i.e.
per header) - 85 reduction in the amount of energy spent on
transmitting packet headers
47Combining the Gains
a
(1-a)
Overall Savings a(DISCUS savings)
(1-a)(Funneling Savings)
48Conclusion
- Sensor networks have a lot of built-in redundancy
that saps the limited energy available. - Distributed source coding can be used to reduce
the redundancy of the sensor readings - Routing with aggregation can be used to reduce
the redundancy of communication set-up.