# An Energy-Efficient Routing Algorithm
## 6 Simulations and Discussion  
Monte Carlo simulations are performed with MATLAB to evaluate the performance of the CS-CULM scheme. Besides, we take the temperature on 3 September 2012 GMT, in the Southern California coast (data from [[http://ourocean.jpl.nasa.gov](http://ourocean.jpl.nasa.gov)]([http://ourocean.jpl.nasa.gov](http://ourocean.jpl.nasa.gov))) as the data to be processed. The main simulation parameters are given in Table 2.  
To verify the efficiency of CS-CULM, we compare it with the other three routing algorithms. HLEACH is the clustering algorithm proposed in Section 5.1. 3 DIAIR is a three-dimensional angle cycle routing algorithm [3]. CS-CLM is the even-layered scheme. Their data fusion measures are all the same as CS-CULM. In the simulation, the access probability \(p=0.7\), the probability of becoming a cluster head \(q=0.15\), and \(W_{1}/W_{2}=0.9/0.1\). If a dead node occurs, the network will be out of work.  
When the basic transmission length \(r\) is 3.5 km, the number of alive nodes in USNs--as a function of network alive rounds--is presented in Figure 4.  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Type** & **Parameter** & **Value** \\ \hline \multirow{4}{*}{Network} & Grid size & \(20\times 20\times 20\) \\  & Actual scale (km) & \(37.4\times 44.4\times 0.8\) \\  & Initial energy (I) & 4000 \\  & Number of sensor nodes & 2000 \\ \hline \multirow{2}{*}{Packet} & Data packet size (byte) & 1282 \\  & Broadcast packet size (byte) & 5 \\ \hline \hline \end{tabular}
\end{table}
Table 2: Simulation Parameters.  
Because energy is saved by the CS-CULM scheme, the dead nodes occur at last. As for CS-CLM, with the CS-3 DIAIR scheme, though the dead node appears before CS-CULM, they have slower dead rate. Additionally, the single-hop mechanism of CS-HLEACH makes it the first to go dead and the dead rate is fast.  
Figure 5 shows the max energy consumption of randomly-deployed sensor nodes over the network alive rounds. In the simulation, if one dead node appears, the max energy consumption of nodes will not increase, and values 4000 J. As we can see, at the same value of network alive rounds, the max energy consumption of CS-CULM is lower than the others; thus, its lifetime achieves the maximum.  
The same clustering algorithm in CS-CULM, CS-CLM, and CS-HLEACH causes the measurements \(M\) received by the sink to be almost equal. So, their reconstruction error \(\varepsilon\) is almost the same, and we select the proposed CS-CULM as the representative to analyze reconstruction error. When the basic transmission length \(r\) is 3.5 km, the probability of becoming a cluster head \(q\) = 0.15, and access probability \(p\) = 0.7, the reconstruction error is shown in Figure 6.  
In Figure 6, the randomly deployed nodes \(n\) are used to recover 8000 original data \(\mathbf{x}\). Measurements received by the sink node increase with the increasing number of sensor nodes, so the reconstruction error \(\varepsilon\) of CS-CULM and CS-3 DIAIR shows a downward tendency. The clustering algorithm unutilized in CS-3 DIAIR results in a waste of energy, but its measurements \(M\) are more than  
Figure 4: The number of alive nodes vs. network alive rounds.  
Figure 5: Max energy consumption of nodes vs. network alive rounds.  
CS-CULM (\(q=0.15\)), which contributes to the precision of reconstructed data. While in CS-CULM, the rising probability \(q\) also causes the increase of measurements \(M\); therefore, at the same number of nodes, the reconstruction error \(\varepsilon\) decreases. When the number of sensor nodes \(n=2000\), the probability of becoming a cluster head \(q=0.15\), and the reconstruction error of CS-CULM is \(\varepsilon=0.014055777\).  
When basic transmission length \(r=3.5\) km, the probability of becoming a cluster head \(q=0.15\) and access probability \(p=0.7\). The randomly-deployed nodes \(n=3000\) are used to recover 8000 original data \(\mathbf{x}\) in USNs. As shown in Figure 7, the reconstruction error \(\varepsilon=0.0127\).