0% found this document useful (0 votes)
158 views35 pages

TOSN LoRa

TOSN-LoRa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
158 views35 pages

TOSN LoRa

TOSN-LoRa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

Known and Unknown Facts of LoRa: Experiences from a

Large Scale Measurement Study

JANSEN C. LIANDO, AMALINDA GAMAGE, AGUSTINUS W. TENGOURTIUS, and MO


LI, School of Computer Science and Engineering, Nanyang Technological University, Singapore
LoRa is an LPWAN technology designed for the IoT. In recent years, it has gained significant momentum
amongst both industrial and research communities. Patented by Semtech, LoRa makes use of chirp spread
spectrum modulation to deliver data with promises of long battery life, far-reaching communication distances,
and a high node density at the cost of data rate. In this paper we conduct a series of experiments to verify the
claims made by Semtech on LoRa technology. Our results show that LoRa is capable of communicating over
10km under line-of-sight environments. However, under non-line-of-sight environments, LoRa’s performance
is severely affected by obstructions such as buildings and vegetations. Moreover, the promise of prolonged
battery life requires extreme tuning of parameters. Lastly, a LoRa gateway supports up to 6,000 nodes with
PRR requirement of >70%. This study also explores the relationship between LoRa transmission parameters
and proposes an algorithm to determine optimal settings in terms of coverage and power consumption under
non-line-of-sight environments. It further investigates the impact of LoRaWAN on energy consumption and
network capacity along with implementation of a LoRa medium access mechanism and possible gains brought
forth by implementing such a mechanism.
Additional Key Words and Phrases: Network measurement, Network performance analysis, Sensor networks,
Wide area networks, Low power wide area network, Internet of things, LoRa
ACM Reference Format:
Jansen C. Liando, Amalinda Gamage, Agustinus W. Tengourtius, and Mo Li. 2018. Known and Unknown
Facts of LoRa: Experiences from a Large Scale Measurement Study. ACM Trans. Sensor Netw. 0, 0, Article 19
(November 2018), 35 pages. https://doi.org/0000001.0000001

1 INTRODUCTION
Low Power Wide Area Networks (LPWANs) are garnering increased attention from the research
community and is expected to be the missing piece for the future scalable Internet of Things (IoT).
Recent new LPWAN developments are aimed at fulfilling the gaps composed of limitations that
mainly constitute to battery life, coexistence, and communication range of IoT devices.
Long Range (LoRa) is a recent industry initiated LPWAN technology by Semtech among these
efforts in building a scalable IoT. LoRa, shortly after its release, captured considerable attention
from scientific and industrial communities and brought together multilateral efforts with strong
potential to collaborate on the development of worldwide coverage for IoT devices.

This work is supported by Singapore MOE Tier 2 grant MOE2016-T2-2-023, Tier 1 grant 2017-T1-002-047, and NTU CoE
grant M4081879.
Authors’ address: Jansen C. Liando; Amalinda Gamage; Agustinus W. Tengourtius; Mo Li, School of Computer Science and
Engineering, Nanyang Technological University, 50 Nanyang Avenue, Singapore, 639798, Singapore, {cjansen,amalinda,
atengourtius,limo}@ntu.edu.sg.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee
provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and
the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored.
Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires
prior specific permission and/or a fee. Request permissions from [email protected].
© 2018 Association for Computing Machinery.
1550-4859/2018/11-ART19 $15.00
https://doi.org/0000001.0000001

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:2 Jansen C. L. et al.

LoRa’s popularity stems from a range of features and performance promises. Firstly, LoRa utilizes
the unlicensed Industrial, Scientific, and Medical radio (ISM) bands and promises kilometers of
communication distance and several years of battery life. Secondly, LoRa incorporates a variation
of Chirp Spread Spectrum (CSS) [17] technology that Semtech claims to be robust against a high
degree of interference in addition to multi-path and Doppler effects [2, 34, 41]. Thirdly, LoRa also
claims to support high channel capacity, meaning that a single channel supports simultaneous
transmissions from multiple devices which is in high contrast to conventional LPWAN technologies.
Although Lora’s physical layer is a proprietary technology acquired by Semtech [51, 52], parts
from the same is open for public [11, 34]. In this paper, we exploit those public information to
widen the existing knowledge on LoRa. Despite clinging to claims printed on data sheets, our
measurement study tests such claims with practical conditions and real-life scenarios. We perform
experimental investigations to further understand the room of optimizing and improving the
LoRa performance in various ways. Our study aims at answering researchers or system adopters’
questions like "What are the most energy efficient LoRa configurations under different distance
and environment conditions?", "How the upper LoRaWAN MAC behaviors have an impact on the
LoRa system performance in terms of the energy and channel efficiency?", "What is the LoRa PHY
efficiency? How can we improve in terms of medium access efficiency, reliability and robustness,
etc.?".
We primarily experiment with our campus deployment comprised of handcrafted LoRa gateways
deployed on the rooftops of three buildings, a LoRa network server at the cloud side, 50+ end
nodes tested with various conditions, a mobile LoRa gateway, as well as various wireless spectrum
sensing and data logging devices. The measurement study is performed within an area of 3km ×3km
comprising the university campus and nearby region of residence. This study collected and analyzed
>100 sensor traces with >2,000,000 lines of data. In order to reveal the PHY details of LoRa, we
further build a software defined radio (SDR) enabled LoRa gateway based on USRP N210 and GNU
Radio, with which we can intercept on-the-air LoRa transmissions and perform PHY level signal
analysis.
This paper is organized as follows. Section 2 briefly introduces fundamentals of LoRa modulation
and our experiment setup. Section 3 reports our measurement findings and derived models in
accordance with the performance promises by LoRa. Section 4 exploits the optimization and
improvement opportunities and explores beyond existing scope of LoRa practices by gaining
insights through SDR based LoRa PHY analysis. Section 5 discusses some other LoRa measurement
studies and concludes this paper.

2 OVERVIEW OF LORA
We briefly introduce LoRa modulation and the key technical parameters in order to establish a
common understanding to better comprehend Sections 3 and 4. In LoRa, chirp and symbol both
refers to the modulated signal which carries data and in this paper, we use them interchangeably.

2.1 LoRa Modulation


LoRa employs Chirp Spread Spectrum (CSS) modulation to modulate signals. A chirp in CSS refers
to a signal with constantly increasing or decreasing frequency that sweeps through and wraps
around a predefined bandwidth, referred as upchirps and downchirps. Fig. 1 visualizes a LoRa packet
captured using a software defined radio setup from our experiment. The figure illustrates different
types of chirps - the first half being standard upchirps where frequency increases over time and
restarts from the min frequency (fmin ) towards max frequency (fmax ) followed by short downchirps
annotated as Start Frame Delimiter (SFD) that goes from fmax to fmin , and then modulated chirps
that contain data bits.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:3
Frequency (KHz)

Preamble SFD Data

Time (s)

Fig. 1. A snapshot of LoRa transmission that shows up, down and data chirps as seen on spectrogram.

The simplest implementation of CSS is on-off keying which modulates data into upchirps and
downchirps. The LoRa implementation of CSS however, differs from that and modulates data through
the changes in the chirp’s starting frequency position. The instantaneous change in the starting
frequency indicates the symbol border as illustrated in the modulated chirps in Fig. 1.
Theoretically, LoRa is able to achieve a data rate up to 27kbit/s. The data rate while limited, is
more than sufficient for LPWAN applications where communication coverage is prioritized over
data rate. LoRa configuration can be modified by manipulating some key parameters to achieve
trade-offs among communication distances, data rate, and power consumptions.

2.2 Key Parameters


LoRa employs a unique variation of Chirp Spread Spectrum modulation which incorporates four
key parameters- channel, bandwidth, spreading factor and transmission power. As depicted in Fig.
1, LoRa utilizes a combination of upchirps and downchirps to formulate a full packet. The angle of
chirps, known as the spreading factor, remains consistent throughout the packet. For a system with
constant frequency bandwidth, the spreading factor determines the final data rate. LoRa modulation,
at the time, supports seven different spreading factors ranging from SF6 to SF12. SF6 having the
highest data rate requires the highest signal-to-noise ratio (SNR) for successful demodulation while
SF12 supports lowest data rate but requires lowest SNR for the same transmission power.

Table 1. Configuration options provided by Semtech LoRa chipset.

Parameter Options
SF 6, 7, 8, 9, 10, 11, 12
BW (kHz) 7.8, 10.4, 15.6, 20.8, 31.2, 41.7, 62.5, 125, 250, 500
CR 4/5, 4/6, 4/7, 4/8
IH True or False
DE True or False (recommended True for Tsym > 16ms)
CRC True (uplink) or False (downlink)
PL 0 - 255 Bytes
Spr e 6 - 65535 symbols

A chirp’s gradient is determined by predefined parameters offered by Semtech’s LoRa transceiver


which includes the spreading factor (SF) and frequency bandwidth (BW). The relationship of SF and
BW is explained in [34] where each chirp consists of 2S F number of RF chips carrying SF number
of data bits. The number of chips that formulate a complete chirp is directly proportional to BW
and is computed as a chip per Hz of BW . Therefore, a standard LoRa chirp that sweeps a BW of
125KHz comprises of 125,000 chips/sec. The duration Tsym of such a chirp is given in Eq-1.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:4 Jansen C. L. et al.

2S F
Tsym = (1)
BW

if Implicit Header disabled if Uplink
if Implicit Header disabled if Uplink
Preamble Mandatory Preamble
Preamble
PHY Header
Mandatory Preamble
PHY Header
PHY Header CRC
PHY Header CRC Payload CRC
Payload CRC
6 ‐ 65535  0 – 255 
6 ‐ 65535  symbols
4.25 symbols 0 – 3 bytes (encoded in CR4/8)
bytes
0 – 2 bytes 0 – 255 
4.25 symbols 0 – 3 bytes (encoded in CR4/8) 0 – 2 bytes
symbols bytes

Fig. 2. LoRa PHY packet structure.

In addition to controlling data rate, the diversity of spreading factor choices also increases
co-existence of LoRa devices, i.e., uniquely different chirp gradients (different SFs) allow the
demodulator to develop a factor of resilience against simultaneous transmissions of different SFs in
the same channel and demodulate all of them. Such a feature significantly enhances the multiple
access efficiency of LoRa which we comprehensively tested and report in Section 3 and Section 4.
Semtech LoRa chipset [58] sets a fixed number of options for each parameter as listed in Table
1 along with the recommended guidelines for using each parameter. The most prominent recom-
mendation made by Semtech is to use SF settings of SF7 to SF12 and BW 125, 250, and 500kHz[31].
Those recommendations were given to ensure the acceptable transmission distance and data rate
trade-off as both SF and BW would affect transmission duration and data rate.
The LoRa packet structure is separated into uplink and downlink packets which is indicated by
the presence and absence of packet cyclic redundancy check (CRC). The number of symbols to be
transmitted in a packet is heavily dependent on SF except for the set number of preamble symbols
(Spr e ) and start frame delimiter (SFD) symbols. A LoRa packet consists of Spr e preamble symbols,
2 mandatory sync word symbols, 2.25 SFD symbols and based on SF, a variable number of data
chirps.
For LoRa physical header and payload, LoRa chirps imposes another set of parameters including
code rate (CR), implicit header (IH), low data rate optimization enabled (DE), and existence of CRC
on top of SF. CR determines error correction capability which is based on Hamming code. The CR
setting is represented as 4/x where it indicates 4 information bits padded with x − 4 number of
parity bits. As illustrated in Fig. 2, The PHY header can be excluded by enabling IH (setting IH to
1). On the other hand, the DE parameter adds another layer of redundancy to the data bits for any
LoRa transmission when Tsym exceeds 16ms. The existence of CRC at the end of the packet can
be controlled through the CRC flag and is usually modified to differentiate between uplink and
downlink packets. LoRa packet size is limited to 255 Bytes which can be indicated by the single
Byte payload size (bpl ) field in the PHY header.

2.3 Experiment Setup


The system setup incorporates three LoRa gateways located within the area of 1km × 1km on top
of three buildings on campus (the deployments indicated in Fig. 4). Each gateway is handcrafted
and built with a Raspberry-Pi and an IMST IC880A [23] which works as a radio frontend similar
to the design in [7]. The antenna connected to the gateway has 4dBi gain and the Raspberry-Pi
executes a single thread of either the LoRa Packet Forwarder or LoRa Packet Logger as required by
different experiment purposes [10, 16]. A picture of the gateway hardware is shown in Fig. 3a.
More than 50 LoRa end nodes similar to the design found in [27] are utilized throughout the
experiment and tested over an area of over 3km ×3km comprising the university campus and nearby
region of residences. Each node is composed of an Arduino Pro Mini (ATMEGA328P) working as the

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:5

Antenna

SX1301
DC Power
Li-Po SX1276
Antenna Battery

Optic
Cable

Raspberry Pi + Fiber-optic ATMEGA328P


IC880a Converter

(a) The handcrafted LoRa gateway (b) The LoRa end node developed (c) The software defined radio
developed with IC880A frontend with SX1276 frontend (inAir9B based LoRa gateway developed
and Raspberry-Pi enabled process- [24]) and ATMEGA328P process- with USRP N210 and RFX900
ing unit. ing unit. daughterboard.

Fig. 3. Hardware utilised for the experimental system.

processing unit interfaced with SX1276 working as the radio frontend. Unnecessary components
such as voltage regulators and LEDs were taken off the end nodes to ensure high accuracy of power
measurements. An image of such an end node is given in Fig. 3b. Power profiling for end nodes is
achieved using the Monsoon Power Monitor [46] that measures the power at an accuracy of 106
samples/sec. We also implement the LoRa gateway functionality with software defined radio (based
on USRP N210 [61] and GNU Radio [49]), and utilize the SDR gateway to intercept on-the-air LoRa
transmissions and perform PHY level signal analysis. Fig. 3c depicts the SDR gateway settings.

500m

Fig. 4. Gateway locations placed within the campus grounds.

3 PROMISES OF LORA
This section reports our experiment results to verify the performances promised by LoRa. We
further derived models to describe LoRa’s performance by varying existing parameters provided
by Semtech chipsets.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:6 Jansen C. L. et al.

3.1 Communication Distance


One of the key factors in enabling scalable IoT system is the communication distance of end devices
and in this case, Semtech has promised an ultra-long range connectivity for LoRa devices [58]. In
this section, we would like to quantify the ultra-long range of LoRa devices in various environments.

Parameter Impact
LoRa transmission distance could be affected by the underlying parameter selection. In order to
understand the impact of each parameter, we first need to understand the effect of each parameter
in shaping the resulting wireless signals. There are four main parameters with pronounced effect
on LoRa signals. These parameters are listed below:

3.1.1 Spreading Factor (SF).


Spreading Factor in LoRa refers to a value which determines how spread out the chirp would
be. This level of spread-ness is mainly due to the number of bits crammed into a single chirp.
For example, SF7 means that each chirp represents seven bits. As LoRa chirp is modulated by
varying the starting/ending frequency of each chirp, there has to be 2S F number of starting/ending
frequency position. Recall in Section 2, a chirp has to sweep through a given bandwidth and the time
duration for a chirp can be determined through Eq-1 where the time taken for a chirp frequency
1
to increase/decrease from f Si F to f Si+1 i−1
F or f S F is BW secs and this is referred to as a chip in [34]. A
chirp is formed by going through all possible f S F which results in 2S F number of chips. In this case,
with every increment of SF, the time taken to transmit a chirp is effectively doubled assuming all
the other parameters remains the same. By doubling the chirp duration, receivers would have more
opportunities to sample the signal power which results in higher signal-to-noise ratio (SNR). Since
P
the definition of SNR is Psiдnal
nois e
, the higher the signal power Psiдnal as compared to noise power
Pnoise is, the higher the probability of each chirp to be received correctly.

3.1.2 Bandwidth (BW).


Bandwidth on the other hand determines the width of the transmitted signal and according to Eq-1,
BW would also determine chirp duration. Remember that a chirp consists of 2S F number of chips
1
and the duration of each chip is BW . By changing the BW, chip duration would change accordingly
which in turn affects the chirp duration and finally the SNR or that particular chirp. LoRa gateway
chipset are optimized to receive transmission of 125kHz with added option in receiving transmission
of a fixed SF with varying BW (250kHz and 500kHz) and GFSK (Gaussian Frequency Shift Keying)
transmissions.

3.1.3 Transmission Power (TX Pow).


Transmission power directly affects the amount of power used to transmit a chirp. By increasing
TX Pow, the signal will have higher chances of surviving attenuation caused by the environment
which effectively increases the signal power Psiдnal received by receivers. Semtech gateway chipset
SX1301 [59] claims a -142dBm sensitivity and is capable of operating even with negative SNR of up
to 9dB which means it is able to operate even if the transmitted signal is below the noise floor.

3.1.4 Code Rate (CR).


In LoRa, Code Rate refers to the forward error correction code added to a packet before transmission.
LoRa utilizes Hamming Code as the forward error correction code used in CR. The settings embedded
into the chips are shown in Table 1. CR setting of 4/5 indicates that with every four bits of data,
one bit of correction code will be added and subsequently CR4/8 refers to four bits of data with
four additional correction bits. CR induces overhead to the transmission by increasing the number

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:7

of bits to be transmitted. This overhead allows receiver to check for the correctness of the received
chirps and provides a possibility to correct some erroneous bits from a chirp.

Experiment Setup
As Semtech gateway chipset allows changes of SF, TX Pow, CR on the fly but requires BW to be set
to 125kHz, we conducted an experiment to measure the communication distance of each SF, TX
Pow, and CR (excluding BW) and presents the highest packet reception rate (PRR) among the TX
Pow and CR for each SF in Fig. 5. With high number of buildings with heights ≥100m blocking
line-of-sight (LoS) across Singapore and tallest buildings being private properties with restricted
access to public, we performed the LoS experiment by the beach where LoS could be observed at all
time with limited building in the vicinity. The packets with payload of 10 Bytes were transmitted by
several end nodes across the 9.08km stretch while maintaining LoS at all times. Each node transmits
equal number of packets for every combination of settings.
Packet Reception Ratio

1
Packet Reception Ratio
1
SF7 SF7
SF8 SF8
0.8 SF9 0.8 SF9
SF10 SF10
0.6 SF11 0.6 SF11
SF12 SF12
0.4 0.4

0.2 0.2

0 0
0 5 10 15 0 1 2 3 4 5 6 7
Distance (KM) Distance (KM)

(a) Line-of-Sight. (b) Non-Line-of-Sight.

Fig. 5. Communication distance of each Spreading Factor on different environment. LoRa devices are still
able to communicate beyond 9km for line-of-sight environment however, LoRa signal propagation is severely
impacted when obstructed.

For the non-line-of-sight (NLoS) experiment, we performed the experiment in our campus ground
which represents a metropolitan city scape with high density of high-rise buildings (buildings
height of ≥100m on average) blocking LoS between transmitter and receiver. The experiments were
conducted on a 3km × 3km area with high density of high-rise structures and natural vegetations.
In this experiment, end nodes transmit packets of different settings with payload of 10 Bytes
continuously for ten minutes. Equal number of packets were sent for each setting from a single
node. The end nodes were placed under open-air with no shelter. Buildings and trees would be
present on test locations obscuring LoS without blocking the sky view.
To further test LoRa coverage, similar experiment was conducted for indoor and semi-indoor
environment. Identical to the experiment done for the outdoor environment, each end nodes
transmit for ten minutes period with payload of 10 Bytes and each setting will be transmitted equal
number of times. However, three gateways were placed surrounding the 1km × 1km area were
used to provide a better coverage within the area due to high attenuation caused by buildings.
In this experiment, the indoor environment refers to end nodes being placed inside a building
and within a room while the semi-indoor environment refers to end nodes placed under a shelter
which has access to open space such as sheltered walkways and corridors by a building. Indoor
and semi-indoor environment were combined to provide a view of LoRa coverage for deployment
within and around a complex of buildings.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:8 Jansen C. L. et al.

Line-of-Sight
The experiment results are presented in Fig. 5a. LoRa is capable of communicating up to 4km
and 5km for PRR 90% and 70% respectively by using the fastest SF setting of SF7. However, the
experiment was unable to uncover the maximum coverage of LoRa transmission beyond SF7.
Regression were performed on available data to extrapolate the PRR for distance beyond 9km. With
the extrapolated data, LoRa is expected to be able to support up to 10km using SF12 with PRR 70%.

Outdoor Environment

(a) Outdoor coverage with TX Pow (b) Outdoor coverage with SF12 (c) Indoor coverage with TX
20dBm and varying SF. and varying TX Pow. Pow 20dBm and varying SF.

Fig. 6. LoRa coverage for different environment with PRR >70% and CR4/8. LoRa coverage are severely
impacted on the east side of the map due to high density of buildings obstructing LoS.

Data presented in Fig. 5b reveals that LoRa performance declined drastically in NLoS scenario
for outdoor urban environment. In such complex environment, LoRa is only capable of covering
the distance of 0.1km and 0.3km for PRR 90% and 70% respectively using SF7. Similarly, for SF12,
< 2km is the limit for PRR 70%. Moreover, similar to the studies presented in [35], the results in Fig.
6a indicates that LoRa transmission is heavily impacted by buildings. The transmission coverage
was reduced significantly on the east part of the map as compared to the north and south parts. The
west part of the map is inaccessible and thus unable to be explored for experiments. As compared
to the line-of-sight coverage, the impact of the environment could reduce the coverage by 82% on
average and around 90% for the worst case (east side of the map using SF12). This proves that LoRa
signals are severely hampered by obstructions such as high-rise buildings. Furthermore, as seen
in Fig. 6b, the benefit of increasing the TX Pow is limited and terrain dependent. The increase of
transmission distance on sparse terrain could go up to 30% (16dBm to 20dBm on southwestern side
of the map) however, the average gain in increasing TX Pow is <7%.

Indoor and Semi-Indoor Environment


Shown in Fig. 6c, the experiment was conducted only within the 2km × 2km area with the highest
and lowest points being 77m and 8m respectively. The results are confined within this area while
coverage beyond this area has been covered in LoS and NLoS experiments. The coverage of lower
SF (SF8 & SF10) forms islands due to obstructions of terrains and buildings blocking the direct
paths resulting in high signal attenuation. However, SF12 is capable of covering the entire test area
with little degradation.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:9

Through a series of experiments, LoRa proves to be capable of communicating beyond what was
claimed by Semtech in LoS environment. However, LoRa coverage degrades significantly with the
presence of obstructions. For optimal coverage, system adopters would have to carefully choose the
location for gateways and end nodes to ensure LoS. Where LoS is not attainable, system adopters
would have to carefully choose the settings to ensure coverage while ensuring the lifetime of an
end node.

3.2 Lifetime of Nodes


This section conducts a group of experiments to capture the energy utilization of both the mi-
crocontroller (MCU) and LoRa transceiver of an end node under strategic conditions to explore
useful information. These experiments are guided by a variance of SF, CR, TX Pow and BW. Useful
combinations of parameters were selected to conduct experiments for analyzing important aspects
of energy consumption of both end nodes MCU and LoRa transceivers. Firstly, we state the generic
transmission energy profile of the end node for a single transmission. This energy profile is obtained
using Monsoon Power Monitor and readings can be exported for further processing. Fig. 7 illustrates
the data exported from the power monitor. Energy consumption of a single transmission can be
broken down to several components. These components can be grouped into active and sleep states.
In active state, there are operating MCU which requires energy to execute tasks and also Radio
which also require energy to transmit the packet. For sleep state, MCU still requires energy for
time counting. Although small, the energy could take up to a considerable amount across a long
period of time. Monsoon Power Monitor is used throughout this section to obtain ground truth of
the hardware’s energy profile.

TX
150
Power (mW)

100

50

MCU Active
Sleep Sleep
0
0.01 0.02 0.03 0.04 0.05
Time (s)

Fig. 7. Energy consumption captured by power monitor for a LoRa transmission with parameter SF7, CR4/5,
125kHz BW, 2dBm TX Pow, and 9 Bytes payload. Several states could be observed and disected to model the
energy consumption of a LoRa end node.

The first experiment was conducted to compute the energy per transmission for all SFs ranging
from SF7 to SF12 with a payload of 6 Bytes. Energy profile of the MCU and the transceiver were
separately recorded for each transmission and is presented in Table 2. This experiment presents
the two extremes in LoRa transmission configuration. The SF7 2dBm setting representing the
least energy consuming configuration and the SF12 20dBm setting representing the most energy
consuming parameter configuration. With 15 minutes interval between each packet, the experiment
shows that LoRa nodes can sustain a lifetime of 4.60 years and 1.37 years respectively. These indicates

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:10 Jansen C. L. et al.

that the 10 years end node lifetime promised by LoRa would be possible only through careful
selection of parameter configuration and duty cycling.

