## 1 Introduction
In each cluster, a reference node is selected, and all of the other nodes are pairwisely synchronized by the reference node. The reference nodes of different clusters act as gateways to adjust the local clock of different clusters into one common time frame. In general, the core of these protocols is based on timing message exchanges between a pair of nodes, in which accurate and efficient pairwise clock synchronization algorithms play a key role. In the literature, some widely-used clock synchronization protocols, such as the timing-sync protocol for sensor networks (TPSN) [12], the tiny/mini synchronization [13], the light-weight time synchronization (LTS) [14] and the flooding time synchronization protocol (FTSP) [15], employ a two-way message exchange mechanism to adjust the clock between any two nodes. However, the traditional synchronization protocols suffer from large overhead in building and maintaining the spanning-tree or cluster structure. In addition, some nodes act as a root (in the spanning-tree structure) or as a gateway (in the cluster structure), and the failure of such nodes may lead to the failure of a large number of nodes connecting to it. To tackle this problem, several algorithms based on a fully-distributed communication topology have been proposed. In such algorithms, there are no special nodes, such as roots and gateways, and thus, no structure needs to be built. With all of the  
Figure 1: Network topology for different synchronization approaches. nodes performing exactly the same algorithm and communicating with their neighboring nodes, these protocols are robust to the topology changes and failures of nodes. In this paper, the latest algorithms in the realm of clock synchronization for WSNs are surveyed following a statistical signal processing viewpoint. Specifically, the rest of the paper is organized as follows. Section 2 introduces the clock model and the two-way message exchange mechanism for pairwise clock synchronization. Based on the two-way message exchange mechanism, the state-of-the-art pairwise clock synchronization algorithms under Gaussian random delays are investigated in Section 3. Section 4 overviews the pairwise clock synchronization algorithms in the presence of exponential random delays. Section 5 surveys the signal processing techniques employed in WSNs when the random delays are unknown. In Section 6, synchronization algorithms that assume a fully-distributed operation are discussed. Finally, Section 7 concludes the paper and provides some open research topics. In the literature, surveys for clock synchronization in WSNs have been presented by [9; 10; 16; 17]. The focus of [10; 16] lies in the clock synchronization protocols that are applied in WSNs. The survey paper [17] provides a technical overview of the history, recent advances and challenges in distributed clock synchronization for distributed wireless networks, while this article presents synchronization algorithms with emphasis on the mathematical and statistical techniques employed for clock synchronization parameters estimation. The work in [9] surveys the latest advances in the clock synchronization of WSNs following a signal processing viewpoint. However, only pairwise synchronization methods are investigated in [9], while our paper discusses both pairwise and fully-distributed synchronization algorithms.