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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.