Abstract

The LoRaWAN communication protocol can be used for the implementation of the IoT (Internet of Things) concept. Currently, most of the information regarding the scalability of the LoRa technology is commercial and deals with the best-case scenario. Thus, we need realistic models, enabling the proper assessment of the performance level. Most of the time, the IoT concept entails a large number of nodes distributed over a wide geographical area, therefore forming a high density, large-scale architecture. It is important to determine the number of collisions so that we can assess the network performance. The present paper aims at assessing the performance level of the LoRaWAN technology by analyzing the number of packet collisions that can occur. Thus, this paper determines the maximum number of LoRa nodes that can communicate with a Gateway considering the LoRaWAN protocol specifications. Furthermore, we have proposed a series of solutions for reducing the number of collisions and increasing the capacity of the communication channel.

1. Introduction

New technologies have emerged lately, such as LoRa (Long Range) [1], Sigfox [2], and Weightless [3], enabling efficient long distances wireless communication. Wireless Sensor Networks (WSN) have the potential to improve our lives. In recent years we have witnessed a fusion between WSN topic and the Internet of Things (IoT) concept. These emerging new technologies have the ability to increase the quality of life. The IoT concept refers to the interconnection of different devices and nodes to Internet. The concept entails the integration of sensors that often have low processing power and limited communication capabilities are most of the time battery powered.

LTE (Long-Term Evolution) mobile networks use a centralized management system, by implementing a star network topology. An LTE base station can typically handle a few thousands of devices, so the existing mobile infrastructure is not ready to integrate tens of thousands of devices, providing support for future IoT applications.

Thus, it is imperative to develop, analyze, and implement new technologies as to increase performance by maximizing scalability, all by enhancing M2M (Machine-to-Machine) communications. LPWA (Low-Power Wide Area) technologies are most often used in M2M communications. These networks virtually are an interface between the industrial environment and the central server area where data is collected, processed, and stored.

The main features of LPWA nodes are operation in unlicensed ISM frequency bands, extended battery life in the order of decades, and low data transfer rates all in a low cost wireless module. Also, the nodes must be able to sense and interact with the environment. The technology performance usually depends on the channel access technique, the duty cycle regulations, and other parameters like modulation mechanism and spectrum allocation.

These LPWA technologies must obtain a reliable data transfer over tens of kilometers, by using a high communication link budget while achieving a receiver's sensitivity of -125 dBm, thus having the ability to decode highly attenuated signals. The communication range is increased on the expanse of a low data rate. The used modulation mechanisms can be divided into narrowband and broadband techniques.

These technologies are generally used to form stars-of-stars network topologies. This eliminates the need of developing and implementing certain complicated multihop technologies, each node being able to communicate directly with the sink node (the Gateway node). The LoRaWAN (Long Range Wide Area Network) communication protocol is a useful candidate for implementing the IoT concept. The LoRa modulation is located at the physical level of the LoRaWAN communication protocol. This modulation is patented by Semtech.

The paper is structured as follows: the short introduction within Section 1 is followed by a short presentation of the LoRa technology. Section 3 presents the ADR (Adaptive Data Rate) mechanism defined within the LoRaWAN protocol. The channel access techniques and a short state-of-the-art review in order to highlight the need to implement a study for assessing the scalability of the LoRa technology are addressed in Sections 4 and 5. Section 6 outlines and discusses the experimental results by analyzing the number of collisions produced on the communication channel. The Conclusions ends this paper.

The main contribution of this work is to perform a study mainly aimed at assessing the performance level associated with the LoRaWAN communication protocol. Therefore, we analyze the number of collisions and the throughput parameter, by studying the impact of the parameters: the spreading factor, the duty cycle, and the channel bandwidth.

2. LoRa Technology

The LoRa modulation is located at the physical level of the LoRaWAN communication protocol. This modulation operates in the sub-GHz ISM (Industrial, Scientific, and Medical) band using a proprietary spectrum spreading technique. The modulation provides bidirectional communication through a special CSS (Chirp Spread Spectrum) spread spectrum mechanism that spreads the narrow band signal over a larger frequency band. The resulting modulated signal is highly resistant to noise and interferences.

