Skip to main content

Performance optimization of LoRa nodes for the future smart city/industry


The application of long-range communication technologies such as LoRa to certain environments like smart cities/industries is a natural step forward towards the future IoT. However, the strict limitations imposed in some countries on the duty cycle of ISM bands can jeopardize this technological progress. To overcome this and, at the same time, improve IoT nodes’ transmission and power efficiency, a novel mathematical model has been derived. Its numerical analysis leads to a closed-form formula that characterizes node performance in terms of its transmission policy. The maximization of this formula—required to increase node performance—is then posed as an optimization problem whose solution yields smart transmission policies that maximize throughput while limiting energy consumption. The results achieved under this approach are compared to those obtained using the ADR algorithm (the most extended mechanism for choosing transmission parameters in LoRaWAN networks) and to random/conservative policies to further highlight the benefits of the proposal. Results reveal that the proposed method outperforms ADR by 33.20%, the conservative policy by 91.81%, and the random policy by 238.8%.


As IoT-based technologies are becoming cheaper and more robust, their presence in multiple sectors of our society is also increasing. Accordingly, unexplored and challenging situations are being faced by new deployments which, in addition, are generally expected to provide high performance at very low cost.

Among these particularly demanding environments are those characterized by their vast monitored extensions. Smart cities and smart industries illustrate perfect examples of these environments. Such IoT deployments focus on how smart machines and infrastructures can improve either citizens’ quality of life or production efficiency. By fundamentally making use of machine-to-machine communications, these IoT deployments strive to maximize three different factors:

  1. 1.

    Network performance: Information should be timely transmitted, avoiding delays [1]. However, high throughput may not be a strict requirement as, usually, short-sized packets are transmitted very infrequently.

  2. 2.

    Network robustness and safety: IoT should be fault-tolerant and resilient to damage as information must keep flowing under all circumstances [2].

  3. 3.

    Network cost efficiency:

    1. (a)

      Reducing operational expenditure: For example, avoiding replacing batteries by reducing the consumption of IoT nodes, providing high scalability to facilitate extending the network, etc.

    2. (b)

      Reducing capital expenditure: For instance, providing wide network coverage—that reduces number of gateways—reducing costs per IoT node, etc. [3].

Thus, smart cities/industries represent an attractive niche for new long-range IoT technologies. Moreover, their (1) license-free approach, (2) extremely low-power consumption, (3) reduced costs, and (4) robust communication schemes help attain the three aforementioned factors. In this interesting subset of IoT-based technologies, a very big player has recently attracted the attention of industry and academic communities: LoRa [4], short for long range. Reckoning with a proprietary modulation scheme based on the chirp spread spectrum, this technology has been geared towards the monitoring of very large tracts of land (with coverage ranges as large as 700 km [5]) while providing remarkable lifespans (longer than 2 years with two AA batteries [6]). These two features make LoRa extremely well-suited for application in large and harsh environments such as the abovementioned.

Unfortunately, due to its use of the industrial, scientific, and medical (ISM) license-free frequency band, LoRa deployments are subject to rigorous legal regulations in many countries. Specifically, when no listen-before-talk mechanisms are employed, as is the case with this particular technology [7], the maximum time ISM bands can be occupied per hour is regulated by what it is called the transmission duty cycle (TDC). For instance, in Europe, the ETSI TR 103 526 document [8] rules that, for the 868.0–868.8 MHz band, the maximum allowed transmission DC is 1%Footnote 1. Hence, IoT devices cannot occupy the ISM band for more than 36 s/h, preventing them from transmitting new packets if this limit is reached. Similar restrictions are observed in other parts of the globe for other bands, such as for the 779–787 MHz band in China or the 950–956 MHz band in Japan.

Due to this very tight band usage restriction, it is crucial to regard the TDC as the very scarce resource it is and manage it in a planned and optimal way. This intelligent use of the band is of special relevance in IoT networks where different prioritized events may be generated (e.g., industrial networks with machinery of different importance). In such networks, one should guarantee that enough TDC is saved for future high-priority events, while ensuring that low-priority ones are only reported when network activity is low enough. Furthermore, in LoRa-based wide-area networks (LoRaWAN networks), packets can be issued under different transmission configurations, which in turn, entail different TDC consumption and different packet reception rates (PRR). Therefore, optimal transmission policies should be derived to ensure that (1) geographical TDC regulations are met and (2) the performance of these long-range networks is maximized.

In this sense and when maximizing the performance of battery-powered network nodes, not only should the band usage be considered, but also transmission-related factors such as power expenditure must be examined. Extending the lifespan of IoT networks results in a further reduction of operational costs, which in turn decreases deployment costs. Hence, a broader definition of node performance that encompasses power and band usage efficiency shall be described for later analytical constrained optimization. Unfortunately, to the best of the authors knowledge, previous works on this matter have either overlooked the importance of the TDC as one of the performance-limiting factors (e.g., focusing only on power efficiency) or solely devoted their efforts to overcoming the TDC limitation (without maximizing performance).

However, the derivation of transmission policies that regard performance and battery of nodes (in TDC-limited environments) is shown to lead to an NP-hard optimization problem. To overcome this, we tune and apply two widely known meta-heuristics that are later proved to be well-fitted to run in hardware-constrained IoT devices—outperforming other traditional approaches.

Main contributions

With the aim of filling the research gaps presented in the previous paragraphs, the key contributions of this paper are now stated:

  • To the best knowledge of the authors, we present the first mathematical model of IoT LoRa devices that helps define and evaluate node performance in terms of power and band usage efficiency.

  • The derivation of optimal transmission policies is posed as a constrained optimization problem. This maximizes the throughput while complying with the TDC regulation of each country and keeping the energy consumption below a given maximum value. Note that these policies take into consideration the full context of nodes (i.e., TDC limitation, priority of generated events, battery life) when deciding on action to be taken.

  • Two widely known meta-heuristics are proposed for the computation of the transmission policies. These heuristics are implemented in hardware-limited IoT devices and are shown to be an absolute requirement to timely solve the constrained problem described above.

  • A comparison between transmission policies (in terms of performance) to further highlight the benefits of the proposed approach

The rest of the paper is organized into the following sections. The methods for this work are outlined in Section 2. Related work is presented next in Section 3. In Section 4, the dynamics of the TDC consumption and event generation are described to facilitate the mathematical modeling of node performance and energy consumption in Section 5. Section 6 formulates the problem of optimizing node performance and two meta-heuristics are proposed to solve it. Section 7 presents the results of comparing the suggested policy-derivation method to other classical and popular policies in terms of throughput. Finally, Section 8 outlines the main conclusions.


In this paper, we mathematically model the performance of LoRa nodes in terms of their behavior when reporting events. Analytically, our study copes with the complexity of LoRaWAN networks by modeling the internal state of nodes using the Markov mathematical framework. By doing so, we derive a closed-form formula for node performance that can be mathematically optimized with classic maximization algorithms. Our approach is shown to be able to run in hardware-constrained IoT devices (LoPy nodes) and to outperform traditional LoRaWAN solutions (such as adaptive data rate).

