# A Topology Optimization Method for Reducing Communication Overhead in the Kalman Consensus Filter
## 2 System Model and Problem Formulation
### Kalman Consensus Filter Algorithm  
Considering a dynamic process (or target) with a linear time-varying model as  
\[\mathbf{x}(k+1)=\mathbf{A}\mathbf{x}(k)+\mathbf{B}\mathbf{w}(k)\]  
where \(\mathbf{x}(k)\) and \(\mathbf{w}(k)\) are the state and input noise of the process in time \(k\), respectively, and \(\mathbf{A}\) is the state transition matrix, and \(\mathbf{B}\) is the control matrix.  
The measurement model at node \(i\) in time \(k\) can be expressed as  
\[\mathbf{z}_{i}(k)=\mathbf{H}_{i}(k)\mathbf{x}(k)+\mathbf{v}_{i}(k)\]  
where \(\mathbf{z}_{i}(k)\) and \(\mathbf{v}_{i}(k)\) are the measurement vector and measurement noise vector at node \(i\) in time \(k\), and \(\mathbf{H}_{i}(k)\) is the measurement matrix at node \(i\) in time \(k\). In this work, we assume that \(\mathbf{w}(k)\) and \(\mathbf{v}_{i}(k)\) are mutually independent white Gaussian variables with zero-mean and covariance \(\mathbf{Q}(k)\) and \(R_{i}(k)\).  
Let \(\overset{\kappa}{\mathbf{x}}_{i}\prime(k)\) and \(\overset{\kappa}{\mathbf{x}}_{i}(k)\) denote the estimate and predicted value of state \(\mathbf{x}(k)\), respectively. The estimate error and prediction error can be expressed as  
\[\begin{array}{l}\underline{\eta}(k)=\overset{\kappa}{\mathbf{x}}(k)-\mathbf{x}(k) \\ \underline{\eta}(k)=\overset{\kappa}{\mathbf{x}}(k)-\mathbf{x}(k)\end{array}\]  
The error covariance matrices are defined as  
\[\begin{array}{l}\mathbf{M}(k)=E\big{[}\underline{\eta}(k)\mathbf{\eta}^{\text{T}}(k )\big{]}\\ \mathbf{P}(k)=E\bigg{[}\begin{matrix}-\underline{\eta}(k)\mathbf{\eta}^{\text{T}}(k) \end{matrix}\bigg{]}\end{array}\]In the type-III KCF algorithm [22], node \(i\) in time \(k\) produces its local weighted measurement matrix \(\mathbf{u}_{i}(k)\) and local information matrix \(\mathbf{U}_{i}(k)\) as  
\[\mathbf{u}_{i}(k) =\mathbf{H}_{i}^{\mathrm{T}}(k)\mathbf{R}_{i}^{-1}(k)\mathbf{z}_{i}(k),\mathbf{y}_{ i}(k)=\sum\limits_{j\in(\mathcal{N}_{i}\cup i)}\mathbf{u}_{j}(k)\] \[\mathbf{U}_{i}(k) =\mathbf{H}_{i}^{\mathrm{T}}(k)\mathbf{R}_{i}^{-1}(k)\mathbf{H}_{i}(k),\mathbf{S} _{i}(k)=\sum\limits_{j\in(\mathcal{N}_{i}\cup i)}\mathbf{U}_{j}(k)\]  
The estimate value of node \(i\) in time \(k\), \(\overset{\mathbf{\ast}}{\mathbf{x}}_{i}(k)\), is obtained as  
\[\mathbf{M}_{i}(k)=\left(\mathbf{P}_{i}^{-1}(k)+\mathbf{S}_{i}(k)\right)^{-1}\] \[\overset{\mathbf{\ast}}{\mathbf{x}}_{i}(k)=\overset{\mathbf{\ast}}{\mathbf{x}}_{i }(k)+\mathbf{M}_{i}(k)\bigg{(}\mathbf{y}_{i}(k)-\mathbf{S}_{i}(k)\overset{\mathbf{\ast}}{ \mathbf{x}}_{i}(k)\bigg{)}+\gamma\mathbf{M}_{i}(k)\sum\limits_{j\in\mathcal{N}_{i}} \left(\overset{\mathbf{\ast}}{\mathbf{x}}_{j}(k)-\overset{\mathbf{\ast}}{\mathbf{x}}_{i}(k) \right)\]  
The predicted value of node \(i\) in time \(k\), \(\overset{\mathbf{\ast}}{\mathbf{x}}_{i}(k)\), is updated as  
\[\mathbf{P}_{i}(k+1)=\mathbf{AM}_{i}(k)\mathbf{A}^{\mathrm{T}}+\mathbf{B}\mathbf{Q}(k)\mathbf{B}^{ \mathrm{T}}\] \[\overset{\mathbf{\ast}}{\mathbf{x}}_{i}(k+1)=\mathbf{A}\overset{\mathbf{\ast}}{ \mathbf{x}}_{i}(k)\]  
From the KCF algorithm mentioned above, one finds that node \(i\) should receive messages from its neighboring nodes  
\[msg_{i}(k)=\bigg{\{}\bigg{(}\mathbf{u}_{j}(k),\mathbf{U}_{j}(k),\overset{\mathbf{\ast}}{ \mathbf{x}}_{j}(k)\bigg{)}\,|j\in\mathcal{N}_{i}\bigg{\}}\]  
\(i\)\(\in\)\(\{1,2,\ldots,\,I\}\). Hence, the communication overhead in the KCF algorithm is relatively heavy.