# Energy-Efficient Uplink Scheduling in Narrowband IoT

Farah Yassine, Melhem El Helou, Samer Lahoud, Oussama Bazzi

► To cite this version:

Farah Yassine, Melhem El Helou, Samer Lahoud, Oussama Bazzi. Energy-Efficient Uplink Scheduling in Narrowband IoT. Sensors, 2022, 22 (20), pp.7744. 10.3390/s22207744. hal-05344774

HAL Id: hal-05344774

https://hal.science/hal-05344774v1

Submitted on 3 Nov 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Energy-Efficient Uplink Scheduling in Narrowband IoT

Farah Yassine<sup>1,2,*</sup>①, Melhem El Helou<sup>2</sup>, Samer Lahoud<sup>2</sup> and Oussama Bazzi<sup>1</sup>

**Abstract:** This paper presents a detailed study of uplink scheduling in narrowband internet of things (NB-IoT) networks. As NB-IoT devices need a long battery lifetime, we aim to maximize energy efficiency while satisfying the main requirements for NB-IoT devices. Also, as the NB-IoT scheduling problem is divided into link adaptation problem and resource allocation problem, this paper investigates the correlation between these two problems. Accordingly, we propose two scheduling schemes: the joint scheduling scheme, where the two problems are combined as one optimization problem, and the successive scheduling scheme that manages each problem separately but successively. Each scheme aims to maximize energy efficiency while achieving reliable transmission, satisfying delay requirements, and guaranteeing resource allocation specifications. Also, we investigate the impact of the selected devices to be served on the total energy efficiency. Accordingly, we propose two device selection techniques to maximize the total energy efficiency. The first technique exhaustively searches for the optimal devices, while the second sorts the devices based on a proposed priority score. The simulation results compare the successive and the joint scheduling schemes. The results show that the joint scheme outperforms the successive scheme in terms of energy efficiency and the number of served devices but with higher complexity. Also, the results highlight the impact of each proposed selection technique on the scheduling schemes' performance.

**Keywords:** energy efficiency; link adaptation; scheduling; NB-IoT; resource allocation

<figure><img src="image_2.png" /></figure>

check for
updates

**Citation:** Yassine, F.; El Helou, M.; Lahoud, S.; Bazzi, O. Energy-Efficient Uplink Scheduling in Narrowband IoT. *Sensors* **2022**, *22*, 7744. https://doi.org/10.3390/s22207744

Academic Editor: Francesca Cuomo

Received: 27 August 2022

Accepted: 7 October 2022

Published: 12 October 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

<figure><img src="image_3.png" /></figure>

**Copyright:** © 2022 by the authors.
Licensee MDPI, Basel, Switzerland.
This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).

## 1. Introduction

The third generation partnership (3GPP) has introduced the narrowband internet of things (NB-IoT) technology in its Release 13 to achieve massive and reliable connections for IoT [1–3]. NB-IoT is a low power wide area (LPWA) technology designed to effectively serve massive machine type communications (mMTC) requirements: low device cost, long battery life, long coverage range and a massive number of devices of high reliability [4].

NB-IoT inherits the main characteristics: framing structure, downlink and uplink transmission modulation schemes, and transmission mode from 3GPP long-term evolution (LTE) systems. NB-IoT enhances radio resource allocation. Specifically, NB-IoT supports a unique allocation specification known as resource unit (RU) that enables the allocation of specific tones or subcarriers to a device in the uplink instead of the entire resource block [5]. This allows allocating a small amount of bandwidth to a device leading to more efficient spectrum usage. In addition, NB-IoT exploits repetitions that retransmit the data to ensure reliable transmission while serving devices located at far and challenging positions [6].

With these unique specifications of NB-IoT of RU and repetitions, existing uplink scheduling schemes are not applicable for NB-IoT networks. Existing LTE link adaptation and resource allocation do not consider the unique specifications of NB-IoT of repetitions determination and the RU type configuration. The uplink scheduling in NB-IoT is performed at the subcarriers (SC) or tones level rather than the entire physical resource block as in LTE. Hence, the scheduling in NB-IoT needs further investigation while considering repetition determination and RU type configuration. Also, NB-IoT supports the communication of devices that need long battery life [7]. Hence, the scheduling in NB-IoT needs

<footnote n="1">¹ Ecole Doctorale des Sciences et Technologies, Lebanese University, Hadath 11-8281, Lebanon</footnote>

<footnote n="2">² Ecole Supérieure d'Ingénieurs de Beyrouth, Saint Joseph University of Beirut, Beirut 111, Lebanon</footnote>

<footnote>* Correspondence: farah.yassine1@net.usj.edu.lb</footnote>
to consider energy efficiency as a critical objective. Moreover, as NB-IoT enables the communication of many devices, NB-IoT scheduling needs to optimize resource utilization with high reliability. Accordingly, this paper aims to tackle these issues by providing a detailed investigation of NB-IoT scheduling in the uplink. Our goal is to maximize the system energy efficiency while considering the basic requirements for NB-IoT devices in terms of reliable transmission, delay tolerance, and resource allocation specifications. The main contributions of the paper are briefly described as follows:

* We study the impact of the selected devices to utilize scarce resources on the system's energy efficiency. Accordingly, we propose two different device selection techniques to select the optimal devices to be served to enhance the system's energy efficiency.

* We aim to study the correlation between the link adaptation problem and the resource allocation problem involved in NB-IoT scheduling. The transmission parameters are selected based on the device's network conditions in the link adaptation phase. In the resource allocation phase, resources are allocated to each device by selecting the optimal transmission parameters among the feasible ones collected in the link adaptation. Accordingly, we distinguish two different scheduling optimization problems: successive and joint scheduling problems. The successive scheduling problem manages the link adaptation problem and the resource allocation problem separately but successively. The joint scheduling problem combines the two problems as one joint optimization problem. Then we propose two heuristic schemes for each scheduling problem formulated above.

* The simulation results compare the performance of the proposed schemes. The results also show the proposed selection techniques' impact on the scheduling schemes' performance. The paper's contributions are described in detail in Section 2.

The remainder of the paper is structured as follows. Section 2 presents the related works and the paper contributions. Section 3 gives a general overview of NB-IoT scheduling. Section 4 describes the system model. Section 5 formulates the scheduling problem. Section 6 describes the proposed uplink scheduling schemes and the selection techniques. Section 7 interprets the simulation results. Finally, Section 8 sums up the conclusion.

## 2. Related Works and Contributions

### 2.1. *Related Works*

Many recent works studied different aspects of NB-IoT scheduling. The authors in [8] studied the scheduling problem in NB-IoT during the power-saving mode of the devices. Their work aimed to save more energy while enabling the communication of a high number of devices with good quality of service (QoS). In [9], the authors worked on optimizing the resource allocation in the uplink in NB-IoT networks, considering devices with different mobility features. Their optimization was based on Double Deep Q-learning Network (DDQN). The authors in [10] studied the NPDCCH offset mechanism for NB-IoT resource allocation in the uplink and downlink. Their work focused on reducing the consumed radio resources.

The link adaptation was the subject of the studies in recent papers as in [11–17]. In [11], the authors proposed a simple and efficient link adaptation procedure for NB-IoT. The proposed procedure determines the optimal combination of modulation and coding scheme (MCS) and the minimal number of repetitions while guaranteeing the block error rate (BLER) requirements. This ended up with a reduced number of narrowband physical uplink shared channel (NPUSCH) and narrowband physical downlink control channel (NPDCCH) transmissions. Also, the authors in [12] presented a dynamic link adaptation procedure for uplink that consists of inner and outer loop link adaptation for MCS selection and repetition determinations. The authors in [13] presented a link adaptation procedure considering a look-up table scheme that selects the optimal modulation and coding level and the number of repetitions satisfying the target quality of service (QoS) while decreasing resource consumption. The authors in [14] proposed a 2D link adaptation procedure that selects the suitable MCS level and repetition number determination saving the power and increasing
the spectral efficiency for low complexity MTC. However, neither of [11], [12], [13] or [14] examined the RU type allocation as an additional important dimension for uplink link adaptation. The works [15,16] considered both bandwidth allocation and repetition determination in addition to the MCS selection in their link adaptation procedures. The former studied the influence of repetitions, RU type, and MCS using derived analytical expressions. It also provided an uplink link adaptation procedure that selects the optimal combination of repetitions, type of RU, and MCS that minimizes transmission time. The latter designed the hybrid link adaptation procedure for NB-IoT systems that selects the optimal values of the repetition, MCS, and bandwidth while maintaining reliability and achieving the optimal uplink latency and coverage. However, their analysis was done considering ideal channel estimation for simplicity. Our previous works in [17,18] investigated the link adaptation problem in NB-IoT. Ref. [17] focused on the impact of each link adaptation parameter, i.e., type of RU, number of repetitions, and MCS level on the transmission. In [18], we extended the investigation provided in [17]. In [18], the investigation was presented at the link level focusing on the impact of the data size and the received power on the NB-IoT performance.

The resource allocation in NB-IoT was studied in [19–22]. In [19], the authors proposed an iterative resource allocation procedure for NB-IoT using the cooperative approach considering a multi-cell cellular network. The proposed procedure aims to maximize the system rate while handling the inter-cell interference to improve the resource allocation among the users. However, the allocation was done at the level of the whole resource block, like in LTE, without considering the different tones allocation. Yu et al. investigated in [20] the uplink resource allocation in NB-IoT. They formulated the problem and then proposed a procedure that allocates to all the devices the optimal resource unit type that minimizes the number of consumed subframes. However, the selected optimal resource unit type was the same for all the devices within the same scheduling period. In [21], an NB-IoT energy efficient scheduling procedure was proposed that minimizes the consumed energy per device while enhancing the spectrum utilization. However, the authors did not consider the scheduling delay parameter between the downlink and uplink transmissions. In [22], the authors studied and formulated the resource allocation problem for NB-IoT while investigating the tradeoff between the data rate and latency. Then, they proposed a suboptimal algorithm that allocates the radio resources at the subcarriers (SC) level and the transmission power among the devices while maximizing the data rate. The procedure selects the resource unit type that best fits the remaining resources and gives a higher data rate. However, the study focused only on the resource unit type without considering the remaining scheduling parameters.

## 2.2. *Contributions of Our Work*

In this paper, we study the NB-IoT scheduling problem considering the radio parameters, namely RU type, MCS, repetition number, resource assignment, scheduling delay, and subcarrier set. These parameters ensure reliable transmission while satisfying delay and resource allocation constraints. The objective of the scheduling problem is to maximize the overall energy efficiency. In this section, we highlight the major contributions of this paper in comparison with state of the art.

* In comparison with [19–22], this paper considers the complete scheduling parameters set of the RU type, MCS, repetition number, resource assignment, scheduling delay, and subcarrier set. The allocation done in [19] neglected the RU type allocation. In [20], the allocated RU type was the same for all the devices served in a scheduling period. In [21], the scheduling delay value was ignored. In [22], the authors focused only on the RU type allocation without highlighting the allocation of the remaining parameters specified by the BS at each scheduling instant. Table 1 shows the difference in the supported scheduling parameters of the related works.
<table><caption>**Table 1.** Supported scheduling parameters.</caption><thead><tr><th>Related Works</th><th>RU Type</th><th>MCS</th><th>Repetition Number</th><th>Resource Assignment</th><th>Scheduling Delay</th><th>Subcarrier Set</th></tr></thead><tbody><tr><td>[19]</td><td>NO</td><td>YES</td><td>YES</td><td>YES</td><td>YES</td><td>YES</td></tr><tr><td>[20]</td><td>NO</td><td>YES</td><td>YES</td><td>YES</td><td>YES</td><td>YES</td></tr><tr><td>[21]</td><td>YES</td><td>YES</td><td>YES</td><td>YES</td><td>NO</td><td>Not Mentioned</td></tr><tr><td>[22]</td><td>YES</td><td>Not Mentioned</td><td>Not Mentioned</td><td>Not Mentioned</td><td>Not Mentioned</td><td>Not Mentioned</td></tr><tr><td>This paper</td><td>YES</td><td>YES</td><td>YES</td><td>YES</td><td>YES</td><td>YES</td></tr></tbody></table>

* In [19], the delay and resource allocation constraints were not considered. The authors in [20] and [22] did not take into consideration the delay constraints. As NB-IoT supports latency-critical applications, in this paper, we focus on the main requirements of the NB-IoT devices of reliable transmission, delay constraint, and resource allocation constraints. Table 2 shows the difference in the supported constraints of the related works.

<table><caption>**Table 2.** Supported constraints.</caption><thead><tr><th>Related Works</th><th>Reliable Transmission</th><th>Delay Constraint</th><th>Resource Allocation Constraint</th></tr></thead><tbody><tr><td>[19]</td><td>YES</td><td>NO</td><td>NO</td></tr><tr><td>[20]</td><td>YES</td><td>NO</td><td>YES</td></tr><tr><td>[21]</td><td>YES</td><td>YES</td><td>Not Mentioned</td></tr><tr><td>[22]</td><td>YES</td><td>NO</td><td>YES</td></tr><tr><td>This paper</td><td>YES</td><td>YES</td><td>YES</td></tr></tbody></table>

* As the scheduling problem is composed of a link adaptation problem and a resource allocation problem, we aim to study the correlation between these two problems. Accordingly, we propose two scheduling schemes: successive and joint scheduling schemes. The successive scheduling scheme successively manages the link adaptation problem and resource allocation problem. However, the joint scheduling scheme manages the two problems as one joint problem. To our knowledge, the comparison between the joint scheme and the successive scheme is not been previously investigated and represents one of the main contributions of our paper.

* Also, we aim in our work to optimize the selection of the devices to be served as they affect the system energy efficiency. Accordingly, we propose two different device selection techniques. The first technique provides an exhaustive search for the optimal devices to be served such that the total energy efficiency is maximized. In the second technique, we propose a priority score that determines the order of the devices to be served to enhance the overall energy efficiency. To our knowledge, investigating the served devices' impact on the NB-IoT scheduling's overall performance is another significant contribution to our work as it has not been investigated before.

### 3. General Overview on NB-IoT Scheduling

In this section, we first present the signals and channels of NB-IoT, highlighting the channels involved in the scheduling problem. Then, we describe the uplink scheduling along with a simple illustrating example.

#### 3.1. NB-IoT Signals and Channels

The data transmission of the NB-IoT system is carried over a bandwidth of 180 kHz. The single carrier frequency-division multiple access (SC-FDMA) is adopted in the NB-IoT uplink transmission with a subcarrier spacing of 15 kHz, including 12 subcarriers in each time slot (TS) over 1 ms. It is also possible to have subcarrier spacing of 3.75 kHz, including 48 subcarriers for TS spanning 2 ms.
Figure 1 describes a simplified NB-IoT frame structure. One frame is divided into 10 subframes, each of length 1 ms. A subframe is divided into two timeslots [2]. Multiple uplink and downlink signals and channels are periodically transmitted in NB-IoT frame structure [6].

Concerning the downlink frame, the narrowband physical broadcast channel (NPBCH), the narrowband primary synchronization signal (NPSS), and the narrowband secondary synchronization signal (NSSS) occupy subframes number 1, 6, and 10, respectively. The remaining subframes are dynamically occupied by either the narrowband physical downlink shared channel (NPDSCH) or the narrowband physical downlink control channel (NPDCCH). The NPDSCH carries the downlink data for a specific device, whereas the NPDCCH delivers the downlink control information (DCI) to the UE. Three DCI formats are distinguished for NB-IoT. DCI format N0 is involved in the NB-IoT uplink scheduling for UL Grant. As for the uplink, only two channels are supported, the narrowband physical random access channel (NPRACH) and the narrowband physical uplink shared channel (NPUSCH). After the NPRACH allocation, the NPUSCH occupies the remaining available resources. The NPRACH is used to initiate the random access (RA) procedure, whereas the NPUSCH is used for the uplink data transmission.

<figure><img src="image_4.png" /><figcaption>**Figure 1.** A representation of the NB-IoT uplink and downlink frames structure considering 15 kHz subcarrier spacing in uplink.</figcaption></figure>

## 3.2. NB-IoT Uplink Scheduling

NB-IoT is designed to enable the communication of thousands of devices in different reliability-and latency-critical IoT applications: smart metering, smart city infrastructure management (e.g., traffic light management and waste management), personal e-health management, intruder and fire alarm detection. The scheduling in NB-IoT needs to manage and optimize the access of the devices on the network.

A NB-IoT device must monitor successive NPDCCH subframes called the search spaces to decode one DCI. The DCI contains the scheduling information, determined by the base station (BS), for its uplink data upload. In general, each UE can receive up to one DCI, which is carried by one NPDCCH subframe. The parameter $R_{max}$ determines the number
of NPDCCCH subframes which is the length of the NPDCCCH search space. The time interval between two successive NPDCCCH opportunities is referred to as an NPDCCCH period (NP). The uplink scheduling procedure is performed every NP. The NP length is determined by $R_{max} \cdot G$ where G is a system parameter [3,23]. Also, the NP length determines the number of NPUSCH. The length of the NP can be adapted, which is known as NPDCCCH Period Adaptation Problem addressed in [24]. In this paper, we assume that the NP length is fixed as in [20].

In order to reduce the transmission errors, the transmission of a DCI corresponding to one device is repeated $r_{DCI}$ times [3]. Candidates denote the NPDCCCH subframes allocated for one DCI transmission. The number of candidates within an NP is denoted by $\epsilon$, where $\epsilon = R_{max}/r_{DCI}$.

The DCI carries the uplink scheduling result for a specific device, as determined by the base station (BS). The main uplink fields of the scheduling parameters and the corresponding values carried in the DCI are summarized in Table 3 [3].

<table><caption>**Table 3.** The Main Scheduling Fields.</caption><thead><tr><td>Scheduling Field</td><td>Value</td></tr></thead><tbody><tr><td>Subcarrier Indication Field (I<sup>sc</sup>)</td><td>0~63</td></tr><tr><td>Repetition Number Field (I<sup>rep</sup>)</td><td>0~7</td></tr><tr><td>Resource Assignment Field (I<sup>RU</sup>)</td><td>0~7</td></tr><tr><td>Modulation and Coding Scheme Field (I<sup>MCS</sup>)</td><td>0~13</td></tr><tr><td>Scheduling Delay Field (I<sup>delay</sup>)</td><td>0~3</td></tr></tbody></table>

### 3.2.1. Subcarrier Indication Field (I<sup>sc</sup>)

The RU is the smallest unit mapping an uplink transport block. NB-IoT supports multiple types of RUs: 1, 3, 6, and 12-tone with a subcarrier spacing of 15 kHz. Hence, NB-IoT supports both single-tone and multi-tone transmissions in the uplink. However, only single-tone transmission is supported for subcarrier spacing of 3.75 kHz. This paper considers the mandatory subcarrier spacing in the standard, which is 15 kHz. Thus, the BS can select one of the RU types (y): 1-tone, 3-tone, 6-tone, and 12-tone. The RU type is identified by the integer variable q:

$$q = \begin{cases} 1, & y = \text{12-tone} \\ 2, & y = \text{6-tone} \\ 3, & y = \text{3-tone} \\ 4, & y = \text{1-tone} \end{cases} \quad (1)$$

A device *i* can only be allocated one RU type for an uplink transmission within an NP *p*. The allocation of the RU type is related to the device's radio conditions and the scheduling objective. We denote by $v_{p,i,q} \in \{0,1\}$ a binary variable that indicates if a device *i* is allocated RU type *q* such that:

$$\sum_{q=1}^{4} v_{p,i,q} \leq 1, \forall p \in P, \forall i \in N. \quad (2)$$

N denotes the number of devices. The RU type determines the number of subcarriers $\beta$ and the duration of the RU $t$ as expressed in (3) and (4) below:

$$\beta_{p,i} = 12 \cdot v_{p,i,1} + 6 \cdot v_{p,i,2} + 3 \cdot v_{p,i,3} + 1 \cdot v_{p,i,4} \quad (3)$$

$$t_{p,i} = 1 \cdot v_{p,i,1} + 2 \cdot v_{p,i,2} + 4 \cdot v_{p,i,3} + 8 \cdot v_{p,i,4}. \quad (4)$$
Table 4 summarizes the possible RU types with their corresponding number of subcarriers and timeslots for subcarrier spacing of 15 kHz. Equations (3) and (4) guarantee the constraints on the RU type at the number of subcarriers and duration of RUs. As the value of $v_{p,i,q}$ is equal to 1 for only one $q$ ensured in (2), the total number of subcarriers $\beta_{p,i}$ in (3) and the total duration $t_{p,i}$ in (4) for one RU meet the RU characteristics shown in Table 4 for each user.