A visual representation of the approach outlined here can be found in Fig. 1.

Fig. 1

Methods employed. Methods employed for the derivation of optimal policies in LoRa nodes

Related work

The related work section is subdivided in two main parts: first, we comment on previous works related to LoRa-based IoT networks and later, we focus on how some of these works have looked into the derivation of smart strategies for packet transmissions.

Research on LoRa-based IoT networks

In the past few years, there has been a tremendous increase in the interest of long-range IoT networks for the monitoring of smart cities and smart industries. LoRa [4] has been the main actor in this revolution. Its long-lasting and long-distance coverage features have attracted the attention of many researchers [914]. Most of these published works on LoRa are mainly focused on either (1) analyzing, (2) comparing, or (3) predicting its performance:

  • Regarding the first task, analyzing LoRa performance, a large amount of different scenarios have been considered in the literature: civil infrastructures such as public transport [9] or bridges [10], line-of-sight and obstructed communications [11], industrial environments [12], precision agriculture [15, 16], etc.

  • With respect to the second task, comparing LoRa performance, thanks to the popularity of this technology, all the long-range, low-power alternatives have been analyzed and their differences outlined. Among them, we highlight license-free alternatives such as Sigfox [17] or Weightless [18], as well as licensed options such as NB-IoT [19].

  • Finally, regarding LoRa performance prediction, two works stand out for their rigorousness: The work in [13] thoroughly evaluated the potential throughput and coverage range of an IoT-based smart city deployment under different propagation conditions, via simulation. And [20] very carefully investigated the energy cost of different transmission configurations for a specific LoRa transceiver and environment.

Although these works analyzed valuable scenarios in which LoRa performance is generally well studied and detailed, none of the above papers attempt to systematically optimize network conditions or maximize any kind of figure of merit. Furthermore, with the notable exception of [14] which studied the impact of sub-band selection on LoRa nodes, the previously mentioned works lacked the generalization power that comes with universal, theoretical models. This reflects the still immature state of this type of long-range networks, as deduced by the sheer amount of solid optimization papers available for general wireless sensor networks [2124].

Two more aspects are worth analyzing in the current literature: the TDC-limitation problem and the power consumption in LoRa-based networks.

First, with respect to the TDC-limitation problem, two recent works [25, 26] have highlighted the importance of this factor and proposed a scheme in which the TDC limitation is met in an aggregated-fashion. There, the TDC limitation is met, on average, by the entire network, but certain individual nodes are allowed to exceed it, which may violate geographical regulations. In the same line, the work in [27] has remarked that the effects of TDC shortage can reduce the capacity and performance of large-scale deployments.

Regarding power consumption in LoRa-based networks, this is a more well-studied topic and many works could be discussed. Among these, we highlight [20] and [28] that analyzed the impact on battery lifetime of the different transmission parameters as well as [29] that mathematically extended it to encompass CPU, memory, and peripheral consumption. It is worth mentioning that the focus of these three papers is on analyzing and/or modeling, not on optimizing; thus, our interest in taking an optimization-centered approach.

Research on optimal transmission policies

In [30], the mathematical framework of reinforcement learning is applied to the problem of determining under which configuration should packets be transmitted in LoRaWAN networks. The derived transmission policies maximize a predefined reward metric. Although this metric is intrinsically related to throughput, battery consumption is neglected; thus, jeopardizing the effectiveness of such transmission policies in battery-powered IoT deployments. Furthermore, once the transmission policy is computed, it is downloaded to IoT nodes and not changed anymore (as it must be computed in more powerful devices such as LoRa Gateways). On the contrary, our approach is to let IoT devices update the derived optimal policies by making the policy derivation process computable in resource-constrained devices.

In [31], a different approach is taken to derive transmission policies. Instead of finding the optimal configuration under which an event should be reported, authors modeled an energy harvesting sensing unit that must determine the rate at which events should be reported to prevent nodes from quickly depleting their batteries. This, in contrast to our proposal, assumes a periodic monitoring-reporting approach, in which IoT nodes decide when events will be sensed and reported (and considers that every time a sensor is pulled, worth-reporting events are generated). Although very detailed mathematical models of the energy harvesting and consumption processes are proposed, authors assumed that there is only one valid reporting configuration (that consumes energy according to a given random distribution). This fails to capture the nature of modern IoT devices whose consumption depends on transmission configuration and thus, hinders its applicability to real deployments.

In a similar fashion and for scenarios in which multiple physical phenomena are monitored by single IoT nodes, authors in [32] proposed a method for determining not only the optimal frequency at which the events/readings should be measured, but also a way to decide which events should be reported according to users’ preferences. This work also assumes that there is only one way in which events can be reported (and thus, does not adapt transmission configurations) as well as fails to provide low-complexity approaches for deriving optimal actions in hardware-constrained devices.

All in all, the derivation of optimal transmission policies can be considered an active research area that encompasses classic IoT networks. For example, in [33, 34], packet size is found to have an important effect on IoT cognitive radio sensor networks and is consequently optimized to maximize network performance.

Although there are several works that either (1) exclusively evaluate the performance of LoRa nodes or (2) devote their efforts to the derivation of transmission policies, as far as we can tell, the academic community is still in need of studies that try to optimize transmission performance of LoRa nodes by deriving transmission policies that jointly optimize performance and power consumption. This is even more the case if prioritized events and TDC-restrictions are considered or computationally feasible solutions are to be provided.

System model

In IoT deployments, it is fairly common that in the interest of extending the lifespan of the network, nodes remain in deep sleep mode most of the time. However, with some periodicity (of T seconds), they wake up, sense some physical parameters, and report related events if required. This is called a sensing cycle, and the data of generated events is sent to LoRaWAN gateways, which stay awake and ready at all times. In this type of deployments, and especially for environments such as smart cities/industries (where a wide variety of phenomena can be monitored), reported events may have different priorities, which would reflect the severity of the detected phenomenon. As will be elaborated on this section, the main idea is that network nodes prioritize important events when deciding whether to report them and under which appropriate transmission configuration.

Regarding these transmission configurations, one of the main benefits of LoRa is its flexibility in terms of adjustable parameters, especially when compared to its direct competitors [35]. Each packet transmission can be generated under a specific bandwidth (BW), central frequency (CFEQ), coding rate (CR), spreading factor (SF), and transmission power (TXP). The BW indicates the range of frequencies over which the communication will take place, whereas the CFEQ determines its offset in terms of hertzs. The CR denotes the ratio between the number of payload bits and the length (in bits) of the error-correction code. Smaller values imply stronger error protection but longer packets. The SF is defined as the ratio between the symbol rate and chip rate. Higher values increase the sensitivity and range of communications at the expense of increasing the time-on-air (ToA) of packets. For instance, for an 11-byte payload, when transmitting at SF11 instead of SF10, the ToA increases from 370 to 823 ms, respectively. Finally, the TXP regulates the output power of the generated packet. These parameters play a crucial role in determining the final performance of the network. Hence, we need to optimally choose them with respect to the specific conditions of nodes. That is, we need to determine the optimal transmission policy.

