### Delay analysis

After the completion of self-learning, all nodes in any two regions separated by *d* maintain the synchronization of duty cycle. Compared with other methods, in which nodes need to wait for the corresponding candidate forwarders to wake up before sending the packets because their duty cycle is not necessarily synchronous, this approach can optimize the performance of this respect, thus effectively reducing the sender wait time. Figure 6 shows one of the possible multi-hop path of the packet from the sender node A to the sink.

**Theorem 1**
*The expected vertical distance from one of sender nodes to its forwarder is*

$$ {d}_x={\int}_0^x\frac{2x\left(d-x\right)}{\vartheta_x}\bullet {\cos}^{-1}\left(\frac{{\left(d-x\right)}^2+{d}^2-{x}^2}{2\left(d-x\right)d}\right) dx $$

(11)

*Proof* According to [4], the probability density function of the expected vertical distance from one of the sender nodes to its forwarder is \( {\mathcal{F}}_d(x)=\frac{2\left(d-x\right)}{\vartheta_x}\bullet {\cos}^{-1}\left(\frac{{\left(d-x\right)}^2+{d}^2-{x}^2}{2\left(d-x\right)d}\right) \). The expected *d*_{
x
} can be calculated by the formula \( {d}_x={\int}_0^xx\bullet {\mathcal{F}}_d(x) dx \). ■

Although the duty cycle of most of the nodes in the forwarder set are synchronized with the sender’s cycle, we prefer to select the relay node closer to the sink. Therefore, there is a need to reach a balance between the minimum delay and the maximum vertical distance.

**Theorem 2** *When packet forwarding is basing on LS approach, the duty cycle of nodes and their forwarders almost synchronous. When the distance from a node and the sink is L, the delay of end-to-end transmission can be calculated in* Eq. (13)*.*

$$ {Y}_{i-1,i}={\sum}_{i=0}^{\frac{D_{\mathrm{COM}}}{c}-2}i{\left(1-\frac{c}{D_{\mathrm{COM}}}\right)}^{i\rho \vartheta}\left[1-{\left(1-\frac{c}{D_{\mathrm{COM}}}\right)}^{\rho \vartheta}\right]+\left(\frac{D_{\mathrm{COM}}}{c}-1\right){\left(1-\frac{c}{D_{\mathrm{COM}}}\right)}^{\left(\frac{D_{\mathrm{COM}}}{c}-1\right)\rho \vartheta} $$

(12)

$$ {Y}_{\mathrm{ETE}}=\left[\frac{L}{d_x}\right]{Y}_{i-1,i} $$

(13)

*Proof Y*_{i − 1, i} is the average delay of the transmission from (*i −* 1)th to *i*th node. According to [4], the duty cycle of each node is *c*/*D*_{COM} in transmission and the probability density function of the delay in each slot is \( {\left(1-\frac{c}{D_{\mathrm{COM}}}\right)}^{i\rho \vartheta}\left[1-{\left(1-\frac{c}{D_{\mathrm{COM}}}\right)}^{\rho \vartheta}\right] \), where \( i=0,1,\cdots, \frac{c}{D_{\mathrm{COM}}}-2 \). Here, the vertical distance is greater than or equal to *x*, so the expected hop count is \( \left\lceil \frac{L}{d_x}\right\rceil \). Then, the total delay can be obtained by single hop delay and hop count. ■

Based on this formula, Fig. 7 shows the expected delay under different number of nodes. As we can see from the diagram, the overall trend is that the more the number of forwarders is, the shorter the delay is.

And as shown in Fig. 8, with the increase of single hop distance, the single hop delay is reduced. This indicates that the longer distance can lead to the shorter delay. At the same time, as duty cycle increases, the delay will decrease.

As Fig. 9 shows, the one-hop delay increases with the increase of the distance *L*. Meanwhile, the distance between a sender and its forwarder also reflects one-hop delay: the longer the one-hop distance, the longer the one-hop delay.

### Energy consumption analysis

The network lifetime is determined by energy consumption, and the selection of forwarders is also related to residual energy. In LS approach, nodes have four types of states: transmission of packets, reception of packets, self-learning, and low power listening. In a general way, while the number of packets in network is large, the energy they consume is serious because the packet transmission and reception are the main energy-consuming operation. Beyond that, in this approach, the self-learning process is also an operation that consumes a lot of energy. On the other hand, the overhead of time slot can be divided into three parts: when there have data packet transmission, listening, and sleeping time. This is included in the calculation of the above four parts of the energy consumption. The total energy consumption can be calculated in the following equation

$$ {E}_U={E}_T{N}_T+{E}_R{N}_R+{E}_{\mathrm{LPL}}{D}_{\mathrm{COM}}+{E}_{\mathrm{LEA}}{D}_{\mathrm{LEA}} $$

(14)

where *E*_{
U
} is the total energy consumption, *E*_{
T
} is the energy consumption of a packet transmission, *E*_{LPL} represents the energy consumption in low power listening, and *E*_{LEA} is the energy consumption in self-learning. *N*_{
T
} and *N*_{
R
} are the number of packets in transmission and the packet amount in reception respectively. *D*_{COM} and *D*_{LEA} are the duration of communication and self-learning.

According to [4], assuming that the radius of network is *D*, the transmission range of each node is *r* and the distance between the sender and sink is *l*; *N*_{
T
} and *N*_{
R
} can be calculated by following equations in which *i* is an integer here.

$$ {N}_R=\frac{r\left(i+1\right)i}{2l}+\left(i+1\right)\mid ir+l<D $$

(15)

The energy consumption in a packet sending includes consumption of the real packet transmission and the related preamble consumption. *ε*_{
T
}*D*_{
P
} represents the energy consumption of packet transmission. The preamble transmission is a periodic operation in the whole transmission, which can inform the relay node of the packet’s arrival. The average energy consumption in a packet transmission can be expressed as

$$ {E}_T={\varepsilon}_T{D}_P+\left({\varepsilon}_T{D}_B+{\varepsilon}_R{D}_{\mathrm{ACK}}\right)\frac{\left(1-\frac{c^A}{c}\right){D}_{\mathrm{COM}}}{2\left({D}_B+{D}_{\mathrm{ACK}}\right)} $$

(17)

The second part of Eq. (17) represents the power consumption of periodic preamble transmission.

The energy consumption in packet reception can be calculated as

$$ {E}_R={\varepsilon}_R{D}_P+{\varepsilon}_T{D}_{\mathrm{ACK}}+{\varepsilon}_R{D}_B $$

(18)

where *ε*_{
R
}*D*_{
P
} represents the power consumption of the packet reception, *ε*_{
T
}*D*_{ACK} is the power consumption in the transmission of acknowledgment message, and *ε*_{
R
}*D*_{
B
} represents the power consumption of the preamble reception.

The energy consumption in self-learning can be expressed by the following equation:

$$ {E}_{\mathrm{LEA}}={\varepsilon}_{\mathrm{LEA}}{D}_{\mathrm{LEA}}={D}_{\mathrm{LEA}}\left({\varepsilon}_R+{\varepsilon}_T+{\varepsilon}_R\right) $$

(19)

The energy consumption used for low power listening of the node from sink *L* meters (denoted as \( {E}_{\mathrm{LPL}}^L \)) can be calculated as

$$ {E}_{\mathrm{LPL}}^L={\varepsilon}_S\left(1-\frac{c^A}{c}\right)+{\varepsilon}_R\frac{c^A}{c}-{\psi}_T^L-{\psi}_R^L $$

(20)

The process of low power listening consists of two parts: listening and sleeping states, which correspond to the first and second part in Eq. (20). Because the energy consumption of packet transmission and reception is calculated in the equation before, \( {\psi}_T^L \) and \( {\psi}_R^L \) should be subtracted from the calculation for \( {E}_{\mathrm{LPL}}^L \).

According to [5], \( {\psi}_T^L \) and \( {\psi}_R^L \) can be expressed by Eqs. (21) and (22) respectively:

$$ {\psi}_T^L=\left\{\left[\frac{T_{\mathrm{COM}}\left(1-\frac{c^A}{c}\right)}{2}+{D}_B+{D}_{\mathrm{ACK}}\right]{\varepsilon}_S+{\varepsilon}_R{D}_B\right\}\frac{N_T^L}{T_{\mathrm{COM}}} $$

(21)

$$ {\psi}_R^L=\left[{\varepsilon}_R{D}_B+\left({D}_P+{D}_{\mathrm{ACK}}\right){\varepsilon}_S\right]\frac{N_R^L}{T_{\mathrm{COM}}} $$

(22)

Based on the analysis above, the energy consumption of nodes which are *x* meters away from the corresponding relay nodes can be expressed as

$$ {E}_U^x={E}_T^x{N}_T+{E}_R^x{N}_R+{E}_{\mathrm{LPL}}{D}_{\mathrm{COM}}^x+{E}_{\mathrm{LEA}}^x{D}_{\mathrm{LEA}}^x $$

(23)

Because the range of the forwarder set is *x*, and the average distance from the sender and the region of relay nodes is *d*, the total energy consumption can be calculated as follows:

$$ {E}_U=\left[\frac{L}{d}\right]\left({E}_T^x{N}_T+{E}_R^x{N}_R+{E}_{\mathrm{LPL}}{D}_{\mathrm{COM}}+{E}_{\mathrm{LEA}}^x{D}_{\mathrm{LEA}}\right) $$

(24)

**Theorem 3**
*In the approach presented in this paper, suppose that the initial energy of node i is*
\( {E}_O^i \)
*and there are n nodes in the network, the lifetime of network can be expressed as*

$$ {T}_N=\frac{E_O^i}{\max_{1\le i\le n}\left({E}_T{N}_T^i+{E}_R{N}_R^i+{E}_{\mathrm{LPL}}{D}_{\mathrm{COM}}+{E}_{\mathrm{LEA}}{D}_{\mathrm{LEA}}\right)} $$

(25)

*Proof* Network lifetime is defined as the period before the node which has the largest energy dies out due to its energy drain. In other words, the lifetime of the node with the maximum energy and the initial energy refer to the network lifetime. \( {E}_O^i \) is the initial energy of the *ith* node, and the largest energy consumption of the node is \( {\max}_{1\le i\le n}\left({E}_T{N}_T^i+{E}_R{N}_R^i+{E}_{\mathrm{LPL}}{D}_{\mathrm{COM}}+{E}_{\mathrm{LEA}}{D}_{\mathrm{LEA}}\right) \). ■

Based on Eq. (24), Fig. 10 shows the energy consumption under the different *x* values. It can be observed that the larger the *x* is, the smaller the energy consumption is, which is because the hop count decreases with the increase of *x*. Meanwhile, as the distance between the sender and sink increases, the energy consumption of nodes are also reduced.

As shown in Fig. 11, the trend of energy consumption changes with the total distance from sink is the same as in Fig. 10. In the approach proposed in this paper, when each node becomes the sender, it is taken as the center in the network. In the transmission of packets, the selection of relays in each packet forwarding always follow the principle of selecting nodes that are closer to the sink. Thus, the closer the distance between a node and sink, the greater the energy consumed, which can be observed from Fig. 11.