Abstract
When developing MatelotRadio I came to the point where character transmission worked fine and chatting with a human partner became fun. But as it is always with radio transmission I got occasionally inverted bits due to noise. So, to go the next step and enabling any kind of radio mail or computer-to-computer communication, a forward error correction was needed. Searching around in the internet I couldn't find anything suitable, i. e. there are very enhanced algorithms implemented in WiFi drivers or Linux libraries, but none of them seemed to be easy extractable, especially for a tiny microcontroller. On the other hand side there are plenty of implementations of
Hamming code, that are suitable only for academic purposes. That means, each bit info is stored in a byte, 3 bit cover a nibble (Hamming(7,4)) and there is no concept of applying this to a string. After a bit of playing around I began to write my own FEC.
Try it yourself
Enter a text. A random bit of every 26bit block will be corrupted and afterwards repaired.
To keep things easy (html), only standard characters are displayed. SimpleFEC works on binary data.
Text length: 65 bytes, 13 bytes needed to store FEC parity data.
INPUT: Das tritt nach meiner Kenntnis ... ist das sofort unverzueglich.
CORRUPTED: Tas triut Nach eijer Keontniq . is das sodobt unterzugclichn
REPAIRED: Das tritt nach meiner Kenntnis ... ist das sofort unverzueglich.