Although the BW of the communication is a parameter that must be shared between the nodes and the gateways, the special characteristics of the LoRa modulation allow the gateways to receive packets sent with different values of CFEQ, CR, SF, and TXP transmission parameters. This lets LoRa nodes choose the configuration that is found to be optimal when reporting every individual event (based on path losses and other physical propagation phenomena). If not for the TDC and battery limitations, nodes would simply choose the SF/CR/TXP for which an acceptable communication robustness had been attained. However, to (1) comply with TDC regulations and (2) increase the performance of nodes while extending their lifespan, a trade-off must be considered when deciding transmission configurations.

As introduced in Section 1, the maximum time nodes can use the wireless channel is regulated by the TDC. The specific value, in terms of allowed seconds per hour, depends on the chosen sub-band and operating country. To better illustrate the problem and derive specific results, we will consider the case of the 868.0–868.8 MHz sub-band under the European ETSI TR 103 526 (the standard applicable to the largest number of countries). Although this directive defines up to 9 channels, only three of them (the so-called default channels) are mandatory for all end devices; thus, we will be focusing on these three. The aggregated TDC time of the three channels cannot exceed 36 s/h (1% of the total time). Thus, from a TDC perspective, they operate as a single channel. It is worth noting that the LoRa standard forces nodes to undergo a silent period after every packet transmission. This silent period (TOFF) varies with the DC of the band and with the ToA of the last transmitted packet (TON). Thereby, the TDC regulation is not only met in a “per hour” fashion, but also between any two packet transmissions. Formally, the silent period is defined by Eq. 1.

$$ T_{\text{OFF}} = \frac{T_{\text{ON}}}{DC} - T_{\text{ON}} $$

As an example, consider that a DC limitation of 1% applies and the last packet took 0.1 s to be transmitted (TON=0.1 s). In this scenario, the node radio must remain silent for TOFF=9.9 s before any further transmission. Although this scheme is aimed at reducing packet collisions and providing a fair access to the shared wireless medium, it effectively prevents nodes from transmitting packets in bursts. It should also be noted that, if an event is generated during a TOFF period, it must be queued or dropped. Considering the special case of time-sensitive scenarios such as smart industries, the real-time nature of reported events may make queuing unfeasible. Therefore, intelligently managing the use of the transmission band (i.e., the consumption of TDC) is of particular importance in such environments. Since real-time monitoring is assumed in this work, queuing events have not been considered—that is, events are dropped if generated during a TOFF period.

In light of the above, we propose a novel scheme in which the TDC is regarded as a commodity. It can be consumed, with packet transmissions and can be “recharged” and stored over time (throughout the paper, we have employed the common terminology of referring to the act of “accumulating” TDC as “recharging” it; this terminology is useful to think of the TDC as any other limited, rechargeable resource such as battery). More specifically, depending on the transmission configuration (BW/CR/SF) some TDC is consumed, based on TON, and depending on the transmission DC limitation, some TDC is recharged over time. To compute the pace at which the TDC is recharged, one might consider that at the beginning of each sensing cycle, T seconds have elapsed, and thus, some TDC has been stored. More formally, each sensing cycle, T·DC seconds of TDC are recharged.

Consequently, a Markov process can be used to mathematically model the evolution of the remaining TDC in an arbitrary node. At the beginning of its lifespan, the IoT node is considered to have 36 s of TDC, again assuming a DC of 1%. When it transmits, the state of the node evolves to reflect the consumption of TDC, based on the specific employed transmission configuration. Conversely, at the beginning of each sensing cycle, such a node regains T·DC seconds of TDC. The maximum storable TDC (TDCMAX) is 36 s. To force nodes to undergo a TOFF period after each event reported, transmission will only be permitted when nodes reach the TDCMAX state, known as transmittable state. If nodes were allowed to transmit as long as they had enough TDC (that is, TDC>0), the TOFF restriction would be violated. On the other hand, as commented before, this TOFF period also ensures that no more than 36 s of TDC are consumed per hour.

This Markovian model is depicted in Fig. 2. Note that the Markovian states represent the stored TDC. The states have been discretized (in milliseconds) to facilitate their analysis, but any arbitrarily small slot length (Q) can be employed to increase the model precision. At the beginning of each sensing cycle (of, e.g., T=5 s), T·DC=0.05 s (or 50 ms) are recharged, and thus, the node transitions from left to right. Conversely, when a packet is sent, the node transitions from the rightmost state to a state with less TDC, based on the type and length of the packet as well as on the transmission configuration.

Fig. 2

Markovian model of TDC. Markovian model for the TDC consumption/recharge scheme. A sensing cycle of T=5 s, a DC of 1%, and a TON=0.5 s have been considered in this representation. States indicate the stored TDC, expressed in milliseconds. When the node has enough TDC to transmit (that is, it is in a transmittable state where TDC = TDCMAX), transmissions are allowed (denoted in green). Otherwise, transmissions are not allowed (denoted in red)

To model the generation of events, one can consider that an event is generated randomly every sensing cycle with a probability λi, where the sub-index i indicates the type of such an event. Thus, the set of all the different λ conforms the vector Λ=(λ0,λ1,...,λK). Where λ0 defines the probability of not generating any event and equals \(\lambda _{0} = 1 - \sum _{1}^{K} \lambda _{i}\). Note that 0≤λi≤1 and \(\sum _{0}^{K} \lambda _{i} = 1\)—it is worth mentioning that λ can be interpreted as the average number of events generated every T seconds, that is the event generation rate and will always be less or equal to 1. Furthermore, each of these events reports phenomena of different importance (to be determined by network designers/operators). The vector G=(0,g1,...,gK) models the priority of each event. Note that the first item in this vector corresponds to the priority of a non-generated event and, consequently, equals zero. For the sake of clarity, and without loss of generality, we will analyze the case in which only two types of events may be generated, low-priority and high-priority events (with types i=1 and i=2, respectively). However, the procedure presented here can be easily extended to any number (K) of different packet priorities. As the generation of events is considered to be independent, that is, the generation of an event of a given priority does not condition the generation of the next event, we can model the packet generation as illustrated in Fig. 3. Note that each state j{0,1,2} indicates that an event of priority j has been generated.

Fig. 3

Markovian model of the event generation scheme. Note that states in this diagram represent the type (priority) of the generated event

The two Markov chains (represented in Figs. 2 and 3) fully describe the state of a node from the transmission perspective. Only when a given IoT node has enough TDC, i.e., it is in the transmittable state, and an event has been generated during its sensing cycle, state 1 or 2 of the second chain, can a transmission be issued.

Concept of performance

Since long-range IoT networks are mainly employed to monitor and report important phenomena, the performance of such networks can be naturally measured in terms of how much information is reported (which directly depends on the probability of generating events λi).

The priority of reported events (gi) is also considered to influence the performance of nodes. This way, reporting on more critical aspects of the environment is encouraged. Therefore, transmitting events of higher priority has a more positive impact on the performance (i.e., the performance increases linearly with the priorities of reported events). Similarly, the amount of total information conveyed (in terms of bytes) also affects node performance. Events with longer payloads (of Li bytes) have a larger impact on the performance.

Finally, as explained in Section 4, packets can be transmitted under different configurations. The specific selection of BW/CR/SF/TXP dictates the robustness of the packet transmission. Specifically, for a given signal-to-noise ratio (SNR), the tuple (BW,CRi,SFi,TXPi) fully determines the packet reception rate (PRR) of a reported event i. Since the PRR can be regarded as the probability of a packet being successfully received, the node performance is weighted by the PRR of transmitted packets to compute the expected amount of information successfully received. From an implementation point of view, nodes can learn about the SNR perceived by the gateway by piggybacking such information in any downlink packet (e.g., when joining the LoRaWAN network for the first time). Finally, Eq. 2 models the node performance.

$$ \gamma = \frac{\sum_{i=1}^{2} \lambda_{i}^{eff} \cdot L_{i} \cdot g_{i} \cdot \text{PRR}(\text{BW}, \text{CR}_{i}, \text{SF}_{i}, \text{TXP}_{i})}{T} $$

The performance of a node (γ) is computed as the expected amount of prioritized bytes reported per second, a metric similar to throughput that encompasses the priority of the reported information and the probability of being successfully received. Since nodes are considered to generate events of two different priorities (i{1,2}), each with a specific event generation probability λi, the performance of a node is the sum of the performance values obtained for both type of events. Note the presence of the sensing cycle period (T) in the denominator to compute the throughput in bytes per second and not in bytes per sensing cycle (as λ represents the probability with which an event is generated in a sensing cycle).

Furthermore, instead of directly using λi, the effective event-generation probability (\(\lambda _{i}^{\text {eff}}\)) is considered. This term accounts for the probability with which events of type i are generated while the node is in the transmittable state. As indicated in Section 4, for an event of type i to be reported, two conditions must be met: (1) an event of type i is sensed (this happens with probability λi) and (2) the node is in the transmittable state (this happens with probability P(transmittable)). If the latter is not met, not enough TDC is available and thus, the event cannot be reported. Since the event generation process is independent of the TDC state of the node, the effective event-generation rate can be computed as the product of both variables, that is, \(\lambda _{i}^{\text {eff}} = \lambda _{i} \cdot P\)(transmittable).

The specific value of P(transmittable) depends on the transmission policy, the probabilities with which these events are generated, and the pace at which the TDC is recharged. These parameters influence how nodes evolve over TDC states (depicted in Fig. 2) and determine the probability of a node being in the P(transmittable) state. The analysis of the Markov chain of Fig. 2 leads to the following equation (its complete derivation is detailed in Appendix 1):

$$ P(\text{transmittable}) = \frac{1}{1 + \sum_{i=1}^{2} (\lceil \frac{C_{i}}{T \cdot DC} \rceil - 1) \cdot \lambda_{i}} $$

Where Ci indicates the TDC consumption associated with the action chosen for events of type i, in other words, the TON for transmitting the event of type i. The final form of the performance metric is described in Eq. 4.

$$ \gamma = \frac{\sum_{i=1}^{2} \lambda_{i} \cdot L_{i} \cdot g_{i} \cdot \text{PRR}(\text{BW}, \text{CR}_{i}, \text{SF}_{i}, \text{TXP}_{i}) }{T \cdot (1 + \sum_{i=1}^{2} (\lceil \frac{C_{i}}{T \cdot DC} \rceil - 1) \cdot \lambda_{i})} $$

A careful look at Eqs. 3 and 4 reveals the trade-off between robustness and TDC consumption. More robust/conservative values of CR/SF lead to higher values of PRR; however, they also enlarge the ToA of packets and hence, TDC consumption (Ci). This, in turn, decreases P(transmittable) and \(\lambda ^{\text {eff}}_{i}\) which has a negative impact on γ. Note that, due to the nature of LoRa deployments, IoT nodes are only aware and responsible for their behavior; thus, performance has been formulated from a node-centric perspective. This implies that, although non-negligible, interferences are omitted as the nature of LoRa networks (sporadic transmissions of small pieces of information) make collisions very scarce—see Appendix 2 for more details and for a description of where/when this assumption holds true. Furthermore, a node cannot sense which transmission configuration is, a priori, less prone to interferences (as there is no carrier detection in LoRaFootnote 2); thus, they are supposed to be evenly distributed over all the configurations. To consider interferences, it should be gateways and not nodes, the entities in charge of computing transmission policies. This would place a big computational burden on these devices that may not be able to handle it—consider that LoRa gateways may be in charge of dozens or hundreds of end devices.

Equation 4 models the performance of nodes exclusively in terms of their expected, prioritized throughput. However, and as indicated in Section 4, power consumption is of paramount importance in most IoT networks. As the majority of IoT nodes are powered by batteries or energy harvesting devices (e.g., solar panels), the power consumption of such devices should be kept within reasonable values to extend the lifetime of IoT networks and thus, save on operational expenditures. In light of the importance of power consumption and to enrich the mathematical model of IoT nodes, the energy consumption rate (ω) of nodes is obtained in terms of the aforementioned variables. This energy consumption rate is defined in Eq. 5.

$$ \omega = \sum_{i=1}^{2} \frac{E(\text{CR}_{i}, \text{SF}_{i}, \text{TXP}_{i}, \text{L}_{i}) \cdot \lambda^{\text{eff}}_{i}}{T} $$

The energy consumption rate (i.e., power consumption), expressed in Watts, can be computed as the energy consumed per sensing cycle divided by the time duration of such a cycle. This figure is then aggregated for the two types of events. In turn, the energy consumed in a sensing cycle is the product of the energy consumed in reporting events of type i, E(CRi,SFi,TXPi,Li), and the probability with which such an event is sent in a given sensing cycle, \(\lambda ^{\text {eff}}_{i}\). As expected, the transmission configuration employed determines the energy required to report an event. More robust configurations entail longer ToA and hence, an increased energy consumption.

Optimization of performance

Once the throughput and power consumption of nodes is mathematically formulated, the maximization problem can be characterized. The objective is to find the transmission policy C that maximizes the throughput of the node while restricting its power consumption to a maximum value of ωmax watts. The transmission policy C is defined by the set (CR1,CR2,SF1,SF2,TXP1,TXP2), that is, the two transmission configurations employed in reporting both types of events. Thus, the objective is to find the C that maximizes γ while keeping ω under ωmax. Equation 6 formally defines this maximization problem:

$$ \begin{aligned} & \underset{\mathbf{C}}{\mathbf{maximize}} & & \gamma \\ & \mathbf{subject\ to} & & \omega < \omega_{\text{max}} \\ & & & \text{CR}_{1}, \text{CR}_{2} \in \{\frac{4}{5}, \frac{4}{6}, \frac{4}{7}, \frac{4}{8}\} \\ & & & \text{SF}_{1}, \text{SF}_{2} \in \{0, 7, 8, 9, 10, 11, 12\} \\ & & & \text{TXP}_{1}, \text{TXP}_{2} \in \{-4, -1, 2, 5, 8, 11, 14\} \end{aligned} $$

Note that only certain values of CR and SF are valid in LoRa. Specifically, allowed CR values are \(\frac {4}{5}\), \(\frac {4}{6}\), \(\frac {4}{7}\), and \(\frac {4}{8}\). Allowed SF values are 0, 7, 8, 9, 10, 11, and 12. Note that SF=0 has been included to indicate the action of dropping a packet. Similarly, it is quite common that radio transceivers can only transmit with specific transmission power values (defined in their respective datasheets). For illustrative purposes, the RN2483 LoRa transceiver has been considered [36]. Such a radio chip is manufactured by Microchip and permits 7 different transmission powers (expressed in Eq. 6 in dBm). Furthermore, and as indicated in the previous section, the BW over which the communication takes place must be the same for IoT end nodes and gateways. Therefore, this value is a static parameter that is shared among all devices. BW = 125 KHz is used throughout the rest of this section since this is the most popular value for its acceptable data rates and PRR values.

Forcing the variables under optimization (CF, SF, and TXP) to take discrete values makes the equation above an NP-hard combinatorial optimization problem with 38416 distinct valid configurations—for just two packet types. Hence, solving Eq. 6 by systematically exploring the entire solution space is unfeasible if one considers that such equation must be solved within very hardware-constrained IoT devices. To this end, two different widely known meta-heuristic have been tuned and tested: an elitist genetic algorithm (GA) [37] and a version of the classic simulated annealing (SA) algorithm [38]. Although a complete description of them is beyond the scope of this paper, it suffices to say that both work by iteratively improving a candidate solution (or a set of them) by evaluating and tweaking it. They have been chosen mainly due to their implementation simplicity and reduced requirements in terms of computational resources; thus, making it very appropriate for IoT devices. However, we acknowledge that the number of optimization algorithms is vast and an exhaustive evaluation of all of them is not practical for the purposes of this paper. Nevertheless, given the good performance of GA and SA—as will be shown below—we believe that the choice is appropriate and that making use of any other potentially faster alternative would not have a dramatic impact on the overall proposal performance.

Furthermore, the GA and SA heuristics have been implemented in LoPy nodes [39], a LoRa-enabled, Python-based IoT platform. The basic idea of this is to demonstrate that these two meta-heuristics can run in hardware-constrained IoT devices, and hence, that the problem under consideration is solvable by current IoT platforms. Interested readers are referred to [40] for further details on our specific implementation of these two algorithms. Also note that all programmed code is made publicly available for the sake of reproducibility. To validate the results yielded by these two approaches, the exhaustive search has also been implemented in a desktop computer—where modern multi-core CPUs make it viable—and has been used to compute the absolute best attainable performance.

A 500 individual nodes simulation with randomized parameters have been conducted and their best C and γ obtained with the three approaches: SA, GA, and exhaustive search. The parameters of nodes have been generated following the random distributions described in Table 1. The employed packet lengths are within the natural range of IoT monitoring assets of smart industries or infrastructures of the smart city [30]. The event generation probabilities are allowed to take any value between 0 and 1 to cover a wide variety of distinct scenarios. Nodes are placed randomly at different distances from the central gateway (GW). Specifically, nodes are placed from 500 m to 7 km away from the central GW; again, we believe that these are values that naturally match LoRa-based smart cities/industries scenarios [41].

Table 1 Random distributions used to generate the parameters of nodes

For the simulation of the noise (to compute SNR levels), we have employed the closest-fit pattern matching (CPM) method [42]. This extensively referenced method can accurately capture complex temporal dynamics of noise, finely representing the type of noise spikes that occur in dense IoT deployments. CPM is fed with a base noise trace [43] for it to artificially generate future noise levels. This noise trace is chosen so as to mimic scenarios where other interfering devices coexist in the same frequency band [44]. Finally, the maximum allowed power consumption is varied between 0.1 and 25 mW (note that only communication-related consumption is considered). These values simulate networks where nodes could be powered during 0.5–6 years (respectively) with a pair of regular AA batteries. These lifespans are completely in-line with the spirit of IoT LoRaWAN networks [27].

Table 2 shows the mean throughput values obtained with the three approaches. Results show that both the SA and the GA algorithms obtain throughput values remarkably close to those obtained with the exhaustive search. This means that, these naturally local-optimizing algorithms attain, in most cases, the global maximum value of γ. More precisely, mean throughput values differ from those achieved with the exhaustive search in just 1.26% for the SA algorithm and in 1.42% for the GA algorithm. These small differences illustrate the interest of such approaches that, in addition, make maximizing Eq. 6 timely solvable in hardware-constrained IoT devices. Regarding computation times, our specific implementation of the SA tends to be more than two times faster than the GA, hence making SA the preferred option (as SA also provides larger mean throughput values). Specifically, to compute C in LoPy nodes, the SA algorithm needed an average time of 4.3 s, whereas GA required 9.93 s, in average, for the same task.

Table 2 Mean throughput values obtained for 500 randomly simulated nodes and for the three different approaches of solving Eq. 6

These execution times and performance values prove that, although the performance maximization task is an NP-hard optimization problem, applying two widely known heuristics to the problem at hand can be an effective alternative to exhaustive-search approaches or other more complex alternatives.

Results and discussion

Once the optimal C can be derived in hardware-constrained IoT nodes (via the SA proposed algorithm), the performance values obtained with the proposed solution are compared to those attained under other well-established and intuitive transmission policies. The alternative transmission policies that will be considered to this matter are the following ones:

  • Random parameter selection. C will be randomly selected from the set of all feasible options. The only condition to satisfy is: ω<ωmax.

  • Conservative parameter selection. This policy gives priority to large PRR values. C will be selected such as ω<ωmax and PRR≥0.99. If multiple combinations are eligible, the C that leads to a higher PRR will be chosen. On the other hand, if there is no C that can jointly guarantee a PRR≥0.99 and ω<ωmax, high-priority packets will take precedence over low-priority ones (thus, discarding the latter).

  • LoRaWAN adaptive data rate (ADR). ADR is the de-facto LoRa mechanism for optimizing ToA of packets, data rates, and energy consumption in LoRa networks [45]. However, as the LoRaWAN specification does not suggest a particular implementation of the ADR mechanism, we consider for this matter the implementation provided by The Things Network, the largest public LoRaWAN network [46]. For a given SNR history, the ADR mechanism, that runs in a centralized entity (e.g., network server), determines the best C for a given node.

