*4.2. Energy Neutral Operation*

We explain the proposed ENO based on SWIPT in detail in this section. The proposed ENO is performed on a per-cluster basis. Without loss of generality, we can consider only one cluster assuming that the clustering and CH selection are completed in advance (The clustering and CH selection algorithm is presented in Section 4.4.). Suppose that there are *N* sensor nodes in the cluster. Let N be the set of sensor nodes in the cluster, i.e., N = {1, 2, ··· , *N*}. We denote the selected CH node as *i*, where ∃*i* ∈ N , and denote the other sensor nodes as *j*, where ∀*j* ∈N \{*i*}. For simplicity, we assume that there is channel reciprocity between any two nodes. As illustrated in Figure 1, *hj* denotes the channel power gain between the HAP and any node *j*, and *gij* denotes the channel power gain from sensor node *j* to CH *i*.

The energy harvested by node *j* from HAP is expressed as

$$E\_j^{\text{bar}} = \zeta\_j h\_j P T\_\varepsilon \,\,\forall j \in \mathcal{N} \tag{1}$$

where 0 < *ζ<sup>j</sup>* < 1 is an EH efficiency of node *j*, and *P* is the constant transmission power of the HAP. The transmission power of sensor node *j* for transmitting data to the CH during the SWIPT slot is given by

$$P\_j = \frac{\eta\_j E\_j^{\text{har}}}{T\_s} = \frac{\eta\_j \zeta\_j h\_j P T\_\varepsilon}{T\_s}, \forall j \in \mathcal{N} \backslash \{i\} \tag{2}$$

where 0 < *η<sup>j</sup>* < 1 is the ratio of the energy used for only transmission except reception, processing, and circuit operations to the total energy harvested in node *j*. By Shannon's theorem, the achievable rate of transmission from sensor node *j* to the CH *i* is expressed as

$$R\_{i\bar{j}} = T\_s \log\_2 \left( 1 + \frac{\mathcal{G}i\bar{P}\_{\bar{j}}}{\sigma^2} \right), \; \forall \bar{j} \in \mathcal{N} \; \backslash \; \{i\} \; \text{(bits/Hz)} \tag{3}$$

where *σ*<sup>2</sup> is the noise power at the receiving side, and the unit of this rate has bits/Hz reflecting the transmission time *Ts*.

If SWIPT is not used, as in the conventional method, the CH uses only the energy harvested from the HAP. Thus, the transmission power of CH *i* for transmitting data to the HAP during the WIT slot is given by

$$P\_i = \frac{\eta\_i E\_i^{\text{har}}}{T\_d} = \frac{\eta\_i \zeta\_i \eta\_i P T\_d}{T\_d}.\tag{4}$$

Then, the achievable rate of transmission from the CH *i* to the HAP is given by

$$R\_i = T\_d \log\_2 \left( 1 + \frac{h\_i P\_i}{\sigma^2} \right) \text{ (bits/Hz)}.\tag{5}$$

The maximum rate of sensing data that can be collected in this cluster is limited by the minimum rate of the transmission links [19,20]. Therefore, when SWIPT is not used, the achievable rate of sensing data in this cluster is determined by

$$R^{\text{noSwippt}} = \min \left[ \min\_{j \in \mathcal{N} \backslash \{i\}} \{ R\_{ij} \} \,, R\_i \right]. \tag{6}$$

Because the achievable rate of sensing data is determined by the minimum rate of the transmission links, the sensor nodes with higher *Rij* can consume only the energy required to satisfy this minimum rate and then transmit the remaining energy to the CH using the SWIPT technique. When PS-based SWIPT is applied, node *j* uses power *αjPj* for WIT and the remaining power (1 − *αj*)*Pj* for WET. Thus, the achievable rate of transmission from sensor node *j* to CH *i* is expressed as

$$\begin{array}{lcl} R\_{ij}^{\rm PS} &= T\_s \log\_2 \left( 1 + \frac{\xi\_{ij} a\_j P\_j}{\sigma^2} \right) \\ &= T\_s \log\_2 \left( 1 + \frac{\eta\_j \xi\_{ij} g\_{ij} h\_j a\_i P T\_\varepsilon}{\sigma^2 T\_s} \right), \ \forall j \in \mathcal{N} \ \{i\} \ (\text{bits/Hz}). \end{array} \tag{7}$$

On the other hand, when TS-based SWIPT is applied, node *j* uses time *αjTs* for WIT and the remaining time (1 − *αj*)*Ts* for WET. Hence, the achievable rate of transmission from sensor node *j* to CH *i* is expressed as

$$\begin{split} R\_{ij}^{\rm TS} &= a\_{j}T\_{s}\log\_{2}\left(1 + \frac{\overline{g\_{i}}P\_{j}}{\sigma^{2}}\right) \\ &= a\_{j}T\_{s}\log\_{2}\left(1 + \frac{\overline{g\_{i}}T\_{s}\overline{g\_{j}}h\_{i}/PT\_{s}}{\sigma^{2}T\_{s}}\right), \ \forall j \in \mathcal{N} \ \backslash \ \{i\} \ \text{(bits/Hz)}. \end{split} \tag{8}$$

In both the PS and TS methods, the amount of energy that CH *i* additionally obtains is given by

$$E\_i^{\text{add}} = \sum\_{j \in \mathcal{N} \backslash \{i\}} \zeta\_i g\_{ij} (1 - a\_j) P\_j T\_s. \tag{9}$$

Then, when SWIPT is used, the transmission power of CH *i* is updated as

$$P\_i^{\text{swipt}} = \frac{\eta\_i (E\_i^{\text{har}} + E\_i^{\text{add}})}{T\_d}. \tag{10}$$

Moreover, the achievable rate of transmission from CH *i* to the HAP is represented as

$$\begin{split} R\_i^{\text{svippt}} &= T\_d \log\_2 \left( 1 + \frac{h\_i P\_i^{\text{svippt}}}{\sigma^2} \right) \\ &= T\_d \log\_2 \left\{ 1 + \frac{\eta\_i h\_i (E\_i^{\text{hor}} + E\_i^{\text{vold}})}{\sigma^2 T\_d} \right\} \\ &= T\_d \log\_2 \left\{ 1 + \frac{\eta\_i \zeta\_i h\_i \text{PT}\_d \{h\_i \div \sum\_{j \in \mathcal{N}} \left( \frac{1}{\eta\_i} \eta\_j \zeta\_j (1 - a\_j) g\_{ij} h\_j \right)}{\sigma^2 T\_d} \right\} \quad \text{(bits/Hz)}. \end{split} \tag{11}$$

Finally, the achievable rates of sensing data when SWIPT is used according to PS and TS are respectively expressed as

$$R^{\text{swipt}} = \begin{cases} \min\left[\min\_{j \in \mathcal{N} \backslash \{i\}} \left\{ R\_{ij}^{\text{FS}} \right\}, R\_i^{\text{swipt}} \right], & \text{if PS is used} \\ \min\left[\min\_{j \in \mathcal{N} \backslash \{i\}} \left\{ R\_{ij}^{\text{TS}} \right\}, R\_i^{\text{swipt}} \right], & \text{if TS is used}. \end{cases} \tag{12}$$

*Energies* **2019**, *12*, 3823

In WSNs, energy dissipation can occur because the sensor node does not need to consume more energy than the energy required to attain the achievable rate of sensing data. This metric is important for measuring the energy efficiency in WSNs [43]. The amount of energy dissipated in the sensor node is defined as the difference between the energy harvested and the energy required to satisfy the achievable rate. In the case without using SWIPT, all of the nodes only need to satisfy *R*noSwipt given as Equation (6). Thus, the amounts of energy dissipated in sensor node *j* and CH *i* are respectively calculated as

$$\mathcal{E}\_{j}^{\text{ncSwipt}} = \left\{ P\_{j} - \frac{\sigma^{2}}{\mathcal{S}\_{ij}} \left( 2^{\frac{\text{pncSwipt}}{T\_{s}}} - 1 \right) \right\} T\_{s\_{\prime}} \,\forall j \in \mathcal{N} \; \backslash \; \{i\} \tag{13}$$

$$\mathcal{E}\_i^{\text{noSwippt}} = \left\{ P\_i - \frac{\sigma^2}{h\_i} \left( 2^{\frac{\text{fncSwipt}}{T\_d}} - 1 \right) \right\} T\_d. \tag{14}$$

Therefore, the total amount of energy dissipated in the cluster is expressed as

$$\mathcal{E}^{\text{noSwippt}} = \mathcal{E}\_i^{\text{noSwipt}} + \sum\_{j \in \mathcal{N} \backslash \{i\}} \mathcal{E}\_j^{\text{noSwipt}}.\tag{15}$$

On the other hand, when SWIPT is used, all of the nodes only need to satisfy *R*PS or *R*TS depending on the SWIPT method used. However, SWIPT is not necessary if *Ri* ≥ min*<sup>j</sup> Rij* because the rate of the CH is sufficiently high that the CH does not need to receive energy from its member nodes. In this case, the energy dissipated in the cluster is the same as Equation (15). However, in the opposite case, i.e., if *Ri* < min*<sup>j</sup> Rij* , the energy dissipated in sensor node *j* is zero because it transfers all of the remaining energy to the CH. Thus, the energy dissipated in sensor node *j* is given by

$$\mathcal{E}\_{j}^{\text{swipt}} = \begin{cases} 0, & \text{if } R\_i < \min\_j \left\{ R\_{ij} \right\} \\ \mathcal{E}\_{j}^{\text{noSwipt}}, & \text{otherwise.} \end{cases} \tag{16}$$

Moreover, the energy dissipated in CH *i* is obtained as

$$\mathcal{E}\_i^{\text{swipt}} = \left\{ P\_i^{\text{swipt}} - \frac{\sigma^2}{h\_i} \left( 2^{\frac{\text{gwipt}}{l\_d}} - 1 \right) \right\} T\_d. \tag{17}$$

Finally, when SWIPT is used, the total amount of energy dissipated in the cluster is expressed as

$$\mathcal{E}^{\text{swipt}} = \mathcal{E}\_i^{\text{swipt}} + \sum\_{j \in \mathcal{N} \backslash \{i\}} \mathcal{E}\_j^{\text{swipt}}.\tag{18}$$

Note that it is always true that <sup>E</sup>swipt *<sup>j</sup>* <sup>≥</sup> 0 and <sup>E</sup>swipt *<sup>i</sup>* <sup>≥</sup> 0 since *<sup>R</sup>*swipt <sup>≤</sup> *<sup>R</sup>*swipt *<sup>i</sup>* , so the ENO of all of the nodes is guaranteed.

#### *4.3. Optimal SWIPT Ratio*

For a given CH *i*, the optimal SWIPT ratio that maximizes *R*swipt is formulated as

$$\begin{aligned} \overrightarrow{\boldsymbol{a}}^{\flat \ast} &= \underset{\overrightarrow{\boldsymbol{a}}^{\flat}}{\arg\max} \boldsymbol{R}^{\text{swipt}}\\ &= \underset{\overrightarrow{\boldsymbol{a}}^{\flat}}{\arg\max} \min \left[ \underset{\overrightarrow{\boldsymbol{a}}^{\flat}}{\min} \boldsymbol{\sum}\_{j \in \mathcal{N} \backslash \{i\}} \left\{ \boldsymbol{R}\_{ij}^{\text{swipt}} \right\} , \boldsymbol{R}\_{i}^{\text{swipt}} \right] \end{aligned} \tag{19}$$

where −→*<sup>α</sup>* <sup>=</sup> {*αj*}, <sup>∀</sup>*<sup>j</sup>* ∈ N \{*i*}, and *<sup>R</sup>*swipt *ij* = *<sup>R</sup>*PS *ij* or *<sup>R</sup>*TS *ij* according to the SWIPT method used. From Equations (7), (8), and (11), as −→*α* increases, *R*swipt *ij* increases but *<sup>R</sup>*swipt *<sup>i</sup>* decreases, and vice versa. Thus, there is a tradeoff between min*<sup>j</sup> R*swipt *ij* and *R*swipt *<sup>i</sup>* according to −→*<sup>α</sup>* . In this case, the optimal

solution of the given max-min problem is found when min*<sup>j</sup> R*swipt *ij* = *R*swipt *<sup>i</sup>* [44]. To find the optimal −→*α* <sup>∗</sup> that satisfies min*<sup>j</sup> R*swipt *ij* = *R*swipt *<sup>i</sup>* , we design an iterative algorithm, as shown in Algorithm 1. Since SWIPT is performed when min*<sup>j</sup> Rij* > *Ri*, we set the initial target rate *R*tar *<sup>i</sup>* to min*<sup>j</sup> Rij* and adjust the target rate to make all of the link rates equal. In every step, *α<sup>j</sup>* is determined to satisfy *R*tar *<sup>i</sup>* according to the PS or TS method. The computational complexity of the proposed SWIPT algorithm is given by *O*(*L*|N |) where *L* is the number of iterations for the first loop and |N | is the number of nodes in cluster.
