Was ist Blockcodierung?
Die Blockcodierung ist eine Form der Vorwärtsfehlerkorrektur (Forward Error Correction, FEC), die Nachrichten in bestimmte Codes umwandelt und die Informationen als Datenblock mit einer vorgegebenen Länge sendet. Größere Datenblöcke erleichtern dem empfangenden Computer das Dekodieren der Informationen und das Korrigieren von Fehlern, die während der Übertragung auftreten. Blockcodes und Faltungscodes sind zwei in der FEC häufig verwendete Codetypen. Diese Codetypen ermöglichen es, dass eine Nachricht über eine unzuverlässige Verbindung gesendet wird und beim Eintreffen immer noch entschlüsselt werden kann.
Die Verwendung der Blockcodierung ist aufgrund von Rauschen erforderlich, das beim Senden einer Nachricht auftritt. Wenn Daten eine lange Strecke oder eine unzuverlässige Verbindung zurücklegen müssen, werden das Hamming-Gewicht und die Entfernung verwendet, um die Fehlerwahrscheinlichkeit zu bestimmen. Hamming Weight ist die Anzahl der Stellen, die erforderlich sind, um alle möglichen Codekombinationen auszudrücken, und die Hamming Distance gibt an, wie viele Fehler auftreten müssten, bevor ein Bit eine legitime, aber falsche Information darstellt.
Wenn beispielsweise ein Absender, der Blockcodierung verwendet, eine Nachricht senden möchte, die nur drei mögliche Codes verwenden kann, die jeweils drei Stellen lang sind, beträgt das Hamming-Gewicht drei. Die Codes könnten 000, 010 und 011 sein. Wenn ein Fehler dazu führte, dass sich eine Ziffer änderte, beispielsweise 000 in 010, würde der Code als legitimer Code gelesen (010), nicht jedoch der vom Absender beabsichtigte Code (000). . Der Hamming-Abstand für diesen Code ist daher eins, da nur eine Ziffer geändert werden muss, um einen Fehler zu verursachen, den der Computer nicht beheben kann.
Um die Hamming-Distanz zu verringern und Fehler zu reduzieren, werden Daten als Codeblock gesendet, der in bestimmte Codewörter einer bestimmten Länge codiert wird. Die ursprünglichen Nachrichtendatenbits werden als k Bits bezeichnet. Die k Bits werden in entsprechende n Bits übersetzt, die Codes sind, die ausgewählt wurden, um als längere Codes für jedes k Bit zu stehen. Es werden Einsen oder Nullen hinzugefügt, um die Länge der Bits zu vereinheitlichen und die Hamming-Distanz zu verringern. Dann werden diese Blöcke von n Bits an den empfangenden Computer übertragen.
Am einfachsten ist es, über Blockcodierung nachzudenken, wenn man sie mit zwei Personen vergleicht, die sich unterhalten. Wenn Sie in einem lauten Raum sprechen oder über große Entfernungen schreien, kann die empfangende Person mehr Fehler hören. Wenn der Satz lang ist, kann die Person mehr Fehler korrigieren, indem sie den gesamten Satz im Kontext betrachtet. Kurze Sätze weisen jedoch eine höhere Fehlerrate auf, da es schwieriger ist, zu entziffern, was die Person sagt.
Wenn zum Beispiel eine Person "Rote Katze" ruft und die andere Person "Fed-Katze" hört, unterbrechen sie den Satz falsch. Wenn jedoch die erste Person sagte: "Ich habe eine rot gefärbte Katze" und die zweite Person hörte: "Ich habe eine gefütterte farbige Katze", macht es der Kontext des Satzes leicht, die Person zu bestimmen, die tatsächlich "rot" und "rot" sagte nicht "gefüttert". Dies ist das Grundprinzip der Blockcodierung und die Verwendung längerer, einheitlicher Codes, um Computern zu helfen, einen Informationsblock genau zu übersetzen.