Abstract
This paper addresses the uneven communication energy problem in data gathering sensor networks where the nodes closer to the sink tend to consume more energy than those of the farther nodes. Consequently, the lifetime of a network is significantly shortened. We propose a cross-sensor coding technique using On-Off keying which exploits (a) the tradeoff between delay and energy consumption and (b) the network topology in order to alleviate the problem of unequal energy consumption. We formulate our coding problem as an integer linear programming problem and show how to construct a number of codes based on different criteria. We show that the proposed technique can extend the lifetime of a small sensor network.
1. Introduction
Recent years have witnessed an explosive growth of sensor networks designed for environmental data gathering and monitoring [1–3]. A typical sensor network for data gathering consists of a large number of battery operated sensor nodes; each is capable of sensing and forwarding its data wirelessly to the processing node through its neighboring nodes. The sensor networks are often designed to operate at low power in order to prolong their lifetimes. However, building a truly energy efficient sensor network is still a challenging problem. There has been a large body of work on reducing energy consumption of sensor networks using different approaches, from low-voltage hardware designs [3] and transmission schemes [4] to in-network processing and routing algorithms [5].
Recently, several energy efficient algorithms for sensor networks based on the correlation characteristic of data have been studied. From signal processing perspective, if the measured data among the nodes are spatially correlated, a node can jointly compress its data and its neighbor's data to increase the capacity of the network [6–8] or to minimize the energy to transmit the data [9, 10]. The larger correlation results in larger energy saving [11]. The argument for energy reduction using data compression is based on the entropy concept from information theory [12]. The entropy represents the amount of information in terms of the number of bits. Therefore, by compressing the data to a smaller number of bits, less energy is required to send these bits. However, in many situations with practical sensor networks, the assumption of data correlation is not applicable.
An important problem in sensor network is the uneven energy consumption of the nodes, specifically the energy spent on communication. The nature of data forwarding in a sensor network implies that sensor nodes closer to the processing node (the sink) tend to spend more energy than those of the farther nodes in order to relay the accumulated data. Figure 1 shows an example in which data are collected and relayed through the internal nodes 2 and 3, and eventually to the processing node 4. Thus, nodes 2 and 3 consume two and three times more energy than node 1, respectively, because they have to relay the data of other nodes. This energy unfairness problem can significantly shorten the lifetime of a sensor network.

A simple sensor network. All measured data from nodes 1, 2, and 3 are relayed to node 4.
To see the seriousness of this problem, we assume that all the nodes have identical batteries designed to continuously measure and transmit one sample of data to the next hop for 3 months. Then, node 2 will run out of battery in 1.5 months, and node 3 will run out of battery in 1 month. Thus, while nodes 1 and 2 still function after one month, the sensor network is unusable due to node 3's failure. In other words, the lifetime of this sensor network depends on the lifetime of node 3. Therefore, it is extremely important to incorporate the knowledge of the network topology into the design of a long-lived sensor network. We will show that by allowing the internal nodes to re-encode the data they receive with appropriate codes based on its position in the network, the energy consumption can be significantly reduced.
This work proposes a low-weight cross-sensor coding technique to reduce the communication energy and alleviate the problem of unequal energy consumption among nodes in a sensor network, thus improving its lifetime. Our approach is based on the following observation. Assume that digital transmission is used, and transmitting bit “1” consumes much more energy than bit “0”. This is typically true in optical communication where transmitting a bit “1” requires much energy to generate a laser pulse, while being silent represents a bit-“0” transmission. Our proposed coding technique exploits this difference to reduce the communication energy by limiting the number of bits “1” in the output codeword (low-weight codeword) and to use a cross-sensor coding technique to equalize the communication energy among the nodes. The proposed technique is designed to reduce the communication energy for fiberoptic sensor networks similar to the one used by Selker et al. as shown in Figure 2 [13]. This sensor network consists of temperature sensors connected to each other through a fiberoptic cable. Each sensor can measure temperature at temporal resolution of fractions of a minute.

