Informationstheorie und Codierung

Werbung
Informationstheorie und Codierung
Prof. Dr.-Ing. Lilia Lajmi
[email protected]
Organisatorisches
• Vorlesung 2 SWS ( 2,5 LP)
- Dienstags.
12:00-13:30 Uhr, Raum L122
• Unterlagen
- Vorlesungsfolien
- Übungsaufgaben
- Skript (Dr. Jäger)
• Klausur (voraussichtlicher Termin)
- EIT: 13.01.2016, Dauer: 90 min
2
Problemstellung
Einfaches Modell einer Nachrichtenübertragung
Störung
Sender
(Datenquelle)
DatenKanal
Empfänger
(Datensenke)
Bilder, Sprache, Text ,..
•
•
Bei der Nachrichtenübertragung treten mehr oder weniger starke Störungen
(z.B. Rauschen) auf  Fehler beim Empfänger
Die Codierungstheorie beschäftigt sich mit dem Problem, wie man
Nachrichten über einen gestörten Kanal so übertragen kann, dass
o die Übertragung der Nachricht überhaupt möglich ist,
o die Nachricht beim Empfänger möglichst fehlerfrei ankommt
o und im Fall von Übertragungsfehler die ursprüngliche Nachricht korrekt abgeleitet werden
kann.
3
Ziel der Codierung
Digitale Nachrichtenübertragung
•
•
•
Effektive Nutzung von Datenkanälen Möglichst hohe Informationsübertragungsrate
Sichere Übertragung der Informationen trotz auftretender Störungen im
Kanal. Störungen auf dem Übertragungskanal durch geeignete Codierung
bekämpfen  auftretende Bitfehler beim Empfänger nach Möglichkeit
erkennen und korrigieren
Sicherer Schutz der Information gegen unzulässige Leser oder verdeckte
Sender (Vertraulichkeit der Daten)
Dabei beachten:
• Möglichst kleiner Codieraufwand
• Möglichst einfache Decodierung (Für die Echtzeitfähigkeit der Empfänger
von großer Bedeutung)
4
Digitales Übertragungssystem
Quelle
Digital
Quellen-
Kanal-
Codierer
Codierer
Redundanz
Irrelevanz
Sender
Senke
•
•
Digitaler
Kanal
Quellen-
Kanal-
Decodierer
Decodierer
Redundanz
Empfänger
Fehlerschutz
Redundanz
Fehlerschutz
Redundanz
Quellencodierung: Daten so transformieren, dass sie gut übertragbar
werden können (Codierung, Kompression)
Kanalcodierung: Daten so transformieren, dass bei der Übertragung
auftretende Fehler erkannt und evtl. sogar korrigiert werden können
5
Inhaltsverzeichnis
1. Einführung und Definitionen
1.1
1.2
1.3
Alphabet und Wörter
Graphen und Bäume
Codierung und Decodierung
2. Quellencodierung
2.1
2.2
2.3
2.4
2.5
2.6
Motivation
Shannon´sche Informationstheorie
Binärcodierung nach Shannon
Huffman-Codierung
Codierung von Wörtern anstelle von Einzelsymbolen
Diskrete Quelle mit Gedächtnis
3. Kanalcodierung
3.1
3.2
3.3
3.4
3.5
Nachrichtentheorie für gestörte Kanäle
Blockcodes
Gruppencodes
Zyklische Codes
Faltungscodes
6
Literatur
•
Hermann Rohling
Einführung in die Informationsund Codierungstheorie,
Teubner-Verlag,
1995, 49,95€
•
Ralph-Hardo Schulz
Codierungstheorie, ViewegVerlag, 1991 ca. 29,9 €
•
Richard W. Hamming
Information und Codierung VCH
Verlagsgesellschaft, 1987
7
1. Einführung und Definitionen
1.1
1.2
1.3
Alphabet und Wörter
Graphen und Bäume
Codierung und Decodierung
1.3.1
Definition
1.3.2
Blockcode
1.3.3
Präfixfreier Code
8
1.1 Alphabet und Wörter
Alphabet
Unter einem Alphabet
versteht man den Symbolvorrat eines Datenraums
Beispiele:
• Das Alphabet für natürliche Zahlen ist {0, 1, …, 9}
• Das Alphabet für Hexadezimalzahlen ist {0, 1, …, 9, A, …, F}
• Das Alphabet für Binärzahlen ist {0, 1}
• Das Alphabet für die Dezimalzahlen ist {0, 1, …, 9, , }
• Das Alphabet für die deutsche Sprache ist {a, .., z, A, .. Z, ä, .., :, ;, !, ?, „ , “ }
Ein Alphabet mit nur 2 Alphabetzeichen heißt binäres Alphabet, ein Alphabet
mit nur 3 Alphabetzeichen heißt trinäres Alphabet.
Beispiel:
Für die digitale Datenübertragung steht uns eine binäre Quelle mit dem
Alphabet {0, 1} zur Verfügung
9
1.1 Alphabet und Wörter
Wort: Definition und Länge
Unter einem Wort der Länge ∈ über einem Alphabet versteht man
eine beliebige Aneinanderreihung (Folge) von Symbolen aus dem
Alphabet . Die leere Folge (der Länge 0) bezeichnet man mit ∅
Beispiel:
100 ist ein Wort der Länge 3 über dem Alphabet
0, 1 der
Binärzahlen.
Gelegentlich verwendete, alternative Bezeichnungen:
• String oder Zeichenkette der Länge
• Folge der Länge über
• Vektor der Länge über
• Variation mit Wiederholung der Länge über
Die Länge eines Wortes ist die Anzahl der vorkommenden Symbole. Sie
wird mit | | bezeichnet.
Beispiel:
∅
, 10
1.1 Alphabet und Wörter
Definitionen für Wörtermengen
•
•
Die Menge aller Wörter der Länge über
bezeichnet.
) wird mit
∗
(mit konstantem und festem
bezeichnet die Menge aller Wörter mit einer Maximallänge über
∗
Achtung: Gelegentlich wird als ∗ auch die Gesamtmenge aller Wörter
bezeichnet (entsprechend ⟶ ∞)
A* = A1  A2
Beispiel:
0, 1 ; Wortlänge maximal 2.
0, 1 00, 01, 10, 11
∗
∪
0, 1 ∪ 00, 01, 10, 11
∗
, , , , ,
A2
A1
0
00
1
10
11 01
11
1.1 Alphabet und Wörter
Satz:
•
•
•
Es gibt genau
Wörter der Länge
Jedes Wort über Alphabet hat Komponenten
Für jede Komponente eines Wortes gibt es
Möglichkeiten
Variationen unabhängig  genau
Wörter
Beispiel:
0, 1, 2 
3;
2
o Laut Satz: Anzahl der Wörter mit Länge
2 ⇒ o Probe durch Abzählen der möglichen Wörter:
00
01
02
10
11
12
 also auch 9 Wörter
20
21
22
12
Aufgabe 1-1
0, 1, 2 und
1. Es sei das Alphabet
a.
b.
Bestimmen Sie: ,
Wie groß ist
?
,
,
und
3 gegeben.
∗
2. Ein Alphabet A, bestehend aus 26 Buchstaben, 3 Umlauten sowie dem
Leerzeichen und den neun Satzzeichen . , ; : ? ! „ “ und – soll
a.
b.
Binär
hexadezimal dargestellt werden.
Wie viele binäre bzw. hexadezimale Stellen sind für die Darstellung eines
Symbols mindestens erforderlich?
13
1. Einführung und Definitionen
1.1
1.2
1.3
Alphabet und Wörter
Graphen und Bäume
Codierung und Decodierung
1.3.1
Definition
1.3.2
Blockcode
1.3.3
Präfixfreier Code
14
1.2 Graphen und Bäume
Graphen
•
Ein Graph G umfasst eine Menge V von Knoten und E von Kanten, welche
die Knoten miteinander verbinden
,
•
∅
⊂
Allgemeiner Graph (ungerichteter Graph): Veranschaulichung als Punkte
und Verbindungslinien:
Kein Graph z.B.
•
2. Knote fehlt
Gerichteter Graph: Ein Graph heißt gerichtet, wenn jede Kante E ein
geordnetes Knotenpaar (V1, V2) darstellt.
Ein Knotenpaar (V1, V2) heißt Pfeil von
V1 (Anfangsknoten) nach V2 (Endknoten)
15
1.2 Graphen und Bäume
Graphen
•
Endlicher Graph: Ein Graph G heißt endlich, wenn die Anzahl der Knoten
∞⇒
∞
(und damit auch der Kanten) endlich ist, also
•
Der Grad eines Knotens ( ) beschreibt die Anzahl der Kanten, an denen
2
ein Knoten beteiligt ist.
•
4
4
3
3
Ein Graph G heißt r-regulär, wenn alle Knoten den Grad
1
haben.
2
3
16
1.2 Graphen und Bäume
Graphen
•
Ein Graph G heißt zusammenhängend, wenn je zwei Knoten durch
irgendeinen Weg verbunden sind (ggf. zusammengesetzt aus mehreren
Kanten)
Satz:
Sei G=(V, E) ein endlicher Graph, es gilt:
rp: Grad des Knotens (Anzahl der Kanten an
den Knoten)
2
∈
17
1.2 Graphen und Bäume
Bäume
•
•
Ein Baum ist ein spezieller Graph, mit dem sich eine Monohierarchie
modellieren lässt.
Ein Baum besteht aus einer Menge von Knoten mit einer speziellen
Eltern-Kind-Relation, welche die folgenden Eigenschaften hat:
o Es gibt einen ausgezeichneten Knoten , den man die Wurzel des Baums nennt
und der keinen Elternknoten besitzt.
o Jeder Knoten außer der Wurzel
hat einen eindeutig bestimmten Elternknoten.
o Jeder Knoten ist Nachfahre der Wurzel , (d.h. ist selbst die Wurzel oder ein
Kind, Enkel, Urenkel, usw. von )
o Ein Knoten, der keine Kinder hat, wir als ein Blatt des Baums bezeichnet.
o Knoten, die mindestens ein Kind haben, nennt man innere Knoten des Baums.
•
Bäume werden häufig graphisch dargestellt, wobei die Wurzel den höchsten
(bzw. niedrigsten) Punkt bildet und alle Kinder auf einem Niveau unter (bzw.
über) ihre Elternknoten gezeichnet und mit dem Elternknoten durch eine
Kante verbunden werden.
18
1.2 Graphen und Bäume
Bäume
•
Je nachdem, ob die Kanten des Baums eine ausgezeichnete Richtung
besitzen, lassen sich Bäume in ungerichtete oder gewurzelte Bäume
unterteilen:
o Ungerichteter Baum: Ein zusammenhängender ungerichteter Graph. Knoten mit
Grad 1 werden Blätter genannt, die übrigen Knoten heißen innere Knoten
o Gewurzelter Baum (auch gerichteter Baum) ist ein gerichteter Graph mit genau
einer Wurzel. Wurzeln sind Knoten mit Eingangsgrad 0. Knoten mit Ausgangsgrad
0 heißen Blätter.
Darstellung eines
ungerichteten Baumes mit
• zwei inneren Knoten
(blau) und
• vier Blättern (rot)
Darstellung eines gerichteten Baumes mit
• einer Wurzel (rot),
• zwei inneren Knoten (gelb) und
• vier Blättern (grün)
Quelle: Wikipedia
19
1.2 Graphen und Bäume
Der reguläre binäre Baum
•
•
•
•
Ein Binärbaum ist ein Wurzelbaum, bei dem von jedem Knoten, der kein
Endknoten ist, höchstens d=2 Knoten wegführen (jeder Knoten besitzt
höchstens zwei Kindknoten)
Ein Binärbaum ist entweder leer, oder er besteht aus einer Wurzel mit einem
linken und rechten Teilbaum, die wiederum Binärbäume sind.
Er heißt auch vollständig, wenn alle Endknoten den gleichen Abstand von
der Wurzel haben
Graphische Darstellungen: Wurzel oben (oder links) und die Blätter unten
(oder rechts) platziert. Weg von der Wurzel in Richtung Blatt.
Vollständiger Binärbaum
Binärbaum mit Knotentypen
20
1.2 Graphen und Bäume
Darstellung von Wörtern in einem Baum
Sei ein Alphabet mit
• Jede von einem Knoten ausgehende Kante lässt sich mit einem Element
aus benennen
• Den Knoten des -ten Niveaus können Wörtern der Länge zugeordnet
werden
Wurzel
Beispiel 1:
Alphabet Binär
0, 1
0
Baum
• Binär
a1
• Nicht vollständig
0
1
0
1
a3
1
a4
a1 = 00
a2 = 011
a3 = 10
a4 = 11
1
a2
21
1.2 Graphen und Bäume
Darstellung von Wörtern in einem Baum
Beispiel 2:
Alphabet
0, 1, 2 und
Baum nicht Binär
3(in diesem Fall trinäres Alphabet)
Wurzel
a1 = 01
a2 = 022
a3 = 11
a4 = 202
a5 = 22
0
2
1
0
2
1
a1
2
1
a5
a3
2
a2
2
a4
22
1.2 Graphen und Bäume
Anwendungsbeispiele
•
•
•
•
•
•
In der Codierungstheorie (Huffman-Codierung; Fano …)
In der Informatik werden Bäume häufig als Datenstruktur eingesetzt. In
diesem Fall werden sie aber anders repräsentiert als allgemeine Graphen.
Knoten als Personen, Kanten als Verwandtschaft
Knoten als Organisationen, Kanten als Geschäftsbeziehung
Knoten als Orte, Kanten als Wege
Knoten als Programmbefehle, Kanten als mögliche Programmfortschritte
(Verzweigung)
23
1. Einführung und Definitionen
1.1
1.2
1.3
Alphabet und Wörter
Graphen und Bäume
Codierung und Decodierung
1.3.1
Definition
1.2.1
Blockcode
1.2.2
Präfix-Code
24
Codierung
Definition
Die Codierung beschreibt im allgemeinen die Darstellung von
Informationen durch Symbolfolgen.
•
•
•
•
•
•
Eine Information ist dabei ein Wort über dem Alphabet
Eine codierte Information ist ein Wort über dem Alphabet
Für die Überführung einer Information über dem Alphabet zum
Alphabet bedarf es einer injektiven Abbildung
∗
: ⇒ heißt Codierung (Codierung von durch )
Mit Code wird der als Bildmenge bei einer Codierung
auftretenden Symbolvorrat bezeichnet:
⊂ ∗
Die Bildelemente
∗ , heißen Codeworte über
Ist ein Binäralphabet:
eine Binärcodierung
0, 1 , dann heißt die Codierung : → ∗
25
Was ist eine Abbildung?
: Eine mathematische Abbildung
: ⟹
D.h. jeden Element aus wird per
Abbildungsvorschrift ein Element
aus zugeordnet
A
Gegenbeispiel
A
B
B
Keine Abbildung, weil es zu
einem Element aus kein Bild
gibt.
26
Was ist eine injektive Abbildung?
Injektive Abbildung : →
mehr als einen Ursprung
∗
bedeutet: Kein Bildpunkt aus
hat
 Eine Umkehrabbildung ist möglich für eine Untermenge von
 Die Umkehrabbildung wird mit Decodierung bezeichnet
B
A
Beispiel:
, , 0, 1 ;
1
0
01
C ist eine injektive Abbildung
Beispiel:
,
; : ⟶
Diese Abbildung ist nicht injektiv
Begründung:
2
2
4 ⇒ 4 ∈
∗
hat mehr als einen Ursprung
27
Decodierung
Definition
Die Decodierung ist die Umkehrabbildung der Codierung.
Ein Code heißt decodierbar genau dann, wenn jedes codierte Wort nur
auf eine einzige Arzt zurückübersetzt werden kann.
•
•
sei die Codierung von
: → ∗
Die Abbildung für die Decodierung wird mit
∶
→ , ist eine Untermenge von
•
•
durch
bezeichnet. Es gilt:
⊂
∗
∗
Decodieren kann man nur Wörter, die vorher codiert worden sind.
Nicht jedes beliebige Wort aus der Menge ∗ ist rückübersetzbar, sondern
nur solche Wörter, die schon vorher übersetzt worden sind (hier aus ).
28
1. Einführung und Definitionen
1.1
1.2
1.3
Alphabet und Wörter
Graphen und Bäume
Codierung und Decodierung
1.3.1
Definition
1.3.2
Blockcode
1.3.3
Präfixfreier Code
29
1.3.2 Blockcode
Definition:
•
•
Bei einem Blockcode ist die Länge aller Codewörter gleich
Sei in Alphabet und ∈ . Ein Blockcode der Länge über ist eine
Teilmenge von
Ist
2 (i. Allg.
0, 1 , so heißt binärer Blockcode:
0, 1 ,
2 
00, 01, 10, 11 : Blockcode der Länge 2 über
Beispiel:
, , , 0,1 3 : →
Für die Codierung der einzelnen Elemente von
benötigen wir 3 Bits.
Die Codierung könnte wie folgt aussehen (s. Tabelle) :
ist eine Untermenge vom 3-Bit-Binärcode ,
,
,
,
,
,
,
a
000
b
011
c
010
30
Aufgabe 1-2
Ein Sender kann vier Codierte Nachrichten aussenden (Es handelt sich hier um
einer binären Blockcodierung der Länge 2):
0 0 Die Börse ist sehr fest.
1 1 Sollen wir verkaufen?
0 1 Die Kurse fallen.
1 0 Helft uns gegensteuern!
Eines Tages wird die Symbolfolge X00110011001............. empfangen. Dabei
hat man das erste Symbol verpasst und erst das zweite empfangen.
Zusätzlich weiß man nicht, wo die Mitteilung aufhört, da der Sender immer
weiter sendet.
Rekonstruieren Sie die gesendete Botschaft unter der Annahme, dass der
Sender etwas Sinnvolles übertragen hat.
31
1. Einführung und Definitionen
1.1
1.2
1.3
1.4
Alphabet und Wörter
Graphen und Bäume
Codierung und Decodierung
1.3.1
Definition
1.3.2
Blockcode
1.3.3
Präfix-Code
Beispiele für Codierungen
32
1.3.3 Präfix-Code
oder Präfixfreier Code
Präfixe: Strukturierung von Wörtern nach Anfangsstücken.
Definition: Ein Code heißt Präfixfrei (Präfix-Code), wenn kein Codewort
aus Präfix (Anfangsstück) eines anderen Codewortes ist.
Beispiel:
• Code
• Code
0, 10, 11 erfüllt die Präfix-Eigenschaft.
0, 01,11 verletzt die Präfix-Eigenschaft, da 0 Präfix von 01 ist.
ä
Allgemein gilt: ∀ , , ⟶
Beispiele:
• Die Telefonnummern sind Präfixfreie Codes, da jeder Anschluss durch seine
Telefonnummer eindeutig identifizierbar sein muss. Es darf bei Wählprozess
nicht dazu kommen, dass es zwischen drin bei einem anderen Teilnehmer
klingelt.
• Jeder Blockcode ist Präfixfrei, denn bei Blockcodes haben alle Codewörter
die gleiche Länge (sonst wären zwei Codewörter gleich)
33
Aufgabe 1-3
Gegeben sei das Alphabet 0, 1 .
Ist die Menge 1, 011, 01110, 1110, 10011 ein sinnvoller Code für
fünf Nachrichten?
Lösung
Codewort 2 (011) ist auch in Codewort 3 (01110) enthalten  kein Präfixfreier
Code  Code ungünstig
34
1.3.3 Präfix-Code
Eigenschaften
•
•
•
•
Das leere Wort ∅ist Präfix jeden Wortes.
Jeder Präfixfreier Code ist (insbesondere auch bei sequentieller
Übertragung) eindeutig decodierbar.
Man kann jeden Präfix-Code durch einen Code-Baum repräsentieren.
Bei einem Präfix-Code werden im zugehörigen Code-Baum alle
Codewörter durch Endknoten dargestellt.
Beispiel: Präfixe auf ⋃
,
.
Alle Wörter mit Maximallänge 3
(Alphabet 0, 1 )
Realisierung mit einem Baum
Präfixe von 01 sind : ∅, ,
Präfixe von 101 sind : ∅, , ,
∅
35
Aufgabe
Bestimmen Sie für jeden der folgenden Codes, ob dieser eindeutig decodierbar
ist und ob es sich um einen präfixfreien Code handelt.
Ist der Code nicht eindeutig decodierbar, dann geben Sie eine Codesequenz
an, für welche zwei unterschiedliche Interpretationen als Sequenz aus
Codewörtern existieren. Sonst repräsentieren Sie den Code mit einem
Codebaum.
1. 00, 10, 01, 11
2. 0, 10, 11
3. 0, 01, 11
4. 1, 101
5. 0, 1, 01
Bemerkung: Existiert ein eindeutig decodierbarer Code, dann existiert auch
ein präfixfreier Code mit denselben Codewortlängen. Deshalb werden für
eindeutig decodierbare Codes üblicherweise Präfixfreie Codes Verwendet.
36
Ungleichung von Kraft
Definition: Jede binärer bzw. t-närer Präfix-Code
Codewörter) und den zugehörigen Längen
Ungleichung von Kraft:
.
mit | |
, ,…,
(d.h.
erfüllt die
Sind umgekehrt , , ,…, natürliche Zahlen, die diese Ungleichung erfüllen,
so existiert ein entsprechender binärer (bzw. t-närer) Präfix-Code .
Beispiel 1: 4 Endknoten
Ungleichung von Kraft:
2
3·2
1,
1,25
2
1
Ein binärer Wurzelbaum existiert nicht
Kein Platz für
den dritten
2
37
Ungleichung von Kraft
2, Beispiel 2: 4 Endknoten
Ungleichung von Kraft:
2·2
2
4
2·2
2
8
3
4
3
0,75
1
Ein binärer Wurzelbaum existiert
(1)
(2)
(3)
(4)
38
Aufgabe 1-4
•
Ein binärer Baum habe
sind:
2;
7 Endknoten, deren Abstände
3;
von der Wurzel
4
1. Existiert dieser Baum?
2. Wenn ja, stellen Sie diesen Baum dar.
39
Aufgabe 1-5
1. Existiert für folgende Codewortlängen ein binärer Präfixfreier Code? Wenn
ja, dann konstruieren Sie einen entsprechenden Code
a.
b.
c.
1, 2, 3, 4, 5, 5
1, 2, 3, 4,4, 5
2, 2,2, 3, 4
2. Existiert für folgende Codewortlängen ein ternärer Präfixfreier Code? Wenn
ja, dann konstruieren Sie einen entsprechenden Code
a.
b.
c.
1,2,3,1,2,3,2
1,2,3,4,1,2,3,4
3,3,3,3,3,3,2,1,1
40
1. Einführung und Definitionen
1.1
1.2
1.3
1.4
Alphabet und Wörter
Graphen und Bäume
Codierung
Beispiele für Codierungen
1.4.1
1.4.2
1.4.3
Morse-Codierung
ASCII-Codierung
Lochkarten Codierung
41
1.4 Beispiele für Codierungen
1.4.1 Morse-Codierung
•
•
•
Der Morse-Code (auch Morsealphabet genannt) ist ein Verfahren zur
Übermittlung von Buchstaben, Zahlen und übrige Zeichen. Es wird dabei ein
Signal ein- und ausgeschaltet
Wurde von Samuel Morse (1791-1872) erfunden und wird heute auf der
ganzen Welt verwendet.
Der Morse-Code kann als Tonsignal, als Funksignal, als elektrischer Puls
mit einer Morsetaste über eine Telefonleitung, mechanisch oder optisch (mit
blinkendem Licht) übertragen werden.
Morsetaste
Quelle: Wikipedia
Übermittlung von Morsecode mittels
Lichtzeichen in der Seefahrt
42
1.4 Beispiele für Codierungen
1.4.1 Morse-Codierung
Internationaler Morsecode
• Es ist ein ternärer Code mit drei Symbole:
Punkt (  ) Strich (--- ) und Leerzeichen
Meist kurz, lang und Pause genannt
• Das Leerzeichen wird nur als Trennzeichen verwendet. Es gilt:
o Zwischen Buchstaben  1 Zeiteinheit
o Zwischen Wörtern
 3 Zeiteinheiten
o Zwischen Sätzen
 6 Zeiteinheiten
•
Beispiel:
Das Alphabet A wird codiert mit
 ---
Automatischer
Morseschreiber
43
1.4 Beispiele für Codierungen
1.4.1 Morse-Codierung
Auszug aus dem Morse-Alphabet
•
•
•
Die Codewortlänge der Einzelnen
Buchstaben ist variabel, angepasst an
die Häufigkeit der Buchstaben (von
1+Leerzeichen bis 4+Leerzeichen)
Buchstaben, die besonders häufig
verwendet werden, bekamen von
Morse einen kurzen Code zugewiesen
Beispiel ‚E‘ oder ‚T‘
Selten verwendete Buchstaben
wurden mit einem längeren Code
dargestellt
Beispiel ‚Q‘ ‚V‘
Quelle: Wikipedia
44
1.4 Beispiele für Codierungen
1.4.1 Morse-Codierung
•
Beispiele für Codierung ohne Leerzeichen als Trennzeichen zwischen
den Symbolen
o
o
o
o
o
•
Morsecode von AU
Morsecode von ENA
Morsecode von ETU
Morsecode von ETEA
Morsecode von LT





 --   - --   - --   - --   - --   --
Morsecode ist ohne Lücken zwischen den Symbolen nicht decodierbar
 alle codierten Symbole müssen deshalb durch eine Lücke getrennt
werden
• Viele Codierte Symbole stellen den Anfang eines anderen codierten
Symbols dar  Es ist nur dann ein Präfix-Code, wenn das Trennzeichen
nach jedem Buchstaben mit berücksichtigt wird.
Beispiel
Morsecode von A ( --) ist auch Anfangscode von L ( --  ),
J ( -- -- --), P ( -- -- ), R ( -- ) und W ( -- --)
45
1. Einführung und Definitionen
1.1
1.2
1.3
1.4
Alphabet und Wörter
Graphen und Bäume
Codierung
Beispiele für Codierungen
1.4.1
1.4.2
1.4.3
Morse-Codierung
ASCII-Codierung
Lochkarten Codierung
46
1.4 Beispiele für Codierungen
1.4.2 ASCII-Codierung
•
•
•
•
Die ASCII (American Standard Code for Information Interchange)-Codierung
wurde 1963 von der American Standard Association (ASA) als Standard
ASA X3.4-1963 veröffentlicht und 1967 und 1968 aktualisiert.
Prinzip: Um Text in einem Rechner darzustellen, codiert man Symbole
mittels Bitfolgen (Bit = einzelne Speicherzelle). Die Symbole umfassen das
lateinische Alphabet in Gross- und Kleinschreibung, die zehn arabischen
Ziffern so wie einige Satz- und Steuerzeichen.
Jedem Symbol wird ein Bitmuster aus 7 Bit zugeordnet. Da jedes Bit zwei
Werte annehmen kann (0 oder 1), gibt es 27 = 128 verschiedene Bitmuster,
die auch als die ganzen Zahlen von 0 bis 127 (hexadezimal 00-7F)
interpretiert werden können.
Die Darstellung erfolgt mit je einer 8 stelligen Binärzahl. Das letzte und 8te
Bit diente früher als Kontrollbit bei der Datenübertragung, da die Qualität der
Datenübertragung heute sehr sicher ist, nutzt man daher auch das
Kontrollbit für die Codierung. Somit ergibt sich ein weiterer verfügbarer
Bereich von ASCII 128 bis ASCII 255 (28 = 256 verschiedene Bitmuster).
47
1.4 Beispiele für Codierungen
1.4.2 ASCII-Codierung
Die ASCII Darstellung ist eine Kombination aus je 2 Hexadezimalzahlen aus
dem Alphabet , , , , , , , , , , , , , , ,
oder aus je 8
Dualzahlen aus dem Alphabet
, .
Schritte der ASCII-Codierung ( am Beispiel des Symbols M)
1. Suchen der zugehörigen Dezimalzahl in Tabelle
Das Symbol M hat die Dezimalzahl 77
2. Umrechnen in Hexadezimalzahl
4 · 16
13 · 16
3. Binäre Darstellung der beiden Hexadezimalstellen
1·2
0·2
0 · 2 1 · 2
1·2
0·2
1·2
3. Ermittlung und Anhängen des Paritätsbits (so, dass die Gesamtzahl der
mit 1 besetzten Positionen gerade ist)
Paritätsbit ist hier 0, da die Binärzahl 4x1 enthält  anhängen an die
Binärzahl 
: ASCII-Code vom Symbol „M“
48
Aufgabe 1-8
1. Wie lautet der ASCII-Code vom Symbol „A“ (Hexadezimalzahl = 41)
2. Vervollständigen Sie die folgende Tabelle zur Umrechnung von Dezimal-,
Hexadezimal- und Binärzahl
Dezimalzahl
Hexadezimalzahl Binärzahl
715
19
B3
125
1010101
49
1.4.2 ASCII-Codierung
Teil einer ASCII-Code Tabelle
Tabelle s. http://www.asciicode.com/
50
1. Einführung und Definitionen
1.1
1.2
1.3
1.4
Alphabet und Wörter
Graphen und Bäume
Codierung
Beispiele für Codierungen
1.4.1
1.4.2
1.4.3
Morse-Codierung
ASCII-Codierung
Lochkarten Codierung
51
1.4.3 Lochkarten Codierung
•
•
•
In den Anfangszeiten der
elektromagnetischen Datenverarbeitung
konnten vielen Computersystemen ihre
Eingabedaten ausschließlich über
Lochkarten zugeführt werden
Eine Lochkarte ist ein aus
Spezialpapier gefertigter Datenträger
und wird in der Datenverarbeitung zur
Datenerfassung und –Speicherung
verwendet
Dateninhalte werden durch einen
Lochcode abgebildet (5 Spuren),
mithilfe von elektromechanischen
Geräten erzeugt und verarbeitet.
52
Herunterladen