www.wikidata.de-de.nina.az
Low Density Parity Check Codes auch als LDPC oder Gallager Codes bezeichnet sind lineare Blockcodes zur Vorwartsfehlerkorrektur Sie wurden 1962 von Robert Gray Gallager im Rahmen seiner Dissertation am MIT entwickelt 1 2 Low Density Parity Check Codes beschreiben mit Hilfe einer Matrix viele zusammenhangende Paritatsprufungen Es wird dabei das Prinzip einer Kontrollmatrix angewandt H b T 0 displaystyle H cdot b T 0 wobei H displaystyle H die Kontrollmatrix parity check matrix und b displaystyle b die Folge der empfangenen Codesymbole reprasentiert als Zeilenvektor darstellt H ist nur dunn besetzt daher die Bezeichnung low density Nachdem sie lange vergessen waren erlebten sie eine Renaissance als Rudiger Urbanke und Thomas J Richardson 2001 zeigten dass sie nahe der Shannon Grenze operieren konnten und als irregulare LDPC effizient implementiert werden konnten Zu den irregularen LDPC gehoren die Tornado Codes fur Erasure Coding Michael Luby Michael Mitzenmacher Daniel A Spielman Amin Shokrollahi 2001 Inhaltsverzeichnis 1 Notation 2 Begriffsdefinition 3 Regulare und nicht regulare Codes 4 Codierung 5 Decodierung 6 Konstruktion von LDPC Codes 7 Tanner Graphen 8 Praktischer Einsatz von LDPC Codes 9 Literatur 10 EinzelnachweiseNotation Bearbeiten n l R LDPC displaystyle n l R text LDPC nbsp n displaystyle n nbsp Codewortlange k displaystyle k nbsp Anzahl der Paritatsbits l displaystyle l nbsp Anzahl an Informationsstellen R displaystyle R nbsp CoderateBegriffsdefinition Bearbeitena displaystyle a nbsp oder a l displaystyle a l nbsp Quellcodewort Infowort a k displaystyle a k nbsp redundanter Teil des Kanalcodewortes a displaystyle a nbsp Kanalcodewort b displaystyle b nbsp Empfangsfolge H displaystyle H nbsp KontrollmatrixRegulare und nicht regulare Codes BearbeitenWichtige Kennzeichen des LDPC Codes sind die Anzahl der 1 Bits pro Zeile w r displaystyle w r nbsp sowie die 1 Bits pro Spalte w c displaystyle w c nbsp in der Kontrollmatrix H displaystyle H nbsp Fur diese Kennzeichen gilt w r n displaystyle w r ll n nbsp sowie w c k displaystyle w c ll k nbsp Ist w r displaystyle w r nbsp konstant fur alle Zeilen und w c displaystyle w c nbsp konstant fur alle Spalten von H displaystyle H nbsp so wird dieser Code regular genannt Fur einen regularen LDPC Code gilt w r w c l k k displaystyle w r w c cdot l k k nbsp Variiert die Anzahl der Einsen handelt es sich um einen irregularen Code Typischerweise sind irregulare LDPC Code leistungsfahiger als regulare Codierung BearbeitenEs gilt eine zu sendende Folge a displaystyle a nbsp zu finden die der Gleichung H a T 0 displaystyle H cdot a T 0 nbsp genugt Eine mogliche Form der Codierung funktioniert folgendermassen Das Kanalcodewort a displaystyle a nbsp ist zusammengesetzt aus den zu sendenden Daten a l displaystyle a l nbsp welche bekannt sind und dem redundanten Teil a k displaystyle a k nbsp Da a displaystyle a nbsp oben genannte Formel erfullen muss muss a k displaystyle a k nbsp entsprechend berechnet werden Sei a a k a l displaystyle a a k a l nbsp und H H k H l displaystyle H H k H l nbsp Es soll gelten H k H l a k a l T 0 displaystyle H k H l a k a l T 0 nbsp Dies kann umgeformt werden H k a k H l a l displaystyle H k a k H l a l nbsp Daraus ergibt sich a k T H k 1 H l a l displaystyle a k T H k 1 cdot H l cdot a l nbsp In Worten ausgedruckt muss dabei der invertierte quadratische der erste Teil Hk der Kontrollmatrix mit dem verbleibenden Rest Hl der Kontrollmatrix und den zu sendenden Daten al multipliziert werden Decodierung BearbeitenHierbei gilt es ebenso das Problem H b T 0 displaystyle H cdot b T 0 nbsp zu losen Hierzu werden haufig iterative Graph basierte Algorithmen gewahlt Nach der Ubertragung des Kanalcodewortes a displaystyle a nbsp uber einen Ubertragungskanal z B einen AWGN Kanal additives weisses gausssches Rauschen wird in der Regel das Wort b M displaystyle b M nbsp bestehend aus reellen Werten empfangen Aus diesen wird im Regelfall mit Hilfe eines iterativen Verfahrens eine Naherungslosung berechnet Durch die Gleichungsmatrix H werden N Gleichungen vorgegeben jede dieser Gleichungen erlaubt es unabhangige Informationen zu den enthaltenen Elementen zu berechnen Nun werden diese Informationen in den anderen Gleichungsberechnungen wiederverwendet Zu beachten ist dabei dass die Informationen die mit einer Gleichung berechnet wurden in der nachsten Iteration vor der erneuten Berechnung entfernt werden mussen Konstruktion von LDPC Codes BearbeitenLDPC Codes werden durch ihre Kontrollmatrix H beschrieben Einen LDPC Code zu entwickeln heisst also eine geeignete Kontrollmatrix zu finden oder zu konstruieren Die zum Erstellen von Codewortern benotigte Generatormatrix G kann mit Hilfe des Gauss Jordan Verfahrens aus H hergeleitet werden Zur Generierung von Kontrollmatrizen eignen sich u a die folgenden Verfahren welche teilweise darauf basieren die Kontrollmatrix als Tanner Graph 3 zu versinnbildlichen und diesen unter Zuhilfenahme verschiedener Algorithmen zu bearbeiten Progressive Edge Growth PEG 4 5 Konstruktion nach David J C MacKay und Radford M Neal 6 Zufallige Konstruktion der Kontrollmatrix 7 Um die Anzahl der in der Matrix vorkommenden Einsen verhaltnismassig gering zu halten konnen auch noch sogenannte Row Splitting und Column Splitting Algorithmen eingesetzt werden 7 Im LDPC Code konnen die Paritatsprufungen als dunnbesetzte Paritatsprufmatrix mit n displaystyle n nbsp Spalten und n k displaystyle n k nbsp Zeilen ausgedruckt werden Das heisst dass die Anzahl der Elemente 1 viel geringer ist als die Anzahl der Elemente 0 Es gibt drei Parameter die die dunnbesetzte Paritatsprufungsmatrix definieren namlich n displaystyle n nbsp w c displaystyle w c nbsp und w r displaystyle w r nbsp Dort ist n displaystyle n nbsp die Lange des Codeworts w c displaystyle w c nbsp die Anzahl der Elemente 1 in jeder Spalte und w r displaystyle w r nbsp die Anzahl der Elemente 1 in jeder Zeile Damit die Matrix als dunnbesetzt bezeichnet wird muss w c n n k displaystyle w c ll n cdot n k nbsp und w r n n k displaystyle w r ll n cdot n k nbsp gelten Damit diese Bedingungen erfullt sind muss die Paritatsprufmatrix sehr gross sein Es gibt regulare und irregulare Paritatsprufungsmatrixen Eine Paritatsprufungsmatrix ist regelmassig wenn die Anzahl w c displaystyle w c nbsp der Elemente 1 in jeder Spalte und die Anzahl w r displaystyle w r nbsp der Elemente 1 in jeder Zeile gleich ist Wenn diese Anzahlen nicht gleich sind ist die Paritatsprufungsmatrix irregular Fur regulare Matrizen ist die Dekodierung weniger komplex Jede Spalte der Matrix H displaystyle H nbsp reprasentiert einen Bitknoten und jede Zeile der Matrix H displaystyle H nbsp reprasentiert einen Kontrollknoten Bitknoten geben die Elemente des Codesworts an Kontrollknoten geben die Bedingungen der Paritatsprufung an Jede 1 zeigt an dass es eine Verbindung Kante zwischen dem Bitknoten und dem Kontrollknoten gibt Ein Beispiel Paritatsprufungsmatrix mit n 8 displaystyle n 8 nbsp w c 2 displaystyle w c 2 nbsp und w r 4 displaystyle w r 4 nbsp ist 8 H 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 1 0 displaystyle H begin pmatrix 0 amp 1 amp 0 amp 1 amp 1 amp 0 amp 0 amp 1 1 amp 1 amp 1 amp 0 amp 0 amp 1 amp 0 amp 0 0 amp 0 amp 1 amp 0 amp 0 amp 1 amp 1 amp 1 1 amp 0 amp 0 amp 1 amp 1 amp 0 amp 1 amp 0 end pmatrix nbsp Tanner Graphen BearbeitenLDPC Codes konnen auch mit bipartiten Graphen dargestellt werden Weil bei LDPC Codes nur sehr wenige Bits beteiligt sind ergibt sich auf diese Weise eine einfache und elegante Darstellung die sogenannten Tanner Graphen Dabei werden die Elemente der zwei Mengen in unterschiedliche Klassen von Knoten eingeteilt wobei Verbindungen nur Knoten aus unterschiedlichen Klassen mit Kanten verbunden werden Diese zwei Klassen von Knoten werden in einem Tanner Graph als Bitknoten und Kontrollknoten bezeichnet Von einem Kontrollknoten fuhren Kanten entsprechend der zugehorigen Prufgleichung zu allen Bitknoten Jeder Bitknoten reprasentiert also eine Bitstelle im Codewort wahrend jeder Kontrollknoten fur eine Paritatsgleichung steht Die Verbindung eines Knotens im Tanner Graph mit einem beliebigen anderen Knoten wird Kante genannt Mehrere Kanten konnen einen Pfad in einem Tanner Graph bilden welcher auf sich zuruckfuhrt Solche Knoten bzw Kantenfolgen die wieder zum Ausgangspunkt zuruckfuhren werden als Zyklus bezeichnet Die Lange des kurzesten Zyklus im Tanner Graph ist die Taillenweite Bedingt durch den Aufbau des Tanner Graph ist die Taillenweite immer gerade und mindestens gleich 4 Generell aber gilt dass sich kurze Zyklen negativ auf den iterativen Decodierungsprozess auswirken Daher sollten kurze Zyklen vermieden werden 9 Praktischer Einsatz von LDPC Codes BearbeitenLDPC Codes werden in unterschiedlichen Gebieten der Technik angewendet In der Regel werden sie verkettet eingesetzt So dienen LDPC Codes beispielsweise zur fehlerkorrigierenden Datenubertragung von digitalen Fernsehsignalen nach DVB S2 und bei Digital Terrestrial Multimedia Broadcast DTMB Neben neueren WLAN Standards wie dem IEEE 802 11n 10 n WLAN oder n Draft WLAN implementiert auch der WLAN ahnliche Standard 802 16e 11 Wimax LDPC Codes Weitere Standards sind GMR 1 IEEE 802 3an IEEE 802 22 CMMB sowie WiMedia 1 5 12 Im Amateurfunkdienst werden LDPC Codes angewendet in den Ubertragungsprotokollen FT8 und FT4 zur Fehlerkorrektur der Datenubertragung in Kombination mit einer zyklischen Redundanzprufung CRC zur Fehlererkennung Literatur BearbeitenRobert G Gallager Low Density Parity Check Codes M I T Press Classic Series Cambridge MA 1963 M I T Press research monographs 21 ZDB ID 597839 7 andere Fassung PDF 655 kB David J C MacKay Information theory inference and learning algorithms Cambridge University Press Cambridge u a 2003 ISBN 0 521 64298 1 auch online verfugbar Todd K Moon Error Correction Coding Mathematical Methods and Algorithms Wiley Interscience Hoboken NJ 2005 ISBN 0 471 64800 0 Amin Shokrollahi LDPC Codes An Introduction In Keqin Feng u a Hrsg Coding cryptography and combinatorics Birkhauser Basel u a 2004 ISBN 3 7643 2429 5 S 85 112 Progress in computer science and applied logic 23 PDF Einzelnachweise Bearbeiten Robert G Gallager Low Density Parity Check Codes Memento vom 16 Marz 2007 im Internet Archive PDF 1 1 MB in IRE Transactions on Information Theory Seiten 21 bis 28 1962 Robert G Gallager Low Density Parity Check Codes 1963 Jian Sun An Introduction to Low Density Parity Check LDPC Codes Memento vom 13 Januar 2012 im Internet Archive Alex Balatsoukas Stimming The Progressive Edge Growth Algorithm Memento vom 30 Oktober 2012 im Internet Archive PDF 261 kB David MacKay C Implementierung des PEG Algorithmus fur LDPC Codes Design and Implementation of LDPC Codes PDF 255 kB a b Design of LDPC Codes PDF 563 kB Saumya Borwankar Dhruv Shah Institute of technology Nirma University Low Density Parity Check Code LDPC Codes Overview Michael Petter Technische Universitat Graz Untersuchung und Simulation von Low Density Parity Check Codes IEEE IEEE Standard 802 11n Memento vom 3 Februar 2013 im Internet Archive IEEE IEEE Standard 802 16e Liste standardisierter LDPC Codes mit Eigenschaften und Erklarungen Abgerufen von https de wikipedia org w index php title Low Density Parity Check Code amp oldid 238236932