Sequential Waterfilling for Adaptive Data Rate allocation in LoraWAN

07/15/2019 ∙ by Giuseppe Bianchi, et al. ∙ 0

LoRaWAN (Long Range Wide Area Network) is emerging as an attractive network infrastructure for ultra low power Internet of Things devices. Even if the technology itself is quite mature and specified, the currently deployed wireless resource allocation strategies are still coarse and based on rough heuristics. This paper proposes an innovative "sequential waterfilling" strategy for assigning Spreading Factors (SF) to end-devices. Our design relies on three complementary approaches: i) equalize the Time-on-Air of the packets transmitted by the system's end-devices in each spreading factor's group; ii) balance the spreading factors across multiple access gateways, and iii) keep into account the channel capture, which our experimental results show to be very substantial in LoRa. While retaining an extremely simple and scalable implementation, this strategy yields a significant improvement (up to 38%) in the network capacity over the default Adaptive Data Rate (ADR), and appears to be extremely robust to different operating/load conditions and network topology configurations.



There are no comments yet.


page 2

page 7

page 11

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

The Internet of Things (IoT) community is currently focusing on the design of large (city/regional-scale) network infrastructures via either proprietary technologies such as LoRaWAN [LoRa] or 3GPP standards like Narrow-Band-IoT (NB-IoT, [NBIoT]). In this paper we specifically focus on LoRaWAN, a promising solution for large-scale ultra low power IoT deployments [LoraforIoT][Alliance]. By operating in the unlicensed Industrial, Scientific and Medical (ISM) radio bands, LoRaWAN’s ease of deployment makes such a technology a serious candidate for revolutionizing pervasive smart-city services in fields such as transportation, energy or health [Health16].

While LoRaWAN inherits several “classical” wireless network features, such as native support of multiple transmission rates, it exhibits many peculiar characteristics which make the resource allocation problem quite original and still prone to significant improvements. Indeed, multi-rate support is specifically accomplished in LoRaWAN by exploiting six different spreading factors

for transmitting packets between End-Devices (ED) and network GateWays (GW). The selection of the spreading factor is a compromise between message duration and packet delivery probability (or, dually, communication range). In principle, each node can communicate by selecting the

minimum SF which permits correct reception by an intended gateway; indeed, this is the design target of the default ADR strategy currently employed in LoRaWAN deployments [Alliance13]. However, as duly discussed in this paper, three further aspects can be considered to improve the total network capacity.

First, as well known, transmissions with different spreading factors can be considered orthogonal (at least in first approximation). A second and quite specific feature of LoRa is the extent to which the so-called channel “capture” may enter into play. Obviously, capture occurs in any wireless technology. Whenever two signals are simultaneously on the air, provided that the difference in the signal strength is sufficiently large, a receiver may still correctly decode the stronger signal. While previous work has duly experimentally assessed [Bor2016] and mathematically modeled [Bankov17] the quantitative impact of capture in LoRa, we are not aware of previous work that constructively exploits the capture for resource allocation. As a matter of fact, as discussed in details later on, packet capture in LoRa is very significant: the robust form of frequency modulation employed in LoRa brings about the possibility to capture a packet transmission even for signal strength differences in the order of as little as 1 dB. Goal of this paper is (also) to exploit such distinctive LoRa’s feature, so far apparently neglected by prior resource allocation works. Third, and in contrast to many classical wireless local area technologies where Access Point (AP) selection is explicit (e.g. performed by means of an association procedure), LoRaWAN does not mandate a link-level association to a specific radio access station (named “gateway” in LoRaWAN’s jargon), and thus a same signal may be seamless received by multiple gateways, even tens of Km away when large spreading factors are employed. As shown in this paper, this fact, once explicitly accounted for, may bring about significant gains with respect to resource allocation strategies, such as ADR, which are “just” designed to optimize the transmission towards a target (closer) gateway.

The main contribution of this paper consists in the design of a LoRaWAN resource allocation scheme which jointly and constructively takes into account all the three specific aforementioned features. Our proposed approach, named EXPLoRa-Capture (EXPLoRa-C), is a significant evolution of the algorithm presented in our previous work [Explora] (focused only on single gateway and no capture). EXPLoRa’s first baseline principle, intuitively postulated in [Explora] and hereafter more rigorously proven via a mathematical model (see section 3.1), consists in attempting to assign different spreading factors to end-devices in order to equalize the Time-on-Air - for each spreading factor’s group, i.e., for each group of (potential) interferers. This balancing among spreading factors implies that some end-devices shall transmit at a larger than minimum spreading factor. Starting from this base, the “sequential waterfilling” approach proposed in this paper is a simple but accurate heuristic which retains a very low computational complexity (its iterative nature, mainly based on sorting operations, yields and extremely fast and scalable computation) meanwhile taking into account both capture effect and network topology (i.e. presence of multiple gateways) to drive the selection of which specific end-devices shall scale-up their spreading factor.

In details, the contribution of the paper is threefold.

  1. we analytically provide the optimal load allocation across SFs and evaluate the LoRaWAN cell capacity under the channel capture effect; we validate these models by using LoRaSim [LoraSim] both with and without channel capture;

  2. we propose and design EXPLoRa-C, a resource allocation strategy relying on which revisits and extends our previous approach [Explora], by casting it into a multi-gateway context, and by further taking advantage of the channel capture effect.

  3. we perform an extensive performance analysis both in a single gateway scenario and in a multi-gateway one, showing significant EXPLoRa-C’s performance gains with respect to alternative strategies, including ADR.

The rest of the paper is organized as follows. The background on how LoRaWAN operates is provided in section 2. Section 3 analyses the capacity that can be achieved in a LoRa cell and derives the optimal load allocation on the basis of the EXPLoRa paradigm (see Sec. 3.1). The capacity improvements under the capture effects are analytically discussed in section 3.2. The heuristics to implement EXPLoRa-C in both the single cell scenario and multi-gateway one and under the capture effects are in section 4 while the performance evaluations are presented in section 5. Section 6 presents the main works in the current literature while conclusions and future work are discussed in section 7.

2 LoRaWAN: background

The LoRaWAN’s architecture is built on a star topology formed by multiple LoRa end-devices interconnected to gateways (see figure 1). A message transmitted by an end-device can be in principle received by multiple far-away gateways, which in turns forward the collected messages to a Network Server (NS) that interacts with the different Application Servers (AS). Battery-powered LoRa nodes are meant to last for a long time (in some scenarios, up to 10 years or even more); as such they communicate using a very low power and low bit rate. Still, they are able to reach quite long distances (in the order of tens of kilometers in case of direct line of sight) owing to very robust signal spreading techniques. Communication is bi-directional, although uplink communications from end-devices to the network server are strongly favoured.

Fig. 1: LoRaWAN architecture in case of three gateways with overlapping coverage areas

LoRa operates in the unlicensed ISM radio band that are available worldwide. In Europe, it uses the ISM frequencies in the range []. While LoRa is a proprietary technology developed by Semtech [LoRa], LoRaWAN specification are publicly available and promoted by the open-source LoRa Alliance [Alliance13]. LoRa transmissions are regulated by having a maximum transmission power to () in the uplink and maximum transmission power of () in the downlink. Moreover, in employs a duty cycle of or per day, depending on the channel. Communication between EDs and GWs is spread out on different frequency channels and data rates. LoRa uses up to 6 different programmable SF: 7, 8, 9, 10, 11, 12. Furthermore, also the adopted bandwidth can be configured: , and (typically for the ISM band). For a given SF, the narrower the bandwidth, the higher the receiver sensitivity. LoRa is a chirp spread spectrum modulation, which uses frequency chirps with a linear variation of frequency over time in order to encode information. This modulation is immune to the doppler effect and also quite cheap to be implemented. It offers a sensitivity of the order of . The LoRa Data Rate () depends on the Bandwidth () in Hz, the spreading factor and the Coding Rate () as:


where the symbols/s are given by with and the channel coding rate is with the number of redundancy bits .
The symbol duration (sec) is calculated as follow:

Data Rate Configuration bits/s Max payload
SF12/125kHz 250 59
SF11/125kHz 440 59
SF10/125kHz 980 59
SF9/125kHz 1760 123
SF8/125kHz 3125 230
SF7/125kHz 5470 230
SF7/250kHz 11000 230
TABLE I: Data rates and maximum payload size as a function of the SF

By increasing the spreading factor, the bit rate or data rate is decreased as reported in table 1. LoRa devices use a higher spreading factor when the signal is weak or there is a strong interference in the used channel. If an end-device is far away from a gateway, the signal gets weaker and therefore needs a higher spreading factor. Using a higher SF means a longer symbol duration so a longer Time-on-Air , i.e., the total air transmission time of a LoRa packet.

The selection of the data rate is a trade-off between communication range and packet duration. Packets transmitted with different SFs, in principle, do not interfere with each other. To maximize both battery life of the end-devices and overall network capacity, the LoRa network infrastructure can manage the data rate and RF output for each end-device individually by means of an ADR scheme. This is a mechanism for optimizing data rates, and energy consumption in the network. ADR should be enabled whenever an end-device has sufficiently stable RF conditions. This means that it can generally be enabled for static devices. If the static end-device can determine that RF conditions are unstable (for example, when a car is parked on top of a parking sensor), ADR should (temporarily) be disabled. Mobile end-devices should be able to detect when they are stationary for a longer times, and enable ADR during those times. To determine the optimal data rate, the network needs some measurements (uplink messages).

By means of adaptive data rate control in the frame header, the LoRa network allows the end-devices to individually use any of the possible data rates. This feature is used by the LoRaWAN to adapt and optimize the data rate of static end-devices. When the ADR is enabled the network will be optimized to use the fastest data rate possible. ADR control may not be possible when the radio channel attenuation changes fast and constantly. When the network is unable to control the data rate of a device, the device’s application layer should control it. It is recommended to use a variety of different data rates in this case. The application layer should always try to minimize the aggregated given the network conditions. If the ADR bit is set, the network will control the data rate of the end-device through the appropriate MAC commands. If the ADR bit is not set, the network will not attempt to control the data rate of the end-device regardless of the received signal quality. The ADR bit may be set and unset by the end-device or by the NS on demand. However, whenever possible, the ADR scheme should be enabled to increase the battery life of the end-device and maximize the network capacity. So depending on its state of mobility, an ED can request the network to optimize its data rate using ADR. If an end-device whose data rate is optimized by the network to use a data rate higher than its lowest available data rate, it periodically needs to validate that the network still receives the uplink frames.

