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
Randbemerkung: Turbo-Codes
Häufig eingesetzt in 3G-Drahtlossystemen (deswegen hier zumindest mal genannt)
Reichen nahe an die Shannon-Schranke heran Es gibt viele Arten von Turbo-Codes
Viele basieren auf dem Prinzip der Faltungs-Codes Keine weiteren Details an diese Stelle
(Thema einer Informations- und Codierungstheorie-Veranstaltung)
Zusammenfassung und Literatur
Elektromagnetische Wellen
Frequenzen und Regulierungen Antennen
Signale
Signalausbreitung Multiplex
Modulation
Bandspreizverfahren Codierung
Zusammenfassung
Was lernen wir als Informatiker daraus? Wir können nicht erwarten, dass die E- und Nachrichtentechniker uns Kanäle zaubern, die so gut wie die drahtgebundenen sind
Insbesondere: je größer die Mobilität (Geräte selber, aber auch die Umgebung) desto Fehleranfälliger wird der Kanal
Wir müssen auf allen darauf aufbauenden Schichten für solche Störfälle gewappnet sein
Gute Kenntnis der unteren Schichten ist auch notwendig um für das betrachtete Einsatzgebiet die richtigen Systemannahmen für höhere Schichten treffen zu können
Einflussnahme von Algorithmen auf die untersten Schichten:
Leistungseinstellung, Gerätepositionierung (vgl. demnächst angebotene Sensor-Roboter-Projekt)
Die hier vorgestellten Modelle eignen sich auch gut für die analytische Bewertung und Computer-Simulation von Protokolle die in den
Schichten darüber liegen
Literatur
[Schiller2003] Jochen Schiller, „Mobilkommunikation“, 2te überarbeitete Auflage, 2003 Kapitel 2: Drahtlose Übertragung
[Rappaport2002] Theodore Rappaport, „Wireless Communications, Principles and Practice“, Second Edition, Prentice Hall, 2002
4.2 Free Space Propagation Model 4.3 Relating Power to Electric Field
(ignorieren Sie einfach die Formeln 4.10, 4.11 und 4.12 und den Begriff „intrinsic impedance“) 4.9.1 Log-distance Path Loss Model
4.9.2 Log-normal Shadowing
[Schwartz2005] Mischa Schwartz, „Mobile Wireless Communications“, Cambride University Press, 2005 2.2 Wireless Case
[Stallings2002] William Stallings, Wireless Communications & Networks, 2nd edition, Prentice Hall, 2005
5.1 Antennas
8.2 Block Error Correction Codes (den dort auch beschriebenen Hamming-Code haben wir hier aber nicht behandelt)
8.3 Convolutional Codes
[Bronstein2008] I. N. Bronstein, K. A. Semendjajew, G. Musiol, H. Mühlig, „Taschenbuch der Mathematik“, 7. vollständig überarbeitete und ergänzte Auflage, Verlag Harri Deutsch, 2008
1.5 Komplexe Zahlen (falls Sie eine Auffrischung dieses Wissens benötigen)