3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code...

40
3 Codierung von Nachrichten Folie 1 Grundlagen Technischer Informatik 1 Version WS07/08 3. Codierung von Nachrichten 3.1 Information und Nachricht Information und Nachricht sind grundlegende Begriffe in der Informatik. Trotz ihrer alltäglichen Verwendung, wie z.B. sich Informationen verschaffen, Nachrichten hören, den Nachbarn verständigen, Informationen und Meinungen austauschen, ein Telegramm verschicken, Informationsgesellschaft, Informationszeitalter, sind Information und Nachricht schwierige Begriffe, für die es unterschiedliche Definitionen gibt und die je nach Anwendung in unterschiedlicher Bedeutung benutzt werden. Definition 3-1 Informationen sind Interpretationen von Nachrichten. Eine Nachricht versenden bedeutet den Transport von Informationen.

Transcript of 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code...

Page 1: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 1

Grundlagen Technischer Informatik 1 Version WS07/08

3. Codierung von Nachrichten 3.1 Information und Nachricht Information und Nachricht sind grundlegende Begriffe in der Informatik. Trotz ihrer alltäglichen Verwendung, wie z.B.

• sich Informationen verschaffen,

• Nachrichten hören,

• den Nachbarn verständigen,

• Informationen und Meinungen austauschen,

• ein Telegramm verschicken,

• Informationsgesellschaft,

• Informationszeitalter,

sind Information und Nachricht schwierige Begriffe, für die es unterschiedliche Definitionen gibt und die je nach Anwendung in unterschiedlicher Bedeutung benutzt werden.

Definition 3-1

Informationen sind Interpretationen von Nachrichten. Eine Nachricht versenden bedeutet den Transport von Informationen.

Page 2: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 2

Grundlagen Technischer Informatik 1 Version WS07/08

3.2 Nachrichten Allgemein formuliert sind Nachrichten Worte, bestehend aus Elementen (Zeichen, Buchstaben oder Ziffern genannt) einer vereinbarten, endlichen Menge. Eine solche Menge von Zeichen nennt man Alphabet.

Alphabet: endliche Menge von Zeichen

A = {a1,...,an}; Abin = {0,1}; Binärziffern Adez = {0,1,…,9}; Dezimalziffern Amorse = {⋅,- }; Zeichen des Morsealphabets ohne

Zwischenraum Aa-num = {A,...,Z,0,…,9,Sonderzeichen}; alphanumerisches

Alphabet

Worte: Folge verketteter, nicht notwendig verschiedener Zeichen.

A = Menge der Worte der Länge n über A, n ∈ IN A* = Menge aller Worte über A Ein Wort a ∈ A* der Länge n, n ∈ IN, schreibt man auch als a = a1a2...an. ai ∈ A bezeichnet das i-te Zeichen des Wortes a mit 1 < i < n.

In der Nachrichtenübertragung wird ein Signal aus einer Nachrichtenquelle mittels eines Senders über einen Kommunikationskanal geschickt und dann von einem Empfänger zur Nachrichtensenke geleitet (Allgemeines Kommunikationsmodell von Shannon und Weaver). Das Modell kann auf einen Großteil der Kommunikationsformen in der Nachrichtenübertragung angewendet werden.

Page 3: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 3

Grundlagen Technischer Informatik 1 Version WS07/08

Beispiel: Verbale Kommunikation

• Gehirn ⇔ Informationsquelle

• Sprachsystem (erzeugt Schalldruck = codiertes Signal) ⇔ Transmitter (Sender)

• Luft ⇔ Kanal

• Ohr mit Nervenbahnen ⇔ Empfänger

• Gehirn des Kommunikationspartners ⇔ Informationssenke

Die folgende Abbildung verdeutlich das zuvor beschriebene Kommunikationsmodell.

Nachrichten- quelle

Sender Kanal Empfänger Nachrichten- senke

Signal-erzeugung Codierung

Störung Decodierung

Signal- verarbeitung

Quellencodierung Kanalcodierung Verarbeitungscodierung

Page 4: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 4

Grundlagen Technischer Informatik 1 Version WS07/08

3.3 Einführung in die Codierung

• Die Zuordnung muss nicht eindeutig umkehrbar sein;

• Zusammengesetzte Zeichen werden als Codewörter bezeichnet.

• Codierungsregeln legen fest, wie die Zielmenge bei bekannten Ausgangsmenge gebildet wird.

Die Codierung dient:

• dem zweckmäßigen und einfachen Übertragen und Verarbeiten von Informationen,

• zur Darstellung der Informationen mit einer möglichst geringen Anzahl von Zeichen,

• dem Erzielen einer gesicherten Datenübertragung.

Codes werden grundsätzlich in zwei Gruppen unterteilt:

• nicht-redundante Codes • redundante Codes

Definition 3-2: Code

Ein Code ist eine Vorschrift zur eindeutigen Zuordnung der Zeichen einer Menge A (Ausgangsmenge) zu denjenigen Zeichen einer Menge B (Zielmenge).

Page 5: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 5

Grundlagen Technischer Informatik 1 Version WS07/08

In der Datenverarbeitung wird dies dadurch erreicht, dass mehr Binärstellen verwendet werden, als zur Darstellung aller Elemente der Ausgangsmenge nötig wären.

D.h. in einem redundanten Code existieren Codeworte, die nicht benutzt werden. Durch diese Redundanz ist es möglich, Fehler zu erkennen oder sogar zu korrigieren.

Nicht-redundante Codes nutzen den zugrunde liegenden Zahlenbereich maximal aus.

Definition 3-3: Redundanz

Redundanz bezeichnet überflüssige Elemente in einer Nachricht, die keine zusätzliche Information liefern, sondern nur die beabsichtigte Grundinformation unterstützen.

