Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Information und Kommunikation Hartmut Klauck Universität Frankfurt SS 07 25.5.

Ähnliche Präsentationen


Präsentation zum Thema: "Information und Kommunikation Hartmut Klauck Universität Frankfurt SS 07 25.5."—  Präsentation transkript:

1 Information und Kommunikation Hartmut Klauck Universität Frankfurt SS

2 Information & Kommunikation 122 Dekodierung Wir wollen nun untersuchen, wie RS Codes dekodiert werden können (die Kodierung ist trivial) Gegeben sind n verschiedene Elemente a 1,…,a n von Z q, y 1,…,y n 2 Z q, und Parameter k,t mit t · (n-k)/2 Gesucht ist ein Polynom P mit Grad

3 Information & Kommunikation 123 Dekodierung Es gibt einen Polynomialzeitalgorithmus Der erste entworfene Algorithmus für das Problem hat Laufzeit O(n 3 ), bester Algorithmus heute O(n polylog n) Wir betrachten einen einfachen Algorithmus mit O(n 3 ) Laufzeit

4 Information & Kommunikation 124 Dekodierung Definition 12.1 –Gegeben a 1,…,a n und einen erhaltenen Vektor y 1,…,y n nennen wir ein Polynom E(x) fehlerlokalisierend für P, wenn es Grad t hat und E(a i )=0 gdw P(a i ) y i So ein Polynom existiert: T sei die Menge der Fehlerpositionen in y, |T|=t, setze E(x)= i 2 T (x-a i )

5 Information & Kommunikation 125 Dekodierung Wir setzen N(x)=P(x)E(x) N hat Grad höchstens k-1+t Es gilt für alle i: N(a i )=y i E(a i ) –Denn: wenn E(a i )=0, dann gilt P(a i )E(a i )=0 =y i E(a i ) –Wenn E(a i ) 0, dann gilt P(a i )=y i

6 Information & Kommunikation 126 Welch-Berlekamp Algorithmus Gegeben n,k,t · (n-k)/2 sowie n Paare (a i,y i ) mit verschiedenen a i Schritt 1: –Finde Polynome N,E wie folgt, wenn diese existieren deg(E)=t deg(N)

7 Information & Kommunikation 127 Laufzeit Die Laufzeit ist O(n 3 ) –Für Schritt 2 ist dies leicht zu sehen –Der erste Schritt ist die Lösung eines linearen Gleichungssystems –Wir suchen Koeffizienten N 0,…,N k+t-1 und E 0,…,E t so dass für alle i gilt: –Weiterhin muss gelten E t 0 –Wir dürfen aber E t =1 festlegen (es gibt ein fehlerlokalisierendes Polynom mit E t =1, denn wir können sonst alle Koeffizienten durch E t teilen ohne die Nullstellen zu ändern) –Das lineare Gleichungssystem kann in Zeit O(n 3 ) gelöst werden

8 Information & Kommunikation 128 Korrektheit Angenommen P hat Grad

9 Information & Kommunikation 129 Korrektheit Lemma 12.2 Alle Lösungen N,E und N,E erfüllen N(x)/E(x)=N(x)/E(x) Damit gilt, dass N(x)/E(x)=N(x)/E(x)=P(x). Beweis: –Der Grad von N(x)E(x) und N(x)E(x) ist \leq k-1+2t –Für alle i gilt: y i E(a i )=N(a i ) und N(a i )=y i E(a i ) y i E(a i )N(a i )=y i E(a i )N(a i ) Wir behaupten dass sogar E(a i )N(a i )=E(a i )N(a i ) –Klar wenn y i 0 –Sonst: N(a i )=N(a i )=0 und Beh. gilt ebenfalls –Wenn nun n ¸ k+2t, so stimmen E(x)N(x) und E(x)N(x) auf mehr Punkten überein als ihr Grad, und sind daher identisch

10 Information & Kommunikation 1210 Codes Wir haben verschiedene fehlerkorrigierende Codes kennengelernt –Reed-Solomon, Hamming, Hadamard Diese Codes können ¼ doppelt so viele Erasures korrigieren wie Fehler Es gibt aber auch spezielle Erasure Codes

11 Information & Kommunikation 1211 Codes Welche guten Codes gibt es noch? –BCH-Codes: algebraische Codes (Reed-Solomon Spezialfall) mit teilweise besseren Eigenschaften –Low Density Parity Check Codes: können in Linearzeit dekodiert werden –durch graphtheoretische Ideen können konstanten Bruchteil von Fehlern korrigieren Konstante Rate Variante davon kann auch in Linearzeit kodiert werden –Tornado Codes Erasure Codes, welche Kapazität fast erreichen –Linearzeit kodierbar und dekodierbar

12 Information & Kommunikation 1212 Dynamische Codes Es gibt weitere Variante von Codes –Fountain Codes: Sender schickt eine Folge von Paketen. Jede Teilmenge von k Paketen reicht aus, um die Nachricht zu dekodieren Also für Erasure Kanäle mit beliebiger Verlustrate geeignet Sender schickt eine unendliche Folge von Paketen, stoppt erst, wenn Empfänger dies signalisiert

