DE102011103564B3 - Method for recovery of lost and/or corrupted data transmitted from transmitter to receiver, involves creating new linear block code and parity check matrix using algorithm by generating random vector permutation - Google Patents

Method for recovery of lost and/or corrupted data transmitted from transmitter to receiver, involves creating new linear block code and parity check matrix using algorithm by generating random vector permutation Download PDF

Info

Publication number
DE102011103564B3
DE102011103564B3 DE201110103564 DE102011103564A DE102011103564B3 DE 102011103564 B3 DE102011103564 B3 DE 102011103564B3 DE 201110103564 DE201110103564 DE 201110103564 DE 102011103564 A DE102011103564 A DE 102011103564A DE 102011103564 B3 DE102011103564 B3 DE 102011103564B3
Authority
DE
Germany
Prior art keywords
code
check matrix
parity check
linear block
block code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE201110103564
Other languages
German (de)
Inventor
Dr. Ing. Liva Gianluigi
Paola Pulini
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 DE201110103564 priority Critical patent/DE102011103564B3/en
Application granted granted Critical
Publication of DE102011103564B3 publication Critical patent/DE102011103564B3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • 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
    • 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
    • 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/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6533GPP HSDPA, e.g. HS-SCCH or DS-DSCH related
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Abstract

The data encoded by encoder connected to transmitter using linear block code is transmitted from transmitter to receiver via a transmission channel. The data is decoded using a decoder connected to receiver by removing set of equations defined by parity check matrix of codes. The new linear block code and parity check matrix are created using preset algorithm by generating random vector permutation which contains several numbers in a random sequence when code is not in a position to restore lost or corrupted data to desired degree, or to produce desired efficiency.

Description

Die Erfindung betrifft ein Verfahren zur Wiederherstellung verlorener und/oder beschädigter Daten.The invention relates to a method for recovering lost and / or damaged data.

Das in der vorliegenden Anmeldung behandelte Grundproblem bezieht sich auf die Leistungsverbesserung von sogenannten Löschkanälen. Neben der Anwendung einer Codierung in der Physical Layer, wurde in jüngerer Zeit ein zunehmender Forschungsaufwand den sogenannten Paketlöschkanälen (PEC) gewidmet. Als Beispiel sei ein Kommunikationssystem betrachtet, das Pakete sendet. Die Pakete sind in der Physical Layer durch einen Fehlerkorrekturcode (beispielsweise einen Turbo-Code) und durch einen Fehlererkennungscode (beispielsweise einen CRC) geschützt, um beschädigte Pakete zu verwerfen. In den Schichten oberhalb der Physical Layer werden die Pakete entweder korrekt empfangen oder sind verloren (das heißt, gelöscht, sobald der CRC in der Physical Layer ein beschädigtes Paket erkennt). Von den oberen Kanälen aus gesehen, ist dieser Kanal somit ein Löschkanal mit Sendeeinheiten, welche Pakete bilden. Diese Situation ist in 1 dargestellt.The basic problem addressed in the present application relates to the performance improvement of so-called quenching channels. In addition to the application of coding in the physical layer, more and more research has recently been devoted to so-called packet canceling channels (PEC). As an example, consider a communication system that sends packets. The packets are protected in the physical layer by an error correction code (for example, a turbo code) and by an error detection code (for example, a CRC) to discard corrupted packets. In the layers above the physical layer, the packets are either received correctly or are lost (that is, cleared as soon as the CRC in the physical layer detects a corrupted packet). Seen from the upper channels, this channel is thus a deletion channel with transmitting units which form packets. This situation is in 1 shown.

In diesem Szenario basiert der Packet-Level-Code auf der (senderseitigen) Codierung von k Informationspaketen in n = k + m Codewort-Pakete. Die Codewort-Pakete werden sodann auf dem Kanal gesendet. Auf Seiten des Empfängers können die fehlenden Informationspakete durch die richtige Verwendung der redundanten Pakete wiederhergestellt werden. Das Codieren erfolgt üblicherweise Bit für Bit (oder Byte für Byte) unter Verwendung des Codierers eines generischen linearen Blockcodes. Das Decodieren erfolgt sodann durch das Lösen des Gleichungssystems, das durch die Parity-Check-Matrix oder die Decodiermatrix des Codes definiert ist.In this scenario, the packet-level code is based on the (sender-side) encoding of k information packets into n = k + m codeword packets. The codeword packets are then sent on the channel. On the receiver side, the missing information packets can be restored by the correct use of the redundant packets. Coding is usually done bit by bit (or byte by byte) using the generic linear block code encoder. The decoding then takes place by solving the system of equations defined by the parity check matrix or the decoding matrix of the code.

Durch die Verwendung eines LDPC-Codes als linearen Blockcode ergeben sich zwei Hauptvorteile:

  • – Der Maximum-Likelihood-Decoder kann durch einen iterativen Decoder ersetzt werden, wobei hinsichtlich der Löschwiederherstellungsfähigkeit Abstriche in Kauf genommen werden müssen.
  • – Der Maximum-Likelihood-Decoder kann durch das Nutzen der dünnen Besetzung der Parity-Check-Matrix vereinfacht werden.
Using LDPC code as a linear block code has two main advantages:
  • - The maximum likelihood decoder can be replaced by an iterative decoder, which must be taken into account in terms of Löschwiederherstellungsfähigkeit cuts.
  • The maximum likelihood decoder can be simplified by taking advantage of the sparse population of the parity check matrix.

Die zweite Option führt zu einer nahezu optimalen Leistung, ist jedoch im Vergleich mit der iterativen Option noch komplexer. In 2 ist die Leistung eines LDPC mit n = 1024 und k = 512 in Bezug auf die Codewort-Fehlerrate (d. h. auf Decodierungsfehler) bei Maximum-Likelihood-Decodierung und iterativer Decodierung als Funktion der Löschkanalwahrscheinlichkeit e dargestellt. Als Referenzkurve ist ferner die Singleton-Untergrenze für die Fehlerwahrscheinlichkeit eingetragen. Der Maximum-Likelihood-Decoder kommt der theoretischen Grenze sehr nahe.The second option produces near-optimal performance but is even more complex compared to the iterative option. In 2 Figure 5 illustrates the performance of an LDPC with n = 1024 and k = 512 in terms of codeword error rate (ie, decoding error) in maximum likelihood decoding and iterative decoding as a function of the erase channel probability e. As a reference curve, the singleton lower limit for the error probability is also entered. The maximum likelihood decoder comes very close to the theoretical limit.

Packet-Level-Codes finden gegenwärtig Anwendung in mobilen Rundfunksystemen (DVB-H, MBMS) und ihre Verwendung in Rundfunksystemen für Mobilgeräte wird in der nahen Zukunft ausgeweitet werden (z. B. DVB-SH). Der Hauptnutzen liegt bei dem Mobil-Rundfunkszenario in der Fähigkeit der Packet-Level-Codes das Fading und den Ausfall von Signalen zu bewältigen, wobei die meisten der verlorenen Pakete ohne Anforderung einer erneuten Übertragung wiederhergestellt werden.Packet-level codes are currently being used in mobile broadcasting systems (DVB-H, MBMS) and their use in mobile broadcasting systems will be extended in the near future (eg DVB-SH). The main benefit of the mobile broadcasting scenario is the ability of the packet-level codes to handle the fading and outage of signals, recovering most of the lost packets without requiring a retransmission.

Software-Implementierungen von Packet-Level-Decodern sind besonders attraktiv, da sie keinen großen Implementierungsaufwand erfordern, Flexibilität hinsichtlich Updates bieten und von Endgeräten akzeptiert werden, die nicht spezifisch für die Unterstützung des Paket-Level-Systems durch die Hardware ausgebildet sind.Software implementations of packet-level decoders are particularly attractive because they do not require much implementation effort, provide flexibility in terms of updates, and are accepted by endpoints that are not specifically trained to support the packet-level system through the hardware.

