Script Informations- und Codierungstheorie. Martin Ruppert

Größe: px
Ab Seite anzeigen:

Download "Script Informations- und Codierungstheorie. Martin Ruppert"

Transkript

1 Script Informations- und Codierungstheorie Martin Ruppert 9. Juni 2015

2 Inhaltsverzeichnis 1 Informationstheorie Das Nachrichtenübertragungsystem Die Informationsquelle Der Sender Der Kanal Der Empfänger Die Informationssenke Störungen Erforderliche Kenngrößen Signale und Information Kontinuierliche und diskrete Signale Informationsspeicherung Informationsmaße Der Informationsgehalt Tatsächliche Information pro Symbol Gewonnene Information pro Nachricht Statistisch abhängige Ereignisse Zustandsdiagramme Codierung Aufgaben und Grundbegriffe der Codierung Binäre Blockcodes für Zahlen und Textzeichen Dualzahlen und Zweierkomplement BCD-Codes, Gray-Codes, Oktal- und Hexadezimaldarstellung Code Tabellen (ASCII, ISO-7-Bit-Code, DIN 66003) Quellencodierung Decodierbarkeit und Codes mit Präfix-Eigenschaft Redundanzsparende Codes von Shannon, Huffman und Fano Die Codierung nach Shannon Codierung nach Huffman ii

3 Inhaltsverzeichnis Inhaltsverzeichnis iii Codierung nach Fano Redundanzreduktion durch Codeumschaltung Praktische Einsatzgebiete und Realisierungen Verlustfreie Datenkompression bei bekannter Quellenstatistik Verlustfreie Datenkompression bei wenig bekannter Quellenstatistik Verlustfreie Datenkompression bei unbekannter Quellenstatistik Kanalcodierung Grundlagen Verfahren zur Fehlererkennung und Korrektur Die einfache Paritätskontrolle Das Verfahren von Hamming Geometrische Deutung des Coderaumes Dicht gepackte Codes und Hamming-Grenze Lineare Codes Mathematische Grundlagen Binäre Matrizen Generator-und Kontrollmatrix eines Codes Der Syndromvektor bzw. das Syndrom Kontrolloperation auf Codezugehörigkeit Das Fehlerwort Hamming-Codes Zyklische Codes Generator- und Kontrollpolynom Das Fehler- und Syndrompolynom

4 Literaturverzeichnis [Duske] Duske, J.; Jürgensen, H.: Codierungstheorie. BI. [Dworatschek] Dworatschek, S.: Grundlagen der Datenverarbeitung, de Gruyter, Berlin, New York, ISBN [Grams] [Kameda] [Krupstedt] [Peterson] [Rembold] Grams, T.: Codierungsverfahren. BI. Kameda, T.; Weihrauch, K.: Einführung in die Codierungstheorie. BI. Krupstedt, U.; Sauer, J.: Informatik für Ingenieure. Teubner. Peterson: Übergrüfbare und korrigierbare Codes, Hanser. Rembold, U. (Hrsg.): Einführung in die Informatik für Naturwissenschaftler und Ingenieure, Carl Hanser, München, Wien, ISBN [Sedgewick] Sedgewick, R.: Algorithmen; Addison-Wesley Bonn ISBN iv

5 Kapitel 1 Informationstheorie Information muss von einer Quelle zu einem Bestimmungsort übertragen werden. Bei allen Arten der Informationsübertragung entstehen Fehler, wodurch Möglichkeiten für Missverständnisse und Fehlinterpretationen eröffnet werden. Ein Gesellschaftsspiel bei dem eine Nachricht der Reihe nach von einem Mitspieler zum nächsten geflüstert wird, ist ein regelmäßig lustiges und anschauliches Beispiel dafür. Informations- und Codierungstheorie behandeln Probleme, die bei der Übertragung von Nachrichten auftreten. Beispiele für Nachrichtenübertragungssysteme bzw. Kommunikationssysteme aus dem Bereich der Technik sind Rundfunk, Fernsehen, Telefon usw. Aber auch Systeme, die Information speichern (Platte, Magnetband, Film) können als Nachrichtenübertragungssysteme aufgefasst werden. Ziel der Codierungstheorie ist es herauszufinden, wie Nachrichten möglichst schnell, sicher 1 und möglichst billig 2 übertragen bzw. gespeichert und wieder gelesen werden können. 1.1 Das Nachrichtenübertragungsystem Um die Methoden und Mängel der Übertragung untersuchen zu können, muss das System zunächst in seine Teile zerlegt werden, wie in Abbildung 1.1 auf Seite 6 dargestellt. Dieses einfache Modell ist geeignet, wichtige Eigenschaften der meisten Kommunikationssysteme zu beschreiben, und damit auch zu untersuchen. Es liefert auch eine Zerlegung des gesamten Fragenkomplexes in Teilfragen, und erleichtert damit die mathematische Behandlung. Nachrichten durchlaufen das System von der Quelle über den Sender (Quellencodierung, Kanalcodierung), den Kanal, den Empfänger (Kanaldecodierer, Quellendecodierer) zur Informationssenke, bzw. dem Bestimmungsort. 1 D.h. fehlerfrei. 2 D.h. mit wenig Aufwand. 5

6 Kapitel 1. Informationstheorie 1.1 Das Nachrichtenübertragungsystem 6 Nachricht Sendesignal Stoerung Empfangssignal Nachricht Nachrichten quelle Sender (codierer) K a n a l Empfaenger (Decodierer) Nachrichten senke Quellen codierer Kanal codierer Kanal decodierer Quellen decodierer Abbildung 1.1: Einfaches Modell eines Kommunikationssystems Die Störungen im Kanal werden durch eine Störquelle beschrieben. Die Störquelle wird meist als Bestandteil des Kanals angenommen Die Informationsquelle Die Informationsquelle, oder kurz Quelle, ist die Stelle im Kommunikationssystem, an der die Nachrichten erzeugt werden. Für das Modell wichtig sind aber nur Struktur und Statistik der Nachrichten, die von der Quelle zum Codierer gelangen. Durch Angabe von Struktur und Statistik der erzeugten Nachrichten wird die Quelle im Modell definiert. Man teilt Quellen ein nach der Art der Signale, nämlich kontinuierliche, wie beispielsweise der Rundfunk, und diskrete, wie Telegrafie, oder Rechner. Bei der mathematischen Behandlung werden wir uns nur mit diskreten Quellen beschäftigen, d.h. Quellen mit diskretem Signalvorrat. Dann wird die Quelle im Modell vollständig definiert durch die Angabe der wahrscheinlichkeitstheoretischen Eigenschaften der erzeugbaren Signalfolgen. In der Anwendung besteht das Problem häufig darin, dass diese Eigenschaften nur unzureichend bekannt sind, bzw. auch sich mit der Zeit ändern, wie z.b. bei der natürlichen Sprache Der Sender In den meisten Fällen können die von der Quelle erzeugten Signalfolgen nicht direkt vom Kanal übertragen werden, da im Kanal andere Symbole als in der Quelle verwendet werden. Beispielsweise kann ein Binärsignal mit den Symbolen 0 und 1 nicht direkt in die Buchstaben des lateinischen Alphabets übertragen werden. Es muss ein Codierer zwischen die Quelle und den Kanal geschaltet werden, der die Nachrichten aus dem sogenannten Quellenalphabet in das Kanaleingangsalphabet übersetzt. Daneben kann der Codierer zwei weitere wichtige Aufgaben erfüllen, nämlich

7 Kapitel 1. Informationstheorie 1.2 Störungen 7 die Datenkompression unter mehr oder weniger exakter Erhaltung der Information, und den Schutz der Nachrichten vor Übertragungsfehlern im Kanal. Die Datenkompression wird vom Quellencodierer ausgeführt. Im Kanalcodierer werden den Nachrichten Kontrolldaten zugefügt, um Störungen im Kanal möglichst unschädlich zu machen. Beide Möglichkeiten werden wir im weiteren Verlauf der Vorlesung untersuchen Der Kanal Bei ihm wollen wir uns nur für sein Ein- Ausgabeverhalten für diskrete Symbole interessieren. Dieses Verhalten wird bestimmt durch die innere Struktur des Kanals Der Empfänger Am Ausgang des Kanals müssen die erhaltenen Nachrichten decodiert werden. Der Kanaldecodierer macht die Kanalcodierung rückgängig und führt gleichzeitig eine Fehlerkorrektur durch. Der Quellendecodierer macht die Quellencodierung rückgängig und führt die Nachricht dem Bestimmungsort oder der Informationssenke zu Die Informationssenke Sie verwendet die Nachricht gemäß ihrer Bedeutung. Dieser semantische Aspekt spielt allerdings in all den im Rahmen dieser Vorlesung behandelten Aspekten keine Rolle. 1.2 Störungen Ein Nachrichtenübertragungssystem soll die Informationen vollständig und fehlerlos von der Quelle zum Bestimmungsort übertragen. Leider sind praktische Übertragungssysteme nicht so ideal, denn kein praktisches System überträgt Information störungsfrei. Im Kanal treten gewöhnlich Störungen auf, wobei einige übertragene Kanalsymbole verändert werden. 3 In der Praxis werden die Nachrichten im Kanal meist durch kontinuierliche Signale, wie beispielsweise Radiowellen, übertragen. Der Kanal muss dann am Eingang einen Modulator enthalten, der die diskreten Eingangssymbole auf die Trägerwelle moduliert, und am Ausgang einen Demodulator, der die Ausgabesymbole aus den modulierten Signalen erzeugt.

8 Kapitel 1. Informationstheorie 1.3 Erforderliche Kenngrößen 8 Diese Störungen werden im Modell durch eine Störquelle beschrieben. Unabhängige Störungen 4 liegen vor, wenn die einzelnen Symbole statistisch unabhängig voneinander gestört werden. Häufig treten Bündelstörungen 5 auf. Dabei wird jeweils eine ganze Folge von Symbolen verändert, z.b. bei Blitzeinschlag in eine Telegrafenleitung oder bei einem Magnetbandfehler bei Datenspeicherung auf einem Band. Um die Güte eines benutzten Übertragungsverfahrens zu messen, müssen einige Begriffe quantifiziert und einige Fragen geklärt werden: wie misst man Information? wie misst man die Kapazität eines Kanals? wie charakterisiert man Störungen und in welchem Maße kann man Störungen durch Codierung unwirksam machen? was ist eine effiziente Codierung? 1.3 Erforderliche Kenngrößen Bei näherer Betrachtung der Informationsübertragung müssen folgende Punkte untersucht und die entsprechenden Maße gefunden werden: die Informationsmenge die maximale Informationsmenge, die über einen Kanal geschickt werden kann die Wirksamkeit des Codierungsvorgangs 1.4 Signale und Information Kontinuierliche und diskrete Signale Manche Signale sind auf den ersten Blick kontinuierlich, d.h. ihre Amplituden können irgend einen beliebigen Momentanwert annehmen. Die Änderungsgeschwindigkeit des Momentanwertes kann ebenfalls beliebig sein. Bei hinreichend genauer Betrachtung erweist sich, dass sie in Wirklichkeit keineswegs kontinuierlich sind, im Extremfall unter quantenphysikalischer Betrachtungsweise. 4 engl.: random or independent noise 5 engl.: burst noise

9 Kapitel 1. Informationstheorie 1.4 Signale und Information 9 Deshalb ist die Annahme möglich, dass Signale aller Art diskreter Natur sind, und dass sie sich vor allem durch den Grad ihres Diskretseins unterscheiden. Bei der Erörterung diskreter Signale muss das Rauschen sorgfältig studiert werden. Beispielsweise hängt die Zahl der verschiedenen diskreten Stufen eines Signals, das für die Signalübertragung von einem System benutzt wird, vom Pegel der vorhandenen Störungen und des Rauschens ab. Das Hauptinteresse der Informationstheorie richtet sich auf die Fähigkeit verschiedener Systeme Information zu übertragen, d.h. auf die Übertragung von Nachrichten, und nicht auf ihre Erzeugung Informationsspeicherung In der Informationstheorie ist weniger die gerade erzeugte Nachricht von Bedeutung, als vielmehr die Nachrichtenarten, die mit dem jeweiligen Übertragungssystem möglich sind. Beispielsweise überträgt ein System, das die Nachrichten vorwärts, halt und umkehren übertragen kann, mehr Information als ein System, das nur über die beiden Nachrichten gehen und halt verfügt. Wir wollen nun die Fähigkeit der Speicherung von Informationen anhand eines einfachen Beispiels betrachten. Beispiel 1.1 Drei Schalter a, b, c von denen jeder zwei Stellungen x und y hat, haben zusammen acht mögliche verschiedene Zustände. Z A B C 1 x x x 2 x x y 3 x y x 4 x y y 5 y x x 6 y x y 7 y y x 8 y y y In Abbildung 1.2 auf Seite 10 ist dargestellt, wie drei Schalter acht Lampen steuern können, wobei zu beachten gilt, dass 8 = 2 3 ergibt. Entsprechend haben M Zweiwegeschalter insgesamt 2 M mögliche verschiedene Zustände. Daraus ist ersichtlich, dass M Schalter dazu verwendet werden können um einen von 2 M verschiedenen Stromkreisen auszuwählen.

10 Kapitel 1. Informationstheorie 1.4 Signale und Information 10 a b c Abbildung 1.2: Eins aus acht Auswahl eines Stromkreises mit drei Zweiwegeschaltern

11 Kapitel 1. Informationstheorie 1.4 Signale und Information 11 Damit kommen M Schalter auch in Frage 2 M verschiedene einfache Tatsachen festzulegen. Aufgabe 1.1 Überlegen Sie sich die Auswahlmöglichkeiten, die mit M 2,..., n- wegeschaltern zu realisieren sind. Lassen Sie M von 1 bis 4 laufen. Wie ändert sich das Ergebnis, wenn Schalter 1 beispielsweise ein Zweiwegeschalter, Schalter 2 ein Dreiwegeschalter,..., ist? Ist die Zahl der möglichen Zustände D, so wird die erforderliche Anzahl M von Schaltern aus D = 2 M ermittelt, so dass sich M = ld(d) ergibt, wenn der Logarithmus zur Basis zwei genommen wird. Diese Festlegung ist aber nur dann sinnvoll, wenn D eine Zweier-Potenz ist, da M eine ganze Zahl sein soll. Hier wird die Einführung des Logarithmus zur Basis zwei bei der Behandlung der Speicherung von Information erkennbar, da im Beispiel Schalter mit zwei möglichen Stellungen eingesetzt wurden Informationsmaße Information wird mit Hilfe von Symbolen übertragen. Jedes Symbol kennzeichnet irgend etwas. Es kann z.b. eine Zahl oder einen Buchstaben des Alphabets darstellen. Das Symbol könnte z.b. auch ein besonderes Ereignis darstellen. Man kann sagen, dass sich die Informationstheorie mit nominellen Daten beschäftigt. Das Interesse richtet sich also mehr auf Symbole oder Kennzeichen als auf physikalische Größen, die gemessen werden können. Unter der Annahme, dass S verschiedene Symbole vorhanden sind, die alle mit gleicher Wahrscheinlichkeit auftreten, und dass jede empfangene Nachricht M Symbole enthält, die nicht alle notwendigerweise verschieden sind, gibt es D = S M mögliche verschiedene Nachrichten, die das System verarbeiten kann. Ein einfaches Beispiel ist ein binärer Code mit vier Elementen, bei dem zwei verschiedene Symbole 1 und 0 vorhanden sind, so dass S = 2 ist. Jedes Wort des Codes beinhaltet vier binäre Symbole, so dass M = 4 ist. Die verschiedenen möglichen Nachrichten sind 0000, 0001,..., 1110, Man kann daraus erkennen, dass es 16 verschiedene mögliche Nachrichten gibt, von denen jede M(= 4) von S(= 2) gleichwahrscheinlichen Symbolen enthält, also D = 16 = 2 4 = S M. Bei zwei derartigen verschiedenen Nachrichten gibt es insgesamt S 2M = 16 2 = 256 mögliche Nachrichten. Es könnten auch M = 4 Zweiwegeschalter (S = 2) verwendet werden, um aus D = S M = 2 4 = 16 verschiedenen Stromkreisen einen auszuwählen, während die

12 Kapitel 1. Informationstheorie 1.4 Signale und Information 12 doppelte Anzahl (2M = 8) von Zweiwegeschaltern (S = 2) verwendet werden könnte, um einen aus D = 2 2M = 2 8 verschiedenen Stromkreisen auszuwählen. Beispiel 1.2 Nehmen wir an, dass drei gleichwahrscheinliche Symbole A, B, C zugelassen sind, so dass S = 3 ist. Jede Nachricht soll ebenfalls drei Symbole enthalten, so dass auch M = 3 ist. Die verschiedenen möglichen Nachrichten sind dann AAA, AAB, AAC, ABA,..., CCC. Somit ist in diesem Fall die Zahl der verschiedenen möglichen Nachrichten D = S M = 3 3 = 27. Jede mögliche Nachricht enthält M = 3 Symbole der S = 3 angegebenen gleichwahrscheinlichen Symbole. Wegen D = S M ist log 2 D = M log 2 S. Hier wird wiederum der Logarithmus zur Basis zwei verwendet, der auch als dyadischer Logarithmus bzw. Logarithmus dualis bezeichnet und als ld(...) geschrieben wird. In diesem Fall wird der Informationsgehalt einer Nachricht in bit 6 angegeben. Eine andere Einheit, die weitaus weniger verbreitet ist als das bit, ist die natürliche Einheit oder nat, die den Logarithmus naturalis ln, also den Logarithmus zur Basis e anstelle des Logarithmus zur Basis zwei verwendet. Existiert nur ein binäres Symbol, so dass M = 1 ist, dann kann das Symbol einen von zwei gleichwahrscheinlichen Werten 0 und 1 annehmen, somit ist die Zahl der verschiedenen Symbole S = 2. Dann ist M log 2 S = M log 2 2 = 1. Für den Fall von zwei aufeinanderfolgenden Symbolen pro Nachricht wird die pro Nachricht übermittelte Information verdoppelt. In diesem Fall ist M log 2 S = 2 log 2 2 = 2. Bei drei Symbolen pro Nachricht ist M = 3 und somit M log 2 S = 3 log 2 2 = 3. Der Betrag der Information ist somit proportional zur Anzahl der aufeinanderfolgenden Symbole, wenn dieses logarithmische Informationsmaß verwendet wird. Jedes der Symbole wird aus S insgesamt zugelassenen verschiedenen gleichwahrscheinlichen Symbolen ausgewählt. Nehmen wir S = 4 zugelassene Symbole an, die alle mit gleicher Wahrscheinlichkeit auftreten und unterschiedlich sind. Dann ist für ein Symbol M = 1 und S = 4 7. In diesem Fall ist M log 2 S = 1 log 2 4 = 2. Auch hier führt die Verwendung dieses Informationsmaßes zu einem Betrag, der proportional zur Anzahl der aufeinanderfolgenden Symbole einer Nachricht ist. 6 aus dem engl.: binary digit 7 Beispiel: Aminosäuren der DNA

13 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 13 Beispiel 1.3 Die Zahl S der verschiedenen zulässigen gleich wahrscheinlichen Symbole sei vier, die Symbole seien a, c, g, t. Sind M = 2 Symbole pro Nachricht vorhanden, dann sind die möglichen verschiedenen Nachrichten, die alle mit gleicher Wahrscheinlichkeit auftreten: aa ca ga ta ac cc gc tc ag cg gg tg at ct gt tt Demnach gibt es 16 mögliche verschiedene Nachrichten: D = S M = 4 2 = 16. Hier ist M log 2 S = 2 log 2 4 = 4 = log 2 D. Wie wir bereits oben gesehen haben, müssen bei einem einfachen binären System, wobei S=2 ist, insgesamt vier aufeinanderfolgende Symbole verwendet werden, um 16 verschiedene Nachrichten zu übermitteln. Hier ist D = S M = 2 4 = 16 und M log 2 S = 4 log 2 2 = 4 = log 2 D. Wenn also ein solches logarithmisches Informationsmaß verwendet wird, so kann man sagen, dass ein Wort, z.b. cc, in einem System genausoviel Information überträgt, wie ein Wort, z.b. 1010, in einem anderen System. Beide Systeme enthalten eine Auswahl von 16 verschiedenen Möglichkeiten. 1.5 Der Informationsgehalt Wir wollen nun den Informationsgehalt von Nachrichten definieren, die Symbole enthalten, von denen der Empfänger weiß, dass sie nicht alle mit gleicher Wahrscheinlichkeit auftreten. Der Empfänger besitzt in einem solchen Fall also eine a priori Kenntnis über die Wahrscheinlichkeit für das Auftreten verschiedener Symbole, ehe er überhaupt ein Signal empfängt. Die neue Information, die man durch den Empfang der Nachricht erhalten kann, wird deshalb um den Betrag der Vorkenntnis verringert, in der Nachricht liegt weniger Überraschung. Nehmen wir zunächst an, dass nur zwei mögliche Symbole A und B existieren, und dass der Empfänger weiß, dass die Wahrscheinlichkeiten P (A) und P (B) der beiden Symbole ungleich sind. Sowohl P (A) als auch P (B) können in Abhängigkeit von S ausgedrückt werden, und zwar in Form von Brüchen: P (A) = m S ; P (B) = n S. Existieren nur zwei mögliche Symbole A und B, so ist P (A) + P (B) = m S + n S = m+n S = 1. Hier ist S = m + n, womit die Teilwahrscheinlichkeiten in der Form P (A) = m m+n ; P (B) = n m+n geschrieben werden können.

14 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 14 Im vorliegenden Fall ist dem Empfänger a priori bekannt, dass die (m + n) Symbole nicht alle unterschiedlich sind. Jedes muss entweder ein A oder ein B sein. Diese Vorkenntnis vermindert die hervorgerufene Überraschung und vermindert deshalb beim Empfang jedes der Symbole A und B die zum Empfänger übertragene Information. Die empfangene Information kann so aufgefasst werden, als ob sie um den Betrag der dem Empfänger zur Verfügung stehenden Vorinformation verringert wäre, d.h. die übertragene Information entspricht der Gesamtinf ormation V orinf ormation. Die Wahrscheinlichkeit für das Auftreten eines jeden der (m + n) gleichwahrscheinlichen Symbole A 1,...,A m ; B 1,..., B n ist 1 m + n = P (A µ) = P (B ν ). Beim Empfänger ist a priori bekannt, dass m der (m + n) Symbole ein A sind. Die Größe m P (A µ ) = m m+n = P (A) ist somit der Teil von Symbolen, die ein A sind. Hier wird angenommen, dass dieser Anteil dem Empfänger a priori bekannt ist. Die Vorinformation, die vom Empfänger bei Erhalt dieser Vorkenntnis zu einem früheren Zeitpunkt erlangt wurde, ist m P (A µ ) log 2 m = m m + n log 2 m = P (A) log 2 m bit Symbol. Ist dem Empfänger bekannt, dass n der (m+n) Symbole ein B sein werden, dann kann die Vorinformation, die früher vom Empfänger in Form dieser Vorkenntnisse erlangt wurde, als n P (B ν ) log 2 n = n m + n log 2 n = P (B) log 2 n bit Symbol ausgedrückt werden. Um die tatsächliche Information pro empfangenem Symbol zu erhalten, muss der Gesamtbetrag der Vorinformation pro Symbol abgezogen werden. Deshalb ist die tatsächliche Information pro Symbol, die beim Empfang erlangt wurde, gegeben durch: I i I i = Gesamtinformation V orinformation = log 2 (m + n) V orinformation

15 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 15 Es ist aber oder: I i = log 2 (m + n) m m + n log 2 m I i = m + n m + n log 2(m + n) I i = + m m + n log 2(m + n) + n m + n log 2(m + n) n m + n log 2 n m m + n log 2 m m m + n log 2 m n m + n log 2 n I i = m m + n ( log 2(m + n) + log 2 m) n m + n ( log 2(m + n) + log 2 n) I i = m ( ) m m + n log 2 n m + n m + n log 2 m m+n = P (A) und n m+n ( n m + n log 2 n n m + n = P (B). Eingesetzt ergibt sich: I i = P (A) log 2 P (A) P (B) log 2 P (B) I i = i=b i=a P (i) log 2 P (i) bit symbol. ) bit symbol. Enthält eine lange Nachricht eine große Zahl M dieser Symbole, so ist die in ihr enthaltene Gesamtinformation: I = M i=b P (i) log 2 P (i) bit. i=a Betrachten wir ein einfaches Nachrichtenübertragungssystem, bei dem es nur zwei mögliche Symbole A und B gibt, bei denen aber die Wahrscheinlichkeit für das Auftreten der beiden Symbole nicht gleich sind. Die beiden Wahrscheinlichkeiten seien: P (A) und P (B), sie müssen zusammen Eins ergeben, so dass P (B) = 1 P (A) ist. In diesem Fall ist die mittlere Information pro Symbol: I i = ν P (i) log 2 P (i) = P (A) log 2 P (A) P (B) log 2 P (B) i=1 bit symbol. Diese Beschreibung kann auf verschiedene Weisen geschrieben werden, die alle gleichwertig sind: I i I i = P (A) log 2 P (A) (1 P (A)) log 2 (1 P (A)) bit symbol. = P (A) log 2 P (A) log 2 (1 P (A)) + P (A) log 2 (1 P (A)) bit symbol.

16 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 16 Nehmen wir beispielsweise an, dass P (A) = 0, 2 und P (B) = 0, 8 ist, dann ist I i = 0, 2 log 2 0, 2 0, 8 log 2 0, 8 = 0, 72, vgl Abbildung 1.3 auf Seite 16. bit symbol Abbildung 1.3: Shannon-Wiener Funktion für zwei Symbole Die Kurve hat bei P (A) = 0.5, d.h., wenn beide Symbole mit gleicher Wahrscheinlichkeit auftreten, ein Maximum. Tritt das Symbol A mit großer Wahrscheinlichkeit auf, so erhält man wenig Information, wenn es auftritt. Tritt A mit Sicherheit auf, so erhält man keinerlei Information, wenn A auftritt. Entsprechendes gilt umgekehrt für B. Diese Überlegungen können auf mehr als zwei Symbole ausgedehnt werden, die nicht mit gleicher Wahrscheinlichkeit auftreten, z.b. i = a, b, c,..., n. Im Allgemeinen ist die mittlere Information I i in bit/symbol durch: I i = i=n i=a P (i) log 2 P (i) bit symbol (1.1) gegeben. Diese Gleichung ist als Shannon-Wiener sches Gesetz bekannt. Es ist zu beachten, dass die Summe niemals negativ sein kann, weil alle Wahrscheinlichkeiten kleiner als Eins und ihre Logarithmen deshalb negativ sind. Dieser mittlere Informationsgehalt pro Symbol (I i ) 8 wird auch als Entropie bezeichnet. Die Bezeichnung Entropie für den mittleren Informationsge- halt pro Symbol wurde von Shannon übernommen, da hier derselbe statistischmathematische Apparat benutzt wird wie in der Thermodynamik. 8 Die mittlere Information pro Symbol wird häufig auch mit dem Symbol H bezeichnet, vgl. auch Abschnitt 2 ab Seite 28.

17 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 17 Wenn alle Symbole mit gleicher Wahrscheinlichkeit auftreten, ist die Wahrscheinlichkeit P (i) eine Konstante. P (i) = P k = 1 S, wobei es S gleichwahrscheinliche verschiedene Symbole gibt. In diesem Fall ist die mittlere Information pro Symbol: I i = S P i log 2 P i i=1 = P k log 2 P k = S P k log 2 P k = S S log 2 P k bit symbol. = log 2 P k = + log 2 S bit symbol. Die Gesamtinformation, die in einer langen Nachricht enthalten ist, die aus einer großen Zahl M von Symbolen i=a,b,c,...,n besteht, ist bit. I = M i=n i=a P (i) log 2 P (i) Beispiel 1.4 Wieviel Information wird durch das Werfen einer Münze übertragen? Die Wahrscheinlichkeiten sind hier 0,5, so dass I i = i=zahl i=w appen P (i) log 2 P (i) = 1 2 log log = 1 bit symbol. Da die Symbole Wappen und Zahl mit gleicher Wahrscheinlichkeit auftreten ist S=2 und man erhält wieder: I = log 2 S = log 2 2 = 1 bit symbol. Beispiel 1.5 Wir betrachten eine lange Nachricht von M Symbolen in einem System mit ungleichen Symbolwahrscheinlichkeiten, wobei die Symbole folgende Wahrscheinlichkeiten haben: P(A)=0,5 P(B)=0,25 P(C)=0,1 P(D)=0,1 P(E)=0,05 Ein typischer Auszug aus einer solchen Nachricht könnte folgendermaßen aussehen: ADBAAEBACBAAACABDAAB.

18 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 18 Die gesamte Information einer Nachricht, die eine große Zahl M dieser Symbole enthält, ist I ges = M E i=a Damit ergibt sich die gesamte Information P (i) log 2 P (i)bit. I ges = M(0, 5 log 2 0, 5 + 0, 25 log 2 0, , 1 log 2 0, 1 + 0, 05 log 2 0, 05)bit = +M(0, 5 + 0, , , 2161)bit = +1, 881 Mbit Aufgabe 1.2 Schreiben Sie ein WEB, das die mittlere Information in bit (nat) pro Symbol über der Wahrscheinlichkeit P (A) eines Symbols plottet, das drei mögliche Symbole A, B, C hat. Plotten Sie in einer zweidimensionalen Darstellung eine Kurve für jeden der festen Wahrscheinlichkeitswerte P (C) = 0.1; 0.2; 0.3; 0.333; 0.4, beachten Sie die Höhe der Maxima dieser Kurven. Wenn Sie wollen, können Sie die Darstellung auch dreidimensional ausführen. Beispiel 1.6 Wieviel Information wird mit dem einmaligen Ablesen eines Spannungsmessgerätes gewonnen, wenn folgende Bedingungen gelten: Der Anzeigebereich reicht von 0 bis 0.1 Volt. Es können nur ganze mv-werte abgelesen werden. Lösung: S = 101 ( ) gleichwahrscheinliche Symbole. p(x i ) = 1/S = 1/101. I = ld(1/s) = ld(101) = 6.65[bit] Tatsächliche Information pro Symbol Wir haben gesehen, dass der mittlere Informationsgehalt einer Nachricht durch I i = n P (i) log 2 P (i) i=a bit symbol gegeben ist. Bei einer Nachricht, die insgesamt M Symbole enthält, ist deshalb der Informationsgehalt der gesamten Nachricht I = M n i=a P (i) log 2 P (i) bit.

19 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 19 Die Wahrscheinlichkeit P (i) kennzeichnet den Anteil der Symbole i in der Nachricht. Infolge dessen ist die tatsächliche Anzahl der Symbole i gleich M P (i), wenn die Nachricht insgesamt M der verschiedenen Symbole a,..., n enthält. Wieviel wird dann von diesen Symbolen zur gesamten Information beigetragen? Der Informationsbetrag, der durch die Symbole j erlangt wird, ist durch I j = M P (j) log 2 P (j) gegeben. Ist die Gesamtzahl der Symbole j in einer Nachricht gleich M P (j), so kann der gesendete Informationsgehalt eines jeden Symbols j als I j = M P (j) log 2 P (j) M P (j) = log 2 P (j) bit bit symbol. aufgefasst werden. P (j) ist aber die a priori Wahrscheinlichkeit für das Auftreten des Symbols j am Sender. Infolge dessen kann der Informationsgehalt pro Symbol j in der Form I j = log 2 P (j) = log 2 (a priori W ahrscheinlichkeit von j) ( 1 = + log 2 a priori W ahrscheinlichkeit des Symbols j geschrieben werden. ( ) Da der Informationsgehalt I j = + log 1 2 P (j) bit vom Kehrwert der Wahrscheinlichkeit P (j) abhängt, folgt, dass beim Auftreten eines Symbols j, welches eine kleine Wahrscheinlichkeit P (j) hat, ein großer Informationsbetrag übertragen wird. Je größer die Überraschung, um so größer ist die erlangte Information. Das folgende Beispiel veranschaulicht die Anwendung dieser Methode: Beispiel 1.7 Wieviel Information ist in der Feststellung enthalten, die Zahl der Augen ist N, wenn zwei Würfel auf einmal geworfen werden? Dabei ist jeder Fall N = 2, 3,..., 12 zu betrachten. Alle 36 möglichen Augenzahlen können folgendermaßen zusammengestellt werden: ) bit

20 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt Augenzahl auf Würfel A 2 P (2) = I (2) = log P (3) = I (3) = log P (4) = P (5) = P (6) = P (7) = 6 36 = 5, 17bit = 4, 17bit.. 12 P (12) = 1 36 Die mittlere Information erhält man dadurch, dass die Information aller 36 Fälle zusammengezählt und durch 36 geteilt wird, oder dass Gleichung (1.1) zur Berechnung der mittleren Information angewendet wird. Darüber hinaus kann der Informationsgehalt einer jeden langen Nachricht aus dem Informationsgehalt pro Symbol abgeleitet werden Gewonnene Information pro Nachricht Sind die mit einem Nachrichtenübertragungsprozess verbundenen Wahrscheinlichkeiten nicht alle gleich, so muss beim Empfang einer Nachricht dieser Umstand bei der Bestimmung der gewonnenen Information berücksichtigt werden. Die Symbole a, b,..., n mögen mit den im allgemeinen unterschiedlichen Wahrscheinlichkeiten P (a),..., P (n) auftreten, wobei die Summe der Wahrscheinlichkeiten Eins ist. Sind die Wahrscheinlichkeiten nicht alle gleich, so ändert sich der Informationsgehalt einer Nachricht, die nur eines der Symbole enthält, mit dem Symbol. Für die einzelnen Symbole kann der Informationsgehalt in der Form tatsächlicher Informationsgehalt pro Symbol = log 2 P (a), log 2 P (b),..., log 2 P (i),..., log 2 P (n) geschrieben werden. Der Informationsgehalt einer Nachricht, die N i Symbole i enthält, ist N i log 2 P (i) für alle Symbole a... n. Betrachten wir eine Nachricht, die aus einer sehr großen Zahl M verschiedener Symbole a, b,..., i,..., n besteht, so ist die Zahl der verschiedenen Symbole, die in dieser Nachricht enthalten sind N a = M P (a); N b = M P (b);.... Der Informationsgehalt einer Nachricht, die aus N i = M P (i) beliebigen Symbolen i besteht, kann deshalb in der Form N i log 2 P (i) = M P (i) log 2 P (i)bit geschrieben werden.

21 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 21 Besteht eine Nachricht aus einer großen Anzahl von Symbolen, so entspricht der zu jedem einzelnen Symbol gehörende Informationsgehalt den folgenden Werten: Symbol Information a M P (a) log 2 P (a) b M P (b) log 2 P (b).. n M P (n) log 2 P (n) Den Gesamtbetrag der Information, die in der Nachricht enthalten ist, erhält man durch Addition all dieser Werte. Damit wird die gesamte Information einer langen Nachricht oder M [P (a) log 2 P (a) + P (b) log 2 P (b) P (n) log 2 P (n)] bit gesamte Inf ormation einer N achricht = M n i=a P (i) log 2 P (i) Beispiel 1.8 Es sei die Dezimalzahl Teil einer langen Nachricht. Da es sich um Dezimalzahlen handelt, kann jede Ziffer einen von den zehn verschiedenen Werten annehmen. Infolge dessen ist die Wahrscheinlichkeit einer Ziffer bzw. eines dieser Symbole 0,1, wobei vorausgesetzt wird, dass alle Ziffern mit gleicher Wahrscheinlichkeit auftreten. Damit ist P (i) gleich 0.1 und P (i) log 2 P (i) = 1 10 log Die gesamte Information einer Nachricht, die aus M Ziffern besteht, ist M 9 i=0 P (i) log 2 P (i) = M 10 ( 1 10 log 2 ) 1 = 3, 32 Mbit, d.h. 3, bit symbol. Die Zahl der Binärziffern, die benötigt wird um irgend eine vorgegebene Zahl darzustellen, ist 3,32 mal größer, als die dazu notwendige Zahl der Dezimalziffern Statistisch abhängige Ereignisse Aufgabe 1.3 Schreiben Sie ein WEB, das für eine Datei, die eingegeben werden soll, 1. die vorkommenden 8 bit Blockcode Symbole, d.h. die Bytes, auflistet und ihre Häufigkeiten vermerkt. 2. zu jedem vorkommenden Zeichen (Byte) seine Nachfolger und ihre Häufigkeiten vermerkt und ausgibt.

22 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt zu jedem Zeichen die unmittelbaren Vorgänger und ihre Häufigkeiten vermerkt und ausgibt. 1. und 3. über mehr als eine Stufe durchführt. Hinweis: Hier könnte es sich lohnen intensiver über Datenorganisation nachzudenken. 4. die bisher kennengelernten Kenngrößen im Zusammenhang mit der Messung von Information berechnet und ausgibt. Voraussetzung für die Bestimmung der Entropie war bisher die statistische Unabhängigkeit der Ereignisse. In Wirklichkeit existieren dagegen oft statistische Bindungen, z.b. in der deutschen Sprache. Der Buchstabe c kommt vor h und k viel häufiger vor als vor anderen Buchstaben. Q oder q kommen nie ohne nachfolgendes u vor. Damit motivieren wir die folgende Annahme: Bei Berücksichtigung statistischer Bindungen sind zur Übertragung einer Information weniger bit pro Zeichen notwendig. Anstelle der Einzelwahrscheinlichkeiten sind also die sogenannten Verbundwahrscheinlichkeiten der verschiedenen Ereignisse zu berücksichtigen. Dies wollen wir nun etwas allgemeiner diskutieren. Jeder Vorgang, der Folgen von Symbolen erzeugt und bei dem diese Folgen von konstanten Wahrscheinlichkeiten abhängen, wird stationärer stochastischer Prozess genannt. Ein stochastischer Prozess, bei dem bestimmte Übergangswahrscheinlichkeiten von einem Symbol zu einem anderen vorhanden sind, ist unter dem Begriff Markoff-Prozess bekannt. Bei einem Markoff-Prozess, der manchmal auch Markoff-Kette genannt wird, hängt die Wahrscheinlichkeit für das Auftreten irgend eines Symbols vom vorangegangenen Symbol ab. Ergodische Prozesse sind starre Markoff-Prozesse, bei denen die Übergangswahrscheinlichkeiten stets dieselben konstanten Werte haben. Unter diesen Voraussetzungen sind die Wahrscheinlichkeiten um so genauer bekannt, je länger ein derartigen Prozess beobachtet wird. Wurde ein solcher Prozess ersteinmal untersucht, so kann zusätzlich angenommen werden, dass die Ergebnisse für denselben Prozess auch in Zukunft angewendet werden können, ohne dabei einen Fehler zu machen. Bei einer solchen Annahme ist aber Vorsicht geboten, auch wenn sich die Nachrichtenübertragungstheorie im wesentlichen mit Signalquellen beschäftigt, die als rein ergodische Prozesse aufgefasst werden können. Dies sollte man bedenken, wenn die Theorie auf praktische Probleme angewendet wird. Hängt die Wahrscheinlichkeit für das Auftreten eines bestimmten Symbols von den M vorangegangenen Symbolen ab, dann ist die Quelle, welche die Symbole erzeugt, unter dem Begriff Markoff-Quelle M-ter Ordnung bekannt.

23 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 23 Eine Quelle, die Symbole eines gegebenen Alphabets erzeugt, bei der aber jedes Symbol von den vorangehenden völlig unabhängig ist und bei der jedes Symbol durch einen festen Wahrscheinlichkeitswert bestimmt ist, wird manchmal als Quelle ohne Gedächtnis bezeichnet. Beispiel 1.9 Um die Bedeutung dieser Übergangswahrscheinlichkeiten zu veranschaulichen, wird angenommen, dass die folgenden Symbole aus einer Markoff- Quelle stammen.... dddaaabbbaaacccbbbdddccc... Dieser Ausschnitt lässt den Schluss zu, dass P(a)=P(b)=P(c) = P(d) ist. Andererseits ist aber z.b. P (a/b) P (b/b) Zustandsdiagramme Ein Markoff-Prozess wird oft durch ein Zustandsdiagramm gekennzeichnet, das die Übergangswahrscheinlichkeit zwischen den Systemzuständen erkennen lässt. Sind S verschiedene Symbole vorhanden, dann hat ein Markoff-Prozess M-ter Ordnung S M mögliche Zustände. Beispiel 1.10 Ein Beispiel für ein Zustandsdiagramm mit ungleichen Wahrscheinlichkeiten ist in Abbildung 1.4 auf Seite 24 dargestellt. Hier wird angenommen, dass die vier Zustände A, B, C, D vorhanden sind. Die Übergänge werden durch Linien gekennzeichnet, wobei die Wahrscheinlichkeit für den jeweiligen Übergang neben die Linie geschrieben wird. Hier sind die Übergangswahrscheinlichkeiten: P (A/A) = P (D/D) = 0, 8 P (C/B) = P (B/C) = P (D/B) = P (A/C) = 0, 5 P (C/D) = P (B/A) = 0, 2 Bei einem binären System können die Zustände z.b. A = 00, B = 01, C = 10, D = 11 dargestellt werden. Das System wäre dann als eine Markoff-Quelle zweiter Ordnung aufzufassen, weil das nächste Symbol von den beiden vorangegangenen Symbolen abhängt. In solch einfachen Fällen wie oben können die Symbolwahrscheinlichkeiten berechnet werden, wenn die Übergangswahrscheinlichkeiten gegeben sind. So ist hier z.b. P (A) = P (A/A) P (A) + P (A/C) P (C) 9 andere Schreibweise: P a (b) P b (b)

24 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 24 A B D C 0.2 Abbildung 1.4: Zustandsdiagramm mit ungleichen Wahrscheinlichkeiten Aus den Gleichungen ergibt sich (als Übung nachvollziehen!) P (A) = 0, 8 P (A) + 0, 5 P (C) P (B) = 0, 2 P (A) + 0, 5 P (C) P (C) = 0, 5 P (B) + 0, 2 P (D) P (D) = 0, 8 P (D) + 0, 5 P (B) Die Lösung dieses Gleichungssystems führt auf P (A) = P (D) = 2, 5P (B) = 2, 5P (C) wobei zunächst bekannt ist, dass P (A) + P (B) + P (C) + P (D) = 1 ist. Somit erhält man hier P (A) = P (D) = 5 14 P (B) = P (C) = 1 7 Eine typische Nachricht wäre AAAAABCBDDDDDC, weil sie die im Diagramm angegebenen Übergangswahrscheinlichkeiten hat.

25 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 25 Für das in Abbildung 1.5 auf Seite 25 angegebene Beispiel mit ebenfalls vier Symbolen A, B, C, D seien die Zustandswahrscheinlichkeiten P (A) = P (C) = 5 14 P (B) = P (D) = 1 7. Es hat die folgende Zustandsübergangsmatrix: A B C D A B C D A B D C 0.6 Abbildung 1.5: Zustandsdiagramm mit vier Symbolen Eine typische Nachricht wäre hier AAABACCCADBCCD. Grundsätzlich ist zu beachten, dass die Summe der Wahrscheinlichkeiten, die jedes Kästchen verlas-

26 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 26 sen, 1 sein muss, d.h. es wird angenommen, dass ein Übergang stattfindet, selbst wenn nur derselbe Buchstabe wiederholt wird. Zu beachten ist, dass das Zustandsdiagramm einer Nachrichtenquelle im allgemeinen nicht die tatsächliche Wahrscheinlichkeit jedes Zustands angibt, sondern nur die Übergangswahrscheinlichkeiten. Häufig ist es schwierig, die Zustandswahrscheinlichkeiten aus den Übergängen zu berechnen. Wir wollen das hier nicht weiter erörtern. Als Alternative zum Zustandsdiagramm können die Übergangswahrscheinlichkeiten in Matrizenform zusammengefasst werden. Betrachten wir z.b. die folgende Tabelle: A B C D E A 0,25 0,5 0,75 0,5 0 B 0, ,5 0 C 0,25 0, ,5 D 0, , E 0 0, ,5 Die entsprechenden Symbolwahrscheinlichkeiten sind P (A) = 0, 4; P (B) = 0, 2; P (C) = 0, 2; P (D) = 0, 1; P (E) = 0, 1 Eine typische Nachricht wäre: AAABEECABADACDBCACAB (zur Übung überprüfen!) A 0.25 B E C D Abbildung 1.6: Teil Zustandsdiagramm aus Tabelle

27 Kapitel 1. Informationstheorie 1.5 Der Informationsgehalt 27 Aufgabe Geben Sie die Übergangswahrscheinlichkeitstabellen für die oben angegebenen Zustandsdiagramme an. 2. Zeichnen Sie das Zustandsdiagramm für die obige Wahrscheinlichkeitstabelle. 3. Formulieren Sie ein WEB, welches die durch die obige Übergangswahrscheinlichkeitstabelle vollständig bestimmte Markoff-Quelle 1. Ordnung simuliert. Aufgabe 1.5 Modifizieren Sie Ihr WEB aus Aufgabe 1.3 auf Seite 21 (zur Sprachanalyse) so, dass es Markoff-Quellen 1. Ordnung analysiert. Nutzen Sie dieses Programm, um die Güte des bei der Simulation eingesetzten Zufallszahlengenerators zu überprüfen.

28 Kapitel 2 Codierung 2.1 Aufgaben und Grundbegriffe der Codierung Unter einem Code versteht man eine Vorschrift für die eindeutige Zuordnung der Zeichen eines Zeichenvorrats zu denjenigen eines anderen Zeichenvorrats. In der Datentechnik hat sich die Binärcodierung durchgesetzt, da es technisch besonders einfach und betriebssicher ist, zwei physikalisch unterscheidbare Zustände zu realisieren. Allgemein besteht die Aufgabe der Codierung darin, die Daten in einer für den jeweiligen Zweck am besten geeigneten Form bereitzustellen. Dabei sind im einzelnen folgende Gesichtspunkte zu beachten: Darstellung der Daten mit einer geringstmöglichen Anzahl von Zeichen. einfaches und sicheres Übertragen der Daten von einer Quelle zu einer Senke (Sender Empfänger) einfaches und sicheres Verarbeiten der Daten in einer DVA Man unterscheidet also im wesentlichen die Aufgabengebiete: Quellencodierung Kanalcodierung Verarbeitungscodierung a a vergl. hierzu auch die Abb.: Einfaches Modell eines Kommunikationssystems im Abschnitt 1.1 auf Seite 6 28

29 Kapitel 2. Codierung 2.2 Binäre Blockcodes für Zahlen und Textzeichen Binäre Blockcodes für Zahlen und Textzeichen Dualzahlen und Zweierkomplement Die Informationsdarstellung im Rechner geschieht in Form von Binärzeichen gleicher Länge. Eine solche Binärzeichenfolge heißt Wort oder Block. Dementsprechend spricht man bei der Codierung in solche Worte von Blockcodes. Die Wortlänge in Rechnern beträgt z.b. 8,16 oder 32 Binärzeichen. Eine Möglichkeit der Zahlendarstellung in Rechnern bietet das Dualsystem. Mit 16-bit Worten lassen sich die ganzen Zahlen von 0 bis darstellen. Bei Einbeziehung negativer Zahlen geht eine Stelle für das Vorzeichen ab, so dass die betragsmäßig größte darstellbare Zahl etwa halb so groß wird. Bei der Dualzahlendarstellung werden Zweierpotenzen folgendermaßen als Binärzeichen dargestellt: ( 1 = 2 0 ) ( 2 = 2 1 ) ( 4 = 2 2 ) ( 8 = 2 3 ) Jede Zahl von 0 bis lässt sich als Summe dieser Zweierpotenzen schreiben. Die zugehörige Dualstelle ergibt sich aus der komponentenweisen Überlagerung der zu den Zweierpotenzen gehörenden Dualzahlen, z.b = Allgemein ist der Wert einer m-stelligen Dualzahl C = Z m 1... Z 1 Z 0 gegeben durch g(c) = Z m 1 2 m Z Z Es gibt Zahlendarstellungen, die eine einfache Rückführung der Subtraktion auf die Addition erlauben. Eine solche Darstellung ist die Zweierkomplementdarstellung. Da nur endlich viele ganze Zahlen darstellbar sind, kann man sich diese kreisförmig angeordnet denken, was wir am Beispiel der Zahlen von 0 bis 7 veranschaulichen, vgl. Abbildung 2.1 auf Seite 30. Man identifiziert nun die größeren der Zahlen als negative Zahlen, so dass die Ordnung erhalten bleibt, bis auf eine Sprungstelle ganz unten. Für den Anwender ergibt sich so der rechte Zahlenkreis. Intern im Rechner wird aber nur der linke Zahlenkreis verwendet. Addition der im linken Zahlenkreis dargestellten Zahlen Modulo 8 liefert korrekte Ergebnisse. Beispiel: 2 3 = 2 + ( 3) = 1 geht über in (2 + 5) mod 8 = 7 mod 8 = 7, 7 entspricht im rechten Zahlenkreis dem Wert 1. In der Datenverarbeitung wird die Operation mod üblicherweise als Rechenoperator auf der Menge der ganzen Zahlen aufgefasst, a mod n ist die eindeutig

30 Kapitel 2. Codierung 2.2 Binäre Blockcodes für Zahlen und Textzeichen 30 Abbildung 2.1: Darstellung eines Zahlenkreises

