Temperature compensated Kalman distributed clock synchronization

Temperature compensated Kalman distributed clock synchronization

Ad Hoc Networks 62 (2017) 88–100 Contents lists available at ScienceDirect Ad Hoc Networks journal homepage: www.elsevier.com/locate/adhoc Temperat...

1MB Sizes 2 Downloads 93 Views

Ad Hoc Networks 62 (2017) 88–100

Contents lists available at ScienceDirect

Ad Hoc Networks journal homepage: www.elsevier.com/locate/adhoc

Temperature compensated Kalman distributed clock synchronization Fengyuan Gong∗, Mihail L. Sichitiu Department of Electrical and Computer Engineering, at North Carolina State University, Raleigh, NC, USA

a r t i c l e

i n f o

Article history: Received 13 September 2016 Revised 20 April 2017 Accepted 26 April 2017 Available online 27 April 2017 Keywords: Wireless sensor networks Distributed time synchronization Temperature compensated Kalman filter

a b s t r a c t Time synchronization is a fundamental problem in any distributed system. In particular, wireless sensor networks (WSNs) require scalable time synchronization for implementing distributed tasks on multiple sensor nodes. We propose a temperature-compensated Kalman based distributed synchronization protocol (TKDS) using a two-way sender-receiver synchronization scheme, to achieve high synchronization accuracy while modelling the clock skew change based on its physical characteristics. By asynchronously combining estimates from neighbours, TKDS achieves better performance than the spanning tree based protocols in a fully-distributed fashion. The synchronization performance is evaluated numerically and compared with that of other well-known synchronization protocols.

1. Introduction Nowadays, wireless sensor nodes are widely used due to the integration of sensing and communications into low-cost, low-power devices owing to recent developments in micro-electro-mechanical systems and signal processing. These sensor nodes cooperate to forward packets through multihop communication, and form wireless sensor networks (WSNs). Time synchronization is a critical component in the operation of WSNs, as it provides a common time reference for different nodes working on distributed tasks [1]. It is thus highly desirable to use a simple and efficient clock synchronization mechanism where all timestamps refer to a single reference clock instead of multiple local clocks. Perhaps the two most important (and, unfortunately, conflicting) requirements for such a synchronization protocol are high synchronization accuracy and low power consumption. In many applications, a maximum synchronization error has to be maintained, which dictates the need for resynchronization, which in turn determines the power consumption. Exchanging timing messages between nodes is commonly used for network time synchronization. When a node timestamps a synchronization packet for transmission at the application layer, multiple delays are encountered until the packet is successfully received and decoded at the intended receiver(s). These delays lead to inaccuracy in synchronization. The delays in WSNs time synchronization can be classified into four categories: sender OS delay, MAC access delay, transmission and propagation delays, and



Corresponding author. E-mail addresses: [email protected], [email protected] (M.L. Sichitiu).

http://dx.doi.org/10.1016/j.adhoc.2017.04.009 1570-8705/© 2017 Elsevier B.V. All rights reserved.

© 2017 Elsevier B.V. All rights reserved.

receiver OS delay [2–6]. Some of these delays are deterministic (e.g., transmission delay) or negligible (e.g., propagation delay), while others are random. These delays can, and do, lead to inaccuracy in synchronization. Another source of inaccuracy is clock skew fluctuation: time synchronization protocols estimate the relative skew (i.e., the derivative of relative offset) between two nodes based on past measurements, and then use this skew estimate to predict the relative time in the future, assuming that the relative skew remains constant for an extended duration. However, in reality the relative skew is not constant, thus, over time, introducing additional synchronization errors. Linear regression has been frequently used as the de-facto estimation method to evaluate skew and offset, but performs poorly when environment factors affect the clock frequency often [7]. Accurate clock skew estimation is the key for providing long-term synchronization since the clock offset is accumulated through clock drifting; therefore, it is important to accurately model the clock skew according to its physical characteristics. Among the many environmental factors that affect the clock skew (e.g., temperature, humidity, source voltage), temperature is the dominant factor that significantly affects the clock skew’s performance when hardware is not equipped with oven-controlled crystal oscillator (OCXO) [7]. To compensate for the influence of temperature change on the clock skew in software, researchers proposed offline calibration methods to estimate the real clock skews at various temperatures such that compensation is achieved during deployment based on the calibration table [8]. Instead of using offline calibration, recently, some researchers proposed to apply the Kalman filter to dynamically compensate for the clock skew online while assuming a constant clock skew model [9,10]. Different from the previous approaches, we model the clock skew

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100

as a function of the measured environmental temperature, while employing the Kalman filter to accurately track the skew changes taking into account the physical characteristics of the clocks. To extend pairwise synchronization to network-wide synchronisation, spanning tree based solutions are prone to propagate synchronization errors rapidly throughout the network such that leaf nodes may not be well synchronized with the root node [11]. To reduce error propagation while utilizing multiple neighbours’ information asynchronously, we propose a temperature-compensated Kalman based distributed synchronization protocol named TKDS, communicating asynchronously with neighbours in a fully-distributed approach with high accuracy at low communication cost. The main contribution of this paper is to model the clock skew as a function of environmental temperature according to its physical characteristics, and to apply the Kalman filter to dynamically compensate for changes in the nodes’ clock skews and offsets instead of using offline calibration. We further extend pairwise synchronization into an asynchronous fully-distributed global synchronization where each node only communicates with its neighbours to reduce error propagation through the multi-hop network. The remainder of this paper is organized as follows. Section 2 reviews related work in clock synchronization for WSNs. The system model is presented in Section 3. Section 4 presents the temperature-compensated Kalman based pairwise and networkwide synchronization protocols. Numerical results are presented in Sections 5. Finally, we conclude this paper in Section 6. 2. Related work The Global Positioning System (GPS) has been frequently used for clock synchronization in outdoor environments [12], but is not suitable for WSNs dinue to cost and power consumption. Network Time Protocol (NTP) [13] and IEEE 1588 [14] are widely adopted in the Internet and local area networks for online synchronization, but leading to low accuracy for WSNs due to the non-deterministic access delays and large amount of communication overhead [15]. Since traditional clock synchronization schemes used in the wired network are not suitable for WSNs, Elson et al. [16] originally proposed a low-power, post-facto synchronization scheme. Recently, many high-accuracy and low-power synchronization protocols have been proposed; these approaches can be roughly categorized in the following three fundamental schemes based on how pairwise synchronization is performed. One-way sender-receiver schemes synchronize multiple receivers with a single sender that broadcasts beacon packets [17–22]. Maroti et al. [17] originally proposed the flooding timesynchronization protocol (FTSP) by employing linear regression to compensate for clock drift and MAC-layer timestamping to achieve high precision while assuming the propagation delay is negligible. Recently, Lenzen et al. [11] showed that the global error of FTSP increases exponentially with the size of network, and proposed a scalable PulseSync protocol that overcomes the scalability drawback by rapid information flood. However, Yildirim et al. [19] pointed out possible drawbacks of rapid flooding and proposed a slope estimation strategy with minimum variance for linear regression [20]. Two-way sender-receiver schemes involve interactive pairwise communication between a sender and a receiver [12,23–29]. Ganeriwal et al. [24] originally proposed the timing-sync protocol for sensor networks (TPSN) by using MAC-layer timestamping to remove the access delay uncertainties, but requiring relatively frequent resynchronization to achieve high precision due to the lack of clock drift compensation. To compensate for clock drift, TSVP [25] employs linear regression on TPSN, and maximum likeli-

89

hood estimators are applied for jointly drift and offset estimations [30,31]. Receiver-receiver schemes achieve pairwise synchronization between pairs of receiving nodes after receiving beacons broadcasted from a common reference node [3,4,32–34]. Elson et al. [32] originally proposed the reference broadcast synchronization (RBS) to eliminate the sender-side delay nondeterminism by exchanging all the received beacons’ timestamps between pairwise receivers, achieving a high pairwise accuracy of around 10 μs even without MAC-layer timestamping. Currently, no other time-synchronization protocol comes close to this precision without MAC-layer timestamping. Recently proposed, CESP [3,4] achieves a similar accuracy as RBS, but at a reduced communication overhead by exchanging synchronization coefficients. To extend from pairwise to network-wide synchronization, it is common to create a spanning tree across the network [12,17,24,35], where pairwise synchronization is employed along the edges through interactive packet exchanges between senders and receivers from adjacent levels to achieve global synchronization. TPSN [24] first creates a hierarchical structure by flooding level discovery packets and then initiates two-way sender-receiver message exchanges. FTSP [17] floods a single broadcast beacon and uses a leader-election algorithm to establish synchronization points, which makes it more robust against link failures and dynamic topology changes. Pairwise Broadcast Synchronization (PBS) [34] is further extended to network-wide synchronization by selecting the best pairs on the hierarchical structure of the network to reduce the overall energy consumption [35]. To achieve a more accurate global synchronization, Schmid et al. [36] argued for decoupling the clock distribution network from the multihop routing tree to have nodes choosing their synchronization neighbours that offer the greatest frequency stability. A challenge in tree-based multihop synchronization is that the directly connected neighbouring nodes may not synchronize well if they are on different paths of the spanning tree [29]. Requiring no reference node or tree construction, many fully-distributed synchronization protocols have been proposed by averaging out the local information only, mainly formulated as the consensus-based [28,37–39] or gradient-based [29,40–42] approaches assuming that the communication delay is negligible. To analyse the impact of random delays in consensus-based approaches, He et al. [43] proposed the weighted maximum time synchronization (WMTS) and showed that only the clock skew can be synchronized within acceptable accuracy. Recently, Leng et al. [44] proposed a distributed synchronization algorithm based on belief propagation by estimating only the clock offsets, achieving a better synchronization accuracy than consensus-based algorithms under Gaussian random delays, which is further extended to a joint estimation of both drift and offset in [45]. However, none of the above synchronization algorithms considers the clock skew fluctuations with temperature changes. In reality, the common assumption that the clock drift remains constant over a certain period of time is not valid in applications with the frequent temperature fluctuations when hardware is not equipped with OCXOs. To compensate for clock skew affected by temperature changes, Schmid et al. [7] designed a calibration table to implement a temperature compensated time synchronization (TCTS) by exploiting the on-board temperature sensors [46]. Yang et al. [8] proposed to directly remove the clock skew during the external synchronization and then to dynamically compensate the effects of the clock skew according to the working temperature. TACO [47] estimated the correlation between temperature and clock skew by solving a constrained least square problem and continuously adjusts the local time based on the environmental temperature measurements. Recently proposed, Li et al. [48], Mon-

90

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100

gelli and Scanzio [49] and Jin et al. [50] analysed the compensation of temperature variation for synchronization protocols. Since the clock skew (i.e., the derivative of offset) is affected by temperature, while the environment temperature may change continuously and relatively slowly from sample to sample, the clock skew at the current time instant is related to that of the previous instant. Therefore, instead of discarding the previous estimated clock parameters, Freris et al. [51] first proposed a stochastic model for clock skews using the Kalman filter, and Hamilton et al. [9,10] proposed the adaptive clock estimation and synchronization (ACES) to track both the clock offset and skew by assuming that the clock skew follows the P-order Gauss-Markov model in constant temperature environments. To adaptively adjust to the environment changes, Yang et al. [52,53] employed the interactive multi-model Kalman filter to combine the estimation results from different Kalman filters based on constant and velocity temperature models. To extend Kalman-based pairwise synchronization, Luo et al. [54] proposed a distributed Kalman filter to achieve global synchronization in a synchronous approach, where a node can not perform the calculation until receiving all the information from its neighbours. Different from the previous approaches, this paper focuses on modelling the clock skew based on its physical characteristic with the environmental temperature, and applying the Kalman filter to dynamically compensate for the temperature change in an asynchronous and fully-distributed approach.

3.1. Clock model An ideal clock used as the perfect time reference is theoretically assumed ticking at a constant nominal frequency with zero uncertainty, similar to the International Atomic Time (TAI) provided by a high stability atomic clock [55]. Every practical clock deviates from its nominal frequency due to the imperfection in manufacturing and environmental changes such as temperature, pressure and voltage. This deviation is represented by the clock’s absolute drift a(t) defined as:

f (t ) , f0

(1)

where f(t) is the clock’s actual hardware frequency at TAI time t and f0 is the nominal frequency. The absolute drift is sometimes represented as clock skew s(t) defined as the ratio of its frequency error and the nominal frequency:

f (t ) − f0 s(t ) = f0

(2a)

= a(t ) − 1,

(2b)

where a(t) is the absolute drift of the clock at time instant t. Since the hardware clocks drift at different rates, nodes usually map their hardware clocks to logical clocks to achieve a common time reference. The relative clock offset and the relative drift are the two important parameters relating the local timestamps of two nodes. To model the system discretely, we sample the continuous time t periodically to obtain a discrete event sequence based on the nth sample. When sampling at the nth interval, the relative offset θ ij [n] and relative drift aij [n] between nodes i and j refer to the time difference between the two clocks and the relative difference between the rates of two clocks, respectively:

a j [n] ai j [n] = ai [n]

1 + s j [n] 1 + si [n]

(3a)

(3b)

≈ 1 + s j [n] − si [n],

(3c)

θi j [n] ≈ θi j [n − 1] + (s j [n] − si [n] )Tu ,

(3d)

where Tu denotes the sample interval, sj [n] and si [n] denote the local skews of nodes j and i when sampling at the nth Tu , respectively. The discrete skew is just the integral of real-time skew over T sample interval (i.e., s[n] = 0 u s(t )dt ). Denote si j [n] = s j [n] − si [n] as the relative skew between nodes i and j in interval n. Therefore, node i can convert its local hardware time to neighbour j in interval n using the relative skew and offset:

T j [n] = (1 + si j [n] )Ti [n] + θi j [n].

(4)

3.2. Temperature skew model Based on the relationship between different types of quartz’s frequency variation and the impact of temperature change [56], the clock skew model is physically related to the environmental temperature as follows when periodically sampling at the sample interval [47]:

s i [ n ] = s i τe + k i ( τ i e [ n ] − τ e 0 ) 2 + w i [ n ] ,

(5)

0

where siτe

3. System model

a(t ) =

=

denotes the node i’s clock skew at the reference tem0

perature τe0 ; ki denotes the node i’s temperature skew coefficient; τie [n] denotes the node i’s measured environmental temperature at the nth sample interval; wi [n] denotes the random skew noise due to other environmental factors and the quantization errors during temperature sampling; we assume wi [n] ∼ N (0, σw2 ) [8]; we also assume that each node has on-board temperature sensor such that it can measure the environmental temperature, and the reference temperature τe0 is known (usually available in the oscillator’s datasheet); however, different sensor nodes may have different siτe and ki ; the Kalman filter will estimate the values for 0

siτe and ki as well as the relative offsets. The parameters siτe and 0

0

ki vary with humidity, voltage of the power source, ageing and vibration of the oscillator, etc. [47]. This variation makes offline calibration inaccurate in different deployment environments. 4. System analysis 4.1. Kalman pairwise synchronization To dynamically track the clock skew according to temperature changes, we employ a Kalman filter on the clock skew and offset estimates with respect to the TAI time reference. Kalman filter is a two-step estimation algorithm: the first step is to predict the current estimates based on the state model; the second step is to correct the predicted estimates using new measurements based on the computed Kalman gain. According to (2b), (3d), and (5), the Kalman state model is formulated as [57]:

i [n] · Si [n − 1] + Bi · wi [n], Si [n] = A where:



⎤ θi [ n ] Si [n] = ⎣ siτe ⎦, 0 ki

⎡ ⎤

Tu Bi = ⎣ 0 ⎦. 0



1 Ai [n] = ⎣0 0

Tu 1 0

(6)



Tu (τie [n] − τe0 )2 ⎦, 0 1

(7)

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100

The measurement model is based on a two-way sender-receiver scheme, where the slave node i sends a probe packet to the reference node j first, and then the reference j replies back to the slave i:

T j,rx ,i [n] = Ti,tx , j [n] − θi [n] + di j [n],

(8a)

 [n] = T  [n] + θ [n] + d [n], Ti,r i ji j,tx ,i x, j

(8b)

where T j,rx ,i [n] and Ti,tx , j [n] denote the nth probe packet’s send  [n] ing and receiving timestamps, respectively; Ti,r [n] and T j,t x, j x ,i denote the nth reply packet’s receiving and sending timestamps, respectively; dij [n] and dji [n] denote the effective delays (defined as the summation of all the delays on the critical path [32] that affect synchronization performance) related to the probe and reply packets, respectively. Although there is no consensus on the distribution of the delays [58], we assume the effective delay is Gaussian distributed with a mean of μd and a variance of σd2 for theoretical analysis. In reality for MAC layer backoff and retransmissions, Gaussian distribution may not be the best model for the effective delay. The real distribution varies with the type and intensity of the background traffic. Thus, the Kalman based measurement model is formulated as:

 · Si [n] + ui [n], xi [n] = H

(9)

where:

xi [n] =  = H



ui [n] =

(Ti,r x , j [n] − Tj,rx ,i [n] ) − (Tj,t x ,i [n] − Ti,tx , j [n] ) 2 1

0

0



,

,

(10a)

(10b)

d ji [n] − di j [n] . 2

(10c)

Denote the noise variance of the state and measurement models as:

Q  Var(wi [n] ) = σw2 ,

C  Var(ui [n] ) =

σμ2 2

,

(11a)

(11b)

thus, applying the Kalman filter derives the following iterative prediction and update of the state S and the minimum mean square  (MMSE) as: error matrix M

State Prediction: i [n]Sˆi [n − 1|n − 1], Sˆi [n|n − 1] = A

(12a)

Minimum Prediction MSE Matrix:  i [n]M i [n]T + Bi Q Bi T ,  i [n|n − 1] = A  i [n − 1|n − 1]A M

(12b)

Kalman Gain Matrix: i [n] = M  i [n|n − 1]H  T (C + H M  i [n|n − 1]H  T )−1 , K

(12c)

State Correction:  Sˆi [n|n − 1] ), i [n](xi [n] − H Sˆi [n|n] = Sˆi [n|n − 1] + K

(12d)

Minimum MSE Matrix: i [n]H  i [n|n] = (I − K  )M  i [n|n − 1]. M

(12e)

91

4.2. Distributed multi-hop synchronization Overview: the goal of the multi-hop synchronization is to have each node estimate its relative skew and offset with respect to the reference node with a high accuracy. Instead of using a spanning tree that synchronizes leaf nodes poorly due to the propagation of errors along the path of the tree without using all the neighbours’ information, we employ a fully-distributed mechanism where each node only communicates with its neighbours asynchronously. Once a node has synchronized with the reference node, it can convert its physical clock into a logical clock, named the virtual reference time that estimates what the current real reference time is. Nodes outside the communication range of the reference node can synchronize with neighbouring nodes that could provide the virtual reference time thus enabling nodes outside the communication range to synchronize indirectly with the reference node. Since the virtual reference time is only an estimate of the real reference time, there are always synchronization errors in the virtual reference time, and these errors are then propagated to the nodes in higher tiers (i.e., further away from the reference node). To reduce the impact of error propagation by only relying on a single parent node, we plan to fully utilize multiple neighbours that can provide a good virtual reference time. During pairwise synchronization with a neighbouring node, an unsynchronized node can compute its current time estimates to the reference node. When synchronizing with another neighbouring node, the new time estimates to the reference node will be computed. If none of the neighbours is a time reference node, it is better to combine the information from multiple neighbours to estimate the reference time. Thus, we have to determine a weighting coefficient that combines the current and newly computed estimates such that the updated estimates could perform better than the commonly used spanning tree propagation. Algorithm: during two-way sender-receiver based pairwise synchronization, nodes periodically broadcast probe packets including local timestamps and a local synchronization period number incremented each period such that each node resynchronizes with its neighbours at each new synchronization period. Considering the nodes in a two-way sender-receiver scheme, the node that broadcasts probe packets is considered the slave, and its neighbour that receives the probe is considered the master; there is at least one reference node in the network which we assume to be synchronized with the TAI time. Upon receiving a synchronization probe packet, if the neighbouring node (i.e., the master) has been synchronized with a reference node, a reply packet with the same period number is sent back to the sender (i.e., the slave) including its estimated virtual reference time of the received probe and the transmitted reply, along with its estimates with respect to the reference node (i.e., the estimated relative skew and offset, and the corresponding variances derived through pairwise Kalman synchronization), such that the sender can compute new estimates to the reference node via the help of its neighbours. Whenever a reply packet arrives from one of the slave’s neighbours within a synchronization period, the slave node computes the new estimates and then combines the previous estimates from its neighbouring nodes (i.e., the masters). Once a slave node obtains the estimates with respect to the reference node via the help of a master, the slave changes its state from unsynchronized into synchronized. At this point the node has an estimate of its relative offset, to estimate its relative drift, a node has to resynchronize with the reference node every new synchronization period. Whenever a synchronized node updates its current estimates to the reference via any master neighbouring node in a new period, it sets its resynchronized flag to true. The node resets its resynchronized flag to false at the end of the current synchronization period. Since each synchronized master node sends its virtual reference time back to the slave node during pairwise probe response reply,

92

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100

the slave node can synchronize with an estimated reference time based on its synchronized neighbouring nodes, which is equivalent to synchronizing locally to a neighbour (i.e., the master) first using local timestamps, and then converting the pairwise estimates from neighbour to reference as modelled below. Assume slave node i receives a reply packet from a neighbouring master node j. During pairwise synchronization, node i estimates its relative skew and offset with respect to node j as sˆi j and θˆi j , respectively, and then obtains node j’s estimated skew and offset with respect to the reference node r (i.e., sˆ jr and θˆ jr ) and the corresponding variances (i.e., V ar (sˆ jr ) and V ar (θˆ jr )) from the probe reply packet. Thus, node i can compute its new estimated relative skew and offset with respect to the reference node r via the help of neighbour j as:

sˆir( j ) [n] = sˆi j [n] + sˆjr [n],

(13a)

θˆ ( j ) [n] = θˆi j [n] + θˆ jr [n],

(13b)

ir

( j)

ˆ ( j)

where sˆir [n] and θir [n] denote node i’s new estimated relative skew and offset with respect to the reference node r via the help of neighbour j at the nth sample, respectively. Once node ( j) i computes its new estimates to the reference node r (i.e., sˆir ( j) and θˆ ) after pairwise synchronization with neighbour j, node ir

i updates its current estimates. On receiving other neighbours’ replies, node i can combine its current estimates to the reference ( j) node r (denoted as sˆir and θˆir ) with the new estimates (sˆir and ( j) ˆ θ ) to obtain the combined estimates from neighbours (denoted ir

 sˆir

 θˆir ),

as and by introducing weighting coefficients p and q (0 ≤ p, q ≤ 1) such that:

sˆir [n] = psˆir( j ) [n] + (1 − p)sˆir [n − 1],

(14a)

θˆir [n] = qθˆir( j ) [n] + (1 − q )θˆir [n − 1].

(14b)







Since the combined skew estimate sˆir [n] is unbiased, to mini sˆir [n]

mize the variance of

when assuming that the relative skew

( j) estimates sˆir [n] and sˆir [n − 1] among different sample periods are uncorrelated (or with weak correlation), we approximate:







Var sˆir [n] ≈ p2 Var sˆir( j ) [n] + (1 − p)2 Var sˆir [n − 1] .

(15)



 sˆir [n] ,

To minimize Var we take the derivative of (15) with respect to p and set it to zero such that:



p≈

Var sˆir [n − 1]







, Var sˆir( j ) [n] + Var sˆir [n − 1]

(16)

where according to (13a):









Var sˆir( j ) [n] = Var sˆi j [n] + Var sˆjr [n] + 2Cov sˆi j [n], sˆjr [n] . (17) To derive the covariance between estimates sˆi j [n] and sˆ jr [n], we assume that each node’s estimated skew is independent of each other with a mean of μs and a variance of σs2 . Thus, Cov(sˆi j , sˆ jr ) can be simplified as:





   

Cov(sˆi j [n], sˆjr [n] ) = E sˆi j sˆjr − E sˆi j E sˆjr













 

 

(18a)

   

= E sˆr sˆj + E sˆj sˆi − E sˆr sˆi − E sˆ2j − E sˆj − E sˆi

 

E sˆr − E sˆj

(18b) = −σs2 .

(18c)

Based on the assumption of independent clock skew, we could estimate the variance of individual clock skew as:



σ ≈ ˆ s2



Var sˆi j + Var sˆjr 4

,

(19)

such that (17) is simplified as:











Var sˆi j [n] + Var sˆjr [n] Var sˆir( j ) [n] ≈ . 2

(20)

Following the same derivation approach, the coefficient q that  minimizes the variance of the combined offset estimate θˆir is:



q≈

Var θˆir [n − 1]









Var θˆir( j ) [n] + Var θˆir [n − 1]

where according to (13b):





Var θˆir( j ) [n] ≈





,

(21)



Var θˆi j [n] + Var θˆ jr [n]



2

.

(22)

After deriving the weighting coefficients, the combined estimates are computed in (14) to replace the current estimates to the reference as: 

sˆir [n] = sˆir [n],











Var sˆir [n] = Var sˆir [n] ,

  θˆir [n] = θˆir [n], Var θˆir [n] = Var θˆir [n] .

(23)

Until either receiving new probe reply packets from other neighbours with the same synchronization period number or the local timer fires for the next period, node i uses the combined skew and offset estimates in (23) as the current estimates to the reference. The proposed temperature-compensated Kalman based distributed synchronization protocol (TKDS) is summarized in Algorithm 1 where is_synced denotes if the node is in synchronized state, and is_resynced is a flag that indicates if the current node has been resynchronized to any neighbouring master node during a new synchronization period. The resynchronized flag is reset at the end of each synchronization period and is set upon receiving a reply to the probe broadcast in the new period. Neighbour selection: to select multiple neighbours that can provide a good virtual reference time, each node in the network is assigned to a level number initially by a level discovery algorithm shown in Algorithm 2. This level number denotes a node’s shortest hop distance to a reference node. Assume the network is a homogeneous network where each node has the same stability of the quartz. Since synchronization error increases along the number of hops, neighbours with the same or lower level numbers may not improve the estimation accuracy, thus each node only selects its neighbours with a lower level number than itself for pairwise synchronization. We further show how neighbours with the same or lower level numbers degrade the synchronization performance in Fig. 10. 5. Numerical results In this section we validate numerically the models and algorithms we introduced in Section 4. The analysis also allows us to draw conclusions on the impact of temperature change on synchronization performance. We analyse the performance based on 10 0 0 Monte Carlo rounds in Matlab simulating a 10 min trace within constant and variable temperature environments. Many modern sensor nodes are equipped with temperature sensors on the chip capable of periodic measurements of the ambient temperature [59]. Based on the assumption that the reference temperature τe0 is known in Section 3.2, the real skew is computed from

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100

Algorithm 1: Temperature-compensated Kalman distributed algorithm (TKDS). Init() begin set_periodic_timer (sync_ period ); current _estimates = []; // i.e.,est _skew, est _o f f set, est _skew_V ar, est _o f f set _V ar=NULL period_num = 0; is_synced = F alse; is_resynced = F alse; end On_Timer_Fired() begin period_num = period_num + 1; broadcast probe packet with local sending timestamp and the period_num; is_resynced = F alse; end On_Receive_Probe_Packet() begin if is_synced == T rue then timestamp the local received probe packet; compute virtual reference time based on current estimates and the received timestamps using (4); send probe reply with period_num back including virtual reference time and current estimates; end end On_Receive_Probe_Reply_Packet() begin run Kalman pairwise synchronization with the received neighbour’s probe reply in (7), (10), and (12); compute new skew and offset estimates to reference with the help of neighbour in (13) as est _via_neigh; if is_resynced == F alse then is_synced = T rue; is_resynced = T rue; update current _estimates = est _via_neigh; else compute weighting coefficients for local estimates update in (16) and (21); compute combined_estimates using est _via_neigh and current _estimates in (14) and (15); update current _estimates = combined_estimates; end end

the measured temperature disrupted by a Gaussian random noise as in (5). We analyse the synchronization performance (i.e., skew and offset estimation errors) by varying the standard deviations (STD) of the skew noise w[n] in (5) (i.e., random quantization noise affected by temperature sampling) and the measurement noise d in (8) (i.e., the effective delay). The default STDs of skew noise and measurement noise are set to 5 ppm and 100 μs, respectively; the default temperature measurement interval and synchronization period are both set as 1 s. We compare the results with constant temperature based Kalman model [9,10] and the well-known linear regression based protocols [17,25] where the number of beacons for linear regression is 5 and the beacon interval is 1 s. 5.1. Pairwise synchronization As shown in Fig. 1(a), the slave node synchronizes with the reference node in two-way sender-receiver scheme. We compare the synchronization performance (i.e., the skew and offset estimation errors) of the proposed temperature-compensated Kalman filter with the common Kalman filter [9,10] without taking the temperature factor into account, and the other well-known linear regression based protocols [17,25]. We compare the performance

93

Algorithm 2: Node level discovery algorithm. Init() begin initialize_node_num(node_num); if IS_REFERENCE_NODE then node_level = 0; else node_l evel =MAX_INT, neigh_l ist=[]; end end On_Timer_Fired() begin broadcast_node_level_info(node_l evel , node_num); end On_Receive_Level_Discovery_Pkt(neigh_l evel , neigh_num) begin if !IS_REFERENCE_NODE then if neigh_level < node_level then node_level = neigh_level+1; add_neigh_to_list(neigh_list, neigh_num); else remove_neigh_from_list(neigh_list, neigh_num); end end end

in a constant and a variable temperature environment. The clock skew is computed in (5) based on the measured environmental temperature. To simulate a variable temperature environment, assume the slave node’s sampled temperature trace is shown in Fig. 5 when the environmental temperature changes. Assuming the constant temperature environment, Fig. 2(a) shows that the proposed temperature-compensated Kalman filter (labelled as Kalman-Temp) achieves better offset error performance than the commonly used constant-state Kalman filter (labelled as Kalman-CONST, i.e., ACES in [9,10]) at varied measurement noise levels, and the Kalman based estimations (i.e., Kalman-Temp and Kalman-CONST) perform better than linear regression based methods (i.e., FTSP and TSVP). Regarding the skew error performance shown in Fig. 2(b), Kalman-Temp performs better than Kalman-CONST when the measurement noise is small, but performs worse at higher measurement noise since higher measurement noise negatively affects the three states estimation in Kalman-Temp compared with only two states in Kalman-CONST. Moreover, the Kalman based estimations achieve significant skew error improvement over that of linear regression based at high measurement noise. To zoom in the real time series of the skew and offset in one trial when the measurement noise is relatively high, Fig. 3(c) and (d) show the real and estimated offset and skew traces comparison using different synchronization protocols, while Fig. 3(c) and (d) are zoomed in version of Fig. 3(c) and (d) showing the performance without FTSP and TSVP. Fig. 3(d) shows that FTSP and TSVP has large variations on the skew estimations when using linear regression. When increasing the standard deviation (STD) of skew noise w[n] in (5), the offset error of Kalman-Temp is smaller than Kalman-CONST while both are increasing, whereas the linear regression based methods are not as sensitive to the skew noise variation as shown in Fig. 4(a). Fig. 4(b) shows that when skew noise is relatively small, the Kalman-CONST achieves better skew error performance than Kalman-Temp since the skew model is approaching a constant skew model in this scenario. However, when skew noise increases, the Kalman-Temp outperforms KalmanCONST due to better modelling once the skew has more variations. In most applications, a node’s temperature is not constant due to the effect of multiple environmental factors. To analyse the

94

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100

Fig. 1. Simulation topologies of (a) pairwise where slave node 2 synchronizes with master (reference) node 1; (b) two-hops where nodes 2 and 3 synchronize with the reference node 1, and slave node 4 synchronizes with master nodes 2 and 3; (c) grid network with 100 nodes where corner nodes 1, 10, 91, and 100 are reference nodes and each node only connects with its horizontal and vertical neighbours.

Fig. 2. Comparison of the pairwise synchronization offset and skew performance in constant temperature environment while changing the STD of measurement noise when fixing the skew noise STD in a 10 min trace.

synchronization performance in a variable temperature environment simulated in Fig. 5, Fig. 6(a) shows a similar trend as in the constant temperature environment where Kalman-Temp performs better than other methods. Fig. 6(b) shows that Kalman-Temp outperforms Kalman-CONST except at very high measurement noise due to the effect of noise on three states. However, compared with the constant temperature environment performance, Kalman-Temp still achieves a smaller error at high measurement noise since the proposed model is more suitable for variable temperature than constant temperature environment. Fig. 7 shows that when varying the STD of skew noise, Kalman-Temp compensates well with the temperature change to achieve better error performance than that of Kalman-CONST in both offset and skew estimations even when the skew noise is relatively small in comparison with the constant temperature environment performance in Fig. 4. The pairwise synchronization results show that the proposed temperature-compensated Kalman model achieves better synchronization performance than the commonly used constant-states Kalman filter without taking temperature change into consideration. Furthermore, Figs. 2 and 4 show that both the offset and skew depend both on the measurement noise and skew noise suggesting that there is an optimal number of beacons to maximize accuracy. This is shown to be true in the case of linear regression in [5]; our approach bypasses the need for optimizing the number of beacons.

5.2. Distributed multihop synchronization To extend pairwise synchronization into network-wide synchronization, we first show the advantage of the proposed temperature-compensated Kalman distributed algorithm (TKDS) in comparison with other well-known protocols in a small topology, and then show its performance in a large topology. Small topology: as shown in Fig. 1(b) of a two-hops network, in the first hop, nodes 2 and 3 are connected with the reference node 1 but in different environments: node 3 is kept at constant temperature whereas node 2 is subject to a variable temperature as shown in Fig. 5. At the second hop, the slave node 4 is at constant temperature while connecting with both nodes 2 and 3. We analyse the synchronization performance of node 4 when combining the estimates from both neighbouring nodes in comparison with relying only on a single neighbour. Fig. 8(c) shows the synchronization offset error performance when increasing the measurement noise STD. Since node 2 is within a variable temperature environment, its offset error (labelled as Node-2) is higher than that of node 3 (labelled as Node-3) kept at a constant temperature. Since node 4 can not synchronize directly with the reference node 1, the offset error of node 4 is higher than the errors of nodes 2 and 3 when synchronizing either with node 2 (labelled as Node4-2) or node 3 (labelled

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100

95

Fig. 3. Time series of the real skew and the accumulated offset in comparison with the estimated skew and offset using FTSP, TSVP, Kalman-Temp, and Kalman-CONST in constant temperature environment when the measurement noise and skew noise STDs are 10 ms and 5 ppm, respectively.

Fig. 4. Comparison of the pairwise synchronization offset and skew performance in constant temperature environment while changing the STD of skew noise when fixing the measurement noise STD in a 10 min trace.

96

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100

Fig. 5. Variable temperature trace used in the simulations.

as Node4-3). Using the proposed TKDS method by combining all the neighbours’ estimates asynchronously, its offset error (labelled as Node4-23) decreases compared with only synchronizing with either of the neighbours, while approaching the synchronization performance of single hop. In comparison with Kalman-based synchronizations, the performance of linear regression based synchronizations (labelled as Node4-FTSP and Node4-TSVP) degrades significantly as the number of hops increases due to the error propagation along the path of hops. To expand y-axis error performance of Kalman-based synchronizations without FTSP and TSVP with the errorbar showing 95% confidence interval, Fig. 8(c) shows that TKDS achieves the offset error performance even better than that of single hop node 2 when increasing the measurement noise. Regarding the skew error performance, Fig. 8(d) shows that node 2 achieves better skew estimation than node 3 since when the temperature varies, the temperature-based Kalman can better adjust its skew according to the temperature change compared with node 3 kept in a constant temperature environment. Fig. 8(d) zooms in on y-axis with errorbar in 95% confidence interval

to show how TKDS achieves better skew error performance by combining multiple neighbours’ estimates than synchronizing with only a single neighbour. When increasing the STD of skew noise, Fig. 9(a) shows that TKDS (i.e., Node4-23) achieves similar synchronization offset error as that of single-hop nodes 2 and 3, which is better than synchronizing with either of the neighbours only (i.e., Node4-2 or Node4-3). Fig. 9(b) shows that the Kalman-based methods converge to the same skew error performance when increasing the skew noise, while TKDS still achieves better performance compared to synchronizing with a single neighbour when the skew noise is relatively small. The two-hops multihop results show that the proposed TKDS achieves better synchronization performance by combining neighbours’ estimates. Large topology: to show the network-wide synchronization performance in a large topology, we simulate a grid network with 100 nodes where the nodes in the corners are reference nodes as shown in Fig. 1(c). We further assume such network is deployed in a forest-like environment where each node has a variable measured temperature trace different from each other to simulate a real test bed. We compare network offset and skew synchronization performance with the spanning-tree based scheme using different neighbour selection methods in Section 4. Fig. 10 shows the network offset and skew errors of the proposed TKDS by combining estimates from good neighbours with lower levels in network (labelled as Good-Neighbours) in comparison with the performance when using a tree-based (non-distributed) synchronization scheme where a node selects its single best neighbour (i.e., with the shortest path to the reference node) as its parent for pairwise synchronization (labelled as Single-Neighbour). Although the pairwise synchronization scheme is the same (shown in Section 4.1), the network-wide performance of Good-Neighbours is better than Single-Neighbour by combining multiple neighbours estimates asynchronously in a distributed way. Furthermore, Fig. 10 shows that if combining extra estimates from same level neighbours (labelled as Samelevel-Neighbours) or lower level neighbours (labelled as All-Neighbours), the synchronization performance degrades dramatically due to the usage of inaccurate estimates. Note that the scale is logarithmic and that the difference between GoodNeighbours and Single-Neighbour is of approximately 30%.

Fig. 6. Comparison of the pairwise synchronization offset and skew performance in a temperature varying environment while changing the STD of measurement noise when fixing the skew noise STD in a 10 min trace.

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100

97

Fig. 7. Comparison of the pairwise synchronization offset and skew performance in a temperature varying environment while changing the STD of skew noise when fixing the measurement noise STD in a 10 min trace.

Fig. 8. Comparison of the multihop synchronization offset and skew performance of node 4 in Fig. 1(b) while changing the STD of measurement noise when fixing the skew noise STD in a 10 min trace, where nodes 3 and 4 are at constant temperature and node 2 is at variable temperature.

98

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100

Fig. 9. Comparison of the multihop synchronization offset and skew performance of node 4 in Fig. 1(a) while changing the STD of skew noise when fixing the measurement noise STD in a 10 min trace.

Fig. 10. Comparison of the large scale (shown in Fig. 1(c)) network-wide multihop synchronization offset and skew performance while changing the STD of measurement noise when fixing the skew noise STD in a 10 min trace.

6. Conclusion This paper has introduced a new temperature-compensated Kalman based distributed synchronization protocol for WSNs named TKDS. TKDS models clock skew based on its physical characteristics to achieve better synchronization performance in a variable temperature environment. By combining estimates from multiple neighbours, TKDS improves synchronization accuracy compared with using a single neighbour in a distributed multihop network. The synchronization accuracy is compared with other well-known Kalman and linear regression based protocols numerically. It is shown that TKDS achieves high synchronization accuracy by compensating the environmental temperature change online and by combining neighbours estimates asynchronously. References [1] I.F. Akyildiz, W. Su, Y. Sankarasubramaniam, Wireless sensor networks: a survey, Comput. Netw. 38 (12) (2002) 393–422. [2] Y. Wu, Q. Chaudhari, E. Serpedin, Clock synchronization of wireless sensor networks, IEEE Signal Process. Mag. 28 (1) (2011) 124–138.

[3] F. Gong, M.L. Sichitiu, CESP: a power efficient, accurate coefficient exchange synchronization protocol, in: Proc. IEEE Int. Conf. WiSEE, Baltimore, MD, USA, 2013, pp. 1–6. [4] F. Gong, M.L. Sichitiu, CESP: a low-power high-accuracy time synchronization protocol, IEEE Trans. Veh. Technol. 65 (4) (2016) 2387–2396. [5] F. Gong, M.L. Sichitiu, On the accuracy of pairwise time synchronization, IEEE Trans. Wireless Commun. 16 (4) (2017) 2664–2677. [6] F. Gong, Clock Synchronization in Wireless Sensor Networks: Performance Analysis and Protocol Design, North Carolina State University, Raleigh, NC, 2016 Ph.D. Dissertation. Chapter 5. [Online]. Available: http://www.lib.ncsu. edu/theses. [7] T. Schmid, Z. Charbiwala, J. Friedman, Y.H. Cho, M.B. Srivastava, Exploiting manufacturing variations for compensating environment-induced clock drift in time synchronization, in: Proc. ACM SIGMETRICS, Annapolis, MD, USA, 2008, pp. 97–108. [8] Z. Yang, L. He, L. Cai, J. Pan, Temperature-assisted clock synchronization and self-calibration for sensor networks, IEEE Trans. Wireless Commun. 13 (6) (2014) 3419–3429. [9] B.R. Hamilton, X. Ma, Q. Zhao, J. Xu, ACES: adaptive clock estimation and synchronization using kalman filtering, in: Proc. ACM MobiCom, San Francisco, CA, USA, 2008, pp. 152–162. [10] H. Kim, X. Ma, B.R. Hamilton, Tracking low-precision clocks with time-varying drifts using kalman filtering, IEEE/ACM Trans. Netw. 20 (1) (2012) 257–270. [11] C. Lenzen, P. Sommer, R. Wattenhofer, Pulsesync: an efficient and scalable clock synchronization protocol, IEEE/ACM Trans. Netw. 13 (6) (2014) 3419–3429.

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100 [12] H. Dai, R. Han, TSync: a lightweight bidirectional time synchronization service for wireless sensor networks, ACM SIGMOBILE Mobile Comput. Commun. Rev. 8 (1) (2004) 125–139. [13] D. Mills, Network time protocol (ver. 3) specification, implementation and analysis, RFC 1305 (Draft Standard), 1992. [Online]. Available: http://www.ietf. org/rfc/rfc1305.txt. [14] IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems, IEEE Std. 1588-20 08, 20 08. Revision of IEEE Std. 1588-2002, c1-c269. [15] J. Kannisto, T. Vanhatupa, M. Hannikainen, T. Hamalainen, Software and hardware prototypes of the ieee 1588 precision time protocol on wireless lan, Proc. IEEE LANMAN (2005). [16] J. Elson, K. Römer, Wireless sensor networks: a new regime for time synchronization, in: Proc. 1st Workshop Hot Topics Netw., Princeton, NJ, USA, 2002, pp. 149–154. [17] M. Maroti, B. Kusy, G. Simon, A. Ledeczi, The flooding time synchronization protocol, in: Proc. SenSys, Baltimore, MD, USA, 2004, pp. 39–49. [18] C. Lenzen, P. Sommer, R. Wattenhofer, Optimal clock synchronization in networks, in: Proc. SenSys, Berkeley, CA, USA, 2009, pp. 225–238. [19] K.S. Yildirim, A. Kantarci, Time synchronization based on slow-flooding in wireless sensor networks, IEEE Trans. Parallel Distrib. Syst. 25 (1) (2014) 244–253. [20] Drift estimation using pairwise slope with minimum variance in wireless sensor networks, Ad Hoc Netw. 11 (3) (2013) 765–777. [21] Z. Zhong, P. Chen, T. He, On-demand time synchronization with predictable accuracy, in: Proc. IEEE INFOCOM, Shanghai, China, 2011, pp. 2480–2488. [22] L. Ma, H. Zhu, G. Nallamothu, B. Ryu, Z. Zhang, Impact of linear regression on time synchronization accuracy and energy consumption for wireless sensor networks, in: Proc. IEEE MILCOM, San Diego, CA, USA, 2008, pp. 1–7. [23] K. Römer, Time synchronization in ad hoc networks, in: Proc. ACM Int. Symp. Mobile Ad Hoc Netw. Comput., Long Beach, CA, USA, 2001, pp. 173–182. [24] S. Ganeriwal, R. Kumar, M.B. Srivastava, Timing-sync protocol for sensor network, in: Proc. SenSys, Los Angeles, CA, USA, 2003, pp. 138–149. [25] T. Khandoker, D. Huang, V. Sreeram, A low complexity linear regression approach to time synchronization in underwater networks, in: Proc. 8th ICICS, Singapore, 2011, pp. 1–5. [26] M.L. Sichitiu, C. Veerarittiphan, Simple, accurate time synchronization for wireless sensor networks, in: Proc. IEEE Wireless Commun. Netw. Conf., New Orleans, LA, USA, 2003, pp. 1266–1273. [27] T. Schmid, R. Shea, Z. Charbiwala, J. Friedman, M.B. Srivastava, Y.H. Cho, On the interaction of clocks, power, and synchronization in duty-cycled embedded sensor nodes, ACM Trans. Sen. Netw. 7 (3) (2010) 24. [28] L. Schenato, G. Gamba, A distributed consensus protocol for clock synchronization in wireless sensor network, in: Proc. IEEE CDC, New Orleans, LA, USA, 2007, pp. 2289–2294. [29] P. Sommer, R. Wattenhofer, Gradient clock synchronization in wireless sensor networks, in: Proc. IPSN, San Francisco, CA, USA, 2009, pp. 37–48. [30] K. Noh, Q.M. Chaudhari, E. Serpedin, B.W. Suter, Novel clock phase offset and skew estimation using two-way timing message exchanges for wireless sensor networks, IEEE Trans. Commun. 55 (4) (2007) 766–777. [31] M. Leng, Y. Wu, On clock synchronization algorithms for wireless sensor networks under unknown delay, IEEE Trans. Veh. Technol. 59 (1) (2010) 182–190. [32] J. Elson, L. Girod, D. Estrin, Fine-grained network time synchronization using reference broadcasts, Proc. 5th USENIX Symp. Oper. Syst. Des. Implementation (2002) 147–163. [33] G. Cena, S. Scanzio, A. Valenzano, C. Zunino, Implementation and evaluation of the reference broadcast infrastructure synchronization protocol, IEEE Trans. Ind. Inf. 11 (3) (2015) 801–811. [34] K. Noh, E. Serpedin, K. Qaraqe, A new approach for time synchronization in wireless sensor networks: pairwise broadcast synchronization, IEEE Trans. Wireless Commun. 7 (9) (2008) 3318–3382. [35] K. Cheng, K. Lui, Y. Wu, V. Tam, A distributed multihop time synchronization protocol for wireless sensor networks using pairwise broadcast synchronization, IEEE Trans. Wireless Commun. 8 (4) (2009) 1764–1772.

99

[36] T. Schmid, Z. Charbiwala, Z. Anagnostopoulou, M.B. Srivastava, P. Dutta, A case against routing-integrated time synchronization, in: Proc. SenSys, Zurich, Switzerland, 2010, pp. 267–280. [37] Q. Li, D. Rus, Global clock synchronization in sensor networks, IEEE Trans. Comput. 55 (2) (2006) 214–226. [38] L. Schenato, F. Fiorentin, Average timesynch: a consensus-based protocol for clock synchronization in wireless sensor networks, Automatica 47 (9) (2011) 1878–1886. [39] R. Carli, E. Elia, S. Zampieri, A PI controller based on asymmetric gossip communications for clocks synchronization in wireless sensors networks, in: Proc. IEEE CDC, Orlando, FL, USA, 2011, pp. 7512–7517. [40] R. Solis, V.S. Borkar, P.R. Kumar, A new distributed time synchronization protocol for multihop wireless networks, in: Proc. IEEE CDC, San Diego, CA, USA, 2006, pp. 2734–2739. [41] A. Giridhar, P.R. Kumar, Distributed clock synchronization over wireless networks: algorithms and analysis, in: Proc. IEEE CDC, San Diego, CA, USA, 2006, pp. 4915–4920. [42] K.S. Yildirim, A. Kantarci, External gradient time synchronization in wireless sensor networks, IEEE Trans. Parallel Distrib. Syst. 25 (3) (2014) 633–641. [43] J. He, P. Cheng, L. Shi, J. Chen, Y. Sun, Time synchronization in WSNs: a maximum-value-based consensus approach, IEEE Trans. Autom. Control 59 (3) (2014) 660–675. [44] M. Leng, Y. Wu, Distributed clock synchronization for wireless sensor networks using belief propagation, IEEE Trans. Signal Process. 59 (11) (2011) 5404–5414. [45] J. Du, Y. Wu, Distributed clock skew and offset estimation in wireless sensor networks: asynchronous algorithm and convergence analysis, IEEE Trans. Wireless Commun. 12 (11) (2013) 5908–5917. [46] T. Schmid, Z. Charbiwala, R. Shea, M.B. Srivastava, Temperature compensated time synchronization, IEEE Embedded Syst. Lett. 1 (2) (2009) 37–41. [47] M. Xu, W. Xu, TACO: temperature-aware compensation for time synchronization in wireless sensor networks, in: Proc. IEEE MASS, Hangzhou, China, 2013, pp. 122–130. [48] Z. Li, W. Chen, M. Li, J. Lei, Incorporating energy heterogeneity into sensor network time synchronization, IEEE Trans. Parallel Distrib. Syst. 26 (1) (2015) 163–173. [49] M. Mongelli, S. Scanzio, A neural approach to synchronization in wireless networks with heterogeneous sources of noise, Ad Hoc Netw. 49 (2016) 1–16. [50] M. Jin, T. Xing, X. Chen, X. Meng, D. Fang, Y. He, Dualsync: taming clock skew variation for synchronization in low-power wireless networks, in: Proc. IEEE INFOCOM, San Francisco, CA, 2016. [51] N.M. Freris, V.S. Borkar, P.R. Kumar, A model-based approach to clock synchronization, in: Proc. IEEE CDC, Shanghai, China, 2009, pp. 5744–5749. [52] Z. Yang, J. Pan, L. Cai, Adaptive clock skew estimation with interactive multi– model kalman filters for sensor networks, in: Proc. IEEE ICC, Cape Town, South Africa, 2010, pp. 1–5. [53] Z. Yang, L. Cai, Y. Liu, J. Pan, Environment-aware clock skew estimation and synchronization for wireless sensor networks, in: Proc. IEEE INFOCOM, Orlando, FL, USA, 2012, pp. 1017–1025. [54] B. Luo, Y. Wu, Distributed clock parameters tracking in wireless sensor networks, IEEE Trans. Wireless Commun. 12 (20) (2013) 6464–6475. [55] B. Guinot, E.F. Arias, Atomic time-keeping from 1955 to the present, Metrologia 42 (2005) 20–30. [56] R. Strout, The temperature coefficient of quartz crystal oscillators, Phys. Rev. 32 (1928). [57] G. Casella, R.L. Berger, Statistical Inference, vol. 2, second ed., Duxberry, Pacic Grove, CA, USA, 2002. [58] A. Mahmood, R. Exel, T. Sauter, Delay and jitter characterization for software-based clock synchronization over wlan using ptp, IEEE Trans. Ind. Inf. 10 (2) (2014) 1198–1206. [59] J. Polastre, R. Szewczyk, D.E. Culler, Telos: enabling ultra-low power wireless research, in: Proc. 4th Int. Symp. Inf. Process. Sensor Netw., Los Angeles, CA, USA, 2005, pp. 364–369.

100

F. Gong, M.L. Sichitiu / Ad Hoc Networks 62 (2017) 88–100 Fengyuan Gong received the B.S. degree in electrical engineering from the Shanghai Jiaotong University, Shanghai, China, in 2010. He obtained his Ph.D. degree in the Department of Electrical and Computer Engineering at North Carolina State University, Raleigh, NC, in 2016. His current research interests include high precision time synchronization and efficient low-power communications in wireless sensor networks.

Mihail L. Sichitiu received his B.E. and an M.S. in Electrical Engineering from the Polytechnic University of Bucharest in 1995 and 1996 respectively. In May 2001, he received a Ph.D. degree in Electrical Engineering from the University of Notre Dame. He is currently employed as a professor in the Department of Electrical and Computer Engineering at North Carolina State University. His primary research interest is in Wireless Networking with emphasis on ad hoc networking and wireless local area networks.