1 Einführung - Warum E

Werbung
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 wr r w w wr w r w ww w w r ww 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
ad
be
cf
d g
eh
f i
gj
…….
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=
anan1 a1 , b = bnbn1 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 an1
Argumente: 2 n-stellige Boolesche Wörter

n
a1 , bn bn1 b1   di ,
wobei
i1
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 an1
mit

a1 , bn bn1 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
i1
1, falls a  b
i
i
di  
0 sonst
wobei
Beispiel: Seien
n
i1
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
dO = 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  Bn1
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 en1

n
e1   d i ,
i1
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 = enen1
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  B2n1
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 zn1
wert2: {0,1}n

z1    zi * 10i1
i1
0
mit wert2 an an1
n
a1    ai * 2i1
i1
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 * 2i1 unter Anwendung der Rechenregeln

i1
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 zn1
n
z1    zi * 10i1
i1
Herunterladen