An fiberoptic sensor network deployed in lake Geneva.
2. Related Work
There has been a large amount of research on designing energy efficient sensor networks, from hardware designs and modulation schemes to MAC/routing protocols and in-network processing techniques. In this section, we list a few works in this area.
Many data aggregation algorithms for sensor networks have been recently proposed for energy optimization [6–9]. In [7], Cristescu et al. apply information network theory to sensor network by using a simple model for data compression and devise approximate algorithms for constructing shortest path tree to aggregate data from multiple sensors to a sink in order to minimize the total energy. While this approach can greatly reduce the energy consumption, it relies on large correlation of data at different sensors to achieve low energy consumption, which may not be true in many real-world scenarios.
Similar work on aggregation of correlated data in sensor network are studied by Enachescu and Sharaf in [10, 14]. In [14], the authors propose a simple randomized algorithm for routing data on a grid of sensors in a way that promotes data aggregation. They show that their randomized algorithm is a constant factor approximation to the optimal aggregation tree. On other hand, our work does not rely on data correlation.
Several researchers work on constructing the optimal prefix codes with unequal letters costs [15–17]. One solution approach to this problem is to formulate it as an integer linear programming problem. In [15], Karp also proved and proposed a method to construct the optimal codes via a set an integer linear programming problem.
Our approach is similar to the works of Liu and Asada [18], Kim and Andrews [19], and Prakash and Gupta [20], in which the authors optimize the energy consumption by exploiting different transmission energies for bits “1” and “0”. Our work is also similar to the silent based communication paradigm proposed in [21]. In [22], Dhulipala et al. also characterized the complexity of silence based communication. On the other hand, unlike previous approaches, our approach introduces a novel concept of coding data across different sensors which can alleviate the problem of uneven energy consumption at different sensors, thus prolonging the lifetime of a sensor network.
3. Sensor Network Model
This work does not address the overall energy consumption problem for the general class of sensor networks. Instead, it is useful for reducing communication energy for a number of sensor networks in which the following assumptions hold.
Data is transmitted digitally using On-Off Keying (OOK) technique with bit “1” using more energy than that of bit “0”. Largest source of energy consumption is transmission. All the sensor nodes are equipped with a loosely synchronized clock. The sensor network is designed to collect data at low frequency, that is, low bandwidth requirement. Sensors are aligned and relay data in a linear fashion.
Assumption 1 is critical to our coding technique since we utilize the characteristic of OOK that more energy is required to transmit bit “1” than bit “0”. Assumption 2 typically holds in many sensor networks, and, thus, minimizing the transmission energy significantly improves the network lifetime. Therefore, in our energy performance evaluation, we only consider the energy required to transmit, ignore the energy consumed by the nodes to listen and to perform any necessary computations. We will consider these other sources of energy consumption in our future work.
For this scheme to work, both receiver and sender must have a synchronized clock; thus, assumption 3 follows. As for assumption 4, our coding technique is more effective in terms of energy reduction when there is no or little restriction on the bandwidth requirement. This typical assumption often holds since sensor networks collect data at the large intervals, for example, on the order of minutes, resulting in a very low bandwidth. Therefore, the clocks at different nodes are only needed to be synchronized to a certain resolution.
Assumption 5 enables a node to code the data effectively. This assumption arises with the fundamental characteristic of sensor networks where data is only sent in one direction, that is, from sensor nodes to the sink as most of the sensor networks are used for data aggregation. Furthermore, our work focuses on small-scale environmental sensor applications in which a typical sensor network includes tens of sensors.
Finally, the discussion on transmitted bit errors is outside the scope of this paper.
4. Coding Schemes
4.1. 1-Bit Coding
Typical entropy coding techniques, such as Huffman coding [23], aim to minimize the number of bits per symbol, given a probability distribution of the source data. The symbols with frequent occurrences are coded using fewer number of bits than those of the rare symbols. As a result, the average number of bits per symbol is reduced. However, Huffman coding only minimizes the number of bits, regardless whether the bit is “0” or “1”. This may result in higher transmission energy. To reduce transmission energy, one can use the 1-bit coding scheme [20] in which, every codeword consists of at most 1 high bit as below:
Assume that it takes no energy to transmit bit “0”, then the transmission energy per symbol is much smaller for the 1-bit coding than the traditional coding schemes such as direct binary coding or Huffman coding. The 1-bit coding scheme employs fixed-length codes for differentiation of symbol boundary. Furthermore, the receiver and sender's clocks must be synchronized in order for the receiver to detect the silent interval of bit “0”. As a result, the 1-bit coding scheme results in longer average time to transmit a symbol.
The 1-bit coding technique can be generalized to k-bit coding which uses slightly more energy per symbol in order to reduce the delay. A k-bit coding symbol consists of at most k bits “1” per codeword. Therefore, the number of possible k-bit codewords of length n is
4.2. Cross-Sensor Coding Technique
The previous coding scheme reduces the energy consumption at each sensor; however, it cannot solve the problem of energy unfairness as explained in Section 1. One may think that the relay architecture used in the sensor network fundamentally produces this energy unfairness problem since some nodes, (e.g., the internal nodes) will have to transmit more data, thus resulting in higher energy consumption. However, this is not necessarily the case, the cross-sensor coding technique described below aims to solve this problem.
We first begin with the definition of energy unfairness which ultimately affects the lifetime of a sensor network. The energy unfairness is defined as follows.
Definition 1.
One has
Intuitively, the energy unfairness represents the variance of the average energy consumption by the nodes. The lower value of
We would like to mention that there are different ways of defining energy fairness. All of these definitions ensure that in an ideal case, all nodes consume the same amount of energy. For example, a metric for energy fairness in cooperative wireless networks was proposed by Chen et al. [24]. Their definition is based on a cooperation matrix, and for which they showed that in general, the energy constraint and energy fairness cannot be satisfied simultaneously if each node uses a fixed set of relays.
To illustrate our coding techniques and their advantages, we first consider the traditional data relay in a simple sensor network consisting of four sensors and a processing node as shown in Figure 3.

All measured data from nodes 1, 2, 3, and 4 are relayed to the processing node.
4.2.1. Traditional Data Relay
Suppose the sensors are designed to measure the data with 8-bit resolution. Assume that at time t, the measured data for nodes 1, 2, 3, and 4 are 10101111, 00100111, 11100111, and 11111100, respectively. Assuming that propagation delay is negligible, then to transfer these data to the processing node (from left to right in Figure 3), the traditional relay method requires: node 1 transmits 6 bit 1's, node 2 transmits 10 bit 1's, node 3 transmits 16 bit 1's, and node 4 transmits 22 bit 1's. Therefore, the total number of transmitted bits equals to 6 + 10 + 16 + 22 = 54 bits. Assume that the energy for transmitting a bit “1” is 1 joule and for transmitting bit “0” is 0 joule, then the total energy consumption per one round of data gathering in this sensor network is 54 joules. Furthermore, the energy consumption of node 4 is almost 4 times the larger than that of node 1. In general, it is easy to show that the average number of transmitted bits per sample; hence, the energy per sample, is
4.2.2. Direct 1-Bit Coding
Now, suppose we apply 1-bit coding to the 8-bit data directly, and each node relays the data in the same way as the traditional method. Since each sample data is coded with only one bit “1”, the total number of transmitted bits for this scheme scheme equals 1 + 2 + 3 + 4 = 10 bits, resulting a factor of 5 in energy reduction compared to that of the traditional coding technique. The direct 1-bit coding data scheme results in much higher delay. Assume that a node relays the data in the next time slot after it receives a data sample completely, then there is an additional 255 bit delay per hop. This relay technique (also called store and forward scheme) is employed in packet-switched networks. The store and forward scheme waits until all bits in a packet are received before transmitting the first bit of the packet onto the next link. In our case, a packet is a data sample (255 time slots). Consequently, the time it takes for the first bit of node 1's data to arrive at the processing node equals to
Proposition 2.
Giving
a sensor network consisting of n sensor nodes and one processing node, all are aligned and forward data in a linear fashion, data gathering is based on store and forward scheme with a packet being a data sample of m-bit resolution, measured data are randomly and uniformly distributed, the average number of transmitted bits TB per sample data per node is the achievable bandwidth B is the energy fairness is
then, using direct 1-bit coding scheme with time slot of T second per bit results in
Proof.
To prove (4), one notes that the first node transmits its sample data to node 2 using at most 1 bit “1”. There is a
To prove (5), one notes that
To prove (6), one can explicitly compute the formula in (3). To compute
We note that using direct 1-bit coding results in lower energy consumption, but the energy unfairness is still on the order of
4.2.3. Cross-Sensor 1-Bit Coding
Unlike the previous approaches, in which each sensor encodes its data separately, cross-sensor coding technique allows each sensor to encode its data and its neighbor's data jointly using variable-length codewords where the codeword's length is based on the location of a sensor.
Figure 4 illustrates the cross-sensor coding technique for 8-bit sample data. For easy visualization, the 8-bit resolution data at each sensor nodes are now arranged vertically with the most significant bits (MSB) at the top, and the least significant bits at the bottom. First, we consider sending the MSBs of the data measured at different sensors to the processing node. The MSB of the measured data at the node 1 is “1”, so node 1 will send the codeword “1” to the node 2. The MSB of the measured data at node 2 is 0, so node 2 will send the codeword “010”, representing both MSBs at nodes 1 and 2 (“10”), to node 3. The MSB of the measured data at node 3 is 1, so node 3 will send the codeword “0010000” to node 4, representing MSBs at nodes 1, 2, and 3 (“101”). Finally, the MSB of the measured data at node 4 is “1”, so node 4 will send the codeword “000010000000000” to the processing node. Basically, the code sent by node n is the 1-bit codeword, representing all the possible bit patterns at the nodes 1 to n.

