## 5 Rate Adaptive MAC (RA-MAC)
Figure 4 shows, as expected, that the network duty cycle decreases as the traffic load reduces. Further, although the network duty cycle seems to level out as the traffic load reduces (communication overheads, such as channel polling and time synchronization, become the dominating factor in network energy consumption), higher transmission data rates are more efficient in energy per packet. still consume significantly less network energy compared to lower transmission data rates. The network duty cycle is between 0.4% and 0.7% when network traffic load is low (20 seconds per packet), which is comparable to the results in [10]. ### Single Hop Experiment-High Traffic Load

The sender transmits one packet per two seconds in this section. Figure 5(a) shows the packet delivery ratio for different strategies (fixed rates and RA-MAC). As expected, lower transmission data rates performed better than higher transmission data rates. RA-MAC operated between 9.6 and 20 kbps. Figure 5(b) illustrates the energy consumption of different strategies. It shows that higher transmission data rates consumed less energy than the lower transmission data rates. It is interesting to note that RA-MAC performed between 38 kbps and 76 kbps in this metric, which is different to Figure 5(a). In summary, RA-MAC performed closed to the better fixed rate strategies in both cases. Figure 5(c)

Figure 4: The network radio duty cycles at different traffic loads—note the log scale in Y-axis. shows that RA-MAC significantly outperformed all fixed rate strategies (by more than 200%) compared with 9.6 and 38 kbps at 4 am. Figure 5(c) also shows that RA-MAC consumes minimum energy to successfully deliver a packet. Figure 6 plots the transmission data rate stamps in one segment of the experiment (20 minutes). It shows that RA-MAC is adapting to the channel condition dynamically with different transmission data rates. ### Single Hop Experiment (Low Traffic Load)

We repeated the experiment in Section 6.5 with significantly lower traffic load (one packet every 20 seconds); Figure 7 shows the results. Overall, the results under low network traffic load are similar to those under high network traffic load (see Section 6.5). RA-MAC performed close to the best fixed rate strategies in term of both packet delivery ratio (Figure 7(a)) and network energy consumption (Figure 7(b)). RA-MAC significantly outperformed all fixed rate strategies in the energy consumption per successful packet delivery (Figure 7(c)). It is worth noting that the link quality in Section 6.5 is different to that in Section 6.6. RA-MAC managed to outperform fixed rate SCP-MAC under different link quality and traffic loads, which shows the robustness and applicability of RA-MAC. Figure 5: High traffic load (one packet every 2s). Figure 6: One segment of the transmission data rate value stamps. ### Multi-hop Experiment

In this section, we evaluate the performance of RA-MAC in a 2-hop network. We used static routing, where a sender sends a packet to a receiver via a forwarder every four seconds in this experiment. The results are shown in Figure 8. Compared to the one-hop network in Sections 6.5. and 6.6., RA-MAC reduced network energy consumption compared to a fixed-rate SCP-MAC even further in a two-hop environment (maximum reduction of 5 times at 4 am in Figure 8(c) instead of 2.2 times at 4 pm in Figure 8(c)). This behavior can be explained by significantly lower end-to-end packet delivery rates at high transmission rates of the two-hop network (Figure 8(a)) than the packet deliver rates of the one-hop network observed during the experiments Figure 5(a)). ## 7 Comparison with WLAN Rate-adaptive MAC by Simulations

In this section, we compare RA-MAC with a popular technique used for WLAN (see Section 2.2.). We presents a simulation comparison between conventional WLAN rate adaptive algorithm--Auto Rate Fallback (ARF) -- and proposed RA-MAC rate adaptive algorithm introduced in Section 5. In the

Figure 8: Two hops network (one packet every 4s). Figure 7: Low traffic load (one packet every 20s).