1 Einführung
1
1 Einführung
1 Einführung
2
Fachsprache: was bedeutet eigentlich....
Na
c
tik
a
m
r
o
f
In
Inform
ation
D
a
t
e
n
l
a
n
g
i
S
hr
ic
ht
1 Einführung
3
1.1 Information und Datum
Informatik kommt von Information
Aber: was versteht man unter Information?
1 Einführung
4
Alltägliche Beobachtung
Schallwellen
elektromagnetische
Wellen
1 Einführung
5
Definition: Signal, Signalübertragung
Die Darstellung einer Mitteilung durch zeitliche Veränderungen einer
physikalischen Größe heißt Signal.
Eine Weitergabe einer Mitteilung erfolgt durch Signalübertragung.
Signal
physikalische
Größe
Zeit
1 Einführung
6
Was, wenn niemand da ist?
Text speichert man auf Papier, Plattenspeicher (disk), CD ROM u.ä.
Bei all diesen Trägern bezeichnet man den Speichervorgang als "schreiben" oder
"aufzeichnen".
1 Einführung
7
Definition: Inschrift, Schriftträger
Eine dauerhafte Darstellung einer Mitteilung bezeichnen wir als Inschrift.
Das benutzte Medium nennen wir Schriftträger.
Datensektoren
entlang einer Spur
Spuren
Spur
Magnetspule
Magnetplattenspeicher (disk)
Schreib-Lesekopf
1 Einführung
8
Also:
Mitteilungen kann man
durch zeitlich veränderliche Größen (Signale) darstellen und übertragen
dauerhaft als Inschriften speichern
1 Einführung
9
Die Informatik erzeugt und verarbeitet
Signale (z.B. vom Internet)
Inschriften (z.B. vom Magnetplattenspeicher; erfordert Signalerzeugung)
Notwendig: Abstraktion
Signalparameter:
physikalische
Größe
Pegel (hoch, niedrig)
Signale mit
unterschiedlicher
Abstraktion
Zeit
Abstraktion 1
Abstraktion 2
O
L
L
O
7
L
L
L
1 Einführung
10
Bei Text interessiert die Abstraktion
als Zeichenfolge
und interessiert nicht
ob er gesprochen oder geschrieben wurde
welches Medium (Platte, Diskette, DVD) benutzt wurde.
1 Einführung
11
Definition: Nachricht, Repräsentation von Nachrichten
Abstraktionen von Inschriften und Signalen nennen wir Nachrichten.
Wir repräsentieren Nachrichten in Form von endlichen Zeichenfolgen.
Abstraktion Nachricht
Inschrift, Signal
Beispiel 1: Zeichenfolgen
"Position"
1 Einführung
12
Beispiel 2: Zeichenfolgen
Ein Bild aus roten und weißen Punkten (pixel):
r r r w wr r w w wr w r w ww w w r ww w w w r.
w: weißes Feld,
r:
: neue Zeile.
rotes Feld
r
r
r
w
w
r
r
w
w
w
r
w
r
w
w
w
w
w
r
w
w
w
w
w
r
1 Einführung
13
Zusammenfassung
Nachrichten sind Gegenstände der Informatik.
Signale und Inschriften sind Mittel zur Übertragung bzw. Speicherung von
Nachrichten.
Nachrichten werden durch Zeichenfolgen repräsentiert
Frage bleibt:
Was ist Information ?
1 Einführung
14
Definition: Information, Interpretationsvorschrift
Information ist die einer Nachricht zugeordnete Bedeutung.
Zuordnung erfordert Kenntnis über den Kontext der Nachricht
Kontext-abhängige Ermittlung der Information aus einer Nachricht:
Interpretationsvorschrift.
auslesen Signal
Abstraktion Nachricht
Inschrift
Interpretationsvorschrift Information
Nachricht
1 Einführung
15
Nachricht in verschiedenen Kontexten
Beispiel:
Zeichenfolge "Passat":
Kontext: Automobil
Autotyp
Kontext: Geographie
Wind
1 Einführung
16
Mehrdeutige Nachrichten
Beispiel:
Zeichenfolge "Position einer Person"
Kontext: Betrieb
1. Aufgabenstellung in einem Betrieb
2. Ort, an dem sich ein Mitarbeiter des Betriebs aufhält
Dieser Kontext erzwingt keine eindeutige Interpretation
1 Einführung
17
Inkonsistente Nachrichten
Kontext erlaubt keine Informationsgewinnung:
Beispiel: Ein Kreter sagt: "Alle Kreter lügen"
1 Einführung
18
Aufgabe der Informatik
Kontext definieren
Interpretationsvorschrift ableiten
Mehrdeutigkeiten klären
Inkonsistenzen vermeiden
Jeder Nachricht kann dann im entsprechenden Kontext eine Bedeutung
zugeordnet werden.
1 Einführung
19
Definition: Daten
Datum:
Nachricht, zugeordnete Information
Ein Datum ist eine bedeutungstragende Nachricht.
Interpretationsvorschrift Information
Nachricht
1 Einführung
20
Definition: Datenverarbeitung
Datenverarbeitung: Eine bedeutungstreue Verarbeitung von Nachrichten
1 Einführung
21
Beispiel
Nachricht:
"Dies ist ein Satz."
Sei Verarbeitung: Sortieren der Buchstaben, Satz- und Leerzeichen:
"aDeeiiinSsttz. "
Sei Interpretationsvorschrift: "Deutsche Sprache"
Ergebnis ergibt im Kontext der deutschen Sprache keinen Sinn
Verarbeitung ist nicht bedeutungstreu
1 Einführung
Nachricht:
22
"Dies ist ein Satz."
Sei Verarbeitung: Sortieren der Buchstaben, Satz- und Leerzeichen:
"aDeeiiinSsttz. "
Sei Interpretationsvorschrift: "Zeichenfolge"
Ergebnis ist Zeichenfolge
Verarbeitung ist bedeutungstreu
1 Einführung
23
1.2 Codes und Codierung
Notation:
0
{0,1,2,3,4,} : Menge der natürlichen Zahlen einschließlich der 0
{1,2,3,4,} :
Menge der natürlichen Zahlen
:
Menge der reellen Zahlen
1 Einführung
24
Was wollen wir erreichen?
Wir kennen Zeichenfolgen aus:
lateinischen Buchstaben (+ Trenn- und Satzzeichen)
griechischen Buchstaben
Ziffern
Wie stellt man solche Folgen im Rechner dar?
1 Einführung
25
Gemeinsamkeiten der Beispiele
Darstellung von Nachrichten in Form von Zeichenfolgen über einem endlichen, linear
geordneten Zeichenvorrat A .
Beispiel: Sei
A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Wegen 0 < 1 < 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 ist dieser Zeichenvorrat linear geordnet:
Für jedes Paar von unterschiedlichen Zeichen aus
der beiden Zeichen größer und welches kleiner ist.
A kann gesagt werden, welches
1 Einführung
26
Aus technischen Gründen:
Zeichenvorrat B=
O,L in der Rechnertechnik besonders wichtig
Später genauer; jetzt Festlegung O < L
Die Werte O und L bezeichnen wir auch als Boolesche Werte (nach dem
Mathematiker George Boole 1815-1864).
Ein Element der Menge B=
O,L nennen wir Binärzeichen oder Bit (binary digit).
1 Einführung
27
George Boole 1815-1864
1 Einführung
28
Was wollen wir erreichen?
Wir kennen Zeichenfolgen aus:
lateinischen Buchstaben (+ Trenn- und Satzzeichen)
griechischen Buchstaben
Ziffern
Wie stellt man solche Folgen im Rechner dar?
1 Einführung
29
Wörter, Zahlen
Wörter:
endliche Zeichenfolgen aus beliebigem Zeichenvorrat
Beispiel: Passwort
Zahlen:
%kUNST;Werk!
spezielle endliche Zeichenfolgen aus Ziffern
Darstellung:
Wörter werden geklammert:
Zahlen nicht: 1043
ich bin ein Wort
1 Einführung
30
A *: Menge der endlichen Zeichenfolgen (Wörter, Zahlen) über Zeichenvorrat A
Beispiel:
Sei
A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
{0, 1, ..., 98, 99, 100}
A*
1 Einführung
31
Binärwörter
O,L *
Sonderfall: B * =
Beispiel:
O
Elemente der Menge heißen Binärwörter
, L , OO , OL , LO , LL , OOO ,...
1 Einführung
32
Definition: n-Bit-Wörter
Menge von Binärwörtern mit einer festen Stellenzahl n
:
B =
O,L : n-Bit-Wörter (= n-stellige Binärwörter)
n
nn
Beispiel: Menge der 2-Bit-Wörter:
B =
O,L O,L O,L OO , OL , LO , LL .
n2
2
1 Einführung
33
Mensch und Rechner
Menschen mögen andere Repräsentationen von Nachrichten als Rechner
Abbildung zwischen Wörtern eines menschengerechten Zeichenvorrats
auf einen rechnergerechten Zeichenvorrat
Abbildungen
zwischen Zeichenvorräten A E und
zwischen den Wörtern von Zeichenvorräten A* E *
heißen Codes oder auch Codierung.
berühmt: Caesar Verschlüsselung
ad
be
cf
d g
eh
f i
gj
…….
1 Einführung
34
Code
Code ist (nicht unbedingt eindeutige) Abbildung der Form:
c:
A* E *
1 Einführung
35
Code
Bei Beschränkung auf feste Stellenzahlen:
c: An E m
n,m
mit
Beispiel:
Seien:
A1 0,1, 2, 3,
Codierungs - Abbildung:
E 2 = B2 OO , OL , LO , LL B *
c(0) = OO
c(1) = OL
c(2) = LO
c(3) = LL
1 Einführung
36
Codes mit Wörtern unterschiedlicher Länge
c:
A' E '
mit A ' A * und E ' E *
Beispiel:
Seien:
A ' 0,1, 2, 3,
Abbildung:
B ' O , LO , LLO , LLL B *
c(0) = O
c(1) = LO
c(2) = LLO
c(3) = LLL
unterschiedliche
Stellenzahlen
1 Einführung
37
Einschränkung: Abbildungen seien umkehrbar eindeutig
Umkehrabbildung zum Code c nennen wir Decodierung d
d: c(a): a A ' A ' ,
c(a): a A ' :
Menge aller Wörter, die durch Anwendung der Funktion c auf die
Menge der Elemente aus A ' entstehen
( A ' = Wertevorrat von c)
Bedingung: umkehrbar eindeutig:
für jedes Element
d c a a
a A ':
erst Codierung, dann
Decodierung
1 Einführung
38
Beispiel:
A ' 0,1, 2, 3,
Codierung:
B ' O , LO , LLO , LLL B *
c(0) = O
Decodierung:
d(O) = 0
c(1) = LO
d(LO) = 1
c(2) = LLO
d(LLO) = 2
c(3) = LLL
d(LLL) = 3
d(c(0)) = d(O) = 0
d(c(1)) = d(LO) = 1
d(c(2)) = d(LLO) = 2
d(c(3)) = d(LLL) = 3
1 Einführung
39
Feststellung
Es gibt viele verschiedene Codes, die in eingebetteten Systemen verwendet werden
Auswahl hängt von der Anwendung ab
1 Einführung
40
1.2.1 Codes fester Wortlänge
Binärcodes: jedes zu codierende Zeichen a A auf ein anderes n-Bit-Wort abbilden:
c:A E
Sei:
mit E Bn
erlaubt auch partielle Abbildungen
E : Anzahl der Zeichen in E
Man benötigt mindestens n = log2 E Stellen für die Binärwörter
1 Einführung
41
Logarithmus zur Basis 2
Zahl z log2 (z)
1
0
2
1
3
1.58...
4
2
5
2.32...
6
2.58...
7
2.80...
8
3
1 Einführung
42
Beispiel: ASCII – Code
(ASCII: American Standard Code for Information Interchange)
1 Einführung
43
Beispiel: ASCII – Code
Steuerzeichen
c4 c3 c2c1
BS: Backspace
c7 c6 c5
OOO OOL OLO OLL LOO
OOOO NUL DLE
0
@
OOOL SOH DC1 !
1
A
OOLO STX DC2 "
2
B
OOLL ETX DC3 #
3
C
OLOO EOT DC4 $
4
D
OLOL ENQ NAK %
5
E
OLLO ACK SYN &
6
F
OLLL BEL ETB ´
7
G
LOOO BS CAN (
8
H
LOOL HT EM
)
9
I
LOLO LF SUB *
:
J
LOLL VT ESC +
;
K
LLOO FF FS
,
<
L
LOL LLO LLL
P
`
p
Q
a
q
R
b
r
S
c
s
T
d
t
U
e
u
V
f
v
W
g
w
X
h
x
Y
I
y
Z
j
z
[
k
{
\
l
|
druckbare
Zeichen
1 Einführung
44
Beispiel: ASCII – Code
c ASCII : A B 7
A = {A, B, ..., Z, a, b, ..., z, 0, 1, ..., 9, !, ", ...\}
: 128 Zeichen
52 Groß- und Kleinbuchstaben, 10 Ziffern, 66 Steuer- und Sonderzeichen.
Es gibt 2n n -stellige Binärwörter
n log2 128 = 7
1 Einführung
45
Besondere Eigenschaft von Codes: Hammingabstand
(nach dem Mathematiker Richard Wesley Hamming 1915 -1998).
Seien a, b Binärwörter gleicher Länge n:
a=
anan1 a1 , b = bnbn1 b1
Hammingabstand:
Anzahl der Stellen, in denen sich die Wörter a und b unterscheiden
1 Einführung
46
Richard Wesley Hamming 1915 –1998
1 Einführung
47
Definition: Hammingabstand
Ham_abst:
B ' B '
mit
mit B ' Bn
Ham_abst an an1
Argumente: 2 n-stellige Boolesche Wörter
n
a1 , bn bn1 b1 di ,
wobei
i1
1, falls a b
i
i
di
0 sonst
1 Einführung
48
Definition: Hammingabstand
Ham_abst:
B ' B '
mit B ' Bn
Ham_abst an an1
mit
a1 , bn bn1 b1 di ,
dann sind
a=
OLLOL
und
OOLLL ,
b=
d5 = 0, d4 = 1, d3 = 0, d2 = 1, d1 = 0
und
OLLOL , OOLLL d 0 1 0 1 0 2.
5
Ham_abst
i1
1, falls a b
i
i
di
0 sonst
wobei
Beispiel: Seien
n
i1
i
1 Einführung
49
Definition: Hammingabstand einer Codierungsabbildung c
Sei:
c:A E
mit E Bn
(Code)
Ham_abst(c) = min Ham _ abst c a , c b : a,b A aa b
kleinster Hammingabstand zwischen je zwei unterschiedlichen Binärwörtern c(a)
und c(b) aus E
1 Einführung
50
Typische Werte
Bei vielen Codes ist der Hammingabstand der Codierungsabbildung 1.
Beispiel:
E OO , OL , LO , LL
Ham_abst(OO, OL) = 1
1 Einführung
51
Braucht man überhaupt Codes mit größerem Hammingabstand der
Codierungsabbildung?
Anwendung größerer Hammingabstände:
Fehlererkennung bei Nachrichtenübertragung und- speicherung
1 Einführung
52
Beispiel: Anwesenheits- /Abwesenheitsmelder
anwesend/abwesend
Messeinrichtung
Codierungsabbildung c
Sei:
L
L
L
Störer
Empfänger
Sender
Leitung
A=
anwesend, abwesend
E O,L
c(anwesend) = O
c(abwesend) = L
Hammingabstand der
Codierungsabbildung ist 1
1 Einführung
In der Praxis ist eine dauerhaft fehlerfreie Übertragung über längere
Leitungen unwahrscheinlich
53
1 Einführung
54
Beispiel: Modell der Fehlerentstehung
anwesend/abwesend
L
Messeinrichtung
Kodierungsabbildung c
O
L
O
Störer
Sender
Leitung
Störer
Empfänger
Ein Störer verfälscht im Mittel beispielsweise jeden Millionsten Wert
Sei:
A=
anwesend, abwesend
E O,L
dO = anwesend
Hammingabstand der
Codierungsabbildung ist 1
Empfänger wertet "anwesend"
1 Einführung
55
Frage:
Gibt es die Möglichkeit, auch bei Vorhandensein von Fehlern den "richtigen Wert" zu
schätzen?
1 Einführung
56
Beispiel mit größerem Hammingabstand
Seien:
A=
anwesend, abwesend
E OOO , LLL , d.h. E B3
c(anwesend) = OOO
c(abwesend) = LLL
Empfänger kennt E und
d(OOO) = anwesend
d(LLL) = abwesend
Volksmund: dreifach (doppelt) genäht hält besser
Ham_abst(c) = min{Ham_abst(c(anwesend), c(abwesend)) = 3
Hilft das was?
1 Einführung
57
LLL
Sender
OLL
Störer
A=
anwesend,abwesend
E O,L
OLL kenn
ich nicht
OLL
Empfänger
zulässig:
OOO
LLL
c(anwesend) = OOO
c(abwesend) = LLL
das muss
Fehler erkannt
ein Fehler sein
1 Einführung
58
Welche Stelle ist wahrscheinlich gestört?
Annahme:
Die Verfälschung von zwei Stellen ist unwahrscheinlicher als von nur einer Stelle
LLL
OLL
OLL
Sender
Störer
A=
anwesend,abwesend
Empfänger
zulässig:
OOO LLL
E OOO , LLL
c(anwesend) = OOO
c(abwesend) = LLL
Fehler korrigiert
ich glaub der
meint LLL
Allgemeines Vorgehen bei der Fehlerkorrektur
1 Einführung
59
Korrigiere in das zulässige Codewort, das zum empfangenen den kleinsten
Hammingabstand besitzt
1. Ermittle Hammingabstand des empfangenen Codewortes zu allen Codewörtern
der Menge E
OOO , LLL :
Ham_abst OLL , OOO
Ham_abst
2
OLL , LLL 1
2. Korrigiere in das Wort aus E , zu dem das empfangene Wort die
kleinste Hammingdistanz besitzt:
LLL
Bei der Festlegung von E muss man dafür sorgen, dass die Korrektur für eine
vorgegebene Zahl zu korrigierender Fehler eindeutig ist.
1 Einführung
60
anwesend, abwesend
Beispiel für fehlende Eindeutigkeit: A=
E O,L
c(anwesend) = OO
Empfänger empfange OL
c(abwesend) = LL
Ham_abst OL , OO
1
Ham_abst OL , LL 1
Fehler
erkannt
Es gibt keinen vernünftigen Grund zu einem der beiden zulässigen Codewörter OO oder
LL zu korrigieren
1 Einführung
61
Ergebnis für das Beispiel
keine Verfälschungen Codewörter der Länge 1 reichen aus
Verfälschungen möglich und Erkennen eines Fehlers an einer Stelle des Wortes
reicht aus:
Codewörter der Länge 2
Verfälschungen möglich und Korrektur eines Fehlers an einer Stelle des Wortes wird
gefordert:
Codewörter der Länge 3
1 Einführung
62
Redundanz
A=
anwesend,abwesend
E O,L
cmin (anwesend) = O
cmin(abwesend) = L
Wörter mit minimaler Stellenzahl
cred (anwesend) = OOO
cred(abwesend) = LLL
Wörter mit mehr Stellen als unbedingt
notwendig stellen-redundant
1 Einführung
63
Allgemein
Fehlererkennung erfordert Stellen-Redundanz
Fehlerkorrektur erfordert mehr Stellen-Redundanz
1 Einführung
64
Wir brauchen eine neue Funktion
Rundungsfunktion:
:
mit x x x 1
Beispiel:
Sei
x = 2.7
2.7 = 3:
Beispiel:
Sei
x = 3.0
3 = 3:
2.7 < 2.7 < 2.7 + 1
3 = 3 < 3 + 1
1 Einführung
65
Definition: Stellen-redundante Codes
Ein Code
c:A E
mit E Bn
heißt stellen-redundant, wenn gilt n log2
A
log 2 :
Logarithmus zur Basis 2,
A :
Anzahl der Elemente in
:
Rundung auf die nächst größere ganze Zahl
A
1 Einführung
66
Beispiel: Stellenredundanz
Sei A , ,
Dann gilt:
A = 3,
log A 2 ,
2
Im Beispiel ist jeder Code mit n > 2 stellen-redundant
Redundanz ist nützlich, wenn die zusätzlichen Stellen das Erkennen oder Korrigieren von
möglichen Fehlern erlaubt
1 Einführung
67
Systematische Methode zur Einführung nützlicher Redundanz
Anketten eines "Paritätsbits" an die Wörter der Bildmenge eines redundanzfreien Codes.
Sei
c1 : A Bn
ein stellen-redundanzfreier Code.
Wir konstruieren dazu eine stellen-redundante Codierungsabbildung:
c2 : A E
mit
E Bn1
E Bnn
durch Ankettung eines Paritätsbits.
1 Stelle mehr
gleiche Anzahl von Codewörtern
1 Einführung
68
Was ist ein Paritätsbit?
Hilfsfunktion: Quersumme
qs: Bn
mit qs en en1
n
e1 d i ,
i1
wobei
1, falls e L
i
di
0 sonst
qs(e): Anzahl der Zeichen L in einem Binärwort e (Quersumme)
Beispiel:
qs OLLOLO 3
1 Einführung
69
Was ist ein Paritätsbit?
Funktion pb zur Bestimmung des Wertes des Paritätsbits.
Sei gegeben:
n-stelliges Binärwort e = enen1
pb: Bn B
e1 (frei von Stellenredundanz)
mit:
O,
pb e
L,
falls qs e gerade
falls qs e ungerade
qs: Quersumme
1 Einführung
70
Was ist ein Paritätsbit?
Beispiel: Paritätsbit bestimmen
Seien A , ,
und
c1 = OO ,
c1 = OL ,
pb OO O, da Anzahl der L-Werte = gerade (= 0)
pb OL L , da Anzahl der L-Werte = ungerade (=1)
pb LO L , da Anzahl der L-Werte = ungerade (=1)
c1
=
LO
1 Einführung
71
Was macht man mit einem Paritätsbit
Sei gegeben Code ohne Stellenredundanz:
c1 : A Bn
1. Bestimme für jedes a A das Paritätsbit: pb(c1(a))
2. Bilde für jedes a A : c 2 a c1 a pb c1 a
Operator |: Konkatenation = nebeneinander Anordnen von Wörtern
"Hintendran hängen des Paritätsbits"
1 Einführung
72
Was macht man mit einem Paritätsbit
Sei gegeben Code ohne Stellenredundanz: c1 : A Bn
O, falls qs c a gerade
pb c a
L, falls qs c a ungerade
c 2 a c1 a pb c1 a
Bilde für jedes a A :
1
1
1
Falls Quersumme gerade, häng ein O dran
Falls Quersumme ungerade, häng ein L dran
1 Einführung
73
Bei dieser Definition:
Die Quersumme des Gesamtwortes ist immer gerade
es geht auch: ...ist immer ungerade
1 Einführung
74
Was macht man mit einem Paritätsbit?
Beispiel: Paritätsbit bestimmen
Seien A , ,
und
c1 =
OO , c1 = OL , c1
=
LO
Dann gilt:
=
OO O = OOO
=
OL L = OLL
=
LO L = LOL
c2
c2
c2
OO
da qs OL
da qs LO
da qs
=
0
=
1
=
1
1 Einführung
75
Wirkung von Paritätsbits: Erkennung von Fehlern
ich sende eine
gerade Zahl
von L-Werten
E OOO , OLL , LOL
OOL
OLL
Sender
ich erwarte eine
gerade Zahl
von L-Werten
OOL
Empfänger
Störer
wenn ich eine ungerade Zahl von
Stellen störe, dann merken sie's
gerade + ungerade = ungerade
gerade + gerade = gerade
1 Einführung
76
Leistung des Paritätsbits
Störung von einer ungeraden Zahl von Stellen wird erkannt
Aufwand:
Sei Code ohne Stellenredundanz:
mit Paritätsstelle:
c1 : A Bn
(n Stellen)
(n+1) Stellen
1 Einführung
77
Fehlerkorrektur
Annahme: Maximal eine Stelle sei gestört (Ein-Fehler-Korrektur)
Hier nur ein sehr einfaches und schlechtes Verfahren
(braucht mehr redundante Stellen als bessere Verfahren)
1 Einführung
78
Erste Möglichkeit: Verdreifachung
Sei
c1 : A Bn
ein stellen-redundanzfreier Code.
Wir konstruieren dazu eine stellen-redundante Codierungsabbildung:
c2 : A E
mit
E B3n
E Bnn
2n Stellen mehr
gleiche Anzahl von Codewörtern
Jedes redundanzfreie Codewort wird dreimal gesendet:
für jedes a A : c2(a) = c1 a c1 a c1 a
1 Einführung
79
Auswertung der Dreifachsendung
Annahme: maximal eine Stelle sei gestört
Nur einer der drei Teile des empfangenen Wortes kann gestört sein
c2'(a) = c1 a c1 ' a c1 a
c2(a) = c1 a c1 a c1 a
Gesendetes Wort:
Empfangenes Wort sei:
Vergleich der drei Teilwörter und Mehrheitsentscheid:
Mit großer Wahrscheinlichkeit wurde c1(a) gesendet
1 Einführung
80
Auswertung der Dreifachsendung
Beispiel:
ASCII-Code
Sei Empfang:
c1(A) = LOOOOOL
c2'= LOOOOOL LOOLOOL LOOOOOL
Decodierungsabbildung:
Vergleich der Teilwörter mit Mehrheitsentscheid:
zweimal: LOOOOOL
einmal: LOOLOOL
d(c2') = LOOOOOL
1 Einführung
81
Zweiter Weg für Ein-Fehler-Korrektur
Sei
c1 : A Bn
ein stellen-redundanzfreier Code.
Wir konstruieren dazu eine stellen-redundante Codierungsabbildung:
c2 : A E
mit
E B2n1
E Bnn
n+2 Stellen mehr
gleiche Anzahl von Codewörtern
Jedes redundanzfreie Codewort erhält eine Paritätsstelle und wird dann doppelt gesendet:
c a pb c a
für jedes a A : c2(a) = c1 a pb c1 a
1
1
1 Einführung
82
Zweiter Weg für Ein-Fehler-Korrektur: Beispiel
Beispiel:
ASCII-Code
c1(A) = LOOOOOL
Paritätsbit:
pb c1 A = O
Sendung:
Sei Empfang:
LOOOOOL O LOOOOOL O
c2'(A) = LOOOLOL O LOOOOOL O
Auswertung?
1 Einführung
83
Auswertung
Sei Empfang:
c2'(A) = LOOOLOL O LOOOOOL O
1. Getrennte Überprüfung der Paritätsbits:
a. LOOOLOL O Paritätsbit fehlerhaft (Quersumme 0 gefordert)
b. LOOOOOL O Paritätsbit korrekt
2. Decodierungsabbildung: Wahl des Codeworts mit korrektem Paritätsbit
d(c2'(A)) = LOOOOOL
1 Einführung
84
Vergleich der beiden Alternativen
Korrekturleistung:
1 Fehler kann korrigiert werden
redundante Stellenzahl:
1. Verdreifachung:
2n
2. Paritätsbit + Verdopplung
n+2
Es gibt Codierungsabbildungen mit der gleichen Korrekturleistung, die weniger redundante
Stellen benötigen
Mathematik
1 Einführung
85
1.2.2 Zahlendarstellung
Hier einfachste Grundlagen; später mehr
Wir brauchen das, um später Schaltungen zu entwickeln, die rechnen können.
1 Einführung
86
Dezimalzahlenssystem
Basis B = 10
Ziffern: alle Werte aus
0
im Bereich 0 bis B – 1
Wörter über der Menge der Ziffern {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}:
Zahl (Ziffernfolge):
287
zugehöriger Wert:
z.B. 287
2*102 + 8*101 + 7*100
= Stellenwertsystem
1 Einführung
87
Stellenwertsysteme
Funktion wertB liefert zu einer Zahl mit der Basis B den zugehörigen Wert
n
wert10: 0,1, 2, 3, 4, 5, 6, 7, 8, 9
0
n
mit wert10 zn zn1
wert2: {0,1}n
z1 zi * 10i1
i1
0
mit wert2 an an1
n
a1 ai * 2i1
i1
Dezimalzahlen:
nachgestellter Index 10
Dualzahlen:
nachgestellter Index 2
1 Einführung
88
Beispiel: Zahlen 1110 und 112
wert10 1110
wert2 112
=
1*101 + 1*100
=
1*21 + 1*20
Bei Einhaltung der angegebenen Randbedingungen ist jeder Zahl in einem
Stellenwertsystem umkehrbar eindeutig ein Wert zugeordnet.
Zahlen verschiedener Basen lassen sich ineinander umrechnen.
1 Einführung
89
Wandlung Dualzahl Dezimalzahl
n
1. Berechne die Summe
ai * 2i1 unter Anwendung der Rechenregeln
i1
im Dezimalzahlensystem.
Beispiel:
100102
=
1*24 + 0*23 + 0*22 + 1*21 + 0*20
10
= 1610 + 210
= 1810
1 Einführung
90
1. 3 Wichtige Begriffe
Bit: Ein Element der Menge
B=
O,L
Binärzeichen = Bit
Code: (nicht unbedingt eindeutige)
c:
A
Abbildung der Form:
A* E *
* und E * Wörter aus Zeichenvorräten A bzw. E
Codierung = Code
Codewort: endliche Zeichenfolgen aus beliebigem Zeichenvorrat
Daten: Ein Datum ist eine bedeutungstragende Nachricht
1 Einführung
91
Datenverarbeitung: bedeutungstreue Verarbeitung von Nachrichten
Decodierung: Umkehrabbildung zum Code c nennen wir Decodierung d
d: c(a): a A ' A ' ,
Dualzahl: Zahl im Stellenwertsystem mit der Basis 2
Fehlererkennung: empfangenes Codewort gehört nicht zu den vereinbarten; Paritybit kann erkennen, wenn eine ungerade Zahl von
Stellenverfälschungen aufgetreten ist.
1-Fehlerkorrektur: Bestimmung der Stelle eines Codewortes, die am
wahrscheinlichsten gestört wurde und Veränderung dieser Stelle
von O nach L oder von L nach O.
Hammingabstand: Anzahl der Stellen, in denen sich zwei Binärwörter
a und b unterscheiden
1 Einführung
92
Inschrift: dauerhafte Darstellung
Magnetplattenspeicher)
einer
Interpretationsvorschrift: kontextabhängige
aus einer Nachricht
Konkatenation von Wörtern: a1a2 ....am
Mitteilung
Ermittlung
(Beispiel
der
Information
b1b2....bn a1a2....amb1b2....bn
Nachricht: Abstraktionen von Inschriften und Signalen
Paritätsbit: Berechnungsvorschrift: pb: Bn B
O, falls qs e gerade
pb e
L, falls qs e ungerade
mit:
qs: Quersumme
Repräsentation von Nachrichten: endliche Zeichenfolgen
auf
1 Einführung
93
Schriftträger: Medium zur dauerhafte Darstellung einer Mitteilung
Signal: zeitliche Veränderungen einer physikalischen Größe
Stellenredundanz:
Ein Code
c:A E
mit E Bn
heißt stellen-redundant, wenn gilt
n log2 A
Wert von Zahlen in Stellenwertsystemen:
Beispiel Dezimalzahl:
zn zn1
n
z1 zi * 10i1
i1