Distributed Kalman filter for pre...
Distributed Kalman Filter for Precise and Robust Clock Synchronization in Wireless Networks Fabian Kirsch, Martin Vossiek, Senior Member IEEE Clausthal University of Technology, Institute of Electrical Information Technology, Clausthal-Zellerfeld, D-38678, Germany, email: kirsch@iei.tu-clausthal.de Abstract ��� A novel concept for robust and precise clock synchronization in wireless networks is introduced. The concept is based on a Kalman filter that is parallelly distributed on all network nodes. Each node uses the state estimates of other nodes to determine a local estimate of the global clock. A voting algorithm that evaluates the state estimates of several nodes is used to adjust the virtual global clock master. By avoiding any physical central clock master the distributed global clock is extremely tolerant of single nodes malfunction and no single points of failure exist in the network and protocol. In experiments with an IEEE 802.15.4 (ZigBee-PHY) network it was shown that even with a packet loss of 75% the achieved clock synchronization was always better than 4 ��s. Another advantage of the realized protocol is that it requires only very low basic data traffic. Thus, the concept is ideally suited for time-synchronized sensor networks, ad hoc networks, or wireless time-triggered real- time systems. Index Terms ��� Kalman filtering, networks, radio communication, synchronization. I. INTRODUCTION Distributed wireless systems are currently attracting considerable interest in many technological areas, such as wireless sensor networks, local positioning systems or distributed automation and control systems [1]. Many of these systems require a precise global clock to be able to refer external events, TDMA slots or control cycles to a common time base. The efficiency of TDMA and real time protocols and the quality of a controller very much depends on the quality of synchrony. Thus, very often clock synchronization with an accuracy in the microsecond range is desired. In wireless networks, good synchronization can be accomplished by equipping the nodes with time signal receivers, e.g. GPS, Galileo, LORAN-C, CHAYKA or DCF77 receivers [2]. However, incomplete coverage, long update times and especially power and cost constraints limit the applicability of this approach. Another way to synchronize clocks in spatially distributed network nodes is to implement synchronization protocols. However, most of the protocols that have been developed so far share the disadvantage of relying on a special master node. This master can be a fixed selected node as in NTP (stratum 0) [3], GTP [4] and TPSN [5] or it can be dynamically chosen as in PTP (grandmaster) [6] and FTSP (root election mechanism) [7]. Even with a dynamically selected master several problems remain. A failure of the current master has to be reliably detected. After failure detection, a new master has to be chosen and the time distribution paths have to be reorganized to deliver the global time to all nodes. Usually, synchrony degrades during this process. In addition, switching to another master often leads to a new clock rate for the global time. A synchronization of 10 ��s is lost within 0.25 s if the clock rate of a master changes by 40 ppm without notification. Hence, the reelection of a master is very time-critical. This is a major drawback for networks that consist of simple nodes without a high- quality clock. Hence, for precise synchronized networks it is desirable to establish a common timescale whose synchronization is not affected by the condition or failures of single nodes and where reelections of master clock sources are avoided. In this paper, a novel concept for robust and precise clock synchronization in wireless networks is introduced which solves the above-mentioned challenges. Our synchronization protocol does not depend on a master node - neither a statically chosen master node, nor a dynamically elected one. II. DEFINITION OF THE SYNCHRONIZATION PROBLEM In a wireless network, each node has its own local clock. A clock consists of an oscillator and a counter that relates integer numbers to points in physical time. We now think of the local time as a differentiable continuation ( ) lock t t of this point-wise relation. Each of the N nodes is given a function k f that transforms its local time lock t to a global time estimate ( ( ) ( )) k ge k t tlock t f t k = ��� ` . (1) The variable t denotes the real physical time. The error of synchronization ,m k err between two nodes k and m is defined as ( ) ( ( ) ( ) ( k loc m k t f t t f tlocm r t)) e rk,m = ��� . (2) A synchronization protocol should minimize the objective function g(t), which is the weighted mean square error of the synchronization of all nodes: 978-1-4244-2699-7/09/$25.00 ��2009 IEEE 483 RWS 2009 TU3B-3 978-1-4244-2699-7/09/$25.00 ��2009 IEEE 482 RWS 2009