EURASIP Journal on Embedded Systems
Volume 2009 (2009), Article ID 186406, 17 pages
doi:10.1155/2009/186406
Research Article

Firefly Clock Synchronization in an 802.15.4 Wireless Network

1Institute of Computer Engineering, Vienna University of Technology, 1040 Vienna, Austria
2Mobile Systems Group, Institute of Networked and Embedded Systems, University of Klagenfurt, 9020 Klagenfurt, Austria

Received 2 September 2008; Revised 19 February 2009; Accepted 30 March 2009

Academic Editor: Volker  Turau

Copyright © 2009 Robert Leidenfrost and Wilfried Elmenreich. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

This paper describes the design and implementation of a distributed self-stabilizing clock synchronization algorithm based on the biological example of Asian Fireflies. Huge swarms of these fireflies use the principle of pulse coupled oscillators in order to synchronously emit light flashes to attract mating partners. When applying this algorithm to real sensor networks, typically, nodes cannot receive messages while transmitting, which prevents the networked nodes from reaching synchronization. In order to counteract this deafness problem, we adopt a variant of the Reachback Firefly Algorithm to distribute the timing of light flashes in a given time window without affecting the quality of the synchronization. A case study implemented on 802.15.4 Zigbee nodes presents the application of this approach for a time-triggered communication scheduling and coordinated duty cycling in order to enhance the battery lifetime of the nodes.

1. Introduction

In South-East Asia, huge swarms of fireflies synchronously emit light flashes to attract mating partners [1]. This paper describes the adaption of the underlying biological principle for a robust self-stabilizing distributed synchronization in wireless sensor networks.

An ensemble of nodes is synchronized in order to execute a collision-free communication schedule following a time-triggered paradigm [2]. The basic element of a time-triggered system is a global timebase that is distributed among the nodes through clock synchronization. In order to provide a common timebase we propose the application of Reachback Firefly Algorithm (RFA), which is a Firefly-inspired algorithm that works despite the limitations of current radio controllers, which are deaf to incoming transmissions while in sending mode. This deafness problem is mitigated by distributing the timing of light flashes in a given time window. Using the global timebase, communication activities are scheduled according to a predefined, periodic scheme. This simple but robust scheme enables the design of dependable distributed systems and simplifies system verification and diagnosis. Furthermore, the global synchronicity is used to enable synchronized sleep schedules in a wireless network cluster which can save a considerable amount of energy at each node. This is especially useful in situations with low duty-cycles, for example, a sensor network that is utilizing only a fraction of its available bandwidth. Due to the a priori known message schedule, the synchronized nodes are then able to predict the timing of incoming messages and can turn off their receivers when no transmissions of interest are scheduled. Since listening on the channel is a significant energy consumer of a typical wireless sensor node, the overall consumer power can thus be reduced in favor of battery lifetime. The global time can also support the application in tasks like timestamping, synchronous measurements, and timely coordinated distributed actions.

As a proof of concept, the algorithm has been evaluated by simulation and in a case study consisting of a network of battery-powered low-cost nodes based on an off-the-shelf IEEE 802.15.4 MAC layer. The evaluation results in this paper give realistic figures for the precision of the clock synchronization and the achievable savings in power consumption.

The rest of the paper is structured as follows. Section 2 describes the basic features and operation of the RFA. Section 3 presents the design of our approach consisting of clock synchronization, a modified RFA and an energy saving scheme. Sections 4 and 5 describe the evaluation of a case study implementation by simulation and on real hardware. Results are discussed in Section 6. Related work is treated in Section 7. The paper is concluded in Section 8.

2. Reachback Firefly Algorithm

The RFA was introduced in [3] and supports scalability, graceful degradation, and a simple calculation. The algorithm can be classified as a self-stabilizing distributed push-based clock synchronization algorithm. The advantage is that it naturally provides self-stabilization, that is, in any initial configuration, the clocks eventually become synchronized. The concept is based on the Pulse-Coupled Biological Oscillators (PCO) phase advance synchronization model [4], but with the difference that it is more appropriate for the practical implementation in wireless networks. For instance, the following assumptions from the original PCO model make a practical application very difficult. ( 1 ) The oscillators have identical dynamics. ( 2 ) Nodes can instantaneously fire. ( 3 ) Every firing event must be observed immediately. ( 4 ) All computations are performed perfectly and instantaneously.

To understand the principle behind the main concept of the PCO model, consider the following simple example: Assume two persons 𝐴 and 𝐵 want to synchronize their wrist watches but can only inform the other one if the own watch indicates twelve o'clock. Let 𝑐 𝐴 and 𝑐 𝐵 denote the time of the persons' clocks. Every time a person is notified, it advances the own watch by a factor (in our example 1 . 2 5 ) to at most twelve o'clock. The higher, the multiplication factor, the faster the clocks converge, but the system becomes less robust to faulty notifications then. This algorithm describes the simplified phase advance synchronization model of the fireflies, which is described in more detail in the next section. Based on the initial configuration 𝑐 𝐴 = 1 2 : 0 0 and 𝑐 𝐵 = 8 : 0 0 , Table 1 shows that after 5 periods the clocks are synchronized.

tab1
Table 1: A demonstration of the PCO model. The columns correspond to the ongoing time sequence.

However, in the case all clocks are synchronized, they will indicate the clock event at the same time. Using a broadcast communication medium, this causes message collisions, and a “deafness” problem in many wireless systems, since standard wireless transmitters cannot receive messages while being in transmission mode.

The problem can be bypassed by sending the synchronization messages with a random offset, while transmitting the particular offset with the message. The receiver can then reconstruct the intended synchronization instant and perform a clock adjustment with respect to the received offset values. Obviously, this random offset results in an out-of-order reception of synchronization messages which causes a problem in the case of the simple synchronization approach. A solution to this problem is to gather all synchronization events until reaching the period end and then react to the received time information from the last period. This idea was introduced in [3] and is called reachback response. However, a reachback response variant of the mentioned simple synchronization approach then equals the below described RFA algorithm with 𝛼 = and is proven in Lemma 3.7 to be unfeasible for clock synchronization.

