DE102013223413B4 - Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten - Google Patents

Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten Download PDF

Info

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
Application number
DE102013223413.9A
Other languages
English (en)
Other versions
DE102013223413A1 (de
Inventor
Gianluigi Liva
Giuliano Garrammone
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE102013223413.9A priority Critical patent/DE102013223413B4/de
Publication of DE102013223413A1 publication Critical patent/DE102013223413A1/de
Application granted granted Critical
Publication of DE102013223413B4 publication Critical patent/DE102013223413B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/033Theoretical methods to calculate these checking codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1174Parity-check or generator matrices built from sub-matrices representing known block codes such as, e.g. Hamming codes, e.g. generalized LDPC codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • H03M13/1197Irregular 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 H DGLDPC T
Figure DE102013223413B4_0001
eines DGLDPC-Codes, so dass ein Vektor v der Länge i = 1 M ( n c i k c i )
Figure DE102013223413B4_0002
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 i = 1 M ( n c i k c i )
Figure DE102013223413B4_0003
ergibt, der einem rekursiven Encoder, der Rate 1 zugeführt wird,
c) Erzeugen eines Paritätsvektors p der Länge i = 1 M ( n c i k c i )
Figure DE102013223413B4_0004
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.

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. [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. [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. [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. [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 und 2).
  • 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 matrix Hc . Supervariable Nodes sind vollständig spezifiziert durch ihre kv × nv generator matrix Gv . Es ist zu beachten, dass Super Variable Nodes mit kv übertragenen Bits verbunden sind. Die Anzahl der Kanten, die von einem Super Variable Node ausgehen (Grad des Variable Nodes), ist nv und die Anzahl der Kanten, die von einem Super Check Node ausgehen (Grad des Check Nodes), ist nc .
  • 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. 1. Die Partity-Check-Matrix H wird durch Zeilenadditionen in die systematische Form H = [PT | I] gebracht, wobei I die Identitätsmatrix ist.
    2. 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:
    1. a) Multiplizieren eines Informationsvektors u der Länge k mit einer Low-Density Matrix H DGLDPC T
      Figure DE102013223413B4_0005
      eines DGLDPC-Codes, so dass ein Vektor v der Länge i = 1 M ( n c i k c i )
      Figure DE102013223413B4_0006
      erzeugt wird,
    2. b) Verschachteln des Vektors v durch einen Interleaver π2, wobei der Interleaver π2 einen Vektor v', der Länge i = 1 M ( n c i k c i )
      Figure DE102013223413B4_0007
      ergibt, der einem rekursiven Encoder der Rate 1 zugeführt wird,
    3. c) Erzeugen eines Paritätsvektors p der Länge i = 1 M ( n c i k c i )
      Figure DE102013223413B4_0008
      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,
    4. 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 in 5 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 Interleavers p2 einem rekursiven Encoder der Rate 1 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 n = i = 1 N S k v i + S
    Figure DE102013223413B4_0009
    ist. Weiterhin ist bevorzugt, dass die Anzahl m an Gleichungen in der Parity-Check-Matrix des DGLDPC-Codes m = i = 1 M ( n c i k c i ) + S .
    Figure DE102013223413B4_0010
    Ferner ist bevorzugt, dass die Code-Informations-Länge k=n-m ist. Auch ist bevorzugt, dass die Designrate R=1-m:n ist.
  • 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 bis 3 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 der 4 entspricht dem rekursiven Encoder der Rate 1 in 5. In 5 ist ein Codierschema für den vorgeschlagenen DGLDPC-Code dargestellt. Der Informationsvektor u wird mit der dünn besetzten Matrix H DGLDPC T
    Figure DE102013223413B4_0011
    multipliziert, so dass der Vektor v generiert wird. Dies entspricht dem linken Teil der 4. Dieser wird dem zweiten Interleaver π2 zugeführt. Hierdurch wird der Vektor v' 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].
  • Es gilt: i = 1 M ( n c i k c i ) = S
    Figure DE102013223413B4_0012
  • 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 der 4. 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, R = 1 2 .
    Figure DE102013223413B4_0013
    Es wird eine Paketgröße L=1.024 Bytes (8.192 Bits) angenommen. Dies ist eine Paketgröße, die im DVB-H Standard verwendet wird (siehe Veröffentlichung 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 1 2 .
    Figure DE102013223413B4_0014
    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)

  1. 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 H DGLDPC T
    Figure DE102013223413B4_0015
    eines DGLDPC-Codes, so dass ein Vektor v der Länge i = 1 M ( n c i k c i )
    Figure DE102013223413B4_0016
    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 i = 1 M ( n c i k c i )
    Figure DE102013223413B4_0017
    ergibt, der einem rekursiven Encoder, der Rate 1 zugeführt wird, c) Erzeugen eines Paritätsvektors p der Länge i = 1 M ( n c i k c i )
    Figure DE102013223413B4_0018
    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.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass ein Paritätspaket mindestens ein Bit enthält.
  3. Verfahren nach Anspruch 1 oder 2, 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.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Schritt b des Anspruchs 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.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Codelänge des verwendeten IRA(Irregular Repeater Accumulate)-ähnlichen DGLDPC-Codes n = i = 1 N S k c i + S
    Figure DE102013223413B4_0019
    ist, die Anzahl m an Gleichungen in seiner Parity-Check Matrix m = i = 1 M ( n c i k c i ) + S
    Figure DE102013223413B4_0020
    ist, die Code-Informations-Länge k=n-m ist und die Designrate R=1-m:n ist, wobei kvi den k-ten super Variable Node mit 1 <= i <= N-S spezifizieren und somit die Dimension der Generatormatrix, die mit dem i-ten Super Variable Node assoziiert ist, definieren.
  6. Verfahren nach einem der Ansprüche 1 bis 5, 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.
DE102013223413.9A 2013-11-15 2013-11-15 Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten Active DE102013223413B4 (de)

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)

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
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