<table><caption>**Table 4.** Characteristics of the different RU types for subcarrier spacing = 15 kHz.</caption><thead><tr><th>Number of Tones (RU Type)</th><th>Number of Timeslots</th><th>RU Duration Time (ms)</th><th>RU Bandwidth (kHz)</th><th>Transmission Format</th></tr></thead><tbody><tr><td>1-tone</td><td>16</td><td>8</td><td>15</td><td>Single-Tone</td></tr><tr><td>3-tone</td><td>8</td><td>4</td><td>45</td><td>Multi-Tone</td></tr><tr><td>6-tone</td><td>4</td><td>2</td><td>90</td><td>Multi-Tone</td></tr><tr><td>12-tone</td><td>2</td><td>1</td><td>180</td><td>Multi-Tone</td></tr></tbody></table>

The value of $I^{sc}$ indicates the allocated RU type $q$ and its corresponding set of the allocated subcarriers $n^{sc}$ as shown in Table 5. For example, if $I^{sc} \in \{0, 1, 2, \dots, 11\}$, i.e., the RU type is 1-tone (single-tone), there are 12 possible locations for the RU.

$$n^{sc} \in \{\{0\}, \{1\}, \{2\}, \{3\}, \{4\}, \{5\}, \{6\}, \{7\}, \{9\}, \{10\}, \{11\}\} \quad (5)$$

If $I^{sc} \in \{12, 13, 14, 15\}$, then the RU type is 3-tone with 4 possible locations.

$$n^{sc} \in \{\{0, 1, 2\}, \{3, 4, 5\}, \{6, 7, 8\}, \{9, 10, 11\}\} \quad (6)$$

Equations (7) and (8) below show the dependency of the subcarrier indication field value, the allocated RU type, and subcarrier sets for a device $i$ in NP $p$.

$$I_{p,i}^{sc} = I_1 \cdot v_{p,i,1} + I_2 \cdot v_{p,i,2} + I_3 \cdot v_{p,i,3} + I_4 \cdot v_{p,i,4} \quad (7)$$

$$\begin{aligned} n_{p,i}^{sc} = & \{0, 1, \dots, 11\} \cdot v_{p,i,1} \\ & + (6 \cdot (I_{p,i}^{sc} - 16) + \{0, 1, 2, 3, 4, 5\}) \cdot v_{p,i,2} \\ & + (3 \cdot (I_{p,i}^{sc} - 12) + \{0, 1, 2\}) \cdot v_{p,i,3} \\ & + I_{p,i}^{sc} \cdot v_{p,i,4} \end{aligned} \quad (8)$$

<table><caption>**Table 5.** Subcarrier indication field values and its corresponding RU type and subcarrier sets.</caption><thead><tr><th>Subcarrier Indication Value (I<sup>sc</sup>)</th><th>RU Type</th><th>Subcarrier Set</th></tr></thead><tbody><tr><td>0~11</td><td>1-tone</td><td>I<sup>sc</sup></td></tr><tr><td>12~15</td><td>3-tone</td><td>3 · (I<sup>sc</sup> - 12) + {0, 1, 2}</td></tr><tr><td>16~17</td><td>6-tone</td><td>6 · (I<sup>sc</sup> - 16) + {0, 1, 2, 3, 4, 5}</td></tr><tr><td>18</td><td>12-tone</td><td>{0, 1, 2, 3, ..., 11}</td></tr><tr><td>19~63</td><td>Reserved</td><td></td></tr></tbody></table>

### 3.2.2. Repetition Number Field (I<sup>rep</sup>)

Repetitions in NB-IoT enable the BS to reach and serve devices in challenging radio conditions. Repeating the transmission decreases the signal-to-noise ratio threshold, thus improving the receiver sensitivity and ending up with reliable transmission. In NB-IoT, the transmitted RUs are blindly repeated. I<sup>rep</sup> indicates the allocated number of repetitions $r$ for the uplink transmissions according to Table 6.
<table><caption>**Table 6.** The supported uplink number of repetitions in NB-IoT.</caption><thead><tr><td>Repetition Number Field (I<sup>rep</sup>)</td><td>Repetition Number Value (r)</td></tr></thead><tbody><tr><td>0</td><td>1</td></tr><tr><td>1</td><td>2</td></tr><tr><td>2</td><td>4</td></tr><tr><td>3</td><td>8</td></tr><tr><td>4</td><td>16</td></tr><tr><td>5</td><td>32</td></tr><tr><td>6</td><td>64</td></tr><tr><td>7</td><td>128</td></tr></tbody></table>

### 3.2.3. Resource Assignment Field (I<sup>RU</sup>)

I<sup>RU</sup> determines the number of continuously allocated RUs (s) as shown in Table 7 for a specific device without including the repetition. In order to obtain the total number of RUs allocated for the complete transmission, we multiply the associated resource assignments value with the allocated number of repetitions.

<table><caption>**Table 7.** The supported uplink resource assignment in NB-IoT.</caption><thead><tr><td>Resource Assignment Field (I<sup>RU</sup>)</td><td>Resource Assignment Value (u)</td></tr></thead><tbody><tr><td>0</td><td>1</td></tr><tr><td>1</td><td>2</td></tr><tr><td>2</td><td>3</td></tr><tr><td>3</td><td>4</td></tr><tr><td>4</td><td>5</td></tr><tr><td>5</td><td>6</td></tr><tr><td>6</td><td>8</td></tr><tr><td>7</td><td>10</td></tr></tbody></table>

### 3.2.4. Modulation and Coding Scheme Field (I<sup>MCS</sup>)

I<sup>MCS</sup> determines the modulation and coding scheme level (m). NB-IoT supports 11 different MCS level {0 ~ 10} for single-tone transmissions and 14 different levels {0 ~ 13} for the multi-tone transmissions. Combining the MCS with the resource assignments determines the transport block size (TBS). MCS Level is adapted based on the radio conditions of the device. Low MCS levels are preferable for devices encountering bad radio conditions. However, for devices with good channel qualities, allocating higher MCS levels is recommended to get higher data rates.

### 3.2.5. Scheduling Delay Field (I<sup>delay</sup>)

I<sup>delay</sup> indicates, according to Table 8, the scheduling delay k<sub>0</sub>, which is the separation time between the last DCI corresponding to the device and the start uplink subframe allocated to the device. During the scheduling delay, the device can decode the DCI message and switch from the reception mode to the transmission mode. The first NPUSCH subframe (sb<sub>p,i</sub>) allocated to device i in NP p is determined based on the allocated scheduling value k<sub>0</sub> and the last NPDCCH subframe (n<sub>p,i</sub>) of its corresponding candidate according to the following equation:

$$sb_{p,i} = k_{0,i} + n_{p,i} + 1. \qquad (9)$$
<table><caption>**Table 8.** The scheduling delay values supported for the uplink scheduling.</caption><thead><tr><td>Scheduling Delay Field (I<sup>delay</sup>)</td><td>Scheduling Delay Value (k<sub>0</sub>) (ms)</td></tr></thead><tbody><tr><td>0</td><td>8</td></tr><tr><td>1</td><td>16</td></tr><tr><td>2</td><td>32</td></tr><tr><td>3</td><td>64</td></tr></tbody></table>

### 3.3. Scheduling Illustration

In this subsection, we present a simple example to illustrate the scheduling process in NB-IoT described in Figure 2. We suppose that $r_{DCI} = 2$, the DCI transmission for each device is repeated twice. We only consider the allocation for two devices for simplicity. The candidate transmitting the DCI of device 1 occupies NPDCCH subframes 2 and 3, while NPDCCH subframes 4 and 5 carry the DCI for device 2. Accordingly, the start uplink subframe ($sb_1$) for device 1 is 12 (8+3+1) assuming that the allocated scheduling delay value ($k_{01}$) is 8 ms and the last NPDCCH subframe ($n_1$) of its candidate is subframe number 3. The number of repetitions, the resource assignment, and the RU type for device one equal 1, 1, and 6-tone, respectively. However, device 2 uploads its data on the uplink subframe ($sb_2$) number 14 (8+5+1) considering the scheduling delay value ($k_{02}$) 8 ms. Device 2 is allocated a RU with 12-tone combined with the number of repetitions one and resource assignment 1.

<figure><img src="image_5.png" /><figcaption>**Figure 2.** Scheduling Illustration Example.</figcaption></figure>

### 4. System Model

We consider an NB-IoT cellular network consisting of one BS in a circular geographical area of radius $R$ and $N$ devices that are uniformly distributed. We assume that 50% of the devices are located indoors. Each device denoted by $i$, where $i \in \{1, ..., N\}$, sends an
uplink data of size $D_i$ (in bits) to the BS with a transmit power $p_i$ where $p^{min} \le p_i \le p^{max}$. $p^{min}$ and $p^{max}$ are the minimum and the maximum transmit powers, respectively. Each device has a strict delay deadline denoted by $d_i$ (expressed in milliseconds). The data of the device must be uploaded before $d_i$.

The BS should allocate an MCS level ($m_i$), resource assignment ($u_i$), number of repetitions ($r_i$), scheduling delay value ($k_{0i}$), RU type ($q_i$) and the subcarrier set ($n_i^{sc}$) for each device $i$. These are called the scheduling parameters and are carried out by the DCI. This problem is called the NB-IoT scheduling problem and is triggered once every NP. The NB-IoT scheduling problem has to allocate each device $i$, the optimal combination of the scheduling parameters while ensuring reliable communication transmission, satisfying delay requirements, and respecting the allocation constraint.

Reliable communication is achieved as long as the received signal to noise and interference ratio $S_{rx}$ is greater than or equal to the minimum signal to noise ratio $S_{req}$ required for successful decoding of the received uplink transmission.

The received SNR is expressed in (10). $G_r$, $G_t$, $L_{path}$, $L_{shadow}$, $L_{penetration}$, $\gamma$, $w$, $I$ and $N_0$ denote the receiver antenna gain, the transmitter antenna gain, the path loss, the shadow fading effect, the penetration loss, indoor/outdoor binary indicator, bandwidth of the RU, interference level and the noise respectively.

$$S_{rx}(q) = \frac{p \cdot G_r \cdot G_t}{L_{path} \cdot L_{shadow} \cdot \gamma L_{penetration} \cdot (w \cdot N_0 + I)} \quad (10)$$

In this paper, we are estimating the $S_{req}$ while considering the cross-subframe channel estimation [25] using (11). Cross-subframe channel estimation improves the channel estimates by averaging the channel estimates over multiple consecutive subframes. Thus, the cross-subframe technique can reduce the coverage extension limitations caused by the channel estimation error $\sigma$ existing in the realistic channel estimations.

