Volume 8, Issue 12 p. 1083-1090
Article
Open Access

Asynchronous consensus-based time synchronisation in wireless sensor networks using unreliable communication links

Salman Ahmed

Corresponding Author

Salman Ahmed

Department of Electrical and Computer Engineering, University of Alberta, Edmonton, Alberta, T6G2V4 Canada

Search for more papers by this author
Feng Xiao

Feng Xiao

Department of Electrical and Computer Engineering, University of Alberta, Edmonton, Alberta, T6G2V4 Canada

Search for more papers by this author
Tongwen Chen

Tongwen Chen

Department of Electrical and Computer Engineering, University of Alberta, Edmonton, Alberta, T6G2V4 Canada

Search for more papers by this author
First published: 01 August 2014
Citations: 7

Abstract

Time synchronisation is required for a variety of distributed control applications in wireless sensor networks (WSNs). In this study, a consensus-based time synchronisation protocol is presented. The proposed protocol considers asynchronous framework where the sensor nodes can have different time-periods, starting times and input update times. The communication links are assumed to be unreliable. The clocks in a WSN are modelled by a time-varying system with time-delay terms. The objective is to design local control inputs to achieve time synchronisation by processing the information received from available neighbour nodes. By employing tools from non-negative matrix and graph theories, the convergence analysis is presented. Numerical examples are given to demonstrate the effectiveness of the proposed protocol.

1 Introduction

A wireless sensor network (WSN) consists of spatially distributed sensor nodes which are deployed to observe some process of interest. Each sensor node has limited battery resources which must be efficiently utilised for sensing, processing, transmitting and receiving information. The efficient utilisation of battery resources imposes constraints on the communication capabilities of the sensor nodes. Therefore a sensor node communicates with a limited number of nearby sensor nodes which are termed as its neighbours. In most applications, coordination among sensor nodes requires precise time synchronisation [13]. Time synchronisation in WSNs is also required for many other tasks such as transmission scheduling, data fusion, and nodes sleep and wake-up scheduling. Thus, it is important to design distributed time synchronisation protocols which take into consideration the communication constraints of the sensor nodes.

During the recent years, the design of distributed time synchronisation protocols for WSNs has received considerable attention in the fields of control theory and signal processing (see e.g. [46]). A popular approach to design time synchronisation protocols is to create a hierarchical structure such as a spanning tree or a cluster within the WSN. Time synchronisation is achieved by exchanging time stamps within the hierarchical structure. The most prominent examples of hierarchy-based protocols are the Reference Broadcast Synchronisation protocol [7], Timing-sync Protocol for Sensor Networks [8] and Flooding Time Synchronisation Protocol [9]. Although the hierarchy-based protocols have been experimentally tested in [9] and their performance is remarkable, they require substantial overhead to rebuild the spanning trees or clusters if a sensor node dies or a new sensor node is added to the WSN.

Distributed time synchronisation protocols which do not require any hierarchical structure have been proposed in [1014]. In [10], the authors proposed a distributed time synchronisation protocol using the coordinate descent optimisation algorithm; the protocol takes into consideration the natural network constraint that the sum of relative clock offsets in a network loop should be zero. In [1113], the authors presented consensus-based time synchronisation protocols which ensure that the clocks in a WSN achieve time synchronisation with reference to a virtual clock. However, the design of the protocols presented in [1013] assumes that the sensor nodes should periodically exchange and update their clock states at the same time instants; this assumption is unrealistic since it requires synchronisation of the clocks, which is the goal of the protocol. This assumption is partially relaxed in [4, 15], where the authors assume that all the sensor nodes should update their clock states at the same time instants but the information exchange among neighbour nodes may occur at non-regular time instants. In [14], a consensus-based time synchronisation protocol is presented which compensates for initial time offsets and skew deviations. The protocol assumes synchronous clocks update and information exchange. In [16], the authors presented a consensus-based relative time synchronisation protocol assuming the communications links are reliable and that the information from any neighbouring nodes can be made available at the input update time instants without any time-delay. To our best knowledge, the design of consensus-based time synchronisation protocol using asynchronous time updates and unreliable communication links has not been studied in WSNs.

The main contribution of this paper is to present a distributed time synchronisation protocol which relaxes the two main assumptions used in the literature. First, the proposed protocol does not require all the sensor nodes to have the same time-periods or starting times or update times. This is more realistic because a WSN typically consists of large number of sensor nodes and it is not easy to ensure that all the sensor nodes start at the same time or have the same time-periods. Second, the communication channels are considered to be unreliable. It may happen that a communication link is available between two nodes at a given time instant and it may not be available at some other time instants [Note that this also covers the case of half-duplex communication in a WSN.]. We assume that each sensor node knows its time-period but does not know its exact starting time. The objective of the proposed distributed time synchronisation protocol is to ensure that the clocks of the sensor nodes are synchronised to a virtual clock, which is not physically present or accessible to any sensor node.

The remainder of this paper is structured as follows: in Section 2, some basic definitions and results from graph and matrix theories are presented. We formulate the problem in Section 3 and then present the main results in Section 4. The analysis and proof are presented in Section 5. Numerical examples to demonstrate the effectiveness of the proposed time synchronisation protocol are given in Section 6. Finally, concluding remarks are stated in Section 7.

2 Preliminaries

Graphs provide a natural abstraction for information exchange within a WSN. In this section, we present some useful definitions and results from graph and matrix theories which will be used in this paper.

Consider an undirected (directed) graph urn:x-wiley:17518644:media:cth21083:cth21083-math-0001 which consists of a vertex set, urn:x-wiley:17518644:media:cth21083:cth21083-math-0002, and an edge set, urn:x-wiley:17518644:media:cth21083:cth21083-math-0003, where an edge is an unordered (ordered) pair of vertices [17]. If (vi, vj) is an edge in a directed graph, urn:x-wiley:17518644:media:cth21083:cth21083-math-0004, then vi and vj are defined as the parent and child vertices, respectively. The set of neighbours of vi is denoted by urn:x-wiley:17518644:media:cth21083:cth21083-math-0005 and the associated index set is denoted by urn:x-wiley:17518644:media:cth21083:cth21083-math-0006. A subgraph urn:x-wiley:17518644:media:cth21083:cth21083-math-0007 of urn:x-wiley:17518644:media:cth21083:cth21083-math-0008 is a graph such that urn:x-wiley:17518644:media:cth21083:cth21083-math-0009 and urn:x-wiley:17518644:media:cth21083:cth21083-math-0010. The subgraph urn:x-wiley:17518644:media:cth21083:cth21083-math-0011 is said to be a spanning subgraph if urn:x-wiley:17518644:media:cth21083:cth21083-math-0012 and urn:x-wiley:17518644:media:cth21083:cth21083-math-0013 have the same vertex set. A path from urn:x-wiley:17518644:media:cth21083:cth21083-math-0014 to urn:x-wiley:17518644:media:cth21083:cth21083-math-0015 is a sequence, urn:x-wiley:17518644:media:cth21083:cth21083-math-0016 of distinct vertices such that urn:x-wiley:17518644:media:cth21083:cth21083-math-0017 for any j  = 1, …, k  − 1. An undirected (directed) graph urn:x-wiley:17518644:media:cth21083:cth21083-math-0018 is connected (strongly connected) if there is a path between any two distinct vertices. A directed tree is a directed graph where every vertex except the root vertex has exactly one parent vertex and the root vertex can be connected to any other vertices via paths. A spanning tree of urn:x-wiley:17518644:media:cth21083:cth21083-math-0019 is a directed tree which is a spanning subgraph of urn:x-wiley:17518644:media:cth21083:cth21083-math-0020. The union of a group of graphs urn:x-wiley:17518644:media:cth21083:cth21083-math-0021, urn:x-wiley:17518644:media:cth21083:cth21083-math-0022 urn:x-wiley:17518644:media:cth21083:cth21083-math-0023 with the same vertex set urn:x-wiley:17518644:media:cth21083:cth21083-math-0024 is a graph with vertex set urn:x-wiley:17518644:media:cth21083:cth21083-math-0025 and edge set urn:x-wiley:17518644:media:cth21083:cth21083-math-0026.

Let 1  = [1, …, 1]T and I denotes the identity matrix. A non-negative matrix is a matrix in which all the elements are non-negative [18]. A non-negative matrix is called stochastic if the sum of each row is 1. A stochastic matrix M is called indecomposable and aperiodic (SIA or ergodic) if there exists a column vector w such that urn:x-wiley:17518644:media:cth21083:cth21083-math-0027 [19]. Let urn:x-wiley:17518644:media:cth21083:cth21083-math-0028 denote the left product of the matrices Mk, Mk −1, …, M1. Let urn:x-wiley:17518644:media:cth21083:cth21083-math-0029 be a non-negative matrix; then urn:x-wiley:17518644:media:cth21083:cth21083-math-0030 is defined as a directed graph having vertex set urn:x-wiley:17518644:media:cth21083:cth21083-math-0031 such that urn:x-wiley:17518644:media:cth21083:cth21083-math-0032 if and only if mpq  > 0. For any stochastic matrix M  = [mpq], the coefficient of ergodicity is defined as follows [20]
urn:x-wiley:17518644:media:cth21083:cth21083-math-0033
M is said to be scrambling if λ (M) < 1. We present some lemmas which will be used later.

