## 4 Energy Consumption Analysis  
We use a network energy consumption model similar to [10], in which a node's power consumption is different for the listening (\(P_{l}\)), transmitting (\(P_{tx}\)) and receiving (\(P_{rx}\)) states. \[E(R)=P_{l}t_{l}+P_{tx}(t_{tone}+\frac{f}{R})+nP_{rx}(t_{tone}+\frac{f}{R}) \tag{8}\] \begin{table}
\begin{tabular}{|l|l|l|l|} \hline
**Symbol** & **Definition** & **Theory** & **Experiment** \\ \hline PRR & Packet Reception Rate & Varying & Varying \\ \hline BER & Bit Error Rate & Varying & Varying \\ \hline SNR & Signal to Noise Ratio & Varying & Varying \\ \hline RSSI & Receiver Signal Strength Indicator & Varying & Varying \\ \hline \(f_{data}\) & Date frame size in bits & 272 & 272 \\ \hline \(f_{ack}\) & ACK frame size in bits & 64 & 64 \\ \hline \(E_{b}\) & The average energy per bit & Varying & Varying \\ \hline \(N_{0}\) & Noise power spectral density & Varying & Varying \\ \hline \(R\) & Data bit rate & 1.2 to 152 kbps & 9.6, 20, 38, 76 kbps \\ \hline \(B\) & Channel bandwidth & Varying & Varying \\ \hline \(N\) & Channel noise power & Varying & Varying \\ \hline \(k\) & [PERSON]’s constant & \(1.38\times 10^{-23}\) J/K & \(1.38\times 10^{-23}\) J/K \\ \hline \(T\) & Effective temperature in Kelvin & Varying & Varying \\ \hline \(E\) & Node energy consumption & Varying & Varying \\ \hline \(n\) & The number of neighbors & 10 & 1 \\ \hline \(P_{l}\) & Power in listening & 2.85 mA & 2.85 mA \\ \hline \(P_{tx}\) & Power in transmitting & 25.4 mA & 25.4 mA \\ \hline \(P_{rx}\) & Power in receiving & 15.1 mA & 15.1 mA \\ \hline \(t_{l}\) & Listening time & 11 ms & 11 ms \\ \hline \(t_{tone}\) & Polling time & 12 ms & 12 ms \\ \hline \(\alpha\) & One hop link reliability requirement & 1 & 1 \\ \hline \end{tabular}
\end{table} 
Table 1: Mathematical notations and their values used in theoretical analysis and experiment. where \(t_{l}\), \(t_{tone}\) are channel listening and tone sending duration respectively, \(f\) is packet frame size in bits, and \(n\) the number of neighbors. MAC protocols such as [15] feature neighbor overhearing avoidance and \(n\) becomes one, which is a special case of Equation (8). We ignore node sleep power consumption because it is typically less than 0.1% of transmitting or receiving power consumption. _Link layer hop-by-hop packet retransmission_ is typically used in WSNs to increase end-to-end delivery reliability [28,29]. Taking the size of the acknowledgement packet (\(f_{ack}\)) and possible asymmetric link quality into account, we can rewrite Equation (8) in terms of the data transmission energy and the ACK transmission energy as  
\[E_{data}(R)=P_{l}t_{l}+P_{tx}(t_{tone}+\frac{f_{data}}{R})+nP_{rx}(t_{tone}+ \frac{f_{data}}{R}) \tag{9}\]  
and  
\[E_{ack}(R)=P_{tx}\frac{f_{ack}}{R}+nP_{rx}\frac{f_{ack}}{R} \tag{10}\]  
For a given data rate \(R\), it takes \(\alpha/(\textit{PRR}_{\textbf{data}}\textit{PRR}_{\textbf{ack}})\) data packet transmissions and \(\alpha/\textit{PRR}_{\textbf{ack}}\) ACK packet transmissions to achieve the required link reliability \(\alpha\). \(\textit{PRR}_{\textbf{data}}\) is the packet reception rate of a data frame, and \(\textit{PRR}_{\textbf{ack}}\) is the packet reception rate of an ACK frame. Then, the energy consumption is  
\[E(R,RSSI)=\frac{\alpha}{\textit{PRR}_{\textbf{data}}\textit{PRR}_{\textbf{ack }}}E_{data}(R)+\frac{\alpha}{\textit{PRR}_{\textbf{ack}}}E_{ack}(R) \tag{11}\]  
Note that \(PRR\) is a function of \(RSSI\) and data bit rate \(R\) (Equation (7)). To select the optimal data rate that minimizes energy consumption,we can express the problem as  
\[\widehat{R}=\underset{R}{\operatorname{argmin}}\;\;E(R,RSSI) \tag{12}\]  
For a limited number of data rates \(R\), it is easy to calculate the network's energy consumption by Equation (11), and to select the minimum value. Given \(\alpha=1\) and \(n=10\), the network energy consumption at different data rates is shown in Figure 1 plotted against RSSI.