The formal description is based on the phase variable 𝜙 [ 0 , 1 ] . This variable is characterized by (i) 𝑑 𝜙 / 𝑑 𝑡 = 1 / 𝑇 , where 𝑇 denotes the cycle period and (ii) 𝜙 = 0 at the beginning of a cycle. Let 𝑥 = 𝑓 ( 𝜙 ) denote the state variable corresponding to the charge of a firefly. The authors of the PCO model have proven that the state function 𝑓 [ 0 , 1 ] [ 0 , 1 ] must be a smooth, monotonically increasing, and concave down function in order to achieve synchronicity. In [4], Mirollo and Strogatz have stated a general state function as shown in (1) whereas the form of the curve depends on a parameter named dissipation factor, denoted by 𝑏 , and measures the extent to which 𝑓 ( 𝜙 ) is concave down. Figure 1 visualizes the state function for different dissipation factors, 1 𝑓 ( 𝜙 ) = 𝑏 𝑒 l n 1 + 𝑏 1 𝜙 w i t h 𝑏 > 0 . ( 1 ) The coupling between the oscillators is defined by the firing function 𝑔 ( 𝜙 ) and depends on the state function and the pulse strength 𝜀 , where 𝑓 1 denotes the inverse state function 𝜙 n e w = 𝑔 ( 𝜙 ) = m i n 1 , 𝑓 1 ( 𝑓 ( 𝜙 ) + 𝜀 ) . ( 2 ) The firing function is calculated immediately after an oscillator receives a firing event (or flash in case of a firefly). We further use the term of phase advance to define the increase in the phase domain, denoted by Δ ( 𝜙 ) = 𝑔 ( 𝜙 ) 𝜙 . Due to the concave down state function, a constant addition in the state-domain results in a variable increase in the phase-domain where a phase advance in the beginning of a cycle is smaller than later in the cycle.

186406.fig.001
Figure 1: The state function dependent on different dissipation factors.

To combat the assumption problems of the PCO model in wireless networks, the RFA additionally uses the notion of a reachback response and pre-emptive message staggering. Pre-emptive message staggering means that a node broadcasts its synchronization message with some random time offset before it reaches the period end and thus is able to gather the time information of all other nodes during a period with a lower probability of message collisions.

In the original PCO model, an oscillator immediately reacts to each firing event. In contrast, the reachback response records the timestamps of all received firing events and calculates an overall phase jump once at the end of each period which is then applied at the beginning of the next cycle. Thus, if a node reaches the period end, it “reaches back in time” and reacts to the firing events of the past period. This principle is visualized in Figure 2.

fig2
Figure 2: Comparison of (a) the original PCO model and (b) the RFA. In the PCO-model, an oscillator immediately reacts to a firing event. In contrast, The RFA applies the overall phase jump at the beginning of the next cycle: Δ = Δ ( Δ ( 𝜙 1 ) + 𝜙 2 ) .

A further problem in the PCO model occurs in the case of an already synchronized network comprising several nodes. If so, all nodes will trigger the transmission event for the synchronization message at the same time. As a result, the messages will collide and the collision avoidance mechanism of the CSMA/CA scheme takes effect. The resulting delay jitter then can be avoided by using MAC timestamping. However, the backoff scheme of the IEEE 802.15.4 standard [5] allows to backoff a message at most 5 times which results in a maximum backoff time of at most 36.48 milliseconds (at 2.4 GHz). Since the serialization delay of a full message is at most 4.256  milliseconds (133 bytes at 250 kbps), there can be at most 8 active wireless nodes without losing messages in the best case. Therefore, a bigger network comprising more than 8 nodes in the same broadcast domain requires an additional message staggering delay at an upper layer. A second reason for the additional message staggering is that the original IEEE 802.15.4 standard does not provide an MAC timestamping mechanism and thus does not allow to reduce the delay jitter due to the backoff scheme. The only way to reduce the delay jitter then was to modify the default values of some MAC specific attributes in order to switch off the backoff mechanism. To avoid the resulting higher probability of transmission failures, the pre-emptive message staggering explicitly adds a timestamped random transmission delay to the firing messages at the application layer.

3. Applying RFA to Wireless Sensor Networks

The principal purpose of many protocols used in sensor networks is aimed at reducing the consumed power through synchronized sleep schedules. Such an approach is also referred to as a low duty-cycle concept where the transceiver module of all nodes is periodically activated only for a short time with a period length from seconds up to hours. Our concept allows to perform duty-cycling in a more effective way by utilizing a time-triggered approach where a node takes advantage of the a priori known transmission events. These events are globally coordinated by the use of rounds stored in a file called Round Description List (RODL) file. In the current implementation such a round corresponds to a complete cycle of our synchronization algorithm. A round is further divided into a number of slots. Every node in a network must have its own RODL file and statically assigns a communication activity to each slot in each round. This allows the setup of a collision-free communication and further improves the energy consumption by switching off the transceiver if it is not required. Figure 3 shows the time diagram of a time-triggered approach for a single node. Therein, a period is subdivided into several slots whereas each slot corresponds to either a receiving slot, a sending slot, an execution slot, or an idle slot. Concerning the energy awareness, the most important slots are the receiving slots since they determine how much energy is spent on listening and receiving. In the diagram, the first and the second slot are assigned to be receiving slots. Note that the active time for the receiver unit differs between these slots. This comes from the automatic deactivation after the receiver has recognized the end of a transmission. The parameter 𝑤 denotes the synchronization window and guarantees that the receiver module is enabled some time prior before any transmission takes place.

186406.fig.003
Figure 3: The principle of the time-triggered approach.

The time-triggered approach requires the notion of a global time which is provided by the RFA clock synchronization algorithm. Note that the algorithm can only approximate the global time. The best achievable precision Π in an ensemble of clocks is lower bounded to the convergence function Φ of the synchronization algorithm and the maximum drift offset Γ = 2 𝜌 𝑇 , where 𝜌 denotes the maximum drift rate of all clocks in that ensemble. This is also known as the synchronization condition Π Φ + Γ . In our approach, the convergence function is defined by the RFA and heavily depends on the maximum delay jitter 𝜖 which is the maximum absolute deviation of the delay a message encounters during the communication.

In order to get promising results, the global time must be approximated with a very high precision. One way is to minimize the drift offset. This can either be done by using high quality crystal oscillators or a more frequent resynchronization. Both approaches have their drawbacks, because in mass production, crystal oscillators would be expensive compared to the cheap internal RC-oscillators in low-cost nodes. Secondly, a shorter period time results in the exchange of more synchronization messages in the same time and thus would affect the energy consumption. Alternatively, the reduction of the maximum drift rate 𝜌 can also be achieved by a rate correction algorithm. In our approach, this algorithm is performed in the digital domain and makes use of the concept of virtual clocks. A virtual clock abstracts the physical clock by the use of macroticks. A macrotick comprises several microticks which are generated by a physical clock. The principle of this concept is to change the number of microticks representing a macrotick in order to adjust the granularity and frequency of the virtual clock. In the current implementation a macrotick corresponds to a complete cycle length. Thus, the duration of the periods can easily be changed by adjusting the threshold value of the physical timer/counter.

