Hallo, gibt es eine Möglichkeit, die FEC "Anschaulich" zu erklären? Also ohne das gesamte griechischen Alphabet, merkwürdige "Ringkörper" und "Generator-Polynome"? Gibt es nicht ein Modell, welches Nicht-Mathematikern, die auf dem Level der einfache Kurvendiskussion stehengeblieben sind, ungefähr verdeutlichen kann, was da im wesentlichen passiert? Ich denke da an so einfache Modelle wie z.B. bei der Triangulation. Wenn man das mal aufmalt oder sich bildlich vorstellt, wird einem schnell klar, warum man durch Laufzeitunterschiede eine Position im Raum bestimmen kann. Auch wenn man sowohl mathematisch als auch informatisch natürlich noch Meilenweit davon entfernt ist, so etwas zu implementieren. Ich habe schon eine Menge über FEC gelesen und eigentlich nur zwei Arten von Erklärungen gefunden: Der eine Teil der Erklärungen geht kaum über die Wirkungsweise von FEC hinaus. Der andere Teil geht sofort dermaßen ins mathematische Detail, dass einem der Kopf raucht. Vielen Dank!
Ganz einfache Erklärung: Man hat eine Anzahl von möglichen Datenblöcken, z.B. 8 Bit lange Textzeichen. Um Fehler bei der Übertragung dieser Daten erkennen und korrigieren zu können, ordnet man jedem Zeichen einen 50 Bit langen Codeblock zu, den man z.B. zufällig (!) wählt. Für jedes zu übertragende Zeichen sendet man den zugeordneten Codeblock. Bei der Übertragung werden ein paar Bit verfälscht, und die Codeblöcke kommen am Empfänger fehlerhaft an. Der Sender muss nun herausfinden, welches Zeichen wohl gemeint war. Dazu geht er einfach alle möglichen Zeichen durch, und schaut welches am besten mit dem empfangenen Block übereinstimmt. Das ist das Grundprinzip der blockbasierten FEC. Der einzige Grund warum die Algorithmen so kompliziert werden ist, dass es in der Praxis bei mehreren tausend Bit langen Blöcken völlig unmöglich ist, alle möglichen Codeblöcke vorab in Sender und Empfänger zu speichern, und man deshalb "Tricks" braucht um das zu vermeiden. Hilft das weiter? Oder wo genau hakt es?
Hi, danke für Deine Hilfe...mir ging es - wenn ich mich selbst richtig verstanden habe ;) - um Reed Solomon. Da war doch irgendetwas mit aufeinanderfolgenden Nullstellen und 50 Bit Overhead pro Byte ist ganz schön viel. Was Du da erklärt hast, verstehe ich ja auf Anhieb, aber ich wollte eher wissen, ob man es sich irgendwie mit Kurven und Nullstellen bildlich vorstellen kann, wie bei n Bit pro Block genau r Bit Redundanz anhängt werden und dann bis zu x fehlerhafte Bit erkannt und korrigiert werden. Dabei sollte n deutlich größer sein als r und x natürlich möglichst groß sein. Und da dachte ich mir, dass es dort mathematische Tricks gibt, um durch Einfügen bestimmter Redundanz-Informationen auf mathematischem Wege die Störung "herauszurechen", und zwar weitestgehend unabhängig davon, an welcher Stelle im Block die Störung auftritt. In verschiedenen Skripten wird dann eiffrig von Stützstellen und Lagrange-Interpolation geredet, aber davon verstehe dann immer sogut wie nichts.
Schräger Lukas wrote: > danke für Deine Hilfe...mir ging es - wenn ich mich selbst > richtig verstanden habe ;) - um Reed Solomon. Da war doch > irgendetwas mit aufeinanderfolgenden Nullstellen und 50 Bit > Overhead pro Byte ist ganz schön viel. Das war doch nur ein Beispiel. Die wichtigste Erkenntnis bei der ganzen Sache ist, dass es im Prinzip immer das gleiche ist, egal ob 50, 8, 10 oder n+r: man versucht den Block zu finden, aus dem der empfangene Block mit größter Wahrscheinlichkeit hervorgegangen ist.
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.