Table 2. LoRa packets energy budget breakdown with PL = 6 Bytes, CR = 4/8, BW = 125kHz, 15 minutes per
packet for SF7 & SF12, and battery capacity of 3.7V 2Ah.

States Time (ms) Energy (mJ) Budget (%)


MCU Active 40.50 0.50 0.30
SF7 MCU Sleep 899959.50 71.28 43.14
2dBm Radio TX 38.85 4.36 2.64
Radio Sleep 899961.15 89.10 53.92
Total 165.24 4.60 years
MCU Active 933.00 12.25 2.22
SF12 MCU Sleep 899067.00 71.21 12.87
20dBm Radio TX 926.70 380.73 68.82
Radio Sleep 899071.30 89.01 16.09
Total 553.20 1.37 years

The results in Table 2 can be calculated using Eq-2. The parameter Tcycl e refers to the time
duration of a single transmission cycle with duty cycle constraint. Energy parameters Ebat t and
Ecycl e each refers to the energy contained in a particular battery and energy expended for each
Tcycl e respectively. The lifetime calculated in Eq-2 assumes a perfect battery with no degradation
due to time or environmental influences.

Ebat t
Li f etime = Tcycl e × (2)
Ecycl e
We compute the time duration for a transmission cycle as a function of duty cycle in Eq-3. As
duty cycle is the percentage of time a radio is transmitting, we compute the cycle duration Tcycl e
with duty_cycle as the indication of a fraction of time the radio is allowed to transmit where Tpkt
represents the transmission duration of a packet.

Tpkt
Tcycl e = 100 × (3)
duty_cycle
The energy contained in a particular battery can be obtained through Eq-4 where the constant
value of 3600 refers to the number of seconds in an hour, Cbat t refers to the charge in the battery
with the unit of Ampere per hour (Ah), and Vnom as the nominal voltage of the battery.

Ebat t = 3600 × Cbat t × Vnom (4)


Recall in Fig. 2 where LoRa PHY packet structure contains mandatory preamble of 2 symbols of
sync word and 2.25 symbols of SFD, the transmission duration (Tpkt ) can be calculated using Eq-5
with the number of preamble symbols defined by user (Spr e ), number of payload symbol (Spl ), and
Tsym defined in Eq-1.

Tpkt = Tsym (Spr e + 2 + 2.25 + Spl ) (5)


In order to obtain Ecycl e , on top of Tpkt , the energy expended by radio and MCU is required.
These energy levels will have to be separated into two main states, sleep and active/TX.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:11

Table 3. Energy consumption for different type of MCU during a LoRa packet transmission.

MCU E MCU _On E MCU _O f f


Arduino Pro Mini 12.49mW 81.08µW
Arduino Uno 23.48mW 174.65µW
Raspberry Pi 1.41W

Table 3 presents the energy consumption by MCU for both the active (E MCU _On ) and sleep
(E MCU _O f f ) states. The Ecycl e mentioned in Eq-2 can be obtained through Eq-6 where Ecycl e is
divided into two parts, the energy expended during sleep state and energy expended during active
state which the duration is based on Tcycl e − Tpkt and Tpkt respectively. The energy expended
during sleep state requires the information of E MCU _O f f and also energy expended by Radio during
sleep E R_O f f while the energy expended during transmission would require the information of
E MCU _On and energy expended by Radio during transmission E R_T X .

Ecycl e = Tcycl e − Tpkt E MCU _O f f + E R_O f f + Tpkt E R_T X + E MCU _On (6)
    

Semtech datasheet provides Eq-7 to calculate Spl . The variables in the equation are Payload in
bytes (PL), SF, CR, IH as 0 or 1 to indicate explicit or implicit header respectively, and both CRC
and DE as 0 or 1 to indicate absence or presence as required. DE is recommended to be set to 1 if
Tsym exceeds 16ms.

8PL − 4SF + 28 + 16CRC − 20IH


   
Spl = 8 + max 4CR ,0 (7)
4(SF − 2DE)
In order to predict E R_T X we conduct exhaustive tests for all settings that includes SF, BW, CR,
TX Power on Arduino Pro Mini with SX1276 (on inAir9B) and RFM96 chipsets. The experiment
resulted in >12GByte of measurement data.
Power Consumption (Watt)

0.5

0.4

0.3

0.2

0.1 RFM96
SX1276
0
2 4 6 8 10 12 14 16 18 20
Transmission Power (dBm)

Fig. 8. E R_T X of different TX Pow across all settings of SF, BW, and CR using Semtech SX1276 and HopeRF
RFM96 chipsets. The two chipsets are relatively similar in their power profiles.

We extract the energy consumed by each measurement by converting the energy reading to the
scale of Joule per second (Watt). The energy consumption is further grouped by chipsets and TX
Pow. The values are then averaged and presented in Fig. 8. We compute a cosine similarity for the
power profile of both chipsets and obtained a similarity value of 0.994.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:12 Jansen C. L. et al.

Based on the results in Fig. 8, a polynomial function presented in Eq-8 can be obtained through
regression. We select degree (d) 12 and 10 for SX12761 and RFM962 chipsets respectively for optimal
performance.

d
αn x n
Õ
E R_T X = (8)
n=0

SF7 SF9 SF10 SF12 2dBm 8dBm 14dBm 20dBm


Energy per Packet (mJ)

Energy per Packet(mJ)


102 102

100 100
2 5 9 13 17 20 7 8 9 10 11 12
Transmission Power (dBm) Spreading Factor (SF)
(a) Varying TX Pow. (b) Varying SF.

Fig. 9. Measured and predicted energy consumption with varying settings represented by markers and
lines respectively. The model is able to predict the energy consumption of different settings with minimum
deviation.

The results of our prediction model is shown in Fig. 9 where each marker represents actual
measured data for the particular settings and the line represents the output of prediction model.
The energy consumption prediction model achieved a mean error of 0.30% for both chipsets.

Table 4. Predicted nodes lifetime and expected error under specific settings and hardware on a 2Ah battery. A
careful selection of MCU could drastically affect the lifetime of end nodes.

Settings ProMini + RFM96 ProMini + SX1276 Uno + RFM96 Uno + SX1276


SF7, CR4/5
125kHz, 10dBm 4.54 years 3.87 years 3.01 years 2.70 years
payload 10 Bytes ±5 days ±4 days ±3 days ±3 days
0.01% duty cycle
SF9 ,CR4/7
125kHz, 14dBm 1.71 years 1.65 years 1.41 years 1.37 years
payload 18 Bytes ±2 days ±2 days ±2 days ±2 days
0.1% duty cycle
SF12, CR4/8
125kHz, 14dBm 1.42 years 1.39 years 1.21 years 1.19 years
payload 24 Bytes ±3 days ±2 days ±2 days ±2 days
0.1% duty cycle
1R
T X coefficients for SX1276 chipset: α 0 = -1.860e-01, α 1 = 6.258e-01, α 2 = -5.478e-01, α 3 = 2.724e-01, α 4 = -8.534e-02, α 5 =
1.788e-02, α 6 = -2.584e-03, α 7 = 2.609e-04, α 8 = -1.833e-05, α 9 = 8.779e-07, α 10 = -2.726e-08, α 11 = 4.951e-10, α 12 = -3.980e-12.
2R
T X coefficients for RFM96 chipsets: α 0 = -3.523e-01, α 1 = 7.024e-01, α 2 = -4.630e-01, α 3 = 1.680e-01, α 4 = -3.724e-02, α 5 =
5.315e-03, α 6 = -4.976e-04, α 7 = 3.033e-05, α 8 = -1.157e-06, α 9 = 2.501e-08, α 10 = -2.3351e-10.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:13

We present Table 4 to demonstrate the influence of hardware and setting selections on the
lifetime of the end nodes. As expected, duty cycle is the major factor that determines the lifetime
of nodes as the sleep state greatly reduces the energy consumption and allows longer lifetime. SF
and TX Pow also plays a large part in the lifetime of end nodes as these settings will determine the
time duration of a packet and the amount of energy to be used for the transmission.
(8,4/5) (8,4/5)
(8,4/8) 2.2 (8,4/8)
0.4
(9,4/5) (9,4/5)
(9,4/8) 2 (9,4/8)

(SF,CR)
(SF,CR)

(10,4/5) (10,4/5)
1.8 0.3
(10,4/8) (10,4/8)
(11,4/5) (11,4/5)
(11,4/8) 1.6 (11,4/8) 0.2
(12,4/5) (12,4/5)
(12,4/8) 1.4 (12,4/8)
2 5 8 12 15 18 20 2 5 8 12 15 18 20
TX power TX power

(a) E R_T X (b) Ecycl e

Fig. 10. Prediction error for E R_T X and energy consumption of MCU + Radio scenario for 15 minutes inter-
packet delay compared to measured readings. By Including MCUs energy consumption, prediction errors of
E R_T X become insignificant.

Fig. 10 shows the prediction error of the prediction model for both E R_T X and energy expended
by Ecycl e with Tcycl e of 15 minutes. Although there is more error for the lower TX Pow settings
in Fig. 10a, the error is not reflected for the same setting in Fig. 10b. This is accredited to the
long duration of the sleep state which contributes to the increase of the proportion for E MCU _O f f
and E R_O f f in the Ecycl e and dwarfs the prediction error of E R_T X . On the other hand, Fig. 10b
shows the prediction error worsen as TX Pow increases. This is due to the hardware variation
as the prediction model inputs are the averaged readings of the energy expended across multiple
hardware.
1
Fractions of Packets

0.9

0.5

ER_TX
Ecycle

0
0.
0.

1.

1.

3.

5.
27
57

06

66

08

66

Error Percentage (%)

Fig. 11. CDF of the prediction error per cycle for combinations of SX1276 and RFM96 chipsets with Arduino
Uno and Arduino Pro Mini. Regardless of the type of chipsets, prediction errors are still below 6% and with
MCUs energy consumption, prediction errors drops to a little over 1%.

Fig. 11 presents the CDF of prediction error as compared to ground truth. The model yields a
3.08% error at the 90-th percentile and 1.66% error at the 50-th percentile. As the model only predicts
E R_T X , researchers and system adopters would be able to easily compute Ecycl e by substituting
E MCU _O f f , E MCU _On , and E R_O f f to predict a node energy consumption and lifetime with other
type of MCUs.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:14 Jansen C. L. et al.

3.3 Multiple Access

SX1301

Packet Handler
IQ Based RF
SX125x
8X LoRa

Host Embedded System


Tranciever
I/Q

Control
Demodulators

Single CH Single SF
I/Q LoRa Backhaul
Demodulator
SX125x
IQ Based RF

(G)FSK Demodulator
Tranciever

(G)FSK/LoRA Packet
Modulators Handler SPI

Fig. 12. Block level overview of a LoRa SX1301 concentrator.

This section characterizes LoRa’s Multiple Access performance through a series of experiments.
In contrast to common LPWAN protocols such as Sigfox [54], WiFi HaLow [3], LTE-M [1] and
Weightless [64], a fundamental difference in LoRa modulation is its capability to perform concurrent
communications within a single physical channel. This provides LoRa networks a significant
advantage under dense environmental conditions.
This concurrency is due to two factors. Firstly, a standard LoRa gateway receives simultaneous
transmissions from multiple physical channels. Secondly, it also efficiently differentiates between
simultaneous orthogonal transmissions, even if such transmissions are within the same physical
channel. In contrast to the capabilities of end nodes based on the SX127X LoRa transceivers, a
standard LoRa gateway gains this extra performance at the cost of increased processing power,
additional hardware, cost, space and power. Fig. 12 presents an abstract baseband block diagram
of a standard LoRa gateway, namely, the IMST IC880A concentrator. The IMST IC880A gateway
design incorporates a single SX1301 LoRa baseband signal processor and two full-duplex SX1257 RF
front-end to digital IQ modulator/demodulators. In order to adhere the LoRaWAN standard which
mandates several physical channels based on the ISM band, both front end ICs collaboratively
share the bandwidth. The SX1301 continuously processes two simultaneous IQ streams from the
SX1257 ICs and interprets IQ data in accordance with the LoRa PHY. The decoded information is
later made accessible to a host via the SPI protocol.
The SX1301 integrates the LoRa IP and supports 10 configurable receiving channels. These 10
falls under three categories based on their use cases and programmability. Eight of them are by
design fixed in BW to 125KHz while the channel frequencies of those are programmable. They are
by design expected to be used to receive packets from end nodes. Out of the remaining two, one
is connected to a GFSK demodulator while the other to a functionally limited LoRa demodulator
designed to be used as a backhaul channel to other gateways or infrastructure. The limitation on the
backhaul LoRa channel is that it only operates on a single SF of choice as opposed to aforementioned
8 LoRa channels which demodulate any given SF. However, the backhaul channel has the advantage
of operating on either 125KHz, 250KHz or 500KHz of channel BW.
Semtech asserts that a SX1301 based gateway is able to simultaneously demodulate a maximum
of eight concurrent packets [59] as long as non-orthogonal transmissions are separated to different
channels. Orthogonal transmissions are a key feature in a LoRa modulation that diversify spectrum
usage and minimize collisions. They are further explained under Section 4. Given this resiliency to
orthogonal transmissions, an estimate of concurrent reception capability at the gateway directly

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:15

translates to an indicator that reflects LoRa’s multiple access capability. We leverage this to estimate
LoRa’s multiple access capability through a series of experiments.

Capacity of LoRa Spreading Factors


The experiment setup consisted of 50 randomly placed SX1276 based nodes with payload of 10
Bytes and a single IMST IC880A gateway. The 50 nodes were used to emulate a higher number of
nodes based on their duty cycle. The emulation assumed that a typical LoRaWAN node adheres a
duty cycle of 0.1% as a viable duty cycle enlisted in the LoRaWAN specification. Therefore, a node
that transmitted at a duty cycle of 1% was considered to emulate 10 nodes etc.

Fig. 13. Single channel capacity of a SF. Higher SF proves to support more nodes as packet collision reduces
as compared to lower SF however, the low throughput of higher SF on contrary to the higher nodes supported
is due to the lower number of packets transmitted.

First, we performed a test to determine the performance of LoRa’s individual SFs. To do so, all
nodes were programmed to randomly transmit packets of same SF for a duration 15 minutes. The
duty cycle of real-nodes was controlled to emulate up to 12,000 nodes in steps of 100 under different
experiment iterations. For each iteration, the PRR and throughput were computed. Fig. 13 depicts
the results of this experiment for selected PRRs of 90%, 80%, 70% and 50%. Based on our results,
we also computed the impact on PRR with increasing number of transmitted packets during the
period of 15 minutes. We present this result in Fig. 14 for all SFs.
Although the airtime of SF7 is lowest for a given payload, one may assume that SF7 should
in turn support the largest number of network capacity. However, the result indicated in Fig. 13
suggests otherwise. It indicates that SF7 supports the least network capacity and SF12 the highest.
Reason for this observation, although counter intuitive, is due to the permitted airtime of the nodes
based on the duty cycle of 0.1%. To elaborate, in comparison to an SF12 end node, an SF7 based end
node is allowed to transmit a higher number of packets as the airtime consumed by same payload
is significantly lower. Effectively, an SF12 based network is permitted to transmit significantly less
number of packets than a SF7 based network.
The higher number of packets from SF7 end nodes increase the chances of packet loss as a
large number of non-orthogonal transmissions use the same physical channel. This in turn limits

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:16 Jansen C. L. et al.

1
SF7
0.8 SF8
SF9
0.6 SF10
PRR SF11
0.4 SF12

0.2

0
500 1000 2000 4000 8000 16000 32000 64000
#packets

Fig. 14. PRR of each SF for increasing transmissions. The PRR decreases as the number of packets transmitted
increases which provides a hint in explaining the phenomena observed in Fig. 13.

the concurrent demodulation capability at the gateway. With increased collisions, the number of
correctly received packets at the gateway is reduced. Therefore, the number of supported nodes
is also reduced. By extension, a SF12 setting supports more nodes achieving a higher network
capacity under the same duty cycle. In addition, SF7 achieves multiple orders of higher throughput
in comparison to a SF12 based network due to the higher numbers of packets transmitted. This is
observed in Fig. 13.

Capacity of a Single LoRa Channel


In this experiment, we evaluate the capacity of a single LoRa channel as well as the extent of
concurrent demodulation capability of a LoRa gateway under three different ratios of SFs. Testing
the decoding capability of the concentrator based on the performance of individual SFs is not a true
indicator of the overall performance because a typical LoRa environment contains packets from a
range of SFs that arrive at the concentrator. Therefore, a more meaningful method of validating
multiple access performance of a single LoRa gateway would be to test its performance under
commonly available environmental conditions.

f (β, SF ) = 2 |sf −β | (9)


The choice for a SF is mostly motivated by the distance and energy budget in typical LoRa based
applications. For the sake of simplicity, we consider that these applications fall within the three
environments namely, indoor, semi-indoor and outdoor. We assume that an indoor environment
consists more nodes that transmit using lower SFs and vice-versa for an outdoor environment. We
also assume that a semi-indoor environment consists of nodes with a balanced ratio from all SFs.
Having defined the three environments, we now parametrize them in Eq-9. Three values for β in
Eq-9 are strategically chosen such that the results represent the percentage of nodes for each SF for
a fixed value of β, i.e. a set environment. In this case, β = 7 signifies an outdoor network, β = 12 an
indoor network while β = SF signifies a semi-indoor network. For further clarity, we present these
ratios in Table 5.
Table 5. Experiment settings for single channel performance. An end node in an indoor environment (β = 12)
will have a higher chance to transmit in SF7 resulting a higher number of SF7 packets and vice-versa.

Parameter SF7 SF8 SF9 SF10 SF11 SF12


β = 12 50.79% 25.40% 12.70% 6.35% 3.17% 1.59%
β = SF 16.67% 16.67% 16.67% 16.67% 16.67% 16.67%
β =7 1.59% 3.17% 6.35% 12.07% 25.40% 50.79%

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:17

The setup for this experiment is as follows.


Firstly, all randomly placed nodes with a pay-
load of 10 Bytes were assigned a spreading fac-
tor based on the SF ratio for a single β value
representing a particular environment through
Eq-9. In contrast to the previous experiment, this
experiment achieved the emulation of nodes dif-
ferently. Here, we assumed a network of LoRa
nodes that transmitted every 15 minutes. There-
fore, a node that transmitted 100 times within
15 minutes emulated 100 LoRa nodes etc. Lastly,
the aforementioned process was repeated for the
remaining two β values.
The results were then processed to determine
the number of nodes that can be supported under
PRRs ranging from 50%, 60%, 70%, 80%, and 90%
along with respective throughput and goodput
rates as presented in Fig. 15. The results of the
experiment indicate that an indoor environment
(β = 12) supports the highest throughput and
PRR settings.

(a) number of nodes and throughput supported by a


single LoRa channel for varying PRR.

(b) number of nodes and goodput supported by a


single LoRa channel for varying PRR.

Fig. 15. Capacity of a single LoRa channel under mul-


tiple β settings. Number of nodes supported, through-
put, and goodput increases along with the increase Fig. 16. Emulated traffic from 2000 nodes received by
of SF7 packets. gateway with β = SF .

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:18 Jansen C. L. et al.

This result is intuitive as node density is solely determined by the number of transmissions
under 15 minutes. In other words, as transmissions that consume less airtime are present in the
environment, more throughput and a higher number of nodes can be supported for the same PRR.
Finally, in order to better present the gateway’s decoding capability, we also present Fig. 16 which
depicts a snapshot of the decoding progress of the gateway while 10 nodes randomly transmitted
packets using different SF.
On the contrary, results in Fig. 15 seemingly disagrees with those in Fig. 13. The results from
our previous experiment that concluded the capacity of SFs favored SF12 nodes. However, in
this experiment, we observed that a higher number of SF7 nodes correspond to an increase in
the total supported nodes. While the results seem contradicting, the latter experiment utilized a
ratio of different SFs whereas the former utilized a single SF. Recall the condition for concurrent
demodulation of a gateway. The multiple SFs utilized in the latter experiment enhanced the
concurrent decoding capability of the gateway while the former suppressed the same. Having a
ratio of SFs provides an opportunity to the gateway to demodulate multiple packets resulting in a
higher throughput and an increase in the number of supported nodes. On the other hand, SF12,
having the highest airtime, becomes detrimental as colliding packets of same SF are not received
correctly within the same channel.
The experiments in this section were performed to quantify the performance in of single physical
channel. A study across multiple channels is required to fully understand the network capacity of a
single gateway LoRa network since LoRa concentrator chipset promises concurrent demodulations
across channels.

4 BEYOND LORA
This section reports our studies beyond LoRa practices and provides insights through an SDR based
LoRa PHY analysis. We also report optimization and improvement opportunities to existing LoRa
practices.

4.1 Parameter Optimization for Communication Distance


This section proposes an algorithm to search for the optimized parameter setting for a given
communication distance and a node lifetime restriction. Based on the results in Section 3.1 and
3.2 which predict the communication distance and lifetime of a node respectively for any given
parameter settings, the proposed Algorithm 1 makes use of the prediction model fcover aдe () and
flif et ime () which are derived using transmission distance and node lifetime in years as a function
of SF and TX Pow. The models make use of experiment data which are first filtered by using
PRR threshold to remove any data points below the given PRR. Filtered data are then used in the
polynomial regression to train the models. Since the input of both models are similar, a simple
search through the SF and TX Pow combination is used and all settings that fulfill the requirement
of fcover aдe () are then used as input to fl if et ime ().
The resulting output from fcover aдe () and fl if et ime () is presented in Fig. 17 where different
inter-packet delays are used for the three figures. Each setting’s coverage is plotted against its
respective lifetime with TX Pow increasing along the x-axis. These figures are generated based on
the profile of a LoRa node transmitting 10 bytes of payload with 8 preamble symbols and code rate
of CR4/8. The inter-packet delays are 15, 30, and 60 minutes respectively.
According to the results in Fig. 17, SF could reach further distance but TX Pow would provide
better lifetime. As observed in the figures, lower SF with higher TX Pow provides similar coverage
but with longer lifetime. A simple optimization to the algorithm can be applied by making use
of the nature of SF and TX Pow whereas SF and TX Pow increases, the coverage increases while
lifetime decreases accordingly. This nature can be incorporated into the algorithm by searching

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:19

6 6 6
Lifetime (years)

Lifetime (years)

Lifetime (years)
SF12 SF12 SF12
4 4 4
SF11 SF11 SF11
SF10 SF10 SF10
2 SF9 2 SF9 2 SF9
SF8 SF8 SF8
SF7 SF7 SF7
0 0 0
0 1 2 3 4 0 1 2 3 4 0 1 2 3 4
Coverage (km) Coverage (km) Coverage (km)

(a) Inter-packet delay of 15 min- (b) Inter-packet delay of 30 min- (c) Inter-packet delay of 60 min-
utes. utes. utes.

Fig. 17. Lifetime and coverage of all settings for PRR of 0.7 in NLoS environment. The skyline of all curves in
each figure is the optimal settings for the given inter-packet delay.

Algorithm 1 An optimal settings searching algorithm.


Input:
Thd : Threshold for minimum required distance
Thl f : Threshold for minimum required node lifetime
Tcycl e : Packet interval requirement
fcover aдe (): Prediction model for LoRa coverage
fl if et ime (): Prediction model for LoRa lifetime
Output:
Sopt imal : A set of optimal settings (s f , tx_pow)
Initialize:
Sopt imal ←− {}

1: for s f ∈ {SF 12, ..., SF 7} , tx_pow ∈ {20dBm, ..., 2dBm} do


2: if fcover aдe (s f , tx_pow) ≥ Thd then
3: if fl if et ime (s f , tx_pow,Tcycl e ) ≥ Thl f then
4: Sopt imal ←− (s f , tx_pow) ◃ settings fulfill conditions
5: end if
6: else
7: break ◃ skip remaining settings
8: end if
9: end for
10: return Sopt imal

through decrementing loops instead of incrementing loops. The algorithm only terminates the
search while searching through the fcover aдe () but not flif et ime (). This is mainly because the input
of flif et ime () is a subset of the search space and early termination would not return the skyline
of Fig. 17 since many higher SF settings would have lower lifetime than the lower SF settings
counterparts. Recall that the search is done using a decrementing search where higher SF and TX
Pow values will precede the lower values.
We present the output of Algorithm 1 in Fig. 18 which represents the optimal settings with given
lifetime and coverage requirements. Observe that lifetime of a node is severely impacted by packet
frequencies. However, the relationship of node lifetime and packet frequencies are non-linear. This

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:20 Jansen C. L. et al.

Lifetime (years) 4

3
SF7-2dBm SF8-20dBm
2

SF10-20dBm

SF11-20dBm

SF12-20dBm
15 min

