Understanding LoRa

Introduction

LoRa is a new, private and spread-spectrum modulation technique which allows sending data at extremely low data-rates to extremely long ranges. The low data-rate (down to few bytes per second) and LoRa modulation lead to very low receiver sensitivity (down to -134 dBm), which combined to an output power of +14 dBm means extremely large link budgets: up to 148 dB, what means more than 22 km (13.6 miles) in LOS links and up to 2 km (1.2 miles) in NLOS links in urban environment.

Libelium's LoRa module works in both 868 and 900 MHz ISM bands, which makes it suitable for virtually any country. Those frequency bands are lower than the popular 2.4 GHz band, so path loss attenuation is better in LoRa. In addition, 868 and 900 MHz are bands with much fewer interference than the highly populated 2.4 GHz band. Besides, these low frequencies provide great penetration in possible materials (brick walls, trees, concrete), so these bands get less loss in the presence of obstacles than higher bands.

The great performance of LoRa in all these 3 features (good sensitivity, low path loss, good obstacle penetration) makes LoRa a disruptive technology enabling really long range links. This is specially important in urban scenarios, with very difficult transmission conditions. To sum up, LoRa can get long ranges in Smart Cities deployments, so it reduces dramatically the size of the backbone network (repeaters, gateways or concentrators).

As shown in the chapter "Long Range Tests", Libelium performed long range tests, getting the awesome distance of 22 km (13.6 miles) in LOS configurations and 2 km (1.2 miles) in urban scenarios (going through buildings). The margin in those conditions would allow even more distance (x2, x3), the only problem was to keep the line-of-sight condition.

Long Range VS Transmission time / consumption

It is really important to study the table in the chapter "Transmission Modes". There are 10 predefined transmission modes. Mode 1 gives the best range performance because the sensitivity is minimum; however, we must take into account that the transmission time of a typical packet is high.

Mode

BW

CR

SF

Sensitivity (dB)

Transmission time (ms) for a 100-byte packet sent

Power consumption (mA·ms/1000) (reference = 35 mA in TX mode)

Transmission time (ms) for a 100-byte packet sent and ACK received

Comments

1

125

4/5

12

-134

4245

149

5781

max range, slow data rate

2

250

4/5

12

-131

2193

77

3287

-

3

125

4/5

10

-129

1208

42

2120

-

4

500

4/5

12

-128

1167

41

2040

-

5

250

4/5

10

-126

674

24

1457

-

6

500

4/5

11

-125,5

715

25

1499

-

7

250

4/5

9

-123

428

15

1145

-

8

500

4/5

9

-120

284

10

970

-

9

500

4/5

8

-117

220

8

890

-

10

500

4/5

7

-114

186

7

848

min range, fast data rate, minimum battery impact

The transmission mode is set to 1 by default. The user should explore other transmission modes, with a better range-time balance. For example, if we go from mode 1 to mode 5, sensitivity is reduced in 8 dB, thus range will be 40-50%. But on the other hand, packets will be sent in just 20% of time. This makes a great difference in terms of energy consumption, because in general terms, more time transmitting means more battery consumption.

Besides, we should consider that the transmission channel is shared by all the nodes in the network. This is important since only one packet can be transmitted at the same time. So the slower the packet transmission is, the worse is the channel availability. This fact has a dramatic impact in the number of nodes that a LoRa network can have. The developer must consider the number of nodes to install and run careful availability tests before deploying the network.

Libelium tests have checked that there is possible to set up a network with 8 different nodes sending frames every minute. This has been done using mode 1 which implies the worst time restrictions but best range. For the time synchronization, the RTC of Waspmote has been used to open temporal windows so as to perform the sending process.

LoRa VS XBee 868/900 MHz

Tests demonstrate that the LoRa module has much better long-range performance than other communication modules, including XBee 868 or 900. Dozens of km are easily achievable in good conditions thanks to the extremely low sensitivity that the disruptive LoRa technology offers. Even in urban environment, LoRa can reach some km in range. Both things are impossible for XBee.

However, XBee 868 or 900 win in terms of time of transmission. Basically, they complete a transmission cycle, including ACK reception, in less than 200 ms. The LoRa module takes more time as seen in the previous table (even in mode 10, which is the fastest mode).

Time of transmission is directly related to battery consumption, so XBees 868 and 900 need less energy to work (60-80% less than LoRa). In other words, a battery will last longer with XBee.

For what applications is LoRa a good option?

LoRa is a very good choice for solar or mains-powered nodes transmitting every 10 or 15 minutes in networks with low or medium number of nodes.

LoRa is also the best option for very wide networks, with long-range links. Other communication modules just cannot get more than few km.

For what applications is NOT LoRa a good option?

Definitely, LoRa is not suitable for projects which require high data-rate and/or very frequent transmissions (e.g., each 10 seconds).

Also, LoRa is probably not suitable for highly populated networks. Anyway, it depends on the number of nodes, and on the number of packets per hour that each node sends.

Power consumption is a major challenge, so probably any LoRa node should be powered by a solar panel, or even better, connected to mains electricity.

Last, we must note that due to the low bandwidth, LoRa by itself does not support Over the Air Programming (OTA), however many of our clients use as a second radio the 3G, GPRS or WiFi modules that allow to perform OTA easily retrieving the binary image from a FTP server in just a couple of seconds.

Last updated