Time synchronisation is a fundamental service in many distributed systems such as wireless sensor networks. Non-uniform operating temperature among deployed nodes and dynamic variation of the temperature represent the major cause of clock drift in the nodes of a network. Presented is a low-overhead clock synchronisation for WSNs based on a new temperature compensation algorithm (TCA). The TCA is local and uses a temperature sensor to remove the effects of environmental temperature changes and to increase the time between synchronisation intervals. Using the TCA, the 32 KHz unit achieves an effective clock drift of less than 5 ppm over a wide range of operating temperatures (25 to 628C), a significant improvement with respect to the 55 ppm featured without temperature compensation. Introduction: Time synchronisation is a key service in many distributed sensing and actuating systems and sensor networking systems. Synchronisation plays an important role at the single node level, as it is essential to schedule local activities. Moreover, it is also a key enabler at the network level for power minimisation and bandwidth optimisation, among others [1, 2] Network protocols, task scheduling and distributed power management require an accurate knowledge of time, both locally and globally, for minimising communication idleness, as energy consumption of wireless devices can be massively reduced by maximising the interval where nodes are set in sleep mode. Unfortunately, distributed synchronisation in WSNs is more difficult to achieve than for other traditional distributed services (e.g. internet services), because clock accuracy and precision requirements are strict and energy and channel constraints limit the resources available onboard to meet this goal [3] . In addition, a common view of physical time is also a basic requirement for a WSN application to order events that occur in the physical world. In addition, sensor networks make extensive use of synchronisation for sensor data aggregation or distributed task scheduling. For instance, the fusion of distributed sensor data may require information about the chronological order of the sensor observations [4] Traditional synchronisation schemes [5, 6] assume the existence of a global time-reference, usually given by a master clock. WSNs require a way for nodes to synchronise their clocks (i.e. local times) to a global time. Generally this is done periodically with a broadcast message. The quality of the local oscillator on each device affects the relative clock drift with respect to other network nodes, and, consequently, plays a significant role to determine the maximum period at which re-synchronisation must be performed. For example, using a 32KHz clock, a drift of +60ppm adds +1ms offset every 16.6s between timestamps of the local node and of the master. Applications which require a synchronised timestamp with such a resolution need to broadcast synchronisation packets (e.g. SYNC beacons) with this period at least. Controlling the local drift means incrementing this upper limit and permits reducing the rate of the broadcast messages for global synchronisation. Of course, more stable clock sources do exist (i.e. timers based on temperature compensated crystal oscillators (TCXO) [7] or GPS with a PPS signal), but they are too expensive, if we consider a network of hundreds of nodes massively deployed in the field, too power hungry or too limited (e.g. GPS does not work indoors) to be a viable alternative. Frequency stability of a crystal oscillator can be affected by factors which generate two different kinds of drift: (i) short-term and dynamic clock drift and (ii) long-term continuous clock drift. Shortterm instability is mainly due to both environmental and electrical factors such as variations in temperature and supply voltage. When the temporary factor subsides, the clock frequency returns to be aligned with the original value, but a small offset remains in the local time. Long-term instability results from effects such as oscillator aging, and a compensation of the local time should be performed continuously. Temperature change represents the major effect of clock frequency difference among nodes. Usually, common assumptions are that the temperature is similar in all the nodes of the network or at least it is constant over a certain period of time on each node. This assumption is often used to assume constant clock errors and forces synchronisation protocols to adjust too often. In this Letter we introduce a new approach to clock synchronisation for sensor networks based on an innovative temperature compensation
Brunelli et al. REF presented a low-overhead clock synchronization method based on a temperature compensation algorithm.
Temperature compensated time synchronisation in wireless sensor networks
Electronics Letters
Mathematics