SF9-20dBm
1 30 min
60 min
0
0 0.5 1 1.5 2 2.5 3 3.5
Coverage (km)

Fig. 18. Setting selections for optimal coverage and lifetime. Exhausting TX Pow before SF would results in a
node with better coverage and longer lifetime.

is due to the power consumed during a node’s sleep time which is small but not negligible as sleep
time increases.
The experiment results presented here provide a rule of thumb to system adopters and researchers.
Since increasing SF results in lower lifetimes with higher coverage, SF should always be the last
setting to be increased. System adopters would be able shorten the time to obtain optimal settings
using the algorithm provided and researchers would be able to design more efficient setting
adaptation mechanisms by considering the findings highlighted above.

4.2 Implication of LoRaWAN


This section discusses about the LoRaWAN MAC protocol which serves as guideline for LoRa’s
Medium Access Control (MAC) layer as well as upper network stacks layers and the implication of
LoRaWAN towards the performance of LoRa.
LoRaWAN proposes three types of classes to cater for different application requirements. The
three classes are class A (All end nodes), B (Beacon), C (Continuous listening)[31]. Class A being
the basic option which all LoRaWAN compliance end nodes should be able to support while class B
and C being a mutually exclusive additional features on top of class A. This implies that class C
end nodes should not implement class B and vice-versa.

TRX_DELAY2

CLASS A TRX_DELAY1
TX RX1 RX2

TBeacon TRX_DELAY2

CLASS B TRX_DELAY1
Beacon ... TX RX1 RX2 ... Beacon

TRX_DELAY2

CLASS C TRX_DELAY1
TX RX2 RX1 RX2 Continuous

Fig. 19. Classes of LoRaWAN exhibit different network utilization behaviors.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:21

Class A devices implement a node-initiated transmission where all downlink communication


from the server to end nodes have to be initiated by an uplink transmission from end node to server.
To enhance the reception of downlink communication, end nodes are required to schedule two
reception slots after the initial transmission. The first reception slot uses the exact settings as prior
transmission while the second reception slot uses a preprogrammed SF. First and second reception
slot are initiated following a transmission after a TRX _DELAY 1 and TRX _DELAY 2 respectively. These
reception slots only act as a preamble detection window. In any case where the packet in first
reception window is designated for the end nodes, the second reception window would not be
opened. Similarly, if the first reception window duration exceeds TRX _DELAY 2 , the second reception
window will also be aborted. LoRaWAN suggests five Tsym as timeout for each reception window.
As the name suggests, class B incorporate beacons to improve responsiveness of end devices. End
nodes are expected to obtain TBeacon from gateways and wakes up every TBeacon to synchronize
itself with gateways to open a short reception window when necessary. These reception window
will allow gateways to transmit any command from the server to end nodes within a TBeacon .
Class C is designed for real time applications that require immediate response from end nodes.
With this class, end nodes are required to open a continuous reception window using the pre-
programmed SF. Instead of waiting for TRX _DELAY 1 before reception, class C devices immediately
open a reception window with preprogrammed SF for TRX _DELAY 1 . After TRX _DELAY 1 , end nodes
switches the reception settings to settings used in transmission before going back to preprogrammed
settings after TRX _DELAY 2 .
LoRaWAN incorporates additional overhead into the packet to enable the Medium Access Control
(MAC) features provided by classes above. These overheads include MAC headers, commands, and
Message Integrity Checks (MIC). By combining the overheads, LoRaWAN imposes 13 to 27 Bytes
of overhead onto each packet transmitted by an end node.

Energy Consumption
With the increase in packet size due to the MAC overhead and mandatory reception windows,
energy consumption of an end node would increase accordingly. An energy consumption snapshot
of class A end node is illustrated in Fig. 20. Apart from the TX phase, there are two RX phases
separated by predefined delays. Note that the MCU is not in low power mode during the delays.
These MCU active time would results in degradation of an end node’s lifetime.

175
TX
150
125
Power (mW)

100
75
RX1 RX2
50
T RX_DELAY1
T RX_DELAY2
25 T MCU

SLEEP SLEEP
0
0 1 2 3 4
Time (s)

Fig. 20. Node energy consumption for a LoRaWAN transmission cycle. On top of the energy consumption
due to RX, MCU has to stay awake throughout TRX _DELAY 1 and TRX _DELAY 2 which increases the MCU
energy consumption.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:22 Jansen C. L. et al.

An experiment was conducted to explore the energy budget overhead of LoRaWAN as compared
to LoRa. The experiment measures energy consumption of a transmission cycle which includes
both active and sleep time of an end node. Energy consumption of end nodes was measured using
Monsoon power monitor and payload size was set to 10 Bytes with 0.1% duty cycle to adhere to
LoRaWAN standards. For each packet, CR is set to CR4/8 and 100 packets were transmitted for
each SF and TX Pow setting combination. For LoRaWAN packets, we assume no downlink traffic
from gateway which requires end nodes to execute both RX windows with default RX timeout
of five symbol time. Energy consumption are first grouped according to the settings followed by
grouping of energy consumption according to component states (E MCU _O F F , E MCU _O N , E R_O F F ,
E R_T X , E R_RX 1 , and E R_RX 2 ). After grouping, each group are then averaged to obtain the energy
consumption of each states for each setting. Experiment results are presented in Fig. 21.
1.2 1.2
EMCU_OFF EMCU_OFF
1 1
EMCU_ON EMCU_ON
0.8 ER_OFF 0.8 ER_OFF
Energy (J)

Energy (J)

ER_TX ER_TX
0.6 0.6
ER_RX1 ER_RX1
0.4 ER_RX2 0.4 ER_RX2

0.2 0.2

0 0
SF7 SF8 SF9 SF10 SF11 SF12 SF7 SF8 SF9 SF10 SF11 SF12
(a) LoRa. (b) LoRaWAN.

Fig. 21. Energy budget required by a transmission cycle for packet with payload of 10 Bytes and 0.1% duty
cycle with varying SF and TX Pow. LoRaWAN energy budget for E MCU _O F F and E MCU _O N is significantly
higher than the LoRa counterparts.

Results show that LoRaWAN imposes 149% to 313% overhead on energy consumption as compared
to LoRa with average of 198% times increment across all settings. This increment is due to the
increase in MCU active time while waiting for RX windows mandatory in LoRaWAN standard.
However, note that with acknowledgment (ACK) packets from gateway, such overhead could
be reduced as end nodes are expected to not start the second RX window if ACK or downlink
packets are received in the first RX window. On the other hand, any long downlink packet could
significantly increase the energy overhead.

Multiple Access
On top of the overhead in energy consumption, a MAC protocol also imposes limitations on packet
transmission. This limitation affects several network parameters which includes network density,
throughput, and goodput. Since LoRa networks are expected to form a single hop network without
intermediate end nodes as relay, LoRa network density directly equates to number of end nodes
supported by a gateway. This value could vary depending on the PRR requirement of said network.
Similarly, throughput and goodput which refers to the end-to-end number of bytes received and
number of effective bytes received respectively also varies depending on PRR but are unaffected by
multi-hop.
To investigate the effect of LoRaWAN imposed limitation on parameters mentioned above,
experiments were conducted using a SX1301 gateway concentrator with 50 end nodes equipped
with SX1276 chipset. Similar to the experiment in Section 3.3, 50 nodes were used to emulates

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:23

multiple nodes by manipulating the inter-packet delay. We first assume a standard transmission with
inter-packet delay of 15 minutes regardless of SF, then by halving the inter-packet delay, number
of active nodes increase to 100. Using said method, number of emulated nodes transmitting in 15
minutes could reach up to 500,000 nodes. Next Eq-9 were used to vary the probability of a node in
choosing a particular SF for transmission to simulate outdoor, semi-indoor, and indoor environment.
Furthermore, in order to ensure no interruption due to ACK queuing and self-interference from
ACK packets, downlink traffic was disabled. However, by disabling downlink traffic, end nodes
were expected to activate both RX windows. TX Pow of the nodes are set to the maximum value of
20dBm while CR are set to CR4/8. Payload size of each packets are set to 10 Bytes to aid comparing
with results in Section 3.3.

(a) Number of nodes and throughput supported (b) Number of nodes and goodput supported by
by each PRR requirement. each PRR requirement.

Fig. 22. Comparison of throughput and goodput of a single gateway with LoRaWAN and supported number
of nodes for each PRR requirement. Similar to results in Section 3.3, higher number of SF7 packets increases
throughput, goodput, and number of supported nodes.

Experiment results in Fig. 22 shows a significant advantage of more SF7 packets in the network as
compared to equal chances which signifies indoor and semi-indoor respectively. Moreover, having
many SF12 in the network could cause congestion and lower network performance. Comparing
throughput and goodput of LoRaWAN system reveals that LoRaWAN packet overhead accounts to
>64% of the traffic however, this overhead would reduce as the payload size increases.
LoRaWAN which is the MAC protocol of LoRa serves to organize the channel access behaviour
of nodes within the network. This mechanism should provide certain degree of improvement over
LoRa’s disorganized behaviours. A comparison between results of LoRa and LoRaWAN which are
presented in Fig. 23 indicates that although in most cases LoRaWAN provides a higher throughput,
the header overhead of LoRaWAN takes up most of the throughput. When observing goodput
which is throughput without the overhead, benefit reported in throughput vanishes leaving behind
a much lower goodput compared to aloha LoRa. The high throughput reported was mainly due
to the mandatory RX windows. These RX windows provide a chance for other nodes to make
use of a clear channel to transmit packets. However, the same would not be true when downlink
traffic is not disabled. Downlink traffics, especially ACK packets could block a significant amount
of uplink traffics since in order to transmit an ACK packet, gateway has to switch one of its two
radio chains from RX mode to TX mode. This change in modes would disable all uplink traffics
transmitting in the channels served by that particular radio chain within the period of time the
ACK is transmitted. Moreover, a tight scheduling is essential to ensure minimal delay in de-queuing
received packets and queuing ACKs. In order to offload the burden of a gateway in providing ACKs,
all ACKs requests would be served by backend servers.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:24 Jansen C. L. et al.

(a) Difference between LoRa and LoRaWAN in sup- (b) Difference between LoRa and LoRaWAN in sup-
ported number of nodes and throughput for each ported number of nodes and goodput for each PRR
PRR requirement. requirement.

Fig. 23. Comparison of the difference in throughput and goodput of a single gateway between LoRa and
LoRaWAN with supported number of nodes for each PRR requirement. Difference is computed as δ x =
LoRaW ANpr x − LoRa x where x refers to #nodes, throughput, or goodput. Hence, positive and negative δ
r pr r x
are represented in the figure with red and gray bars respectively. LoRaWAN packet overhead diminishes the
benefit it brings.

With the unique capability of LoRa gateway which allows concurrent demodulation, an efficient
MAC protocol is required which takes into consideration of providing high packet reception rate
with minimal ACKs and retransmission.

4.3 LoRa Medium Access


LoRa’s physical layer is aloha in nature and incorporates no collision avoidance mechanisms.
However, lost transmissions are undesirable within sensor networks and incur unbearable costs
upon energy restricted nodes. In LoRa, only packets of same SF within a common channel are
susceptible to disruptive collisions and the probability of such collisions increases with increasing
network density. Traditional RSSI based methods used for collision avoidance are ineffective
on LoRa for two reasons. 1) Due to inherent properties from CSS modulation, successful LoRa
transmissions may traverse below noise floor. 2) RSSI itself offers no capability to differentiate
between single channel concurrent transmissions. In this section, we focus on the performance of
a LoRa concentrator in receiving orthogonal and non-orthogonal transmissions within single and
multiple channels through a series of experiments. Based on their observations, we then propose a
potential collision avoidance mechanism for LoRa, named CSMA-CAD, which improves PRR under
dense network conditions.

Concurrent Reception Capacity of the LoRa Concentrator


LoRa’s concurrency is highly reliant on orthogonal transmissions. Therefore, prior to discussing
concurrency, we first illustrate orthogonal LoRa transmissions in the physical layer. To do this, we
transmit three concurrent packets using distinct Spreading Factors SF7, SF9, SF11 within a single
channel. At the same time, to better illustrate the chirps, we also concurrently transmit the same
data on three different channels. We then capture this concurrent transmission using the SDR setup
described in Section 2. Fig. 24 presents a spectrogram of these LoRa transmissions. All channels
were of 125KHz of BW. While CH2, CH3 and CH4 have only a single transmitting node, CH1 has
three nodes set on three orthogonal SFs. A transmission of this sort is seen by the concentrator as
a concurrent transmission of six packets via four channels.
In addition, Fig.24 also leads to validate the theoretical relationship between Tsym and SF as
predicted by Eq-1. According to Eq-1, the symbol durations for SF 7, SF 9 and SF 11 should be ~1ms,

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:25

SF11
Frequency (KHz)

CH4

SF9
CH3

SF7
CH2

SF11
SF9
CH1

SF7

0ms 10ms 20ms 30ms 40ms

Fig. 24. Concurrent transmission of LoRa.

~4ms, and ~16ms respectively which corresponds to doubling of Tsym per each incrementing SF.
Therefore, Tsym for SF 11 should be 16 times Tsym of SF 7. The visualized symbols on CH4 clearly
attest to this statement. For example, during a single SF 11 chirp, there exists 16 SF 7 and 4 SF 9
chirps. However, this should not lead to the conclusion that for a given payload, LoRa modulation
doubles the dwell time for incrementing SFs. This is due to zero padding causing different number
of data bits per each SF defined in the LoRa modulation resulting in a different number of total
symbols for the same payload.
Having highlighted the advantages of orthogonal channels in LoRa, it can be observed that
successful concurrent transmissions need not be limited to physically separated channels. Next, we
estimate the extent of this concurrency of a standard IC880A LoRa concentrator.

Table 6. PRRs under varying concurrent conditions. With separation of either SF or CH between packets,
LoRa gateway is able to demodulate collided packets efficiently.

#Concurrent Tx 2 3 4 5 6 7 8
Multiple CH, Multiple SF 100% 100% 100% 100% 100% 100% 99%
Multiple CH, Fixed-SF 100% 100% 100% 100% 100% 100% 100%
Single CH, Multiple SF 100% 100% 100% 100% 100% – –
Single CH, Fixed-SF 48% 32% 24% 19% 16% 13% 12%

To do this, we perform four experiments. In the first, we tie eight nodes to eight distinct chan-
nels. We program each node to continuously transmit 100 packets on a randomly selected SF. In
all, to ensure continuous concurrency throughout the experiment, each transmission was time
synchronized across all nodes. This synchronization was required to provide sufficient time to a
node that opted to transmit at a higher SF (consuming a higher airtime) to finish the transmission.
Since this experiment ensured eight packets in air at any given time, it can be used to validate

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:26 Jansen C. L. et al.

Semtech’s claim that the SX1301 LoRa concentrator can decode and demodulate eight packets at
any given time. In the second, the same experiment was repeated by fixing all transmissions SF to
SF7 on eight different channels. Results from both experiments depicted in the first two rows of
Table 6 attest to the aforementioned claim by Semtech.
In the third, we test the concentrators capacity to receive orthogonal transmissions. We tie
six nodes to six distinct SFs and program them to continuously transmit 100 packets on the
same channel. The limitation on the number of nodes was due to the limitation on available SFs.
Again, time synchronization between nodes ensured continuous concurrency throughout the
experiment. As expected, the results indicated 100% PRR. Similarly, in the fourth, we transmit non-
orthogonal packets within same channel. Our results confirm the disruptiveness of non-orthogonal
transmissions. The results of third and fourth experiments are depicted in third and fourth rows in
Table 6.

A Potential CSMA Mechanism for LoRa

0.8

0.6
PRR

0.4

0.2 CAD
No CAD
0
2 4 6 8 10
Inter Packet Delay (s)
(b) Comparison of CSMA-CAD and No-
(a) The CSMA-CAD mechanism CSMA mechanisms for varying Tpkt . PL=6B,
illustrated as a state diagram. preamble length=9 and #Nodes=50.

Fig. 25. CSMA-CAD states and experiment results.

An ideal mechanism to avoid potential collisions in LoRa is to sense the channel for non-
orthogonal SFs prior to transmission. If a LoRa transceiver is able to detect such transmissions,
it forms the foundation to formulate an ideal CSMA mechanism for LoRa. Unfortunately, the
SX1276 series LoRa transceivers limit such sensing to the preamble and calls it the Carrier Activity
Detection (CAD)-Mode [45]. Despite the limited functionality of CAD-Mode, we leverage the CAD-
Mode to form CSMA-CAD and investigate the effectiveness of utilizing it as a potential collision
avoidance mechanism. Although longer preambles could significantly increase the effectiveness of
CSMA-CAD mechanism, without further changes on the concentrator, we confine our experiments
to 8 preamble symbols mandated in the LoRaWAN standard. CAD-Mode requires a duration of
two symbols to complete. During the CAD process, the radio first performs a receive operation
for a duration of a single symbol followed by a computation duration of another symbol. This
CSMA-CAD process for an end node is described by Fig. 25a.
We then designed an experiment to test whether incorporating CAD-Mode is beneficial in a
real-life environment. To do this, 50 nodes were fixed to a single channel and were programmed to
transmit 100 packets of 10 Bytes payload. Each node transmitted 100 packets randomly within an
inter-packet delay of Tpkt . A random start delay ensured the distribution of transmissions across

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:27

200
180
TX TX
160

Power (mW)
140
120
100 CAD‐
80 Mode
60
40
20
0
0 1 2
TTX TMCU TTX

Fig. 26. No-CSMA vs CSMA-CAD energy comparison.

Tpkt which allowed the control of network density. We computed PRR for each experiment and
repeated the same for Tpkt ranging from 2 to 10 seconds. A payload of 4 Bytes were chosen and the
longest airtime corresponding to the airtime of SF12 was ensured to be less than Tpkt .
As indicated by the experiment results in Fig. 25b the CAD-Mode enabled significant improve-
ments to PRR under high network density conditions, i.e. when Tpkt is low. Further, we also
determined the highest possible energy overhead (SF12 with longest Tsym ) due to CAD-Mode to be
at only 1.6963mJ. We present below a comparison of power profiles for both modes in Fig. 26 trans-
mitting a payload of 4 Bytes under SF12 at 5dBm. The peak indicated on the second transmission
represents the power overhead of CSMA-CAD. I.e. CSMA-CAD sensing and applying a different SF.
As ideal CSMA protocol for LoRa should be able to sense the on-going Spreading Factor at any
point of payload, not just within the preamble. Nevertheless, based on our experiment results, it
can be seen that performance improvements are still possible with the CSMA-CAD mechanism.
We then extend the boundaries of this experiment by means of a simulation in an effort to test the
effect of varying number of nodes, Tpkt and preamble length on the PRR. The simulation considers
an erasure channel and compares the three CSMA mechanisms; 1. No-CSMA 2. CSMA-CAD 3.
Ideal-CSMA. Despite the obvious advantages that come through an Ideal-CSMA mechanism, CSMA-
CAD still provides significant performance improvement under dense network conditions similar
to experiment results.
It can be seen from the results that the Ideal-CSMA mode always achieves a full packet reception
ratio except in Fig. 27a where the number of nodes reached up to 500. This is understandable as
many nodes perform symbol sensing, it is possible that a few performed synchronous symbol
detection and transmitted simultaneously resulting in collisions. Despite the existence of this effect
within a simulated environment, the same phenomena can take place within real-life environments
causing potential decrements in PRR. Lastly, Fig. 27c depicts that the Ideal-CSMA mechanism is
not significantly affected by the number of preamble symbols. However, the impact is significant
for a CSMA-CAD network which achieves a doubled performance in PRR with only 4 additional
preamble symbols. At the same time, as expected, the No-CSMA mechanism reflects an inverse
performance affected by the increased preamble symbols.
Semtech has also began to answer the need for a better CSMA mechanism in LoRa chipsets
by announcing a new chipset which allows CSMA mechanism beyond CAD [57]. With improved
CSMA mechanisms, researchers would be able to design better MAC protocols which would reduce
the number of possible collisions while enhancing network quality.

4.4 Revisiting LoRa PHY


Understanding LoRa PHY would open a path to enabling many applications such as passive
localization [53], cooperative transmission [14, 15], co-existing and complementing MAC protocol

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:28 Jansen C. L. et al.

(b) PRR vs Inter-packet Delay where pream-


(a) PRR vs #Nodes where preamble=8, pay- ble=8, payload=6B and number of Nodes fixed
load=6B and Inter-packet Delay fixed at 15s. to 100.

(c) PRR vs Preamble Length where payload=6B,


Inter-packet Delay=15s and number of Nodes
fixed to 100.

Fig. 27. Simulation of a LoRa network under No-CSMA, CSMA-CAD and Ideal-CSMA mechanisms. Although
Ideal-CSMA mechanism shows promising results, hidden terminal problem and synchronous symbil detection
would still cause packet collisions.

[19], etc. To understand LoRa PHY, one has to start from the encoding and modulation process of a
packet.
For a given payload, LoRa PHY integrates several encoding mechanisms to improve the over the
air resiliency prior to modulation. This encoding process involves Forward Error Correction (FEC),
Interleaving, Whitening and Gray Coding in order[48]. The process of modulation is responsible
for integrating data bits into "base chirps" also known as "linear chirps" explained duly. We provide
insights to this process under this section.

LoRa Modulation and Demodulation


The complex baseband representation of a single frequency (pure tone) can be expressed as follows
where f 0 refers to the frequency of tone and ϕ represents a possible phase shift.

ft one (t) = e j(2π f0 t +ϕ) (10)


In contrast, a linear chirp or an "unmodulated" chirp sweeps through a given channel bandwidth
BW from fst ar t to fend by continuously changing the frequency at rate m. Eq-11 expresses such a
chirp where f 0 represents the starting frequency at t = 0 hence, mt + f 0 represents the instantaneous
frequency at any given time t [32].

fchir p (t) = e j(2π (mt +f0 )t +ϕ) (11)


A rf symbol in LoRa is a single chirp that sweeps the bandwidth BW. It can be seen that in order
to sweep the bandwidth BW in exactly Tsym duration, the rate of change of frequency m of the

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:29

SF
chirp should be m = TBW sym
2
. The symbol duration Tsym is defined as Tsym = BW in Semtech’s LoRa
patent [50]. This implies that as long as the BW is fixed, a higher SF requires a longer Tsym duration.
A LoRa packet consists of a combination of such unmodulated as well as modulated chirps. The
unmodulated formulate the preamble and the Start Frame Delimiter (SFD) whereas the modulated
form header, payload and CRC.
In order to modulate data bits into a base chirp, its instantaneous frequency is changed exactly
once. For any given SF, a modulated chirp will consist of a single shift out of possible 2S F − 1.
This implies that depending on the SF, a single modulated LoRa chirp carries SF number of bits of
information. In other words, an integer in the range of 0 to 2S F − 1 is represented using 2S F − 1
possible frequency shifts. During the process of demodulation, each frequency shift in the data
chirp is recognized as a separate FFT bin which relates back to the original integer. In a more
technical perspective, the process of modulation can be visualised in the time domain as follows.
After performing FEC, Interleaving, Whitening on the payload, to modulate the resulting encoded
data in to data chirps, the data is divided into SF sized bit chunks. Each chunk, of SF bits, represents
an integer i within the range 0 to 2S F − 1. i is then modulated to a base chirp by introducing a time
shift of tˆ = Gray −1 (i) 2TS F [48] to the signal presented in equation Eq-11 where Gray −1 stands for
the reverse of Gray operation in [18].

Fig. 28. LoRa demodulation to FFT bins.

Later, at the receiver, each received chirp is multiplied by a locally generated conjugate base chirp
of same rate of change of frequency m, known as de-chirping. Multiplying two in-phase base chirps
of same m but of opposite signs results in an argmax at the bin corresponding to 0Hz in a FFT that
is of 2S F bins wide, due to destructive superposition of these two waveforms [33]. However when
a received data chirp undergoes de-chirping, the argmax of the FFT for each received chirp will
occur at one of 2S F bins. This bin can be directly correlated to the originally modulated integer i
which is in the range of 0 to 2S F − 1.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:30 Jansen C. L. et al.

However, it should be mentioned that for a given difference in phase ϕ between the received
and the locally generated chirp, FFT bins upon de-chirping operation may contain an offset. This
problem can be rectified by consulting the information from preamble and SFD bits mandated to
the front of every LoRa payload.
To further illustrate the process of demodulation, Fig. 28a closely represents a received SF8 LoRa
signal of 15 payload symbols. Fig. 28b presents the same signal upon de-chirping while Fig. 28c
presents the FFT bins that correspond to i. Since the signal is SF8 modulated, each data chirp can
only take a value between 0-255 and the FFT bins are also limited to the same range. Therefore, the
FFT width is set to 28 and each bin in Fig. 28c represents the data previously modulated into each
data chirp after the preamble and SFD in Fig. 28a.

Doppler Effect
When a transmitter or a receiver move relative to each other, the apparent frequency shift on the
received signal is known as the Doppler’s effect. Depending on the extent of this effect, the signal
is either received or discarded. CSS on the other hand is widely known to be immune to Doppler
effect [56, 65]. LoRa, being a close variant of CSS inherits a degree of resilience from it. Under this
section, we conduct a series of experiments to study possible effects caused due to Doppler shift on
LoRa’s modulation under practical circumstances.
This apparent change in frequency of a LoRa chirp due to Doppeler’s shift can be integrated to
LoRa’s modulation equation as follows,

2 +f
fchir p (t) = e j(2π (mt 0 t +∆f d t )+ϕ) (12)

where ∆fd is the change frequency caused due to Doppler effect. Under general use cases where
end nodes move at a velocity ven relative to a stationary LoRa gateway, this ∆fd approximates
to ∆fd = vCe n fchir p where fchir p represents the instantaneous chirp frequency. In the case of CSS,
this ∆fd causes the autocorrelation peak on the receiver side to shift in time and this time shift is
∆f
approximated by md [65]. The same approach can be used to determine the most susceptible SFs in
LoRa modulation under Doppler effect. It can be seen for smaller chirp rates m, the time shift is
higher. This concludes that SF12 is most effected while SF7 is the least.
In order to quantify the effect of Doppler shift on LoRa chirps we set-up a mobile LoRa gateway
and an SDR setup by the roadside and attach a node to a car used as moving transmitter. We drive the
car at varying speeds ranging from 50kmph, 60kmph, 70kmph and 80kmph on a highway. Extreme
care was taken at all times to maintain persistent speed of the car and line of sight to the gateway
during transmissions. Each transmission with 50 bytes were performed on SF12 with a packet
duration of 2.35 seconds to ensure sufficient time for recording a packet with both approaching and
passing states. Each round maintains a fixed speed with the vehicle approaching the gateway, in-
between and lastly passing the gateway. More specifically, each transmission consisted a sequence
number. A gateway was placed by the highway ensuring LOS with the car while a second received
records the transmissions from inside the vehicle without Doppler’s effects.
Our results indicate strong packet reception (>85%) at gateway placed by the highway for all
tested speeds and Table 7 summarize the results of the experiment for all speeds.
Further, we also compare recorded transmissions from within the car with the transmissions
recorded using the receiver placed by the highway using the SDR setup seeking for observable
Doppler effects. We present a comparison of two snapshots of LoRa chirps transmitted at 80kmph in
Fig. 29. Visually, both recordings offered no observable difference and similar results were observed
for other speeds. On contrary to the findings in [39] who reported a significant influence on PRR

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:31

Table 7. Experiment results for doppler test with varying speeds.

#RX/TX Packets
Speed(kmph)
Approaching Intermediate Leaving
50 1/1 1/1 1/2
60 3/4 1/1 3/3
70 3/3 1/1 3/3
80 2/2 1/1 1/2

even at speed 8kmph, our results show no observable influence on PRR nor spectogram records
even at high speed of 80kmph.

Chirps recorded from inside the vehicle


Frequency (KHz)

Time

Chirps recorded at the gateway

Time

Fig. 29. A LoRa transmission recorded from inside the vehicle (top) and at the gateway (bottom) for a payload
of 50 Bytes at SF12. The vehicle was driving pass the gateway at the speed of 80kmph. No significant difference
on the chirps can be observed from comparing the two spectograms.

Although LoRa technology is robust to a high degree against Doppler effect, it may still be
possible to capture frequency deviations in the chirps due to Doppler effects and predict the speed
of moving end nodes [22, 38].

5 RELATED WORKS AND CONCLUSION


In this paper, we have conducted experiments to verify common claims made on LoRa and derived
models in accordance with said promises.
A significant amount of work has been focused on differences between LoRa and similar
technologies[12, 25, 28, 36, 55, 63] including batteryless operation of LoRa enabled devices[40, 60].
Few others have also focused on surveying various aspects of the LoRa network stacks [26, 44].
Our work differs from those as it concludes a series of experiments that help derive answers to
questions regarding LoRa’s promises and also beyond.
In verifying LoRa’s communication distance, this paper answers important questions such as "how
far can a LoRa end node transmit?" or "what parameters should a node use for optimal coverage?"
etc. Through multiple experiments under a variety of environments, the results presented in
this paper show that LoRa transmissions are capable of transmitting beyond 10km under LoS
environments. However, with the presence of obstacles blocking LoS, LoRa’s coverage declines
drastically. Moreover, in metropolitan city environments among high-rise buildings, LoRa’s coverage
drops to 3km. This paper also quantifies the importance of SF over other parameters and provides
both researchers and system adopters a rule of thumb to always select the lowest SF whenever
possible. The results in this paper agrees with the those presented in [4, 29, 30, 37, 62] for coverage
in open environments and [20, 42] for coverage in indoor environments. In contrast to [13] where

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:32 Jansen C. L. et al.

signal propagation is modeled for different environments, this paper tries to model the effect of
different parameters on coverage under varying environments.
Another important question this paper tries to answer is "how do modulation parameters affect
lifetime of nodes?". In doing so, this paper proposes a model to quantify the lifetime of a node by
predicting the energy consumption during a transmission. The proposed model was derived from
real measurement data across multiple chipsets. With it, the paper concludes that a node could only
sustain its operation to the order of years with careful parameter selection, extremely low duty
cycle setting and meticulous selection of MCUs. Moreover, LoRaWAN imposes on average 198% of
overhead to the energy budget of a node by increasing both payload size and node active duration.
A similar study was done in [9] which proposed a model to compute the energy expended by a
node during a transmission cycle however, our work found that the expended energy is non-linear
and can be modeled. Moreover, Petajajarvi et. al [43] highlights the power consumption of a node
as a whole. Our work takes this step further by dissecting a transmission cycle along with its
sub-components responsible for the lifetime of a node.
A fundamental question raised prior to deploying a LoRa network would be "how many nodes
can a gateway support?". This paper performed multiple experiments to quantify the node capacity
of a gateway through 1) quantifying the number of supported nodes for a single SF network on a
single channel, 2) quantifying the number of supported nodes for a single channel with multiple
SFs, and 3) exploring the overheads and gains of LoRaWAN. Counter-intuitively a channel with
only SF7 supports a lower number of nodes as compared to a channel with only SF12 due to high
number of packet collisions caused by high number of inter-packet interference from the low duty
cycle of SF7. On the other hand, a mixed SFs network performs better if more SF7 packets are
present in the network. This is due to the concurrent demodulation capability of the gateway which
demodulates collided packets in the orthogonal space. While a single SF channel would be full of
non-orthogonal packet collisions, a mixed SF channel would innately leverage orthogonality of SFs
to avoid collisions along with capture effect [21] to increase both throughput and the number of
supported nodes. Results of the experiments indicate that a single channel gateway with multiple
SFs could support >14,000 nodes. While simply extending the capability of a single channel to
multiple channels would not be logical however, a single channel with six SFs only exploits six
out of eight concurrent demodulators designed in the concentrator chipset. Additionally, as the
standard MAC protocol for LoRa, LoRaWAN overhead does not provide equivalent returns. On
top of the high energy overhead due to encryption and RX delays, significantly large LoRaWAN
overhead due to header information diminishes the throughput gain it brings. Albeit similar to
[2, 5, 6, 8] who focuses on the network capacity of LoRaWAN, this paper mainly explores the
number of nodes supported by LoRa itself and hopes to serve as a baseline for future studies.
Looking further into the combined experiment results, this paper answers the question every
system adopter would like to know, "what is the optimal setting for a node?". To answer this
question, the paper proposes a simple search algorithm to find the optimal setting and also provides
rule that suggest that TX Pow is a more efficient parameter in terms of end node lifetime while
SF is a more efficient parameter in terms of coverage. While there exists multiple SF and TX Pow
settings to reach a desired distance, settings with lower SF and higher TX Pow should always be
preferred which reduces the search space by 79%. With this significant reduction in the search
space, system adopters would be able to survey deployment areas more efficiently while researchers
would be able to design more efficient rate adaptation algorithms. Reynders et. al [47] propose
a parameter selection algorithm by evaluating individual path loss values of each node on each
channel assessed by the gateway which then assign the selected parameter to the end node through
downlink transmissions. Results in this paper could compliment Reynders et. al algorithm by
limiting the search space.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:33

Although a LoRa concentrator’s capability to demodulate orthogonally colliding packets is in


contrast to other LPWAN technologies, a LoRa gateway could still experience collisions from packets
within non-orthogonal data rates. Studies like CHOIR [15] has proposed a method to separate
such collisions by leveraging imperfections present within an end node’s hardware. However,
collisions could be averted by leveraging a CSMA mechanism prior to transmission. CAD mode in
the SX127X chipset is capable on sensing a potentially colliding packet during the preamble. This
paper exploits this mode by implementing a simple CSMA mechanism and discovers that paying a
small price in energy budget (< 1.70mJ ) for CSMA-CAD provides up to 20% PRR improvement.
A simulation was also conducted to investigate the possible gain of an ideal CSMA mechanism.
The simulation predicts that an ideal CSMA mechanism can increase the throughput up to 56×
compared to CSMA-CAD.
In summary, this paper has answered common questions system adopters and researchers have
about LoRa and verifies the promises Semtech has made in terms of transmission distance, end node
lifetime, and node capacity. It further provides a deeper understanding on the effect of modulation
parameters on the aforementioned promises which could aid system designers in designing a better
MAC protocols for LoRa. Lastly, a simple experiment to test the resiliency of LoRa against the
Doppler effect also resulted encouraging results about LoRa modulation.

REFERENCES
[1] LTE Release 13. 2018. Release 13. Retrieved Aug 8, 2018 from http://www.3gpp.org/release-13
[2] Ferran Adelantado, Xavier Vilajosana, Pere Tuset-Peiro, Borja Martinez, Joan Melia-Segui, and Thomas Watteyne.
2017. Understanding the limits of LoRaWAN. IEEE Communications magazine 55, 9 (2017), 34–40.
[3] Wi-Fi Alliance. 2018. Wi-Fi HaLow | Wi-Fi Alliance. Retrieved Aug 8, 2018 from https://www.wi-fi.org/discover-wi-fi/
wi-fi-halow
[4] Aloÿs Augustin, Jiazi Yi, Thomas Clausen, and William Mark Townsley. 2016. A study of LoRa: Long range & low
power networks for the internet of things. Sensors 16, 9 (2016), 1466.
[5] Eyuel D Ayele, Chiel Hakkenberg, Jan Pieter Meijers, Kyle Zhang, Nirvana Meratnia, and Paul JM Havinga. 2017.
Performance analysis of lora radio for an indoor iot applications. In Internet of Things for the Global Community
(IoTGC), 2017 International Conference on. IEEE.
[6] Dmitry Bankov, Evgeny Khorov, and Andrey Lyakhov. 2016. On the limits of LoRaWAN channel access. In Proceedings
of the 2016 International Conference on Engineering and Telecommunication (EnT), Moscow, Russia. 29–30.
[7] Steve Battle and Benedict Gaster. 2017. LoRaWAN Bristol. In Proceedings of the 21st International Database Engineering
& Applications Symposium. ACM, 287–290.
[8] Norbert Blenn and Fernando Kuipers. 2017. LoRaWAN in the wild: Measurements from the things network. arXiv
preprint arXiv:1706.03086 (2017).
[9] Taoufik Bouguera, Jean-François Diouris, Jean-Jacques Chaillout, Randa Jaouadi, and Guillaume Andrieux. 2018.
Energy Consumption Model for Sensor Nodes Based on LoRa and LoRaWAN. Sensors (Basel, Switzerland) 18, 7 (2018).
[10] Michael Coracin and Matthieu Leurent. 2017. GitHub - Lora-net/lora_gateway: Driver/HAL to build a gateway using a
concentrator board based on Semtech SX1301 multi-channel modem and SX1257/SX1255 RF transceivers. Retrieved
Aug 8, 2018 from https://github.com/Lora-net/lora_gateway
[11] CRC Computation 2013. Implementing Data Whitening and CRC Calculation in Software on SX12XX Devices. Rev. 1.
[12] Jonathan de Carvalho Silva, Joel JPC Rodrigues, Antonio M Alberti, Petar Solic, and Andre LL Aquino. 2017. LoRaWAN-
A low power WAN protocol for Internet of Things: A review and opportunities. In Computer and Energy Science
(SpliTech), 2017 2nd International Multidisciplinary Conference on. IEEE, 1–6.
[13] Dalibor Dobrilović, Milan Malić, Dušan Malić, and Srđan Sladojević. 2017. Analyses and optimization of Lee propagation
model for LoRa 868 MHz network deployments in urban areas. Journal of Engineering Management and Competitiveness
(JEMC) 7, 1 (2017), 55–62.
[14] Wan Du, Jansen Christian Liando, Huanle Zhang, and Mo Li. 2017. Pando: Fountain-enabled fast data dissemination
with constructive interference. IEEE/ACM Transactions on Networking 25, 2 (2017), 820–833.
[15] Rashad Eletreby, Diana Zhang, Swarun Kumar, and Osman Yağan. 2017. Empowering Low-Power Wide Area Networks
in Urban Settings. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication. ACM,
309–321.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
19:34 Jansen C. L. et al.

[16] Eric Gourlaouen, Johan Stokking, and Hylke Visser. 2017. GitHub - TheThingsNetwork/packet_forwarder: Packet
forwarder for Linux based gateways. Retrieved Aug 8, 2018 from https://github.com/TheThingsNetwork/packet_
forwarder
[17] Claire Goursaud and Jean-Marie Gorce. 2015. Dedicated networks for IoT : PHY / MAC state of the art and challenges.
EAI endorsed transactions on Internet of Things (Oct. 2015). https://doi.org/10.4108/eai.26-10-2015.150597
[18] Frank Gray. 1946. Pulse code communication. US Patent US2632058A.
[19] C. Gu, R. Tan, X. Lou, and D. Niyato. 2018. One-Hop Out-of-Band Control Planes for Low-Power Multi-Hop Wireless
Networks. In IEEE INFOCOM 2018 - IEEE Conference on Computer Communications. 1187–1195. https://doi.org/10.
1109/INFOCOM.2018.8486301
[20] Jetmir Haxhibeqiri, Abdulkadir Karaagac, Floris Van den Abeele, Wout Joseph, Ingrid Moerman, and Jeroen Hoebeke.
2017. LoRa indoor coverage and performance in an industrial environment: Case study. In Emerging Technologies and
Factory Automation (ETFA), 2017 22nd IEEE International Conference on. IEEE, 1–8.
[21] Jetmir Haxhibeqiri, Floris Van den Abeele, Ingrid Moerman, and Jeroen Hoebeke. 2017. Lora scalability: A simulation
model based on interference measurements. Sensors 17, 6 (2017), 1193.
[22] C. Huang, T. Teng, and D. Sun. 2016. Low-speed moving target detection of single frame image based on Doppler shift
estimation. In 2016 IEEE/OES China Ocean Acoustics (COA). 1–4. https://doi.org/10.1109/COA.2016.7535703
[23] IC880a 2015. WiMOD iC880A. Ver. 0.5.
[24] Inair9b [n. d.]. inAir9 Datasheet and Schematics.
[25] Gabor Kecskemeti, Giuliano Casale, Devki Nandan Jha, Justin Lyon, and Rajiv Ranjan. 2017. Modelling and simulation
challenges in internet of things. IEEE cloud computing 4, 1 (2017), 62–69.
[26] Oratile Khutsoane, Bassey Isong, and Adnan M Abu-Mahfouz. 2017. IoT devices and applications based on
LoRa/LoRaWAN. In Industrial Electronics Society, IECON 2017-43rd Annual Conference of the IEEE. IEEE, 6107–6112.
[27] Alexandru Lavric and Adrian Ioan Petrariu. 2018. LoRaWAN communication protocol: The new era of IoT. In 2018
International Conference on Development and Application Systems (DAS). IEEE.
[28] Alexandru Lavric and Valentin Popa. 2017. A LoRaWAN: Long range wide area networks study. In Electromechanical
and Power Systems (SIELMEN), 2017 International Conference on. IEEE, 417–420.
[29] Lingling Li, Jiuchun Ren, and Qian Zhu. 2017. On the application of LoRa LPWAN technology in Sailing Monitoring
System. In Wireless On-demand Network Systems and Services (WONS), 2017 13th Annual Conference on. IEEE, 77–80.
[30] Alexander Liljegren and Robin Franksson. 2018. Measuring a LoRa Network: Performance, Possibilities and Limitations.
[31] LoRaWAN 2017. LoRaWAN™ 1.1 Specification. Ver. 1.1.
[32] Steve Mann and Simon Haykin. 1991. The chirplet transform: A generalization of Gabor’s logon transform. In Vision
Interface, Vol. 91. 205–212.
[33] Knight Mathew and Seeber Balint. 2016. Decoding LoRa:Realizing a Modern LPWAN with SDR. In GNU Radio
Conference. GNU Radio.
[34] Modulation 2015. LoRa™ Modulation Basics. Rev. 2.
[35] Pierre Neumann, Julien Montavont, and Thomas Noël. 2016. Indoor deployment of low-power wide area networks
(LPWAN): A LoRaWAN case study. In Wireless and Mobile Computing, Networking and Communications (WiMob), 2016
IEEE 12th International Conference on. IEEE, 1–8.
[36] Umber Noreen, Ahcène Bounceur, and Laurent Clavier. 2017. A study of LoRa low power and wide area network
technology. In Advanced Technologies for Signal and Image Processing (ATSIP), 2017 International Conference on. IEEE,
1–6.
[37] Rúben Oliveira, Lucas Guardalben, and Susana Sargento. 2017. Long range communications in urban and rural
environments. In 2017 IEEE Symposium on Computers and Communications (ISCC). IEEE, 810–817.
[38] I. Omelchuk, I. Prokopenko, and I. Chyrka. 2016. Multichannel target speed estimation by a colocated Doppler-
pulse MIMO radar. In 2016 International Conference Radio Electronics Info Communications (UkrMiCo). 1–5. https:
//doi.org/10.1109/UkrMiCo.2016.7739601
[39] Dhaval Patel and Myounggyu Won. 2017. Experimental Study on Low Power Wide Area Networks (LPWAN) for
Mobile Internet of Things. In Vehicular Technology Conference (VTC Spring), 2017 IEEE 85th. IEEE, 1–5.
[40] Yao Peng, Longfei Shangguan, Yue Hu, Yujie Qian, Xianshang Lin, Xiaojiang Chen, Dingyi Fang, and Kyle Jamieson.
2018. PLoRa: a passive long-range data network from ambient LoRa transmissions. In Proceedings of the 2018 Conference
of the ACM Special Interest Group on Data Communication. ACM, 147–160.
[41] Juha Petäjäjärvi, Konstantin Mikhaylov, Marko Pettissalo, Janne Janhunen, and Jari Iinatti. 2017. Performance of a
low-power wide-area network based on LoRa technology: Doppler robustness, scalability, and coverage. International
Journal of Distributed Sensor Networks 13, 3 (2017), 1550147717699412.
[42] Juha Petäjäjärvi, Konstantin Mikhaylov, Antti Roivainen, Tuomo Hanninen, and Marko Pettissalo. 2015. On the
coverage of LPWANs: range evaluation and channel attenuation model for LoRa technology. In ITS Telecommunications
(ITST), 2015 14th International Conference on. IEEE, 55–59.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.
Known and Unknown Facts of LoRa 19:35

[43] Juha Petäjäjärvi, Konstantin Mikhaylov, Rumana Yasmin, Matti Hämäläinen, and Jari Iinatti. 2017. Evaluation of LoRa
LPWAN technology for indoor remote health and wellbeing monitoring. International Journal of Wireless Information
Networks 24, 2 (2017), 153–165.
[44] Tara Petrić, Mathieu Goessens, Loutfi Nuaymi, Laurent Toutain, and Alexander Pelov. 2016. Measurements, perfor-
mance and analysis of LoRa FABIAN, a real-world implementation of LPWAN. In Personal, Indoor, and Mobile Radio
Communications (PIMRC), 2016 IEEE 27th Annual International Symposium on. IEEE, 1–7.
[45] Congduc Pham. 2018. Investigating and experimenting CSMA channel access mechanisms for LoRa IoT networks. In
Wireless Communications and Networking Conference (WCNC), 2018 IEEE. IEEE, 1–6.
[46] Power monitor 2014. Mobile Device Power Monitor Manual. Rev. 1.14.
[47] Brecht Reynders, Wannes Meert, and Sofie Pollin. 2017. Power and spreading factor control in low power wide area
networks. In Communications (ICC), 2017 IEEE International Conference on. IEEE, 1–6.
[48] Pieter Robyns, Peter Quax, Wim Lamotte, and William Thenaers. 2018. A Multi-Channel Software Decoder for the
LoRa Modulation Scheme. In Proceedings of the 3rd International Conference on Internet of Things, Big Data and Security
- Volume 1: IoTBDS. INSTICC, SciTePress, 41–51.
[49] Tom Rondeau, Josh Blum, Johnathan Corgan, Eric Blossom, and Sebastian Koslowski. [n. d.]. GitHub - gnura-
dio/gnuradio: GNU Radio. https://github.com/gnuradio/gnuradio
[50] Olivier Bernard André Seller. 2017. Wireless communication method. US Patent 9,647,718.
[51] Olivier Bernard André Seller and Nicolas Sornin. 2016. Low power long range transmitter. US Patent 9,252,834.
[52] Semtech. 2012. Semtech Acquires Wireless Long Range IP Provider Cycleo | Semtech Corporation. Retrieved Aug 8,
2018 from http://investors.semtech.com/releasedetail.cfm?ReleaseID=655335
[53] Longfei Shangguan, Zheng Yang, Alex X Liu, Zimu Zhou, and Yunhao Liu. 2017. STPP: Spatial-temporal phase
profiling-based method for relative RFID tag localization. IEEE/ACM Transactions on Networking 25, 1 (2017), 596–609.
[54] Sigfox. 2018. Sigfox - The Global Communications Service Provider for the Internet of Things (IoT). Retrieved Aug 8,
2018 from https://www.sigfox.com/
[55] Rashmi Sharan Sinha, Yiqiao Wei, and Seung-Hoon Hwang. 2017. A survey on LPWA technology: LoRa and NB-IoT.
Ict Express 3, 1 (2017), 14–21.
[56] Andreas Springer, Mario Huemer, Leonhard Reindl, Clemens CW Ruppel, Alfred Pohl, Franz Seifert, Wolfgang Gugler,
and Robert Weigel. 1998. A robust ultra-broad-band wireless communication system using SAW chirped delay lines.
IEEE transactions on microwave theory and techniques 46, 12 (1998), 2213–2219.
[57] SX1261 2017. SX1261/2 Long Range, Low Power, sub-GHz RF Transceiver. Rev. 1.1.
[58] SX1276 2016. SX1276/77/78/79 - 137 MHz to 1020 MHz Low Power Long Range Transceiver. Rev. 5.
[59] SX1301 2017. SX1301 Datasheet. Ver. 2.3.
[60] Vamsi Talla, Mehrdad Hessar, Bryce Kellogg, Ali Najafi, Joshua R Smith, and Shyamnath Gollakota. 2017. Lora
backscatter: Enabling the vision of ubiquitous connectivity. Proceedings of the ACM on Interactive, Mobile, Wearable
and Ubiquitous Technologies 1, 3 (2017), 105.
[61] USRP N210 [n. d.]. USRP™ N200/N210 NETWORKED SERIES.
[62] Nuttakit Vatcharatiansakul, Panwit Tuwanut, and Chotipat Pornavalai. 2017. Experimental performance evaluation of
LoRaWAN: A case study in Bangkok. In Computer Science and Software Engineering (JCSSE), 2017 14th International
Joint Conference on. IEEE, 1–4.
[63] Benny Vejlgaard, Mads Lauridsen, Huan Nguyen, István Z Kovács, Preben Mogensen, and Mads Sorensen. 2017.
Coverage and capacity analysis of sigfox, lora, gprs, and nb-iot. In Proceedings of the 2017 IEEE 85th Vehicular Technology
Conference (VTC Spring), Sydney, Australia. 4–7.
[64] Weightless. 2018. Weightless - Setting the Standard for IoT. Retrieved Aug 8, 2018 from http://www.weightless.org/
[65] Peng Zhang and Hao Liu. 2006. An ultra-wide band system with chirp spread spectrum transmission technique. In ITS
Telecommunications Proceedings, 2006 6th International Conference on. IEEE, 294–297.

ACM Trans. Sensor Netw., Vol. 0, No. 0, Article 19. Publication date: November 2018.

You might also like