$$(2^{\frac{R_b}{w \cdot B_{eff}}} - 1) \cdot S_{eff} = \frac{r \cdot (\sigma + S_{req})}{(\sigma + 1 + \frac{\sigma}{S_{req}})(1 + \frac{\sigma}{2 \cdot S_{req}})} \quad (11)$$

$R_b$ denotes the transmission bit rate measured in bits/s. $w$ represents the bandwidth of the RU. $B_{eff}$ and $S_{eff}$ are the bandwidth efficiency and SNR efficiency of NB-IoT technology, respectively, that are obtained through curve fitting in the 3GPP link-level simulation results [26,27].

The estimation error $\sigma$ and $S_{req}$ are linearly dependent as in (12) where $c_1$ and $c_2$ are constants obtained through link-level simulations [27].

$$\sigma_{dB} = c_1 \cdot S_{req,dB} + c_2 \quad (12)$$

$R_b$ is expressed as:

$$R_b(u, t, m) = \frac{B + C}{u \cdot t}, \quad (13)$$

where C is the cyclic redundancy check code size (bits) and B is the transport block size (bits). $u$ and $t$ are the resource assignment and the durations of the RU, respectively.

The maximum TBS, $B_{max}$, is directly linked to the resource assignment $u$ and the selected MCS $m$. $B_{max}$ is defined at the MAC layer ranging from 2 bytes (16 bits) up to 317 bytes (2536 bits) and 217 bytes (1736 bits) for multi-tone and single-tone transmissions, respectively, as specified by the 3GPP Release 14 standard [3]. The application payload and higher layer protocol overhead affect the size of B that must be lower than or equal to $B_{max}$ as

$$B \le B_{max}(u, m). \quad (14)$$
## 5. Problem Formulation

Scheduling in NB-IoT requires the BS to select for the UEs' the optimal combination of the following parameters: the number of repetitions $r$, resource assignments $u$, MCS level $m$, scheduling delay $k_0$, the RU type $q$, and the subcarrier set $n_{sc}$. The selection is made to maximize the system energy efficiency while satisfying the reliable transmission, delay requirements, and allocation constraints.

### 5.1. Scheduling Objective

The energy efficiency for a device is defined as the data rate ratio over the consumed energy and is expressed in (15). DR denotes the data rate, which is the data size ratio over the transmission duration as in (16). CE denotes the consumed energy, which is the transmitted power multiplied by the transmission duration as in (17).

$$EE(r, u, m, q) = \frac{DR(r, u, m, q)}{CE(r, u, m, q)} = \frac{D}{p \cdot (u \cdot t \cdot r)^2} \qquad (15)$$

$$DR(r, u, m, q) = \frac{D}{u \cdot t \cdot r} \qquad (16)$$

$$CE(r, u, m, q) = p \cdot u \cdot t \cdot r \qquad (17)$$

The transmission duration is the number of repetition $r$ multiplied by the duration of the RU $t$ and the resource assignment $u$.

### 5.2. Scheduling Constraints

To guarantee feasible uplink scheduling, the following constraints must be satisfied.

#### 5.2.1. Reliable Transmission Constraint

Communication is reliable if the received signal-to-noise and interference ratio $S_{rx}$ is greater than or equal to the minimum signal-to-noise ratio $S_{req}$:

$$S_{rx} \geq S_{req}. \qquad (18)$$

#### 5.2.2. Delay Constraint

The delay deadline of a device $i$ must be satisfied where the data transmission to the BS is accomplished before $d_i$. The delay constraint is expressed in the following:

$$sb(k_0) + u \cdot r \cdot t \leq d_i. \qquad (19)$$

In the previous equation, $u \cdot r \cdot t$ is the uplink transmission duration. In this paper, we assume that the $sb$ must be within the current NP of length $L$ to be considered feasible as expressed in (20).

$$1 \leq sb(k_0) \leq L \qquad (20)$$

Also, the device must be able to finish uploading its uplink data without crossing the next NP using the allocated scheduling parameters described in (21).

$$sb + u \cdot r \cdot t - 1 \leq L \qquad (21)$$

#### 5.2.3. Resource Allocation Constraint

We define a binary allocation variable $x_{p,s,c,i} \in \{0,1\}$ that indicates if a device $i$ is allocated subcarrier $c$ at subframe $s$ in NP $p$ or not. This resource element can be allocated at maximum for only one device to avoid overlapping devices:

$$\sum_{i=1}^{N} x_{p,s,c,i} \leq 1, \forall p, \forall s, \forall c. \qquad (22)$$
The BS has to assign the device *i* in NP *p*, a number of *u*·*r*·*t* NPUSCH subframes as described in (23).

$$ \sum_{s=1}^{L} x_{p,s,c,i} = u_i \cdot r_i \cdot t_i, \forall p, \forall i, \forall c \qquad (23) $$

The allocated NPUSCH subframes for device *i* must be consecutive as ensured in (24).

$$ \sum_{s=1}^{L} |(x_{p,s,c,i} - x_{p,s+1,c,i})| \le 2, \forall p, \forall i, \forall c \qquad (24) $$

Each of the allocated subframes must occupy a total number of subcarriers denoted by $\beta$ of the allocated $n_{p,i}^{sc}$ as described in (25) where $c_1 = \min n_{p,i}^{sc}$ and $c_{end} = \max n_{p,i}^{sc}$.

$$ \sum_{s=1}^{L} \sum_{c_1}^{c_{end}} x_{p,s,c,i} = \beta_i \cdot (u_i \cdot r_i \cdot t_i), \forall p, \forall i \qquad (25) $$

The NB-IoT scheduling problem is divided into link adaptation and resource allocation problems. These two problems can be managed separately but successively or combined as one joint problem. Accordingly, we introduce the successive scheduling problem and the joint scheduling problem.

## Successive Scheduling Problem (SSP)

The SSP is divided into link adaptation and resource allocation problems. In the link adaptation problem, the BS needs to select for each device the optimal combination of the resource assignment $u_i$, MCS level $m_i$, RU type $q_i$, and the number of repetitions $r_i$ that maximizes the energy efficiency while ensuring reliable transmission and satisfying the delay constraint. The general link adaptation optimization problem applied for each device *i* is formulated hereafter:

$$ \begin{array}{ll} \max_{r,u,m,q} & EE(r, u, m, q) \\ \text{s.t} & S_{rx}(q) \ge S_{req}(m, u, r) \\ & p^{\min} \le p \le p^{\max} \\ & r \cdot t \cdot u \le d \\ & B \le B_{max}(u, m) \end{array} \qquad (26) $$

In the resource allocation problem, the BS chooses, for the optimal combination selected in the link adaptation problem, the first feasible subcarrier set $n_i^{sc}$ and the scheduling delay value $k_{0i}$ satisfying the allocation constraints and the delay requirements.

## Joint Scheduling Problem (JSP)

The JSP combines the link adaptation and resource allocation problems into one joint optimization problem. In the JSP, the BS selects the optimal combination of the resource assignment $u_i$, MCS $m_i$, number of repetition $r_i$, RU type $q_i$, subcarrier set $n_i^{sc}$ and scheduling delay $k_{0i}$ maximizing the global energy efficiency in the network while ensuring reliable transmission, and satisfying the delay and allocation constraints. The JSP is expressed as:

$$ \max_{r,u,m,q,k_{0,i}^{sc}} EE(r, u, m, q) \qquad (27) $$

subject to (18) to (25). The defined notations are listed in Table 9.
<table><caption>**Table 9. Abbreviations.**</caption><thead><tr><th>Symbol</th><th>Description</th></tr></thead><tbody><tr><td>N</td><td>Number of devices</td></tr><tr><td>NP</td><td>NPDCCH Period</td></tr><tr><td>R<sub>max</sub></td><td>System parameter determining the NP length</td></tr><tr><td>G</td><td>System parameter determining the NP length</td></tr><tr><td>L</td><td>NP length</td></tr><tr><td>r<sub>DCI</sub></td><td>Number of times a DCI is repeated</td></tr><tr><td>ε</td><td>Number of candidates within an NP</td></tr><tr><td>I<sup>sc</sup></td><td>Subcarrier indication field</td></tr><tr><td>I<sup>rep</sup></td><td>Repetition number field</td></tr><tr><td>I<sup>RU</sup></td><td>Resource assignment field</td></tr><tr><td>I<sup>MCS</sup></td><td>Modulation and coding scheme field</td></tr><tr><td>I<sup>delay</sup></td><td>Scheduling delay field</td></tr><tr><td>y</td><td>RU types</td></tr><tr><td>q</td><td>Integer variable identifying the RU type</td></tr><tr><td>i</td><td>Integer variable identifying a device</td></tr><tr><td>p</td><td>Integer variable identifying an NP</td></tr><tr><td>v<sub>p,i,q</sub></td><td>Binary variable indicating if RU type q is allocated to device i in NP p</td></tr><tr><td>β</td><td>Number of subcarriers</td></tr><tr><td>t</td><td>Duration of the RU</td></tr><tr><td>n<sup>sc</sup></td><td>Subcarrier set</td></tr><tr><td>r</td><td>Repetition number value</td></tr><tr><td>u</td><td>Resource assignment value</td></tr><tr><td>m</td><td>Modulation and coding scheme level</td></tr><tr><td>k<sub>0</sub></td><td>Scheduling delay value</td></tr><tr><td>sb</td><td>first NPUSCH subframe</td></tr><tr><td>n</td><td>last NPDCCH subframe</td></tr><tr><td>R</td><td>Radius of the circular geographical area</td></tr><tr><td>D<sub>i</sub></td><td>Size of the uplink data of device i (in bits)</td></tr><tr><td>p<sub>i</sub></td><td>Transmission power of device i</td></tr><tr><td>p<sup>min</sup></td><td>Minimum Transmission power</td></tr><tr><td>p<sup>max</sup></td><td>Maximum Transmission power</td></tr><tr><td>d<sub>i</sub></td><td>Delay deadline of device i (in milliseconds)</td></tr><tr><td>S<sub>rx</sub></td><td>Received signal to noise and interference ratio</td></tr><tr><td>S<sub>req</sub></td><td>Minimum signal to noise ratio for successful decoding of the uplink transmission</td></tr><tr><td>C</td><td>CRC</td></tr><tr><td>G<sub>r</sub></td><td>Receiver Antenna Gain</td></tr><tr><td>G<sub>t</sub></td><td>Transmitter Antenna Gain</td></tr><tr><td>L<sub>path</sub></td><td>Path Loss</td></tr><tr><td>N<sub>0</sub></td><td>Noise</td></tr><tr><td>w</td><td>Bandwidth of the RU</td></tr><tr><td>L<sub>shadow</sub></td><td>Shadow Fading Effect</td></tr><tr><td>γ · L<sub>penetration</sub></td><td>Penetration Loss</td></tr><tr><td>γ = 1</td><td>Indoor Device</td></tr><tr><td>γ = 0</td><td>Outdoor Device</td></tr><tr><td>l</td><td>Interference Level</td></tr><tr><td>R<sub>b</sub></td><td>Transmission bit rate (bits/s)</td></tr><tr><td>B<sub>eff</sub></td><td>Bandwidth efficiency of NB-IoT</td></tr><tr><td>S<sub>eff</sub></td><td>SNR efficiency of NB-IoT</td></tr><tr><td>σ</td><td>Estimation Error</td></tr><tr><td>c<sub>1</sub> and c<sub>2</sub></td><td>Constants obtained through link-level simulations</td></tr><tr><td>B</td><td>Transport block size (bits)</td></tr><tr><td>B<sub>max</sub></td><td>Maximum TBS</td></tr><tr><td>EE</td><td>Energy Efficiency</td></tr><tr><td>DR</td><td>Data Rate</td></tr></tbody></table>
<table><caption>**Table 9.** *Cont.*</caption><thead><tr><th>Symbol</th><th>Description</th></tr></thead><tbody><tr><td>CE</td><td>Consumed Energy</td></tr><tr><td>s</td><td>subframe index</td></tr><tr><td>c</td><td>subcarrier index</td></tr><tr><td>x<sub>p,s,c,i</sub></td><td>Binary allocation variable indicating if subcarrier c at subframe s in NP p is allocated to device i</td></tr></tbody></table>