3 Capacity of LoRa Cells

LoRa cells work as non-slotted Aloha systems. Under Poisson packet arrivals, it is possible to simply evaluate the cell throughput as , being the normalized load offered to the cell. The probability of correctly receiving a packet transmission, which is a typical parameter considered for characterizing LoRa systems (often called Data Extraction Rate- ) is given by . Since different orthogonal spreading factors are available, the system works as the super-position of multiple coexisting (but independent) Aloha systems, each one experiencing the load due to the nodes employing a given spreading factor.

Let be the total number of EDs in the cell employing a SF equal to (with ). The time interval required for transmitting a packet is given by the sum of the preamble time, which lasts symbol times as in (2), and payload transmission time. Since each symbol time codes bits and a channel coding with rate is applied, the time required for transmitting over the air a frame long bytes with spreading factor can be expressed, for simplicity, as:


Assuming that each ED generates packets with a source rate of pkt/s, the normalized load using spreading factor can be expressed as The total cell capacity results equal to and can dramatically trash (down to zero) as the loads increase.

3.1 Optimal load allocations across SFs

Fig. 2: Data Extraction Rate as a function of the number of EDs configured on each SF. When only 2 SFs are used, and (a) and when 3 SFs are used , and (b). When single SF is used (c) in comparison with Aloha formula

The problem of spreading factor allocation in a network with total EDs can be represented by the choice of , , , , i.e. the choice of the number of EDs using each available spreading factor, with the constraint that . A possible optimization criterion could be the maximization of the average data extraction rate:


If we substitute with and null all the derivatives with respect to a generic with , we obtain:

By relaxing the constraint of an integer number of end devices per each spreading factor, i.e. by permitting real values for each , from the previous equation, it is evident that the solution , can be a maximum or a minimum because it nulls all the derivatives. By solving for all the SFs and considering the constraint on the total number of EDs, we have:


If we assume that the network is working in stable conditions and therefore is higher than zero, the solution is a maximum.

For very high loads, when , the solution becomes a minimum. In such a condition, it is interesting to see that exhibits other maximization solutions, which are obtained by enforcing a normalized offered load equal to 0.5 (i.e. in all the SFs except one , in which all the residual are allocated. In other words, for high load conditions, is maximized by leaving one SF working in unstable conditions (and in particular, the optimal choice is ), and by optimizing the load of all the remaining SFs by setting . Obviously, since in practice only an integer number of stations are possible, the final solution has to be obtained by rounding .

Figure 2 visualizes the previous considerations in a system with two (2-a) or three (2-b) available SFs and a total number of EDs equal to 100. When only two SFs are available ( and ), the optimal number of nodes configured on each SF can be determined by studying a single variable function. In the figure 2-a we can immediately recognize that the point which nulls the derivative of is given by the solution of the equality , i.e. =66 nodes, being about twice as . As the source rate employed by all the nodes increases, the point changes from a maximum to a minimum point. For high load conditions, the optimal choice is to fix the load for one of the two channels and let the other one become congested. Since the number of stations working in stable conditions are maximized when (rather than ), the global maximum is reached when . The figure 2-b shows a 3D plot when an additional SF is considered (), for a source rate

. Also in this case, the vector

which nulls the derivative can be easily recognized.

3.2 Capacity Improvements due to channel capture

As discussed in [Bor2016] and experimentally validated in [LoRaImperfect], LoRa modulation is very robust to Gaussian noise, but also to self-interference due to colliding transmitters. Indeed, in case of collisions between two or more transmitters, a Signal-to-Interference Ratio (SIR) value of just very few dBs (actually, as little as for all the SFs in the experiments described in [LoRaImperfect], versus the specified in [LoRa]) is enough for correctly demodulating the strongest colliding signal. This phenomenon, called “channel capture”, has a strong impact on the scalability of LoRa technology, because the deployment of multiple gateways can significantly boost the capture probability and thus the overall network capacity.

A simple approximation of the throughput improvement due to channel capture can be obtained by considering that in most practical cases, a target ED collides with a single interfering signal at time. This assumption is reasonable when the cell works in stable conditions and collisions involving multiple overlapping frames are rare or have a dominant contribution in the interfering power. Under this approximation, a target end-device employing a given spreading factor is actually competing with a fraction of the total load . Indeed, neglecting the effect of random fading and assuming an attenuation law of type , all the interfering nodes at distance higher than , with , do not prevent the correct demodulation of the target ED. The smaller the coefficient, the smaller the real competing load is. Therefore, the cell throughput in presence of channel capture can be obtained by generalizing the Aloha results as:


where is the density of load offered to spreading factor and the cell radius. The is simply given by .

We quantified the performance results of LoRa cells in presence of channel capture in simulation, by using the public available LoRaSim simulator [LoraSim]. LoRaSim is a custom-build discrete event simulator implemented in Python, where LoRa EDs are placed in a 2-dimensional space (grid layout or random distribution) around gateways (the data collection points). In LoRaSim simulator, the value, associated to the ED, depends on the distance between the device and the gateway according to the path loss model:


where is the mean path loss at the reference distance , is the path loss exponent and

is the normal distribution with zero mean and

variance to account for shadowing. We modified the sensitivity thresholds employed in the simulator for different SFs, according to the Semtech specifications [Semtechsx1272], and set a different value for the reference power received at from the gateways (), in order to provide a more realistic scenario. Finally, we fixed a bug in the LoRaSim public code, that erroneously reports a natural logarithm instead of the decimal one [LoraSim].

Unless otherwise specified, table II shows the scenario parameters used in the our simulations.

Parameter Value
Carrier Frequency (MHz)
Bandwidth (kHz)
Code Rate (CR) 4/5
Message size [byte] 20
Message Period 1 packet every 90 sec
Number of gateway [1-25]
Number of nodes [100-8000]
Path loss values , ,
TABLE II: Simulation parameters.

Figure 2-c shows the performance of a single cell as the number of EDs increases, without channel capture. In each curve, all nodes uses the same spreading factor, whose setting varies from 7 to 12. Simulation results are plotted using points, while the figure reports also curves achieved by implementing the Aloha model (represented as lines). From the figure, we can notice that the Aloha model well describes the system behavior. The performance degrade significantly using high spreading factors because larger s correspond to higher load conditions. For instance, with 500 EDs, the is almost zero for or , while it is still above 0.5 for .

Obviously, by randomly allocating all the available SFs to the EDs, the load conditions experienced in each SF sub-channel can be reduced. Figure 3-a shows the achieved (black curve) when nodes are set to a random SF, uniformly chosen between 7 and 12. The performance are higher then the case in which all nodes are set to SF equal to 7. The figure also shows a further improvement due to the channel capture (red curve), for a capture SIR threshold set to . Simulation results are plotted using points, while the analytic results are given by lines. Simulation results match pretty well the upper bound provided by our model, although we ignore accumulation of interference generated by multiple packets.

Fig. 3:

Data Extraction Rate as a function of the number of EDs uniformly distributed among all the SFs (a), without channel capture and with channel capture (+ CC). Capture effects for different node distributions (b) and in presence of multiple gateways (c).

We also considered different node distributions within the cell, in order to understand the impact of node placements on the capture probability. Figure 3-b shows the capacity results when nodes are uniformly distributed (empty squared points) or placed in a circular ring delimited by the cell radius and a smaller distance (points according with the legend). As approaches the cell radius, the capacity tends to the Aloha case (black bold curve), because nodes have more uniform reception powers and the capture probability becomes negligible.

Finally, figure 3-c shows the capacity results in presence of multiple gateways (namely, and ). Although the general capacity derivation depends on the gateway placements, we can consider a simple approximation in a simplified scenario of limited load conditions. Since a successful reception is more probable at the closest gateway and the capture effects limit the competing load to the circular area around the closest gateway, being the number of gateways uniformly spaced in the cell and the throughput perceived under load , the total capacity can be by approximated by . The figure (red curves) confirms that the results are not far from the ones obtained by considering sub-systems with an offered load of : the slight increment of quantified in simulation in comparison to the proposed approximation is due to the probability of correctly receiving a frame at a gateway different from the closest one.

4 The EXPLoRa-Capture strategy

Spreading factor allocations to different EDs is a very crucial issue in LoRa networks. On one side, the sensitivity thresholds of LoRa modulations vary as a function of the selected spreading factor, from in case of sf=7 to in case of sf=12 when operating with a bandwidth of [Semtechsx1272]. Therefore, the SF allocation has an impact on the distance at which the ED can be located and on the robustness of the radio link in presence of fading. On the other side, the air time consumed by frames sent at different spreading factors can be significantly different (being the ratio between the minimum and the maximum possible air time about ). It follows that SF allocation has also an impact on the system load. Finally, the position of nodes employing the same SF plays a further crucial role, especially in sight of the somewhat unexpected capability of LoRa to capture and correctly demodulate a signal even in the presence of a significant interference - see detailed discussion and analysis in the previous section 3. All these aspects are jointly accounted for in the EXPLoRa-Capture strategy detailed in this section.

4.1 EXPLoRa principles

Our proposed approach starts from the remark that a rate adaptation strategy merely based on link-level budget/measurements, such as the standard Adaptive data Rate scheme defined by the LoRa alliance [Alliance13], cannot take advantage of the (quasi) orthogonal nature of different spreading Factors. For an extreme example, if all network devices are very close to the gateway, they will all select SF=7, thus congesting such SF, while all the remaining SFs will remain “empty”. As proposed in our previous work [Explora] a better allocation strategy consists in “forcing” some devices to operate with a higher than necessary SF, thus wasting air-time, but gaining from a better allocation of load among the available SF-induced “channels”.

In more details, in our previous work [Explora] we proposed two different variants: a basic solution, called EXPLoRa-Spreading Factor (EXPLoRa-SF), and an enhanced approach named EXPLoRa-Air Time (EXPLoRa-AT). The goal of EXPLoRa-SF was to show that performance can increase by allocating larger-than-needed spreading factors. Under EXPLoRA-SF the nodes are equally split between SF sub-channels: although some nodes transmit with a time-on-air higher than necessary, the reduction on the data rate is compensated by the reduction of the interference caused by simultaneous transmissions from the other nodes. With EXPLoRa-AT we introduced a smarter allocation strategy (which he have here now more rigorously supported in section 3.1 with theoretical arguments): rather than equally splitting the nodes between different SFs, it equally balances the total Time-on-Air () consumed on each SF. For this reason, assuming that all the EDs employ uniform source rates, the number of nodes in each SF follows the proportion summarized in table III, as justified in section 3. We denote these percentages .

SF 7 8 9 10 11 12
[] 49.41 90.62 164.86 329.73 659.46 1187.84
[%] 47.02 25.85 14.36 7.18 3.59 2.02
TABLE III: (in ) as a function of SFs when payload size is 20 byte and coding rate is 4/5; resulting optimal percentages in accordance to optimal load allocation

An interesting aspect of both the EXPLoRa variants is the possibility of implementing the load balance criterion in terms of “sequential waterfilling”. For facilitating the selection of a data rate compatible with the link budget, EDs are ordered according to their Received Signal Strength Indicator () value (from the highest to the lowest value) and SF allocations are performed sequentially (from the highest rate to lowest rate ). Each ED is configured with the lowest possible SF till a maximum number (EXPLoRa-SF) or (EXPLoRa-AT) is allocated. If the maximum number of allocations is reached, the subsequent allocations move to the next SF, even when the value of the ED would permit the adoption of a lower SF. If the value of the ED does not allow the allocation of the current SF, the SF corresponding to the available link budget is selected, without respecting the load balancing criterion. An example of EXPLoRa-AT SFs allocation is showed in figure 4-a, in case of single cell scenario with radius of . From figure 4-a, it is possible to observe the proportion between different SFs and the sequential allocations of SFs, in different circular rings, starting from the closest nodes configured with .

Fig. 4: Nodes position with EXPLoRa-AT (a) and EXPLoRa-C (b). DER as a function of the EDs numbers in presence of channel capture , comparison between EXPLORA-C, RAND-AT, EXPLoRa-AT and EXPLoRa-SF (c). Cell radius .

4.2 EXPLoRa-C details

As discussed in section 3, channel capture can significantly boost the capacity of a LoRa network, because it is likely that a collision results in the correct reception of the packet received at the highest power, provided that the ratio between the reception power of the two interfering signals is higher than a given SIR threshold. We propose to extend the EXPLoRa scheme in order to maximize the capture probability experienced by the EDs, thus improving the overall system capacity. The basic idea of this extension, called EXPLoRa-Capture (C), is exploiting the ”spatial” dimension for reducing the effective load experienced on each SF. For a single cell system, this corresponds to spread as much as possible the EDs working on a given SF within the cell, in order to increase the probability that colliding signals are received with a power ratio higher than the capture threshold. Note that this is generally different from allocating SFs sequentially to the EDs as a function of their ordered values, because such an allocation could assign the same SF to nodes with similar values. In other words, EDs employing the same SF should be at different distances from the gateway, rather than concentrated in a circular ring. For a multi-cell system, the spatial dimension can benefit from the availability of multiple gateways: nodes at a similar distance from the closest gateway could indeed be received with very different values from the neighbor gateways, thus resulting in a good capture probability at a different gateway.

In order to map these considerations into a new allocation strategy, we introduce the concept of distance between EDs, taking into account both the difference between the values at the closest gateway, and difference in the set of gateways in their coverage area. The basic idea of EXPLoRa-C is still based on a sequential allocation of SFs, equally sharing the air time consumed at different SFs, but the allocation is performed in multiple rounds, by skipping in each round the decision on nodes which are at a small distance from the previous decision.

Single Cell. Consider first the case of a single cell with EDs. The EDs are ordered according to the value perceived by the cell gateway , in order to start the decisions on nodes which can employ the highest possible data rate (i.e. ). Since high data rates also correspond to shorter transmission times, the number of nodes that can be configured on each SF for equalizing the total air time is not constant and follows the proportions already discussed in table III. Starting from the first node, EXPLoRa-C assigns the lowest possible SF to each -th ED (we denote with the SF assigned to the -th ED) till the number of maximum allocations is reached, but only if the distance (with and ) is higher than the capture threshold. Otherwise, node is left without decision and the next node is processed. After the first allocation round, nodes without decisions are sequentially processed in a second round, in which decisions are randomly taken from the set of SFs which have not reached the total budget of nodes . An exemplary allocation following this approach is depicted in figure 4-b in a scenario in which all the SFs can be used even at the cell border. We can see that the same allocation proportions used in 4-a are now achieved by spreading the nodes in the whole cell.

Multi-Gateway. In case gateways are deployed in a network with nodes, EXPLoRa-C is executed times. Let be the number of nodes closest to , with . All the EDs are organized into sets and ordered as a function of the value perceived by the closest gateway. For each set, EXPLoRa-C is executed by considering the total number of allocations on each SF as equal to (with ). Moreover, the concept of distance between EDs is extended by also considering the neighbor gateways. In case nodes have values whose difference is lower than the capture threshold but the set of GWs in range is difference, they can still be configured on the same SF. If each gateway allocates SFs by keeping the proportion on its node , the interference generated towards other cells will also respect such a proportion and therefore both the global airtime and the local airtime seen by each gateway will be balanced.

Multi-Gateway, multiple network operators. As a final case, we consider the possibility that different network operators exist in the area covered by gateways or some of the gateways employ some allocation decisions which do not respect the proportion on its associated devices. In such a case, a mere application of EXPLoRa-C to the EDs under control would not guarantee anymore the load balancing between different SFs. However, it is possible to extend the scheme at each -th gateway, by computing the local airtime consumed by the interfering EDs (i.e. different from the set) at each SF, and by deciding the maximum number of allocations on each SF in order to equalize the local airtime. The total number of interfering EDs seen in cell is , the NS can evaluate the local airtime at -th gateway because it receives the packets of all EDs in the coverage area (included the interfering EDs). Thus, the optimal value of the possible allocations on each SF in cell is computed as:


where, the sum represents the total EDs present in the coverage area of the -th gateway (included the interfering EDs).

1:function EXPLoRa-C(, , )
2:      Initialize the number of nodes at the different SFs
3:      Initialization of to 0
4:      Sort Sort (descending order) in accordance to
5:      Initialization with gateway identification covered by node sortet in accordance to
6:     Let Probability distribution function for the EXPLoRA-AT waterfilling as in table III
9: ****PHASE 1*****
10:     for  to  do
11:         if  then
12:              Assign to
14:              if  then
16:              end if
17:         end if
18:     end for
19: ****PHASE 2 (relevant in multi-gateway scanrios)*****
20:     for  to  do
21:         if  then
22:              if  then
23:                  Assign to
25:                  if  then
27:                  end if
28:              end if
29:         end if
30:     end for
31: ****PHASE 3*****
32:      Update the distribution function by considering the already assigned nodes to the different SFs
33:     for  to  do
34:         if  then
35:               Select the SF for the node in accordance to the distribution
36:         end if
37:     end for
38:     Return
39:end function
Algorithm 1 EXPLoRa-C

The EXPLoRa-C pseudo code for the single-operator case is reported in algorithm 1. Let us define a vector of EDs, whose length is for the single cell scenario or for the multi-cell scenario. The function also requires the SIR threshold .

Fig. 5: Qualitative representation of the EXPLORA-C mechanism

The EXPLoRa-C pseudo code works in three different phases, with phase 2 relevant only for the multi-gateway scenario (otherwise only the same gateway is available for all the nodes). Starting from and given the EXPLoRa-C returns the SF assigned to each node for its transmission. This is provided in a vector, whose length is equal to , denoted as .

The first step is the initialization procedure of the algorithm; it sorts nodes in accordance to the measured in descendent way (from the highest to lower value). This sorting provides a new vector denoted as . The parameter is measured as the average of the values measured by the gateway for the ED in a time window .

A qualitative representation of EXPLoRa-C mechanism is showed in figure 5, where EDs are represented with squares, empty when the SF has not been assigned, and filled after the SF setting. Different squares colors represent different SFs according with the figure legend. In the first phase we derive all the consecutive vector elements whose difference produces a result greater than , that is assumed in our performance analysis as . These couple of nodes generate a capture effect due to values, and they will be set with the same SF value, in the figure, is assigned to the three consecutive nodes with the respective values of , and . The algorithm starts by assigning to these couples the till the number of assigned occurrences of is below a value counted by the variable . Then it passes to and so on. The vector counts the number of times the is assigned in the system. Notice that the objective is to have a percentage of nodes at the different SFs with the final distribution as in table III. In the phase two, we derive all the consecutive vector elements whose present not matching gateways, in terms of number of covered gateways and gateways identifier. These couple of nodes will be set with the same SF. Also in case of concurrent transmission, both the packets are correctly received from different gateways, and they will be set with the same SF value. In the figure, is assigned to the two consecutive nodes with the respective GW coverage identifier values of and . In the third phase, we set the SF values of the remaining nodes according the probability distribution function for the EXPLoRA water filling, except for the EDs already allocated. The first operation of the phase 3 is to update the distribution function by considering the already assigned nodes to the different SFs. The presented algorithm differs from the real implementation only for a further check control before the SF assignment. If the correct reception is not guaranteed, due to the low value, the real implementation forces the SF assignment only for a subset of SFs for which the correct reception is guaranteed.

5 Performance Evaluation

Fig. 6: Histogram of DER for 750 at (a). DER as a function of the EDs numbers in presence of channel capture, comparison between EXPLORA-C, RAND-AT, EXPLoRa-AT and EXPLoRa-SF (b). Nodes position with EXPLoRa-C (c). Cell radius 34Km.

We evaluated the performance of EXPLoRa-C by using the LoRaSim simulation framework, in both the single cell and multi-gateway scenarios. All the simulation parameters are reported in table II, and channel capture is enabled with a conservative target SIR of 1dB.

5.1 Single cell scenario

We considered two different cell dimensions, namely a radius of and , for including two scenarios in which the link budget is or is not a constraint for SF allocations. Indeed, for a radius of any node can use any SF, because with the considered propagation model and transmission power the received from the node at the cell edge is enough for using , i.e. the highest rate. We compare the results obtained by performing completely random allocations or by using different variants of EXPLoRa.

Figure 4-c plots the average achieved in a cell with and a varying number of EDs (from 100 to 4000), which are uniformly placed within the cell area. From the figure, we can observe that the worst performance correspond to the adoption of EXPLoRa-SF, because the load experienced on by equally sharing the nodes among SFs can be very high. Specifically, when , the normalized load offered on 2 by each node is equal to 0.0132 (), if nodes, the total system gets an offered load higher than 0.5 and working in unstable conditions, in these conditions the total number of ED is (in EXPLoRa-SF the nodes are equally split between SF sub-channels). Since EXPLoRa-AT does not equally shares the nodes between SFs, unstable conditions on sf=12 are reached for nodes. The figure also shows that EXPLoRa-C can further improve the average , especially in high load conditions. However, since in this scenario all the nodes can be served at the highest data rate, the performance achieved under a completely random SF assignment (named RAND-AT in the following) which obeys to the proportions (i.e. randomly chooses nodes for using a given SF) are equal to the ones achieved with EXPLoRa-C. Indeed, when the number of nodes is high and nodes are placed in random way, the effect of phase 1 of the algorithm 1 is limited: if the values vary in a interval of (from - to ), only 87 nodes can be selected with a distance of at least 1 dB from the previous allocation. Therefore, most of the allocations are decided by the third phase of the EXPLoRa-C algorithm, which performs random choices according to the proportions. For this scenario, SF decisions under EXPLoRa-AT and EXPLoRa-C are graphically summarized in figure 4, where different colors refer to different SFs and points represent node positions within the cell. Figure 4 shows the nodes position and the SF values (with different marker color) for the previous simulation, in the case of EXPLoRa-AT (Fig. 4-a) and EXPLoRa-C (Fig. 4-b). Note that in order take advantage from channel capture the SFs must be allocated in a scatter way, how provided by phase 3 of the algorithm 1. We could argue that boosting the capture effects can result in unfair performance between EDs. However, we should consider that the capture effect improves the experienced by some nodes without degrading the performance of the other ones involved into the collisions. Figure 6-a shows the histogram of the average achieved by 750 nodes configured at , when channel capture is disabled (blue bar) or enabled (yellow bar). Without capture, all collisions result in multiple frame losses and all the nodes experience the same performance; in presence of capture, nodes closer to the gateway can take advantage of their physical position and have a successful transmission for some collisions with nodes placed at longer distances. Finally, figure 6-b plots the average obtained under different allocation schemes when the cell radius is . In this case, for some nodes the allocations are constrained by the available link budget, as evident in figure 6-c, where we can recognize some circular rings in which random allocations are not possible. For this specific scenario EXPLoRa-C marginally improves the overall performance (about 1%), since the nodes working on suffer of severe congestion conditions.

5.2 Multi-gateway scenario

For assessing EXPLoRa-C performance in a multi-gateway scenario, we considered two different network topologies: i) a regular grid, in which gateways are placed at regular distances and border effects are neglected; ii) a partitioned network with three gateways and border effects.

