1 Introduction

Rapid advances in miniaturization in computing and sensor technologies and advent of low-power short-range radios recently have given rise to strong interest in wireless sensor networks [1]. Each sensor node has a capability of sensing the environment, processing data, and communicating with the base station. All these tasks are done without human involvement, and this makes such networks have a lot of applications in both military and civilian fields [2, 3].

Tracking moving objects are emerging as applications such as wild animal habit monitoring, military and civilian scenarios, environment monitoring, etc. [2]. The sensor nodes are used to find mobile object position which is a complicated scenario and is accompanied with collaborative works between nodes.

But, the use of sensor networks for object tracking faces a number of main issues. These issues contain limited energy supply and communication bandwidth, distributed algorithms and control, and handling the fundamental performance limits of sensor nodes, especially as the size of the network becomes large. Unlike traditional networks, a wireless sensor network (WSN) has resource constraints. Resource constraints contain a limited amount of energy, short communication range, low bandwidth, and limited processing and storage in each node [1, 4]. Tracking of the mobile objects should solve main problems such as object detection, localization, and prediction [5].

In the localization problem, excessive sensors may join in detection and tracking for only a few objects. And, if all nodes have to always wake up to detect a mobile target, there are a lot of waste of battery power and channel utilization. Actually, power conservation is one of the most critical issues in target tracking since it would be difficult to replace the battery of the sensor nodes that are once deployed in the network area [3].

Many research works about object tracking are focused on finding the optimum point of energy consumption, tracking accuracy, and calculation time [6]. So, many researchers try to reduce the number of active nodes during tracking process [5, 79]. The tracking methods are classified into three categories:

  1. 1.

    Tree-based methods [1012]

  2. 2.

    Cluster-based methods [9, 13, 14]

  3. 3.

    Prediction-based methods [7, 15, 16]

In prediction based methods, the next location of a moving object is predicted. Then, during each defined time step, only some nodes near the predicted location are activated and other nodes stay in sleep mode as energy save state. For example, in [15], advantages of prediction mechanism in a cellular network lead to a limited search space of object tracking and so strongly reduces the paging overheads. In [7], authors use prediction mechanism to decrease the number of active nodes. So, in each time step, just one hop-surrounding nodes of the next predicted location of the object would be activated. In [16], by using the past sensing history and spatial and temporal knowledge of sensors, the future location can be predicted, and just a few number of nodes are activated.

In most target tracking applications, tracking and prediction mechanisms are based on object motion model. For example [5, 7, 1721], assume that the target has a linear mobility with constant velocity. In [7] the regression based prediction and Kalman filter are used. The linear predictor is used to predict the next position of an object in which the current location and the previous location of the object are taking account [5, 17]. Authors in [18] assume that the object just sometimes move nonlinearly, so they use a moving average estimator with a proposed correction mechanism. In [1921], Kalman filter-based methods such as extended Kalman filter (KF) and SOI-KF was proposed.

In [22, 23], particle filter is proposed to predict the location of the object, and in [8], a new adaptive prediction mechanism is introduced in which the position of target for the next t 0 seconds would be predicted. t 0 is denoted as escape period and is proportional with the distance between target and node.

Gauss Markove mobility model is considered in [15], and authors propose a simple prediction model in which the object mobility stays constant for a certain period of time. In [24], authors use an extended Kalman filter to track the moving target with nonlinear mobility model.

So far, there are no research works about prediction-based WSN tracking object with variable velocity. So, the previous methods lost the variable speed object during tracking process. It is clear that the missing rate of the object leads to a high total energy consumption in the network. In WSN object tracking mechanisms, the energy consumption is dependent on the missing rate, since the nodes must find the lost object via recovery mechanism as a high-energy consumption procedure [25]. In an accurate predictor, less nodes would be activated for collaborative tracking and lead to negligible consumed energy and transmission overheads.

In this paper, we define a deferent kind of mobility model for a moving object and a new prediction-based energy efficient and high-accurate tracking method in a clustered sensor network is introduced. This method is suitable for tracking more than one object coming into the considered area simultaneously and are far enough from each other. If they move close to each other and there are uncertainties in the association of observed measurements, we should apply multi-target tracking algorithms [2] which are outside the scope of this paper.

According to our proposed method, in each time instance, only some nodes with the following characteristics will be selected for tracking and other nodes go to the power saving mode:

  • Near to the target

  • Have more energy

  • Less distance to their head node

Despite of the previous works [2224, 26, 27], we assume a nonlinear measurement from the object with variable speed. In addition, a new recovery mechanism is introduced to find the lost object with high accuracy.

The results show that the proposed predictor has good accuracy with low missing rate which leads to an energy efficient object tracking method. Also, our proposed predictor reduces the number of operations without loosing the prediction accuracy.

2 Preliminaries

2.1 Environment

In this paper, a WSN with large number of stationary sensors is considered in which nodes are capable of sensing, computing, and communicating. Each node knows its own location by using GPS or other location awareness techniques. They can sense the environment, detect the target, and track it. The understudy network is a cluster-based heterogeneous sensor network which consists of two types of nodes: cluster head and ordinary nodes in which just head nodes send the final tracking information to the sink.

Here, all cluster head nodes work in two modes, idle mode and active mode, and all ordinary nodes work in three modes, sleep, idle, and active modes. So, in our energy efficient prediction mechanism, in each time step, just a few numbers of nodes nearby the predicted location of target will be activated as tracker nodes and the others will stay in power-saving mode.

2.2 Energy consumption model

In this section, the mathematical model of consumed energy in target tracking sensor network is introduced. During sleep and idle modes, the power consumption of a node is ignored. Also, we do not consider the energy overhead for switching between operating modes of nodes. For active nodes, all of their components are active and the energy consumption of sensing and communication components is considered.

Each node that wakes up senses the environment for a certain period of time t sense and consumes energy E sense, then sends its data packets to the head node. The energy consumption model for transmitter is given by [28]:

$$ \left\{\mathrm{if}\kern0.5em d>{d}_0{E}_t=l{E}_{\mathrm{elec}}+l{\varepsilon}_{\mathrm{mp}}{d}^4+l{E}_{\mathrm{DA}}\mathrm{if}\kern0.5em d\le {d}_0{E}_t=l{E}_{\mathrm{elec}}+l{\varepsilon}_{\mathrm{fs}}{d}^2+l{E}_{\mathrm{DA}}\right\} $$

where E DA is the energy for data aggregation in head nodes, E elec is the dissipated per bit to run the transmitter or receiver circuit, ε fs and ε mp depend on the transmitter amplifier model, d is distance, and l is the packet length. The consumed energy for receiver nodes E r is as follows:

$$ {E}_r=l{E}_{\mathrm{elec}} $$

3 Energy efficient tracking scheme

3.1 Target tracking mechanism

First, all head nodes are in idle mode. Once received, an alarm message from sink wakes up and senses the environment. Each head node, which finds the object, stays active, and others go back to idle mode in which they just can listen to communication channel to check messages. The head node should carry out the necessary computation and find the best sensor nodes for object tracking. Then, it sends a wake-up message to ordinary nodes which are initially in sleep mode and changes their state to idle mode periodically and synchronously to check the messages. If they receive a wake-up message, they become active; otherwise, they return to sleep mode. If the object is going to leave the current head node’s cluster, it informs the next head node by sending a wake-up message. Also, the current position of the object would be sent to the next head node. Head nodes send their information to the sink for a period of length T seconds.

3.2 Measurements and localization model

It is assumed that each sensor node can find the approximate angle of the target in its sensing range. So, the nonlinear measurement model for sensor i Є {1, 2,…, n} at time instant t is as follow:

$$ {\theta}_i=\mathrm{Arctan}\left(\frac{y_t^i-{S}_y^i}{x_t^i-{S}_x^i}\right)+{v}_i $$
(1)

where (S i x , S i y ) is the position of the sensor, i, (x i t , y i t ) is the real position of the target, and v i is the sensing error, which is zero mean, Gaussian distribution with constant standard deviation of σ θ .

There are various works that have been done on the bearing-only localization. Among them, least-square algorithm has a closed form solution and does not need to solve nonlinear problem which make it computationally easy. So, it can be suitable for object localization in the network. LS algorithm is based on assumption that the node-sensing errors are sufficiently small. Therefore, the head node can adopt the least-square algorithm to determine the target location, with node sensing collaboratively [29]. The true value of an angle can be written as

$$ \tan \left({\theta}_i\right)=\frac{ \sin \left({\theta}_i\right)}{ \cos \left({\theta}_i\right)}=\left(\frac{y_t^i-{S}_y^i}{x_t^i-{S}_x^i}\right) $$
(2)

In presence of noise, we can write

$$ FX=h $$
(3)

Where X is the location of the target and the matrices, F and h, are given by

