faydr / QMesh

QMesh: a synchronized flooded mesh network for voice over LoRa
GNU General Public License v3.0
140 stars 14 forks source link

Invert bits before outputting to SX1262 #110

Closed faydr closed 3 years ago

faydr commented 3 years ago

As a chirped M-ary FSK, LoRa's chirps tend to "jump around" in frequency depending on the exact bits they encode. Let's add a new anti-interference parameter: inverting the bits. Doing so should cause chirps from inverted and non-inverted packets to be more spread out in the spectrum-time domain, and thus interfere less.

Since we don't know if the bits in a given received LoRa packet are inverted, we need to perform the FEC decoding on both the uninverted as well as inverted bits. This obviously doubles the compute requirement for decoding QMesh frames, but should still be tractable with the current hardware.

faydr commented 3 years ago

This feature has been successfully added.