31 Kapitel 2. Codierung 2.2 Binäre Blockcodes für Zahlen und Textzeichen 31 bestimmte ganze Zahl k, so dass 0 k n 1 gilt und dass a k durch n restlos teilbar ist. Der Operator besitzt die Eigenschaft, dass ((a mod n) + (b mod n)) mod n = (a + b)mod n für beliebige ganze Zahlen a und b gilt. Die Entsprechung zwischen innerer Zahlendarstellung im Rechner und der : Modulo 8 Addition heißt für den Rechner nichts anderes als normale Dualzahlenaddition, nur dass der letzte Übertrag unterdrückt wird. Das Additionsergebnis ist dabei ebenfalls stets dreistellig. Das Beispiel lässt sich folgendermaßen verallgemeinern: Insgesamt lassen sich mit m-stelligen Binärzeichenfolgen M = 2 m ganze Zahlen darstellen. Wir zerlegen den Zahlenbereich, den wir darstellen wollen in zwei Teilmengen. U + = {0, 1,..., M 2 1}, die die nicht negativen Zahlen enthält U = { 1, 2,..., M 2 }, die die negativen Zahlen enthält Der gesamte erfasste Zahlenbereich U ist die Vereinigung von U + und U, geht also von M 2 bis +M 2 1. Die Codierungsfunktion für die Zweierkomplementdarstellung lautet: { u falls u U + C = f(u) = u + M falls u U Kürzer lässt sich dies mit der Modulo Operation schreiben: C = f(u) = U mod M, für alle u U. Dabei ist für C jeweils die Dualzahlendarstellung gewählt. Nun ist offensichtlich 0 C M 1, so dass C sich tatsächlich als m-stellige Dualzahl darstellen lässt: C = Z Z Z m 1 2 m 1 Z k B, für k = 0, 1,..., m 1 Den positiven Zahlen entsprechen Zweierkomplementdarstellungen mit 0 C M 2 1 also mit Z m 1 = 0. Für die Zweierkomplementdarstellung der negativen Zahlen gilt: M 2 C M 1 also Z m 1 = 1. Die Decodierungsfunktion ist: u = g(c) = Z Z Z m 1 2 m 1 Z m 1 2 m = C Z m 1 M 1 Zweierkomplementdarstellung ganzer Zahlen

32 Kapitel 2. Codierung 2.2 Binäre Blockcodes für Zahlen und Textzeichen 32 Als nächstes ist zu zeigen, dass die rechnerinterne Addition Modulo M mit M = 2 m, also die Rechnung in Zweierkomplementdarstellung der normalen Addition der ursprünglichen Zeichen entspricht, solange der Zahlenbereich nicht verlassen wird. Es ist zu zeigen: Sind u 1, u 2, u 3 U und gilt u 1 + u 2 = u 3, dann ist für die Zweierkomplementdarstellungen c 1 = f(u 1 ), c 2 = f(u 2 ) und c 3 = f(u 3 ) die Relation c 3 = (c 1 + c 2 )modm erfüllt. Dabei besagt die Modulo Operation nichts anderes, als dass gegebenenfalls der Übertrag der höchstwertigen Stelle zu unterdrücken ist. Dann liegt das Ergebnis im Zahlenbereich 0 c 3 M 1. Wegen c 1 = u 1 mod M, c 2 = u 2 mod M und c 3 = (u 1 + u 2 ) mod M folgt die Behauptung aus den Beziehungen: (c 1 + c 2 ) mod M = (u 1 mod M + u 2 mod M) mod M = (u 1 + u 2 ) mod M = c 3 Weiterhin ist noch zu zeigen, wie sich ein negatives Vorzeichen, d.h. Inversenbildung hinsichtlich der Addition, auf die Zweierkomplementdarstellung auswirkt. Dazu versehen wir den Wert einer Bitfolge c mit negativem Vorzeichen und suchen dann die zugehörige Zweierkomplementdarstellung. unter der Verwendung von ergibt sich g(c) = Z Z Z m 1 2 m 1 + Z m 1 2 m 2 m m 1 g(c) = m 1 2 m +1 Z Z Z m 1 2 m 1 +Z m 1 2 m = (1 Z 0 )2 0 +(1 Z 1 ) (1 Z m 1 )2 m 1 (1 Z m 1 )2 m +1 Abgesehen von der Eins am Schluss handelt es sich um den Wert einer Binärzeichenfolge, die aus der ursprünglichen dadurch entsteht, dass die einzelnen Binärzeichen ausgetauscht werden, 0 wird durch 1 und 1 durch 0 ersetzt, d.h. es wird das Stellenkomplement gebildet. Eine solche Zeichenfolge, die durch Stellenkomplementdarstellung entsteht, wird auch als Einerkomplement der ursprünglichen Darstellung bezeichnet, z.b. ist das Einerkomplement zu die Zeichenfolge

33 Kapitel 2. Codierung 2.2 Binäre Blockcodes für Zahlen und Textzeichen 33 Wird nun das Einerkomplement einer Binärzeichenfolge c mit c bezeichnet, so gilt also: g(c) = g(c ) + 1 An den Zahlenkreisen kann man sich klarmachen, dass die Eins dem c zugeschlagen werden darf: g(c ) + 1 = g(c + 1) Diese Relation gilt für den Fall c = , g(c) = 0 und c = nur, wenn der letzte Übertrag unterdrückt wird, d.h. wenn die Dualzahlenaddition nach der Modulo-Arithmetik durchgeführt wird. Die Bildung des inversen Elements in Zweierkomplementdarstellung geschieht demnach durch Bildung des Einerkomplements und Addition von BCD-Codes, Gray-Codes, Oktal- und Hexadezimaldarstellung Die oben genannten Codes bzw. Darstellungen werden im wesentlichen im Bereich der Schnittstellen zwischen dem Rechner und der Umwelt eingesetzt. Dabei kann es in einem Zwischenschritt als sinnvoll angesehen werden, Zahlen zunächst ziffernweise binär zu codieren. Eine naheliegende Möglichkeit dazu ist folgende: Dies ist der am meisten verwendete BCD-Code. In BCD Schreibweise sieht beispielsweise die Zahl folgendermaßen aus: Diese Zahlendarstellung eignet sich nun wiederum nicht für die Codierung stetig veränderlicher Größen. Dies soll am Beispiel des Drehgebers gemäß Abbildung 2.2 auf Seite 34 veranschaulicht werden. Die Position eines Schiebers werde mittels elektrischer Kontakte erfasst, indem Schleifer ein Band abtasten, das im Muster einer binären Codierung leitend bzw. nicht leitend ist. Das Muster in Querrichtung entspricht dem Zahlenwert der jeweiligen Position des Schiebers. Wird das Muster z.b. durch Dualzahlcodierung festgelegt, entsteht folgendes Problem: Steht der Schieber auf Position 7, greift er bei vierstelliger Codierung folgendes Muster ab: Auf Position 8 ist das Muster Bei kontinuierlichem Übergang von 7 nach 8 kann es passieren, dass vorübergehend die Kontakte zur 7. Position noch bestehen und die zur 8. bereits hergestellt sind.

34 Kapitel 2. Codierung 2.2 Binäre Blockcodes für Zahlen und Textzeichen 34 Abbildung 2.2: Drehgeber zur Längenmessung

35 Kapitel 2. Codierung 2.2 Binäre Blockcodes für Zahlen und Textzeichen 35 Solche Situationen führen im Extremfall dazu, dass entweder 0000 oder 1111 erfasst wird. Es ergeben sich also die völlig falschen Werte 0 oder 15. An einen Code für die digitale Erfassung kontinuierlicher Größen wird deshalb die Anforderung gestellt, dass sich die binären Muster zwischen zwei Zuständen nur an einer Stelle unterscheiden. Dies leisten Gray-Codes. Einfache Gray Codes sind: Zu umfangreicheren Gray-Codes kommt man z.b. über das folgende iterative Verfahren: Mittels zweier Gray-Codes mit m bzw. n Stellen konstruiert man einen Gray-Code mit m+n Stellen, indem man ein rechteckiges Schema bildet und Spalten und Zeilen unter Zuhilfenahme der beiden Codes fortlaufend durchnumeriert. Jeder Platz des Schemas entspricht einer Bitfolge, die sich zusammensetzt aus der zur Zeile gehörigen und der zur Spalte gehörigen Bitfolge. Für ein Schema mit zwei Zeilen und vier Spalten und den obigen Codes, sieht das folgendermaßen aus: Die aufsteigende Folge von Codeworten entsteht, indem man die Worte der ersten Zeile von links nach rechts fortschreitend abzählt, dann auf die zweite Zeile übergeht und von rechts nach links weiterliest. Bei umfangreicheren Schemata geht es dann in der dritten Zeile von links nach rechts und so fort. Die oben stehende Tabelle liefert folgenden Gray-Code: 000 0, 001 1, 011 2, 010 3, 110 4, 111 5, 101 6, Aufgabe Skizzieren Sie eine binärcodierte Drehgeberscheibe mit vier Stellen. Geben Sie für alle Übergänge deren Unsicherheitsbeitrag an. Hinweis: Der Unsicherheitsbeitrag von 7 nach 8 werde mit 8 angenommen. 2. Skizzieren Sie eine Gray-codierte Drehgeberscheibe mit 5 Stellen. Verwenden Sie das vorher angegebene Schema. Aufgabe 2.2 Schreiben Sie ein C-Web, das Ihnen Gray-Codes beliebiger Stellenzahl angibt. Neben den für die Codierung kontinuierlicher Signale wichtigen Gray-Codes wird im Programmieralltag für die abgekürzte Schreibweise von Dualzahlen noch das Oktal bzw. Hexadezimalsystem verwendet.

36 Kapitel 2. Codierung 2.2 Binäre Blockcodes für Zahlen und Textzeichen 36 Beim Oktalsystem werden dabei jeweils 3 Binärzeichen zu einer Oktalziffer, beim Hexadezimalsystem jeweils 4 zu einer Hexadezimalziffer zusammengefasst. Im Oktalsystem werden die Ziffern , im Hexadezimalsystem die Ziffern , A... F verwendet Code Tabellen (ASCII, ISO-7-Bit-Code, DIN 66003) Für die Umwandlung von Text in die maschinengerechten Binärzeichenfolgen gibt es national und international genormte Code-Tabellen. Die Normen werden von folgenden Instituten herausgegeben: ISO DIN International Organization for Standardisation Deutsches Institut für Normen Eine Reihe von Institutionen sind im Vorfeld der Normung tätig und geben Empfehlungen oder Richtlinien aus, die oft als Normen übernommen werden. Mit Codierungsfragen befassen sich unter anderem auch: CCITT ECMA Comité Consultatif International Télégraphique et Téléphonique European Computer Manufaction Assoziation CEPT Conférance Européanne des Administration des Postes et des Télécomunications Für Computer Anwender ist sicherlich der ASCII-Code die wichtigste Code- Tabelle. ASCII steht für American Standard Code for Information Interchange. Er umfasst 128 Zeichen und erfordert deshalb siebenstellige Bitfolgen für die Codierung. Häufig werden in Codetabellen die als Dualzahlen zu interpretierenden Bitfolgen in Dezimalschreibweise angegeben. Neben den darstellbaren Zeichen sind Steuerzeichen, nämlich Tastatursteuerzeichen, Gerätesteuerzeichen, Datenübertragungssteuerzeichen usw. genormt, die die ersten 32 Zeichen 0 16 bis 1F 16 umfassen.

37 Kapitel 2. Codierung 2.3 Quellencodierung 37 Die zehn Übertragungssteuerzeichen: SOH start of heading STX start of text ETX end of text EOT end of transmission ENQ enquiry, Stationsaufforderung ACK acknowledge, positive Rückmeldung DLE data link escape NAK negative acknowledge, negative Rückmeldung SYN synchronous idle, Synchronisierung EETB end of transmission block Ihre Anwendung ist in DIN geregelt Die sechs Formatsteuerzeichen sind: BS backspace HT horizontal tab LF line feed VT vertical tab FF form feed CR carriage return Die vier Gerätesteuerzeichen (device control) sind: DC1 bis DC4 Die vier Informationssteuerzeichen sind: US unit seperators RS record seperators GS group seperators FS fileseperators Zur Code- Erweiterung bzw. Umschaltung dienen: SO shift out, Dauerumschaltung SI shift in, Rückschaltung ESC escape, Code- Umschaltung Sonstige Steuerzeichen sind: NUL Null BEL bell CAN cancel EM end of medium SUB substitute character SP space DEL delete 2.3 Quellencodierung Decodierbarkeit und Codes mit Präfix-Eigenschaft Die bisher behandelte Blockcodierung ist für die Datenverarbeitung besonders gut geeignet. Diese Klasse von Codes hat aber die Schwäche, dass im Mittel mehr Bit für die Informationsdarstellung aufgewendet werden, als vom eigentlichen Informationsgehalt her erforderlich sind.

38 Kapitel 2. Codierung 2.3 Quellencodierung 38 Beispiel 2.1 Wir wollen hier zwei Codes miteinander vergleichen, nämlich einen Block- Code (Code 1) der Länge 2 und einen Code mit Codeworten unterschiedlicher Länge (Code 2). Zeichen Wahrscheinlichkeit Code 1 Code 2 a 0, b 0, c 0, d 0, Hier werden die häufigeren Zeichen auf Kosten der selteneren mit weniger Bits codiert. Für den mittleren Informationsgehalt 2 der Zeichen in bit 3 erhält man: H = 1 2 ld ld ld8 + 1 ld8 = 1, 75bit 8 Das ist auch die minimale Anzahl von Bit, die für die Codierung je Zeichen im Mittel wenigstens benötigt werden. Wieviele Binärzeichen je Zeichen benötigen wir für Code 1 bzw. Code 2 tatsächlich? Die Anzahl der Bits, die für ein Zeichen aufzuwenden sind, nennt man den Elementarzeichenbedarf. Für den Code 1 ist der Elementarzeichenbedarf jedes Zeichens gleich 2. Im Code 2 ist der Elementarzeichenbedarf des Zeichens a gleich 1, für b gleich 2 und für c und d gleich 3. So wie sich der mittlere Informationsgehalt durch Mittelwertbildung über alle Zeichen ergibt, berechnet sich der mittlere Elementarzeichenbedarf als Mittelwert des Elementarzeichenbedarfs über alle Zeichen. Für den mittleren Elementarzeichenbedarf verwenden wir das Symbol m. Für den Code 1 ist m 2 bit, für den Code 2 hingegen ist m geringer. Hier ergibt sich für m = = 1.75bit = H. Hier ist also der mittlere Elementarzeichenbedarf gleich dem mittleren Informationsgehalt. Das Beispiel verdeutlicht, dass Blockcodierung großzügiger mit Speicherplatz oder Übertragungskapazität umgeht. Umcodieren der Zeichen so, dass der mittlere Elementarzeichenbedarf geringer wird, bringt Vorteile bei der Speicherung bzw. Übertragung. Diese Codierung heißt Quellencodierung, weil sie Zeichen, wie sie von einer Datenquelle geliefert werden, behandelt und weil hauptsächlich die Datenquelle und deren Symbolstatistik den Code bestimmen. 2 H: Entropie = mittlerer Informationsgehalt 3 ld: logarithmus dualis=log 2

39 Kapitel 2. Codierung 2.3 Quellencodierung 39 Als Bewertungsgröße für Codes dient die Redundanz 4. Der mittlere Mehraufwand je Zeichen 5 ist die absolute Redundanz eines Codes: R = m H. Die relative Redundanz ist gleich dem Mehraufwand bezogen auf den tatsächlichen Gesamtaufwand. r = R m = m H m = 1 H m M inimalauf wand tatsächlichemaufwand, H m Der Quotient wird auch Effizienz eines Codes genannt, wobei die Summe aus Effizienz und relativer Redundanz gleich 1 ist. Datenkompression ist also Redundanzreduktion. Geeignete Codes zur Redundanzreduktion können auch uneinheitliche Wortlängen haben. Was passiert nun, wenn man diese unterschiedlich langen Worte zu größeren Texten verkettet, also einfach hintereinander schreibt? Bei Blockcodes sind die Wortgrenzen aufgrund der konstanten Wortlängen stets erkennbar. Bei unterschiedlichen Wortlängen ist diese Eindeutigkeit nicht von vornherein gegeben. Ein Code heißt eindeutig decodierbar (auch entzifferbar), wenn jeder Folge von Codezeichen, die durch Hintereinanderschreiben ohne Trennungszeichen entsteht, immer eindeutig eine ursprüngliche Zeichenfolge zugeordnet werden kann. Hätte man in Code 2 für das Zeichen b anstelle 10 das Codezeichen 01 gewählt, wären nach wie vor alle Codes unterschiedlich. Allerdings wäre die eindeutige Decodierbarkeit von Zeichenfolgen nicht mehr gegeben, denn z.b. könnte die Codezeichenfolge dann sowohl zur ursprünglichen Zeichenfolge ada als auch zur ursprünglichen Zeichenfolge bc gehören. Code 2 ist so strukturiert, dass solche Mehrdeutigkeiten nicht auftreten können. Der Code besitzt die sogenannte Präfix-Eigenschaft, kein Codewort ist der Anfang 6 eines anderen Codeworts. Diese Eigenschaft zieht die eindeutige Decodierbarkeit unmittelbar nach sich. Die Umkehrung gilt allerdings nicht. Die Präfixeigenschaft ist hinreichend, aber nicht notwendig für die eindeutige Decodierbarkeit. Die Präfixeigenschaft wollen wir in den folgenden Codierbäumen für die Codes 1 und 2 aus Beispiel 2.1 auf Seite 37, die in Abbildung 2.3 auf Seite 40 dargestellt sind, verdeutlichen. Ausgehend von der Wurzel folgt man den Zweigen, gemäß den dort stehenden Binärzeichen, bis zu einem Blatt bzw. Endzweig. Die Folge der an den Zweigen stehenden Binärzeichen ergibt das Codewort desjenigen Zeichens, das man schließlich erreicht. 4 Redundanz bedeutet soviel wie Überfluss, im Zusammenhang mit Informationsdarstellung auch Weitschweifigkeit 5 gerechnet in bit 6 Präfix

40 Kapitel 2. Codierung 2.3 Quellencodierung 40 Abbildung 2.3: Codierbäume zu Beispiel 2.1 auf Seite 37

41 Kapitel 2. Codierung 2.3 Quellencodierung 41 Ein Code mit Präfixeigenschaft zeichnet sich dadurch aus, dass die ursprünglichen Zeichen nur an den Zweigenden des Baumes sitzen und nicht an den Verzweigungen Redundanzsparende Codes von Shannon, Huffman und Fano Verfahren zur Redundanzreduktion sind in der Praxis häufig anzutreffen, beispielsweise wird bei der Festlegung von Befehlssätzen darauf geachtet, dass häufig auftretende Befehle möglichst kurz sind. Die Festlegung von Steuerzeichen in der Datenübertragung folgt denselben Regeln. Große Bedeutung haben Methoden der Redundanzreduktion auch bei der binären Bildübertragung, hier sind unter Verlust der eindeutigen Decodierbarkeit Einsparungen von mehr als 90% der ursprünglichen Datenmenge möglich. Die Codes von Shannon, Huffman und Fano zeigen das Grundsätzliche der Verfahren zur Redundanzreduktion. Zusätzlich markieren sie die Grenzen des theoretisch Erreichbaren. In der Praxis lässt sich Redundanzreduktion in diesem Umfang oftmals nicht verwirklichen, weil weitere Anforderungen und Randbedingungen zu berücksichtigen sind. Mit diesen Codes existieren jedenfalls Verfahren, die es grundsätzlich gestatten, die relative Redundanz beliebig klein zu machen Die Codierung nach Shannon Zugrundegelegt sei ein Zeichenvorrat mit n Zeichen. Diese mögen mit den Wahrscheinlichkeiten p 1, p 2,..., p n auftreten. Die Zeichen seien nach fallenden Wahrscheinlichkeiten geordnet. p 1 p 2... p n Mit P k wird die kummulierte Wahrscheinlichkeit aller Zeichen, die vor dem k-ten Zeichen liegen, bezeichnet: P k = p 1 + p p k 1. Damit wird P 1 = 0; P 2 = p 1 ; P 3 = p 1 + p 2 ; P 4 = p 1 + p 2 + p 3 ;.... Die Dualzahlendarstellung von P k nach folgenden Regeln liefert das Codewort für das k-te Zeichen. 1. Die Codewortlänge m k für das k-te Zeichen genügt den Ungleichungen: ld( 1 p k ) m k < 1 + ld( 1 p k ).

42 Kapitel 2. Codierung 2.3 Quellencodierung 42 Anders ausgedrückt ist m k die kleinste ganze Zahl, für die gilt. 1 2 m k p k 2. Die Entwicklung der Zahl P k in eine Dualzahl wird nach der m k -ten Stelle abgebrochen. Die Koeffizienten der Entwicklung stellen das gesuchte Codewort dar. Ausführlich: Das gesuchte Codewort für das k-te Zeichen b 1 b 2... b mk, wobei die Binärzeichen b 1, b 2,..., b mk so bestimmt werden, dass die Zahl Z K = b b b mk 2 m k möglichst groß, aber nicht größer als P k wird. Dann ist P k 2 m k < Z k P k. Damit liegt eine Kostruktionsvorschrift für die Codeworte vor. Wegen P k+1 P k = p k 2 m k unterscheiden sich alle Dualzahlenentwicklungen für die den k k n folgenden Zeichen von Z k um wenigstens 2 m k. Das heißt zugleich, dass die Codezeichenfolgen im Anfangsabschnitt bis zum m k -ten Zeichen nicht identisch sein können. Das ist nichts anderes als die Präfixeigenschaft. Der Shannon-Code ist demzufolge eindeutig decodierbar. Aufgabe 2.3 Erweitern Sie Ihr C-Web aus Aufgabe 1.3 so, dass der eingelesene Text gemäß Shannon codiert wird. 1. Betrachten Sie dabei die einzelnen Zeichen des (erweiterten) ASCII Codes als Elementarzeichensymbole. 2. Betrachten Sie je zwei aufeinanderfolgende Symbole als Elementarsysmbole. 3. Setzen Sie dieses fort für 3, 4, 5 Buchstaben Codierung nach Huffman Huffman-Codes besitzen zusätzlich eine weitere interessante Eigenschaft. Sie sind optimal in dem Sinne, dass unter allen eindeutig decodierbaren Codes keiner eine kürzere mittlere Codewortlänge hat. Auch hierbei ordnet man die Codeworte nach fallenden Wahrscheinlichkeiten. Die Codeworte werden mit Hilfe des Codierbaumes bestimmt. Jedes Zeichen entspricht einem der n Endzweige des Codierbaumes. Man wählt zunächst die beiden seltensten Zeichen aus. Die zugehörigen Codeworte werden in der letzten Stelle durch die Bits 1 und 0 unterschieden.

43 Kapitel 2. Codierung 2.3 Quellencodierung 43 Die beiden seltensten Zeichen werden damit zu den zwei Endpunkten einer Verzweigung des Codierbaumes. Diese Verzweigung entspricht einem der Zweige, der von nun an als Endzweig gilt. Diesem Zweig ordnet man die Wahrscheinlichkeit zu, die sich aus der Summe der beiden Wahrscheinlichkeiten der abgehenden Zweige ergibt. Die zwei seltensten Zweige werden also quasi zu einem neuen Zeichen zusammengefasst. Diese Vorgehensweise wird nun für einen Codierbaum mit nur noch n-1 Endzweigen wiederholt, wieder fasst man die beiden seltensten Zeichen zusammen, usw. Auf diese Weise arbeitet man sich von den Endzweigen bis zur Baumwurzel vor, bis der gesamte Codierbaum konstruiert ist Codierung nach Fano Von der Idee her handelt es sich um die Umkehrung der Vorgehensweise nach Huffman. Man geht jetzt von der Baumwurzel aus. Die erste Verzweigung entspricht der Aufteilung der Zeichen in zwei möglichst gleichwahrscheinliche Mengen. Eine Teilmenge enthält die wahrscheinlicheren, die andere die weniger wahrscheinlichen Zeichen. Die zwei Äste der Verzweigung werden nun als Wurzeln von Codierbäumen aufgefasst, die zu den jeweils zugeordneten Zeichenmengen gehören. Damit ist das am weitesten links stehende Bit der Codierung festgelegt. Die Codezeichen unterscheiden sich im ersten, also am weitesten links stehenden Bit. Mit diesen Teilmengen verfährt man genauso wie mit dem ursprünglichen Zeichenvorrat. Auf diese Weise erhält man, ausgehend von der Wurzel, alle Zweige des Codierbaumes. Aufgabe Ergänzen Sie Ihr C-Web (zur Codierung nach Shannon) um die Codierung nach Huffman und Fano. 2. Schreiben Sie ein C-Web, das die Decodierung der codierten (und in einer Datei abgelegten) Ursprungsdaten bewerkstelligt. 3. Kontrollieren Sie die Übereinstimmung zwischen Ursprungs- und decodierter Ursprungsdatei. Hinweis: Sie können natürlich auch ein C-Web schreiben, das eine Primitivversion von diff darstellt. Beispiel 2.2 In Tabelle 2.1 auf Seite 44 sind die Zeichen, ihre Wahrscheinlichkeiten und die Codes nach Shannon, Huffman und Fano angegeben. Für die relative Redundanz ergibt sich unter Verwendung von H m < H + 1 N

44 Kapitel 2. Codierung 2.3 Quellencodierung 44 die Abschätzung Zeichen p P Block Shannon Huffman Fano a 0, b 0,2 0, c 0,15 0, d 0,15 0, e 0,05 0, f 0,05 0, H = 2,246 m = 3 m = 2,8 m = 2,3 m = 2,35 Tabelle 2.1: Codetabelle für Shannon, Huffman und Fano r = m H m = 1 H m 1 m N 1 H N, wobei hier Zeichenfolgen der konstanten Länge N betrachtet werden. Dieser Wert strebt für wachsende N gegen Null. Das bedeutet, die relative Redundanz kann beliebig klein gemacht werden, sofern man nur genügend Zeit für die Codierung verwendet Redundanzreduktion durch Codeumschaltung Statistische Bindungen zwischen Nachbarsymbolen führen dazu, dass der tatsächliche Informationsgehalt von Sprachtexten wesentlich geringer ist, als es die reine Symbolstatistik vermuten lässt. Codeumschaltung ist ein einfaches Mittel, das diese statistischen Bindungen zur Redundanzreduzierung ausnutzt. Eine Betrachtung von sprachlichen Texten zeigt: Auf Buchstaben und Gliederungselemente, wie Zwischenraum, folgen mit hoher Wahrscheinlichkeit wiederum Buchstaben und Gliederungselemente. Nur relativ selten sind Satzzeichen, Ziffern und Sonderzeichen in den Text eingestreut. Für die folgende Abschätzung wird angenommen, dass im Mittel auf etwa 30 Buchstaben ein anderes Zeichen folgt. Buchstaben und Gliederungselemente lassen sich bei reiner Großschreibung und Verzicht auf Umlaute als 5-Bit-Folgen darstellen. Bei Einbeziehung von Ziffern, Satz- und Sonderzeichen braucht man einen Binären Blockcode von wenigstens der Länge 6. Das international vereinbarte Telegraphenalphabet kommt mit 5 Bit je Zeichen aus. Es benutzt zwei Codetabellen, zwischen denen umgeschaltet werden kann. Die eine Codetabelle, die Buchstabenreihe, ordnet den 5-Bit-Folgen Buchstaben, die Gliederungszeichen sowie zwei Umschaltzeichen zu. Die andere Codetabelle, die Ziffernreihe, ordnet den 5-Bit-Folgen die Ziffern, die Satzzeichen, die Sonderzeichen

45 Kapitel 2. Codierung 2.3 Quellencodierung 45 und dieselben Gliederungselemente und Umschaltzeichen zu. Das Umschaltzeichen Buchstaben schaltet die Buchstabenreihe ein, das Umschaltzeichen Ziffern die Ziffernreihe. Die Ersparnis gegenüber einem 6-Bit-Code zeigt die folgende Überschlagsrechnung: Die Umschaltung auf die Ziffernreihe werde gemäß obiger Annahme im Mittel nach jeweils etwa 30 Zeichen der Buchstabenreihe erforderlich. Die Umschaltung erfordert ein zusätzliches 5-Bit Zeichen, dann kommt ein Zeichen der Ziffernreihe. Danach erfolgt die Rückkehr zur Buchstabenreihe mit einem weiteren Umschaltzeichen. Für die 31 Zeichen des Textes sind demnach 33 Codezeichen nötig. Umgerechnet auf das Einzelzeichen entspricht das einem mittleren Elementarzeichenbedarf von 5,3 Bit. Die Codierung nach dem Telegraphenalphabet lässt sich nur noch abschnittsweise mittels Codierungs- und Decodierungsfunktion beschreiben. Genaugenommen handelt es sich bereits um eine Verallgemeinerung der Codierung: Die Vorschrift ist kontextabhängig. Codierer und Decodierer sind Automaten mit zwei inneren Zuständen. Einer entspricht der Buchstabenreihe und der andere der Ziffernreihe. Die Zustandsübergänge im Decodierer werden durch die Umschaltzeichen gesteuert. Aufgabe 2.5 Geben Sie an, ab welcher relativen Häufigkeit der Zeichen in der Buchstabenreihe, bezogen auf die Zeichen in der Ziffernreihe, die Codeumschaltung nicht mehr von Nutzen ist, wenn wie oben angenommen wird, dass die Zeichen der Ziffernreihe einzeln auftreten.

46 Kapitel 2. Codierung 2.3 Quellencodierung Praktische Einsatzgebiete und Realisierungen Generell werden Verfahren zur Datenkompression für folgende Einsatzbereiche verwendet: Bei der Archivierung von Daten geht es in erster Linie darum, den benötigten Speicherplatz und die effektiven Speicherkosten möglichst gering zu halten. Die Geschwindigkeit der verwendeten Algorithmen ist dabei sekundär, da beispielsweise Bandgeräte wesentlich langsamer als CPU s sind und auf diese Daten in der Regel nicht oft zugegriffen werden muss. Beim Einsatz in Verbindung mit Plattenlaufwerken sollen zwar ebenfalls die effektiven Speicherkosten möglichst klein sein, zusätzlich wird aber die Reduzierung der Rechenzeit von E/A-intensiven Programmen gefordert. Daher spielt hier auch die Geschwindigkeit der Algorithmen eine Rolle. Sollen Übertragungszeiten, beispielsweise in einem Netz, reduziert werden, steht die Verarbeitungsgeschwindigkeit an erster Stelle. Häufig werden die dort angewendeten Kompressionsverfahren aus Geschwindigkeitsgründen in Hardware realisiert. In der Zukunft ist mit weiter steigender Bedeutung von schnellen Datenkompressionsmethoden zu rechnen, da zu erwarten ist, dass die Geschwindigkeit von Prozessoren und E/A-Geräten noch weiter auseinanderklaffen wird. Datenkompression wird durch effiziente Codierung erreicht, Datenkompression ist Redundanzreduktion. Bei verlustfreien Algorithmen, das sind solche, bei denen die Orginaldaten vollständig wiederhergestellt werden müssen, können lediglich redundante Informationen eliminiert werden. Weisen die betrachteten Daten keine Redundanz auf, ist eine Kompression nicht möglich. Den Bereich zu finden, in dem Redundanz auftritt, ist eine der wichtigsten Aufgaben bei der Auswahl eines Kompressionsverfahrens. Je besser die Statistik der Quelle und damit die Art der Redundanz bekannt ist, desto besser kann man die Parameter eines Verfahrens auswählen und desto höher wird der Kompressionsfaktor sein. Der Kompressionsfaktor ist dabei definiert als: Länge der Ursprungsdatei Länge der komprimierten Datei Für einige Verfahren wird, sofern es möglich ist, vor der eigentlichen Kompression die Statistik der Quelle ermittelt oder sie wird geschätzt. Bei völlig unbekannter

47 Kapitel 2. Codierung 2.3 Quellencodierung 47 Statistik der Quelle oder bei nicht stationärer Quelle, d.h. bei veränderlicher Quellenstatistik, werden adaptive Verfahren eingesetzt. Dabei wird die Quellenstatistik während der Codierung ermittelt und die Codierungsvorschrift im laufenden Betrieb angepasst. Adaptive Verfahren sind relativ schwierig in Hardware zu realisieren. Bei Verfahren, die eine verlustfreie Dekompression ermöglichen, liegt der Kompressionsfaktor typischerweise im Bereich von 1 bis 5. Verlustbehaftete Kompressionsverfahren, also solche, die bei der Dekompression eine Abweichung von den Orginaldaten zulassen, werden typischerweise auf Audiound Videosignale angewendet. Hier existieren große statistische Abhängigkeiten zwischen zeitlich aufeinanderfolgenden Signalteilen. Darüber hinaus können menschliche Sinnesorgane Informationsverluste in hohem Maße rekonstruieren, ohne dass sie bewusst wahrgenommen werden. Bei diesen speziellen Randbedingungen liegen die Kompressionsfaktoren zwischen 10:1 und 100:1, bei speziellen Anwendungen werden sogar Kompressionsfaktoren von über 1000 erreicht. Wie bereits erwähnt, hängt der Kompressionsfaktor stark von der Statistik der Orginaldaten ab. In der Praxis wird die Effizienz von Kompressionsverfahren beispielsweise an allgemeinen (deutschen) Texten oder an übersetzten Programmen geprüft. Man unterscheidet prinzipiell zwei Codierungsverfahren: Beim Variable Length Code Verfahren (VLC) wird ein String fester Länge mit einem Codewort variabler Länge codiert. Beispiele hierfür sind die im Abschnitt (Seite 41) kennengelernten statistischen Verfahren nach Shannon, Huffman und Fano. Beim Fixed Length Code Verfahren (FLC) werden Strings unterschiedlicher Länge auf Codeworte fester Länge abgebildet. Bei den VL-Codes hängt es von der Blocklänge (feste Länge der Strings) ab, wieviel redundante Informationen durch die Codierung entfernt werden können 7. Für die Praxis gilt allgemein: FL-Codes sind im Bezug auf die Kompressionsrate besser als VL-Codes. Im Wesentlichen können drei Kompressionsverfahren unterschieden werden, nämlich die String-Substitution, 7 Vgl. Grenzwertbetrachtung am Ende von Abschnitt (Seite 44).

48 Kapitel 2. Codierung 2.3 Quellencodierung 48 das Längenfeld-Verfahren und die Differenzbildung Bei der String-Substitution wird ein String durch einen anderen ersetzt, der, gemittelt über den Text, kürzer sein muss. Dabei gibt es die Möglichkeit, nur einzelne Zeichenketten, die häufig auftreten, durch kürzere zu ersetzen oder alle Strings statistisch zu codieren. Längenfeldverfahren sind dann sinnvoll, wenn bestimmte Zeichen häufiger nacheinander vorkommen. Bei dieser Methode kann eine größere Anzahl von gleichen Zeichen durch den Wiederholungsfaktor dargestellt werden. Lokale Daten, z.b. Messwerte, haben die Eigenschaft, über weite Strecken ihren Vorgängern ähnlich zu sein. Hier ist es sinnvoll, nur die Differenz zum letzten Zeichen anzugeben. Diese Differenz kann dann mit kürzeren und somit weniger Speicherplatz belegenden Zeichen dargestellt werden. Die genannten Prinzipien lassen sich auch kombinieren Verlustfreie Datenkompression bei bekannter Quellenstatistik Substitutionsverfahren ersetzen Datenstrings durch kürzere. Die Strings und ihre Substitutionen sind in einer Kompressionstabelle abgelegt. Die einzelnen Substitutionsverfahren unterscheiden sich in der Art, wie die Orginal-Strings und die codierten Strings ermittelt werden. Grundsätzlich wird die Auftrittswahrscheinlichkeit der Nachrichten einer Quelle ausgenutzt. Hier müssen die Codeworte die Präfix-Eigenschaft haben. Diese statistischen Codes markieren die Grenze des Erreichbaren für Orginalcodes fester Länge. Bei ihnen sind eine bekannte Quellenstatistik und stationäres Verhalten der Quelle notwendige Voraussetzung für eine effiziente Codierung. Bei nicht stationärer Quelle kann statistische Codierung sogar zu einer Vergrößerung der Orginaldatenmenge führen. Grundsätzliche Vorgehensweise ist, Nachrichten nach fallenden Wahrscheinlichkeiten zu ordnen und anschließend die häufiger vorkommenden Zeichen durch kürzere Symbole zu ersetzen Verlustfreie Datenkompression bei wenig bekannter Quellenstatistik Beim allgemeinen Längenfeldverfahren werden Muster, die sich wiederholen, zusammengefasst und die Anzahl der Wiederholungen im Längenfeld angegeben. Kompressionsverfahren, die mit einem Längenfeld arbeiten, werden auch Run-Length- Verfahren genannt.

49 Kapitel 2. Codierung 2.3 Quellencodierung 49 Beispiel 2.3 Die Orginaldaten seien abcabcabcabcabc Komprimierte Daten: 3abc84 Zähler, d.h. Muster wird 4 mal wiederholt Zählerlänge in Bit, d.h. Zählerlänge=8 Bit Muster Musterlänge Übertragen wird die Länge des sich wiederholenden Musters, das Muster selbst, die Größe des Längenfeldes und das Längenfeld selbst. Die verschiedenen Längenfeldverfahren unterscheiden sich dadurch, dass jeweils nur ein Teil diese Angaben variabel ist und somit übertragen werden muss 8. Verfahren mit Differenzbildung Insbesondere bei Messwerten kommt es vor, dass in bestimmten Zeitbereichen der Messwert nur geringfügigen Schwankungen unterliegt, es sich also um einen lokalen Wert handelt. Um diesen zu codieren, reicht die Codierung der Differenz zum vorhergehenden Wert (Einzelwert-Differenz- Verfahren). Für die Codierung dieser Differenzen sind dann weniger Bit nötig. Bei der Übertragung von Zeichensequenzen kann das Relative-Encoding- Verfahren eingesetzt werden, sofern die Sequenzen nur geringfügig voneinander abweichen, wie beispielsweise bei Videosignalen. Hier werden nur die Differenzen zwischen zwei Folgen codiert Verlustfreie Datenkompression bei unbekannter Quellenstatistik Kommen innerhalb einer Datei bestimmte Zeichenketten deutlich häufiger vor als andere, so sind die Dateien mit Hilfe des Sliding-Dictionary-Verfahrens effektiv komprimierbar. Diese Zeichenketten werden mit einem sogenannten Pointer versehen, der das Auftreten der Zeichenkette signalisiert. Zusätzlich wird die Länge der Zeichenkette übermittelt. Zur Decodierung werden die Orginalzeichenketten in ein Wörterbuch abgespeichert. Es wird wegen des begrenzten Speicherplatzes ein Fenster über den vergangenen Datenstrom gelegt und immer weiter geschoben. Das Wörterbuch enthält dann immer nur eine festgelegte Anzahl der zuletzt gesendeten Zeichen und kann durch eine Reihe von Strategien während der Codierung verändert werden. Durch ein Wörterbuch mit wechselndem Inhalt wird adaptives Verhalten ermöglicht. Eine weitere Verbesserung kann erzielt werden, wenn die Strings zusätz- 8 Einzelheiten siehe: Thurner, Otter: Komprimieren ohne Datenverlust, Elektronik 23/92; 25/92

50 Kapitel 2. Codierung 2.3 Quellencodierung 50 lich statistisch codiert werden. Dies wird realisiert beim String-Dictionary-Verfahren mit statistischer Codierung. Hier wird die längste Übereinstimmung zwischen Orginaldaten und Wörterbuch gesucht. Dann wird sowohl die Länge des getroffenen Strings als auch er selbst statistisch codiert wurde von Welch ein Algorithmus, der 1977 von Lempel und Ziv angegeben worden war, und der dem Sliding-Dictionary ähnlich ist, erstmals praktisch umsetzbar gemacht. Er hat unter dem Namen LZW- (Lempel-Ziv-Welch) Algorithmus mittlerweile große Bedeutung bei den praktisch realisierten Kompressionsprogrammen für Dateien gewonnen, und wird ständig weiterentwickelt. Bei der Codierung zerlegt der Algorithmus den Datenstrom in Substrings und speichert diese in einer Tabelle ab. Falls ein String bereits in der Tabelle vorkommt, wird seine Adresse gesendet, das nachfolgende Zeichen angehängt und der neue String ebenfalls abgespeichert. Die ersten 256 Einträge in der Tabelle werden mit den Zeichen des ASCII- Codes belegt. Kann ein String nicht substituiert werden und erhält somit der Ausgang der Codiereinheit ein einzelnes Zeichen, so versieht der Codierer diese Einträge mit einem Zeiger. Dadurch enthält die Ausgangsdatei nur komprimierte Daten. Die Kompressionstabelle hat üblicherweise eine Größe von 4 kbyte. Die Dekompressionseinheit kann sich die Kompressionstabelle aus den codierten Daten selbst konstruieren, sie muss deshalb nicht mit abgespeichert werden. In der Anlaufphase ist die Kompressionsrate noch gering, da alle Strings nun in die Tabelle eingetragen werden müssen. Deshalb muss die zu komprimierende Datenmenge groß genug sein, um den Algorithmus effizient einsetzen zu können, nach Welch mindestens 10 kbyte. Die Verwaltung der Kompressionstabelle wird bei den einzelnen Anwendungsvarianten unterschiedlich gehandhabt. Beispielsweise gibt es die Möglichkeit die Adressgrößen der Tabelleneinträge am Füllgrad der Tabelle zu orientieren, so dass bis zum Eintrag bit Adressen verwendet werden, danach 10-bit Adressen usw. Falls die Tabelle voll ist, wird ein Zeichen zum Löschen des Tabelleninhalts gespeichert, so dass der Dekomprimierer ebenfalls so verfährt. Im Unix-Compress wird eine volle Tabelle nicht sofort gelöscht, sondern mit dieser weiter gearbeitet und der resultierende Kompressionsfaktor beobachtet. Erst wenn dieser sich verringert, wird der Tabelleninhalt erneuert, wodurch Anlaufphasen beim Neuschreiben der Tabelle reduziert werden. Hier wird sowohl beim Komprimieren als auch beim Dekomprimieren nur einmal über die Eingangsdaten gelaufen, d.h. es handelt sich um einen 1-Pass-Algorithmus. 9 Einzelheiten siehe Artikel ct 7/92: Squeeze, LZH & Co

51 Kapitel 2. Codierung 2.4 Kanalcodierung 51 Eine Übersicht über Kompressionsverfahren mit verlustfreier Dekompression ist in Abbildung 2.4 auf Seite 51 dargestellt. Verlustfreie Komprimierungsverfahren Statistik der Quelle bekannt Statistik der Quelle wenig bekannt Statistik der Quelle unbekannt Substitution Laengenfeld Substitution Differenz Substitution Statistische Codierung Allg. Lf. Verfahren Allgemeine String Substitu tion Einzelwert Differenz LZW Algorithmus Shannon Null Suppres sion Adaptive statistische Codierung Relative Codie rung Sliding Dictionary Huffman.... Sliding Dictionary mit statistischer Codierung Fano Abbildung 2.4: Kompressionsverfahren mit verlustfreier Dekompression Aufgabe 2.6 Analysieren Sie das Programm gzip, von dem die C-Quellen unter den GNU-Lizenzbedingungen verfügbar sind, hinsichtlich des eingesetzten Kompressionsalgorithmus. Formulieren Sie dazu das Programm in C-Web, so dass der Algorithmus klar erkennbar ist. 2.4 Kanalcodierung Grundlagen Ein Kanal ist eine Einrichtung, die vorgegebene Signale überträgt. Auf jedem Übertragungskanal finden sich Störungen, die in den meisten praktischen Fällen nicht tragbar sind. Dann müssen die Daten im Sender so codiert werden, dass die

52 Kapitel 2. Codierung 2.4 Kanalcodierung 52 aufgetretenen Übertragungsfehler vom Empfänger erkannt und korrigiert werden können. Diesem Zweck dient die Kanalcodierung bzw. Decodierung 10. Grundsätzlich existieren drei Typen von gesicherten Datenübertragungssystemen, nämlich Systeme mit reiner Vorwärts-Fehlerkorrektur, Systeme mit reiner Fehlererkennung und Rückfrage mit Wiederübermittlung und gemischte Systeme. Die Basis dieser Systeme sind fehlererkennende bzw. korrigierende Codes. Solche Codes werden dadurch realisiert, dass den Informationszeichen zusätzliche Prüfzeichen angehängt werden. Die Codierungsvorschrift setzt also einen gegebenen Zeichensatz nicht nur in Informationszeichen, sondern zusätzlich in eine Reihe von Prüfzeichen um. Anhand der Decodierungsvorschrift im Empfänger kann aus den Prüfzeichen die korrekte Übertragung festgestellt werden. Beispiel: Bildung von Kontroll bzw. Prüfzeichen. Der Empfänger erhalte die Nachricht: Sender und Empfänger benutzen folgende Codeworte: 001, 010, 100, 111. Im vorhergehenden Text sind folglich 110 und 101 nicht entschlüsselbar. Gibt der Sender nur zulässige Codeworte ab, so kann folgendes angenommen werden: Bei der Übertragung wurde eines der 3 Bit umgekehrt. Dann könnte im vorliegenden Fall z.b. für das empfangene Wort 101 das gesendete Codewort 100 bzw. 001, 111 sein. Um welches Codewort es sich handelt ist nur durch zusätzliche Zeichen (Kontrollbzw. Prüfzeichen) bestimmbar. Informations- und Prüfzeichen bilden für die Übertragung somit eine Einheit und stellen ein Codewort dar. 8 verschiedene Nachrichten (000, 001, 010, 011, 100, 101, 110, 111) können dann mit Hilfe von 3 Prüfzeichen so ergänzt werden, dass sich die daraus resultierenden Codeworte an mindestens 3 Stellen unterscheiden, z.b.: 10 vgl.: Abbildung Einfaches Modell eines Kommunikationssystems in Abschnitt 1.1 Informationstheorie

53 Kapitel 2. Codierung 2.4 Kanalcodierung 53 Codewort Informationszeichen Prüfzeichen Damit kann ein Fehler erkannt und korrigiert werden. Aus der Nachricht 101 kann durch verfälschen eines Zeichens zwar 100 bzw. 001 bzw. 111 entstehen, empfangen wird die Nachricht aber in der Form bzw bzw Da nur ein Bit fehlerhaft übertragen werden soll, muss das gesendete Codewort sein. Praktisch können die zugelassenen Codeworte (Informations- und Prüfzeichen) in einer Tabelle gespeichert werden. Der Empfänger kann dann die empfangenen Codeworte mit den Tabelleneinträgen vergleichen. Im Fehlerfall unterscheidet sich ein in der Tabelle aufgeführtes Codewort vom empfangenen Codewort an einer Stelle, von allen anderen Codeworten jedoch an mehr als einer Stelle. In diesem Beispiel erfolgte die Bildung der Prüfzeichen so, dass sich alle Codewörter untereinander an mindestens 3 Stellen unterscheiden, und zwar durch Probieren. Für größere Codes ist das Probierverfahren undurchführbar. Hier müssen mathematische Konstruktionsverfahren für Codierung und Decodierung angewandt werden Verfahren zur Fehlererkennung und Korrektur Die einfache Paritätskontrolle Prinzip: Die Zahl der Einsen in den Informationsstellen wird durch eine Prüfstelle auf eine gerade (even parity) bzw. ungerade (odd parity) Zahl von Einsen ergänzt. Das entsprechende Prüfverfahren nennt man Parity-Check. Beispiel: Ergänzen der Codeworte um eine Parity-Prüfstelle. Unabhängig davon ob es sich um eine gerade oder ungerade Parität handelt, gilt stets, dass geradzahlig viele Fehlerstellen nicht erkennbar sind, erkennbar sind lediglich ungeradzahlig viele Fehlerstellen. Die Ergänzung auf eine gerade bzw. ungerade Zahl von Einsen durch ein zusätzliches Prüfbit wird auch unter dem Namen geradzahliges bzw. ungeradzahliges Gewicht geführt. Damit wird darauf hingewiesen, dass durch das Anhängen eines zusätzlichen Bits das neugebildete Codewort

54 Kapitel 2. Codierung 2.4 Kanalcodierung 54 grundsätzlich geradzahliges bzw. ungeradzahliges Gewicht erhält. Beispiel: Codes mit geradzahligem und ungeradzahligem Gewicht. Informations- geradzahliges Gewicht ungeradzahliges Gewicht stellen Prüfstellen Quersumme Prüfstellen Quersumme Eine sehr häufige Anwendung der einfachen Paritätskontrolle ist die Blocksicherung. Im Sender eines Übertragungskanals werden Codeworte zunächst gesammelt und dann in einem Block zusammengefasst übertragen. Dazu sind folgende Aktionen bei Sender und Empfänger erforderlich: Sender: Empfänger: 1. Verschlüsselung der Nachricht 2. Zusammenfassung mehrerer Codeworte zu einem Block 3. Bildung der Prüfworte und Einfügen in den Block 4. Block senden 1. Speicherung des gesamten Blocks 2. Bildung neuer Prüfworte 3. Vergleich der Prüfworte 4. Gegebenenfalls Fehlererkennung und Fehlerkorrektur Beispiel: Blocksicherung Gegeben sei folgender Code: A= 001 B= 010 = Die Verfälschung eines Bits ergibt ein C= 100 redundantes Codewort. D= 111 Im Sender werden mehrere Codeworte zu einem Block zusammengefasst, z.b. BAD Die einzelnen Codeworte des Blocks werden untereinander geschrieben und ein Spalten- sowie ein Zeilenprüfwort gebildet.

55 Kapitel 2. Codierung 2.4 Kanalcodierung 55 B A (odd parity) D Zeilen- und Spaltenprüfwort werden mit übertragen und bilden zusammen mit dem Informationsteil den Block. Informationsteil Zeilenprüfwort Spaltenprüfwort Block Der Empfänger speichert den gesamten Block und bildet für den Informationsteil, dessen Länge bekannt ist, ebenfalls Prüfworte. Durch Vergleich der Prüfworte lässt sich eine Fehlerstelle lokalisieren und korrigieren. Empfangen: Hier lassen sich zwei Fälle unterscheiden: Tritt ein Übertragungsfehler im Informationsteil auf, so sind stets beide Prüfworte fehlerhaft. Tritt ein Fehler bei der Übertragung der Prüfworte auf, so ist stets nur eines der beiden Prüfworte fehlerhaft, das andere und der Informationsteil sind unverfälscht Das Verfahren von Hamming Prinzip: i Informationsstellen und r daraus berechnete Prüfstellen bilden ein Codewort. Die einzelnen Prüfstellen werden durch Paritätskontrollen ermittelt, jedoch erfassen die einzelnen Paritätskontrollen nicht alle Informationsstellen, sondern jeweils eine geeignete Auswahl davon. Nach Empfang eines Wortes werden nach dem gleichen Verfahren wie auf der Senderseite aus den Informationsbits die Prüfbits gebildet und diese dann mit den empfangenen Prüfbits verglichen. Beispiel: Bildung von Prüfstellen nach Hamming Informationsstellen (i) Prüfstellen (r) x x x x x x x x x Die Prüfstellen werden mit even parity nach dem Schema (x) aus den Informationsstellen gebildet. Je Codewort soll wieder nur ein Fehler auftreten. Dann sind bestimmte Paritätskontrollen nicht mehr erfüllt. Jedes Informationsbit ist an der

56 Kapitel 2. Codierung 2.4 Kanalcodierung 56 Bildung von wenigstens zwei Prüfstellen beteiligt. Da ein Fehler für jede Codewortstelle auf ein anderes Muster von verletzten Paritätsprüfungen führt, kann im Decodierer ermittelt werden, wo ein Fehler aufgetreten sein muss. fehlerhafte Prüfstelle Fehler in der Informationsstelle x x x 2 x x 3 x x 4 x x Fehler in der Prüfstelle 1 x 2 x 3 x Zu klären ist die Frage: Wieviele Prüfstellen r sind bei gegebener Anzahl von i Informationsstellen erforderlich? Eine Paritätskontrolle kann eine bestimmte Codewortstelle entweder erfassen oder nicht (2 Möglichkeiten). Für r Paritätsstellen gibt es somit 2 r Möglichkeiten. Ausgeschlossen wird die Möglichkeit, dass eine Codewortstelle durch garkeine Paritätskontrolle erfasst wird. Damit verbleiben 2 r 1 Möglichkeiten, die i Informationsbits zugeordnet werden können. Die Codewortlänge ist somit 2 r 1 = i + r bzw. i = 2 r r 1. Je Codewort kann dann eine Fehlerstelle korrigiert werden. Mit r = 3 ergibt sich i = Grenzfall ist r = 2 und i = 1. Das Verfahren von Hamming ermöglicht im Prinzip auch die Korrektur von mehr als einer Fehlerstelle je Codewort. Jedoch ist nicht ohne weiteres übersehbar, welche Auswahl von Informationsstellen für die Paritätskontrollen herangezogen werden müssen. Deshalb müssen die Codes mit mathematischen Hilfsmitteln formalisiert werden Geometrische Deutung des Coderaumes Die n-stelligen Codeworte sind Punkte in einem n-dimensionalen Raum. Jeder Binärstelle wird eine Dimension zugeordnet, d.h. alle n-stelligen Binärworte liegen auf den Ecken eines n-dimensionalen Würfels. Beispiel: Coderaum eines 3-stelligen Binärcodes 11 vgl.: Beispiel

57 Kapitel 2. Codierung 2.4 Kanalcodierung 57 Abbildung 2.5: Coderaum eines 3-stelligen Binaercodes

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Theoretische Grundlagen der Informatik WS 09/10

Theoretische Grundlagen der Informatik WS 09/10 Theoretische Grundlagen der Informatik WS 09/10 - Tutorium 6 - Michael Kirsten und Kai Wallisch Sitzung 13 02.02.2010 Inhaltsverzeichnis 1 Formeln zur Berechnung Aufgabe 1 2 Hamming-Distanz Aufgabe 2 3

Mehr

Zahlensysteme: Oktal- und Hexadezimalsystem

Zahlensysteme: Oktal- und Hexadezimalsystem 20 Brückenkurs Die gebräuchlichste Bitfolge umfasst 8 Bits, sie deckt also 2 8 =256 Möglichkeiten ab, und wird ein Byte genannt. Zwei Bytes, also 16 Bits, bilden ein Wort, und 4 Bytes, also 32 Bits, formen

Mehr

Technische Informatik - Eine Einführung

Technische Informatik - Eine Einführung Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Ausgabe: 2005-02-21 Abgabe: 2005-02-21 Technische Informatik - Eine

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. Zahlensysteme Definition: Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird. In der Informatik spricht man auch von Stellenwertsystem,

Mehr

Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19

Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19 Lineare Codes Dipl.-Inform. Wolfgang Globke Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19 Codes Ein Code ist eine eindeutige Zuordnung von Zeichen

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen?

BITte ein BIT. Vom Bit zum Binärsystem. A Bit Of Magic. 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen? BITte ein BIT Vom Bit zum Binärsystem A Bit Of Magic 1. Welche Werte kann ein Bit annehmen? 2. Wie viele Zustände können Sie mit 2 Bit darstellen? 3. Gegeben ist der Bitstrom: 10010110 Was repräsentiert

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Mag. Christian Gürtler Programmierung Grundlagen der Informatik 2011 Inhaltsverzeichnis I. Allgemeines 3 1. Zahlensysteme 4 1.1. ganze Zahlen...................................... 4 1.1.1. Umrechnungen.................................

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche: Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 5/ 44 Unser Modell Shannon

Mehr

Grundlagen der Technischen Informatik. 2. Übung

Grundlagen der Technischen Informatik. 2. Übung Grundlagen der Technischen Informatik 2. Übung Christian Knell Keine Garantie für Korrekt-/Vollständigkeit Organisatorisches Übungsblätter zuhause vorbereiten! In der Übung an der Tafel vorrechnen! Bei

Mehr

Grundlagen der Informatik (BSc) Übung Nr. 5

Grundlagen der Informatik (BSc) Übung Nr. 5 Übung Nr. 5: Zahlensysteme und ihre Anwendung Bitte kreuzen Sie in der folgenden Auflistung alle Zahlensysteme an, zu welchen jeder Ausdruck als Zahl gehören kann! (Verwenden Sie 'x für Wahl, ' ' für Ausschluß

Mehr

Kapitel 3. Codierung von Text (ASCII-Code, Unicode)

Kapitel 3. Codierung von Text (ASCII-Code, Unicode) Kapitel 3 Codierung von Text (ASCII-Code, Unicode) 1 Kapitel 3 Codierung von Text 1. Einleitung 2. ASCII-Code 3. Unicode 2 1. Einleitung Ein digitaler Rechner muss jede Information als eine Folge von 0

Mehr

Zahlensysteme Seite -1- Zahlensysteme

Zahlensysteme Seite -1- Zahlensysteme Zahlensysteme Seite -- Zahlensysteme Inhaltsverzeichnis Dezimalsystem... Binärsystem... Umrechnen Bin Dez...2 Umrechnung Dez Bin...2 Rechnen im Binärsystem Addition...3 Die negativen ganzen Zahlen im Binärsystem...4

Mehr

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele

Organisation. Was kommt zum Test? Buch Informatik Grundlagen bis inkl. Kapitel 7.4 Wissensfragen und Rechenbeispiele Organisation Was kommt zum Test? Buch Informatik Grundlagen bis inkl Kapitel 74 Wissensfragen und Rechenbeispiele 3 Vorträge zur Übung Informationstheorie, Huffman-Codierung und trennzeichenfreie Codierung

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

Name:... Matrikel-Nr.:... 3 Aufgabe Handyklingeln in der Vorlesung (9 Punkte) Angenommen, ein Student führt ein Handy mit sich, das mit einer Wahrscheinlichkeit von p während einer Vorlesung zumindest

Mehr

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005

CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005 CODIERUNGSTHEORIE KURS ZELL AN DER PRAM, FEBRUAR 2005. Das Problem.. Quellcodierung und Datenkompression. Wir wollen eine Nachricht über einen digitalen Kanal, der nur 0 oder übertragen kann, schicken.

Mehr

Kapitel 4A: Einschub - Binärcodierung elementarer Datentypen. Einschub: Teile aus Kapitel 2 in Küchlin/Weber: Einführung in die Informatik

Kapitel 4A: Einschub - Binärcodierung elementarer Datentypen. Einschub: Teile aus Kapitel 2 in Küchlin/Weber: Einführung in die Informatik Einschub: Binärcodierung elementarer Datentypen Teile aus Kapitel 2 in Küchlin/Weber: Einführung in die Informatik Unterscheide Zahl-Wert Zahl-Bezeichner Zu ein- und demselben Zahl-Wert kann es verschiedene

Mehr

A1.7: Entropie natürlicher Texte

A1.7: Entropie natürlicher Texte A1.7: Entropie natürlicher Texte Anfang der 1950er Jahre hat Claude E. Shannon die Entropie H der englischen Sprache mit einem bit pro Zeichen abgeschätzt. Kurz darauf kam Karl Küpfmüller bei einer empirischen

Mehr

Vertiefungsstoff zum Thema Darstellung von Zahlen

Vertiefungsstoff zum Thema Darstellung von Zahlen Vertiefungsstoff zum Thema Darstellung von Zahlen Addition von Zahlen in BCD-Kodierung Einerkomplementdarstellung von ganzen Zahlen Gleitpunktdarstellung nach dem IEEE-754-Standard 1 Rechnen mit BCD-codierten

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Brückenkurs Mathematik TU Dresden 2015 Lineare Gleichungssysteme Schwerpunkte: Modellbildung geometrische Interpretation Lösungsmethoden Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik auf der

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Kapitel 3: Etwas Informationstheorie

Kapitel 3: Etwas Informationstheorie Stefan Lucks 3: Informationstheorie 28 orlesung Kryptographie (SS06) Kapitel 3: Etwas Informationstheorie Komplexitätstheoretische Sicherheit: Der schnellste Algorithmus, K zu knacken erfordert mindestens

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

2. Negative Dualzahlen darstellen

2. Negative Dualzahlen darstellen 2.1 Subtraktion von Dualzahlen 2.1.1 Direkte Subtraktion (Tafelrechnung) siehe ARCOR T0IF Nachteil dieser Methode: Diese Form der Subtraktion kann nur sehr schwer von einer Elektronik (CPU) durchgeführt

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Einführung in die Kodierungstheorie

Einführung in die Kodierungstheorie Einführung in die Kodierungstheorie Einführung Vorgehen Beispiele Definitionen (Code, Codewort, Alphabet, Länge) Hamming-Distanz Definitionen (Äquivalenz, Coderate, ) Singleton-Schranke Lineare Codes Hamming-Gewicht

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen Gleichungen Lösen Was bedeutet es, eine Gleichung zu lösen? Was ist überhaupt eine Gleichung? Eine Gleichung ist, grundsätzlich eine Aussage über zwei mathematische Terme, dass sie gleich sind. Ein Term

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Lineare Gleichungssysteme I (Matrixgleichungen)

Lineare Gleichungssysteme I (Matrixgleichungen) Lineare Gleichungssysteme I (Matrigleichungen) Eine lineare Gleichung mit einer Variable hat bei Zahlen a, b, die Form a b. Falls hierbei der Kehrwert von a gebildet werden darf (a 0), kann eindeutig aufgelöst

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Eine Logikschaltung zur Addition zweier Zahlen

Eine Logikschaltung zur Addition zweier Zahlen Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung

Mehr

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR) Eine Firma stellt USB-Sticks her. Sie werden in der Fabrik ungeprüft in Packungen zu je 20 Stück verpackt und an Händler ausgeliefert. 1 Ein Händler

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN CHRISTIAN HARTFELDT. Zweiter Mittelwertsatz Der Mittelwertsatz Satz VI.3.4) lässt sich verallgemeinern zu Satz.. Seien f, g : [a, b] R auf [a,

Mehr

Lösung Fall 8 Anspruch des L auf Lieferung von 3.000 Panini á 2,-

Lösung Fall 8 Anspruch des L auf Lieferung von 3.000 Panini á 2,- Lösung Fall 8 Anspruch des L auf Lieferung von 3.000 Panini á 2,- L könnte gegen G einen Anspruch auf Lieferung von 3.000 Panini á 2,- gem. 433 I BGB haben. Voraussetzung dafür ist, dass G und L einen

Mehr

Einfache kryptographische Verfahren

Einfache kryptographische Verfahren Einfache kryptographische Verfahren Prof. Dr. Hagen Knaf Studiengang Angewandte Mathematik 26. April 2015 c = a b + a b + + a b 1 11 1 12 2 1n c = a b + a b + + a b 2 21 1 22 2 2n c = a b + a b + + a b

Mehr

Codierung. H.-G. Hopf

Codierung. H.-G. Hopf Codierung H.-G. Hopf Inhalt Informationsübermittlung Codierung von Zeichen GDI: Codierung / 2 Inhalt Informationsübermittlung Codierung von Zeichen GDI: Codierung / 3 Ideale Kommunikation Übertragungskanal

Mehr

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011

Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011 Rechnernetze Übung 5 Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Mai 2011 Ziel: Nachrichten fehlerfrei übertragen und ökonomisch (wenig Redundanz) übertragen Was ist der Hamming-Abstand?

Mehr

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3

Lineare Funktionen. 1 Proportionale Funktionen 3 1.1 Definition... 3 1.2 Eigenschaften... 3. 2 Steigungsdreieck 3 Lineare Funktionen Inhaltsverzeichnis 1 Proportionale Funktionen 3 1.1 Definition............................... 3 1.2 Eigenschaften............................. 3 2 Steigungsdreieck 3 3 Lineare Funktionen

Mehr

Zahlensysteme. Zahl 0 0 0 0 0 5 5. Stellenwert Zahl 0 0 0 0 0 50 5. Zahl = 55 +50 +5

Zahlensysteme. Zahl 0 0 0 0 0 5 5. Stellenwert Zahl 0 0 0 0 0 50 5. Zahl = 55 +50 +5 Personal Computer in Betrieb nehmen 1/6 Weltweit setzen die Menschen alltäglich das Zehnersystem für Zählen und Rechnen ein. Die ursprüngliche Orientierung stammt vom Zählen mit unseren 10 Fingern. Für

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

3. Zusammenhang. 22 Andreas Gathmann

3. Zusammenhang. 22 Andreas Gathmann 22 Andreas Gathmann 3. Zusammenhang Eine der anschaulichsten Eigenschaften eines topologischen Raumes ist wahrscheinlich, ob er zusammenhängend ist oder aus mehreren Teilen besteht. Wir wollen dieses Konzept

Mehr

Plotten von Linien ( nach Jack Bresenham, 1962 )

Plotten von Linien ( nach Jack Bresenham, 1962 ) Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels

Mehr

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140

4. Woche Decodierung; Maximale, Perfekte und Optimale Codes. 4. Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140 4 Woche Decodierung; Maximale, Perfekte und Optimale Codes 4 Woche: Decodierung; Maximale, Perfekte und Optimale Codes 69/ 140 Szenario für fehlerkorrigierende Codes Definition (n, M)-Code Sei C {0, 1}

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Statistische Thermodynamik I Lösungen zur Serie 1

Statistische Thermodynamik I Lösungen zur Serie 1 Statistische Thermodynamik I Lösungen zur Serie Zufallsvariablen, Wahrscheinlichkeitsverteilungen 4. März 2. Zwei Lektoren lesen ein Buch. Lektor A findet 2 Druckfehler, Lektor B nur 5. Von den gefundenen

Mehr

Anzahl Pseudotedraden: Redundanz: Weitere Eigenschaften?

Anzahl Pseudotedraden: Redundanz: Weitere Eigenschaften? 1. Aufgabe: Aiken-Code Erstellen Sie die Codetabelle für einen Aiken-Code. Dieser Code hat die Wertigkeit 2-4-2-1. Tipp:Es gibt hier mehrere Lösungen, wenn nicht die Bedingung Aiken-Code gegeben wäre.

Mehr

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10

Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754. Berechnung von Gleitkommazahlen aus Dezimalzahlen. HSLU T&A Informatik HS10 Informationssysteme Gleitkommazahlen nach dem IEEE-Standard 754 Berechnung von Gleitkommazahlen aus Dezimalzahlen Die wissenschaftliche Darstellung einer Zahl ist wie folgt definiert: n = f * 10 e. f ist

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

10.1 Auflösung, Drucken und Scannen

10.1 Auflösung, Drucken und Scannen Um einige technische Erläuterungen kommen wir auch in diesem Buch nicht herum. Für Ihre Bildergebnisse sind diese technischen Zusammenhänge sehr wichtig, nehmen Sie sich also etwas Zeit und lesen Sie dieses

Mehr

11. Das RSA Verfahren und andere Verfahren

11. Das RSA Verfahren und andere Verfahren Chr.Nelius: Kryptographie (SS 2011) 31 11. Das RSA Verfahren und andere Verfahren Eine konkrete Realisierung eines Public Key Kryptosystems ist das sog. RSA Verfahren, das im Jahre 1978 von den drei Wissenschaftlern

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester 2015. gehalten von Harald Baum Fachschaft Mathematik und Informatik (FIM) LA I VORKURS Herbstsemester 2015 gehalten von Harald Baum 2. September 2015 Inhaltsverzeichnis 1. Stichpunkte zur Linearen Algebra I 2. Körper 3. Vektorräume

Mehr

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.) Lösungsmethoden gewöhnlicher Dierentialgleichungen Dgl) Allgemeine und partikuläre Lösung einer gewöhnlichen Dierentialgleichung Eine Dierentialgleichung ist eine Gleichung! Zum Unterschied von den gewöhnlichen

Mehr

6.2 Perfekte Sicherheit

6.2 Perfekte Sicherheit 04 6.2 Perfekte Sicherheit Beweis. H(B AC) + H(A C) = H(ABC) H(AC) + H(AC) H(C) Wegen gilt Einsetzen in die Definition gibt = H(AB C). H(A BC) = H(AB C) H(B C). I(A; B C) = H(A C) H(AB C) + H(B C). Da

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN

TECHNISCHE UNIVERSITÄT MÜNCHEN TECHISCHE UIVERSITÄT MÜCHE Zentrum Mathematik PRF. R.R. JÜRGE RICHTER-GEBERT, VAESSA KRUMMECK, MICHAEL PRÄHFER Höhere Mathematik für Informatiker I (Wintersemester 003/004) Aufgabenblatt 1 (4. ktober 003)

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer Institut für Kommunikationsnetze und Rechnersysteme Grundlagen der Technischen Informatik Paul J. Kühn, Matthias Meyer Übung 2 Sequenzielle Netzwerke Inhaltsübersicht Aufgabe 2.1 Aufgabe 2.2 Prioritäts-Multiplexer

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

Signalübertragung und -verarbeitung

Signalübertragung und -verarbeitung ILehrstuhl für Informationsübertragung Schriftliche Prüfung im Fach Signalübertragung und -verarbeitung 6. Oktober 008 5Aufgaben 90 Punkte Hinweise: Beachten Sie die Hinweise zu den einzelnen Teilaufgaben.

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand

Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Entladen und Aufladen eines Kondensators über einen ohmschen Widerstand Vorüberlegung In einem seriellen Stromkreis addieren sich die Teilspannungen zur Gesamtspannung Bei einer Gesamtspannung U ges, der

