- Research
- Open access
- Published:

# Distributed tracking with consensus on noisy time-varying graphs with incomplete data

*EURASIP Journal on Advances in Signal Processing*
**volume 2011**, Article number: 110 (2011)

## Abstract

In this paper, we formulate a problem of distributed tracking with consensus on a time-varying graph with incomplete data and noisy communication links. We develop a framework to handle a time-varying network topology in which not every node has local observations to generate own local tracking estimates (incomplete data). A distributed tracking-with-consensus algorithm that is suitable for such a noisy, time-varying graph is proposed. We establish the graph conditions so that distributed consensus can be achieved in the presence of noisy communication links when the effective network graph is time-varying. The steady-state performance of the proposed distributed tracking with consensus algorithm is also analyzed and compared with that of the distributed local Kalman filtering with the centralized fusion and centralized Kalman filter. Simulation results and performance analysis of the proposed algorithm are given, showing that the proposed distributed tracking with consensus algorithm performs almost the same as the distributed local Kalman filtering with centralized fusion on noisy time-varying graphs with incomplete data, while the proposed algorithm has the additional advantages of robustness and scalability.

## 1 Introduction

Multisensor tracking problems have attracted the attention of many researchers in robotics, systems, and control theory over the past three decades [1–4]. Target tracking problems are of great importance in surveillance, security, and information systems for monitoring the behavior of agents using sensor networks, such as tracking pallets in warehouses, vehicles on roadways, or firefighters in burning buildings [5, 6]. With the introduction of the concept of consensus, distributed tracking, and coordination without any fusion center have also received considerable attention in recent years [7, 8].

Distributed consensus estimation in sensor networks has been studied with both fixed as well as time-varying communication topologies, taking into account issues such as link failure, packet losses and quantization or additive channel noise [8–20]. Olfati-Saber and Murray [9] considered the average consensus for first-order integrator networks with fixed and switching topologies. Kingston and Beard [10] extended the results of [9] to the discrete-time models and relaxed the graph condition to instantaneously balanced, connected-over-time networks. Xiao and Boyd [11] considered discrete-time distributed averaging consensus over fixed and undirected graphs. They designed the weighted adjacency matrix to optimize the convergence rate by semidefinite programming. Huang and Manton [17] considered the discrete-time average consensus with fixed topologies and measurement noises. They introduced decreasing step size in the protocol to attenuate the noises. Li and Zhang [18–20] considered the continuous-time average consensus with time-varying topologies and communication noises, where time-varying consensus gains are adopted. They gave a necessary and sufficient condition for mean square average consensus with fixed graph topologies and sufficient conditions for mean square average consensus and almost sure consensus with time-varying graph topologies.

On the other hand, the distributed consensus tracking over networks with and without noiseless communication links among nodes have also been considered [21–26]. Recent work in [21, 22] considered the distributed consensus tracking over a fixed graph with noiseless communication among nodes. A distributed Kalman filter with embedded consensus filters was proposed in [21] and further extended to heterogeneous and non-linear sensing models in [22]. Distributed Kalman filtering using one-step weighted averaging was considered in [23]. Each node desires an estimate of the observed system and communicates its local estimate with neighbors in the network. Then, new estimate is formed as a weighted average of the neighboring estimates, where the weights are optimized to yield a small estimation error covariance. In [24], the authors presented a distributed Kalman filter to estimate the state of a sparsely connected, large-scale, dynamical system. The complex large-scale systems are decomposed spatially into low-order overlapping subsystems. A fusion algorithm using bipartite fusion graphs and local average consensus algorithms is applied to fuse observations for those overlapping subsystems. A tracking control problem for multiagent consensus with an active leader and variable interconnection topology was considered in [25], where the state of the considered leader keeps changing and may not be measured. A neighbor-based local controller together with a neighbor-based state-estimation rule is given for each agent to track such a leader. In [26], the authors proposed a greedy stepsize sequence design to guarantee the convergence of distributed estimation consensus over a network with noisy links.

Distributed tracking with consensus, addressed in this paper and previous work [27, 28], refers to the problem that a group of nodes need to achieve an agreement over the state of a dynamical system by exchanging tracking estimates over a network. For instance, space-object tracking with a satellite surveillance network that consists of fixed nodes that are connected together, and mobile nodes that could only have active links with other nodes within their communication radius could benefit from such distributed tracking with consensus, due to the fact that individual sensor nodes may not have enough observations of sufficient quality [29]. Thus, different sensor nodes may arrive at different local estimates regarding the same space object of interest [29]. Information exchange among nodes may improve the quality of local estimates, and consensus estimates may help avoid conflicting and inefficient distributed decisions. Other applications of this problem include flocking and formation control, real-time monitoring, target tracking, and global positioning system (GPS) [29, 30]. In [28], the performance analysis of distributed tracking with consensus on noisy time-varying graphs was addressed, and later, the algorithm of distributed tracking with consensus with incomplete data was proposed without theoretical proof in [27].

The contributions of this work are as follows: (1) We formulate the problem of distributed tracking with consensus on a time-varying graph with incomplete data and noisy communication links. (2) We develop an algorithm by combining distributed Kalman filtering with consensus updates to handle a time-varying network in which not every node has local observations to generate own local tracking estimates (incomplete data). (3) We establish the graph conditions so that the distributed consensus can be achieved when the graph topology is time-varying and with noisy communication links. (4) We analyze the steady-state performance of the distributed tracking with consensus on both fixed and time-varying graphs and compare with that of the distributed local Kalman filtering with centralized fusion and centralized Kalman filter.

Following notation will be used in this paper. At time *j*, an undirected graph is denoted by *G*(*j*) = (*V, E*(*j*)) for *j* ≥ 0, where *V* = {1,2,..., *N*} is the node set and *E*(*j*) ⊆ *V* × *V* denotes the edge set. A random graph in which the existence of an edge between a pair of vertices in the set *V* = {1, 2,..., *N*} is determined randomly and independent of other edges with probability *p* ∈ (0,1] is denoted by *G*(*N, p*). The neighborhood of node *n* at time *j* is denoted by Ω_{
n
}(*j*) = {*l* ∈ *V*|{*l, n*} ∈ *E*(*j*)}. Node *n* is said to have degree *d*_{
n
}(*j*) = |Ω_{
n
}(*j*)|, where | · | refers to the cardinality of a set. Let the degree matrix be the diagonal matrix *D*(*j*) = diag (*d*_{1}(*j*), . . ., *d*_{
N
}(*j*)), where diag(*d*_{1}, ...,*d*_{
N
}) represents a diagonal matrix with (*d*_{1}, ..., *d*_{
N
}) on its main diagonal. The adjacency matrix of the graph *G*(*j*) is denoted by *A*(*j*) = [*A*_{
ln
}(*j*)], where *A*_{
ln
}(*j*) = 1, if {*l, n*} ∈ *E*(*j*), and *A*_{
ln
}(*j*) = 0 otherwise. The graph Laplacian matrix is denoted by *L*(*j*) = *D*(*j*) - *A*(*j*). The Laplacian is a positive semidefinite matrix so that its eigenvalues can always be ordered as 0 = λ_{1} (*L*) ≤ λ_{2} (*L*) ≤ ··· λ_{
N
}(*L*). The smallest eigenvalue λ_{1}(*L*) is always equal to zero with **1** being the corresponding eigenvector where **1** is the vector of all ones of suitable length. For a connected graph, the second eigenvalue λ_{2} (*L*) > 0 and is termed the algebraic connectivity or the Fiedler value of the network [15, 31]. Let *p*(*l, n*) be the probability that links {*l, n*} of the graph exists (for random graphs considered in this paper, we will always assume that *p*(*l, n*) = *p* for ∀*l, n* ∈ *V*). For a directed graph, let (*l, n*) denote the directed edge from node *l* to node *n*. The direct sum of an *N* × *N* matrix *B* and an *M* × *M* matrix *C* will be an (*N* + *M*) × (*N* + *M*) matrix, denoted by *B* ⊕ *C*, whereas the Kronecker product of an *N* × *N* matrix *B* and an *M* × *M* matrix *C* will be an *NM* × *NM* matrix, denoted by *B* ⊗ *C*. From the properties of Kronecker product and eigenvalues [32], for an *N* × *N* matrix *B* and an *M* × *M* matrix *C*, if λ_{
n
}and *ω*_{
m
}are two eigenvalues of matrices *B* and *C*, respectively, for 1 ≤ *n* ≤ *N* and 1 ≤ *m* ≤ *M*, then λ_{
n
}*ω*_{
m
}is an eigenvalue of *B* ⊗ *C*. We denote the *N*-dimensional Euclidean space by ℝ^{N}. The *N* × *N* identity matrix is denoted by *I*_{
N
}, while **1**_{
N
}denotes the column vectors of all ones and **e**_{
m
}denotes the column vectors with the *m* th element as one and the rest as zeros. The operator || · || applied to a vector denotes the standard Euclidean 2-norm, while applied to matrices denotes the induced 2-norm, which is equivalent to the matrix spectral radius for symmetric matrices.

