DE102011111835B4 - Procedure for recovering lost and / or damaged data - Google Patents
Procedure for recovering lost and / or damaged data Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims abstract description 17
- 230000001788 irregular Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 9
- 238000007476 Maximum Likelihood Methods 0.000 description 8
- 230000009897 systematic effect Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 241001136792 Alle Species 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6522—Intended application, e.g. transmission or communication standard
- H03M13/6541—DVB-H and DVB-M
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
- H03M13/036—Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1171—Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/118—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
- H03M13/1185—Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1191—Codes on graphs other than LDPC codes
- H03M13/1194—Repeat-accumulate [RA] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1191—Codes on graphs other than LDPC codes
- H03M13/1194—Repeat-accumulate [RA] codes
- H03M13/1197—Irregular repeat-accumulate [IRA] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding 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.
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.
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
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
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
Eine Darstellung eines Maximum-Likelihood-Verfahrens zum Decodieren findet sich in:
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. 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. 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. 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.
- 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. 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. 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.
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
-
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
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
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.
-
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.
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:
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:
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:
Zum besseren Verständnis ist in
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
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
- 20, 44, 57, 73, 100, 127
- 61, 85, 86, 87, 126, 127
- 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
Um einen Vergleich in
In
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
- 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)
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) |
-
2011
- 2011-08-27 DE DE102011111835.0A patent/DE102011111835B4/en not_active Expired - Fee Related
Non-Patent Citations (8)
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 |