$$ F=\left[\begin{array}{c}\hfill \sin {\theta}_1\hfill \\ {}\hfill \vdots \hfill \\ {}\hfill \sin {\theta}_n\hfill \end{array}\begin{array}{c}\hfill \cos {\theta}_1\hfill \\ {}\hfill \vdots \hfill \\ {}\hfill \cos {\theta}_n\hfill \end{array}\right],h=\left[\begin{array}{c}\hfill {S}_x^1. \sin {\theta}_1\hfill \\ {}\hfill \hfill \\ {}\hfill {S}_x^n. \sin {\theta}_n\hfill \end{array}\begin{array}{c}\hfill -\hfill \\ {}\hfill \vdots \hfill \\ {}\hfill -\hfill \end{array}\begin{array}{c}\hfill {S}_y^1. \cos {\theta}_1\hfill \\ {}\hfill \hfill \\ {}\hfill {S}_x^n. \cos {\theta}_n\hfill \end{array}\right] $$

The least square solution of Eq. (3) is

$$ {\widehat{X}}_{\mathrm{LS}}={\left({F}^TF\right)}^{-1}{F}^Th $$
(4)

3.3 Target mobility model

There are many mobility models for moving objects such as models in [8, 15, 18, 22, 23]. For modeling the motion of some mobile targets like a vehicle, a mobile target moves for a random period of time in a random direction with variable speed and acceleration that are in ranges[0, v max] and [0, a max]. This vehicle cannot change its direction suddenly. It should stop for a short random period of time and then starts moving and changing its direction. Also the congestion leads to variable speed for the vehicle most of the time. In fact, we use random waypoint and constant acceleration model (RCAM) for target mobility in which random waypoint model uses pause times before changing three parameters: speed, direction, and acceleration; the state equations for the RCAM contain acceleration component which is time invariant. The mobility equations are as follows:

$$ x(t)=x\left(t-1\right)+v(t)\ast \varDelta t $$
(5)
$$ v(t)=v\left(t-1\right)+a(t)\ast \varDelta t $$
(6)
$$ a(t)=a\left(t-1\right) $$
(7)

By considering the process noise for target movement, dynamic model of object under tracking can be defined as:

$$ {X}_k=A{X}_k+G{w}_k $$
(8)

where k is the time index, X k  = [x(k)y(k)v x (k)v y (k)a x (k)a y (k)]T is the state vector which contains relative positions, velocities, and accelerations of the target in two dimension plans, A is the model state transition matrix, w k is the process noise that is white Gaussian noise with zero mean and variance matrix Q(k), and G(k) is the process noise input matrix. The related matrices are given by:

$$ A=\left[\begin{array}{llllll}1\hfill & 0\hfill & T\hfill & 0\hfill & \frac{T^2}{2}\hfill & 0\hfill \\ {}0\hfill & 1\hfill & 0\hfill & T\hfill & 0\hfill & \frac{T^2}{2}\hfill \\ {}0\hfill & 0\hfill & 1\hfill & 0\hfill & T\hfill & 0\hfill \\ {}0\hfill & 0\hfill & 0\hfill & 1\hfill & 0\hfill & T\hfill \\ {}0\hfill & 0\hfill & 0\hfill & 0\hfill & 1\hfill & 0\hfill \\ {}0\hfill & 0\hfill & 0\hfill & 0\hfill & 0\hfill & 1\hfill \end{array}\right]G=\left[\begin{array}{ll}0\hfill & 0\hfill \\ {}0\hfill & 0\hfill \\ {}0\hfill & 0\hfill \\ {}0\hfill & 0\hfill \\ {}T\hfill & 0\hfill \\ {}0\hfill & T\hfill \end{array}\right]{w}_k=\left[\begin{array}{c}\hfill {w}_x\hfill \\ {}\hfill {w}_y\hfill \end{array}\right] $$

3.4 Proposed predictor

Proposed predictor is based on prediction error described by the angle between the actual location and previously predicted location, denoted by θ n . Since it is assumed that a moving object has constant acceleration, so after predicting the speed of the object in the next time step, we try to find the next position of the object based on prediction error. If θ n is in range [−α, α], the velocity of the moving object is given by:

$$ v\left(t+1\right)=2\ast v(t)-v\left(t-1\right) $$
(9)

Then the next location of the object is predicted as follows:

$$ \begin{array}{c}\hfill x\left(t+1\right)=v\left(t+1\right)\ast T\ast \cos \varPhi +x(t)\hfill \\ {}\hfill y\left(t+1\right)=v\left(t+1\right)\ast T\ast \sin \varPhi +y(t)\hfill \end{array} $$
(10)

where \( \varPhi = arctan\left(\frac{y\left(t+1\right)-y(t)}{x\left(t+1\right)-x(t)}\right) \)

but if θ n is not in the range [−α, α], so we have

$$ {v}_x\left(t+1\right)=2\ast {v}_x(t)-{v}_x\left(t-1\right){v}_y\left(t+1\right)=2\ast {v}_y(t)-{v}_y\left(t-1\right)x\left(t+1\right)={v}_x\left(t+1\right)\ast T+x(t)y\left(t+1\right)={v}_y\left(t+1\right)\ast T+y(t) $$
(11)

3.5 Node selection algorithm

The node selection algorithm is the next step after prediction mechanism. This algorithm finds and activates three suitable sensor nodes to guarantee the accuracy of the next prediction and also prolong the network lifetime. Current prediction-based methods consider nearest nodes to the predicted location such as [14, 15] and in [5]; remaining energy of nodes is considered too. In the proposed algorithm, three parameters are used as selection criterion:

  • Distance

  • Remaining energy of nodes

  • Energy consumption for sending a packet to the head node

The active head node calculates the selection criterion as follows:

$$ {\mathrm{Selection}}_i=\frac{E_{{\mathrm{remain}}_i}-{E}_{{\mathrm{send}}_i}}{d_i^2} $$

where d i is the distance of node i from the object, \( {E}_{{\mathrm{remain}}_i} \) is the remaining energy of node i, and \( {E}_{{\mathrm{send}}_i} \) is the consumed energy of node i for sending a packet to the head node. Then head node chooses three nodes with maximum selection parameter for tracking purpose. Hence, in each time step, the closer nodes to the object with more energy and shorter distance from the head node will be selected. The proposed selection criterion with three mentioned parameter helps us to prolong the lifetime of target tracking system.

3.6 Recovery

There is a possibility of getting a lost object in the presence of link failures, node failures, or prediction errors. So, a recovery procedure is needed to find the lost object. In this procedure, when a head node discovers the moving object, it sends a packet to the previous head node to inform the location of the object. If the previous head node does not receive the packet, it means that the object is lost and so informs the sink node. The head nodes surrounding the cluster in which the object is lost are awakened by sink to sense the environment and try to find the lost object.

4 Simulation results

In this section, we try to analyze the effect of prediction mechanism on energy efficiency and lifetime of target tracking system. Also, the accuracy of predictors and the effect of their accuracy on missing rate and energy consumption are considered. So, the linear predictors [5], a modified version of Kalman filter named extended KF (EKF) which was introduced in [26] and another modified version of Kalman filter named unscented KF (UKF) [27], are considered to have a fair comparison. Finally, the impact of node selection algorithm on network lifetime is investigated.

4.1 Simulation environment

The network area is 400 × 400 which is divided into 16 equal-size clusters, and so, 16 head nodes with initial energy of 50 J are placed at the center of these clusters. The sink node is located out of the area (x = 200, y = 450). Three hundred sensor nodes are uniformly distributed in the network area with sensing range R sensing = 60m and initial energy of 0.5 J. For each sensor node, the standard deviation of measurement noise is σ θ  = 1.

During target tracking process, the sink receives information about the moving object, every T = 0.5s. For the target, we have the maximum acceleration a max = 15m/s2, the maximum velocity v max = 30m/s, and the variance matrix of process noise Q = 52 × I 2 × 2. For the predictor, the bound of the prediction location error is a = 15 (see Sections 34). The parameters of energy consumption model are shown in Table 1.

Table 1 Parameters for energy consumption model

4.2 Advantages of prediction-based methods

In this section, the effect of prediction mechanism on network performance metrics is discussed. We compare two target tracking methods: prediction-based method which uses proposed predictor and nonprediction method. Then, the energy consumption, number of dead nodes, and lifetime of two understudy tracking methods are compared. As shown in Fig. 1, the number of dead nodes in prediction-based method is zero during simulation time, but the network without prediction is failed in the 15th time step of simulation.

Fig. 1
figure 1

Number of dead nodes vs. simulation time for two different methods (without predictor and prediction-based)