The remainder of this paper is organized as follows: Section 2 introduces our assumed system and network model and the proposed distributed tracking with consensus algorithm. In Section 3, conditions for achieving distributed consensus are discussed and the rate of convergence is quantified. The steady-state performance of the proposed distributed tracking with consensus algorithm is also analyzed in Section 3. Section 4 provides detailed simulation results and performance comparison of the proposed distributed tracking with consensus algorithm and that of distributed local Kalman filtering with centralized fusion and centralized Kalman filter. Finally, conclusions are given in Section 5.

## 2 Problem formulation and the proposed distributed tracking with consensus algorithm

### A System model

Consider an *N*-node sensor network with a *connectivity graph G*(*j*) = (*V, E*(*j*)) at time *j*. Assume that the graph *G*(*j*) is undirected, but time varying due to nodes moving out of communication ranges of each other or needing to cease transmissions to save battery power. The objective is to perform distributed tracking of a target and exchange tracking estimates over noisy communication links and try to reach consensus over the network. The tracking updates are performed at *k* instances, where *k* denotes the tracking time step (*k* = 0, 1,...). Consensus updates are performed between every two tracking updates, where 0 ≤ *j* < *J* denotes the consensus iteration number, and *J* is the number of consensus iterations per tracking update (assumed to be fixed). The dynamics of the target evolves according to

The sensing model of the *n* th sensor is

Note that the observation matrices *H*_{
n
}'s can be different for each node. Both **w**(*k*) and **v**_{
n
}(*k*) are assumed to be zero-mean white Gaussian noise (WGN) and **x**(0) ∈ ℝ^{M}is the initial state of the target. The second-order statistics of the process and measurement noise are given by

where *δ*_{
kk'
}= 1 if *k* = *k'* and *δ*_{
kk'
}= 0, otherwise. Note that the above system model is linear, while the system model assumed in [29] is highly non-linear making it difficult to analyze to obtain theoretical performance characterization.

Figure 1 shows the system model of distributed tracking with consensus on a time-varying graph with incomplete data and noisy communication links. Let {\stackrel{\u0304}{x}}_{n}\left(k,j\right) denote the node *n*'s updated tracking estimate at the *j* th consensus iteration that follows the *k* th tracking update step with {\stackrel{\u0304}{x}}_{n}\left(k,0\right)={\widehat{x}}_{n}\left(k|k\right), where {\widehat{x}}_{n}\left(k|k\right) is the *n* th node's filtered tracking estimate in the *k* th tracking update. The received data at node *n* from node *l*, for n ≠ *l*, at iteration *j* can be written as

where *ϕ*_{n,l}(*j*) denotes the receiver noise at the node *n* in receiving the estimate of node *l* at iteration *j* and {z}_{n,n}\left(k,j\right)={\stackrel{\u0304}{x}}_{n}\left(k,j\right). Assume that E\left[{\varphi}_{n,l}\left(j\right)\right]={0}_{M},E\left[{\varphi}_{n,l}\left(j\right){\varphi}_{n,l}^{\mathsf{\text{T}}}\left(j\right)\right]={\sigma}_{n,l}^{2}{I}_{M} with {sup}_{n,l,j}E\left[\parallel {\varphi}_{n,l}\left(j\right){\parallel}^{2}\right]=u<\infty.

As depicted in Figure 1, at the end of the *k* th tracking update, each node *n* which has an observation of the target will have a filtered estimate {\widehat{x}}_{n}\left(k|k\right) with associated covariance matrix {\widehat{P}}_{n}\left(k|k\right). In order to improve the tracking estimate accuracy, it will exchange this filtered estimate with its neighbors over noisy communication links and try to reach consensus over the network. Note that, the goal here is to obtain a consensus tracking estimate over the local estimates at each tracking time step *k*, and thus, the consensus problem is essentially a problem of *consensus in estimation*.

Due to time-varying topology of the network, at any given tracking time step *k*, not all nodes may observe the target. Thus, these nodes will not have local tracking estimates, which is denoted as *incomplete data*. In previous consensus literature [8–20], all node estimates are taken into account in forming consensus estimates. However, the same method may not be extended to incomplete data case, since the nodes that mostly do not have observation (**y**_{
n
}(*k*) = **v**_{
n
}(*k*)) will exchange their predicted filtered estimates with others. Those predicted tracking estimates are considered as valid estimates and are taken into account to form consensus estimates, which results in inaccurate estimates and worsens the sensor network performance. By considering incomplete data here, the nodes do not have data will not communicate their invalid tracking estimates (by setting {\widehat{x}}_{n}\left(k|k\right)=0 and {\widehat{P}}_{n}\left(k|k\right)=\in {I}_{M} for some ϵ > 0 instead). By introducing active node set and effective network graph, each node will notice which node has data in current consensus iteration. Only the estimates from active nodes are considered into forming consensus estimates. The estimates from non-active nodes will not be considered until it forms its updated estimate by fusing the filtered estimates from neighboring active nodes. Since the non-active nodes join the consensus process without invalid tracking estimates, faster consensus process could be achieved while the network performance is still maintained.

In the space object tracking problem treated in [29], each node observes the target and locally processes its data in *data sampling period*. After forming local estimates, each node will share its information among neighboring nodes in *information sharing period*. Here, the information sharing rate is much larger compared with the data sampling rate so that each data sample node may exchange their local estimates many times in between, which may conceivably lead to better consensus estimates. The distributed tracking with consensus problem as formulated above may have other applications beyond the space object tracking problem, such as in multitarget tracking with a group of autonomous robots [33], battlefield life signs detection by Unmanned Aerial Vehicles (UAVs) [34], package tracking in warehouse by sensor networks [35], etc.

### B Network model

We define the *active node set* {S}_{k}^{j} in a time-varying graph *G*(*j*) as the set of nodes that have updated local estimates to be shared with others in the *j* th consensus iteration after the *k* th tracking update [29]. Define *effective network graph* of a network *G*(*j*) = (*V*(*j*), *E*(*j*)) with active node set {S}_{k}^{j} as \stackrel{\u0303}{G}\left(j\right)=\left(V\left(j\right),\u1ebc\left(j\right)\right), where \u1ebc\left(j\right)=E\left(j\right)\cap \left({\cup}_{n\in {S}_{k}^{j}}{\Upsilon}_{n}^{\mathsf{\text{out}}}\left(j\right)\right), where {\Upsilon}_{n}^{\mathsf{\text{out}}}\left(j\right)=\left\{\left(n,l\right)|\left(n,l\right)\in E\left(j\right)\right\} denotes the set of directed edges with initial vertex as *n* at iteration *j*. Note that, the effective network graph {\stackrel{\u0303}{G}}_{\left(j\right)} is a directed graph, which is obtained by removing the outgoing edges of the nodes that do not have data in *G*(*j*). For a static graph G\left(j\right)=G\left(V,E\right),\u1ebc\left(j\right) can be written as \u1ebc\left(j\right)=\u1ebc\left(j-1\right){\cup}_{l\in {S}_{k}^{j-1}}\left({\cup}_{n\in {\Omega}_{l}}{\Upsilon}_{n}^{\mathsf{\text{out}}}\right), where \u1ebc\left(0\right)=E\cap \left({\cup}_{n\in {S}_{k}^{0}}{\Upsilon}_{n}^{\mathsf{\text{out}}}\right). Note that, the nodes that do not observe the target will not have updated local estimates to share at the beginning of consensus update process (at *j* = 0). However, as information exchange among nodes progresses, some of these nodes may be able to form their own updated local estimates at the consensus iteration *j* for *j* > 0. Therefore, the active node set {S}_{k}^{j} is time-varying and {S}_{k}^{j}={S}_{k}^{j-1}{\cup}_{l\in {S}_{k}^{j-1}}{\Omega}_{l}\left(j-1\right), where {S}_{k}^{0} is the set of nodes that have observations of the target in the *k* th tracking update step as in Figure 1. Figure 2 shows the relation between the connectivity graph *G*(*j*) and the effective network graph {\stackrel{\u0303}{G}}_{\left(j\right)} for a graph of 6 nodes with active node set {S}_{k}^{j}=\left(1,2,4,6\right), where solid circles denote active nodes.

Let {I}_{{S}_{k}^{j}} denote an *N* × *N* matrix generated from the active node set {S}_{k}^{j} as follows:

Note that, {I}_{{S}_{k}^{j}} is a diagonal matrix with *n'* th diagonal element equal to zero for {n}^{\prime}\in {\left({S}_{k}^{j}\right)}^{c}, where (·)^{c}denotes the set complement. By combining the connectivity graph *G*(*j*) with the active node set {S}_{k}^{j}, we obtain the effective network graph {\stackrel{\u0303}{G}}_{\left(j\right)}. Thus, the adjacency matrix of the effective network graph is given by A\left(j\right)=A\left(j\right){I}_{{S}_{k}^{j}}. The corresponding degree matrix D(*j*) can then be obtained from **A**(*j*), and the Laplacian matrix is L(*j*) = D(*j*) - **A**(*j*) by definition.

As an example, consider the same network model in Figure 2. The matrix {I}_{{S}_{k}^{j}}=\mathsf{\text{diag}}\left(1,1,0,1,0,1\right). The Laplacian matrices of the connectivity graph and effective network graph are as follows:

### C Distributed tracking with consensus algorithm

In this section, we propose a distributed tracking and consensus algorithm for the above distributed tracking problem over a time-varying graph with incomplete data and noisy communication links. This algorithm is based on the architecture that was first proposed in [29] in the special context of consensus tracking in a satellite sensor network for situational awareness.

Figure 3 shows the timing diagram of tracking and consensus updates process in the proposed distributed tracking with consensus algorithm. As in Figure 3, at tracking time step *k*, node *n* is assumed to have completed its consensus iterations corresponding to time *k* - 1. If the output of this consensus update following the (*k* - 1)th tracking update step is {\stackrel{\u0304}{x}}_{n}\left(k-1,J\right) with the associated covariance matrix {\stackrel{\u0304}{P}}_{n}\left(k-1,J\right), then node *n* sets {\stackrel{\u0304}{x}}_{n}\left(k-1|k-1\right)={\stackrel{\u0304}{x}}_{n}\left(k-1,J\right) and {\stackrel{\u0304}{P}}_{n}\left(k-1|k-1\right)={\stackrel{\u0304}{P}}_{n}\left(k-1,J\right). Next, at the *k* th tracking update step, each node *n* where n\in {S}_{k}^{j}, passes its observation **y**_{
n
}(*k*) through its local Kalman filter as follows [1]:

where {\stackrel{\u0304}{x}}_{n}\left(k-1|k-1\right)={\stackrel{\u0304}{x}}_{n}\left(k-1,J\right) with {\stackrel{\u0304}{x}}_{n}\left(0,J\right)=\stackrel{\u0304}{x}\left(0\right) and {\stackrel{\u0304}{P}}_{n}\left(k-1|k-1\right)={\stackrel{\u0304}{P}}_{n}\left(k-1,J\right) with {\stackrel{\u0304}{P}}_{n}\left(0,J\right)={P}_{0}. Let \stackrel{\u0304}{X}\left(k-1,j\right)={\left[{\stackrel{\u0304}{x}}_{1}{\left(k-1,j\right)}^{\mathsf{\text{T}}},{\stackrel{\u0304}{x}}_{2}{\left(k-1,j\right)}^{\mathsf{\text{T}}},\dots ,{\stackrel{\u0304}{x}}_{N}{\left(k-1,j\right)}^{\mathsf{\text{T}}}\right]}^{\mathsf{\text{T}}}. Denote \stackrel{\u0304}{P}\left(k-1,j\right) as the covariance matrix corresponding to \stackrel{\u0304}{X}\left(k-1,j\right). The {\stackrel{\u0304}{P}}_{n}\left(k-1,J\right) in (4) can be obtained by extracting the *n* th *M* × *M* main diagonal block of \stackrel{\u0304}{P}\left(k-1,J\right).

Node *n* uses its filtered estimate {\widehat{x}}_{n}\left(k|k\right) obtained by the above tracking update step as the initial estimate for consensus update exchanges by setting {\stackrel{\u0304}{x}}_{n}\left(k,0\right)={\widehat{x}}_{n}\left(k|k\right) with initial covariance matrix \stackrel{\u0304}{P}\left(k,0\right)={\widehat{P}}_{1}\left(k|k\right)\oplus {\widehat{P}}_{2}\left(k|k\right)\oplus \cdots \oplus {\widehat{P}}_{N}\left(k|k\right){,}^{\mathsf{\text{a}}} where ⊕ denotes the direct sum. On the other hand, for nodes n\in {\left({S}_{k}^{j}\right)}^{c}, we may arbitrarily set {\widehat{x}}_{n}\left(k|k\right)=0 and {\widehat{P}}_{n}\left(k|k\right)=\in {I}_{M} for some ϵ > 0.

During the (*j* + 1)th consensus update, each node *n* forms a linear estimate of the following form as its consensus estimate:

where *γ*_{
n
}(*j*) is the *n* th node's weight coefficient at iteration *j* and 0 ≤ *j* < *J*. We set *γ*_{
n
}(*j*) = *γ*(*j*) for n\in {S}_{k}^{j} and {\gamma}_{n}\left(j\right)=\frac{1}{{\sum}_{l=1}^{N}{A}_{n,l}\left(j\right)} for n\in {S}_{k}^{j} and {\sum}_{l=1}^{N}{A}_{n,l}\left(j\right)\ne 0. For node *n* that does not have local tracking estimate, we assume that it will generate its estimate by averaging the tracking estimates from its neighbors.^{b}

By defining \stackrel{\u0304}{X}\left(k,j\right)={\left[{\stackrel{\u0304}{x}}_{1}{\left(k,j\right)}^{\mathsf{\text{T,}}}{\stackrel{\u0304}{x}}_{\mathsf{\text{2}}}{\left(k,j\right)}^{\mathsf{\text{T}}},\dots ,{\stackrel{\u0304}{x}}_{N}{\left(k,j\right)}^{\mathsf{\text{T}}}\right]}^{\mathsf{\text{T}}}, the consensus update dynamics can be written in vector form as follows:

where \Gamma \left(j\right)=\mathsf{\text{diag}}\left({\gamma}_{1}\left(j\right),\dots ,{\gamma}_{N}\left(j\right)\right),\stackrel{\u0304}{\Phi}\left(j\right)={\left[{\varphi}_{1}{\left(j\right)}^{\mathsf{\text{T}}}\cdots {\varphi}_{N}{\left(j\right)}^{\mathsf{\text{T}}}\right]}^{\mathsf{\text{T}}} and {\varphi}_{n}\left(j\right)=-{\sum}_{l\in {\Omega}_{n}\left(j\right)}{\varphi}_{n,l}\left(j\right). Note that, from (3), E\left[\overline{\Phi}\left(j\right)\right]=0 and {sup}_{j}E\left[\parallel \stackrel{\u0304}{\Phi}\left(j\right){\parallel}^{2}\right]=\eta \le N\left(N-1\right)u<\infty.

Let us define \u0113\left(k,j\right) to be the error vector at the *j* th consensus iteration after the *k* th tracking update: \u0113\left(k,j\right)\triangleq \stackrel{\u0304}{X}\left(k,j\right)-\left(1\otimes {I}_{M}\right)x\left(k\right). From (6), it follows that

where **A**(*j*) = *I*_{
N
}-Γ(*j*)L(*j*). Note that, this coefficient matrix **A**(*j*) is slightly different from the one proposed in [29]. In [29], A\left(j\right)=\stackrel{\u0303}{I}\left(j\right)-\gamma \left(j\right)\stackrel{\u0303}{L}\left(j\right), where \stackrel{\u0303}{I}\left(j\right) and \stackrel{\u0303}{L}\left(j\right) are the modified identity and Laplacian matrices. The required modification, however, does not lend itself to a convenient relation between the original matrices and the modified ones that can be used in mathematical derivations.

Note that, if the filtered estimate {\widehat{x}}_{n}\left(k|k\right) at the end of the measurement update stage is an unbiased estimate, then {\stackrel{\u0304}{x}}_{n}\left(k,0\right) is also unbiased for all n\in {S}_{k}^{j}. From (5), since {\stackrel{\u0304}{x}}_{n}\left(k,j+1\right)=\frac{1}{{\sum}_{l=1}^{N}{A}_{n,l}\left(j\right)}{\sum}_{l=1}^{N}{A}_{n,l}\left(j\right)\left({\stackrel{\u0304}{x}}_{l}\left(k,j\right)+{\varphi}_{n,l}\left(j\right)\right) for n\in {\left({S}_{k}^{j}\right)}^{c}, then {\stackrel{\u0304}{x}}_{n}\left(k,j+1\right) is also unbiased for n\in {\left({S}_{k}^{j}\right)}^{c} if {\stackrel{\u0304}{x}}_{l}\left(k,j\right) is unbiased for l\in {S}_{k}^{j}. From (7), it can be shown that the unbiasedness in consensus estimate \stackrel{\u0304}{X}\left(k,j\right) can be maintained if matrix **A**(*j*) satisfies the condition \left(\left(A\left(j\right)\otimes {I}_{M}\right)-I\right)\left(1\otimes {I}_{M}\right)=0, which is equivalent to requiring \left(\left(A\left(j\right)-{I}_{N}\right)1\right)\otimes {I}_{M}=0. It follows that the unbiasedness in consensus estimate \stackrel{\u0304}{X}\left(k,j\right) requires 0 to be an eigenvalue of the Laplacian matrix L(*j*) with the associated eigenvector **1**.^{c} Define the covariance matrix corresponding to \stackrel{\u0304}{X}\left(k,j\right) as \stackrel{\u0304}{P}\left(k,j\right)=E\left[\stackrel{\u0304}{e}\left(k,j\right)\stackrel{\u0304}{e}{\left(k,j\right)}^{\mathsf{\text{T}}}\right]. From (7) and unbiasedness condition, it can be easily seen that

As shown in Figure 3, after *J* consensus iterations, each node *n* will feed {\stackrel{\u0304}{x}}_{n}\left(k,J\right) back to their local Kalman filters by setting {\stackrel{\u0304}{x}}_{n}\left(k|k\right)={\stackrel{\u0304}{x}}_{n}\left(k,J\right) and {\stackrel{\u0304}{P}}_{n}\left(k|k\right)={\stackrel{\u0304}{P}}_{n}\left(k,J\right) before starting next tracking update at time *k*+1. Recall that here {\stackrel{\u0304}{P}}_{n}\left(k,J\right) is the *n* th *M* × *M* main diagonal block of \stackrel{\u0304}{P}\left(k,J\right). Algorithm 1 shows a summary of the steps in the proposed distributed tracking with consensus algorithm.

## 3 Performance analysis

### A Conditions for achieving consensus

In this section, we analyze the convergence of the proposed distributed tracking with consensus algorithm and the convergence rate. Note that, the proofs of lemmas and theorems in this section are different from those in [16] due to vector state and incomplete data, which results in two stages of consensus process: obtaining complete data from incomplete data and reaching consensus on complete data. In the scenarios we consider, we assume that the information exchange rate during the consensus update process is much higher

**Algorithm 1** Distributed tracking with consensus algorithm

**Initialize**: x(0), *F, H*_{
n
}, *Q, R*_{
n
}

**while** new data exist **do**

Kalman filtering in tracking process:

{\widehat{x}}_{n}\left(k|k-1\right)=F{\stackrel{\u0304}{x}}_{n}\left(k-1|k-1\right)

{\widehat{P}}_{n}\left(k|k-1\right)=F{\stackrel{\u0304}{P}}_{n}\left(k-1|k-1\right){F}^{\mathsf{\text{T}}}+Q

{K}_{n}\left(k\right)={\widehat{P}}_{n}\left(k|k-1\right){H}_{n}^{\mathsf{\text{T}}}{\left({H}_{n}{\widehat{P}}_{n}\left(k|k-1\right){H}_{n}^{\mathsf{\text{T}}}+{R}_{n}\right)}^{-1}

{\widehat{x}}_{n}\left(k|k\right)={\widehat{x}}_{n}\left(k|k-1\right)+{K}_{n}\left(k\right)\left({y}_{n}\left(k\right)-{H}_{n}{\widehat{x}}_{n}\left(k|k-1\right)\right)

{\widehat{P}}_{n}\left(k|k\right)=\left(I-{K}_{n}\left(k\right){H}_{n}\right){\widehat{P}}_{n}\left(k|k-1\right)

update the initial state of consensus process:

{\stackrel{\u0304}{x}}_{n}\left(k,0\right)={\widehat{x}}_{n}\left(k|k\right)

\stackrel{\u0304}{P}\left(k,0\right)={\widehat{P}}_{1}\left(k|k\right)\oplus {\widehat{P}}_{2}\left(k|k\right)\oplus \cdots \oplus {\widehat{P}}_{N}\left(k|k\right)

*j* ← 0

**while** ** j**≤

*J*- 1

**do**

{\stackrel{\u0304}{x}}_{n}\left(k,j+1\right)={\stackrel{\u0304}{x}}_{n}\left(k,j\right)+{\gamma}_{n}\left(j\right){\sum}_{l=1}^{N}{A}_{n,l}\left(j\right)\left({z}_{n,l}\left(k,j\right)-{z}_{n,n}\left(k,j\right)\right)

*j* ← *j* + 1

**end while**

{\stackrel{\u0304}{x}}_{n}\left(k|k\right)={\stackrel{\u0304}{x}}_{n}\left(k,J\right)

{\stackrel{\u0304}{P}}_{n}\left(k|k\right)={\stackrel{\u0304}{P}}_{n}\left(k,J\right)

*k* ← *k* + 1

**end while**

compared with the data sampling rate for the tracking updates. Hence, we can assume that *J* ≫ 1,^{d} guaranteeing enough time for information to be exchanged over the network so that consensus can be reached if the weight {*γ*(*j*)} is chosen properly. As mentioned above, for a fixed *k* and *J* ≫ 1, the consensus update process after the *k* th tracking update can be considered as a consensus in estimation problem. Thus, to simplify notation, in the following, we omit the tracking time step index *k* in \stackrel{\u0304}{X}\left(k,j\right).

We start by defining the consensus subspace \mathcal{C} as

If the consensus algorithm (6) converges to the consensus subspace \mathcal{C}, each node estimate {\stackrel{\u0304}{x}}_{n}\left(j\right) will converge to the same value {\stackrel{\u0304}{x}}_{n}\left(j\right)=a for 1 ≤ *n* ≤ *N*, **a** ∈ ℝ^{M}and consensus is reached over the network. It is well known from the stochastic approximation literature [36] that, in order to ensure asymptotic convergence to consensus subspace, the weight coefficient *γ*(*j*) must satisfy the *persistence condition* as follows

We recall the following result on distance properties in ℝ^{NM}:

*Lemma 1*: Suppose that **X** ∈ ℝ^{NM}and consider the orthogonal decomposition X={X}_{\mathcal{C}}+{X}_{{\mathcal{C}}^{\perp}}. Then, the Euclidean distance \rho \left(X,\mathcal{C}\right)=\parallel {X}_{{\mathcal{C}}^{\perp}}\parallel.

In the following, we prove that the consensus algorithm given in (6) converges almost surely (a.s.). This is achieved in two steps: First, Lemma 3 proves that the state vector sequence {\left\{\stackrel{\u0304}{X}\left(j\right)\right\}}_{j\ge 0} converges a.s. to the consensus subspace \mathcal{C}. Theorem 1 then completes the proof by showing that the sequence of component-wise averages {\left\{{\stackrel{\u0304}{X}}_{\mathsf{\text{avg}}}\left(j\right)\right\}}_{j\ge 0} converges a.s. to a finite random variable **Θ**, where {\stackrel{\u0304}{X}}_{\mathsf{\text{avg}}}\left(j\right)=\frac{1}{N}\left({1}^{\mathsf{\text{T}}}\otimes {I}_{M}\right)\stackrel{\u0304}{X}\left(j\right). The proof of Theorem 1 will require a basic result on convergence of Markov processes from [36], which is restated as Lemma 2 in our context. Before stating the lemma, however, we need to introduce the notation of [36].

Let {\left\{\stackrel{\u0304}{X}\left(j\right)\right\}}_{j\ge 0} be a Markov process in ℝ^{NM}. Define the generating opaserator \mathcal{L} corresponding to {\left\{\stackrel{\u0304}{X}\left(j\right)\right\}}_{j\ge 0} as

for functions V\left(j,\overline{X}\right),j\ge 0,\overline{X}\in {\mathbb{R}}^{NM}, provided the conditional expectation exists. If {D}_{\mathcal{L}} is the domain of \mathcal{L}, then we say that V\left(j,\overline{X}\right)\in {D}_{\mathcal{L}} in a domain \mathcal{C}, if \mathcal{L}V\left(j,\overline{X}\right) is finite for all \left(j,\overline{X}\right)\in \mathcal{C}.

For *G* ⊂ ℝ^{NM}, the ϵ-neighborhood of *G* and its complement are defined as,

With these notations, we may now state the desired lemma on the convergence of Markov processes:

*Lemma 2 (Convergence of Markov Processes):* Let {\left\{\stackrel{\u0304}{X}\left(j\right)\right\}}_{j\ge 0} be a Markov process with generating operator \mathcal{L}. Let there exist a non-negative function V\left(j,\overline{X}\right)\in {D}_{\mathcal{L}} in the domain *G* ⊂ ℝ^{NM}for *j* ≥ 0 and \overline{X}\in {\mathbb{R}}^{NM}. Assume that

where \phi \left(j,\overline{X}\right),\overline{X}\in {\mathbb{R}}^{NM} is a non-negative function such that

Then, the Markov process {\left\{\stackrel{\u0304}{X}\left(j\right)\right\}}_{j\ge 0} with an arbitrary initial distribution

converges almost surely (a.s.) to *G* as *j* → ∞:

*Proof* Proof is a vector generalization of that in [16], and is omitted.

Lemma 2 guarantees a.s. convergence of a general Markov process with an arbitrary initial distribution under the assumption of the existence of a Lya-punov function V\left(j,\overline{X}\right). In fact, the state vector sequence {\left\{\stackrel{\u0304}{X}\left(j\right)\right\}}_{j\ge 0} given in (6) is a Markov process, since \mathbb{P}\left[\overline{X}\left(j\right)|\overline{X}\left(j-1\right),\dots ,\overline{X}\left(0\right)\right]=\mathbb{P}\left[\overline{X}\left(j\right)|\overline{X}\left(j-1\right)\right]. In the next lemma, we prove that the state estimate sequence {\left\{\stackrel{\u0304}{X}\left(j\right)\right\}}_{j\ge 0} given in (6) converges a.s. to the consensus subspace \mathcal{C} by showing that the consensus algorithm over an undirected effective network graph satisfies the Lyapunov function assumptions of Lemma 2.

*Lemma 3 (a.s. convergence of the proposed algorithm to the consensus subspace)*: Consider the consensus algorithm in (6) with initial state \overline{X}\left(0\right)\in {\mathbb{R}}^{NM}. The weight coefficients satisfy the persistence condition in (9). Assume that the undirected connectivity graph Laplacian *L*(*j*) is independent ofcommunication noise *ϕ*_{n,l}(*j*) for 1 ≤ *n, l* ≤ *N*. If L\left(j\right)=\overline{L}+\stackrel{\u0303}{L}\left(j\right) with mean \overline{L}=E\left[L\left(j\right)\right] is such that {\lambda}_{2}\left(\overline{L}\right)>0 and *p*(*l, n*) > 0 for {*l, n*} ∈ *E*(*j*), then

*Proof* See Appendix A.

Lemma 3 shows that the state estimate sequence {\left\{\stackrel{\u0304}{X}\left(j\right)\right\}}_{j\ge 0} given in (6) converges a.s. to the consensus subspace \mathcal{C}. The key to the proof is to show that the directed effective network graph will become an undirected graph after all nodes have local estimates and the consensus algorithm over this undirected effective network graph satisfies the condition required in Lemma 2. In the following theorem, we state our main result and complete the convergence proof for the proposed distributed tracking with consensus algorithm by showing that the sequence of component-wise averages {\left\{{\stackrel{\u0304}{X}}_{\mathsf{\text{avg}}}\left(j\right)\right\}}_{j\ge 0} converges a.s. to a finite random variable Θ, where {\stackrel{\u0304}{X}}_{\mathsf{\text{avg}}}\left(j\right)=\frac{1}{N}\left({1}^{\mathsf{\text{T}}}\otimes {I}_{M}\right)\stackrel{\u0304}{X}\left(j\right).

*Theorem 1 (a.s. convergence to a finiterandom vector)*: Consider the consensus algorithm in (6) with initial state \overline{X}\left(0\right)\in {\mathbb{R}}^{NM}. The weight coefficients satisfy the persistence condition in (9). Assume that the time-varying connectivity graph Laplacian *L*(*j*) is independent of communication noise *ϕ*_{n,l}(*j*) for 1 ≤ *n, l* ≤ *N*. If L\left(j\right)=\overline{L}+\stackrel{\u0303}{L}\left(j\right) with mean \overline{L}=E\left[L\left(j\right)\right] is such that {\lambda}_{2}\left(\overline{L}\right)>0, and if *p*(*l, n*) > 0 for {*l, n*} ∈ *E*(*j*), then there exists an almost sure finite real random vector Θ such that

*Proof* Since the mean connectivity graph \overline{L} is connected with non-zero link probability, for *j* large enough, each node will receive information from one another and generate its updated local estimate. For a fixed *k*, let {J}_{k}=inf\left\{j|{\left(\underset{k}{\overset{j}{S}}\right)}^{c}=\mathrm{0\u0338},j\ge 0\right\}. Then, Γ(*j*) = *γ*(*j*)*I*_{
N
}for *j* ≥ *J*_{
k
}and (6) becomes

Define the average of \stackrel{\u0304}{X}\left(j\right) as {\stackrel{\u0304}{X}}_{\mathsf{\text{avg}}}\left(j\right)=\frac{1}{N}\left({1}^{\mathsf{\text{T}}}\otimes {I}_{M}\right)\stackrel{\u0304}{X}\left(j\right). Multiply both sides of (11) by \frac{1}{N}\left({1}^{\mathsf{\text{T}}}\otimes {I}_{M}\right) and use the fact that **1** ^{T}L(*j*) = **0**_{
N
}, so that for {\left({S}_{k}^{j}\right)}^{c}=\mathrm{0\u0338}, we have

where \epsilon \left(j\right)=\frac{\gamma \left(j\right)}{N}\left({1}^{\mathsf{\text{T}}}\otimes {I}_{M}\right)\overline{\Phi}\left(j\right). Assuming that receiver noise is zero-mean and time independent, we obtain

where {\varphi}_{n}\left(j\right)=-{\sum}_{l\in {\Omega}_{n}\left(j\right)}{\varphi}_{n,l}\left(j\right) denotes the total incoming noise from node *l* ∈ Ω_{
n
}(*j*) to node *n* and the last step follows from the independence of *ϕ*_{
l
}(*j*) and *ϕ*_{
n
}(*j*). By assuming that E\left[{\varphi}_{l,n}\left(j\right){\varphi}_{l,n}{\left(j\right)}^{\mathsf{\text{T}}}\right]={\sigma}^{2}{I}_{M}, for 1 ≤ *l, n* ≤ *N*, we obtain

From independence of \stackrel{\u0304}{X}\left(j\right) and \overline{\Phi}\left(j\right) and the independence of noise over time, we then have that

Denote {\overline{X}}_{\mathsf{\text{avg}}}\left(j\right)={\left[{\overline{X}}_{\mathsf{\text{avg,1}}}\left(j\right)\dots {\overline{X}}_{\mathsf{\text{avg,}}M}\left(j\right)\right]}^{\mathsf{\text{T}}}. It can be easily seen that

Hence, the sequence \left\{{\overline{X}}_{\mathsf{\text{avg}},m}\left(j\right)\right\} is an *L*_{2} bounded martingale and thus converges a.s. in *L*_{2} to a finite random scalar *θ*. Define {\overline{X}}_{m}\left(j\right)={\left[{\mathsf{\text{e}}}_{m}^{\mathsf{\text{T}}}{\stackrel{\u0304}{x}}_{1}\dots ,{\mathsf{\text{e}}}_{m}^{\mathsf{\text{T}}}{\stackrel{\u0304}{x}}_{N}\right]}^{\mathsf{\text{T}}}. From the conclusion of Lemma 3, we have that

\mathbb{P}\left[{lim}_{j\to \infty}\parallel \overline{X}\left(j\right)-{1}_{N}\otimes {\overline{X}}_{\mathsf{\text{avg}}}\left(j\right)\parallel =0\right]=1, which implies that

\mathbb{P}\left[{lim}_{j\to \infty}\parallel {\overline{X}}_{m}\left(j\right)-{\overline{X}}_{\mathsf{\text{avg,}}m}\left(j\right){1}_{N}\parallel =0\right]=1. Then, we obtain that

\mathbb{P}\left[{lim}_{j\to \infty}{\overline{X}}_{m}\left(j\right)=\theta {1}_{N}\right]=1 and the theorem follows.

Theorem 1 shows that the proposed distributed tracking with consensus algorithm will reach consensus almost surely and the consensus estimate {lim}_{j\to \infty}\stackrel{\u0304}{x}\left(j\right) is a finite random vector **Θ**. Since the consensus algorithm in (6) falls in the framework of stochastic approximation, we may also analyze the convergence rate of the consensus algorithm based on the ODE method (ordinary difference equation) [37]. The next theorem characterizes an upper bound to the convergence rate of the proposed distributed tracking with consensus algorithm.

*Theorem 2 (convergence rate):* Consider the consensus algorithm in (6) with initial state \overline{X}\left(0\right)\in {\mathbb{R}}^{NM}. The weight coefficients satisfy the persistence condition in (9) and \gamma \left(j\right)\le \frac{2}{{\lambda}_{2}\left(\stackrel{\u0304}{\mathsf{\text{L}}}\right)+{\lambda}_{n}\left(\stackrel{\u0304}{\mathsf{\text{L}}}\right)}. Assume that the time-varying connectivity graph Laplacian *L*(*j*) is independent of communication noise *ϕ*_{n,l}(*j*) for 1 ≤ *n, l* ≤ *N*. For *j* ≥ *J*_{
k
}, the effective network graph Laplacian is \mathsf{\text{L}}\left(j\right)=\overline{\mathsf{\text{L}}}+\stackrel{\u0303}{\mathsf{\text{L}}}\left(j\right) with mean \overline{\mathsf{\text{L}}}=E\left[\mathsf{\text{L}}\left(j\right)\right]. If the connectivity graph Laplacian *L*(*j*) with mean \overline{L}=E\left[L\left(j\right)\right] is such that {\lambda}_{2}\left(\overline{L}\right)>0, and if *p*(*l, n*) > 0 for {*l, n*} ∈ *E*(*j*), the convergence rate,^{e} of the proposed consensus algorithm is bounded by -{\lambda}_{2}\left(\overline{\mathsf{\text{L}}}\right)\left(\frac{1}{J-{J}_{k}}{\sum}_{{J}_{k}\le j\le J}\gamma \left(j\right)\right).

*Proof* For a fixed *i*, let {J}_{k}=inf\left\{j|{\left(\underset{k}{\overset{j}{S}}\right)}^{c}=\varnothing ,j\ge 0\right\}. From the asymptotic unbiasedness of **Θ**, we have \underset{j\to \infty}{lim}E\left[\overline{X}\left(j\right)\right]={1}_{N}\otimes r, where r={\overline{X}}_{\mathsf{\text{avg}}}\left({J}_{k}\right). For *j* ≥ *J*_{
k
}, define \Xi \left(j\right)={I}_{NM}=-\gamma \left(j\right)\left(\overline{\mathsf{\text{L}}}\otimes {I}_{M}\right), where \overline{\mathsf{\text{L}}}=E\left[\mathsf{\text{L}}\left(j\right)\right]. Using the fact that L(*j*) and \stackrel{\u0304}{X}\left(j\right) are independent, and E\left[\stackrel{\u0304}{\Phi}\left(j\right)\right]={0}_{NM}, from (6), we have that

From the persistence condition \gamma \left(j\right)>0,{\sum}_{j\ge 0}\gamma \left(j\right)=\infty and {\sum}_{j\ge 0}{\gamma}^{2}\left(j\right)\le \infty [16], it follows that *γ*(*j*) → 0. From the mixed-product property of Kro-necker product (*A* ⊗ *B*)(*C* ⊗ *D*) = *AB* ⊗ *CD* and \left({I}_{NM}-\gamma \left(j\right)\overline{\mathsf{\text{L}}}\right){1}_{N}={1}_{N} [32], we have

From (12) and (13), it can be shown that

where last step follows from Lemma 8 of [15] and \stackrel{\u0304}{\rho}\left(\cdot \right) denotes the spectral radius of a matrix. From the assumption on weight coefficient *γ*(*j*), we have 0\le \gamma \left(l\right){\lambda}_{2}\left(\stackrel{\u0304}{\mathsf{\text{L}}}\right)\le 1. Since 1 - *α* ≤ *e*^{-α} for 0 ≤ *α* ≤ 1, we then have that

Therefore, as *j* → *J*, the convergence rate is bounded by -{\lambda}_{2}\left(\stackrel{\u0304}{\mathsf{\text{L}}}\right)\left(\frac{1}{J-{J}_{k}}{\sum}_{{J}_{k}\le l\le J}\gamma \left(l\right)\right), which depends on the algebraic connectivity {\lambda}_{2}\left(\overline{\mathsf{\text{L}}}\right) and the weights *γ*(*j*), for *J*_{
k
}≤ *j* ≤ *J*.

Theorem 2 shows that the convergence rate of the proposed algorithm depends on the topology through the algebraic connectivity {\lambda}_{2}\left(\overline{\mathsf{\text{L}}}\right) of the effective network graph \stackrel{\u0303}{G}\left(j\right) and through weights *γ*(*j*), for *j* ≥ *J*_{
k
}. Since for j\ge {J}_{k},{I}_{{S}_{k}^{j}}=I and *L*(*j*) = L(*j*), we have \stackrel{\u0304}{\mathsf{\text{L}}}=E\left[\mathsf{\text{L}}\left(j\right)\right]=E\left[L\left(j\right)\right]. In (14), {\lambda}_{2}\left(\overline{\mathsf{\text{L}}}\right) is the algebraic connectivity of the mean Laplacian corresponding to the time-varying network graphs. For a static network, this reduces to the algebraic connectivity of the static Laplacian L.

Since the consensus algorithm in (6) is iterative, whose energy consumption is proportional to the time necessary to achieve consensus and inversely proportional to transmit power. From [38, 39], for energy-constrained sensor networks, there exists a tradeoff between convergence time that depends on network connectivity and the transmit power of each node necessary to establish the links with the desired reliability. Therefore, we can minimize the energy consumption for consensus process by optimizing transmit power, network topology, and weights *γ*(*j*).

### B Steady-state analysis for noiseless graphs

In this section, we analyze the steady-state performance of the proposed distributed tracking with consensus algorithm. When the filter reaches steady state, the error covariance matrix is time invariant and the corresponding filter gain is constant. Therefore, finding the steady state of the proposed algorithm will help understanding its asymptotic behavior, analyzing error covariance, and filter design. From (8), it can be seen that the propagation of communication noise implies the non-existence of an upper bound to the covariance matrix. Therefore, the covariance matrix in the Kalman filter may not also converge and the filter may not reach steady state. However, time-varying graph assumption does not affect the existence of steady state. Since for *J* → ∞, consensus is reached over the network and the outputs of the consensus update {\overline{X}}_{n}\left(k,J\right) and \overline{P}\left(k,J\right) depend only on the inputs {\overline{X}}_{n}\left(k,0\right) and \overline{P}\left(k,0\right) for complete data case with noiseless time-varying graphs (for incomplete data case with noiseless time-varying graphs, this property still holds for some special types of graphs). Hence, the combined system of distributed tracking with consensus can be transformed into a Kalman filter with time-invariant parameters. Therefore, steady state can still be reached [1]. In the following, assuming noiseless time-varying graphs, we start with steady-state analysis for the case with complete data, and then, we extend the results to the case with incomplete data.

#### 1) Complete data with noiseless time-varying graphs

Here, we assume complete data, a scalar target state *x* ∈ ℝ^{1} (for simplicity) and noiseless time-varying graphs, where the connectivity graph Laplacian *L*(i) with mean \overline{L}=E\left[L\left(j\right)\right] is such that {\lambda}_{2}\left(\overline{L}\right)>0, and *p*(*l, n*) > 0 for {*l, n*} ∈ *E*(*j*). Note that, since a closed form equation for {\widehat{P}}_{n}\left(k+1|k\right) cannot be easily obtained when the target state *x* ∈ ℝ^{M}for *M* > 1, the following derivation would not apply to vector state.

From the result of Theorem 1 for scalar target state, itcan be shown that \underset{J\to \infty}{lim}\overline{X}\left(k,J\right)={\overline{X}}_{\mathsf{\text{avg}}}\left(k,0\right){1}_{N}, where {\overline{X}}_{\mathsf{\text{avg}}}\left(k,j\right)=\frac{1}{N}{1}^{\mathsf{\text{T}}}\overline{X}\left(k,J\right). From the definition of \overline{X}\left(k,j\right) and {\stackrel{\u0304}{x}}_{n}\left(k,0\right)={\widehat{x}}_{n}\left(k|k\right), we have for 1 ≤ *n* ≤ *N*

With the assumptions above, the covariance matrix (8) in the (*j* + 1)th consensus iteration after the *k* th tracking update simplifies to \overline{P}\left(k,j+1\right)=A\left(j\right)\overline{P}\left(k,j\right)A{\left(j\right)}^{\mathsf{\text{T}}} For complete data case, L(*j*) = *L*(*j*). Since **1**^{T} *L*(*j*) = 0, from (7), we have **1**^{T} **A**(*j*) = **1**. Then, we can obtain that

By applying the result of Theorem 1, we have \underset{J\to \infty}{lim}\overline{P}\left(k,J\right)={\left({\overline{X}}_{\mathsf{\text{avg}}}\left(k,0\right)-x\left(k\right)\right)}^{2}1{1}^{\mathsf{\text{T}}}. Since all the elements in \underset{J\to \infty}{lim}\overline{P}\left(k,J\right) are equal, from (16), it follows that

Since {\stackrel{\u0304}{P}}_{n}\left(k,J\right) is the *n* th *M* × *M* main diagonal block of \stackrel{\u0304}{P}\left(k,J\right), we have the covariance matrix for node *n* (1 ≤ *n* ≤ *N*) as below:

From (15) and (18), we have {\stackrel{\u0304}{x}}_{n}\left(k,J\right)={\stackrel{\u0304}{x}}_{l}\left(k,J\right) and {\stackrel{\u0304}{P}}_{n}\left(k,J\right)={\stackrel{\u0304}{P}}_{l}\left(k,J\right) for *J* → ∞ and 1 ≤ *n, l* ≤ *N*. Then, each node *n* sets {\stackrel{\u0304}{x}}_{n}\left(k|k\right)={\stackrel{\u0304}{x}}_{n}\left(k,J\right) and {\overline{P}}_{n}\left(k|k\right)={\overline{P}}_{n}\left(k,J\right). From (4), we have {\widehat{x}}_{n}\left(k+1|k\right)={\widehat{x}}_{l}\left(k+1|k\right) and {\widehat{P}}_{n}\left(k+1|k\right)={\widehat{P}}_{l}\left(k+1|k\right) for 1 ≤ *n, l* ≤ *N* and it follows that for 1 ≤ *n* ≤ *N*

Let {\widehat{x}}_{n}\left(k+1|k\right)=\widehat{x}\left(k+1|k\right) and {\widehat{P}}_{n}\left(k+1|k\right)=\widehat{P}\left(k+1|k\right). Then, the combined system of distributed tracking with consensus can be transformed into a single Kalman filter as follows:

*Theorem 3* Consider the system dynamics in (1) and (2) and the Kalman filter in (20). Assume that the connectivity graph Laplacian *L*(*j*) with mean \overline{L}=E\left[L\left(j\right)\right] is such that {\lambda}_{2}\left(\overline{L}\right)>0, and *p*(*l, n*) > 0 for {*l, n*} ∈ *E*(*j*). If the pair (*F, H*_{
n
}) is observable for 1 ≤ *n* ≤ *N*, then the prediction covariance matrix \widehat{P}\left(k|k-1\right) converges to a constant matrix

where *P* is the unique definite solution of the discrete algebraic Riccati equation (DARE)

*Proof* See Proof of Theorem 4. By setting *m* = *N* and *β*_{
n
}(*k*) = 1 for 1 ≤ *n* ≤ *N*, the Kalman filter in (24) can be reduced to the one in (20). Theorem 3 can be considered as a special case of Theorem 4. Thus, it can be proved in a similar manner.

As a consequence of Theorem 3, the local Kalman filter gain converges to

From (21), it can be seen that lim_{N→∞}*P* = *Q*, i.e., as the size of the sensor network *N* increases, the steady-state covariance *P*, which in this case is a scalar, will decrease. This implies that if the network size is large enough, asymptotically the tracking is noiseless and follows the target exactly. It is obvious that this result still holds for distributed local Kalman filtering with centralized fusion. However, the distributed tracking with consensus results in the same performance even if the graph is time-varying and it also improves the robustness and scalability due to consensus exchanges. For the assumed scalar case, for example, if *H*_{
n
}= *H* and *R*_{
n
}= *R* for 1 ≤ *n* ≤ *N*, then we have K=\frac{HP}{{H}^{2}P+R} and P=\frac{-B+\sqrt{{B}^{2}+4{H}^{2}QR}}{2{H}^{2}}, where B=\left(1-\frac{{F}^{2}}{N}\right)R-{H}^{2}Q. This implies that for the same sensing model, each node will have the same Kalman gain *K* and prediction covariance *P* in the steady state.

#### 2) Incomplete data with noiseless time-varying graphs

Next, we assume incomplete data, a scalar target state *x* ∈ ℝ^{1} and noiseless time-varying graphs, where the connectivity graph Laplacian *L*(*j*) with mean \overline{L}=E\left[L\left(j\right)\right] is such that {\lambda}_{2}\left(\overline{L}\right)>0, and *p*(*l, n*) > 0 for {*l, n*} ∈ *E*(*j*). Furthermore, we assume that only *m* nodes can observe the target and without loss of any generality the index of those *m* nodes are ordered as 1, 2,..., *m*, where *m* is constant and 1 ≤ *m* ≤ *N*. This implies that the active node set {S}_{k}^{0}=\left\{1,2,\dots ,m\right\}, which does not require further assumptions on the connectivity graph for consensus, since the graph is connected on average and the information can still propagate over the network even if only a fixed number of nodes have observation.

With the assumption of incomplete data and noiseless time-varying graphs, 1^{T}L(*j*) = 0 for *J*_{
k
}≤ *j* < *J*. Then, (17) becomes

where \left[{A}_{0}^{{J}_{k-1}}\right]=A\left({J}_{k}-1\right)\cdots A\left(0\right) and {\beta}_{n}\left(k\right)={\sum}_{l=1}^{N}{\left[{A}_{0}^{{J}_{k}-1}\right]}_{ln} is the *n* th column sum of \left[{A}_{0}^{{J}_{k}-1}\right] that depends on time *k*. The last step of (22) follows from that {\widehat{P}}_{n}\left(k|k\right)=\epsilon for *m* < *n* ≤ *N* and some ϵ > 0. Then, as in previous subsection, we have for 1 ≤ *n* ≤ *N*

From (23), for *J* → ∞, we have {\stackrel{\u0304}{x}}_{n}\left(k,J\right)={\stackrel{\u0304}{x}}_{l}\left(k,J\right) and {\overline{P}}_{n}\left(k,J\right)=\overline{{P}_{l}}\left(k,J\right) for 1 ≤ *n*, l ≤ *N*. By setting {\stackrel{\u0304}{x}}_{n}\left(k|k\right)={\stackrel{\u0304}{x}}_{n}\left(k,J\right) and \overline{{P}_{n}}\left(k|k\right)={\overline{P}}_{n}\left(k,J\right), from (4), we can obtain recursive update equations for {\widehat{P}}_{n}\left(k+1|k\right) and {\widehat{x}}_{n}\left(k+1|k\right). Furthermore, we also have {\widehat{x}}_{n}\left(k+1|k\right)={\widehat{x}}_{l}\left(k+1|k\right) and {\widehat{P}}_{n}\left(k+1|k\right)={\widehat{P}}_{l}\left(k+1|k\right) for 1 ≤ *n, l* ≤ *N*. Let {\widehat{x}}_{n}\left(k+1|k\right)=\widehat{x}\left(k+1|k\right) and {\widehat{P}}_{n}\left(k+1|k\right)=\widehat{P}\left(k+1|k\right). Then, the combined system of distributed tracking with consensus can then be transformed into a single Kalman filter for node *n*(1 ≤ *n* ≤ *m*) as below:

where (20) is a special case of (24) with *m* = *N* and *β*_{
n
}(*k*) = 1 for 1 ≤ *n* ≤ *N*.

*Theorem 4* Consider the system dynamics in (1) and (2) and the Kalman filter in (24). Assume that *m* nodes can observe the target and the index of those *m* nodes are fixed and ordered as 1,..., *m*. The connectivity graph Laplacian *L*(*j*) with mean \overline{L}=E\left[L\left(j\right)\right] is such that {\lambda}_{2}\left(\overline{L}\right)>0, and *p*(*l, n*) > 0 for {*l, n*} ∈ *E*(*j*). The connectivity graph has switching topologies and is periodic such that *β*_{
n
}(*k*) = *β*_{
n
}is time invariant. If the pair (*F, H*_{
n
}) is observable for 1 ≤ *n* ≤ *m*, then the prediction covariance matrix \widehat{P}\left(k|k-1\right) converges to a constant matrix

where *P* is the unique definite solution of the discrete algebraic Riccati equation (DARE)

*Proof* See Appendix B.

Theorem 4 asserts that if the connectivity graph topology is switching and periodic, the proposed algorithm can still reach steady-state and the steady-state covariance matrix can be obtained by solving (25). The conditions of graph topology assumed in Theorem 4 are strong. However, it may still be applicable in certain situations such as satellite surveillance network in [29], since the existence of a communication link depends on distance between nodes and the trajectories of satellites are pre-determined and periodic, whenever ratios of the orbit periods are rational. As an example, consider the network model in Figure 4. The connectivity graph in Figure 4 is switching and periodic with period equal to 4, and it can be seen that the graph is connected on average. Let N=6,m=4,{S}_{k}^{0}=\left\{1,2,3,4\right\} and \gamma \left(j\right)=\frac{1}{j+1} for 0 ≤ *j* < *J*. After iteration *J*_{
k
}= 1, all nodes will have updated local estimates to be shared. In this case, \left[{A}_{0}^{{J}_{k}-1}\right] becomes

It can be seen that \left[{A}_{0}^{{J}_{k}-1}\right] is time-variance of *m* and the periodic graph topology. Thus, *β*_{
n
}(*k*) = *β*_{
n
}is also time invariant and \frac{1}{N}{\sum}_{n=1}^{m}{\beta}_{n}=1, which follows from the condition for unbiasedness in the consensus estimate \overline{X}\left(k,j\right). As we will see shortly, from the simulation results in Section IV, the filter indeed reaches steady state in this case, and then, the error covariance matrix becomes time invariant and the corresponding filter gain is constant.

## 4 Numerical examples

In this section, we consider the performance of the proposed distributed tracking with consensus algorithm and compare it with centralized Kalman filter and distributed local Kalman filtering with centralized fusion. The performance of the centralized Kalman filter is well-understood [40] and provides a benchmark performance for distributed local Kalman filtering with centralized fusion. In distributed local Kalman filtering with centralized fusion, all nodes send their filtered estimates to a fusion center. The fusion center then generates a fused estimate {\widehat{x}}_{\mathsf{\text{fusion}}}\left(k\right)=\frac{1}{\left|{S}_{k}^{0}\right|}{\sum}_{n\in {S}_{k}^{0}}{\widehat{x}}_{n}\left(k|k\right).

In the first simulation, we compare the performance of the proposed algorithm with the distributed local Kalman filtering with centralized fusion and the centralized Kalman filter over a random graph with noisy communication links and incomplete data. We consider a random connectivity graph *G*(*N, p*) with *N* = 20 and the probability that each link exists *p* = 0.5. The other parameters of the simulation setup are: *F* = 1, *Q* = 1, *x*(0) = 0, *P*_{0} = 0, *R*_{
n
}= 0.25, *H*_{
n
}= 1, {\sigma}_{l,n}^{2}={\sigma}^{2}=0.1,{S}_{k}^{0}=\left\{n|1\le n\le 10,n\in \mathbb{Z}\right\} and *J* = 30.

Figure 5a shows the node estimates of the three algorithms in a time-varying graph with noisy communication links. As we can see, the node estimates of the three algorithms follow the target's trajectory. In Figure 5a, the curve with cross marker denotes the first node's estimate by using distributed tracking with consensus algorithm, the dashed curve denotes the distributed local Kalman filtering with centralized fusion, and the curve with circle marker denotes the centralized Kalman filter and the solid curve denotes the target's trajectory. Figure 5b compares the resulting mean squared error (MSE) of the three algorithms, where the MSE of the distributed tracking with consensus is defined to be the average MSE over all nodes \frac{1}{N}{\sum}_{n=1}^{N}\left[{\left({\stackrel{\u0304}{x}}_{n}\left(k,J\right)-x\left(k\right)\right)}^{\mathsf{\text{T}}}\left({\stackrel{\u0304}{x}}_{n}\left(k,J\right)-x\left(k\right)\right)\right]. In Figure 5b, it can be seen that the MSE of the proposed distributed tracking with consensus algorithm is close to that of the distributed local Kalman filtering with centralized fusion. As expected, both of them are higher than the MSE of the centralized Kalman filter, which acts as a benchmark. The results in Figure 5 show that the performance of the proposed distributed tracking with consensus algorithm is close to that of the distributed local Kalman filtering with centralized fusion in a time-varying random graph with noisy communication and incomplete data. Additional communication bandwidth, which depends on graph topology *G* and number of iterations *J*, is required for the proposed algorithm due to information exchange among nodes. However, it resolves the bandwidth constraints problem of fusion center for centralized fusion case and has a high level of fault tolerance and reliability. Also, because of its advantages of fully distributed implementation, robustness, and scalability, it may be preferable in practical applications.

In the second simulation, we consider the two-dimensional tracking problem treated in [22]. The connectivity graph is again assumed to be a random graph *G*(*N, p*) with *N* = 50 and the probability that each link exists *p* = 0.5. The probability of each node having an observation at a given time instant is *p*_{
s
}= 0.9. The other parameters of the simulation setup are as follows: F={I}_{2}+\epsilon {F}_{0}+\frac{{\epsilon}^{2}}{2}{F}_{0}^{2}+\frac{{\epsilon}^{3}}{6}{F}_{0}^{3},{F}_{0}=\left[\begin{array}{cc}\hfill 0\hfill & \hfill -2\hfill \\ \hfill 2\hfill & \hfill 0\hfill \end{array}\right],\epsilon =0.015,Q={\left(\epsilon {c}_{w}^{2}\right)}^{2}{I}_{2},{c}_{w}=5,x\left(0\right)={\left[15,-10\right]}^{\mathsf{\text{T}}},{H}_{n}=\left[1,0\right] for *n* is odd and *H*_{
n
}= [0, 1] for *n* is even, {R}_{n}={c}_{v}^{2}\sqrt{n} for *n* = 1, . . ., *N* with {c}_{v}=30,{\sigma}_{l,n}^{2}={\sigma}^{2}=1,J=10. Note that, the target is moving on noisy circular trajectories. The target is not fully observable by an individual node, but is collectively observable by all nodes.

Figure 6a shows the node estimates (trajectory) of the two algorithms over a time-varying graph with incomplete data. In Figure 6a, the curves with markers denote all the node estimates by using distributed tracking with consensus algorithm, while the dashed curve denotes the distributed local Kalman filtering with centralized fusion and the solid curve denotes the target's trajectory. As we can see, both algorithms overcome the impact of partial observations at each node resulting in improved overall observation quality and the node estimates by using distributed tracking with consensus algorithm are noisy due to the communication noise. Note that the estimates are close to the trajectory of the target but with a small gap. That is because the observation noise covariance is rather large at each node. Figure 6b compares the resulting MSE of these algorithms. It can be seen that the mean squared error of the proposed algorithm is slightly higher than that of the distributed Kalman filtering with centralized fusion.

Next, we study the steady-state behavior in the case of time-varying graphs with complete data and noiseless communication. We consider a random connectivity graph *G*(*N, p*) with *N* = 6 and the probability that each link exists *p* = 0.5. The other parameters of the simulation setup are as follows: F=1,Q=1,x\left(0\right)=0{P}_{0}=0.5,{R}_{n}=0.25,{\sigma}_{l,n}^{2}={\sigma}^{2}=0,J=30,{H}_{n}=1. Figure 7a shows the node consensus estimates {\stackrel{\u0304}{x}}_{n}\left(k,J\right) over a random graph with noiseless communication links and complete data. It can be seen that all node estimates {\stackrel{\u0304}{x}}_{n}\left(k,J\right) converge to the same value and follow the target state, as asserted by Theorem 1. Figure 7b and 7c shows the node estimates {\stackrel{\u0304}{x}}_{n}\left(k,J\right) in the consensus update after the twenty-first tracking update and the variance of all the node estimates, respectively. Here, the variance of all the node estimates is defined as \left(k,j\right)=E\left[{({\stackrel{}{x}}_{}}^{}\right]