# A Power-Optimized Cooperative MAC Protocol for Lifetime Extension in Wireless Sensor Networks
## 6 Simulation Results
### Impact of \(M\) on Protocol Performance  
Figures 15-18 show the impact of \(M\) on the performance of the PO-CMAC protocol. Herein, the number of nodes \(N\) is 150. As shown in Figures 15 and 16, when the network traffic load is uniform, the network lifetime and the average number of data packets transmitted by each node reach the maximum values at \(M=1\), and then decreases as \(M\) increases. Furthermore, at non-uniform network traffic load, they increase at first and then decrease. All their maximum values are obtained at \(M=2\). This is the tradeoff results between the less energy consumption as \(M\) decreases and the better effect  
As shown in Figure 17, at the uniform network traffic load, the energy utilization of the PO-CMAC protocol is always close to 1. This is because each node can transmit almost the same number of data packets and consume similar amount of energy, which leads to similar residual energy. In this case, selecting a single cooperative node with the best channel quality (i.e., \(M=1\)) can obtain cooperative diversity gain, and meanwhile the LETPO algorithm can balance the network energy consumption efficiently, which guarantees high energy utilization. At this time, if \(M\) is further increased, there is no room for improving energy utilization. At the non-uniform network traffic load, the network energy utilization increases significantly with the increase of \(M\) and then approach to 1 smoothly. This is because the different packet arrival rates lead to the differences in the energy consumption and residual energy of each node. For \(M=1\), the LETPO algorithm can only balance the residual energy of the sender and a single cooperative node. Furthermore, it is possible that both these two nodes have little residual energy. Therefore, it might fail to balance the local network energy consumption when the network traffic load is non-uniform, which leads to low network energy utilization. With the increase of \(M\), it is more possible for the PO-CMAC protocol to choose cooperative nodes with both higher quality link and sufficient residual energy in cooperative node selection phase. Meanwhile, the LETPO algorithm can balance the residual energy of nodes within a larger local network, thus improving the network energy utilization. Figure 17 shows that, when \(M\) is changed from 1 to 2, the improvement of the energy utilization is the largest. Furthermore, as shown in Figure 18, the average energy consumption of each data packet transmission increases with the increase of \(M\) at both uniform traffic load and non-uniform traffic load. There are two reasons for this phenomenon. Firstly, the increase of \(M\) leads to more HTS packet transmissions in cooperative node selection phase, which results in extra energy consumption overhead. Secondly, as \(M\) increases, it is more likely for the sender to choose the cooperative nodes with poor channel quality but sufficient residual energy to take part in cooperative transmission, which also increases the energy consumption of each data packet transmission. Considering both Figures 17 and 18, on one hand, the increase of \(M\) is better for balancing the residual energy of the local network and improving network energy utilization. On the other hand, it increases the average energy consumption of each data packet transmission, thus reducing the energy efficiency. Therefore, according to Equation (17), in different cases, in order to transmit more data packets and extend network lifetime, we should select the optimal value of \(M\) to guarantee high energy utilization and avoid low energy efficiency. Moreover, in Figure 16, when \(M\) is large, the average number of data packets transmitted by each node at non-uniform traffic load is a little higher than that at uniform traffic load. The reason is that, when the packet arrival rates of nodes in the network are different, their residual energy is different  
Figure 18: Average consumed energy of each data packet transmission vs. \(M\).