Figure 2 shows that in nonprediction method energy consumption of system is too high so that the network failed (the connected network graph becomes at least two split graph), very soon in comparison with prediction based method. The reason is that in each time instant T, the head node has to wake all of the nodes up to track the target, but in prediction mechanism, only three most suitable nodes are woke up for tracking purpose.

Fig. 2
figure 2

Energy consumption of two different methods (without predictor and prediction-based) vs. simulation time

4.3 Accuracy and missing rate

First, we compare the accuracy of four mentioned predictors that is determined by square root of the difference between the predicted and actual location of the object in two dimensions. The prediction error is given by:

$$ {\mathrm{pre}}_{-}{\mathrm{error}}^t=\sqrt{{\left({x}_{\mathrm{pre}}^t-{x}_{\mathrm{real}}^t\right)}^2+{\left({y}_{\mathrm{pre}}^t-{y}_{\mathrm{real}}^t\right)}^2} $$

where the preerrort is the prediction error of predictor at time t.

As shown in Fig. 3, the UKF predictor and our proposed predictor have the lowest prediction error and so are more accurate than the others. But, as we expect, the linear current predictor has the greatest prediction error and EKF predictor is in the middle. EKF predictor has good accuracy most of the time, except in some peak points. The EKF predictor uses a first-order linearization that sometimes leads to instabilities during simulation time.

Fig. 3
figure 3

Prediction error of different predictors

4.4 Energy consumption

When the object is missed, a recovery mechanism is needed to find the lost object, and this leads to excessive energy consumption in the network. After missing the object, all nodes in a cluster should wake up, sense the environment, and transmit their packet to head nodes. Figure 4 shows the total energy consumption of network from 10 to 60 min. As we expect, the predictors with lower missing rates have less energy consumption than the others. We point out that consumed energy of prediction procedure is neglected in Fig. 4.

Fig. 4
figure 4

Consumed energy of different predictors vs. simulation time

Also, another main evaluation metric for target tracking algorithm by WSN is the number of operations. Table 2 shows a comparison between accuracy and number of operations in these four predictors in a 1-h target tracking. As shown in Table 2, the linear predictor has lower accuracy with the fastest run time because of its low number of operation. But, UKF predictor with the high accuracy has a large number of operations while computational capacities of sensor nodes are constraint. The proposed predictor gives an optimum point between accuracy and run time speed. So, our proposed predictor has good accuracy that can be equal to the UKF predictor and the number of operations about 24.7 times less than UKF. The number of operations is a man-evaluating factor of predictors especially in WSNs with processing resource constraints.

Table 2 Comparison of speed and missing rate of different predictors

4.5 Effect of node selection algorithm on network lifetime

Finally, we try to evaluate our proposed selection criterion. Table 3 shows the effect of proposed method on network lifetime. As depicted in Table 3, when considering three-element selection criterion, the lifetime of network is increased about 10 %. Since in each time step, three nodes with highest level of energy and lowest distance to the CH are selected.

Table 3 Network lifetime comparison for different methods of node selection

To have a fair comparison between the predictors, the following factor is defined in which the normalized number of operations, predictor error rate, and consumed energy are considered.

$$ \alpha =\frac{1}{\left(\mathrm{Normalize}\;\mathrm{number}\;\mathrm{of}\;\mathrm{operations}\right)*\left(\mathrm{Error}\;\mathrm{rate}\right)*\left(\mathrm{Energy}\;\mathrm{consumption}\;\mathrm{ratio}\right)} $$

So, as shown in Fig. 5, our proposed predictor gives the best α, as defined factor, during simulation time. The linear predictor has the lowest number of operation and so leads to great α, in comparison with UKF and EKF.

Fig. 5
figure 5

The defined performance factor α vs. simulation time

5 Conclusion

Tracking of the mobile objects should solve main problems such as object detection, localization, and prediction. And, if all nodes have to always wake up to detect a mobile target, there are a lot of waste of battery power and channel utilization.

In this paper, we propose an energy efficient tracking method to reduce the number of nodes participating in object tracking. Simulations results show that our method leads to saving energy and thus prolong the network lifetime as well regardless of mobility pattern of the mobile object including random waypoint model.

The proposed predictor causes lower missing rate than linear, EKF and UKF predictors, and the number of operations which is the main determinant factor in the speed of the predictor is 24.7 times less than UKF. Also against the moving average estimator [18], a correction step is necessary and leads to extra computation. But, this step is removed from our proposed method and so, the numbers of operations are reduced. So, the proposed predictor helps the network to increase the speed of prediction and decrease the energy consumption.