1 Introduction

A Wireless Body Area Network (WBAN) is a network of sensors with kinds of transceivers in the vicinity of (on-body and off-body) or inside a human body (but not limited to humans) [1]. Recently, WBANs have attracted public attention in the area of healthcare, sports, entertainment, and consumer electronics, etc. With the development of WBAN, more and more important information is transferred by wireless channels. These channels must have high reliability when transferring the biomedical parameters or other important data, so a reliable data communication scheme should be provided.

The link reliability depends on the channel propagation conditions between transmitter and receiver, which is highly dependent on human movement and node positions. WBAN also has problems with deteriorated antenna performance near the body surface, propagation blockage, and radiated power absorption by human body as well as limited transmit power due to energy efficiency considerations and regulatory limitations [2]. Excessive transmission power may cause the human skin burns or lead to the battery use out rapidly. In order to minimize these limitations mentioned above, some researchers have already made some efforts on WBAN communications based on experimental results. In [3], the author used a wireless accelerometer sensor module to determine the link performance by recording the data and traffic lost on different runners and for different transmitter locations around the human body (foot, leg and arm), the article then point that different node position requires different receiver sensitivity. This conclusion shows the different body links perform in a different way in the running activity. Other studies were made in [4], which investigated four different links during three activities: jogging, rowing and cycling. The links include from the waist to the wrist, ankle, chest and back. It was observed that the channel behavior could be related to the repetitive nature of the activities and the waist-back channel show little variation between activities (roughly 2 dB, compared to 6–15 dB for the other links). These two experiments above reveal node position effects in terms of link performance in specific activity. Moreover, the authors in [5] analyzed the received signal strength indication (RSSI) behavior of on-body links related to the nodes under mobility. The Qualitative Analysis illustrates the effect of body shadowing caused by mobility leads to higher RSSI volatility and dispersion and it is necessary to take some cooperation or power control schemes. In [18], to improve the reliability of the system, the authors proposed a modified ad-hoc on-demand distance vector (AODV) protocol called RelAODV (reliable AODV). Simulations have shown that the proposed methodology is energy efficient and improves the overall QoS of the system.

The IEEE 802.15.6 standard [1] organizes the nodes in a star topology or eventually in a two-hop extended star topology, where the coordinator and end device communicates using a relay node. However, when and how to select a relay node remain unresolved. On one hand, multi-hop transmission has a higher delay and a lower data rate [6]. It is energy consumption as well; On the other hand, due to the body movement, the topology of the WBAN is not invariable [7], the conventional relay selection methods studied in Wireless Sensor Network (WSN) are inappropriate [16]. In order to find a compatible relay selection scheme, the authors in [8] compared the one hop with two hops communication in terms of reliability, energy consumption and network lifetime. They finally chose an off-body relay scheme, which they claimed offered the best data reliability and network lifetime at all power levels. Although an off-body relay may bring a better performance for the on-body transmissions during body movement, this scheme cannot meet the requirements of all kinds of application scenarios, for example, we cannot prepare relay nodes anywhere before we want to run. And even though we use smartphones as the relay nodes, the lack of ZigBee chips can’t meet the communication requirements with the ZigBee sensors on the human body. Some researchers realized this point, a simple on-body relay selection scheme was proposed by comparing the probability of link suffering from fading [9]. There can be up to 17 dB gain over the direct link in terms of transmit power in a star topology.

In WBAN, as each sensor node is equipped with a limited power (battery limitation), energy conservation is also an inevitable problem [17]. Since fixed transmission power results in either energy waste or low link reliability [10], power control schemes were applied in WBAN. Study in [10] introduces three mechanisms to estimate the link state: a connectivity-based mechanism, a packet reception rate (PRR)-based mechanism, and a RSSI-based mechanism. While the connectivity-based mechanism is unsuitable for star-topology of WBAN and PRR-based mechanism cannot adjust the transmission power in time if the link varies rapidly, they used RSSI-based mechanism for experiment in which a higher RSSI is regarded as indicating a better link quality. The experimental result validates this mechanism can maintain transmission power in a lower levels and packet loss is lesser. Power control schemes can improve link quality to some extent, but increasing transmission power blindly could generate stronger interference and higher power consumption. Some researchers began to combine multi-hop communication and power control mechanism for innovation. In literature [11], the authors jointly addressed power control and routing problem in the multi-hop WBAN, then proposed a low overhead energy-efficient routing scheme (EERS) based on collection tree protocol (CTP). The experiment results conclude that EERS can achieve a good tradeoff between reliability, delay and energy consumption.

