## 4 The Proposed Adaptive Channel Coding Technique
### The Outer Loop Link Adaptation Approach
Easier maintainability: Built-in diagnostics and fault reporting ensure you can respond to maintenance issues quickly and ensure continuity of service. 3. Easy installation: The network builds as the NB-IoT system is deployed. This is very important for Internet of Things networks in general because one of the major challenges of IoT network deployment is its financial remuneration aspect as it takes millions of devices to be deployed for a network to start to become profitable. It is also important to mention that, the deployment of IoT networks follows a more contagious approach as more nodes connect to the network because of the demonstrated benefits of existing nodes. Therefore, the deployment of NB-IoT networks must follow a meshnet approach so that on a new installation of a new node, it can self-configure by identifying first its neighbouring nodes for relay purposes and secondly its associated Base Station. A typical meshnet planar deployment scenario is represented in Figure 3.

* All the simulation parameters as described in Table 2 are defined. * Each NB-IoT node is assumed to be running from a 4.5 V battery pack of 3 Lithium-Ion battery cells each of 1.5 V.
* Each NB-IoT node is assumed initially (upon network deployment) and for most of the time, to run its microcontroller chip in the sleep mode with only its time clock and NB-IoT radio interface external interrupt active to allow for radioactivity detection for possible data reception handling. * A MATLAB timer class with an instantiated object for each NB-IoT node, based on the simulation computer's clock is used to keep track of the timing function at each node. Figure 3: A typical Meshnet NB-IoT cell deployment. * Based on a random uniform process, each NB-IoT node is due to send a single data packet at a predefined rate (could be hourly, daily, etc depending on the application at hand). For every single transmission, every single NB-IoT node described as an object of a defined class (mote), implements the EEACC algorithm as presented in Algorithm 1 for transmission of data packets. * During the running of the simulation, every node maintains a history of its parameter values in the form of a table among which its residual energy value. * At the end of the predefined simulation time, all the data from the different nodes are computed and compared for each of the three algorithms (traditional repetition algorithm, the NBLA as well as the proposed EEACC). ### Obtained Results and Discussion

This section critically discusses and interprets the obtained results in light of the research objectives and goals of the research. It is important to note that the sequential channel estimation considered in the study as proposed in [52], takes into account the presence of random phase noises being present in the signal. The AWGN channel models the random phase noises in this study. The channel model used in the simulations considers a slow fading channel model where the coherence time of the channel is large relative to the delay requirement of the application. This is because real-time NB-IoT applications were not considered in this study which would require extremely small latencies. Although latency performance is part of what the study assesses, it is not the main design consideration. On the other hand, it is assumed that the nodes are not mobile which makes the proposed model time-invariant. An urban deployment set-up is considered where multi-path fading is assumed. The AWGN is simply modeling the random phase noise which forms part of the slow fading channel model that is used for the simulations of this study. For a fair evaluation of performance and comparison between the three considered schemes namely the NBLA, the traditional repetition approach as well as the proposed EEACC approach, all three systems make use of the same block size. As per the 3 GPP TS36.213 standard [49], an NB-IoT device can select a downlink transport block size (TBS) on the MAC layer from a size of 2 bytes (16 bits) up to a size of 85 bytes (680 bits).