## 6. Uplink Scheduling Schemes and Selection Techniques

In this section, we propose two uplink heuristic scheduling schemes for NB-IoT cellular networks: the successive and joint scheduling schemes corresponding to the SSP and the JSP, respectively. The proposed schemes compute the optimal combination of the scheduling parameters to maximize the system total energy efficiency of the network while satisfying the constraints (18) to (25). Then we propose two different device selection techniques: the exhaustive search technique (EST) and the sorting score technique (SST), to optimize the selection of the served devices in each NPDCCCH Period. The different proposed schemes and techniques are shown in Table 10.

<table><caption>**Table 10.** Definitions.</caption><tbody><tr><th colspan="2">Introduced Scheduling Problems</th></tr><tr><td>Successive Scheduling Problem (SSP)</td><td>Joint Scheduling Problem (JSP)</td></tr><tr><th colspan="2">Proposed Scheduling Schemes</th></tr><tr><td>Successive Scheduling Scheme (SSS)</td><td>Joint Scheduling Scheme (JSS)</td></tr><tr><th colspan="2">Device Selection Techniques</th></tr><tr><td>Exhaustive Search Technique (EST)</td><td>Sorting Score Technique (SST)</td></tr></tbody></table>

### 6.1. Heuristic Scheduling Scheme

In Section 5, we introduced two scheduling problems: SSP and JSP. Accordingly, in this subsection, we distinguish two uplink heuristic scheduling schemes: the successive scheduling scheme (SSS) and the joint scheduling scheme (JSS) corresponding to the SSP and the JSP, respectively. SSS and JSS are applied at the level of each device to determine its optimal combination of the scheduling parameters. The optimal combination maximizes the system's total energy efficiency of the network while satisfying the constraints (18) to (25). Algorithms 1 and 2 show the pseudocode for the SSS, and the JSS, respectively, applied for each device.

Algorithm 1 shows the pseudocode of the SSS. Step 1 executes Algorithm 3 to get all the feasible combinations of the link adaptation parameters for a device. The obtained combinations are stored in set $\mathcal{L}$. Step 2 selects the optimal link adaptation combination denoted by $l^*$ among all the stored ones in $\mathcal{L}$. $l^*$ is the feasible link adaptation combination maximizing the energy efficiency. In step 3, Algorithm 4 is executed to obtain all the feasible scheduling delay values $k_0$ and subcarrier sets $n^{sc}$ combined with the optimal selected combination $l^*$. Finally, in steps 4, 5 and 6 the first feasible $k_0$ and $n^{sc}$ are selected combined with the optimal link adaptation combination $l^*$ to form $h^*$.
**Algorithm 1: SSS**

**Input:** D, d, G<sub>r</sub>, G<sub>t</sub>, L<sub>path</sub>, N<sub>0</sub>, L<sub>shadow</sub>, γ · L<sub>penetration</sub>, I.

**Data:** B<sup>s</sup>, B<sup>m</sup> and sets U, M<sup>s</sup>, M<sup>m</sup>, P, Q, W, K, I, T defined in Table 11.

**Output:** The optimal combination of the scheduling parameters h<sup>*</sup>.

1. L = Select_Feasible_Combinations(D, G<sub>r</sub>, G<sub>t</sub>, L<sub>path</sub>, N<sub>0</sub>, L<sub>shadow</sub>, γ, L<sub>penetration</sub>, I)

2. l<sup>*</sup> = argmax EE(l) = D/(p·(u·r·t)<sup>2</sup>) : t ∈ T
   l=(m,u,r,q)∈L

3. H = Select_Feasible_k<sub>0</sub>_and_n<sup>sc</sup>(l<sup>*</sup>)

4. for h ∈ H do

5. h<sup>*</sup> = h

6. break

Algorithm 2 presents the pseudo-code of the JSS. Step 1 obtains all the feasible combinations of the link adaptation parameters for a device by executing the Algorithm 3. The obtained combinations are stored in set $\mathcal{L}$. Step 2 executes the Algorithm 4 to obtain all the feasible scheduling delay values $k_0$ and subcarrier sets $n^{sc}$ combined with each link adaptation combination in $\mathcal{L}$. All the feasible scheduling combinations are stored in set $\mathcal{H}$. Finally, step 3 selects the optimal scheduling combination denoted $h^*$ among all the ones stored in $\mathcal{H}$. $h^*$ is the link adaptation combination maximizing the energy efficiency while combined with the first feasible scheduling delay value $k_0$ and subcarrier set $n^{sc}$. Note that $k_0$ and $n^{sc}$ have no impact on energy efficiency. The resource allocation phase selects the feasible link adaptation combinations at the level of the resources. Suppose at least one pair of $k_0$ and $n^{sc}$ satisfies the constraints when combined with a link adaptation combination. In that case, this link adaptation combination is considered feasible at the level of the resources.

**Algorithm 2: JSS**

**Input:** D, d, G<sub>r</sub>, G<sub>t</sub>, L<sub>path</sub>, N<sub>0</sub>, L<sub>shadow</sub>, γ, L<sub>penetration</sub>, I.

**Data:** B<sup>s</sup>, B<sup>m</sup> and sets U, M<sup>s</sup>, M<sup>m</sup>, P, Q, W, K, I, T defined in Table 11.

**Output:** The optimal combination of the scheduling parameters h<sup>*</sup>.

1. L = Select_Feasible_Combinations(D, G<sub>r</sub>, G<sub>t</sub>, L<sub>path</sub>, N<sub>0</sub>, L<sub>shadow</sub>, γ, L<sub>penetration</sub>, I)

2. H = Select_Feasible_k<sub>0</sub>_and_n<sup>sc</sup>(L)

3. h<sup>*</sup> = argmax EE(h) = D/(p·(u·r·t)<sup>2</sup>) : t ∈ T
   h=(m,u,r,q,k<sub>0</sub>,n<sup>sc</sup>)∈H

The Algorithm "Select_Feasible_Combinations" gets all the feasible combinations of the link adaptation parameters of MCS m, the number of repetitions r, resource assignments u, and the RU type q for a device. The feasible pairs of MCS level m and the number of RUs u, whose corresponding maximum TBS B is greater than the user's data size D, are first collected and stored in sets $\mathcal{F}^s$ and $\mathcal{F}^m$ respectively for single-tone and multi-tone transmissions as expressed in lines 1 and 2. Then, the required SINR for single-tone $S_{req}^s$ and multi-tone $S_{req}^m$ are estimated respectively for each pair $\in \mathcal{F}^s$ and $\in \mathcal{F}^m$ combined with each number of repetition r as in lines 3 to 6.

In steps 7, 8, and 9, the received SINR $S_{rx}$ is computed assuming that the device is transmitting at the maximum power $p^{max}$ for different types of RU. All the feasible combinations of m, u, r and q ensuring reliable transmission and satisfying delay constraint in addition to their corresponding minimum-feasible transmit power p are collected in set $\mathcal{L}$ as in line 10. Note that p is obtained considering the received $S_{rx}$ equal to the required $S_{req}$.
The basic difference between the SSS and the JSS is in the number of feasible link adaptation combinations C considered from the Algorithm "Select_Feasible_Combinations". In the SSS, $C = 1$ since only one link adaptation combination is considered, which is the one maximizing the energy efficiency. However, the selected feasible number of combinations can reach up to $C = u \cdot m \cdot r \cdot q = 8 \cdot 14 \cdot 8 \cdot 4 = 3580$ in the JSS for each device. u, m, r, and q denote the possible values of the resource assignment, MCS level, number of repetitions, and the RU types, respectively. Hence, the JSS yields higher time complexity compared to the SSS.

<table><caption>**Table 11.** Data set Descriptions.</caption><thead><tr><th>Data Set</th><th>Description</th></tr></thead><tbody><tr><td>U = {1,..., 10}</td><td>Resource Assignment</td></tr><tr><td>K = {8, 16, 32, 64}</td><td>Scheduling delay values in ms</td></tr><tr><td>I = {0,..., 18}</td><td>subcarrier indication values</td></tr><tr><td>M<sup>s</sup> = {0,..., 10}</td><td>MCS for single-tone</td></tr><tr><td>M<sup>m</sup> = {0,..., 13}</td><td>MCS for multi-tone</td></tr><tr><td>P = {1, 2, 4, 8, 16, 32, 64, 128}</td><td>Number of repetitions</td></tr><tr><td>W = {180, 90, 45, 15}</td><td>RU bandwidth in kHz</td></tr><tr><td>Q = {1, 2, 3, 4}</td><td>RU type</td></tr><tr><td>T = {1, 2, 4, 8}</td><td>RU duration in ms</td></tr><tr><td>B<sup>s</sup></td><td>Maximum TBS for single-tone</td></tr><tr><td>B<sup>m</sup></td><td>Maximum TBS for multi-tone</td></tr></tbody></table>

