Efficient Sleep Scheduling Algorithm for Target Tracking in Double-Storage Energy Harvesting Sensor Networks

Target tracking is a typical application in wireless sensor networks. Both energy efficiency and tracking performance are important issues that need to be considered. They are a pair of contradictions most of the time. Saving energy often sacrifices tracking performance, while enhancing tracking performance needs to consume more energy. In this paper, an efficient sleep scheduling algorithm is put forward to tackle the above problem in energy harvesting sensor networks. At first, we modify the probability-based prediction and sleep scheduling (PPSS) algorithm to track the target and further use another sleep scheduling algorithm we proposed to wake tracking nodes when the target is likely to be missed (i.e., it is unsuccessful to wake next-moment tracking nodes). Secondly, a double-storage energy harvesting architecture is employed to increase residual energy of sensor nodes and to extend network lifetime. Simulation results reveal that the proposed sleep scheduling algorithm can improve tracking performance and prolong network lifetime compared with the PPSS algorithm and the proposed algorithm without energy harvesting.

Energy harvesting technologies can be applied in sensor networks to enhance performance or extend network lifetime. Many excellent works have been done toward this goal. For example, in [9] several clustering algorithms have been presented while energy harvesting nodes serve as dedicated relay nodes to prolong network lifetime. In [10], a fundamental guideline was provided to design efficient medium access control protocols to extend network lifetime. In [11], performance-sensitive processing and communication were combined with efficient energy management techniques to prolong network lifetime. The premise of it is to ensure energy neutral operation. To achieve this goal, it is required to balance energy consumption and harvesting capability of each node [12]. Following this principle, in [13] an energy flow control problem was formulated to keep the balance between energy supplies and demands. When the nodes need to harvest energy, they should turn into the sleep state, because the nodes in the sleep state consume the least energy. As the ambient energy is not sufficient for all the operation process, sleep scheduling is one of the effective methods for energy management [14]. However, sleep scheduling will cause working time delay, while designing an adaptive algorithm can vary the subsequent sleep interval to maximize the asymptotic event detection [15]. Low latency sleep and wake-up scheduling is challenging due to dynamic duty cycling. In [16], two dynamic duty-cycle scheduling schemes were proposed to reduce sleep latency. The bitreversal permutation sequence can also be used to achieve this aim [17]. In [18], a new framework was developed to 2 International Journal of Distributed Sensor Networks model the adaptive duty cycling in energy harvesting sensor networks as a Markov Decision Process. To achieve optimal performance, an optimal scheduling algorithm was proposed in [19] which considered the residual energy to achieve closeto-optimal utility. In [20], the sampling rate was adaptively determined to maximize the overall network performance. In [21], a new energy harvesting model was proposed for a network simulator that implements supercapacitor energy storage which is easily extensible. Both rechargeable battery and supercapacitor have their merits and disadvantages. NiMH battery and Li-based battery have high energy density and low self-discharge rate, but they have limited recharge cycle. On the contrary, supercapacitor has low energy density and high self-discharge rate, but it has theoretically infinite recharge cycle. Integrating these two devices into a battery will take the advantages of both and avoid their shortcomings [22].
Target tracking is a typical application in wireless sensor networks. Many target tracking algorithms have been proposed, such as Kalman filter [23], Bayesian tracking [24], Bernoulli filter [25], probability-based prediction, and sleep scheduling (PPSS) [26]. There are many requirements in the tracking procedure that need to be considered and energy efficiency is one of the key aspects [27]. Different methods were utilized to enhance energy efficiency of target tracking. In [28], the nodes in a spatial region surrounding a target were employed to achieve better tracking accuracy and energy efficiency. In the tracking area, one needs to consider the tradeoff between energy consuming and tracking accuracy, such as the expensive in-node computations and the imprecision tolerance when selecting subsequent tracking principals [29]. In [30], an algorithm was proposed where sensors were dynamically selected and allocated to track a target in order to conserve network energy and provide tracking coverage guarantee. As mentioned previously, sleep scheduling is an efficient way to save energy. In the tracking procedure, sleep scheduling means that only the sensors which are near to the target keep awake [31], while other sensors which are far away from the target stay in the sleep mode. In [32], a sleep strategy was proposed that each node autonomously determines the sleeping time. It also can make one subset of nodes active while others enter the sleep state to conserve energy and ensure that the target is tracked [33]. Besides, in [26] a PPSS algorithm was proposed to proactively wake tracking nodes.
Nowadays, few sleep scheduling algorithms for target tracking in sensor networks considered energy harvesting. In energy harvesting sensor networks, scheduling the node's sleep and wake-up time should consider both the target tracking procedure and the energy harvesting status. It is necessary to make the sleep scheduling algorithm adaptive to the energy harvesting situation. In this paper, first we combine the PPSS algorithm with another sleep scheduling algorithm we proposed [34] and make some improvement to it. Secondly, we utilize a double-storage energy harvesting architecture [22] to simplify the sleep scheduling process. For each sensor node, when it turns into sleep and the solar energy is available, it immediately harvests solar energy. If the target is about to be missed (i.e., it is unsuccessful to wake next-moment tracking nodes), the network will wake some nodes which are nearer to the target and have more residual energy to keep tracking the target [34]. Compared to the PPSS algorithm and the proposed algorithm without energy harvesting, the proposed sleep scheduling algorithm can improve the target tracking efficiency and increase the nodes' residual energy.
The rest of this paper is organized as follows. The doublestorage energy harvesting sensor network model and the target tracking model are introduced in Section 2. In Section 3, the PPSS algorithm and the proposed sleep scheduling algorithm are described in detail. Simulation results are presented in Section 4. Finally, some concluding remarks are made in Section 5.

System Model
We consider a wireless sensor network which is composed of static, uniformly distributed sensor nodes in a planar area. The nodes are equipped with double-storage energy harvesting components. The node's working time is divided into toggling periods (TP), and each TP is composed of sleep state and awaking state. The awaking state occupying the percentage of each TP is called a duty cycle (DC). The nodes in the sleep state have the lowest power consumption. They can harvest energy in the sleep state. The awaking nodes can detect the target and transmit and receive messages. Figure 1 illustrates a part of the energy harvesting sensor network for target tracking. White circles represent the nodes in the default toggling period, and grey circles represent the tracking nodes. The box denotes a target and the curve denotes its trajectory. The awaking nodes must be surrounding the target to keep tracking. There will be only one target passing through the area. When no target appears, all nodes keep in default duty cycle. If a target appears, the awaking nodes will detect the target and begin to track it. All nodes have sensing radius r and communication radius . They are assumed to know their locations through GPS or other techniques. They are also locally time synchronized and have the ability to detect target's position (as in [24]). There is no sink in the sensor network. The nodes can harvest energy only in the sleep state when the solar energy is available. The output of a solar panel is expressed as [35] ( 0 , ) = ∫ where 0 is the beginning of the energy harvesting time, is the time duration, ( ) is the statistical distribution of the solar energy, and is the conversion efficiency of the solar panel.
According to the energy storage formula in [36] and (1), the stored energy ( ) can be calculated as If there is no available energy, equals 0; otherwise equals 1.
Here cos ( ) denotes the consumed energy at the time t and ( − ) denotes the stored energy at the time − . Nowadays, energy harvesting process is usually assumed to obey the Poisson distribution [37], and a single node's energy harvesting mechanism is comparatively mature. However, there is little research on energy harvesting mechanism for a large number of nodes. For convenience, we assume that energy arriving to each node in the sensor network follows an unknown random distribution. Besides, only the amount of energy is used in the algorithm.
The double-storage energy harvesting architecture [22] is shown in Figure 2. In general, the software program controls the energy usage and the recharging process of Buffer 1 and Buffer 2. Since the Li-ion battery has the limitation of deep charge (the battery is recharged after a complete drain-out) times, it is best to let these batteries undergo more shallow charge when the battery is partially discharged. Hence, having the supercapacitor as storage, we let the batteries experience more shallow charge when it is not fully discharged. The double-storage capability can take the advantages of both types of storage and avoid their disadvantages. It is an easy way to tackle the tradeoff between the target tracking performance and sleep scheduling.

Sleep Scheduling Algorithm
In this section, a sleep scheduling algorithm in the energy harvesting sensor network is derived. It makes some improvement to the PPSS algorithm and can increase target tracking efficiency. [26]. The PPSS algorithm selects the tracking nodes based on predicted target movement tendency to reduce the nodes' number and their active time. The tracking time is divided into time segments . At first, the algorithm figures out the target state vector state( ) on the basis of state( − 1) and the coordinates ( , ). Here state( ) = ( , , , → V , → ), → V = (V , ), V is the target moving speed, denotes the target moving direction, and is the acceleration. Afterwards, based on kinematics rules, the PPSS algorithm predicts → V +1 and the

Implementation of the PPSS Algorithm
. They can be expressed as Finally, it sets up Gaussian distribution models and a linear model for +1 and Δ +1 , respectively, to predict the target location at the time instant +1 . However, when using the Gaussian distribution to predict +1 , that is, +1 ∼ ( +1 , 2 +1 ), according to the characteristics of Gaussian distribution, the accuracy will be approximately 68%. Using the linear model to predict Δ +1 also has a certain amount of error.
At the beginning of each toggling period, the nodes which are called alarm nodes will be responsible for noticing the tracking nodes in the next round. They will broadcast state( ), → +1 , +1 , +1 , and Δ +1 to awake neighbor nodes. When those nodes receive the messages, each node will, respectively, choose to wake or sleep according to the current situation. In each toggling period, some nodes are awaked. With the predicted target movement trajectory, they have the angle being less than √ 6 Δ +1 and the distance d being in the range from +1 − +1 to R. The nodes closer to the target have greater chance to wake up. The nodes' wake-up and sleep time are calculated below: TP . 4 International Journal of Distributed Sensor Networks

Shortcoming of the PPSS Algorithm.
Although the PPSS algorithm improved energy efficiency, it increases the target loss rate. The reasons include the following: (1) If the target does not appear in the predicted direction and there are no awaking nodes around the target at that time, the target will be missed.
(2) The target's movement is according to the predicted direction, but the speed is not in the prediction range, so that the target will be still in the last tracking region or will jump out of the current awake region. Both reasons will lead to target loss.

Improvement to the PPSS Algorithm.
With the use of energy harvesting nodes, energy usage is no longer deficit. So the nodes can consume more energy in every tracking procedure. But due to the randomness of available energy harvesting time and the limit of solar panel conversion efficiency, the tracking procedure still needs to adapt to the energy harvesting situation. In the target tracking process, the first concern is to ensure the target is tracked, and the second concern is to optimize the energy utilization. We will modify the PPSS algorithm to solve the first problem. We combine the PPSS algorithm with another sleep scheduling algorithm we proposed [34], to predict the target loss situation and try to avoid it, and use double-storage energy harvesting sensor nodes to prolong network lifetime. In this way, it can improve the tracking performance and solve the energy limitation problem.
(i) Enhancing Target Tracking Performance. We used SS algorithm to represent the sleep scheduling algorithm in [34]. We first use PPSS algorithm to track the target, and we also add some communication processes of alarm nodes with their neighbor nodes. After alarm nodes send wakeup messages to neighbor nodes, alarm nodes immediately turn into the receiving status to wait for neighbor nodes' replying messages. Neighbor nodes will send reply messages about whether they decide to wake up at the next moment. If alarm nodes receive all sleeping messages, they will think it is unsuccessful to wake next-moment tracking nodes. The target is likely to be missed. By that time, alarm nodes will start using the SS algorithm to wake next tracking nodes immediately. After that, alarm nodes send another message to notice neighbor nodes while their distances are shorter than to reply their location information and energy storage information. After receiving this information, the alarm nodes choose and wake nodes which have more residual energy and are nearer to the target to track the target. Moreover, alarm nodes send target movement information to tracking nodes at the same time. At this moment, we assume that the target moves in uniform motion. So the choice of is expressed as follows: where denotes the target's average displacement and V denotes the target's average speed.
Alarm nodes will, respectively, choose /2 nodes which have more residual energy ( , = 1, . . . , /2) and are nearer to the alarm nodes ( , = 1, . . . , /2) to keep awake in a whole default toggling period. The selecting methods are as follows: firstly, using selective sorting method to sort nodes according to the stored energy from the largest to the smallest and sorting nodes according to the distance to the target from the nearest to the farthest. According to the sorting results, choosing /2 nodes with odd number to wake and track the target can make larger tracking coverage to find the target.
(ii) Using Double-Storage Energy Harvesting. The doublestorage energy harvesting nodes are described below. If the supercapacitor charge is above a high threshold, it is used to power the node. If the supercapacitor charge is above a high threshold while the Li-ion battery level is below a high threshold, the battery is charged from the supercapacitor. If the solar energy is available and the supercapacitor charge is less than a low threshold, it begins to recharge. When the recharge opportunity is not available and the supercapacitor charge is less than a low threshold, the nodes are powered from the Li-ion battery until the Li-ion battery falls below a low threshold or until the solar energy is available.
(iii) Algorithm Description. For the actual implementation, we list flowchart of the algorithm.
Sleep scheduling algorithm is described as follows: (1) Alarm nodes calculate target motion state and send messages to their neighbor nodes

Simulation Results
According to the system model, we conduct a simulation by using MATLAB to evaluate the performance of the proposed algorithm. The performance metrics are target loss ratio and remaining energy ratio. Target loss ratio is defined as the ratio of the times of target missed detection and the times of target detection. Remaining energy ratio is defined as the residual energy of the network after the target moves out and the residual energy of the network before the target enters.

Parameter Settings.
The tracking region is a 150 × 150 m 2 square and nodes are randomly deployed in it. The density of nodes is changed from 1.5 nodes/100 m 2 to 5.5 nodes/100 m 2 . The target speed is changed from 10 m/s to 30 m/s. / = 3, TP = 1 s, and DC = 20%. The target does curvilinear motion to pass the area after 3600 s. The nodes will not harvest energy before the target goes into the area. The experiment is repeated 100 times and the results are obtained by averaging. The energy consumption parameters are borrowed from [26], as shown in Table 1. Every communication delivers 250 bytes. The time required for communication is ignored. The solar panels' area is 5 cm × 5 cm. The harvested energy is 0.1 W/cm 2 [38], and energy conversion efficiency is 15%. We consider the randomness of energy harvesting and assume that the probability of energy arrival is 50%. The initial energy of each battery is 2 J. Each battery has 200 deep charge cycles and has infinite shallow charge cycle. The initial energy of the supercapacitor is 0 J. Its max capacity is 1 J, and it has infinite recharge cycles.
From the energy harvesting and charging process and in order to simplify calculation, we use the amount of contained energy instead of voltage thresholds, as shown in Table 2.

Target Loss Ratio versus Number of Nodes.
The influence of number of nodes on the target loss ratio is shown in Figure 3, where the nodes' density is 2 nodes/100 m 2 . The 5 curves represent different target speeds (m/s). As we can see, larger speed makes higher target loss ratio. But there is no linear relation or correlation between target speed and number of nodes. When the awaking nodes' number increases, it just increases the number of nodes in the same range but does not increase the target tracking area. As a result, the target loss ratio does not increase. Hence, in order to accelerate the program run, we choose to be 10 in the following, if the number of nodes is not specified additionally. Figures 4 and 5 illustrate the remaining energy ratio versus the target speed and node density, respectively. In Figure 4, the node density is 2 nodes/100 m 2 . In Figure 5, the target speed is fixed on 15 m/s. The curve A1 represents the PPSS algorithm, curve A2 represents the proposed algorithm with no energy harvesting, and curve A3 represents the proposed algorithm with energy harvesting. Before the target goes into the area, the energy consumption is almost the same. As we can 6 International Journal of Distributed Sensor Networks  see, both figures show that, without energy harvesting, the proposed algorithm has the least remaining energy ratio, which means that it consumes more energy than the PPSS algorithm. But with energy harvesting, it has the highest remaining energy ratio; namely, the energy harvesting nodes can increase the residual energy. In these two figures, lines are nearly parallel to the -axis. It means that, with the increase of node density and target speed, the percentage of energy consumption is similar. The increased energy consumption has impact on target tracking loss ratio reduction. Figures 6 and 7 illustrate the target loss ratio versus the target speed and the node density. Both figures illustrate that the proposed algorithm reduces the target loss ratio. In Figure 6, the node density is 2 nodes/100 m 2 . As we can see, the proposed algorithm has lower target loss ratio than the PPSS algorithm, and the increase of target speed can lead to increased target loss ratio. The target loss ratio does not change regardless of energy harvesting or no energy harvesting. In Figure 7, the target speed is fixed on 15 m/s. The PPSS algorithm still has the highest target loss ratio, and the two curves' trends for the proposed algorithm are similar. As the increase of node density makes the increase of tracking nodes' number, the target loss ratio obviously drops. Both Figures 6 and 7 illustrate that, with the increase of node density, the tracking nodes' number increases and the target loss ratio decreases.

Performance Comparison.
International Journal of Distributed Sensor Networks 7

Conclusions
In this paper, we improve the PPSS algorithm and combine it with another sleep scheduling algorithm we proposed to decrease the target loss rate in energy harvesting sensor networks. We also utilize double-storage energy harvesting sensor nodes to prolong the network lifetime. In the tracking process, when the target is likely to be missed, we immediately use another sleep scheduling algorithm we proposed to ensure that the target is tracked. Simulation results show that the proposed sleep scheduling algorithm can enhance the target tracking performance, while the energy harvesting nodes make the sensor network work longer, compared with the PPSS algorithm and the proposed algorithm without energy harvesting.