Lemma 1 (Xiao and Wang [21]).Let Γ be a finite set of r  × r SIA matrices with the property that for each sequence S1, S2, …, Sk  ∈ Γ of positive length, urn:x-wiley:17518644:media:cth21083:cth21083-math-0034 is SIA. Then if urn:x-wiley:17518644:media:cth21083:cth21083-math-0035, urn:x-wiley:17518644:media:cth21083:cth21083-math-0036 is scrambling; and for any infinite sequence of S1, S2, … . , of matrices from Γ, there exists a column vector w such that urn:x-wiley:17518644:media:cth21083:cth21083-math-0037.

Lemma 2 (Xiao and Wang [22]).Let S be a stochastic matrix. If urn:x-wiley:17518644:media:cth21083:cth21083-math-0038 contains at least one spanning tree such that the root vertex of that spanning tree has a self-loop in urn:x-wiley:17518644:media:cth21083:cth21083-math-0039, then S is SIA.

3 Problem formulation

In this section, we formulate the time synchronisation problem by presenting a model of each clock in the WSN and the communication strategy for exchanging information.

3.1 System model

We consider a WSN having n sensor nodes. Each sensor node has a clock which computes the local time of the sensor node. Let xi, τi, urn:x-wiley:17518644:media:cth21083:cth21083-math-0040 and urn:x-wiley:17518644:media:cth21083:cth21083-math-0041 denote the clock value, time-period, actual starting time and estimate of the starting time of sensor node i, respectively, where i  = 1, …, n. Let urn:x-wiley:17518644:media:cth21083:cth21083-math-0042 represents the sequence of time instants when the clock of sensor node i updates its state, where urn:x-wiley:17518644:media:cth21083:cth21083-math-0043. Then the time computed locally by sensor node i is expressed as follows
urn:x-wiley:17518644:media:cth21083:cth21083-math-0044
If each sensor node does not have an exact estimate of its starting time, then the clocks in the WSN would not be synchronised. To achieve time synchronisation, we need to design local control inputs to adjust the clock readings of each sensor node. The control input is applied to each sensor node periodically at some known integer multiple of the local clock time-period. Let urn:x-wiley:17518644:media:cth21083:cth21083-math-0045 be the time instants when the control input is applied to the clock of sensor node i, where zi is a known integer, i  = 1, …, n and urn:x-wiley:17518644:media:cth21083:cth21083-math-0046. As the time-periods and starting times of the sensor nodes may be different, the time instants when the control inputs are applied may be different. We can write the following
urn:x-wiley:17518644:media:cth21083:cth21083-math-0047(1)
where urn:x-wiley:17518644:media:cth21083:cth21083-math-0048 denotes the control input or protocol which is to be designed. Let a virtual continuous-time clock be expressed as follows
urn:x-wiley:17518644:media:cth21083:cth21083-math-0049(2)
where t represents the time of WSN, v represents the clock readings, a and b represent the skew and initial offset of the virtual clock, respectively. The virtual clock is used to demonstrate the concept of distributed time synchronisation, and it is not available to any sensor node. The clocks in a WSN are said to be synchronised if there exists a common virtual clock in the form of (2) such that the following holds
urn:x-wiley:17518644:media:cth21083:cth21083-math-0050(3)
As each clock knows its own time-period, we use a  = 1 for the common virtual clock. To compute the local control input, each sensor node communicates with its neighbour nodes. In the next subsection, we present the communication strategy.

3.2 Communication strategy

Each sensor node interacts with its available neighbours by transmitting its clock values at those time instants when it updates its control input. As we mentioned earlier, the communication links are unreliable. We consider bidirectional communication links but it may happen that at some particular time instants the communication links are either unidirectional or not available. We make the following assumption:
  1. A1. There exists a positive integer c such that sensor node i transmits its information at least once to any possible neighbours during urn:x-wiley:17518644:media:cth21083:cth21083-math-0051 for any i  = 1, …, n and urn:x-wiley:17518644:media:cth21083:cth21083-math-0052 with urn:x-wiley:17518644:media:cth21083:cth21083-math-0053.