The transmitter modifies the chirp signal frequency over time without changing the phase of the signal between two adjacent symbols. As long as the modulation frequency is slow enough so as to put more energy on the chirp symbol, the receivers located at very large distances can decode a severely attenuated signal.

The LoRaWAN specifications define three types of nodes: classes A, B, and C. A class A device sends messages to the Gateway module during certain periods of time, depending on the specifics of an application. Then, the LoRa node opens a reception slot to allow the Gateway to send ACK (acknowledgement) messages or other type of commands. The Gateway node receives the messages from the LoRa node and sends them to the Network Server.

Class B extends class A by adding scheduled message reception slots; class C prolongs class A, always keeping the receiving time slot open, except when information is sent. Typically, a class A or class B device is powered by a battery; meanwhile a C type node is powered by the electrical network due to high energy consumption.

LoRa communication supports multiple spread factors (SF) (between 6 and 12) to achieve the compromise between the communication range and the data transfer rate. It also uses a Forward Error Correction (FEC) technique that, along with LoRa modulation, increases the sensitivity of the receiver. Table 1 lists the main parameters of the LoRa communication protocol, such as spreading factor, channel bandwidth, and the transmitted power.

LoRaWAN is the communication protocol that uses the LoRa modulation at the physical level. Figure 1 presents the architecture of the LoRa communication system that includes the end-device modules and the Gateway modules that retransmit messages to the Network Server within the LoRa architecture. The user is interacting with the system at the level of the application.

The data transfer rate varies from 300 bps to 37.5 kbps, depending on the spreading factor and the bandwidth of the communication channel. A LoRa Gateway has the ability to simultaneously receive and broadcast messages with different SF (spreading factors). The LoRa specific architecture is composed of end nodes and Gateway modules that retransmit messages from the terminal nodes to the Network Server.

Messages sent by LoRa end devices are received by all Gateway devices, so a star-of-stars network topology is created. The implementation of this degree of diversity increases the likelihood that a message will be received successfully, contributing to the possibility of deploying localization services. The implementation of a localization service involves using a Time Difference of Arrival (TDOA) technique, which entails the use of Gateway synchronization techniques.

The LoRa specification allows devices and Gateways to be able to transmit at any time. There is no channel verification procedure or CSMA (Carrier Sense Multiple Access) algorithm implemented to avoid collisions. The LoRaWAN protocol uses an ALOHA type communication mechanism, where the packet length is variable. According to LoRa protocol specifications, nodes can transmit on any available channel at any time using any available data rate, as long as a number of rules are complied with. The node selects the channel in a pseudorandom mode for each transmission. The frequency shifting offers the main advantage of the LoRa communication which is resistance to interferences. The LoRa node respects the duty cycle parameter and other regulations assigned to the regions in which it operates.

The LoRa communication, for the Europe zone and the 868 ISM frequency band, has a regulated duty cycle parameter ranging from 0,1% to 1%. The parameter depends of the subband allocation and the geographical region of the implemented network. In a previous paper, published by the authors of [4], the duty cycle restriction and the ToA (Time on Air) influence are analyzed in detail. If the duty cycle parameter is limited to 0,1% the LoRa node can communicate only 3,6 seconds per hour assuming that no other restrictions exist in place.

Figure 2 presents the ToA parameter for different SF and packet payloads. We can observe that if the SF is increased the ToA parameter is significantly higher. The frequency channel bandwidth for the obtained results is 250 kHz. For example, if the packet payload is 40 bytes for a SF=8 we obtain a ToA of 60 ms and if SF=12 the obtained ToA is approximately 872 ms. One strategy to increase the transmitting time of a LoRa node is to switch between the subbands of the allocated channel.

If the SF parameter is increased the communication range is increased; meanwhile the data rate is decreased. This aspect determines a high ToA parameter. So, the LoRa technology offers a compromise between data rate and communication range.

3. LoRaWAN Data Rate

The LoRa nodes have the possibility of setting the data rate, according to regional regulations. The data rate settings are numbered from 0 to 6 and represent a predefined set of settings, such as the spreading factor and the coding rate. A certain data rate can be selected with the help of some commands at the MAC level. The specification recommends the implementation of a certain data rate control algorithm. The algorithm is controlled by the Network Server that can send commands to the MAC nodes to increase or decrease the data rate, depending on the level of the received signal. When an ACK acknowledgement mechanism is implemented, if the node does not receive the first two consecutive acknowledgements, it automatically performs a downgrade of the data rate.