3.1. Clock State Correction

The clock state synchronization is established by the RFA model and uses the definition of the smooth, monotonically increasing, and concave down state function of (1) to calculate the overall phase advance Δ . Consider the dissipation factor 𝑏 > 1 and the pulse strength within 0 < 𝜀 < 1 , then the phase advance equals Δ ( 𝜙 ) = m i n 1 , 𝑓 1 ( 𝑓 ( 𝜙 ) + 𝜀 ) 𝜙 . ( 3 ) The direct implementation of all these functions would result in a time-consuming calculation process. Therefore, we simplified the equation by inserting the inverse function 𝑓 1 ( 𝑥 ) = ( 𝑒 𝑏 𝑥 1 ) / ( 𝑒 𝑏 1 ) in (3). Let 𝛼 = 𝑒 𝜀 𝑏 and 𝛽 = ( 𝛼 1 ) / ( 𝑒 𝑏 1 ) , then (3) can be transformed to Δ ( 𝜙 ) = m i n ( 1 , 𝛼 𝜙 + 𝛽 ) 𝜙 . ( 4 ) Assuming a strong dissipation factor 𝑏 1 and a small pulse strength s.t. 0 < 𝜀 = 𝑏 1 , then we can replace 𝑒 𝜀 𝑏 by the first-order approximation of the Taylor expansion 1 + 𝜀 𝑏 and thus 𝛽 is negligible. The phase advance then can be reduced to Δ ( 𝜙 ) = m i n ( 1 , 𝛼 𝜙 ) 𝜙 . ( 5 ) As a result, we have a linear Phase Response Curve (PRC), where the coupling factor 𝛼 specifies the strength of coupling between the oscillators and depends on the product of the dissipation factor 𝑏 and the pulse strength 𝜀 . This result is similar to the simplified firing function described in [3].

In contrast to the original RFA algorithm, our approach achieves a better synchronization precision and a faster convergence time by indirectly performing a clustering of the received synchronization events. This is done by ignoring all events which are within the phase advance of the last event to which a node reacted. In fact, this corresponds to the introduction of a short refractory period. Additionally, we do not allow a node to react to firing events which would originally occur after the node reached the period end. This ensures that in the case of synchronized nodes, the fastest node then does not advance its phase anymore resulting in a better precision. The algorithm is formally analyzed in more detail and guarantees network synchronization as long as the bounds for several parameters are maintained. Algorithm 1 explains the behavior of this extended RFA (E-RFA) algorithm with the use of pseudocode. The refractory period is implemented by the condition in Line 9. The variable eventset contains the correct phase of all received firing messages and Φ r n d denotes the random amount for the preponed transmission with at most the maximum, respectively, minimum message staggering delay Φ m a x m s d , respectively, Φ m i n m s d .

Since the purpose of this work should demonstrate that such a synchronization approach works with an off-the-shelf communication stack without MAC-timestamping, we have to expect a delay jitter in the order of milliseconds due to the uncertainty in the application and MAC layer. It should be mentioned that Lundelius and Lynch have shown in [6] that in the presence of a maximum delay jitter 𝜖 , an assemble of 𝑁 clocks cannot be synchronized to a precision better than 𝜖 ( 1 1 / 𝑁 ) .

Lower Bound for the Coupling Factor 𝛼
We assume that every processor 𝑝 𝑖 consists of a hardware clock 𝐻 𝐶 𝑖 ( 𝑡 ) which generates the phase 𝜑 𝑖 ( 𝑡 ) . This clock stays within a linear envelope of the real time. Note that whereas the hardware clock continuously increases, the phase is periodically reset to 0 with respect to 𝜑 𝑖 ( 𝑡 ) 𝐻 𝐶 𝑖 ( 𝑡 ) + o 𝑠 𝑖 ( 𝑡 ) ( m o d Φ 𝑡 ) where o 𝑠 𝑖 ( 𝑡 ) denotes a dynamic offset value which changes due to the state correction algorithm. Φ 𝑡 represents the granularity of the hardware clock which corresponds to the synchronization period 𝑇 . We therefore assume that there exists a positive constant 𝜌 (maximum drift rate) such that ( Φ 𝑡 / 𝑇 ) / ( 1 + 𝜌 ) 𝑑 𝜑 𝑖 ( 𝑡 ) / 𝑑 𝑡 ( Φ 𝑡 / 𝑇 ) / ( 1 𝜌 ) . Note that this definition of the bounded drift simplifies the calculation of the precision and may differ from literature. We further assume a fully connected network in which the message delay 𝑑 is always in the range 𝑑 [ 𝜍 , 𝜍 + 𝜖 ] , where 𝜍 denotes the constant part and 𝜖 the maximum delay jitter of the communication delay in real time. The lower bound for 𝛼 in an ensemble of nodes in a fully connected network then depends on the maximum drift rate 𝜌 , the message staggering delay Φ m s d , and the communication delay 𝑑 . Note that all parameters with a preceding Φ are defined with respect to Φ 𝑡 . However, for simplifaction we now always assume that Φ 𝑡 is normalized to 1 . Let 𝑟 m a x , respectively, 𝑟 m i n denote the maximum, respectively, minimum relative message staggering delay 𝑟 m a x = Φ m a x m s d / Φ 𝑡 and 𝑟 m i n = Φ m i n m s d / Φ 𝑡 . We now show that in the case of two clocks, the modified RFA provides a bounded precision Π . Therefore, Π ( 𝜑 ) = m a x ( | 𝑟 𝑡 𝜑 𝑗 = 𝜑 𝑟 𝑡 𝜑 𝑖 = 𝜑 | ) for 𝜑 [ 0 , 1 ) denotes the maximum time difference among all nodes 𝑝 𝑖 𝑝 𝑗 in real time units between the time 𝑝 𝑖 reached 𝜑 and the time 𝑝 𝑗 reached 𝜑 .

Lemma 3.1. Let 𝑅 = ( 1 + 𝜌 ) / ( 1 𝜌 ) and Γ = 2 𝜌 𝑇 be the drift offset. In the case of two clocks and no message loss, if the coupling factor 𝛼 is lower bounded to 𝛼 > ( 1 𝑟 m a x ( 𝑅 1 ) ( Π 𝑈 𝜍 ) / ( 𝑇 ( 1 𝜌 ) ) ) 1 and 𝜌 < 1 / 7 , then for 𝜑 [ 0 , 1 ) and ( Π 𝑈 + 𝜍 + 𝜖 ) / ( 𝑇 ( 1 𝜌 ) ) < 𝑟 m i n 𝑟 m a x < 1 / 2 , Algorithm 1 keeps the network synchronized with a worst case precision bounded to | | Π | | ( 𝜑 ) Π 𝑈 = 1 + 𝑟 m a x Γ + 𝜖 𝑅 + m a x Γ 𝑟 m a x , 𝜍 𝑅 . ( 6 )

Proof. Assume the clocks are initially synchronized to Π 𝑈 Π Π 𝑈 . W.l.o.g. let 𝑝 𝑖 be the faster node. We further use 𝑝 𝑖 as the reference for the precision Π ( 𝜑 ) = 𝑟 𝑡 𝜑 𝑗 = 𝜑 𝑟 𝑡 𝜑 𝑖 = 𝜑 , where 𝑟 𝑡 𝜑 𝑗 = 𝜑 denotes the real time when 𝑝 𝑗 's phase 𝜑 𝑗 reached 𝜑 . We further assume that the next time 𝑝 𝑖 reaches the threshold 1 is at time 𝑡 = 0 . Let Π 0 = Π ( 0 ) be the corresponding precision at 𝑡 = 0 . For 𝑡 0 we then have 𝜑 𝑖 ( 𝑡 ) = 1 + 𝑡 / ( 𝑇 ( 1 𝜌 ) ) and 𝜑 𝑗 ( 𝑡 ) = 1 + ( 𝑡 Π 0 ) / ( 𝑇 ( 1 + 𝜌 ) ) . Let 𝑟 𝑖 , respectively, 𝑟 𝑗 denote the relative message staggering delay the node 𝑝 𝑖 , respectively, 𝑝 𝑗 has calculated for the last transmission. If the last fire event of 𝑝 𝑖 was at 𝜑 𝑖 = 1 𝑟 𝑖 , then with respect to the communication delay 𝑑 , 𝑝 𝑗 received the phase at 𝜑 r e c v 𝑗 = 1 + ( 𝑟 𝑖 𝑇 ( 1 𝜌 ) + 𝑑 Π 0 ) / ( 𝑇 ( 1 + 𝜌 ) ) and consequently adds the offset 𝑟 𝑖 leading to 𝜑 r e 𝑗 = 1 + 𝑟 𝑖 ( 1 1 / 𝑅 ) + ( 𝑑 Π 0 ) / ( 𝑇 ( 1 + 𝜌 ) ) . Similarly, a fire event from 𝑝 𝑗 with offset 𝑟 𝑗 is received by 𝑝 𝑖 at phase 𝜑 r e 𝑖 = 1 𝑟 𝑗 ( 𝑅 1 ) + ( 𝑑 + Π 0 ) / ( 𝑇 ( 1 𝜌 ) ) . Let 𝜑 r e 𝑗 , m i n , 𝜑 r e 𝑗 , m a x , 𝜑 r e 𝑖 , m i n , 𝜑 r e 𝑖 , m a x be the minimum, respectively, maximum possible phases of the calculated firing events. If 𝛼 > m a x ( 1 / 𝜑 r e 𝑖 , m i n , 1 / 𝜑 r e 𝑗 , m i n ) , then it is guaranteed that Δ ( 𝜑 r e 𝑖 ) = 1 𝜑 r e 𝑖 , respectively, Δ ( 𝜑 r e 𝑗 ) = 1 𝜑 r e 𝑗 . Since 𝜑 r e 𝑖 , m i n < 𝜑 r e 𝑗 , m i n , we have 𝛼 > 1 / 𝜑 r e 𝑖 , m i n as stated.
Based on the current precision Π 0 and the phase advance of 𝑝 𝑖 and 𝑝 𝑗 at time 𝑡 = 0 labeled by Δ 𝑖 = Δ ( 𝜑 r e 𝑖 ) and Δ 𝑗 = Δ ( 𝜑 r e 𝑗 ) , we are able to calculate the precision Π n e x t the next time 𝑝 𝑖 reaches the threshold. That is, Π n e x t = Π 0 + Γ + 𝑇 ( Δ 𝑖 ( 1 𝜌 ) Δ 𝑗 ( 1 + 𝜌 ) ) . However, we have to distinguish between three cases depending on Π 0 . In detail, if Π 0 [ 0 , Π 𝑈 ] , then ( 1 ) Δ 𝑖 = 0 and Δ 𝑗 > 0 , or if Π 0 [ 0 , Γ ) , then also ( 2 ) Δ 𝑖 > 0 and Δ 𝑗 > 0 , or finally if Π 0 [ Π 𝑈 , 0 ] , then due to Line 4 of Algorithm 1 we have ( 3 ) Δ 𝑖 > 0 and Δ 𝑗 = 0 . Note that the overlapping of ( 1 ) and ( 2 ) is volitional, because if Π 0 [ 0 , Π 𝑈 ] , then both cases can occur and hence must be considered. Further note that the bound of Γ ensures that the interception point of the phase of both nodes is within the last period. In order to keep the clocks within the precision, the inequality Π 𝑈 Π n e x t Π 𝑈 must be valid for all three cases. From the first case we get Π 𝑈 ( 1 + 𝑟 m a x ) Γ + 𝜍 + 𝜖 and 𝑟 m i n 1 ( Π 𝑈 + 𝜍 ) / Γ . From the third case it follows Π 𝑈 ( 1 + 𝑟 m a x ) Γ 𝜍 and 𝑟 m i n 1 ( Π 𝑈 𝜍 𝜖 ) / Γ . Note that 𝑟 m i n is always valid due to the definition of Π 𝑈 . From the second case, it can be derived that Π 𝑈 ( 1 + 2 𝑟 m a x ) Γ + 𝜖 and 𝑟 m i n ( 𝜖 Π 𝑈 ) / 2 Γ . Again, Π 𝑈 ensures that 𝑟 m i n is valid. The worst case precision with respect to these three cases then equals Π 𝑈 = ( 1 + 𝑟 m a x ) Γ + 𝜖 + m a x ( Γ 𝑟 m a x , 𝜍 ) .
Note that the correctness of the proof requires that a node advances its phase at most once per period. However, if Π 0 > 0 , then 𝑝 𝑗 may initiate a firing event after 𝑝 𝑖 already passed the threshold. Simply setting 𝑟 m i n ( Π 𝑈 + 𝜍 + 𝜖 ) / ( 𝑇 ( 1 𝜌 ) ) avoids this effect.
In order to get the worst case precision, we further have to incorporate the precision (I) Π ( Δ 𝑖 ) and (II) Π ( Δ 𝑗 ) for all three mentioned cases. In detail, for Π 0 [ 0 , Π 𝑈 ] we additionally have to analyze for case ( 1 ) if the equation Π 𝑈 Π 0 Δ 𝑗 ( 1 𝜌 ) 𝑇 Π 𝑈 holds and for case ( 2 ) , if Π 𝑈 ( Δ 𝑖 Δ 𝑗 ) ( 1 + 𝜌 ) 𝑇 + Π Π 𝑈 and Π 𝑈 Π ( Δ 𝑗 Δ 𝑖 ) ( 1 𝜌 ) 𝑇 Π 𝑈 are valid. Similarly for Π 0 [ Π 𝑈 , 0 ] it must be ensured that Π 𝑈 Δ 𝑖 ( 1 + 𝜌 ) 𝑇 + Π Π 𝑈 . From these equations we can derive the following additional bounds: ( 𝑅 2 ) / ( 4 3 𝑅 ) 𝑟 m a x 1 / ( 𝑅 1 ) , and Π 𝑈 ( 𝜍 + 𝜖 ) 𝑅 Γ 𝑅 𝑟 m i n . Therefore, if we want 𝑟 m a x bounded between [ 0 , 1 ] , then 𝜌 < 1 / 7 must hold. Furthermore, in the case of 𝜌 = 0 , we have to adapt the worst case precision to Π 𝑈 = ( 1 + 𝑟 m a x ) Γ + 𝜖 𝑅 + m a x ( Γ 𝑟 m a x , 𝜍 𝑅 ) which now equals the worst case upper bound, since all possible cases were considered.
Finally, it should be mentioned that the maximum relative message staggering delay 𝑟 m a x must be smaller than 1 / 2 . Otherwise, assume the case where both nodes are initially 1 / 2 apart. Then both nodes will never perform a phase advance due to Line 4 of the algorithm.