Individual bits are transmitted through each node. Each sensor combines the cumulative data and produces a new codeword with longer length.
We note that the length of the codeword increases roughly by a factor 2 after each hop. This is because there are 4 maximum possible data patterns that node 2 can send to node 3, that is, 0 or 1 from node 1, and 0 or 1 from node 2. Similarly, there are 8 possible data patterns that node 3 can send to node 4. In general, there are
Using the above scheme, when the processing node receives a codeword “000010000000000”, it will be able to infer that the MSBs at nodes 1, 2, 3, and 4 are 1, 0, 1, and 1, respectively, by simply converting “000010000000000” (11 in decimal) to a binary coding, that is, 1011. After the processing node receives the MSBs of all the nodes, the first node can start to transmit the second bit, and the process repeats until all the 8-bit data are transmitted. Clearly, using cross-sensor 1-bit coding, each sensor only needs to send at most 1 bit “1” per hop, thus eliminates the problem of uneven transmission energy. However, the length of an 1-bit codeword increases roughly by a factor 2 after each hop, that is, 1-bit codeword sent out by node n will have a length of
The cross-sensor coding technique achieves energy fairness and efficiency by exploiting the individual node's knowledge of the topology. In particular, each sensor needs to know its position in the topology, and the data from other sensors in order to encode the new codeword with appropriate length. Furthermore, to be able to receive the correct codeword, each sensor must have a synchronized clock to enable correct timing of each bit. Cross-sensor coding also introduces additional delay per hop due to the store and forward scheme. Figure 5 shows that the delay increases exponentially as data traverse to the processing nodes. Note that for two consecutive nodes, the transmission time slots of one node are the receiving time slots of another node. We emphasize that a transmission time slot of a node does not mean that node has to transmit bit “1” during this time slot. Rather, a transmission time slot means that this time slot is used to indicate the transmission of the data bits either “0” or “1”. There will not be an actual transmission if the data bit is “0”. Due to 1-bit coding, there are also idle time slots which are necessary for the node to differentiate the codewords. The following theorem characterizes the bandwidth, the transmission energy, and the energy fairness associated with 1-bit cross-sensor coding.

