Forum: Mikrocontroller und Digitale Elektronik Übrige Bits zur Fehlererkennung verwenden?


von Stefan (Gast)


Lesenswert?

Hallo,

ich habe über eine Funkstrecke 10 Bits zu übertragen; da die Funkmodule 
(RFM12) byteorientiert arbeiten habe ich also 6 Bits übrig, die ich zur 
Fehlererkennung- /korrektur verwenden möchte. Was macht nun mehr Sinn, 
eine Art Hash oder CRC in den 6 Bits zu verpacken, so dass ich einen 
Fehler gut erkennen kann, oder eher sowas wie Hamming?

Gruß
Stefan
von Purzel H. (hacky)


Lesenswert?

Mach ein richtiges Protokoll drum. Denn welches der beiden gesendeten 
Bytes ist das Erste ?
Und was geschieht wenn fehlerhafterweise etwas empfangen wird ? Daraus 
ergibt sich die noetige Absicherung.
von Stefan (Gast)


Lesenswert?

Davor werden die beiden Syncbytes gesendet, damit das RFM12 "aufmerkt".
Naja, wenn fehlerhaft etwas empfangen wird will ich wissen dass es 
falsch ist und wenn möglich korrigieren. Wenn alle Stricke reißen muß 
das Kommando neu gesendet werden, dass passiert aber einen Layer weiter 
oben.
von Uwe (Gast)


Lesenswert?

Guck mal Reed-Solomon-Code
von Stefan K. (stkl)


Lesenswert?

Ein- oder besser mehrdimensionale Paritäten prüfen oder Blockcodes 
verwenden (Stichwort Gallager-Codes)... Kommt halt auch etwas auf das 
Sicherheitsbedürfnis an.

Wenn du sowieso 2 Byte schicken musst, teile deine Daten auf, z.B. in 
7bit + Parität und 3bit + Parität + Gesamtparität + irgendwas...

Keine Ahnung, ob soeetwas praitisch irgenbdwo gemacht wird, aber Längs- 
und Querparität jeweils gerade und ungerade mitsenden kostet 4bit, ist 
einfach und ermöglicht auch die Erkennung von Fehlern in Wort und 
Parität.

Ein simpler Hash wie z.B. Anzahl der 1en in 4bit zu packen und eine 
Parität hintendran wäre auch denkbar.

Was soll denn in den 10bit codiert werden? Wenn es nicht gerade Zahlen 
sind, ist es eventuell sinnvoller, einen anderen Code zu verwenden, z.B. 
mit konstanter Parität, konstanter Distanz, Fano-Code, etc.

Stefan
von Stefan (Gast)


Lesenswert?

Es handelt sich um ein einfaches Kommandoprotokoll, mit den Befehlen 
sollen beim Empfänger Aktionen ausgelöst werden. 3 Bit Kommando, 3 Bit 
Empfänger-ID, 4 Bit Daten. Reed Solomon Codes habe ich gerade etwas 
reingelesen; selbige sind ja auf Burstfehler optimiert, d.h. es 
funktioniert besonders gut wenn benachbarte Bits kaputt sind (Kratzer 
etc.). Wie's bei Funk aussieht (Kratzer gibt's da eher nicht) weiß ich 
nicht, im Zusammenhang mit Funk habe ich noch nichts von Reed Solomon 
gelesen...
von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Stefan schrieb:
> Es handelt sich um ein einfaches Kommandoprotokoll, mit den Befehlen
> sollen beim Empfänger Aktionen ausgelöst werden. 3 Bit Kommando, 3 Bit
> Empfänger-ID, 4 Bit Daten.

CRC und Mehrfachsendung sollte eigentlich reichen.
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.