# SINR-Based MCS Level Adaptation in CSMA/CA Wireless Networks to Embrace IoT Devices
## 4 Demonstrations Using Simulations
### A Single User in a Single Cell  
To demonstrate how the proposed MCS level adaptation algorithm works, we first use the simple topology shown in Figure 2. The figure shows a simulation environment in which there are only one wireless device (WD1) and one access point (AP0) in an area of \(2000\times 2000\) m.  
In the figure, the solid arrow line from AP0 to WD1 represents the CBR data flow from AP0 to WD1. In addition, as shown with the dashed arrow line in the figure, WD1 moves from its initial location of \((681,240)\) to its final location of \((1800,1800)\) during 10 s of simulation time. AP0 is located at about \((1334,1001)\).  
In Figure 3a, we show the changes of SINRs measured at AP0 using received ACK frames from WD1 during 10 s of simulation time. In the figure, we also show the minimum SINR requirements of the four MCS levels in Table 1 with dashed lines.  
The graph in Figure 3a demonstrates that the sender (i.e., AP0) measures the changes of SINRs of the ACK frames from the receiver (i.e., WD1) as expected. However, note that the results in Figure 3a are the same as the changes of signal-to-noise ratio (SNR) since there are no interfering nodes in this scenario. Also notice that, before \(\sim\)1 s of simulation time, the SINRs are not available at AP0 for WD1 since no ACK frames from WD1 arrive at AP0 during this time. This is because the CBR packets from  
Figure 3: (**a**) changes of SINRs measured at AP0 for WD1; (**b**) changes of the moving averaged SINRs used at AP0 for WD1.  
Figure 2: WD1 moves passing its serving access point (AP0) in an area of \(2000\times 2000\) m.  
AP0 arriving at WD1 during this time are not received successfully since they have lower SINRs than the minimum SINR requirement of MCS level 0 owing to the distance between AP0 and WD1.  
In Figure 3b, we show the changes of the moving averaged SINRs (i.e., \(avgSINR\)s) used at AP0 for WD1 while WD1 is moving during the 10 s. By comparing Figure 3a with Figure 3b, we can see that the two graphs are similar to each other, except for a few dips when the moving averaged SINRs pass below the minimum SINR requirements of the MCS levels. This occurs because we set \(avgSINR\) to the middle value of the new minimum SINR requirement and the previous minimum SINR requirement when a retry limit event is detected. Note that \(avgSINR\) is used not only to represent channel status but also to control the MCS levels of data packets in the proposed algorithm.  
We show the changes of the MCS level in AP0 for WD1 and the changes of the achieved throughputs by WD1 during 10 s of simulation time in Figure 4a,b, respectively. By comparing the changes of the moving averaged SINRs shown in Figure 3b with the changes of the MCS level in Figure 4a, we can see that AP0 controls the MCS level for WD1 according to the proposed algorithm. From the changes of the achieved throughputs by WD1 shown in Figure 4b, we can see that WD1 achieves a throughput corresponding to each MCS level (The achieved throughputs are lower than the transmission speeds in Table 1 because we are measuring application level throughput and the CSMA/CA mechanism consumes bandwidth.) set by the sender AP0. Also notice that, before \(\sim\)1 s of simulation time, WD1 does not achieve any throughput since WD1 is too far from its serving access point AP0 even for the lowest MCS level (i.e., 0) used during the time.  
The simulation results in Figures 3 and 4 clearly demonstrate that the proposed algorithm works as expected although it is used in a no-interference environment.