DE102013201422B3 - Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten - Google Patents

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

Info

Publication number
DE102013201422B3
DE102013201422B3 DE201310201422 DE102013201422A DE102013201422B3 DE 102013201422 B3 DE102013201422 B3 DE 102013201422B3 DE 201310201422 DE201310201422 DE 201310201422 DE 102013201422 A DE102013201422 A DE 102013201422A DE 102013201422 B3 DE102013201422 B3 DE 102013201422B3
Authority
DE
Germany
Prior art keywords
parity check
check matrix
entry
simulation
binary
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.)
Expired - Fee Related
Application number
DE201310201422
Other languages
English (en)
Inventor
Balázs Matuz
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 DE201310201422 priority Critical patent/DE102013201422B3/de
Application granted granted Critical
Publication of DE102013201422B3 publication Critical patent/DE102013201422B3/de
Expired - Fee Related 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/033Theoretical methods to calculate these checking codes
    • H03M13/036Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
    • 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/1171Parity-check or generator matrices with non-binary elements, e.g. for non-binary 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/373Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon 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

Die Erfindung betrifft ein Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten, wobei ein nicht-binärer LDPC-Code verwendet wird. Zur Verbesserung der Code-Performance wird ein Algorithmus vorgeschlagen, durch den gezielt nicht-binäre Koeffizienten der Parity-Check-Matrix verändert werden.

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 (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). 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 (symbolweise) unter Verwendung des Encoders eines binären oder nicht-binären Codes durchgeführt. Maximum Likelihood Decoding wird über dem Packet-Erasure-Channel ausgeführt, in dem das folgende lineare Gleichungssystem gelöst wird:
    Figure DE102013201422B3_0002
    wobei
    Figure DE102013201422B3_0003
    ein Vektor ist, der die ausgelöschten Codewortpakete enthält. xk ist ein Vektor, der die korrekt empfangenen Codewortpakete enthält.
    Figure DE102013201422B3_0004
    ist die Submatrix, die zusammengesetzt ist aus den Spalten in der Parity-Check-Matrix, die den ausgelöschten Spaltenpaketen entsprechen. Hk ist die Submatrix, die aus den Spalten in der Parity-Check-Matrix zusammengesetzt ist, die den empfangenen Codewortpaketen entsprechen.
  • Es ist zu beachten, dass die rechte Seite der Gleichung (1) bekannt ist und
    Figure DE102013201422B3_0005
    die dünn besetzte Matrix bezeichnet, die das Gleichungssystem beschreibt, das zu lösen ist, um die Auslöschungen wieder herzustellen. Die Parity-Check-Matrix eines nicht-binären LDPC-Codes ist eine dünn besetzte Matrix mit nicht-binären Nicht-Null-Elementen.
  • 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.
  • Es ist aus dem Stand der Technik bekannt, dass ein nicht-binärer LDPC-Code bessere Möglichkeiten zur Fehlerkorrektur bietet (Giuliano Garrammone, Balázs Matuz, ”Short Erasure Correcting LDPC IRA Codes over GF(q),” GLOBEOM 2010, pp. 1–5; G. Garrammone, B. Matuz, G. Liva, ”An Overview of Efficient Coding Techniques for Packet Loss Recovery in CCSDS Telemetry Links,” 5th European Space Agency Workshop on Tracking, Telemetry and Command Systems for Space Applications, TTC 2010, Noordwijk (Netherlands), 21–23 September 2010). Die Auswahl der nicht-binären Nicht-Null-Elemente der Parity-Check-Matrix des Codes wurde bisher immer zufällig vorgenommen. Als Randbedingung wurde nur berücksichtigt, dass die gewählten nicht-binären Nicht-Null-Elemente dem gewählten Galois-Feld entnommen sind, das zur Erzeugung des Codes gewählt wurde.
  • Die folgende Matrix stellt eine binäre Parity-Check-Matrix eines (8,5) binären Codes dar:
    Figure DE102013201422B3_0006
  • Für die Erzeugung einer nicht-binären Parity-Check-Matrix kann beispielsweise ein Galois-Feld der Ordnung 4 verwendet werden. Dies bedeutet, dass drei Nicht-Null-Elemente in dem Galois-Feld existieren. Eine mögliche 3 × 8 nicht-binäre Parity-Check-Matrix H für den (8,5) Code über dem Galois-Feld der Ordnung 4 ist:
    Figure DE102013201422B3_0007
  • Hier wurden die binären Nicht-Null-Elemente der binären Parity-Check-Matrix 2 durch zufällig gewählte nicht-binäre Elemente aus dem Galois-Feld der Ordnung 4 ersetzt.
  • Nachteilig an einer zufälligen Auswahl der nicht-binären Koeffizienten der Parity-Check-Matrix eines nicht-binären LDPC-Codes ist, dass viele Gleichungen in der Parity-Check-Matrix linear abhängig sein können, was zu einer schlechten Performance des Codes führt.
  • Eine Verbesserung der Performance des Codes kann erreicht werden, wenn ein Galois-Feld höherer Ordnung verwendet wird, um die nicht-binäre Parity-Check-Matrix zu erstellen. Jedoch steigt mit einem Galois-Feld höherer Ordnung auch die Komplexität beim Durchführen nicht-binärer Rechenoperationen.
  • Die Druckschrift D1 (POULLIAT, C.; FOSSORIER, M.; DECLERCQ, D.: Design of Regular (2, dc)-LDPC Codes over GF(q) Using Their Binary Images. In: IEEE Transactions on Communications, Vol. 56, 2008, Iss. 10, S. 1626–1635. – ISSN 0090-6778) beschreibt ein Verfahren zum Decodieren von Daten, wobei das Codieren und Decodieren unter Verwendung eines nicht binären LDPC-Codes durchgeführt wird, dessen Parity-Check-Matrix-Koeffizienten in Abhängigkeit von einem Kanalmodell mittels Monte Carlo Simulation ausgewählt werden.
  • Aufgabe der Erfindung ist es, ein leistungsfähigeres Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten bereitzustellen, das insbesondere eine geringe Berechnungskomplexität ermöglicht, da der verwendete Code über einem Galois-Feld niedriger Ordnung gebildet wurde.
  • 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 Decodieren erfolgt unter Verwendung eines nicht-binären LDPC-Codes, dessen Parity-Check-Matrix die durch die folgenden Schritte generiert wurde:
    • a) Durchführen einer Initialisierungsprozedur mit folgenden Schritten: Schritt a1): Auswählen eines Galois-Feldes, aus dem der nicht binäre LDPC-Code gebildet werden soll; Schritt a2) Ersetzen der Nicht-Null-Einträge einer binären LDPC-Parity-Check-Matrix durch zufällig gewählte nicht-binäre Einträge aus dem gewählten Galois-Feld;
    • b) Durchführen eines Optimierungsalgorithmus mit folgenden Schritten: Schritt b1): Mehrmaliges Durchführen einer Simulation des Übertragungs- und Decodiervorgangs, wobei bei jedem nicht erfolgreichen Decodieren während einer Simulation mindestens ein Variable Node der Tannergraphdarstellung des LDPC-Codes identifiziert wird, der nicht wieder hergestellt werden konnte; Schritt b2): Ermitteln und Speichern einer Performance-Messgröße über die Leistungsfähigkeit des verwendeten Codes sowie Speichern der verwendeten Koeffizienten der Nicht-Null-Einträge der Parity-Check-Matrix; Schritt b3): Auswählen des Sets von nicht wieder hergestellten Variable Nodes mit dem niedrigsten Gewicht aus der gemäß Verfahrensschritt b1) durchgeführten Simulation; Schritt b4): Auswählen eines Variable Nodes j, aus dem gemäß Verfahrensschritt b2) ausgewählten Set von Variable Nodes mit dem niedrigsten Gewicht; Schritt b5): Identifizieren einer Zeile i in der Parity-Check-Matrix, in der der gemäß Verfahrensschritt b3) ausgewählte Variable Node j und alle anderen Variable Nodes aus dem in Verfahrensschritt ausgewählten Set vorhanden sind; Schritt b6): Ersetzen des Eintrags der Parity-Check-Matrix in Zeile i und Spalte j mit einem anderen Eintrag aus dem gemäß Verfahrensschritt a1) gewählten Galois-Feld, wobei der Eintrag ungleich Null ist. Der neue Eintrag in Zeile i und Spalte j soll sich von dem aktuellen Eintrag unterscheiden. Wenn die Auswahl des neuen Eintrags zufällig erfolgt, kann es passieren, dass der neue Eintrag mit dem bisherigen Eintrag identisch ist. Dies soll erfindungsgemäß vermieden werden. Schritt b7): Mehrmaliges Wiederholen der Verfahrensschritte b1)–b6) mit dem gemäß Verfahrensschritt b6) geänderten Eintrag in der Parity-Check-Matrix; Schritt b8): Auswählen der Koeffizienten der Nicht-Null-Einträge der Parity-Check-Matrix, für die gemäß Verfahrensschritte b2) die beste Performance-Messgröße ermittelt wurde.
  • Bei der gemäß Verfahrensschritt b2) ermittelten Performance-Messgröße über die Leistungsfähigkeit des verwendeten Codes kann es sich beispielsweise um die Codeword Error Rate (CER) handeln. Beispielsweise ist es auch möglich, die Symbol Error Rate (SER) zu messen.
  • Erfindungsgemäß werden somit die nicht-binären Nicht-Null-Einträge der Parity-Check-Matrix nicht zufällig ausgewählt, sondern basierend auf dem dargestellten Algorithmus. Versuche des Anmelders, basierend auf Simulationen haben gezeigt, dass dies zu einer verbesserten Decodierleistung führt. Nähere Einzelheiten hierzu werden in Zusammenhang mit den Figuren der vorliegenden Anmeldung beschrieben.
  • Durch das erfindungsgemäße Verfahren wird die Wahrscheinlichkeit, dass das Decodieren aufgrund von linear abhängigen Gleichungen in der Parity-Check-Matrix versagt, verringert. Dies wird dadurch erreicht, dass Fehlermuster mit einem niedrigen Gewicht (d. h. kleine Sets von Variable Nodes, die nicht wieder hergestellt werden können) seltener ein Scheitern des Decodiervorgangs verursachen.
  • Zum Verständnis der genannten Verfahrensschritte ist zu beachten, dass Variable Nodes den Spalten der Parity-Check-Matrix H des Codes entsprechen, während Check-Nodes den Zeilen der Matrix entsprechen.
  • Es ist bevorzugt, dass eine Anzahl I_max von Wiederholungen ausgewählt wird, für die gemäß Verfahrensschritt b7) die Schritte b1)–b6) wiederholt werden, wobei I_max den Wert 1, 10, 30 oder 50 annehmen kann.
  • Weiterhin ist bevorzugt, dass eine Anzahl N_Sim für die zu ermittelnden Simulationsvorgänge ausgewählt wird, die nicht zu einem erfolgreichen Decodieren geführt haben, wobei jeder dieser Simulationsvorgänge ein Set nicht wieder hergestellter Variable Nodes liefert. Gemäß Verfahrensschritt b1) wird die Simulation sooft wiederholt, bis N_Sim Sets nicht wieder hergestellter Variable Nodes ermittelt wurden.
  • N_Sim kann > 10, bevorzugt > 20 und besonders bevorzugt > 30 sein.
  • Weiterhin ist es bevorzugt, dass die Verfahrensschritte b1)–b7) mit anderen während der Initialisierungsprozedur gemäß Verfahrensschritt a2), zufällig gewählten nicht-binären Einträgen in der Parity-Check-Matrix wiederholt werden.
  • Die gemäß Verfahrensschritt b1) durchgeführte Simulation kann eine Monte Carlo-Simulation sein. Es ist auch möglich, jede andere Art von Simulation einzusetzen, die Sets von Variable Nodes identifiziert, die nicht durch den Decoder wieder hergestellt werden konnten.
  • Weiterhin ist es bevorzugt, dass, wenn mehr als ein Variable Node Set mit dem niedrigsten Gewicht existiert, gemäß Verfahrensschritt b3) ein Set zufällig ausgewählt wird.
  • Weiterhin ist es bevorzugt, dass das Auswählen des Variable Nodes j gemäß Verfahrensschritt b4) zufällig erfolgt.
  • Weiterhin ist es bevorzugt, dass der neue Eintrag der Parity-Check-Matrix, der gemäß Verfahrensschritt b6) den alten Eintrag in Zeile i und Spalte j ersetzt, zufällig gewählt wird.
  • Im Folgenden werden bevorzugte Ausführungsformen der Erfindungen anhand von Figuren erläutert.
  • Es zeigen:
  • 1 eine schematische Darstellung des Grundprinzips von Packet-Level-Coding und
  • 2 und 3 Ergebnisse von Simulationen, die die Leistungsfähigkeit des erfindungsgemäßen Verfahrens, verglichen zum Stand der Technik betreffen.
  • 1 wurde bereits in Zusammenhang mit dem Stand der Technik ermittelt.
  • Als erstes Beispiel wurde die binäre Parity-Check-Matrix des (256, 128) LDPC-Codes verwendet, der in der folgenden Veröffentlichung beschrieben ist:
    Giuliano Garrammone, Balázs Matuz, ”Short Erasure Correcting LDPC IRA Codes over GF(q),” GLOBEOM 2010, pp. 1–5.
  • Basierend auf der binären Parity-Check-Matrix wurden zwei Codes über einem Galois-Feld der Ordnung 4 erzeugt. Die Auswahl der nicht-binären Elemente der Parity-Check-Matrix wurde zufällig ausgeführt. Ferner wurde bei einer Versuchsreihe die Auswahl gemäß dem erfindungsgemäßen Verfahren ausgeführt, wobei die folgenden Parameter verwendet wurden: N_Sim = 50 und I_max = 50.
  • In 2 ist die Performancekurve im Hinblick auf die Channel-Erasure-Rate, verglichen mit der Paketauslöschungswahrscheinlichkeit für die jeweiligen Codes dargestellt. Die Leistungsfähigkeit des binären Codes ist ebenfalls dargestellt. Die Singleton-Grenze ist ebenfalls dargestellt (durchgehende Linie). Die Resultate, die auf dem erfindungsgemäßen Verfahren basieren, wurden erreicht unter Anwendung einer Monte Carlo-Simulation, durch die 50 Simulationsvorgänge gesammelt wurden, die nicht zu einem erfolgreichen Decodieren geführt haben. Anders ausgedrückt, wurde die Monte Carlo-Simulation sooft wiederholt, bis in 50 Simulationsvorgängen das Decodieren nicht erfolgreich war, so dass jeder dieser Simulationsvorgänge ein Set nicht wieder hergestellter Variable Nodes geliefert hat.
  • In 2 ist erkennbar, dass die nicht-binären Codes eine bessere Performance liefern als die binären Codes. Ferner ist erkennbar, dass das erfindungsgemäße Verfahren eine bessere Performance liefert als das Verfahren, in dem die nicht-binären Nicht-Null-Einträge der Parity-Check-Matrix zufällig gewählt wurden. Beispielsweise ist erkennbar, dass bei einer Paketauslöschungswahrscheinlichkeit = 0,35 die CER des erfindungsgemäßen Verfahrens, verglichen zum Stand der Technik um fast eine Größenordnung verbessert wurde.
  • Als zweites Beispiel wurde die binäre Parity-Check-Matrix des (512, 256) LDPC-Codes verwendet, der in der folgenden Veröffentlichung entworfen wurde:
    G. Garrammone, T. De Cola, B. Matuz, G. Liva, ”Erasure Codes for Space Communications: Recent Findings and New Challenges,” 6th Advanced Satellite Multimedia Systems Conference (ASMS) and 12th Signal Processing for Space Communications Workshop (SPSC), Baiona (Spain), September 2012.
  • Basierend auf der binären Parity-Check-Matrix wurden zwei nicht binäre Codes einmal über einem Galois-Feld der Ordnung 16 und einmal über einem Galois-Feld der Ordnung 256 erstellt. Die Auswahl der nicht binären Elemente der Parity-Check-Matrix wurde gemäß dem erfindungsgemäßen Verfahren ausgeführt mit den folgenden Parametern: N_Sim = 50 und I_max = 50
  • In 3 sind die entsprechenden Performancekurven dargestellt, wobei hier auch ein entsprechender binärer Code dargestellt ist. Auch hier ist erkennbar, dass die nicht-binären Codes gegenüber den nicht-binären Codes eine verbesserte Performance liefern. Es ist beachtenswert, dass die Performance des Codes über einem Galois-Field von 16 (d. h. einem sehr niedrigen Galois-Feld) annähernd die Performance des Codes über dem Galois-Feld höherer Ordnung, nämlich 256 erreicht.
  • Somit erlaubt es die Erfindung, Codes über einem Galois-Feld niedriger Ordnung zu erzeugen, die dennoch eine sehr gute Performance aufweisen (z. B. verglichen mit der Performance von Codes über Galois-Feldern höherer Ordnung). Gleichzeitig kann die Komplexität im Vergleich zu Codes, basierend auf Galois-Feldern höherer Ordnung reduziert werden.
  • Die vorliegende Erfindung kann verwendet werden in allen Arten von kommerziellen drahtlosen oder drahtgebundenen Übertragungssystemen. Durch das erfindungsgemäße Verfahren wird es möglich, nicht-binäre LDPC-Codes auch auf Plattformen mit niedriger Rechenleisung auszuführen.

