LoRa-SDR icon indicating copy to clipboard operation
LoRa-SDR copied to clipboard

Implement maximum likelyhood for PPM == SF

Open guruofquality opened this issue 7 years ago • 0 comments

In the case where the symbol set is equal to (and not greater) than spread factor, we are guaranteed +/-1 decoding errors. When the symbol set is greater, the detector error is simply shifted out. To correctly decode this, we need to take into account all of the symbol possibilities that go into one set of interleaved symbols and use the hamming errors to select the best decode option.

Two major complications to implement this:

  • Because of interleaving, errors are spread across every N symbols. The maximum likely hood path is as long as 1 group of interleaved symbols. But not as long as the entire payload, the process just repeats for every group
  • The header options support their own code rate separate from the payload (usually 4/8). So doing this requires its once in a generic way for the payload, and somewhat specifically for the header decode.

guruofquality avatar Mar 15 '17 02:03 guruofquality