Die Anwendung von Fehlerkontrollcodes auf Protokollstapelschichten bezieht sich auf die Verwendung eines linearen (Block-)Codes, welcher auf Codiereinheiten (Symbole) angewandt wird, bei denen es sich üblicherweise um Pakete von konstanter Größe handelt. In diesem Zusammenhang empfängt ein Packet-Level-Decoder als Eingang einen Satz von k Paketen und erzeugt als Ausgang n > k Pakete. Ausgehend von einer systematischen Codierung umfasst der endgültige Paket-Satz die k Informationspakete zusammen mit m = n – k Parity-Paketen. Empfängerseitig werden nach der Physical-Layer-Decodierung die (z. B. durch einen Fehlererkennungscode) validierten Pakete an den Packet-Level-Decoder weitergeleitet. Die beschädigten Pakete werden als verloren gekennzeichnet. Somit beschäftigen sich die oberen Layer mit Paketlöschungen. Der Packet-Level-Decoder kann die gelöschten Pakete mittels der Parity-Pakete wiederherstellen. Packet-Level-Codes werden in drahtlosen Multimedia-Rundfunksystemen (siehe beispielsweise die in G. Faria, J. Henriksson, E. Stare, und P. Talmola, ”DVB-H: Digital Broadcast Services to Handheld Devices,” Proceedings of the IEEE, Bd. 94, Nr. 1, S. 194–209, Jan. 2006, ”Framing structure, channel coding and modulation for Satellite Services to Handheld devices (SH) below 3GHz,” Digital Video Broadcasting (DVB),” Blue Book, 2007, beschriebenen DVB-H/SH-Standards), und in Multicast-Szenarien (3GPP TS 26.346 V6.1.0, ”Technical specification group services and system aspects; multimedia broadcast/multicast service; protocols and codecs,” Juni 2005) verwendet, und werden gegenwärtig in Raumkommunikationsanwendungen (G. P. Calzolari, M. Chiani, F. Chiaraluce, R. Garello, und E. Paolini, ”Channel coding for future space missions: New requirements and trends,” Proc. IEEE, Bd. 95, Nr. 11, S. 2157–2170, Nov. 2007) eingesetzt. In E. Paolini, G. Liva, B. Matuz und M. Chiani, ”Generalized IRA erasure correcting codes for hybrid Iterative/Maximum Likelihood decoding,” IEEE Communications Letters, Bd. 12, Nr. 6, S. 450–452, Juni 2008, und E. Paolini, G. Liva, M. Varrella, B. Matuz und M. Chiani, ”Low-Complexity LDPC Codes with Near-Optimum Performance over the BEC,” in Proc. 4th Advanced Satellite Mobile Systems Conference, Bologna, August 2008, wurde ein neuer Ansatz für die Entwicklung von Low-Density-Parity-Check-Codes (LDPC) und Decodern für den binären Löschkanal (BEC) vorgeschlagen, der zeigte, wie ein überlegtes Code-Design zusammen mit einem effizienten Maximum-Likelihood(ML)-Decodieralgorithmus das Erreichen einer nahezu optimalen Leistung (d. h. einer Leistung nahe derjenigen eines idealisierten Maximum-Distance-Separable-Codes (MDS) bis zu geringen Fehlerraten auf dem speicherlosen BEC (d. h. einem binären Kanal, bei dem jedes Symbol entweder verloren (gelöscht) oder korrekt empfangen wird, mit einer festgelegten Löschwahrscheinlichkeit, und bei dem Symbole unabhängig voneinander gelöscht werden) mit LDPC-Codes erreicht werden können. Die Ergebnisse wurden in G. Liva, B. Matuz, Z. Katona, E. Paolini und M. Chiani, ”On Construction of Moderate-Length LDPC Codes over Correlated Erasure Channels,” in IEEE Int. Conf. on Communications, Dresden, Deutschland, Juni 2009, auf korrelierte Löschkanäle übertragen. In B. Matuz, G. Liva, E. Paolini und M. Chiani, ”Pivoting Algorithms for Maximum Likelihood Decoding of LDPC Codes over Erasure Channels,” in Proc. IEEE Globecomm, Honolulu, USA, Nov. 2009, wurden Verbesserungen des Original-LDPC-ML-Decodieralgorithmus (der in (D. Burshtein und G. Miller, ”An efficient maximum likelihood decoding of LDPC codes over the binary erasure channel,” IEEE Transactions on Information Theory, Bd. 50, Nr. 11, Nov. 2004) vorgeschlagen wurde) vorgestellt, wobei Decodiergeschwindigkeiten bis zu mehreren Hundert Mbps auf einer echten Satellitenkommunikationsverbindung vorgeführt wurden. Bei zahlreichen Anwendungen hat das zu übertragende Objekt (z. B. eine Datei) eine variable Größe, woraus sich eine variable Anzahl an zu codierenden Paketen ergibt. Es kann ein Code mit einer großen Eingangsblockgröße k erstellt werden und es kann eine Codeverkürzung für sämtliche Fälle durchgeführt werden, in denen die Anzahl der zu codierenden Pakete geringer ist. Wenn die Coderate an bestimmte Kanalbedingungen angepasst werden muss, kann in ähnlicher Weise ein Low-Rate-Code erstellt werden und höhere Raten können durch Punktieren erreicht werden. Das Verkürzen erfolgt durch Setzen einiger Informationssymbole auf einen vordefinierten Wert (z. B. 0) an Eingang des Codierers. Das Punktieren erfolgt durch das Entfernen einiger Codewort-Symbole am Ausgang des Codierers. Jedoch ermöglicht das Verkürzen keine vollständige Flexibilität, da ein Höchstwert k vorab gewählt werden muss. Ferner muss die Auswahl der mit Nullen aufzufüllenden Codewort-Symbole vorsichtig erfolgen, um Beeinträchtigungen des iterativen (IT) Decodierungsschwellenwerts zu vermeiden. (Ein großer Abstand zwischen dem IT-Decodierungsschwellenwert und der BEC-Shannon-Grenze ist einerseits für eine schlechte Leistung bei der IT-Decodierung und andererseits für eine hohe Decodierungskomplexität bei der Verwendung von ML-Decodierung verantwortlich). Das Punktieren eines großen Teils der Symbole kann dem ML-Decoder einige Komplexitätsprobleme bereiten, da die Größe des zu lösenden Gleichungssystems in Verbindung mit der Anzahl von Paritätsgleichungen des (nicht punktierten) Muttercodes steht.The application of error control codes to protocol stack layers refers to the use of a linear (block) code which is applied to coding units (symbols), which are usually packets of constant size. In this connection, a packet-level decoder receives as input a set of k packets and produces as output n> k packets. Starting from a systematic encoding, the final packet set comprises the k information packets together with m = n-k parity packets. On the receiver side, after physical layer decoding, the packets validated (eg, by an error detection code) are forwarded to the packet level decoder. The damaged packages are marked as lost. Thus, the upper layers deal with packet deletions. The packet-level decoder can recover the deleted packets by means of the parity packets. Packet-level codes are used in wireless multimedia broadcasting systems (see, for example, those in G. Faria, J. Henriksson, E. Stare, and P. Talmola, "DVB-H: Digital Broadcast Services to Handheld Devices," Proceedings of the IEEE Vol. 94, No. 1, pp. 194-209, Jan. 2006, "Framing structure, channel coding and modulation for Satellite Services to Handheld Devices (SH) below 3GHz," Digital Video Broadcasting (DVB), "Blue Book , 2007, DVB-H / SH standards described) and in multicast scenarios (3GPP TS 26.346 V6.1.0, "Technical specification group services and system aspects; multimedia broadcast / multicast service; protocols and codecs", June 2005) currently in space communication applications (GP Calzolari, M. Chiani, F. Chiaraluce, R. Garello, and E. Paolini, "Channel coding for future space missions: New requirements and trends," Proc. IEEE, Vol. 95, No. 11, Pp. 2157-2170, Nov. 2007). E. Paolini, G. Liva, B. Matuz and M. Chiani, "Generalized IRA Erasure Correcting Codes for Hybrid Iterative / Maximum Likelihood Decoding," IEEE Communications Letters, Vol. 12, No. 6, pp. 450-452, June 2008, and E. Paolini, G. Liva, M. Varrella, B. Matuz and M. Chiani, "Low-Complexity LDPC Codes with Near-Optimum Performance over the BEC," in Proc. 4th Advanced Satellite Mobile Systems Conference, Bologna, August 2008, proposed a new approach to the development of Low Density Parity Check Codes (LDPCs) and Binary Channel Cancelable Decoders (BECs), which showed as a deliberate code Design together with an efficient maximum-likelihood (ML) decoding algorithm achieve near-optimal performance (ie, near idealized maximum-distance-separable-code (MDS) power to low error rates on the memory-less BEC (ie, binary Channel where each symbol is either lost (erased) or received correctly, with a fixed probability of being erased, and symbols are erased independently) can be obtained using LDPC codes. Z. Katona, E. Paolini, and M. Chiani, "On Construction of Moderate-Length LDPC Codes over Correlated Erasure Channels," in IEEE International Conf. On Communications, Dres Germany, June 2009, to correlated extinguishing channels. In B. Matuz, G. Liva, E. Paolini, and M. Chiani, "Pivoting Algorithms for Maximum Likelihood Decoding of LDPC Codes over Erasure Channels," in Proc. IEEE Globecomm, Honolulu, USA, Nov. 2009, noted improvements to the original LDPC-ML decoding algorithm (disclosed in (D. Burshtein and G. Miller, "Efficient maximum likelihood decoding of LDPC codes over the binary erasure channel," IEEE Transactions on Information Theory, Vol. 50, No. 11, Nov. 2004)), demonstrating decoding speeds up to several hundred Mbps on a true satellite communications link. In many applications, the object to be transmitted (eg, a file) has a variable size, resulting in a variable number of packets to be encoded. A code with a large input block size k can be created and code shortened for all cases where the number of packets to be encoded is smaller. Similarly, if the code rate needs to be adjusted to particular channel conditions, a low-rate code can be created and higher rates can be achieved by puncturing. The shortening is done by setting some information symbols to a predefined value (eg 0) at the input of the encoder. The puncturing is done by removing some codeword symbols at the output of the coder. However, shortening does not allow complete flexibility, since a maximum value k must be pre-selected. Furthermore, the selection of zero-filled codeword symbols must be done carefully to avoid degrading the iterative (IT) decoding threshold. (A large distance between the IT decoding threshold and the BEC Shannon limit is responsible, on the one hand, for poor performance in IT decoding and, on the other hand, for high decoding complexity in the use of ML decoding). Puncturing a large portion of the symbols can cause some complexity problems for the ML decoder because the size of the system of equations to be solved is related to the number of parity equations of the (non-punctured) mother code.

WO 2006/027668 A1 beschreibt ein Verfahren für ein adaptives Low-Density-Parity-Check Coding. Hierfür wird dem Sender der Daten ein Feedback übermittelt, wobei basierend auf diesen Feedback eine Änderung der Parity-Check-Matrix, die zum Codieren verwendet wird, erfolgen kann. WO 2006/027668 A1 describes a method for adaptive low-density parity-check coding. For this purpose, the transmitter of the data is sent a feedback, based on this feedback, a change of the parity check matrix, which is used for coding, can take place.

Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren zur Wiederherstellung verlorener und/oder beschädigter Daten zu schaffen, welches in einer flexibleren Weise an unterschiedliche Bedingungen anpassbar ist.It is the object of the present invention to provide a method for recovering lost and / or damaged data that is adaptable to different conditions in a more flexible manner.

Die Aufgabe wird erfindungsgemäß mit den Merkmalen des Anspruchs 1 gelöst.The object is achieved with the features of claim 1.

Nach dem erfindungsgemäßen Verfahren werden Daten von einer Sendervorrichtung an eine Empfängervorrichtung gesendet. Das Verfahren weist die folgenden Schritte auf:
Codieren der Daten mittels eines Codierers (14), welcher mit der Sendervorrichtung (10) verbunden ist,
Übertragen der Daten von der Sendervorrichtung (10) zu der Empfängervorrichtung (12) über einen Übertragungskanal (18), und
Decodieren der Daten mittels eines mit der Empfängervorrichtung (12) verbundenen Decoders (16), wobei verlorene und/oder beschädigte Daten während des Decodierens wiederhergestellt werden,
wobei das Codieren unter Verwendung eines linearen Blockcodes erfolgt und das Decodieren durch das Lösen des durch die Parity-Check-Matrix (A) des Codes definierten Gleichungssystems erfolgt.
According to the method of the invention, data is sent from a transmitter device to a receiver device. The method comprises the following steps:
Coding the data by means of an encoder ( 14 ), which with the transmitter device ( 10 ) connected is,
Transmitting the data from the transmitter device ( 10 ) to the receiver device ( 12 ) via a transmission channel ( 18 ), and
Decoding the data by means of a with the receiver device ( 12 ) connected decoders ( 16 ), recovering lost and / or corrupted data during decoding,
wherein the coding is done using a linear block code and the decoding is done by solving the system of equations defined by the parity check matrix (A) of the code.

Die Erfindung ist dadurch gekennzeichnet, dass, wenn der verwendete Code nicht in der Lage ist, die verlorenen oder beschädigten Daten in einem gewünschten Maß wiederherzustellen, insbesondere, wenn der Code beispielsweise aufgrund einer Veränderung der Übertragungskanalbedingungen nicht in der Lage ist, eine gewünschte Übertragungszuverlässigkeit bereitzustellen, oder wenn der Code beispielsweise aufgrund der Verwendung einer zu geringen Coderate nicht in der Lage ist, die gewünschte Effizienz zu bewirken, die Sendervorrichtung einen neuen linearen Code einschließlich einer Parity-Check-Matrix erstellt, welcher zum Codieren verwendet wird. Wenn sich beispielsweise die Kanalbedingungen verschlechtern und die in dem linearen Blockcode verwendeten redundanten Daten nicht ausreichen, um verlorene oder beschädigte Daten wiederherzustellen, kann die gewünschte Übertragungszuverlässigkeit nicht bereitgestellt oder gewährleistet werden. Dieser Status kann der Sendervorrichtung von Seiten der Empfängervorrichtung beispielsweise unter Verwendung einer Feedback-Leitung angezeigt werden, so dass die Sendervorrichtung davon Kenntnis hat, dass die gewünschte Übertragungszuverlässigkeit nicht erreicht ist. Die Sendervorrichtung erstellt sodann erfindungsgemäß einen neuen linearen Code, welcher anschließend für das Codieren verwendet wird. Dieser neue lineare Blockcode, der eine neue Parity-Check-Matrix enthält, kann an die veränderten Bedingungen des Übertragungskanals angepasst werden, beispielsweise durch das Verwenden einer geringeren Coderate, was bedeutet, dass mehr redundante Pakete erzeugt werden, um in der Lage zu sein, sämtliche Daten selbst unter schlechten Kanalbedingungen vollständig wiederherzustellen. The invention is characterized in that if the code used is unable to recover the lost or corrupted data to a desired degree, in particular if the code is unable to provide a desired transmission reliability due to, for example, a change in transmission channel conditions or if, for example, the code is incapable of effecting the desired efficiency due to the use of too low a code rate, the transmitter device will create a new linear code including a parity check matrix used for encoding. For example, if the channel conditions deteriorate and the redundant data used in the linear block code is insufficient to recover lost or corrupt data, the desired transmission reliability can not be provided or guaranteed. This status can be displayed to the transmitter device by the receiver device, for example using a feedback line, so that the transmitter device is aware that the desired transmission reliability has not been reached. The transmitter device then creates according to the invention a new linear code, which is subsequently used for the coding. This new linear block code containing a new parity check matrix can be adapted to the changed conditions of the transmission channel, for example by using a lower code rate, which means that more redundant packets are generated in order to be able to to fully recover all data even under bad channel conditions.

Ein anderer Grund dafür, dass die Sendervorrichtung einen neuen linearen Blockcode ersteht, der zur Codierung verwendet wird, ist, dass der Code nicht in der Lage ist, die gewünschte Effizienz zu bewirken, das heißt, dass beispielsweise die verwendete Coderate zu niedrig ist. Das bedeutet, dass zu viele redundante Pakete erzeugt werden, was zu einer Verschwendung von Übertragungskanalkapazität führt, was wiederum gleichbedeutend mit einer geringen Effizienz ist. Da der Sendervorrichtung die Größe oder die Anzahl der zu codierenden Pakete bekannt ist, kann sie beispielsweise die Eingangsblockgröße k entsprechend anpassen, so dass eine geringere Kapazitätsverschwendung auftritt. Ferner kann der neu erstellte lineare Blockcode in Bezug auf andere Parameter angepasst werden, wie im Folgenden erläutert.Another reason for the transmitter device to derive a new linear block code used for encoding is that the code is unable to produce the desired efficiency, that is, for example, that the code rate used is too low. This means that too many redundant packets are generated, resulting in a waste of transmission channel capacity, which in turn means low efficiency. For example, since the sender device knows the size or number of packets to be encoded, it can adjust the input block size k accordingly, so that a smaller waste of capacity occurs. Further, the newly created linear block code may be adjusted with respect to other parameters, as explained below.

Das Erstellen des neuen linearen Blockcodes durch die Sendervorrichtung erfolgt gemäß einem Algorithmus, der sowohl in der Sendervorrichtung als auch in der Empfängervorrichtung zur Verfügung steht. Daher kann dieser neue lineare Blockcode mit der neuen Parity-Check-Matrix sowohl zum Codieren als auch zum Decodieren verwendet werden. Anders ausgedrückt: dieser Algorithmus wurde vorab sowohl in der Sendervorrichtung als auch in der Empfängervorrichtung implementiert, so dass diese Vorrichtungen nur die Parameter austauschen müssen, auf welchen die Erstellung des neuen linearen Blockcodes basiert, um den gleichen linearen Blockcode mit der gleichen Parity-Check-Matrix zu erzeugen.The creation of the new linear block code by the transmitter device is in accordance with an algorithm available in both the transmitter device and the receiver device. Therefore, this new linear block code with the new parity check matrix can be used for both encoding and decoding. In other words, this algorithm has been previously implemented in both the sender device and the receiver device, so these devices need only exchange the parameters upon which the creation of the new linear block code is based to produce the same linear block code with the same parity check. Generate matrix.

Somit erstellt die Empfängervorrichtung die Parity-Check-Matrix des linearen Blockcodes für das Decodieren nach demselben Algorithmus, so dass dieser neue lineare Blockcode anstelle des bisher verwendeten linearen Blockcodes zum Codieren und Decodieren von Daten verwendet wird.Thus, the receiver device constructs the parity check matrix of the linear block code for decoding according to the same algorithm, so that this new linear block code is used instead of the previously used linear block code for encoding and decoding data.

Das erfindungsgemäße Verfahren ermöglicht ein sehr einfaches und flexibles Rekonstruieren eines linearen Blockcodes, so dass eine Reaktion auf sich ändernde Kanalbedingungen oder sich ändernde Eingangsblockgrößen der Daten möglich ist. Dieses flexible Design der Parity-Check-Matrix kann beispielsweise für eine Maximum-Likelihood-Decodierung geringer Komplexität verwendet werden.The inventive method enables a very simple and flexible reconstruction of a linear block code, so that a response to changing channel conditions or changing input block sizes of the data is possible. For example, this flexible design of the parity check matrix can be used for low complexity maximum likelihood decoding.

Erfindungsgemäß weist die Erstellung der neuen Parity-Check-Matrix des neuen linearen Blockcodes die folgenden Verfahrensschritte auf. Dieser Algorithmus wird in der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung als der Algorithmus B bezeichnet:
Erzeugen eines Zufallspermutationsvektors π = (π0, π1, ..., πm-1), welcher m Elemente enthält, wobei der Permutationsvektor die Zahlen von 1 bis m in einer Zufallsabfolge enthält,
Verwenden der Werte einer Anzahl von ausgewählten Elementen des Permutationsvektors, um zu definieren, in welcher Reihe jede Spalte der Parity-Check-Matrix eine Eins enthält, wobei die Anzahl der ausgewählten Elemente der vordefinierten Anzahl von Einsen in jeder Spalte der Parity-Check-Matrix entspricht,
wobei jedes Element des Permutationsvektors nur ein Mal ausgewählt und verwendet werden kann, um die Reihen zu definieren, die eine Eins für eine bestimmte Spalte der Parity-Check-Matrix enthalten.
According to the invention, the creation of the new parity check matrix of the new linear block code comprises the following method steps. This algorithm is referred to in the description of the preferred embodiments of the invention as the algorithm B:
Generating a random permutation vector π = (π 0 , π 1 , ..., π m-1 ) containing m elements, the permutation vector containing the numbers from 1 to m in a random sequence,
Using the values of a number of selected elements of the permutation vector to define in which row each column of the parity check matrix contains a one, the number of selected elements of the predefined number of ones in each column of the parity check matrix corresponds,
wherein each element of the permutation vector can be selected and used only once to define the rows containing a one for a particular column of the parity check matrix.

Der Zweck dieses Algorithmus ist es, eine gleichmäßige Verteilung von Einsen in den Reihen der Parity-Check-Matrix zu erreichen. Der Hintergrund für dieses Merkmal ist, dass eine völlig zufällige Matrix, die beispielsweise durch den ersten Algorithmus erzeugt wird, Reihen, die eine hohe Zahl von Einsen enthalten, und daneben Reihen aufweisen kann, die eine sehr geringe Anzahl von Einsen aufweisen. Dies hat einen negativen Einfluss auf die Decodierleistung. Somit hilft dieser Algorithmus bei der Erstellung einer Matrix, die nicht völlig zufällig ist, das heißt, dass die Verteilung von Einsen in den Reihen der Matrix kontrolliert werden kann.The purpose of this algorithm is to achieve a uniform distribution of ones in the rows of the parity check matrix. The background to this feature is that a completely random matrix generated, for example, by the first algorithm may have rows containing a high number of ones and next to rows having a very small number of ones. This has a negative influence on the decoding performance. Thus, this algorithm helps in creating a matrix that not entirely random, that is, the distribution of ones in the rows of the matrix can be controlled.

Der zuvor beschriebene Algorithmus ermöglicht somit das Erreichen eines nahezu konstanten CN-Grades, da in dem Block von Spalten, deren nicht-Null-Elemente-Reihenindizes aus dem gleichen Permutationsvektor stammen, die Reihenwertigkeit (nahezu) gleichmäßig 1 ist. Ferner sind unter den Spalten, die einen derartigen Block aufweisen, keine Loops vorhanden. Das Code-Ensemble wird mit C2(Φ(x), k, R).bezeichnet.The above-described algorithm thus makes it possible to achieve a nearly constant CN degree, since in the block of columns whose non-zero element row indices originate from the same permutation vector, the serial valence is (almost) uniform 1. Furthermore, there are no loops among the columns having such a block. The code ensemble is denoted by C 2 (Φ (x), k, R).

Das Fehlen einer vollständigen Taillenweiten-Optimierung kann dennoch zu Fehlersockeln mit moderaten Fehlerwahrscheinlichkeiten führen, insbesondere, wenn kurze Codes (beispielsweise k < 500 Symbole) erstellt werden müssen. Daher wird eine Verbesserung bevorzugt, die auf der Verknüpfung mit einem äußeren (k, k') binären linearen Zufallsblockcode basiert. Genauer gesagt hat die Parity-Check-Matrix Ho des äußeren Codes die Form H = [Hou|I], wobei I die Identitätsmatrix und Hou eine Matrix ist, deren Elemente mit gleichmäßiger Wahrscheinlichkeit auf 0 oder 1 gesetzt sind. Die Parity-Check-Matrix des durch die Verknüpfung des äußeren Zufallscodes mit dem inneren IRA-Code erhaltenen Codes hat somit die folgende Form

Figure 00080001
The lack of full waist-width optimization may still lead to error headers with moderate error probabilities, especially if short codes (for example, k <500 symbols) need to be created. Therefore, an improvement based on linking to an outer (k, k ') binary linear random block code is preferred. More specifically, the outer code parity check matrix H o has the form H = [H ou | I], where I is the identity matrix and H ou is a matrix whose elements are equally well set to 0 or 1. The parity check matrix of the code obtained by combining the outer random code with the inner IRA code thus has the following form
Figure 00080001

Bei dem genannten Algorithmus wird ein neuer Permutationsvektor erzeugt, wenn sämtliche Elemente des alten Permutationsvektors ausgewählt und verwendet wurden und die Einsen nicht allen Spalten der Parity-Check-Matrix zugewiesen wurden. Wenn beispielsweise ein Permutationsvektor mit 100 Einträgen verwendet wird und ferner definiert wurde, dass jede Spalte drei Einsen enthält, ist es erforderlich, einen neuen Permutatiorisvektor zu erzeugen, um die Einsen der Spalte 34 zuzuweisen, da in der Spalte 33 das 99ste Vektorelement verwendet wurde, was bedeutet, dass nur noch ein Vektorelement (nämlich das 100ste) für die Spalte 34 übrig ist, was unzureichend ist.In the said algorithm, a new permutation vector is generated when all elements of the old permutation vector have been selected and used and the ones have not been assigned to all columns of the parity check matrix. For example, if a 100-entry permutation vector is used, and it is further defined that each column contains three ones, then it is necessary to create a new permutation vector to assign the ones to column 34, since the 99th vector element was used in column 33, which means that only one vector element (namely the 100th) for column 34 is left, which is insufficient.

Wenn Vorcodierung verwendet wird, wird vorzugsweise die Dimension des Vorcodes k' von der Sendervorrichtung an die Empfängervorrichtung übermittelt. Die Gradverteilung Φ(x) muss dem Empfänger ebenfalls bekannt sein. Eine Möglichkeit besteht darin, der Kapazität nahekommende Verteilungen für einen Bereich von Coderaten vorab zu berechnen und diese in einer Tabelle sowohl auf Seiten des Codierers als auch des Decoders zu speichern.When precoding is used, preferably the dimension of the pre-code k 'is transmitted from the transmitter device to the receiver device. The degree distribution Φ (x) must also be known to the receiver. One possibility is to pre-compute close-to-space distributions for a range of code rates and store them in a table on both the coder and decoder sides.

Bevorzugt werden die Algorithmen, welche für die Erstellung des neuen linearen Blockcodes verwendet werden, zu Irregular-Repeat-Accumulate-Codes (IRA) führen, bei welchen die Parity-Check Matrix entsprechend spezifischer (von der Coderate abhängiger) Gradverteilungen erstellt wird.Preferably, the algorithms used to create the new linear block code will result in Irregular Repeat Accumulate Codes (IRAs) where the Parity Check Matrix is created according to specific (code rate dependent) grade distributions.

Es ist ferner bevorzugt, dass die Erstellung der Parity-Check-Matrix auf einem Pseudozufallsansatz unter Verwendung eines Pseudozufallszahlengenerators erfolgt.It is further preferred that the parity check matrix is generated on a pseudorandom approach using a pseudorandom number generator.

Bevorzugt werden die Parameter n und k und der Startwert α für die Erstellung des neuen linearen Blockcodes verwendet, wobei α die Zahl ist, welche den Ausgangszustand des Pseudozufallszahlengenerators definiert, welcher zur Erzeugung der Parity-Check-Matrix verwendet wird. Diese Parameter werden von der Sendervorrichtung an die Empfängervorrichtung übertragen, so dass die Empfängervorrichtung in der Lage ist, den gleichen linearen Blockcode zu erstellen wie die Sendervorrichtung. Vorzugsweise ist der Austausch anderer Informationen zwischen der Sendervorrichtung und der Empfängervorrichtung nicht erforderlich, um den neuen linearen Blockcode zu erstellen. Der Empfänger erstellt somit einen linearen Blockcode mit der gleichen Ziel-Coderate R (R = k/n) wie die Sendervorrichtung. Es ist daher möglich, den verwendeten linearen Blockcode an verschiedene Bedingungen anzupassen, ohne dass ein umfangreicher Datenaustausch zwischen der Sender- und der Empfängervorrichtung erforderlich ist. Insbesondere ist es möglich, auf sehr einfache Weise einen Kompromiss zwischen einer geringen Komplexität des Codes (wie sie beispielsweise durch einen LDPC-Code erreicht wird) und der Leistung zu finden.Preferably, the parameters n and k and the seed α are used to construct the new linear block code, where α is the number defining the output state of the pseudo-random number generator used to generate the parity check matrix. These parameters are transmitted from the transmitter device to the receiver device so that the receiver device is able to produce the same linear block code as the transmitter device. Preferably, the exchange of other information between the transmitter device and the receiver device is not required to create the new linear block code. The receiver thus creates a linear block code with the same target code rate R (R = k / n) as the transmitter device. It is therefore possible to adapt the linear block code used to different conditions without requiring extensive data exchange between the transmitter and the receiver device. In particular, it is possible to very easily find a compromise between a low level of complexity of the code (as achieved, for example, by an LDPC code) and performance.

Erfindungsgemäß ist es möglich, die Parity-Matrix in zwei Teile H = [Hu|Hp] zu partitionieren, wobei m = n – k die Anzahl der Parity-Check-Gleichungen und somit der Check-Kodes (CN) in der zweiteiligen Kurve angibt, die H zugeordnet ist. Bei diesem Aufbau ist Hu eine unstrukturierte mxk-(Zufalls-)Matrix geringer Dichte, während Hp eine herkömmliche mxm-Doppeldiagonal-Matrix ist. Die Erstellungsalgorithmen konzentrieren sich nur auf den systemischen Teil (Hu) und ermöglichen das Erstellen von Ad-hoc-Parity-Check-Matrizen mit guter Form.According to the invention, it is possible to partition the parity matrix into two parts H = [H u | H p ], where m = n-k the number of parity-check equations and thus the check codes (CN) in the two-part Indicates curve associated with H. In this setup, H u is an unstructured mxk (random) matrix of low density, while H p is a conventional mxm double diagonal matrix. The build algorithms focus only on the systemic part (H u ) and allow creating ad hoc parity check matrices with good form.

Vorzugsweise wird bei schlechten Kanalbedingungen eine Information von der Empfängervorrichtung an die Sendervorrichtung übertragen, welche die unzureichende Übertragungszuverlässigkeit betrifft, so dass ein neuer Code mit einer niedrigeren Coderate R von dem Sender erstellt wird. Preferably, in bad channel conditions, information is transmitted from the receiver device to the transmitter device concerning the inadequate transmission reliability so that a new code with a lower code rate R is created by the transmitter.

Es ist ferner möglich, dass der Sender einen neuen linearen Code mit einer höheren Coderate R erstellt, wenn eine erwünschte Übertragungseffizienz nicht erreicht werden kann.It is also possible that the transmitter will create a new linear code with a higher code rate R if a desired transmission efficiency can not be achieved.

Vorzugsweise handelt es sich bei dem neu erzeugten linearen Blockcode um einen LDPC-Code.Preferably, the newly generated linear block code is an LDPC code.

Ein alternativer Algorithmus zur Erstellung der Parity-Check-Matrix des neuen linearen Blockcodes, der nicht Teil der Erfindung ist, kann die folgenden Verfahrensschritte aufweisen. Dieser Algorithmus bezieht sich auf den Algorithmus A in der Beschreibung der bevorzugten Ausführungsbeispiele der Erfindung:
Erzeugen von Zufallszahlen durch einen Pseudozufallszahlengenerator,
Verwenden dieser Zufallszahlen, um zu definieren, in welchen Zeilen jede Spalte der Parity-Check-Matrix eine Eins enthält.
An alternative algorithm for creating the parity check matrix of the new linear block code, which is not part of the invention, may comprise the following method steps. This algorithm refers to Algorithm A in the description of the preferred embodiments of the invention:
Generating random numbers by a pseudorandom number generator,
Use these random numbers to define in which rows each column of the parity check matrix contains a one.

Vorzugsweise ist die Anzahl der in jeder Spalte vorhandenen Einsen vordefiniert,Preferably, the number of ones present in each column is predefined,

Dieser Algorithmus ermöglicht es, eine Parity-Check-Matrix eines neuen linearen Blockcodes auf einfache Weise ohne die Verwendung eines komplizierten Algorithmus zu erstellen. Dieser Algorithmus wird sowohl in der Sendervorrichtung als auch in der Empfängervorrichtung implementiert.This algorithm makes it possible to easily create a parity check matrix of a new linear block code without the use of a complicated algorithm. This algorithm is implemented in both the transmitter device and the receiver device.

Dieser Algorithmus erstellt eine Zufallsmatrix Hu, deren Spaltenwertigkeiten die durch Φ(x) spezifizierte Gradverteilung erfüllt. Tatsächlich erfolgt keinerlei Kontrolle der Taillenweite des Graphen. Noch wichtiger ist, dass keine Kontrolle der letztendlichen CN-Gradverteilung erfolgt. Somit ist die Gesamtheit vollständig durch die Verteilung Φ(x) spezifiziert. Dieses Code-Ensemble wird mit C1(Φ(x), k, R) bezeichnet. Φ(x) gibt die Wertigkeiten der Spalten in Hu an. Vorzugsweise wird dieser Wert sowohl in der Sendervorrichtung als auch in der Empfängervorrichtung gespeichert. Daher muss dieser Wert nicht von dem Sender an den Empfänger mitgeteilt werden. Vorzugsweise wird der Wert Φ(x) bei der Erstellung eines neuen linearen Blockcodes nicht angepasst.This algorithm creates a random matrix H u whose column scores satisfy the degree distribution specified by Φ (x). In fact, there is no control over the waist width of the graph. More importantly, there is no control over the final CN grade distribution. Thus, the totality is completely specified by the distribution Φ (x). This code ensemble is denoted by C1 (Φ (x), k, R). Φ (x) indicates the weights of the columns in H u . Preferably, this value is stored both in the transmitter device and in the receiver device. Therefore, this value does not have to be communicated by the sender to the receiver. Preferably, the value Φ (x) is not adjusted when creating a new linear block code.

Im Folgenden werden bevorzugte Ausführungsbeispiele der Erfindung im Zusammenhang mit den Figuren beschrieben.In the following, preferred embodiments of the invention will be described in connection with the figures.

1 ist ein Flussdiagramm der Datenübertragung zwischen einer Sendervorrichtung und einer Empfängervorrichtung, wie sie auch bei dem erfindungsgemäßen Verfahren praktizierbar ist, 1 FIG. 4 is a flowchart of the data transmission between a transmitter device and a receiver device, as practicable in the method according to the invention, FIG.

24 zeigen die Ergebnisse von Leistungsmessungen basierend auf dem erfindungsgemäßen Verfahren. 2 - 4 show the results of performance measurements based on the method of the invention.

1 wurde bereits in der Einleitung der vorliegenden Anmeldung beschrieben. 1 has already been described in the introduction of the present application.

Vor einer detaillierten Beschreibung der Leistungsergebnisse werden der erste Algorithmus A und der zweite Algorithmus B erläutert:
Das Erstellungsverfahren gemäß dem Algorithmus A kann als vollständig zufällige Erstellung beschrieben werden und arbeitet wie folgt:
Für eine gegebene VN Gradverteilung von Hu, wird ein Vektor u = (u0, u1, ..., uk-1) mit k VN Gradwerten abgeleitet. Für die generische I-te Spalte von Hu, werden ul Indizes q0, q1, ..., qul-1 zwischen 0 und m – 1 mittels eines Pseudozufallszahlengenerators erzeugt (beispielsweise kann ein einfacher linearer Kongruenzgenerator verwendet werden. Die Elemente der I-ten Spalte von Hu, die den Indizes q0, q1, ..., qul-1 entsprechen, werden daher auf 1 gesetzt, d. h. hu(qj,l) = 1 für jedes j = 0 ...ul. Im Folgenden ist der Erstellungsalgorithmus zusammengefasst.
Before a detailed description of the performance results, the first algorithm A and the second algorithm B are explained:
The creation method according to the algorithm A can be described as a completely random creation and works as follows:
For a given VN degree distribution of H u , a vector u = (u 0 , u 1 , ..., u k-1 ) with k VN degree values is derived. For the generic I-th column of H u , ul indices q 0 , q 1 , ..., q ul-1 between 0 and m-1 are generated by means of a pseudorandom number generator (for example, a simple linear congruence generator can be used The I-th column of H u corresponding to the indices q 0 , q 1 , ..., q ul-1 are therefore set to 1, ie, h u ( q j , l) = 1 for each j = 0. .. u l . Below is the creation algorithm summarized.

Figure 00130001
Figure 00130001

Der zweite Algorithmus B kann als eine auf Permutation basierende Erstellung bezeichnet werden und wird im Folgenden beschrieben. Das zweite Erstellungsverfahren führt zu keiner Erhöhung der Matrixerzeugungskomplexität gegenüber dem zuvor beschriebenen. Es ermöglicht jedoch die Wahrung der Kontraolle über die CN Gradverteilung und eine Art der Begrenzung von kurzen Zyklen. Wie zuvor beginnt der Erstellungsalgorithmus mit der Ableitung des Vektors u = (u0, u1, ..., uk-1), der die k Spaltenwertigkeiten für die Matrix u entsprechend einer spezifischen Gradverteilung Φ(x) enthält. Der Algorithmus läuft wie folgt ab. Der Vektor v = (0, 1, ..., m – 1) wird nach einem Zufallspermutationsmuster permutiert, was zu dem Permutationsvektor Π = (Π0, Π1, ..., Πm-1) führt. Die Werte der ersten u0 Elemente von Π werden sodann q0, q1, ..., qu0-1, d. h. qj = Πj für j = 0 ...u0 – 1, zugewiesen und die Elemente der 0-ten Spalte von Hu, die den Indizes q0, q1, ..., qu0-1 entsprechen, werden daher auf 1, d. h. hu(qj,0) = 1 für jedes j = 0 ...u0 gesetzt. Für die Spalte mit dem Index 1 werden die nächsten u1 Elemente von Π extrahiert, d. h. qj = Πu0+j, für j = 0 ...u1 – 1, und werden zur Definition der auf 1 zu setzenden Elemente der Spalte verwendet. Für die Spalte mit dem Index 2 werden die nächsten u2 Elemente von Π extrahiert, d. h. qj = Π u0 + u1+j, für j = 0 ...u2 – 1, und werden zur Definition der auf 1 zu setzenden Elemente der Spalte verwendet. Der Prozess setzt sich für I Schritte fort, bis die Anzahl der verbleibenden Elemente in Π geringer als die betreffende Spaltenwertigkeit ist, d. h. wenn Σ l / w=0 uw > m. Wenn dies eintritt, wird ein neuer Permutationsvektor erzeugt und der vorbeschriebene Vorgang beginnt erneut von der I-Spalte an. Genauer gesagt werden die ersten ul Elemente von Π extrahiert, d. h. qj = Πj, für j = 0 ... ul – 1, und werden zur Definition der auf 1 zu setzenden Elemente der Spalte verwendet. Der Vorgang wird iterierend durchlaufen, bis die letzte Spalte von Hu gefüllt ist. Im Folgenden ist der zweite Erstellungsalgorithmus B zusammengefasst:

Figure 00140001
The second algorithm B may be referred to as a permutation based creation and will be described below. The second generation method does not increase the matrix generation complexity over that described above. However, it does allow for keeping the contention about the CN degree distribution and a way of limiting short cycles. As before, the build algorithm begins with the derivative of the vector u = (u 0 , u 1 , ..., u k-1 ) containing the k column weights for the matrix u corresponding to a specific degree distribution Φ (x). The algorithm works as follows. The vector v = (0, 1, ..., m-1) is permuted according to a random permutation pattern, resulting in the permutation vector Π = (Π 0 , Π 1 , ..., Π m-1 ). The values of the first u 0 elements of Π are then assigned q 0 , q 1 , ..., q u0-1 , ie q j = Π j for j = 0 ... u 0 - 1, and the elements of the 0 -th column of H u corresponding to the indices q 0 , q 1 , ..., q u0-1 are therefore set to 1, ie h u (qj, 0) = 1 for each j = 0 ... u 0 is set. For the column with the index 1, the next u 1 elements are extracted from Π, ie q j = Π u0 + j , for j = 0 ... u 1 - 1, and are used to define the elements of the column to be set to 1 used. For the column with the index 2, the next u 2 elements are extracted from,, ie qj = Π u 0 + u 1 + j , for j = 0 ... u 2 - 1, and are used to define the one to be set to 1 Elements of the column used. The process continues for I steps until the number of remaining elements in Π is less than the relevant column weight, that is, if Σ l / w = 0 u w > m. When this happens, a new permutation vector is generated and the process described above starts again from the I column. More specifically, the first u l elements are extracted from Π, ie q j = Π j , for j = 0 ... u l -1, and are used to define the elements of the column to be set to 1. The process is iterated until the last column of H u is filled. The second generation algorithm B is summarized below:
Figure 00140001

Die Leistung der (512, 256) und (2048, 1024) Codes, die gemäß der dargelegten Fully-Random-Construction (FRC, Algorithmus A) erzeugt wurden, sind in der 2 bzw. in der 3 dargestellt. Die Leistung ist als Codewort-Fehlerrate (CER) gegenüber der Löschwahrscheinlichkeit ε unter ML-Decodierung dargestellt. Im Fall von n = 512 bleibt die CER Leistung bis zu CER ≃ 10^–1 nahe der Singleton-Grenze (welche die Leistung eines idealisierten MDS (Maximum Distance Separable) Codes angibt), während die Leistungskurve bei dem längeren Block (3) der Singleton-Grenze sehr eng bis CER ≃ 10 – 2 folgt. Unterhalb dieser Werte zeigen die CER-Kurven in beiden Fällen große Fehlersockel. Die auf Permutation-Based-Construction (PBC) ermöglicht die Begrenzung des Vorhandenseins von Loops in dem der erzeugten Matrix zugeordneten Graphen, was zu kleineren Fehlersockeln gegenüber dem FRC führt. Dies ist sowohl in der 2 als auch in der 3 zu erkennen. Betrachtet man die kurze Blockgröße, so ist die Fehlersockelverringerung (weniger als eine Größenordnung bei der CER) moderat, während sie im Fall von n = 2048 bedeutender ist. Hier ist der CER-Sockel um beinahe 2 Größenordnungen verringert. Aus Gründen der Vollständigkeit ist auch die Leistung unter IT Decodierung angegeben, welche das gute Verhalten des Codes auch beim Decodieren mittels des IT-Ansatzes zeigt. Eine weitere Verringerung der Fehlersockel wird unter Verwendung eines äußeren Zufallscodes gemäß dem zuvor erörterten Ansatz erreicht. In 2 und in 3 ist die Leistung des PBC IRA Codes mit unterschiedlichen (k, k') äußeren Zufallscodes für eine ML Decodierung dargestellt. Für den Fall der kurzen Blockgröße (2) wurde der Effekt der (256, 251) und (356, 246) äußeren Zufallscodes untersucht. Im ersten Fall führt das Hinzufügen von 5 Parity-Check-Gleichungen zu einer Verringerung der Coderate auf R' = 0,490, während im zweiten Fall die zusätzlichen 10 Parity-Check-Gleichungen die Coderate auf 0,480 senken. In beiden Fällen sind die zugehörigen Singleton-Grenzen als Referenz dargestellt. Die Verwendung des (256, 251) äußeren Codes ermöglicht die Verringerung des Fehlersockels des IRA Codes um mehr als 1 Größenordnung. Eine erhebliche Verbesserung wird durch das Erhöhen der Redundanz des äußeren Codes auf 10 erreicht. In diesem Fall werden bis CER = 10–6 keine Sockel festgestellt. Bei der Betrachtung des Falles n = 2048 wurde ein (1024, 1014) äußerer Zufallscode verwendet. Hier wurde die Coderate auf R' = 0,495 verringert. Bis CER 10–5 wurde kein Fehlersockel festgestellt, wobei die Leistung die Singleton-Grenze für (2048, 1014) Codes nahezu erreicht. Für die Simulationen wurde der effiziente ML Decoder, der in D. Burshtein und G. Miller, ”An efficient maximum likelihood decoding of LDPC codes over the binary erasure channel,” IEEE Transactions on Information Theory, Bd. 50, Nr. 11, Nov. 2004 beschrieben ist, zusammen mit dem Maximum-Column-Weight-Pivoting-Algorithmus von B. Matuz, G. Liva, E. Paolini, und M. Chiani, ”Pivoting Algorithms for Maximum Likelihood Decoding of LDPC Codes over Erasure Channels,” in Proc. IEEE Globecomm, Honolulu, USA, Nov. 2009, verwendet. Die Decodierungskomplexität des Algorithmus des effizienten ML Decoders wird von dem letzten Decodierungsschritt beherrscht, welcher im Auflösen (mittels Gauss'scher Eliminierung) eines dichten Systems von binären linearen Gleichungen besteht in α Unbekannte besteht, wobei die α Unbekannten als Pivots oder Referenzvariablen bezeichnet werden. Eine indirekte Messung der Decodierungskomplexität ist durch die durchschnittliche Anzahl α von Pivots gegeben, die mit einer bestimmten Löschwahrscheinlichkeit gelöst werden sollen. Betrachtet man den Fall mit ε = 0.5 und n = 512, so führt die FRC zu einer geringeren Decodierungskomplexität gegenüber der PBC, α = 10 gegenüber α = 12, was ε * / ML – ε * / IT entspricht. Betrachtet man den PBC Fall, so neigt die Verknüpfung mit einem äußeren Code dazu, eine Erhöhung der Decodierungskomplexität (d. h. der Durchschnittsanzahl der Pivots) um einen Faktor zu bewirken, der in Beziehung zu der Anzahl der Reihen k – k von Ho steht. Selbst bei einer Betrachtung eines Falles mit k – k = 10 bleibt jedoch die Durchschnittsanzahl der Pivots gering, α = 16, weshalb hohe Decodierungsgeschwindigkeiten erreicht werden können.The performance of the (512, 256) and (2048, 1024) codes generated in accordance with the fully randomized construction (FRC, Algorithm A) set forth are in the 2 or in the 3 shown. The performance is shown as a codeword error rate (CER) against the likelihood of likelihood under ML decoding. In the case of n = 512, the CER power remains up to CER ≃ 10 ^ -1 near the singleton limit (which indicates the performance of an idealized MDS (Maximum Distance Separable) code), while the power curve in the longer block (FIG. 3 ) follows the singleton boundary very closely until CER ≃ 10 - 2. Below these values, the CER curves show large error bases in both cases. The permutation-based construction (PBC) allows limiting the presence of loops in the graph associated with the generated matrix, resulting in smaller error pedestals than the FRC. This is both in the 2 as well as in the 3 to recognize. Considering the short block size, the error socket reduction (less than an order of magnitude in the CER) is moderate, while in the case of n = 2048 it is more significant. Here, the CER socket is reduced by almost 2 orders of magnitude. For the sake of completeness, the performance under IT decoding is also indicated, which shows the good behavior of the code even when decoding by means of the IT approach. Further reduction of the error pedestals is achieved using an outer random code according to the approach discussed above. In 2 and in 3 is the performance of the PBC IRA code with different (k, k ') outer random codes for ML decoding. In the case of the short block size ( 2 ), the effect of the (256, 251) and (356, 246) outer random codes was examined. In the first case, adding 5 parity-check equations will reduce the code rate to R '= 0.490, while in the second case the additional 10 parity-check equations will reduce the code rate to 0.480. In both cases, the associated singleton boundaries are shown as a reference. The use of the (256, 251) outer code allows the IRA code to reduce the error socket by more than 1 order of magnitude. A significant improvement is achieved by increasing the outer code redundancy to 10. In this case, no sockets are detected until CER = 10 -6 . Considering case n = 2048, a (1024, 1014) outer random code was used. Here the code rate was reduced to R '= .495. Until CER 10 -5 , no error socket was detected, with performance nearly approaching the singleton limit for (2048, 1014) codes. For the simulations, the efficient ML decoder described in D. Burshtein and G. Miller, "An efficient maximum likelihood decoding of LDPC codes over the binary erasure channel," IEEE Transactions on Information Theory, Vol. 50, No. 11, Nov 2004, together with the Maximum Column Weight Pivoting Algorithm of B. Matuz, G. Liva, E. Paolini, and M. Chiani, "Pivoting Algorithms for Maximum Likelihood Decoding of LDPC Codes over Erasure Channels," in proc. IEEE Globecomm, Honolulu, USA, Nov. 2009. The decoding complexity of the efficient ML decoder algorithm is governed by the last decoding step, which consists of resolving (by Gaussian elimination) a dense system of binary linear equations consisting of α unknowns, the α unknowns being referred to as pivots or reference variables. An indirect measure of decoding complexity is by the average number α given by pivots that are to be solved with a certain probability of deletion. Considering the case with ε = 0.5 and n = 512, the FRC leads to a lower decoding complexity compared to the PBC, α = 10 opposite α = 12, which is ε * / ML - ε * / IT equivalent. Considering the PBC case, the linkage with an outer code tends to cause an increase in the decoding complexity (ie the average number of pivots) by a factor related to the number of rows k-k of H o . Even considering a case with k - k = 10, however, the average number of pivots remains low, α = 16, which is why high decoding speeds can be achieved.

4 stellt die Leistung des vorgeschlagenen Verfahrens bei Anwendung auf die aeronautische Flughafenkommunikation. Die Ergebnisse sind als Packet-Error-Rate (PER) gegenüber Eb/N0 dargestellt und zeigen eine erhebliche Leistungsverbesserung. Die Packet-Error-Rate ist nach dem Physical-Layer-Decoding und nach der Anwendung von r = 9/10 Packet-Level-IRA-Codes (verschiedene Blocklängen) dargestellt. 4 represents the performance of the proposed method when applied to airport aeronautical communication. The results are shown as packet error rate (PER) versus Eb / N0 and show significant performance improvement. The packet error rate is shown after the physical layer decoding and after the application of r = 9/10 packet level IRA codes (different block lengths).

Die folgende Tabelle zeigt Packet-Error-Raten für verschiedene (n, k) PBC IRA Codes im Vergleich mit der Singleton-Grenze (in Klammern). PACKET ERROR RATES FOR VARIOUS (n, k) PBC IRA CODES COMPARED WITH THE SINGLETON BOUND (IN BRACKETS)

Figure 00170001
The following table shows packet error rates for different (n, k) PBC IRA codes compared to the singleton boundary (in brackets). PACKET ERROR RATES FOR VARIOUS (n, k) PBC IRA CODES COMPARED WITH THE SINGLETON BOUND (IN BRACKETS)
Figure 00170001

Das vorgeschlagene Verfahren kann bei allen Typen von kommerziellen drahtlosen und drahtgebundenen Übertragungssystemen Anwendung finden. Wie zuvor dargelegt, ermöglicht das Verfahren die Anwendung von Packet-Level-Codierverfahren auf Systeme mit variabler Paketlänge, wobei es gleichzeitig die Komplexität der Algorithmen verringert. Die dem Patent zugrundeliegende Idee ist von besonderem Interesse für kommerzielle Kunden, die Echtzeit-Anwendungen wie Video-Streaming oder Audio-Streaming für Mobilgeräte verwenden. Andere Gebiete von Interesse schließen Rundfunkdienste im aeronautischen Flughafen-Kommunikationsbereich und in der Satellitenkommunikation ein.The proposed method can be applied to all types of commercial wireless and wireline transmission systems. As stated previously, the method enables the application of packet level coding techniques to variable packet length systems, while reducing the complexity of the algorithms. The patented idea is of particular interest to commercial customers who use real-time applications such as video streaming or audio streaming for mobile devices. Other areas of interest include broadcasting services in aeronautical airport communications and satellite communications.

Claims (6)

Verfahren zur Wiederherstellung verlorener und/oder beschädigter Daten, welche von einer Sendervorrichtung (10) an eine Empfängervorrichtung (12) übertragen werden, wobei das Verfahren die folgenden Schritte aufweist: Codieren der Daten mittels eines Codierers (14), welcher mit der Sendervorrichtung (10) verbunden ist, Übertragen der Daten von der Sendervorrichtung (10) zu der Empfängervorrichtung (12) über einen Übertragungskanal (18), und Decodieren der Daten mittels eines mit der Empfängervorrichtung (12) verbundenen Decoders (16), wobei verlorene und/oder beschädigte Daten während des Decodierens wiederhergestellt werden, wobei das Codieren unter Verwendung eines linearen Blockcodes erfolgt und das Decodieren durch das Lösen des durch die Parity-Check-Matrix (A) des Codes definierten Gleichungssystems erfolgt, wobei wenn der verwendete Code nicht in der Lage ist, die verlorenen oder beschädigten Daten in einem gewünschten Maß wiederherzustellen, oder wenn der Code nicht in der Lage ist, die gewünschte Effizienz zu bewirken, die Sendervorrichtung (10) einen neuen linearen Blockcode einschließlich einer Parity-Check-Matrix erstellt, wobei das Erstellen gemäß einem Algorithmus erfolgt, der sowohl in der Sendervorrichtung (10) als auch in der Empfängervorrichtung (12) verfügbar ist, und die Empfängervorrichtung (12) die Parity-Check-Matrix des linearen Blockcodes für die Decodierung gemäß dem gleichen Algorithmus erstellt, so dass zum Codieren und Decodieren von Daten der neue lineare Blockcode anstelle des bisherigen linearen Blockcodes verwendet wird, dadurch gekennzeichnet, dass der Algorithmus zur Erstellung der Parity-Check-Matrix des neuen linearen Blockcodes die folgenden Verfahrensschritte aufweist: Erzeugen eines Zufallspermutationsvektors π = (π0, π1, ..., πm-1), welcher m Elemente enthält, wobei der Permutationsvektor die Zahlen von 1 bis m in einer Zufallsabfolge enthält, Verwenden der Werte einer Anzahl von ausgewählten Elementen des Permutationsvektors, um zu definieren, in welcher Reihe jede Spalte der Parity-Check-Matrix eine Eins enthält, wobei die Anzahl der ausgewählten Elemente der vordefinierten Anzahl von Einsen in jeder Spalte der Parity-Check-Matrix entspricht, wobei jedes Element des Permutationsvektors nur ein Mal ausgewählt und verwendet werden kann, um die Reihen zu definieren, die eine Eins für eine bestimmte Spalte der Parity-Check-Matrix enthalten.Method for recovering lost and / or corrupted data transmitted by a sender device ( 10 ) to a receiver device ( 12 ), the method comprising the steps of: encoding the data by means of an encoder ( 14 ), which with the transmitter device ( 10 ), transmitting the data from the transmitter device ( 10 ) to the receiver device ( 12 ) via a transmission channel ( 18 ), and decoding the data by means of one with the receiver device ( 12 ) connected decoders ( 16 ), wherein lost and / or corrupted data is recovered during decoding, the encoding being done using a linear block code and the decoding done by solving the equation system defined by the parity check matrix (A) of the code, wherein if used code is unable to recover the lost or corrupted data to a desired extent, or if the code is unable to produce the desired efficiency, the transmitter device ( 10 ) a new linear block code including a parity check matrix The creation takes place according to an algorithm which is used both in the transmitter device ( 10 ) as well as in the receiver device ( 12 ) and the receiver device ( 12 ) generates the parity check matrix of the linear block code for decoding according to the same algorithm, so that the new linear block code is used instead of the previous linear block code for encoding and decoding data, characterized in that the algorithm for generating the parity Check matrix of the new linear block code comprising the following method steps: generating a random permutation vector π = (π 0 , π 1 ,..., Π m-1 ) containing m elements, the permutation vector comprising the numbers from 1 to m in one Contains a random sequence of using the values of a number of selected elements of the permutation vector to define in which row each column of the parity check matrix contains a one, the number of selected elements of the predefined number of ones in each column of the parity check Check matrix corresponds, whereby each element of the permutation vector can be selected and used only once to define the rows containing a one for a particular column of the parity check matrix. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Parameter n und k und der Startwert α für die Erstellung des neuen linearen Codes verwendet werden, wobei k die Anzahl der Informationspakete und n die Anzahl der Codewort-Pakete ist, wobei α die Zahl ist, welche den Ausgangszustand des Pseudozufallszahlengenerators definiert, welcher zur Erzeugung der Parity-Check-Matrix verwendet wird, wobei diese Parameter von der Sendervorrichtung (10) an die Empfängervorrichtung (12) übertragen werden.Method according to claim 1, characterized in that the parameters n and k and the starting value α are used for the creation of the new linear code, where k is the number of information packets and n is the number of codeword packets, where α is the number which defines the initial state of the pseudo-random number generator used to generate the parity-check matrix, these parameters being determined by the transmitter device (FIG. 10 ) to the receiver device ( 12 ) be transmitted. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass bei schlechten Kanalbedingungen eine Information von der Empfängervorrichtung (12) an die Sendervorrichtung (10) übertragen wird, welche die unzureichende Übertragungszuverlässigkeit betrifft, so dass ein neuer Code mit einer niedrigeren Coderate R von der Sendervorrichtung (10) erstellt wird.Method according to claim 1 or 2, characterized in that, in the case of poor channel conditions, information from the receiver device ( 12 ) to the transmitter device ( 10 ), which concerns the insufficient transmission reliability, so that a new code with a lower code rate R is transmitted from the transmitter device ( 10 ) is created. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Sendervorrichtung (10) einen neuen linearen Blockcode mit einer höheren Coderate R erstellt, wenn eine erwünschte Übertragungseffizienz nicht erreicht werden kann.Method according to one of claims 1 to 3, characterized in that the transmitter device ( 10 ) creates a new linear block code having a higher code rate R when a desired transmission efficiency can not be achieved. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass es sich bei dem neu erzeugten linearen Blockcode um einen LDPC-Code handelt.Method according to one of Claims 1 to 4, characterized in that the newly generated linear block code is an LDPC code. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass ein neuer Permutationsvektor erzeugt wird, wenn sämtliche Elemente des alten Permutationsvektors ausgewählt und verwendet wurden, und wenn die Einsen nicht allen Spalten der Parity-Check-Matrix zugewiesen wurden.Method according to one of claims 1 to 5, characterized in that a new permutation vector is generated when all elements of the old permutation vector have been selected and used, and when the ones have not been assigned to all columns of the parity check matrix.
DE201110103564 2011-05-30 2011-05-30 Method for recovery of lost and/or corrupted data transmitted from transmitter to receiver, involves creating new linear block code and parity check matrix using algorithm by generating random vector permutation Active DE102011103564B3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201110103564 DE102011103564B3 (en) 2011-05-30 2011-05-30 Method for recovery of lost and/or corrupted data transmitted from transmitter to receiver, involves creating new linear block code and parity check matrix using algorithm by generating random vector permutation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201110103564 DE102011103564B3 (en) 2011-05-30 2011-05-30 Method for recovery of lost and/or corrupted data transmitted from transmitter to receiver, involves creating new linear block code and parity check matrix using algorithm by generating random vector permutation

Publications (1)

Publication Number Publication Date
DE102011103564B3 true DE102011103564B3 (en) 2012-11-08

Family

ID=47019826

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201110103564 Active DE102011103564B3 (en) 2011-05-30 2011-05-30 Method for recovery of lost and/or corrupted data transmitted from transmitter to receiver, involves creating new linear block code and parity check matrix using algorithm by generating random vector permutation

Country Status (1)

Country Link
DE (1) DE102011103564B3 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006027668A1 (en) * 2004-09-08 2006-03-16 Nokia Corporation System and method for adaptive low-density parity-check (ldpc) coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006027668A1 (en) * 2004-09-08 2006-03-16 Nokia Corporation System and method for adaptive low-density parity-check (ldpc) coding

Similar Documents

Publication Publication Date Title
DE102009017540B4 (en) Procedure for recovering lost and / or damaged data
DE69916903T2 (en) Transmission system with rate adaptation
EP2315382B1 (en) Method for conflict resolution in time-hopping or frequency-hopping methods
DE102010035210A1 (en) Method for recovering lost data and correcting corrupted data
DE602005004863T2 (en) Method for puncturing LDPC channel codes
DE102018218729B3 (en) Interleaving with circular line rotation for transmission with telegram splitting
DE102008061069B4 (en) Retransmission of incorrect data
DE19539343A1 (en) Digital data bit stream error detection and correction method
DE102011103564B3 (en) Method for recovery of lost and/or corrupted data transmitted from transmitter to receiver, involves creating new linear block code and parity check matrix using algorithm by generating random vector permutation
DE102012203653B3 (en) Method for restoring lost or damaged data, involves carrying-out operations, which are carried on equations that have common equation systems to be solved, once instead of certain times, so that decoding complexity is reduced
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
DE102010029113B4 (en) Method for channel coding of digital data
DE102011103631B4 (en) Method for transmitting data
DE102014208996B3 (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
DE102014214451B4 (en) Procedure for recovering lost and / or corrupted data
DE102016201408B4 (en) Method for transmitting data
DE102013218311B4 (en) Procedure for recovering lost and / or damaged data
DE102022117663B3 (en) Method for transmitting an IBLT data structure and user terminal
DE102013223413B4 (en) Procedure for recovering lost and / or corrupted data
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
DE102018213296A1 (en) Method and device for reconstructing a first signal and a second signal by a common receiver
DE102011111835B4 (en) Procedure for recovering lost and / or damaged data
DE102011015811B3 (en) Device for coding k8L information-bits in e.g. universal mobile telecommunications system-applications, has coder for receiving m-symbol-parity-vector from m-symbol-vector, where elements in main-diagonals are formed as non-zero-elements
DE102014215477B3 (en) Method for transmitting data

Legal Events

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

Effective date: 20130209

R084 Declaration of willingness to licence