Claims (9)

  1. Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten, die von einer Sendevorrichtung über einen Übertragungskanal an eine Empfangsvorrichtung gesendet werden, wobei das Verfahren die folgenden Schritte aufweist: Codieren der Daten unter Verwendung eines mit der Sendevorrichtung verbundenen Encoders; Übermitteln der Daten von der Sendevorrichtung zu der Empfangsvorrichtung über einen Übertragungskanal und Decodieren der Daten unter Verwendung eines mit der Empfangsvorrichtung verbundenen Decoders, wobei während des Decodierens verlorengegangene und/oder beschädigte Daten wieder hergestellt werden, wobei das Codieren und Decodieren unter Verwendung eines nicht binären LDPC-Codes durchgeführt wird, dessen Parity-Check-Matrix durch die folgenden Schritte generiert wurde: a) Durchführen einer Initialisierungsprozedur mit folgenden Schritten: Schritt a1): Auswählen eines Galois-Feldes, aus dem der nicht binäre LDPC-Code gebildet werden soll; Schritt a2) Ersetzen der Nicht-Null-Einträge einer binären LDPC-Parity-Check-Matrix durch zufällig gewählte nicht-binäre Einträge aus dem gewählten Galois-Feld; b) Durchführen eines Optimierungsalgorithmus mit folgenden Schritten: Schritt b1): Mehrmaliges Durchführen einer Simulation des Übertragungs- und Decodiervorgangs, wobei bei jedem nicht erfolgreichen Decodieren während einer Simulation mindestens ein Variable Node der Tannergraphdarstellung des LDPC-Codes identifiziert wird, der nicht wieder hergestellt werden konnte; Schritt b2): Ermitteln und Speichern einer Performance-Messgröße über die Leistungsfähigkeit des verwendeten Codes sowie Speichern der verwendeten Koeffizienten der Nicht-Null-Einträge der Parity-Check-Matrix; Schritt b3): Auswählen des Sets von nicht wieder hergestellten Variable Nodes mit dem niedrigsten Gewicht aus der gemäß Verfahrensschritt b1) durchgeführten Simulation; Schritt b4): Auswählen eines Variable Nodes j, aus dem gemäß Verfahrensschritt b2) ausgewählten Set von Variable Nodes mit dem niedrigsten Gewicht; Schritt b5): Identifizieren einer Zeile i in der Parity-Check-Matrix, in der der gemäß Verfahrensschritt b3) ausgewählte Variable Node j und alle anderen Variable Nodes aus dem in Verfahrensschritt ausgewählten Set vorhanden sind; Schritt b6): Ersetzen des aktuellen Eintrags der Parity-Check-Matrix in Zeile i und Spalte j mit einem anderen, neuen Eintrag aus dem gemäß Verfahrensschritt a1) gewählten Galois-Feld, wobei der neue Eintrag ungleich Null ist und sich von dem aktuellen Eintrag unterscheidet. Schritt b7): Mehrmaliges Wiederholen der Verfahrensschritte b1)–b6) mit dem gemäß Verfahrensschritt b6) geänderten Eintrag in der Parity-Check-Matrix; Schritt b8): Auswählen der Koeffizienten der Nicht-Null-Einträge der Parity-Check-Matrix, für die gemäß Verfahrensschritte b2) die beste Performance-Messgröße ermittelt wurde.
  2. Verfahren nach Anspruch 1, gekennzeichnet durch den zusätzlichen Verfahrensschritt: Auswählen einer Anzahl I_max von Wiederholungen, für die gemäß Verfahrensschritt b7) die Schritte b1)–b6) wiederholt werden, wobei I_max den Wert 1, 10, 30 oder 50 annehmen kann.
  3. Verfahren nach Anspruch 1 oder 2, gekennzeichnet durch den folgenden Verfahrensschritt: Auswählen einer Anzahl N_Sim für die zu ermittelnden Simulationsvorgänge, die nicht zu einem erfolgreichen Decodieren geführt haben, wobei jeder dieser Simulationsvorgänge ein Set nicht wieder hergestellter Variable Nodes liefert, wobei gemäß Verfahrensschritt b1) die Simulation so oft wiederholt wird, bis N_Sim Sets nicht wieder hergestellter Variable Nodes ermittelt wurden.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass N_Sim > 10.
  5. Verfahren nach einem der Ansprüche 1 bis 4, gekennzeichnet durch den Schritt: Wiederholen der Verfahrensschritte b1)–b7) mit anderen während der Initialisierungsprozedur gemäß Verfahrensschritt a2) zufällig gewählten nicht-binären Einträgen in der Parity-Check-Matrix.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die gemäß Verfahrensschritt b1) durchgeführte Simulation eine Monte Carlo-Simulation ist.
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass, wenn mehr als ein Variable Node Set mit dem niedrigsten Gewicht existiert, gemäß Verfahrensschritt b3) ein Set zufällig ausgewählt wird.
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass das Auswählen des Variable Nodes j gemäß Verfahrensschritt b4) zufällig erfolgt.
  9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass der neue Eintrag der Parity-Check-Matrix, der gemäß Verfahrensschritt b6) den aktuellen Eintrag in Zeile i und Spalte j ersetzt, zufällig gewählt wird.
DE201310201422 2013-01-29 2013-01-29 Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten Expired - Fee Related DE102013201422B3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201310201422 DE102013201422B3 (de) 2013-01-29 2013-01-29 Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201310201422 DE102013201422B3 (de) 2013-01-29 2013-01-29 Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten

Publications (1)

Publication Number Publication Date
DE102013201422B3 true DE102013201422B3 (de) 2014-02-20

Family

ID=50029763

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201310201422 Expired - Fee Related DE102013201422B3 (de) 2013-01-29 2013-01-29 Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten

Country Status (1)

Country Link
DE (1) DE102013201422B3 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014204828A1 (de) * 2014-03-14 2015-09-17 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
DE102014210955A1 (de) * 2014-06-06 2015-12-17 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Wiederherstellen von verlorengegangenen und/oder beschädigten Daten

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
POULLIAT, C.; FOSSORIER, M.; DECLERCQ, D.: Design of Regular (2, dc)-LDPC Codes over GF(q) Using Their Binary Images. In: IEEE Transactions on Communications, Vol. 56, 2008, Iss. 10, S. 1626-1635. - ISSN 0090-6778 *
POULLIAT, C.; FOSSORIER, M.; DECLERCQ, D.: Design of Regular (2, dc)-LDPC Codes over GF(q) Using Their Binary Images. In: IEEE Transactions on Communications, Vol. 56, 2008, Iss. 10, S. 1626-1635. – ISSN 0090-6778

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014204828A1 (de) * 2014-03-14 2015-09-17 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
DE102014204828B4 (de) * 2014-03-14 2016-06-09 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
DE102014210955A1 (de) * 2014-06-06 2015-12-17 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Wiederherstellen von verlorengegangenen und/oder beschädigten Daten
DE102014210955B4 (de) * 2014-06-06 2016-04-28 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Wiederherstellen von verlorengegangenen und/oder beschädigten Daten

Similar Documents

Publication Publication Date Title
DE102009017540B4 (de) Verfahren zum Wiederherstellen verlorener und/oder beschädigter Daten
DE102010035210B4 (de) Verfahren zur Rückgewinnung verlorener Daten und zur Korrektur korrumpierter Daten
DE102011085602B4 (de) Vorrichtung und Verfahren zum Korrigieren zumindest eines Bitfehlers in einer codierten Bitsequenz
DE102012208711A1 (de) Vorrichtung zum Erzeugen einer Prüfsumme
DE102013201422B3 (de) Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten
DE102017216264B4 (de) Decodierverfahren
DE102012203653B3 (de) Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten
DE102014214451B4 (de) Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten
DE102013218311B4 (de) Verfahren zum Wiederherstellen von verloren gegangenen und-/ oder beschädigten Daten
DE102011102503B3 (de) Verfahren zum Berichtigen beschädigter Daten
EP2654209B1 (de) Verfahren und Vorrichtung zur Ermittlung einer Bitfehlerrate bei seriell verkettten LDPC und Blockkodes
DE102014210955B4 (de) Verfahren zum Wiederherstellen von verlorengegangenen und/oder beschädigten Daten
DE102013223813B4 (de) Verfahren zur Wiederherstellung verloren gegangener und/oder beschädigter Daten
DE102016201408B4 (de) Verfahren zum Übertragen von Daten
DE102014208996B3 (de) Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
DE102022111624B4 (de) Fehlerkorrektur mit schneller Syndromberechnung
DE102011115100B3 (de) Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten
DE102010029113A1 (de) Verfahren zur Kanalcodierung von digitalen Daten
DE102013213778B3 (de) Verfahren zum Übertragen einer Nachricht von einem Sender zu einem Empfänger über ein Kommunkationsmedium mittels Packet-Level-Kodierung
DE102013223801B4 (de) Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten
DE102013223413B4 (de) Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten
DE102015216987B4 (de) Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
DE102011111835B4 (de) Verfahren zum Wiederherstellen verlorener und/oder beschädigter Daten
DE102017213711B4 (de) Verfahren zum Übertragen von Daten
DE102004053656A1 (de) Verfahren zur Verarbeitung von Signalen nach Verfahren mit blockbasierten Fehlerschutzcodes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R020 Patent grant now final

Effective date: 20141121

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee