## 2 Method Analysis
### The Iterative Procedure of IDMVDR  
In summary, the iterative procedures of IDMVDR are listed as follows:  
1. Initialize iteration \(t\) to 0, calculate \(\widetilde{\mathbf{Y}}_{i}(0)\) and \(\widetilde{\mathbf{N}}_{i}(0)\) by using \(\widetilde{Y_{i}}(0)=H_{i}^{H}\sigma_{i}^{-2}Y_{i}\) and \(\widetilde{N_{i}}(0)=H_{i}^{H}\sigma_{i}^{-2}H_{i}\), where \(H_{i}\) is obtained by Equation (4), and \(\sigma_{i}^{2}\) is computed by Equation (34);
2. Use Equation (15) to compute the degree of each node based on the current topology diagram, then compute the current consistency weight matrix \(U(t)\) by using Equation (19);
3. In each node, the updated weights \(U(t-1)\), \(\widetilde{Y}(t-1)\), and \(\widetilde{N}(t-1)\) of itself and its adjacent nodes are applied to calculate \(\widetilde{Y}(t),\;\widetilde{N}(t)\) and \(\widetilde{Z}(t)\) by using Equations (23)-(25), then increase \(t\) by 1;
4. Repeat step (3), until the convergence of \(\widetilde{Z_{i}}(t)\).  
Significantly, the detailed communication contents between adjacent nodes are only the updated weights \(U(t-1)\), \(\widetilde{Y}(t-1)\) and \(\widetilde{N}(t-1)\).  
Take a WASN with three nodes as an example, the topology is shown in Figure 2. Here, yellow dots are the nodes and blue lines denote the communication connections between nodes.  
Assuming that the \(\theta\) of Metropolis is 0.5, then the weight between node 1 and 2 is \(1/(2+1)=1/3\), according to Equation (19), and the weight between node 1 and 3 is \(1/(2+1)=1/3\). The self-weight  
Figure 2: The topology of a WASN with three nodes.  
of node 1 is \(1-1/3-1/3=1/3\) by using Equation (17). Node 2 and node 3 are not connected, so the weight between node 2 and 3 is 0. The self-weights of node 2 and node 3 are both \(1-1/3=2/3\). The consistency weight matrix \(U(t)\) of this WASN is as follows:  
\[U(t)=\left[\begin{array}{ccc}\frac{1}{3}&\frac{1}{3}&\frac{1}{3}\\ \frac{1}{3}&\frac{1}{3}&0\\ \frac{1}{3}&0&\frac{2}{3}\end{array}\right], \tag{35}\]  
\(\widetilde{\mathbf{Y}}(t)=\)\(\left[\widetilde{Y}_{1}(t),\widetilde{Y}_{2}(t),\widetilde{Y}_{3}(t)\right]^{T}\) and \(\widetilde{\mathbf{N}}(t)=\left[\widetilde{N}_{1}(t),\widetilde{N}_{2}(t), \widetilde{N}_{3}(t)\right]^{T}\) are the vectors of all nodes' values at iteration \(t\) respectively. So, for the iteration \(t+1\),  
\[\begin{array}{c}\widetilde{\mathbf{Y}}(t+1)=\mathbf{U}(t)\widetilde{\mathbf{Y} }(t)=\left[\begin{array}{ccc}\frac{1}{3}&\frac{1}{3}&\frac{1}{3}\\ \frac{1}{3}&\frac{1}{3}&0\\ \frac{1}{3}&0&\frac{2}{3}\end{array}\right]\left[\widetilde{Y}_{1}(t), \widetilde{Y}_{2}(t),\widetilde{Y}_{3}(t)\right]^{T}\\ =\left[\frac{1}{3}\widetilde{Y}_{1}(t)+\frac{1}{3}\widetilde{Y}_{2}(t)+\frac{ 1}{3}\widetilde{Y}_{3}(t),\frac{1}{3}\widetilde{Y}_{1}(t)+\frac{2}{3} \widetilde{Y}_{2}(t),\frac{1}{3}\widetilde{Y}_{1}(t)+\frac{2}{3}\widetilde{Y}_ {3}(t)\right]^{T},\end{array} \tag{36}\]  
with \(\widetilde{\mathbf{N}}(t)\), \(\widetilde{\mathbf{N}}(t+1)\) can be obtained by the same method. As for node 1, its \(\widetilde{Z}_{1}(t)\) can be computed as follows by using Equation (25):  
\[\widetilde{Z}_{1}(t+1)=\frac{\widetilde{Y}_{1}(t+1)}{\widetilde{N}_{1}(t+1)}= \frac{1}{3}\widetilde{Y}_{1}(t)+\frac{1}{3}\widetilde{Y}_{2}(t)+\frac{1}{3} \widetilde{Y}_{3}(t)}{\frac{1}{3}\widetilde{N}_{1}(t)+\frac{1}{3}\widetilde{ N}_{2}(t)+\frac{1}{3}\widetilde{N}_{3}(t)}, \tag{37}\]  
The iteration would be executed until the difference between \(\widetilde{Z}(t+1)\) and \(\widetilde{Z}(t)\) is less than a given threshold.