Fig. 7: LoRa grid scenario (a). EXPLoRa performance in multi-gateway scenario (b).

The scenario corresponding to the regular grid is depicted in figure 7-a, where 25 gateways represented by diamonds are placed with a distance of from the neighbors.

Figure 7-a shows the nodes position and the allocated SF values (with different marker color) when EXPLoRa-C is applied. The average is presented in figure 7-b as a function of the number of EDs, up on 8000 nodes. In this case, EXPLoRa-C provides not only the optimal results, but also a gain on the random allocations implemented by RAND-AT. The gain in comparison to EXPLoRa-AT is about .

Fig. 8: EXPLoRa-C performance in multi-gateway scenario with different gateway number (a). LoRa grid scenario with partitioned network (b). EXPLoRa-C+ performance in multi-gateway scenario with partitioned network (c).

We also considered the capacity improvements that can be achieved by deploying an increasing number of gateways on a given area. In particular, for the same area shown in figure 8-a, we performed other simulation runs with a number of gateways varying from 1 to 13 and we change the EDs position in order to maintain the complete coverage with radius 33km. Figure 8-a shows the average obtained when allocations are decided by EXPLoRa-C. Figures 8-b and 8-c show the values of the previous simulation scenarios with 3 gateways. In case of partitioned networks, when some network regions are isolated from the remaining network or when the number of gateways is low (e.g. 3 or 4 gateways), the border effects become relevant. An exemplary scenario with 3 partially overlapped gateways is showed in figure 8-b, with a distance between the gateways equal to . Because of the border effects, it may happen that the interference perceived at each gateway from the neighbor cells could be biased towards some specific SFs, and therefore the load balancing between SFs is not guaranteed anymore as in the multi-operator scenario. For example, if one gateway allocates the only to its covered nodes, the other gateways will not see an additional interference at , while they will see extra air times in other SFs. It follows that, for keeping a load balancing among SFs, they can increase the ratio for nodes allocated at , thus maximizing the reuse of . This version of the scheme, called EXPLoRa-C+, provides the optimal as shown in figure 8-c.

6 Related Work

Starting from early 2015, thanks to the LoRa Alliance [Alliance] and the Semtech [LoRa] products, the LoRa technology and the LoRaWAN network operators have gained momentum giving rise to 100 countries and more than 500 members involved in the LoRa exploitation. As a consequence, also the scientific literature has produced a number of papers related to the LoRaWAN systems, their performance and applications [Mitigating16][georgiou2017][Mikha2016][reynders2017power][Onthecoverage15]. The limits and the performance expectations for the LoRaWAN have been studied in papers like [limits, Performance17] and [Mitigating16]. The work in [limits] provides an overview of the capabilities and limitations of LoRaWAN. The Authors discuss the limitations due to the imposed duty cycle that, for given packet , force devices to be off for long periods. Apart a fine tuning of the SF allocation they also claim that the network deployment, e.g., the LoRaWAN gateways must be carefully dimensioned and planned to meet the requirements of each use case. Voigt et al. in [Mitigating16], through simulations based on real experimental data, show the effects of the interference on performance of a LoRa network. Scalability issues in the LoRa system are analyzed in [Bor2016][georgiou2017][Mikha2016]. Bor et al. in [Bor2016] provide a LoRa link behaviour by using practical experiments able to describe (i) communication range in dependence of communication settings of SF and Bandwidth (BW) and (ii) capture effect of LoRa transmissions depending on transmission timings and power. They also provided a LoRa simulator (LoRaSim) and evaluated the LoRa scalability limits in static settings comprising a single sink, and assessed how such limits can be overcome with multiple sinks and dynamic communication parameter settings.

A measurement-based assessment of LoRa was carried out in [Onthecoverage15], which captures the by different locations from the gateway and derives an heat map able to characterize performance as a function of the distance and of the environmental conditions (on water and on the ground). The paper also derives a channel attenuation model based on the presented measurements results. Empirical evaluations have been also provided in [mikhaylov2017lorawan].

In [georgiou2017] the effects of interference in a single gateway LoRa network have been investigated. Unlike other wireless networks, LoRa employs an adaptive chirp spread spectrum modulation scheme, thus extending the communication range in absence of any interference. Interference is however present when signals simultaneously collide in time, frequency, and SF. Leveraging tools from stochastic geometry, the authors of [georgiou2017] have formulated and solved two link-outage conditions that can be used to evaluate the LoRA behavior.

The paper [Mikha2016] analyzed the performance of the LoRa LPWAN technology by showing that following the current specification release, a single end-device located close to the gateway can feature an uplink data transfer channel of only at best. In terms of scalability, they showed that a single LoRaWAN cell can potentially serve several millions of devices sending few bytes of data per day. Nonetheless, they showed that only a small portion of these devices can be located sufficiently far away from the gateway. Finally, [magrinperformance] derives throughput behavior and capacity limits under some ideal conditions (perfect orthogonality of the SFs).

The recent literature also concentrated on the ADR mechanisms. These are designed to optimize the data rates, and energy consumption of the network devices [Explora][Reynders17][Cionca18]. ADR should be enabled whenever an ED has sufficiently stable RF conditions and the idea is that, by setting the SF, a network controller can give higher data rates and radio visibility to specific EDs in the network.

In our preliminary work [Explora] we provided a novel strategy, named EXPLORA-AT for implementing a suitable ADR in LoRaWAN systems. The key idea was to assign the SFs to the EDs in a way that assures an equal time on air occupation to all the available SFs In this work we consider the multi-gateway scenario and, we demonstrate that the EXPLoRa-AT performance can be further improved by take into consideration the channel capture. We also provided a heuristic in the case of a multi-gateway network in [ADMAIORA].

The work by Reynders et alii [Reynders17]

uses a genetic algorithm to accommodate in an optimal manner the 6 different SFs and 5 different power settings. In case of

nodes the search space for optimal Spreading Factor and power allocation per node is . The proposed scheme acts without considering the capture effect and by assuming orthogonal SFs,

Also the work in [Cionca18] plays with the SF and the power allocation to achieve a fair adaptive data rate allocation, called FADR, tested in a single gateway scenario. They divide the area around the gateway in regions and assign, in accordance to the optimal distribution of [Reynders17], the SFs and the transmission power to control also the capture effect.

7 Conclusions

In this paper, we have proposed and assessed an innovative “sequential waterfilling” strategy for assigning Spreading Factors (SF) to end-devices. Our driving intuition, duly backed up by theoretical results in section 3, consists in equalizing the Time-on-Air of the packets transmitted by the system’s end-devices in each spreading factor’s group. This baseline idea has been embodied in a concrete algorithm, named EXPLoRa-C (where C stays for Capture), which is developed in a multi-gateway setting and takes into further consideration the channel capture effect, owing to its more significant role in LoRa with respect to other traditional wireless technologies.

Extensive simulation results for different loads and multi-gateway topologies show the improved effectiveness of EXPLoRa-C with respect to the currently employed ADR (Adaptive Data Rate) allocation algorithm, and show the robustness and adaptability of our approach to a wide range of scenarios.

We believe that a further asset of EXPLoRa-C consists in its implementation simplicity, which makes it appealing for integration in real world large-scale multi-gateway networks. As a matter of fact, our challenging ongoing work indeed consists in adapting EXPLoRa-C to operate in a real-world metropolitan-scale multi-gateway deployment in the Roma (Italy) area.


This research was partially supported by the regional project AMORE, funded by Lazio Innova (Italy) as KET integrated project, 0114-2017-13711.