A1 provides an upper bound on the time interval in which each sensor node can successfully transmit its information at least once to any possible neighbours. In literature, this assumption is also known as bounded intercommunication interval (see e.g. [23, 24]). As the control input update and transmission time instants are asynchronous, we introduce three interaction topologies. The first one describes the transmission of information in the WSN and is modelled by a time-varying graph, denoted by urn:x-wiley:17518644:media:cth21083:cth21083-math-0054 where i  = 1, …, n and urn:x-wiley:17518644:media:cth21083:cth21083-math-0055, with vertex set urn:x-wiley:17518644:media:cth21083:cth21083-math-0056 and edge set urn:x-wiley:17518644:media:cth21083:cth21083-math-0057. Vertex vi represents sensor node i. If sensor node i transmits its state information to node j at urn:x-wiley:17518644:media:cth21083:cth21083-math-0058, then we write urn:x-wiley:17518644:media:cth21083:cth21083-math-0059. Let urn:x-wiley:17518644:media:cth21083:cth21083-math-0060 denote the index set of available neighbours of sensor node i.

The second interaction topology represents the union of the transmission topologies, urn:x-wiley:17518644:media:cth21083:cth21083-math-0061, where i  = 1,.  . , n and urn:x-wiley:17518644:media:cth21083:cth21083-math-0062, and is modelled by an undirected graph denoted by urn:x-wiley:17518644:media:cth21083:cth21083-math-0063 with vertex set urn:x-wiley:17518644:media:cth21083:cth21083-math-0064 and edge set urn:x-wiley:17518644:media:cth21083:cth21083-math-0065. If a communication link between sensor node i and j exists at some time instant during the execution of the WSN, then urn:x-wiley:17518644:media:cth21083:cth21083-math-0066. Let urn:x-wiley:17518644:media:cth21083:cth21083-math-0067 denote the index set of neighbours of sensor node i, where i  = 1, …, n. It should be noted that the edges of topology urn:x-wiley:17518644:media:cth21083:cth21083-math-0068 correspond to the existence of communication channels only and they do not guarantee if at some particular time instant, any information has been transmitted on the communication channels. It can be seen that urn:x-wiley:17518644:media:cth21083:cth21083-math-0069i, s.

The third interaction topology characterises the utilisation of transmitted information in the WSN and is modelled by another time-varying graph, denoted by urn:x-wiley:17518644:media:cth21083:cth21083-math-0070 where i  = 1, …, n and urn:x-wiley:17518644:media:cth21083:cth21083-math-0071, with vertex set urn:x-wiley:17518644:media:cth21083:cth21083-math-0072 and edge set urn:x-wiley:17518644:media:cth21083:cth21083-math-0073. If the state information from senor node i is used at urn:x-wiley:17518644:media:cth21083:cth21083-math-0074 to compute urn:x-wiley:17518644:media:cth21083:cth21083-math-0075, then we write urn:x-wiley:17518644:media:cth21083:cth21083-math-0076. Let urn:x-wiley:17518644:media:cth21083:cth21083-math-0077 denote the index set of the neighbours of sensor node j. We mention here that if sensor node i does not receive any information from its neighbour j during urn:x-wiley:17518644:media:cth21083:cth21083-math-0078, then it considers the last transmitted (most recent one) information from j to compute its input. We note here that if any sensor node i transmits to j at time instant urn:x-wiley:17518644:media:cth21083:cth21083-math-0079, then we write urn:x-wiley:17518644:media:cth21083:cth21083-math-0080, but urn:x-wiley:17518644:media:cth21083:cth21083-math-0081 may not be the update time of j. Hence, the information transmitted by node i may be used by node j either at the present time instant or some future time instants to compute its input.

Fig. 1 portrays an example of a WSN having three sensor nodes which are labelled with i, j and h. The starting times and time-periods of the sensor nodes are different and we let c  = 4. The dashed lines represent the time instants when the control update is applied to some sensor node(s). From Fig. 1, it can be seen that at time instant t1, the communication link between node j and i is not available, and node j transmits to node h only. At time instant t2, sensor node h utilises the delayed state information transmitted by senor node j at t1, but transmits its own state information to sensor node i only. We write that urn:x-wiley:17518644:media:cth21083:cth21083-math-0082, urn:x-wiley:17518644:media:cth21083:cth21083-math-0083 and urn:x-wiley:17518644:media:cth21083:cth21083-math-0084. At time instants t3 and t4, no communication occurs in the WSN. We can also see that during the time interval urn:x-wiley:17518644:media:cth21083:cth21083-math-0085, sensor node j successfully transmit information at least once to its neighbours.

Details are in the caption following the image

Control input update and transmission timings of a WSN having three sensor nodes labelled as i, j and h Union of transmission topologies in the WSN and the transmission topologies at some particular time instants are also shown

To ensure that clocks in a WSN can be synchronised, we assume the following:
  1. A2. The graph, urn:x-wiley:17518644:media:cth21083:cth21083-math-0086, is connected.
  2. A3. For any two sensor nodes i and j, the following holds

    urn:x-wiley:17518644:media:cth21083:cth21083-math-0087

In actual implementation, if A3 can not be ensured to hold for all sensor nodes, then it can be relaxed to consider any pair of neighbour sensor nodes i and j only. If A3 is not ensured for neighbouring nodes also, then an approximation error may exists due to the fact that the starting times and time-periods of the sensor nodes may be different.

4 Main results

Before presenting the main results, we define a new time-sequence T  : = {tr}, where r  = 0, 1, 2, …, which is the union of the distinct values of the sequences urn:x-wiley:17518644:media:cth21083:cth21083-math-0088. We order the elements of T such that tr  < tr +1. We redefine the interaction topology urn:x-wiley:17518644:media:cth21083:cth21083-math-0089 in terms of the new time-sequence, T. We write urn:x-wiley:17518644:media:cth21083:cth21083-math-0090 if sensor node i transmits information to j at tr. If there exists s such that urn:x-wiley:17518644:media:cth21083:cth21083-math-0091 and urn:x-wiley:17518644:media:cth21083:cth21083-math-0092, and only the most-recent transmitted data is considered, then there exists a time instant, denoted by urn:x-wiley:17518644:media:cth21083:cth21083-math-0093, where urn:x-wiley:17518644:media:cth21083:cth21083-math-0094, such that state information from sensor node j was transmitted to i and we can write urn:x-wiley:17518644:media:cth21083:cth21083-math-0095 and urn:x-wiley:17518644:media:cth21083:cth21083-math-0096. We let dii(tr) = 0, ∀ i, r and define the following
urn:x-wiley:17518644:media:cth21083:cth21083-math-0097
where αij(tr) are time-varying weighting factors. We present the following protocol for achieving time synchronisation
urn:x-wiley:17518644:media:cth21083:cth21083-math-0098(4)
where αij(tr) are chosen from a known non-negative and finite set Λ, αii(tr) > 0, and αij(tr) satisfy the following
urn:x-wiley:17518644:media:cth21083:cth21083-math-0099(5)
where urn:x-wiley:17518644:media:cth21083:cth21083-math-0100 is the most recent time instant when node j transmitted to node i and urn:x-wiley:17518644:media:cth21083:cth21083-math-0101 is the second most recent time instant when node j transmitted to node i.

Remark 1.It should be noted that a sensor node i updates its control input at urn:x-wiley:17518644:media:cth21083:cth21083-math-0102, where i  = 1, …, n and urn:x-wiley:17518644:media:cth21083:cth21083-math-0103. From the definition of time-sequence T, it can be observed that ui(tr) = 0 when urn:x-wiley:17518644:media:cth21083:cth21083-math-0104, no matter what values αii(tr) takes.

In the literature, a protocol similar to (4) has been presented for synchronised distributed systems in various papers (see e.g. [21, 2527]). For asynchronous continuous-time systems, a protocol similar to (4) has been presented in [2830]. For asynchronous discrete-time systems, a protocol similar to (4) has been presented in [11] without time-delays and using reliable communication links. In this paper, we study protocol (4) for asynchronous distributed systems where the transmission links are unreliable, the communication topology is changing (and may not be connected at some time instants), and the protocol has to consider time-delayed state information from neighbours. We now present the following theorem.

Theorem 1.If the WSN satisfies assumptions A1–A3, and the weighting factors belong to Λ and satisfy (5), then the clocks of the sensor nodes achieves time synchronisation using protocol (4).

To analyse the correctness of Theorem 1, we need to substitute protocol (4) in the local clock models of the sensor nodes and represent them by a single system. The resulting augmented system is a time-varying system with time-delay terms and has a special structure which will be explored in the next section and the proof will be presented there. We define a new state as follows
urn:x-wiley:17518644:media:cth21083:cth21083-math-0105(6)
We re-write the model expressed in (1) as follows
urn:x-wiley:17518644:media:cth21083:cth21083-math-0106(7)
It should be noted that the value of yi(tp) during the time interval urn:x-wiley:17518644:media:cth21083:cth21083-math-0107 does not change, where i  = 1, …, n and urn:x-wiley:17518644:media:cth21083:cth21083-math-0108. The time-synchronisation objective (3) can also be expressed as follows
urn:x-wiley:17518644:media:cth21083:cth21083-math-0109(8)
for some b. We re-write the control protocol expressed in (4) as follows
urn:x-wiley:17518644:media:cth21083:cth21083-math-0110(9)
The control protocols expressed in (9) and (4) are the same using the state transformation defined by (6). We state the following lemmas (see Appendix for proofs):

Lemma 3.If system (7) using protocol (9) achieves the time-synchronisation objective as expressed by (8), then system (1) using protocol (4) achieves time synchronisation described by (3).

Lemma 4.Let urn:x-wiley:17518644:media:cth21083:cth21083-math-0111 where i  = 1, …, n. For any sensor node i  = 1, …, n and urn:x-wiley:17518644:media:cth21083:cth21083-math-0112, the number of elements in the set urn:x-wiley:17518644:media:cth21083:cth21083-math-0113 is not greater than m, where urn:x-wiley:17518644:media:cth21083:cth21083-math-0114, and ⌈g ⌉ denotes the smallest integer not less than g. For any two neighbouring nodes i and j, if node i transmits to node j at tr, then node j utilises the information, transmitted by node i at tr, no longer than tr +m (c −1)+1.

Let e  = 1, …, m (c  − 1) where m is computed using Lemma 4 and c is a known integer as defined in assumption (A1). Let us define the matrices urn:x-wiley:17518644:media:cth21083:cth21083-math-0115 as follows
urn:x-wiley:17518644:media:cth21083:cth21083-math-0116
We define another matrix urn:x-wiley:17518644:media:cth21083:cth21083-math-0117 as follows
urn:x-wiley:17518644:media:cth21083:cth21083-math-0118
Let y (tr) = [y1 (tr), …, yn(tr)]T denote the augmented state vector. The dynamics of the augmented system can be written as follows
urn:x-wiley:17518644:media:cth21083:cth21083-math-0119(10)
It should be noted that augmented system expressed in (10) is a time-varying system having time-delay terms. With this preparation, we present the proof in the next section.

5 Technical analysis

To proceed with the proof, let Φ(tr) = [y (tr)T, y (tr −1)T, y (tr −2)T, …, y (trm (c −1))T]T, where r  > m (c  − 1) + 1; then we can write the following
urn:x-wiley:17518644:media:cth21083:cth21083-math-0120
where
urn:x-wiley:17518644:media:cth21083:cth21083-math-0121(11)
The following lemma states some useful properties of Ψ(tr).

Lemma 5.Let αmin and αmax denote the minimum and maximum elements of Λ. Given the matrix Ψ(tr) as expressed in (11), the following statements hold:

  • (a) All non-zero elements of Ψ(tr) are not less than η, where η  = [αmin /(max)], and not greater than 1.
  • (b) Ψ(tr)1  = 1.
  • (c) The possible numerical values of Ψ(tr) are finite.

Proof.By the definition of the matrices Ah(tr), h  = 1, …, m (c  − 1), we can see that each non-zero element of Ah(tr) is less than 1. A sensor node can have maximum n  − 1 neighbours. Let us consider a WSN where sensor node k has n  − 1 neighbours, where k  = 1, …, n. At a given time instant tr, we consider three extreme possible values of the weighting factors as follows:

  • (i) We choose αki(tr) = αmin, where i, k  = 1, …, n, and obtain urn:x-wiley:17518644:media:cth21083:cth21083-math-0122.
  • (ii) We choose αkj(tr) = αmin for some neighbour node j, where k  = 1, …, n and αki(tr) = αmax, where i  = 1, …, n, i  ≠ j, and obtain urn:x-wiley:17518644:media:cth21083:cth21083-math-0123.
  • (iii) We choose αki(tr) = αmax, where i, k  = 1, …, n, and obtain urn:x-wiley:17518644:media:cth21083:cth21083-math-0124.