Table 2 presents the data rates defined by the LoRaWAN specifications. The LoRaWAN specification defines a mechanism for adapting the Adaptive Data Rate (ADR) transfer rate without giving any details regarding the monitored parameters or those involved in the rate selection process.

The Things Network (TTN) [5] is a data aggregation service provider that allows the creation of a IoT network. In this case, the Gateway module will transmit the collected data to the TTN network; meanwhile, the user views and interacts with the data, by using a web interface. The infrastructure defined by TTN uses a modified version of the ADR algorithm that can be applied only to static nodes. The decision of using the mechanism can be taken at a node level that may opt for this feature. From the moment a node decides to use the ADR algorithm, the network will collect the SNR parameter and the number of Gateways that have received that signal for the last 20 packets. This information is processed in order to calculate how much margin is used to increase or to lower the data rate by setting a lower transmission power level [6]. Therefore, the decision to change the data rate is taken.

Papers [710] analyze and evaluate various aspects of the LoRa technology, starting from the modelling of the communication channel to the development of some IoT applications. However, none of these works performs an analysis of the communication channel capacity by taking into consideration various configurations. In previous papers published by the authors of [4, 11, 12] the different challenges and problems of the LoRaWAN communication were analyzed and discussed. The main contribution of the present paper is the analysis and evaluation of the access mechanism to the communication channel. After analyzing the obtained results, we propose a series of actions and solution aimed at increasing the performance level by reducing the number of collisions within the communication channel.

4. Channel Access Technique

A LoRaWAN network entails the use of different communication channels that are configured and monitored by Gateway devices. The number of allocated channels depends on regional restrictions or other configurations specific to the wireless network. Therefore, there are channels dedicated to data transmission (called main channels) and a channel dedicated to the Gateway responses for the LoRa nodes (downlink channel), and finally we have channels used by the LoRa nodes for sending the requests to a Gateway module (uplink channels).

When a LoRa node sends a packet, it selects randomly one of the channels and transmits, without previous performing of a carrier sense type verification and without the use of a preset synchronization time slot. This mechanism of access is a specific ALOHA type access, with the mention that the length of the packet is variable. After performing a transmission, the LoRa node opens the receiver for two short receiving slots: the first slot corresponds to the uplink channel, while the second one corresponds to the downlink channel.

LoRaWAN defines ten communication channels for Europe zone. From these, 8 channels have multiple data channels varying from 250 bps to 5,5 kbps. There are two high speed channels providing a transfer rate of 11 kbps and 50 kbps, respectively, using an FSK (Frequency-Shift Keying) modulation. The maximum permissible transmission power is of +14 dBm for the EU area. The wireless communication link budget is up to 155 dB.

The SF (spreading factor) parameter occurring during the LoRa modulation is basically the ratio between the symbol rate and chip rate. The use of a high SF determined an increase of the Signal to Noise Ratio (SNR) parameter, enhancing the receiver sensibility, but generating as a side effect the increases the airtime of the packet. The coding of a symbol is performed by using chips. Thus, if a SF of 12 is used, 4096 chips/symbol are used. The SF parameters can take values from 6 to 12.

Figure 3 presents the LoRa communication channels for the ISM 868 MHz frequency band for the EU area. The band is defined from 863 to 870 MHz. It can be seen that the 8 channels are separated by 0.3 MHz, except channel 17, a high data rate channel.

Figure 4 shows the reception slots defined at the level of the LoRaWAN protocol; the time intervals are arranged at different time slot intervals from the time moment at which the LoRa node transmits the information.

The first reception slot is opened T1 seconds after the completion of the uplink transmission, while the second slot is opened one second later. The uplink channel is used for the first slot, while the downlink channel is used for the second slot. The reason for using this communication mechanism is to reduce the energy consumption associated with the communication procedure. The LoRa node does not open the second communication slot when it receives a frame within the first slot. It is also possible to send an ACK reception acknowledgement that can be required by both the Gateway module and the LoRa node.

The LoRa specification does not specify the length of the reception slot; however, it should be large enough to enable the receiver to efficiently detect the permeability of the LoRa packet needed for synchronization. The value T1 is configurable and implicitly equal to the second time period.

According to the LoRaWAN specifications defined by the LoRa Alliance, a Gateway module can transmit data to a class A node only within a receiving slot which can be initiated only after the LoRa node sends a packet. This reduces the energy consumption of the LoRa node without sparing the Gateway module which is not battery powered. Therefore, class A cannot guarantee a certain maximum delay for the downlink messages, so class B or C should be used in the case of delay-sensitive applications.

If the node does not receive an ACK message, it retransmits the same message. This retransmission is performed on a randomly selected channel after a time period longer or equal to ACK TIMEOUT seconds; the parameter is randomly selected between 1 and 3 seconds. At the same time, the retransmission is performed at a much lower transfer rate. The maximum number of retransmissions is set to 8, after which the packet is eliminated, and the MAC (Medium Access Control) level will notify the application level of the failed transmission. If the LoRa node wants to transmit an empty frame, it still needs to include a payload of 13 bytes because of the overhead. For the ISM 863-870 MHz frequency band, the timeframe associated with an ACK is almost 1 second (while the maximum length of a frame needs a time frame of 2.4 seconds) [1].

Mikhaylov et al. [13] analyzed and assessed the throughput of the LoRa technology, determining the airtime of a packet. Therefore, it is possible to estimate the maximum number of nodes that can communicate with a Gateway module. The purpose of this paper was to analyze the ALOHA communication mechanism. The results are obtained at an empirical level. A mathematical model of the access mechanism to the communication channel is presented in [14]. A certain threshold of the network load is also calculated in this paper by estimating the throughput. When this threshold value is reached, the PER (Packet Error Rate) parameter increases rapidly towards 1, because the packet relaying causes an avalanche effect leading to the saturation of the communication channel.

Bor et al. [15] analyzed the access mechanism of the communication channel. From the obtained results, it can be seen that when the same SF (spreading factor) is used, by both the receiver and the transmitter, the packets are received even if a third node attempts to interfere with the transmission. Thus, the separation of channels by using different SF proves effective. One or two simultaneous transmissions can be received with high probability, if there is a separation of at least 3 symbol periods between them. The paper also analyzes the possibility of implementing a carrier activity detection mechanism. An algorithm for the automatic selection of communication parameters is presented in [16] so as to achieve a performance level as high as possible, at the same time ensuring energy efficiency.

Blenn N. et al. [17] obtained a series of experimental and empirical results by analyzing the influence of the payload on the quality of the received signal. The experiments have been conducted over an 8-month period, with the results showing that the LoRa channel occupancy rate is not evenly distributed, a fact that contributes to a decrease in performance. This phenomenon is based on the fact that the majority of LoRa nodes use the default settings programmed by the manufacturer, a fact that causes the overload of certain channels. The purpose of the paper was to use certain user-defined communication channels according to the RF (Radiofrequency) environment congestion.

In [18], the Doppler effect over the LoRa modulation is analyzed, by performing a series of experimental measurements. From the obtained results, the authors conclude that, by using SF=12, a communication range of up to 30 km with a packet loss of 62 % can be obtained. In [19] the mathematic model of the LoRa modulation and also of the demodulation process based on signal processing theory is presented. The paper also presents a comparison of the performance levels between the LoRa modulation and the FSK (Frequency-Shift Keying) modulation, regarding the value of the encoded bit error rate parameter. The obtained results show that when an AWGN (Additive White Gaussian Noise) channel is used, the LoRa modulation ensures a higher performance level.

Liao et al. [20] analyze the effect of the simultaneous LoRa transmissions over the performance level. The paper proposes the integration of a CT (Concurrent Transmission) type flooding into the technology. CT is an extremely efficient flooding type protocol that has recently revolutionized the design of the multihop networks based on the IEEE-802.15.4 standard. Instead of attempting to avoid packet collision, CT enables more nodes to send packets with the same content simultaneously, at the same time moment. By allowing such synchronized packets collisions, CT enables rapid back-to-back relaying of packets that considerably improve the efficiency of the network. The paper proposes the implementation of such a strategy for increasing the performance level of the LoRa networks by introducing a multihop mechanism. None of the papers evaluate the maximum number of nodes that can communicate on a channel, taking into consideration a real implementation scenario.

6. Simulations Results

The LoraSim [21] simulator has been adapted and modified to comply with the designed scenarios. The simulator is based on a mathematical model [22] of LoRa communications, capable of monitoring the resulting number of collisions [23]. Also, the LoRa receivers’ sensitivity values presented in Table 3 have been integrated in the mathematical model.

Currently, most of the information regarding the scalability of the LoRa technology is commercial and deals with the best-case scenario. Thus, we need realistic models, enabling the proper assessment of the performance level. Table 4 shows the simulation parameter used in the simulation model. It can be seen that there have been three cases implemented, A, B, and C. The parameters used in the simulations are the spreading factor, the channel bandwidth, and the coding rate.

Figure 5 shows the total number of LoRa packets sent. The duty cycle parameter is 1%. For 100 nodes we have transmitted approximately 10.000 packets. In this case the SF parameter is 12, the channel bandwidth is 125 kHz, and the code rate is 4/8. Considering our simulation scenario and proposed model, a node must comply with the duty cycle restriction of 1%. Thus, in a 24-hour interval a node will transmit one packet every 14,4 minutes. In conclusion a node will send approximately 11 packets per day.

Figure 6 shows the number of collisions produced when the parameters in Table 4 have been used. The collisions parameter (Packet Collisions Rate) is displayed in percentages and represents the number of collided packets with regard to the total number of sent packets. We use this approach in order to estimate the maximum number of LoRa nodes that can communicate on a single communication channel. Thus, the 0% value represents the fact that no collision has been recorded; if the registered value is 100%, none of the packets has been received properly. In order to obtain a high performance level, it is necessary that the number of collisions be under 5% of the total number of transmitted packets.

The analyzed collisions parameter does not capture the performance of the individual node but represents a global metric analyzed across the entire network architecture. The collision parameter is evaluated when the total number of the network nodes has increased from 100 to 1000 and to 4.500 nodes, respectively.

The size of the LoRa packet used within the simulation is about 20 bytes. The simulated time frame has been about 24 hours. Each node sends packets towards the Gateway module every 14.4 minutes so as to comply with the LoRaWAN specification duty cycle restrictions. The A configuration is most often used in practice, because it ensures the largest communication radius. The simulated B configuration corresponds to the fastest transfer rate; this is the reason why we can also observe the lowest error rate; since the airtime of the packet is the lowest, 7.07 ms, the probability of a collision occurring is low. It can be noticed that for the C configuration the airtime is 1.712 s; therefore, the number of collisions is much higher compared to the B configuration. Thus, the number of collisions for 100 nodes is 26.6 % for configuration A, 9.73% for configuration B, and 31 % for configuration C.

Figure 7 presents the collisions parameter when the number of nodes varies from 100 to 1000. The maximum channel capacity is reached when 95% of the transmitted packets are affected by the collision. From the obtained results, we can conclude that the maximum number of nodes which can communicate on a LoRa channel is approximately 875 nodes for configuration A and 1000 nodes for configuration C. The duty cycle used in this particular scenario is 1%.

Figure 8 presents the collision parameter when the duty cycle parameter is reduced from 1% to 0.5%. The obtained results show that the number of collisions is significantly lower when the duty cycle parameter is reduced. The number of collisions decreases by approximately 40%, thus increasing the capacity of the LoRa communication channel.

Figure 9 represents the collisions parameter when the nodes number increases from 500 to 4500. The obtained results show that the maximum number of nodes that can communicate on a channel is approximately 4000, when the duty cycle parameter is of 0,5%. The parameters used are SF=12, BW=125, and CR=4/8.

From the obtained results, we can see that the doubling in the number of nodes from 500 to 1000 determines an increase of the collisions parameter by 20,7%.

Figure 10 shows the number of packets sent when the number of nodes is varied from 1000 to 7000 and the duty cycle parameter is 0,1% and 0,5%. From the obtained results, we can observe that if the duty cycle parameter is 0,5%, we obtain a total number of sent packets of 40.000. Because of the collision phenomenon, not all the packets will be received.

Figure 11 shows the collisions parameter when the duty cycle parameter is reduced from 0,5% to 0,1%. This phenomenon generates an increase of the communication channel capacity. In this configuration theoretical, a number of almost 7000 nodes can be integrated in the communication channel in this case. From the obtained results, we can see that the collisions parameter level for 4000 nodes is almost 27% lower than in the previous case (e.g., a duty cycle of 0,5%). For a number of 1000 if the duty cycle parameter is 0,1%, the collisions parameter is almost 26,4%. This means that from the total number of packets sent, only 26,4% are affected by collisions.

Figure 12 shows the throughput of the network when the number of nodes is varied from 1000 to 7000 and the duty cycle parameter is 0,1%. The throughput rate represents the rate of the packets sent successfully; as the number of nodes is increased, the throughput of the LoRa network is decreased because the number of collisions is increased.

7. Conclusions

The purpose of this paper is to analyze the performance level of the LoRaWAN technology, by focusing on the maximum number of nodes that can communicate on a LoRa communication channel and thus by evaluating the scalability of the technology in a large-scale WSN.

From the obtained results, we can conclude that the configuration with the lowest transfer rate ensures the highest level of collisions. Because the airtime of the packet is of a few seconds, it is prone to collisions that can negatively influence the capacity of the communication channel. The configuration with the lowest transfer rate is the most used one, because it ensures the largest communication range by using a high spreading factor (e.g., SF=12). Thus, a compromise is reached between reducing the transfer rate and increasing the communication range. A possible solution for decreasing the number of collisions would be to increase the transfer rate or decrease the duty cycle parameter at application level. The maximum number of nodes that can use the same LoRa channel, so that we can obtain a high level of performance, is almost 1000 nodes.

The Gateway module can receive data simultaneously on all 8 communication channels. From the obtained results, we can conclude that a number of approximately 8000 nodes can simultaneously communicate with the Gateway module when the duty cycle parameter is 1%. This number of nodes can be integrated only if we assume that there is no interference between the two adjacent communication channels. By using various parameters, such as spreading factor and bandwidth, the number of nodes can be further increased. The throughput rate represents the rate of the packets sent successfully; as the number of nodes is increased the throughput of the LoRa network is decreased.

For low transmission rates, the throughput of the LoRa network is limited by the number of collisions. When the transfer rate increases, the throughput of the LoRa network is limited by the duty cycle parameter that limits the number of transmitted packets, thus stabilizing the throughput. If the network has a large number of nodes, the throughput is limited by the number of collisions; meanwhile, for a low number of nodes the network’s throughput is restricted by the duty cycle parameter [25].

The spreading factor has a significant impact over the range of the network, as does the data transfer rate [26]. Thus, the LoRa technology is suitable for use in low-power networks that provide a reduced transfer rate and a communication radius of a few kilometers. The obtained results show that the communication mechanism resembles the ALOHA protocol. The performance level decreases rapidly when the number of nodes is significantly increased.

Another possible solution to reduce the number of collisions could be to integrate a communication channel occupancy control mechanism before initiating a transmission. The control can be of Energy Detection type. A mechanism for reducing the collisions can be implemented by the means of an ADR algorithm that can enable the automatic data rate change if a collision is detected. This solution for implementing a collision avoidance mechanism will increase the power consumption of the LoRa node. Another solution for reducing the number of collisions could be to eliminate the ACK mechanism [27]. An even more drastic option would be to eliminate bidirectionality, meaning a LoRa node can only send messages without receiving messages from the Gateway module.

A different possibility could be to limit the maximum number of retransmissions of a packet, depending on the application; when a packet is not received correctly, it could be discarded. Most of the time, the IoT concept entails a large number of nodes distributed over a wide geographical area, therefore forming a high density, large-scale architecture. It is important to determine the number of collisions so that we can assess the network load and estimate the capacity of the communication channel. This paper main contribution is the performance evaluation of the LoRa communication by determining the maximum number of nodes that can communicate on a LoRa channel considering the duty cycle restrictions.

Data Availability

The data results used to support the findings of this study presented in this paper are available from the corresponding author (Alexandru Lavric) upon request.

Conflicts of Interest

The authors declare that they have no conflicts of interest regarding the publication of this paper.

Acknowledgments

The infrastructure used in this work was supported by the project “Integrated Center for Research, Development and Innovation in Advanced Materials, Nanotechnologies, and Distributed Systems for Fabrication and Control”, Contract no. 671/09.04.2015, Sectoral Operational Program for Increase of the Economic Competitiveness cofunded by the European Regional Development Fund.