DE102013213778B3 - A method for transmitting a message from a transmitter to a receiver via a communication medium by means of packet-level coding - Google Patents
A method for transmitting a message from a transmitter to a receiver via a communication medium by means of packet-level coding Download PDFInfo
- Publication number
- DE102013213778B3 DE102013213778B3 DE102013213778.8A DE102013213778A DE102013213778B3 DE 102013213778 B3 DE102013213778 B3 DE 102013213778B3 DE 102013213778 A DE102013213778 A DE 102013213778A DE 102013213778 B3 DE102013213778 B3 DE 102013213778B3
- Authority
- DE
- Germany
- Prior art keywords
- variable nodes
- packets
- nodes
- codeword
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 title claims abstract description 9
- 239000011159 matrix material Substances 0.000 claims description 34
- 238000012937 correction Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 7
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- 238000012360 testing method Methods 0.000 abstract description 3
- 238000009826 distribution Methods 0.000 description 9
- 229920001817 Agar Polymers 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 8
- 238000007476 Maximum Likelihood Methods 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 229910052684 Cerium Inorganic materials 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- GWXLDORMOJMVQZ-UHFFFAOYSA-N cerium Chemical compound [Ce] GWXLDORMOJMVQZ-UHFFFAOYSA-N 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1171—Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
- H03M13/036—Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
Vorgeschlagen wird ein Verfahren zum Übertragen einer Nachricht von einem Sender zu einem Empfänger über ein Kommunikationsmedium mittels Packet-Level-Kodierung, bei dem ein spezieller nichtbinärer LDPC-Code verwendet wird, der wie folgt definiert ist: – Eine Anzahl b der variablen Knoten hat einen Grad 2, was bedeutet, dass von jedem dieser b variablen Knoten zwei Kanten ausgehen, wobei b (i) gleich m/2 oder höchstens m/2 ist oder (ii) die jeweils vorausgehende ganze Zahl ist, welche kleiner als m/2 ist; und – sämtliche der b variablen Knoten sind getrennt, was bedeutet, dass hinsichtlich sämtlicher b variablen Knoten die von jedem der b variablen Knoten ausgehenden Kanten mit jeweiligen unterschiedlichen Prüf-Knoten verbunden sind.A method is proposed for transmitting a message from a sender to a receiver via a communication medium by means of packet-level coding, in which a special non-binary LDPC code is used, which is defined as follows: - A number b of the variable nodes has one Grade 2, which means that two edges originate from each of these b variable nodes, where b (i) is equal to m / 2 or at most m / 2 or (ii) is the preceding integer that is less than m / 2 ; and - all of the b variable nodes are separated, which means that, with respect to all b variable nodes, the edges emanating from each of the b variable nodes are connected to respective different test nodes.
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Übertragen einer Nachricht von einem Sender zu einem Empfänger über ein Kommunikationsmedium mittels Packet-Level-Kodierung. Insbesondere befasst sich die Erfindung mit einer Leistungsverbesserung eines Übertragungssystems, das auf Packet-Level-Kodierung basiert.The present invention relates to a method for transmitting a message from a transmitter to a receiver via a communication medium by means of packet-level coding. In particular, the invention is concerned with performance improvement of a transmission system based on packet-level coding.
Die Packet-Level-Kodierung ist eine einfache und effiziente Technik zur Gewährleistung einer zuverlässigen Übertragung in einem Kommunikationssystem. Der Grundgedanke bei der Packet-Level-Kodierung besteht darin, die zu übertragende Information noch weitergehender zu schützen, indem das Kodieren von Paketen von Daten auf höheren Ebenen des Kommunikationsmodells vorgenommen wird. Die Hauptprinzipien der Packet-Level-Kodierung sind in
Erstens wird die zu übertragende Nachricht in k Info-Pakete aufgeteilt und in eine größere Anzahl von n Codewort-Paketen kodiert. Somit werden von dem Packet-Level-Kodierer auf der Senderseite m = n – k Paritätspakete mittels eines a (n, k)-Block-Codes generiert, der auf einem Galois-Feld der Größenordnung q definiert ist.First, the message to be transmitted is divided into k info packets and encoded into a larger number of n codeword packets. Thus, from the packet-level encoder on the transmitter side, m = n-k parity packets are generated by means of a (n, k) block code defined on a Galois field of order q.
Zweitens werden die n Codewort-Pakete auf der Physical Layer durch Fehlerkorrekturcodes (z. B. Turbo, LDPC ...) oder Fehlerdetektionscodes (z. B. zyklische Redundanzprüfcodes (CRC)) geschützt und anschließend übertragen.Second, the n codeword packets on the physical layer are protected by error correction codes (eg, turbo, LDPC ...) or error detection codes (eg, cyclic redundancy check (CRC) codes) and then transmitted.
Drittens wird an jedem Paket auf der Empfängerseite eine Physical-Layer-Fehlerkorrektur vorgenommen, und Restfehler werden durch den Fehlerdetektionscode detektiert. Falls Fehler detektiert werden, wird das Paket als verloren erachtet und als gelöscht markiert. Somit sehen die Ebenen oberhalb der Physical Layer das Kommunikationsmedium als einen Paketlöschkanal (PEC) an, auf dem Pakete entweder korrekt empfangen werden oder mit einer Löschwahrscheinlichkeit ε verlorengehen.Third, a physical layer error correction is made on each packet on the receiver side, and residual errors are detected by the error detection code. If errors are detected, the packet is deemed lost and marked as deleted. Thus, the levels above the physical layer view the communication medium as a packet deletion channel (PEC) on which packets are either received correctly or lost with a deletion probability ε.
Schließlich, falls eine hinreichende Menge an Paketen empfangen worden ist, führt der Packet-Level-Kodierer eine Rückgewinnung der Original-Nachricht durch. Zu diesem Zweck nimmt auf der Empfängerseite der Dekodierer nichtgelöschte Pakete auf und führt eine Rückgewinnung der verlorenen Pakete durch, falls genug Pakete korrekt empfangen werden. Um eine Nicht-Null-Wahrscheinlichkeit einer erfolgreichen Rückgewinnung, PS, zu erzielen, müssen mindestens k Pakete gesammelt werden. PS nimmt mit der Anzahl gesammelter Pakete p in Abhängigkeit von dem bezeichneten Code zu.Finally, if a sufficient amount of packets has been received, the packet level encoder performs a recovery of the original message. For this purpose, at the receiver side, the decoder receives non-erased packets and retrieves the lost packets if enough packets are received correctly. To achieve a non-zero probability of successful recovery, P s , at least k packets must be collected. P S increases with the number of collected packets p depending on the designated code.
Der Kodiervorgang wird gewöhnlich bitweise (zeichenweise) durchgeführt, indem der Kodierer eines binären (nichtbinären) Codes verwendet wird. Das Dekodieren erfolgt dann durch Lösen des Systems von Gleichungen, das durch die Paritätsprüfmatrix H des Codes gegeben ist.The encoding process is usually performed bitwise (character-wise) by using the encoder of a binary (non-binary) code. The decoding is then done by solving the system of equations given by the parity check matrix H of the code.
Software-Implementierungen von Packet-Level-Kodierern und -Dekodierern sind besonders attraktiv, da sie keinen größeren Aufwand für Design und Implementierung erfordern und hinsichtlich der Hardware-Implementierungen mehr Flexibilität bieten. Software-Module können problemlos in eine Hardware-Architektur integriert werden, die nicht speziell zur Unterstützung des Packet-Level-Kodierens ausgelegt ist.Software implementations of packet-level encoders and decoders are particularly attractive because they do not require much design and implementation effort and provide more flexibility in hardware implementations. Software modules can be easily integrated into a hardware architecture that is not specifically designed to support packet-level encoding.
Ferner hat sich erwiesen, dass die Fähigkeiten zur Lösch-Rückgewinnung verbessert werden, wenn das Code-Design in nichtbinären Feldern ausgeführt wird, d. h. die Paritätsprüf- und die Generator-Matrix des Codes haben Einträge, die zu einem Galois-Feld der Ordnung q [2 und 3] gehören.Furthermore, it has been found that erase recovery capabilities are improved when the code design is executed in non-binary arrays; H. the parity check and generator matrix of the code have entries belonging to a Galois field of order q [2 and 3].
Generell werden bei Übertragungsschemata des Standes der Technik, bei denen eine Packet-Level-Kodierung verwendet wird, die Werte von L, von n und von k gesetzt, und es erfolgt eine Wahl des Galois-Felds, an dem der (n, k)-Block-Code erstellt wird. Falls z. B. ein Galois-Feld der Ordnung 256 gewählt wird, ist unter dem Aspekt des Kodierers und des Dekodierers jedes Paket von L Bits aus L/8 Feld-Symbolen von GF(256) zusammengesetzt. Es ist anzumerken, dass, falls der (n, k)-Block-Code auf einem Galois-Feld der Ordnung 256 definiert ist, seine (n – k)×n-Paritätsprüfmatrix Symbole von GF(256) enthält. Falls der (n, k)-Code auf einem Galois-Feld der Ordnung 2 definiert ist, enthält seine (n – k)×n-Paritätsprüfmatrix Symbole von GF(2). Zu beachten ist, dass m = n – k.Generally, in prior art transmission schemes using packet-level encoding, the values of L, n, and k are set, and a selection is made of the Galois field where the (n, k) Block code is created. If z. For example, if a Galois field of order 256 is selected, then each packet of L bits is composed of L / 8 field symbols of GF (256) in terms of the encoder and the decoder. It should be noted that if the (n, k) block code is defined on a Galois field of order 256, its (n-k) xn parity check matrix contains symbols of GF (256). If the (n, k) code is defined on a Galois field of
Es ist möglich, einen LDPC-Code mittels eines zweiteiligen Graphs darzustellen, welcher der Paritätsprüfmatrix H zugeordnet ist. Der zweiteilige Graph besteht aus einem Satz variabler Knoten (VNs), einem Satz von Prüf-Knoten (CNs) und einem Satz von Kanten, welche die VNs mit den CNs verbinden. Variable Knoten sind den Spalten von H zugeordnet, und CNs sind den Reihen von H zugeordnet. Eine Kante verbindet einen VN mit einem CN, wenn in der entsprechenden Position der Paritätsprüfmatrix [4 und 5] ein nicht null betragender Eintrag existiert.It is possible to represent an LDPC code by means of a two-part graph associated with the parity check matrix H. The two-part graph consists of a set of variable nodes (VNs), a set of check nodes (CNs), and a set of edges connecting the VNs to the CNs. Variable nodes are assigned to the columns of H, and CNs are assigned to the rows of H. An edge connects a VN to a CN if there is a nonzero entry in the corresponding position of the parity check matrix [4 and 5].
In
Der Grad eines VN (bzw. eines CN) wird definiert als die Anzahl der von ihm ausgehenden Kanten. Die kanten-orientierten Grad-Verteilungs-Polynome sind definiert als wobei λi und pi die Bruchteile von Kanten sind, die mit den VNs und CNs des Grads i verbunden sind, dv,max der maximale VN-Grad ist und dc,max der maximale CN-Grad ist.The degree of a VN (or a CN) is defined as the number of edges emanating from it. The edge-oriented degree distribution polynomials are defined as where λ i and p i are the fractions of edges associated with the VNs and CNs of degree i, d v, max is the maximum VN degree, and d c, max is the maximum CN degree.
In
In der Praxis beginnt die Konzipierung eines LDPC-Codes mit der Suche nach einer geeigneten Gesamtheit von LDPC-Codes, welche die aufgrund der Grad-Verteilungs-Polynome gegebenen Beschränkungen erfüllt. Tatsächlich werden Gesamtheiten von LDPC-Codes durch die Grad-Verteilungs-Polynome parametrisiert. Generell werden unstrukturierte Gesamtheiten in Betracht gezogen, bei denen jede Permutation der Kanten unter den VNs und CNs zulässig ist, sofern die durch die Grad-Verteilungs-Polynome gegebenen Beschränkungen erfüllt sind [3].In practice, the design of an LDPC code begins with the search for an appropriate set of LDPC codes which satisfies the constraints imposed by the degree distribution polynomials. In fact, sets of LDPC codes are parameterized by the degree distribution polynomials. Generally, unstructured ensembles are considered in which any permutation of the edges among the VNs and CNs is allowed, provided the constraints given by the degree-distribution polynomials are met [3].
Es wurde auch eine teilweise strukturierte Gesamtheit binärer LDPC-Codes untersucht. Insbesondere wurden in Hinblick auf die Grad-Verteilungs-Polynome nicht sämtliche Kanten-Permutationen zugelassen. Es wurde insbesondere die Konnektivität einiger VNs des Grads 2 geprüft. Eine derartige Gesamtheit wurde in [6] erwogen, um die Error-Floor-Leistung binärer LDPC-Codes zu verbessern. Nach bestem Wissen der Erfinder wurde jedoch bisher eine ähnliche Teilstruktur noch nicht für nichtbinäre LDPC-Code-Gesamtheiten in Betracht gezogen.A partially structured set of binary LDPC codes was also examined. In particular, not all edge permutations were allowed with respect to the degree distribution polynomials. In particular, the connectivity of some
In [7], siehe dort Kapitel II, ist ein nichtbinärer LDPC-Code mit einer Anzahl an variablen Knoten mit Grad 2 beschrieben.In [7], see Chapter II, a nonbinary LDPC code with a number of variable nodes with
Auf der Empfängerseite wird ein Maximum-Likelihood-(ML-)Dekodieren durch Lösen der linearen Gleichungssysteme durchgeführt, wobei ein Vektor ist, der die gelöschten Codewort-Pakete enthält, xk ein Vektor ist, der die korrekt empfangenen Codewort-Pakete enthält, die Sub-Matrix ist, die aus den Spalten in der Paritätsprüfmatrix zusammengesetzt ist, die den gelöschten Codewort-Paketen entsprechen, und Hk die Sub-Matrix ist, die aus den Spalten in der Paritätsprüfmatrix zusammengesetzt ist, die den empfangenen Codewort-Paketen entsprechen. Anzumerken ist, dass die rechte Seite des Systems in der Gleichung (1) bekannt ist und es sich bei ihr um einen die Länge (n – k) aufweisenden Vektor von Paketen mit jeweils L Bits handelt, oder äquivalent dazu jeweils mit L/log2q Feld-Symbolen. Das System in Gleichung (1) kann mittels des Gaußschen Eliminations-Algorithmus durch Operationen gelöst werden, die an dem Galois-Feld vorgenommen werden, an dem der Code gebildet ist.At the receiver side, maximum likelihood (ML) decoding is achieved by solving the systems of linear equations performed, where is a vector containing the deleted codeword packets, x k is a vector containing the correctly received codeword packets, is the sub-matrix composed of the columns in the parity check matrix corresponding to the deleted codeword packets, and H k is the sub-matrix composed of the columns in the parity check matrix corresponding to the received codeword packets , It should be noted that the right side of the system is known in equation (1) and is a vector of packets of L bits each having the length (n-k), or equivalently each with L / log 2 q field symbols. The system in equation (1) can be solved by the Gaussian elimination algorithm through operations performed on the Galois field where the code is formed.
Eine Aufgabe der vorliegenden Erfindung besteht darin, die Fehler-Korrektur- und Fehler-Detektionsleistung in einem auf Packet-Level-Kodierung basierenden Übertragungssystem zu verbessern. An object of the present invention is to improve the error correction and error detection performance in a packet level encoding based transmission system.
Zu diesem Zweck wird gemäß der Erfindung ein Verfahren zum Übertragen einer Nachricht von einem Sender zu einem Empfänger über ein Kommunikationsmedium mittels Packet-Level-Kodierung vorgeschlagen, das aufweist:
- – auf der Sender-Seite:
- – Teilen der zu übertragenden Nachricht in k Informationspakete von jeweils L Bits,
- – Kodieren der k Informationspakete in n Codewort-Pakete von jeweils L Bits, wobei n größer als k ist und
- – wobei m = n – k Paritätspakete erzeugt werden, und
- – Schützen der n Codewort-Pakete mittels eines nichtbinären LDPC-Fehler-Detektions- und Prüf-Codes,
- – wobei der LDPC-Code definiert ist durch
- – eine Anzahl n variabler Knoten, wobei diese Anzahl identisch mit der Anzahl n von Codewort-Paketen ist, wobei jeder variable Knoten einen Grad hat und die Grade der variablen Knoten gleich oder verschieden sind,
- – eine Anzahl m von Prüf-Knoten, und
- – Kanten, welche die variablen Knoten mit den Prüf-Knoten verbinden, wobei die Anzahl von Kanten, die von jedem der variablen Knoten abgehen, gleich oder verschieden ist, und die Anzahl von Kanten, die von jedem der Prüf-Knoten abgehen, gleich oder verschieden ist,
- – Übertragen der n Codewort-Pakete von dem Sender zu dem Empfänger über das Kommunikationsmedium, und
- – auf der Empfänger-Seite
- – für jedes der übertragenen Codewort-Pakete, Durchführen einer Fehlerkorrektur mittels des nichtbinären LDPC-Fehler-Korrektur-Codes und Detektieren von Restfehlern mittels des Fehler-Detektions-Codes, wobei ein Codewort, für das ein Fehler detektiert wird, als verloren angesehen und als Löschung markiert wird, und
- – falls eine hinreichende Menge an Codewort-Paketen empfangen worden ist, Dekodieren der empfangenen Codewort-Pakete zum Rückgewinnen der Nachricht, und zwar mittels einer Paritätsprüfmatrix,
- – wobei das Schützen der n Codewort-Pakete mittels eines nichtbinären LDPC-Codes vorgenommen wird, der wie folgt definiert ist:
- – eine Anzahl b der variablen Knoten hat einen
Grad 2, was bedeutet, dass von jedem dieser b variablen Knoten zwei Kanten ausgehen, wobei b (i) gleich m/2 oder höchstens m/2 ist oder (ii) die jeweils vorausgehende ganze Zahl ist, welche kleiner als m/2 ist; und - – sämtliche der b variablen Knoten sind getrennt, was bedeutet, dass hinsichtlich sämtlicher b variablen Knoten die von jedem der b variablen Knoten ausgehenden Kanten mit jeweiligen unterschiedlichen Prüf-Knoten verbunden sind, und
- – wobei das Dekodieren der empfangenen Codewort-Pakete durch Berücksichtigen derjenigen Spalten der Paritätsprüfmatrix, die den gelöschten Codewort-Paketen zugeordnet sind, und durch Lösen der folgenden Gleichung durchgeführt wird:
- – wobei einen Vektor bezeichnet, der die gelöschten Codewort-Pakete enthält, xk einen Vektor bezeichnet, der die korrekt empfangenen Codewort-Pakete enthält, die Sub-Matrix ist, die aus den Spalten in der Paritätsprüfmatrix zusammengesetzt ist, die den gelöschten Codewort-Paketen entsprechen, Hk die Sub-Matrix der Paritätsprüfmatrix bezeichnet, die aus den Spalten der Paritätsprüfmatrix zusammengesetzt ist, die den korrekt empfangenen Codewort-Paketen entsprechen, und das hochgestellte T die Transponierte der jeweiligen Matrix bezeichnet.
- - on the sender page:
- Dividing the message to be transmitted into k information packets of L bits each,
- Encoding the k information packets into n codeword packets of L bits each, where n is greater than k and
- - where m = n - k parity packets are generated, and
- Protecting the n codeword packets by means of a non-binary LDPC error detection and test code,
- - where the LDPC code is defined by
- A number n of variable nodes, this number being identical to the number n of codeword packets, each variable node having one degree and the grades of the variable nodes being the same or different,
- - a number m of check nodes, and
- Edges connecting the variable nodes to the check nodes, the number of edges going off each of the variable nodes being the same or different, and the number of edges going off each of the check nodes being equal to or different is different
- Transmitting the n codeword packets from the transmitter to the receiver via the communication medium, and
- - on the receiver side
- For each of the transmitted codeword packets, performing error correction by means of the non-binary LDPC error correction code and detecting residual errors by means of the error detection code, a codeword for which an error is detected being considered lost and Deletion is marked, and
- If a sufficient number of codeword packets have been received, decoding the received codeword packets to recover the message by means of a parity check matrix,
- - wherein the protection of the n codeword packets is performed by means of a non-binary LDPC code, which is defined as follows:
- A number b of the variable nodes has a
degree 2, which means that two edges emanate from each of these b variable nodes, where b (i) equals m / 2 or at most m / 2 or (ii) the respective preceding integer is less than m / 2; and - All of the b variable nodes are separated, which means that with respect to all the b variable nodes, the edges originating from each of the b variable nodes are connected to respective different test nodes, and
- Wherein the decoding of the received codeword packets is performed by considering those columns of the parity check matrix associated with the deleted codeword packets and by solving the following equation:
- - in which denotes a vector containing the deleted codeword packets, x k denotes a vector containing the correctly received codeword packets, is the sub-matrix composed of the columns in the parity-check matrix corresponding to the deleted codeword packets, H k denotes the sub-matrix of the parity-check matrix composed of the columns of the parity-check matrix corresponding to the correctly received codeword packets and the superscript T denotes the transpose of the respective matrix.
Gemäß der Erfindung wird eine spezifische Verwendung einer speziellen Klasse nichtbinärer LDPC-Codes vorgeschlagen, die eine hohe Leistung hinsichtlich der Codewort-Fehlerrate (CER) und einen niedrigen Error Floor bietet.According to the invention, a specific use of a particular class of non-binary LDPC codes is proposed which offers high performance in terms of codeword error rate (CER) and low error floor.
Gemäß der Erfindung wird eine teilweise strukturierte Gesamtheit nichtbinärer LDPC-Codes auf dem Packet-Level verwendet, bei der getrennte Variable Nodes (VNs) des Grads –2 benutzt werden. Insbesondere wird gemäß der Erfindung der verwendete nichtbinäre LDPC-Code wie folgt definiert:
- – Eine Anzahl b der variablen Knoten hat einen
Grad 2, was bedeutet, dass von jedem dieser b variablen Knoten zwei Kanten ausgehen, wobei b (i) gleich m/2 oder höchstens m/2 ist oder (ii) die jeweils vorausgehende ganze Zahl ist, welche kleiner als m/2 ist (d. h. durch Verwenden der mathematischen Abrundungsfunktion von m/2; - – sämtliche der b variablen Knoten sind getrennt, was bedeutet, dass hinsichtlich sämtlicher b variablen Knoten die von jedem der b variablen Knoten ausgehenden Kanten mit jeweiligen unterschiedlichen Prüf-Knoten verbunden sind;
- – folglich ist jede Kanten-Permutation für Kanten erlaubt, die von VNs eines sich
von 2 unterscheidenden Grads ausgehen; - – folglich bedeutet eine Kante, die einen VN mit einem CN verbindet, dass in der entsprechenden Position der Paritätsprüfmatrix H kein Nicht-Null-Symbol des Galois-Felds existiert, an dem der Code gebildet ist; und
- – die Anzahl der VNs sowie der CNs kann gerade oder ungerade sein.
- A number b of the variable nodes has a
degree 2, which means that two edges originate from each of these b variable nodes, where b (i) is equal to m / 2 or at most m / 2 or (ii) the respective preceding integer which is smaller than m / 2 (that is, by using the mathematical rounding function of m / 2; - All of the b variable nodes are separated, which means that, with respect to all the b variable nodes, the edges originating from each of the b variable nodes are connected to respective different check nodes;
- Thus, any edge permutation is allowed for edges starting from VNs of a degree different from 2;
- Consequently, an edge connecting a VN to a CN means that in the corresponding position of the parity check matrix H there is no non-zero symbol of the Galois field on which the code is formed; and
- - The number of VNs and CNs can be even or odd.
Gemäß einer bevorzugten Ausführungsform ist für die variablen Knoten außer den genannten b variablen Knoten, die einen Grad 2 haben, jede Kanten-Permutation erlaubt. Auch diese anderen variablen Knoten dürfen keinen Grad 2 haben, können jedoch getrennt sein oder auch nicht.According to a preferred embodiment, for the variable nodes other than said b variable nodes having a
Im Folgenden wird die Erfindung anhand der Zeichnungen detaillierter beschrieben. Es zeigen:In the following the invention will be described in more detail with reference to the drawings. Show it:
Wie im Folgenden aufgezeigt wird, wird mit nichtbinären LDPC-Codes aus einer bestimmten Klasse teilweise strukturierter Gesamtheiten eine sehr gute Leistung hinsichtlich der Codewort-Fehlerraten und ein niedriger Error Floor erzielt. Ferner wird mit diesen Codes die Leistung ihrer binären Gegenstücke verbessert. Im Zusammenhang mit der folgenden Ausführungsform wird ein Übertragungsschema beschrieben, das auf nichtbinären LDPC-Codes basiert, die einer teilweise strukturierten Gesamtheit entnommen werden.As will be shown below, nonbinary LDPC codes from a particular class of partially structured entities achieve very good performance in terms of codeword error rates and low error floor. Furthermore, these codes improve the performance of their binary counterparts. In the context of the following embodiment, a transmission scheme based on non-binary LDPC codes taken from a partially structured entity will be described.
InsbesondereEspecially
-
– existieren m/2 variable Knoten des Grades 2 (gezeigt im oberen Bereich von
4 ),- m / 2variable degree 2 nodes exist (shown at the top of4 ) -
– sind sämtliche VNs des Grades 2 getrennt, d. h. sie haben keine gemeinsamen Nachbarn (bei den Nachbarn eines VN handelt es sich um die CNs, die mit diesem durch eine Kante verbunden sind),- all
grade 2 VNs are separated, i. H. they have no common neighbors (the neighbors of a VN are the CNs connected to it by an edge), - – so dass jede Kanten-Permutation für eine Kante zulässig ist, die von Rest-VNs abgeht (d. h. außerhalb der Gruppe von m/2 getrennten VNs des Grads 2), die typischerweise einen Grad haben, der sich von 2 unterscheidet und die getrennt sein können oder nicht,So that each edge permutation is allowed for an edge going off of residual VNs (ie, outside the group of m / 2 separate VNs of degree 2), which typically have a degree different from 2 and which are separate can or not,
- – ist eine Kante, die ein VN mit einem CN verbindet, dahingehend zu verstehen, dass in der entsprechenden Position der Paritätsprüfmatrix kein Nicht-Null-Symbol des Galois-Felds existiert, an dem der Code gebildet ist.An edge connecting a VN to a CN is to be understood as meaning that in the corresponding position of the parity check matrix there is no non-zero symbol of the Galois field on which the code is formed.
Mit der Erfindung wird eine Klasse nichtbinärer, teilweise strukturierterer LDPC-Codes vorgeschlagen, die zu einer hohen Leistung und niedrigen Error-Floors führt. Deshalb erscheint die vorgeschlagene Lösung bei Übertragungssystemen, bei denen derartige Merkmale erforderlich sind, sehr attraktiv. Insbesondere werden die Menge an VNs des Grades 2 und deren Konnektivität sorgfältig geprüft.The invention proposes a class of nonbinary, partially structured LDPC codes that results in high performance and low error floors. Therefore, the proposed solution appears very attractive in transmission systems where such features are required. In particular, the amount of
Die erhaltenen Leistungskurven wurden gegenüber der Singleton-Begrenzung geprüft, eine untere Begrenzung der Block-Fehlerwahrscheinlichkeit jeglichen (n, k) linearen Block-Codes. Anzumerken ist, dass der binäre Code in seiner Leistung von den nichtbinären Codes übertroffen wird. Ferner nähert sich sogar bei einer kurzen Codewort-Länge n = 256 die Leistung der nichtbinären Codes eng an die Singleton-Begrenzung an, und für einen Code auf dem GF(16) ist abwärts bis mindestens 10–8 kein Error-Floor für CER sichtbar.The obtained power curves were tested against the singleton boundary, a lower bound on the block error probability of any (n, k) linear block code. It should be noted that the binary code is outperformed by non-binary codes. Further, even with a short codeword length n = 256, the performance of the non-binary codes closely approximates the singleton boundary, and for a code on the GF (16), no error floor for CER is visible down to at least 10 -8 ,
Die vorgeschlagene Klasse nichtbinärer LDPC-Codes kann in jedem kommerziellen drahtlosen und drahtgebundenen Übertragungssystem verwendet werden. Wie hier aufgezeigt wurde, bietet das vorgeschlagene Übertragungsschema bereits bei Galois-Feldern niedriger Ordnung, d. h mit niedriger Komplexität, hohe Leistungen, so dass es auch bei Plattformen mit niedriger Rechenleistung angewendet werden kann.The proposed class of non-binary LDPC codes can be used in any commercial wireless and wireline transmission system. As pointed out here, the proposed transmission scheme already offers low-order Galois fields, i. h with low complexity, high performance, so that it can also be applied to low-performance platforms.
Liste der verwendeten AbkürzungenList of abbreviations used
-
- PECPEC
- Paketlöschkanal (Packet Erasure Channel)Packet Erase Channel (Packet Erasure Channel)
- LDPCLDPC
- Paritätprüfung (Code) mit niedriger Dichte (Low-density parity-check (code))Parity check (code) with low density (Low-density parity-check (code))
- GFGF
- Galois-FeldGalois field
- MLML
- höchste Wahrscheinlichkeit (maximum-likelihood)highest probability (maximum-likelihood)
- CRCCRC
- zyklische Redundanzprüfung (Cyclic Redundancy Check)cyclic redundancy check (Cyclic Redundancy Check)
- CERCERIUM
- Codewort-Fehlerrate (Codeword Error Rate)Codeword Error Rate
- CNCN
- Prüf-Knoten (Check Node)Check node (check node)
- VNVN
- variabler Knoten (variable Node) variable node (variable node)
Literaturliterature
- [1] J. Byers, M. Luby, M. Mitzenmacher, und A. Rege, ”A digital fountain approach to reliable distribution of bulk data”, SIGCOMM Comput. Commun. Rev., vol. 28, no. 4, Seiten 56–67, Okt. 1998[1] J. Byers, M. Luby, M. Mitzenmacher, and A. Rege, "A digital fountain approach to reliable distribution of bulk data", SIGCOMM Comput. Commun. Rev., vol. 28, no. 4, pages 56-67, Oct. 1998
- [2] G. Garrammone, B. Matuz, ”Short Erasure Correcting LDPC IRA Codes over GF(q)”, GLOBECOM 2010, Seiten 1–5[2] G. Garrammone, B. Matuz, "Short Erasure Correcting LDPC IRA Codes over GF (q)", GLOBECOM 2010, pages 1-5
- [3] G. Garrammone, E. Paolini, B. Matuz, G. Liva, M. Chiani, ”Non-Binary Low-Density Parity-Check Codes for the q-ary Erasure Channel”, IEEE International Conference on Communications (ICC), Jun. 2013, Budapest, Ungarn[3] G. Garrammone, E. Paolini, B. Matuz, G. Liva, M. Chiani, "Non-Binary Low-Density Parity-Check Codes for the q-ary Erasure Channel", IEEE International Conference on Communications (ICC ), Jun. 2013, Budapest, Hungary
- [4] ”Kanalkodierung”, 3. Auflage, Prof. Dr.-Ing. Martin Bossert, Oldenbourg Wissenschaftsverlag 2013, Seiten 126–129[4] "Channel Coding", 3rd edition, Prof. Dr.-Ing. Martin Bossert, Oldenbourg Wissenschaftsverlag 2013, pages 126-129
- [5] ”Low-Density-Parity-Check-Codes” – Eine Einführung, Tilo Strutz, 2010–2013, 26. Februar 2013[5] "Low Density Parity Check Codes" - An Introduction, Tilo Strutz, 2010-2013, February 26, 2013
- [6] T. Richardson, A. Shokrollahi, R. Urbanke, ”Finite-length Analysis of various low-density parity-check codes for the binary erasure channel”, IEEE International Symposium on Information Theory (ISIT), 2002, Lausanne, Schweiz[6] T. Richardson, A. Shokrollahi, R. Urbanke, "Finite-length Analysis of Various Low-Density Parity-check Codes for the Binary Erasure Channel", IEEE International Symposium on Information Theory (ISIT), 2002, Lausanne, Switzerland
- [7] Klinc, D., Ha, J.; McLaughlin, S. W.: Optimized Puncturing and Shortening Distributions for Nonbinary LDPC Codes over the Binary Erasure Channel. In: 46th Annual Allerton Conference on Communication, Control and Computing, 2008, S. 1053–1058[7] Klinc, D., Ha, J .; McLaughlin, SW: Optimized Puncturing and Shortening Distributions for Nonbinary LDPC Codes over the Binary Erasure Channel. In: 46 th Annual Allerton Conference on Communication, Control and Computing, 2008, pp 1053-1058
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013213778.8A DE102013213778B3 (en) | 2013-07-15 | 2013-07-15 | A method for transmitting a message from a transmitter to a receiver via a communication medium by means of packet-level coding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102013213778.8A DE102013213778B3 (en) | 2013-07-15 | 2013-07-15 | A method for transmitting a message from a transmitter to a receiver via a communication medium by means of packet-level coding |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102013213778B3 true DE102013213778B3 (en) | 2014-12-11 |
Family
ID=52009252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102013213778.8A Active DE102013213778B3 (en) | 2013-07-15 | 2013-07-15 | A method for transmitting a message from a transmitter to a receiver via a communication medium by means of packet-level coding |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102013213778B3 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014208996B3 (en) * | 2014-05-13 | 2015-11-05 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Procedure for recovering lost and / or corrupted data |
-
2013
- 2013-07-15 DE DE102013213778.8A patent/DE102013213778B3/en active Active
Non-Patent Citations (4)
Title |
---|
GARRAMMONE, G.; MATUZ, B.: Short Erasure Correcting LDPC IRA Codes over GF(q). In: IEEE Global Telecommunications Conference, 2010, S. 1-5. - ISBN 978-1-4244-5636-9 * |
GARRAMMONE, G.; MATUZ, B.: Short Erasure Correcting LDPC IRA Codes over GF(q). In: IEEE Global Telecommunications Conference, 2010, S. 1-5. – ISBN 978-1-4244-5636-9 |
KLINC, D.; HA, J.; McLAUGHLIN, S. W.: Optimized Puncturing and Shortening Distributions for Nonbinary LDPC Codes over the Binray Erasure Channel. In: 46th Annual Allerton Conference on Communication, Control and Computing, 2008, S. 1053-1058. - ISBN 978-1-4244-2925-7 * |
KLINC, D.; HA, J.; McLAUGHLIN, S. W.: Optimized Puncturing and Shortening Distributions for Nonbinary LDPC Codes over the Binray Erasure Channel. In: 46th Annual Allerton Conference on Communication, Control and Computing, 2008, S. 1053-1058. – ISBN 978-1-4244-2925-7 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014208996B3 (en) * | 2014-05-13 | 2015-11-05 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Procedure for recovering lost and / or corrupted data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102009017540B4 (en) | Procedure for recovering lost and / or damaged data | |
DE60206419T2 (en) | DELETION AND INDIVIDUAL ERROR CORRECTION DEVICER FOR LINEAR BLOCK CODES | |
DE102010035210B4 (en) | Method for recovering lost data and correcting corrupted data | |
DE102017110389B4 (en) | Method and decoder for soft input decoding of generalized chained codes | |
DE112019004925T5 (en) | BURST FAULT TOLERANTER DECODER AND ASSOCIATED SYSTEMS, PROCEDURES AND DEVICES | |
DE602004009706T2 (en) | BELIEF SPREADING DECODER WHICH REMOVES THE REPLACEMENT OF UNCERTAIN MESSAGES | |
DE102013213778B3 (en) | A method for transmitting a message from a transmitter to a receiver via a communication medium by means of packet-level coding | |
DE102009035921A1 (en) | Decoder for error correction codes | |
DE102014208996B3 (en) | Procedure for recovering lost and / or corrupted data | |
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 | |
DE102014204828B4 (en) | Procedure for recovering lost and / or corrupted data | |
DE102013201422B3 (en) | Method for restoring lost and/or damaged data transmitted from transmitting device to receiving device, involves replacing current entry of LDPC parity check matrix with entry of Galois field until entry in matrix is modified | |
DE102013218311B4 (en) | Procedure for recovering lost and / or damaged data | |
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 | |
DE102014214451B4 (en) | Procedure for recovering lost and / or corrupted data | |
EP2654209B1 (en) | Method and device for determining of a bit error rate for serial concatenated LDPC and block codes | |
DE102013223413B4 (en) | Procedure for recovering lost and / or corrupted data | |
DE102013219863B4 (en) | A method of transmitting a message from a sender to a receiver via a communication medium using packet-level encoding | |
DE102011111835B4 (en) | Procedure for recovering lost and / or damaged data | |
DE102011115100B3 (en) | Method for restoring lost and/or corrupted data, involves fragmenting output symbols of encoder to fit frame in physical layer, such that received fragments are set as output symbols of parallel encoders | |
DE102014210955B4 (en) | Procedure for recovering lost and / or corrupted data | |
DE102013223801B4 (en) | Procedure for recovering lost and / or corrupted data | |
DE102014215478B4 (en) | Method for transmitting data | |
DE102017206718B4 (en) | Method for generating a class of non-binary LDPC codes | |
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 |
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 |