LoRa and others

There are many different methods of Signal-To-Noise enhancement, starting from lock-in-amplifiers to modern telecom. Normally each specific case is being considered independently with tons of math etc. Here is an attempt to get a big, less specific picture and explain fundamental principles on how range of RF communications can be extended. At the end we concentrate on LoRa technology and RFM9x (Semtech SX127x) modules.

At fixed transmission power the range is determined by sensitivity of the receiver. Sensitivity of any receiver is limited by noise. Sensitivity of ideal receiver is determined by thermal noise and a bandwidth.

For ideal receiver and signal/noise=1 at room temperature the limit is:

-174 dBm + 10 log (B) (1)

where B is bandwidth in Hz.

Lower is better, scale is logarithmic, e.g. -100 dBm = 10 log (Received Power/1 mWt) corresponds to sensitivity of 10-10 mW. -174 dBm is amount of thermal noise at room temperature.


Fig.1 Signal and Signal+Noise, at wide bandwidth (left) and narrow bandwidth (right). Narrower bandwidth makes discrimination easier.

To get better sensitivity we should make bandwidth as narrow as possible by reducing transmission speed and using narrow-band filter at the receiver. This is how conventional FSK and OAK transceivers are working (e.g. RFM22B modules (SiLabs 443x)).

Is there any way to increase sensitivity even more? Yes!

Let us recall that information is a merit of order. Increased order (more information) leads to decreased entropy. There is analogy with thermodynamics. Elevated temperature creates more fluctuation of current and therefore noise. The measure of such noise is an energy kbT. In information theory kbT at T=1 corresponds to 1 bit of erased randomness. In thermodynamics, we can decrease noise by lowering the temperature, in information theory we make the system more ordered.

In practice, it means we must code additional information into the signal and let the receiver “know” how the signal was coded.

Imagine situation when you are given a box with about spherically shaped stones with some distribution of ovality and the task to select only perfect spherical stones without precise measurements. Sure you will do some mistakes. But if you are given information that perfect spheres are the only red colored you will do no mistakes at all.

Another example is lock-in amplifier. If the amplifier knows frequency and phase of the signal (we provide it with reference input), it can get averaged amplitude and phase of the signal even if noise is much stronger than signal. We say that noise is uncorrelated (unordered) in contrast to signal (which is ordered).

Statistical properties of information lead to the following equation (Shannon–Hartley). It determines a rate at which we can transfer information in dependence on signal-to-noise ratio and bandwidth allocation:

C=B*log2(1+S/N) (2)

Where C is a rate of transmission (bps), B is a bandwidth (Hz) and S/N is a signal-to-noise ratio.

For example, if S/N = 100 and we have 1 kHz bandwidth, we can transmit without errors (roughly) at a rate of 1000*lg(101)/lg(2)=6700 bps. This equation is closely related to well-known Nyquist theorem which determines sampling rate vs signal frequency.

From the equation 2 immediately follows, that at a given transmission rate C we can receive signals with lower S/N by increasing the bandwidth B. This technique is called “spectrum spreading”, because we intentionally increase bandwidth B.

Wider bandwidth must be related to additional information provided with the signal, and not to any spectral broadening!

It does not mean we will extract this additional information, we will use it. Receiver will apply known rules of coding to the received signal and will calculate so called correlation function. Presence of correlation indicates that we deal with our signal, and lack of correlation means we have noise.

This technique is widely used in modern wireless telecom, like cell phones. There are many methods of coding of additional information. For example, frequency hopping, direct-sequence spread spectrum etc.

More simple proprietary coding is patented by Semtech Co. and is called LoRa (Long Range). In addition to common frequency modulation (FSK) of the signal, the signal is additionally modulated with frequent frequency chirps of known parameters.


Fig. 2 FSK modulation (left) and LoRa (simplified) (right)

The parameters are: a) bandwidth: how much frequency changes within one chirp. b) spreading factor: how many chirps are within 1 bit interval ). Total S/N improvement depends on both parameters, in the equation 2, bandwidth B is determined by both a) and b).

Both transmitter and receiver a priori know how signal was additionally coded and therefore information can be extracted from noised signal with better accuracy.

Spread spectrum technology influence S/N in opposite directions: a) we need wider bandwidth, therefore, in according to (1) noise figure gets worse; b) we improve S/N because of additional information in the signal according to (2).

Enhanced S/N denotes improvement relative to the same noise level compared to conventional receivers where the limit of sensitivity is reached when signal power is equal to noise power. For example if noise is -90 dBm we can expect sensitivity of conventional receiver around -90 dBm, while spread spectrum techniques will allow detection at levels below -90 dBm.

Actual limit of sensitivity depends on many factors and technical realization. Semtech gives the following numbers for their SX127x ICs:


At about same transmission rate of 1.2 kbps (and about same battery drain) LoRa has ~7-8 dB sensitivity enhancement compared to FSK. It means the range is doubled. Another advantage of LoRa is transmission at very low bitrates. Typical FSK modules have technical limitation of filtering at bandwidth lower than 1 kHz (and also Doppler shift can make detection impossible if objects are moving), while LoRa (eg RFM9x (Semtech SX127x)) easily works at <100 bps. So range of transmission of LoRa RFM9x can be 8 times longer (~18 dBm) than range of FSK RFM22B (SiLabs 443x) for the price of battery drain (transmission takes longer time).

I believe, perfect RC finder beacon should include faster packets at a rate of ~5 kbps (~50 ms per packet) (for easy exchange between the finder and the beacon and fast directional radar without much battery drain) and rare slow packets at about 100-200 bps to receive some info even if beacon’s signal is extremely weak. Though technical realization is not quite clear, because the receiver must be turned to expected beacon parameters. May be the beacon should start transmitting at low rate with the period of a few tens of seconds (to save battery) and wait for same slow response from the finder. With which we can change parameters to new faster settings if signal is strong enough.