## 3 SWIPT-Based Multi-Hop Uneven Clustering Routing Protocol Design for RF EH-CRSNs
### Complexity Analysis of ES-MUCRP  
The time complexity of ES-MUCRP can be defined in two ways. The first one defines complexity in terms of control information exchange and data transmission: (1) During the CHs selection and cluster construction sub-stages, nodes in all rings of CRSNs, except the first ring, are required to exchange control messages three times. This exchange includes broadcasting node-specific information, CHs selection weights, and CHs broadcasting CHs announcement messages or normal nodes broadcasting withdrawal messages. The number of exchanged control messages is \(3(K-N_{CH(1)})\). Here, \(K\) is the total number of CRSN nodes and \(N_{CH(1)}\) denotes the number of CHs in ring 1. Additionally, normal nodes send join requests to their respective CHs and form clusters, resulting in an exchange of \(-\)\(N_{CH(2)}\)\(-\)\(\ldots\)\(-\)\(N_{CH(z-1)}\)\(-\)\(N_{CH(z)}\) control messages. Therefore, the total number of control messages exchanged during the CHs selection and cluster construction sub-stages is 3(\(K\)\(-\)\(N_{CH(1)}\)) \(+\)\(K\)\(-\)\(N_{CH(1)}\)\(-\)\(N_{CH(2)}\)\(-\)\(\ldots\)\(-\)\(N_{CH(z-1)}\)\(-\)\(N_{CH(z)}\) = 4(\(K\)\(-\)\(N_{CH(1)}\)) \(-\)\(N_{CH(2)}\)\(-\)\(\ldots\)\(-\)\(N_{CH(z-1)}\)\(-\)\(N_{CH(z)}\). (2) During the route selection sub-stage, first-ring CHs transmit state information to the sink to facilitate the selection of relay nodes by second-ring CHs. The number of exchanged control messages is \(N_{CH(1)}\). Due to transmission range constraints, intermediate-ring CHs need to broadcast state information within the \(R_{t}\) range to assist outer-ring CHs in calculating competition values, resulting in an exchange of control messages totaling \(N_{CH(2)}\)\(+\)\(\ldots\)\(+\)\(N_{CH(z-1)}\). Non-first-ring CHs select suitable relay nodes based on the computed competition values and unicast route notification messages, resulting in an exchange of control messages totaling \(N_{CH(2)}\)\(+\)\(\ldots\)\(+\)\(N_{CH(z-1)}\)\(+\)\(N_{CH(z)}\). Consequently, the total number of control messages exchanged during the route selection sub-stage is \(N_{CH(1)}\)\(+\)\(N_{CH(2)}\)\(+\)\(\ldots\)\(+\)\(N_{CH(z-1)}\)\(+\)\(N_{CH(2)}\)\(+\)\(\ldots\)\(+\)\(N_{CH(z-1)}\)\(+\)\(N_{CH(z)}\) = \(N_{CH(1)}\)\(+\)\(2(N_{CH(2)}\)\(+\)\(\ldots\)\(+\)\(N_{CH(z-1)})\)\(+\)\(N_{CH(z)}\). (3) During the data transmission stage, each non-first-ring CH broadcasts TDMA scheduling information within the cluster, instructing its CMs to transmit data on the corresponding channels in their respective time slots. The number of exchanged control messages is \(N_{CH(2)}\)\(+\)\(\ldots\)\(+\)\(N_{CH(z-1)}\)\(+\)\(N_{CH(z)}\). Therefore, the total complexity of control message exchange for ES-MUCRP is 4(\(K\)\(-\)\(N_{CH(1)}\)) \(-\)\(N_{CH(2)}\)\(-\)\(\ldots\)\(-\)\(N_{CH(z-1)}\)\(-\)\(N_{CH(z)}\)\(+\)\(N_{CH(1)}\)\(+\)\(2(N_{CH(2)}\)\(+\)\(\ldots\)\(+\)\(N_{CH(z-1)})\)\(+\)\(N_{CH(z)}\)\(+\)\(N_{CH(z)}\)\(+\)\(N_{CH(z-1)}\)\(When a node's residual energy drops to 0, it can no longer perform any operations and loses its network monitoring capability. Therefore, network lifetime is an important metric for assessing CRSNs clustering protocols. In this paper, the number of surviving nodes is used to measure the magnitude of network lifetime. The comparison results of the number of surviving nodes across various protocols are shown in Figure 2, with a detailed comparison shown in Table 3. From Figure 2 and Table 3, it is evident that the first node failure of ES-MUCRP occurs at round 989, which is significantly later than DSAC, WCM, NSAC, and S-MUCRP, but earlier than CogLEACH, Fuzzy C-means, and IMOCRP. This indicates that CRSN nodes in ES-MUCRP consume less energy in control information exchange and data transmission. In order to explore the reasons behind this phenomenon, the total control overhead per round, total energy consumption per round, and execution time are recorded in Figures 3-5. A detailed analysis of the results is as follows: