Imperfect Orthogonality in LoRa links

LoRa technology represents a critical example of wireless technology working with high-density networks. Indeed, LoRa has been conceived for Low Power Wide Area Networks (LPWAN), characterized by low data rate requirements per single device, large cells and heterogeneous application domains, which may lead to extremely high numbers of devices coexisting in the same cell.
For this reason, despite of the robustness of the LoRa PHY in WAN scenarios where multiple gateways can be installed with multiple transmission channels and Spreding Factors (SF) a LoRa system cannot be considered as the simple super-position of independent (single channel, single SF) sub-systems. Indeed the SFs adopted by LoRa are quasi-orthogonal and therefore, in near-far conditions, collisions can prevent the correct reception of the overlapping transmissions using different SFs.
In the paper Impact of LoRa Imperfect Orthogonality: Analysis of Link-level Performance we quantified the Signal-to-Interference Ratio (SIR) values for which interference rejection of other LoRa signals does not work, for  all combinations of SFs. To the purpose of finding and validating such co-channel rejection thresholds we developed two different tools which we describe in the following sections.

PHY simulator

We implemented a link level simulator in MATLAB for testing the reception of two overlapping LoRa transmissions modulated with different SFs. You can download it and try it.

In each simulation run a reference frame modulated with a reference spreading factor  SFref is summed to a random number of interfering symbols modulated with a different spreading factor SFint. The resulting overlapped signal is demodulated in absence of noise, assuming perfect synchronization of the receiver. During the simulation the SIR increases from -30 dB  with 1 dB steps.  One hundred frame must be demodulated wrongly for reaching the next step. The simulation ends when the BER is less then 1%.

The simulator generates 8 figures at run time. The first one shows the packet, symbol and bit error rate (PER, SER and BER respectively) of the current experiment. Figures 2 to 8 are the final BER curves for spreading factors 6 to 12 against all the others. We used this simulator for obtaining the results presented in Table 1 of  our paper.

Cell-level Traffic Generator

We developed a LoRa cell traffic generator in order to emulate the behavior of thousands of low-rate sensor nodes deployed in the same cell by using a single Software Defined Radio (SDR) platform. This software is able to create, in a controlled and repeatable manner, a combined radio signal given by the super-position of multiple LoRa signals produced by different devices – and different SFs.

The core of the traffic generator is a synthesizer able to encode, modulate and generate the I/Q samples of a real LoRa packet! The synthesizer is controlled by a scheduler which is responsible of generating the activity intervals of each node according to the source rate and duty-cycle constraints. Once the samples are generated they can be easily transmitted over the air by an SDR platform toward a commercial LoRa device.

We used the traffic generator for validating the thresholds found with the MATLAB simulator. In the experimental setup we used a USRP B210 for transmitting the packets and a low cost Semtech SX1272 transceiver for receiving. We generated two traces (one for the interferer and one for the reference LoRa link) for each combination of SFs and adjusting the payload length of the interfering SF to match the length of the reference signals. The resulting combined stream was transmitted through the USRP towards the SX1272, thus emulating the traffic generated by two different transmitters.

Our experimental results show that the SIR threshold for receiving a  packet correctly is almost independent of the SF, with an average co-channel  rejection of -16dB. This has important implications for LoRa operators and network planning professionals: allocating higher SFs to far users could not necessarily improve their link capacity in case of congested networks because these transmissions are then received at lower power and are very prone to collisions due to longer transmission times.
In downloads you can find the I/Q samples generated with our synthesizer and two Gnuradio companion GUIs for replicating the experimental environment. Following the readme you can verify yourself how the orthogonality of different SFs depends on the SIR selected.