Note that in the case of a fully connected network comprising more than two nodes, all nodes synchronize to the fastest one due to Line 4 and Line 9 of Algorithm 1. Especially the condition 𝜑 l a s t + 𝛿 l a s t < 𝜑 𝑗 in Line 9 ensures if a node advances its phase due to some received firing event 𝜑 𝑗 , then all events immediately following some short time after 𝜑 𝑗 are ignored. This condition is necessary. Otherwise, assume 𝑛 nodes are perfectly synchronized. Consequently, a node would perform 𝑛 times a phase advance, which results in a mutual excitation in the case 𝑛 is very large.

Theorem 3.2. Let 𝑅 = ( 1 + 𝜌 ) / ( 1 𝜌 ) and Γ = 2 𝜌 𝑇 be the drift offset. In the case of 𝑛 2 clocks and no message loss, if the coupling factor 𝛼 is lower bounded to 𝛼 > ( 1 𝑟 m a x ( 𝑅 1 ) ( Π 𝑈 𝜍 ) / ( 𝑇 ( 1 𝜌 ) ) ) 1 and 𝜌 < 1 / 7 , then for 𝜑 [ 0 , 1 ) and ( Π 𝑈 + 𝜍 + 𝜖 ) / ( 𝑇 ( 1 𝜌 ) ) < 𝑟 m i n 𝑟 m a x < 1 / 2 , Algorithm 1 keeps the network synchronized with a worst case precision bounded to | | Π | | ( 𝜑 ) Π 𝑈 = 1 + 𝑟 m a x Γ + 𝜖 𝑅 + m a x Γ 𝑟 m a x , 𝜍 𝑅 . ( 7 )

Corollary 3.3. If a fully connected network comprises only of perfect clocks ( 𝜌 = 0 ) and the communication network suffers from no delay jitter ( 𝜍 = 𝜖 = 0 ), then the network keeps synchronized with a precision of Π = 0 , if 𝛼 > 1 .

Note that Corollary 3.3 states that it is sufficient that the network is connected.

Corollary 3.4. If a fully connected network comprises only of perfect clocks ( 𝜌 = 0 ) and the communication network suffers only from delay jitter ( 𝜖 > 0 , 𝜍 = 0 ), then the network keeps synchronized with a precision of | Π | 𝜖 , if 𝛼 > 𝑇 / ( 𝑇 𝜖 ) .

Corollary 3.5. If a fully connected network comprises of clocks with a maximum drift rate of 𝜌 < 1 / 7 and the network suffers from no communication delay ( 𝜍 = 𝜖 = 0 ) and 𝑟 m a x = 1 / 2 , then the network keeps synchronized with a precision of | Π | 2 Γ , if 𝛼 > ( 1 𝜌 ) / ( 1 6 𝜌 ) .

Upper Bound for the Coupling Factor 𝛼
One may ask why not setting 𝛼 = such that a node immediately adjusts its phase to a neighboring clock every time receiving a firing message from this clock. However, the following lemmata shows that there exists a basic upper bound which holds for every network.

Definition 3.6. A firing configuration 𝐶 ( 𝑁 , 𝑘 , 𝑚 ) = ( 𝜑 0 , 𝑚 ; 𝜑 1 , 𝑚 Δ 𝑘 , 𝑚 𝜑 𝑛 1 , 𝑚 ) of a fully connected network 𝑁 comprising n nodes is defined to be the concatenation of the phase 𝜑 𝑖 , 𝑚 = 𝜑 𝑖 ( 𝑡 ) of node 𝑝 𝑖 at the time 𝑡 when 𝑝 𝑘 just reached the threshold for the 𝑚 th time and consequently applied the phase advance Δ 𝑘 , 𝑚 .

Lemma 3.7. In a fully connected network 𝑁 comprising of 𝑛 = 2 perfect clocks, if the coupling factor 𝛼 3 / 2 , then the nodes may never become synchronized.