Page 6: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 6

Grundlagen Technischer Informatik 1 Version WS07/08

Codes

nicht redundante Codes

redundante Codes

Zeichencodes Zahlencodes fehlererkennende Codes fehlerkorrigierende

Codes

ASCII-Code

Gray-Code 2-aus-5-Codes

Hamming-Code

Fernschreibe-

Code Aiken-Code

gerade/ungerade ergänzte Codes

Gruppen-Code

Morse-Code

BCD-Code

Abbildung 3.1: Überblick über verschiedene Codes

Page 7: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 7

Grundlagen Technischer Informatik 1 Version WS07/08

3.4 Zahlencodes Numerische Zeichen (Zahlen) müssen nicht unbedingt durch die Stellenschreibweise des Dualsystems (Polyadisches Zahlensystem) dargestellt werden. In der Digitaltechnik ist es oftmals günstiger, Dezimalzahlen Ziffer für Ziffer zu codieren und diese verschlüsselten Dezimalzahlen zu verarbeiten.

Von den Zahlencodes sind die Tetradischen Codes die am häufigsten verwendeten Codes:

• Codierung eines beliebigen numerischen Zeichens (einer Ziffer) stets durch 4 bit;

• Anwendung vorrangig zur Darstellung dezimaler Ziffern;

• Vier Bit zur Darstellung der Dezimalziffern werden als Tetrade bezeichnet;

• 4 Bit ermöglichen 24 =16 Binärkombinationen;

• Darstellung der Dezimalzahlen 0-9 durch 10 Tetraden; die nicht benötigten sechs Tetraden werden Pseudotetraden genannt;

• Darstellung einer mehrstelligen Dezimalzahl eine Tetrade pro Dezimalstelle;

Page 8: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 8

Grundlagen Technischer Informatik 1 Version WS07/08

Die wichtigsten Tetradischen Codes sind im Folgenden zum besseren Vergleich in einer Tabelle dargestellt. In der zweiten Zeile sind jeweils die Stellenwerte angegeben.

Hex.

Dual BCD Aiken 3-Exzess

Gray

8 4 2 1 8 4 2 1 2 4 2 1 keine keine

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Pseudo- 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 0 0 0 1 tetraden 1 0 0 0 1 2 2 0 0 1 0 2 0 0 1 0 2 0 0 1 0 3 0 0 1 0 3 3 0 0 1 1 3 0 0 1 1 3 0 0 1 1 0 0 0 1 1 2 0 0 1 1 4 4 0 1 0 0 4 0 1 0 0 4 0 1 0 0 1 0 1 0 0 7 0 1 0 0 5 5 0 1 0 1 5 0 1 0 1 2 0 1 0 1 6 0 1 0 1 6 6 0 1 1 0 6 0 1 1 0 3 0 1 1 0 4 0 1 1 0 7 7 0 1 1 1 7 0 1 1 1 Pseudo- 4 0 1 1 1 5 0 1 1 1 Symme- 8 8 1 0 0 0 8 1 0 0 0 tetraden 5 1 0 0 0 trielinie 9 9 1 0 0 1 9 1 0 0 1 6 1 0 0 1 Pseudo- A 10 1 0 1 0 7 1 0 1 0 tetraden B 11 1 0 1 1 5 1 0 1 1 8 1 0 1 1 C 12 1 1 0 0 Pseudo- 6 1 1 0 0 9 1 1 0 0 8 1 1 0 0 D 13 1 1 0 1 tetraden 7 1 1 0 1 9 1 1 0 1 E 14 1 1 1 0 8 1 1 1 0 Pseudo- Pseudo F 15 1 1 1 1 9 1 1 1 1 tetraden tetraden

Tabelle 3.1: Tetradische Codes

Page 9: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 9

Grundlagen Technischer Informatik 1 Version WS07/08

Die Codes sind hinsichtlich ihrer Eignung für diverse Anwendungen auf die folgenden Merkmale hin zu überprüfen. Je mehr Merkmale auf einen Code zutreffen, desto vielseitig anwendbar wird er.

• Bewertbarkeit:

• Komplementierbarkeit:

• Konvertierbarkeit:

• Symmetrie:

• Additionsregeln, Übertragsbildung:

Page 10: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 10

Grundlagen Technischer Informatik 1 Version WS07/08

Die Addition läuft bei allen Zahlencodes nach dem selben Grundprinzip ab (vgl. Abbildung 3.):

Abbildung 3.2:Addition bei Zahlencodes (nach DIN 66001)

Beginn

in Tetraden zerlegen &

niedrigstwertige auswählen

duale Addition

Überprüfung &

Korrektur

tetraden-weise

Additionbis alle addiert

tetraden- weise

Addition

Ender- gebnis als Tetraden

Übertrag

aktuelleTetraden

Summan-den

nächst höhere Tetrade

auswählen

Fertig

Page 11: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 11

Grundlagen Technischer Informatik 1 Version WS07/08

3.4.1 BCD-Code (Binary Coded Decimal Code)

Der BCD-Code ist so aufgebaut, dass jede Dezimalziffer 0-9 einfach als Dualzahl geschrieben wird. Die Stellenwerte der Tetraden entsprechen demzufolge genau denen des Dual-systems, nämlich (von links nach rechts gelesen): 23=8, 22=4, 21=2, 20=1. Aufgrund dieser Stellenwertigkeit wird der BCD-Code auch 8-4-2-1-Code genannt.

Beispiel: Die vierstelligen Dezimalzahl 1968 lautet im BCD-Code folgendermaßen:

1 9 6 8 0001 1001 0110 1000

Eine Komplementbildung ist ohne weiteres nicht möglich.

Die Verfeinerung des Prozesses "Überprüfung & Korrektur" sieht für den BCD-Code wie folgt aus:

Summe=PT?

Übertrag

+0II0 keine Korrektur

ja nein

ja

nein

Abbildung 3.3: Verfeinerung des Prozesses "Überprüfung & Korrektur" für den BCD-Code

Page 12: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 12

Grundlagen Technischer Informatik 1 Version WS07/08

Tritt bei der dualen Addition ein Übertrag in die nächst höhere Tetrade auf oder entspricht das Additionsergebnis einer Pseudotetrade (PT), so muss eine Korrekturaddition (+610 bzw. + 01102) durchgeführt werden.

Beispiel: Addition im BCD-Code

28936 + 48283 Übertrag

00100100

10001000

10010010

0011 1000

01100011

1. Summation: Pseudotetrade:

Tetraden-Übertrag: Korrektur: Übertrag

2. Summation: = 77219

Page 13: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 13

Grundlagen Technischer Informatik 1 Version WS07/08

3.4.2 Aiken-Code

Beim Aiken-Code handelt es sich um einen symmetrischen Code. Ungerade Dezimalziffern sind genauso wie beim BCD-Code durch eine 1 in der niedrigstwertigen Binärstelle gekenn-zeichnet. Die Binärstellen des Aiken-Code haben (von links nach rechts gelesen) die Stellenwerte 2, 4, 2, 1. Deshalb wird der Aiken-Code auch 2-4-2-1-Code genannt.

Aufgrund der symmetrischen Struktur dieses Codes kann das Komplement einfach durch bitweise Invertierung eines Code-wortes gebildet werden.

Die Verfeinerung des Prozesses "Überprüfung & Korrektur" sieht wie folgt aus:

Summe=PT?

Übertrag

+0II0-0II0 keine Korrektur

ja nein

ja nein

Abbildung 3.4: Verfeinerung des Prozesses "Überprüfung & Korrektur" für den Aiken-Code

Page 14: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 14

Grundlagen Technischer Informatik 1 Version WS07/08

Hierbei wird überprüft, ob das Ergebnis der dualen Addition einer Pseudotetrade (PT) entspricht. Ist dies der Fall, so muss überprüft werden, ob ein Übertrag vorlag. Falls ein Übertrag entstanden ist, wird die Zahl 01102 (610) subtrahiert, ansonsten wird diese Zahl addiert.

Falls ein Übertrag in die nächst höhere Tetrade entsteht, wird dieser auf jeden Fall bei der dualen Addition der nächst höheren Tetrade berücksichtigt.

Beispiel: Addition im Aiken-Code

28936 + 48283 Übertrag

00100100

11101110

11110010

0011 1110

11000011

1. Summation: Pseudotetrade:

Tetraden-Übertrag: Korrektur: Übertrag

2. Summation: = 77219

Page 15: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 15

Grundlagen Technischer Informatik 1 Version WS07/08

3.4.3 3-Exzess-Code

Der 3-Exzess-Code entsteht aus der Addition der Zahl 00112 zu den Worten des BCD-Codes. Hierbei handelt es sich ebenfalls um einen symmetrischen Code, der jedoch im Gegensatz zum BCD- oder Aiken-Code keine Stellenwertigkeit aufweist.

Das Komplement kann einfach durch bitweise Invertierung eines Codewortes gebildet werden.

Bei der Addition zweier Dezimalzahlen im 3-Exzess-Code, muss nicht geprüft werden, ob eine Pseudotetrade erzeugt wurde. Lediglich das Auftreten eines Übertrages muss kontrolliert werden (vgl. folgende Abb.). Der gegebenenfalls entstandene Übertrag wird auf jeden Fall bei der dualen Addition der nächst höheren Tetrade berücksichtigt.

Übertrag

-00II+00II

ja nein

Abbildung 3.5: Verfeinerung des Prozesses "Überprüfung

& Korrektur" für den 3-Exzess-Code

Beispiel: Addition im 3-Exzess-Code

28936 + 48283 Übertrag

01010111

10111011

11000101

0110 1011

10010110

1. Summation: Tetraden-Übertrag:

Korrektur: Übertrag

2. Summation: = 77219

Page 16: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 16

Grundlagen Technischer Informatik 1 Version WS07/08

3.4.4 Gray-Code

Der Gray-Code findet weniger Einsatz in arithmetischen Operationen, sondern wird hauptsächlich für die Analog-Dital-Umsetzung benutzt. Der Gray-Code ist ein einschrittiger Code, d.h. beim Übergang von einem Codewort auf das nächst-folgende ändert sich stets nur ein einziges Bit (Binärstelle). Daher können während der Übergänge keine Zwischenwerte auftreten.

Der von E. Gray entwickelte Code wurde von Glixon so geändert, dass bei einem Übergang von dezimal 9 nach 0 sich ebenfalls nur eine Binärstelle ändert, und der Code damit zyklisch wird.

Dezimalzahl ursprünglicher Gray-Code

zyklischer Code nach

Glixon 0 0000 0000 1 0001 0001 2 0011 0011 3 0010 0010 4 0110 0110 5 0111 0111 6 0101 0101 7 0100 0100 8 1100 1100 9 1101 1000

Page 17: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 17

Grundlagen Technischer Informatik 1 Version WS07/08

Abbildung 3.6: Winkelscheibe mit Glixon-Code

0

1

0

2

3

45

6

7

8

9

Page 18: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Folie 18

Grundlagen Technischer Informatik 1 Version WS07/08

Zusammenfassung

Merkmal BCD Code Aiken Code 3-Exzess Code Gray-Code

Bewertbarkeit gut, da die Codes Stellenwerte aufweisen

schlecht, da die Codes keine Stellenwerte aufweisen

Komplementbildung, d.h. Subtraktion

schwierig, da eine

Umrechnung notwendig

ist

einfache Umrechnung durch Vertauschen von 1en und 0en in

jeder Stelle, da symmetrische Codes

findet hier keine Anwendung

Konvertierbarkeit direkt identisch

Fallunterschei-dung nötig => ggf. Korrekturaddition

einfach immer 00112

subtrahieren

aufwendig

Symmetrie nicht vorhanden

vorhanden nicht vorhanden

Addition schwierig, da das Auftreten von sechs unterschiedlichen

Pseudo-Tetraden erkannt werden muss

einfach, da die Korrektur nur vom Übertrag abhängt

schwierig, Code wird jedoch i.d.R. nicht für Arithmetik

genutzt

Page 19: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 19

Grundlagen Technischer Informatik 1 Version WS07/08

3.5 Zeichencodes Die Aufgabe alphanumerischer Codes ist die Darstellung und Übertragung von Buchstaben und Ziffern. Hierzu werden in der Praxis auch Zeichen mit besonderer Bedeutung, also Sonderzeichen, gezählt.

Der Symbolumfang beträgt daher üblicherweise mindestens:

26 Buchstaben 15 Satzzeichen 10 Sonstige ⎯⎯⎯⎯⎯⎯ 51 Symbole

Hieraus ergibt sich eine erforderliche Wortlänge von mindestens ld [51] ≈ 5,6 => 6 Bit.

Page 20: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 20

Grundlagen Technischer Informatik 1 Version WS07/08

Aus den unterschiedlichen Anforderungen und Möglichkeiten der Datenübertragung in Netzen der Telekommunikation wurden mehrere internationale Normen entwickelt. Je nach historischem Stand der Technik und vorrangiger Aufgabe entstanden Codes von verschiedenem Umfang:

Bezeichnung des Codes Wortlänge

• Fernschreibcode CCITT Nr. 2 (5 Spurlochstreifencode, 1932) 26 Buchstaben bzw. Zahlen&Sonderzeichen + 2 Umschalten + Zwischenraum + Lochstreifentransport

5 bit

• CCITT Nr. 5 ISO-7-Bit-Code 128 Zeichen (US)ASCII (American Standard Code for Information Interchange)

7 bit

• EBCDIC-Code (Extended Binary Coded Decimal Interchange Code)

8 bit

• IBM-Zeichensatz für den PC 8 bit

Page 21: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 21

Grundlagen Technischer Informatik 1 Version WS07/08

3.5.1 Fernschreibecode

Der Fernschreibecode oder Lochstreifencode ist der älteste der genannten Codes.

Zwischen-raum

Um-schaltung

Zahl Buchst.

K O M M U M 1 3 U H R Klartext • • • • • • • 1. Informat.spur • • • • • • • 2. Informat.spur Transportlochung • • • • • • • • • • • • 3. Informat.spur • • • • • • • • 4. Informat.spur • • • • • • • • 5. Informat.spur

Nummer des

Informationsstellen Codiertes Symbol

Code- Worts

Transport und Takt

Buch-staben

Ziffern und

Sonder-zeichen

1 2 T 3 4 5 1 • • A - 2 • • • B ? 3 • • • C M 4 • • D + 5 • E 3 6 • • • F

Page 22: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 22

Grundlagen Technischer Informatik 1 Version WS07/08

7 • • • G 8 • • H 9 • • I 8 10 • • • J Klingel 11 • • • • K ( 12 • • L ) 13 • • • M . 14 • • N , 15 • • O 9 16 • • • P 0 17 • • • • Q 1 18 • • R 4 19 • • S ' 20 • T 5 21 • • • U 7 22 • • • • V = 23 • • • W 2 24 • • • • X / 25 • • • Y 6 26 • • Z + 27 • < < 28 • ≡ ≡ 29 • • • • • Buchstabe 30 • • • • Zahl&Sonderz. 31 • Zwischenraum 32

Tabelle 3.2: Lochstreifencode, CCITT-Code Nr. 2.

Page 23: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 23

Grundlagen Technischer Informatik 1 Version WS07/08

3.5.2 ASCII

Der ASCII- (American Standard Code for Information Interchange), oder auch CCITT-Code Nr. 5 genannt, hat die zur Zeit weltweit größte Bedeutung für rechnerinterne Darstellung und für die Datenübertragung. Auf der Basis des ursprünglich für den englischsprachigen Raum konzipierten Codes wurden auch zahlreiche Varianten entwickelt, die innerhalb der Sonder-zeichen auch andere Codierungen zulassen wie etwa Codierung der Umlaute der deutschen Sprache.

Die folgende Tabelle zeigt die Bedeutung der einzelnen Steuerzeichen, Tabelle 3.4 die Zuordnung der Codeworte zu den Symbolen.

NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF

alle Leit. NUL Start Of Heading Start Of TeXt End Of TeXt End Of Transm ENQuiry ACKnowledged BELI BackSpace Horizontal Tab Line Feed

VT FF CR SO SI DLE DCI XON DC3 XOF NAK

Vertical Tab Form Feed Carriage Return Shift Out Shift In Data Link Space Device Control 1 XON–protocol1 Device Control 3 XOFf–protocol1 Not AcKnow1.

SYNETBCANEM SUBESCFS GS RS US DEL

SYNchron. Idle End Transm. Block CANcel End of Medium SUBstitute ESCape File Separator Group Separator Record Separator Unit Separator DELete

Tabelle 3.3: ASCII: Abkürzungen und Vollnamen der Steuerzeichen.

Page 24: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 24

Grundlagen Technischer Informatik 1 Version WS07/08

Codierte Symbole Steuerzeic

hen Ziffern & Sonder-zeichen

Buchstaben & Sonderzeichen

Bit-Nr 7 6 5

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

4 3 2 1 0 1 2 3 4 5 6 7 0 0 0 0 0 NUL DEL SP 0 @ P ` p 0 0 0 1 1 SOH DC1 ! 1 A Q a q 0 0 1 0 2 STX DC2 " 2 B R b r 0 0 1 1 3 ETX DC3 # 3 C S c s 0 1 0 0 4 EOT DC4 $ 4 D T d t 0 1 0 1 5 ENQ NAK % 5 E U e u 0 1 1 0 6 ACK SYN & 6 F V f v 0 1 1 1 7 BEL ETB ' 7 G W g w 1 0 0 0 8 BS CAN ( 8 H X h x 1 0 0 1 9 HT EM ) 9 I Y i y 1 0 1 0 10 LF SUB n : J Z j z 1 0 1 1 11 VT ESC + ; K [ k { 1 1 0 0 12 FF FS , < L \ l ⏐ 1 1 0 1 13 CR GS - = M ] m } 1 1 1 0 14 SO RS . > N ^ n ~ 1 1 1 1 15 SI US / ? O _ o DEL

Tabelle 3.4: CCITT-Code Nr. 5, auch ASCII genannt.

Page 25: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 25

Grundlagen Technischer Informatik 1 Version WS07/08

3.5.3 EBCDIC

Der EBCDI-Code (Extended Binary Coded Decimal Interchange Code) wurde von IBM entwickelt. Er erfüllt ähnliche Aufgaben wie der ASCII-Code, verfügt jedoch über deutlich mehr Steuer-zeichen für die Steuerung innerhalb von Rechnersystemen.

8 0 0 1 1

7 0 1 0 1

6 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

4

3

2

5

1

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 0 0 0 NUL DEL DS SP - 0

0 0 0 1 SOH DC1 SOS / a j A J 1

0 0 1 0 STX DC2 FS SYN b k s B K S 2

0 0 1 1 ETX TM c l t C L T 3

0 1 0 0 PF RES BYP PN d m u D M U 4

0 1 0 1 HT NL LF RS e n v E N V 5

0 1 1 0 LC BS ETB UC f o w F O W 6

0 1 1 1 DEL IL ESC EOT g p x G P X 7

1 0 0 0 CAN h q y H Q Y 8

1 0 0 1 RLF EM i r z I R Z 9

1 0 1 0 SMM CC SM ¢ ! :

1 0 1 1 VT CU1 CU2 CU3 . $ , #

1 1 0 0 FF IFS DC4 < ≡ %

1 1 0 1 CR IGS ENQ NAK ( ) - '

1 1 1 0 SO IRS ACK + ; > =

1 1 1 1 SI IUS BEL SUB / ? "

Tabelle 3.5: EBCDI-Code (Extended Binary Coded Decimal Interchange Code).

Der IBM-Zeichensatz des PC's basiert auf dem ASCII-Code, verfügt allerdings über zahlreiche Erweiterungen sowohl zur Darstellung national relevanter Symbole als auch zur Erstellung einfacher Grafiken bestehend aus verschiedenen Linien. Diese Blockgrafik ist als Vorstufe zur heute verbreiteten Fenstertechnik (Windows) zu sehen. Ihr Vorteil liegt dabei in der einfachen Erstellung und kompakten Speicherung anwendungsbezogener Tabellen oder Fenster.

Page 26: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 26

Grundlagen Technischer Informatik 1 Version WS07/08

3.6 Redundante Codes 3.6.1 Grundbegriffe

Bei der Übertragung von Informationen über einen Kanal können diese verfälscht werden (s.o.). Die Redundanz kann genutzt werden, um Codeworte gegen Verfälschungen bei der Übertragung oder Speicherung zu sichern. Die Redundanz sollte dabei so klein wie möglich, aber auch so groß wie nötig gehalten werden, um die Anforderungen an den Code sicherzustellen. Hierbei wird zwischen der Fehlererkennung und der Fehlerkorrektur unterschieden.

Redundanz: Bezeichnet M die Anzahl der in einem Code dargestellten Zeichen (Elemente der Ausgangsmenge1) und N die maximal mögliche Anzahl von Codewörtern (alle Elemente der Zielmenge), so berechnet sich die Redundanz R des Codes wie folgt:

R = ld N - ld M

mit [R] = bit

N = 2n;

n = Stellenanzahl der Codeworte (Codewortlänge)

⇒ R = n - ld(M) bit

1 oder auch Ausgangsalphabet genannt

Page 27: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 27

Grundlagen Technischer Informatik 1 Version WS07/08

Beispiel:

Ausgangsmenge (M Symbole)

Zielmenge (N

Codewörter)<unbenutzt> 0 0 0

grün 0 0 1 gelb 0 1 0

<unbenutzt> 0 1 1 rot 1 0 0

<unbenutzt> 1 0 1 rotgelb 1 1 0

<unbenutzt> 1 1 1

Für obiges Beispiel gilt: R = (ld N - ld M) bit R = (ld 8 - ld 4) bit R = (3 - 2) bit

Die Redundanz des Beispielcodes beträgt also 1 bit.

Entropie: Die oben aufgeführt Formel für die Redundanz gilt allerdings nur, wenn alle Codeworte mit der gleichen Wahrscheinlichkeit auftreten.

Nun treten Codewörter nicht immer mit der gleichen Wahrscheinlichkeit auf, d.h. der Sender emittiert bestimmte Codewörter häufiger als andere. Damit weisen die Codewörter auch eine unterschiedlichen Informationsgehalt Hi auf. Ein Codewort trägt um so mehr Information, je seltener es emittiert wird, der Informationsgehalt Hi eines Codewortes zi steigt also mit abnehmender Auftrittswahrscheinlichkeit p(zi) des Code-wortes.

Page 28: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 28

Grundlagen Technischer Informatik 1 Version WS07/08

( )( )bitzpldbit)p(z

1ld H ii

i −==

Der durchschnittliche Informationsgehalt pro Codewort ergibt sich zu:

∑∑==

⋅=⋅=N

1i ii

N

1iii bit

)z(p1ld)z(pH)z(pH

Er wird auch als Entropie der Quelle bezeichnet. Die maximale Entropie ergibt sich, wenn die Codewörter zi mit der gleichen Wahrscheinlichkeit auftreten, also mit 1/N:

( ) ( ) ( ) bitnbitNldbitNNldN1bit1Nld

N1bit1ld

N1H

N

1i

N

1i N1max ==⋅⋅=⋅⋅=⋅= ∑∑

==

mit der Stellenzahl N = 2n.

Der Informationsgehalt Hi eines Codewortes zi entspricht i.d.R.

nicht seiner tatsächlichen Wortlänge Li (in bit).2 Dadurch ergibt sich auch eine von H verschiedene mittlere Wortlänge L des gegebenen Codes:

∑=

⋅=N

1iiii L)z(pL

Aus der Differenz von L und H ergibt sich die Redundanz R zu:

HLR −=

Die relative Redundanz r wird definiert als:

HRr =

2 Dies liegt nicht allein an der Tatsache, dass Hi meist keiner ganz-rationalen Zahl entspricht, sondern auch daran, dass den Codeworten beispielsweise zur Fehlererkennung weitere Stellen angefügt werden.

Page 29: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 29

Grundlagen Technischer Informatik 1 Version WS07/08

Beispiel:

Geben sei folgender Code mit den Worten

Z = {auto, baum, circus, dach, ente, flasche, gipfel, hut}

mit den zugehörigen Auftrittswahrscheinlichkeiten:

pauto = 0.0625, pbaum = 0.0625, pcircus = 0, pdach = 0.0625,

pente = 0.5, pflasche = 0.125, pgipfel = 0.125, phut = 0.0625

Die Entropie H berechnet sich zu:

( ) ( ) ( )

( ) ( ) ( )[ ]bit25,2

bit8ld25,02ld5,016ld25,0

bit125,01ld125,02

5,01ld5,00

0625,01ld0625,04

bitzp1ldzpHzpH

ii

N

1iii

N

1i

=⋅+⋅+⋅=

⎥⎦

⎤⎢⎣

⎡⎟⎠

⎞⎜⎝

⎛⎟⎠⎞

⎜⎝⎛⋅⋅+⎟

⎠⎞

⎜⎝⎛⋅++⎟

⎞⎜⎝

⎛⎟⎠⎞

⎜⎝⎛⋅⋅=

⎟⎠

⎞⎜⎝

⎛⋅=⋅= ∑∑

==

Wenn zur Zeichendarstellung genau 3 bit benutzt werden, folgt die Redundanz HLR −= mit

( )

( )[ ]bit3

bit3125,025,000625,04

bitLzpLN

1iii

=⋅⋅+++⋅=

⎥⎦

⎤⎢⎣

⎡ ⋅= ∑=

und H = 2,25 bit (s.o.) zu: R = L – H = 3 bit – 2,25 bit = 0,75 bit

Die relative Redundanz r ergibt sich zu:

%2525,0bit25,2bit75,0

HRr ====

Page 30: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 30

Grundlagen Technischer Informatik 1 Version WS07/08

3.6.2 Fehlererkennende Codes

Die im folgenden betrachteten Verfälschungen sind gleich-bedeutend mit Fehlern in den einzelnen Binärstellen der übertragenen bzw. gesicherten Codeworte. Ändert nur eine Binärstelle des betrachteten Codewortes seinen Signalwert (also statt einer 1 eine 0 oder umgekehrt), so liegt ein Einzel-fehler vor. Sind zwei Binärstellen verfälscht, so entspricht dies einem Doppelfehler bzw. einer Fehleranzahl von zwei usw.

Um eine einfache Fehlererkennung zu gewährleisten, muss dem Codewort mindestens ein zusätzliches Bit hinzugefügt werden. Durch Hinzufügen eines solchen Parity-Bits lässt sich jeder Code zu einem fehlererkennenden Code ergänzen.

Hierbei gibt es zwei verschiedene Verfahrensweisen:

1. Gerade Ergänzung Parity-Bit (even parity)

:= ⎩⎨⎧

==

geradeEinsen#falls,0ungeradeEinsen#falls,1

;

2. Ungerade Ergänzung Parity-Bit (odd parity)

:= ⎩⎨⎧

==

ungeradeEinsen#falls,0geradeEinsen#falls,1

;

Der Empfänger bildet die Quersumme jedes empfangenen Codewortes. Wurde das Codewort fehlerfrei übermittelt, so ergibt sich bei der Verwendung einer geraden Ergänzung die Quersumme 0 (modulo 2).

Page 31: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 31

Grundlagen Technischer Informatik 1 Version WS07/08

Beispiel:

Gewicht UngeradesParity-Bit Dualcode Gerades

Parity-Bit Gewicht

1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 2 1 0 0 0 1 0 1 2 3 1 0 0 1 1 0 2 1 0 0 1 0 0 1 2 3 1 0 1 0 1 0 2 3 1 0 1 1 0 0 2 3 0 0 1 1 1 1 4 1 0 1 0 0 0 1 2 3 1 1 0 0 1 0 2 3 1 1 0 1 0 0 2 3 0 1 0 1 1 1 4 3 1 1 1 0 0 0 2 3 0 1 1 0 1 1 4 3 0 1 1 1 0 1 4 5 1 1 1 1 1 0 4

Bei diesem Code gibt es 16 zulässige Codeworte (Nutzworte) bei 32 möglichen Codeworten und damit auch 16 ungenutzten Codeworte, die auf einen Fehler hindeuten, so genannte Pseudoworte. Allgemein gilt bei einem k-stelligen Code, der durch ein Parity-Bit auf die Wortlänge n = k+1 ergänzt wurde, dass die Anzahl der Symbole M = 2k = 2n-1

beträgt.

Bei diesem Code werden • alle Einzelfehler, • kein Doppelfehler, • alle Dreifachfehler, • allgemein alle ungeradzahligen Fehler, • aber keine geradzahligen Fehler erkannt.

Page 32: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 32

Grundlagen Technischer Informatik 1 Version WS07/08

Ein weiterer fehlererkennender Code, der auf der Überprüfung einer geraden Anzahl 1en fundiert, ist der 2-aus-5-Code. Bei diesem Anordnungscode3 bedeutet "2 aus 5", dass der Code 5 Binärstellen aufweist, wobei in jedem Codewort jeweils nur 2 Binärstellen den Wert 1 haben. Eine analoge Bedeutung kommt dem 1-aus-10-Code zu, wie die nachfolgende Tabelle zeigt.

Die Redundanz R ergibt sich (unter der Annahme, dass alle Codewörter mit der gleichen Wahrscheinlichkeit auftreten) zu:

R = (5 - 3.322) Bit = 1.678 Bit R = (10 - 3.322) Bit = 6.678 Bit

Allgemein bezeichnet ein n-aus-m-Code einen m-stelligen Code, in dem jedes Codewort genau n 1en beinhaltet.

Die verkürzte Schreibweise lautet: ⎟⎟⎠

⎞⎜⎜⎝

⎛nm

3 Den einzeln Binärstellen ist - abgesehen von Ausnahmen - kein bestimmter Stellenwert zuzuordnen.

Ziffern Code25

−⎟⎟⎠

⎞⎜⎜⎝

0 1 1 0 0 0 1 0 0 0 1 1 2 0 0 1 0 1 3 0 0 1 1 0 4 0 1 0 0 1 5 0 1 0 1 0 6 0 1 1 0 0 7 1 0 0 0 1 8 1 0 0 1 0 9 1 0 1 0 0

Ziffern Code1

10−⎟⎟

⎞⎜⎜⎝

0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 0 0 0 1 0 0 3 0 0 0 0 0 0 1 0 0 0 4 0 0 0 0 0 1 0 0 0 0 5 0 0 0 0 1 0 0 0 0 0 6 0 0 0 1 0 0 0 0 0 0 7 0 0 1 0 0 0 0 0 0 0 8 0 1 0 0 0 0 0 0 0 0 9 1 0 0 0 0 0 0 0 0 0

Page 33: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 33

Grundlagen Technischer Informatik 1 Version WS07/08

3.6.3 Fehlerkorrigierende Codes

Beim Entwurf fehlererkennender und fehlerkorrigierender Codes wird davon ausgegangen, dass bei einem voll ausgenutzten Code eine Verfälschung in einem Nutzwort ein neues Nutzwort erzeugt. Daher müssen zusätzliche Codeworte eingefügt werden. In einem Code der sowohl Nutzworte als auch Pseudoworte enthält, unterscheiden sich die Nutzworte voneinander in einer bestimmten Anzahl von Binärstellen (Stellendistanz d)4.

Beispiel:

Z1 = 1 0 1

Z2 = 0 0 0

d(Z1, Z2) = 2

4 Die Pseudoworte unterscheiden sich zwar auch in einer bestimmten Anzahl von Binärstellen, aber diese Stellendistanz ist für die weiteren Betrachtung nicht relevant.

Definition 3-4: Hammingdistanz Die kleinste Stellendistanz dmin aller Nutzworte eines Codes wird Hammingdistanz h genannt. Sie ist ein Maß für die Fehlersicherheit eines Codes.

Page 34: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 34

Grundlagen Technischer Informatik 1 Version WS07/08

Der Begriff der Hammingdistanz kann durch die nachfolgende Abbildung verdeutlicht werden:

• Coderaum eines 3-stelligen Codes; • Codeworte, die sich nur in einer Stelle unterscheiden, sind

direkt mit einer Linie verbunden; • Die Stellendistanz zwischen zwei beliebigen Nutzworten

entspricht im allgemeinem der Anzahl Kanten von dem einem zu dem anderen Nutzwort: 000 => 110, 011 u. 101 : Stellendistanz = 2 000 => 111 : Stellendistanz = 3

• Seien 000, 110, 101, 011 gültige Codeworte => Hamming-distanz h = 2 (d.h. zwischen zwei gültigen Codeworten liegt mindestens ein ungültiges);

000

100010

110

001

011

101

111

Page 35: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 35

Grundlagen Technischer Informatik 1 Version WS07/08

h=1 h=2 h=3NutzwortPseudowort

• Hammingdistanz h = 1 (alle Codeworte werden genutzt) =>

Eine Fehlererkennung ist nicht möglich.

• Hammingdistanz h=2 => Eine Fehlererkennung ist möglich (Einzelfehler-Pseudowort).

• Hammingdistanz h=3 => Eine Fehlererkennung ist möglich (Einzelfehler und Doppelfehler).

• Allgemein gilt für die Anzahl der mit Sicherheit erkennbaren Fehlern:

1hFe −=

Anmerkung: Es gibt auch Codes, bei denen d nicht durchweg gleich ist. Bei ihnen gibt es also Nutzworte, die sich von einem benachbarten Nutzwort in mehr Stellen unterscheiden als von anderen. Deshalb ist die Differenzierung zwischen d und h im allgemeinen Fall notwendig.

Page 36: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 36

Grundlagen Technischer Informatik 1 Version WS07/08

Die Korrektur eines Codes wird nur dann möglich, wenn das fehlerhafte Codewort eindeutig einem gültigem Nutzwort (NW) des Coderaumes zugeordnet werden kann. Der Korrekturraum und Korrekturradius zwischen zwei Nutz-worten wird in nachfolgenden Abbildung beispielhaft für eine Hammingdistanz von h = 4 gezeigt.

NW1 NW2

Fehl

eran

zahl

1

2

3

• Einzelfehler, d.h. an genau einer Stelle wurde das Code-wort verfälscht => Richtige Korrektur zum nächsten Nutz-wort möglich.

• Doppelfehler => Eindeutiges Erkennen, aber keine Korrektur, keine eindeutige Zuordnung zum richtigen Codewort möglich (verfälschtes Codewort liegt auf der Schnittlinie beider Korrekturräume).

• Dreifachfehler => Korrektur würde zu einem falschen Codewort führen (verfälschte Codewort liegt nicht mehr im Korrekturraum des zugehörigen Nutzwortes).

Page 37: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 37

Grundlagen Technischer Informatik 1 Version WS07/08

=> Der zum Korrekturraum gehörende Korrekturradius rk stets

kleiner als die halbe Hammingdistanz h: 2hrk <

Die Anzahl korrigierbarer Fehler errechnet sich ganz allgemein wie folgt:

⎪⎩

⎪⎨

=hgeradembei1

2h

hungeradembei2

1h

Fk

Aus dem Vergleich von Fe und Fk folgt, dass bei einem Code mindestens doppelt so viele Fehler erkannt wie korrigiert werden können.

Es gilt: ke F2F ⋅≥

Bedeutung der minimalen Hammingdistanz dmin eines Codes:

dmin = 1: Eindeutigkeit dmin = 2: Einzelfehlererkennung dmin = 3: Doppelfehlererkennung / Einzelfehlerkorrektur dmin = 4: Dreifachfehlererkennung / Einzelfehlerkorrektur dmin = 5: Vierfachfehlererkennung / Doppelfehlerkorrektur

Page 38: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 38

Grundlagen Technischer Informatik 1 Version WS07/08

S1

S4

S7

S3

S6

S2

S5

3.7 Codeumsetzer Bisher wurden einige Codes zur Verschlüsselung vorgegebener Informationen wie beispielsweise Buchstabenfolgen oder Dezimalzahlen dargelegt. In diesem Kapitels soll abschließend noch die Überführung bereits codierter Informationen in einen anderen Code betrachtet werden. Dies geschieht mittels eines Codeumsetzers, der die binärcodierten Informationen eines Codes 1 in einen anderen Code 2 umsetzt.

Beispiel: Umsetzung des BCD-Codes in den 7-Segment-Code

• Code 1: BCD, Binärcode, rechnerinterner Verarbeitungs-code

• Code 2: 7-Segment-Code, hardwarebezogener "Ansteuerungscode" für bestimmte Datensichtgeräte

Der 7-Segment-Code wurde zur Ansteuerung von sieben Segmenten (z.B. mechanische Klappen oder LEDs) entwickelt, die auf Grund ihrer Anordnung die Darstellung der zehn Ziffern sowie einiger Buchstaben erlauben.

Aus der Codegegenüberstellung (vgl. Tab) können nun die Vorschriften zur Umsetzung des BCD-Codes in den 7-Segment-Code abgeleitet werden. In diesem Beispiel soll eine LED der 7-Segment-Anzeige aufleuchten, wenn sie mit einer logischen 0 angesteuert wird. Die folgende Abbildung zeigt die Anordnung der Segmente S1 - S7.

Page 39: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 39

Grundlagen Technischer Informatik 1 Version WS07/08

7-Segment-Code BCD-Code Dezimal-

ziffer S1 S2 S3 S4 S5 S6 S7 X3 X2 X1 X0

0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0 0 1 2 0 0 1 0 1 0 0 0 0 1 0 3 0 0 1 0 0 1 0 0 0 1 1 4 1 0 0 0 0 1 1 0 1 0 0 5 0 1 0 0 0 1 0 0 1 0 1 6 0 1 0 0 0 0 0 0 1 1 0 7 0 0 1 1 0 1 1 0 1 1 1 8 0 0 0 0 0 0 0 1 0 0 0 9 0 0 0 0 0 1 0 1 0 0 1

Implementierung mittels Hardware: Schritt 1: Festlegen der Richtung, hier ist nur die Umsetzung

des BCD-Codes in den 7-Segment-Code sinnvoll; Schritt 2: Aufstellen der Funktionsterme für jedes der 7

Segmente mittels einer Funktionsgleichung oder eines KV-Diagrammes =>

S1 = f(X3, X2, X1, X0) S2 = f(X3, X2, X1, X0) . . . S7 = f(X3, X2, X1, X0)

Schritt 3: Vereinfachung der Funktionsterme: Entweder jeder für sich alleine betrachtet oder unter Berücksichtigung gemeinsamer Ausdrücke (Funktionsbündel5);

Schritt 4: Fertigung der Schaltung;

5 Dies ergibt ggf. Vorteile für die spätere hardwaremäßige Realisierung.

Page 40: 3. Codierung von Nachrichten - uni-due.dehl271st/Lehre/GTI/kap03_folien_ges_WS0708.pdf · BCD-Code Abbildung 3.1: Überblick über verschiedene Codes . 3 Codierung von Nachrichten

3 Codierung von Nachrichten Seite 40

Grundlagen Technischer Informatik 1 Version WS07/08

Das Prinzip der Implementierung mittels Hardware verdeutlicht die folgende Abbildung.

S1

S4

S7

S3

S6

S2

S5

Decoder

input:a b c dX3 X2 X1 X0