This page is about understanding the LoRa RF modulation format.
LoRa is an abbreviation of Long Range, meaning it is an radio modulation format that gives longer range than straight FSK modulation. This is achieved by a combination of methods: it uses a spread spectrum technique called Chirp Spread Spectrum (CSS) and it uses forward error coding (in combination with whitening and interleaving).
To transmit or receive LoRa signals, you need to buy hardware that supports this modulation format.
The goal of this project is to collect more detailed information on the LoRa modulation and packet format. A concrete result could be that it becomes possible to receive and decode LoRa signals with a cheap software defined radio, like rtlsdr.
The LoRa modulation appears to be defined by the following parameters:
- the bandwidth (in kHz), meaning the minimum and maximum swept frequency used by a transmitter
- the spreading factor
- the coding rate
Since the LoRa is basically a carrier being swept over a certain bandwidth in a specific way, it is possible to recover the frequency by FM demodulation of the signal generated by a Semtech chip, in my case from a hoperf RFM95 module.
- A nice explanation of the preamble and data modulation at link-labs
- Semtech AN1200.22 http://www.semtech.com/images/datasheet/an1200.22.pdf Lora modulation basics