Proof. The proof is based on the fact that if 𝛼 is too large, then the nodes will infinitely often enter the same firing configuration. Let 𝑝 𝐴 and 𝑝 𝐵 be the two participating processors where 𝑝 𝐴 is the first node reaching the threshold. The initial firing configuration then is 𝐶 ( 𝑁 , 𝐴 , 1 ) = ( Δ 𝐴 , 1 , 𝜑 𝐵 , 1 ) with Δ 𝐴 , 1 < 𝜑 𝐵 , 1 . Next, 𝑝 𝐵 reaches the threshold leading to 𝐶 ( 𝑁 , 𝐵 , 1 ) = ( 𝜑 𝐴 , 1 ; Δ 𝐵 , 1 ) with 𝜑 𝐴 , 1 = Δ 𝐴 , 1 + 1 𝜑 𝐵 , 1 and Δ 𝐵 , 1 = Δ ( 𝜑 𝐵 , 1 ) . The next time 𝑝 𝐴 reaches the threshold is at 𝐶 ( 𝑁 , 𝐴 , 2 ) = ( Δ 𝐴 , 2 ; 𝜑 𝐵 , 2 ) with Δ 𝐴 , 2 = Δ ( Δ 𝐴 , 1 + 1 𝜑 𝐵 , 1 ) and 𝜑 𝐵 , 2 = Δ ( 𝜑 𝐵 , 1 ) + 𝜑 𝐵 , 1 Δ 𝐴 , 1 . Finally 𝑝 𝐵 again reaches the threshold at 𝐶 ( 𝑁 , 𝐵 , 2 ) = ( 𝜑 𝐴 , 2 ; Δ 𝐵 , 2 ) with 𝜑 𝐴 , 2 = Δ ( Δ 𝐴 , 1 + 1 𝜑 𝐵 , 1 ) + 1 Δ ( 𝜑 𝐵 , 1 ) 𝜑 𝐵 , 1 + Δ 𝐴 , 1 and Δ 𝐵 , 2 = Δ ( Δ ( 𝜑 𝐵 , 1 ) + 𝜑 𝐵 , 1 Δ 𝐴 , 1 ) .
If we assume that ( 1 ) 𝛼 ( 𝜑 𝐵 , 1 ) 1 , then the phase advance can be reduced to Δ ( 𝜑 𝐵 , 1 ) = 1 𝜑 𝐵 , 1 . The same applies to ( 2 ) 𝛼 ( Δ 𝐴 , 1 + 1 𝜑 𝐵 , 1 ) 1 and ( 3 ) 𝛼 ( 1 Δ 𝐴 , 1 ) 1 . Thus, if all three conditions are true, 𝐶 ( 𝑁 , 𝐵 , 2 ) can be redefined to 𝐶 ( 𝑁 , 𝐵 , 2 ) = ( 𝜑 𝐵 , 1 , Δ 𝐴 , 0 ) . In other words, the nodes will infinitely often enter the initial firing configuration. We now have to find the lowest 𝛼 where the inequation 𝛼 m a x ( 1 / 𝜑 𝐵 , 1 , 1 / ( 1 Δ 𝐴 , 1 ) , 1 / ( 1 + Δ 𝐴 , 1 𝜑 𝐵 , 1 ) ) is valid. Equalizing all three conditions yields Δ 𝐴 , 1 = 1 / 3 and 𝜑 𝐵 , 1 = 2 / 3 . Thus we get 𝛼 m a x ( 3 / 2 , 3 / 2 , 3 / 2 ) = 3 / 2 .

Since the algorithm ignores all firing events immediately following some short time after a previous firing event due to Line 9, a node may realize a set of nodes as a single node and therefore Lemma 3.7 also applies to networks comprising more than two nodes. We now exploit the intuition behind Lemma 3.7 and extend this problem to a general network comprising 𝑛 2 nodes.

Definition 3.8. 𝐶 ( 𝑁 , 𝑘 , 𝑚 ) is called to be an infeasible firing configuration, if there exists a positive integer 𝑖 > 0 such that 𝐶 ( 𝑁 , 𝑘 , 𝑚 ) = 𝐶 ( 𝑁 , 𝑘 , 𝑚 + 𝑖 ) and the network is not synchronized.

Lemma 3.9. The maximum phase advance a node can perform in a fully connected network 𝑁 comprising 𝑛 nodes equals Δ = ( ( 2 𝛼 1 ) 𝑛 1 1 ) / ( ( 2 𝛼 1 ) 𝑛 1 + 1 ) .

Proof. The maximum phase advance occurs if the firing events are at close quarters such that no event is ignored due to Line 9 of Algorithm 1. In detail, assume a node received the firing event at the phases 𝜑 0 < 𝜑 1 < < 𝜑 𝑛 1 = 1 . The first phase advance then equals 𝜆 0 = 𝜑 0 𝛾 , where 𝛾 = 𝛼 1 . Due to Line 9 of Algorithm 1, the earliest next time the node performs a phase advance can only be at 𝜑 1 = 𝜑 0 + 𝜆 0 and equals 𝜆 1 = ( 𝜑 1 + 𝜆 0 ) 𝛾 . Generally, 𝜑 𝑘 + 1 = 𝜑 𝑘 + 𝜆 𝑘 and 𝜆 𝑘 + 1 = ( 𝜑 𝑘 + 1 + 𝑘 𝑖 = 1 𝜆 𝑖 ) 𝛾 for 0 𝑘 < 𝑛 1 . Solving the recursion leads to 𝜑 𝑘 = 𝜑 0 + 𝑘 1 𝑖 = 0 𝜆 𝑖 and thus 𝜆 𝑘 + 1 = ( 𝜑 0 + 2 𝑘 𝑖 = 0 𝜆 𝑖 ) 𝛾 . Solving the equation for 𝜆 𝑘 + 1 𝜆 𝑘 then yields 𝜆 𝑘 = ( 1 + 2 𝛾 ) 𝑘 𝛾 𝜑 0 . The overall phase advance thus equals Δ = 𝑛 2 𝑖 = 0 𝜆 𝑖 = 𝛾 𝑛 2 𝑖 = 0 ( 1 + 2 𝛾 ) 𝑖 = ( ( 1 + 2 𝛾 ) 𝑛 1 1 ) 𝜑 0 / 2 . Since the maximum Δ occurs when 𝜑 𝑛 1 = 1 , we finally get Δ = ( ( 1 + 2 𝛾 ) 𝑛 1 1 ) / ( ( 1 + 2 𝛾 ) 𝑛 1 + 1 ) .