Using the definition of matrices Ad(tr), where d  = 1, … . , m (c  − 1), and considering (i)–(iii), we can observe that all non-zero elements of Ad(tr) are greater than η for any values of the weighting factors. Using similar arguments, we can state that all off-diagonal elements of A0 (tr) are also greater than η. Let k  = 1, …, n; we use the definition of diagonal elements of A0 (tr) to state the following:
urn:x-wiley:17518644:media:cth21083:cth21083-math-0125
Thus, the diagonal elements of A0 (tr) are greater than η for any values of the weighting factors. The sum of each row in Ψ(tr) is 1. Hence, statements (a) and (b) are correct. We know the number of sensor nodes is finite, the elements of Λ are finite, and all possible communication topologies of the WSN are finite. Therefore all possible values of Ψ(tr) where r  = 0, 1, 2, … ., are finite. Hence, statement (c) holds. □

The following lemma present useful results which are required to complete the proof.

Lemma 6 (Xiao and Wang [28]).Let S1, S2, …, Sm be n  × n non-negative matrices and let

urn:x-wiley:17518644:media:cth21083:cth21083-math-0126
and Mk  = D  + M0k for any k  ∈ {1, 2, …, m  − 1}. Then if urn:x-wiley:17518644:media:cth21083:cth21083-math-0127 has a spanning tree, then urn:x-wiley:17518644:media:cth21083:cth21083-math-0128 contains a spanning tree such that the root vertex of that spanning tree has a self-loop in urn:x-wiley:17518644:media:cth21083:cth21083-math-0129.

Using Lemma 5, we observe that Ψ(tr) is a stochastic matrix, ∀r such that r  > m (c  − 1). We further obtain that during the time interval [tr, trm (c −1)], every sensor node receives information at least once from its neighbours. Under assumption (A2), we then conclude that the graph obtained by the union of topologies urn:x-wiley:17518644:media:cth21083:cth21083-math-0130 contains a spanning tree for any value of r such that r  > m (c  − 1). Applying Lemmas 6 and 2, we can establish that Ψ(tr) is SIA.

Using Lemma 5(c), we know that all possible Ψ(tr) are finite. Any product which involves a finite combination of Ψ(tr), where r  > m (c  − 1), is SIA. So, we can apply Lemma 1 to obtain the following conclusion
urn:x-wiley:17518644:media:cth21083:cth21083-math-0131
The vector w depends on the order in which the matrices Ψ(tr) are multiplied, where r  = m (c − 1), m (c  − 1) + 1, m (c  − 1) + 2, …, and it cannot be computed in advance. We can further write the following
urn:x-wiley:17518644:media:cth21083:cth21083-math-0132
Hence, we complete the proof by taking b  = wT y (t0).

6 Numerical examples

In this section, we present two examples to demonstrate the effectiveness of the proposed protocol.

6.1 Example 1: small-size WSN

We consider a WSN having eight sensor nodes. We assume the communication links are unreliable and choose c  = 5, Λ = {1, 2, 3}. The union of possible communication topologies in the WSN is shown in Fig. 2. The values of different parameters are listed in Table 1. For simulation purposes, we compute the relative time synchronisation error of sensor node i with respect to its neighbour nodes, denoted by ei(tr), as follows
urn:x-wiley:17518644:media:cth21083:cth21083-math-0133
By applying the proposed protocol in (4), the WSN was simulated for 50s. Fig. 3 illustrates a plot of the local clock readings in the WSN. The magnitudes of the local control inputs are plotted in Fig. 4. The sum of relative time synchronisation errors is shown in Fig. 5. Based on the plots, we can conclude that this WSN achieves time synchronisation using the proposed protocol.
Table 1. Parameter values used to simulate the WSN as shown in Fig. 2
Node number 1 2 3 4 5 6 7 8
time-period, s 0.05 0.01 0.1 0.04 0.02 0.01 0.1 0.2
actual starting time, s 1.4 0.3 2 2.01 1 0.04 0.12 0
estimated starting time, s −3.5 4.69 0 −12.5 −13.25 −15.19 20.04 −7.34
value of z 100 100 10 10 100 10 10 10
Details are in the caption following the image

Union of possible communication topologies of a WSN considered in Example 1 having eight sensor nodes

Lines indicate the presence of possible communication channels for transmitting information

Details are in the caption following the image

Plot of the local clock readings of a WSN considered in Example 1

Plot demonstrates the effectiveness of the proposed protocol to achieve time synchronisation. The union of possible communication topologies of the WSN is shown in Fig. 2

Details are in the caption following the image

Plot of the local control inputs applied to the WSN considered in Example 1

Union of possible communication topologies of the WSN is shown in Fig. 2

Details are in the caption following the image

Plot of the sum of the relative time synchronisation errors in the WSN considered in Example 1

Graph of the union of communication topologies of the WSN is shown in Fig. 2

6.2 Example 2: medium-size WSN

We consider a medium-size WSN having 60 sensor nodes. We assume the communication links are unreliable and choose c  = 7, Λ = {0.1, 0.2, 0.3, 0.4, …, 3}. Fig. 6 shows the union of possible communication topologies of the WSN. We randomly select the parameter values for different sensor nodes from Table 1. For simulation purposes, we compute the relative time synchronisation error of sensor node i with respect to its neighbour nodes, denoted by ei(tr), as follows
urn:x-wiley:17518644:media:cth21083:cth21083-math-0134
We simulate the WSN for 35s by applying the proposed protocol. Fig. 7 shows a plot of the sum of relative time synchronisation errors. Based on the simulation examples, it can be concluded that by using protocol (4), this WSN also achieves relative time synchronisation.
Details are in the caption following the image

Graph of union of communication topologies of a WSN considered in Example 2 having 60 sensor nodes

Lines indicate the presence of communication channels only and do not indicate if at any particular time instant any information is exchanged on the communication link

Details are in the caption following the image

Plot of the sum of the relative time synchronisation errors in the WSN considered in Example 2

Graph of the union of communication topologies of the WSN is shown in Fig. 6

7 Concluding remarks

Time synchronisation is a basic assumption in most distributed control and monitoring applications. In this paper, we investigate the design of a distributed time synchronisation protocol for WSNs by borrowing tools from linear control theory and consensus algorithms. The protocol design considers asynchronous framework where the interaction graphs are not connected at some time instants, the communication channels are unreliable and time-delayed information is utilised to compute local control inputs. By employing tools from stochastic matrix and algebraic graph theories, we presented the convergence analysis of the proposed algorithm. Simulation results have been provided to illustrate the effectiveness of the proposed protocol. For future work, the proposed protocol can be tested on an experimental setup.

8 Acknowledgment

The research work was supported by the Natural Sciences and Engineering Research Council of Canada.

    10 Appendix

    Proof of Lemma 3.Let us consider any initial values of system (7). For any sensor node i at time tr, if there exists s such that urn:x-wiley:17518644:media:cth21083:cth21083-math-0135, then we compute and apply ui(tr) to sensor node i. Furthermore, for any node i if urn:x-wiley:17518644:media:cth21083:cth21083-math-0136 for any value of s, then we write yi(tr +1) = yi(tr). Therefore, the value of yi(tp) during the interval urn:x-wiley:17518644:media:cth21083:cth21083-math-0137 remains the same, where i  = 1, …, n and urn:x-wiley:17518644:media:cth21083:cth21083-math-0138. By applying protocol (9), if system (7) achieves the time synchronisation objective as expressed by (8), then urn:x-wiley:17518644:media:cth21083:cth21083-math-0139 and we can write the following

    urn:x-wiley:17518644:media:cth21083:cth21083-math-0140
    for some b. Let urn:x-wiley:17518644:media:cth21083:cth21083-math-0141. For any urn:x-wiley:17518644:media:cth21083:cth21083-math-0142 and i  = 1, …, n, we state that there exists urn:x-wiley:17518644:media:cth21083:cth21083-math-0143 such that urn:x-wiley:17518644:media:cth21083:cth21083-math-0144 and urn:x-wiley:17518644:media:cth21083:cth21083-math-0145. We can further state that if k → ∞, then r (k)→ ∞. As urn:x-wiley:17518644:media:cth21083:cth21083-math-0146, under assumption (A2) we conclude the following
    urn:x-wiley:17518644:media:cth21083:cth21083-math-0147

    Proof of Lemma 4.Let j be the sensor node such that zj τj  ≥ zi τi where i  = 1, …, n, i  ≠ j, . When sensor node j updates its control input at urn:x-wiley:17518644:media:cth21083:cth21083-math-0148, the maximum number of times any sensor node i can update its control input before the time instant urn:x-wiley:17518644:media:cth21083:cth21083-math-0149 cannot exceed ⌈g ⌉, where i  = 1, …, n, i  ≠ j. Since there are n  − 1 possible values of sensor node i (excluding i  = j), we conclude that the number of elements in urn:x-wiley:17518644:media:cth21083:cth21083-math-0150 is not greater than m. Furthermore, using assumption (A1), we can state that the number of elements in urn:x-wiley:17518644:media:cth21083:cth21083-math-0151 is not greater than m (c  − 1). □