## 6.2. Device Selection Techniques

As the number of served devices within an NP could not exceed the number of candidates $ε$, selecting the devices to be served in each NPDCCCH Period can affect the system energy efficiency. Accordingly, in this section, we aim to optimize the selection of the devices by providing two different selection techniques: exhaustive search technique (EST) and sorting score technique (SST). The EST exhaustively searches for the optimal devices to be served, considering all possible combinations of the devices with different permutations. The selected optimal served devices achieve the highest total energy efficiency. The SST utilizes a proposed priority score to select the optimal devices to be served to enhance energy efficiency. After selecting the optimal devices considering EST or SST, the optimal combination of the scheduling parameters is obtained for each device considering the proposed heuristic scheduling schemes: SSS or JSS. First, we describe the exhaustive search technique (EST) and then the sorting score technique (SST).

### 6.2.1. Exhaustive Search Technique (EST)

The EST exhaustively searches for the optimal devices to be served that maximize the total EE by considering the different possible combinations of the selected devices with different permutations.

Figure 3 describes the steps applied in the EST. First, EST collects all the different combinations of the devices to be served with different permutations and stores them in set E. Then, EST executes one of the proposed heuristic methods (JSS or SSS) to obtain the optimal combination of scheduling parameters ($h^*$) for each combination $E \in E$. Then, this technique computes the energy efficiency ($E(h^*)$) corresponding to $h^*$. The total energy efficiency $T$, obtained from $E$, is updated. Next, the value of $M$ is updated if $T$ is greater than $M$. $M$ stores the highest value of the obtained total energy efficiency. The optimal combination of devices denoted by $E_{opt}$ is set to the combination giving the highest $T$.
<figure><img src="image_6.png" /><figcaption>Figure 3. Block diagram describing steps of the exhaustive search technique (EST).</figcaption></figure>

### 6.2.2. Sorting Score Technique (SST)

Considering all possible combinations of devices makes the EST complex to implement. The SST is proposed to reduce this complexity. In the SST, we assign for each device *i* in the network a priority score *score*<sub>*p*<sub>*i*</sub></sub> described in (28). *score*<sub>*p*<sub>*i*</sub></sub> depends on the received power *p*<sub>*r*<sub>*i*</sub></sub>, delay constraint *d*<sub>*i*</sub>, the payload size *D*<sub>*i*</sub> and the highest energy efficiency EE that the device *i* can achieve. *score*<sub>*p*<sub>*i*</sub></sub> is expressed as:

$$ score_{p_i} = a_1 \cdot P_{d_i} + a_2 \cdot P_{p_{r_i}} - a_3 \cdot P_{D_i} - a_4 \cdot P_{EE_i} \quad (28) $$

where $a_i \in [0,1], i = 1, \dots, 4$ are the weight factors such that $a_1 + a_2 + a_3 + a_4 = 1$. $P_{d_i}$ denotes the delay priority, which is the assigned priority based on the delay constraint $d_i$ of device *i*. Devices with lower delay values need to be served first. We can express $P_{d_i}$ for device *i* as

$$ P_{d_i} = \frac{\max(z) - d_i}{\max(z) - \min(z)} \quad (29) $$

where *z* is the index of the remaining devices.
$P_{pr}$ and $P_D$ denote the received power priority and the data size priority, respectively. The received power priority is the assigned priority based on the received power $p_r$ of the device, while the data size priority depends on the data size $D$ of a device. Lower received power values indicate bad radio conditions that limit the number of feasible combinations of the scheduling parameters. Lower received power values would decrease EE. Also, a larger data size would lower the number of feasible combinations. Hence, devices with lower received power or/and higher data sizes need higher priority values. We can write $P_{pr_i}$ and $P_{D_i}$ as in (30) and (31).

$$P_{pr_i} = \frac{\max_z(p_{rz}) - p_{ri}}{\max_z(p_{rz}) - \min_z(p_{rz})} \qquad (30)$$

$$P_{D_i} = \frac{\max_z(D_z) - D_i}{\max_z(D_z) - \min_z(D_z)} \qquad (31)$$

$P_{EE}$ denotes the energy efficiency priority. Devices giving higher energy efficiencies are assigned higher energy efficiency priority. As we aim to maximize the system energy efficiency, serving devices with high energy efficiencies increase the system energy efficiency. $P_{EE_i}$ is expressed as

$$P_{EE_i} = \frac{\max_z(EE_z) - EE_i}{\max_z(EE_z) - \min_z(EE_z)} \qquad (32)$$

The devices are then sorted in descending order based on the priority score $score_p$ and stored in set $\mathcal{Z}$. Then starting from the first device in the set, the optimal combination of the scheduling parameters is obtained for each device considering each of the proposed heuristic scheduling schemes: SSS or JSS as described in Figure 4.

<figure><img src="image_7.png" /><figcaption>Figure 4. Block diagram describing steps of the sorting score technique (SST).</figcaption></figure>

## 7. Performance Evaluation

In this section, we compare the performance of the successive scheduling scheme (SSS) to the joint scheduling scheme (JSS) while selecting the optimal combination of the scheduling parameters. Also, we study the impact of the proposed device selection techniques: EST and SST, on the behavior of each of the proposed scheduling schemes: SSS
and JSS. More precisely, we also aim to study the impact of the proposed priority score $score_p$ on the performance of each of the SSS and JSS. Accordingly, we distinguish three techniques considering the SST: SST-EE, SST-SC, and SST-RD. SST-EE technique sorts the devices based on their energy efficiencies considering only $P_{EE}$ where $a_1 = a_2 = a_3 = 0$ and $a_4 = 1$. SST-SC sorts the devices based on the entire $score_p$ where $a_1 = a_2 = a_3 = a_4 = 1/4$. SST-RD neglects the proposed score $score_p$ where $a_1 = a_2 = a_3 = a_4 = 0$ and the devices are randomly sorted. Figure 5 illustrates these different device selection techniques.

<figure><img src="image_8.png" /><figcaption>**Figure 5.** Block diagram describing the different device selection techniques.</figcaption></figure>

We assume the devices are uniformly distributed in a circular area of radius 4 km. We suppose the packets sent from each device are stored in queues where each queue corresponds to one device. The packet arrival follows Poisson distribution considering that the packet size is 50 bytes. At each NP, the BS checks the number of packets arriving at each queue for each device, and the payload size is considered the number of packets stored multiplied by the packet size. The delay requirement is randomly assigned between 100 ms and 300 ms for each device. We used MATLAB to obtain the simulation results. Table 12 shows the simulation parameters.

<table><caption>**Table 12.** The Simulation Parameters [1].</caption><thead><tr><td>Parameter</td><td>Value</td></tr></thead><tbody><tr><td>Maximum Transmit Power ($p^{max}$)</td><td>23 dBm</td></tr><tr><td>Minimum Transmit Power ($p^{min}$)</td><td>-40 dBm</td></tr><tr><td>Antenna Gain of Receiver ($G_r$)</td><td>9 dBi</td></tr><tr><td>Antenna Gain of Transmitter ($G_t$)</td><td>0 dBi</td></tr><tr><td>Thermal Noise Density ($N_0$)</td><td>-174 dBm/Hz</td></tr><tr><td>Cell Radius</td><td>4 km</td></tr><tr><td>Request Data Size ($D$)</td><td>50 bytes</td></tr><tr><td>Delay Value ($d$)</td><td>100 to 300 ms</td></tr><tr><td>Interference Margin</td><td>3 dBm</td></tr><tr><td>Number of NPDCCCH Subframes ($R_{max}$)</td><td>256</td></tr><tr><td>Length of NPDCCCH Period ($L$)</td><td>4096</td></tr><tr><td>Number of candidates in NP ($\epsilon$)</td><td>8</td></tr></tbody></table>

To get a more accurate analysis with 95% confidence interval, we consider 50 different realizations with different radio conditions. In addition, we show the p-value ($p$) in our results, highlighting the statistical significance of our comparison. As a matter of fact, the lower the p-value, the greater the statistical significance of the observed difference. Note that the path loss is computed based on the Okumura-Hata propagation model.
## 7.1. Comparison between EST and SST

This subsection aims to compare the performance of SST and EST in terms of the average number of served devices and the distribution of the obtained energy efficiency considering each SSS and JSS. We consider a small-sized network containing 20 devices. The devices are simultaneously active and have data to transmit.

As NB-IoT aims to achieve massive connections, studying the variation in the number of served devices is considered an important performance indicator. Accordingly, Figure 6 shows the variation in the average number of served devices per realization obtained in the EST and the SST, considering each of the SSS and the JSS. The average number of served devices $t_{avg}$ is the summation of the number of served devices in each realization $r$ denoted by $t_r$ divided by the total number of realizations $R$ as shown in (33).

$$t_{avg} = \frac{\sum_{r=1}^{R} t_r}{R} \qquad (33)$$

We observe that the average number of served devices obtained considering the JSS (4.2, 3.375, 3.905, 3.441) is greater than that obtained in the SSS (4.001, 1.628, 2.401, 2.003) in each of the EST, the SST-EE, the SST-SC, and the SST-RD respectively. Also, we notice that the SST-SC achieves a higher number of served devices than the SST-RD and the SST-EE. However, the EST outperforms the SSTs. The EST can serve a higher number of devices as it considers the different selections of the devices and then selects the one maximizing the sum of the energy efficiency. The SST-SC gives the devices with limited feasible combinations higher priority. Most of these devices are encountering bad radio conditions and lower energy efficiencies. Thus, these devices occupy fewer frequency resources as they are more allocated to the single-tone transmission for reliable transmission. This leads to more free resources at the level of the frequency dimension for other devices. The SST-EE serves the devices with high energy efficiencies. These devices are thus allocated more frequency resources decreasing the remaining free frequency resources for other devices. Note that the maximum number of served devices per NP is 8 in our case ($\epsilon = 8$).

<figure><img src="image_9.png" /><figcaption>Figure 6. Variation in the average number of served devices per realization.</figcaption></figure>

Figure 7 shows the distribution of the energy efficiency obtained from the served devices in each EST and SST considering the JSS. We observe that the energy efficiency obtained in the EST is greater than that obtained in the SST. More than 20% of the devices have energy efficiency above 0.355 Mbits/Watt·s² in the EST. However, the SST-SC can serve the devices with low energy efficiency served in the EST. Around 19% of the devices obtain
energy efficiency greater than 0.355 Mbits/Watt·s² in SST-SC, while only around 15% of the devices have energy efficiency above 0.355 Mbits/Watt·s² in SST-EE. This percentage is further decreased in the SST-RD, where around 12% of the devices achieve energy efficiency of more than 0.355 Mbits/Watt·s².

<figure><img src="image_10.png" /><figcaption>**Figure 7.** Variation in the distribution of the energy efficiency in the JSS.</figcaption></figure>

Figure 8 presents the distribution of the energy efficiency obtained from the served devices in each EST and SSTs considering the SSS. We can observe that the EST outperforms the SSTs, where around 15% of the devices have energy efficiency greater than 2.5124 Mbits/Watt·s² in the EST. However, around 10% and 6% of the devices have energy efficiency greater than 2.5124 Mbits/Watt·s² in the SST-SC and SST-EE, respectively. We can notice that the SST-SC performs better than the SST-EE, especially at the level of the served devices with low energy efficiency.

<figure><img src="image_11.png" /><figcaption>**Figure 8.** Variation in the distribution of the energy efficiency in the SSS.</figcaption></figure>

Figure 9 reflects the variation in the time complexity of the SSS and JSS considering the SST-SC selection technique. Figure 9 represents the obtained execution times of the two schemes from the different realizations using a boxplot where the JSS achieves a higher median value (10.2 s) compared to the median achieved in the SSS (4.78 s). This difference
in the achieved execution times is due to the variation in the time complexity where the time complexity of JSS is higher than that of SSS.

<figure><img src="image_12.png" /><figcaption>Figure 9. Variation in the execution time of the SSS and the JSS considering the SST-SC.</figcaption></figure>

Based on the analysis of Figures 6–9, we can notice that the JSS outperforms the SSS considering the different device selection techniques. The JSS can achieve higher energy efficiency and increase the number of served devices. However, the JSS achieves higher time complexity as it considers all the feasible link adaptation combinations from the “Select_Feasible_Combinations” procedure. Also, we can observe that the EST performs better than the SSTs in terms of the number of served devices and energy efficiency. Nevertheless, the EST is not applicable for real case scenarios with a large number of devices in the network due to its computational complexity. The SST is more scalable and practical. Also, at the level of the SST, we can infer that the SST-SC can improve the system energy efficiency more than the SST-EE as it considers the devices with low energy efficiency served in the EST.

## 7.2. Performance Evaluation of the SST in Different Networks

This subsection aims to study the impact of the number of active devices in the network on the performance of each SST-SC, SST-EE, and SST-RD, considering SSS and JSS. We consider three different network sizes: network size of 20 devices, network size of 100, and network size of 1000.

Figures 10 and 11 show the variation in the average number of served devices and the average energy efficiency per device, respectively, in the SST-SC, SST-EE, and SST-RD considering the JSS. We can notice in Figure 10 that the average number of served devices is the highest in the SST-SC in networks of 20 devices and 100 devices. The average numbers of served devices are 6.62, 7.46, and 6.96, respectively, in the SST-EE, SST-SC, and SST-RD in network of 100 devices. However, in the network of 1000 devices, the number of served devices is maximum in all the techniques: SST-SC, SST-EE, and SST-RD, due to the high user diversity in the large size network. The maximum number of served devices within an NP is eight devices in our case ($\epsilon = 8$). Figure 11 shows the obtained average energy efficiency per device per realization in the different techniques. The average energy efficiency per device per realization $EE^{avg}$ is obtained by adding the average energy efficiency per device $avg_r^{EE}$ obtained in each realization $r$. Then, the sum is divided by the total number of realizations $R$ as in (34).

$$ EE^{avg} = \frac{\sum_{r=1}^{R} avg_{r}^{EE}}{R} \qquad (34) $$
The average energy efficiency per device $avg_r^{EE}$ for realization $r$ is the sum of the obtained energy efficiency for each served device $j$ in realization $r$ divided by the number of served devices $t_r$ in the realization $r$ as in (35).

$$avg_r^{EE} = \frac{\sum_{j=1}^{t_r} EE_{j,r}}{t_r}, \forall r \qquad (35)$$

Figure 11 shows that the obtained average energy efficiency per device is the highest in the SST-EE in the different networks. The obtained average energy efficiency in the SST-EE, SST-SC, and SST-RD are $4.777 \cdot 10^4$ Mbits/Watt·s$^2$, $168.3$ Mbits/Watt·s$^2$, and $3474$ Mbits/Watt·s$^2$ respectively in networks of 100 devices. We can notice that the obtained average energy efficiency per device in the SST-SC is the lowest in the three networks compared to the SST-EE and SST-RD. That is because the SST-SC serves devices encountering bad radio conditions and ending up with low energy efficiency. However, such devices are allocated fewer resources at the level of the spectral dimension leading to more free frequency resources for other devices. This explains the higher number of served devices achieved in the SST-SC in the small-sized network. SST-EE serves devices with the highest energy efficiency ending up with a very high average energy efficiency per device in Figure 11. However, such devices are allocated many spectral resources ending up with few empty resources for the remaining devices. This leads to fewer served devices, as shown in Figure 10 in the small-sized network. In larger networks, we have multi-user diversity. The possibility of having devices encountering better radio conditions is higher. This explains the higher average energy efficiency per device achieved in the SST-EE network of size 1000 devices. Also, the possibility of having devices fitting in the remaining free resources is higher. This explains the higher number of served devices in the different techniques in the network containing 1000 devices. Also, we can notice that the performance of the SST-RD is similar in the three networks as expected. The SST-RD selects the devices to be served randomly without giving higher priority to devices with high energy efficiency as in SST-EE or devices with limited feasible combinations as in the SST-SC. SST-RD achieves higher average energy efficiency than the SST-SC but a lower number of served devices in the small-sized network. The SST-EE outperforms the SST-SC and the SST-RD in large-sized networks as it maximizes the total energy efficiency while serving the maximum number of served devices.

<figure><img src="image_13.png" /><figcaption>Figure 10. Variation in the average number of served devices per realization considering the JSS.</figcaption></figure>
<figure><img src="image_14.png" /><figcaption>**Figure 11.** Variation in the average energy efficiency per device per realization considering the JSS.</figcaption></figure>

Figures 12 and 13 present the variation in the average number of served devices and the average energy efficiency per device per realization, respectively, in the SST-SC, SST-EE, and SST-RD considering the SSS. Figure 12 shows that the SST-SC gives, as in JSS, the highest number of served devices in the different networks. The average number of served devices obtained in the SST-EE, SST-SC, and SST-RD are 1.16, 4.68, and 4.42, respectively, considering the network of 100 devices. Figure 13 shows that the highest average energy efficiency per device is obtained in the SST-EE in all the networks. The average energy efficiency per device is $5.082 \cdot 10^4$ Mbits/Watt·s², 406.3 Mbits/Watt·s², and 4821 Mbits/Watt·s² respectively in the SST-EE, SST-SC, and the SST-RD in the network of 100 devices. We can infer that the SST-SC performance is better than that of the SST-EE in the different networks, considering the SSS in terms of the number of served devices. The SST-EE, considering the SSS selects the combination with the highest EE for each device. The SST-EE, considering the SSS is greedy regarding spectral resources as in the JSS. In large networks, the possibility of serving device(s) with very high energy efficiency is higher in the SST-EE due to the multi-user diversity. However, due to the limited combinations selections in the SSS, as it selects the combination with the highest EE, the possibility of having a device that can fit in the remaining resources is very low. This leads to a minimal number of served devices in the SST-EE. The average numbers of served devices obtained in the SST-RD in the different networks are very close to the ones obtained in the SST-SC. However, SST-RD obtains higher average energy efficiency per device than SST-SC.

Based on the analysis of Figures 10–13, we can infer that the SST-EE has the best performance in terms of both the number of served devices and the total energy efficiency in large networks while considering the JSS. However, in small-sized networks, SST-SC outperforms SST-EE in terms of the number of served devices while considering the JSS. The small-sized network has a smaller number of devices; thus, the probability of having devices needing a small amount of free remaining resources is low after the devices with the highest EE are served in the SST-EE. Considering the SSS, SST-SC has the best performance regarding the number of served devices in the different sized networks. That is because it considers devices with limited feasible combinations. The allocated combination for such devices occupies a small number of spectral resources ending up with a higher number of served devices. The SST-EE serves devices with very high EE. The allocated combination for such devices requires a massive amount of frequency resources ending up with a very low number of served devices. However, the SST-RD can give higher energy efficiency per device than the SST-SC while serving a similar number of devices.
<figure><img src="image_15.png" /><figcaption>**Figure 12.** Variation in the average number of served devices per realization considering the SSS.</figcaption></figure>

<figure><img src="image_16.png" /><figcaption>**Figure 13.** Variation in the average energy efficiency per device per realization considering the SSS.</figcaption></figure>

## 8. Conclusions

This paper studied the NB-IoT uplink scheduling that maximizes the system's energy efficiency while satisfying reliability, delay, and resource allocation constraints. The paper divides the scheduling problem into link adaptation and resource allocation problems and proposes two different scheduling schemes: the successive scheduling scheme (SSS) and the joint scheduling scheme (JSS). To optimize the selected devices to be served, we distinguish two device selection techniques: exhaustive search technique (EST) and sorting score technique (SST). EST exhaustively searches for the optimal devices, while the SST sorts the devices based on a proposed priority score. Simulation results show that the joint scheme is more efficient at the total energy efficiency and massive connection level than the successive scheme. However, the combinational complexity of the joint scheme is much higher than that of the successive one. Also, the EST achieves higher total energy efficiencies than the SST, yet the EST is not applicable for real-life scenarios due to the
high computational complexity. Moreover, simulation results show the improvement in the performance of the scheduling schemes when considering the SST at the level of the number of served devices and the achieved energy efficiency.

**Author Contributions:** Conceptualization, F.Y., M.E.H., S.L. and O.B.; methodology, F.Y., M.E.H., S.L. and O.B.; software, F.Y., M.E.H., S.L. and O.B.; validation, F.Y., M.E.H., S.L. and O.B.; formal analysis, F.Y., M.E.H., S.L. and O.B.; investigation, F.Y., M.E.H., S.L. and O.B.; resources, F.Y., M.E.H., S.L. and O.B.; data curation, F.Y., M.E.H., S.L. and O.B.; writing—original draft preparation, F.Y.; writing—review and editing, M.E.H., S.L. and O.B.; visualization, F.Y., M.E.H., S.L. and O.B.; supervision, M.E.H., S.L. and O.B.; project administration, M.E.H., S.L. and O.B.; funding acquisition, M.E.H., S.L. and O.B. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was funded by Saint Joseph University of Beirut and the Lebanese University.

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** The data used to support the reported results of this paper are available upon request.

