Ein (7,4)-Code-Beispiel
William Stallings, Wireless Communications & Networks, 2nd edition, Prentice Hall, 2005
Generator-Polynom: P(X) = X3 + X2 + 1
Bemerkung:
• Es ist 7 = 2^3-1, also nach voriger Überlegung sind alle 1-Bit-Fehler korrigierbar
• Beachte auch dmin der Codewörter ist 3, also in der Tat alle 1-Bit-Fehler korrigierbar
Wie implementiert man eigentlich die Polynom-Division?
Beispiel: Block-Syndrom Generator für Xn-k + An-k-1 xn-k-1 + ... + A2 X2 + A1 X + 1
Mittels Linear-Feedback-Shift-Register (LFSR)
William Stallings, Wireless Communications & Networks, 2nd edition, Prentice Hall, 2005
Konkrete CRC-Beispiele
Bose-Chaudhuri-Hocquenhem (BCH)
Hier keine genauen Details wie diese konstruiert werden
Nur generell: es können für gegebene m und t geeignete binäre (n,k)-BCH-Codes mit folgenden Parametern konstruiert werden
Blocklänge: n = 2m– 1
Anzahl Check-Bits: n – k <= m * t
Minimale Distanz der Codewörter: dmin >= 2t + 1
Code kann dann alle Kombinationen von t oder weniger fehlerhaften Bits korigieren
Beispiele von BCH-Generator-Polynomen
Reed-Solomon-Codes (RS) sind eine BCH-Subklasse (hier sei nur der Code-Name genannt; keine weiteren Details)
William Stallings, Wireless Communications & Networks, 2nd edition, Prentice Hall, 2005
Übersicht
Elektromagnetische Wellen
Frequenzen und Regulierungen Antennen
Signale
Signalausbreitung Multiplex
Modulation
Bandspreizverfahren
Codierung Rauschen und Übertragungsfehler
Fehlerdetektion
Block-Codes
Faltungs-Codes
Faltungscodes
Idee von (n,k,K)-Faltungs-Codes
Teile zu übertragenden Bitstrom in (sehr kleine) k-Bit-Blöcke
Überführe jeden k-Bit-Block in n-Bit-Block
n-Bit-Block ist der k-Bit-Block mit zusätzlicher Redundanz
Die letzten K-1 zu übertragenden k-Bit-Blöcke fließen in die Redundanzberechnung des aktuellen n-Bit-Blockes ein
Korrigiere empfangene k-Bit-Blöcke im empfangenen Bitstrom direkt
„modulo einer kleinen Fenstergröße“
Die Idee an einem konkreten Beispiel: Viterbi-Algorithmus
b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12
z.B. K=4
c1 c2 c3 c4 c5
…
…
Beispiel eines (2,1,3)-Encoders
William Stallings, Wireless Communications & Networks, 2nd edition, Prentice Hall, 2005
• Übertrage die Output- Bits
• Empfänger muss
hierzu die Eingabe-Bits rekonstruieren
Decodierung: Vorüberlegung
Trellis-Diagramm: Skizze an der Tafel
Output-Bits des Senders beschreiben einen Pfad im Trellis;
Beispiel
William Stallings, Wireless Communications & Networks, 2nd edition, Prentice Hall, 2005
Zu senden: 1 1 0 1 0 0 0 Erzeugt: 11|01|01|00|10|11|00
Decoding: zunächst ohne Fehler
William Stallings, Wireless Communications & Networks, 2nd edition, Prentice Hall, 2005
Gesendet: 11|01|01|00|10|11|00 Empfangen: 11|01|01|00|10|11|00 also: 1 1 0 1 0 0 0
Decoding: jetzt mit einem Fehler
William Stallings, Wireless Communications & Networks, 2nd edition, Prentice Hall, 2005
Gesendet: 11|01|01|00|10|11|00 Empfangen: 11|01|01|01|10|11|00 also: 1 1 0 ?
Viterbi-Algorithmus
Prinzipielle Idee: finde den Pfad im Trellis, der von der empfangenen Bit- Folge am wenigsten abweicht
Distanzmetrik erlaubt verschiedene Varianten
Wir betrachten hier die Hamming-Distanz
Algorithmus für eine Fenstergröße b
Schritt 0: markiere Trellis- Startzustand mit 0
Schritt i: finde für jeden Trellis-Zustand den/die Pfad/e der/die folgende Gleichung minimiert/minimieren
Gewicht des Vorgängerzustands + Hamming-Distanz zwischen der letzten Kante und der empfangenen Kantenbeschriftung
Schritt b: wenn alle so gefundenen Pfade eine erste gemeinsame Kante haben, dann ist die Eingabe für diese Kante das Ergebnis; sonst nicht korrigierbarer Fehler
Ein Beispiel!!!! …
Ein Beispiel für Fenstergröße 7
William Stallings, Wireless Communications & Networks, 2nd edition, Prentice Hall, 2005
10 01 01 00 10 11 00