DE102011111835B4 - Procedure for recovering lost and / or damaged data - Google Patents

Procedure for recovering lost and / or damaged data Download PDF

Info

Publication number
DE102011111835B4
DE102011111835B4 DE102011111835.0A DE102011111835A DE102011111835B4 DE 102011111835 B4 DE102011111835 B4 DE 102011111835B4 DE 102011111835 A DE102011111835 A DE 102011111835A DE 102011111835 B4 DE102011111835 B4 DE 102011111835B4
Authority
DE
Germany
Prior art keywords
data
code
codes
decoding
transmitting device
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
DE102011111835.0A
Other languages
German (de)
Other versions
DE102011111835A1 (en
Inventor
Balázs Matuz
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 DE102011111835.0A priority Critical patent/DE102011111835B4/en
Publication of DE102011111835A1 publication Critical patent/DE102011111835A1/en
Application granted granted Critical
Publication of DE102011111835B4 publication Critical patent/DE102011111835B4/en
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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6541DVB-H and DVB-M
    • 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • H03M13/1197Irregular repeat-accumulate [IRA] codes
    • 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

Verfahren zum Wiederherstellen verlorener und/ oder beschädigter Daten, die von einer Sendevorrichtung (10) an eine Empfangsvorrichtung (12) übertragen wurden, mit den Schritten:
Codieren der Daten durch einen mit der Sendevorrichtung (10) verbundenen Encoder (14) unter Verwendung eines Low-Density-Parity-Check-Verfahrens,
Übertragen der Daten von der Sendevorrichtung (10) an die Empfangsvorrichtung (12) über eine Übertragungsvorrichtung (18), und
Decodieren der Daten durch einen mit der Empfangsvorrichtung (12) verbundenen Decoder (16), wobei beim Decodieren verlorene und/ oder beschädigte Daten wiederhergestellt werden,
wobei das Decodieren durch das Lösen des Gleichungssystems der Parity-Check-Matrix H erfolgt,
dadurch gekennzeichnet, dass
zum Codieren der Daten ein Tail-Biting-Akkumulator verwendet wird, wobei der LDPC-Code ein Repeat-Accumulate-Code ist.

Figure DE102011111835B4_0000
A method of restoring lost and / or damaged data transmitted from a transmitting device (10) to a receiving device (12), comprising the steps of:
Encoding the data by an encoder (14) connected to the transmitting device (10) using a low-density parity check method,
Transmitting the data from the transmitting device (10) to the receiving device (12) via a transmitting device (18), and
Decoding the data by a decoder (16) connected to the receiving device (12), wherein lost and / or corrupted data is recovered during decoding,
the decoding takes place by solving the equation system of the parity check matrix H,
characterized in that
a tail-bail accumulator is used to encode the data, the LDPC code being a repeat accumulate code.
Figure DE102011111835B4_0000

Description

Die Erfindung betrifft ein Verfahren zum Wiederherstellen verlorener und/ oder beschädigter Daten, die von einer Sendevorrichtung an eine Empfangsvorrichtung übertragen werden.The invention relates to a method for restoring lost and / or damaged data transmitted from a transmitting device to a receiving device.

Bei den übertragenen Daten kann es sich beispielsweise um Audio- oder Videostreams handeln. Diese werden von einer Sendevorrichtung, die die Daten zur Verfügung stellt, beispielsweise an eine mobile Empfangsvorrichtung übermittelt. Bei der mobilen Empfangsvorrichtung kann es sich beispielsweise um ein Mobiltelefon, ein PDA oder ein anderes mobiles Endgerät handeln. Alternativ können auch Daten von einer Sendevorrichtung an eine stationäre Empfangsvorrichtung übertragen werden.The transmitted data may be, for example, audio or video streams. These are transmitted by a transmitting device, which provides the data, for example, to a mobile receiving device. The mobile receiving device may be, for example, a mobile phone, a PDA or another mobile terminal. Alternatively, data may also be transmitted from a transmitting device to a stationary receiving device.

Verwendete Standards zum Übertragen von Daten an mobile Endgeräte sind beispielsweise DVB-H, MBMS sowie in naher Zukunft DVB-SH.Used standards for transferring data to mobile devices include DVB-H, MBMS and DVB-SH in the near future.

Um eine gewünschte Übertragungsqualität zu sichern, ist es notwendig, die korrekte Übermittlung der Daten oder Datenpakete an die Empfangsvorrichtung zu überprüfen. Durch verschiedene Verfahren können verlorene und/ oder beschädigte Daten, die nicht korrekt an die Empfangsvorrichtung übertragen wurden, wiederhergestellt werden.In order to ensure a desired transmission quality, it is necessary to check the correct transmission of the data or data packets to the receiving device. Various methods can recover lost and / or corrupted data that has not been correctly transmitted to the receiving device.

Ein bekanntes Verfahren zum Wiederherstellen verlorener und/ oder beschädigter Daten ist das Low-Density-Parity-Check-Verfahren oder der Low-Density-Parity-Check-Code. Dieses wird auf einem sogenannten Erasure-Channel angewendet. Neben einer Anwendung durch Codieren auf der Ebene des Physical Layer existieren auch Anwendungen im Bereich eines Packet-Erasure-Channels (PEC).One known method of recovering lost and / or corrupted data is the low density parity check method or the low density parity check code. This is applied on a so-called erasure channel. Apart from an application by coding at the level of the physical layer, there are also applications in the area of a packet erasure channel (PEC).

In 1 ist die Wiederherstellung verlorener und/ oder beschädigter Daten gemäß dem Stand der Technik beispielhaft dargestellt. Es soll eine Anzahl von k Informationspaketen von einer Sendevorrichtung (linke Seite) an eine Empfangsvorrichtung (rechte Seite) übermittelt werden. Durch einen Packet-Level-Encoder auf der Sendeseite werden die k Info-Packets und die m Parity-Packets zu n = m + k Codeword-Packets zusammengesetzt. Auf der Ebene des Physical Layer sind die Pakete gesichert durch einen Fehlerkorrekturcode (beispielsweise einen Turbocode) und einen Fehlererkennungscode (beispielsweise durch einen Cyclic Redundancy Check, CRC), so dass beschädigte Pakete entfernt werden können. Auf den Ebenen oberhalb des Physical Layer werden Pakte entweder korrekt empfangen oder als verloren betrachtet, indem sie gelöscht werden, da der CRC im Physical Layer ein beschädigtes Paket erkannt hat. Der Übertragungskanal wird daher von dem darüber liegenden Schichten als ein sogenannter Erasure-Channel angesehen, wobei die Pakte die Übertragungseinheiten darstellen. Auf Empfängerseite werden die empfangenen Codeword-Packets durch den Packet-Level-Decoder decodiert, so dass die verlorenen und/ oder beschädigten Daten wiederhergestellt werden können.In 1 the restoration of lost and / or damaged data is exemplified in the prior art. A number of k information packets are to be transmitted from a transmitting device (left side) to a receiving device (right side). A packet level encoder on the sender side assembles the k info packets and the m parity packets into n = m + k codeword packets. At the physical layer level, the packets are backed up by an error correction code (eg, a turbo code) and an error detection code (eg, by a cyclic redundancy check, CRC) so that damaged packets can be removed. At the levels above the physical layer, packets are either received correctly or considered lost by being deleted because the CRC in the physical layer has detected a corrupted packet. The transmission channel is therefore considered by the overlying layers to be a so-called erasure channel, the packets representing the transmission units. At the receiver side, the received codeword packets are decoded by the packet level decoder so that the lost and / or corrupted data can be recovered.

Das Wiederherstellen verlorener und/ oder beschädigter Daten kann durch eine Redundanz der Daten realisiert werden. Der Encoding-Vorgang durch den Packet-Level-Encoder erfolgt üblicherweise bitweise (oder byteweise) durch Verwendung eines Encoders mit einem linearen Block-Code. Das Decodieren erfolgt anschließend durch Lösen des Gleichungssystems, das durch die Parity-Check-Matrix H des Codes definiert ist. Derartige Decoder, die auf der Gauß-Elimination basieren, zeigen mit zunehmender Blocklänge stark ansteigende Komplexität, so dass hohe Datenraten oft nicht erreicht werden können.The recovery of lost and / or damaged data can be realized by a redundancy of the data. The encoding process by the packet level encoder is usually done bitwise (or bytewise) by using an encoder with a linear block code. The decoding then takes place by solving the system of equations defined by the parity check matrix H of the code. Such decoders, which are based on the Gaussian elimination, show strongly increasing complexity with increasing block length, so that high data rates can often not be achieved.

Es ist aus dem Stand der Technik bekannt, im Rahmen von LDPC-Codes einen Akkumulator zu verwenden. Bei IRA-Codes beispielsweise hat der Akkumulator typischerweise eine Transferfunktion der Form 1/(1+D). Zum Codieren werden die Informationsbits in einem ersten Schritt im Encoder wiederholt. Die Wiederholungsrate kann entweder regulär oder irregulär sein. Dann wird ein Single-Parity-Check (SPC) auf eine Kombination einiger wiederholter Bits ausgeführt. Wenn lediglich ein Bit verwendet wird, ist ein SPC nicht erforderlich. Dies geschieht, bevor das Ergebnis dem Akkumulator zugeführt wird. Betrachtet man als Alternative die Parity-Check-Matrix Darstellung des Codes, so entspricht der Akkumulator dem Paritätsteil der Matrix, nämlich Hp, während die Wiederholung und die SPC-Operation dem Informationspart Hu entsprechen. Für einen Akkumulator mit der Transferfunktion 1/(1+D) weist Hp die typische Doppeldiagonalform auf.It is known in the art to use an accumulator within the scope of LDPC codes. For IRA codes, for example, the accumulator typically has a transfer function of the form 1 / (1 + D). For encoding, the information bits are repeated in a first step in the encoder. The repetition rate can be either regular or irregular. Then, a single parity check (SPC) is performed on a combination of several repeated bits. If only one bit is used then an SPC is not required. This happens before the result is fed to the accumulator. Considering the parity check matrix representation of the code as an alternative, the accumulator corresponds to the parity part of the matrix, namely H p , while the repetition and the SPC operation correspond to the information part H u . For an accumulator with the transfer function 1 / (1 + D) H p has the typical double diagonal form.

Nachdem das Codieren abgeschlossen ist, werden die kodierten Bits über einen Kanal an einen Empfänger übermittelt. Beispielsweise kann es sich hierbei um einen sogenannten Binary-Erasure-Channel handeln (p-ary für GF(p)). Dies bedeutet, dass einige Bits während der Übertragung mit der Auslöschwahrscheinlichkeit ε verloren gehen, während andere mit der Wahrscheinlichkeit (1-ε) empfangen werden. Anschließend wird das Decodieren durchgeführt. Beispielsweise kann ein Maximum-Likelihood (ML) Decoding durchgeführt werden, um die verlorengegangenen Bits wiederherzustellen. Um die Codeperformance herauszufinden, kann nun die Bit-Error-Rate (BER) oder alternativ die Codeword-Error-Rate (CER) am Ausgang des Decoders gemessen werden.After the encoding is completed, the coded bits are transmitted to a receiver via a channel. For example, this may be a so-called binary erasure channel (p-ary for GF (p)). This means that some bits are lost during the transmission with the probability of tripping ε, while others are received with the probability (1-ε). Subsequently, the decoding is performed. For example, maximum likelihood (ML) decoding can be performed to recover the lost bits. In order to find out the code performance, the bit error rate (BER) or alternatively the code word error rate (CER) at the output of the decoder can be measured.

Eine beispielhafte Darstellung eines solchen Systems ist in 3 gezeigt. Die beiden Zweige des Encoders entsprechen dem systematischen Part und den Paritätsbits. Für einen systematischen Code werden beide Arten von Bits übermittelt, während für einen nicht systematischen Code der systematische Part vernachlässigt wird.An exemplary representation of such a system is in 3 shown. The two branches of the encoder correspond to the systematic part and the parity bits. For a systematic code both types of bits are transmitted, while for a non-systematic code the systematic part is neglected.

Eine Darstellung eines Maximum-Likelihood-Verfahrens zum Decodieren findet sich in: E. Paolini, G. Liva, B. Matuz and M. Chiani, „Generalized IRA erasure correcting codes for hybrid Iterative/Maximum Likelihood decoding,“ vol. 12, no. 6, pp. 450-452, June 2008 .An illustration of a maximum likelihood method for decoding can be found in: E. Paolini, G. Liva, B. Matuz and M. Chiani, "Generalized IRA erasure correcting codes for hybrid iterative / maximum likelihood decoding," vol. 12, no. 6, pp. 450-452, June 2008 ,

Akkumulatorbasierte Codes, wie beispielsweise Irregular-Repeat-Accumulate (IRA) Codes und andere ähnliche Codes werden gemäß dem Stand der Technik in Kommunikationssystemen verwendet. Das hierbei angewandte Codedesign wird im Folgenden kurz skizziert:

  1. 1. Ermittlung der optimalen degree distributions. Dazu wird mit Hilfe von density evolution oder EXIT Analyse (o.ä.) der decoding threshold des Codeensembles bestimmt. Unter Verwendung von Optimierungsalgorithmen, wie beispielsweise differential evolution, werden stets neue degree distributions generiert (unter Beachtung best. Kriterien), wobei nach einer Vielzahl von Iterationen nur die besten Kandidaten übrig bleiben. Während der gesamten Analyse wird eine unendlich große Blocklänge angenommen.
  2. 2. Design der PCM des (n,k) Codes unter Berücksichtigung der degree distributions. Hier gibt es verschiedenen Ansätze, welche evtl. Zwischenschritte erfordern (z.B. bei protographs). Alle haben gemein, dass die optimale Platzierung der 0 und 1 unter Beachtung der degree distributions das Ziel ist, um kurze Schleifen in der PCM zu vermeiden (d.h. den girth des Graphen zu steigern). Typischerweise kommen hier Algorithmen wie ACE, PEG oder Ableitungen davon zum Einsatz. Zu beachten ist dabei, dass es Zwänge für die Platzierung der Einträge in bestimmten Teilen der PCM geben kann, wie z.b. bei Codes mit Akkumulator. Hier bestehet der Paritätsteil aus einer Doppeldiagonalen, der Informationsteil ist scheinbar unstrukturiert.
  3. 3. Koeffizientenbestimmung der PCM. Im Falle von nicht binären Codes, enthält die PCM nicht nur 0 und 1, aber statt den 1 Einträgen können beliebige Elemente aus GF(p)\{0} gewählt werden. Für eine gute Wahl gibt es verschiedene Algorithmen, die hier jedoch nicht erläutert werden.
Accumulator-based codes, such as Irregular Repeat Accumulate (IRA) codes and other similar codes, are used in communication systems according to the prior art. The applied code design is briefly outlined below:
  1. 1. Determination of the optimal degree distributions. For this purpose the decoding threshold of the code ensemble is determined with the help of density evolution or EXIT analysis (or similar). Using optimization algorithms, such as differential evolution, new degree distributions are always generated (using best criteria), leaving only the best candidates after a large number of iterations. Throughout the analysis, an infinite block length is assumed.
  2. 2. Design of the PCM of the (n, k) code considering the degree distributions. There are different approaches, which may require intermediate steps (eg protographs). All have in common that the optimal placement of the 0 and 1 with respect to the degree distributions is the goal to avoid short loops in the PCM (ie to increase the girth of the graph). Typically, algorithms such as ACE, PEG or derivatives thereof are used. It should be noted that there may be constraints for the placement of entries in certain parts of the PCM, such as codes with accumulator. Here the parity part consists of a double diagonal, the information part is apparently unstructured.
  3. 3. Coefficient determination of the PCM. In the case of non-binary codes, the PCM not only contains 0 and 1, but instead of the 1 entries, any elements of GF (p) \ {0} can be selected. For a good choice there are different algorithms, which are not explained here.

2 zeigt die Parity-Check-Matrix für einen binären (256, 128) IRA-Code. Die Punkte entsprechen den Einsen in der Matrix, Dabei entspricht der linke Teil der Parity-Check-Matrix (k Spalten) den k Informationsbits. Die rechten n-k Spalten entsprechen den n-k Paritätsbits. Hier wird im Fall von Codes mit Akkumulator eine feste Struktur angenommen (beispielsweise Doppeldiagonale im IRA-Beispiel). 2 shows the parity check matrix for a binary (256, 128) IRA code. The points correspond to the ones in the matrix, where the left part of the parity check matrix (k columns) corresponds to the k information bits. The right nk columns correspond to the nk parity bits. Here, in the case of codes with accumulator, a fixed structure is assumed (for example, double diagonal in the IRA example).

Weitere Codierverfahren, bei denen LDPC-Codes in unterschiedlicher Form verwendet werden, sind bekannt aus den folgenden Veröffentlichungen:

  • ANDRIYANOVA, I.; TILLICH, J.-P.: A family of non-binary TLDPC codes: density evolution, convergence and thresholds. In: IEEE Symposium on Information Theory, 2007, S. 1216-1220. - ISBN 978-1-4244-1397-3 .
  • KIENLE, F.; LEHNIGK-EMDEN, T.; WEHN, N.; Fast convergence algorithm for LDPC Codes. In: IEEE 63rd Vehicular Technology Conference, Vol. 5, 2006, S. 2393-2397. - ISBN 0-7803-9391-0 .
  • LIVA, G.; RYAN, W. E.; CHIANI, M.: Quasi-Cyclic Generalized LDPC Codes with Low Error Floors. In: IEEE Transactions on Communications, Vol. 56, 2008, No. 1, S. 49-57. ISSN: 0090-6778 . Aufgabe der Erfindung ist es, ein Verfahren zum Wiederherstellen verlorener und/oder beschädigter Daten bereitzustellen, das eine niedrigere Fehlerrate aufweist.
Other coding methods using LDPC codes in different forms are known from the following publications:
  • ANDRIYANOVA, I .; TILLICH, J.-P .: A family of non-binary TLDPC codes: density evolution, convergence and thresholds. In: IEEE Symposium on Information Theory, 2007, p. 1216-1220. - ISBN 978-1-4244-1397-3 ,
  • KIENLE, F .; LEHNIGK-EMDEN, T .; WEHN, N .; Fast convergence algorithm for LDPC codes. In: IEEE 63rd Vehicular Technology Conference, Vol. 5, 2006, pp. 2393-2397. - ISBN 0-7803-9391-0 ,
  • LIVA, G .; RYAN, WE; CHIANI, M .: Quasi-Cyclic Generalized LDPC Codes with Low Error Floors. In: IEEE Transactions on Communications, Vol. 56, 2008, no. 1, pp. 49-57. ISSN: 0090-6778 , The object of the invention is to provide a method for recovering lost and / or damaged data having a lower error rate.

Die Lösung der Aufgabe erfolgt erfindungsgemäß durch die Merkmale des Anspruchs 1.The object is achieved according to the invention by the features of claim 1.

In einem Verfahren zum Wiederherstellen verlorener und/ oder beschädigter Daten, die von einer Sendevorrichtung an eine Empfangsvorrichtung übertragen werden, erfolgt zunächst ein Codieren der Daten durch einen mit der Sendevorrichtung verbundenen Encoder. Hierbei kann es sich beispielsweise um einen Packet-Level-Encoder handeln. Die Daten werden von der Sendevorrichtung über eine Übertragungsvorrichtung an die Empfangsvorrichtung übertragen. Als Übertragungsvorrichtung im Sinne der Erfindung wird jegliche Vorrichtung verstanden, die eine Übertragung von Daten von der Sendevorrichtung an die Empfangsvorrichtung und/ oder umgekehrt ermöglicht. Beispielsweise kann die Übertragungsvorrichtung dadurch ausgebildet sein, dass ein mobiles Broadcasting-System (beispielsweise DVB-H oder MBMS) verwendet wird. Auch können die Daten beispielsweise über UMTS übermittelt werden.In a method for restoring lost and / or damaged data transmitted from a transmitting device to a receiving device, the data is first encoded by an encoder connected to the transmitting device. This may be, for example, a packet-level encoder. The data is transmitted from the transmitting device to the receiving device via a transmitting device. As a transmission device according to the invention is any Device understood that allows transmission of data from the transmitting device to the receiving device and / or vice versa. For example, the transmission device may be formed by using a mobile broadcasting system (for example, DVB-H or MBMS). The data can also be transmitted via UMTS, for example.

Durch einen mit der Empfangsvorrichtung verbundenen Decoder werden die übertragenen Daten unter Verwendung eines Low-Density-Parity-Check-Verfahrens decodiert, wobei beim Decodieren verlorene und/ oder beschädigte Daten wiederhergestellt werden.By means of a decoder connected to the receiving device, the transmitted data is decoded using a low-density parity-check method, whereby lost and / or damaged data are restored during decoding.

Das Dekodieren erfolgt durch das Lösen des Gleichungssystems der Parity-Check-Matrix H.The decoding is done by solving the equation system of the parity check matrix H.

Erfindungsgemäß wird zum Codieren der Daten ein Tail-Biting-Akkumulator verwendet.According to the invention, a tailbiting accumulator is used to encode the data.

Das erfindungsgemäße Verfahren erlaubt somit ein Codedesign, das eine Besonderheit akkumulatorbasierter LDPC-Codes berücksichtigt, die im Stand der Technik bisher außer Acht gelassen wurde. Ein Input mit einem niedrigen Gewicht am Akkumulator führt zu Ausgangssequenzen mit einem ebenfalls niedrigen Gewicht. Diese können ein hohes Fehlerlevel verursachen. Solche Sequenzen können durch das erfindungsgemäße Codedesign eliminiert werden.The method according to the invention thus permits a code design which takes into account a special feature of accumulator-based LDPC codes which has hitherto been disregarded in the prior art. An input with a low weight on the accumulator leads to output sequences with a likewise low weight. These can cause a high level of error. Such sequences can be eliminated by the code design according to the invention.

Obwohl Tail-Biting-Akkumulatoren aus dem Stand der Technik bekannt sind, wurden sie bisher lediglich im Kontext von Convolutional-Codes untersucht. Eine Betrachtung von akkumulatorbasierten LDPC-Codes, bei denen ein Tail-Biting-Akkumulator verwendet wird, hat bisher noch nicht stattgefunden. Ausführliche Berechnungen und Simulationsreihen der Anmelderin haben gezeigt, dass die erfindungsgemäße Verwendung eines Tail-Biting-Akkumulators in einem LDPC-Code zu einer Verbesserung der Codeperformance führt. Dies wird in der vorliegenden Anmeldung im Weiteren dargestellt.Although tail-biting accumulators are known in the art, so far they have only been studied in the context of convolutional codes. Consideration of accumulator-based LDPC codes using a tailbiting accumulator has not yet taken place. Applicants' extensive calculations and simulation series have shown that the use according to the invention of a tailbiting accumulator in an LDPC code leads to an improvement in the code performance. This is illustrated in the present application hereinafter.

Das erfindungsgemäße Verfahren ist besonders interessant für kurze Blocklängen und Galois-Felder höherer Ordnung. Allerdings kann für größere Blocklängen und einem Galois-Feld von 2 ebenfalls eine Verbesserung beobachtet werden.The method according to the invention is particularly interesting for short block lengths and higher order Galois fields. However, for larger block lengths and a Galois field of 2, an improvement can also be observed.

Es ist bevorzugt, dass der Eintrag in der ersten Zeile der letzten Spalte der Parity-Check-Matrix, die zum Codieren und Decodieren verwendet wird, auf einen Wert ≠0 gesetzt wird. Dies entspricht der üblichen Funktionsweise eines Tail-Biting-Akkumulators.It is preferable that the entry in the first row of the last column of the parity check matrix used for coding and decoding is set to a value of ≠ 0. This is the usual operation of a tail-billing accumulator.

Weiterhin ist es bevorzugt, dass die Einträge in der Parity-Check-Matrix einem Galois-Feld der Ordnung >2 entnommen sind. Dies bedeutet, dass der verwendete LDPC-Code ein nicht binärer LDPC-Code ist.Furthermore, it is preferred that the entries in the parity check matrix are taken from a Galois field of order> 2. This means that the LDPC code used is a non-binary LDPC code.

Weiterhin ist es erfindungsgemäß vorgesehen, dass der LDPC-Code ein Repeat-Accumulate und bevorzugt ein Irregular-Repeat-Accumulate-Code ist.Furthermore, it is provided according to the invention that the LDPC code is a repeat accumulate and preferably an irregular repeat accumulate code.

Im Folgenden werden bevorzugte Ausführungsformen der Erfindung anhand von Figuren erläutert.In the following, preferred embodiments of the invention will be explained with reference to figures.

Es zeigen:

  • 1 einen Ablaufplan der Datenübertragung zwischen einer Sendevorrichtung und einer Empfangsvorrichtung, wie sie auch im erfindungsgemäßen Verfahren stattfinden kann,
  • 2 eine Parity-Check-Matrix eines binären IRA-Codes, 3 eine schematische Ansicht eines Akkumulators, der in einem Encoder verwendet wird,
  • 4 eine Darstellung der Funktionsweise eines Repeat-Accumulator-Codes,
  • 5-8: Darstellungen der Performance eines Codes gemäß dem erfindungsgemäßen Verfahren, und
  • 9 eine Darstellung durchschnittlicher Codewortgewichte für einen RA-Code.
Show it:
  • 1 a flowchart of the data transmission between a transmitting device and a receiving device, as may also take place in the method according to the invention,
  • 2 a parity check matrix of a binary IRA code, 3 a schematic view of a rechargeable battery used in an encoder
  • 4 a representation of the operation of a repeat accumulator code,
  • 5-8 : Representations of the performance of a code according to the inventive method, and
  • 9 a representation of average codeword weights for an RA code.

1 bis 3 wurden bereits in Zusammenhang mit dem Stand der Technik erläutert. 1 to 3 have already been explained in connection with the prior art.

Wie bereits dargestellt, sollen durch das erfindungsgemäße Verfahren Codewörter mit einem niedrigen Gewicht vermieden werden, da sie ein hohes Fehlerlevel verursachen. Die Schritte zum Codedesign können somit folgendermaßen stattfinden:As already stated, the method according to the invention is intended to avoid codewords having a low weight since they cause a high level of error. The steps to code design can thus take place as follows:

Zunächst können Standardcodedesigntechniken angewandt werden, die Eingangs beschrieben wurden und aus dem Stand der Technik bekannt sind, um den gewünschten akkumulatorbasierten LDPC-Code zu erhalten. Anschließend werden die Fehlermuster mit den niedrigsten Gewichten des entworfenen Codes geschätzt. Dies kann beispielsweise durch Monte-Carlo-Simulation oder anderen Techniken geschehen, die aus dem Stand der Technik bekannt sind. Sofern das letzte Paritätsbit in diesem Fehlermuster mit dem niedrigsten Gewicht involviert ist (nämlich der letzte Eintrag in der Doppeldiagonalen), wird ein Tail-Biting-Akkumulator eingeführt. Andernfalls wird das Standardcodedesign gemäß dem Stand der Technik beibehalten. First, standard code design techniques described at the beginning and known in the art to obtain the desired accumulator-based LDPC code can be used. Subsequently, the error patterns with the lowest weights of the designed code are estimated. This can be done, for example, by Monte Carlo simulation or other techniques known in the art. If the last parity bit in this lowest-weight error pattern is involved (namely, the last entry in the double diagonal), a tail-biting accumulator is introduced. Otherwise, the standard code design according to the prior art is maintained.

Für einen Tail-Biting-Akkumulator müssen der Anfangsstatus und der Endstatus identisch sein. Beispielsweise beschränkt dies die Eingangssequenzen auf gerade Gewichte. Dies bedeutet, dass in den Eingangswörtern eine gerade Anzahl an Einsen vorhanden sein muss. Es ist intuitiv erkennbar, dass sich die Performance des Codes verbessern wird, wenn die Ausgangssequenzen mit dem niedrigsten Gewicht vermieden werden können. Dies gilt nur für den binären Fall.For a tail-billing accumulator, the initial status and the final status must be identical. For example, this limits the input sequences to even weights. This means that there must be an even number of ones in the input words. It is intuitively recognizable that the performance of the code will improve if the lowest weight output sequences can be avoided. This only applies to the binary case.

Im Folgenden wird zunächst mathematisch nachgewiesen, warum ein Tail-Biting-Akkumulator eine bessere Performance bietet, als ein Akkumulator ohne Tail-Biting. Dies wurde bisher für akkumumlatorbasierte LDPC-Codes nicht nachgewiesen. Die genannten Vorteile der Erfindung bei LDPC-Codes sind somit bisher nicht bekannt gewesen. Im vorliegenden Zusammenhang wird ein einfacher nicht systematischer Repeat-Accumulate-Code verwendet, wie er in der folgenden Veröffentlichung beschrieben ist: H. Jin, D. Khandekar, and R.J. McEliece, „RA codes achieve AWGN channel capacity,“ in Proceedings of the 13th International Symposium on Applied Algebra, Algebraic Algorithms and Error-Correcting Codes, ser. AAECC-13. London, UK: Springer-Verlag, 1999, pp. 10-18 . Für den Repeat-Accumulate-Fall wird der Informationsteil der Länge k q Mal wiederholt. Dann werden die Bits gescrambled und dem Akkumulator zugeführt. Der Ausgang sind n=qk Code Bits. Eine Übersicht ist in 4 dargestellt.In the following, it will first be mathematically demonstrated why a tailbiting accumulator offers better performance than a accumulator without tailbiting. This has not previously been demonstrated for accumulator-based LDPC codes. The stated advantages of the invention in LDPC codes have thus far not been known. As used herein, a simple non-systematic repeat accumulate code is used, as described in the following publication: H. Jin, D. Khandekar, and RJ McEliece, "RA codes achieve AWGN channel capacity," in Proceedings of the 13th International Symposium on Applied Algebra, Algebraic Algorithms and Error-Correcting Codes, ser. AAECC-13th London, UK: Springer-Verlag, 1999, pp. 10-18 , For the repeat-accumulate case, the information part of length kq is repeated once. Then the bits are scrambled and fed to the accumulator. The output are n = qk code bits. An overview is in 4 shown.

Um eine Schätzung der Block-Error-Wahrscheinlichkeit unter Maximum-Likelihood-Decoding zu erhalten, werden die bekannten Input-Output-Weight-Enumerator (IOWE) Koeffizienten Ai,w des Codes benötigt. Ai,w gibt die Anzahl an Codewörtern mit dem Gewicht w an, die den Eingangssequenzen mit dem Gewicht i zugeordnet sind. Um die Analyse einfacher zu gestalten, wurde der Fokus auf alle möglichen (n, k) Codes gelegt, die durch alle möglichen Interleaver-Konflgurationen gegeben sind. Informationen zu den folgenden Berechnungen können der letztgenannten Druckschrift sowie der folgenden Druckschrift entnommen werden: D. Divsalar, H. Jin, and R.J. McEliece, „Coding theorems for turbolike codes,“ in Proc. 36th Allerton Conf. on Communication, Control and Computing, Allerton, Illinois, September 1998, pp. 201-210.In order to obtain an estimate of the block error probability under maximum likelihood decoding, the known input-output-weight-enumerator (IOWE) coefficients A i, w of the code are needed. A i, w indicates the number of codewords of weight w associated with the input sequences of weight i. To simplify the analysis, the focus has been placed on all the possible (n, k) codes given by all possible interleaver convocations. Information on the following calculations can be found in the latter reference and in the following: D. Divsalar, H. Jin, and RJ McEliece, "Coding theorems for turbocharger codes," in Proc. 36th Allerton Conf. on Communication, Control and Computing, Allerton, Ill., September 1998, pp. 201-210.

Aus dieser Literatur ist bekannt, dass die IOWE-Koeffizienten des Repeat-Accumulate-Code Ensembles gegeben sind durch: A i , w R A = ( k j ) ( q k w q i / 2 ) ( w 1 q i / 2 1 ) ( q k q i )

Figure DE102011111835B4_0001
From this literature it is known that the IOWE coefficients of the repeat-accumulate-code ensembles are given by: A i . w R A = ( k j ) ( q k - w q i / 2 ) ( w - 1 q i / 2 - 1 ) ( q k q i )
Figure DE102011111835B4_0001

In einem weiteren Schritt, der aus dem genannten Stand der Technik nicht mehr bekannt ist, kann nun gezeigt werden, dass die IOWE-Koeffizienten für das RA-Codeensemble mit Tail-Biting sind: A i , w R A T B = [ ( k i ) ( q k w q i / 2 ) ( w 1 q i / 2 1 ) + ( w q i / 2 ) ( q k w 1 q i / 2 1 ) ] q k q i

Figure DE102011111835B4_0002
i ist hierbei auf gerade Werte beschränkt.In a further step, which is no longer known from the cited prior art, it can now be shown that the IOWE coefficients for the RA code ensemble with tail-biting are: A i . w R A T B = [ ( k i ) ( q k - w q i / 2 ) ( w - 1 q i / 2 - 1 ) + ( w q i / 2 ) ( q k - w - 1 q i / 2 - 1 ) ] q k q i
Figure DE102011111835B4_0002
i is limited to even values.

Zum besseren Verständnis ist in 9 die Verteilung der durchschnittlichen Gewichte für RA-Codeensembles mit und ohne Tail-Biting dargestellt. In dem Kasten auf der linken Seite findet sich hierbei eine vergrößerte Darstellung der Codewörter mit einem niedrigen Gewicht. Es ist erkennbar, dass durch das erfindungsgemäße Verfahren mit Tail-Biting die Anzahl der Codewörter mit einem niedrigen Gewicht verringert werden kann, während die Anzahl der Codewörter mit einem großen Gewicht leicht erhöht wird.For better understanding is in 9 the distribution of the average weights for RA code ensembles with and without tail-biting. In the box on the left side there is an enlarged representation of the codewords with a low weight. It can be seen that the tail bit biting method of the present invention can reduce the number of low-weight codewords while slightly increasing the number of codewords having a large weight.

Basierend auf den oben dargestellten Berechnungen kann die durchschnittliche Performance (CER) für Repeat-Accumlate-Codeensembles mit und ohne Tail-Biting bestimmt werden. Für einen sehr kurzen systematischen (24,4) RA-Code führt dies zu den Ergebnissen, die in 5 dargestellt sind. Hier ist die theoretische Ensembleperformance für RA-Codes mit und ohne Tail-Biting mit dem bekannten Union-Bound (UB) dargestellt. Simulationsergebnisse der durchschnittlichen CER für jeweils 10 verschiedene RA-Codes mit und ohne Tail-Biting sind ebenfalls dargestellt. Es wurde ein Maximum-Likelihood Decoding und eine Übermittlung über einen Binary-Erasure-Channel angenommen. Wie erkennbar ist, decken sich die theoretischen Grenzen, die auf den o.g. Formeln basieren mit den Simulationsergebnissen. Auch ist erkennbar, dass Tail-Biting Vorteile gegenüber dem Fall ohne Tail-Biting bietet. Based on the calculations above, the average performance (CER) for repeat accumlate code ensembles with and without tail-biting can be determined. For a very short systematic (24.4) RA code, this leads to the results found in 5 are shown. Here is the theoretical ensemble performance for RA codes with and without tail-biting with the well-known Union-Bound (UB). Simulation results of the average CER for every 10 different RA codes with and without tail-biting are also shown. Maximum likelihood decoding and transmission over a binary erasure channel was assumed. As can be seen, the theoretical limits based on the above formulas coincide with the simulation results. It can also be seen that tail-biting offers advantages over the case without tail-biting.

Es wurde somit der formale Beweis dafür erbracht, dass RA-Codes mit Tail-Biting eine bessere durchschnittliche Performance liefern als RA-Codes ohne Tail-Biting. Obwohl dies nicht nachgewiesen wurde, ist davon auszugehen, dass dieses Verhalten auch bei anderen akkumulatorbasierten LDPC-Codes, wie beispielsweise IRA-Codes, zu beobachten sein wird.Thus, formal proof has been provided that RA codes with tail biting provide better average performance than RA codes without tail biting. Although this has not been proven, it is expected that this behavior will also be observed in other accumulator-based LDPC codes, such as IRA codes.

In einem konkreten Simulationsbeispiel wurde ein binärer IRA-Code gemäß den Standarddesignkriterien, die oben beschrieben wurden, konstruiert. Die Codelänge n wurde auf 128 festgesetzt, die Informationslänge k auf 64 Bits. Es wurden Simulationen mit Maximum-Likelihood Decoding auf dem Binary-Erasure-Channel durchgeführt. Die Ergebnisse sind in 6 dargestellt. Wenn man die Fehlermuster mit dem niedrigsten Gewicht analysiert, die ein Versagen des Decodieralgorithmus verursachen, lassen sich zwei verschiedene Fehlermuster mit einem Gewicht von 6 identifizieren, die jeweils das letzte Code-Bit (nämlich das Bit 127, da die Nummerierung mit 0 anfängt) beinhalten. Die Fehlermuster oder genauer gesagt die Indizes der ausgelöschten Code-Bits, die für das Versagen des Decoders verantwortlich sind, sind:

  • 20, 44, 57, 73, 100, 127
  • 61, 85, 86, 87, 126, 127
In a concrete simulation example, a binary IRA code was constructed according to the standard design criteria described above. The code length n was set to 128, the information length k to 64 bits. Simulations with maximum-likelihood decoding were performed on the binary erasure channel. The results are in 6 shown. By analyzing the lowest weight error patterns that cause the decoding algorithm to fail, two different error patterns with a weight of 6 can be identified, each containing the last code bit (namely, bit 127, since the numbering starts at 0) , The error patterns, or more precisely the indices of the erased code bits which are responsible for the failure of the decoder, are:
  • 20, 44, 57, 73, 100, 127
  • 61, 85, 86, 87, 126, 127

Um diese Fehlermuster zu vermeiden, wurde das Codedesign gemäß der dargestellten Erfindung modifiziert. Wenn somit ein Tail-Biting-Akkumulator verwendet wird, ist der Maximum-Likelihood Decoder in der Lage, diese Fehlermuster zu decodieren, so dass die verbesserten Ergebnisse, die in 7 dargestellt sind, erreicht werden können. Anders ausgedrückt, können unter der Verwendung von Tail-Biting die dargestellten Fehlermuster decodiert werden, weil das letzte Bit zusätzlich noch in der ersten Gleichung der Parity-Check-Matrix vorkommt, da in dieser Gleichung (1. Zeile, letzte Spalte der Parity-Check-Matrix) eine zusätzliche 1 eingefügt wurde.To avoid these error patterns, the code design has been modified according to the illustrated invention. Thus, if a tail-biting accumulator is used, the maximum-likelihood decoder is able to decode these error patterns, so that the improved results found in FIG 7 are shown can be achieved. In other words, using tail-bititing, the error patterns shown can be decoded because the last bit additionally occurs in the first equation of the parity-check matrix, since in this equation (1st row, last column the parity check Matrix) an additional 1 has been inserted.

Um einen Vergleich in 7 einfacher zu gestalten, wurde die CER-Kurve für den Fall ohne Tail-Biting aus 6 nochmals dargestellt. Hinsichtlich einer Verbesserung aufgrund des Tail-Biting ist erkennbar, dass für eine Auslöschungswahrscheinlichkeit von 0,15 die CER für das Standardcodedesign 3e-5 beträgt, während die für einen Akkumulator mit Tail-Biting 4e-6 beträgt. Es können somit aufgrund des erfindungsgemäßen Verfahrens signifikante Verbesserungen der Codeperformance erreicht werden. Hierbei sollte allerdings berücksichtigt werden, dass kurze akkumulatorbasierte LDPC-Codes größere Vorteile bei der Verwendung eines Tail-Biting-Akkumulators aufweisen.To make a comparison in 7 To make things easier, the CER curve was designed for the case without tail-biting 6 shown again. In terms of tail bit biting improvement, it can be seen that for a default probability of 0.15, the CER for standard code design is 3e-5, while that for a tail-bit accumulator is 4e-6. It can thus be achieved due to the inventive method significant improvements in the code performance. However, it should be noted that short accumulator-based LDPC codes have greater advantages when using a tail-billing accumulator.

In 8 ist die Performance von IRA-Codes mit und ohne Tail-Biting auf einem Galois-Feld der Größe p=256 dargestellt. Der Kanal ist nunmehr kein Binary-Erasure-Channel mehr, sondern ein p-ary-Erasure-Channel. Dies bedeutet, dass im Gegensatz zum binären Fall, hier GF (p) Symbole mit einer Wahrscheinlichkeit von ε ausgelöscht werden. Besonders zu beachten ist der Unterschied zwischen den beiden Kurven für niedrige ε.In 8th is the performance of IRA codes with and without tail-biting on a Galois field of size p = 256. The channel is no longer a binary erasure channel, but a p-ary erasure channel. This means that in contrast to the binary case, here GF (p) symbols are canceled with a probability of ε. Of particular note is the difference between the two curves for low ε.

Der Unterschied zwischen den beiden Kurven lässt sich wieder anhand des Codespektrums erklären. Bei näherer Betrachtung der error patterns (nach dem Decodieren) lässt sich folgendes beobachten:

  • Für IRA Codes ohne TB hat wurden folgende Fehlermuster gefunden, die für den Leistungsabfall verantwortlich sind (alle mit Gewicht 12):
    • : 16 : 58 :109 :119 :120 :121 :122 :123 :124 :125 :126 :127
    • : 13 : 21 : 40 : 58 : 97 : 98 : 99 :117 :118 :121 :126 :127
    • : 14 : 26 : 46 : 69 : 88 : 89 :114 :123 :124 :125 :126 :127
  • Für IRA Codes mit TB hat wurden folgende Fehlermuster gefunden, (alle mit Gewicht 15):
    • : 13 : 16 : 21 : 58 : 98 : 99 :109 :119 :120 :121 :122 :123 :124 :125 :126
    • : 7 : 17 : 18 : 42 : 66 : 67 : 76 : 77 : 78 : 79 : 80 : 81 : 82 : 83 : 84
The difference between the two curves can be explained again using the code spectrum. A closer look at the error patterns (after decoding) shows the following:
  • For IRA codes without TB, the following error patterns were found, which are responsible for the performance drop (all with weight 12):
    • : 16: 58: 109: 119: 120: 121: 122: 123: 124: 125: 126: 127
    • : 13: 21: 40: 58: 97: 98: 99: 117: 118: 121: 126: 127
    • : 14: 26: 46: 69: 88: 89: 114: 123: 124: 125: 126: 127
  • For IRA codes with TB the following error patterns were found (all with weight 15):
    • : 13: 16: 21: 58: 98: 99: 109: 119: 120: 121: 122: 123: 124: 125: 126
    • : 7: 17: 18: 42: 66: 67: 76: 77: 78: 79: 80: 81: 82: 83: 84

Bei ersteren ist immer Bit 127 beteiligt. Durch Anwenden von TB können diese Fehlermuster wieder vom Decoder korrigiert werden. Beim letzteren ist Bit 127 nicht beteiligt (bedingt durch TB Konstruktion).For the former, bit 127 is always involved. By applying TB, these error patterns can be corrected again by the decoder. In the latter case, bit 127 is not involved (due to TB construction).

Es bleibt festzuhalten, dass ohne TB Code einen eingebauten Defekt hat, da das letzte Paritätsbit unzureichend geschützt ist. Dadurch entsteht ein errorfloor, der v.a. bei kurzen Blocklängen und höheren GFs sichtbar ist.It should be noted that without TB code has a built-in defect, since the last parity bit is insufficiently protected. This creates an errorfloor, the v.a. is visible at short block lengths and higher GFs.

Das erfindungsgemäße Verfahren kann in allen kabellosen und kabelgebundenen Übertragungssystemen verwendet werden. Besonders bevorzugt ist eine Verwendung bei kurzen Codes, da hier die größte Verbesserung der Performance erwartet werden kann.The inventive method can be used in all wireless and wired transmission systems. Particularly preferred is a use with short codes, since the greatest improvement in performance can be expected here.

Claims (4)

Verfahren zum Wiederherstellen verlorener und/ oder beschädigter Daten, die von einer Sendevorrichtung (10) an eine Empfangsvorrichtung (12) übertragen wurden, mit den Schritten: Codieren der Daten durch einen mit der Sendevorrichtung (10) verbundenen Encoder (14) unter Verwendung eines Low-Density-Parity-Check-Verfahrens, Übertragen der Daten von der Sendevorrichtung (10) an die Empfangsvorrichtung (12) über eine Übertragungsvorrichtung (18), und Decodieren der Daten durch einen mit der Empfangsvorrichtung (12) verbundenen Decoder (16), wobei beim Decodieren verlorene und/ oder beschädigte Daten wiederhergestellt werden, wobei das Decodieren durch das Lösen des Gleichungssystems der Parity-Check-Matrix H erfolgt, dadurch gekennzeichnet, dass zum Codieren der Daten ein Tail-Biting-Akkumulator verwendet wird, wobei der LDPC-Code ein Repeat-Accumulate-Code ist.A method for recovering lost and / or damaged data transmitted from a transmitting device (10) to a receiving device (12), comprising the steps of: encoding the data by an encoder (14) connected to the transmitting device (10) using a low Density parity check method, transmitting the data from the transmitting device (10) to the receiving device (12) via a transmitting device (18), and decoding the data by a decoder (16) connected to the receiving device (12) when decoding lost and / or damaged data are recovered, wherein the decoding is done by solving the equation system of the parity check matrix H, characterized in that a tail-billing accumulator is used to encode the data, wherein the LDPC code is a repeat accumulate code. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der LDPC-Code ein Irregular-Repeat-Accumulate-Code ist.Method according to Claim 1 , characterized in that the LDPC code is an irregular repeat accumulate code. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Eintrag in der ersten Zeile der letzten Spalte der Parity-Check-Matrix auf einen Wert ungleich null gesetzt wird.Method according to Claim 1 or 2 , characterized in that the entry in the first row of the last column of the parity check matrix is set to a non-zero value. Verfahren nach Anspruch 1 bis 3, dadurch gekennzeichnet, dass die Einträge in der Parity-Check-Matrix einem Galois-Feld der Ordnung >2 entnommen sind.Method according to Claim 1 to 3 , characterized in that the entries in the parity check matrix are taken from a Galois field of order> 2.
DE102011111835.0A 2011-08-27 2011-08-27 Procedure for recovering lost and / or damaged data Expired - Fee Related DE102011111835B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102011111835.0A DE102011111835B4 (en) 2011-08-27 2011-08-27 Procedure for recovering lost and / or damaged data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102011111835.0A DE102011111835B4 (en) 2011-08-27 2011-08-27 Procedure for recovering lost and / or damaged data

Publications (2)

Publication Number Publication Date
DE102011111835A1 DE102011111835A1 (en) 2013-02-28
DE102011111835B4 true DE102011111835B4 (en) 2019-12-05

Family

ID=47665180

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011111835.0A Expired - Fee Related DE102011111835B4 (en) 2011-08-27 2011-08-27 Procedure for recovering lost and / or damaged data

Country Status (1)

Country Link
DE (1) DE102011111835B4 (en)

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
ANDRIYANOVA, I.; TILLICH, J.-P.: A family of non-binary TLDPC codes: density evo-lution, convergence and thresholds. In: IEEE Symposium on Information Theory, 2007, S. 1216-1220. – ISBN 978-1-4244-1397-3 *
ANDRIYANOVA, I.; TILLICH, J.-P.: A family of non-binary TLDPC codes: density evolution, convergence and thresholds. In: IEEE Symposium on Information Theory, 2007, S. 1216-1220. - ISBN 978-1-4244-1397-3
E. Paolini, G. Liva, B. Matuz and M. Chiani, „Generalized IRA erasure correcting codes for hybrid Iterative/Maximum Likelihood decoding," vol. 12, no. 6, pp. 450-452, June 2008
H. Jin, D. Khandekar, and R.J. McEliece, „RA codes achieve AWGN channel capacity," in Proceedings of the 13th International Symposium on Applied Algebra, Algebraic Algorithms and Error-Correcting Codes, ser. AAECC-13. London, UK: Springer-Verlag, 1999, pp. 10-18
KIENLE, F.; LEHNIGK-EMDEN, T.; WEHN, N.: Fast convergence algorithm fpr LDPC Codes. In: IEEE 63rd Vehicular Technology Conference, Vol. 5, 2006, S. 2393-2397. – ISBN 0-7803-9391-0 *
KIENLE, F.; LEHNIGK-EMDEN, T.; WEHN, N.; Fast convergence algorithm for LDPC Codes. In: IEEE 63rd Vehicular Technology Conference, Vol. 5, 2006, S. 2393-2397. - ISBN 0-7803-9391-0
LIVA, G.; RYAN, W. E.; CHIANI, M.: Quasi-Cyclic Generalized LDPC Codes with Low Error Floors. In: IEEE Transactions on Communications, Vol. 56, 2008, No. 1, S. 49-57. ISSN: 0090-6778
LIVA, G.; RYAN, W. E.; CHIANI, M.: Quasi-Cyclic Generalized LDPC Codes with Low Error Floors. In: IEEE Transactions on Communications. Vol. 56, 2008, No. 1, S. 49-57. – ISSN 0090-6778 *

Also Published As

Publication number Publication date
DE102011111835A1 (en) 2013-02-28

Similar Documents

Publication Publication Date Title
DE102009017540B4 (en) Procedure for recovering lost and / or damaged data
DE102017110389B4 (en) Method and decoder for soft input decoding of generalized chained codes
DE102010035210B4 (en) Method for recovering lost data and correcting corrupted data
DE602005004863T2 (en) Method for puncturing LDPC channel codes
DE102017216264B4 (en) Decoding method
DE102008061069A1 (en) Retransmission of incorrect data
DE102011111835B4 (en) Procedure for recovering lost and / or damaged data
DE102013201422B3 (en) Method for restoring lost and/or damaged data transmitted from transmitting device to receiving device, involves replacing current entry of LDPC parity check matrix with entry of Galois field until entry in matrix is modified
DE102013218311B4 (en) Procedure for recovering lost and / or damaged data
DE102014208996B3 (en) Procedure for recovering lost and / or corrupted data
DE102013213778B3 (en) A method for transmitting a message from a transmitter to a receiver via a communication medium by means of packet-level coding
DE102016201408B4 (en) Method for transmitting data
DE102008040797B4 (en) Method for receiving a data block
DE102011102503B3 (en) Method for correcting corrupted data, involves generating tanner graph as representation of parity check-matrix of linear block code, and setting all variable nodes of tanner graph in unverified status
DE102014216143B4 (en) Procedure for recovering lost and / or corrupted data
DE102016222007B4 (en) Method for transmitting data
DE102014214451B4 (en) Procedure for recovering lost and / or corrupted data
DE102014215478B4 (en) Method for transmitting data
DE102019200256A1 (en) Nesters
DE102013223413B4 (en) Procedure for recovering lost and / or corrupted data
DE102013223801B4 (en) Procedure for recovering lost and / or corrupted data
DE102011115100B3 (en) Method for restoring lost and/or corrupted data, involves fragmenting output symbols of encoder to fit frame in physical layer, such that received fragments are set as output symbols of parallel encoders
DE102014210955B4 (en) Procedure for recovering lost and / or corrupted data
DE102010029113A1 (en) Method for channel encoding of digital data in transmission system, involves determining random linear combination of code symbols by combining code symbols of block code and linear random fountain code
WO2005034413A1 (en) Method and device for decoding transmitted coded data packets by means of packet oriented data transmission networks and method and device for coding and decoding data packets which are to be transmitted by means of packet oriented data transmission networks

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee