DE102012220334B3 - Method for restoring lost and corrupted data transmitted from transmission apparatus to receiver, involves performing calculation-, transmission and stopping processes until number of iterations is reached such that window position is moved - Google Patents

Method for restoring lost and corrupted data transmitted from transmission apparatus to receiver, involves performing calculation-, transmission and stopping processes until number of iterations is reached such that window position is moved Download PDF

Info

Publication number
DE102012220334B3
DE102012220334B3 DE201210220334 DE102012220334A DE102012220334B3 DE 102012220334 B3 DE102012220334 B3 DE 102012220334B3 DE 201210220334 DE201210220334 DE 201210220334 DE 102012220334 A DE102012220334 A DE 102012220334A DE 102012220334 B3 DE102012220334 B3 DE 102012220334B3
Authority
DE
Germany
Prior art keywords
window
check
node
variable
decoding
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
DE201210220334
Other languages
German (de)
Inventor
Giuliano Garrammone
Tudor Ninacs
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 DE201210220334 priority Critical patent/DE102012220334B3/en
Application granted granted Critical
Publication of DE102012220334B3 publication Critical patent/DE102012220334B3/en
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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/1154Low-density parity-check convolutional codes [LDPC-CC]
    • 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/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows

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

The method involves calculating a variable node probability value for variable nodes in a defined window. The probability value is transmitted to check nodes in the window. A check node probability value for each check node is calculated and transmitted to the variable nodes. Bit values assigned to the variable nodes are estimated. Iteration in the window and displacement of the window are stopped when the bit values meet parity checks equations in a current window position. All the processes are repeated until a maximum number of iterations is reached such that a window position is moved.

Description

Die Erfindung betrifft ein Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten.The invention relates to a method for restoring lost and / or damaged data.

Verschiedene Fehlerkorrekturverfahren sind aus dem Stand der Technik bekannt. Zum Beispiel ist es möglich, LDPC-Codes zum Wiederherstellen beschädigter Daten zu verwenden.Various error correction methods are known in the art. For example, it is possible to use LDPC codes to recover corrupted data.

LDPC-Codes sind lineare Blockcodes gekennzeichnet durch eine dünnbesetzte Parity-Check-Matrix H. Sie wurden 1963 zuerst durch Gallager eingeführt [R. G. Gallager, ”Low-density parity-check codes,” Ph. D. dissertation, Cambridge, M. I. T., Massachusetts, 1963.]. LDPC-Codes können durch H oder durch seine zugeordnete Erzeugermatrix G codiert werden. Tanner hat eine grafische Darstellung von LDPC-Codes eingeführt, die als Tanner-Graph bezeichnet wird und die zum Durchführen von interativem Decodieren von LDPC-Codes nützlich ist [R. Tanner, ”A recursive approach to low complexity codes,” Information Theory, IEEE Transactions on, vol. 27, Nr. 5, Seiten 533–547, September 1981].LDPC codes are linear block codes characterized by a sparsely populated parity check matrix H. They were first introduced in 1963 by Gallager [R. G. Gallager, "Low density parity-check codes," Ph.D. dissertation, Cambridge, M.I.T., Massachusetts, 1963.]. LDPC codes can be coded by H or its associated generator matrix G. Tanner has introduced a graphical representation of LDPC codes, referred to as the Tanner graph, which is useful for performing interactive decoding of LDPC codes [R. Tanner, "A recursive approach to low complexity codes," Information Theory, IEEE Transactions on, vol. 27, No. 5, pages 533-547, September 1981].

Ein komplett anderer Ansatz des Decodierens wurde 1955 durch Elias eingeführt, mit der Einführung von Convolutional-Codes [P. Elias, ”Coding for noisy channels,” Proc. IRE Conv. Rec, part 4, Seiten 37–46, 1955]. Er schlug vor, Bits nicht blockweise in unkorrelierter Weise zu codieren, wie es in Blockcodes der Fall ist, sondern sie kontinuierlich mit einem Encoder zu codieren, der einen Speicher ms aufweist.A completely different approach to decoding was introduced in 1955 by Elias, with the introduction of convolutional codes [P. Elias, "Coding for noisy channels," Proc. IRE Conv. Rec, part 4, pages 37-46, 1955]. He suggested that bits should not be coded block-by-block in an uncorrelated manner, as in block codes, but encoded continuously with an encoder having memory m s .

Low-Density-Parity-Check-Codes wurden zuerst eingeführt in [A. Jimenez Felstrom and K. Zigangirov, ”Time-varying periodic convolutional codes with low-density parity-check matrix,” Information Theory, IEEE Transactions on, vol. 45, Nr. 6, Seiten 2181–2191, September 1999] und sie vereinen in einem einzigen Coding-Verfahren die Stärken sowohl von Convolutional- als auch von LDPC-Codes. Eine dünnbesetzte Parity-Check-Matrix mit unendlicher Länge ist einem LDPCCC zugeordnet. Jedoch kann der Encoder eines LDPCCC nach L Zeiteinheiten gestoppt werden, sodass ein terminierter LDPCCC erzeugt wird, dem eine dünnbesetzte Parity-Check-Matrix endlicher Länge zugeordnet ist. Der Vorgang des Anhaltens des Encoders nach L Zeiteinheiten wird Termination genannt. Termination hat bestimmte Vorteile, wobei einer von diesen die Tatsache ist, dass die Blocklänge eines solchen Encoders im laufenden Betrieb angepasst werden kann, indem entschieden wird, die Terminierung früher oder später vorzunehmen, d. h. durch Auswahl eines unterschiedlichen L, das als Terminationsfaktor bezeichnet wird. Es wurde für den Binary-Erasure-Channel (BEC) bewiesen in [S. Kudekar, T. Richardson, and R. Urbanke, ”Threshold saturation via spatial coupling: Why convolutional LDPC ensembles perform so well over the BEC,” IEEE Transactions an Information Theory, vol. 57, Nr, 2, Seiten 803–834, Februar 2011], dass terminierte LDPCCC unter iterativem Decodieren (IT) mit niedriger Komplexität in der Lage sind die Leistungsfähigkeit von hochkomplexem Maximum A-Posteriori (MAP) Decoding asymptotisch zu erreichen. Dieses Verhalten wird als Grenzwertsättigung bezeichnet. Protograph-basierte terminierte LDPCCC wurden eingeführt in [M. Lentmaier, G. Fettweis, K. S. Zigangirov, and D. Costello, ”Approaching capacity with asymptotically regular LDPC codes,” in Information Theory and Applications, Februar 2009, Seiten 173–177, San Diego, USA], wo bewiesen wurde, dass sie die Kapazität auf dem BEC asymptotisch erreichen. Von Protographen abgeleitete Codes sind vorteilhaft, da ein Protograph in den abgeleiteten Tanner-Graphen eine Struktur generiert und somit die Konstruktion von Encodern und Decodern vereinfacht.Low-density parity check codes were first introduced in [A. Jimenez Felstrom and K. Zigangirov, "Time-varying periodic convolutional codes with low-density parity-check matrix," Information Theory, IEEE Transactions on, vol. 45, No. 6, pages 2181-2191, September 1999] and combine the strengths of both convolutional and LDPC codes in a single coding process. A sparse infinite length parity check matrix is associated with an LDPCCC. However, the LDPCCC encoder may be stopped after L units of time to produce a scheduled LDPCCC associated with a sparse parity check matrix of finite length. The process of stopping the encoder after L time units is called termination. Termination has certain advantages, one of which is the fact that the block length of such an encoder can be adjusted on the fly by deciding to schedule sooner or later; H. by choosing a different L, called the termination factor. It has been proven for the Binary Erasure Channel (BEC) in [p. Kudekar, T. Richardson, and R. Urbanke, "Threshold saturation via spatial coupling: why convolutionally LDPC ensembles perform so well over the BEC," IEEE Transactions on Information Theory, vol. 57, Nr. 2, pp. 803-834, February 2011], that low-complexity iterative decoding (IT) terminated LDPCCCs are capable of asymptotically achieving the performance of highly complex maximum a posteriori (MAP) decoding. This behavior is called threshold saturation. Protograph-based terminated LDPCCC were introduced in [M. Lentmaier, G. Fettweis, KS Zigangirov, and D. Costello, "Approaching capacity with asymptotically regular LDPC codes," in Information Theory and Applications, February 2009, pages 173-177, San Diego, USA], where it has been proved that they reach capacity at the BEC asymptotically. Protograph-derived codes are advantageous because a protograph in the derived Tanner graphs generates a structure and thus simplifies the construction of encoders and decoders.

Die Parity-Check-Martix eines protograph-basierten terminierten LDPCCC ist

Figure 00030001
The parity check martix of a protograph-based scheduled LDPCCC is
Figure 00030001

Die Hi-Matrizen sind c×(c-b) dünnbesetzte Matrizen

Figure 00030002
wobei jedes Element entweder 0 oder 1 sein kann. The H i matrices are c × (cb) sparse matrices
Figure 00030002
where each element can be either 0 or 1.

Die Parity-Check-Matrix in 1 kann abgeleitet werden von der folgenden protograph-basierten Matrix

Figure 00040001
The parity check matrix in Figure 1 can be derived from the following protograph-based matrix
Figure 00040001

In den obigen Matrizen wird Bi bezeichnet als die Basismatrix der i-th Komponente mit i = 0, ..., ms. Als ein Beispiel ist Bi = (1 1) zu berücksichtigen.In the above matrices, B i is referred to as the base matrix of the i-th component with i = 0, ..., m s . As an example, consider B i = (1 1).

Kurz gesagt, besteht die Ableitung eines Tannergraphen (und damit eines Codes) von einer Protograph-Basismatrix aus dem Ersetzen jedes nicht-Null-Elements in der Protograph-Basismatrix (2) mit einer Permutationsmatrix der Größe Q×Q (oder mit der Summe mehrerer Permutationsmatrizen). Null-Elemente in (2) werden ersetzt durch eine Null-Matrix der Größe Q×Q. Die Parity-Check-Matrix in (1) ist daher Q Mal größer als die Protograph-Basismatrix in (2). Q wird als Lifting-Faktor bezeichnet.In short, the derivation of a tanner graph (and thus a code) from a prototype base matrix consists of replacing each non-zero element in the protograph base matrix (2) with a Q × Q permutation matrix (or the sum of several permutation). Zero elements in (2) are replaced by a zero matrix of size Q × Q. The parity check matrix in (1) is therefore Q times larger than the protograph base matrix in (2). Q is called a lifting factor.

Es wird der Fall betrachtet, bei dem es auf der Empfängerseite nicht möglich ist, iteratives Decodieren auf dem gesamten Tannergraph auszuführen, der der Parity-Check-Matrix H in (1) zugeordnet ist. Eine Lösung, die im Stand der Technik verfügbar ist, ist ein fensterbasiertes iteratives Decodieren durchzuführen, was durch die Struktur von H ermöglicht wird.Consider the case where it is not possible on the receiver side to perform iterative decoding on the entire tanner graph associated with the parity check matrix H in (1). One solution available in the prior art is to perform window-based iterative decoding, which is enabled by the structure of H.

Im Folgenden wird das herkömmliche iterative Decodieren von LDPC-Codes über einen AWGN-Kanal erklärt.The following explains conventional iterative decoding of LDPC codes over an AWGN channel.

Als ein Beispiel ist die folgende Parity-Check-Matrix zu berücksichtigen

Figure 00050001
As an example, consider the following parity check matrix
Figure 00050001

Der mit dieser Matrix verbundene Tannergraph ist in 2 dargestellt, wo Kreise Variable-Nodes (VNs) darstellen und Quadrate Check-Nodes (CNs) darstellen. Jeder VN ist einem Bit des Codeworts x zugeordnet. Und jede CN ist einer Parity-Check Gleichung in H zugeordnet (Zeile von H). Der iterative Decodieralgorithmus funktioniert auf dem Tannergraph des Codes und nimmt an, dass Variable- und Check-Nodes Prozessoren sind, die Ausgangsnachrichten basierend auf Eingangsnachrichten berechnen und dass die Kanten des Graphen Pfade sind, die diese Nachrichten zwischen den Prozessoren transportieren. Jeder Variable-Node gibt eine Nachricht auf einer Kante aus als eine Funktion der Nachrichten, die auf den anderen Kanten empfangen wurden und der Nachricht, die vom Kanal empfangen wurde, während jeder Check-Node auf einer Kante eine Nachricht ausgibt, die eine Funktion der Nachrichten ist, die auf den anderen Kanten empfangen wurden, wie in 3 dargestellt, wo durchgezogene Linien Eingangsnachnrichten darstellen, die von Check- oder Variable-Nodes kommen, doppelte Linien Nachrichten darstellen, die durch den entsprechenden Knoten ausgegeben wurden und gepunktete Linien die Nachricht darstellen, die vom Kanal empfangen wurde. Das Ziel jedes Check-Node ist es, festzustellen, wie wahrscheinlich es ist, dass die Parity-Check Gleichung, die er darstellt, erfüllt ist und dieses Ergebnis an alle Variable-Nodes zu kommunizieren, die ihrerseits versuchen diese Werte zu kombinieren und festzustellen, wie wahrscheinlich die Bit-Werte, denen sie zugeordnet sind, 1 oder 0 sind. Diese Message-Passing-Prozedur wird für eine Anzahl an Iterationen wiederholt und schließlich trifft jeder Variable-Node eine Entscheidung über den Bit-Wert, der mit der größten Wahrscheinlichkeit gesendet wurde.The tanner graph associated with this matrix is in 2 where circles represent variable nodes (VNs) and squares represent check nodes (CNs). Each VN is assigned to one bit of the codeword x. And every CN is assigned to a parity-check equation in H (row of H). The iterative decoding algorithm works on the tanner graph of the code and assumes that variable and check nodes are processors which compute output messages based on input messages and that the edges of the graph are paths that transport these messages between the processors. Each variable node outputs a message on one edge as a function of the messages received on the other edges and the message received from the channel, while each check node on an edge issues a message that is a function of the message Is messages received on the other edges, as in 3 where solid lines represent input messages coming from check or variable nodes, duplicate lines represent messages issued by the corresponding node and dotted lines represent the message received from the channel. The goal of each check-node is to determine how likely it is that the parity-check equation it represents is met and to communicate that result to all variable nodes, which in turn try to combine and determine those values. how likely the bit values to which they are assigned are 1 or 0. This message passing procedure is repeated for a number of iterations and, finally, each variable node makes a decision on the most probable bit value sent.

Ein üblicher iterativer Decoder von LDPC-Codes über dem AWGN-Kanal, der logarithmische Wahrscheinlichkeitsverhältnisse (log-likelihood ratios (LLRs)) zwischen VNs und CNs iterativ übermittelt und der auf einer Tannergraph-Repräsentation basiert, kann gemäß den folgenden Schritten zusammengefasst werden [W. E. Ryan, ”An Introduction to LDPC Codes,” in CRC Handbook for Coding and Signal Processing for Recording Systems (B. Vasic, ed.) CRC Press]:

  • 1. Berechnen der LLRs, die der vom Kanal kommenden Nachricht zugeordnet sind, an jedem VN
  • 2. Berechnen der Ausgangs-LLRs an den VNs
  • 3. Senden der Ausgang-LLRs der VNs auf den entsprechenden Kanten an die benachbarten CNs
  • 4. Berechnen der Ausgangs-LLRs an den CNs
  • 5. Senden der Ausgangs-LLRs der CNs auf den entsprechenden Kanten an die benachbarten VNs
  • 6. Springen zu Schritt 2. für Imax Male
  • 7. Schätzen des Bit-Wertes, der jedem VN zugeordnet ist
A common iterative decoder of LDPC codes over the AWGN channel that iteratively conveys log-likelihood ratios (LLRs) between VNs and CNs and that is based on a tannergraph representation can be summarized according to the following steps [WE Ryan, "An Introduction to LDPC Codes," in the CRC Handbook for Coding and Signal Processing for Recording Systems (B. Vasic, ed.) CRC Press]:
  • 1. Calculate the LLRs associated with the message coming from the channel at each VN
  • 2. Calculate the output LLRs at the VNs
  • 3. Send the output LLRs of the VNs on the corresponding edges to the neighboring CNs
  • 4. Calculate the output LLRs at the CNs
  • 5. Send the output LLRs of the CNs on the corresponding edges to the neighboring VNs
  • 6. Jump to Step 2. for Imax Male
  • 7. Estimate the bit value associated with each VN

Im Folgenden wird ein fensterbasierter iterativer Decodieralgorithmus aus dem Stand der Technik erklärt, der benötigt wird, wenn das Decodieren nicht über den gesamten Tannergraph des Codes durchgeführt werden kann. Ein fensterbasiertes iteratives Decodieren kann implementiert werden aufgrund der Diagonalstruktur der Parity-Check-Matrizen des protograph-basierten terminierten LDPCCC in (1). Als ein Beispiel ist die Parity-Check-Matrix eines protograph-basierten terminierten LDPCCC in 4 zu berücksichtigen. Jedes Quadrat in der Fig. stellt eine Permutationsmatrix der Größe Q×Q dar. Für diesen Code wird die Basismatrix Bi = (1 1) berücksichtigt. Um ein fensterbasiertes Decodieren durchzuführen, muss die Art, wie das Fenster funktioniert, beschrieben werden.The following is an explanation of a prior art window-based iterative decoding algorithm needed when decoding can not be performed over the entire tannograph of the code. Window-based iterative decoding can be implemented because of the diagonal structure of the parity-check matrices of the protograph-based terminated LDPCCC in (1). As an example, the parity check matrix of a protograph-based scheduled LDPCCC is in 4 to take into account. Each square in the figure represents a permutation matrix of size Q × Q. For this code, the base matrix B i = (1 1) is taken into account. To do window-based decoding, the way the window works must be described.

Zunächst wird eine gegebene Anzahl aufeinanderfolgender Check-Nodes ausgewählt, von denen ausgegangen wird, dass sie sich innerhalb des Fensters befinden. Für diese Check-Nodes werden die zugehörigen Variable-Nodes, die in die Parity-Check Gleichungen involviert sind, ausgewählt. Iteratives Decodieren wird dann mit dieser reduzierten Anzahl an Knoten ausgeführt, die sich innerhalb des Fensters befinden (Teil des Tannergraphen), gemäß den vorher vorgestellten Schritten 1 bis 6. Das Fenster bewegt sich zur nächsten Fensterposition (WP) und Schritte 1 bis 6 werden innerhalb der neuen Fensterposition ausgeführt. Das Fenster bewegt sich vorwärts und rückwärts bis zu IFB-Male, entlang aller möglichen Fensterpositionen (was von der Fenstergröße abhängt). Nach jeder Vorwärts- und Rückwärtsiteration werden alle Bit-Werte geschätzt. Wenn alle Parity-Check Gleichungen in H erfüllt sind, wird das Decodieren angehalten. Es ist zu beachten, dass Imax Iterationen bezüglich der Berechnung/des Austausches von LLRs zwischen VNs und CNs innerhalb jeder Fensterposition bis zu 2 IFB-Male durchgeführt werden.First, a given number of consecutive check nodes are selected that are assumed to be within the window. For these check nodes, the associated variable nodes involved in the parity check equations are selected. Iterative decoding is then performed with this reduced number of nodes located within the window (part of the tanner graph) according to steps 1 through 6 previously presented. The window moves to the next window position (WP) and steps 1-6 become within the new window position. The window moves forwards and backwards to I FB times, along all possible window positions (which depends on the window size). After each forward and backward iteration, all bit values are estimated. If all the parity-check equations in H are satisfied, the decoding is stopped. It should be noted that Imax iterations are performed on the calculation / exchange of LLRs between VNs and CNs within each window position up to 2 I FB times.

4 stellt eine Fenstergröße (WS) von 3 dar und eine WS von 4 an der Parity-Check-Matrix H eines protograph-basierten terminierten LDPCCC. Die Figur stellt also die anfänglichen und finalen Positionen für das Fenster der Größe WS = 4 dar und eine Zwischenposition für das Fenster der Größe 3. 4 represents a window size (W s ) of 3 and a W s of 4 on the parity check matrix H of a protograph-based scheduled LDPCCC. The figure thus represents the initial and final positions for the window of size W S = 4 and an intermediate position for the window of size 3.

Wenn lange protograph-basierte terminierte LDPCCC verwendet werden (um den Grenzwertsättigungseffekt auszunutzen) und der Empfänger die Implementierung eines fensterbasierten Decoders erfordert, um die Nachrichten, z. B. LLRs, zu verarbeiten, die vom AWGN-Kanal kommen, kann die Decodierzeit immernoch groß sein und Delay kann immernoch ein wichtiges Thema sein.When long protograph-based scheduled LDPCCC is used (to exploit the threshold saturation effect) and the receiver requires the implementation of a window-based decoder to process the messages, e.g. For example, to process LLRs coming from the AWGN channel, the decoding time may still be high and delay may still be an important issue.

Die Druckschrift ”N. ul Hassan, M. Lentmaier and G. Fettweis: ”Comparison of LDPC Convolutional Codes Based an their Decoding Latency”. Proceedings of the 7th International Symposium on Turbo Codes & Related Topics (ISTC'12), Gothenburg, Sweden, 27.8.–31.8.2012” beschreibt ein Verfahren zum Wiederherstellen beschädigter Daten. Hierbei werden LDPC Blockcodes und LDPC Convolutionscodes verglichen.The publication "N. ul Hassan, M. Lentmaier and G. Fettweis: "Comparison of LDPC Convolutional Codes Based on their Decoding Latency". Proceedings of the 7 th International Symposium on Turbo Codes & Related Topics (ISTC'12), Gothenburg, Sweden, 27.8.-31.8.2012 "describes a method for restoring corrupted data. Here, LDPC block codes and LDPC convolution codes are compared.

Es ist eine Aufgabe der vorliegenden Erfindung ein Verfahren zum Wiederherstellen von verlorengegangenen und/oder beschädigten Daten mit einer verringerten Decodierzeit und/oder Delay bereitzustellen.It is an object of the present invention to provide a method for recovering lost and / or corrupted data with reduced decoding time and / or delay.

Diese Aufgabe wird erreicht durch die Merkmale des Anspruchs 1 der Erfindung.This object is achieved by the features of claim 1 of the invention.

Das erfindungsgemäße Verfahren wird verwendet zum Übertragen von Daten von einer Sendevorrichtung zu einer Empfangsvorrichtung und umfasst die folgenden Verfahrensschritte:
Codieren dieser Daten unter Verwendung eines Encoders, der mit der Sendevorrichtung verbunden ist unter Verwendung der Parity-Check-Matrix eines Low-Density-Parity-Check-Convolutional-Code (LDPCCC),
Übertragen dieser Daten von der Sendevorrichtung zu der Empfangsvorrichtung über einen Übertragungskanal, und
Decodieren dieser Daten unter Verwendung eines Decoders, der mit der Empfangsvorrichtung verbunden ist, wobei verlorengegangene und/oder beschädigte Daten während des Decodierens durch Verwendung der Parity-Check-Matrix des LDPCCC wiederhergestellt werden.
The method according to the invention is used for transmitting data from a transmitting device to a receiving device and comprises the following method steps:
Encoding this data using an encoder connected to the transmitting device using the Parity Check Matrix of a Low Density Parity Check Convolutional Code (LDPCCC),
Transmitting this data from the transmitting device to the receiving device via a transmission channel, and
Decoding that data using a decoder connected to the receiving device, wherein lost and / or corrupted data is recovered during decoding by using the parity check matrix of the LDPCCC.

Erfindungsgemäß wird das Decodieren gemäß den folgenden Verfahrensschritten durchgeführt:

  • a) Definieren eines verschiebbaren Fensters in der Parity-Check-Matrix H des LDPCCC,
  • b) Selektieren aller Check Nodes und Variable Nodes, die in dem ausgewählten Fenster vorhanden sind,
  • c) Berechnen eines Variable-Node-Wahrscheinlichkeitswertes für jeden Variable-Node innerhalb des definierten Fensters, wobei der Variable-Node-Wahrscheinlichkeitswert die Wahrscheinlichkeit darstellt, dass der Bit-Wert an diesem Variable-Node 1 und/oder 0 ist,
  • d) Übermitteln des in Verfahrensschritt c) geschätzten Wahrscheinlichkeitswerts von dem entsprechenden Variable-Node zu allen Check-Nodes innerhalb des Fensters, die durch Kanten mit diesem Variable-Node verbunden sind,
  • e) Berechnen eines Check-Node-Wahrscheinlichkeitswerts für jeden Check-Node innerhalb des Fensters, wobei der Check-Node-Wahrscheinlichkeitswert die Wahrscheinlichkeit darstellt, die durch diesen Check-Node präsentierte Gleichung erfüllt ist,
  • f) Übermitteln des im Verfahrensschritt e) geschätzten Wahrscheinlichkeitswerts von dem jeweiligen Check-Node zu allen Variable-Nodes innerhalb des Fensters, die durch Kanten mit diesem Check-Node verbunden sind,
  • g) Schätzen der Bit-Werte, die den Variable-Nodes innerhalb des Fensters zugeordnet sind,
  • h) wenn die geschätzten Bit-Werte die Parity-Check Gleichungen in der aktuellen Fensterposition erfüllen, Anhalten der Iteration innerhalb des Fensters und Anhalten des Verschiebens des Fensters,
  • i) andernfalls Wiederholen der Verfahrensschritte c) bis h), bis eine maximale Anzahl an Iterationen Imax erreicht ist,
  • j) Verschieben der Fensterposition.
According to the invention, the decoding is carried out according to the following method steps:
  • a) Defining a movable window in the parity check matrix H of the LDPCCC,
  • b) Selecting all check nodes and variable nodes that are present in the selected window,
  • c) calculating a variable node probability value for each variable node within the defined window, the variable node probability value representing the probability that the bit value at that variable node is 1 and / or 0,
  • d) transmitting the likelihood value estimated in step c) from the corresponding variable node to all check nodes within the window connected by edges to that variable node,
  • e) calculating a check-node probability value for each check-node within the window, the check-node probability value representing the probability that the equation presented by that check-node is satisfied;
  • f) transmission of the probability value estimated in method step e) from the respective check node to all variable nodes within the window which are connected by edges to this check node,
  • g) estimating the bit values associated with the variable nodes within the window,
  • h) if the estimated bit values satisfy the parity-check equations in the current window position, stopping the iteration within the window, and pausing the movement of the window,
  • i) otherwise repeating the method steps c) to h) until a maximum number of iterations I max has been reached,
  • j) move the window position.

Die bisher beschriebenen Verfahrensschritte werden innerhalb einer Fensterposition ausgeführt. Nachdem diese Verfahrensschritte a) bis i) abgeschlossen sind (einschließlich aller notwendigen Iterationen innerhalb dieser Fensterposition), bewegt sich dieses Fenster zu der nächsten Position innerhalb der Parity-Check-Matrix. Es ist bevorzugt, dass nach jeder Vorwärts- und Rückwärtsbewegung des Fensters die Bit-Werte, die allen Variable-Nodes zugeordnet sind, geschätzt werden. Wenn die geschätzten Bit-Werte alle Parity-Check-Gleichungen in der Parity-Check-Matrix H erfüllen, wird die Vorwärts- und Rückwärtsbewegung des verschiebbaren Fensters angehalten, da das Decodieren erfolgreich durchgeführt wurde. Wenn nicht alle Parity-Check Gleichungen der Parity-Check-Matrix H erfüllt sind, beginnt der Algorithmus erneut von Anfang an.The method steps described so far are executed within a window position. After these process steps a) to i) are completed (including all necessary iterations within this window position), this window moves to the next position within the parity check matrix. It is preferred that after each forward and backward movement of the window, the bit values associated with all variable nodes be estimated. If the estimated bit values satisfy all the parity check equations in the parity check matrix H, the forward and backward movement of the scrollable window is halted since the decoding was successfully performed. If not all parity check equations of the parity check matrix H are satisfied, the algorithm starts again from the beginning.

Somit schlägt das erfindungsgemäße Verfahren einen verbesserten iterativen Decodieralgorithmus vor, der besonders geeignet ist für protograph-basierte terminierte LDPCCC's auf einem Additive White Gaussian Noise (AWGN) Kanal basierend auf einem Ansatz mit einem verschiebbaren Fenster. Ein Ansatz mit einem verschiebbaren Fenster kann notwendig sein, wenn der Empfänger nicht in der Lage ist, iteratives Decodieren auf der gesamten Tannergraph-Repräsentation der Parity-Check-Matrix des Codes auszuführen.Thus, the method of the present invention proposes an improved iterative decoding algorithm that is particularly suitable for protograph-based scheduled LDPCCC's on an additive white gaussian noise (AWGN) channel based on a sliding window approach. A sliding window approach may be necessary if the receiver is unable to perform iterative decoding on the entire tannograph representation of the code's parity check matrix.

Somit wurde ein effizienter Decodieralgorithmus vorgeschlagen, der es möglich macht, lange Codes auf dem AWGN-Kanal zu decodieren, um den Grenzwertsättigungseffekt, der von Binary-Erasure-Channels bekannt ist, auszunutzen.Thus, an efficient decoding algorithm has been proposed that makes it possible to decode long codes on the AWGN channel to exploit the threshold saturation effect known from binary erasure channels.

Die Tatsache, dass die Grenzwertsättigung auch auf dem AWGN-Kanal sichtbar ist, wurde für lange Codes gezeigt in [David G. M. Mitchell, Michael Lentmaier, and Daniel J. Costello, Jr.” AWGN channel analysis of terminated LDPC convolutional codes”, in Proceedings of the Information Theory and Applications Workshop (ITA'11), San Diego, USA, 2011]. The fact that the cutoff saturation is also visible on the AWGN channel has been shown for long codes in [David GM Mitchell, Michael Lentmaier, and Daniel J. Costello, Jr., "AWGN channel analysis of terminated LDPC convolutional codes" in Proceedings of the Information Theory and Applications Workshop (ITA'11), San Diego, USA, 2011].

Ein Hauptmerkmal der Erfindung ist die Entscheidung, die Iterationen der Wahrscheinlichkeitswerte von den Variable-Nodes zu den Check-Nodes und umgekehrt innerhalb des Fensters anzuhalten, wenn eine Voraussetzung der Variable-Nodes innerhalb des Fensters erfüllt ist. Dieser Ansatz reduziert erheblich die Decodierzeit mit vernachlässigbarem Verlust im Hinblick auf die Leistungsfähigkeit verglichen mit dem fensterbasierte Decodieralgorithmus aus dem Stand der Technik.A key feature of the invention is the decision to halt the iterations of the likelihood values from the variable nodes to the check nodes and vice versa within the window if a condition of the variable nodes within the window is met. This approach significantly reduces decoding time with negligible loss in performance compared to the prior art window-based decoding algorithm.

Durch Verwendung des erfindungsgemäßen Decodieralgorithmus kann die Decodierzeit von fensterbasierten Decodieralgorithmen aus dem Stand der Technik reduziert werden.By using the decoding algorithm of the present invention, the decoding time of prior art window-based decoding algorithms can be reduced.

Details bezüglich dieser Verringerung der Decodierzeit werden später erklärt basierend auf Vergleichen, die durch den Anmelder durchgeführt wurden.Details regarding this reduction in decoding time will be explained later based on comparisons made by the applicant.

In einer bevorzugten Ausführungsform wird der folgende vorausgehende Schritt vor den Verfahrensschritten a) bis j) ausgeführt:
Eine Fenstergröße (WS), die die Anzahl der Zeilen der Parity-Check-Matrix innerhalb dieses Fensters wiedergibt, wird definiert.
In a preferred embodiment, the following preliminary step is performed prior to method steps a) to j):
A window size (WS) that reflects the number of rows of the parity check matrix within this window is defined.

In einer weiteren bevorzugten Ausführungsform wird der folgende vorausgehende Schritt vor den Verfahrensschritten a) bis j) ausgeführt:
Die maximale Anzahl an Iterationen Imax für jede Fensterposition wird definiert.
In a further preferred embodiment, the following preliminary step is carried out before the method steps a) to j):
The maximum number of iterations I max for each window position is defined.

In einer weiteren bevorzugten Ausführungsform wird der folgende vorausgehende Schritt vor den Verfahrensschritten a) bis j) ausgeführt:
Die Anzahl der Male IFB, für die das verschiebbare Fenster in der Parity-Check-Matrix vorwärts und rückwärts bewegt wird, wird definiert. Es ist ferner bevorzugt, dass ein protograph-basierter LDPCCC für das Codieren und Decodieren verwendet wird. Es ist ferner bevorzugt, dass ein protograph-basierter terminierter LDPCCC verwendet wird.
In a further preferred embodiment, the following preliminary step is carried out before the method steps a) to j):
The number of times I FB for which the scrollable window in the parity check matrix is moved forward and backward is defined. It is further preferred that a protograph-based LDPCCC is used for encoding and decoding. It is further preferred that a protograph-based terminated LDPCCC is used.

In einer bevorzugten Ausführungsform werden Daten vom Sender zum Empfänger über einen AWGN-Kanal übermittelt, sodass der Decodieralgorithmus, der in dieser Anmeldung vorgeschlagen wird, angewendet wird auf der Bitübertragungsschicht.In a preferred embodiment, data is transmitted from the sender to the receiver over an AWGN channel, so that the decoding algorithm proposed in this application is applied to the physical layer.

Es ist ferner bevorzugt, dass der Wahrscheinlichkeitswert, der zwischen den Check-Nodes und Variable-Nodes ausgetauscht wird, ein logarithmisches Wahrscheinlichkeitsverhältnis ist.It is further preferred that the probability value exchanged between the check nodes and variable nodes is a log-likelihood ratio.

Im Folgenden werden bevorzugte Ausführungsformen der Erfindung im Kontext der Figuren erläutert.In the following, preferred embodiments of the invention will be explained in the context of the figures.

Die Figuren zeigen:The figures show:

1 ein vereinfachtes Übertragungssystem, in dem das erfindungsgemäße Verfahren angewendet werden kann, 1 a simplified transmission system in which the method according to the invention can be used,

2 ein Beispiel einer Tannergraph-Darstellung einer Parity-Check-Matrix H, 2 an example of a tannograph representation of a parity check matrix H,

3 die Nachrichtenverarbeitung an den Check-Nodes und Variable-Nodes in dem Tannergraph, 3 the message processing at the check nodes and variable nodes in the tannograph,

4 ein Beispiel für verschiedene Fenstergrößen in einer Parity-Check-Matrix H, 4 an example of different window sizes in a parity check matrix H,

5 ein Beispiel eines Fensters der Größe 3 bei einer bestimmten Position während des Decodierprozesses. Insbesondere sind die Parity-Check-Gleichungen (die den Check-Nodes zugeordnet sind) und die Variable-Nodes, die sich im Fenster befinden oder nicht, hervorgehoben und 5 an example of a size 3 window at a particular position during the decoding process. In particular, the parity check equations (associated with the check nodes) and the variable nodes located or not in the window are highlighted and

6 die Performance des erfindungsgemäßen Verfahrens verglichen zum Stand der Technik. 6 the performance of the method according to the invention compared to the prior art.

2 bis 4 wurden im Zusammenhang mit dem Stand der Technik beschrieben. 2 to 4 were described in the context of the prior art.

1 zeigt ein vereinfachtes Übertragungssystem, das zum Ausführen des erfindungsgemäßen Verfahrens verwendet werden kann. 1 shows a simplified transmission system that can be used to carry out the method according to the invention.

Das Problem, das in der vorliegenden Patentanmeldung behandelt wird, betrifft die Übertragung von k Bits, die einem Vektor der Länge k zugeordnet sind, in 1 von einem Sender (oder Quelle) zu einem Empfänger (oder Sink) über einen Additive White Gaussian Noise (AWGN) Kanal (1). Insbesondere wird ein Übertragungschema betrachtet, in dem der Informationsvektor u codiert wird in n Bits, die dem Vektor x mit der Länge n, der als Codewort bezeichnet wird, zugeordnet sind. Das Codewort wird generiert durch einen protograph-basierten terminierten Low-Density-Parity-Check-Convolutional (LDPCCC) Encoder. Beim Empfänger wird eine Nachricht y = x + Rauschen mit der Länge n empfangen, wobei das Rauschen einen Rauschvektor mit der Länge n bezeichnet. Die Komponenten des Rausch-Vektors sind unabhängig und gleichmäßig verteilt. Gauß'sche Zufallsvariablen mit Mittelwert 0 und einer Varianz von

Figure 00150001
wobei N0 die einseitige Rauschspektraldichte ist. Der protograph-basierte terminierte LDPCC Decoder empfängt die Nachricht y, erzeugt eine Schätzung des Vektors u, der gesendet wurde, und übermittelt diese an den Receiver (oder Sink).The problem addressed in the present patent application concerns the transmission of k bits associated with a vector of length k in FIG 1 from a transmitter (or source) to a receiver (or sink) via an Additive White Gaussian Noise (AWGN) channel ( 1 ). In particular, consider a transmission scheme in which the information vector u is encoded in n bits associated with the vector x of length n, called a codeword. The codeword is generated by a protograph-based scheduled low-density parity-check-convolutional (LDPCCC) encoder. At the receiver, a message y = x + noise of length n is received, the noise denoting a noise vector of length n. The components of the noise vector are independent and evenly distributed. Gaussian random variables with mean 0 and a variance of
Figure 00150001
where N 0 is the one-sided noise spectral density. The protograph-based scheduled LDPCC decoder receives the message y, generates an estimate of the vector u that was sent, and transmits it to the receiver (or sink).

Der erfindungsgemäße Algorithmus kann folgendermaßen definiert werden: Algorithmus startet Loop 1: Für IFB-Male do Loop 2: Für jede Fensterposition (einmal während das Fenster sich vorwärts bewegt und einmal während das Fenster sich rückwärts bewegt) do

  • Berechnen der Ausgangs-LLRs an den VNs innerhalb des Fensters
  • Senden der Ausgang-LLRs der VNs innerhalb des Fensters auf der entsprechenden Kante zu den benachbarten CNs, die sich innerhalb des Fensters befinden
  • Berechnen der Ausgangs-LLRs an den CNs innerhalb des Fensters
  • Senden der Ausgangs-LLRs der CNs innerhalb des Fensters auf den entsprechenden Kanten an die benachbarten VNs innerhalb des Fensters
  • Schätzen der Bit-Werte, die den VNs in der aktuellen Fensterposition zugeordnet sind
  • Wenn die geschätzten Bit-Werte die Parity-Check Gleichungen in der aktuellen Fensterposition erfüllen, Anhalten der Iteration innerhalb des Fensters und Bewegen zu der nächsten Fensterposition
End Loop 2.The algorithm according to the invention can be defined as follows: algorithm starts Loop 1: For I FB -Male do Loop 2: For each window position (once while the window is moving forward and once while the window is moving backwards) do
  • Calculate the output LLRs at the VNs within the window
  • Sending the output LLRs of the VNs within the window on the corresponding edge to the neighboring CNs that are within the window
  • Calculate the output LLRs on the CNs within the window
  • Sending the output LLRs of the CNs within the window on the corresponding edges to the neighboring VNs within the window
  • Estimate the bit values associated with the VNs in the current window position
  • If the estimated bit values satisfy the parity-check equations in the current window position, pause the iteration within the window and move to the next window position
End Loop 2.

Nach jeder Vorwärts- und Rückwärtsbewegung des Fensters, Schätzen der Bit-Werte, die allen VNs zugeordnet sind.After each forward and backward movement of the window, estimate the bit values associated with all the VNs.

Wenn die geschätzten Bit-Werte alle Parity-Check Gleichungen in H erfüllen, Unterbrechen von Loop 1 (Anhalten der Vorwärts- und Rückwärtsiteration), weil das Decodieren erfolgreich durchgeführt wurde. Andernfalls fortführen mit Loop 1

End Loop 1
If the estimated bit values satisfy all the parity-check equations in H, interrupting Loop 1 (stopping the forward and reverse iteration) because the decode was successfully completed. Otherwise, continue with Loop 1

End Loop 1

Ein Beispiel der Gleichungen der Parity-Check-Matrix H, die innerhalb einer Fensterposition enthalten sind, ist in 5 gegeben, basierend auf der vorher eingeführten Parity-Check-Matrix für eine Fenstergröße WS=3. Insbesondere hebt die Figur die Parity-Check Gleichungen (die den Check-Nodes zugeordnet sind) und die Variable-Nodes, die sich in der aktuell dargestellten Fensterposition befinden oder nicht, hervor.An example of the equations of the parity check matrix H contained within a window position is in 5 given based on the previously introduced parity check matrix for a window size W S = 3 . In particular, the figure highlights the parity check equations (which are associated with the check nodes) and the variable nodes that are or are not in the currently displayed window position.

Die Gleichungen, die in der aktuell dargestellten Fensterposition enthalten sind, sind markiert. Jedes Quadrat in der Figur stellt eine Permutationsmatrix der Größe Q×Q dar.The equations contained in the currently displayed window position are marked. Each square in the figure represents a permutation matrix of size Q × Q.

Der fensterbasierte Decodieralgorithmus für protograph-basierte terminierte LDPCCC wurde in SW inplementiert. Ein Vergleich des Standes der Technik mit der Erfindung wurde basierend auf den folgenden Code ausgeführt, der als Beispiel erzeugt wurde.The window-based decoding algorithm for protograph-based scheduled LDPCCC was implemented in SW. A comparison of the prior art with the invention was made based on the following code, which was created as an example.

Beispiel: Es wird ein protograph-basierter terminierter LDPCCC mit den folgenden Parametern betrachtet:

  • – Bi = (1 1)
  • – memory ms = 2
  • – Protograph B in (2) der Größe 18×32
  • – Eine Circulant Size Q = 64,
  • – Parity-Check-Matrix in (1) der Größe 1152×2048
Example: Consider a protograph-based scheduled LDPCCC with the following parameters:
  • - B i = (1 1)
  • - Memory m s = 2
  • - Protograph B in (2) size 18 × 32
  • - A Circulant Size Q = 64,
  • - parity check matrix in (1) size 1152 × 2048

Es werden die folgenden Decodierparameter betrachtet:
IFB = 100, Imax = 50, WS = 8
The following decoding parameters are considered:
I FB = 100, I max = 50, W S = 8

6 zeigt die Performance dieses Codes im Hinblick auf CER gegenüber dem Signal-Rausch-Spannungsverhältnis (SNR) in Bezug auf die Energie pro Informationsbit Eb geteilt durch die einseitige Rausch-Leistungs-Spektral-Dichte N0. Eine BPSK-Modulation wird angenommen. Simulationen wurden durchgeführt mit 50 Decordierfehlern pro Punkt. 6 Figure 12 shows the performance of this code in terms of CER versus signal-to-noise ratio (SNR) versus energy per information bit E b divided by the single-sided noise power spectral density N o . A BPSK modulation is assumed. Simulations were performed with 50 decoding errors per point.

Es ist zu beachten, dass der vorgeschlagene iterative fensterbasierte Decodieralgorithmus eine Leistung liefert, die vergleichbar ist mit dem iterativen fensterbasierten Decodieralgorithmus aus dem Stand der Technik.It should be noted that the proposed iterative window-based decoding algorithm provides performance comparable to the prior art iterative window-based decoding algorithm.

Ferner wurde die Geschwindigkeit für beide Algorithmen gemessen, die nötig war, um die Ergebnisse in 6 zu erreichen, und als Ergebnis erlaubt es die Erfindung durch Anwendung der Erfindung ungefähr 39% der Zeit einzusparen. Daher erlaubt es die Erfindung dieselbe Leistung des Standes der Technik zu erreichen, jedoch viel schneller.Furthermore, the speed was measured for both algorithms, which was necessary to obtain the results in 6 and, as a result, by employing the invention, the invention allows to save about 39% of the time. Therefore, the invention allows to achieve the same performance of the prior art, but much faster.

Das vorgeschlagene Verfahren kann in allen Arten von kommerziellen drahtlosen und drahtgebundenen Übertagungssystemen verwendet werden. Wie gezeigt wurde, erlaubt das vorgeschlagene Verfahren, die Decodierzeit für protograph-basierte terminierte LDPCCC auf dem AWGN-Kanal zu verringern. Die Erfindung macht die vorgeschlagenen Codes praktisch und implementierbar.The proposed method can be used in all types of commercial wireless and wireline transmission systems. As shown, the proposed method allows to reduce the decoding time for protograph-based terminated LDPCCC on the AWGN channel. The invention makes the proposed codes practical and implementable.

Claims (8)

Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten, die von einer Sendevorrichtung (10) zu einer Empfangsvorrichtung (12) übermittelt wurden, wobei das Verfahren die folgenden Schritte aufweist: Codieren dieser Daten unter Verwendung eines Encoders (14), der mit der Sendevorrichtung (10) verbunden ist unter Verwendung der Parity-Check-Matrix eines Low-Density-Parity-Check-Convolutional-Code (LDPCCC), Übertragen dieser Daten von der Sendevorrichtung (10) zu der Empfangsvorrichtung (12) über einen Übertragungskanal (18), und Decodieren dieser Daten unter Verwendung eines Decoders (16), der mit der Empfangsvorrichtung (12) verbunden ist, wobei verlorengegangene und/oder beschädigte Daten während des Decodierens durch Verwendung der Parity-Check-Matrix des LDPCCC wiederhergestellt werden, wobei das Decodieren durchgeführt wird gemäß den folgenden Verfahrensschritten: a) Definieren eines verschiebbaren Fensters in der Parity-Check-Matrix H des LDPCCC, b) Selektieren aller Check Nodes und Variable Nodes, die in dem ausgewählten Fenster vorhanden sind, c) Berechnen eines Variable-Node-Wahrscheinlichkeitswertes für jeden Variable-Node innerhalb des definierten Fensters, wobei der Variable-Node-Wahrscheinlichkeitswert die Wahrscheinlichkeit darstellt, dass der Bit-Wert an diesem Variable-Node 1 und/oder 0 ist, d) Übermitteln des in Verfahrensschritt c) geschätzten Wahrscheinlichkeitswerts von dem entsprechenden Variable-Node zu allen Check-Nodes innerhalb des Fensters, die durch Kanten mit diesem Variable-Node verbunden sind, e) Berechnen eines Check-Node-Wahrscheinlichkeitswerts für jeden Check-Node innerhalb des Fensters, wobei der Check-Node-Wahrscheinlichkeitswert die Wahrscheinlichkeit darstellt, die durch diesen Check-Node präsentierte Gleichung erfüllt ist, f) Übermitteln des im Verfahrensschritt e) geschätzten Wahrscheinlichkeitswerts von dem jeweiligen Check-Node zu allen Variable-Nodes innerhalb des Fensters, die durch Kanten mit diesem Check-Node verbunden sind, g) Schätzen der Bit-Werte, die den Variable-Nodes innerhalb des Fensters zugeordnet sind, h) wenn die geschätzten Bit-Werte die Parity-Check Gleichungen in der aktuellen Fensterposition erfüllen, Anhalten der Iteration innerhalb des Fensters und Anhalten des Verschiebens des Fensters, i) andernfalls Wiederholen der Verfahrensschritte c) bis h), bis eine maximale Anzahl an Iterationen Imax erreicht ist, j) Verschieben der Fensterposition.Method for recovering lost and / or damaged data received from a sending device ( 10 ) to a receiving device ( 12 ), the method comprising the steps of: encoding this data using an encoder ( 14 ) connected to the transmitting device ( 10 ) is connected using the parity check matrix of a low-density parity check convolutional code (LDPCCC), transmitting this data from the transmitting device ( 10 ) to the receiving device ( 12 ) via a transmission channel ( 18 ), and decoding this data using a decoder ( 16 ) connected to the receiving device ( 12 ), wherein lost and / or corrupted data is recovered during decoding by using the parity check matrix of the LDPCCC, wherein the decoding is performed according to the following steps: a) defining a relocatable window in the parity check matrix H of the LDPCCC, b) selecting all check nodes and variable nodes present in the selected window, c) calculating a variable node likelihood value for each variable node within the defined window, the variable node likelihood value being the likelihood represents that the bit value at this variable node is 1 and / or 0, d) transmitting the likelihood value estimated in step c) from the corresponding variable node to all check nodes within the window that are bounded by edges having that variable E) calculating a check-node probability value for each check-no de within the window, where the check-node probability value represents the probability that the equation presented by this check-node is satisfied, f) transmitting the likelihood value estimated in step e) from the respective check node to all variable nodes within the window connected by edges to that check node; g) estimating the bit values corresponding to the variable nodes within h) if the estimated bit values satisfy the parity check equations in the current window position, stopping the iteration within the window and pausing the movement of the window, i) otherwise repeating steps c) through h), to a maximum number of iterations I max is reached, j) moving the window position. Verfahren gemäß Anspruch 1, gekennzeichnet durch den vorgehenden Schritt: Definieren einer Fenstergröße WS, die die Anzahl an Zeilen der Parity-Check-Matrix innerhalb dieses Fensters wiedergibt.The method of claim 1, characterized by the preceding step of: defining a window size W S representing the number of lines of the parity check matrix within that window. Verfahren gemäß einem der Ansprüche 1 oder 2, gekennzeichnet durch den vorausgehenden Schritt: Definieren der maximalen Anzahl an Iterationen Imax für jede Fensterposition.Method according to one of claims 1 or 2, characterized by the preceding step: defining the maximum number of iterations I max for each window position. Verfahren nach einem der Ansprüche 1 bis 3, gekennzeichnet durch den vorausgehenden Schritt: Definieren der Anzahl der Wiederholungen IFB für die das verschiebbare Fenster rückwärts und vorwärts in der Parity-Check-Matrix bewegt wird.Method according to one of claims 1 to 3, characterized by the preceding step: defining the number of repetitions I FB for which the sliding window is moved backwards and forwards in the parity check matrix. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass ein protograph-basierter LDPCCC für das Codieren und Decodieren verwendet wird.Method according to one of claims 1 to 4, characterized in that a protograph-based LDPCCC is used for coding and decoding. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass ein protograph-basierter terminierter LDPCCC für das Codieren und Decodieren verwendet wird.Method according to one of claims 1 to 5, characterized in that a protograph-based terminated LDPCCC is used for coding and decoding. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass Daten von dem Sender zu dem Empfänger über einen Additive White Gaussian Noise (AWGN) Kanal übermittelt werden, sodass der Decodieralgorithmus in der Bitübertragungsschicht angewandt wird.Method according to one of Claims 1 to 6, characterized in that data is transmitted from the transmitter to the receiver via an Additive White Gaussian Noise (AWGN) channel, so that the decoding algorithm is applied in the physical layer. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der Wahrscheinlichkeitswert, der zwischen den Check-Nodes und den Variable-Nodes ausgetauscht wird, ein logarithmisches Wahrscheinlichkeitsverhältnis ist.Method according to one of claims 1 to 7, characterized in that the probability value exchanged between the check nodes and the variable nodes is a logarithmic probability ratio.
DE201210220334 2012-11-08 2012-11-08 Method for restoring lost and corrupted data transmitted from transmission apparatus to receiver, involves performing calculation-, transmission and stopping processes until number of iterations is reached such that window position is moved Active DE102012220334B3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201210220334 DE102012220334B3 (en) 2012-11-08 2012-11-08 Method for restoring lost and corrupted data transmitted from transmission apparatus to receiver, involves performing calculation-, transmission and stopping processes until number of iterations is reached such that window position is moved

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201210220334 DE102012220334B3 (en) 2012-11-08 2012-11-08 Method for restoring lost and corrupted data transmitted from transmission apparatus to receiver, involves performing calculation-, transmission and stopping processes until number of iterations is reached such that window position is moved

Publications (1)

Publication Number Publication Date
DE102012220334B3 true DE102012220334B3 (en) 2013-11-28

Family

ID=49547245

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201210220334 Active DE102012220334B3 (en) 2012-11-08 2012-11-08 Method for restoring lost and corrupted data transmitted from transmission apparatus to receiver, involves performing calculation-, transmission and stopping processes until number of iterations is reached such that window position is moved

Country Status (1)

Country Link
DE (1) DE102012220334B3 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014215015B3 (en) * 2014-07-30 2015-11-19 Deutsches Zentrum für Luft- und Raumfahrt e.V. Procedure for recovering lost and / or corrupted data
WO2016089157A1 (en) 2014-12-05 2016-06-09 Samsung Electronics Co., Ltd. Sc-ldpc codes for wireless communication systems
CN111865557A (en) * 2019-04-24 2020-10-30 杭州萤石软件有限公司 Check code generation method and device
EP3713096A4 (en) * 2017-11-15 2021-08-04 ZTE Corporation Method and device for decoding staircase code, and storage medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
N. ul Hassan, M. Lentmaier and G. Fettweis: "Comparison of LDPC Block and LDPC Convolutional Codes Based on their Decoding Latency". Proceedings of the 7th International Symposium on Turbo Codes & Related Topics (ISTC'12), Gothenburg, Sweden, 27.8. - 31.8.2012 *
N. ul Hassan, M. Lentmaier and G. Fettweis: „Comparison of LDPC Block and LDPC Convolutional Codes Based on their Decoding Latency". Proceedings of the 7th International Symposium on Turbo Codes & Related Topics (ISTC'12), Gothenburg, Sweden, 27.8. - 31.8.2012

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014215015B3 (en) * 2014-07-30 2015-11-19 Deutsches Zentrum für Luft- und Raumfahrt e.V. Procedure for recovering lost and / or corrupted data
WO2016089157A1 (en) 2014-12-05 2016-06-09 Samsung Electronics Co., Ltd. Sc-ldpc codes for wireless communication systems
KR20170092672A (en) * 2014-12-05 2017-08-11 삼성전자주식회사 Sc-ldpc codes for wireless communication systems
EP3228034A4 (en) * 2014-12-05 2018-01-03 Samsung Electronics Co., Ltd. Sc-ldpc codes for wireless communication systems
KR102539474B1 (en) * 2014-12-05 2023-06-02 삼성전자주식회사 Sc-ldpc codes for wireless communication systems
EP3713096A4 (en) * 2017-11-15 2021-08-04 ZTE Corporation Method and device for decoding staircase code, and storage medium
US11184034B2 (en) 2017-11-15 2021-11-23 Xi'an Zhongxing New Software Co., Ltd. Method and device for decoding staircase code, and storage medium
CN111865557A (en) * 2019-04-24 2020-10-30 杭州萤石软件有限公司 Check code generation method and device
CN111865557B (en) * 2019-04-24 2023-12-05 杭州萤石软件有限公司 Verification code generation method and device

Similar Documents

Publication Publication Date Title
DE60122200T2 (en) STOP CRITERIA FOR INTERACTIVE DECODING
DE602005003767T2 (en) METHOD FOR COMPRESSING A LOT OF CORRELED SIGNALS
DE60001988T2 (en) Turbo decoding with variable number of iterations
DE60113053T2 (en) Turbo decoder predecoder, for retrieving punctured parity symbols, and a method for recovering a turbo code
DE602005002815T2 (en) Method and apparatus for generating a low-density parity-check (LDPC) code
DE602004003324T2 (en) Method and apparatus for encoding Low Density Parity Check (LDPC) long and short block length codes
DE69936908T2 (en) ITERATIVE DECODING OF PRODUCT CODES
DE102012220334B3 (en) Method for restoring lost and corrupted data transmitted from transmission apparatus to receiver, involves performing calculation-, transmission and stopping processes until number of iterations is reached such that window position is moved
DE3910739A1 (en) METHOD FOR GENERATING THE VITERBI ALGORITHM
DE60211413T2 (en) Method and apparatus for optimizing the size of coded data blocks
DE102007035210A1 (en) Code e.g. convolution code, decoding method, involves evaluating value based on sum of transformed values of bit-to-test nodes-messages for bit nodes minus transformed values of bit-to-test nodes-messages for bit nodes and test nodes
DE102015110602A1 (en) Method and apparatus for iteratively decoding a data transfer structure
DE602005004863T2 (en) Method for puncturing LDPC channel codes
DE69908820T2 (en) FAST, MAXIMUM-A-POSTERIORI DECODING METHOD AND SYSTEM
DE102008061069A1 (en) Retransmission of incorrect data
DE10012873A1 (en) Turbo-decoder for turbo-coded data signals e.g. for mobile radio communications
Ul Hassan et al. Reduced complexity window decoding schedules for coupled LDPC codes
DE102014215015B3 (en) Procedure for recovering lost and / or corrupted data
DE102011056132B4 (en) Method and device for decoding data
DE102014204828B4 (en) Procedure for recovering lost and / or corrupted data
WO2001054286A1 (en) Method for decoding a data signal
DE102019200256B4 (en) Nesters
DE60209196T2 (en) Method and apparatus for optimizing, under power constraints, the size of coded data blocks
DE102012223040B3 (en) Method for restoring missing and/or damaged data transmitted from transmission device to receiving device in communication system, involves concatenating LDPC code with repetition code such that code word is multiplied with coefficient
DE102004053656B4 (en) Method for processing signals according to methods with block-based error protection codes

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

Effective date: 20140301