A weak upper bound results from the fact that we do not want a node to perform a phase advance which is greater than 1 / 2 and directly follows from Lemma 3.9.

Corollary 3.10. In a fully connected network comprising of 𝑛 2 perfect clocks, if the coupling factor 𝛼 < ( 𝑛 1 3 1 ) / 2 , then in every feasible execution a node will never perform a phase advance which is greater than 1 / 2 .

Note that even if the weak bound is maintained, it can be shown that there exist infeasible firing configurations. However, due to imprecisions in calculations, the varying short-term drift, the delay jitter, and due to several other indeterministic environmental effects, this bound is generally applicable. A stronger bound results from empirical studies which have shown that infeasible firing configurations do not exist, if the maximum phase advance Δ m a x < 1 / ( 𝑛 + 1 ) . The resulting bound for 𝛼 again can be deduced from Lemma 3.9.

Theorem 3.11. In a fully connected network comprising of 𝑛 2 perfect clocks, if the coupling factor 𝛼 < ( 1 / 2 ) ( 1 + 𝑛 1 1 + 2 / 𝑛 ) , then the nodes will never enter an infeasible firing configuration.

Rate of Synchronization
Theorem 3.15 analyzes the time to sync for the case of two oscillators. The authors of [4] have also analyzed the case of 𝑛 oscillators. However, considering a multihop topology requires a more sophisticated solution. For the following proofs, let 𝛾 = 𝛼 1 and Φ 0 = 𝜑 𝐴 𝜑 𝐵 denote the initial phase difference between the clocks 𝐴 and 𝐵 with 0 𝜑 𝐵 𝜑 𝐴 1 in network 𝑁 .

Lemma 3.12. The infeasible firing configuration 𝐶 ( 𝑁 , 𝐴 ) = ( Δ 𝐴 ; 𝜑 𝐵 ) with Δ 𝐴 = ( 𝛼 1 ) / ( 3 𝛼 ) and 𝜑 𝐵 = 1 / ( 3 𝛼 ) is a unique fixpoint and has a phase difference of 𝛿 = ( 2 𝛼 ) / ( 3 𝛼 ) .

Proof. If we set 𝐶 ( 𝑁 , 𝐴 , 𝑘 + 1 ) = 𝐶 ( 𝑁 , 𝐴 , 𝑘 ) , we get Δ 𝐴 , 𝑘 + 1 = Δ 𝐴 , 𝑘 = ( Δ 𝐴 , 𝑘 + 1 𝜑 𝐵 , 𝑘 ) ( 𝛼 1 ) and 𝜑 𝐵 , 𝑘 + 1 = 𝜑 𝐵 , 𝑘 = 𝜑 𝐵 , 𝑘 𝛼 Δ 𝐴 , 𝑘 and thus Δ 𝐴 = ( 𝛼 1 ) / ( 3 𝛼 ) and 𝜑 𝐵 = 1 / ( 3 𝛼 ) .

Although this fixpoint is a repeller, the roundoff error in the calculation may cause a node to enter the fixpoint. This is especially a concern if the granularity of the hardware clock is very low. The rate of sync with respect to different initial phase differences is visualized in Figure 4. It is obvious that there exists a special initial configuration Φ 0 which causes the network to enter this fixpoint. To analyze this initial configuration, we first transform the recursion of the dynamic system into a closed term.

186406.fig.004
Figure 4: The rate of sync for different initial configurations with 𝛼 = 1 . 0 1 .

Lemma 3.13. The phase difference 𝛿 𝑘 of 𝐶 ( 𝑁 , 𝐴 , 𝑘 ) for 𝑘 1 equals 𝛿 𝑘 = 𝛿 + 𝐴 2 𝛾 ( 1 𝛾 ) 𝐴 1 𝑧 1 𝑘 + 𝐵 2 𝛾 ( 1 𝛾 ) 𝐵 1 𝑧 2 𝑘 𝛾 2 , ( 8 ) where 𝑧 1 = ( 1 + 2 𝛾 + 1 + 4 𝛾 ) / 2 𝛾 2 , 𝑧 2 = ( 1 + 2 𝛾 1 + 4 𝛾 ) / 2 𝛾 2 , 𝐴 1 = ( 1 Φ 0 𝑧 1 𝛾 ) / ( 𝑧 1 𝑧 2 ) , 𝐵 1 = ( 𝑧 2 𝛾 1 + Φ 0 ) / ( 𝑧 1 𝑧 2 ) , 𝐴 2 = 𝑧 2 1 / ( ( 1 𝑧 1 ) ( 𝑧 1 𝑧 2 ) ) , 𝐵 2 = 𝑧 2 2 / ( ( 1 𝑧 2 ) ( 𝑧 1 𝑧 2 ) ) , and 𝛿 from Lemma 3.12.

Proof. Let 𝐶 ( 𝑁 , 𝐴 , 1 ) = ( Δ 𝐴 , 1 , 𝜑 𝐵 , 1 ) be the initial firing configuration with Δ 𝐴 , 1 < 𝜑 𝐵 , 1 where Δ 𝐴 , 1 = 0 and 𝜑 𝐵 , 1 = 1 Φ 0 . The phase difference when 𝑝 𝐴 reached the threshold for the 𝑘 th time is 𝛿 𝑘 = 𝜑 𝐵 , 𝑘 Δ 𝐴 , 𝑘 . From Lemma 3.7 we know that 𝐶 ( 𝑁 , 𝐴 , 𝑘 + 1 ) = ( Δ 𝐴 , 𝑘 + 1 ; 𝜑 𝐵 , 𝑘 + 1 ) with Δ 𝐴 , 𝑘 + 1 = ( Δ 𝐴 , 𝑘 + 1 𝜑 𝐵 , 𝑘 ) ( 𝛼 1 ) and 𝜑 𝐵 , 𝑘 + 1 = 𝜑 𝐵 , 𝑘 𝛼 Δ 𝐴 , 𝑘 . If we substitute 𝛾 for 𝛼 1 and consider the phase difference 𝛿 𝑘 of 𝐶 ( 𝑁 , 𝐴 , 𝑘 ) , we get Δ 𝐴 , 𝑘 + 1 = 𝛾 ( 1 𝛿 𝑘 ) and 𝜑 𝐵 , 𝑘 + 1 = 𝛿 𝑘 + 𝛾 𝜑 𝐵 , 𝑘 which yields 𝛿 𝑘 + 2 = 𝛿 𝑘 + 1 ( 1 + 2 𝛾 ) 𝛿 𝑘 𝛾 2 𝛾 ( 1 𝛾 ) for 𝑘 1 . The dissolving of the recursion is left to the reader and leads to the solution as stated.

