# A Novel Adaptive Cluster Based Routing Protocol for Energy-Harvesting Wireless Sensor Networks
## 2 Adaptive Hierarchical-Clustering-Based Routing Protocol for EH-WSNs
### HCEH-UC Routing Algorithm  
The clustering-based routing algorithm, such as the low-energy adaptive clustering hierarchy (LEACH) [11], can dynamically establish clusters and randomly select CHs in every cycle to balance the energy consumption of the nodes and prolong the MLC of WSNs. However, nodes' energy would finally be exhausted without energy harvesting. For the EH-WSNs, the node can hardly operate in the energy-harvesting mode. Thus, the design of the transmission modes based on the environment-adaptive node cluster is also an important problem when accomplishing uninterrupted network coverage. Aiming to optimize the data transmission mode of the WSN nodes, a distributed data transmission mode adjustment method is proposed in this paper. The cluster head node could be alternated according to the remaining energy and the exhausted node would be re-charged in time to prepare for the next cycle. Each cluster could adaptively accomplish the distributed control of the data transmission mode to limit the number of sleeping nodes in each data collection cycle, which can guarantee the normal operation of WSNs with high-energy efficiency. Thus, the uninterrupted coverage of the target area for EH-WSNs can be accomplished by the proposed HCEH-UC routing algorithm. To calculate the energy consumption of data transmission in the WSNs, the radio energy consumption model proposed in [15] is adopted in this paper, as shown in Table 2.  
The amplification constants, \(\epsilon_{\mathrm{fs}}\) and \(\epsilon_{\mathrm{mp}}\), represent energy consumption when amplifying the signal, which can support data transmission to a certain distance. Therefore, these constants are related to the size of the transmission data and the transmission distance. The energy consumption of the radio transmission and reception mode can be denoted as \(E_{elec}=50\cdot\mathrm{nl/bit}\). According to the channel transmission model, the energy consumption of the transmission would be the square of the distance. According to the literature [17], the free space and multipath attenuation models are used to establish a wireless channel propagation model, and the energy consumption \(E_{Tx}\) for sending \(k-bit\) data can be described as (4):  
\[ \begin{split} E_{Tx}(k,d)&=E_{Tx-elec}(k)+E_{Tx- amp}(k,d)\\ &=\left\{\begin{array}{l}E_{elec}*k+\epsilon_{\mathrm{fs}}*k*d^{2 },d<\mathrm{d}_{0}\\ E_{elec}*k+\epsilon_{\mathrm{mp}}*k*d^{4},d\geq\mathrm{d}_{0}\end{array}\right. \end{split}  \tag{4}\]  
where \(d\) denotes the transmission distance, \(d_{0}\) denotes the distance threshold, \(E_{Tx-elec}\) represents the transmission energy, and \(E_{Tx-amp}\) represents the amplification energy required for data transmission to the distance \(d\):  
\[\mathrm{d}_{0}=\sqrt{\frac{\epsilon_{\mathrm{fs}}}{\epsilon_{\mathrm{mp}}}}.\]  
At the same time, the energy required to receive \(k-bit\) data can be depicted as (5):  
\[E_{Rx}(k)=E_{Rx-elec}(k)=E_{elec}*k. \tag{5}\]  
The energy consumption of the cluster head node includes the data transmission and reception, as well as the generation and maintenance of the routing framework, which indicates that the energy consumption of the cluster head node is much higher compared with the other node in the cluster. In order to achieve uninterrupted WSN coverage, the cluster head node needs to sleep and implement energy harvesting after a complete data-transmission cycle to participate in the next cycle. The selection of the successor cluster head node is based on the remaining node energy in the cluster and node location information. As shown in Figure 1, the improved hierarchical clustering algorithm was adopted on the WSN nodes for reasonable clustering, and the nodes in the cluster conform to the star topology, which could gather information from the marginal nodes to CHs. Then, CHs compress the received data and finally transmit them to the base station or end user termination. Assuming that a cluster includes \(Q\) nodes, the base station is represented by