{'fraction_non_alphanumeric': 0.042871620398856274, 'fraction_numerical': 0.011962068840710847, 'mean_word_length': 4.323090261053848, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 22, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Distributed Observers for LTI Systems

We consider the problem of distributed state estimation of a linear time-invariant (LTI) system by a network of sensors. We develop a distributed observer that guarantees asymptotic reconstruction of the state for the most general class of LTI systems, sensor network topologies and sensor measurement structures. Our analysis builds upon the following key observation - a given node can reconstruct a portion of the state solely by using its own measurements and constructing appropriate Luenberger observers; hence it only needs to exchange information with neighbors (via consensus dynamics) for estimating the portion of the state that is not locally detectable. This intuitive approach leads to a new class of distributed observers with several appealing features. Furthermore, by imposing additional constraints on the system dynamics and network topology, we show that it is possible to construct a simpler version of the proposed distributed observer that achieves the same objective while admitting a fully distributed design phase. Our general framework allows extensions to time-varying networks that result from communication losses, and scenarios including faults or attacks at the nodes.


Introduction
In many applications involving large-scale complex systems (such as the power grid, transportation systems, industrial plants, etc.), the state of the system is monitored by a group of sensors spatially distributed over large sparse networks where the communication between sensors is limited (see [1,2]). To model such a scenario, consider the discrete-time linear time-invariant dynamical system where k ∈ N is the discrete-time index, x[k] ∈ R n is the state vector and A ∈ R n×n is the system matrix. The state of the system is monitored by a network 1 of N sensors, each of which receives a partial measurement of the state at every time-step. Specifically, the i-th sensor has access to a measurement of the state, given by where y i [k] ∈ R r i and C i ∈ R r i ×n . We use y[k] = y T 1 [k] · · · y T N [k] T to represent the collective measurement vector, and C = C T 1 · · · C T N T to denote the collection of the sensor observation matrices. These sensors are represented as nodes of an underlying directed communication graph which governs the information flow between the sensors. Each node is capable of exchanging information with its neighbors and performing computational tasks. The goal of each node is to estimate the entire system state x[k] based on its respective There are various technical challenges associated with constructing a distributed observer. First, if the pair (A, C i ) is not detectable for some (or all) i ∈ {1, · · · , N }, then the corresponding nodes cannot estimate the true state of the plant based on their own local measurements, thereby dictating the need to exchange information with other nodes. Second, this exchange of information is restricted by the underlying communication graph G. With these challenges in mind, we address and solve the following problem in this paper. Problem 1. Design a distributed observer for LTI systems of the form (1), linear measurement models of the form (2), and time-invariant directed communication graphs.
There are a variety of approaches to construct distributed observers (as defined in Definition 1) that have been proposed in the literature, which we will now review. After that, we will summarize how our approach differs from the existing approaches, before delving into the details of our construction.

Related Work
The papers [3][4][5] consider distributed estimation of scalar stochastic dynamical systems over general graphs; in these works, it is typically assumed that each node receives scalar local observations, leading to local observability at every node. The papers [6,7] considered a version of this problem where the underlying communication graph is assumed to be complete. For more general stochastic systems, the Kalman filtering based approach to solving the distributed estimation problem has been explored by several researchers. The approach proposed in [8][9][10] relies on a two-step strategy -a Kalman filter based state estimate update rule, and a data fusion step based on averageconsensus. The stability and performance issues of this method have been investigated in [11,12]. A drawback of this method (and the ones in [4,13,14]), stems from the fact that they require a (theoretically) infinite number of data fusion iterations between two consecutive time steps of the plant dynamics in order to reach average consensus, thereby leading to a two-time-scale algorithm. More recently, finite-time data fusion has been studied in [15] and [16]. Although an improvement over the infinite-time data fusion case, these methods still rely on a two-time-scale strategy. In [17], the authors employ an LMI-based approach for obtaining sub-optimal filter gains that minimize a quadratic cost function of the covariance matrices of the estimation errors.
In [18] and [19], the authors consider the distributed observer design problem for undirected graphs; in these works, they propose a scalar-gain estimator that runs on a single-time-scale. 3 They introduce the notion of "Network Tracking Capacity" (NTC), a measure of the most unstable dynamics (in terms of the 2-norm of the state matrix) that can be estimated with bounded meansquared error under their scheme. However, the tight coupling between the network and the plant dynamics typically limits the set of unstable eigenvalues that can be accommodated by their method without violating the constraints imposed upon the range of the scalar gain parameter. In [20], the author approaches the observer design problem from a geometric perspective and provides separate necessary and sufficient conditions for consensus-based distributed observer design. In [21][22][23][24], the authors use single-time-scale algorithms, and work under the broadest assumptions, namely that the pair (A, C) is detectable, where A represents the system matrix, and C is the collection of all the node observation matrices. In all of these works, the authors rely on state augmentation 4 for casting the distributed estimation problem as a problem of designing a decentralized stabilizing controller for an LTI plant, using the notion of fixed modes [25,26]. Specifically, in [23], the authors relate the distributed observer design problem for directed networks to the detectability of certain strongly connected clusters within the network, and provide a single necessary and sufficient condition for their scheme.

Summary of Contributions
In this paper, we provide a new approach to designing distributed observers for LTI dynamical systems. Specifically, we use the following simple, yet key observation -for each node, there may be certain portions of the state that the node can reconstruct using only its local measurements. The node thus does so. For the remaining portion of the state space, the node relies on a consensusbased update rule. The key is that those nodes that can reconstruct certain states on their own act as "root nodes" (or "leaders") in the consensus dynamics, leading the rest of the nodes to asymptotically estimate those states as well. These ideas, in a nutshell, constitute the essence of our distributed estimation strategy.
We begin by considering the most general category of systems and graphs (taken together) for which a distributed observer can be constructed, and develop an estimation scheme that enjoys the following appealing features simultaneously, thereby differentiating our work from the existing literature discussed in Section 2.3: i) it provides theoretical guarantees regarding the design of asymptotically stable estimators; (ii) it results in a single-time-scale algorithm; (iii) it does not require any state augmentation; (iv) it requires only state estimates to be exchanged locally; and (v) it works under the broadest conditions on the system and communication graph. Subsequently, for a certain subclass of systems and communication graphs, we provide a simpler fully distributed estimation scheme (at both design-and run-time) for achieving asymptotic state reconstruction. Finally, we show that our proposed framework can be extended to guarantee asymptotic state reconstruction in the presence of communication losses that lead to time-varying networks.
Some of the results from Section 5 of the paper appeared (without proofs) in [27]. This journal paper substantially expands upon the conference paper by providing full proofs of all results, a detailed analysis of classes of systems and graphs that allow efficient distributed implementations (at both the design-and run-time phases), an analysis of the robustness of our general framework to communication losses, and examples and simulations to complement the proposed theory.

Preliminaries
Before we proceed with a formal analysis of the problem of designing a distributed observer, we first identify the main consideration that shall dictate our solution strategy, namely, the relationship between the measurement structure of the nodes and the underlying communication graph. To classify sets of systems and graphs based on this relationship, we need to first establish some notation. Accordingly, for each node i, we denote the detectable and undetectable eigenvalues 5 of A by the sets O i and U O i , respectively. We define σ i |O i |. Next, we introduce the notion of root nodes.
Definition 2 (Root nodes). For each λ j ∈ Λ U (A), the set of nodes that can detect λ j is denoted by S j , and called the set of root nodes for λ j . 6 5 Given a pair (A, Ci), an eigenvalue λ ∈ ΛU (A) is said to be detectable if rank A−λIn C i = n. Each stable eigenvalue of A is by default considered to be detectable. 6 Throughout the paper, for the sake of conciseness, we use the terminology 'node i can detect eigenvalue λj' to We also recall the definition of a source component of a graph [23].
is defined as a strongly connected component of G such that there are no edges from V \ V s to V s .
Let there be p source components of G, denoted by {(V i , E i )} i∈{1,··· ,p} . The subsystem associated with the i-th source component is given by the pair (A, C V i ). For the subsequent development, it should be noted that by a system (A, C), we refer to the matrix A in equation (1), and the matrix C = C T 1 · · · C T N T containing each of the measurement matrices given by (2). Then, we classify systems and graphs based on the following two conditions. Condition 1. A system (A, C) and graph G are said to satisfy Condition 1 if the sub-system associated with every source component is detectable, i.e., the pair (A, Condition 2. A system (A, C) and graph G are said to satisfy Condition 2 if for each unstable or marginally stable eigenvalue of the plant, there exists at least one root node within each source component, i.e., for all i ∈ {1, · · · , p} and all λ j ∈ Λ U (A), there exists l ∈ V i , such that Remark 1. It is trivial to see that if a system (A, C) and graph G satisfy Condition 2, they also satisfy Condition 1. To see that the converse is not true in general, consider the 3-node network G in Figure 1, and the following model: From Figure 1, we see that the network has two source components, namely, the strong component formed by nodes 1 and 2 (S 1 ), and the isolated node 3 (S 2 ). Clearly, each of the pairs (A, C 3 ) and (A, C 1 C 2 ) are detectable. Thus, the system is detectable from each of the two source components.
It follows that this system and graph satisfy Condition 1. However, neither node 1 nor node 2 can detect the eigenvalue λ = 2 based on just their own measurements, i.e., there does not exist a root node for λ = 2 within source component S 1 . Thus, this system and graph do not satisfy Condition 2.
In [23], the authors identified that a distributed observer cannot be constructed (regardless of the state update or exchange rules) if the system (A, C) and graph G do not satisfy Condition 1. They then designed a distributed observer for the class of systems and graphs satisfying Condition 1 by constructing augmented state observers (i.e., observers of dimension larger than that of the system) drawing upon connections to decentralized control theory. Here, we present an alternate and more direct design approach, and in the process, establish that it is possible to design a distributed observer without state augmentation for this (most general) class of systems and graphs. 8 Before we delve into the specifics of the distributed observer design for systems and graphs satisfying imply that rank A−λ j In C i = n. 7 Note that given a source component, Condition 2 does not necessarily imply the existence of a single node within such a component that can simultaneously detect all the unstable and marginally stable eigenvalues of the system via its own measurements. 8 The exact structure of our distributed observer presented in Section 5.5 illustrates that the dimension of the internal state/estimatexi[k] maintained by a given node i is equal to the dimension of the state x[k]. Condition 1, we present a simple motivating example which serves to build intuition for the more complicated scenarios. 9

Illustrative Example
Consider a scalar unstable plant with dynamics given by x[k + 1] = 1.5x [k]. The plant is monitored by a network of nodes, as depicted by Figure 2. Node 1 has a measurement given by y 1 [k] = x[k], whereas nodes 2 and 3 have no measurements. Given this plant and network model, we wish to design a distributed observer. The commonly adopted approach in the literature is to develop a consensus-based state estimate update rule for each node in the network [18,19,[21][22][23]. Here, we make the following observation: since node 1 can detect the eigenvalue λ = 1.5 of the plant based on its own measurements, it can run a Luenberger observer for estimating x[k], without requiring information from its neighbors. Specifically, the following Luenberger observer allows node 1 to estimate and predict the state: Here,  (4), it is easy to see that the estimates of nodes 2 and 3 also converge to the true state x[k]. This simple example illustrates the following key observations. (i) It is not necessary for every node in the network to run consensus dynamics for estimating the state. More generally, a node needs to run consensus for estimating only the portion of the state vector that is not locally detectable. The rest of the state can be estimated via appropriately designed Luenberger observers. (ii) An inspection of the observable subspace of each node guides the decision of participating (or not participating) in consensus for the example we considered. For more general system and measurement matrices, we shall rely on appropriate similarity transformations which shall reveal what a node can or cannot observe. (iii) Although node 1 is in a position to receive information from node 2, it chooses not to listen to any of its neighbors. This pattern of information flow results in a special Directed Acyclic Graph (DAG) of the original network, rooted at node 1. In the DAG constructed in the illustrative example, node 1 can be viewed as the source of information for the state x[k], and the DAG structure can be viewed as the medium for transmitting information from the source to the rest of the network, without corrupting the source itself (this is achieved in this example by ignoring the edge from node 2 to node 1). Under this approach, note that every node maintains an observer of dimension 1, which is equal to the dimension of the state (i.e., there is no state augmentation). Based on these observations, we are now ready to extend the ideas conveyed by this simple example for tackling more general systems and networks. 10 5 Estimation Scheme for systems and graphs satisfying Condition 1 In this section, we develop a distributed observer for systems and graphs satisfying Condition 1.
For presenting the key ideas while reducing notational complexity, we shall make the following assumption.
Assumption 1. The graph G is strongly connected, i.e., there exists a directed path from any node i to any other node j, where i, j ∈ V.
Later, we shall argue that the development can be easily extended to any general directed network. For now, it suffices to say that any directed graph can be decomposed into strong components, some of which are source components (strong components with no incoming edges from the rest of the network); the strategy that we develop here for a strongly connected graph will be employed within each source component.

Remark 2.
Since we are focusing on systems and graphs satisfying Condition 1, it follows that under Assumption 1, the pair (A, C) is detectable (as a strongly connected graph is one single source component).

Remark 3.
Note that under Condition 1 with a strongly connected graph, one might consider the possibility of aggregating all the sensor measurements at a central node and constructing a centralized Luenberger observer, leveraging the fact that (A, C) is detectable. However, for large networks, the routing of measurement information to and from such a central node via multiple hops would induce delays. A distributed approach (such as the one considered in this paper) alleviates such a difficulty. Additionally, as we discuss in Section 7, the general framework developed in this paper allows for extensions to communication losses and sensor failures, which are typical benefits expected of a distributed algorithm. 18   We are now in a position to detail the steps to be followed for designing a distributed observer for systems and graphs satisfying Condition 1. We start by providing a generalization of the Kalman observable canonical form to a setting with multiple sensors.

Multi-Sensor Observable Canonical Decomposition
Given a system matrix A and a set of N sensors where the i-th sensor has an observation matrix given by C i , we introduce the notion of a multi-sensor observable canonical decomposition in this section. The basic philosophy underlying such a decomposition is as follows: given a list of indexed sensors, perform an observable canonical decomposition with respect to the first sensor. Then, identify the observable portion of the state space with respect to sensor 2 within the unobservable subspace of sensor 1, and repeat the process until the last sensor is reached. Thus, one needs to perform N observable canonical decompositions, one for each sensor, with the last decomposition revealing the portions of the state space that can and cannot be observed using the cumulative measurements of all the sensors. The details of the multi-sensor observable canonical decomposition are captured by the proof of the following result (given in Appendix A). Proposition 1. Given a system matrix A, and a set of N sensor observation matrices Then, there exists a similarity transformation matrix T which trans- Furthermore, the following properties hold: (i) the pair (A ii , C ii ) is observable ∀i ∈ {1, 2, · · · , N }; and (ii) the matrix A U describes the dynamics of the unobservable subspace of the pair (A, C). Figure 3 illustrates the steps of the multi-sensor observable canonical decomposition for a sensor network with 3 nodes. The first step involves an observable canonical decomposition of the pair (A, C 1 ) via the matrix T 1 . Next, T 2 reveals the portion of the unobservable subspace of (A, C 1 ) that can be observed using the observation matrix C 2 . Finally, T 3 reveals the portion of the unobservable subspace of (A, C 1 C 2 ) that can be observed using the observation matrix C 3 . For this example, we have T = T 1 T 2 T 3 . In the following section, we discuss how the multi-sensor observable canonical decomposition is applicable to the problem of designing a distributed observer for systems and graphs satisfying Condition 1.
Remark 4. Note that while describing the multi-sensor observable canonical decomposition, we did not specify any rule for indexing the sensors. This is precisely because the technique we propose solves Problem 1 regardless of the way the sensors are indexed, as long as the system and graph satisfy Condition 1. However, the question of appropriately ordering the sensors (or including redundancy) will become important when dealing with stochastic systems or with sensor failures. We discuss these issues later in the paper.

Observer Design
Using the matrix T identified in Proposition 1, we perform the coordinate transformation C ii 0 are given by (5). The vector z[k] assumes the following structure (commensurate with the structure ofĀ in (5)): Here, z U [k] is precisely the unobservable portion of the state z[k], with respect to the pair (A, C). We call z (j) [k] ∈ R o j the j-th sub-state, and z U [k] the unobservable sub-state. Notice that based on the multi-sensor observable canonical decomposition, there is a one-to-one correspondence between a node j and its associated sub-state z (j) [k]. Accordingly, node j is viewed as the source of information of its corresponding sub-state z (j) [k], and is tasked with the responsibility of estimating this sub-state. For each of the N sub-states, we thus have a unique source of information (based on the initial labeling of the nodes). However, there is no unique source of information for the unobservable sub-state z U [k], as this portion of the state does not correspond to the observable subspace of any of the nodes in the network. Each node will thus maintain an estimate of z U [k], which it updates as a linear function of its own estimates of each of the N sub-states z (j) [k], ∀j ∈ {1, 2, · · · , N }.
Remark 5. It should be noted that a given sub-state z (j) [k] in equation (7) might be of zero dimension (i.e., the sub-state can be empty). For instance, this can happen if its corresponding source of information, namely node j, has no measurements, i.e., if C j = 0.
First, based on equations (5), (6) and (7), we observe that the dynamics of the i-th sub-state are governed by the equations The reader is referred to the proof of Proposition 1 in Appendix A for a mathematical description of the matrices appearing in (8). Note that the unobservable sub-state z U [k] is governed by the dynamics where the matrices A j describe the coupling that exists between the unobservable sub-state z U [k] and each of the N sub-states as the estimate of the j-th sub-state maintained by the i-th node. The estimation policy adopted by the i-th node is as follows -it uses a Luenbergerstyle update rule for updating its associated sub-state estimateẑ , and a consensus based scheme for updating its estimates of all other sub-statesẑ (8), the Luenberger observer at node i is constructed aŝ where L i ∈ R o i ×r i is a gain matrix which needs to be designed. For estimation of the j-th sub-state, where j ∈ {1, · · · , N } \ {i}, the i-th node again mimics the first equation in (8), but this time relies on consensus dynamics of the form where w j il is the weight the i-th node associates with the l-th node, for the estimation of the j-th sub-state. The weights are non-negative and satisfy In equation (11), the first term is a standard consensus term, while the second term has been introduced specifically to account for the coupling that exists between a given sub-state j and sub-states 1 to j − 1 (as given by (8)). Letẑ iU [k] denote the estimate of the unobservable sub-state z U [k] maintained by the i-th node. Mimicking equation (9), each node i uses the following rule to updateẑ iU [k]:ẑ In summary, equations (10), (11) and (13)

Error Dynamics at the i-th Node
Define e (j) as the error in estimation of the j-th sub-state by the i-th node. Using equations (8) and (10), we obtain the error in the Luenberger observer dynamics at the i-th node as Similarly, noting that A jj = A jj l∈N i w j il (based on equation (12)), and using equations (8) and (11), we obtain the following consensus error dynamics at node i, ∀j ∈ {1, · · · , N } \ {i}: as the error in estimation of the unobservable sub-state z U [k] by the i-th node. Using (9) and (13), we obtain the following error dynamics for the unobservable sub-state at node i:

Analysis of the Estimation Scheme for Systems and Graphs Satisfying Condition 1
In this section, we present our main result, formally stated as follows.
Proof. Consider the composite error in estimation of sub-state j by all of the nodes in V, defined as We will prove that E (j) [k] converges to zero asymptotically ∀j ∈ {1, · · · , N } (recall that there are precisely N nodes in the network, each responsible for estimating a certain sub-state). We prove by induction on j. Consider the base case j = 1, i.e., the estimation of the first sub-state. Let the index set {1, k 1 , k 2 , · · · , k N −1 } represent a topological ordering 11 consistent with a spanning tree rooted at node 1 (the source of information for sub-state 1). Note that based on Assumption 1, it is always possible to find such a spanning tree. Next, consider the composite error vector whereẼ (1) [k] e (1) . Note thatĒ (1) [k] is simply a permutation of the rows of . Based on the error dynamics equations given by (14) and (15), we obtain e (1) where the entries of the weight matrix W 1 = W 1 21 W 1 22 are populated by the appropriate weights defined by equation (15) (note that W 1 ∈ R (N −1)×N and W 1 21 is the first column of W 1 ). Notice that sp(M 1 ) = sp(A 11 −L 1 C 11 )∪sp(W 1 22 ⊗A 11 ). By construction, the pair (A 11 , C 11 ) is observable. Thus, it is always possible to find a gain matrix L 1 such that (A 11 − L 1 C 11 ) is Schur stable. Next, we impose the constraint that for the estimation of sub-state 1, non-zero consensus weights are assigned to only the branches of the spanning tree consistent with the ordering {1, k 1 , k 2 , · · · , k N −1 }, i.e., a node listens to only its parent in such a tree. In this way, W 1 22 becomes lower triangular with eigenvalues equal to zero, without violating the stochasticity condition imposed on W 1 by equation (12). We conclude that by an appropriate choice of consensus weights, we can achieve Λ U (W 1 22 ⊗ A 11 ) = ∅ (even if Λ U (A 11 ) = ∅). 12 Thus, M 1 can be made Schur stable and hence lim k→∞Ē (1) [k] = 0, implying lim k→∞ E (1) [k] = 0 (one is just a permutation of the other). Thus, the base case is proven. Next, suppose that E (j) [k] converges to zero asymptotically ∀j ∈ {1, · · · , p − 1}, where 1 ≤ p − 1 ≤ N − 1. Consider the following composite error vector for the p-th sub-state: where the index set {p, m 1 , m 2 , · · · , m N −1 } represents a topological ordering of the nodes of V to obtain a spanning tree rooted at node p (the source of information for sub-state p), . From the error dynamics equations given by (14) and (15), we obtain where Finally, consider the error in estimation of the unobservable sub-state z U [k] (given by equation (16)). As the system and graph under consideration satisfy Condition 1 and Assumption 1, it must be that the pair (A, C) is detectable. Thus, based on Proposition 1, the matrix A U in (16)

A Compact Representation of the Proposed Observer
In this section, we combine the update equations (10), (11) and (13) to obtain a compact representation of our distributed observer. To do so, we need to first introduce some notation. Accordingly, let B j = 0 · · · I o j · · · 0 be the matrix that extracts the j-th sub-state from the transformed state vector z[k], i.e., z (j) . Next, notice that the transformed system matrixĀ in equation (5) can be written asĀ =Ā 1 +Ā 2 , whereĀ 2 = diag(A 11 , · · · , A N N , A U ), andĀ 1 is a block lowertriangular matrix given byĀ −Ā 2 . Let w il (where l ∈ N i \ {i}) be the vector of weights node i associates with a neighbor l for the estimation of the transformed state z[k]. Based on our estimation scheme, note that at any given time-step k, node i does not use the estimates received from its neighbors at time-step k for estimating z (i) [k] and z U [k], and hence these weight vectors assume the following form: Also, notice that the element w j il is not present in the vector if the j-th sub-state is empty (i.e., of dimension 0). Similarly, let w ii be a vector with a '1' in the elements corresponding to the i-th sub-state and the unobservable sub-state z U [k], and zeroes at all other positions. Finally, defining H i 0 T · · · L i T · · · 0 T T , using equations (10), (11) and (13), and noting that z[k] = T −1 x[k], we obtain the following overall state estimate update rule at node i: "consensus term" (24) wherex i [k] denotes the estimate of the state x[k] maintained by node i, and G il = TĀ 2 B w il ⊗ T −1 .
Remark 6. From the structure of our overall estimator at node i, as represented by equation (24), it is easy to see that the estimator maintained at each node has dimension equal to n (i.e., equal to that of the state). Thus, our approach alleviates the need to construct augmented observers such as those considered in [23,24].

Remark 7.
Note that all the transformation and gain matrices appearing in (24)

Summary of the Estimation Scheme for Systems and Graphs Satisfying Condition 1
The proposed distributed observer scheme for systems and graphs satisfying Condition 1 (under the assumption that the graph G is strongly connected) can be broadly decomposed into two main phases, namely the design phase and the distributed estimation phase. For clarity, we briefly enumerate the steps associated with each of these phases. Design Phase: • Each node of the graph is assigned a unique integer between 1 to N . Based on this numbering, the multi-sensor observable canonical decomposition (as outlined in the proof of Proposition 1) is performed, yielding the state z[k] = T −1 x[k].
• Based on this transformation, each node is associated with a sub-state of z[k] that it is responsible for estimating. Recall that there are precisely N sub-states, one corresponding to each node in the network; some of these sub-states might be empty.
• For the estimation of a given sub-state, we construct a spanning tree rooted at the specific node which acts as the source of information for that sub-state. The resulting spanning tree guides the construction of the consensus weight matrix to be used for the estimation of that particular sub-state. We construct one spanning tree for the estimation of each non-empty sub-state.
• Based on the constructed consensus weight matrices, and the Luenberger observer gains L i , the matrices TĀ 1 T −1 , T H i and G il in (24) are computed for each node i ∈ V.
Estimation Phase (Run-time): • Each node employs a Luenberger observer for constructing an estimate of its corresponding sub-state, and runs consensus dynamics for estimating the sub-states corresponding to the remaining nodes in the network. Summarily, a node implements (24) for estimating x[k].
Remark 8. While the observer design procedure we have outlined (involving the multi-sensor decomposition, design of local observer gains, construction of spanning trees and selection of consensus weights) can be readily implemented in a centralized manner, it may also be possible to perform these steps in a distributed fashion. This would require the nodes to assign themselves unique identifiers (or labels) and execute the multi-sensor decomposition in a round-robin fashion, followed by a distributed construction of spanning trees. However, at present, the multi-sensor decomposition appears to be the most expensive portion of such an implementation (in terms of coordination and communication). In Section 6, we show that for systems and graphs that possess the additional structure described by Condition 2, we can avoid such a decomposition and obtain a scheme that permits an efficient distributed implementation (in both the design and run-time phases) at the potential cost of increasing the dimension of the observer.
Having established our approach for all systems and strongly connected graphs satisfying Condition 1, we now briefly describe the extension of our strategy to arbitrary directed networks.

Extension to General Directed Networks
Our distributed observer design can be extended to general networks (satisfying Condition 1 but not necessarily Assumption 1) by first decomposing G into its strong components, and identifying each of the source components. Next, within a given source component, one simply follows the observer design procedure outlined in Section 5.2 for a strongly connected graph, to obtain an estimator of the form (24) for each node within the source component. Define S p i=1 V i to be the set of all nodes that belong to the source components of G. Let each node in i ∈ V \ S employ a pure consensus strategy of the form wherex i [k] represents an estimate of the state maintained by the i-th node. The weights w ij are non-negative and satisfy The design of consensus weights for the nodes in V \ S is based on the observation that the set V \ S can be spanned by a disjoint union of trees rooted in S. By assigning consensus weights to only the branches of these trees (without violating the stochasticity condition imposed by equation (26)), one obtains stable estimation error dynamics for each of the nodes in V \ S (the details are similar to the proof of Theorem 1). The above strategy readily leads to the following result.
Theorem 2. Consider a system (A, C) and graph G satisfying Condition 1. Let each node in S run an observer of the form (24), and each node in V \ S run the consensus dynamics given by (25). Then, there exists a choice of consensus weights and observer gain matrices that result in a distributed observer.
As discussed in Remark 8, our distributed observer design starts with the multi-sensor observable decomposition described in Proposition 1, which transforms the system into a form that identifies the sub-states that each node is responsible for estimating. This decomposition requires knowledge of the measurement matrices of each node, and thus is most amenable to a centralized implementation. 13 In the next section, we show that for systems and networks satisfying Condition 2, the design of the observer itself can be readily done in a distributed manner.
Recall that for systems and graphs satisfying Condition 2, for each eigenvalue of the plant, there is at least one node in each source component that can detect that eigenvalue. As we will show, this fact allows each node in the network to identify the sub-states it is responsible for estimating, without having to exchange any information with neighbors.
To this end, let T be a non-singular transformation matrix which transforms A into its Jordan canonical form J, i.e., , the dynamics (1) are transformed into the form where J = T −1 AT andC i = C i T . 14 Notice that this transformation relies only on the knowledge of the system matrix A (which is assumed to be known by all of the nodes). Hence, all nodes can perform this transformation in parallel (e.g., by using an agreed-upon convention for ordering the eigenvalues and corresponding eigenvectors). We denote the eigenvalues of J (which are the same as those of A) by λ 1 , · · · , λ γ , where γ represents the number of distinct eigenvalues of A. Let J = diag(J 1 , · · · , J γ ), where we group all of the Jordan blocks associated with λ j ∈ sp(J) into the block diagonal matrix J j ∈ R a J (λ j )×a J (λ j ) . The portion of the state z[k] associated with the eigenvalue λ j is termed as the sub-state z (j) [k] ∈ R a J (λ j ) . Letẑ

Design of Local Luenberger Observers
Let O i represent the set of detectable eigenvalues of node i. For estimating the sub-states corresponding to the eigenvalues in O i , node i constructs a simple Luenberger observer using its own measurements. To this end, permute the states z[k] in (27) to obtain Based on (28), notice that the output y i [k] is affected by elements of z U O i [k] (throughC U O i ) and thus we will estimate those elements as well in order to recover z O i [k]. To this end, letT i be a non-singular matrix which performs an observable canonical decomposition of the pair (J U O i ,C U O i ) in (28). Consider the following transformation matrix: Define the coordinate transformationz i [k] = T i v i [k] (this transformation is specific to node i).
Based on this transformation, and equations (28) and (29), the dynamics at node i can be reformulated as , whereT Define and where L i is a gain matrix which needs to be designed for node i andŝ i [k] is the estimate of s i [k] maintained by node i. Using (33),ẑ O i [k] can then be updated Based on the (local) transformation (30) and the (local) observer (33), we obtain the following result. For a system (A, C) and graph G satisfying Condition 2, let every node i ∈ V run a Luenberger observer of the form (33). Then, there exists a choice of observer gain L i , which can be designed locally, such that for each λ j ∈ O i , lim k→∞ ||ẑ Proof. The proof follows straightforwardly by noting that (J i , F i ) defined in (32) is detectable (sincē J O i and G O i do not share any eigenvalues, and each of the pairs ( Having established that each node i ∈ V can asymptotically recover z O i [k] in (28) purely locally, we now devise a method that allows each node to estimate the sub-states corresponding to the locally undetectable eigenvalues.

Consensus dynamics
Consider an eigenvalue λ j ∈ U O i (recall U O i represents the set of undetectable eigenvalues of node i). For such an eigenvalue, node i has to rely on the information received from its neighbors in order to estimate z (j) [k]. To this end, we propose the following consensus strategy to be followed by every node i ∈ V \ S j for updating their respective estimates of z (j) [k]: 15 where w j il is the weight the i-th node associates with the l-th node for the estimation of the j-th sub-state. Each weight is non-negative and satisfies and γ is the number of distinct eigenvalues of A). Define B j = 0 · · · I o j · · · 0 as the matrix which extracts the j-th sub-state from the state vector z[k], i.e., we have z (j) [k] = B j z[k]. Also, let w il = w n 1 il · · · w nγ i il T denote the vector of consensus weights the i-th node assigns to the l-th node (l ∈ N i ) for the estimation of the sub-states corresponding to each of its undetectable eigenvalues. Then, noting the definition ofJ U O i and using the consensus equation given by (34), we obtain where , and using equations (33) and (36), we obtain the governing equations of the distributed observer maintained at node i aŝ Note that since T depends only on the system matrix A which is assumed to be time-invariant, the term T −1 appearing in (37c) needs to be computed only once.

Analysis of the Estimation Scheme for Systems and Graphs Satisfying Condition 2
The following is the main result of this section.
Theorem 3. Consider a system (A, C) and graph G satisfying Condition 2. Then, for each node i ∈ {1, 2, · · · , N }, there exists a choice of observer gain matrix L i , and consensus weights w j il , ∀λ j ∈ U O i , l ∈ N i , such that the update rules given by (37) form a distributed observer.
Proof. Let a system (A, C) and graph G satisfy Condition 2. Consider λ j ∈ Λ U (A). Let S j = {m 1 , · · · , m τ j } be the set of root nodes for eigenvalue λ j , where τ j = |S j |. Define e (j) as the error in estimation of the j-th sub-state by the m i -th node. The errors in estimation of z (j) [k] for the nodes that can detect λ j are stacked into the composite error vector E (j) . . .
Similarly, we stack the estimation errors of z (j) [k] for the nodes that cannot detect λ j into the composite error vector E (j) where V \ S j = {m τ j +1 , · · · , m N } represents a topological ordering of the non-root nodes consistent with a set of directed trees rooted at S j , which span V \ S j . Such a set of trees exists based on Condition 2. Noting from (27) , and using equation (34), for λ j ∈ U O i , the estimation error for the j-th sub-state by the i-th node is From (40), it follows that the relation between E where the weight matrix W j = W j 11 W j 12 contains weights based on equation (40) (note that W j ∈ R (N −τ j )×N , and W j 11 represents the first τ j columns of W j , where τ j = |S j |). Using the same design philosophy for the consensus weights as in Condition 1, we assign non-zero consensus weights only along the branches of the spanning forest rooted at S j . In this way, W j 12 can be made lower triangular with zero eigenvalues (without violating the stochasticity condition imposed by equation (35)). We conclude that by an appropriate choice of weights as described above, we can achieve Λ U (W j 12 ⊗ J j ) = ∅ (even though λ j ∈ Λ U (A)). Based on Lemma 1, each node i ∈ V can locally design its observer gain L i to stabilize the local Luenberger observer error dynamics. Specifically, the error dynamics corresponding to the estimation of z (j) [k] for each root node in S j is guaranteed to asymptotically converge based on Lemma 1, i.e., the composite error E   (37c)). This redundancy in information may be potentially overcome using a more complicated scheme where one uses consensus for estimating only the portion of the state corresponding to the vector w U O i [k] in equation (30); to avoid cluttering the exposition, we omit further investigation of this issue in the present paper. However, for certain special cases of Condition 2 where the system matrix has more structure, it may be possible to construct distributed observers without state augmentation, using the approach proposed for Condition 2. For example, if the system has distinct eigenvalues, then the matrixC U O i in (28) will be zero ∀i ∈ V, thereby precluding the need for state augmentation.

Summary of the Estimation Scheme for Systems and Graphs Satisfying
Condition 2 Similar to the strategy adopted for systems and graphs satisfying Condition 1, the distributed observer design for systems and graphs satisfying Condition 2 also constitutes an initialization (or design) phase which needs to be implemented just once, followed up by an estimation phase. However, the extra structure provided by Condition 2 allows each of these phases to be implemented in a distributed manner. The main steps of the overall scheme are summarized as follows: Design Phase: • All nodes simultaneously perform a common co-ordinate transformation, which brings the state matrix A into its Jordan canonical form. Using this form, each node identifies its locally detectable and undetectable eigenvalues.
• For each λ j ∈ Λ U (A), the nodes run a distributed algorithm to construct trees with roots in S j , which span V \ S j . 16 These trees guide the design of the consensus weight matrices to be used for each unstable and marginally stable eigenvalue of the system.
Estimation Phase: • Each node uses a Luenberger observer for estimating the sub-states corresponding to the detectable eigenvalues, and runs consensus dynamics for estimating the sub-states corresponding to the undetectable eigenvalues. These dynamics are captured by (37).

Construction of Spanning Trees for Consensus Weight Design
To construct directed trees rooted at nodes in S j , which span V \ S j , for each λ j ∈ Λ U (A), (these trees in turn guide the construction of the consensus weight matrices) one can use standard distributed tree construction algorithms (such as Breadth-First Search (BFS)) [30]. The essential idea behind such algorithms is that each desired root node broadcasts a message indicating that it is a root, which is then passed through the network. When a node first receives such a message from a neighbor, it adopts that neighbor as its parent in the tree and rebroadcasts the message. At the conclusion of the algorithm, all nodes are aware of their parent in their tree (as long as there is a path from the root node(s) to all other nodes). For our purpose, such a distributed algorithm can be implemented by the nodes for each λ j ∈ Λ U (A), with S j representing the roots of the tree. In this way, for each λ j ∈ Λ U (A), a node in V \ S j will identify its parent node in one of the directed trees rooted at S j , and as discussed in the proof of Theorem 3, will assign a non-zero consensus weight to only this parent node for the estimation of z (j) [k]. Note that the simpler distributed observer scheme developed for systems and graphs satisfying Condition 2 may not always be applicable to systems and graphs satisfying Condition 1. To see this, consider the system and graph given by equation (3) and Figure 1, which satisfies Condition 1 but not Condition 2. As pointed out in Remark 1, the only root node that can detect the unstable eigenvalue λ = 2 belongs to the source component comprised of the isolated node 3. To implement the scheme developed for systems and graphs satisfying Condition 2, one needs to construct a tree rooted at node 3 which spans nodes 1 and 2. This is clearly not possible for this particular network; hence the method developed for Condition 2 is not applicable to this system and graph. In this case, the general distributed observer framework developed for systems and graphs satisfying Condition 1 would still apply, however.

Robustness to Communication Losses and Sensor Failures
The general framework for distributed observer design that we have described thus far (the idea of using Luenberger observers for estimating the locally detectable states and consensus dynamics for the remaining states) allows for various extensions. Here, we discuss how our approach can deal with communication losses and sensor failures or attacks.

Extension to Communication Losses
We first discuss how the estimation scheme developed for systems and graphs satisfying Condition 1 can be extended to account for time-varying communication graphs that are a consequence of communication link failures. 17 In other words, the network varies with time due to failure or recovery of subsets of edges of the baseline graph G. We denote this class of switching signals by Ω. Under the class of switching signals Ω, the time-varying communication graph is denoted by G σ(k) = (V, E σ(k) ), where σ(k) is a finite index set representing the different switching modes, and E σ(k) ⊆ E (recall that E represents the set of edges of the baseline graph G). For the rest of the analysis in this section, we assume that the baseline communication graph G is strongly-connected, i.e., G is strongly-connected in the absence of link failures.
We make two minor modifications to our original estimation strategy (refer to Section 5.6) to account for communication losses. First, during the design phase, for estimation of a given substate, we construct a spanning directed acyclic graph (DAG) (instead of a spanning tree) rooted at the corresponding source node to allow for the possibility of having redundant communication links. Accordingly, in the DAG constructed for estimation of sub-state j (where j ∈ {1, · · · , N }), let the set of parent nodes for node i be denoted by P (j) i . Second, for estimating the j-th substate, where j ∈ {1, · · · , N } \ {i}, the i-th node does the following: if at a certain time-step it receives information from only a proper subset of its parent set P (j) i , then it still employs equation (11), redistributing the weights among such a subset so as to preserve the stochasticity constraint imposed by (12). 18 For the more critical scenario where node i gets disconnected from all its parents 17 A similar analysis can be performed for Condition 2 and hence the details are omitted for brevity. 18 Notice that for a given node i, the observer update equations (10) and (13) A direct consequence of the update rule (42) is that the matrix A jj , which may be unstable, appears in the block diagonal position corresponding to node i in the lower block triangular error dynamics matrix M j given by (21). We make the following assumption on the class of switching signals Ω.
Assumption 2. Ω has the following property: there exists a positive integer T such that in every time interval of the form [kT, (k + 1)T ], where k ∈ N, for each sub-state j ∈ {1, · · · , N }, for every node i ∈ V \ {j}, there exists an integer l ∈ [kT, (k + 1)T ] such that the graph G σ(l) contains an edge from at least one node in P (j) i to node i. 19 In words, Assumption 2 simply implies that within each interval [kT, (k + 1)T ], for each substate j, every non-source node V \ {j} is guaranteed to receive information from at least one of its parents in P  The proof is provided in Appendix B.

Extension to Node Attacks
Dealing with node failures (or more generally, malicious node behavior) requires additional careful analysis and incorporation of redundancy in the network and sensors so as to meet a two-fold objective -the collective measurements of the non-compromised nodes must ensure global detectability of the state, and the network must contain a sufficient amount of redundancy to prevent the failed (or malicious) nodes from acting as bottlenecks between the correctly functioning nodes. Furthermore, even with such redundancy, one has to carefully design the estimation algorithm to leverage the redundancy so as to guarantee asymptotic state reconstruction by the non-faulty nodes. In addition to these challenges, one needs to account for the fact that under malicious attacks, a node might receive corrupt information from compromised neighboring nodes. This, in general, is a non-trivial task. A preliminary investigation of the node attack scenario (which subsumes sensor failures) has been conducted in our recent work [31] where we provide sufficient conditions on the network that guarantee asymptotic state reconstruction for systems with distinct real eigenvalues (a special case of Condition 2) despite a certain number of malicious nodes in the network. 20 Specifically, we show that under the provided conditions on the network topology, we can extend the approach that we have developed in this paper to construct robust DAGs, along with a slightly modified consensus LTI plant 1 2 3 Figure 4: Network topology for the example system considered in Section 8.
update rule, in order to provide security guarantees for the normal nodes. This illustrates the benefits of the framework for distributed estimation that we have provided in this paper; extensions of these ideas to tackle malicious behavior under more general system dynamics is an area of ongoing research.

Example
In this section, we present an example to illustrate the scheme developed for Condition 1. To this end, consider the network shown in Figure 4, and the associated system and measurement matrices given by Note that the system is not detectable from any individual node. It can be verified that the pair (A, C 1 C 2 ), associated with the source component comprised of nodes 1 and 2, is observable.
Hence, the scheme developed for Condition 1 is applicable to this setting. To implement the multisensor observable canonical decomposition, we start by bringing the pair (A, C 1 ) to the observable canonical form. This is achieved using T 1 = Based on the above decomposition, and the theory developed for Condition 1, it is easy to see that the transformed state z[k] = T −1 x[k] will contain two sub-states and the unobservable sub-state will be of zero-dimension. The local Luenberger observer gains are chosen as L 1 = −4.6404 2.5174 T and L 2 = −1.641 −3.282 . Noting that node 1 is responsible for estimating sub-state 1, and node 2 for sub-state 2, the consensus weight vectors used by the two nodes are w 11 = 1 0 T , w 12 = 0 1 T , w 21 = 1 0 T , and w 22 = 0 1 T . 21 Using these design parameters, nodes 1 and 2 21 The reader is referred to the discussion in Section 5.5 for a description of these weight vectors.  Figure 5 shows the estimation errors associated with each of the three states of the system (in these plots, the notation e (j) i is used to denote the error in estimation of state j by node i). These plots validate the scheme developed for Condition 1.

Conclusions and Future Work
In this paper, we considered the problem of distributed state estimation of a LTI system by a network of nodes. We introduced a new class of distributed observers (of the form (24)), for the most general class of LTI systems, directed communication graphs and linear sensor measurement structures. This was achieved by extending the Kalman observable canonical decomposition to a setting with multiple sensors, i.e., by introducing the notion of a multi-sensor observable canonical decomposition. We also demonstrated that for certain subclasses of system dynamics and networks, one can design a distributed observer via a simpler estimation scheme which enjoys the benefit of a fully distributed design phase. The main underlying theme of our work, which unifies each of the two estimation schemes presented in this paper, is built upon the following intuition: portions of the state space can be reconstructed by a node using its own local measurements, and hence it needs to run consensus for only the portion of the state space that is not locally detectable. Finally, we discussed how our proposed framework can be extended to account for certain classes of time-varying networks as well.
As future work, it would be interesting to explore whether low-complexity distributed algorithms for observer design (such as the one we presented for Condition 2) can be obtained for systems and graphs satisfying Condition 1. Furthermore, while we focused on noiseless dynamics in this paper for ease of exposition (like [18][19][20]23,24]), for stochastic systems, one needs to determine the optimal way of combining the information received from different sensors while designing consensus protocols. 22 Another important problem is the design of distributed functional observers motivated by the following observation: for large systems, it may be computationally demanding for every node to estimate the entire state vector; in practice, the nodes may only care about estimating certain linear functions of the state. Finally, an investigation of how the proposed framework fares against network induced issues such as delays and communication asynchronicities would also be interesting.
Let z (2) [k] ∈ R o 2 . Let A 21 be the matrix formed by the first o 2 rows ofT −1 2 A 1X . From (49), we have z (2) [k + 1] = A 22 z (2) [k] + A 21 z (1) [k], Following the same design procedure, we continue the sequence of transformations, one for each sensor, until we reach the N -th sensor.
Step N : Transformation at Sensor N LetT N be a non-singular transformation matrix that performs an Observable Canonical Decomposition of the pair (A (N −1)U , C N (N −1)U ). Next, consider the coordinate transformation z N −1 [k] = T N z N [k], where the non-singular transformation matrix T N is defined as follows: it follows from ISS and [32, Proposition 2.9] that lim k→∞ E (p) [k] = 0. Since the update rule (13) for the unobservable component of the state is unaffected by changes in the network structure, the rest of the proof proceeds similarly as the proof of Theorem 1.