Introduction
Nanotechnology has been widely researched for the development of extremely small devices only capable of performing some simple actions (actuation, data storage and communication, etc.) at the nanoscale. More advanced nanodevices could be manufactured to fulfill complex tasks in a distributed manner by integrating several nanomachines into a single entity [1]. The size of the single nanodevice is about a few cubic micrometers [2], which contributes to its potential in many unprecedented applications. For example, there are many direct applications of nanotechnology in the biomedical field (e.g., drug delivery systems and cancer detection), in the environmental field (e.g., plants monitoring systems and biodegradation) and in the military field (e.g., biological, chemical defenses and nano-functionalized equipments) [1], [3]. To realize these applications and guarantee their performance, the energy consumption, data processing and communication problems in the nanodevices are required to be considered comprehensively.
Recently, THz band has been recommended as the frequency band of communication for nanodevices due to the recent development in the area of graphene-based nanoelectronics [4], [5]. The available bandwidth of THz band ranges from several tens of GHz up to a few THz. However, it has a very high propagation loss due to the atmospheric absorption mainly caused by water vapor molecules [6], which results in a very limited communication distance [7]. Some research on graphene-based nano-transceivers [8], [9] and nano-antennas [5], [10] show that THz band as the communication frequency band for nanodevices is a great choice.
As a result, the limited capabilities of a single nanodevice and the THz band channel behavior easily lead to error-prone wireless links in nanonetworks. To design a proper error control mechanism for nanonetworks becomes stringent. The existing error control mechanisms for traditional wireless networks can be classified into three main approaches, i.e., Automatic Repeat reQuest (ARQ), Forward Error Correction (FEC) and Hybrid Automatic Repeat reQuest (HARQ) [11], which are described as follows [12]–[14]:
Automatic Repeat reQuest (ARQ): In ARQ-based error control schemes, retransmission has a main impact on recovering the lost data packets. The ARQ schemes achieve retransmissions of failed packets by transmitting explicit acknowledgements. Obviously, ARQ schemes incur a significant amount of additional retransmission cost in case of errors. In addition to the overhead and delay resulted from retransmissions, harvesting energy for retransmissions is another challenging task. On the other hand, overhead of ARQ schemes is lower than FEC protocols when the channel condition is good, since it does not have frequent retransmissions and has no need to add redundancy to the transmitted packets.
Forward Error Correction (FEC): When using FEC-based error control techniques, some redundant bits are added to the transmitted packets so that the receiver can recover the original bits even if the limited number of bits are received in error. Compared with the ARQ-based techniques, FEC-based techniques require more complex computational capability and sacrifice data rates for coding appendant, although they increase the communication distance and improve the error resiliency of communication.
Hybrid Automatic Repeat reQuset (HARQ): HARQ error control techniques combine the benefits of ARQ and FEC techniques, aiming to increase the error resiliency while reducing the number of retransmissions. There are mainly two types in HARQ techniques. For the HARQ-I (known as the Chase combining) technique, the transmitter sends a packet coded with a low error correction capability to the receiver firstly. In case of the reception of a NAK signal, the transmitter resends the same coded packet again. In the HARQ-II (referred to the incremental redundancy) technique, the transmitter constructs and resends different packets coded with a more powerful FEC code when a NAK is received. In general, the failed packets both in HARQ-I and HARQ-II are stored in the buffer firstly, and then a retransmission is request. By contrast, HARQ-I can improve the link performance through combining multiple copies of the received packet, and HARQ-II can take advantage of the different coded versions of retransmitted packets jointly to form a lower-rate code with stronger error protection capabilities.
In this paper, we propose a novel error control mechanism by considering the trade-off between energy harvesting and consumption for perpetual nanonetworks. The main contributions of this paper are summarized as follows:
A novel error control mechanism with probing for nanonetworks powered by energy harvesting is proposed. In particular, before starting data transmission, one probing packet is sent out to detect the channel status. Consequently, the corresponding feedback of probing packet decides whether the data packet will be transmitted.
Energy state model of ECP mechanism by considering the energy harvesting-consumption process is presented based on the extended Markov chain model. Moreover, the proposed model captures the dynamic network behavior through a probabilistic analysis of the total network traffic and the multiuser interference in the THz nanonetworks. The impact of different packets energy consumption on state transition and the probability distribution of every transmission state are investigated.
The energy state model is validated by means of simulation and we numerically study the data packet size for ECP mechanism and other four error control techniques (ARQ, FEC, EPC and HEPC) and compare the performance of them under different parameters. Performance analysis shows that ECP mechanism outperforms traditional error control schemes such as ARQ and FEC in terms of end-to-end successful packet delivery probability and energy savings while increases the end-to-end packet delay.
The rest of the paper is organized as follows. In Section II, existing related works in nanonetworks are reviewed. Section III presents the proposed ECP mechanism and corresponding energy state model. In Section IV, the energy state model is validated by simulation and ECP mechanism is evaluated. Finally, this paper is concluded in Section V.
Related Work
Despite the existence of many studies on error control techniques for traditional wireless networks, none of them can be directly applicable to the nanonetworks because of the very limited capabilities of nanodevices and the channel behavior of THz band, which are easy to lead to error-prone wireless links. The objective of this paper is to propose a novel error control mechanism that comprehensively considers the energy harvesting and consumption process of nanonodes. Without loss of generality, the main relevant works are discussed next.
A. Existing Work on Error Control in Nanonetworks
Recently, there have been some work on error control for nanonetworks. In detail, a new error control strategy for electromagnetic nanonetworks is proposed in [15]. This strategy is intended to prevent channel errors by utilizing low-weight channel codes. The results of this work reveal that the Codeword Error Rate is reduced through the utilization of low-weight channel codes while the achievable information rate does not decrease or even increase it. Furthermore, an optimal code weight is found, which can maximize the information rate. In [16], the authors explored the optimal coding design for transmission energy minimization (MTE) in nanonetworks and developed the corresponding solutions by considering code rate constraint and codeword length constraint. The simulation results show that MTE coding can decrease the transmission energy consumption in nanonetworks while guaranteeing an acceptable code rate. In addition, a cross-layer analysis of error control strategies for nanonetworks in the THz band is presented in [12]. Moreover, the BER, PER, energy consumption and delay of five different error control schemes, i.e., ARQ, FEC, two types of EPC (constant low-weight channel codes [15] and variable low-weight channel codes [16]) and a hybrid EPC (HEPC), which combines both FEC and EPC, are analyzed. It is shown that EPCs achieve better performance than traditional ARQ and FEC strategies, such as improving the error correction, saving more energy and reducing the delay. Alternatively, in [17], the authors addressed the link throughput maximization problem by considering the peculiarities of nanosensors and the optimal data packet size which maximizes the link efficiency is investigated. Especially, the impact of the optimal packet size for three different error control strategies (ARQ, FEC and EPC) are analyzed. The results show that EPC has a better link throughput efficiency performance in short range communications and low energy harvesting compared to the other two error control techniques. However, for the above existing work on error control, on the one hand, they either do not consider the energy harvesting-consumption process or have no realize the temporary feature of energy, i.e., the process of energy harvesting-consumption is dynamic. On the other hand, the channel condition is unknown before the data packet is transmitted and the impact of different packets transmission on energy status of nanonode has not been investigated. Note that, in the simulations and performance evaluation, we use the traditional ARQ and FEC schemes as well as the new EPC schemes with constant low-weight channel codes [15] and a hybrid EPC which combines both FEC and EPC [12].
B. Energy Harvesting With Piezoelectric Nanogenerator
It is highly desirable that nanodevices are enabled to be self-powered without the use of nanobatteries. However, traditional energy harvesting mechanisms, e.g., solar energy, wind power, or underwater turbulence [18], [19], cannot be utilized in nanonetworks. In the recent years, some methods of converting mechanical energy into electrical energy have been explored [20], [21], such as Zinc Oxide nanogenerators by using the piezoelectric effect. The energy harvested from the external environment is usually sufficient to power the communication of nanodevices, especially over a short distance.
According to the prototype design and the corresponding circuit model of piezoelectric nanogenerators in [22] and [23], the harvested energy can be stored in the nanocapacitor of nanodevices. In general, the maximum energy \begin{equation*} E_{max}={\mathrm{ max}}\left\{{\frac {1}{2}C_{cap}(V_{cap}(n_{cyc}))^{2}}\right\}=\frac {1}{2}C_{cap}V_{g}^{2}. \tag{1}\end{equation*}
Finally, the energy harvesting rate at the nanocapacitor can be given in Joule/second as follows:\begin{align*} \lambda _{harv}(E_{curr},\Delta E)=\left({\frac {n_{cyc}}{t_{cyc}}}\right)\frac {\Delta E}{n_{cyc}(E_{curr}+ \Delta E)-n_{cyc}(E_{curr})}. \\ {}\tag{2}\end{align*}
C. Energy Consumption in Pulse-Based Nanonetworks Communication
Due to the constrained energy in nanodevices, short pulses cannot be emitted in a burst. Hence, new information encoding and modulation mechanisms for nanonetworks are required urgently. Furthermore, in order to take advantage of the large bandwidth of THz band, pulse-based communication paradigm (such as TS-OOK) has been recommended in [25], which is based on the exchange of very short pulses spread in time. In detail, a logical “1” is transmitted by a short pulse (one-hundred-femtoseconds) and a logical “0” is transmitted as silence, i.e., nanodevices remain silent when a logical “0” is transmitted.
In order to evaluate the consumed energy in the transmission and reception of one packet, without loss of generality, it is assumed that the length of one packet is \begin{align*} & E_{tx}^{y} = N_{bits}^{y}W_{y}E_{pul-t}, \\ & E_{rx}^{y} = N_{bits}^{y}E_{pul-r}, \tag{3}\end{align*}
ECP: Error Control With Probing
In this section, a detailed description of the proposed error control mechanism ECP and its corresponding energy state model are presented. Through the energy state model, the trade-off between energy harvesting and energy consumption can be investigated comprehensively. Alternatively, the overall network performance is captured successfully by considering the total network traffic and the multiuser interference. Especially, a mathematical framework is developed and used for the steady-state analysis of the model.
A. Error Control Mechanism
In this section, energy state model of the proposed ECP mechanism by considering the energy harvesting-consumption process based on extended Markov chain approach is shown in Fig. 1. The associated notations in Fig. 1 are listed in TABLE 1. Each state in the model corresponds to an energy state of nanonode. The red dashed box in Fig. 1(a) refers to a set of states that the nanonode works in the probing mode, which is shown comprehensively in Fig. 1(b). The solid lines represent the energy harvesting process while the other lines represent the energy consumption process. The short dashed lines represent the energy consumption processes of sending one data packet, which is denoted as
Energy state model of the ECP mechanism with the extended Markov chain. (a) The general process of energy state model in ECP mechanism. (b) Energy state model of probing mode in ECP mechanism.
In order to increase the successful transmission probability of data packets and reduce the energy consumption of communication, the proposed ECP divides all energy states into two parts as shown in Fig. 1. On the one hand, each nanonode will keep harvesting energy and enter the probing mode only as its energy value is beyond the probing mode energy threshold
In general, two conditions in the energy state model are considered. The first condition is that nanonode only keeps harvesting energy without transmitting or receiving any packet from the initial energy state
Mode 1 (General Mode): From the beginning of initial energy state
, nanonode captures energy and receives packets (when necessary) rather than transmits any packet until it reaches the maximum energy\{E_{0}\} and enters the saturated energy stateE_{max} . Moreover, the nanonode will not receive packets until the energy is beyond the data receiving energy threshold\{E_{max}\} .\tau Mode 2 (Probing Mode): While harvesting energy, nanonode needs to transmit data packets as well. If nanonode wants to transmit data in a certain state such as
. Firstly, its stored energy has to reach the energy threshold\{E_{PP}+{E_{PE}}\} of probing mode. After sending out one probing packet, nanonode consumes the energy\delta and enters into the energy stateE_{PE} . According to the received feedback from the receiver after the probing packet transmitted, there are two cases:\{E_{PP}\} Case 1: If the feedback of probing packet is a negative acknowledgment (NAK) or timeout, i.e., the channel is in bad condition, and nanonode needs to retransmit the probing packet. It is worth to note that nanonode has to determine whether its current energy reaches the energy threshold
before detecting the channel by using the probing packet. As the energy is sufficient for channel detection, the probing packet will be sent out. The probing process continues until an ACK is received or its maximum number of retransmission is reached. Otherwise, the nanonode needs to harvest energy until the energy threshold\delta , and then channel detection is performed again.\delta Case 2: If the feedback of probing packet is an active acknowledgment (ACK) and the energy of nanonode is beyond the energy threshold
, then one data packet will be transmitted. This process will consume the energy\gamma , and let the nanonode move to the stateE_{PT} . For the feedback of the data packet, if it is an ACK, i.e., the data packet is transmitted successfully, the nanonode can start a new data transmission or end. If it is a NAK, the nanonode will enter into the probing mode again, until the data packet is transmitted successfully or its maximum number of retransmission is reached.\{E_{PP}-E_{PT}\}
A schematic diagram of data transmission process in ECP mechanism is shown in Fig. 2. Note that nanonode keeps harvesting energy in the whole process and time synchronization is needed to maintain the time consistency during network operation. In addition, before entering the probing mode, i.e., energy state is up on
A schematic diagram of ECP mechanism (
B. Energy State Model of ECP Mechanism
The energy distribution of nanonode can be modeled as an extended Markov process
Firstly, to determine the probing packet transmission rate
One data packet cannot be transmitted if the energy level of the transmitting nanonode is lower than
, e.g.,E_{PT} , this probability can be given byE_{0}, \ldots, E_{PT}-E_{PR} \begin{equation*} P_{drop-t}^{d}=\sum _{i=E_{0}}^{E_{PT}-E_{PR}} \pi _{i}. \tag{5}\end{equation*} View Source\begin{equation*} P_{drop-t}^{d}=\sum _{i=E_{0}}^{E_{PT}-E_{PR}} \pi _{i}. \tag{5}\end{equation*}
One packet cannot be received if the energy state of nanonode is
, this probability can be written as\{E_{0}\} where\begin{equation*} P_{drop-r}^{y}=\pi _{E_{0}}. \tag{6}\end{equation*} View Source\begin{equation*} P_{drop-r}^{y}=\pi _{E_{0}}. \tag{6}\end{equation*}
ory = p stands for the calculation of the probability of channel error for one probing packet and one data packet, respectively.y = d One packet will not be received successfully if there are errors during the transmission in the channel. This probability is obtained by
where\begin{equation*} P_{error}^{y}=1-(1-BER)^{N_{bits}^{y}}. \tag{7}\end{equation*} View Source\begin{equation*} P_{error}^{y}=1-(1-BER)^{N_{bits}^{y}}. \tag{7}\end{equation*}
is the packet length in bits andN_{bits}^{y} refers to the bit error rate.BER The packet collision probability can be calculated as a function of the network traffic
, the coding weight\lambda _{net}^{y} , the pulse duration timeW_{y} and the packet lengthT_{p} . This probability isN_{bits}^{y} \begin{equation*} P_{coll}^{y}=1-e^{-\lambda _{net}^{y}W_{y}T_{p}N_{bits}^{y}}. \tag{8}\end{equation*} View Source\begin{equation*} P_{coll}^{y}=1-e^{-\lambda _{net}^{y}W_{y}T_{p}N_{bits}^{y}}. \tag{8}\end{equation*}
One probing packet will not be transmitted before the energy stored in nanonode reaches the energy threshold
of probing mode. Hence, the probability can be written as\delta \begin{equation*} P_{energy}=\sum _{i=E_{0}}^{\delta -E_{PR}}\pi _{i}. \tag{9}\end{equation*} View Source\begin{equation*} P_{energy}=\sum _{i=E_{0}}^{\delta -E_{PR}}\pi _{i}. \tag{9}\end{equation*}
Based on above analysis, the successful transmission probability of one probing packet can be given as follow:\begin{align*} P_{succ}^{p} &=(1-P_{energy})(1-P_{drop-r}^{p})(1-P_{error}^{p})(1-P_{coll}^{p}). \\ {}\tag{10}\end{align*}
Similarly, the successful transmission probability of both one probing packet and one data packet can be obtained by:\begin{equation*} P_{succ} =P_{succ}^{p}(1-P_{drop-r}^{d})(1-P_{error}^{d})(1-P_{coll}^{d}).\quad \tag{11}\end{equation*}
The network traffic rate of probing packet \begin{align*} \lambda _{net}^{p}=&\sum _{i=0}^{k}(\lambda _{p}+\lambda _{n})(1-P_{energy})(1-P_{succ}^{p})^{i} \\=&(M+1)\lambda _{p}(1-P_{energy})\frac {1-(1-P_{succ}^{p})^{k\!+\!1}}{P_{succ}^{p}}.\quad \tag{12}\end{align*}
Similarly, the network traffic rate \begin{equation*} \lambda _{net}^{d} =(M+1)\lambda _{d}P_{succ}^{p}\frac {1-(1-P_{succ}^{d})^{K+1}}{P_{succ}^{d}}.\tag{13}\end{equation*}
After one probing packet is transmitted successfully, the successful transmission probability of one data packet can be obtained by:\begin{equation*} P_{succ}^{d} =\frac {P_{succ}}{P_{succ}^{p}}.\tag{14}\end{equation*}
Then, the transmission rate \begin{align*} & \lambda _{tx} = \lambda _{d}\frac {1-(1-P_{succ}^{d})^{K+1}}{P_{succ}^{d}}, \\ & \lambda _{rx} = {\lambda _{net}^{d}}{P_{succ}^{p}}(1-P_{drop-r}^{d}), \\ & \lambda _{px} = \lambda _{p}\frac {1-(1-P_{succ}^{p})^{K+1}}{P_{succ}^{p}}, \tag{15}\end{align*}
Finally, as shown in Fig. 1, the transition from energy state \begin{equation*} \lambda _{e}^{i}=\frac {\lambda _{harv}(E_{curr}^{i},E_{rx}^{d})}{E_{rx}^{d}}. \tag{16}\end{equation*}
\begin{equation*} E_{curr}^{i}=E_{0}+(i-1)E_{PR}. \tag{17}\end{equation*}
Up to this point, all the terms in matrix \begin{equation*} \begin{cases} {\pi} Q = 0,\\ \displaystyle \sum \limits _{i\in I}\pi _{i}= 1,\pi _{i}\ge 0, \end{cases} \tag{18}\end{equation*}
Moreover, the probability mass function (p.m.f.) of the nanonodes energy in the steady state can be computed as a function of the state probability vector \begin{equation*} P_{f}(i)= \pi _{i}. \tag{19}\end{equation*}
By the utilization of the above mathematical framework, the effect of different system parameters on the network performance can be numerically investigated.
Simulations and Performance Analysis
In this section, first, in order to validate the energy state model and evaluate the performance of ECP mechanism for nanonetworks, MATLAB is used to conduct the simulation for nanonetworks composed by one hundred randomly deployed nanonodes, which transmit packets in multi-hop fashion. The density of active nanonodes is equal to 1 node/cm2. Each nanonode harvests vibrational energy by means of a piezoelectric nanogenerator with the parameters in TABLE 2. The nanobattery is fully discharged at the beginning of the simulation. Nanonodes broadcast packets to the neighboring nanonodes by means of TS-OOK. Then, the energy state model is used to investigate the impact of energy on four different common metrics in nanonetworks and we compare the performance of ECP mechanism with other four different error control techniques (ARQ, FEC, EPC and HEPC). More specifically, a 16-bit CRC is used for error detection in ECP and ARQ with a 30 bits long acknowledgement packet. For the FEC and EPC, a Hamming(15,11) code and a 12-bit low-weight code with codeword size of 15 bits are assumed respectively, and for HEPC, the code distance
A. Validate the Energy State Model of ECP
To validate the impact of our proposed ECP mechanism on network performance. Firstly, we consider that packet generation rate of nanonodes follows a Poisson distribution and can be obtained by
Probability mass function
B. Successful Packet Delivery Probability
The end-to-end successful packet delivery probability is investigated as the first performance metric in nanonetworks, which can be defined as \begin{equation*} P_{succ-e2e}^{ECP} = (1-(1-P_{succ})^{K+1})^{N_{hop}}. \tag{20}\end{equation*}
End-to-end successful packet delivery probability for ECP mechanism (dashed lines) and other four error control strategies (solid lines).
C. Delay
The end-to-end packet delay is investigated as the second performance metric in nanonetworks, which is computed as \begin{align*} {T_{e2e}^{ECP}}=&N_{hop}\big (\sum _{i=0}^{k}(2T_{prop}+T_{data}^{p}+T_{code}^{p}+T_{decode}^{p}+iT_{t/o}^{p}) \\&+\,P_{succ}^{p}\sum _{j=0}^{K}(2T_{prop}+T_{data}^{d}+T_{code}^{d} \\&+\,T_{decode}^{d}+jT_{t/o}^{d})\big). \tag{21}\end{align*}
\begin{align*} T_{t/o}^{p}=&P_{energy}T_{t}^{e}+(1-P_{energy})\Big (P_{drop-r}^{p}T_{r}^{p} \\&+\,(1-P_{drop-r}^{p})\big (1\!-\!(1\!-\!P_{error}^{p})(1\!-\!P_{coll}^{p})\big)T_{o}\Big).\qquad ~ \tag{22}\end{align*}
\begin{align*} & T_{t}^{e} = \sum _{i=E_{0}}^{\delta -E_{PR}}\pi _{i}/q_{i}, \\ & T_{r}^{p} = \pi _{E_{0}}/q_{E_{0}}, \tag{23}\end{align*}
\begin{equation*} T_{code}^{y}=N_{bits}^{y}T_{cyc}. \tag{24}\end{equation*}
The end-to-end packet delay, given by (21), as a function of data packet size is shown in Fig. 6 for five different error-control methods. As it can be seen,
End-to-end packet delay for ECP mechanism (dashed lines) and other four error control strategies (solid lines).
D. Throughput
The throughput is investigated as the third performance metric in nanonetworks, which can be defined as \begin{equation*} th_{put}^{ECP} = \frac {P_{succ-e2e}^{ECP} \cdot N_{data}^{d}}{T_{e2e}^{ECP}}. \tag{25}\end{equation*}
Throughput for ECP mechanism (dashed lines) and other four error control strategies (solid lines).
E. Energy Consumption
The energy consumption of each hop is investigated as the fourth performance metric in nanonetworks, which can be defined as \begin{align*} E^{ECP}=&P_{succ}^{-1}\big (E_{tx}^{p}+E_{rx}^{p}+E_{tx}^{f}+E_{rx}^{f}+E_{code}^{p}+E_{decode}^{p} \\&+\,E_{code}^{f}+E_{decode}^{f} +P_{succ}^{p}(E_{tx}^{d}+E_{rx}^{d}+E_{tx}^{f}+E_{rx}^{f} \\&+\,E_{code}^{d}+E_{decode}^{d}+E_{code}^{f}+E_{decode}^{f})\big). \tag{26}\end{align*}
\begin{equation*} E_{code}^{y}=16N_{bits}^{y}(E_{shift}+E_{hold}). \tag{27}\end{equation*}
In our analysis, we assume that the feedback packets can be transmitted and received successfully. Note that even if the packets (including data packets, probing packets and feedback packets) are not correctly received because of collisions or channel errors, the energy is consumed. For the computation of energy consumption, we have taken into account both the communication energy consumption and the computation energy consumption. In Fig. 8, the energy consumption of
Energy consumption of successfully transmitting one data packet for ECP mechanism (dashed lines) and other four error control strategies (solid lines).
Conclusion
In this paper, firstly, we proposed a novel error control mechanism for nanonetworks and the detailed description of the mechanism is shown in Section III. Secondly, an energy state model based on the extended Markov chain approach of the proposed ECP mechanism is presented and the corresponding probability distribution is comprehensively investigated. Finally, we validate the energy state model and investigate the impact of ECP mechanism on the performance of nanonetworks under different communication parameters by simulation and numeral calculations. Especially, four different error control schemes (ARQ, FEC, EPC and HEPC) are provided to evaluate the performance of ECP mechanism. From the above results, compared with traditional ARQ and FEC strategies, ECP mechanism is shown to significantly improve the end-to-end successful data packet delivery probability and the energy utilization performance. Similarly, ECP mechanism also has a better performance such as packet delivery probability and throughput than EPC strategies.