Grundlagen der Technischen Informatik. Codierung und Fehlerkorrektur. Kapitel 4.2. Codewörter. Codewörter. Strukturierte Codes



Ähnliche Dokumente
Grundlagen der Technischen Informatik. Codierung und Fehlerkorrektur. Kapitel 4.2

Grundlagen der Technischen Informatik. Hamming-Codes. Kapitel 4.3

Merke: Mit jedem zusätzlichen Bit verdoppelt sich die Anzahl der darstellbaren Zahlen bzw. Zustände

Grundlagen der Technischen Informatik. 2. Übung

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 11

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Die Mathematik in der CD

Technische Informatik - Eine Einführung

Übungen zur Vorlesung Grundlagen der Rechnernetze. Zusätzliche Übungen

Einstieg in die Informatik mit Java

Themen. Sicherungsschicht. Rahmenbildung. Häufig bereitgestellte Dienste. Fehlererkennung. Stefan Szalowski Rechnernetze Sicherungsschicht

Einführung in die Informatik

Informatikgrundlagen I Grundlagen der Informatik I

Übungsblatt 5 - Musterlösung

Rechnerstrukturen. Michael Engel und Peter Marwedel. Sommer TU Dortmund, Fakultät für Informatik

Thema 1 -- Fortsetzung. Computersystem, Informationsdarstellung

Codierungstheorie Teil 1: Fehlererkennung und -behebung

Protokollgrundlagen (Schicht 2)

Clevere Algorithmen programmieren

Grundlagen Digitaler Systeme (GDS)

Skript. EDV Grundlagen

Übung zur Wirtschaftsinformatik I. Zahlensysteme / Codierung

Rechnernetze Übung 5. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai Wo sind wir?

Escape-Sequenzen. Dr. Norbert Spangler

Kapitel 2: Darstellung von Information. Inhalt. Einfache Datentypen (Fortsetzung) Erste Programme (mit Ausgabe) Exkurs: Grammatiken

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Wie werden die Barcode Prüfziffern berechnet?

Empfänger. Sender. Fehlererkennung und ggf. Fehlerkorrektur durch redundante Informationen. Längssicherung durch Paritätsbildung (Blockweise)

(Prüfungs-)Aufgaben zur Codierungstheorie

Programmieren in C Einführung

Zahlensysteme und Kodes. Prof. Metzler

Einführung in die Programmierung Wintersemester 2008/09

Übung 14: Block-Codierung

Zyklische Codes Rechnernetze Übung SS2010

Wie werden die Barcode Prüfziffern berechnet?

Fehlerdetektion. Cyclic Redanduncy Check. Grundlagen der Rechnernetze Übertragungssicherung 7

Kapitel 13: Syndromcodierung / Hamming Codes

Grundlagen der Technischen Informatik. 2. Übung

Zahlen und Zeichen (1)

Grundlagen der Informationstechnik

Gruppe. Kanalcodierung

Algorithmen und Datenstrukturen (für ET/IT)

Error detection and correction

2 Darstellung von Zahlen und Zeichen

1 Einführung 1. 1 Einführung

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Was sind primitive Datentypen? Primitive Datentypen

Codes (1) Beispiele für die Bedeutung eines n-bit-wortes:

Grundlagen der Informationstechnik

Codes (6) Fehlererkennende (EDC) bzw. fehlerkorrigierende Codes (ECC)

X = {x 1,x 2,...} sei ein Symbolalphabet eines Kodes. In diesem Kode sind card(x) = X Sachverhalte darstellbar

David Neugebauer, Informationsverarbeitung - Universität zu Köln, Seminar BIT I

Digitaltechnik Grundlagen 3. Codes

Grundlagen der Informationstechnik

Trellis Diagramme und Viterbi-Decoder

Fehlererkennung und -behandlung. Paritätsverfahren

2. Tutorium Digitaltechnik und Entwurfsverfahren

Kodierung. Kodierung von Zeichen mit dem ASCII-Code

Angewandte Informationstechnik

Codierung Fehlerdetektion

Technische Grundlagen der Informatik Test Minuten Gruppe A

Was ist Wirtschaftsinformatik?

Übungsblatt 8. Aufgabe 1 Datentransferrate und Latenz

Algorithmen und Datenstrukturen (für ET/IT)

Kanalkodierung. 6 Kanalkodierung Zielstellung. Störungen der übertragenen Daten. 6 Kanalkodierung Zielstellung WS 2018/2019

A1.1: Zur Kennzeichnung aller Bücher

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2012

Theorie der Programmiersprachen

Rechnerstrukturen WS 2012/13

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011

T c) Daten welcher Größenordnung kann ein Register aufnehmen: Byte, kilobytes, megabytes, gigabytes or terabytes?

Informationsdarstellung. 2 Informationsdarstellung. Ziele. 2 Informationsdarstellung Texte. Texte WS 2017/2018

Barcode- Referenzhandbuch

Grundlagen der Rechnernetze

Kapitel 2: Darstellung von Information Inhalt Einführung in die Informatik für Naturwissenschaftler und Ingenieure

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Grundlagen der Datenverarbeitung

Fehlererkennung. Fehlererkennung

9 Codes. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 9-1

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

Spezifikation. für die Erstellung und Übertragung einer Meldedatei zu erstattungsfähigen und gedeckten Einlagen. Version 1.0 BASIS

Algorithmen und Datenstrukturen (für ET/IT)

Signale und Logik (2)

GETE DIGITAL TECHNIK CODIERUNG BCD: BINARY CODED DIGITAL. Hr. Houska

Grundlagen der Technischen Informatik. 3. Übung

Digitale Übertragung im Basisband

Digitaltechnik Grundlagen 5. Elementare Schaltnetze

Technische Grundlagen der Informatik Test Minuten Gruppe A

3 Codierung Code-Sicherung Stellendistanz und Hamming-Distanz Codierung

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Datenstruktur. Nächste Woche keine Vorlesung!

Fehlererkennende und fehlerkorrigierende Codes

Einführung in die Kodierungstheorie

Dekohärenz und Grundprinzip der Quantenfehlerkorrektur

Zahlensysteme und ihre Anwendung

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

Transkript:

Codewörter Grundlagen der Technischen Informatik Codierung und Fehlerkorrektur Kapitel 4.2 Allgemein: Code ist Vorschrift für eindeutige Zuordnung (Codierung) Die Zuordnung muss nicht umkehrbar eindeutig sein Beispiel: Zuordnung von Zeichen verschiedener Alphabete Zeichenvorrat (Urmenge) anderer Zeichenvorrat (Bildmenge) Prof. Dr.-Ing. Jürgen Teich Lehrstuhl für Hardware-Software Software-Co-Design Grundlagen der Technischen Informatik Digitaltechnik: Abstraktion der Werte L und H durch Symbole und Grundlagen der Technischen Informatik 2 Codewörter Codewörter sind elementare Einheiten zur Darstellung von Informationen Strukturierte Codes Allgemein gilt: Codes legen fest, wie Codewörter zu interpretieren sind Beispiel: Beispiel: Strukturierter Code Anzahl Binärstellen m=8 m=5 Anzahl Wörter im (2 aus 5)-Code: m = 5 k = 2 5 5! N = = = 2 2!(5 2)! Anzahl möglicher Codewörter mit m Binärstellen: Maximale Anzahl N von m-stelligen Codewörtern: Anzahl strukturierter m-stelliger Codewörter mit k Einsen: m 2 m N 2 m m! = k k!(m k)! Folgende Codewörter sind möglich: Der (2 aus 5)-Code eignet sich mit seinen Codewörtern besonders zur Darstellung von Dezimalziffern Grundlagen der Technischen Informatik 3 Grundlagen der Technischen Informatik 4

Codes für die Analog/Digital-Umsetzung Wandlung von stetigen Signalen in zusammengesetzte Binärsignale Codes für die Analog/Digital-Umsetzung Wandlung: stetige (analoge) Signale in Binärsignale (Binärvektoren) Problem: Übergänge, bei denen sich mehr als eine Binärstelle ändert Gewicht Feder Ablesefenster Analog/Digital- Wandler Aufgabe: Festlegung einer geeigneten Zuordnung: Stetiger Wertebereich Binärer Wertebereich Beispiel: 3 Binärstellenübergänge Beim Wechsel müssen nicht alle Binärstellen gleichzeitig wechseln Dadurch: große Abweichungen für Werte der Binärsignale möglich:,,,, oder Fehlerhafte Übergänge in andere Codewörter möglich Grundlagen der Technischen Informatik 5 Grundlagen der Technischen Informatik 6 Code-Eigenschaften: Hammingdistanz Eigenschaften von/zwischen Codewörtern Definition: Hammingdistanz HD (auch Hammingabstand genannt) Seien die Codewörter CW i, CW j {, } n, Hd ij = Anzahl der Stellen, an denen sich CW i und CW j unterscheiden. Dann heißt Hd ij die Hammingdistanz von CW i und CW j. Also: Die Hammingdistanz HD zwischen zwei gleich langen Codewörtern gibt die Anzahl der unterschiedlichen Binärstellen an. Beispiele: Bestimmung HD HD = 3 HD = HD = 4 Code-Eigenschaften: Hammingdistanz Definition: Minimale Hammingdistanz HD min Sei X {, } n beliebig, und Hd min (X) = min{ Hd ij CW i, CW j X CW i CW j } Dann heißt Hd min (X) minimale Hammingdistanz von X Beispiel: Codewörter des (2 aus 5)-Codes haben folgende minimale Hammingdistanz: Hd min (2 aus 5) = 2 Die minimale Hammingdistanz ist eine entscheidende Eigenschaft eines Codes, um Übertragungsfehler erkennen und korrigieren zu können Begriff: Einschrittige Codes Codes, bei denen zwei benachbarte Codewörter immer eine Hammingdistanz von eins haben, heißen einschrittig. Grundlagen der Technischen Informatik 7 Grundlagen der Technischen Informatik 8

Spezielle Codes: Gray-Code Einschrittige Codes: besondere Rolle bei der Analog-Digital-Wandlung Beispiel: Problem der digitalisierten Waageablesung -> Änderung einer Binärstelle geschieht auf jeden Fall immer gleichzeitig -> Wandlungsfehler von höchstens in kleinster Messeinheit Wichtiger Vertreter der einschrittigen Codes: Gray-Code linear, m=4 : : 2: 3: 4: 5: 6: 7: 8: 9: zyklisch, m=3 : : 2: 3: 4: 5: 6: 7: :... Grundlagen der Technischen Informatik 9 Spezielle Codes: Gray-Code Konstruktion des Gray-Codes Geg.: Gray-Code mit m = x Binärstellen liegt vor Doppelt so langen Gray-Code mit m neu = x+ Binärstellen erzeugen: -> in umgekehrter Reihenfolge an gegebenen Code anhängen (Spiegelung an der Horizontalen) -> und zusätzliche Binärstelle anfügen (zuerst 2 x+ /2 Nullen, dann 2 x+ /2 Einsen) Grundlagen der Technischen Informatik Spezielle Codes: Austauschcodes Notwendig: Datenaustausch zwischen digitalen Systemen: -> spezielle Codes werden benötigt -> Texte aus Buchstaben, Ziffern, Satzzeichen, Sonderzeichen (characters) übertragbar ASCII-Code Verbreitung: ASCII-Code (American Standard Code for Information Interchange) kodiert mit 7 Bit 28 Zeichen: reicht für englischen Sprachraum weitgehend aus Bitgruppen werden zusammengefasst -> spezielle Bedeutung / Namen: MSB (Most Significant Bits) bezeichnen 3 höherwertigen Bits LSB (Least Significant Bits) bezeichnen 4 niederwertigen Bits Zuordnung: Zeichen <-> MSB teilen alle Zeichen in Gruppen zu je 6 Zeichen ein (lexikographische Anordnung von Zeichen + Codewörtern) Spezielle Codes: ASCII-Code Code LSB MSB Binär Steuerzeichen Großbuchstaben Kleinbuchstaben NUL DLE SP @ P ` p SOH DC! A Q a q STX DC2 2 B R b r ETX DC3 # 3 C S c s EOT DC4 $ 4 D T d t ENQ NAK % 5 E U e u ACK SYN & 6 F V f v BEL ETB 7 G W g w BS CAN ( 8 H X h x HT EM ) 9 I Y i y LF SUB * : J Z j z VT ESC + ; K [ k { FF FS, < L \ l CR GS - = M ] m } SO RS. > N ^ n ~ SI US /? O _ o DEL Grundlagen der Technischen Informatik Grundlagen der Technischen Informatik 2

Spezielle Codes: Austauschcodes Beispiel: ASCII-Codierung Buchstabe A : A = 4 H = B MSB LSB (Bitgruppen analog zu Hexadezimalsystem (später!)) Praxis: verschiedene 8, 6 und sogar 32 Bit Codes in Gebrauch -> Spezialzeichen verschiedener Sprachen darstellbar Weitere Beispiele: - verbreitester 6-Bit Austauschcode ist der UNICODE -> 65536 Zeichen darstellbar -> ASCII-Code: erste 28 Zeichen des UNICODES -> enthält Erweiterungen für viele Sprachen - 7-Segment-Code: digitale Ziffernanzeige, etc. - Punktmatrixanzeigen: Drucker, etc. - OCR-Code (Optical Character Recognition): Maschinenlesbarkeit - Blindenschrift, etc. Codes für Fehlererkennung / Fehlerkorrektur Fehlerschutz umfasst Fehlererkennung und Fehlerkorrektur Schutzwirkung wird durch Codierung realisiert Unterscheidung abhängig von Lage und Menge fehlerhaft empfangener Bits: -> Bitfehler, Burstfehler und Symbolfehler können innerhalb des übertragenen Bitstroms auftreten gesendeter Bitstrom empfangener Bitstrom Bitfehler fehlerfrei empfangenes Bit fehlerhaft empfangenes Bit Bit 3-bit- Burstfehler 5-bit- Burstfehler Symbol 4-bit- Burstfehler Fehlerschutz entweder durch Blockcodierung oder Faltungscodierung Grundlagen der Technischen Informatik 3 Grundlagen der Technischen Informatik 4 Codes für Fehlererkennung Problem in der Praxis: Störeinflüsse können bei der Übertragung oder Speicherung von binär kodierten Informationen den Wert der zur Darstellung verwendeten physikalischen Größe verfälschen Es gilt: einzelne Bitfehler ( Bit kippt ) sind erkennbar bei Codes mit minimaler Hammingdistanz HD min = 2 -> jeder denkbare einzelne Bitfehler führt zu ungültigem (d.h. unbenutztem) : Codes für Fehlererkennung / Fehlerkorrektur Es gilt: Bei Codes mit HD min = 3: -> Zweifachfehler erkennbar oder Einfachfehler korrigierbar 2-Fachfehlererkennung: -Fachfehlerkorrektur: Fehler 2 Fehler, 2 Fehler, Fehler Fehler Fehler, Fehler Korrektur Fehler Korrektur,, Grundlagen der Technischen Informatik 5 Grundlagen der Technischen Informatik 6

Codes für Fehlererkennung / Fehlerkorrektur Allgemein gilt: Geeignete Codes können Fehler erkennen und sogar korrigieren Notwendig: Hinzufügen zusätzlicher (redundanter) Informationen -> zusätzlicher Darstellungsaufwand (Kosten!) Annahme: Höchstanzahl gleichzeitig zu berücksichtigender Fehler ist fest meistens: höchstens oder 2 Bitfehler gleichzeitig (Teil-)Systematik bei Festlegung des Codes notwendig Möglichkeiten: minimale Hammingdistanz, Paritätsbits, Blocksicherungsverfahren, Hamming-Codes, etc. Paritätsbit-Prüfverfahren: Fehler bei Code-Übertragung erkennbar (ohne Beachtung Hammingdistanz) -> zusätzliches Paritätsbit anhängen: Im Binärwort enthaltene Einsen werden entweder auf gerade (even parity) oder ungerade (odd parity) Anzahl ergänzt. Die Überprüfung erfolgt beim Empfänger Fehlererkennung durch Parität Beispiel: Ergänzung des Paritätsbit Dezimal Binär gerade Parität ungerade Parität 2 3 4 5 6 7 8 9 Fehler: Grundlagen der Technischen Informatik 7 Grundlagen der Technischen Informatik 8 Fehlerkorrektur durch Blocksicherung Das Prinzip der Paritätssicherung ist zweidimensional anwendbar -> Blocksicherungsverfahren mit doppelter Quersummenergänzung Nachricht wird in Blöcke von n Codewörtern mit Paritätsbit eingeteilt zusätzlich: am Ende jedes Blocks ein weiteres einfügen, das alle Paritätsbits der Spalten enthält. Also: bei Auftreten von Einfachfehlern lassen sich Spalte und Zeile eindeutig ermitteln: -> Einfachfehler sind damit korrigierbar -> gleichzeitig sind noch weitergehende Fehlererkennungsverfahren möglich: Bündelstörung erkennbar Bündelstörung: zeitlich konzentrierte Fehler, d.h. über einen Zeitraum ist die Verbindung gestört, können erkannt bzw. behoben werden Fehlerkorrektur durch Blocksicherung Beispiel: Fehlerlokalisierung durch Blocksicherungsverfahren Ziffer Codewörter mit gerader Parität 5 4 3 9 8 Prüfwort Spalte mit Fehler (ungerade Parität) Zeile mit Fehler (ungerade Parität) Grundlagen der Technischen Informatik 9 Grundlagen der Technischen Informatik 2

Fehlererkorrektur durch Blocksicherung Also: m Informationsbits werden k Fehlerschutzbits als Redundanz angehängt und mit übertragen Damit: Vergrößerung des Datenstroms auf Länge n = m + k Beispiel für Blocksicherung: zyklische Redundanzprüfung [Cyclic Redundancy Check (CRC)] Quersumme der Zeilen Fehler gesendete Bitfolge Quersumme der Spalten Fehler empfangene Bitfolge Grundlagen der Technischen Informatik 2