Realizing uncertainty-aware timing stack in embedded operating system
Time synchronization has been studied extensively over the recent years with an advent of time critical applications for wireless sensor networks. The distribution of the global reference time over the radio links is the most popular synchronization mechanism. Often overlooked, the timing uncertainties spread across transmitter to the receiver, limit the accuracy of state-of-the-art synchronization protocols. These timing uncertainties are due to the instability of crystal oscillators and timestamping mechanisms. The effect of these uncertainties is cumulative in nature and build up the synchronization error. On the other hand, limited resources of energy, computational units, storage, and bandwidth are a driving force towards lightweight protocols. Hence, this paper presents a deep analysis of each source of timing uncertainty and motivates uncertainty-aware time synchronization. Extensive experiments are conducted to highlight the contribution of each source and provide recommendations for mitigating the resultant timing uncertainty. We have also proposed a Lightweight Kalman filter based on our analysis to meet the limited resources constraint.