1
$\begingroup$

This time, I have been reading a lot about how LoRa works and how it is able to achieve such long ranges in non-LOS propagation channels. However, a simple doubt arises regarding the way they implemented it.

Let us focus on the 125KHz wide channel specified in the standard. For relatively good SNR conditions, the LoRa standard is able to achieve datarates of up to 5,47Kbps (source) by using a SF of aroud $18$ and a FEC rate of $4/5$. As our SNR decreases, in order to maintain the same BER/BLER while occupying the same bandwidth, it is necessary to reduce the datarrate up to even 980bps in the worst case scenario.

LoRa makes this reduction in datarrate by increasing the SF in a factor of around $5$ while maintaining the same FEC rate.

In general (not only in LoRa), is it better* to largely increase the SF rather than increasing the SF a moderate ammount while also decreasing the FEC rate? If so, why? Specially in a case as LoRa, when a low redundancy FEC is being used (only 4/5 rate), it seems so counterintuitive to me.

Thank you in advance.

*better = for the same bandwidth and datarrate, achieve lower BER in the same conditions or increase the lowest possible SNR for a fixed BER.

I.e.: in a 125KHz wide channel, choosing between a SF of 16 and FEC rate of 4/5 and a SF of 10 and a FEC rate of 1/2

$\endgroup$

1 Answer 1

1
$\begingroup$

Your numbers look odd as the max LoRa SF is 12, which is also confirmed by your cited link.

In general (not only in LoRa), is it better* to largely increase the SF rather than increasing the SF in a more moderate way while also decreasing the FEC rate? If so, why? Specially in a case as LoRa, when a low redundancy FEC is being used (only 4/5 rate), it seems so counterintuitive to me.

They are not theoretically comparable: all else being equal, larger SF means higher SNR; whereas different code rates mean different codes if we characterize a code by its minimum distance. You must simulate/test in specific channels to conclude which approach is better.

If you fix the codeword length and use the finite blocklength theory, you can compute the bounds for the comparison. But again, you must compute the bounds.

I am no LoRa expert, but a higher SNR usually makes synchronization, estimation, equalization, and other things easier. However, a large SF requires receivers to process large bandwidth that increases the cost of devices.

$\endgroup$
6
  • 2
    $\begingroup$ @user3141592 ok, lets take a broader look. All else (synchronization, estimation, scheduling, etc.) being perfect, the performance of a system depends on code, channel and decoder. By fixing power, datarate, bandwidth, for a given channel, you are fixing the channel characteristics, you can determine information theory bounds (channel capacity and finite blocklength bounds for with and without a fixed codeword length, respectively) and compare them. $\endgroup$
    – AlexTP
    Oct 21, 2021 at 11:49
  • 1
    $\begingroup$ @user3141592 There, you can conclude that a scheme is better than the other; but only for a specific code and some specific decoders that reach the aforementioned bounds. They do exist (proved by random coding) but in general we don't know what they are. $\endgroup$
    – AlexTP
    Oct 21, 2021 at 11:51
  • 1
    $\begingroup$ @user3141592 now you look at codes that have structure (for a finite encoding complexity) and their Maximum Likelihood decoders, the only thing you can know is that the codeword error rates are surely higher than the infomation theory bounds, but between the two (higher SNR+lower rate) and (lower SNR+higher rate), you cannot conclude anything without simultions. $\endgroup$
    – AlexTP
    Oct 21, 2021 at 11:57
  • 1
    $\begingroup$ @user3141592 if you go further and incorporate a practical decoder which is worse than the ML decoder, the error rate depends also the decoder performance. But I assume the decoders are the same in your question. $\endgroup$
    – AlexTP
    Oct 21, 2021 at 12:01
  • 1
    $\begingroup$ @user3141592 another approach is that for the specific LoRa case, as the codes are known, you can try determining the code distances of the two code rates and then computing the decoding bounds of linear code, see slide 32. But again, this is just the upper bound on error rate, be careful when you conclude. Last but not least, as soon as we have FEC in the chain, the BER become much meaningless and we use codeword error rate instead. $\endgroup$
    – AlexTP
    Oct 21, 2021 at 12:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.