Lemma 3.14. There exists a unique initial phase difference Φ 0 ( 0 , 1 ) where the network eventually enters the fixpoint of Lemma 3.12 and equals Φ 0 = 1 𝑧 2 𝛾 ( 1 𝑧 2 𝛾 ) / ( 1 𝑧 2 ) with 𝑧 2 from Lemma 3.13.

Proof. If the network enters the fixpoint in 𝐶 ( 𝑁 , 𝐴 , 𝑚 ) at some 𝑚 > 1 , then we have a phase difference of 𝛿 𝑘 = 𝛿 for 𝑘 𝑚 with 𝛿 from Lemma 3.12. Using (8) then yields ( 𝑧 2 / 𝑧 1 ) 𝑘 + 1 = ( 𝐵 2 𝛾 ( 1 𝛾 ) 𝐵 1 ) / ( 𝐴 2 𝛾 ( 1 𝛾 ) 𝐴 1 ) . Since 𝑧 1 > 𝑧 2 we get l i m 𝑘 ( 𝑧 2 / 𝑧 1 ) 𝑘 + 1 = 0 and thus 𝐵 2 𝛾 ( 1 𝛾 ) = 𝐵 1 . Using 𝐵 1 and 𝐵 2 from Lemma 3.13 results in 𝛿 1 = 𝑧 2 𝛾 ( ( 1 𝑧 2 𝛾 ) / ( 1 𝑧 2 ) ) . The initial phase difference then has to be Φ 0 = 1 𝛿 1 as stated.

Theorem 3.15. The number of iterations 𝑘 until synchrony is at most 𝑘 l o g 𝑧 2 ( ( 𝐵 2 𝛾 ( 1 𝛾 ) 𝐵 1 ) / ( ( 𝛿 𝛿 ) 𝛾 2 ) ) with 𝐵 1 , 𝐵 2 , and 𝑧 2 from Lemma 3.13 and 𝛿 = 1 , i f Φ 0 Φ 0 , 0 , i f Φ 0 > Φ 0 . ( 9 )

Proof. Note that l i m 𝑘 𝐶 ( 𝑁 , 𝐴 , 𝑘 ) = ( Δ 𝐴 , 𝑘 , 𝜑 𝐵 , 𝑘 ) either converges to ( 0 , 0 ) or ( 1 , 1 ) as visualized in Figure 4. Therefore, we simply equate (8) with 1 if Φ 0 Φ 0 or with 0 if Φ 0 < Φ 0 . Since 𝑧 1 > 7 for 𝛼 < 3 / 2 and the multiplicative factor is smaller than 1 , the term with respect to 𝑧 1 𝑘 1 does not influence the rate of sync for larger 𝑘 and hence can be neglected. This leads to the equation as stated.

3.2. Clock Rate Calibration

The concept of clock rate calibration combats the problem of frequency deviations due to the high clock drift of the RC-oscillators usually used in low-cost devices. This approach should allow a longer resynchronization interval with the same synchronization precision. Note that the rate correction can be performed completely independent from the clock state correction scheme.

The core concept of our rate calibration algorithm is that a processor 𝑝 𝑗 implements a virtual clock 𝑉 𝐶 𝑗 which abstracts the hardware clock 𝐻 𝐶 𝑗 . The algorithm implemented on 𝑝 𝑗 then only reads the time from the 𝑉 𝐶 𝑗 . We further denote the ticks from the 𝐻 𝐶 𝑗 by microticks and that from the 𝑉 𝐶 𝑗 by ticks. One tick of 𝑉 𝐶 𝑗 comprises several microticks which we denote by 𝑇 𝑗 𝑡 . By adjusting 𝑇 𝑗 𝑡 , the time duration of one tick can be increased or decreased. Let 𝑇 n o m be the nominal threshold level and 𝐻 𝑗 the absolute adjustment value s.t. 𝑇 𝑗 𝑡 = 𝑇 n o m + 𝐻 𝑗 . Note that the corresponding relative adjustment value for 𝑝 𝑗 equals 𝑗 = 𝐻 𝑗 / 𝑇 n o m . In order to perform the rate calibration, every processor 𝑝 𝑗 periodically broadcasts a synchronization messages 𝑚 𝑗 . Let 𝑉 𝐶 𝑗 ( 𝑚 𝑗 ) , respectively, 𝐻 𝐶 𝑗 ( 𝑚 𝑗 ) denote the timestamps of 𝑝 𝑗 when 𝑝 𝑗 transmitted 𝑚 𝑗 and 𝑉 𝐶 𝑟 ( 𝑚 𝑗 ) , respectively, 𝐻 𝐶 𝑟 ( 𝑚 𝑗 ) the timestamps of 𝑝 𝑟 when 𝑝 𝑟 received 𝑚 𝑗 from 𝑝 𝑗 . Let 𝑚 𝑟 𝑗 , 𝑘 be the 𝑘 th message 𝑝 𝑟 received from 𝑝 𝑗 and 𝑚 𝑗 , 𝑘 the 𝑘 th message 𝑝 𝑗 broadcasted. We further assume that 𝑚 𝑗 , 𝑘 + 1 is not received at some 𝑝 𝑟 before 𝑚 𝑗 , 𝑘 is received for 𝑘 1 . The dependency between the virtual and the hardware clock with respect to some message 𝑚 𝑗 is characterized as 𝑉 𝐶 𝑗 ( 𝑚 𝑗 , 𝑘 ) ( 𝐻 𝐶 𝑗 ( 𝑚 𝑗 , 𝑘 ) / ( 1 + 𝑗 ) ) ( m o d Φ 𝑡 ) . Note that we assume that the hardware clock is a linear function of real time within a sufficient long period of time. In contrast, the virtual clock is periodically reset with respect to the resynchronization interval. This assumption is required in order to realize a pulse synchronization scheme.

The rate correction algorithm works as follows: based on the timestamp 𝐻 𝐶 𝑗 ( 𝑚 𝑟 𝑗 , 𝑘 ) stored in 𝑚