Forum: Projekte & Code Erweiterter Hamming Code (16/11) Implementierung


von Johannes H. (jhuebner)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe für mein Infrarotprojekt einen Hamming 15/11 Code mit 
zusätzlichem Parity Bit (also 16/11) implementiert. (146 Zeilen brutto).

Da ich vorher meistens 1-Bit Fehler beobachtet habe, habe ich durch 
Einsatz des Codes fast keine Fehler mehr.

Siehe http://de.wikipedia.org/wiki/Hamming-Code

Es ist eine speichersparende Variante ohne Lookup Table. Ich habe alles 
in Unterfunktion aufgeteilt, damit mans besser versteht. Ich denke wenn 
man durchgestiegen ist, ist es auch nicht schwer, das ganze auf andere 
Codelängen umzuschreiben.

Bitte die Funktionen nicht von Hand inlinen, das macht der Compiler, 
wenn mans ihm sagt ;)

Ich messe nachher noch die Laufzeit auf einem Atmega32 aus. ROM-Bedarf 
ist 542 Bytes, davon 246 Bytes fürs Codieren, 296 fürs dekodieren.

Gruß
Johannes

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.