^{*}

This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (

For Wireless Sensor Networks, energy efficiency is always a key consideration in system design. Compressed sensing is a new theory which has promising prospects in WSNs. However, how to construct a sparse projection matrix is a problem. In this paper, based on a Bayesian compressed sensing framework, a new adaptive algorithm which can integrate routing and data collection is proposed. By introducing new target node selection metrics, embedding the routing structure and maximizing the differential entropy for each collection round, an adaptive projection vector is constructed. Simulations show that compared to reference algorithms, the proposed algorithm can decrease computation complexity and improve energy efficiency.

For data collection Wireless Sensor Networks (WSN), since sensor nodes are always densely distributed, there exists abundant redundancy in data from neighboring nodes. During the data collection process, besides how to route data to the sink, one of the key problems is how to remove redundancy and improve energy efficiency. There are a large number of algorithms that have integrated data compression into data collection [

However, it is not feasible to straightforwardly apply compressed sensing to WSN. Traditional projection matrices are always dense. From

There is some work devoted to the design of optimized projection matrices [

In this paper, on account of these issues, a new adaptive algorithm to design a projection vector to meet the requirements of sparseness and routing structure is proposed. The rest of this paper is organized as follows: a brief description of the Bayesian compressive sensing framework is provided in Section 2. In Section 3, the complete idea of the proposed algorithm is presented. Section 4 gives the simulation results and Section 5 concludes the work.

For an underlying signal vector ^{N}^{×1}, which is sparse on basis ^{M}^{×1} using projection matrix ^{M}^{×}^{N}_{s}

Based on observed

Here _{i}^{2} is the noise power. Assuming there are _{0} initial observed samples, to obtain the (_{0} + 1)-th sample, a new projection vector _{M}_{0} _{+ 1} must be constructed, and the new projection matrix becomes:

The information retrieved in the (_{0} + 1)-th collection round can be expressed as [_{M}_{0} _{+ 1} has been received. In ^{N}^{×}^{M}^{0} is a matrix acquired from Singular Value Decomposition of

It is straightforward that in order to maximize the information retrieved in round _{0} + 1 _{M}_{0 + 1} should be obtained by solving the following optimization problem:

It should be noted that, _{M}_{0 + 1} obtained using the above algorithm is always dense, which means it is not energy efficient. Another problem is that this new derived projection vector does not have a routing structure embedded.

Firstly, we give out some assumptions for the WSN. All sensor nodes are static, and the network is fully connected. The sink knows the neighboring context of each node. As nodes are densely deployed, data from neighboring nodes is highly correlated.

Secondly, we present the constraints an optimal projection vector _{M}_{0 + 1}should meet: (1) The vector should be sparse. (2) Nodes selected in the vector can form a complete routing structure to sink. (3) For all vectors with the same number of nodes selected, the vector constructed by the proposed algorithm can retrieve the maximum information. (4) To meet energy conservation constraint, _{M}_{0 + 1} should be normalized:

Since the problem described by (1), (3), (4) is NP-hard [_{0} + 1)-th collection round. A proper metric should be defined for node selection. Constraint (2) is supplementary to the first one. When the vector obtained in the first step cannot form a complete routing structure, we need to add the least supplementary nodes to complete it. For condition (3), it is equivalent to determine the optimal projection coefficients for each selected nodes. This can be solved through maximizing the differential entropy of signal

Given a certain number of initial observed samples, in order to determine which nodes need to be harvested the most, we define two metrics from different points of view.

Under the Bayesian compressive sensing framework, one can get the differential entropy of the underlying signal _{th}

In compressive sensing theory, transform matrix

Define (node's total coefficients energy): Given a projection matrix Φ = _{1}, _{2} ⋯ _{N}, we define the total coefficients energy of node

Total coefficients energy _{i}

It should be noted that, most projection matrices currently proposed meet the attributes we presented here,

Gaussian random matrix: every element in the matrix follows Gaussian distribution with zero mean and 1/

Rademancher matrix: elements of the matrix are selected randomly from set {+1, −1}.

Partial Fourier matrix: randomly select

Cyclic matrix: each row of the matrix is a different arrange of a same set.

As stated in the previous subsection, the target nodes selected can't guarantee formulation of a complete routing structure, therefore, some supplementary nodes are needed. These nodes can be used in two styles. One is to use them as routing nodes, and no data is collected from them. The other is to use them both as routing nodes and data collection nodes.

Traditional data collection schemes usually adopt the first style, as adding data collection nodes will increase the transmission packet size, and consume more energy. But in compressive sensing, in one collection round, all data will be projected into a fixed length buffer regardless of the amount of sensors, which means collecting data from routing nodes will not distinctly increase the power consumption. Moreover, there is tangible benefit for this style as it can increase the information collected and decrease the coherency between projection vectors. Therefore, we adopt the second style.

Next, let's discuss how to arrange the selected nodes to form a complete routing structure. In one data collection round, the sink needs to send out packets containing projection coefficients to selected nodes; then the corresponding node will project its data to the projection field of the packet; finally this packet will be routed back to sink. There are several routing structures to complete this procedure, shown in

In

To improve this, the structure shown in

To shorten the time spent for one collection round, the structure shown in

However, how to build an efficient routing structure containing rings shown in

Consequently, the problem of building multi-ring routing structures is transformed into building two multicast trees. There are many classic algorithms to build multicast trees, for example [

Formal Description of the Problem (Node Disjoint Double Multicast Trees, NDDMT)

Given a graph _{i}_{1} _{2}, (_{1} ∈ _{2} ∈

Define _{i}_{i}

Define _{i,j}_{i}

Define _{i}_{i}_{i}_{i}

Then, the optimization problem can be expressed as:

The object function means to find two trees with least nodes on them. Condition 1 means each node in set

_{1} to cover all the nodes in _{1}. Then, we build the uplink tree _{2} to cover the leaf nodes of _{1}, which is denoted as problem _{2}. Since both problem _{1} and _{2} are standard Steiner tree problems [

Algorithm to Build NDDMT

Since the NDDMT problem is NP-hard, we design a two steps heuristic algorithm to solve this problem.

Firstly, in graph _{1} rooted at the sink to cover all target nodes. Secondly, in graph _{2} which can cover all leaf nodes on _{1}, where _{1}. The optimization object for each tree is to minimize the number of nodes on it. Since the nodes on tree _{1} is excluded when building tree _{2}, the two trees are node disjoint. As sensor nodes are always densely deployed and the target nodes set _{1}, the nodes in _{2}. If some nodes in the graph are unconnected when building tree _{2}, we can reuse nodes in tree _{1} to ensure the success of the building process.

The Steiner tree building problem is to let nodes on the tree share their path as much as possible, so as to minimize energy cost. There are many classic Steiner tree building algorithms, such as MPH [

Uplink tree (_{1}) building algorithm:

Let _{1,}_{t}_{1,}_{t}_{1,}_{t}_{1,}_{t}_{1} till step

_{1} and its cost _{1}.

Initially, _{1,0} = {_{1,0}_{1,0} =

At step _{i}_{1,}_{t}_{i}_{1,}_{t}_{i}_{1,}_{t}_{1,}_{t}_{i}

Based on their distance to
_{1,}_{t}_{i}_{i}

Choose the node _{i}_{1,}_{t}_{i}_{i}_{1,}_{t}

Let _{1,}_{t}_{1,}_{t}_{i}

Building the algorithm for tree _{2} is similar to _{1}. It is omitted here due to space limitations.

First, calculate the shortest path from each target node to every other node in advance. The complexity for this step is ^{2}. In the process of multicast tree building, each iteration will try to add one target node to the tree; computational complexity for each iteration is ^{2}). In total there are ^{3}). In conclusion, the computational complexity for double multicast trees building is ^{2} + ^{3}).

Assume the wireless channel is ideal. From the previous subsection, we are informed that in compressive sensing, one routing structure will be maintained only during one collection round, and there is no distinct downstream or upstream relationship between nodes on a path. Therefore, the routing problem here is different from that in a classic WSN. To solve this problem, a new data packet structure is required.

As is shown in _{i}_{i}_{i}_{i}_{i}_{i}_{i}

Next, _{i}

Once the nodes for one collection round are determined, we need to compute the projection coefficients for them. _{M}_{0 + 1} has only small part of elements with non-zero value. To obtain _{M}_{0 + 1}, first delete the rows and columns in ^{T}^{T}^{T}^{T} corresponding to the position of unselected nodes; then use the shrunk matrix pencil to determine the non-zero elements in _{M}_{0 + 1}.

Assume nodes are uniformly distributed. The sink is located at the center of the area. The normalized communication radius of each node is _{c}, _{c} = 1.5. Assume the communication media is ideal, with no channel noise or access collision. To evaluate the proposed algorithm, three related algorithms are selected as reference, including adaptive CS [

In the simulation, the maximum length of observation vector _{0}; (2) adaptive observation vector with length _{0}. The initial observation vector is used as the basis for the adaptive collection stage. For adaptive BCS, the initial projection matrix is generated at the sink before collection, and then transmitted to all sensor nodes using a traditional routing mechanism. During the adaptive collection process, for each collection round, the sink determines a projection coefficient for each node and sends it out using the same routing path. For CS-RW, the probability to choose a node is fixed at 0.5.

Data used in simulation is generated using a computer. The model for data generation only assumes the data is compressible, while its sparse structure is unknown [_{i,j}_{i,j}_{=} _{e}^{−}^{βdi,j}_{0} ∈ ^{N}_{s}

Assume the original data vector is _{i}_{i}

Energy cost is a key metric for wireless sensor networks. In the simulation, only the energy used in data transmission is counted, and the energy used for sensing and computation is not included. Energy consumed by the sink is not included either. Assume the transmission power is fixed, then the energy cost of a node is proportional to the number of bytes it sent.

For compressive sensing, a node only needs to perform one multiplication and one addition operation in one projection round; therefore, the computational complexity for a node is negligible. However, the computation complexity for the sink, which includes three parts: BCS reconstruction, projection route building and projection vector computation, is much higher. In the simulation, the time elapsed in one simulation is used as metric to evaluate an algorithm's computational complexity. The simulation performed on a PC equipped with an Intel E2200 dual core processor.

From

It can be found from

This is due to the fact adaptive BCS adds a random disturbance noise to improve the performance, which leads to a dense projection matrix. Meanwhile the projection vector built by the proposed algorithm has the majority part of elements in the projection vector as zeros, and can save 50% energy cost compared to adaptive BCS. As shown in the figure, adaptive CS consumes the minimum energy among all the algorithms, since it only collects information from one node in most collection rounds. The proposed algorithm consumes 8% more energy than adaptive CS, while the improves reconstruction performance by 6%.

Since CS-RW does not use the adaptive mechanism and only needs to perform one reconstruction procedure, its simulation time is the lowest among the four algorithms. Adaptive BCS performs one reconstruction for each collection round, so its simulation time increases dramatically compared to BCS, while the adaptive CS, in addition to performing the reconstruction for each collection round, should calculate routing and projection vectors, so its simulation time increases dramatically with the number of nodes. From

From _{0}.

This is due to the fact that if the total round of observations is fixed, increasing initial observations length will decrease the number of adaptive collection rounds, therefore, the performance will be degraded. It also can be found that the reconstruction error of adaptive CS will reduce with the increase of the initial observation length. This is also due to the reason explained previously. Adaptive CS tends to choose only one node in sink's one hop neighbors to collect information, therefore, the more rounds of adaptive collection performed, less information will be collected.

In this paper, two target nodes selection metric are proposed. Here we compare their performance. It can be found from

It can be found that with the increase of target nodes, there is some degree of decrease in reconstruction error. However, the communication cost increases rapidly too. From the figure we can find that, when target nodes increase from 2 to 10, communication costs increase by 12%, while the reconstruction error only decreases 0.6%. Therefore, a proper number of target nodes should be selected. In the simulations, this number is fixed at four.

From

In this paper, a new adaptive data collection algorithm based on a Bayesian compressive sensing framework is proposed. Since the problem of finding the optimum projection vector with routing structure embedded is NP-hard, we propose a heuristic algorithm with three steps, including target nodes selection, routing structure building and projection coefficients computation. Firstly, by defining two metrics, named principle component of eigenvector and node's total coefficients power, the sub-problem of target nodes selection is solved. Secondly, we transform the problem of routing structure building to the problem of building double node disjoint broadcast trees. Finally, utilizing the theory of maximizing the differential entropy, the optimum coefficient for each selected node is obtained. Simulation results show that, compared with the reference algorithms, the proposed algorithm has better reconstruction performance with lower communication cost. Future research will study the problem of adaptive compressive sensing in a lossy communication medium and to parallelize the reconstruction process in a multi-core processor platform.

This work is partially supported by the National Natural Science Foundation of China (No.61370111 and No.61103113) and Beijing Municipal Education Commission General Program (KM201310009004).

The authors declare no conflict of interest.

Relationship between routing and projection matrix: (

Explanation of node 2's total coefficients energy.

Linear structure.

Single-ring structure.

Tree structure.

Multi-ring structure.

Packet structure.

An example of the routing structure.

Reconstruction error

Communication cost

Computation complexity

Reconstruction error

Reconstruction error for different node selection metrics.

Energy cost

Reconstruction error

Impact of noise power.

Routing & coefficients table of

s | 1 | 7 | N.A. |

1 | 2,6 | s | r1 |

2 | 3,4,5 | 1 | r2 |

3 | 9 | 2 | r3 |

4 | 9 | 2 | r4 |

5 | 9 | 2 | r5 |

6 | 7 | 1 | r6 |

7 | s | 6,8 | r7 |

8 | 7 | 9 | r8 |

9 | 8 | 3,4,5 | r9 |