**Conflicts of Interest:** The authors declare no conflict of interest.

**Abbreviations**

The following abbreviations are used in this manuscript:

<table><tr><td>NB-IoT</td><td>Narrowband Internet of Things</td></tr><tr><td>EE</td><td>Energy Efficiency</td></tr><tr><td>3GPP</td><td>Third generation partnership</td></tr><tr><td>mMTC</td><td>Massive machine type communications</td></tr><tr><td>RU</td><td>Resource Unit</td></tr><tr><td>LTE</td><td>Long-Term Evolution</td></tr><tr><td>SC</td><td>Subcarrier</td></tr><tr><td>NP</td><td>NPDCCH period</td></tr><tr><td>MCS</td><td>Modulation and coding scheme</td></tr><tr><td>QoS</td><td>Quality of service</td></tr><tr><td>BLER</td><td>Block error rate</td></tr><tr><td>SC-FDMA</td><td>Single carrier frequency-division multiple access</td></tr><tr><td>TS</td><td>Time slot</td></tr><tr><td>SNR</td><td>Signal-to-noise ratio</td></tr><tr><td>NPUSCH</td><td>Narrowband physical uplink shared channel</td></tr><tr><td>NPDCCH</td><td>Narrowband physical downlink control channel</td></tr><tr><td>NPDSCH</td><td>Narrowband physical downlink shared channel</td></tr><tr><td>NPRACH</td><td>Narrowband physical random access channel</td></tr><tr><td>NPBCH</td><td>Narrowband physical broadcast channel</td></tr><tr><td>NPSS</td><td>Narrowband primary synchronization signal</td></tr><tr><td>NSSS</td><td>Narrowband secondary synchronization signal</td></tr><tr><td>DCI</td><td>Downlink control information</td></tr><tr><td>RA</td><td>Random access</td></tr><tr><td>BS</td><td>Base station</td></tr><tr><td>TBS</td><td>Transport block size</td></tr></table>

**References**

1. 3GPP TR 45.820 V13.1.0 Technical Report; Cellular System Support for Ultra-Low Complexity and Low Throughput Internet of Things (CIoT). Available online: https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=2719 (accessed on 22 January 2022).

2. 3GPP TS 36.211 V14.4.0 Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Physical Channels and Modulation. Available online: https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=2425 (accessed on 10 February 2022).
3. 3GPP TS 36.213 V14.4.0 Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Physical Layer Procedures. Available online: https://portal.3gpp.org/desktopmodules/Specifications/SpecificationsDetails.aspx?specificationId=2427 (accessed on 10 February 2022).

4. Ratilainen, A. NB-IoT Characteristics; draft-ratilainen-lpwan-nb-iot-00, Internet Engineering Task Force, 8 July 2016. Available online: https://datatracker.ietf.org/doc/draft-ratilainen-lpwan-nb-iot/00/ (accessed on 25 August 2022).

5. Ericsson Technology. NB-IoT: A Sustainable Technology for Connecting Billions of Devices. In *Charting the Future of Innovation*; 25-04-2016; Volume 93. Available online: https://www.ericsson.com/en/reports-and-papers/ericsson-technology-review/articles/nb-iot-a-sustainable-technology-for-connecting-billions-of-devices (accessed on 25 August 2022).

6. Feltrin, L.; Tsoukaneri, G.; Condoluci, M.; Buratti, C.; Mahmoodi, T.; Dohler, M.; Verdone, R. Narrowband IoT: A Survey on Downlink and Uplink Perspectives. *IEEE Wirel. Commun.* **2019**, *26*, 78–86. [CrossRef]

7. Liang, J.; Chen, J.; Cheng, H.; Tseng, Y. An Energy-Efficient Sleep Scheduling With QoS Consideration in 3GPP LTE-Advanced Networks for Internet of Things. *IEEE J. Emerg. Sel. Top. Circuits Syst.* **2013**, *3*, 13–22. [CrossRef]

8. Wu, T.-Y.; Hwang, R.-H.; Vyas, A.; Lin, C.-Y.; Huang, C.-R. Persistent Periodic Uplink Scheduling Algorithm for Massive NB-IoT Devices. *Sensors* **2022**, *22*, 2875. [CrossRef] [PubMed]

9. Zhong, H., Zhang, R., Jin, F., Ning, L. Optimization of NB-IoT Uplink Resource Allocation via Double Deep Q-Learning. In *Communications, Signal Processing, and Systems, CSPS 2021*; Liang, Q., Wang, W., Liu, X., Na, Z., Zhang, B., Eds.; Lecture Notes in Electrical Engineering; Springer: Singapore, 2022, Volume 878._96. [CrossRef]

10. Yu, Y.-J.; Li, L.-X. Offset-Aware Resource Allocation in NB-IoT Networks. *IEEE Internet Things J.* **2022**, JIOT.2022.3189004. [CrossRef]

11. Hu, Q.-S.; Fan, X.-N.; Li, Z.-Y. A Simple and Efficient Link Adaptation Method for Narrowband Internet of Things. In Proceedings of the 2019 IEEE 21st International Conference on High Performance Computing and Communications; IEEE 17th International Conference on Smart City; IEEE 5th International Conference on Data Science and Systems (HPCC/SmartCity/DSS), Zhangjiajie, China, 10–12 August 2019; pp. 2606–2609. [CrossRef]

12. Yu, C.; Yu, L.; Wu, Y.; He, Y.; Lu, Q. Uplink Scheduling and Link Adaptation for Narrowband Internet of Things Systems. *IEEE Access* **2017**, *5*, 1724–1734. [CrossRef]

13. Luján, E.; Mellino, J.A.Z.; Otero, A.D.; Vega, L.R.; Galarza, C.G.; Mocskos, E.E. Extreme Coverage in 5G Narrowband IoT: A LUT-Based Strategy to Optimize Shared Channels. *IEEE Internet Things J.* **2020**, *7*, 2129–2136. [CrossRef]

14. Mu, Q.; Liu, L.; Jiang, H.; Takeda, K.; Ma, R. Investigation on Link Adaptation for LTE-Based Machine Type Communication. In Proceedings of the 2016 IEEE 83rd Vehicular Technology Conference (VTC Spring), Nanjing, China, 15–18 May 2016.

15. Andres-Maldonado, P.; Ameigeiras, P.; Prados-Garzon, J.; Ramos-Munoz, J.J.; Navarro-Ortiz, J.; Lopez-Soler, J.M. Analytic Analysis of Narrowband IoT Coverage Enhancement Approaches. In Proceedings of the 2018 Global Internet of Things Summit (GIoTS), Bilbao, Spain, 4–7 June 2018.

16. Ravi, S.; Zand, P.; Soussi, M.E.; Nabi, M. Evaluation, Modeling and Optimization of Coverage Enhancement Methods of NB-IoT. In Proceedings of the 2019 IEEE 30th Annual International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC), Istanbul, Turkey, 8–11 September 2019.

17. Yassine, F.; Helou, M.E.; Bazzi, O.; Lahoud, S. Investigation on Narrowband IoT Link Adaptation with Rate and Energy Objectives. In Proceedings of the 2021 International Wireless Communications and Mobile Computing (IWCMC), Harbin City, China, 28 June–2 July 2021; pp. 412–417. [CrossRef]

18. Yassine, F.; Helou, M.E.; Lahoud, S.; Bazzi, O. Performance of Narrowband IoT Link Adaptation with Rate and Energy Objectives. In Proceedings of the 2021 IEEE 3rd International Multidisciplinary Conference on Engineering Technology (IMCET), Beirut, Lebanon, 8–10 December 2021; pp. 6–10. [CrossRef]

19. Malik, H.; Pervaiz, H.; Alam, M.M.; Moullec, Y.L.; Kuusik, A.; Imran, M.A. Radio Resource Management Scheme in NB-IoT Systems. *IEEE Access* **2018**, *6*, 15051–15064. [CrossRef]

20. Yu, Y.; Wang, J. Uplink Resource Allocation for Narrowband Internet of Things (NB-IoT) Cellular Networks. In Proceedings of the 2018 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference (APSIPA ASC), Honolulu, HI, USA, 12–15 November 2018.

21. Liu, P.; Wu, K.; Liang, J.; Chen, J.; Tseng, Y. Energy-Efficient Uplink Scheduling for Ultra-Reliable Communications in NB-IoT Networks. In Proceedings of the 2018 IEEE 29th Annual International Symposium on Personal, Indoor and Mobile Radio Communications (PIMRC), Bologna, Italy, 9–12 September 2018.

22. Elgarhy, O.; Reggiani, L.; Malik, H.; Alam, M.M.; Imran, M.A. Rate-Latency Optimization for NB-IoT With Adaptive Resource Unit Configuration in Uplink Transmission. *IEEE Syst. J.* **2021**, *15*, 265–276. [CrossRef]

23. 3GPP TS 36.331 V15.1.0 Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Radio Resource Control (RRC). Available online: https://portal.3gpp.org/desktopmodules/Specifications/SpecificationsDetails.aspx?specificationId=2440 (accessed on 10 February 2022).

24. Yu, Y. -J. NPDCCH Period Adaptation and Downlink Scheduling for NB-IoT Networks. *IEEE Internet Things J.* **2021**, *8*, 962–975. [CrossRef]

25. Andres-Maldonado, P.; Ameigeiras, P.; Prados-Garzon, J.; Navarro-Ortiz, J.; Lopez-Soler, J.M. An Analytical Performance Evaluation Framework for NB-IoT. *IEEE Internet Things J.* **2019**, *6*, 7232–7240. [CrossRef]
26. 3GPP R1-160480, "Consideration on uplink data Transmission for NB-IoT", 15th-19th February 2016. Available online: https://www.3gpp.org/ftp/tsg_ran/WG1_RL1/TSGR1_84/Docs/ (accessed on 25 August 2022).

27. Further Consideration on NB-PDSCH Design for NB-IoT. 3GPP, Sophia Antipolis, France, Rep. R1-161860 (2016-03-23). Available online: https://portal.3gpp.org/ngppapp/TdocList.aspx?meetingId=32047 (accessed on 25 August 2022).