# Accurate Energy Consumption Modeling of IEEE 802.15.4e TSCH Using Dual-Band OpenMote Hardware
## 5 Evaluation
### Slot Charge Consumption  
Using the duration and consumption of each state, the charge drawn during each type of slot is calculated using the formula shown in Equation (1). To verify the accuracy of our model, the entire consumption of each type of slot was also measured separately. Table 16 compares the measured and calculated values for both types of radio. Both radios are configured with a transmit power of 0 dBm and a packet size of 127 bytes, i.e., the maximum packet size when including the CRC bytes.  
As seen in Table 16, the difference between the measured and calculated values is close to negligible. Among the main contributors to these differences are measurement errors and the variations in guard time duration. In the measured data, the guard time can be smaller or larger than in the calculated data, which assumes perfectly synchronized clocks. On average, the difference is limited to 5.08 \(\upmu\)C or 1.55% with a standard deviation of 3.3 \(\upmu\)C and a maximum difference of 14.89 \(\upmu\)C, which proves the accuracy of our model.  
More specifically, for the CC2538, the average relative difference is 0.75%, while for the CC1200 chip, the average relative difference is 2.3%. In the case of the CC1200 chip, the larger relative difference is explained by the fact that a specific device state (e.g., CPU is active and radio is sleeping) does not always result in exactly the same current drawn, which we abstracted in Table 15.  
Figures 6 and 7 show the current drawn of all time slots (except for the error time slot TxDataRxNoAck) over time according to both the model and the measurements, when using the CC2538 and CC1200 radio, respectively. For all time slots, the measured graphs and their modeled counterpart look very similar. The peaks on the graphs however do not perfectly match, because the model simplifies certain states. The radio state may be changed while the CPU is active, causing the CPU and radio to be active at the same time, while the model might only consider the radio as active once the CPU goes to sleep. This results in a peak in the measured time slot where there is no peak in the model.  
\begin{table}
\begin{tabular}{l c c c c} \hline \hline  & \multicolumn{2}{c}{**Measured (\(\upmu\)s)**} & \multicolumn{2}{c}{**Calculated (\(\upmu\)s)**} \\ \cline{2-5}
**Slot Type** & **CC2538** & **CC1200** & **CC2538** & **CC1200** \\ \hline TxDataRxAck & 250.35 & 420.01 & 250.94 & 407.81 \\ RxDataTxAck & 253.2 & 432.09 & 251.32 & 417.2 \\ TxData & 229.8 & 360.2 & 230.13 & 357.12 \\ RxData & 235.1 & 373.55 & 228.72 & 362.12 \\ RxIdle & 197.4 & 245.2 & 196.35 & 240.98 \\ Sleep & 152.4 & 168.65 & 151.12 & 171.51 \\ TxDataRxNoAck & 246.95 & 395.65 & 246.79 & 384.94 \\ \hline \hline \end{tabular}
\end{table}
Table 16: Measured and calculated charge drawn for each slot type.  
Figure 6: Measured (left, between vertical lines m1 and m2) and modeled (right) current comparison for each time slot when using the CC2538 radio. (**a**) TxData time slot; (**b**) TxDataRxck time slot; (**c**) RxDataTime slot; (**d**) RxDataTxck time slot; (**e**) RxIdle time slot; (**f**) Sleep time slot.  
Figure 7: Measured (left, between vertical lines m1 and m2) and modeled (right) current comparison for each time slot when using the CC1200 radio. (**a**) TxData time slot; (**b**) TxDataRxck time slot; (**c**) RxDataTime slot; (**d**) RxDataTxck time slot; (**e**) RxIdle time slot; (**f**) Sleep time slot.