Delay in cross-sensor coding. Staggering delay is introduced at each node as shown by the squares representing time slots. The closer the nodes to the processing node are, the higher delay is. Blank squares represent the idle time slots, the wavy squares represent the transmission time slots, and the brick squares represent the time slots during which the node is receiving information.
Proposition 3.
Given the same conditions as those of Proposition 2, using 1-bit cross-sensor coding scheme with time slot of T second per bit results in
the average number of transmitted bits (TB) per sample data is the achievable bandwidth B is the energy fairness is
Proof.
To prove (10), one notes that with probability 1/2, the first node will not transmit anything, that is, the first bit is bit “0”. With probability 1/4, node 2 will not transmit anything to node 3 (pattern “00”). With probability 1/8, node 3 will not transmit anything to node 4 (pattern “000”). In general, with probability
As for (11), it is clear that each node i introduces additional
Finally, (12) can be obtained by computing the formula in (3) with
Note that energy unfairness from using cross-sensor coding scheme now asymptotically approaches 0 as the number of sensors approaches infinity. We can also extend cross-sensor 1-bit coding to cross-sensor k-bit coding.
4.2.4. Cross-Sensor k-Bit Coding
To reduce the delay or increase the bandwidth, one can use k-bit coding technique where the maximum number of high bits in a codeword is k. The code length n is a variable such that:
5. Optimal Low-weight, Cross-Sensor Coding
Thus far, we have considered an ideal situation in which the transmission energy of bit “0” is assumed to be 0. We now show how to find an appropriate low-weight, variable-length, prefix code for each sensor based on (a) its position, (b) the transmission energy of bits “0” and “1”, and (c) a certain delay-energy consumption tradeoff. The term low-weight means a small number of bits “1”, leading to small transmission energy. We note that the delay-energy consumption tradeoff is equivalent to the bandwidth-energy consumption tradeoff when using the cross-sensor coding technique.
Data Model
In many sensor networks, the observed data might be correlated across different sensors in spatial proximity according to some joint distribution. In this case, it is beneficial to consider these correlation for compressing the data, leading to fewer transmissions, and thus less energy consumption. For example, one might employ differential coding technique that entropy codes the differences in values of the observed data between two spatially consecutive sensors. This differential coding would reduce the dynamic range of the data, increase the compression ratio, and reduce the overall energy consumption. We consider this approach as a high-level data modeling technique that when used in conjunction with an entropy coding technique, such as Huffman coding, will further compresses the data. Like other entropy coding techniques, Huffman coding assumes a distribution of the observed symbols to be i.i.d (identically independent distributed). In other words, each symbol i occurs with some probability
Our proposed cross-sensor technique is an entropy coding technique, thus makes the typical i.i.d assumption. However, there is one key difference. The symbols observed at a sensor k are not the actual data observed at sensor k. Rather, it is a sequence of bits, one bit from each of the previous sensors as described in Section 4.2.3. Nevertheless, each of these symbols at a sensor k will still have an occurrence probability
Optimality of Huffman Coding
An optimal code is an entropy code that produces the shortest average output codeword length. Given n source symbols
Intuitively, if bits “0” and “1” require the same transmission energies, then the average delay and the transmission energies are directly proportional to the length of the code. Therefore, minimizing the expected code length using Huffman coding also minimizes the average energy consumption and delay simultaneously. In other words, there is no tradeoff between the average energy consumption and the delay.
Energy and Delay Tradeoff of Cross-Sensor Coding
However, the previous argument does not hold in the case where transmission energies of bits “0” and “1” are different. As discussed in Section 4.2.4, if a larger number of bits “1” in a codeword is allowed, more energy is used to transmit that codeword. On the other hand, with a larger number of bits “1” the average code length or equivalently the delay will be reduced. This is due to the fact that, for a prespecified maximum length over all the codewords, the number of possible codewords increases as the number of allowable bits “1” increases. Therefore, there is a tradeoff between the amount of transmission energy and delay. Importantly, there is not a single code, for example, Huffman code that simultaneously minimizes both energy and delay. Thus, the type of applications would impose the appropriate requirements on delay and energy consumption.
Designing Codes with Optimal Tradeoff
Our aim in this section is to design a cross-sensor code that satisfies pre-specified requirements on the average delay and energy consumption. For example, one may want to employ a code that minimizes the energy consumption while the delay may not exceed a certain threshold. Or conversely, one may want a code that minimizes the delay while the energy consumption may not exceed a certain threshold. Finally, one can also design a code that minimizes the weighted sum of the energy consumption and the delay. We will show that each of these formulations can be casted as an integer linear programming problem. To do so, we must define appropriate optimization variables and represent the delay and energy consumption as functions of these optimization variables.
Our approach is based on the approach proposed by Karp [15] on minimum-redundancy coding for the discrete noiseless channel. However, we should emphasize that it is not trivial to apply Karp's approach directly to our problem. Furthermore, formulating precisely the canonical form of an optimization problem class often requires some ingenuities. Common techniques include introducing new constraints and/or variables, or even modifying the objective as long as it can be shown that the solution to the modified problem will be identical to that of the original problem.
Code with Unequal Costs
We now briefly discussed the formulation of codes with unequal cost problem on which our derivation is based. Figure 6 shows a binary tree, representing a binary prefix code with unequal costs for bits “0” and “1”. The length of each branch represents the cost associated with bits “0” and “1”. Each leaf node represents a binary codeword which is a sequence of the branch labels starting from the root to the leaf node, similar to a Huffman tree. The goal is to design a code that minimizes the average cost given the probability distribution of the symbols.
Karp approached this problem by formulating an equivalent integer linear programming problem. (To the best of our knowledge, it is currently unknown whether the problem of optimal unequal cost letters is NP hard or polynomial time solvable.) Karp assumed that the cost of each digit is discrete and finds the necessary and sufficient conditions for the prefix code in the form of a set of linear inequalities involving integer solutions. The key to Karp's formulation is to design a tree as shown in Figure 6. Specifically, the cost of a codeword is the total length from the root to a leaf node representing that codeword. For example, if the discrete costs of the digits “0” and “1” are 1 and 2, respectively, then the codeword “100” would have a cost of 2 + 1 + 1 = 4. The optimal tree has a following special property. Denote
This is a generalization of the well-known Kraft's inequality for a prefix code with equal cost. Importantly, this will be used as the constraint in our integer linear programming formulation. Once the integer solutions

Prefix code as a tree with the cost of a symbol represented by the length of its branch.
The Optimal Cross-Sensor Codes as Code with Unequal Costs
In our problem, the transmission energy can be thought as the cost of a digit in a codeword. Thus, the problem of minimizing the energy consumption can be formulated as finding a prefix codebook whose digits have unequal costs which results in minimum cost. However, a direct application of Karp's approach may result in a undesirable long average code length, or delay.
If we take both delay and energy consumption into consideration, the problem becomes nontrivial. The problem is complicated further with multiple sensors. As discussed earlier, there is no single optimal code that is simultaneously optimal for both delay and energy consumption. Rather, depending on specific applications, a certain tradeoff between delay and energy consumption must be made. Therefore, it is necessary to find mathematical expressions for both delay and energy consumption. To derive these expressions and, consequently, to formulate our problem as an integer linear programming formulation, we define the following notations.
N: the number of sensors in the network.
Expression for Energy Consumption
We first find the expression for transmission energy in terms of optimization variables which will be introduced at appropriate times. Observe that the cost (transmission energy)
Note that the transmission energy of 0 can be obtained by setting each
Fortunately, Karp has shown that any prefix code of unequal cost(and therefore also uniquely decodable) must satisfy the linear constraints
For example, let
Next, we need to incorporate these constraints into the energy consumption expression, that is, relating
Essentially, the cost
Substituting
Expression for Delay
To find the expression for the delay, we first find a mathematical expression for the length of a codeword. Denote
Define new binary variables
Thus, we can represent the output codeword length of node k as a linear combination of the integer variables
The average delay at node k can then be expressed as
Again, introducing the new variables
Integer Linear Programming Formulation
Given the expressions for code length (delay) and transmission energy, we now can formulate a variety of optimization problems regarding the energy consumption and delay (bandwidth). We provide three examples below.
As a first example, we formulate the problem of finding a prefix code that minimizes the average transmission energy of the network subject to (a) the transmission energy of any node may not exceed a certain value W and (b) the average delay has to be smaller than a value X as follows:
For
For
In the formulation above, the objective models the overall energy consumption. The inequalities (35) and (36) model the constraints of prefix codes. The (38) is required because a leaf node can only be at exactly one level. The inequality (38) models the energy constraint at any node k while (39) models the overall average delay.
As a second example, we can also find the optimal prefix code that minimizes the average delay (bandwidth) such that the average transmission energy of each sensor does not exceed W as follow
For
For
For
As a third example, one can also replace the constraint in (43) by
6. Performance Evaluation
We now present a few results on the tradeoff between the delay and transmission energy for a straight-line topology. These results are based on the different problem formulations which are made possible by having the expressions of delay and transmission energy (26) and (32) in Section 5. We use CPLEX, an optimization package to obtain our solutions. The running times to obtain these solutions are negligible in all our experiments.
Simulation Data
First, we assume that the data sample is of 10-bit resolution. Each bit has one-half probability of being 1. Figure 7(a) shows the average transmission delay versus K, the maximum number of bit “1” allowed in any codeword. As seen, the delay decreases with the increase of K, that is, more transmission energy is allowed. Similarly, Figure 7(b) shows the average transmission energy as a function of delay when the transmission energy is minimized subject to the delay constraint.

(a) Per sample delay as a function of K (delay optimization). (b) Average energy as a function of per sample delay (energy optimization).
Figure 8 shows the average delay or code length for different values of K (the constraint on the number of bits 1 in a codeword) as a function of the number of sensors. As expected, higher K results in lower delay at the expense of energy increase.

Delay (number of time slots) versus number of nodes for straight line topology.
Experimental Data
We now present the results of applying cross-sensor coding on the actual air temperature being collected by an array of sensors developed at Oregon State University. The aim of this project is to monitor the temperature and humidity levels of the forest at different elevations. These sensors are placed along a tower to continuously log the current temperatures at every 15-minute interval. The sensor network is designed to collect data in real-time, and the data is sent from the higher sensors to the lower sensors, and finally to the processing node on the ground. The measured temperature data has 10-bit resolution.
Figure 9 shows the transmission energy at each node (with node 1 being the node at the top) for different relative transmission energy levels of bits “0” and “1”. If the transmission energy is a significant part of the overall energy, then the network lifetime depends on the transmission energy of node 11. As shown in Figure 9(a), node 11 uses more energy with the traditional (binary) coding than with the cross-sensor coding for

Per node energy usage of cross-sensor and traditional coding schemes as a function of the node number for (a)
Energy Usage and Network Lifetime
We note that our cross-sensor coding technique aims primarily at linear sensor networks for environmental monitoring applications where data is collected along the sensors arranged in a linear fashion. As such, any failed sensor will halt the data collection for the entire network. Thus, the lifetime of this type of network depends critically on the sensor with the shortest lifespan. In an ideal scenario above as shown in Figure 9, this shortest lifespan would be that of the last the sensor to the sink, specifically node 11. This is because node 11 relays the most amount of data and consumes the most amount of energy.
Scalability and Robustness
There are two major disadvantages with the proposed approach. The first issue is scalability. The cross-sensor coding approach might not be applicable to a large number of sensors since the length of the codeword increases exponentially with the number of sensors if 1-bit cross-sensor coding technique is used. It is possible to make the codeword length as a linear function of the number of sensors at the expense of using more “high” bits, resulting in higher energy consumption. At this time, we do not envision our technique to be used in future sensor networks of more than tens of sensors.
The other major disadvantage is robustness, specifically error propagation as the bits traverse through the sensors. While transmission error is out of the scope of this paper, it is an important issue in practice and deserves a discussion. In our proposed cross-sensor scheme, a bit flip from the first sensor will cause an error propagation through the down-stream sensors. This is an artifact of cross-sensor coding scheme as each sensor relies on the correct bits sent by its upstream sensors to encode its data. One approach to this problem is to use special error correcting/detecting codes. Specifically, one can use error detecting/correcting codes for asymmetric channel which can detect/correct bit flips in one direction efficiently [25]. Presumably, for optical transmissions, bit “1” can turn to “0” due to attenuation, but not the other way around. In addition, weighted error correcting/detecting codes can also be used to boost up the performance [26].
7. Conclusions
We have designed and analyzed a cross-sensor energy-efficient coding technique for the ultra-low energy sensor networks using On-Off Keying. Cross-sensor coding can significantly extend the network lifetime as compared with traditional (binary) coding by solving the energy-consumption unfairness problem. We have presented the theoretical and experimental results to show that transmission energy can be reduced substantially (e.g., a factor of 15) and the unequal energy consumption among nodes can be practically eliminated.
Footnotes
Acknowledgment
This work is partly supported by the National Science Foundation under Grants nos. 0845476 and 0834775.