Mehr

Aufgaben zu Stellenwertsystemen

Aufgaben zu Stellenwertsystemen Aufgaben zu Stellenwertsystemen Aufgabe 1 a) Zähle im Dualsystem von 1 bis 16! b) Die Zahl 32 wird durch (100000) 2 dargestellt. Zähle im Dualsystem von 33 bis 48! Zähle schriftlich! Aufgabe 2 Wandle die

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Sonderrundschreiben. Arbeitshilfe zu den Pflichtangaben in Immobilienanzeigen bei alten Energieausweisen

Sonderrundschreiben. Arbeitshilfe zu den Pflichtangaben in Immobilienanzeigen bei alten Energieausweisen Sonderrundschreiben Arbeitshilfe zu den Pflichtangaben in Immobilienanzeigen bei alten Energieausweisen Sonnenstraße 11-80331 München Telefon 089 / 5404133-0 - Fax 089 / 5404133-55 info@haus-und-grund-bayern.de

Mehr

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN Wir wollen nun die Rechengesetze der natürlichen Zahlen auf die Zahlenmenge der ganzen Zahlen erweitern und zwar so, dass sie zu keinem Widerspruch mit bisher geltenden

Mehr

Grundlagen Digitaler Systeme (GDS)

Grundlagen Digitaler Systeme (GDS) Grundlagen Digitaler Systeme (GDS) Prof. Dr. Sven-Hendrik Voß Sommersemester 2015 Technische Informatik (Bachelor), Semester 1 Termin 10, Donnerstag, 18.06.2015 Seite 2 Binär-Codes Grundlagen digitaler

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen

Beispiel 48. 4.3.2 Zusammengesetzte Zufallsvariablen 4.3.2 Zusammengesetzte Zufallsvariablen Beispiel 48 Ein Würfel werde zweimal geworfen. X bzw. Y bezeichne die Augenzahl im ersten bzw. zweiten Wurf. Sei Z := X + Y die Summe der gewürfelten Augenzahlen.

Mehr

Informationsdarstellung im Rechner

Informationsdarstellung im Rechner Informationsdarstellung im Rechner Dr. Christian Herta 15. Oktober 2005 Einführung in die Informatik - Darstellung von Information im Computer Dr. Christian Herta Darstellung von Information im Computer

Mehr

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur

Codierungsverfahren SS 2011. Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Reed-Solomon-Codes zur Mehrblock-Bündelfehler-Korrektur Wie die zyklischen BCH-Codes zur Mehrbitfehler-Korrektur eignen sich auch die sehr verwandten Reed-Solomon-Codes (= RS-Codes) zur Mehrbitfehler-Korrektur.

Mehr

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Der Gutachtenstil: Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Das Ergebnis steht am Schluß. Charakteristikum

Mehr

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um

Mehr

3.1. Die komplexen Zahlen

3.1. Die komplexen Zahlen 3.1. Die komplexen Zahlen Es gibt viele Wege, um komplexe Zahlen einzuführen. Wir gehen hier den wohl einfachsten, indem wir C R als komplexe Zahlenebene und die Punkte dieser Ebene als komplexe Zahlen

Mehr

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über Güte von s Grundlegendes zum Konzept der Güte Ableitung der Gütefunktion des Gauss im Einstichprobenproblem Grafische Darstellung der Gütefunktionen des Gauss im Einstichprobenproblem Ableitung der Gütefunktion

Mehr

Statistik I für Betriebswirte Vorlesung 5

Statistik I für Betriebswirte Vorlesung 5 Statistik I für Betriebswirte Vorlesung 5 PD Dr. Frank Heyde TU Bergakademie Freiberg Institut für Stochastik 07. Mai 2015 PD Dr. Frank Heyde Statistik I für Betriebswirte Vorlesung 5 1 Klassische Wahrscheinlichkeitsdefinition

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

AZK 1- Freistil. Der Dialog Arbeitszeitkonten Grundsätzliches zum Dialog Arbeitszeitkonten AZK 1- Freistil Nur bei Bedarf werden dafür gekennzeichnete Lohnbestandteile (Stundenzahl und Stundensatz) zwischen dem aktuellen Bruttolohnjournal und dem AZK ausgetauscht. Das Ansparen und das Auszahlen

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr