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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- 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
-
- 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
-
- 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/3761—Decoding 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
-
- 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/653—3GPP HSDPA, e.g. HS-SCCH or DS-DSCH related
-
- 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
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Abstract
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
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.
- - 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
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.
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
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 (
Übertragen der Daten von der Sendervorrichtung (
Decodieren der Daten mittels eines mit der Empfängervorrichtung (
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 (
Transmitting the data from the transmitter device (
Decoding the data by means of a with the receiver device (
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)
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 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
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.
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.
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 Σ
Die Leistung der (512, 256) und (2048, 1024) Codes, die gemäß der dargelegten Fully-Random-Construction (FRC, Algorithmus A) erzeugt wurden, sind in der
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) 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)
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)
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)
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 |
-
2011
- 2011-05-30 DE DE201110103564 patent/DE102011103564B3/en active Active
Patent Citations (1)
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 |