Paritäts-Check-Code mit niedriger Dichte
Im Informationstheorie, a Paritätsprüfung mit niedriger Dichte (LDPC) Code ist ein linear Fehlerkorrekturcode, eine Methode zur Übertragung einer Nachricht über a laut Übertragungskanal.[1][2] Ein LDPC wird unter Verwendung eines Sparse konstruiert Tanner -Diagramm (Unterklasse der Bipartitale Grafik).[3] LDPC-Codes sind Kapazitätsgenehmigungscodes, was bedeutet, dass praktische Konstruktionen vorhanden sind, die es ermöglichen, die Rauschschwelle sehr nahe am theoretischen Maximum festzulegen (die Shannon -Grenze) für einen symmetrischen, erinnernlosen Kanal. Der Rauschschwellenwert definiert eine Obergrenze für das Kanalrauschen, bis zu der die Wahrscheinlichkeit verlorener Informationen so klein wie gewünscht werden kann. Iterativ mit iterativ Glaubensverbreitung Techniken, LDPC -Codes können rechtzeitig linear zu ihrer Blocklänge dekodiert werden.
LDPC-Codes finden eine zunehmende Verwendung in Anwendungen, bei denen zuverlässige und hocheffiziente Informationsübertragungen über bandbreitenbezogene oder return-kanalbezogene Verbindungen bei Vorhandensein von Korruptionsrauschen erforderlich sind. Die Implementierung von LDPC -Codes ist hinter dem anderer Codes zurückgeblieben, insbesondere hinter Turbocodes. Das grundlegende Patent für Turbocodes lief am 29. August 2013 ab.[4][5]
LDPC -Codes sind auch als bekannt als Gallager -Codes, zu Ehren von Robert G. Gallager, der das LDPC Massachusetts Institute of Technology 1960.[6][7] Es wurde auch gezeigt, dass LDPC -Codes ideale kombinatorische Eigenschaften aufweisen. In seiner Dissertation zeigte Gallager, dass LDPC -Codes die erreichen Gilbert -Varshamov für lineare Codes gebunden über binäre Felder mit hoher Wahrscheinlichkeit. Im Jahr 2020 wurde gezeigt, dass die LDPC -Codes von Gallager erreichen Listen Sie Decodierung auf Kapazität und auch die erreichen Gilbert -Varshamov für lineare Codes gebunden über allgemeine Felder. [8]
Geschichte
Unpraktisch zu implementieren, als er 1963 von Gallager entwickelt wurde.[9] LDPC -Codes wurden vergessen, bis seine Arbeit 1996 wiederentdeckt wurde.[10] TurbocodesEine weitere Klasse von Kapazitätsgenehmigungscodes, die 1993 entdeckt wurden, wurde Ende der neunziger Jahre zum Codierungsschema der Wahl, der für Anwendungen wie die verwendet wurde Deep Space Network und Satellitenkommunikation. Die Fortschritte bei Parity-Check-Codes mit niedriger Dichte haben jedoch Turbodcodes in Bezug auf Fehlerboden und Leistung im höheren Coderate Reichweite und Turbocodes besser für die niedrigeren Coderaten geeignet.[11]
Anwendungen
Im Jahr 2003 besiegte ein LDPC-Code im IRA-Code für unregelmäßige Repeat Acculate (IRA) Sechs Turbo-Codes, um zum fehlerkorrigierenden Code im neuen zu werden DVB-S2 Standard für digitaler Fernseher.[12] Das DVB-S2-Auswahlkomitee hat Decoder-Komplexitätsschätzungen für die Turbo-Code-Vorschläge unter Verwendung einer viel weniger effizienten seriellen Decoderarchitektur anstelle einer parallelen Decoderarchitektur vorgenommen. Dies zwang die Turbo -Code -Vorschläge, Rahmengrößen in der Größenordnung einer halben Rahmengröße der LDPC -Vorschläge zu verwenden.
Im Jahr 2008 besiegte LDPC Faltungs -Turbo -Codes als die Vorwärtsfehlerkorrektur (FEC) System für die Itu-t G.hn Standard.[13] G.HN entschied Fehlerboden am gewünschten Betriebsbereich.[14]
LDPC -Codes werden auch für verwendet 10GBASE-T Ethernet, das Daten mit 10 Gigabit pro Sekunde über Twisted-Pair-Kabel sendet. Ab 2009 sind LDPC -Codes auch Teil der W-lan 802.11 Standard als optionaler Bestandteil von 802.11n und 802.11ac, in der PHY -Spezifikation mit hohem Durchsatz (HT).[15] LDPC ist ein obligatorischer Teil von 802.11ax (Wi-Fi 6).[16]
Etwas OFDM Systeme fügen eine zusätzliche äußere Fehlerkorrektur hinzu, die die gelegentlichen Fehler (den "Fehlerboden") festlegt Bit -Fehlerraten. Zum Beispiel: die Reed-Solomon-Code Mit der LDPC-Codierten Modulation (RS-LCM) verwendet ein Reed-Solomon-äußerer Code.[17] Die DVB-S2, die DVB-T2 und die DVB-C2-Standards verwenden alle a BCH -Code Außencode, um Restfehler nach der LDPC -Dekodierung zu mischen.[18]
5G nr Verwendet Polarcode Für die Steuerkanäle und LDPC für die Datenkanäle.[19][20]
Viele TLC (und später) SSDs Verwenden Sie LDPC -Codes.
Betriebsgebrauch
LDPC -Codes funktional werden durch einen Spärmer definiert Paritäts-Check-Matrix. Dies spärliche Matrix wird oft zufällig erzeugt, vorbehaltlich der Spärlichkeit Einschränkungen -LDPC -Codekonstruktion wird diskutiert später. Diese Codes wurden erstmals 1960 von Robert Gallager entworfen.[7]
Unten finden Sie ein Diagrammfragment eines Beispiels für LDPC -Code mit Verwendung Forneys Faktor -Graph -Notation. In dieser Grafik, n Variable Knoten oben im Diagramm sind mit ((n−k) Einschränkungsknoten im unteren Rand des Diagramms.
Dies ist eine beliebte Methode, um eine grafisch darzustellen (nAnwesendk) LDPC -Code. Die Bits einer gültigen Nachricht, wenn sie auf die platziert sind T's Erfüllen Sie die grafischen Einschränkungen oben in der Grafik. Insbesondere alle Zeilen, die mit einem variablen Knoten verbunden sind (Box mit einem '=' Zeichen), haben den gleichen Wert, und alle Werte, die mit einem Faktorknoten verbunden sind (Box mit einem '+' Zeichen), müssen summieren. Modulo Zwei bis Null (mit anderen Worten, sie müssen einer gleichmäßigen Zahl zusammenfassen; oder es muss eine gleichmäßige Anzahl von ungeraden Werten geben).
Wenn Sie alle Zeilen aus dem Bild ignorieren, gibt es acht mögliche sechs-Bit-Saiten, die gültigen Codewörtern entsprechen: (d. H. 000000, 011001, 110010, 101011, 111100, 100101, 001110, 010111). Dieses LDPC-Codefragment stellt eine dreibit-Nachricht dar, die als sechs Bit codiert ist. Redundanz wird hier verwendet, um die Wahrscheinlichkeit zu erhöhen, sich von Kanalfehlern zu erholen. Dies ist ein (6, 3) linearer Code, mit n= 6 und k= 3.
Wieder ignoriert die Zeilen, die aus dem Bild gehen, die Parity-Check-Matrix, die dieses Graphfragment darstellt, lautet
In dieser Matrix repräsentiert jede Zeile eine der drei Paritätskontrollen, während jede Spalte eine der sechs Bits im empfangenen Codewort darstellt.
In diesem Beispiel können die acht Codewörter erhalten werden, indem das platziert wird Paritäts-Check-Matrix H in diese Form durch grundlegende Reihenoperationen in GF (2):
Schritt 1: H.
Schritt 2: Zeile 1 wird zu Reihe 3 hinzugefügt.
Schritt 3: Zeile 2 und 3 werden ausgetauscht.
Schritt 4: Zeile 1 wird zu Reihe 3 hinzugefügt.
Daraus die Generatormatrix G kann erhalten werden als (Beachten Sie, dass im Sonderfall ein binärer Code ist ) oder speziell:
Schließlich durch Multiplizieren aller acht möglichen 3-Bit-Saiten mit GEs werden alle acht gültigen Codewörter erhalten. Zum Beispiel wird das Codewort für die Bit-Saite '101' erhalten:
- ,
wo ist Symbol für die MOD 2 -Multiplikation.
Als Scheck der Zeilenraum von G ist orthogonal zu H so dass
Die Bit-Saite '101' findet sich in den ersten 3 Bit des Codeworts '101011'.
Beispiel Encoder
Abbildung 1 zeigt die funktionalen Komponenten der meisten LDPC -Encoder.
Während der Codierung eines Rahmens werden die Eingangsdatenbits (d) wiederholt und auf einen Satz von Konstituenten -Encodern verteilt. Die Bestandteile sind typischerweise Akkumulatoren und jeder Akkumulator wird verwendet, um ein Paritätssymbol zu erzeugen. Eine einzelne Kopie der Originaldaten (s)0, k-1) wird mit den Paritätsbits (P) übertragen, um die Codesymbole auszugleichen. Die S -Bits aus jedem Konstituenten -Encoder werden verworfen.
Das Paritätsbit kann in einem anderen Bestandscode verwendet werden.
In einem Beispiel unter Verwendung des Codes DVB-S2 Rate 2/3 beträgt die codierte Blockgröße 64800 Symbole (n = 64800) mit 43200 Datenbits (K = 43200) und 21600 Paritätsbits (M = 21600). Jeder Konstituierende Code (Check -Knoten) codiert 16 Datenbits mit Ausnahme des ersten Paritätsbits, das 8 Datenbits codiert. Die ersten 4680 Datenbits werden 13 Mal wiederholt (in 13 Paritätscodes), während die verbleibenden Datenbits in 3 Paritätscodes (unregelmäßiger LDPC -Code) verwendet werden.
Zum Vergleich verwenden klassische Turbodcodes normalerweise zwei konstituierende Codes, die parallel konfiguriert sind und von denen jeweils den gesamten Eingangsblock (k) der Datenbits codiert. Diese konstituierenden Encoder sind rekursive Faltungscodes (RSC) der moderaten Tiefe (8 oder 16 Zustände), die durch einen Code -Interleaver getrennt werden, der eine Kopie des Rahmens verschachtelt.
Im Gegensatz dazu verwendet der LDPC -Code im Gegensatz dazu viele Codes mit geringer Tiefe (Akkumulatoren) parallel, von denen jeder nur einen kleinen Teil des Eingangsrahmens codiert. Die vielen Bestandteile Codes können als viele „Faltungscodes“ mit geringer Tiefe (2 Zustand) angesehen werden, die über die Wiederholungs- und Verteilungsvorgänge verbunden sind. Die Wiederholungs- und Verteilungsvorgänge führen die Funktion des Interleaver im Turbo -Code aus.
Die Fähigkeit, die Verbindungen der verschiedenen Konstituierungscodes und die Redundanzniveau für jedes Eingangsbit genauer zu verwalten, ermöglichen mehr Flexibilität bei der Gestaltung von LDPC -Codes, was in einigen Fällen zu einer besseren Leistung als Turbocodes führen kann. Turbocodes scheinen bei niedrigen Coderaten immer noch besser als LDPCs zu funktionieren, oder zumindest ist das Design von gut leistungsstarken Codes für Turbodcodes einfacher.
In der Praxis wird die Hardware, die die Akkumulatoren bildet, während des Codierungsprozesses wiederverwendet. Das heißt, sobald eine erste Reihe von Paritätsbits erzeugt und die Paritätsbits gespeichert sind, wird dieselbe Akkumulatorhardware verwendet, um einen nächsten Satz von Paritätsbits zu generieren.
Dekodierung
Wie bei anderen Codes die Maximale Wahrscheinlichkeit Decodierung eines LDPC -Codes auf dem Binärer symmetrischer Kanal ist ein NP-Complete Problem. Die optimale Decodierung für einen NP-Completen-Code einer nützlichen Größe ist nicht praktisch.
Suboptimale Techniken, die auf iterativen basieren Glaubensverbreitung Die Dekodierung liefern hervorragende Ergebnisse und kann praktisch implementiert werden. Die suboptimalen Dekodierungstechniken sehen jede Paritätsprüfung an, die den LDPC als SPC-Code (Unabhängiger Einzelparitätsprüfung) ausmacht. Jeder SPC -Code wird separat mithilfe der Dekodierung Soft-in-Soft-Out (SISO) -Techniken wie Sova, Bcjr, KARTEund andere Ableitungen davon. Die sanften Entscheidungsinformationen aus jeder SISO-Dekodierung werden überprüft und mit anderen redundanten SPC-Decodierungen desselben Informationsbits aktualisiert. Jeder SPC -Code wird dann mit den aktualisierten Soft -Entscheidungsinformationen erneut dekodiert. Dieser Vorgang wird iteriert, bis ein gültiges Codewort erreicht oder decodiert wird. Diese Art der Dekodierung wird oft als Summenproduktdekodierung bezeichnet.
Die Dekodierung der SPC-Codes wird häufig als Verarbeitung "Überprüfen" bezeichnet, und die Überprüfung der Variablen wird häufig als Verarbeitung "Variablenknoten" bezeichnet.
In einer praktischen Implementierung von LDPC -Decoder werden SPC -Codes parallel dekodiert, um den Durchsatz zu erhöhen.
Im Gegensatz dazu die Glaubensausbreitung an der Binärlöschkanal ist besonders einfach, wenn es aus iterativer Einschränkung Zufriedenheit besteht.
Beachten Sie beispielsweise, dass das gültige Codewort 101011 aus dem obigen Beispiel über einen Binärlöschkanal übertragen und mit dem ersten und vierten Bit empfangen wird, um zu erhalten? 01? 11. Da die übertragene Nachricht die Codebeschränkungen erfüllt haben muss, kann die Nachricht durch das Schreiben der empfangenen Nachricht oben im Faktorgraphen dargestellt werden.
In diesem Beispiel kann das erste Bit noch nicht wiederhergestellt werden, da alle damit verbundenen Einschränkungen mehr als ein unbekanntes Bit haben. Um mit dem Dekodieren der Nachricht fortzufahren, müssen Einschränkungen, die nur mit einem der gelöschten Bits verbunden sind, identifiziert werden. In diesem Beispiel reicht nur die zweite Einschränkung aus. Untersuchung der zweiten Einschränkung muss das vierte Bit Null gewesen sein, da nur eine Null in dieser Position die Einschränkung erfüllen würde.
Dieses Verfahren wird dann iteriert. Der neue Wert für das vierte Bit kann jetzt in Verbindung mit der ersten Einschränkung verwendet werden, um das erste Bit wiederherzustellen, wie unten angezeigt. Dies bedeutet, dass das erste Stück ein einzigartiges sein muss, um die Einschränkung links zu befriedigen.
Somit kann die Nachricht iterativ dekodiert werden. Für andere Kanalmodelle sind die Nachrichten, die zwischen den Variablenknoten und den Überprüfungsknoten übergeben wurden reale Nummern, die Wahrscheinlichkeiten und Wahrscheinlichkeiten des Glaubens ausdrücken.
Dieses Ergebnis kann durch Multiplizieren des korrigierten Codeworts validiert werden r durch die Parity-Check-Matrix H:
Weil das Ergebnis z (das Syndrom) dieser Operation ist der drei × One -Null -Vektor, das resultierende Codewort r wird erfolgreich validiert.
Nach Abschluss der Dekodierung kann die ursprüngliche Meldungsbits '101' anhand der ersten 3 Bit des Codeworts extrahiert werden.
Dieses Beispiel zeigt zwar nicht die Verwendung von Soft Decision Decoding oder Soft Decision Message Passing, die in praktisch allen kommerziellen LDPC-Decodern verwendet wird.
Aktualisieren von Knoteninformationen
In den letzten Jahren gab es auch viele Arbeiten, um die Auswirkungen alternativer Zeitpläne für das Update für variable Knoten und Einschränkungen zu untersuchen. Die ursprüngliche Technik, die für die Dekodierung von LDPC -Codes verwendet wurde Überschwemmung. Diese Art von Aktualisierung erforderte, dass vor dem Aktualisieren eines variablen Knotens alle Einschränkungsknoten aktualisiert und umgekehrt mussten. In späteren Arbeiten von Vila Casado et al.,[21] Es wurden alternative Update-Techniken untersucht, bei denen variable Knoten mit den neuesten verfügbaren Check-Knoten-Informationen aktualisiert werden.
Die Intuition hinter diesen Algorithmen ist, dass variable Knoten, deren Werte am meisten variieren, diejenigen sind, die zuerst aktualisiert werden müssen. Hoch zuverlässige Knoten, deren Log-Likelihood-Verhältnis (LLR) Die Größe ist groß und ändert sich nicht wesentlich von einem Update zum nächsten. Erfordern keine Aktualisierungen mit der gleichen Frequenz wie andere Knoten, deren Vorzeichen und Größe größere schwanken. Diese Planungsalgorithmen zeigen eine größere Konvergenzgeschwindigkeit und niedrigere Fehlerböden als solche, die Überschwemmungen verwenden. Diese niedrigeren Fehlerböden werden durch die Fähigkeit der informierten dynamischen Planung (IDS) erreicht.[21] Algorithmus zur Überwindung von Fallensätzen in der Nähe von Codewuren.[22]
Wenn nicht fließende Planungsalgorithmen verwendet werden, wird eine alternative Definition der Iteration verwendet. Für ein (nAnwesendk) LDPC -Ratencode k/n, ein voller Wiederholung passiert wenn n variabel und n-k Einschränkungsknoten wurden aktualisiert, unabhängig von der Reihenfolge, in der sie aktualisiert wurden.
Codekonstruktion
Für große Blockgrößen werden LDPC -Codes üblicherweise durch die Erforschung des Verhaltens von Decodern konstruiert. Da die Blockgröße in der Unendlichkeit tendiert, können LDPC -Decoder nachweislich einen Rauschschwellenwert haben, unter dem die Dekodierung zuverlässig erreicht wird, und darüber, über das die Dekodierung nicht erreicht wird,[23] umgangssprachlich als die bezeichnet Klippeneffekt. Dieser Schwellenwert kann optimiert werden, indem der beste Anteil an Bögen von Scheckknoten und Bögen von variablen Knoten gefunden wird. Ein ungefährer grafischer Ansatz zur Visualisierung dieses Schwellenwerts ist ein Ausgangsdiagramm.
Die Konstruktion eines bestimmten LDPC -Code nach dieser Optimierung fällt in zwei Haupttechniken:
- Pseudorandom nähert sich
- Kombinatorische Ansätze
Die Konstruktion durch einen Pseudo-Random-Ansatz baut auf theoretischen Ergebnissen auf, dass eine zufällige Konstruktion für große Blockgröße eine gute Dekodierungsleistung liefert.[10] Im Allgemeinen haben Pseudorandom -Codes komplexe Encoder, aber Pseudorandomcodes mit den besten Decodern können einfache Encoder haben.[24] Häufig werden verschiedene Einschränkungen angewendet, um sicherzustellen, dass die gewünschten Eigenschaften, die bei der theoretischen Grenze der unendlichen Blockgröße erwartet werden, bei einer endlichen Blockgröße auftreten.
Kombinatorische Ansätze können verwendet werden, um die Eigenschaften kleiner Blockgröße LDPC-Codes zu optimieren oder um Codes mit einfachen Encodern zu erstellen.
Einige LDPC -Codes basieren auf Reed -Solomon -Codes, wie der in der verwendete RS-LDPC-Code 10 Gigabit Ethernet Standard.[25] Im Vergleich zu zufällig generierten LDPC -Codes, strukturierten LDPC -Codes - wie der in der verwendete LDPC -Code DVB-S2 Standard-kann einfacher und daher kostengünstigere Hardware haben-insbesondere Codes, die so konstruiert sind, dass die H-Matrix a ist Kreislaufmatrix.[26]
Eine weitere Möglichkeit, LDPC -Codes zu konstruieren, ist die Verwendung Finite Geometrien. Diese Methode wurde von Y. Kou vorgeschlagen et al. in 2001.[27]
LDPC -Codes vs. Turbocodes
LDPC -Codes können mit anderen leistungsstarken Codierungsschemata verglichen werden, z. Turbocodes.[28] In einer Hand, Berm Die Leistung von Turbocodes wird durch Einschränkungen niedriger Codes beeinflusst.[29] LDPC -Codes haben keine Einschränkungen der Mindestabstand,[30] Das bedeutet indirekt, dass LDPC -Codes bei relativ großer effizienter sind Codepreise (z. B. 3/4, 5/6, 7/8) als Turbocodes. LDPC -Codes sind jedoch nicht der vollständige Ersatz: Turbocodes sind die beste Lösung zu den niedrigeren Coderaten (z. B. 1/6, 1/3, 1/2).[31][32]
Siehe auch
Personen
Theorie
Anwendungen
- G.HN/G.9960 (ITU-T-Standard für die Vernetzung über Stromleitungen, Telefonleitungen und Koaxialkabel)
- 802.3an oder 10GBASE-T (10 Gigabit/S-Ethernet über verdrehtem Paar)
- CMMB (China Multimedia Mobile Broadcasting)
- DVB-S2 / DVB-T2 / DVB-C2 (Digital Video Broadcasting, 2. Generation)
- Dmb-t/h (Digitale Video Übertragung)[33]
- WiMAX (IEEE 802.16E Standard für Mikrowellenkommunikation)
- IEEE 802.11n-2009 (W-lan Standard)
- Docsis 3.1
- ATSC 3.0 (Nordamerika der nächsten Generation digitaler terrestrischer Rundfunk)
- 3GPP (5G-NR-Datenkanal)
Andere Kapazitätsnutzungscodes
- Turbocodes
- Serielle verkettete Faltungscodes
- Online -Codes
- Brunnencodes
- LT -Codes
- Raptor -Codes
- Wiederholen Sie die Codes (Eine Klasse einfacher Turbodcodes)
- Tornado -Codes (LDPC -Codes für Löschung decodieren)
- Polarcodes
Verweise
- ^ David J. C. Mackay (2003) Informationstheorie, Inferenz- und Lernalgorithmen, Cup, ISBN0-521-64298-1 (auch Online verfügbar)
- ^ Todd K. Moon (2005) Fehlerkorrekturcodierung, mathematische Methoden und Algorithmen. Wiley, ISBN0-471-64800-0 (inklusive Code)
- ^ Amin Shokrollahi (2003) LDPC -Codes: Eine Einführung
- ^ US 5446747
- ^ Newscientist, Die Kommunikationsgeschwindigkeit nähert sich der Endgeschwindigkeit, von Dana MacKenzie, 9. Juli 2005
- ^ Larry Hardesty (21. Januar 2010). "Erklärt: Gallager -Codes". MIT Nachrichten. Abgerufen 7. August, 2013.
- ^ a b [1] R. G. Gallager, "Paritätsprüfung mit niedriger Dichte", Ire Trans. Inf. Theorie, Vol. IT-8, nein. 1, S. 21-88, Januar 1962.
- ^ [2] J. Moshieff, N. Resch, N. Ron-Zewi, S. Silas, M. Wootters, „Paritäts-Check-Codes mit niedriger Dichte erreichen die Listen-Dekodierungskapazität“, Siam Journal on Computing, FOCS20-38-FOCS20-73.
- ^ Robert G. Gallager (1963). Paritätsprüfcodes mit niedriger Dichte (PDF). Monographie, M.I.T. Drücken Sie. Abgerufen 7. August, 2013.
- ^ a b David J. C. Mackay und Radford M. Neal, "Nahe Shannon Limit Performance von Paritätsprüfungscodes mit niedriger Dichte", Electronics Letters, Juli 1996
- ^ Telemetriedatendecodierung, Designhandbuch
- ^ Präsentation von Hughes Systems Archiviert 2006-10-08 im Wayback -Maschine
- ^ HomePNA -Blog: G.HN, eine Phy für alle Jahreszeiten
- ^ IEEE Communications Magazine Paper über G.HN Archiviert 2009-12-13 bei der Wayback -Maschine
- ^ IEEE Standard, Abschnitt 20.3.11.6 "802.11n-2009"IEEE, 29. Oktober 2009, abgerufen am 21. März 2011.
- ^ "IEEE SA - IEEE 802.11ax -2021". IEEE Standards Association. Abgerufen 22. Mai, 2022.
- ^ Chih-yuan Yang, Mong-Kai Ku.http://123seminarsonly.com/seminar-reports/029/26540350-ldpc-coded-ofdm-modulation.pdf "LDPC codierte OFDM -Modulation für die Übertragung mit hoher Spektraleffizienz"
- ^ Nick Wells."DVB-T2 in Bezug auf die DVB-X2-Familie der Standards" Archiviert 2013-05-26 bei der Wayback -Maschine
- ^ "5G -Kanalcodierung" (PDF). Archiviert von das Original (PDF) am 6. Dezember 2018. Abgerufen 6 Januar, 2019.
- ^ Maunder, Robert (September 2016). "Eine Vision für 5G -Kanalcodierung" (PDF). Archiviert von das Original (PDF) am 6. Dezember 2018. Abgerufen 6 Januar, 2019.
- ^ a b A.I. Vila Casado, M. Griot und R.Wesel, "Informierte dynamische Planung für die Vermehrung von Glaubensverbreitung von LDPC -Codes", Proc. IEEE Int. Conf. auf comm. (ICC), Juni 2007.
- ^ T. Richardson, "Fehlerböden von LDPC -Codes" in Proc. 41. Allerton Conf. Comm., Control und Comput., Monticello, IL, 2003.
- ^ Thomas J. Richardson und M. Amin Shokrollahi und Rüdigiger L. Urbanke, "Design der Kapazitätsgenehmigung unregelmäßiger Paritätsprüfung mit niedriger Dichte", IEEE Transactions on Information Theory, 47 (2), Februar 2001
- ^ Thomas J. Richardson und Rüdiiger L. Urbanke, "Effiziente Codierung von Paritäts-Check-Codes mit niedriger Dichte", IEEE Transactions on Information Theory, 47 (2), Februar 2001
- ^ Ahmad Darabiha, Anthony Chan Carusone, Frank R. Kschischang."Stromreduktionstechniken für LDPC -Decoder"
- ^ Zhengya Zhang, Venkat Anantharam, Martin J. Wainwright und Borivoje Nikolic."Ein effizientes 10GBase-T-Ethernet-LDPC-Decoder-Design mit niedrigen Fehlerböden".
- ^ Y. Kou, S. Lin und M. Fossorier, "Paritäts-Check-Codes mit niedriger Dichte, die auf endlichen Geometrien basieren: eine Wiederentdeckung und neue Ergebnisse", IEEE Transactions on Information Theory, Vol. 3, No. 47, nein. 7, November 2001, S. 2711- 2736.
- ^ Tahir, B., Schwarz, S. & Rupp, M. (2017, Mai). BER -Vergleich zwischen Faltungs-, Turbo-, LDPC- und Polarcodes. 2017 24. Internationale Konferenz für Telekommunikation (IKT) (S. 1-7). IEEE.
- ^ Moon Todd, K. Fehlerkorrekturcodierung: Mathematische Methoden und Algorithmen. 2005 von John Wiley & Sons. ISBN0-471-64800-0. - S.614
- ^ Moon Todd, K. Fehlerkorrekturcodierung: Mathematische Methoden und Algorithmen. 2005 von John Wiley & Sons. ISBN0-471-64800-0. - S.653
- ^ Andrews, Kenneth S., et al. "Die Entwicklung von Turbo- und LDPC-Codes für Tiefenanwendungen." Proceedings of the IEEE 95.11 (2007): 2142-2156.
- ^ Hassan, A. E. S., Dessouky, M., Abou Elazm, A. und Shokair, M., 2012. Bewertung der Komplexität und der Leistung für Turbocode und LDPC unter verschiedenen Coderaten. Proc. Spacomm, S. 93-98.
- ^ "IEEE Spectrum: Hat China den besten digitalen Fernsehstandard auf dem Planeten?". spectrum.ieee.org. Archiviert von das Original on December 12, 2009.
Externe Links
- Einführung der Paritäts-Check-Codes mit niedriger Dichte (von Sarah J Johnson, 2010)
- LDPC -Codes - Ein kurzes Tutorial (von Bernhard Leiner, 2005)
- LDPC -Codes (Tu Wien)
- Das Online-Lehrbuch: Informationstheorie, Inferenz und Lernalgorithmen, durch David J. C. MackayErörtert LDPC -Codes in Kapitel 47.
- Iterative Decodierung von Paritätsprüfcodes mit niedriger Dichte (von Venkatesan Guruswami, 2006)
- LDPC -Codes: Eine Einführung (von Amin Shokrollahi, 2003)
- Glaubensbekämpfungsdecodierung von LDPC-Codes (von Amir Bennatan, Princeton University)
- Turbo- und LDPC -Codes: Implementierung, Simulation und Standardisierung (West Virginia University)
- Informationstheorie und Codierung (Marko Hennhöfer, 2011, Tu Ilmenau) - Erörtert LDPC -Codes auf den Seiten 74–78.
- LDPC -Codes und Leistungsergebnisse
- DVB-S.2-Link, einschließlich LDPC-Codierung (MATLAB)
- Der Quellcode für die Codierung, Dekodierung und Simulation von LDPC -Codes ist aus verschiedenen Standorten erhältlich:
- Binäre LDPC -Codes in C
- Binäre LDPC -Codes zum Python (Kernalgorithmus in C)
- LDPC -Encoder und LDPC -Decoder in Matlab
- Eine schnelle Toolbox für Fehlerkorrekturkorrektur (AFF3CT) in C ++ 11 Für schnelle LDPC -Simulationen