In this paper, we focus on multi-hop WBAN and consider the body motion for a significant effect. We then investigate the energy-efficient relay selection and power control scheme based on the movement and sensor node positions. Since the WBAN channels change rapidly and are not easy to predict, especially in high dynamic motion, a fixed transmission power results in either wasted energy or low reliability. Hence, we proposed joint a relay selection and power control scheme (JRP), which can change each node’s power level adaptively in accordance with the link quality. In addition, JRP can reduce the power level properly when the link quality is well. Finally, we conducted several experiments with the help of cc2530 radio chips, and the results demonstrate that a good tradeoff between transmission performance and energy consumption can be achieved.

The rest of this paper is organized as follows. Section II introduces the experimental system and illustrates the node position effect on the WBAN reliability. Section III elaborates the joint relay selection and power control scheme. Section IV presents the experimental results to evaluate the performance of our study. Finally, section V makes the conclusion.

2 WBAN Experimental System and Influence Factor Analysis

2.1 System Introduction

Our WBAN experimental system consists of several ZigBee nodes. Each node has the same hardware structure, as shown in Fig. 1. The RF transceiver is CC2530F256, which combines a 802.15.4-complicant RF transceiver with an enhanced 8051 MCU. The CC2530 has various operating modes, making it highly suited for systems where ultralow power consumption is required. It is specified to achieve a sensitivity level of −95 dBm (achieve a packet error rate of 1%, as required by the IEEE 802.15.4 standard) and it supports raw packet rate of up to 250 Kbit per second. Moreover, the transceiver has a 256-KB In-System-Programmable Flash and a programmable output power up to 4.5 dBm, which is high enough for the on-body propagation. The accelerometer we used is MPU-6050. It combines 3-axis gyroscope and 3-axis accelerometer together and transfer data with I2C sensor bus. With the UART integrated in CC2530F256, the accelerometer data is transferred to a local computer for real-time monitoring. The device is shown in Fig. 1 This device is small enough, 5 cm × 5 cm × 2 cm, to be comfortable for wearing.

Fig. 1
figure 1

Hardware structure of the sensor node

The star topology WBAN network is made up of these nodes. In our experiment there are a sink node and ten sensor nodes in this network. The nodes are programmed with different codes to perform their functions in C language with IAR Embedded Workbench IDE. Figure 2 illustrates the positions of on-body sensors and sink node. The sensor nodes collect acceleration information in real time and then transfer it to the sink node using the wireless transceiver. In addition, sensor nodes may be the information source, or the relays used to help other nodes forward data packets. Transceiver of each sensor node transmits the data packets through ZigBee channels. According to the IEEE 802.15.4 standard, 16 channels are available in the frequency bands of 2.4 GHz, among them, channel 15 is recommended as it is relatively free from interference from common IEEE 802.11b networks (Wi-Fi) [12]. In this paper, we only use the 15th channel in order to avoid excessive Wi-Fi interference in the experimental environment.

Fig. 2
figure 2

On-body sensors positions

2.2 The Influence Analysis of Node Position and Power Level

The measurement involved five volunteers, with the participation of three males and two females. They were asked to wear a sink node and seven sensor nodes and then run in the open field for several minutes. An open field was chosen for the experiment so that possible multipath effects could be minimized.

The sensor nodes were placed at seven different positions: ankle, knee, thigh, wrist, waist, upper arm and back, respectively. In order to guarantee the node stability during running, we used fabric bands to fix the nodes on body. The transceivers transmitted the acceleration data continually to the sink node, at a speed of 250 kbps and power level was set to −6 dBm. According to literature [3], we set the accelerometer sample rate to 100 Hz, this sample rate is an optimized choice to fit the study of running activity.

To analyze the influence of the node position to the link performance, we compared the data that each sensor node collected with that received by the sink node. After observing the results of five different people, we concluded that different node positions under the same data rate can lead to various packet loss rate (PLR). Through comparation of five experiments results, we acquired the statistical chart of the number of packets transferred from the source node and the number of packets received in chest node, then we calculated the reliability ranges of different volunteers for each sensor position, as shown in Table 1.

Table 1 Reliability of each sensor nodes

Table 1 gives a general conclusion of the WBAN performance with respect to the different sensor positions. The waist-chest channel and upper arm-chest channel are proved to be stable, while ankle-chest is the least reliable channel, due to the swing of the two foot during running. Considering the influence of power level, we then choose sensor on thigh for experiment to detect the relationship between the performance of the link thigh-chest and transmitting power. We selected five power levels: 0, −1, −3, −6, −10 dBm, in each power level, we recorded the received packets of acceleration data. The results are shown in Table 2.

Table 2 Reliability of different power levels

Table 2 provides an indication of the link performances of different transmitting power levels. From the table we can see that as the source node’s transmitting power decreases, the link reliability becomes worse. When the power is set to −10 dBm, 83% packet deliver rate is unacceptable for some emergency application. Although the 0 dBm power lever can acquire a perfect reliability, transmitting at this level all the time may bring high battery consumption, this is also unacceptable. Therefore, a joint relay selection and power control scheme should be studied to acquire high link reliability and long battery lifetime.

3 Joint Relay Selection and Power Control Scheme (JRP)

In this section, we will introduce joint relay selection and power control scheme (JRP). Due to the defects of the relay selection or power control scheme separately and the influences of motion and sensor positions, we try to combine the two schemes to acquire high link reliability as well as long battery lifetime, in other words, a method must be found to balance the reliability and energy consumption. We are going to introduce JRP for two subsections, subsection A represents the channel model and relay model we used for experiments and subsection B introduces the details of JRP.

3.1 Experimental Channel Model and Relay Model

According to literature [13], the main shadow effect of WBAN is the slow fading, which is caused by human movements. In order to distinguish between fast fading and slow fading of WBAN channels, we can describe the instantaneous channel path gain as:

$$G({\text{t}}) = G_{0} \times S({\text{t}}) \times F({\text{t}})$$
(3.1)

In (3.1), G(t) denotes the instantaneous channel path gain; \({\text{G}}_{0}\) is the average path gain; S(t) and F(t) denote the slow fading and fast fading factor respectively. \({\text{G}}_{0}\) describes the average path gain level, it does not change over time. S(t) is the shadow effect caused by human body, usually obeying the normal distribution(or Lognormal distribution). F(t) is the fast fading effect, usually modeled by Nakagami-m, Rice or Rayleigh distributions.

Due to the long relevant time of WBAN channel, in a time of 5–10 ms, slow fading can be considered stable. If we compute the average instantaneous path gain in a slot of \({\text{t}}_{\text{n}}\) to \({\text{t}}_{{{\text{n}} + 1}}\), we can acquire the short-term average path gain \(\overline{G\left(n \right)}\) during this slot:

$$\overline{G(n)} = \frac{1}{{t_{n + 1} - t_{n}}}\int_{{t_{n}}}^{{t_{n + 1}}} {G(t)} dt$$
(3.2)

Short-term average path gain \(\overline{G\left(n \right)}\) is a random variable, it represents the slow fading degree of human movements. As numerous experiments made in literature [14], the first-order statistical properties of \(\overline{G\left(n \right)}\) are obtained. The results show that \(\overline{G\left(n \right)}\) follows the lognormal distribution, which can be described below:

$$\overline{G(n)} |_{dB} \sim N\left({\mu_{s},\sigma_{s}^{2}} \right)$$
(3.3)

The symbol “s” in the equation stands for a specific scenario, it includes the sensor nodes positions, body posture and body movements; \(\mu_{s}\) and \(\sigma_{s}^{2}\) are decided by the specific scenario. This conclusion indicates that the slow fading effect of WBAN channel is scenario based, in our paper, we use this WBAN channel model for foundation.

A simple relay system model is shown in Fig. 3. A single relay (R) helps the source (S) to transmit packets to the coordinator (C). R also receives the symbols broadcasted from S to C; it then decodes and forwards the symbols to C. Since our transceiver cannot transmit and receive simultaneously over the same frequency band, we use a time division duplex mode, where the data transmission consists of two slots. In slot 1, S broadcasts the modulated symbols with power level 1, and the symbols are received by R and C. In time slot 2, the received symbols at R are transmitted to C at the power level 2. Because of the low variation of the WBAN channel during the two transmission slots, we can assume the channel condition is stable. If \({\text{G}}_{\text{SC}},{\text{G}}_{\text{SR}}, {\text{G}}_{\text{RC}}\) denote the instantaneous channel path gain between S–C, S–R, R–C nodes respectively, we define \({\text{P}}_{\text{SC}}\) as the probability of the S–C link suffering from fading:

$$P_{sc} = \Pr (G_{sc} < G_{T} \cap PDR > P_{T})$$
(3.4)

\({\text{G}}_{\text{T}}\) stands for the threshold path gain and \({\text{P}}_{\text{T}}\) stands for the threshold of packet delivery ratio. Similarly, we define \({\text{P}}_{\text{SR}}, {\text{P}}_{\text{RC}}\) for the S–R and R–C link respectively. Then the end-to-end probability that the two-hop link S–R–C will suffer fading which can be given by:

$$P_{SRC} = 1 - (1 - P_{SR})(1 - P_{RC})$$
(3.5)
Fig. 3
figure 3

Relay system model

This is the probability of at least one link of S–R and R–C is suffering fading. Based on these two probability, we can acquire the joint probability

$$P_{SC,SRC} = P_{SRC} \times P_{SC}$$
(3.6)

Transmission failure will occur only when the two paths, S–C and S–R–C, simultaneously suffer fading within the two time slots. In this condition, the node R does not fit the relay position for the transmission between S and C.

3.2 Relay Selection and Power Control Scheme (JRP)

Our scheme uses the WBAN channel model and relay system model above, and refers to the CTP [15], which is widely regarded as a reference protocol for performing data collection in a wireless sensor network. In CTP, ETX (Expected Transmissions) is used as the routing metric, it is correlated to the successful delivery ratio of routing messages (beacons) and data packets. Routes with a lower metric are preferred. In a route that includes multiple hops, the metric is the sum of the ETX of the individual hops.

Similarly, in this paper, we invent a metric Expected Transmission by Path at Power (ETPP) level to indicate the transmission cost when transmitting by a certain path and at a certain power level. Since transmission power has a significant impact on routing performance, we explore which parent and what power level should be chosen by individual sensors in a path. The formula is as follows:

$$ETPP(S,C) = \alpha \times L(S,C) + \beta \times L(S,R) + \gamma \times L(R,C)$$
(3.7)

In the formula (3.7), \({\upalpha}, \;\upbeta, \;\upgamma\) represent the energy consumption coefficients, which are proportional to the transmission power level. In order to evaluate the consumption of each power level, we take the current consumption of each power level when transmitting a packet. In this assumption, \({\upalpha},{\upgamma}\) can be formulated as follows:

$$\alpha = \left\{\begin{aligned} 2.15,PL_{SC} = 0 \\ 2.07,PL_{SC} = - 1 \\ 2,PL_{SC} = - 3 \\ 1.93,PL_{SC} = - 6 \\ 1.85,PL_{SC} = - 10 \\ \end{aligned} \right.({\text{dBm}}),\quad \gamma = \left\{\begin{aligned} 2.15,PL_{RC} = 0 \\ 2.07,PL_{RC} = - 1 \\ 2,PL_{RC} = - 3 \\ 1.93,PL_{RC} = - 6 \\ 1.85,PL_{RC} = - 10 \\ 0,PL_{RC} = else \\ \end{aligned} \right.({\text{dBm}});$$

where β represents the power level of the link S–R, which is similar to the link S–C, so the value of β can be described as:

$$\beta = \left\{ \begin{aligned} 0,\quad {\text{ no}}\;{\text{relay}} \hfill \\ \alpha ,\quad {\text{relay}}\;{\text{existence}}. \hfill \\ \end{aligned} \right.$$

When there is no need to use relay node, that is, the best transmission path is the direct link S–C, β then has the value of 0, so as the \({\upgamma}.\)

The expression \({\text{L}}\left({{\text{A}},{\text{B}}} \right)\) in the formula (3.7) represents the link condition between node A and node B. According the WBAN channel model mentioned above, the link condition is determined by the average channel path gain. It is also important to take the packet delivery rate into consideration, and due to the human movement, sensor nodes of each body position have different motion trend, so the sensor position and acceleration information of each sensor node must be taken into account. In conclusion, the \({\text{L}}\left({{\text{A}},{\text{B}}} \right)\) can be described in formula:

$$L(A,B) = W_{p} \times \frac{{\overline{G} |_{dB}}}{PDR} \times \sigma^{2}$$
(3.8)

In the Eq. (3.8), \(W_{p}\) is the sensor position weight, it stands for the distance between A and B. \(\overline{G} |dB\) is the average channel path gain, and the unit is dB. PDR represents the packet delivery rate, and \(\sigma^{2}\) is the variance of the sensor’s acceleration data.

JRP starts with a link condition estimation process, each sensor node sends beacons at all power levels, then the corresponding beacon-based link condition is computed based on the received beacons and stored in the sensor memory. After that, the sensor nodes can begin to transmit data packets using the minimum ETPP manner. Due to the repeatability of running activity, literature [15] defines swing time as the time between each consecutive foot contacts with the ground of the right or left foot. As the experiment result [3] shows, different individuals have different swing time, which has an average of 500 ms. In the JRP, we reset the link condition every 500 ms in order to update the nodes motion status.

With reference to the IEEE 802.15.6 standard [1], the probability of link interruption (PLI) should not exceed 5%, and packet error rate should not exceed 10%. Based on this limitation, we set the decision threshold to 5%, below which we consider the link is reliable. When the link has a poor performance (PLI > 5% or PER > 10%), we compute the ETPP to find the best way to improve the link performance. If the link performance maintains high reliability, for the purpose of reducing energy consumption, we examine the ETPP to find if there is necessary to decrease power level. Figure 4 is the flow chart of the whole process of JRP.

Fig. 4
figure 4

Flow chart of JRP

4 Experimental Results and Discussion

4.1 Experiment Setup and Evaluation Parameters

In this section, we validate the effectiveness of JRP in a multi-hop WBAN and compare its performance with the traditional fixed power level transmission.

As introduced in section II, we design on-body sensor node based on CC2530 radio chip and compliant with IEEE 802.15.4 standard at 2.4 GHz. The sensors are deployed at different body positions as the Fig. 2 shows. The source node of each position transmits 1000 16-byte data packets at an interval of 100 ms. The transmission power level is adaptively chosen by the JRP algorithm.

After designing the JRP and experimental process, we ask five volunteers to wear the sensor nodes and begin to test the performance of JRP through running activity. In order to make a precise conclusion, we chose the same five volunteers as introduced in section II, and the running speed remained 16 km/h. In this way, we can compare the average received parameters to the previous one. With the running activity of the volunteers, the dynamic body motion frequently changed the position and orientation of the sensor nodes, the RSSIs quickly oscillated, as shown in Fig. 5.

Fig. 5
figure 5

The measured RSSI values oscillated normally

For demonstrating the way JRP works, we take the sensor on ankle for example. Table 3 shows the ETPPs of all possible path at a given time. By analyzing the real-time RSSI, PDR and other feature, we can always choose the best path to transmit data packet. As the Table 4 shows, the sensor on thigh is the best choice. Then we made a statistic, sorting the possible relay nodes according to the value of ETPP. The results are shown in Table 4.

Table 3 ETPPs of each possible path and power levels respectively
Table 4 Possible relay selection list

4.2 Experimental Results Analysis

In the next, we analyze the experimental results by the following metrics: (a) packet delivery rate (PDR), which is the radio of the number of packets successfully received by the coordinator; (b) average hop count (AHC), which is the average number of the hops that packets traverse from a sensor node to the coordinator; (c) average number of transmissions per packet (ANTP), which is the average number of times a packet has to be transmitted across the network before it is successfully received at the coordinator; (d) energy consumption per packet (ECPP), which is the total energy consumed for the network to transmit a packet from a sensor node to the coordinator; (e) energy consumption per hop (ECPH), which is the average energy consumed per hop to transmit a packet from the sensor node to the coordinator.

In the multi-hop WBAN, the nodes on knee, thigh, wrist and waist are the possible relay nodes. By comparing these relay nodes, we can always make the least transmission consumption to achieve the reliability of 90% above. The experiment are carried out with JRP and fixed power levels respectively. In JRP, each hop possibly uses a different power level, which can allocate transmission power accordingly and thus saves energy. For convenience, we select 0, −3, −10 dBm levels to make the fixed power level experiment representatively, each power level comes with a simply relay selection method which choose the nearest node of the source node. These three power levels consist of the maximum, medium and minimum value, which can fully represent the experiment results.

  1. (a)

    PDR

As shown in Fig. 6, the average PDR achieves 83–98% at all power levels. However, when we carry out several experiments at fixed power level −10 dBm, the PDR cannot maintain the transmission requirement (PDR > 90%). Their values range from 72 to 94%. This is caused by the high signal attenuation of on-body links. The results confirm that using higher fixed power level or using JRP can satisfy high reliability requirement.

Fig. 6
figure 6

Average packet delivery rate

  1. (b)

    Average Hop Count (AHC)

The AHC metric measures the routing depth for a sensor-coordinator pair and has impact on network throughput, delay and energy consumption. In our experiment, each data packet has a reserved bytes to record the transmission path from source node to the coordinator. Using this method, we figure out the hop count of the path for each data packet. The AHC during running is shown in Fig. 7. We can see that the hop count has the lowest value at 0 dBm and has highest value at −10 dBm. When using JRP, the hop count is fewer than that of −10 dBm.

Fig. 7
figure 7

Average hop count

  1. (c)

    Average number of transmissions per packet (ANTP)

The ANTP metric is computed as the total number of data transmissions, including original and retransmissions at all hops, divided by the number of successfully delivered packets at the coordinator. This metric show significant implications for throughput, energy consumption and delay performance. The results are shown in Fig. 8. As using the fixed power level scheme, the higher the power level is, the better the ANTP performance is. In the JRP scheme, as sensors on different positions can use adaptive power levels, its ANTP is higher than those of the fixed power level.

Fig. 8
figure 8

Average numbers of transmissions per packet

Fig. 9
figure 9

Energy consumption per packet

  1. (d)

    Energy consumption per packet (ECPP)

ECPP is correlated to ANTP (refer to Fig. 10), and the power weight corresponding to the transmission power level. For example, if ANTP is 2 and power level is −3 dBm (power weight is 2) issued to transmit packets, the energy consumption of a packet is 2 × 2. Figure 9 depicts the normalized average energy consumption of one packet transmission in multi-hop WBAN. We can observe that when using JRP, the energy consumption is less than any other fixed power levels.

Fig. 10
figure 10

Energy consumption per hop

  1. (e)

    Energy consumption per hop (ECPH)

ECPH reflects the distribution of traffic load as well as the energy consumption among sensor nodes. It is computed as energy consumption per packet divided by the average hop count. A low ECPH means that the energy consumed by each sensor is low. As shown in Fig. 9, the ACPH at JRP is lower than other power levels. The lowest ECPH at JRP is mainly obtained by energy saving. Specifically, although the hop count at JRP is lower than that of −3 dBm, its ECPH is still lower than that of −3 dBm. This indicates that the JRP can avoid the early depletion of specific sensor nodes.

In addition, as the proposed JRP considers the residual energy of relay nodes, nodes on thigh, knee and waist are all employed to forward data packets. As node on thigh has better channel conditions with the coordinator at most times of running, it has a high probability to be a relay. Node on back has the lowest probability to be a relay. But in the fixed cases, the source usually employs the same nodes to forward packets in an experiment. For example, at 0 dBm, 1000 packets generated by the ankle node are all forwarded by knee, this may make the energy of node on knee to be depleted much earlier than others and thus affect the network lifetime. Meanwhile, The JRP also detect the possible chance to reduce power level. When a link condition remains high reliability, for example, the link between chest and upper arm, the JRP will judge the ETPP value to see if there is a necessity to reduce power level. Therefore, JRP is helpful for balancing energy consumption and thus prolonging the overall network lifetime.

5 Conclusion

In this paper, we have jointly considered power control and relay selection problem in the multi-hop WBAN during the running activity. In order to satisfy the reliability requirement and extend the overall network lifetime, we have proposed a node-position based routing scheme JRP. By considering the running postures, JRP can always select the best position as relay node, and thus allocate power level of each path accordingly. Through extensive experiments to compare the performance of JRP with fixed power level scheme, we concluded that JRP increases the reliability by 10% in average and save more than 20% battery energy than the fixed power level scheme. It shows that JRP can achieve a good tradeoff between reliability and energy consumption.