Abstract
In wireless body sensor network systems (WB-SNSs), the sensor nodes have very limited battery power because they are tiny, lightweight, and wearable or implantable. As a result, WB-SNSs require a very efficient transmission power control (TPC) algorithm for effectively reducing energy consumption and extending the lifetime of sensor nodes. To achieve this goal, we propose a novel TPC algorithm referred to as hybrid TPC. The hybrid TPC algorithm adaptively selects a conservative or an aggressive control mechanism depending on current channel conditions. The conservative control mechanism, which slowly changes transmission power level (TPL), is suitable in a dynamic environment. On the other hand, the aggressive control mechanism, which rapidly changes TPL, is ideal in a static environment. In order to evaluate the effectiveness of the hybrid TPC algorithm, we implemented various TPC algorithms and compared their performances against the hybrid TPC algorithm in different channel environments. The experimental results showed that the hybrid TPC algorithm outperformed other TPC algorithms in all channel environments.
1. Introduction
Wireless body sensor network systems (WB-SNSs) [1, 2] have numerous challenges and opportunities in a wide range of applications such as vital signs monitoring, blood pressure monitoring, capsule endoscopy, body motion and gestures recognition, and insulin pumps. The sensor nodes of these applications are typically battery-operated and thus efficient energy management is critical in WB-SNSs. In particular, transmission power control (TPC) is a representative technique to extend the lifetime of a sensor node.
A TPC algorithm is used to change dynamically the transmission power level (TPL) depending on the channel conditions of a sensor node. In WB-SNSs, the packet must be delivered efficiently with low energy consumption. However, the channel environments of WB-SNSs vary rapidly owing to diverse characteristics such as body movements and sensor placements [3–5]. Therefore, we must consider these transient variations. Environments of WB-SNSs can be classified into two categories: static and dynamic. A static environment has stable and good channel conditions. In a static environment, there is almost no human movement and/or line-of-sight propagation between a transmitter and a receiver. On the contrary, a dynamic environment has unstable and bad channel conditions owing to frequent human movements and/or non-line-of-sight propagation. In order to design a practical WB-SNS, both of the environments must be considered simultaneously. However, previous studies do not consider all these characteristics.
We know from previous studies that static environments have small-scale signal variations whereas a dynamic environment has wide signal variations. Therefore, a static environment prefers a fast algorithm, whereas a dynamic environment prefers a slower algorithm. From these insights, we design a new TPC algorithm referred to as the hybrid TPC algorithm. The hybrid TPC algorithm adaptively selects either an aggressive control mechanism or a conservative control mechanism depending on the channel conditions. The aggressive control mechanism is fast and suitable in static environments. The conservative control mechanism is slow and suitable in dynamic environments. By adaptively selecting these mechanisms, we can improve the energy efficiency of sensor nodes without lowering the packet delivery rate in all channel environments.
The rest of this paper is organized as follows. Section 2 discusses the previous works related to the TPC algorithm for WB-SNSs. In Section 3, the closed-loop system architecture and preliminary studies for gaining an insight on the hybrid TPC algorithm are presented. In Section 4, we discuss the hybrid TPC algorithm in detail. In Section 5, the experimental design and results are presented. Finally, we summarize the conclusions and future works in Section 6.
2. Related Work
The three representative TPC algorithms in WB-SNSs are linear [6], binary [7], and dynamic TPC algorithms [8]. The linear TPC algorithm [6] changes the TPL linearly step-by-step depending on the previous received signal strength indication (RSSI). The linear TPC algorithm changes the TPL gradually so that it approaches the optimal TPL conservatively. The optimal TPL is the TPL value for which the current RSSI value falls within the target RSSI margin. Because of this conservativeness, the linear TPC algorithm operates more efficiently in a dynamic environment. However, it consumes a large amount of energy in a static environment for approaching the optimal TPL when the current TPL is far from the optimal TPL. If the sensor nodes use only the linear algorithm in a static environment, they may slowly approach the optimal TPL, which results in increased energy consumption. On the other hand, the binary [7] and dynamic [8] TPC algorithms approach the optimal TPL aggressively. The binary TPC algorithm changes the TPL exponentially. If the previous RSSI value is higher than the target RSSI margin, the binary TPC algorithm changes the current TPL at the midpoint between the previous and the minimum TPLs. If the previous RSSI value is lower than the target RSSI margin, the algorithm changes the current TPL at the midpoint between the current and the maximum TPLs. The dynamic TPC algorithm directly determines the optimal TPL on the basis of the straight-line equation. It estimates the optimal TPL using the linear equation made by two previously measured RSSI values. The binary and dynamic TPC algorithms are faster than the linear TPC algorithm at reaching the optimal TPL. However, if the sensor nodes only use the binary or dynamic TPC algorithms in a dynamic environment, they may unnecessarily waste power and may occasionally not deliver data owing to large TPL variation. This is because they may change the TPL largely on the basis of incorrectly estimated channel conditions in a dynamic environment. In particular, the dynamic algorithm wastes more energy than that of the binary algorithm because the dynamic algorithm requires two control packets for estimating the optimal TPL, while one control packet is enough for the binary TPC algorithm. Therefore, we need a new TPC algorithm that is capable of adapting easily to all channel environments and can efficiently limit the energy consumption of the sensor nodes at any time.
Recently, Liang et al. [9] proposed an energy-efficient routing scheme (EERS) for multihop wireless body area networks. This scheme controls the TPL on the basis of the link and path energy-aware expected transmissions (eETX). However, EERS may have an oscillation phenomenon. Kim and Eom [10] proposed a TPC scheme for healthcare applications. They proposed a practical protocol using the received signal strength indication (RSSI) and the link quality indication (LQI). They, however, did not consider radio modules such as CC1000 having a high packet reception rate, which do not support LQI. Moulton et al. [11] proposed an adaptive feedback periodicity in which a sink node transmits feedback packets to a sensor node regarding whether to raise or lower the TPL. However, the performance of their method varies significantly depending on the weight values of the parameters of WB-SNSs. Xiao et al. [12] proposed a TPC algorithm similar to our hybrid TPC algorithm. Their TPC algorithm investigates current channel conditions and calculates the moving average values to choose an optimal TPL. However, their algorithm exhibits significant deviations from experimental results because of the dependence on the moving average parameters. Therefore, it does not promptly control TPL on the basis of a channel environment. Another research based on closed-loop wireless power control was presented in [13]. It, however, did not consider real body sensor system environments. Xu et al. [14] analyzed TPC algorithms in sensor networks and proposed a new sensor platform. However, they did not consider the characteristics of human body environments, such as body movements and sensor placements. Li and Zhang [15] proposed an adaptive TPC algorithm based on neighbor information, and Sadi et al. [16] proposed a framework to reduce the power consumption of sensor nodes. However, they did not consider human body environments in WB-SNSs either. In addition, Li and Zhang only conducted simulations without conducting real sensor experiments. Therefore, in this paper, we propose a hybrid TPC algorithm that can be used in all channel environments. The proposed TPC algorithm adaptively controls the variation range of the current TPL depending on the conditions of the current channel.
In order to know the RSSI characteristics of the wireless body network systems, the radio frequency characterization of the wireless body channel has been studied consistently [17–21]. There have been many attempts to analytically model the radio channel of the wireless body network systems based on the previous radio channel models of general wireless systems such as distance based path-loss model, line-of-sight/non-line-of-sight model, and fading models. However, according to [21], it is very difficult to model the wireless body area network channel by using these traditional modelling approaches. So, we need a totally new radio model which fits well for the wireless body network systems. However, the research for finding it is still a work in progress and there is no common radio model for the wireless body channel until now. Therefore, in this paper, we have only conducted the empirical study for the wireless body radio channel and we leave the work based on the body channel radio model as a future work.
3. System Architecture and Preliminary Studies
Figure 1 illustrates the closed-loop system architecture. The closed-loop system automatically adjusts the transmission power using feedback information. In this system, the sensor nodes send data packets to the sink node. The sink node then sends a control packet to the sensor nodes with feedback information. In the system, first, a sensor node sends a data packet at the maximum TPL to the sink node. Subsequently, the sink node measures the RSSI value of the received data packet. If the measured RSSI value is within the target RSSI margin, the sink node does not calculate the next TPL and does not send a control packet to prevent unnecessary energy consumption. On the contrary, if the RSSI value is not within the target RSSI margin, the sink node calculates the next TPL using a TPC algorithm. It then sends the control packet as feedback information to the sensor node. The feedback information includes the newly calculated TPL information from the sink node. The sensor node updates the current TPL when it receives the control packet with the feedback information from the sink node. Thereafter, the sensor node sends data packets to the sink node at the updated TPL. The system repeats the above sequential procedure during the lifetime of the sensor nodes.

Closed-loop system architecture.
Figure 2 shows the results of preliminary studies to gain an insight on our hybrid TPC algorithm. It shows the number of control packets and total energy consumption of the linear and binary TPC algorithms in static and dynamic environments. In the static environment, the sensor nodes may stay within the target RSSI margin for a long time at the same TPL. Therefore, after the current TPL of the sensor node reaches the optimal TPL from the initial setting or a packet drops, the current TPL is rarely updated and a few control packets are required. The binary TPC algorithm is faster than the linear TPC algorithm because of the exponential TPL variation. Therefore, in the static environment, the binary TPC algorithm requires only few control packets for reaching the optimal TPL, so it consumes lower total energy than the linear TPC algorithm. On the other hand, in a dynamic environment, sensor nodes may not stay within the target RSSI margin for a long time at the same TPL because channel conditions vary frequently. Therefore, the linear TPC algorithm is more suitable than the binary TPC algorithm in a dynamic environment. This is because the linear TPC algorithm adjusts the current TPL linearly around the target RSSI margin, whereas the binary TPC algorithm adjusts the current TPL exponentially farther from the target RSSI margin. Therefore, the linear TPC algorithm needs fewer control packets than the binary TPC algorithm. As a result, in a static environment, the binary TPC algorithm is better than the linear TPC algorithm. In a dynamic environment, the linear TPC algorithm is preferable to the binary TPC algorithm. From these insights, we propose the hybrid TPC algorithm that adaptively adjusts the TPL depending on the current channel conditions.

Total energy consumption and number of control packets of the linear and binary TPC algorithms in static and dynamic environments.
4. Hybrid TPC Algorithm
In general, RSSI values are in proportion to TPL values [22]. However, deviations may occur occasionally, such that a lower TPL has a higher RSSI value. This is because the channel conditions of WB-SNSs vary abruptly owing to unique characteristics such as body movements and sensor placements. Therefore, we must consider these factors to effectively manage energy consumption in WB-SNSs. In order to efficiently deal with the sudden variations in channel conditions, the hybrid TPC algorithm adaptively selects either the aggressive control mechanism or conservative control mechanism. In the conservative control mechanism, the sensor node changes the current TPL linearly. In the aggressive control mechanism, the sensor node changes the current TPL exponentially. In this process, only the RSSI values are considered to determine the current channel condition of WB-SNS so that it is easy to apply for WB-SNSs. Figure 3 shows the concept of the hybrid TPC algorithm. In this figure, the x-axis represents the TPL, and the y-axis represents RSSI. The target RSSI margin is the boundary for maintaining the current TPL, which has an appropriate RSSI value in the current channel condition. The proposed hybrid TPC algorithm considers four TPC scenarios: Cases 1, 2, 3, and 4. Case 1 indicates the behavior of the hybrid TPC algorithm when the previous and current RSSI values are greater than the target RSSI margin. When both of these RSSI values are greater than the target RSSI margin, the sensor node decreases the next TPL to adjust the RSSI value to be within the target RSSI margin. At this time, the hybrid TPC algorithm chooses the aggressive control mechanism to quickly approach the target RSSI margin if the current RSSI value is lower than the previous RSSI value. However, if the current RSSI value is greater than the previous RSSI value although the current TPL is reduced, the hybrid TPC algorithm assumes the current channel condition to be unstable and uses the conservative control mechanism to stably approach the target RSSI margin. Case 2 indicates the behavior of the hybrid TPC algorithm when the current and previous RSSI values are less than the target RSSI margin. In this case, the hybrid TPC algorithm operates contrarily to Case 1. Hence, a sensor node employs the aggressive control mechanism if the current RSSI value is greater than the previous value when the current TPL is increased. It employs the conservative control mechanism if the current RSSI value is less than the previous value even after the current TPL is increased. Case 3 indicates the behavior of the hybrid TPC algorithm when the previous RSSI value is within the target RSSI margin and the current RSSI value is outside the margin. In this case, although the current TPL is not changed, the current RSSI value is varied because the condition of radio channel is altered. Therefore, a sensor node adopts the conservative control mechanism to newly calculate the next TPL. Finally, Case 4 is a special scenario in which the current and previous RSSI values are around the target RSSI margin. In this case, the hybrid TPC algorithm definitely chooses the conservative control mechanism until the current RSSI value is within the target RSSI margin. This operation prevents the oscillation phenomenon that occurs when the RSSI values continually wander around the target RSSI margin.

Four different cases to select either the aggressive or conservative control mechanism in the hybrid TPC algorithm: Case 1 (over target RSSI margin), Case 2 (under target RSSI margin), Case 3 (within target RSSI margin), and Case 4 (across target RSSI margin).
Pseudocode 1 shows the pseudocode of the hybrid TPC algorithm, which includes the four different cases shown in Figure 3. In the pseudocode, the hybrid TPC algorithm first obtains the previous RSSI, previous TPL, current RSSI, and current TPL values as input data. Thereafter, it preferentially checks the value of acrossCheck to determine if the current state is Case 3, namely, whether the previous RSSI was within the target RSSI margin and the current RSSI value is outside the margin. If the acrossCheck value is true, the hybrid TPC algorithm definitely selects the conservative control mechanism to prevent unnecessary energy consumption due to the oscillation phenomenon. If the acrossCheck value is false, the hybrid TPC algorithm investigates if the current state is Case 1 or Case 2 from the measured RSSI and TPL values. In particular, it can check for both Case 1 and Case 2 simultaneously because they show similar patterns. Finally, the hybrid TPC algorithm checks for Case 4 in which the previous and current RSSI values are around the target RSSI margin. If the hybrid TPC algorithm reasons that the current state is Case 4, it sets the acrossCheck value to true. Consequently, the hybrid TPC algorithm does not look for both Case 1 and Case 2 until the RSSI value is within the target RSSI margin. If the current state does not correspond to Cases 1, 2, and 4, the hybrid TPC algorithm chooses the conservative control mechanism for Case 3 as a default TPC scenario.
acrossCheck ← FALSE curTPL ← curTPL + 1 curTPL ← curTPL − 1
acrossCheck← TRUE
curTPL ← curTPL + ((TPLMAX − curTPL)/2) curTPL ← curTPL/2
acrossCheck← TRUE
nextTPL ← 0 acrossCheck← FALSE
(preRSSI < marginMIN acrossCheck← TRUE (curTPL < preTPL
5. Experiments
In the experiments, we consider three different body movements: standing (SD), walking (WK), and running (RN). Further, we consider two different sensor node placements: stomach (SM) and back (BK). The sink node is deployed on the chest, and the experimental area is an indoor environment of size 3.6 × 9.0 m.
Table 1 shows the experimental parameters used to analyze the performance of the TPC algorithms. As shown in the table, the sensor node is a cricket mote [23], which includes a CC1000 [24] radio chip operating at 433 MHz, 19.2 kbps, and IEEE 802.15.4 Zigbee. The CC1000 radio chip provides 23 different TPLs ranging between −20 dBm and −10 dBm. The sensor data is collected every second, and the target RSSI margin range is from −88 dBm to −82 dBm. The performance of the proposed hybrid TPC algorithm is compared with those of three different TPC algorithms: linear, binary, and dynamic TPC algorithms.
Experimental parameters.
Figure 4 shows the control packet delivery ratio (CPDR) per data packet of the hybrid TPC algorithm according to the body movements and sensor placements. It also shows the ratio of usage of the conservative and aggressive control mechanisms when the control packets are delivered. In this graph, the SD-SM condition has a low CPDR and uses only the aggressive control mechanism. This is because there is almost no human movement and no obstructed line-of-sight propagation between the sensor nodes and the sink node. Therefore, the channel condition is good and stable. On the other hand, under the SD-BK condition, the hybrid TPC algorithm selects conservative controls more frequently than aggressive controls. This is because interferences due to non-line-of-sight propagation between the sensor nodes and the sink node exist. The CPDR of WK-SM is less than that of RN-SM. However, both the WK-BK and RN-BK show very high CPDRs. This is because WK-SM and RN-SM are line-of-sight and are affected by different human movements. However, WK-BK and RN-BK are non-line-of-sight and so are in a bad channel condition and are very sensitive to human movement. Finally, our hybrid TPC algorithm often uses the conservative control mechanism rather than the aggressive control mechanism to effectively reach and stay at the optimal TPL for dynamic human movements, such as WK and RN.

Control packet delivery ratio per data packet of hybrid TPC algorithm.
Next, we measured the consumed energy by sensor communication. The total energy consumed by sensor communication includes energies for sending and receiving the data and control packets. We used the model in [8] to calculate the packet energy cost, E, as follows:
Transmission currents and output powers according to TPLs.
Figure 5 shows the energy consumptions of the different TPC algorithms. In this figure, the energy per packet (EPP) is computed by dividing the consumed energy for data packets by the number of successfully delivered data packets. The EPP includes the energy consumed for the retransmission of lost data packets and excludes the energy consumed for control packets. As shown in the graph, the linear TPC algorithm consumes more energy than the other TPC algorithms under good channel conditions such as SD-SM and WK-SM. This is because the linear TPC algorithm slowly reaches the target RSSI margin. However, the linear TPC algorithm consumes less energy than other TPC algorithms in dynamic environments such as RN-SM and RN-BK. This is because the linear algorithm is relatively stable by gradually changing the TPL. On the contrary, the results of the binary and dynamic TPC algorithms are different from that of the linear algorithm. This is because the binary TPC algorithm largely changes the TPL, and the dynamic TPC algorithm determines the optimal TPL on the basis of inaccurate channel estimation. However, the binary TPC algorithm is better than the linear TPC algorithm in the SD-SM and WK-SM environments because it quickly reaches the target RSSI margin under good channel conditions. As seen in the result, the hybrid TPC algorithm has better energy efficiency than the other TPC algorithms in all situations. This is because the hybrid TPC algorithm changes the TPL gradually in a dynamic environment like the linear TPC algorithm and changes the TPL rapidly in a static environment like the binary TPC algorithm.

Energy consumption per packet of TPC algorithms.
Figure 6 shows the ratio of successfully received data packets at the sink node. As shown in the figure, all the TPC algorithms perform well above a packet delivery ratio (PDR) of 0.95. This is because if the TPC algorithms drop a data packet, they immediately increase the TPL for successful data delivery. In the result, we also found that the hybrid and linear TPC algorithms have the best PDR in all environments even though the difference is minimal.

Packet delivery ratios of TPC algorithms.
Figure 7 shows the number of control packets sent by the sink node to the sensor nodes for updating TPL. The linear TPC algorithm comparatively requires more control packets than the binary and dynamic TPC algorithms under the SD-SM and WK-SM conditions. This is because the linear TPC algorithm gradually adjusts the TPL, thus requiring more time to achieve the optimal TPL when the current channel is stable. However, the binary and dynamic TPC algorithms require more control packets than the linear TPC algorithm under the RN-SM, SD-BK, WK-BK, and RN-BK conditions. This is because they wander around target RSSI margin to reach the optimal TPL when the current channel is unstable. The hybrid TPC algorithm efficiently selects the appropriate control mechanism, as shown in Figure 3. Therefore, the hybrid TPC algorithm exhibits a moderate CPDR between the linear and binary TPC algorithms.

Control packet delivery ratios of TPC algorithms.
Figure 8 shows total energy consumptions of the different TPC algorithms when the sink node receives 1,000 data packets from each sensor node. As can be seen, the dynamic TPC algorithm consumes the most energy under the WK-BK and RN-BK conditions. This is because it repeatedly sends control packets to formulate a new equation for finding the optimal TPL. In this result, the hybrid TPC algorithm is the best for stomach deployment, and the linear TPC algorithm is the most suitable for back deployment. However, the energy difference between these two algorithms is less for back deployment than for stomach deployment. Therefore, the hybrid TPC algorithm is better than the linear TPC algorithm in all environments. From these analyses, we can conclude that the hybrid TPC algorithm is the best option in terms of EPP, PDR, CPDR, and total energy consumption.

Total energy consumptions of TPC algorithms.
6. Conclusion
In WB-SNSs, sensor nodes have to ultimately save energy by employing a TPC algorithm. The TPC algorithm must consider all the channel conditions such as static and dynamic environments. The channel prediction is accurate in the static environment because it is stable. Therefore, the sensor nodes can quickly find and reach the optimal TPL in the static environment based on the reliable channel prediction. Contrarily, accurate channel prediction is difficult in a dynamic environment owing to the rapid variation of channel conditions. In this case, gradually changing the TPL is preferable to largely changing the TPL because the channel prediction is inaccurate. Therefore, we proposed a hybrid TPC algorithm that includes all the above conditions while effectively managing the energy of sensor systems. The proposed algorithm adaptively chooses one of either the conservative or the aggressive control mechanisms depending on the channel conditions. Through the real experiments, we showed that the proposed hybrid TPC algorithm outperforms the other TPC algorithms in all channel environments. For further research, we will consider diverse radio chips, experimental environments, and convergence systems such as healthcare monitoring and automated personal care systems.
Footnotes
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgments
This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education, Science, and Technology (Grant no. 2012R1A1A1002133).