13 Information & Kommunikation 1213 Datenkompression Wir kommen jetzt kurz zur Kompression zurück Praktisch relevantes Verfahren: Lempel-Ziv (Z.B. in zip-Programmen, oder dem GIF Standard) Dynamisches Verfahren Verlustfrei

14 Information & Kommunikation 1214 Lempel Ziv Universelles Verfahren zur Kompression von Daten aus einer Quelle Passt sich der Quelle an Die Rate geht gegen die Entropie der Quelle Auch praktisch relativ effizient

15 Information & Kommunikation 1215 Lempel Ziv Eine Quelle produziert einen Bitstring –(Verfahren kann einfach auf andere Alphabete verallgemeinert werden) Der Algorithmus konstruiert eine Tabelle von Worten, die bereits vorkamen Worte, die noch nicht vorkamen, werden in die Tabelle aufgenommen

16 Information & Kommunikation 1216 Lempel Ziv Beispiel: – –wird zu 0,1,00,10,01,011, 010,101,0101 D.h. nach jedem Komma suchen wir das kürzeste neue Wort Alle Präfixe eines neuen Teilstrings x i,…,x i+t sind bereits in unserer Tabelle, insbesondere der String x i,…,x i+t-1 Wir kodieren den neuen String als die Position des Präfixes in der Tabelle + das neue Bit

17 Information & Kommunikation 1217 Lempel Ziv c(x) sei die Anzahl der Worte in der Tabelle zu einem n-Bit String x Jeder Tabellenindex braucht daher log c(x) Bits, dazu 1 Bit für das letzte Zeichen Beispiel: –0,1,00,10,01,011,010,101,0101 –Wird zu (0000,0), (0000,1), (0001,0), (0010,0), (0001,1), (0101,1), (0101,0), (0100,1), (0111,1) –Erst bei langen Strings erhalten wir tatsächlich eine Kompression!

18 Information & Kommunikation 1218 Lempel Ziv Der Algorithmus läuft also zweimal über de String, zuerst wird die Tabelle erzeugt, c(x) berechnet Dann wird kodiert Varianten möglich, wo die Pointer nicht alle die gleiche Länge haben, und wo nur ein Durchlauf nötig

19 Information & Kommunikation 1219 Lempel Ziv Wir erhalten eine Kodierung mit Länge c(x)(log(c(x))+1) Unser Ziel ist es zu zeigen, dass c(x)(log(c(x))+1)/n gegen die Entropie der Quelle geht Dies gilt für Stationäre Ergodische Quellen Wir betrachten der Einfachheit halber nur Quellen, die unabhängig zufällig Bits ausgeben

20 Information & Kommunikation 1220 Lempel Ziv Theorem 12.3 –Die Anzahl c(x) der Worte in die ein n-Bit String x zerlegt wird, erfüllt c(x) · n/((1- n ) log n), wobei n gegen 0 geht Beweis: –Sei –Dies ist die Summe der Längen aller Strings der Länge · k

21 Information & Kommunikation 1221 Lempel Ziv Die Anzahl der erzeugten Teilworte in unserem String x 1,…,x n ist maximal, wenn diese möglichst kurz sind Wenn n=n k, dann geschieht dies wenn alle erzeugten Teilworte · k lang sind, daher gilt: Wenn n k · n < n k+1, gilt n=n k + und · (k+1)2 k+1 Es gibt dann /(k+1) Worte der Länge k+1

22 Information & Kommunikation 1222 Lempel Ziv Daher: Wir müssen noch die Größe von k für gegebenes n bestimmen. n k · n < n k+1, Dann:

23 Information & Kommunikation 1223 Lempel Ziv

24 Information & Kommunikation 1224 Lempel Ziv Sei nun y 1,…y c(x) eine Zerlegung von x in Teilworte c l (x) sei die Anzahl der y i mit Länge l Klar: Lemma 12.4 –Für jede Verteilung p auf {0,1} (und deren Erweiterung auf {0,1} n ) und die Zerlegung y 1,…y c(x) von x gilt: log p(x) · - l=1....n c l (x) log c l (x)

25 Information & Kommunikation 1225 Beweis 12.4 Es gilt: log p(x)=log i=1…n p(x i ) =log i=1…c(x) p(y i ) = i=1…c(x) log p(y i ) = l=1....n i:|y i |=l log p(y i ) = l=1....n c l (x) i:|y i |=l (1/c l (x)) log p(y i ) · l=1....n c l (x) log( i:|y i |=l (1/c l (x)) p(y i ) ) mit Jensen und i:|y i |=l 1/c l (x)=1

26 Information & Kommunikation 1226 Beweis 12.4 Daher: log p(x) · l=1....n c l (x) log( i:|y i |=l (1/c l (x)) p(y i )) = l=1....n c l (x) log((1/c l (x)) i:|y i |=l p(y i )) · l=1....n c l (x) log(1/c l (x)) =- l=1....n c l (x) log c l (x)


Herunterladen ppt "Information und Kommunikation Hartmut Klauck Universität Frankfurt SS 07 25.5."

Ähnliche Präsentationen


Google-Anzeigen