## 4 Performance Analysis
### Energy Efficiency
#### 4.2.1 Cooperative ARQ  
The cooperative ARQ protocol considered in this paper, for comparison with C-HARQ, is basically the same as the previous one [3], but with the addition of _CNode_ discovery process using \(C_{Avl}\) and \(C_{Req}\) signals; whereas previously it was assumed that the destination has a prior knowledge of all the _CNodes_. Rest of the process of one-by-one cooperation of _CNodes_ starting from the closest _CNode_ first, is same. For the example case, let the source transmit a data packet _sTx_ times in total, invoking a total of _sTx_ cooperation processes, until the data packet is successfully delivered to the destination; during the final, _sTx_-th, cooperation process, \(f\) numbers of _CNodes_ are contacted before the success. The cooperative region contains a maximum _nCN_ number of potential _CNodes_, and the main assumption here is that all of them become available in the very first cooperation process. Then, the total energy consumption of the entire CARQ process can be calculated as the sum of the energies consumed at every node, which can be expressed as:  
\[E_{C\textit{{ARQ}}}=E_{C\textit{{ARQ}}}^{D}+E_{C\textit{{ARQ}}}^{S}+E_{C\textit {{ARQ}}}^{CN} \tag{5}\]  
where \(E_{C\textit{{ARQ}}}^{D}\), \(E_{C\textit{{ARQ}}}^{S}\) and \(E_{C\textit{{ARQ}}}^{CN}\) are the energies consumed respectively at source, destination and all the _CNodes_ combined. The total energy consumption of the destination node can be given by:  
\[ \begin{split} E_{C\textit{{ARQ}}}^{D}&=\{r+(r-1)nCN _{A}+p\}E_{Rx}^{D\textit{{ARQ}}}+E_{Tx}^{ACK}+(r-1)E_{Tx}^{N\textit{{AC}}{{K _{s}}}}\\ &+\{(r-1)nCN_{A}+p\}E_{Tx}^{N\textit{{AC}}{{K_{s}}}}+rE_{Tx}^{ C_{Req}}+nCN_{A}E_{Rx}^{C_{Req}}+E_{dle}^{D}\end{split}  \tag{6}\]  
where, _nCN\({}_{A}\)_ denotes the number of _CNodes_ that are available for cooperation, and considering that all _CNodes_ become available, _nCN\({}_{A}=nCN\)_. Next, we define Pr(_f_ = \(p\) / _sTx_ = _r_) to be the probability that for a successful delivery it takes \(r\) data packet transmissions from the source, and the final delivery coming only after \(p\)_CNodes_ have been contacted during the \(r\)-th cooperation attempt, with \(r\in\{\)1,2,3...\(\infty\}\) and \(p\in\{\)0,1,2...\(nCN_{A}\}\), such that:  
\[E^{D}_{CARQ}=\sum_{r=1}^{\infty}\sum_{p=0}^{nCN_{A}}\left\{E^{D}_{CARQ}|_{f=p} ^{TX_{raw}}\times\Pr(f=p|sTx=r)\right\} \tag{7}\]  
In the illustration of Equation (6), the destination receives the data packet \(r\) times from the source, \((r-1)\)\(nCN_{A}\) and \(p\) times from the _CNodes_, through first \(r-1\) cooperation processes and the final cooperation process respectively. Destination transmits \(r-1\) number of _NACK_s (_NACK_-to-Source) in response to the first \(r-1\) unsuccessful attempts and an _ACK_ for the successful, \(r\)-th, one. Further, \((r-1)\)\(nCN_{A}+p\) numbers of _NACK\({}_{CN}\)_ (_NACK_-to-_CNodes_) are sent by the destination to _CNodes_, during the entire cooperation process, to ask for data packet retransmission. Here, _NACK_s and _NACK\({}_{CN}\)_ are basically the same negative acknowledgement signal, but used only to differentiate between a _NACK_ sent to ask the source to transmit and a _NACK_ sent to ask a _CNode_ to transmit, respectively. Next, considering the fact that destination lacks prior knowledge of the total number of potential _CNodes_ in the cooperative region, it initiates every cooperation attempt with the _CNode_ discovery process (through the broadcast of \(C_{Req}\) signal), even when in actual all the _CNodes_ have become available; hence, a total of \(r\)\(C_{Req}\) signals are transmitted by the destination. Further, during the computer simulation, the \(C_{Avl}\) signal has been considered immune to errors thus making it sufficient for an available _CNode_ to send the \(C_{Avl}\) signal only once to the destination, even if it keeps hearing \(C_{Req}\) signals thereafter; hence the destination receives a total of \(nCN_{A}\) number of \(C_{Avl}\) signals during the entire process.