- Research
- Open Access
- Published:

# QoS-aware multihop routing in wireless sensor networks with power control using demodulation-and-forward protocol

*EURASIP Journal on Wireless Communications and Networking*
**volume 2012**, Article number: 125 (2012)

## Abstract

In this article, we propose a low-complexity joint power allocation and route planning algorithm for multiple antennas wireless sensor networks using dynamic programming. The sensor nodes utilize orthogonal space time block codes with demodulation-and-forward protocol. Unlike the previous work which typically optimize all the parameters, we cast this Quality-of-Service aware packet forwarding problem into two disjoint procedures: dynamic programming based route planning and subsequent adaptive power allocation. Simulation results indicate that the proposed protocol obtains comparative performance with the optimal results and significantly outperforms classical routing algorithms.

## 1. Introduction

Wireless sensor networks (WSN) have been widely applied for many applications, e.g., monitoring or surveillant purposes. Extensive research work can be found in this area [1–10]. In [2–6], the multiple-input multiple-output (MIMO) techniques was deployed to increase the transmission rate. Various algorithms to optimize the resources and route planning can be found in [7–10]. Recently, orthogonal space-time block codes (OSTBC) [11] was used to improve the robustness by additional spatial and temporal diversities in severe fading environment [12, 13]. A survey of energy constraints for sensor networks is given in [14]. A data routing algorithm has been proposed to maximize the minimum lifetime over all nodes in WSN In [15]. The work in [16] has considered provisioning additional energy on existing nodes and deploying relays to extend the lifetime. However, there is little work how to develop low-complexity algorithm in order to improve the Quality-of-Service (QoS) with limited powers.

Wireless sensor networks are usually deployed to collect, and transmit data from the source to the data center for further analysis, and thus, frame error rate (FER) (the error probability of decoding of a frame at the destination node) is a crucial parameter to reflect the QoS in the WSN. In this case, FER should be minimized to guarantee sufficient good QoS given a power consumption constraint. networks. Therefore, it is important to adaptively assign transmission power to individual sensor node of WSN in a decentralized way for better FER. In other words, it is necessary to find out how much energy is required to support a specific FER value, and how to effectively regulate the power usage of the whole sensor nodes. We hence in this article investigate the cross layer optimization problems on power allocation and route planning to improve the QoS of WSN subject to the power consumption constraint by using OSTBC. The main objective is to devise a routing protocol, adaptively allocate the transmission power, and minimize the FER satisfying the total power constraint.

Specifically, we solve this energy and QoS aware packet forwarding problem with the help of dynamic programming [17]. State space partition technique and state aggregation approximation architecture are used to give a near-optimal solution [12]. In [13, 12], the authors considered the routing planning and adaptive power allocation using dynamic programming, but the complexity is prohibitive. Although dynamic programming is efficient for the joint optimization problem, it still jointly considers two parameters (transmission distance search and power allocation) at the same time. To reduce complexity, a linear protocol is given by searching the route first by dynamic programming with an equal transmission power at each hop, and then reallocating power to each node later with the same energy constraint to minimize the FER. As a result, the dynamic programming based method only has one parameter to optimize. Specifically, the proposed method decreases the computation complexity to *O*(*n*), while the joint optimization algorithm requires a degree of *O*(*n*^{2}).

The rest of the article is organized as follows: In Section 2, we present the system and energy consumption models. The optimal routing protocol is described in Section 3. Reduced-complexity (RC) algorithm is presented in Section 4. Simulation results are provided in Section 5. In Section 6, we draw the main conclusions.

*Notation:* Boldface upper-case letters denote matrices, boldface lower-case letters denote vectors, ℂ^{i×j}and ℝ^{i×j}denote the set of *i* × *j* complex and real matrices, respectively, (·)^{T}stands for transpose, * denotes discrete-time convolution, (·)* denotes complex conjugate, (·)^{H}represents conjugate transpose, is used for expectation, var is used for variance, and ∥**x**∥^{2} = **x**^{H}**x**.

## 2. System model

In this article, we consider a cluster-based WSN, where sensor nodes are organized into several clusters. Every cluster consists of multiple sensor nodes with one common cluster head. Each sensor node is equipped with *N* isotropic antennas. At the *k*-th hop, the node transmits *per symbol* with power either *p*_{
k
}or 0. We assume sufficiently separated nodes such that any mutual coupling effects among the antennas of different nodes can be ignored. For simplicity, we assume slow and flat Rayleigh fading between each node, and there is no multipath fading or shadowing.

The transmit symbol vector of size *K* × 1 is denoted **s** = [*s*_{1}, ..., *s*_{
K
}]^{T}, where ${s}_{i}\in \mathcal{A}$, where represents a signal constellation set. *M*-PSK constellation is adopted in this article, and $E\left[{\left|{x}_{i}\right|}^{2}\right]={p}_{k}$. The vector **s** is transmitted by means of a given OSTBC matrix **C**(**x**) of size *B* × *N*, where *B* and *N* are the space and time dimension of the OSTBC, respectively. If bits are used as inputs to the system, *K* log_{2} *M* bits are used to produce the vector **s**. In [11], the following holds: **C**(**s**)**C**(**s**)^{H}= *βK* **I**_{
B
}, where *β* = 1 if $\mathbf{C}\left(\mathbf{x}\right)={\mathcal{G}}_{2}^{T}$, $\mathbf{C}\left(\mathbf{s}\right)={\mathscr{H}}_{3}^{T}$ or $\mathbf{C}\left(\mathbf{s}\right)={\mathscr{H}}_{4}^{T}$ when *β* = 2. The transmission rate is *K*/*N*, and the **C**(**s**) is sent over the MIMO channel **H** of site *N* × *B*.

At the *k*-th hop, the *N* × *N* receive block signal **Y** can be expressed as

where *d*_{
k
}represents the communication distance between the (*k* - 1)-th hop and the *k*-th hop, *α* denotes the path loss component, and the additive block noise **N** is complex Gaussian circularly distributed with independent components having variance *N*_{
o
}and zero mean. By generalizing the approach given in [11, 12], the OSTBC system can be shown to be equivalent to a SISO system with the following input output relationship

where *i* ∈ {1, ..., *K*}, *φ* ≜ ∥**H**∥^{2}, and ${v}_{i}~\mathcal{C}\mathcal{N}\left(0,{N}_{o}/\beta \right)$. It can be seen that the receive signal to noise ratio (SNR) *γ*_{
k
}*per symbol* for a particular realization of the fading is given by ${\gamma}_{k}\triangleq \frac{{p}_{k}{\beta}_{\phi}}{{d}_{k}^{2\alpha}{N}_{o}}$. At the *k*-th hop, for a given *γ*_{
k
}, the corresponding symbol error rate (SER) is determined by [18]

where ${g}_{\mathsf{\text{psk}}}\triangleq {\text{sin}}^{2}\frac{\pi}{M}$.

The expression in (3) only holds for a given *γ*, and with the use of the moment generating function (MGF), Next, the SER can be obtained by averaging (3) over the channel as follows [18]

The successful transmission rate (STR) *per symbol* is calculated as

The STR *per package* is determined by

where κ represents the length of one package and index *i* denotes the *i*-th symbol. Hence, the FER can be readily computed as

Note that from the analysis in (4), it can be seen that the average SER only depends on the distance between each node. In addition, the transmission of symbol blocks in a package is independent, and thus, the SER and STR of each symbol does not rely on its previous or successive transmissions. Hence, the SER per symbol can be used equivalently to guarantee the required QoS, and FER can be reduced to SER *per symbol*. For simplicity, the time index *i* is ignored in the following analysis.

In each hop, *demodulation and forward* protocol is utilized, where no matter if the decoded signals are right or not, they will be forwarded to the next hop. The benefit of this method is to avoid the energy consumption as well as time delay by performing CRC check and subsequent retransmissions. As a result, the final SER at the sink can be written as

where *U* represents the total number of hops.

Energy consumption model for wireless sensor nodes has been extensively discussed in many previous studies. The representative model to evaluate routing energy consumption *per symbol* at the *k*-th hop can be written as [19]

where the first term *p*_{
k
}is the transmission energy and the constant *c* denotes the energy consumption inside the node. The total consumed energy can be calculated as

As shown in (4), the average SER can be written as a function of *p*_{
k
}*= e*_{
k
}- *c* and *d*_{
k
}. The SER at the sink can be calculated by

To further reduce the complexity in (11), we can turn to calculate

where ${\mathsf{\text{SER}}}_{k}^{\prime}\left({p}_{k},{d}_{k}\right)\triangleq \text{log}\left(\mathsf{\text{SE}}{\mathsf{\text{R}}}_{k}\left({p}_{k},{d}_{k}\right)\right)$, and thus, finding the minimum value of (11) is equivalent to minimizing (12).

## 3. Joint route planning and power control using dynamic programming

In this section, we first formulate the problem and then provide a detailed solution by dynamic programming.

### 3.1. Problem formulation

In traditional routing algorithms, most efforts have been taken to alleviate the impact of the path loss [19, 20]. The problem to be addressed in this paper can be summed up as how far away the next-hop node should be. However, as energy and QoS aware packet forwarding are concerned, decisions should take into account both transmission distance and FER, i.e., the QoS issue. Meanwhile, both the power allocation and the route plan can be done jointly in the frame work of dynamic programming, hop by hop in the packet forwarding process. The introduced forwarding protocol can be performed in a distributed fashion, because a distributed protocol is scalable and easily implementable in practice, and every sensor has to make forwarding decisions based on its limited localized knowledge without the usage of end-to-end feedback. Hence, by prediction technique, such as dynamic programming, to estimate energy consumption is straightforward. Here, we assume that every node has its position information, which can be easily obtained by small-sized, low power, low cost GPS receivers and position estimation techniques based on signal strength measurements. In addition, we assume that sensor nodes are deployed uniformly in the plane region. The data center (i.e., the destination node in the network) is fully aware of both the node density and the region size.

### 3.2. Solution

A WSN can be modeled using an undirected graph *G*(*W, L*), where *W* and *L* represent the set of all nodes and the set of all directed links, respectively. ∀*w*_{
i
}, *w*_{
j
}∈ *L* if and only if *v*_{
j
}∈ *A*(*w*_{
i
}), which represents neighboring region of *w*_{
i
}that are directly reachable by *w*_{
i
}with a transmitting power level within its dynamic range. For a *U*-hops path {*w*_{0}, ..., *w*_{
k
}, ..., *w*_{U- 1}}, where *w*_{0} and *w*_{U-1}denote the source and destination nodes, respectively. The final SER can be expressed as ${\sum}_{k=0}^{U-1}{\mathsf{\text{SER}}}_{k}^{\prime}\left({p}_{k},{l}_{k}\right)$, where *p*_{
k
}represents the transmission power allocated to the *k*-th node and *l*_{
k
}= |(*w*_{
k
}, *w*_{k+1})| denotes the distance of the link (*w*_{
k
}, *w*_{k+1}). Note that the total power constraint is *p*_{
k
}+ *c*. We now cast the packet forwarding problem into the framework of dynamic programming [17], which contains the following five ingredients [12].

#### 3.2.1. Stage

The process of packet forwarding can be naturally divided into a set of stages by hops on the path. Stages are indexed by positive integers (*i* = 1, 2, ...).

#### 3.2.2. State

At every stage *i*, the state *s*_{
i
}= (*w*_{
i
}, *e*_{
i
}) consists of two components: the position of current node *w*_{
i
}, and the remaining power *e*_{
i
}. Thus, the state space is a multi-dimensional continuous space *S* = *A* × [*e*_{min}, *e*_{max}], where *A* represents the region that nodes are deployed, and *e*_{min} and *e*_{max} represent the minimum and maximum end-to-end power consumption thresholds, respectively. An alternative forms of state can be expressed by *s*_{
i
}= (*d*_{
i
}, *e*_{
i
}), where *d*_{
i
}denotes the distance from *w*_{
i
}to the destination. Correspondingly, the state space is a two-dimensional continuous space represented by *S* = [0, *D*]×[*e*_{min}, *e*_{max}], where *D* denote the farthest distance from the sensor node to the data center.

#### 3.2.3. Decision

As we have mentioned earlier, a decision should sort out two problems: how far away the next-hop node, and how much power should be allocated in order to forward the packet. Hence, we can define the decision at stage *i* as ${q}_{i}=\left({\u0175}_{i+1},{e}_{i+1}\right)$, where ${\u0175}_{i+1}$ represents the target position of *w*_{i+1}(there may be no sensor at this position). Note that ${\u0175}_{i+1}$ and *e*_{i+1}provide answers to the questions we give forward. The decision space is a multi-dimensional continuous space *G* = *A* × [*e*_{min}, *e*_{max}], while its subset at state *s*_{
i
}*=* (*w*_{
i
}, *e*_{
i
}) is *G*(*s*_{
i
}) = *A*(*w*_{
i
}) × [*e*_{min},*e*_{
i
}]. Since the target position ${\u0175}_{i+1}$ always appears on the line connecting *w*_{
i
}and the destination, a single variable *l*_{
i
}= |(*w*_{
i
}, *w*_{i+ 1})| denoting the target advancement at state *s*_{
i
}is enough to represent the position of *w*_{i+1}. Thus, a decision could be alternatively described in term *g*_{
i
}= (*l*_{
i
}, *e*_{
i
}). With this definition, the decision space is a two-dimensional continuous space *G* = [0, *D*_{max}]×[*e*_{min}, *e*_{max}], where *D*_{max} is the maximum transmission radius of nodes. Both terms of decisions will be used in the later discussion.

It is notable that the decision we define above might not reflect the exact position of the relay node *w*_{i+1}. It just describes the ideal position ${\u0175}_{i+1}$. Therefore, one additional procedure called *relay-selecting* algorithm should be carried out to find out the exact relay node. This procedure works in this way: Given an optimal position ${\u0175}_{i+1}$, the node within the region of *A*(*w*_{
i
}) and being the nearest to ${\u0175}_{i+1}$ will be selected as *w*_{i+1}. Node *w*_{
i
}will be chosen to forward the packet to *w*_{i+ 1}within consumed power *e*_{
i
}.

#### 3.2.4. Policy

A policy *g* : *S* → *G* represents a mapping method from state space to decision space. The decision according to state *s*_{
i
}can then be written as *g*_{
i
}= *g*_{
i
}(*s*_{
i
}), where *g*_{
i
}is the policy at state *s*_{
i
}. A policy is said to be stationary, if the mapping does not change with stages, i.e., ∀*i, g*_{
i
}= *g*. That is, once the input state is given, the output decision would be determined whatever stage it is at. Here, we consider only stationary policies as candidates and the feasible stationary policy space is represented by $\mathcal{P}\left(X\right)$.

#### 3.2.5. Value function

Value function (or *cost-to-go* function) plays an important role in the framework of dynamic programming based algorithm. Usually, a value function *J* : *S* → ℝ is a mapping from the state space to the set of real values. The value function *J*_{
g
}(*s*) we define here can be interpreted as the average end to end SER with respect to the initial state *s*_{
x
}and the stationary policy *g*, which is given by

where ${\mathsf{\text{SER}}}_{k}^{\prime}\left({s}_{k},g\left({s}_{k}\right),{\epsilon}_{k}|{s}_{0}={s}_{x}\right)$ is the SER from state *s*_{
i
}to *s*_{k+1}and *ϵ*_{
k
}represents the derivation between the actual position *w*_{
k
}and the ideal position ${\u0175}_{i}$. Given *g*(*s*_{
k
}) and *ϵ*_{
k
}, the state *s*_{k+1}can be determined. Hence, we may use SER'(*s*_{
x
}, *s*_{
y
}) to represent the SER from state *s*_{
x
}to state *s*_{
y
}in the later discussions.

An iteration form of (13) is [12]

where *f*_{
g
}(*·, ·*) is the state transition probability density function (PDF) with policy *g*, and *φ*_{
g
}(*s*_{
x
}) = *∫*_{
G
}SER'(*s*_{
x
}, *s*_{
y
})*f*_{
g
}(*s*_{
x
}, *s*_{
y
})*ds*_{
y
}is the average one-hop SER with policy *g* given the current state *s*_{
x
}.

Actually, (14) is the standard result in dynamic programming problems. The objective is to find out the optimal policy. A policy *g**. is called optimal if $\forall s,\phantom{\rule{2.77695pt}{0ex}}{J}_{{g}^{*}}\left(s\right)\le {J}_{g}\left(s\right)$ for every other policy *g*. We use *J**(·) to denote the value function under the optimal policy. In principle, the optimal policy can be obtained by solving the Bellman's equation [17]

Once the optimal value function *J** are available, the optimal forwarding policy is given by

We notice that the optimal policy consists of a series of optimal decisions which are made at each state *s*_{
x
}to maximize the right-hand side of (16).

## 4. Reduced-complexity optimization adaptive routing algorithm

The dynamic programming in Section 3 simultaneously updates two parameters *e*_{
k
}and *d*_{
k
}, which requires a complexity of *O*(*N*^{2}). In this section, we aim to reduce the complexity to *O*(*N*) by considering the route planing and the the transmission power allocation separately, and meanwhile preserving the end-to-end performance. The basic ideas are to find out the route with an equal transmission power allocation at each hop, and then reallocate the transmission power at the pre-determined route. This reduced complexity algorithm may be realized in the following three steps:

### 4.1. Estimate the number of hops

Before performing dynamic programming, it is necessary to estimate the number of hops. As shown in (4) and (12), the SER performance gets worse when *d*_{
k
}increases because of the pass loss effect, and thus, the optimal route is the one that straightly connects the source and the destination. Typically, the more number of hops, the better SER can be achieved since the pass loss can be greatly reduced. Suppose *U'* represents the estimated number of hops, *D* denotes the optimal end-to-end distance, and *e*_{max} is the total transmission transmission power. Let *e*_{
k
}= *e*_{max}/*U'* and it is easy to prove maximum end-to-end SER can be obtained when *l*_{
k
}= *L*/*U'* (*k* = 1, ..., *U'*), where *l*_{
k
}represents the ideal distance to the next hop. The actual next hop distance is calculated as [12]

The average actual distance is given by

Note that if *l*_{
k
}is large, it yeilds

while the value of *l*_{
k
}is small, the integral range for *r* should be chosen to satisfy

where *r*_{
o
}≫ *l*_{
k
}.

As a result, when the number of hops increases, in practice it selects a much longer and zigzag route from the source to the destination, and thus, the final SER performance is decreased. Hence, there exists a tradeoff between the SER performance and *U'* and STR by using equal power distribution given *e*_{max} and *L*. The SER can be written as

where *p*_{
k
}= *e*_{max}/*U'* - *c*.

Finally, the number of hops can be estimated by

### 4.2. Determine the route by dynamic programming

We can set up a finite-horizon dynamic programming problem, and then compute the ideal advancement at each hop, say *e*_{max}/*U*_{
k
}. Note that *e*_{
k
}= *e*_{max}/*U*. Let *L*_{
k
}denote the remaining distance before the *k*-th hop, and ${l}_{k}^{\prime}$ is the actual distance at the *k*-th hop.

The same "backward" method can be used to solve the above problem and obtain ${\stackrel{\u0303}{d}}_{k}$. Note that ${\stackrel{\u0303}{d}}_{k}$ is just ideal advancement, but not the actual hop distance *l*_{
k
}. The source node sends the first packet to the destination with average power *e*_{max}/*U* at each hop. The destination feedbacks to inform the source node the actual route and then the source is aware of *l*_{
k
}. In this case, the routing problem is reduced to determine how far away the next hop will be *l*_{
k
}(*k* = 1, ..., *U*).

### 4.3. Power allocation along the pre-determined route

The purpose is to reallocate the transmission power to minimize the SER subject to the same total energy constraint (for brevity, we drop *p*_{
k
}and ${l}_{k}^{\prime}$):

Before deriving the optimal solution for the problem given in (24), the following theorem is presented.

**Theorem 1**. The optimal power allocation strategy *p*_{1}, ..., *p*_{
k
}in the optimization problem stated in (24) is unique.

*Proof:* The power constraints in (24) are linear functions of the power allocating pa rameters, and thus, they are convex functions. It is clear that the SER function in (4) is a convex function with respect to *p*_{
k
}, and thus, the corresponding ${\mathsf{\text{SER}}}_{k}^{\prime}$ in (12) is also convex as 0 ≤ SER_{
k
}≤ 1. Since the sum of a series of convex functions is also convex, which is sufficient to show that the objective function in (24) is convex, and therefore, has unique solutions.

The power allocation is to find *p*_{
k
}such that the SER in (24) is maximized subject to the power constraint by solving the following optimization problem

where λ is a positive Lagrange multiplier. The necessary condition for optimality can be obtained by finding the derivatives of (25) with respect to *p*_{
k
}. For nodes *k* = 1, ..., *U* with nonzero transmit powers, we can get

where

Using (26) and (27), the optimal power at each hop can be calculated by using the gradient descent optimization methods

where *p*_{
k
}(*i*) and λ(*i*) represent the transmission power and Lagrangian multiplier at the *i*-th iteration, and *μ* stands for the positive step size. Using the power constraint, λ(*i*) can be obtained by the following equation

The power allocation schemes can be easily solved with initializing some positive values for *p*_{
k
}(*k* = 1, ..., *U*) and using (28) in an iterative manner. By Theorem 1, it is obvious that the mentioned approach results in optimal power allocation at a given route. It is also important to show that *p*_{
k
}values in (28) are always positive. To prove this, it is sufficient to show that *μ >* 0 and $\frac{\partial L\left({p}_{1},\dots ,{p}_{U}\right)}{\partial {p}_{k}}<0$. This algorithm is guaranteed to converge at least to a local maximum, since at the each step the objective function is decreased and is bounded below by zero. Note that the cluster based power allocation is performed after the routing has been finalized. While the optimal solution is to combine the route planing and the power allocation together, the method in (24) significantly reduces the computation complexity.

## 5. Simulation results

This section evaluates the proposed packet forwarding protocol by simulation. In the simulation, we consider a square field with area 100 × 100 m^{2}. Sensor nodes are uniformly located at random in the region. The node density is 0.1/m^{2}. Wireless bandwidth is supposed to be 1 MHz. Packet size is chosen to be 1 kbs. Parameters in the energy model are set as follows: path loss *α* = 3. The state space partition scheme uses parameters *X*_{
d
}= 50 and *Y*_{
e
}= 100.

The first result is about the value function approximating solution. The value function computed by using the RC method is plotted in Figure 1. For contrast, actual value function (i.e., the average energy consumption with respect to all states) obtained through simulation experiment is also presented in Figure 2. Two figures coincide very well. This demonstrates the correctness of our theoretical analysis and derivation. The optimal value function can provide a precise prediction of the actual energy consumption in the networks.

Figure 3 examines the SER performance in term of the source-to-end distance. It can be also observed that the proposed routing protocols by using DP and the RC algorithm outperform SP-power [19] and PARO algorithms [20]. Due to the pass loss effects, the SER values decreases when distance increases. At big distance values, it shows that the proposed protocol obtains much better performance. We can explain this as the following: our protocol takes into account the transmission power setting when making forwarding decision. Actually, by doing so, we add one more degree of freedom (i.e., the energy dimension) into the original routing problem. While traditional routing algorithms consider only the spatial dimension, our protocol exploits both energy and spatial dimensions. Thus, it has underly advantage over the traditional algorithms, which becomes much remarkable as the source-to-end distance increases. From Figure 3, it also shows that the optimal routing selection performs better than the RC, but the later is much simpler.

## 6. Conclusions

In this article, we have studied the joint optimization problem of channel coding, resource allocation, and route planning for WSN using demodulation-and-forward protocol at each relay node. The objective function is to find out the packet forwarding route with minimum FER subject to the end-to-end energy consumption constraint. Specifically, we cast this energy and QoS aware packet forwarding problem into the framework of dynamic programming. Then, a low-complexity, suboptimal approach is provided by performing the the route planing and power allocation separately. Simulation experiments are carried out to evaluate the performance of the proposed forwarding protocol. The results indicate that our protocol significantly outperforms classical routing algorithms, and can achieve comparable performance with the optimal method.

## References

- 1.
Akyildiz IF, Su W, Sankarasubramaniam Y, Cayirci E: A survey on sensor networks.

*IEEE Commun Mag*2002, 40(8):102-114. - 2.
Foschini GJ, Gans MJ: On limits of wireless communications in a fading environment when using multiple antennas.

*Wirel Personal Commun*1998, 6: 311-335. - 3.
Xiao L, Xiao M: A new energy-efficient MIMO-sensor network architecture MSENMA. In

*Vehicular Technology Conference 2004 Fall*. Los Angeles, USA; 2004. - 4.
Wang R, Tao M: Joint source and relay precoding design for MIMO two-way relaying based on MSE criteria.

*IEEE Trans Signal Process*2011, 6(3):1352-1365. - 5.
Cui S, Goldsmith A: Energy-efficiency of MIMO and cooperative MIMO techniques in sensor networks.

*IEEE J Sel Areas Commun*2004, 22(6):1089-1098. - 6.
Liu Y, Tao M: Optimal channel and relay assignment in OFDM-based multi-relay multi-pair two-way communication networks.

*IEEE Trans Commun*2012, 60(2):317-321. - 7.
Chen J, Xu W, He S, Sun Y, Thulasiramanz P, Shen X: Utility-based asynchronous flow control algorithm for wireless sensor networks.

*IEEE J Sel Areas Commun*2010, 28(7):1116-1126. - 8.
Zhang J, Chen J, Sun Y: Transmission power adjustment of wireless sensor networks using fuzzy control algorithm.

*Wirel Commun Mobile Computing (Wiley)*2009, 9(6):805-818. - 9.
Zhang B, Mouftah H: QoS routing for wireless ad hoc networks: problems, algorithms, and protocols.

*IEEE Commun Mag*2005, 43(10):110-107. - 10.
Zhang B, Mouftah H, Zhao Z, Ma J: Localized power-aware alternate routing for wireless ad hoc networks.

*Wirel Commun Mobile Comput*2009, 9(7):882-893. - 11.
Tarokh V, Seshadri N, Calderbank AR: Space-time codes for high data rate wireless communication: performance criterion and code construction.

*IEEE Trans Inf Theory*1998, 44(2):744-765. - 12.
Song L, Zhang Y, Yu R, Yao W: QoS-aware packet forwarding in MIMO sensor networks: a cross-layer approach.

*Wirel Commun Mobile Comput*2010., 10(6): - 13.
Rong Y, Zhang Y, Song L, Yao W: oint Optimization of Power, Packet Forwarding and Reliability in MIMO Wireless Sensor Networks, ACM/Springer Mobile Networks and Applications (MONET). 2010., 16(10):

- 14.
Ephremides A: Energy concerns in wireless networks.

*IEEE Wirel Commun*2002, 9(4):48-59. - 15.
Chang JH, Tassiulas L: Energy conserving routing in wireless ad-hoc networks. In

*Proceedings of the Annual IEEE Conference on Computer Communications, INFOCOM 2000*. Tel-Aviv, Israel; 2000:22-31. - 16.
Hou YT, Shi Y, Sherali HD, Midkiff SF: On energy provisioning and relay node placement for wireless sensor networks.

*IEEE Trans Commun*2005, 4(5):2579-2590. - 17.
Bertsekas DP:

*Dynamic Programming and optimal control*. Athena Scientific, Belmont, MA; 1995. - 18.
Simon MK, Alouini MS:

*Digital Communications over Fading Channels: A Unified Approach to Performance Analysis*. Wiley Series in Telecommunications and Signal Processing, USA; 2001. - 19.
Stojmenovic I, Lin X: Power-aware localized routing in wireless networks.

*IEEE Trans Parallel Dist Syst*2001, 12(11):22-33. - 20.
Gomez J, Campbell AT, Naghshineh M, Bisdikian C: PARO: Conserving transmission power in wireless ad hoc networks. In

*Proc ICNP'01*. Mission Inn, Riverside, CA; 2001:24-34.

## Acknowledgements

This work was partially supported by the National Natural Science Foundation of China under Grant number 61071083.

## Author information

### Affiliations

### Corresponding author

## Additional information

### Competing interests

The authors declare that they have no competing interests.

## Authors’ original submitted files for images

Below are the links to the authors’ original submitted files for images.

## Rights and permissions

**Open Access**
This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (
https://creativecommons.org/licenses/by/2.0
), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

## About this article

### Cite this article

Wu, J., Ren, S., Jiang, Y. *et al.* QoS-aware multihop routing in wireless sensor networks with power control using demodulation-and-forward protocol.
*J Wireless Com Network* **2012, **125 (2012). https://doi.org/10.1186/1687-1499-2012-125

Received:

Accepted:

Published:

### Keywords

- wireless sensor networks
- multiple-input multiple-output
- space time block codes
- dynamic programming
- route planing