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