LoRaWAN has distinguished itself through simplicity of the protocol stack and of deployment and management, and this allowed it to gain traction in the Internet of Things community. LoRaWAN embodies the deploy and forget wireless sensing model and the high link budgets make LoRaWAN particularly suited for large-scale environment monitoring applications . The low data rate, high collision rate caused by the ALOHA-like MAC protocol, as well as the duty cycle regulations imposed on the communication , imply that reliability and delay constraints cannot be expected from a LoRaWAN Class A network.
Despite the simplicity of use, existing LoRaWAN applications struggle with scalability issues, experiencing high packet loss in larger networks . With a generic LoRaWAN configuration (spreading factor 12, 125KHz bandwidth) the delivery rate decreases below 50% for more than 900 nodes . Even in terms of network lifetime (another promise of LoRa), the results are not particularly satisfactory: according to  a device lifetime of less than two years can be expected for a transmission rate of ten minutes, or five years for 100 minutes, if there are no collisions (so worse in reality). The use of acknowledged transmissions to increase the data extraction rate, surprisingly does not help, leading to even more collisions and increased energy consumption and low network lifetimes . In summary, collecting data from LoRaWAN networks is still a challenge.
In this paper, we investigate a different approach to data collection in LoRaWAN networks, designed for non-critical applications without time constraints on the data. Instead of sending the data as it is generated, we show that buffering the data on the nodes, and periodically collecting it in bulk, can achieve more than five-fold increase in network lifetime, passing the ten year mark, and data delivery ratio. The cause of the improvements is the ability to schedule the transmissions such that collisions are eliminated, and to use longer packets that reduce the overhead of MAC headers. Our solution is called FREE, for Fine-grained Scheduling for Reliable and Energy Efficient data collection. FREE is a bulk data collection protocol suitable for remote applications with a limited Internet connectivity (e.g., monitoring volcanoes , glaciers , etc.), where the gateway can be brought into the network periodically (data muling ); or for general environment monitoring applications such as in smart cities or rural areas .
FREE consists of a transmission scheduling algorithm and a protocol for collecting the algorithm input and synchronizing the network. The one-hop, star topology of LoRaWAN networks, makes them easier to schedule than the multi-hop counterparts of short range, low power, wireless such as IEEE 802.15.4, which have to deal with intra- and inter-path interference, conflict sets, etc. . Nevertheless, scheduling the LoRaWAN transmissions is not without challenges as transmissions are restricted by the regulatory duty cycle limitations . On the other hand, LoRaWAN concentrators can successfully decode eight concurrent signals as long as they use different spreading factors or channels. At the same time, transmissions are subject to the capture effect and the spreading factors are not fully orthogonal . A LoRaWAN scheduling algorithm must minimize the data collection time and energy consumption by performing judicious allocation of SFs, channels, and transmission powers to nodes, to overcome the duty cycle limitations.
The scheduling algorithm in FREE is run centrally at the gateway based on information collected from the nodes: size of buffered data and minimum allowed spreading factor (with which the device can reach the gateway). The schedule maximizes the throughput by allocating spreading factors, channels, and transmission powers to nodes so that all eight receive paths of the gateway can be successfully used concurrently. The schedule has six parallel frames, one per SF, and some of the frames use two channels. The channels and transmission powers are allocated such that the probability of capture effect is minimal. Nodes are configured and synchronized in anonline fashion, as they contact the gateway to send their information. FREE’s objectives are to minimize data collection time and overall energy consumption, while obeying the duty cycle regulations. However, these objectives may lead to contradictions in the spreading factor allocation. Therefore, FREE proposes two objective functions for the spreading factor allocation depending on which objective is more valuable for a particular use case. FREE supports unconfirmable and confirmable uplink traffic, where the latter uses a compressed group acknowledgement scheme to work around the duty cycle limitations at the gateway.
In the next section, we provide an overview of the LoRaWAN system and highlight related work. Section III describes the problem statement and the FREE synchronization mechanism. The design of the FREE scheduling approach is presented in Section IV, including the required allocation algorithms. Section V provides the performance evaluations and discussions and finally the paper is concluded in Section VI.
Ii Background and Related Work
Ii-a LoRaWAN Systems
LoRaWAN  is an open source system architecture that uses LoRa modulation as the physical layer. In a star-topology architecture, an Aloha-based MAC protocol is used to handle the uplink and the downlink transmissions. As LoRaWAN operates in the ISM band, the uncoordinated nature of the Aloha protocol requires limits on the duty cycle to guarantee fair access. For example, in Europe a duty cycle of no more than 1% is specified for radios that do not adopt a listen-before-talk policy. A LoRaWAN gateway can receive multiple receptions concurrently, exploiting the pseudo-orthogonal spreading factors of LoRa. However, transmissions are subject to the capture effect, where the stronger signal can surpass the weaker ones. In this case, the power difference(s) among the colliding signals determine whether some, all, or none of the colliding signals can be detected correctly . Due to space restrictions, we invite the reader to refer to  for further information on the limitations of LoRaWAN.
Ii-B Related Work
LoRa/LoRaWAN scalability has been investigated extensively in the literature e.g. in , , and . The conclusion was that LoRaWAN is not scalable because of the Aloha-based MAC even for moderate transmission rates. Furthermore, the scalability degrades badly for confirmable transmissions due to the gateway duty cycle limitation . Consequently, some attention was given to synchronization-based schemes such as  and  and CSMA-based MAC protocols such as  and  in order to improve the scalability.
In , time is structured into frames and sub-frames to alleviate the capture effect. Here, the gateway transmits a beacon before every frame to synchronize the transmissions and guide the spreading factor allocation. If a device wants to send a packet, it has to wait for a beacon first. Despite the time frame structure, the access within sub-frames is still based on Aloha, which means this technique can not eliminate collisions. Whereas in , the synchronization process is initiated by end devices and the gateway centrally calculates the complete schedule of each device. Here, the schedule is calculated based on the application requirements (e.g. data periodicity) and is sent back to a device using a bloom filter to minimize the message length. Due to the bloom filters probabilistic data structure, multiple devices share the same slot within a probability and, therefore, this technique does not eliminate collisions. As the gateway consumes a lot of its duty cycle to transmit the schedules to the devices, it raises scalability questions. The two synchronization schemes are studied for unconfirmable transmissions only and the scalability question is still open for confirmable transmissions.
CSMA-based MACs for LoRa has been investigated experimentally in  and via NS-3 simulations in . Although CSMA can achieve lower collision rates than Aloha, it comes at the expense of increased energy consumption due to the Channel Activity Detection (CAD) in addition to the system complexity to implement CSMA. The big advantage of CSMA is getting rid of the unlicensed spectrum duty cycle restriction as the radios apply a listen-before-talk policy. The CAD method has been tested over LoRa links and was proven to be inefficient . This is because LoRa links are long (i.e. transmitters are typically far away from each other) and all transmissions are sent to the gateway. Another disadvantage is that CAD cannot detect the spreading factor of an ongoing transmission, which leads to all devices backing-off during on-going transmissions even if they would use a different spreading factor. Using CAD may lead to LoRa losing its advantage of handling concurrent transmissions using different spreading factor.
Apart from that, the concept of a mobile LoRaWAN gateway has so far only been proposed once in , where a drone is used as a gateway. A synchronization scheme based on a shared global clock was assumed to alleviate collisions. In this paper, there is no feedback between the gateway and the devices, leading to uncontrolled de-synchronizations and thus collisions in the long term. In addition to that, the duty cycle limitation is not considered in the design and the spreading factors are assumed to be perfectly orthogonal, leading to overly optimistic results. The technique is studied for unconfirmable uplink transmissions and has the same bottleneck for confirmable transmissions as the other synchronization schemes.
The difference between FREE and the current literature is a careful design of the synchronization and the scheduling algorithms that consider LoRa/LoRaWAN limitations. As a result, our proposal represents a practical system for data collection applications in the remote areas with LoRa links. FREE is studied for both, unconfirmable and confirmable transmissions and shows good scalability.
Iii System Description
Iii-a Problem Statement
We consider a remote environment monitoring use case where LoRa devices generate sensor data that do not tend to have delay constraints. A LoRaWAN gateway might be stationary or mobile and is only available for a restricted time as electricity and Internet connectivity may not be available at all times (i.e. battery powered). Instead of transmitting the data right away when it is generated, devices will buffer it in local storage (e.g. SD card). When a LoRaWAN gateway becomes available it turns on its radio and starts collecting the data in bulk from all devices. In this scenario, devices need to transmit large amounts of data at the same time (i.e. the buffered data). The amount of buffered data depends on the application and the data collection periodicity. In the case of an Aloha-based MAC, transmissions would suffer from severe collisions, leading to high energy consumption and collection time.
Iii-B Proposed Solution - Free
Here, we propose FREE (fine-grained scheduling approach to synchronize transmissions for reliable and energy efficient data collection). FREE alleviates collisions, expedites collection time and minimizes energy consumption. The bandwidth is divided into a number of uplink/downlink channels with 1% duty cycle each and one downlink channel with 10% duty cycle. On the uplink/downlink channels, devices send their uplink transmissions and receive downlink transmissions if needed. However, one channel is dedicated for downlink traffic from the gateway. Before FREE has constructed a schedule, the channels are used in an asynchronous manner, but once the schedule is calculated and disseminated to end devices the channels are used in a synchronous manner.
The transmissions in FREE are scheduled in such a way that devices with the same spreading factor transmit sequentially and devices with different spreading factors transmit simultaneously. For this purpose time is structured into frames, where each frame is divided into a number of uplink slots and one downlink slot at the end as depicted in Fig. 1. There are six parallel frame structures, corresponding to LoRa’s six spreading factors. The slot and the frame lengths are equal for the same spreading factor but may not be equal for different spreading factors. The slot length and the number of uplink slots per frame depend on multiple factors (e.g. packet length used, number of devices per corresponding spreading factor, guard time, etc.). All these factors that affect FREE’s design are examined in Section. IV. The term round per spreading factor denotes the number of frames required to collect the data from all devices that use the same spreading factor.
Data transmission using different spreading factors can take place concurrently on the same channel as the gateway can handle this concurrency due to the pseudo-orthogonality property of the spreading factors. In the same context, data transmissions on any spreading factor can take place concurrently on multiple channels in order to expedite the data collection round per a particular spreading factor. In this case, the data collection round starts one slot delayed on the second channel, two slots delayed on the third channel and so one. Devices using this particular spreading factor transmit once in each frame in each channel, where their spreading factor is allowed to transmit on.
In order to achieve this synchronized transmission, the network entities (i.e. the gateway and the devices) need to agree on a time reference. Therefore, before starting a data collection round, devices enter a joining and synchronization phase. The objective of this phase is to let devices and the gateway learn about each other by exchanging information in order to synchronize transmissions. The complete sequence of actions, in this phase, is depicted in Fig. 2. The next subsection provides more information about the messages used.
Iii-C Joining and Synchronization Phase
The joining and synchronization phase consists of two consecutive stages as shown in Fig. 2. The purpose of the first stage is to collect joining requests from end devices and guide them to set up their transmission parameters (e.g. spreading factor, channel, transmission power). The second stage is used to calculate and broadcast the frame structure for all spreading factors, based on the gathered information from the first stage. We assume the maximum duration of each stage and the channel(s) used in both stages are globally shared in-advance among devices.
Iii-C1 First Stage: Joining the Network
Each device, if it has data to send, submits the intention to engage in the next data collection round by sending a join-request message to the gateway. The join-request message, as shown in Fig (a)a, contains the JoinEUI, DevEUI, DevNonce, and DataSize fields. The first three fields have the same meaning as in the LoRaWAN join-request message . However, the DataSize denotes the size of the buffered data that needs to be transmitted in this data collection round.
The gateway uses the join-request message to guide the allocation of transmission parameters by replying with a join-accept message. The join-accept message, as depicted in Fig (b)b, contains NetID, DevAddr, DLSetting, RxDelay, and DCSettings fields. The first four fields have the same meaning as in the LoRaWAN join-accept message . However, the DCSetting field is added to let the gateway control the transmission parameters of each device. The format of this field is depicted in Fig. (c)c, which consists of DataRate, TxPower, ChMask, SlotFrame, and Secondstage subfields. The first three subfields are used to control the data rate, transmission output power, and the uplink channels and are following the same format as in the LoRaWAN LinkADRReq Mac Command . The SlotFrame field denotes the slot number in the frame that is assigned to a device and SecondStage field denotes the remaining time in seconds to the starting time of the second stage. Using the SecondStage field, the devices are less than one second out of synchronization with reference to the gateway.
Transmissions, in this stage, follow the Aloha MAC protocol and each device keeps sending join-request messages until it receives a join-accept message from the gateway or exceeds the maximum duration of this stage. To reduce severe collisions, each device performs a transmission offset before the first transmission. The retransmission rate is then governed by the maximum between the duration to check the two receive windows and the duration required to obey the duty cycle. Once a device has received the join-accept message, it goes to the sleep mode waiting for the second stage. The procedure of joining the data collection round is similar to the standard joining procedure in LoRaWAN and reuses much of its parameters. The gateway starts the first stage earlier by MaxSkew seconds than the shared starting time and also ends it later by the same period. MaxSkew
represents the maximum clock skew of the time between two data collection rounds which is due to the imprecise device crystals. Without this method, devices would start the joining procedure ahead of the gateway and sendjoin-requests into the void.
Iii-C2 Second Stage: Synchronizing the Network
In the second stage, the gateway informs the devices about the frame structure (i.e. slot length and the frame length) and synchronizes the devices to a finer time resolution. This is done by broadcasting periodically, within the duration of this stage, the FSettings message with the highest spreading factor to reach all the devices. As devices are aware of the starting time of this stage from the previous stage they can perform a periodic wake up to detect the FSettings message every fsettings-delay. The fsettings-delay depends on the length of the Fsettings message and the duty cycle of the channel that this stage is performed on. The mechanism of listening and detecting the FSettings message here is similar to the one in the reception window of CLass-A devices in LoRaWAN as the devices know when this stage starts and know the fsettings-delay.
The FSettings message, as depicted in Fig. (d)d, consists of five fields: PcktSizes, Guards, FrameLens, DataCollection, and NextRound. The PcktSizes field contains the packet lengths of all spreading factors, where the most significant byte represents the packet length for devices with spreading factor 7 and so on. The devices use the corresponding packet length to divide their data into small chunks equal to this length. The Guards represent the guard times in milliseconds for all spreading factors, following the same order as PcktSizes field. Each guard time is calculated based on the worst case desynchronization that may happen during the corresponding data collection round. Using the corresponding PcktSize and the Guard, each device calculates the slot length as , where is the transmission time as defined in . The FrameLens field denotes the number of slots per frame for all spreading factors, following the same order as PcktSizes field. The DataCollection field denotes the remaining time in milliseconds to the starting time of the data collection round. Finally, NextRound denotes the remaining time in seconds to the starting time of the next data collection round.
Iii-D Data Collection Round
The devices start the data collection round at the time specified in the DataCollection field in the FSettings message. DataCollection is in milliseconds, which is a sufficient time resolution to achieve precisely synchronized data collection. In order to transmit, each device wakes up at the right slot that it is assigned in the SlotFrame field in the Join-accept message. Next, the device waits for one guard period before transmitting using the corresponding Guard and PcktSize as specified in the FSettings message. Using this method, the transmission takes place within the slot time and no overlapping, in all cases of desynchronization, happens with previous or later transmissions that use the same spreading factor. The transmission is performed using the transmission parameters that have been assigned to the device in the Join-accept message. Afterwards, the device goes to the sleep mode. In case of a confirmable uplink transmission, the device wakes up again before the last slot in the frame to receive the acknowledgment. As long as the device has data to send, it will wake up for the same slot in the next frame and will repeat the same procedure.
Regarding acknowledgments, the gateway uses a bitmap message to acknowledge all the received packets from the frame at once. The bit position, in this message, corresponds to the slot position in the frame and the length of the acknowledgment depends on the number of the slots in the frame. Enabling a bit in the acknowledgment message indicates the reception from the corresponding slot, otherwise, nothing has been received or corruptly received from the corresponding slot.
Iv Constructing a Free schedule
FREE schedules LoRa transmissions in a way to alleviate collisions and, thus, speeds up the overall data collection time and minimizes the overall energy consumption. However, LoRa transmissions are affected by many factors that are technology-dependent e.g. duty-cycle, multi spreading factors, packet length, etc. These factors result in interesting trade-offs in the design. In the next subsections, these trade-offs are presented and allocation algorithms for the transmission parameters are proposed.
Iv-a Packet Lengths
The length of packets used to transmit devices’ buffered data has an impact on energy consumption (i.e. overall transmission time) due to the overhead of the MAC headers. In addition to that, the packet length impacts the probability of reception. Indeed, the bit error probability increases by increasing the packet length. Therefore, dividing the buffered data into smaller chunks results in lower loss rate over poor radio links. This, however, introduces a large overhead due to the added MAC header to each payload, thus high overall energy consumption. The opposite holds true for dividing the data into larger chunks. In order to determine the right packet length for each spreading factor, we rely on a theoretical model to minimize the overall energy consumption (i.e. overall transmission time).
The theoretical model starts with the analytical expression for the Bit Error Rate (BER) of LoRa modulation for a given spreading factor as given in  and written in Eq. 1. denotes the energy per bit to noise power spectral density ratio and is the Q-function. By assuming independent and constant bit error for every bit, the packet error rate can be written as per Eq. 2, where is the payload length of a packet using spreading factor and is the length of the MAC header.
In LoRa, each spreading factor has an Signal-to-Noise-Ratio (SNR) limit and therefore a different reception probability for the same packet length. These SNR limits are shown in Table I as reported in . The SNR, however, needs to be converted into to use Eq. 2. We use Eq. IV-A for this conversion.
The SNR limits define the receiver sensitivity for each spreading factor, which can be calculated using Eq. 4. The first term denotes the thermal noise per 1 Hz bandwidth and denotes the receiver noise figure. The spreading factor allocation is defined by these receiver sensitivities with the constraint that devices must have a higher RSSI than the corresponding receiver sensitivity to be assigned a particular spreading factor. The receiver sensitivities, therefore, can be used as worst cases for to determine the optimal packet length for each spreading factor.
By assuming an infinite number of possible retransmission attempts, the expected number of retransmissions needed to deliver each packet is given in Eq. 5. In this case, the energy consumption of transmitting data of size can be calculated using Eq. 6, where is the transmission time for sending a packet of length , whereas and are current and voltage, respectively.
Figure 8 shows an example of the energy consumption in the case of transmitting data of size 1MB. We examined all packet lengths, starting from 20 bytes length to 255 bytes, which is the longest packet length that can be used in LoRa. The point on each curve represents the packet length that achieves the minimum energy consumption for the corresponding spreading factor. As shown, the packet length for all spreading factors needs to be large to minimize energy.
The conclusion from this study is that using the available limited packet lengths in a LoRa physical frame, the impact of the packet error is not as important as the impact of the MAC header overhead in terms of the overall energy consumption. This is the reason why the packet lengths should be large for all spreading factors to reduce the impact of MAC headers.
Iv-B Spreading Factor and Slot Number
Assigning a particular spreading factor to a device affects the overall network performance in terms of energy consumption and data collection time. On one hand, the spreading factor determines the time a device will spend in the transmission mode and, thus, determines the overall energy consumption . On the other hand, the spreading factor determines which frame a device will be part of, which affects the data collection round of certain spreading factors and, thus, the overall data collection time.
Furthermore, the spreading factor allocation must consider the signal attenuation between devices and the gateway as not every spreading factor can be used for any device. This is due to the minimum sensitivity of spreading factors as shown in Eq. 4. The objective here to make sure the signal strength of all devices at the gateway is greater than the minimum sensitivity of the assigned spreading factor. Considering only this in assigning the spreading factor (i.e. assign the lowest possible) would minimize the overall energy consumption. However, it might lead to using certain spreading factors excessively, leading to an unbalanced schedule that is sub-optimal in the data collection time. Therefore, the objectives of minimizing energy consumption and collection time lead to contradictions from the spreading factor allocation point of view and require a trade-off.
In order to address this trade-off, we propose Algorithm 1 with two different objective functions, using flag, which . When , the algorithm allocates the spreading factor to minimize the data collection time, whereas, the energy minimization objective is considered when . It should be noted that the spreading factor allocation is performed in the first stage. At this time, the gateway has only partial information about the network (i.e. the spreading factors that have already been assigned). Therefore, the allocation algorithm is performed in a greedy online manner based on the available knowledge from the previous assignments in the same stage.
Once the gateway receives a join-request message from a device, it extracts the amount of data the device wants to send as well as the RSSI of the message. Then, Algorithm 1 runs to determine the spreading factor that the device should use according to the objective of the allocation. Algorithm 1 checks, firstly, the minimum spreading factor that can be assigned based on the minimum sensitivities (line 5-9). Then, it also evaluates the cost function for all allowed spreading factors and assigns the spreading factor that achieves the minimum cost.
Devices with the same spreading factor are assigned to consecutive slots in a frame, which determines the frame length. Consequently, in order to minimize the data collection time, balanced frame lengths of all spreading factors are required to take as much advantage of concurrent transmissions as possible. Therefore, in some network deployments, it is better to switch certain devices to other spreading factors rather than using particular spreading factors excessively.
However, each frame has a minimum length that cannot be violated even if there is only one device that uses the corresponding spreading factor. The minimum length depends on the corresponding packet length and the duty cycle applied. A minimum frame length is required to allow a device to reuse the same slot number in the following frames without violating the maximum duty cycle. Given the set of spreading factors , the number of channels , the packet lengths , and the duty cycle . The minimum frame lengths can be calculated as follows:
where is the transmission time of a packet of length using spreading factor . Eq. 7 represents the off-time that each device must wait before sending the next packet to obey the duty cycle . Then, the gateway divides this off-time into virtual slots of length to accommodate other devices. Therefore, the minimum number of virtual slots that must be in the corresponding frame equals .
In this case, the best spreading factor for the device is the one that minimizes the following cost function:
where is the number of devices that already have been assigned with spreading factor . The above cost function calculates roughly the collection time of this device based on the previous knowledge of , and the current number of channels . represents the required extra slots in case more than one channel is available for spreading factor because the frame starts with one slot delay on each channel, excluding the first channel.
On the other hand, the spreading factor that minimizes the following cost function is the one assigned in order to minimize the energy consumption:
This cost function calculates roughly the energy consumption using spreading factor . The and are current and voltage, respectively.
Algorithm 1 also assigns the slot number to devices. The slot number assignment scheme follows a first come first serve approach, where slots are assigned consecutively per frame. The slot number is used to indicate when a device can transmit in each frame. In this case, the same slot number is used by a device until all its data has been transmitted.
Iv-C Transmission Power and Channels
FREE exploits the concurrent transmissions that LoRa can support by allowing concurrent frames using different spreading factors. However, the correctly received concurrent transmissions are subject to the received strengths of the overlapping signals due to the capture effect. Therefore, a careful resource division is required to diminish collisions among concurrent transmissions. The division can be performed in power (control transmission power), or in frequency (assigned channels).
In some topologies, the transmission power is used as a parameter to extend the communication range and increase the link reliability. Therefore, it is better to use the full transmission power for all devices and diminish collisions at the same time. Furthermore, controlling the transmission power and, thus, minimize the cross spreading code interference would greatly complicate the scheduling. This may lead to different transmission powers per device per transmission, which would require sending frequent information to the devices . However, we believe this kind of complicated transmission power control is not required in FREE. In FREE, the number of concurrent transmissions and their spreading factors on the same channel is controllable. For that reason, we rely less on varying the transmission power and depend more on the frequency division.
There are two limitations that are governing the frequency division. Firstly, the limited number of uplink channels and, secondly, the maximum number of concurrent transmissions that the gateway can handle. Increasing the number of channels per spreading factor expedites the data collection by enabling more concurrent transmissions. However, this may lead to more transmission rejections by the gateway if the number of concurrent transmissions exceed the maximum capacity of the gateway (e.g., 8 transmissions).
In this work, similarly to LoRaWAN, we consider a maximum of three uplink channels and a maximum number of eight concurrent transmissions as supported by most LoRa concentrators. In this case, FREE allocates one channel to spreading factors 7-10 and two channels to spreading factors 11-12. Using this allocation, the gateway receives at a maximum eight transmissions on all channels, respecting its capacity. The reason behind allocating two channels to spreading factors 11 and 12 is to reduce their data collection rounds by 50%. That is because their minimum frame lengths are large, which affects the overall collection time badly even if a small number of devices use these spreading factors. However, this leaves the question as to what is the criterion for assigning the spreading factor over the channels?
In order to determine the channels per spreading factor, we looked at the distribution of collisions. We found that the majority of collisions happen due to the impact of the low spreading factors, particularly 7 and 8 on the entire network; this is in line also with the conclusion in . The reason behind this is the low isolation thresholds of the low spreading factors as experimentally demonstrated in  and shown in Table II.
|Channel||Spreading Factor||Transmission Power [dBm]|
|2||9, 10, 11, 12||13, 14, 14, 14|
|3||8,11,12||13, 14, 14|
We tackle the frequency division as shown in Table III. Firstly, FREE assigns the devices that use spreading factor 7 to the first channel. Secondly, it assigns the transmissions of spreading factors 9, 10 and one of the transmissions of spreading factors 11 and 12 to the second channel. Furthermore, it minimizes the transmission power of devices with spreading factor 9 by 1 dBm. Finally, it assigns the second transmissions of spreading factors 11 and 12 with spreading factor 8 to the third channel and minimizes the transmission power of devices with spreading factor 8 by 1 dBm. As spreading factors 10-12 have high isolation thresholds, there is no need to change their maximum transmission power as they are less likely to suppress other transmissions. However, spreading factors 8 and 9 have only -13 dBm isolation threshold against spreading factors 11 and 12, and 10, respectively. Therefore, FREE minimizes the transmission power of these spreading factors so as to not collide with transmissions using other spreading factors on the same channel. This allocation technique almost eliminates the collisions among transmissions using different spreading factors, which improves significantly the overall packet delivery ratio and energy consumption of the network.
Iv-D Packet Lengths, Guard Periods, and Slots per Frame
Through the first stage, each device is guided to use certain transmission parameters (e.g. spreading factor, etc.) as received in the join-accept message. However, the frame structure and the actual slot length are not known yet because this information requires knowledge of the spreading factor distribution among all devices. At the end of the first stage, the gateway will have complete knowledge about the devices that will participate in the coming data collection round. Algorithm 2 is then used to determine the required information for the frame structures, which is broadcast periodically in an FSettings message as part of the second stage.
The slot length depends on the packet transmission time and the guard time, where it equals the transmission time plus 2 times the guard time. The packet lengths should be selected as explained in Section IV-A to minimize the energy consumption. All the devices that use the same spreading factor need to have the same slot length to be able to maintain synchronization. Therefore, the slot length is derived from the longest packet length, which, in turn, is computed based on the maximum buffered data size for a particular spreading factor (lines 2-7). Once the packet length is known, it is used to calculate the guard period which should be large enough to accommodate the accumulation of clock skew during the data collection round of the corresponding spreading factor (line 9).
With the guard time and the slot length known, Algorithm 2 calculates the minimum number of slots per frame () that satisfies the duty cycle (line 10). In case the actual number of slots per frame () is lower than , it is adjusted accordingly (in order to meet ). After receiving the frame structures in an FSettings message, each device will know its slot length and the number of slots for its frame.
V Performance Evaluation and Discussion
To validate our work, we developed a simulation tool in Simpy and used the log-distance path loss model of LoRaSim , which was obtained from a real environment. The new simulator is more comprehensive than LoRaSim as it considers a packet error model, the imperfect orthogonality of spreading factors, the fading impact, and the duty cycle limitation at both, the devices and the gateway. In addition to that, the new simulator supports bidirectional communication by adding the downlink capability and the retransmission strategy in case of confirmable uplink transmissions. Furthermore, we extended the energy consumption profile from LoRaSim to consider the consumed energy at the reception time. The aforementioned features are required for a proper evaluation of LoRa-based systems making the new simulator beneficial to the research community111https://github.com/kqorany/FREE.
|Parameter||Value [Unit] + Comment|
|Devices||10 - 2000|
|Channels||3 Uplink/Downlink with 1% Duty Cycle|
|plus 1 Downlink with 10% Duty Cycle|
|Retransmissions||8 Times Before Dropping|
|LoRaWAN MAC Header||7 [Bytes]|
|FREE MAC Header||8 [Bytes] Extra byte for Data Ordering|
|LoRaWAN ACK||0 [Bytes]|
|FREE ACK||Depends on the number of slots|
|Path Loss ||[dB]|
|Application||20 [Bytes] every exp(5 [mins])|
|Collection Periodicity||1 - 48 [Hours]|
|Transmission Offset||Uniform(0,600000) [ms]|
|Battery Capacity||1000 [mAh]|
|Clock Skew Rate||15 [sec] every [sec]|
|SNR Limits||Table I|
|Receiver Sensitivities||Equation 4|
|Packet Error Model||Equations 1 - IV-A|
In this evaluation we are comparing the obtained results from our two FREE scheduling scenarios (i.e. and ) with two other approaches, namely Legacy LoRaWAN and Delayed LoRaWAN for the cases of unconfirmable and confirmable transmissions. Table IV
summarizes all the simulation parameters. Each simulated study is executed 10 times using different random seeds and the mean across all results is presented along with the standard deviation.
In all scenarios an application generates packets periodically. The difference among the scenarios is in how and when those packets are sent to the gateway. In Legacy LoRaWAN, we examine the case where the gateway is available and listens to end devices at all the times. The devices, in this scenario, follow the Class-A specification (i.e. Aloha MAC, two receive windows after each uplink, etc.) and transmit immediately whenever data is generated by the application. Whereas in the Delayed LoRawan, we examine the case when the gateway is available for a limited time only. Here, devices buffer the application data and transmit in bulk when the gateway is ready to receive. The devices, in this scenario, still follow the Class-A specification and do not perform any sort of synchronization before transmission. Only a time offset is used before the first transmission and then the rate of transmission is governed by the duty cycle of the channels. The purpose of the time offset is to desynchronize devices in order to reduce collisions. As the data is transmitted in bulk, devices send longer packets to reduce the overhead of packet headers with the packet size determined as per Algorithm 2. The spreading factor allocation in both the Legacy and the Delayed LoRaWAN scenarios is chosen to minimize the transmission time . Finally, the two proposed FREE scenarios are examined, which can be used when the gateway is available all the time or for a restricted time only. Here, devices follow the protocol presented in Sec. III, going through the joining and synchronization phase before starting the actual data transmission.
The scenarios are tested with a fixed collection period (e.g. one day). In the simulation, all devices use a buffer of data (termed goal buffer) from which packets are extracted and sent to the gateway. The initial size of the goal buffer represents the total amount of application data generated during a collection period. The simulation terminates when all devices have transmitted all data in their goal buffers. For instance, if the data is collected once every day and 20 bytes is generated every 5 minutes (i.e. application), each device would start with 5760 bytes to be transmitted. However, the rate of transmission and the used packet lengths are scenario-dependent.
We present the evaluation results in terms of network energy consumption and data collection time, where minimizing the two metrics helps the objective of this work. An estimation of the device lifetime is also presented, which can be deduced from the network energy consumption. Furthermore, the network data delivery ratio is presented, which reflects the throughput of the network. For the two FREE scenarios, we show the spreading factor distribution, guard times, and the frame lengths in time. These results help to understand the performance of the two scenarios (i.e. and ). In addition to that, we introduce the air time efficiency metric to indicate the efficiency of the used schedule. This is computed as the ratio between the ideal and the actual data collection time222The ideal FREE data collection would have each node transmitting only once without any guard periods or idle times, and with frames of the same length. Considering the use of 8 concurrent transmissions, the ideal data collection time length would then be the total time spent transmitting (over all the nodes) divided by 8.. The metric reflects the sub-optimality introduced by the guard time as well as by the greedy online spreading factor allocation. Finally, the network statistics (i.e. transmissions, collisions, and lost packets) are presented to gain more insight into the results.
The results from the joining and synchronization phase are presented separately in Section V-A. These results provide an insight into the overhead of this phase related to the network size. Subsequently, performance results of the unconfirmable and confirmable application studies are presented in Section V-B and Section V-C, respectively. The results of the two applications are obtained with a one-day data collection periodicity. Finally, the results obtained by varying the data collection periodicity are presented in Section V-D.
V-a Joining and Synchronization Phase Study
We investigate here the energy consumption (see Fig. (a)a) and the time required (see Fig. (b)b) for devices to go through the joining and synchronization phase. It should be noted that join-requests are transmitted on 3 channels with 1% duty cycle, where a device randomly chooses one of these channels to send its requests. The gateway, if the duty cycle permits, sends the join-accepts messages on the same channels during the first receive window or on the extra downlink channel with 10% duty cycle during the second receive window. Subsequently, the gateway uses the channel with the highest duty cycle to broadcast the frame structures using the highest spreading factor.
The energy consumption of and time required for the second stage increases linearly with the network size. This is due to devices performing only receiving activities, which are negatively affected only due to losing Fsettings messages during channel fading. Whereas in the first stage energy consumption increases exponentially and the time required for the stage increases supralinearly with the the network size. The reason behind this is the scalability issue of the Aloha MAC and the duty cycle limitation of the gateway as shown in Fig. (c)c. For instance, in a network with 2000 devices, the average number of transmitted join-requests is 33 per device. That is because roughly 17 of these requests on average collide with other join-requests and almost 14 of these requests on average are received by the gateway. However, the gateway can not send back join-accept messages in both receive windows due to its limited duty cycle (see No join-accept in Fig. (c)c). In addition to that, a very small percentage of join-requests and join-accepts are lost due to channel fading.
V-B Unconfirmable Application Study
In this subsection, we study the unconfirmable application scenario, where uplink transmissions are not acknowledged. The results of this study are presented in Fig. 22 for an application that generates 20 bytes every 5 minutes and with a one-day data collection periodicity.
Fig. (a)a shows the network energy consumption for one day (lines) and an estimation of the device’s lifetime (bars). The lifetime estimation is calculated assuming a battery capacity of 1000 mAh. Overall, both FREE schemes (including the joining and the synchronization phase overhead) consume less energy than Legacy LoRaWAN, but show a higher energy consumption than Delayed LoRaWAN. This is reflected in the device lifetime, where in case of Legacy LoRaWAN, devices survive about 6 years compared to 10 plus years using the other approaches (see Fig (a)a).
The network size has a linearly increasing impact on the network energy consumption and no impact on the devices’ lifetime except for the two FREE schemes. This is because of the unconfirmable transmissions, where collisions and lost packets do not affect the results. However, the differences among the schemes are in the overhead due to MAC headers and the joining and synchronization phase. In Legacy LoRaWAN, devices do not buffer data but transmit it right away. Therefore, the number of the overall transmitted packets is large compared to the other schemes (see Fig. (b)b) and, thus, the impact MAC header overhead. For example, a network with 1000 devices transmits roughly 288K packets in case of Legacy LoRaWAN (i.e. 2MB of MAC headers), whereas about only 25K packets are transmitted in the other systems (i.e. 0.2MB of MAC headers). This is the reason why the Legacy LoRaWAN scheme consumes a lot more energy compared to the other schemes.
The FREE schemes transmit overall the same number of packets as Delayed LoRaWAN. However, because of the overhead of the joining and synchronization phase, Delayed LoRaWAN consumes less energy than the FREE schemes. The difference in energy consumption among the two schemes increases with an increase in network size due to the scalability issue of the joining and synchronization phases (Section. V-A). This is also the reason behind the slight degradation in the device’s lifetime for the FREE schemes.
FREE with minimizes the energy consumption as shown in Fig. (a)a at the expense of the overall data collection time as shown in Fig. (c)c and vice versa for . This is due to the different spreading factor distributions that each scheme applies in order to optimize the corresponding objective function as presented in Algorithm 1. As shown in Fig. (d)d, when some devices with low spreading factors have been shifted to higher spreading factors to balance the frame lengths and achieve a lower collection time (see Fig. (c)c). However, this leads to an increased use of higher spreading factors and thus a higher energy consumption overall (see Fig. (a)a).
The lowest collection time is obtained with Delayed LoRaWAN333Collection time is not a relevant metric for Legacy LoRaWAN so it is not included in the comparison. (see Fig. (c)c). There are two reasons for these results. The first reason is the time overhead of the joining and the synchronization phase and the second is due to the guard period used in each slot in FREE. However, for small network sizes of less than 500 devices, FREE achieves less data collection time than Delayed LoRaWAN. This is because devices in Delayed LoRaWAN perform a transmission offset before the first transmission in order to alleviate collisions. Furthermore, in these network sizes, the guard periods are still small compared to the actual times used in transmitting in FREE (see Fig. (e)e).
The low energy use and collection time achieved with Delayed LoRaWAN come at the expense of the Data Delivery Ratio (DDR) (see Fig. (f)f). DDR represents the ratio of correctly received data to the initial buffer sizes of all devices. In the case of Delayed LoRaWAN, the DDR dramatically degrades by increasing the network size due to collisions (see Fig. (g)g) and channel fading (see Fig. (h)h). Although Legacy LoRaWAN experiences a higher number of collisions and lost packets than Delayed LoRaWAN, it still achieves a higher DDR. That is because a collision or a loss is more costly in the case of Delayed LoRaWAN due to the large packet lengths. On the contrary, the effectiveness of synchronized communications in preventing most of the collisions in the FREE scenarios results in a DDR of almost 1 regardless of the network size.
Fig (i)i shows the frame lengths in seconds for all spreading factors in both FREE schemes in addition to the air time efficiency. The frame lengths are directly proportional to the spreading factor distribution (Fig. (d)d), the transmission times and the guard periods (Fig. (e)e). As shown, the accumulated frame lengths increase for both schemes with increasing network size. In addition to that, the frame lengths associated with high spreading factors are mostly longer than the frame lengths of low spreading factors. That is because high spreading factors require more time to transmit the same packet lengths than lower spreading factors. Consequently, high spreading factors require longer guard periods to accommodate clock skew as the time of their data collection rounds is longer than is the case for lower spreading factors (see Fig. (e)e).
The frame lengths when are more balanced than in the case of and thus the air time efficiency is higher in this case. It should be noted that the data collection rounds of spreading factors 11 and 12 are running on two channels at the same time. Therefore, roughly half the frame lengths of these spreading factors should be considered for a fair comparison with the other spreading factors. The balanced frame lengths result in a schedule that utilizes the concurrent transmissions as much as possible and, thus, minimize the overall data collection time. That is the reason that the air time efficiency is higher when than when . In small network sizes the air time efficiency of both schemes is low because of the minimum frame lengths due to the duty cycle. As a result, even if only one device is assigned to a particular spreading factor, the corresponding frame length must be long enough to obey the duty cycle, leading to a lot of non-utilized time in the corresponding frame.
V-C Confirmable Application Study
In this subsection, we study a confirmable application where acknowledgments are required to guarantee reception. The results obtained with this study are presented in Fig. 31 for the same data generation rate and data collection periodicity as used in the unconfirmable application study. In case an acknowledgment is not received by a device in the expected window(s), the device retransmits the same packet up to 8 times before it is dropped. In the case of Legacy LoRaWAN and Delayed LoRaWAN, the acknowledgment message is an empty message with only a MAC header which confirms reception. Whereas the acknowledgment message in FREE includes a bitmap of the same length as the number of slots in the frame, as explained in section III-D.
In terms of energy consumption, Legacy and Delayed LoRaWAN schemes are affected badly when the network size increases, where a device’s lifetime drops to less than 2 years and to about 5 years, respectively, for a network with 2000 devices (see Fig. (a)a). This is due to the overhead of retransmissions and confirming reception that the network requires in this application. For instance, a network with 1000 devices increases the number of transmissions to 7.4 and 6.4 times, respectively for Legacy LoRaWAN and Delayed LoRaWAN compared to an unconfirmable application (see Fig. (b)b and Fig. (b)b). In FREE, devices can still survive 10 plus years in both schemes and for all evaluated network sizes. This is because the number of transmissions in this application does not increase much compared to the unconfirmable application due to lack of collisions. A retransmission only takes place due to the loss of an uplink transmission or an acknowledgment because of channel fading. However, these losses happen with low probability.
In the FREE schemes, the increase in the overall data collection time is small compared to the unconfirmable application (see Fig. (c)c and Fig. (c)c). However, in the case of Delayed LoRaWAN, the difference between the two applications is remarkable and gets worse with an increase in network size for the confirmable application (see Fig. (c)c) because of the retransmissions overhead. In FREE, the spreading factor distribution in this application is identical to the unconfirmable application and this is the reason why the overall data collection time is lower and the overall energy is higher when compared to the case when .
In contrast, the confirmable application does not improve the overall DDR in case of Legacy and Delayed LoRaWANs. In fact, the overall number of collisions increases (see Fig. (e)e), which further reduces the overall DDR (see Fig. (d)d). However, the collisions are not the main reason for this low DDR, but the gateway duty cycle limitation (see. (g)g). Fig. (g)g presents the number of uplink transmissions that the gateway has received but cannot acknowledge in either of the two receive windows due to the duty cycle limitation. The above observation is in line with the analytical analysis in . In addition to that, packet loss in the uplink (see Fig. (f)f) and the downlink (see Fig. (h)h) due to the channel fading also has a negative impact on the DDR, but is not comparable to the impact of the other factors. In Legacy and Delayed LoRaWAN, the DDR drops to less than 20% for a network with 300 devices and drops even lower by increasing the number of devices further, showing an obvious scalability issue for LoRaWAN with confirmable applications. It should be noted that in very small network sizes, Delayed LoRaWAN achieves higher network lifetime than the FREE solutions without sacrificing the overall DDR (see Fig. (a)a and Fig. (d)d at 10 devices) due to avoidance of the overhead of the joining and synchronization phase.
The FREE schemes experience almost no collisions which is due to the synchronization and the transmission power control algorithms. In addition to that, the acknowledgments of a complete frame are grouped in one message that is sent in the last slot of the frame. In this case, the periodicity of this slot is guaranteed to obey the duty cycle of the channel as the frame length is designed to obey it (see Algorithm 2).
V-D Data Collection Periodicity Study
In this subsection, we study the impact of varying the data collection time periodicity on the overall energy and time. The obtained results here are gathered from a network with 1000 devices and we vary the periodicity from 1-hour to 48-hours. The results are presented in Fig. 35 and Fig. 39 for unconfirmable and confirmable applications, respectively.
Generally speaking, increasing the collection time periodicity minimizes the impact of joining and synchronization overhead of the FREE schemes, which increases the overall device lifetime. However, this also increases the overall collection time as devices have more data to transmit. The opposite holds true in case of collecting the data more frequently. The aforementioned statements are valid in both applications and the trend can be seen in (Fig. (a)a and Fig. (c)c) for an unconfirmable application and in (Fig. (a)a and Fig. (c)c) for a confirmable application.
For the unconfirmable application case, the FREE schemes are more energy efficient than Legacy LoRaWAN until the data collections are performed as frequently as 1-hour periodicity. In this case, Legacy LoRaWAN becomes more energy efficient as it avoids the overhead of the joining and synchronization phase without sacrificing the overall DDR (see Fig. (b)b). Although Delayed LoRaWAN is the most energy efficient and fastest scheme for unconfirmable applications, it comes at the expense of the overall DDR.
The trend in the confirmable application is consistent; the FREE schemes surpass Legacy and Delayed LoRaWANs in terms of device lifetime (see Fig. (a)a) and data collection time (see Fig. (c)c). This happens without sacrificing the overall DDR (see Fig. (b)b) for all the presented periodicities. It should be clear that at this network size, Legacy and Delayed LoRaWANs deliver almost no data, which again highlights the scalability problem of Aloha-based systems for confirmable applications.
The first stage in the joining and synchronization phase is the bottleneck of FREE as it does not scale well. However, the overall gain is still very much in favor of FREE compared to the other two approaches. Nevertheless, we believe that this stage can be further optimized, which we leave for further investigations.
The objectives of FREE are to minimize the overall energy consumption and data collection time. However, the two objectives may contradict each other in particularly in regard to spreading factor allocation. This is why we proposed two objective functions for the spreading factor allocation. The choice of objective function depends on the gateway availability. In case where there is no time restriction on the gateway, the choice would be to optimize the overall energy consumption and prolong device lifetime. Whereas, for time restricted gateway access, the choice would be to optimize the overall data collection time. FREE also presents the best option of the considered approaches when the reliability is considered.
We have evaluated FREE for unconfirmable and confirmable uplink traffic. Results were quite similar for both FREE cases because collisions and the gateway’s duty cycle do not affect the retransmissions in FREE. However, this is not the case with Aloha-based systems. As a result, FREE is a scalable scheme regardless of the type of application. This scalability property opens a new domain of applications for LoRa-based systems that could not be feasible before using the legacy LoRa systems. The only limitation of FREE is that it cannot handle applications with urgent data as devices buffer data to be sent later. FREE is best suited to monitoring applications in remote areas where the gateway is only available for a restricted time because it is either battery-powered or mobile.
Data transmission rates in LoRa are low as they are restricted by the channel’s duty cycle, affecting data collection times. Adding additional guard periods in each slot to guarantee synchronization slows the collection further. However, the guard periods are controllable because they are proportional to the maximum data size per spreading factor, which are proportional to the data collection periodicity. In the case of frequent data collections, devices have fewer data to send and, thus, only small guard times are required. However, decreasing the periodicity time also decreases devices lifetime as the joining and the synchronization phase is performed more frequently. Therefore, a balance is required to achieve both a reasonable devices lifetime and a fast data collection. From the conducted studies, we found a periodicity of 12-hours to be a good option. For generalization, data collection should be performed when devices have buffered roughly 2.5 KB of data. This amount of data represents a good balance between a fast data collection and devices lifetime.
The implementation of FREE in a real LoRaWAN in order to validate FREE in practice is our next piece of work. However, there are also other aspects worth exploring further, including the use of multiple gateways to expedite the data collection. In this case, collaboration between gateways is required to calculate the schedule and disseminate it while still achieving zero collisions. In this work, we focused on minimizing the overall energy consumption, however it would be interesting to examine the scenario of increasing the fairness among devices in terms of the consumed energy. This would require different allocation techniques to exploit the history of the spreading factor allocations in the previous data collection rounds. This scenario becomes even more interesting when considering the trajectory of a moving gateway (i.e. a gateway in a drone).
We proposed FREE as a fine-grained scheduling scheme for reliable and energy-efficiency data collection in LoRaWAN. In order to compute FREE’s scheduling, an overhead phase is required to enable devices to join a data collection phase and to synchronize themselves to the gateway time. We found that the impact of this overhead is marginal and is minimized when increasing the data collection periodicity. FREE has two objective functions to either optimize for energy consumption or data collection time, which can be chosen depending on the gateway availability. FREE schedules concurrent transmissions by using different spreading factors without collisions and by grouping acknowledgments, which are both bottlenecks of legacy LoRaWAN. We simulated and compared FREE to two other approaches for unconfirmable and confirmable transmissions. Our results showed that FREE scales well, achieved almost 100% data delivery and over 10 years battery lifetime independent of the type of application and network size.
This publication has emanated from research conducted with the financial support of Science Foundation Ireland (SFI) and is co-funded under the European Regional Development Fund under Grant Number 13/RC/2077.
-  J. Haxhibeqiri, E. De Poorter, I. Moerman, and J. Hoebeke, “A survey of lorawan for iot: From technology to application,” Sensors, vol. 18, no. 11, 2018.
-  E. E. TG28, “Electromagnetic compatibility and radio spectrum matters (erm); short range devices (srd); radio equipment to be used in the 25 mhz to 1 000 mhz frequency range with power levels ranging up to 500 mw,” European harmonized standard EN, vol. 300, no. 220, p. v2.
-  M. C. Bor, U. Roedig, T. Voigt, and J. M. Alonso, “Do lora low-power wide-area networks scale?” in Proceedings of the 19th ACM International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems. ACM, 2016, pp. 59–67.
-  L. Casals, B. Mir, R. Vidal, and C. Gomez, “Modeling the energy performance of lorawan,” Sensors, vol. 17, no. 10, 2017.
-  A.-I. Pop, U. Raza, P. Kulkarni, and M. Sooriyabandara, “Does bidirectional traffic do more harm than good in lorawan based lpwa networks?” in GLOBECOM 2017 IEEE Global Communications Conference. IEEE, 2017, pp. 1–6.
-  G. Werner-Allen, K. Lorincz, J. Johnson, J. Lees, and M. Welsh, “Fidelity and yield in a volcano monitoring sensor network,” in Proceedings of the 7th symposium on Operating systems design and implementation. USENIX Association, 2006, pp. 381–396.
-  A. Hasler, I. Talzi, J. Beutel, C. Tschudin, and S. Gruber, “Wireless sensor networks in permafrost research-concept, requirements, implementation and challenges,” in Proc. 9th Int’l Conf. on Permafrost (NICOP 2008), vol. 1. Citeseer, 2008, pp. 669–674.
-  M. Di Francesco, S. K. Das, and G. Anastasi, “Data collection in wireless sensor networks with mobile elements: A survey,” ACM Transactions on Sensor Networks (TOSN), vol. 8, no. 1, p. 7, 2011.
-  S. Kim, R. Fonseca, P. Dutta, A. Tavakoli, D. Culler, P. Levis, S. Shenker, and I. Stoica, “Flush: A reliable bulk transport protocol for multihop wireless networks,” in SenSys ’07. ACM, 2007, pp. 351–365.
-  D. Croce, M. Gucciardo, S. Mangione, G. Santaromita, and I. Tinnirello, “Impact of lora imperfect orthogonality: Analysis of link-level performance,” IEEE Communications Letters, vol. 22, no. 4, pp. 796–799, April 2018.
-  T. Committee, “Lorawan™ 1.1 specification,” 2017, loRa Alliance.
-  F. Adelantado, X. Vilajosana, P. Tuset-Peiro, B. Martinez, J. Melia-Segui, and T. Watteyne, “Understanding the limits of lorawan,” IEEE Communications Magazine, vol. 55, no. 9, pp. 34–40, 2017.
-  K. Mikhaylov, J. Petäjäjärvi, and J. Janhunen, “On lorawan scalability: Empirical evaluation of susceptibility to inter-network interference,” in Networks and Communications (EuCNC), 2017 European Conference on. IEEE, 2017, pp. 1–6.
-  P. Juha, M. Konstantin, P. Marko, J. Janne, and I. Jari, “Performance of a low-power wide-area network based on lora technology: Doppler robustness, scalability, and coverage,” International Journal of Distributed Sensor Networks, vol. 13, no. 3, 2017.
-  B. Reynders, Q. Wang, P. Tuset-Peiro, X. Vilajosana, and S. Pollin, “Improving reliability and scalability of lorawans through lightweight scheduling,” IEEE Internet of Things Journal, 2018.
-  J. Haxhibeqiri, I. Moerman, and J. Hoebeke, “Low overhead scheduling of lora transmissions for improved scalability,” IEEE Internet of Things Journal, pp. 1–1, 2018.
-  C. Pham, “Investigating and experimenting csma channel access mechanisms for lora iot networks,” in 2018 IEEE Wireless Communications and Networking Conference (WCNC), April 2018, pp. 1–6.
-  T.-H. To and A. Duda, “Simulation of lora in ns-3: Improving lora performance with csma,” in 2018 IEEE International Conference on Communications (ICC). IEEE, 2018, pp. 1–7.
-  D. Zorbas and B. O’Flynn, “Collision-free sensor data collection using lorawan and drones,” in Global Information Infrastructure and Networking Symposium (GIIS), Oct 2018.
-  S. Corporation, “Lora modem design guide,” $semtech.com/images/datasheet/LoraDesignGuide_STD.pdf$, 2013, online; accessed 10-December-2017.
-  B. Reynders, W. Meert, and S. Pollin, “Range and coexistence analysis of long range unlicensed communication,” in 2016 23rd International Conference on Telecommunications (ICT), May 2016, pp. 1–6.
-  K. Q. Abdelfadeel, V. Cionca, and D. Pesch, “Poster: A fair adaptive data rate algorithm for lorawan,” in International Conference on Embedded Wireless Systems and Networks, ser. EWSN ’18. ACM, 2018.
-  K. Q. Abdelfadeel, V. Cionca, and D. Pesch, “Fair adaptive data rate allocation and power control in lorawan,” in 2018 IEEE 19th International Symposium on ”A World of Wireless, Mobile and Multimedia Networks” (WoWMoM), June 2018, pp. 14–15.