DE102013223413B4 - Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten - Google Patents
Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten Download PDFInfo
- Publication number
- DE102013223413B4 DE102013223413B4 DE102013223413.9A DE102013223413A DE102013223413B4 DE 102013223413 B4 DE102013223413 B4 DE 102013223413B4 DE 102013223413 A DE102013223413 A DE 102013223413A DE 102013223413 B4 DE102013223413 B4 DE 102013223413B4
- Authority
- DE
- Germany
- Prior art keywords
- parity
- code
- vector
- length
- check
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1174—Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1191—Codes on graphs other than LDPC codes
- H03M13/1194—Repeat-accumulate [RA] codes
- H03M13/1197—Irregular repeat-accumulate [IRA] codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten, die von einer Sendevorrichtung über einen Übertragungskanal, nämlich einen Packet-Erasure-Channel an eine Empfangsvorrichtung gesendet werden, wobei das Verfahren die folgenden Schritte aufweist:
Codieren der Daten unter Verwendung eines mit der Sendevorrichtung verbundenen Encoders, wobei zunächst die übertragene Nachricht in k Informationspakete aufgeteilt und in n Codewortpakete kodiert wird und dies durch einen (n, k)-Code geschieht, wobei n die Codewortlänge und k die Blockgröße angibt, so dass m = n - k Paritätspakete durch den Packet-Level-Encoder erzeugt werden;
Übermitteln der Daten von der Sendevorrichtung zu der Empfangsvorrichtung über den Packet-Erasure-Channel und
Decodieren der Daten unter Verwendung eines mit der Empfangsvorrichtung verbundenen Packet-Level-Decoders, wobei während des Decodierens verlorengegangene und/ oder beschädigte Daten wieder hergestellt werden,
wobei das Codieren und Decodieren unter Verwendung eines Doubly-Generalized-Low-Density-Parity-Check-Codes durchgeführt wird,
und das Codieren ferner durch die folgenden Verfahrensschritte stattfindet:
a) Multiplizieren eines Informationsvektors u der Länge k mit einer Low-Density Matrix eines DGLDPC-Codes, so dass ein Vektor v der Länge
erzeugt wird, wobei M die Anzahl der generalisierten Check Nodes ist, die auch als Super Check Nodes bezeichnet werden, wobei nci und kci den i-ten Super Check Node mit 1 <= i <= M spezifizieren, so dass sie die Dimension der Parity-Check-Matrix Hci die mit dem i-ten Super Check Node assoziiert ist definieren,
b) Verschachteln des Vektors v durch einen Interleaver π2, wobei der Interleaver π2 einen Vektor v', der Länge ergibt, der einem rekursiven Encoder, der Rate 1 zugeführt wird,
c) Erzeugen eines Paritätsvektors p der Länge durch den rekursiven Encoder, wobei bei einem gegebenen ersten kodierten Paritätspaket p0 die übrigen Paritätspakete pi erzeugt werden durch die Rekursion pi = v'i + pi-1 for i = 1, 2, ... , S-1, wobei S die Anzahl der einfachen Variable Nodes angibt,
d) Erzeugen eines Codeworts c der Länge n durch Konkatenieren des Paritätsvektors p mit dem Informationsvektor u.
Codieren der Daten unter Verwendung eines mit der Sendevorrichtung verbundenen Encoders, wobei zunächst die übertragene Nachricht in k Informationspakete aufgeteilt und in n Codewortpakete kodiert wird und dies durch einen (n, k)-Code geschieht, wobei n die Codewortlänge und k die Blockgröße angibt, so dass m = n - k Paritätspakete durch den Packet-Level-Encoder erzeugt werden;
Übermitteln der Daten von der Sendevorrichtung zu der Empfangsvorrichtung über den Packet-Erasure-Channel und
Decodieren der Daten unter Verwendung eines mit der Empfangsvorrichtung verbundenen Packet-Level-Decoders, wobei während des Decodierens verlorengegangene und/ oder beschädigte Daten wieder hergestellt werden,
wobei das Codieren und Decodieren unter Verwendung eines Doubly-Generalized-Low-Density-Parity-Check-Codes durchgeführt wird,
und das Codieren ferner durch die folgenden Verfahrensschritte stattfindet:
a) Multiplizieren eines Informationsvektors u der Länge k mit einer Low-Density Matrix
b) Verschachteln des Vektors v durch einen Interleaver π2, wobei der Interleaver π2 einen Vektor v', der Länge
c) Erzeugen eines Paritätsvektors p der Länge
d) Erzeugen eines Codeworts c der Länge n durch Konkatenieren des Paritätsvektors p mit dem Informationsvektor u.
Description
- Die Erfindung betrifft ein Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten.
- Aus dem Stand der Technik ist es bekannt, Daten, die über einen sogenannten Packet-Erasure-Channel (PEC) übermittelt werden, durch Fehlerkorrekturverfahren zu schützen. Beispielsweise ist Packet-Level-Coding eine einfache Methode, um eine verlässliche Übertragung in einem Kommunikationssystem zu gewährleisten. Die zu übertragenden Informationen sollen ferner geschützt werden, indem Pakete in höheren Schichten codiert werden. Das Grundprinzip des Packet-Level-Coding ist in
1 dargestellt. - Zunächst wird die übertragene Nachricht in k Informationspakete aufgeteilt und in n Codewortpakete codiert. Dies geschieht durch einen (n, k)-Code, wobei n die Codewortlänge und k die Blockgröße angibt. Somit werden m=n-k Paritätspakete durch den Packet-Level-Encoder erzeugt.
- Weiterhin werden die n Codewortpakete im Physical Layer durch Fehlerkorrekturcodes (z. B. Turbo, LDPC...), Fehlererkennungscodes (z. B. Cyclic Redundancy Check) geschützt und anschließend übermittelt.
- Anschließend wird auf der Empfängerseite für jedes Paket im Physical Layer eine Fehlerkorrektur durchgeführt, so dass verbleibende Fehler durch den Fehlererkennungscode erkannt werden. Wenn Fehler erkannt werden, wird das Datenpaket als verlorengegangen angesehen und entsprechend markiert. Somit sehen die Schichten über dem Physical Layer das Kommunikationsmedium als einen Packet-Erasure-Channel an, über den Pakete entweder korrekt empfangen oder mit einer bestimmten Auslöschungswahrscheinlichkeit ε verlorengehen.
- Wenn eine ausreichend große Menge an Paketen empfangen wurde, stellt der Packet-Level-Decoder die Originalnachricht wieder her.
- Die Codierprozedur wird üblicherweise bitweise unter Verwendung des Encoders eines binären Codes durchgeführt. Das Dekodieren wird durchgeführt durch Lösen des Gleichungssystems, das durch die Parity-Check-Matrix H des Codes gegeben ist.
- Softwareimplementierungen von Packet-Level-Encodern und Decodern sind besonders vorteilhaft, da sie keinen großen Aufwand hinsichtlich des Designs oder der Implementierung erfordern und ferner flexibler im Vergleich zu Hardwareimplentierungen sind. Softwaremodule können auf einfache Weise in eine Hardwarearchitektur integriert werden, die nicht speziell entwickelt wurde, um Packet-Level-Coding zu unterstützen.
- Da Sofware Packet-Level-Encoder und Decoder auch auf leistungsbeschränkten Plattformen z.B. auf On Bord-Einheiten von Raumschiffen etc. betrieben werden sind effiziente Verfahren zum Codieren und Dekodieren notwendig.
Informationen zum Stand der Technik können den folgenden Veröffentlichungen entnommen werden: - [1] Y. Wang and M. Fossorier, „Doubly generalized low-density parity-check codes," in Proc. of 2006 IEEE International Symposium on Information Theory, Seattle, USA, July 2006, pp. 669-673.
- [2] E. Paolini, M. Fossorier, M. Chiani, „Analysis of Doubly-Generalized LDPC Codes with Random Component Codes for the Binary Erasure Channel," 44th Annual Allerton Conference, UIUC, Illinois, USA, Sept-27-29, 2006.
- [3] J. Byers, M. Luby, M. Mitzenmacher, and A. Rege, „A digital fountain approach to reliable distribution of bulk data," SIGCOMM Comput. Commun. Rev., vol. 28, no. 4, pp. 56-67, Oct. 1998.
- [4] G. Faria, J. Henriksson, E. Stare, and P. Talmola, „DVB-H: Digital broadcast services to handheld devices," Proc. IEEE, vol. 94, no. 1, pp. 194-209, Jan. 2006.
- Aus dem Stand der Technik sind sogenannte Doubly-Generalized Low-Density-Parity-Check-Codes (DGLDPC-Codes) bekannt. Durch diese Codes kann die Leistungsfähigkeit von LDPC-Codes und Generalized LDPC-Codes (GLDPC) der gleichen Codelänge und Coderate verbessert werden (siehe Veröffentlichung
1 und2 ). - Wie jeder LDPC-Code kann ein DGLDPC-CODE dargestellt werden durch einen bipartiten Graphen mit einem Set von M Check Nodes (CN) und einem Set von N Variable Nodes (VN), sowie ferner einem Set von E Kanten, durch die die Check Nodes mit den Variable Nodes verbunden sind (siehe
2 ). Check Nodes in dem bipartiten Graph eines DGLPDC-Codes basieren auf allgemeineren linearen Block-Codes als einfache Single-Parity-Check-Codes (SPC). Variable Nodes basieren auf allgemeineren linearen Block-Codes als einfache Repetition-Codes (RC). Die Codes der Variable Nodes und Check Nodes werden als Component-Codes bezeichnet und die Check Nodes und Variable Nodes als Supercheck Nodes (SCN) und Super Variable Nodes (SVN). - Variable Nodes von LDPC-Codes und GLDPC-Codes basieren auf Repetition-Codes, die lediglich mit einem übertragenen Bit verbunden sind. Check Nodes von LDPC-Codes basieren auf SPC-Codes. Check Nodes von GLDPC-Codes basieren auf allgemeineren linearen Block-Codes.
- Daher sind Super Check Nodes von DGLDPC-Codes vollständig spezifiziert durch ihre (nc- kc) ×
nc parity-check matrixHc . Supervariable Nodes sind vollständig spezifiziert durch ihrekv ×nv generator matrixGv . Es ist zu beachten, dass Super Variable Nodes mitkv übertragenen Bits verbunden sind. Die Anzahl der Kanten, die von einem Super Variable Node ausgehen (Grad des Variable Nodes), istnv und die Anzahl der Kanten, die von einem Super Check Node ausgehen (Grad des Check Nodes), istnc . - In
2 wird ein bipartiter Graph eines LDPC-Codes auf der linken Seite mit einem bipartiten Graphen eines DGLDPC-Codes auf der rechten Seite verglichen. - Kantenverbindungen im bipartiten Graphen eines LDPC-Codes und eines DGLDPC-Codes können dargestellt werden durch einen Kanteninterleaver π, wie er in
3 für einen DGLDPC-Code dargestellt ist. - Die M x N Matrix, die dem dipartiten Graphen eines DGLDPC-Codes entspricht, wird als Adjazenz-Matrix Γ des Codes bezeichnet und enthält eine 1 für jede Knotenverbindung (Kante). Ausgehend von der Adjazenz-Matrix und den Komponenten-Codes (Sub-Codes) ist es möglich die dünn besetzte Parity-Check-Matrix H des DGLDPC-Codes abzuleiten (siehe Druckschrift 1). Aus der Parity-Check-Matrix H des Codes kann durch Zeilenoperationen die Generatormatrix G abgeleitet werden, die dicht besetzt sein wird.
- Das Codieren von DGLDPC-Codes wird gemäß den folgenden Verfahrensschritten durchgeführt:
- 1. Die Partity-Check-Matrix H wird durch Zeilenadditionen in die systematische Form H = [PT | I] gebracht, wobei I die Identitätsmatrix ist.
- 2. Die Generator-Matrix G des Codes ist somit G = [I | P].
- Das Codieren wird durchgeführt durch Multiplizieren von u mit G, c=u·G, wobei u das Informationswort und c das codierte Wort ist.
- Die Komplexität dieses Ansatzes steigt quadratisch mit der Codelänge n, nämlich zu O (n2), sofern P eine dicht besetzte Matrix ist. Es ist zu beachten, dass, auch wenn die Parity-Check-Matrix H des DGLDPC-Codes nicht dicht besetzt ist, das Verfahren gemäß Schritt
1 eine dicht besetzte Matrix P ergeben wird, die das Ergebnis von zahlreichen Zeilenadditionen ist. - Die Druckschriften WANG, C.-L.; LIN, S.: Low-Density Parity-Check Accumulate Codes. In: International Symposium on Information Theory and its Applications, 2010, S. 7 - 12. - ISBN 978-1-4244-6016-8 und GALLAGER, R. G.: Low-Density Parity-Check Codes. In: M.I.T. Press Classic Series, Cambridge MA, 1963, S. 1 - 90 beschreiben Verfahren zum Wiederherstellen verlorengegangener Daten, die über einen verlustbehafteten Übertragungskanal an einen Empfänger gesendet werden, wobei die Daten vor dem Übermitteln kodiert werden. Dies erfolgt unter Verwendung eines LDPC-Codes.
- Die Verwendung von Protograf-basierten Doubly-Generalized-LDPC-Codes ist bekannt aus der Druckschrift WANG, Y.; WANG, C.-L.; FOSSORIER, M.: Ensemble Weigth Enumerators for Protograph-Based Doubly Generalized LDPC Codes. In: IEEE International Symposium on Information Theory, 2008, S. 1168-1172. - ISBN 978-1-4244-2256-2.
- Es ist Aufgabe der Erfindung ein Verfahren zur Wiederherstellung verlorengegangener und/oder beschädigter Daten unter Verwendung eines DGLDPC-Codes bereitzustellen, wobei ein vereinfachtes Kodieren ermöglicht wird.
- Die Lösung der Aufgabe erfolgt erfindungsgemäß durch die Merkmale des Anspruchs 1.
- Das erfindungsgemäße Verfahren dient dem Wiederherstellen verlorengegangener und/ oder beschädigter Daten, die von einer Sendevorrichtung über einen Übertragungskanal an eine Empfangsvorrichtung übermittelt werden. Das Verfahren weist die folgenden Schritte auf:
- - Die Daten werden durch einen mit der Sendevorrichtung verbundenen Encoder codiert.
- - Anschließend werden sie von der Sendevorrichtung über einen Übertragungskanal an die Empfangsvorrichtung übermittelt.
- - Die Daten werden durch einen mit der Empfangsvorrichtung verbundenen Decoder decodiert, wobei verlorengegangene und/ oder beschädigte Daten während des Decodierens wieder hergestellt werden.
- Das Codieren und Dekodieren findet unter Verwendung eines Doubly-Generalized Low-Density-Parity-Check-Codes statt. Hierbei erfolgt das Codieren durch die folgenden Verfahrensschritte:
- a) Multiplizieren eines Informationsvektors u der Länge k mit einer Low-Density Matrix
- b) Verschachteln des Vektors v durch einen Interleaver π2, wobei der Interleaver π2 einen Vektor v', der Länge
- c) Erzeugen eines Paritätsvektors p der Länge
p0 die übrigen Paritätspakete pi erzeugt werden durch die Rekursion pi = v'i + pi-1 for i = 1, 2, ... , S-1, - d) Erzeugen eines Codeworts c der Länge n durch Konkatenieren des Paritätsvektors p mit dem Informationsvektor u.
- Ein Encoder der Rate
1 ist ein Encoder, dem m Symbole (z.B. m Bits) zugeführt werden und der am Ausgang m Symbole erzeugt. Diese Symbole werden erzeugt basierend auf einer rekursiven Gleichung (die in5 durch den Feedback-Pfad grafisch dargestellt ist). Die rekursive Gleichung ist in dem o.g. Verfahrensschritt c) dargestellt. Der aktuelle Wert p_i hängt von de vorherigen Wert p_(i-1) ab. - Es ist bevorzugt, dass ein Paritätspaket mindestens ein Bit aufweist.
- Weiterhin ist bevorzugt, dass der oben genannte Schritt a erfolgt durch Verschachteln der Kanten, die von den Super Variable Nodes zu den Super Check Nodes des DGLDPC Codes ausgehen, unter Verwendung eines Interleavers
p1 . - Weiterhin ist bevorzugt, dass der Verfahrensschritt b erfolgt durch Verschachteln der Kanten, die von den Super Check Nodes ausgehen, durch einen Interleaver
p2 , wobei der Ausgang dieses Interleaversp2 einem rekursiven Encoder der Rate1 zugeführt wird. - Die Codeparameter der Super Variable Nodes werden bezeichnet als (
nv ,kv ) die Codeparameter der Super Check Nodes werden bezeicnet als (nc ,kc ). - Das erfindungsgemäße Verfahren nutzt die Vorteile von DGLDPC-Codes (nämlich eine bessere Leistungsfähigkeit gegenüber LDPC und GLDPC-Codes) und die effizienteren Codiereigenschaften von Irregular Repeat-Accumulate (IRA)-Codes. Das erfindungsgemäße Verfahren kann somit als IRA-ähnlicher DGLDPC-Code bezeichnet werden. IRA-ähnliche LDPC-Codes sind vorteilhaft, wegen ihrer linear ansteigenden Codierkomplexität und ihrer Flexibilität bezüglich der Auswahl der Komponenten-Codes, die maßgebend sind für den Trade-off der Leistungsfähigkeit zwischen dem Wasserfall und der Error-Floor-Region. Die Vektorkomponenten sind Pakete von jeweils L Bits, wobei L auch 1 sein kann.
- Es ist bevorzugt, dass die Codelänge des verwendeten IRA-ähnlichen DGLDPC-Codes
- Weiterhin ist bevorzugt, dass sich der IRA-ähnliche DGLDPC-Code zusammensetzt aus:
- - einem Set von S einfachen Variable Nodes, die Repetition Codes enthalten,
- - einem Set von S Check Nodes, die Single-Parity-Check (SPC) Codes enthalten, einem Set von N-S Super Variable Nodes mit General Linear Block Codes, die durch die Generator-Matrizen G definiert werden,
- - einem Set von M Super Check Nodes basierend auf General Linear Block Codes, die durch die Parity-Check-Matrizen H definiert werden (grundsätzlich können Super Variable Nodes verschiedene Generatormatrizen und Super Check Nodes verschiedene Parity Check Matrizen enthalten).
- - zwei Kanteninterleaver
π1 undπ2 . - Im Folgenden werden bevorzugte Ausführungsformen der Erfindung anhand von Figuren erläutert.
- Es zeigen:
-
1 die grundsätzliche Funktion von Paket-Level-Coding -
2 einen bipartiten Graphen eines LDPC-Codes und eines DGLDPC-Codes -
3 einen allgemeinen bipartiten Graphen eines DGLDPC-Codes -
4 eine Graph-Darstellung eines erfindungsgemäßen IRA-ähnlichen DGLDPC-Codes -
5 einen Codierschema für das erfindungsgemäße Verfahren. - Die
1 bis3 wurden bereits im Zusammenhang mit dem Stand der Technik erläutert. - Die Konstruktionsmethode für einen IRA-ähnlichen DGLDPC-Code gemäß dem erfindungsgemäßen Verfahren ist in
4 dargestellt. Der als Akkumulator bezeichnete rechte Teil der4 entspricht dem rekursiven Encoder der Rate1 in5 . In5 ist ein Codierschema für den vorgeschlagenen DGLDPC-Code dargestellt. Der Informationsvektor u wird mit der dünn besetzten Matrix4 . Dieser wird dem zweiten Interleaver π2 zugeführt. Hierdurch wird der Vektorv' erzeugt. Dieser wiederum wird dem rekursiven Encoder zugeführt, so dass der Paritätsvektor p erzeugt wird. Durch Konkatenieren von u und p entsteht das Codewort c = [u I p]. -
- Eine detaillierte Beschreibung des Konstruktionsverfahrens für den DGLDPC-Code des effizienten Codierschemas wurde bereits dargestellt. Das erfindungsgemäße Verfahren reduziert die Codierkomplexität verglichen zum Stand der Technik von O (
n2 ) zu O (n) im Hinblick auf elementare binäre Operationen. - Es ist zu beachten, dass die Komplexität, um ein Codewort zu kodieren, auch von der Paketgröße L (in Bytes) abhängt, da ein Codewort ein Block von L × N Bytes ist (siehe
1 ). Somit ist eine Komplexitätsreduzierung beim Codieren besonders vorteilhaft im Packet-Erasure-Cannel, wo Encoding im Packet-Level durchgeführt wird. - Im folgenden wird ein Beispiel für die Leistungsfähigkeit des erfindungsgemäßen Verfahrens dargestellt. Es wird ein Parity-Check-Matrix HDGLDPC der Größe
2000 × 2000 angenommen. Diese entspricht der linken Seite der4 . Diese Matrix weist 6 Nicht-Null-Elemente pro Zeile und drei Nicht-Null-Elemente pro Spalte auf. Es wurde S=200 angenommen. Daher hat der erzeugte DGLDPC-Code die folgenden Parameter: n=2000+2000=4000, m=2000, k=2000,4 ). - Die Codierkomplexität gemäß dem Stand der Technik und die Codierkomplexität des erfindungsgemäßen Verfahrens sind in der folgenden Tabelle in Bezug auf elementare binäre Multiplikationen und Additionen dargestellt. Die Dichte der Generatormatrix G des DGLDPC-Codes der Größe 2000 × 4000, die der 2000 × 4000 Parity-Check-Matrix des DGLDPC-Codes zugeordnet ist, ist in diesem Beispiel
Stand der Technik Erfindung Multiplikationen 8192 × 4000 × 2000 × ½ = 3.2768e+010 8192 × (2000 × 6 + (2000-1)) = 114679808 Additionen 8192 × 4000 × (2000-1) × ½ = 3.2752e+010 8192 × (2000 × (6-1) + (2000-1)) = 98295808 Summe 6.5520e+010 212975616 - Das erfindungsgemäße Verfahren erlaubt es, 6.5520e+010 Operationen während des Codierens eines Codeworts für das dargestellte Beispiel einzusparen.
Claims (6)
- Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten, die von einer Sendevorrichtung über einen Übertragungskanal, nämlich einen Packet-Erasure-Channel an eine Empfangsvorrichtung gesendet werden, wobei das Verfahren die folgenden Schritte aufweist: Codieren der Daten unter Verwendung eines mit der Sendevorrichtung verbundenen Encoders, wobei zunächst die übertragene Nachricht in k Informationspakete aufgeteilt und in n Codewortpakete kodiert wird und dies durch einen (n, k)-Code geschieht, wobei n die Codewortlänge und k die Blockgröße angibt, so dass m = n - k Paritätspakete durch den Packet-Level-Encoder erzeugt werden; Übermitteln der Daten von der Sendevorrichtung zu der Empfangsvorrichtung über den Packet-Erasure-Channel und Decodieren der Daten unter Verwendung eines mit der Empfangsvorrichtung verbundenen Packet-Level-Decoders, wobei während des Decodierens verlorengegangene und/ oder beschädigte Daten wieder hergestellt werden, wobei das Codieren und Decodieren unter Verwendung eines Doubly-Generalized-Low-Density-Parity-Check-Codes durchgeführt wird, und das Codieren ferner durch die folgenden Verfahrensschritte stattfindet: a) Multiplizieren eines Informationsvektors u der Länge k mit einer Low-Density Matrix
- Verfahren nach
Anspruch 1 , dadurch gekennzeichnet, dass ein Paritätspaket mindestens ein Bit enthält. - Verfahren nach
Anspruch 1 oder2 , dadurch gekennzeichnet, dass der Schritt a erfolgt durch Verschachteln der Kanten, die von den Super Variable Nodes zu den Super Check Nodes des DGLDPC Codes ausgehen unter Verwendung eines Interleavers Π1. - Verfahren nach einem der
Ansprüche 1 bis3 , dadurch gekennzeichnet, dass der Schritt b desAnspruchs 1 erfolgt durch Verschachteln der Kanten, die von den Super Check Nodes ausgehen, durch einen Interleaver Π2, wobei der Ausgang dieses Interleavers Π2 einem rekursiven Encoder der Rate 1 zugeführt wird. - Verfahren nach einem der
Ansprüche 1 bis4 , dadurch gekennzeichnet, dass die Codelänge des verwendeten IRA(Irregular Repeater Accumulate)-ähnlichen DGLDPC-Codes - Verfahren nach einem der
Ansprüche 1 bis5 , dadurch gekennzeichnet, dass sich der IRA-ähnliche DGLPDC-Code zusammensetzt aus: einem Set von S einfachen Variable Nodes, die Repetition Codes enthalten, einem Set von S Check Nodes, die Single-Parity-Check (SPC) Codes enthalten, einem Set von N-S Super Variable Nodes mit General Linear Block Codes, die durch die Generator-Matrizen G definiert werden, wobei N-S die Anzahl der generalisierten Variable Nodes ist, die auch als Super Variable Nodes bezeichnet werden, einem Set von M Super Check Nodes basierend auf General Linear Block Codes, die durch die Parity-Check-Matrizen H definiert werden. zwei Kanteninterleaver π1 und π2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013223413.9A DE102013223413B4 (de) | 2013-11-15 | 2013-11-15 | Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013223413.9A DE102013223413B4 (de) | 2013-11-15 | 2013-11-15 | Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102013223413A1 DE102013223413A1 (de) | 2015-05-21 |
DE102013223413B4 true DE102013223413B4 (de) | 2018-12-20 |
Family
ID=53184328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102013223413.9A Active DE102013223413B4 (de) | 2013-11-15 | 2013-11-15 | Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102013223413B4 (de) |
-
2013
- 2013-11-15 DE DE102013223413.9A patent/DE102013223413B4/de active Active
Non-Patent Citations (10)
Title |
---|
E. Paolini, M. Fossorier, M. Chiani, „Analysis of Doubly-Generalized LDPC Codes with Random Component Codes for the Binary Erasure Channel," 44th Annual Allerton Conference, UIUC, Illinois, USA, Sept-27-29, 2006 |
G. Faria, J. Henriksson, E. Stare, and P. Talmola, „DVB-H: Digital broadcast services to handheld devices," Proc. IEEE, vol. 94, no. 1, pp. 194-209, Jan. 2006. |
GALLAGER, R. G.: Low-Density Parity-Check Codes. In: M.I.T. Press Classic Series, Cambridge MA, 1963, S. 1 - 90 |
GALLAGER, R. G.: Low-Density Parity-Check Codes. In: M.I.T. Press Classic Series, Cambridge MA, 1963, S. 1-90 * |
J. Byers, M. Luby, M. Mitzenmacher, and A. Rege, „A digital fountain approach to reliable distribution of bulk data," SIGCOMM Comput. Commun. Rev., vol. 28, no. 4, pp. 56-67, Oct. 1998. |
WANG, C.-L.; LIN, S.: Low-Density Parity-Check Accumulate Codes. In: International Symposium on Information Theory and its Applications, 2010, S. 7 - 12. - ISBN 978-1-4244-6016-8 |
WANG, C.-L.; LIN, S.: Low-Density Parity-Check Accumulate Codes. In: International Symposium on Information Theory and its Applications, 2010, S. 7-12. – ISBN 978-1-4244-6016-8 * |
WANG, Y.; WANG, C.-L.; FOSSORIER, M.: Ensemble Weight Enumerators for Protograph-Based Doubly Generalized LDPC Codes. In: IEEE International Symbosium on Information Theory, 2008, S. 1168-1172. – ISBN 978-1-4244-2256-2 * |
WANG, Y.; WANG, C.-L.; FOSSORIER, M.: Ensemble Weigth Enumerators for Protograph-Based Doubly Generalized LDPC Codes. In: IEEE International Symposium on Information Theory, 2008, S. 1168-1172. - ISBN 978-1-4244-2256-2. |
Y. Wang and M. Fossorier, „Doubly generalized low-density parity-check codes," in Proc. of 2006 IEEE International Symposium on Information Theory, Seattle, USA, July 2006, pp. 669-673 |
Also Published As
Publication number | Publication date |
---|---|
DE102013223413A1 (de) | 2015-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE602005003767T2 (de) | Verfahren zum komprimieren einer menge korrelierter signale | |
DE60206419T2 (de) | Löschung und einzelfehlerkorrekturdekoder für lineare blockkodes | |
DE102010035210B4 (de) | Verfahren zur Rückgewinnung verlorener Daten und zur Korrektur korrumpierter Daten | |
DE102008061069A1 (de) | Neuübertragung fehlerhafter Daten | |
DE102012203653B3 (de) | Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten | |
DE102013223413B4 (de) | Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten | |
DE102013201422B3 (de) | Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten | |
DE102014208996B3 (de) | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten | |
DE102011102503B3 (de) | Verfahren zum Berichtigen beschädigter Daten | |
EP2654209B1 (de) | Verfahren und Vorrichtung zur Ermittlung einer Bitfehlerrate bei seriell verkettten LDPC und Blockkodes | |
DE102014214451B4 (de) | Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten | |
DE102016201408B4 (de) | Verfahren zum Übertragen von Daten | |
DE102013213778B3 (de) | Verfahren zum Übertragen einer Nachricht von einem Sender zu einem Empfänger über ein Kommunkationsmedium mittels Packet-Level-Kodierung | |
DE102013218311B4 (de) | Verfahren zum Wiederherstellen von verloren gegangenen und-/ oder beschädigten Daten | |
DE102014204828A1 (de) | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten | |
DE102013223813B4 (de) | Verfahren zur Wiederherstellung verloren gegangener und/oder beschädigter Daten | |
DE102016222007B4 (de) | Verfahren zum Übertragen von Daten | |
DE102014216143B4 (de) | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten | |
DE102011015811B3 (de) | Schemata zum effizienten Kodieren zur Verwendung bei nichtbinären GeIRA-Codes | |
EP1016236B1 (de) | Schnelle decodierung von partiell empfangenen faltungscodierten daten | |
DE102019200256A1 (de) | Verschachteler | |
DE102013223801B4 (de) | Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten | |
DE102011115100B3 (de) | Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten | |
DE102014210955B4 (de) | Verfahren zum Wiederherstellen von verlorengegangenen und/oder beschädigten Daten | |
DE102022111624B4 (de) | Fehlerkorrektur mit schneller Syndromberechnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |