Chirp! Understanding LoRa Modulation

LoRa (an abbreviation of “Long Range”) is a means of encoding (or modulating) a digital information stream onto a communication channel, which is widely used for wireless, low-power, low-bandwidth communication applications by Internet of Things (IoT) devices.

LoRa encodes a string of symbols (multi-bit sequences) by modularly frequency-shifting a linear chirp signal signal by the index number of the symbol. This encoding has the property that it may be decoded (demodulated) by a simple de-chirping operation followed by a fast Fourier transform (FFT), which directly produces a spectrum indicating correlation of the received signal with each of the encodings for symbols. This computation is easily done by low power electronics and computation in the receiver.

The result is almost magical by the standards of traditional communications technologies. Depending upon the size of the symbol set, a LoRa receiver is able to decode signals buried in noise with power far exceeding the signal: with a symbol set of 256 characters (8 bits), a LoRa receiver can usually extract a signal from noise one hundred times stronger than the signal with a very low error rate. And, the ability to tolerate noise increases as the number of symbols grows (albeit at the cost of computing a larger Fourier transform to demodulate the signal).

The LoRa Alliance estimates the number of installed LoRa devices will exceed 2 billion in 2025.