## 6 Model Validation and Performance Evaluation
### Scenario  
The system parameters used to validate the analytical models and to evaluate the performance are summarized in Table 1. They have been selected according to the IEEE 802.15.4 standard [7] and from the specifications of the CC2520 radio transceiver [28], typically used in M2M networks. We have considered that each end-device has a number \(L\) of data packets with a payload of 114 bytes ready to transmit in every data collection round, where \(L\) is exponentially distributed with mean \(\overline{L}=50\) data packets per end-device. The length of the FBP payload has been set to attach two bits per slot that inform about the status of each slot. All of the packets are composed of a physical layer preamble, a MAC header, a payload and a cyclic redundancy code (CRC) of two bytes for error control.  
We have validated the proposed theoretical models by means of computer-based simulations. A data collection round is simulated in MATLAB using a while loop in which all of the operations performed within one contention frame are simulated in each loop iteration. We use a \(1\times n\) vector of packet counters to simulate the number of data packets that must be transmitted by each end-device. Each counter is set at the beginning of the simulation to the number \(L\) of data packets for each end-device and decreases when a new data packet is transmitted successfully in one loop iteration. We use a \(1\times n\) vector to simulate the number of slot where each end-device transmits a data packet in one frame. In every iteration of RFSA, we generate a uniformly-distributed random number for each contending end-device to simulate the transmission of the first of its \(L\) data packets in a randomly-selected slot among the non-reserved slots. We use a \(1\times m\) vector to simulate the transmission of a feedback packet from the coordinator that informs about the state of the \(m\) slots in every frame: (i) empty, if the slot has not been selected by any end-device; (ii) success (reserved), if the slot has been selected by one end-device and is reserved until the packet counter of the end-device is equal to zero, _i.e._, it finishes the transmission of its \(L\) data packets; (iii) failure (collision), if the slot has been selected by two or more end-devices; and (iv) released, if the slot becomes free again in order to be selected by other contending end-devices in subsequent iterations. The while loop is repeated until all of the packet counters are equal to zero.  
\begin{table}
\begin{tabular}{c c c c} \hline \hline
**Parameter** & **Value** & **Parameter** & **Value** \\ \hline MAC header & 8 bytes & Data-rate & 250 kbps \\ Data payload & 114 bytes & FBP payload & \(m\cdot\)2 bits/slot \\ \(T_{preamble}\) & 160 \(\upmu\)s & \(T_{IFS}\) & 192 \(\upmu\)s \\ \(T_{SLOT}\) & 4.1 ms & \(T_{FBP}\) & FBP length / 250 kbps \\ \(\rho_{tx}\) & 100.8 mW & \(\rho_{stby}\) & 525 \(\upmu\)W \\ \(\rho_{rx}=\rho_{\sigma}\) & 66.9 mW & \(\rho_{sleep}\) & 90 nW \\ \hline \hline \end{tabular}
\end{table}
Table 1: System parameters. FBP, feedback packet.  
The analytical results have been compared to the simulation within a range of frame lengths (_i.e._, number of slots per frame) and for different numbers of end-devices. The results show a tight match between analysis and simulation in all tested cases, thus validating the correctness of the analyses. Results for FSA have also been obtained through computer-based simulations using MATLAB. The results of 1000 simulation samples have been averaged for each test case.