# Time Slotted Channel Hopping and ContikiMAC for IPv6 Multicast-Enabled Wireless Sensor Networks
## 5 Theoretical Model
For these time intervals, the receiver turns its radio on, before the scheduled transmission, in order to guarantee the reception of the packet (see Figure 7). The actions of preparing and transmission of the acknowledge packet (ACK) only happen in the case of LL unicast. In a multi-hop network, the width (the number of nodes per hop) of the network has a direct impact on the clock drift, which increases with the width of the network [22]. In the Contiki NG's implementation of TSCH, the guard time is statically configured, and the value is chosen to cover the worst-case scenario drift, the result being a high value for the guard time. Furthermore, the distance in hops from the sink is directly linked to the predisposition to packet loss, which results in more retransmissions and, thus, in an increase in energy consumption [19]. In the default setting for TSCH, the radio wakes up once every common shared period (CSP) for the broadcast slots and once every unicast period (UP) for the unicast slots. By default, the values of CSP and UP, are set to 465 ms (31 slots multiplied by 15 ms--the duration of a timeslot for Z1 motes) and 255 ms (17 slots multiplied by 15 ms), respectively. This results in the radio being awake for 17 broadcast slots and 31 unicast slots in 7905 ms (since 7905 is the least common multiple of 465 and 255). In our settings, the value of the guard time was 3.2 ms, so when no packets were received, the radio was still awake for 153.6 ms or approximately 2% of the total time a node's radio was awake. In TSCH with the Zolertia Z1, sending a packet took 2.9 ms for a packet with a 4 byte payload. Then, the sender needs to stay awake to receive the ACK, which takes 1 ms. The receiver of a packet was awake for 4.3 ms (checking if a packet was being sent and receiving it) and sent for 1 ms (for the ACK). However, if  
Figure 7: TSCH timeslot template for a receiver node. ACK: acknowledge packet. the more did not receive anything, it would still be awake for 3.2 ms. Thus, we had to subtract this to get the additional time the more was awake for receiving, leading to a time frame of 1.1 ms. To use this to calculate the energy consumed by the mechanisms, we still needed to multiply the time a more was awake/sending/receiving with the power consumption of the specific note used, and this depended on the type of hardware. Note that the exact values of the timing for TSCH were taken from simulations in Coojawith Zolertia Z1 motes and could be different for other platforms. A summary of the values given in the chapter can be found in Table 2. In our setting for TSCH, at the application level, two slotframes were allocated--one for unicast transmissions and one for broadcast data traffic. The unicast slotframe had 17 receiver-based shared slots. This meant that every node had one receiver slot allocated, and the radio woke up once every unicast period, as already stated above. The slotframe for broadcast was made of 21 sender-based shared slots. Using sender-based shared slots resulted in every node having as many receiver slots allocated as the number of children. Thus, the number of times the radio was awake was dependent on the configuration of the network, making it hard to compute an exact percentage. What could be concluded is that the energy consumption per hop was higher in this case.