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