As in Section 6, 500 randomly generated nodes are simulated and their performance evaluated when the 4 different algorithms are employed to derive C. Again, the random distributions described in Table 1 are used to set the parameters of the nodes. Figure 4 depicts the obtained results in a box plot. Note that, for a particular simulated node, the proposed solution consistently outperforms other alternatives in terms of achieved throughput. However, since the final node performance is dominated by its configuration (i.e., generated packet lengths, event-generation rate) the performance value obtained in one scenario cannot be directly compared to that obtained in other scenario; this is the reason why the minimum throughput value attained with our proposed solution for 500 nodes is not greater than the maximum throughput value achieved with, e.g., the ADR mechanism.

Fig. 4

Throughput values for different policies. Box plot of the throughput values obtained for 500 randomly generated nodes when the 4 policy derivation algorithms are employed. The “proposed solution” solves Eq. 6 with the SA algorithm. Average obtained throughput is also indicated in the text

Expectedly, the transmission configurations derived from maximizing Eq. 6 using the SA algorithm, that is, the proposed solution, yield the average best node performance values (40.76 bytes/s). Specifically, when our solution is used instead of the ADR mechanism, an increase in the throughput of 33.20% is appreciated (from 30.60 to 40.76 bytes/s). This improvement enlarges up to 91.81% when our solution is preferred over a conservative policy derivation approach (from 21.25 to 40.76 bytes/s). Naturally, randomly choosing the transmission parameters lead to the worst performance values (238.8% smaller). These results highlight the value of mathematically modeling node performance for a later optimization.


As far as the authors are aware, this work presents the first mathematical model of LoRa nodes whose analysis helps to fully describe the operational nature of long-range IoT devices. Based on optimal policy-derivation theory, the main benefit of this new model lies in its capacity to numerically anticipate the performance of IoT nodes, a required feature of IoT networks deployed in crucial scenarios like smart cities/industries.

Furthermore, with the aim of enhancing the operation of such networks, the performance of nodes is posed and formulated as an optimization problem in which the band usage is limited. This illustrates the limitation on the transmission duty cycle imposed in many countries. By jointly considering band and power utilization efficiency, the maximum attainable performance of nodes, in throughput terms, is computed and optimized with respect to a set of feasible transmission parameters, thus obtaining what is known as the optimal transmission policy. In addition to this, power consumption of nodes is added as a constraint to the optimization problem to also enlarge node lifespans.

However, since only discrete values from a set of allowed configurations can be used in the optimization problem, this complex combinatorial optimization problem is not directly solvable in IoT nodes; mainly due to their limited computational power. To overcome this, two widely known meta-heuristics are tuned, tested, and shown to provide results close to those obtained under an exhaustive search approach. At the same time, implementations on a real IoT platform prove that running times of these two meta-heuristics are within reasonable values, and thus, our solution is fitted for hardware-constrained IoT devices. Finally, the performance values obtained under our solution are compared to three additional policies: a random policy, a conservative policy, and the ADR mechanism, the most popular approach for LoRaWAN nodes. Results highlight the goodness of our solution that increases performance in more than 33.20%, 91.81%, and 238.8% when compared to ADR, conservative, and random policies, respectively.

Appendix 1

Analysis of the Markov process

Let Qr be the amount of TDC recharged at the beginning of each sensing cycle expressed in seconds. For a given sensing periodicity, T, and a given duty cycle, DC; Qr=T·DC. Moreover, let C1 and C2 be the amount of TDC consumed (in seconds) when a packet of type 1 and 2 (respectively) is issued under a given transmission policy. Similarly, let λ1 and λ2 be the probabilities with which these two events are generated in each sensing cycle, and λ0=1−λ1λ2 the probability with which no event is generated.

For the sake of simplicity, a specific Markov chain is analyzed and then generalized. Figure 5 depicts such an example in which Qr=2 s, C1=8 s, C2=11 s. The Markov chain is discretized with Q=1 s. Note that each state indicates the remaining TDC of the node.

Fig. 5

Simple Markovian model of TDC. Markovian model of the TDC consumption/generation scheme. Note that each state indicates the (discretized) remaining TDC of the node in seconds

Each sensing cycle, 2 s of TDC are recharged. Note that the maximum storable TDC, TDCMAX, is equal to 9 s and hence, in the state 8, just 1 s of TDC is recharged. If, in a sensing cycle, an event of type 1 is transmitted, 8 s of TDC are also consumed. This would lead to a total decrement of 8−2=6 seconds of TDC. Similarly, if a packet of type 2 is generated, 9 s of TDC are consumed in total. Note that only when the node has 9 s of TDC, that is, TDC=TDCMAX, can it generate events (i.e., the transmission of a type 1 or 2 information packet). This state is called transmittable state because only from that state can a new transmission be generated/issued.

In order to derive the steady-state probability of being in the transmittable state, π9, the equilibrium distribution of the Markov chain is analyzed.

Solving the above equations:

$$ \begin{aligned} \pi_{9} &= \frac{1}{1 + 3 \cdot \lambda_{1} + 5 \cdot \lambda_{2}}\\ \pi_{9} &= (\pi_{8} + \pi_{7}) + \pi_{9} \cdot \lambda_{0} \qquad\pi_{4} = \pi_{2} \\ \pi_{8} &= \pi_{6} \qquad\qquad\qquad\qquad\quad\pi_{3} = \pi_{1} + \pi_{9} \cdot \lambda_{1} \\ \pi_{7} &= \pi_{5} \qquad\qquad\qquad\qquad\quad\pi_{2} = \pi_{0} \\ \pi_{6} &= \pi_{4} \qquad\qquad\qquad\qquad\quad\pi_{1} = 0 \\ \pi_{5} &= \pi_{3} \qquad\qquad\qquad\qquad\quad \pi_{0} = \pi_{9} \cdot \lambda_{2} \\ &\qquad\qquad\qquad\sum_{i=0}^{i=9} \pi_{i} = 1\\ \end{aligned} $$

To generalize the equation above, it should be noted that the number of sensing cycles required to recharge the TDC spent/consumed in a transmission of a type-1 packet and a type-2 packet are 3 and 5, respectively. This can be corroborated by carefully observing the state transitions of Fig. 5. For instance, for a type-2 packet transmission, the state of the node evolves from 9 to 0. After that, 5 sensing cycles must be elapsed to get to state 9 again. Hence, the 3 and 5 values can be substituted with a more general value. Thus, we get the following final expression:

$$ P(\text{transmittable}) = \pi_{9} = \frac{1}{1 + \lceil \frac{C_{1} - Q_{r}}{Q_{r}} \rceil \cdot \lambda_{1} + \lceil \frac{C_{2} - Q_{r}}{Q_{r}} \rceil \cdot \lambda_{2}} $$

Appendix 2

Justification for node-centric approach

LoRaWAN networks follow a star topology, meaning that there is a direct connection between end devices (IoT nodes) and gateways. This implies that there is no cooperation between nodes, as is common in multi-hop or mesh topologies. Therefore, from a physical point of view, the only way in which nodes interact with each other is via interference. If two nodes transmit under the same frequency channel and SF at the same time, their packet may, a priori, collide. However, the so-called capture effect can make the more powerful packet (in terms of transmission power) prevail over the weaker one [47]. This effect, together with the low data generation rate, short packets, and the availability of different non-colliding frequency channels, makes packet collisions very rare for small to medium networks. To demonstrate this, the following mathematical experiment is carried out. Consider a LoRa network composed of 100 nodes and that the 100 of them are in the coverage area of their respective neighbors and transmitting under the same channel (the worst-case scenario). Each of these nodes generates packets of 33 bytes with an event-generation rate varying from 1 packet per hour to 30 packets per hour. Note that the LoRa MAC protocol, in the worst case (that is, disregarding the capture effect), follows an unslotted aloha-like mechanism, and therefore the probability of collision for a packet transmission can be expressed as follows:

$$ P(col) = 1 - e^{-T_{i} \cdot \lambda_{cfg}^{i}}, $$

where Ti indicates the ToA of a generated packet i, and \(\lambda _{cfg}^{i}\), the total aggregated traffic for the 100 nodes and for the SF being employed in such a packet transmission. For illustrative purposes and clarity, we assume a uniform distribution of SFs in the network. With all of this taken into consideration, the probability of collision for each configuration is described in Table 3 for 4 different packet generation rates.

Table 3 Probability of collision, P(col), for different spreading factors and packet generation rates

Note that for typical LoRa network traffic activity, the collision probability is very low even for the SF longest configuration (SF = 12). This demonstrates the applied reasoning: although non-negligible, collisions do not play a major role in typical LoRa networks. This is even more so when:

  • At least, the three mandatory channels are considered, which divide by three the effective aggregated event-generation rate. In other words, if one considers the three channels, the values presented in Table 3 would apply for a network composed of three times more devices.

  • The capture effect is taken into account since, as demonstrated in [47], can even half the amount of collisions in a LoRa network.


  1. 1.

    Note that throughout the rest of the document, TDC will be used to denote the precise amount (in seconds) of time that nodes can access the medium per hour (e.g. 36 seconds), whereas DC will represent the percentage of such an hour (e.g. 1%).

  2. 2.

    Although there is a technique called channel activity detection, it is geared towards detecting the preamble of potentially colliding LoRa transmissions. Therefore, when a transmission—whose preamble has already been sent—is on the air, there is no guarantee that it could be detected by other neighboring LoRa nodes.



Adaptive data rate




Central frequency


Coding rate


Genetic algorithm


Industrial, scientific, and medical band


Long range


Packet reception rate


Simulated annealing


Spreading factor


Signal-to-noise ratio


Transmission duty cycle


Transmission power


  1. 1

    MR Palattella, M Dohler, A Grieco, G Rizzo, J Torsner, T Engel, L Ladid, Internet of Things in the 5G era: enablers, architecture, and business models. IEEE J. Sel. Areas Commun.34(3), 510–527 (2016).

    Article  Google Scholar 

  2. 2

    RM Sandoval, AJ Garcia-Sanchez, F Garcia-Sanchez, J Garcia-Haro, Evaluating the more suitable ISM frequency band for iot-based smart grids: a quantitative study of 915 MHz vs. 2400 MHz. Sensors (Switzerland). 17(1), 76 (2017).

    Article  Google Scholar 

  3. 3

    R Sanchez-Iborra, MD Cano, State of the art in LP-WAN solutions for industrial IoT services. Sensors (Switzerland). 16(5) (2016).

    Article  Google Scholar 

  4. 4

    LoRa-Alliance, LoRa (2017). Accessed 22 Feb 2018.

  5. 5

    TheThingsNetwrok, Ground breaking world record! LoRaWAN packet received at 702 km distance (2017). Accessed 22 Feb 2018.

  6. 6

    F Van den Abeele, J Haxhibeqiri, I Moerman, J Hoebeke, Scalability analysis of large-scale LoRaWAN networks in ns-3. IEEE Internet Things J. 4(6), 2186–2198 (2017).

    Article  Google Scholar 

  7. 7

    D Zucchetto, A Zanella, Uncoordinated access schemes for the IoT: approaches, regulations, and performance. IEEE Commun. Mag.55(9), 48–54 (2017).

    Article  Google Scholar 

  8. 8

    ETSI, Final draft ETSI EN 300 220-1 V2.4.1 (2012-01). Technical Report REN/ERM-TG28-434 (2012).

  9. 9

    JG James, S Nair, in TENCON 2017 - 2017 IEEE Region 10 Conference. Efficient, real-time tracking of public transport, using LoRaWAN and RF transceivers, (2017), pp. 2258–2261.

  10. 10

    F Orfei, CB Mezzetti, F Cottone, in 2016 IEEE SENSORS. Vibrations powered LoRa sensor: an electromechanical energy harvester working on a real bridge, (2016), pp. 1–3.

  11. 11

    A Rahman, M Suryanegara, in 2017 International Conference on Signals and Systems (ICSigSys). The development of IoT LoRa: a performance evaluation on LoS and Non-LoS environment at 915 MHz ISM frequency, (2017), pp. 163–167.

  12. 12

    J Haxhibeqiri, A Karaagac, F den Abeele, W Joseph, I Moerman, J Hoebeke, in 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA). LoRa indoor coverage and performance in an industrial environment: Case study, (2017), pp. 1–8.

  13. 13

    D Magrin, M Centenaro, L Vangelista, in 2017 IEEE International Conference on Communications (ICC). Performance evaluation of LoRa networks in a smart city scenario (IEEENew York, 2017), pp. 1–7.

  14. 14

    RB Sørensen, DM Kim, JJ Nielsen, P Popovski, Analysis of latency and MAC-layer performance for class A LoRaWAN. IEEE Wirel. Commun. Lett.PP(99), 1 (2017).

    Article  Google Scholar 

  15. 15

    H Jawad, R Nordin, S Gharghan, A Jawad, M Ismail, Energy-efficient wireless sensor networks for precision agriculture: a review. Sensors. 17(8), 1781 (2017).

    Article  Google Scholar 

  16. 16

    D Davcev, K Mitreski, S Trajkovic, V Nikolovski, N Koteli, in 2018 14th IEEE International Workshop on Factory Communication Systems (WFCS). IoT agriculture system based on lorawan, (2018), pp. 1–4.

  17. 17

    B Vejlgaard, M Lauridsen, H Nguyen, IZ Kovacs, P Mogensen, M Sorensen, in 2017 IEEE 85th Vehicular Technology Conference (VTC Spring), MSWiM ’16. Coverage and capacity analysis of Sigfox, LoRa, GPRS, and NB-IoT (ACMSydney, 2017), pp. 1–5.

  18. 18

    C Goursaud, J-M Gorce, Dedicated networks for IoT : PHY / MAC state of the art and challenges. EAI Endorsed Trans. Trans. Things (2015).

    Article  Google Scholar 

  19. 19

    S Persia, C Carciofi, M Faccioli, in 2017 AEIT International Annual Conference. NB-IoT and LoRA connectivity analysis for M2M/IoT smart grids applications, (2017), pp. 1–6.

  20. 20

    M Bor, U Roedig, in Proceedings of the 13th IEEE International Conference on Distributed Computing in Sensor Systems (DCOSS), Ottawa, ON, Canada. LoRa Transmission Parameter Selection, (2017), pp. 5–7.

  21. 21

    R Asorey-Cacheda, AJ Garcia-Sanchez, F Garcia-Sanchez, J Garcia-Haro, A survey on non-linear optimization problems in wireless sensor networks. J. Netw. Comput. Appl.82:, 1–20 (2017).

    Article  Google Scholar 

  22. 22

    D Rodenas-Herraiz, AJ Garcia-Sanchez, F Garcia-Sanchez, J Garcia-Haro, On the improvement of wireless mesh sensor network performance under hidden terminal problems. Futur. Gener. Comput. Syst.45:, 95–113 (2015).

    Article  Google Scholar 

  23. 23

    S D’Oro, L Galluccio, S Palazzo, G Schembra, A game theoretic approach for distributed resource allocation and orchestration of softwarized networks. IEEE J. Sel. Areas Commun.35(3), 721–735 (2017).

    Article  Google Scholar 

  24. 24

    Y Mao, J Zhang, KB Letaief, Dynamic computation offloading for mobile-edge computing With energy harvesting devices. IEEE J. Sel. Areas Commun.34(12), 3590–3605 (2016).

    Article  Google Scholar 

  25. 25

    C Pham, in 2015 IEEE 11th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob). Deploying a pool of long-range wireless image sensor with shared activity time, (2015), pp. 667–674.

  26. 26

    C Pham, QoS for long-range wireless sensors under duty-cycle regulations with shared activity time usage. ACM Trans. Sen. Netw.12(4), 33:1–33:31 (2016).

    MathSciNet  Article  Google Scholar 

  27. 27

    F Adelantado, X Vilajosana, P Tuset-Peiro, B Martinez, J Melia-Segui, T Watteyne, Understanding the limits of LoRaWAN. IEEE Commun. Mag.55(9), 34–40 (2017).

    Article  Google Scholar 

  28. 28

    L Casals, B Mir, R Vidal, C Gomez, Modeling the energy performance of LoRaWAN. Sensors. 17(10), 2364 (2017).

    Article  Google Scholar 

  29. 29

    B Martinez, M Montón, I Vilajosana, JD Prades, The power of models: modeling power consumption for IoT devices. IEEE Sensors J.15(10), 5777–5789 (2015).

    Article  Google Scholar 

  30. 30

    RM Sandoval, A-J Garcia-Sanchez, J Garcia-Haro, TM Chen, Optimal policy derivation for transmission duty-cycle constrained LPWAN. IEEE Internet Things J.5(4), 3114–3125 (2018).

    Article  Google Scholar 

  31. 31

    C Tunc, N Akar, Markov fluid queue model of an energy harvesting IoT device with adaptive sensing. Perform. Eval.111:, 1–16 (2017).

    Article  Google Scholar 

  32. 32

    S Tata, M Mohamed, A Megahed, in 2017 IEEE International Conference on Services Computing (SCC). An optimization approach for adaptive monitoring in IoT environments (IEEESan Francisco, 2017), pp. 378–385.

  33. 33

    C Majumdar, D Lee, AA Patel, SN Merchant, UB Desai, Packet-size optimization for multiple-input multiple-output cognitive radio sensor networks-aided Internet of Things. IEEE Access. 5(99), 14419–14440 (2017).

    Article  Google Scholar 

  34. 34

    MC Oto, OB Akan, Energy-efficient packet size optimization for cognitive radio aensor networks. IEEE Trans. Wirel. Commun.11(4), 1544–1553 (2012).

    Article  Google Scholar 

  35. 35

    A Augustin, J Yi, T Clausen, WM Townsley, A Study of LoRa: Long range & low power networks for the Internet of Things. Sensors. 16(9), 1466–1484 (2016).

    Article  Google Scholar 

  36. 36

    Microchip, Low-power long range LoRa technology transceiver module (2017). Accessed 23 Feb 2018.

  37. 37

    D Whitley, A genetic algorithm tutorial. Stat. Comput.4(2), 65–85 (1994).

    Article  Google Scholar 

  38. 38

    E Aarts, J Korst. Simulated Annealing and Boltzmann Machines: A Stochastic Approach to Combinatorial Optimization and Neural Computing (Wiley, Inc.New York, 1989).

  39. 39

    Pycom, LoPy IoT devices (2016). Accessed 23 May 2018.

  40. 40

    RM Sandoval, Data and algorithms (2018). Accessed 20 Dec 2018.

  41. 41

    J Haxhibeqiri, F den Abeele, I Moerman, J Hoebeke, LoRa Scalability: a simulation model based on interference measurements. Sensors. 17(6), 1193–1218 (2017).

    Article  Google Scholar 

  42. 42

    H Lee, A Cerpa, P Levis, in Information Processing in Sensor Networks, 2007. IPSN 2007. 6th International Symposium On. Improving wireless simulation through noise modeling, (2007), pp. 21–30.

  43. 43

    TOSSIM, Meyer heavy noise trace (2007). Accessed 17 Dec 2018.

  44. 44

    M Lauridsen, B Vejlgaard, IZ Kovacs, H Nguyen, P Mogensen, in 2017 IEEE Wireless Communications and Networking Conference (WCNC). Interference Measurements in the European 868 MHz ISM Band with Focus on LoRa and SigFox (IEEESydney, 2017), pp. 1–6.

  45. 45

    V Hauser, T Hégr, in 2017 IEEE 5th International Conference on Future Internet of Things and Cloud (FiCloud). Proposal of adaptive data rate algorithm for LoRaWAN-based infrastructure, (2017), pp. 85–90.

  46. 46

    TheThingsNetwork, LoRaWAN Adaptive Data Rate (2016). Accessed 24 Apr 2018.

  47. 47

    D Bankov, E Khorov, A Lyakhov, in 2017 IEEE 28th Annual International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC), vol. 2017-Octob. Mathematical model of LoRaWAN channel access with capture effect (IEEEMontreal, 2017), pp. 1–5.

Download references

Author information



Corresponding author

Correspondence to Ruben M. Sandoval.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Sandoval, R.M., Garcia-Sanchez, A. & Garcia-Haro, J. Performance optimization of LoRa nodes for the future smart city/industry. J Wireless Com Network 2019, 200 (2019).

Download citation


  • Long-range networks
  • LoRa
  • IoT
  • Smart city
  • Smart industry