# Time Slotted Channel Hopping and ContikiMAC for IPv6 Multicast-Enabled Wireless Sensor Networks
## 5 Theoretical Model  
The theoretical model intended to explain and give insight about the delay and energy consumption of a TSCH-enabled network. The theoretical model for ContikiMAC is presented in the Appendix A. * Delay TSCH unicast: chances of collisions when running a TSCH-enabled network are negligible because all motes are waking up at different times and on different channels. When using TSCH with Orchestra, the default setting for unicast includes RBS slots, so when a packet is received and needs to be forwarded, the mote must wait until the receiver's unicast timeslot. This happens at earliest in one length of a timeslot (TSL) and the latest in one slotframe, which equals to \(TSL*UP\), where \(UP\) is the unicast period expressed in timeslots. This leads to an average access delay for one hop of \(\frac{TSL+(TSL*UP)}{2}\), resulting in a total delay of: \[d=\text{hops}*\left(\frac{TSL*UP+TSL}{2}\right)+d_{PR}\] (1) where hops is the number of hops between the sender and the receiver and \(d_{PR}\) is the processing delay. We consider a uniform distribution of the delays. * Delay TSCH broadcast: When considering the default Orchestra rules, the delay for broadcast in TSCH at the first hop follows the same reasoning as for unicast: the sender must wait for the receivers to wake up. This is \(TSL\) at the earliest and \(TSL*CSP+TSL\) at the latest, where CSP is the common shared period expressed in timeslots. This gives an average delay of \(\frac{TSL*CSP}{2}+TSL\), resulting in the following equation for the average delay at the first hop (\(d_{hop1}\)): \[\dot{d}_{hop1}=\frac{TSL*CSP}{2}+TSL+d_{PR}\] (2) After the first hop, when the packet needs to be forwarded, the mote must wait for exactly one slotframe to be able to forward its packet, resulting in the average delay expressed below: \[d=(hops-1)*(TSL*CSP)+\dot{d}_{hop1}+d_{PR}\] (3) The new rule allocates a listening timeslot for every child a parent has, resulting in a lower delay than the one of TSCH unicast. The packet delivery ratio (PDR) also increases since adding an entire slotframe only for data broadcast traffic greatly eliminates \begin{table}
\begin{tabular}{c c c} \hline
**OS and Simulator** & **Contiki-NG 4.x, Contiki OS 3.x and Cooja** \\ \hline Nodes & & Zolertia Z1 \\ Node Ranges & & Transmit: 50 m \\  & & Interference: 50 m \\ Radio Medium & & Unit disk graph medium \\ Field & & 150 \(\times\) 150 m \\ Topologies & 3 restricted topologies—low interference & 3 topologies with interference \\  & & between same rank nodes \\  & & Figure 4a: 6 nodes \\  & & Figure 5a: 13 nodes \\  & & Figure 4b: 15 nodes \\  & & Figure 5b: 21 nodes \\  & & Figure 5c: 15 nodes \\ PHY, MAC, and RDC & & IEEE 802.15.4 phy, CSMA, ContikiMAC, TSCH \\ Iterations & & 10 for each configuration \\  & & 0.2 pkt/s—100 packets, 4 byte payload \\ Traffic & & Low enough to avoid queueing delay \\ \hline \end{tabular}
\end{table} 
Table 1: Simulation configuration parameters and topologies summary. OS: operating system; MAC: medium access control; RDC: radio duty cycling. the probability for collisions between the RPL control packets and data broadcast traffic. The cost for these improvements is a rise in energy consumption. * Energy: Energy consumption can be split in two main parts: the energy consumed by the traffic (sending and receiving packets) and the energy consumed by the RDC mechanism (when no packets are being sent): \[E_{tot}=E_{packets}+E_{RDC}\] (4) The energy consumed by the RDC mechanism is dependent on whether the time the radio is awake, as well as on the energy consumption of the radio: \[E_{RDC}=P_{RADIO}*t_{AWAKE}\] (5)  
In real topologies, the clocks of the nodes deviate from the nominal frequency because of various parameters such as temperature, supply voltage, and manufacturing variances. The clock drift between nodes leads to problems in synchronizing at the timeslot level that can eventually cause communication failure. To compensate for these drifts, guard times are introduced at the beginning of the timeslots.