Forum: Mikrocontroller und Digitale Elektronik Redundantes Übertragungsverfahren


von Christoph W. (christoph)


Lesenswert?

Hallo.

Gibt es ein Übertragungsverfahren, dass einen Bitstream 100% redundant
macht ? Das besondere Problem ist, dass das Paket auch erkannt werden
muss und eine synchronisation (welche mit dem Empfang eines starken
Bits) daher auch im Falle des Infromationsverlustes im 1. (und 2.) Bit
erfolgen soll. Das Verfahren soll auf 64 Daten-Bits etwa 2 Fehlerbits
tolerieren können. Angenommen man braucht dafür 100 Bits, so muss dsa
Verfahren in der Lage sein falsche Bits an jeder Stellenkombination
wiederherzustellen.

Vielen Dank.

von Marko B. (Gast)


Lesenswert?


von Christoph W. (christoph)


Lesenswert?

hmmm ... Hamming-code geht leider nicht. dabin ich gestern mit google
nämlich auch scho drüber gestolpert --> jedes Bit muss ausfallen
können. Und wenn im Hamming-code die Parität ausfällt, stimmts scho
nich mehr ...

von Tobias (Gast)


Lesenswert?

Wir diskutieren hier:
http://www.mikrocontroller.net/forum/read-1-393433.html ein ähnliches
Verfahren ,das mein Mitbewohner vor kurzem ausgearbeitet hatte. Ein
einfacher Ansatz ist ,das Signal jeweils n mal wiederholt zu senden.
Mit n gegen unendlich sinkt die Fehlerrate schließlich gegen null. 100%
Redundanz liefert kein Verfahren, aber für 100%-epsilon gibt es einige
,von denen Franz und ich ein für die Implementation in Mikrocontrollern
besonders geeignetes im Link dargestellt haben.
Ein Forumsuser hat bereits auf unsere Anregung hin eine passende
Schaltung entwickelt. Sie ist zwar wenig ausgereift im Vergleich zum
jetzigen Stand unseres Projektes ,aber vielleicht für dich als Anfang
interessant.

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Noch drei Begriffe zum Googlen:
http://en.wikipedia.org/wiki/Viterbi_decoder
A "viterbi decoder" uses the Viterbi algorithm for decoding a
bitstream that has been encoded using "Forward error correction"
based on a "Convolutional code".

von A.K. (Gast)


Lesenswert?

Bei den üblichen ECC-Codes für 1 Bit Korrektur 2 Bit Erkennung, zu denen
auch der Hamming-Code zählt, darf jedes einzelne übertragene Bit
ausfallen, nur eben nicht mehrere. Welches Bit ist egal, es darf auch
ein ECC-Bit dabei sein.

Analog existieren auch Codes für Korrektur mehrerer Fehler, teils mit
Schwerpunkt auf Error-Bursts. Grad bei serieller
Übertragung/Speicherung sind Bursts meist wichtiger als zig
Einzelfehler.

von unbedeutend (Gast)


Lesenswert?

"Und wenn im Hamming-code die Parität ausfällt, stimmts scho
nich mehr"

Das stimmt so nicht. Ein Hamming Code kann ein Fehler (ein Bit)
korrigieren - egal an welcher Position.

Um mehr Fehler korrigieren zu können, werden heute in der Regel
aufwendigere Kanalcodes verwendet z.B. BCH, Read-Solomon,
Faltungscodes, und Verkettungen derselben.

von A.K. (Gast)


Lesenswert?

Der Link http://de.wikipedia.org/wiki/Reed-Solomon-Code mag mehr was für
Fans mathematischer Darstellung sein, aber der weiterführende Link unten
in der Seite enthält genug Beispielcode.

von Tobias (Gast)


Lesenswert?

Bevor ihr weiter über 1 oder 2 Bit Korrektur philosophiert ,werft
einfach einen Blick auf unsere Korrelationsmethode
http://www.mikrocontroller.net/forum/read-1-393433.html

Wie ist eure Meinung dazu? Wir könnten Teilaufgaben delegieren ,um
schneller zur Produktreife zu gelangen. Es wird sich zeigen ,welche
weiteren vielfeltigen Anwendungen dem Verfahren offen stehen.

von unbedeutend (Gast)


Lesenswert?

@Tobias, zu
"Bevor ihr weiter über 1 oder 2 Bit Korrektur philosophiert ..."
Ohne jetzt Oberlehrerhaft zu wirken - aber da Du ja nach unserer
Meinung fragst:
Die Kanalcodierung mit den genannten Codes (und den aufgeführten Links)
ist heute Stand der Technik und theoretisch/mathematisch verstanden. Die
aktuellen Forschungen auf diesem Gebiet versuchen hier bis an das
theoretische Limit zu gelangen (Stichwort Kanalkapazität), und dabei
noch implementierbare Lösungen zu finden.
Zu der "Korrelationsmethode":
Ohne jetzt alle Beiträge zu lesen, sind auch diese Verfahren (teilweise
seit ca. 50 Jahren) vollständig verstanden und Bestandteil jedes
besseren Buch der Nachrichtentechnik. Die letztliche Herausforderung
hier ist wohl das ganze in einem kleinen uC mit minimalistischer
Hardware zu realisieren -> viel Erfolg dabei.

von Wolfgang Horn (Gast)


Lesenswert?

Hi, Christoph,

Du: "Gibt es ein Übertragungsverfahren, dass einen Bitstream 100%
redundant macht ? "

Ja, mehrere. Viele.
Natürlich mit unterschiedlichen Eigenschaften wie beispielsweise
Bandbreiteneffizienz, Prozeßgewinn, Fehlersicherheit und Aufwand.

Hätte ich eine Aufgabe mit einem AVR zu lösen, würde ich erst mal eine
Blockkodierung betrachten, die auch Mehrfachfehler auflösen kann.
Die erhältlichen Chips für Trellisdecodierung nötigen mit erheblichen
Respekt ab, und ein Kollege berichtete voller Stolz von seinem
Glanzstück, einer Trellis-Dekodierung in MatLab für die Übertragung in
DSP-Code meine Diplomarbeit habe ich in der halben Zeit gemacht.

Ciao
Wolfgang Horn

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.