DE102017206718B4 - Method for generating a class of non-binary LDPC codes - Google Patents

Method for generating a class of non-binary LDPC codes Download PDF

Info

Publication number
DE102017206718B4
DE102017206718B4 DE102017206718.7A DE102017206718A DE102017206718B4 DE 102017206718 B4 DE102017206718 B4 DE 102017206718B4 DE 102017206718 A DE102017206718 A DE 102017206718A DE 102017206718 B4 DE102017206718 B4 DE 102017206718B4
Authority
DE
Germany
Prior art keywords
matrix
elements
code
parity check
mathematical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102017206718.7A
Other languages
German (de)
Other versions
DE102017206718A1 (en
Inventor
Balázs Matuz
Tudor Ninacs
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Publication of DE102017206718A1 publication Critical patent/DE102017206718A1/en
Application granted granted Critical
Publication of DE102017206718B4 publication Critical patent/DE102017206718B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1191Codes on graphs other than LDPC codes
    • H03M13/1194Repeat-accumulate [RA] codes
    • H03M13/1197Irregular repeat-accumulate [IRA] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)

Abstract

Verfahren zur Erzeugung einer Klasse von non-binary LDPC-Codes mit einer vorgebbaren Anzahl von Check Nodes und mit einer vorgebbaren Anzahl von Variable Nodes zur Datenübertragung mit PSK-Modulation über einen nicht-kohärenten Kanal mit den folgenden Schritten- Konkatenieren eines äußeren Codes und eines inneren Codes, wobei sich der äußere Code über einen mathematischen Körper der Ordnung q erstreckt und der innere Code über einen mathematischen Ring ebenfalls der Ordnung q ausgelegt ist und wobei ein Symbol des äußeren Codes auf ein Symbol des inneren Codes abgebildet wird,- Vorgeben eines Protographs, der durch eine Basismatrix definiert ist, deren Zeilenanzahl gleich der Anzahl an Check Nodes des Protographs und deren Spaltenanzahl gleich der Anzahl an Variable Nodes des Protographs ist und deren ganzzahlige Elemente die Verbindung der Check Nodes mit den Variable Nodes beschreibt,- schrittweises Expandieren der Basismatrix zur Erstellung einer den zu erzeugenden LDPC-Code beschreibenden Parity-Check Matrix,- wobei jedes Element der Basismatrix bzw. der in dem jeweils vorherigen Schritt expandierten Matrix durch eine Matrix ersetzt wird, deren Zeilen-/Spalten-Gewichtung gleich dem zu ersetzenden Element ist,- wobei die Expansion solange durchgeführt wird, bis die vorgegebene Größe der Parity-Check Matrix erreicht ist und alle Elemente in der resultierenden Matrix entweder den Wert 1 oder 0 besitzen,- wobei die Basismatrix und jede jeweils expandierte Matrix einen quadratischen hinteren Matrixteil, dessen Zeilenanzahl gleich der Spaltenanzahl ist, und einen nicht quadratischen vorderen Matrixteil aufweist,- wobei die Elemente des vorderen Matrixteils der Basismatrix frei wählbare ganze Zahlen sind, die in dem vorderen Teil der resultierenden expandierten Matrix durch Expansion entweder in den Wert 1 oder 0, umgewandelt und danach durch ganzzählige Elemente aus einem mathematischen Körper ersetzt werden, um den vorderen Teil der Parity-Check Matrix zu erzeugen, wobei diese Elemente die Symbole des äußeren Codes beschreiben,- wobei der quadratische hintere Matrixteil der Basismatrix ausschließlich Elemente enthält, die entweder 0, 1 oder 2 sind und die so angeordnet sind, dass der resultierende quadratische hintere Matrixteil des Parity-Check Matrix nach schrittweisem Expandieren der Basismatrix eine Doppeldiagonalen-Struktur aufweist, wobei die Doppeldiagonale ausschließlich Elemente mit dem Wert 1 aufweist und wobei außerhalb der Doppeldiagonalen ausschließlich Elemente mit dem Wert 0 existieren, wobei diese Elemente Elemente aus einem mathematischen Ring sind und die Symbole des inneren Codes beschreiben,- wobei die Elemente des vorderen Matrixteils der Parity-Check Matrix, zur Durchführung von mathematischen Operationen in Körperalgebra vorgesehen sind und- wobei die Elemente des hinteren Matrixteils der Parity-Check Matrix, zur Durchführung von mathematischen Operationen in Ringalgebra vorgesehen sind und einen Phasenakkumulator für den nichtkohärenten Kanal implementieren.Method for generating a class of non-binary LDPC codes with a predeterminable number of check nodes and with a predeterminable number of variable nodes for data transmission with PSK modulation over a non-coherent channel with the following steps - concatenating an outer code and one inner code, whereby the outer code extends over a mathematical body of order q and the inner code is designed over a mathematical ring, also of order q, and where a symbol of the outer code is mapped onto a symbol of the inner code, - specifying a protograph , which is defined by a base matrix whose number of rows is equal to the number of check nodes of the protograph and whose number of columns is equal to the number of variable nodes of the protograph and whose integer elements describe the connection of the check nodes to the variable nodes, - gradual expansion of the base matrix to create a parity check matrix describing the LDPC code to be generated, - each element of the base matrix or the matrix expanded in the previous step is replaced by a matrix whose row/column weighting is equal to the element to be replaced ,- where the expansion is carried out until the specified size of the parity check matrix is reached and all elements in the resulting matrix have either the value 1 or 0,- where the base matrix and each expanded matrix have a square rear matrix part, whose Number of rows is equal to the number of columns, and has a non-square front matrix part, - the elements of the front matrix part of the base matrix being freely selectable integers which are converted into either the value 1 or 0 in the front part of the resulting expanded matrix by expansion and are then replaced by integer elements from a mathematical body in order to generate the front part of the parity check matrix, these elements describing the symbols of the outer code, - the square rear matrix part of the base matrix only containing elements that are either 0, 1 or 2 and which are arranged in such a way that the resulting square rear matrix part of the parity check matrix has a double diagonal structure after the base matrix has been gradually expanded, the double diagonal only having elements with the value 1 and outside the double diagonal only having elements with the Value 0 exist, whereby these elements are elements from a mathematical ring and describe the symbols of the inner code, - where the elements of the front matrix part of the parity check matrix are intended for carrying out mathematical operations in body algebra and - where the elements of the rear Matrix part of the parity check matrix, intended for performing mathematical operations in ring algebra and implementing a phase accumulator for the non-coherent channel.

Description

Die Erfindung betrifft ein Verfahren zur Erzeugung einer Klasse von non-binary LDPC-Codes mit einer vorgebbaren Anzahl von Check Nodes und mit einer vorgebbaren Anzahl von Variable Nodes, insbesondere zur Verwendung für die Datenübertragung in Kanälen mit Phasenrauschen (nichtkohärente Kanäle).The invention relates to a method for generating a class of non-binary LDPC codes with a predeterminable number of check nodes and with a predeterminable number of variable nodes, in particular for use for data transmission in channels with phase noise (non-coherent channels).

LDPC-Codes wurden ursprünglich 1963 von Gallager [3] vorgeschlagen, gerieten jedoch über längere Zeit hinweg in Vergessenheit. Es dauerte bis zur Mitte der 1990er Jahre, bis ihr Potential anerkannt wurde. Seitdem wurde auf dem Gebiet der LDPC-Codes ein intensiver Forschungsaufwand mit dem Ziel betrieben, die Code-Leistungsfähigkeit zu verbessern, dabei jedoch die Komplexität des Codierens und Decodierens niedrig zu halten. Dies kulminierte in der Entdeckung der protograph-basierten LDPC-Codes, die zu den am besten bekannten binären Codes zählen (zumindest für mäßig lange bis hin zu langen Blöcken). Generell handelt es sich bei einem Protograph um einen bipartiten Graph mit einer relativ geringen Anzahl von Nodes, wobei mehrere parallele Ränder zwischen Variable Nodes (VN) und Check Nodes (CN) zulässig sind. Der Protograph dient als Blaupause für größere Graphs (und somit längere Codes), die erhalten werden durch

  • - mehrfaches Kopieren des Protograph zum Erhalt von f Instanzen (wobei f entsprechend der Ziel-Blocklänge frei gewählt ist und als Expansionsfaktor bezeichnet wird),
  • - Permutieren der Ränder unter den Kopien derart, dass die Umgebung jedes VN und CN beibehalten wird.
LDPC codes were originally proposed by Gallager [3] in 1963, but were forgotten for a long time. It took until the mid-1990s for their potential to be recognized. Since then, intensive research has been conducted in the field of LDPC codes with the aim of improving code performance while keeping the complexity of encoding and decoding low. This culminated in the discovery of the protograph-based LDPC codes, which are among the best known binary codes (at least for moderate to long blocks). In general, a protograph is a bipartite graph with a relatively small number of nodes, with several parallel edges between variable nodes (VN) and check nodes (CN) permitted. The Protograph serves as a blueprint for larger graphs (and thus longer codes) obtained by
  • - multiple copies of the Protograph to obtain f instances (where f is freely chosen according to the target block length and is referred to as the expansion factor),
  • - Permute the edges among the copies such that the environment of each VN and CN is preserved.

Abgesehen von der Wiedergabe als bipartiter Graph kann ein Protograph auch mittels seiner Basismatrix B beschrieben werden. Beispielsweise lässt sich der Protograph mit folgender Basismatrix vorstellen: B = [ 1 2 0 1 0 2 ]

Figure DE102017206718B4_0001
Apart from being represented as a bipartite graph, a protograph can also be described using its basis matrix B. For example, the protograph can be imagined with the following basic matrix: b = [ 1 2 0 1 0 2 ]
Figure DE102017206718B4_0001

Der entsprechende Graph ergibt sich in der in 1 gezeigten Form, und eine einfache Expansion kann wie in 2 gezeigt ausgebildet sein.The corresponding graph results in the in 1 form shown, and a simple expansion can be done as in 2 be trained as shown.

Zu beachten ist, dass nach dem Kopier- und Permutationsschritt jedes VN vom Typ A mit einem CN vom Typ A und B wie in der Original-Basismatrix gekoppelt ist. Das gleiche gilt für die übrigen VNs und CNs. Somit wird die Umgebung nach der Expansion beibehalten.Note that after the copy and permutation step, each VN of type A is coupled with a CN of types A and B as in the original basis matrix. The same applies to the remaining VNs and CNs. Thus, the environment is maintained after expansion.

Dank ihrer sehr guten Leistungsfähigkeit, ihrer geringen Komplexität beim Codieren und Decodieren sowie ihrer geringen Implementationskomplexität sind Irregular Repeat Accumulate (IRA)-Codes eine populäre Wahl unter den LDPC-Codes. Ein IRA-Code kann erhalten werden durch Repetieren der Informationssymbole in unregelmäßiger Weise, Addieren der Repetierungen und Übermitteln des Ergebnisses an einen Akkumulator. Tatsächlich können IRA-Codes auch als Protographen in der in 2 gezeigten Form wiedergegeben werden.Thanks to their very good performance, low encoding and decoding complexity, and low implementation complexity, Irregular Repeat Accumulate (IRA) codes are a popular choice among LDPC codes. An IRA code can be obtained by repeating the information symbols in an irregular manner, adding the repetitions and sending the result to an accumulator. In fact, IRA codes can also be used as protographs in the in 2 shown form.

Im Stand der Technik existieren zahlreiche Protographen (ARA-artig, IRA-artig oder andere). Diese Protographen werden üblicherweise nicht zur Übertragung über nichtkohärente Kanäle, d.h. Überkanäle, für welche die Phaseninformation am Empfänger nicht bekannt ist, verwendet. Somit zeigen die LDPC-Codes auf derartigen Kanälen normalerweise eine schwache Leistungsfähigkeit. Mit den hier präsentierten Protographen wird eine Lösung dieses Problems vorgeschlagen.Numerous protographs (ARA-like, IRA-like or others) exist in the prior art. These protographs are usually not used for transmission over non-coherent channels, i.e. over-channels for which the phase information is not known at the receiver. Thus, the LDPC codes on such channels usually show poor performance. A solution to this problem is proposed with the protographs presented here.

Ein Verfahren zur Erzeugung einer Klasse von non-binary LDPC-Codes mit einer vorgebbaren Anzahl von Check Nodes und mit einer vorgegebenen Anzahl von Variable Nodes ist aus US 2013/0013983 A1 bekannt. Bei diesem Verfahren wird ein Protograph vorgegeben, der durch eine Basismatrix definiert ist, deren Zeilenanzahl gleich der Anzahl an Check Nodes des Protographs und deren Spaltenanzahl gleich der Anzahl an Variable Nodes des Protographs ist und deren ganzzahligen Elemente die Verbindung der Check Nodes mit den Variable Nodes beschreibt. Die Basismatrix wird dabei zur Erstellung einer den zu erzeugenden LDPC-Code beschreibenden Parity-Check-Matrix schrittweise expandiert, indem jedes Element der Basismatrix bzw. der in dem jeweils vorherigen Schritt expandierte Matrix durch eine Matrix ersetzt wird, deren Zeilen-/Spalten-Gewichtung gleich dem zu ersetzenden Element ist und die Expansion solange durchgeführt wird, bis die vorgegebene Größe der Parity-Check-Matrix erreicht ist und alle Elemente in der resultierenden Matrix entweder den Wert 1 oder 0 besitzen. Die Basismatrix und jede jeweils expandierte Matrix weist einen quadratischen hinteren Matrixteil, dessen Zeilenanzahl gleich der Spaltenanzahl ist, und einen nicht quadratischen vorderen Matrixteil auf. Die Elemente des vorderen Matrixteils der Basismatrix sind frei wählbare ganze Zahlen, die durch Expansion in entweder den Wert 1 oder 0 in dem vorderen Teil der resultierenden expandierten Matrix umgewandelt werden, die man danach durch ganzzahlige Elemente aus einem mathematischen Körper ersetzt, um den vorderen Teil der Parity-Check-Matrix zu erzeugen. Der quadratische hintere Matrixteil der Basismatrix enthält ausschließlich Elemente, die entweder 0, 1 oder 2 sind und die so angeordnet sind, dass nach schrittweisem Expandieren der Basismatrix der resultierende quadratische hintere Matrixteil der Parity-Check-Matrix eine Doppeldiagonal-Struktur aufweist, wobei die Doppeldiagonale ausschließlich Elemente mit dem Wert 1 aufweist und wobei außerhalb der Doppeldiagonalen ausschließlich Elemente mit dem Wert 0 existieren. Bei dem bekannten Verfahren werden für sowohl den vorderen als auch den hinteren Matrixteil ausschließlich Operationen in Körperalgebra angewendet.A method for generating a class of non-binary LDPC codes with a predetermined number of check nodes and with a predetermined number of variable nodes is available US 2013/0013983 A1 known. In this method, a protograph is specified which is defined by a base matrix, the number of rows of which is equal to the number of check nodes of the protograph and the number of columns of which is equal to the number of variable nodes of the protograph and whose integer elements are the connection of the check nodes to the variable nodes describes. The base matrix is expanded step by step to create a parity check matrix describing the LDPC code to be generated by replacing each element of the base matrix or the matrix expanded in the previous step with a matrix whose row/column weighting is equal to the element to be replaced and the expansion is carried out until the specified size of the parity check matrix is reached and all elements in the resulting matrix have the value either 1 or 0. The base matrix and each expanded matrix have a square rear matrix part, the number of rows of which is equal to the number of columns, and a non-square front matrix part. The elements of the front matrix part of the base matrix are arbitrary integers that are converted by expansion to either the value 1 or 0 in the front part of the resulting expanded matrix, which are then replaced by integer elements from a mathematical field to form the front part to generate the parity check matrix. The square back matrix part of the base matrix contains only elements that are either 0, 1 or 2 and which are arranged in such a way that after gradually expanding the base matrix, the resulting square back matrix part of the parity Check matrix has a double diagonal structure, where the double diagonal only has elements with the value 1 and where outside the double diagonal only elements with the value 0 exist. In the known method, only body algebra operations are used for both the front and back parts of the matrix.

[2] gibt einen Überblick über verschiedene binäre Codes für den AWGN Kanal. Einige dieser Codes beinhalten einen Akkumulator und lassen sich als Protographen mit einer entsprechenden Base Matrix darstellen.[2] gives an overview of different binary codes for the AWGN channel. Some of these codes contain an accumulator and can be represented as protographs with a corresponding base matrix.

In EP 2 843 844 A1 wir eine ternäre Modulation für Kanäle mit Phasenrauschen in Kombination mit spatially coupled LDPC Codes vorgeschlagen. Der LDPC Code wird bevorzugt als ternär in der Galois Körper Arithmetik angenommen.In EP 2 843 844 A1 We proposed a ternary modulation for channels with phase noise in combination with spatially coupled LDPC codes. The LDPC code is preferably assumed to be ternary in Galois body arithmetic.

[7] behandelt hybride LDCP Codes, d.h. LDPC Codes, deren Symbole zu verschiedenen Galois Feldern (beispielsweise binär und nicht binär), gehören. Der Fokus liegt hier auf dem AWGN Kanal.[7] deals with hybrid LDCP codes, i.e. LDPC codes whose symbols belong to different Galois fields (e.g. binary and non-binary). The focus here is on the AWGN channel.

In [8] werden Akkumulator-basierte nicht binäre LDPC Codes für den AWGN Kanal behandelt in der Galois Körper Algebra. Von der Struktur ist dies ähnlich zur Erfindungsmeldung, wobei in der Erfindungsmeldung der Akkumulator Ringalgebra annimmt.In [8], accumulator-based non-binary LDPC codes for the AWGN channel are treated in the Galois field algebra. In terms of structure, this is similar to the invention report, although in the invention report the accumulator assumes ring algebra.

Aufgabe der Erfindung ist es, mit geringem Aufwand und geringer Codier- und Decodier-Komplexität einen non-binary LDPC-Code anzugeben, der gute Eigenschaften auch für nicht-kohärente Kanäle hat.The object of the invention is to provide a non-binary LDPC code with little effort and low coding and decoding complexity that has good properties even for non-coherent channels.

Zur Lösung dieser Aufgabe wird mit der Erfindung ein Verfahren zur Erzeugung einer Klasse von non-binary LDPC-Codes mit einer vorgebbaren Anzahl von Check Nodes und mit einer vorgebbaren Anzahl von Variable Nodes, insbesondere zur Verwendung für die Datenübertragung in Kanälen mit Phasenrauschen (nicht-kohärente Kanäle), mit den folgenden Schritten vorgeschlagen:

  • - Konkatenieren eines äußeren Codes und eines inneren Codes, wobei sich der äußere Code über einen mathematischen Körper der Ordnung q erstreckt und der innere Code über einen mathematischen Ring ebenfalls der Ordnung q ausgelegt ist und wobei ein Symbol des äußeren Codes auf ein Symbol des inneren Codes abgebildet wird,
  • - Vorgeben eines Protographs, der durch eine Basismatrix definiert ist, deren Zeilenanzahl gleich der Anzahl an Check Nodes des Protographs und deren Spaltenanzahl gleich der Anzahl an Variable Nodes des Protographs ist und deren ganzzahlige Elemente die Verbindung der Check Nodes mit den Variable Nodes beschreibt,
  • - schrittweises Expandieren der Basismatrix zur Erstellung einer den zu erzeugenden LDPC-Code beschreibenden Parity-Check Matrix,
  • - wobei jedes Element der Basismatrix bzw. der in dem jeweils vorherigen Schritt expandierten Matrix durch eine Matrix ersetzt wird, deren Zeilen-/Spalten-Gewichtung gleich dem zu ersetzenden Element ist,
  • - wobei die Expansion solange durchgeführt wird, bis die vorgegebene Größe der Parity-Check Matrix erreicht ist und alle Elemente in der resultierenden Matrix entweder den Wert 1 oder 0 besitzen,
  • - wobei die Basismatrix und jede jeweils expandierte Matrix einen quadratischen hinteren Matrixteil, dessen Zeilenanzahl gleich der Spaltenanzahl ist, und einen nicht quadratischen vorderen Matrixteil aufweist,
  • - wobei die Elemente des vorderen Matrixteils der Basismatrix frei wählbare ganze Zahlen sind, die in dem vorderen Teil der resultierenden expandierten Matrix durch Expansion entweder in den Wert 1 oder 0, umgewandelt und danach durch ganzzahlige Elemente aus einem mathematischen Körper ersetzt werden, um den vorderen Teil der Parity-Check Matrix zu erzeugen, wobei diese Elemente die Symbole des äußeren Codes beschreiben,
  • - wobei der quadratische hintere Matrixteil der Basismatrix ausschließlich Elemente enthält, die entweder 0, 1 oder 2 sind und die so angeordnet sind, dass der resultierende quadratische hintere Matrixteil des Parity-Check Matrix nach schrittweisem Expandieren der Basismatrix eine Doppeldiagonalen-Struktur aufweist, wobei die Doppeldiagonale ausschließlich Elemente mit dem Wert 1 aufweist und wobei außerhalb der Doppeldiagonalen ausschließlich Elemente mit dem Wert 0 existieren, wobei diese Elemente Elemente aus einem mathematischen Ring sind und die Symbole des inneren Codes beschreiben,
  • - wobei die Elemente des vorderen Matrixteils der Parity-Check Matrix, zur Durchführung von mathematischen Operationen in Körperalgebra vorgesehen sind und
  • - wobei die Elemente des hinteren Matrixteils der Parity-Check Matrix, zur Durchführung von mathematischen Operationen in Ringalgebra vorgesehen sind und einen Phasenakkumulator für den nichtkohärenten Kanal implementieren.
To solve this problem, the invention provides a method for generating a class of non-binary LDPC codes with a predeterminable number of check nodes and with a predeterminable number of variable nodes, in particular for use for data transmission in channels with phase noise (non- coherent channels), with the following steps proposed:
  • - Concatenation of an outer code and an inner code, whereby the outer code extends over a mathematical body of order q and the inner code is designed over a mathematical ring, also of order q, and where a symbol of the outer code corresponds to a symbol of the inner code is depicted,
  • - specifying a protograph that is defined by a base matrix, the number of rows of which is equal to the number of check nodes of the protograph and the number of columns of which is equal to the number of variable nodes of the protograph and whose integer elements describe the connection of the check nodes to the variable nodes,
  • - gradual expansion of the base matrix to create a parity check matrix describing the LDPC code to be generated,
  • - where each element of the base matrix or the matrix expanded in the previous step is replaced by a matrix whose row/column weighting is equal to the element to be replaced,
  • - the expansion is carried out until the specified size of the parity check matrix is reached and all elements in the resulting matrix have either the value 1 or 0,
  • - whereby the base matrix and each expanded matrix have a square rear matrix part, the number of rows of which is equal to the number of columns, and a non-square front matrix part,
  • - where the elements of the front matrix part of the base matrix are freely selectable integers which are converted into the value either 1 or 0 by expansion in the front part of the resulting expanded matrix and are then replaced by integer elements from a mathematical field in order to form the front one To create part of the parity check matrix, where these elements describe the symbols of the outer code,
  • - wherein the square rear matrix part of the base matrix contains exclusively elements that are either 0, 1 or 2 and which are arranged such that the resulting square rear matrix part of the parity check matrix has a double diagonal structure after gradually expanding the base matrix, whereby the Double diagonal has only elements with the value 1 and where outside the double diagonal only elements with the value 0 exist, these elements being elements from a mathematical ring and describing the symbols of the inner code,
  • - wherein the elements of the front matrix part of the parity check matrix are intended for carrying out mathematical operations in body algebra and
  • - wherein the elements of the rear matrix part of the parity check matrix are intended to carry out mathematical operations in ring algebra and implement a phase accumulator for the non-coherent channel.

Gegenstand der Erfindung ist ein neuartiges Code-Design für non-binary LDPC-Codes, das auf mathematischen Operationen in Ring- und Feldalgebra basiert. Die Codes können durch ein Design eines Protographen [1] beschrieben werden, das es durch eine bestimmte Expansion (Lifting) und Punktierung ermöglicht, Forward Error Correction (FEC) Codes mit praktisch frei wählbarer Bitlänge zu erhalten. Bei korrekter Expansion ähneln die resultierenden Codes punktierten Irregular Repeat Accumulate (IRA) Codes [2]. Jedoch sind erfindungsgemäß sämtliche Operationen, die an dem Doppeldiagonal-Teil der Parity-Check Matrix des Codes durchgeführt werden, Gegenstand von Berechnungen über einen Ring, während sämtliche Berechnungen, die den Informationsteil der Parity Check Matrix betreffen, Gegenstand von Operationen über ein Feld (d.h. über einen Körper oder einen Ring) sind. Der Doppeldiagonal-Teil ist dahingehend konzipiert, dass er einen Phasenakkumulator für nicht kohärente Kanäle mit PSK-Modulationen implementiert. Aufgrund ihres speziellen Designs ermöglichen die Codes

  • - niedrige Codier-Komplexität (Codierer sind durch Akkumulatoren zu realisieren),
  • - niedrige Decodier-Komplexität (mindestens auf kohärenten Kanälen),
  • - gute Leistungsfähigkeit (z.B. hinsichtlich der Codeword Error Rate (CER) oder der Bit Error Rate (BER)) auf kohärenten und nicht kohärenten Additive White Gaussian Noise (AWGN) Kanälen.
The subject of the invention is a novel code design for non-binary LDPC codes, which is based on mathematical operations in ring and field algebra. The codes can be described by a design of a protograph [1], which makes it possible to obtain forward error correction (FEC) codes with practically freely selectable bit lengths through a certain expansion (lifting) and puncturing. When expanded correctly, the resulting codes resemble punctured Irregular Repeat Accumulate (IRA) codes [2]. However, according to the invention, all operations performed on the double diagonal part of the parity check matrix of the code are the subject of calculations over a ring, while all calculations affecting the information part of the parity check matrix are the subject of operations over a field (ie about a body or a ring). The double diagonal part is designed to implement a phase accumulator for non-coherent channels with PSK modulations. Due to their special design, the codes allow
  • - low coding complexity (encoders can be implemented using accumulators),
  • - low decoding complexity (at least on coherent channels),
  • - good performance (e.g. in terms of Codeword Error Rate (CER) or Bit Error Rate (BER)) on coherent and non-coherent Additive White Gaussian Noise (AWGN) channels.

Die Anzahl von Reihen eines Photograph sei mit m und die Anzahl von Spalten mit n bezeichnet, wobei n>=m. Es sei angenommen, dass n-m=k. Der folgende Satz von Protographen wird durch ihre Basismatrizen spezifiziert: B = [ I C  D ] ,

Figure DE102017206718B4_0002
wobei I eine k x k -Identitätsmatrix, D eine (m x m)-Matrix mit einem Reihen-/Spalten-Gewicht von 2 und C eine (m-k x k)-Matrix ist, deren Einträge von dem Code-Designer abhängen.Let the number of rows of a photographer be denoted by m and the number of columns by n, where n>=m. Assume that nm=k. The following set of protographs is specified by their base matrices: b = [ I C D ] ,
Figure DE102017206718B4_0002
where I is a kxk identity matrix, D is an (mxm) matrix with a row/column weight of 2, and C is a (mk xk) matrix whose entries depend on the code designer.

Als nächstes werden zwei mögliche Protographen, die von B abgeleitet sind, exemplifiziert. Es sei B 1 = [ 1 2 0 e 0 2 ]

Figure DE102017206718B4_0003
wobei e eine ganze Zahl außer Null ist, die vom Code-Designer zu spezifieren ist, und B 2 = [ 1 0 2 0 0 0 0 1 0 2 0 0 a b 0 0 2 0 c d 0 0 0 2 ] ,
Figure DE102017206718B4_0004
wobei die Parameter {a, b, c, d} dem Designer belassen sind und nicht negative, ganzzahlige Werte annehmen sollen. Die Werte für n, m, k sind n=3, m=2, k=1 und n=6, m=4, k=2 für B1 bzw. B2. Größere Matrizen werden aus B durch Expansion mit dem Expansionsfaktor f erhalten, was die Matrix E ergibt. Die Matrix E ist eine Zwischen-Matrix zwischen der Protograph-Matrix B und der Final Parity-Check Matrix H. Sie weist nur einzelne Verbindungen zwischen Variable und Check Nodes auf (Deshalb handelt es sich bei den einzigen Nicht-Null-Elementen, die sie enthält, um Einsen). Die Anzahl der Spalten beträgt N=f*n, und die Anzahl der Reihen beträgt M=f*m. Die Expansion kann in mehreren aufeinanderfolgenden Schritten vorgenommen werden, d.h. die Matrix E kann nach mehreren Expansionsschritten erhalten werden.Next, two possible protographs derived from B are exemplified. Be it b 1 = [ 1 2 0 e 0 2 ]
Figure DE102017206718B4_0003
where e is an integer other than zero to be specified by the code designer, and b 2 = [ 1 0 2 0 0 0 0 1 0 2 0 0 a b 0 0 2 0 c d 0 0 0 2 ] ,
Figure DE102017206718B4_0004
where the parameters {a, b, c, d} are left to the designer and should assume non-negative, integer values. The values for n, m, k are n=3, m=2, k=1 and n=6, m=4, k=2 for B 1 and B 2 , respectively. Larger matrices are obtained from B by expansion with the expansion factor f, yielding the matrix E. The matrix E is an intermediate matrix between the protograph matrix B and the final parity check matrix H. It has only single connections between variables and check nodes (which is why these are the only non-zero elements it contains to ones). The number of columns is N=f*n, and the number of rows is M=f*m. The expansion can be carried out in several successive steps, that is, the matrix E can be obtained after several expansion steps.

Es werden spezielle (finale) Expansionsregeln auferlegt:

  • - Die ganz rechts angeordneten m Spalten der Basismatrix B, d.h. die Matrix D, sollen derart expandiert werden, dass sich nach der Expansion eine doppelte diagonale Matrix ergibt, die den ganz rechts angeordneten M=m*f Spalten in E entspricht.
  • - Die Submatrix E, die aus den ersten K=k*f Spalten besteht, wird weiter verarbeitet. Jeder einzelne Eintrag wird durch ein Nicht-Null-Feldelement aus dem Galois-Feld (GF) der Ordnung q ersetzt, wobei q ein Design-Parameter ist. Nach diesem letzten Schritt besteht das Ergebnis in der Parity-Check-Matrix H eines Codes. Beide oben genannten Fälle (B1 und B2) können verwendet werden, um spezielle derartige Parity-Check-Matrizen zu erhalten.
Special (final) expansion rules are imposed:
  • - The rightmost m columns of the base matrix B, ie the matrix D, should be expanded in such a way that after the expansion a double diagonal matrix results, which corresponds to the rightmost M=m*f columns in E.
  • - The submatrix E, which consists of the first K=k*f columns, is further processed. Each individual entry is replaced by a non-zero field element from the Galois field (GF) of order q, where q is a design parameter. After this last step, the result is the parity check matrix H of a code. Both cases mentioned above (B 1 and B 2 ) can be used to obtain special such parity check matrices.

Die nach der Expansion erhaltene Matrix H soll eine serielle Konkatenation zweier Codes, eines äußeren Codes c0 und eines inneren Codes cl, beschreiben. Es werden die folgenden Restriktionen auferlegt. Der äußere Code c0 ist ein Code, der sich über ein Feld der Ordnung q erstreckt. Der innere Code cl soll über einen Ring der Ordnung q ausgelegt sein. Ein Feldsymbol des äußeren Codes soll auf ein Ringsymbol des inneren Codes abgebildet werden. Die Parity-Check Matrizen H für co und cl sind aus H ableitbar. Deshalb wird die folgende Struktur eingeführt, bei der H in zwei Sub-Matrizen aufgeteilt wird: H = [A|B].The matrix H obtained after the expansion is intended to describe a serial concatenation of two codes, an outer code c 0 and an inner code c l . The following restrictions are imposed. The outer code c 0 is a code that extends over a field of order q. The inner code c l should be designed over a ring of order q. A field symbol of the outer code should be mapped to a ring symbol of the inner code. The parity check matrices H for c o and c l can be derived from H. Therefore, the following structure is introduced in which H is divided into two sub-matrices: H = [A|B].

Dann lautet die Parity-Check Matrix des äußeren Codes H0 = [A|0] und diejenige des inneren Codes HI = [0|B], wobei 0 eine (m × 1)-Matrix ist. Zu beachten ist folgendes:

  • - Die Informationssymbole des inneren Codes können von dem Codierer weitergegeben werden (systematischer Code) oder punktiert werden (nicht systematischer Code). Bei nicht kohärenten Kanälen wird angenommen, dass die Info-Symbole punktiert werden.
  • - Das Ausgangssignal des äußeren Codes kann auf der Basis eines Punktiermusters punktiert werden, um die Rate einzustellen.
  • - Es wird ein invertierbares Abbilden zwischen den Symbolen des äußeren Codes und des inneren Codes durchgeführt. Dieses Abbilden obliegt dem Code-Designer.
Then the parity check matrix of the outer code is H 0 = [A|0] and that of the inner one Codes H I = [0|B], where 0 is an (m × 1) matrix. Please note the following:
  • - The information symbols of the inner code can be passed on by the encoder (systematic code) or punctured (non-systematic code). For non-coherent channels it is assumed that the info symbols are dotted.
  • - The output signal of the outer code can be punctured based on a dot pattern to adjust the rate.
  • - An invertible mapping is performed between the symbols of the outer code and the inner code. This mapping is the responsibility of the code designer.

3 zeigt eine visuelle Interpretation des Codes als serielle Konkatenation zweier Codes. 3 shows a visual interpretation of the code as a serial concatenation of two codes.

Nach dem Dekodieren werden die kodierten Symbole auf komplexe Modulationssymbole abgebildet. Die Wahl der Modulation fällt unter das Design der Physical Layer. Für nicht kohärente Kanäle wird eine Einschränkung auf PSK-Modulationen vorgenommen. Folglich kann der äußere Code als Phasenakkumulator betrachtet werden. Somit besteht die Original-Information in der Phasendifferenz zwischen aufeinanderfolgenden Symbolen. Ein derartiges Schema ist gut geeignet für Kanäle mit Phasenrauschen und nicht kohärente Receiver.After decoding, the encoded symbols are mapped to complex modulation symbols. The choice of modulation falls under the design of the physical layer. For non-coherent channels, a restriction to PSK modulations is made. Consequently, the outer code can be viewed as a phase accumulator. Thus, the original information consists of the phase difference between consecutive symbols. Such a scheme is well suited for channels with phase noise and non-coherent receivers.

Um dies zu veranschaulichen, sei angenommen, dass der Kanal eine codewortmäßige Konstante und eine unbekannte Phasenverschiebung bewirkt und dass das Codewort aus den m Ausgangssymbolen des äußeren Codes besteht (Die Informationssymbole sind punktiert). Da die beiden benachbarten Symbole den gleichen Phasen-Offset erfahren, wird der Offset gestrichen, wenn seine Differenz berechnet wird, was somit in dem Original-Informations-Symbol resultiert.To illustrate this, assume that the channel causes a codeword constant and an unknown phase shift and that the codeword consists of the m output symbols of the outer code (the information symbols are dotted). Since the two adjacent symbols experience the same phase offset, the offset is canceled when its difference is calculated, thus resulting in the original information symbol.

Wesentliche Merkmale der Erfindung sind:

  • - Die Parity-Check Matrix erlaubt sowohl Körper- als auch Ring-Operationen
  • - Gute Leistung sowohl für kohärente als auch für nicht kohärente Kanäle,
  • - Ermöglichung geringer Kodier-Komplexität
  • - Ermöglichung geringer Kodier-Komplexität bei kohärenten Kanälen
  • - Die Dekodier-Komplexität bei nicht kohärenten Kanälen ist abhängig von dem Dekodier-Algorithmus für den äußeren Code (Detektor)
  • - Geringe Implementierungs-Komplexität
Essential features of the invention are:
  • - The parity check matrix allows both body and ring operations
  • - Good performance for both coherent and non-coherent channels,
  • - Enabling low coding complexity
  • - Enabling low coding complexity with coherent channels
  • - The decoding complexity for non-coherent channels depends on the decoding algorithm for the outer code (detector)
  • - Low implementation complexity

Allgemein können hinsichtlich der Erfindung noch folgende Aussagen getroffen werden:

  • - Das erfindungsgemäße Verfahren gilt für nicht-binäre Codes, also für non-binary LDPC-Codes.
  • - Der Protograph ist ein bipartiter Graph, der auch multiple Verbindungen zwischen Check Nodes und Variable Nodes erlaubt. Der wird durch B beschrieben. Der Tanner Graph ist auch ein bipartiter Graph, der aber viel größer ist als der Protograph ist, jedoch lediglich einzelne Verbindungen zwischen Check Nodes und Variable Nodes erlaubt. Der Tanner Graph wird durch die Parity-Check Matrix H beschrieben.
  • - Die Matrix E ist eine Zwischen-Matrix auf dem Weg vom Protograph zur Parity-Check Matrix H. Genauer gesagt ist E eine Matrix, die entweder 1 oder 0 als Elemente hat und genauso groß ist wie die endgültige Parity-Check Matrix H. Der einzige Unterschied zwischen E und H ist, dass E noch keine Körperelemente als Einträge aufweist, während H diese Körperelemente bereits beinhaltet.
  • - Der Expansions-Prozess endet dann, wenn die Blocklänge des gewünschten Codes erreicht wurde.
In general, the following statements can be made with regard to the invention:
  • - The method according to the invention applies to non-binary codes, i.e. to non-binary LDPC codes.
  • - The Protograph is a bipartite graph that also allows multiple connections between check nodes and variable nodes. It is described by B. The Tanner Graph is also a bipartite graph, which is much larger than the Protograph, but only allows individual connections between check nodes and variable nodes. The Tanner graph is described by the parity check matrix H.
  • - The matrix E is an intermediate matrix on the way from the protograph to the parity-check matrix H. More precisely, E is a matrix that has either 1 or 0 as elements and is the same size as the final parity-check matrix H. The The only difference between E and H is that E does not yet have any body elements as entries, while H already contains these body elements.
  • - The expansion process ends when the block length of the desired code has been reached.

Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels eines LDPC-Codes näher erläutert. Im Einzelnen zeigen dabei:

  • 1 eine graphische Darstellung eines Graphen mit Check Nodes (quadratisch eingerahmt) und Variable Nodes (eingekreist),
  • 2 eine graphische Darstellung eines erweiterten Graphen, und zwar basierend auf dem Graph gemäß 1,
  • 3 ein Blockschaltbild eines Codes, der durch Reihenkonkatenation zweier Codes entstanden ist,
  • 4 ein Diagramm zur Beschreibung der Eigenschaften eines Beispiels eines erfindungsgemäßen Codes,
  • 5 die Struktur des Encoders für die Verwendung beim erfindungsgemä-ßen LDPC-Code und
  • 6 die Struktur des Decoders für die Verwendung beim erfindungsgemä-ßen LDPC-Code.
The invention is explained in more detail below using an exemplary embodiment of an LDPC code. In detail we show:
  • 1 a graphical representation of a graph with check nodes (framed square) and variable nodes (circled),
  • 2 a graphical representation of an extended graph based on the graph according to 1 ,
  • 3 a block diagram of a code that was created by concatenating two codes in series,
  • 4 a diagram describing the properties of an example of a code according to the invention,
  • 5 the structure of the encoder for use in the LDPC code according to the invention and
  • 6 the structure of the decoder for use in the LDPC code according to the invention.

Nachfolgend soll die Erfindung nochmals kurz umrissen werden.The invention will be briefly outlined again below.

Protograph-Konstruktionen und Akkumulator-basierte LDPC Codes (z.B. Codes mit Doppeldiagonalen) sind in der Literatur bekannt und auch in US 2013/ 0013983 A1 aufgeführt. Die Erfindung betrifft eine spezielle Codekonstruktion, welche auf einer hybriden Struktur basiert. Der eine Teil des Codes (systemischer Teil) wird bei der Codierung und Decodierung der Daten für Berechnungen basierend auf einem Körper (Galois Field) genutzt, während der andere Teil des Codes (Parity-Teil) bei der Codierung und Decodierung der Daten für Berechnungen auf einem Ring genutzt wird. Dies ist im Stand der Technik nicht vorzufinden.Protograph constructions and accumulator-based LDPC codes (e.g. codes with double diagonals) are known in the literature and also in US 2013/0013983 A1 listed. The invention concerns a special code construction based on a hybrid structure. One part of the code (systemic part) is used in encoding and decoding the data for calculations based on a field (Galois Field), while the other part of the code (parity part) is used in encoding and decoding the data for calculations a ring is used. This is not found in the prior art.

Für jede Art von Codierung, bei der Körperalgebra oder Ringalgebra verwendet wird, müssen das Assoziativ- und das Kommutativgesetz erfüllt sein. Ferner muss die Existenz eines neutralen Elements gewährleistet sein. Zum Übertragen der Daten werden diese mittels des Codes codiert und nach dem Empfang dekodiert. In beiden Fällen (Codierung und Decodierung) werden mittels des Codes Berechnungen durchgeführt, die zum Teil auf Körperalgebra und zum Teil auf Ringalgebra basieren. Diese spezielle Codestruktur bedingt eine besondere Adaption des Encoders und Decoders wie folgt.For any type of coding that uses body algebra or ring algebra, the associative and commutative laws must be satisfied. Furthermore, the existence of a neutral element must be guaranteed. To transmit the data, it is encoded using the code and decoded after reception. In both cases (encoding and decoding), the code is used to perform calculations that are partly based on body algebra and partly on ring algebra. This special code structure requires a special adaptation of the encoder and decoder as follows.

Zum besseren Verständnis sei gesagt, dass sich der Code in zwei Teile (äußerer und innerer Code) aufspalten lässt. Die Parity-Check Matrix nach der erfindungsgemäßen Protographen-Expansion sei bezeichnet als H = [ G T | W ]

Figure DE102017206718B4_0005
For better understanding, it should be said that the code can be split into two parts (outer and inner code). The parity check matrix after the protograph expansion according to the invention is referred to as H = [ G T | W ]
Figure DE102017206718B4_0005

Angefangen mit dieser Parity-Check Matrix, werden Encoder und Decoder wie folgt angepasst:Starting with this parity check matrix, the encoder and decoder are adjusted as follows:

Die Struktur des Encoders ist in 5 gezeigt, wobei ℤm ein Ringelement und F m

Figure DE102017206718B4_0006
ein Körperelement beschreibt. Der ℤm-Akkumulator entspricht den Operationen, die von der Matrix W durchgeführt werden.

  1. 1) Äußerer Code: Encodieren der Informationssymbole mit Hilfe der Körperalgebra. Hier wird die Matrix G aus US 2013/0013983 A1 verwendet: u _ G = v _
    Figure DE102017206718B4_0007
The structure of the encoder is in 5 shown, where ℤ m is a ring element and F m
Figure DE102017206718B4_0006
describes a body element. The ℤ m accumulator corresponds to the operations performed by the matrix W.
  1. 1) External code: Encoding the information symbols using body algebra. Here the matrix G becomes US 2013/0013983 A1 used: u _ G = v _
    Figure DE102017206718B4_0007

Das Ergebnis sind Zwischen-Symbole v.The result is intermediate symbols v.

2) Mapping der Zwischen-Symbole v auf Ringsymbole a mittels der umkehrbaren Funktion f. a _ = f ( v _ )

Figure DE102017206718B4_0008
2) Mapping the intermediate symbols v to ring symbols a using the reversible function f. a _ = f ( v _ )
Figure DE102017206718B4_0008

3) Innerer Code: Encodieren der Ringsymbole a mittels Ringalgebra. Das ergibt a _ + W c _ = 0 _ ,

Figure DE102017206718B4_0009
wobei c die Parity-Symbole des hybriden Codes darstellt. Im Gegensatz zum in US 2013/0013983 A1 verfolgten Ansatz erfordert die Berechnung von a die Anwendung von Körperalgebra sowie eine Mappingfunktion. Die Berechnung von c erfordert reine Ringalgebra. In dem Fall, dass W eine niedrige Dichte an 1-er Bits besitzt (engl. sparse), lässt sich die Matrixmultiplikation effizient mittels Akkumulation rekursiv berechnen, wie in 5 zu sehen ist. Erfindungsgemäß wird die Akkumulation mittels Ringalgebra durchgeführt und erfordert zuvor die Mappingfunktion.3) Inner code: Encoding the ring symbols a using ring algebra. That makes a _ + W c _ = 0 _ ,
Figure DE102017206718B4_0009
where c represents the parity symbols of the hybrid code. In contrast to the in US 2013/0013983 A1 According to the approach followed, the calculation of a requires the use of body algebra and a mapping function. Calculating c requires pure ring algebra. In the case that W has a low density of 1's bits (sparse), the matrix multiplication can be efficiently calculated recursively using accumulation, as in 5 you can see. According to the invention, the accumulation is carried out using ring algebra and requires the mapping function beforehand.

Werden die Codesymbole nach dem Encodieren PSK moduliert, lässt sich zeigen, dass der innere Code und der PSK-Modulator die Funktion eines DPSK-Modulators wahrnehmen (und zwar nur dann, wenn der innere Code auf einem Ring basiert).If the code symbols are PSK modulated after encoding, it can be shown that the inner code and the PSK modulator perform the function of a DPSK modulator (and only if the inner code is based on a ring).

Decoder (siehe auch 6):

  1. 1) Innerer Code: Decodieren der (phasen-)verrauschten Ringsymbole mittels eines speziellen Algorithmus, beispielsweise DP Algorithmus [5], welche für Ringalgebra ausgelegt sind. Diese Algorithmen unterscheiden sich erheblich von denen welche für Körperalgebra verwendet werden!
  2. 2) Mapping der Wahrscheinlichkeitsfunktionen (probability mass functions) mittels f-1(·).
  3. 3) Äußerer Code: Decodieren der Zwischen-Symbolen unter Verwendung von Körperalgebra, z.B. durch „non-binary belief propagation“ für LDPC Codes wie in [6].
Decoder (see also 6 ):
  1. 1) Inner code: Decoding the (phase-)noisy ring symbols using a special algorithm, for example DP algorithm [5], which is designed for ring algebra. These algorithms differ significantly from those used for body algebra!
  2. 2) Mapping the probability mass functions using f -1 (·).
  3. 3) Outer code: Decoding the intermediate symbols using body algebra, e.g. through “non-binary belief propagation” for LDPC codes as in [6].

Diese aufgeführte Encoder- und Decoderstruktur ist im Stand der Technik nicht bekannt, hat aber Vorteile.This encoder and decoder structure listed is not known in the prior art, but has advantages.

Die Motivation für diese hybride Codestruktur liegt in der Anwendbarkeit des Codes für Kanäle mit Phasenrauschen (nicht-kohärente Kanäle). Hier kommen in der Regel PSK Modulationen, insbesondere DPSK Modulationen zum Einsatz. Ein DPSK Modulator führt Operationen in der Ringalgebra durch. Der innere Decoder versucht, durch spezielle Algorithmen das Phasenrauschen zu beseitigen. Da der erfindungsgemäße Code zum Teil ebenfalls auf der Ringalgebra basiert, erlaubt es die Codestruktur, solche Algorithmen zum Decodieren des Codes zu verwenden. Die Konstruktion nach US 2013/0013983 A1 , welche ausschließlich Körperalgebra verwendet, erlaubt dies nicht und ist für Kanäle mit Phasenrauschen nicht vorgesehen.The motivation for this hybrid code structure lies in the applicability of the code for channels with phase noise (non-coherent channels). PSK modulations, especially DPSK modulations, are usually used here. A DPSK modulator performs ring algebra operations. The inner decoder tries to eliminate phase noise using special algorithms. Since the code according to the invention is also partly based on ring algebra, the code structure allows such algorithms to be used to decode the code. The construction according to US 2013/0013983 A1 , which uses only body algebra, does not allow this and is not intended for channels with phase noise.

Gemäß einem Ausführungsbeispiel der Erfindung wurde ein auf B basierender Code mit k=100 Symbolen, n=300 Symbolen und m=200 konzipiert. Es wurde ein Punktieren sämtlicher Informationssymbole vorgenommen, was eine endgültige Blocklänge npunc=200 Symbole ergab. Der äußere Code basierte auf einem Feld der Ordnung 8 und der innere Code auf einem Ring der Ordnung 8. Die Modulation war 8PSK, wobei die Modulations-Ordnung an die Ring-Ordnung angepasst war. Hinsichtlich der Bits hatte der vorliegende Code eine Codeword-Länge von 600 und eine Informations-Länge von 300, somit eine Rate von ½. Es wurde ein Standard-AWGN-Kanal zur Übertragung angenommen und die Codewort-Fehlerrate gegenüber Eb/N0 gemessen. Als Benchmark wurde die entsprechende beliebige Codier-Grenze evaluiert. Die Ergebnisse sind in 4 gezeigt.According to an embodiment of the invention, a B-based code with k=100 symbols, n=300 symbols and m=200 was designed. There was a puncture of all information symbols, which resulted in a final block length n punc =200 symbols. The outer code was based on an order 8 field and the inner code was based on an order 8 ring. The modulation was 8PSK, with the modulation order matched to the ring order. In terms of bits, the present code had a codeword length of 600 and an information length of 300, thus a rate of ½. A standard AWGN channel was adopted for transmission and the codeword error rate was measured against E b /N 0 . The corresponding arbitrary coding limit was evaluated as a benchmark. The results are in 4 shown.

Das hier vorgeschlagene Verfahren kann in sämtlichen Typen kommerzieller drahtloser und verdrahteter Übertragungssysteme angewandt werden.The method proposed here can be used in all types of commercial wireless and wired transmission systems.

ABKÜRZUNGSVERZEICHNISLIST OF ABBREVIATIONS

ARAERA
Accumulate-Repeat-AccumulateAccumulate-Repeat-Accumulate
CERCERIUM
Codeword Error RateCodeword Error Rate
CNCN
Check-nodeCheck node
BERBER
Bit Error RateBit Error Rate
LDPCLDPC
Low-Density Parity-Check (Code)Low-density parity check (code)
ITI.T
Iterativ (Decoder)Iterative (decoder)
VNVN
Variable-nodeVariable node
DPDP
Discretized PhaseDiscretized phase
PSKPSK
Phase Shift KeyingPhase shift keying
DPSKDPSK
Differential Phase Shift KeyingDifferential phase shift keying

LITERATURVERZEICHNISBIBLIOGRAPHY

  1. [1] Thorpe, J.; Andrews, K.; Dolinar, S., „Methodologies for designing LDPC codes using protographs and circulants“, Information Theory, 2004. ISIT 2004. Proceedings. International Symposium on , vol., no., pp.238" 27 June-2 July 2004 [1] Thorpe, J.; Andrews, K.; Dolinar, S., “Methodologies for designing LDPC codes using protographs and circulants,” Information Theory, 2004. ISIT 2004. Proceedings. International Symposium on , vol., no., pp.238" 27 June-2 July 2004
  2. [2] G. Liva, S. Song, L. Lan, Y. Zhang, S. Lin, and W.E. Ryan, „Design of LDPC Codes: A Survey and New Results“, Journal of Communication Software and Systems (JCOMSS). Special issue on channel coding in wireless systems, September 2006. Invited paper[2] G. Liva, S. Song, L. Lan, Y. Zhang, S. Lin, and W.E. Ryan, “Design of LDPC Codes: A Survey and New Results,” Journal of Communication Software and Systems (JCOMSS). Special issue on channel coding in wireless systems, September 2006. Invited paper
  3. [3] R. G. Gallager, Low Density Parity Check Codes. Cambridge, MA: MIT Press, 1963.[3] R. G. Gallager, Low Density Parity Check Codes. Cambridge, MA: MIT Press, 1963.
  4. [4] Abbasfar, A.; Divsalar, D.; Yao, K., „Accumulate-Repeat-Accumulate Codes“, Communications, IEEE Transactions on , vol. 55, no. 4, pp. 692,702, April 2007 [4] Abbasfar, A.; Divsalar, D.; Yao, K., “Accumulate-Repeat-Accumulate Codes,” Communications, IEEE Transactions on , vol. 55, no. 4, pp. 692,702, April 2007
  5. [5] G. Colavolpe, A. Barbieri, and G. Caire, „Algorithms for iterative decoding in the presence of strong phase noise,“ IEEE J. Sel. Areas Commun., vol. 23, no. 9, pp. 1748-1757, Sep. 2005 [5] G. Colavolpe, A. Barbieri, and G. Caire, “Algorithms for iterative decoding in the presence of strong phase noise,” IEEE J. Sel. Areas Commun., vol. 23, no. 9, pp. 1748-1757, Sep. 2005
  6. [6] M. Davey and D. MacKay, „Low density parity check codes over GF(q),“ IEEE Commun. Lett., vol. 2, no. 6, pp. 70-71, Jun. 998 .[6] M. Davey and D. MacKay, “Low density parity check codes over GF(q),” IEEE Commun. Lett., vol. 2, no. 6, pp. 70-71, Jun. 998 .
  7. [7] Sassatelli, L.; Declercq, D.: Analysis of Non-binary Hybrid LDPC Codes. In: IEEE International Symposium on Information Theory, Nice, France, 2007, pp. 2261-2265 , DOI: 10.1109/ISIT.2007.4557556 - URL: https://ieeexplore.ieee.org/document/4557 [abgerufen am 16.02.2023][7] Sassatelli, L.; Declercq, D.: Analysis of Non-binary Hybrid LDPC Codes. In: IEEE International Symposium on Information Theory, Nice, France, 2007, pp. 2261-2265 , DOI: 10.1109/ISIT.2007.4557556 - URL: https://ieeexplore.ieee.org/document/4557 [accessed on February 16, 2023]
  8. [8] GARRAMONNE, G.; MATUZ, B.: Short Erasure Correcting LDPC IRA Codes over GF (q). In: IEEE Global Telecommunications Conference GLOBECOM 2010, Miami, FL, USA, 2010, pp. 1-5 , DOI; 10.1109/GLOCOM.2010.5683889 - URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5683889 [abgerufen am 16.02.2023][8th] GARRAMONNE, G.; MATUZ, B.: Short Erasure Correcting LDPC IRA Codes over GF (q). In: IEEE Global Telecommunications Conference GLOBECOM 2010, Miami, FL, USA, 2010, pp. 1-5 , DOI; 10.1109/GLOCOM.2010.5683889 - URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5683889 [accessed on February 16, 2023]
  • US 2013/0013983 A1US 2013/0013983 A1
  • EP 2 843 844 A1EP 2 843 844 A1

Claims (2)

Verfahren zur Erzeugung einer Klasse von non-binary LDPC-Codes mit einer vorgebbaren Anzahl von Check Nodes und mit einer vorgebbaren Anzahl von Variable Nodes zur Datenübertragung mit PSK-Modulation über einen nicht-kohärenten Kanal mit den folgenden Schritten - Konkatenieren eines äußeren Codes und eines inneren Codes, wobei sich der äußere Code über einen mathematischen Körper der Ordnung q erstreckt und der innere Code über einen mathematischen Ring ebenfalls der Ordnung q ausgelegt ist und wobei ein Symbol des äußeren Codes auf ein Symbol des inneren Codes abgebildet wird, - Vorgeben eines Protographs, der durch eine Basismatrix definiert ist, deren Zeilenanzahl gleich der Anzahl an Check Nodes des Protographs und deren Spaltenanzahl gleich der Anzahl an Variable Nodes des Protographs ist und deren ganzzahlige Elemente die Verbindung der Check Nodes mit den Variable Nodes beschreibt, - schrittweises Expandieren der Basismatrix zur Erstellung einer den zu erzeugenden LDPC-Code beschreibenden Parity-Check Matrix, - wobei jedes Element der Basismatrix bzw. der in dem jeweils vorherigen Schritt expandierten Matrix durch eine Matrix ersetzt wird, deren Zeilen-/Spalten-Gewichtung gleich dem zu ersetzenden Element ist, - wobei die Expansion solange durchgeführt wird, bis die vorgegebene Größe der Parity-Check Matrix erreicht ist und alle Elemente in der resultierenden Matrix entweder den Wert 1 oder 0 besitzen, - wobei die Basismatrix und jede jeweils expandierte Matrix einen quadratischen hinteren Matrixteil, dessen Zeilenanzahl gleich der Spaltenanzahl ist, und einen nicht quadratischen vorderen Matrixteil aufweist, - wobei die Elemente des vorderen Matrixteils der Basismatrix frei wählbare ganze Zahlen sind, die in dem vorderen Teil der resultierenden expandierten Matrix durch Expansion entweder in den Wert 1 oder 0, umgewandelt und danach durch ganzzählige Elemente aus einem mathematischen Körper ersetzt werden, um den vorderen Teil der Parity-Check Matrix zu erzeugen, wobei diese Elemente die Symbole des äußeren Codes beschreiben, - wobei der quadratische hintere Matrixteil der Basismatrix ausschließlich Elemente enthält, die entweder 0, 1 oder 2 sind und die so angeordnet sind, dass der resultierende quadratische hintere Matrixteil des Parity-Check Matrix nach schrittweisem Expandieren der Basismatrix eine Doppeldiagonalen-Struktur aufweist, wobei die Doppeldiagonale ausschließlich Elemente mit dem Wert 1 aufweist und wobei außerhalb der Doppeldiagonalen ausschließlich Elemente mit dem Wert 0 existieren, wobei diese Elemente Elemente aus einem mathematischen Ring sind und die Symbole des inneren Codes beschreiben, - wobei die Elemente des vorderen Matrixteils der Parity-Check Matrix, zur Durchführung von mathematischen Operationen in Körperalgebra vorgesehen sind und - wobei die Elemente des hinteren Matrixteils der Parity-Check Matrix, zur Durchführung von mathematischen Operationen in Ringalgebra vorgesehen sind und einen Phasenakkumulator für den nichtkohärenten Kanal implementieren.Method for generating a class of non-binary LDPC codes with a predeterminable number of check nodes and with a predeterminable number of variable nodes for data transmission with PSK modulation over a non-coherent channel with the following steps - concatenating an outer code and one inner code, whereby the outer code extends over a mathematical body of order q and the inner code is designed over a mathematical ring, also of order q, and where a symbol of the outer code is mapped onto a symbol of the inner code, - specifying a protograph , which is defined by a base matrix whose number of rows is equal to the number of check nodes of the protograph and whose number of columns is equal to the number of variable nodes of the protograph and whose integer elements describe the connection of the check nodes to the variable nodes, - gradual expansion of the base matrix to create a parity check matrix describing the LDPC code to be generated, - whereby each element of the base matrix or the matrix expanded in the previous step is replaced by a matrix whose row/column weighting is equal to the element to be replaced , - whereby the expansion is carried out until the specified size of the parity check matrix is reached and all elements in the resulting Matrix have either the value 1 or 0, - where the base matrix and each expanded matrix have a square rear matrix part, the number of rows of which is equal to the number of columns, and a non-square front matrix part, - where the elements of the front matrix part of the base matrix are freely selectable wholes are numbers that are converted in the front part of the resulting expanded matrix by expansion to either the value 1 or 0, and then replaced by integer elements from a mathematical field to produce the front part of the parity-check matrix, these elements describe the symbols of the outer code, - where the square rear matrix part of the base matrix contains exclusively elements that are either 0, 1 or 2 and which are arranged in such a way that the resulting square rear matrix part of the parity check matrix after gradually expanding the base matrix is a Has a double diagonal structure, whereby the double diagonal only has elements with the value 1 and where outside the double diagonal there are only elements with the value 0, these elements being elements from a mathematical ring and describing the symbols of the inner code, - where the elements of front matrix part of the parity check matrix, are intended for carrying out mathematical operations in body algebra and - wherein the elements of the rear matrix part of the parity check matrix are intended for carrying out mathematical operations in ring algebra and implement a phase accumulator for the non-coherent channel. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die schrittweise Expansion endet, wenn die Länge des zu erzeugenden Codes erreicht ist.Procedure according to Claim 1 , characterized in that the gradual expansion ends when the length of the code to be generated is reached.
DE102017206718.7A 2016-04-21 2017-04-21 Method for generating a class of non-binary LDPC codes Active DE102017206718B4 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE102016107406 2016-04-21
DE102016107406.3 2016-04-21
DE102016113562 2016-07-22
DE102016113562.3 2016-07-22

Publications (2)

Publication Number Publication Date
DE102017206718A1 DE102017206718A1 (en) 2017-10-26
DE102017206718B4 true DE102017206718B4 (en) 2024-01-11

Family

ID=60021111

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017206718.7A Active DE102017206718B4 (en) 2016-04-21 2017-04-21 Method for generating a class of non-binary LDPC codes

Country Status (1)

Country Link
DE (1) DE102017206718B4 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130013983A1 (en) 2004-10-12 2013-01-10 Michael Livshitz Structured low-density parity-check (ldpc) code
EP2843844A1 (en) 2013-09-03 2015-03-04 Alcatel Lucent Transmitter and receiver

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130013983A1 (en) 2004-10-12 2013-01-10 Michael Livshitz Structured low-density parity-check (ldpc) code
EP2843844A1 (en) 2013-09-03 2015-03-04 Alcatel Lucent Transmitter and receiver

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
Abbasfar, A.; Divsalar, D.; Yao, K., „Accumulate-Repeat-Accumulate Codes", Communications, IEEE Transactions on , vol. 55, no. 4, pp. 692,702, April 2007
G. Colavolpe, A. Barbieri, and G. Caire, „Algorithms for iterative decoding in the presence of strong phase noise," IEEE J. Sel. Areas Commun., vol. 23, no. 9, pp. 1748-1757, Sep. 2005
GARRAMONNE, G.; MATUZ, B.: Short Erasure Correcting LDPC IRA Codes over GF (q). In: IEEE Global Telecommunications Conference GLOBECOM 2010, Miami, FL, USA, 2010, pp. 1-5
GARRAMONNE, G.; MATUZ, B.: Short Erasure Correcting LDPC IRA Codes over GF(q). In: IEEE Global Telecommunications Conference GLOBECOM 2010, Miami, FL, USA, 2010, pp. 1-5, DOI: 10.1109/GLOCOM.2010.5683889 URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5683889 [abgerufen am 16.02.2023]
LIVA, Gianluigi [u.a.]: Design of LDPC codes: A survey and new results. In: Journal of Communications Software and Systems. 2006, Bd. 2, S. 191-211. URL: https://www.researchgate.net/profile/Gianluigi_Liva/publication/225019401_Design_of_LDPC_ codes_A_survey_and_new_results/links/ 004635155667dc8524000000.pdf?origin=publication_detail [abgerufen am 10.10.2016]. Bibliographieinformationen ermittelt über: https://www.researchgate.net/publication/225019401_Design_of_LDPC_codes_A_survey_and_new_results [abgerufen am 10.10.2016].
M. Davey and D. MacKay, „Low density parity check codes over GF(q)," IEEE Commun. Lett., vol. 2, no. 6, pp. 70-71, Jun. 998
Sassatelli, L.; Declercq, D.: Analysis of Non-binary Hybrid LDPC Codes. In: IEEE International Symposium on Information Theory, Nice, France, 2007, pp. 2261-2265
Sassatelli, L.; Declercq, D.: Analysis of Non-binary Hybrid LDPC Codes. In: IEEE International Symposium on Information Theory, Nice, France, 2007, pp. 2261-2265, DOI: 10.1109/ISIT.2007.4557556 URL: https://ieeexplore.ieee.org/document/4557556 [abgerufen am 16.02.2023]
Thorpe, J.; Andrews, K.; Dolinar, S., „Methodologies for designing LDPC codes using protographs and circulants", Information Theory, 2004. ISIT 2004. Proceedings. International Symposium on , vol., no., pp.238" 27 June-2 July 2004

Also Published As

Publication number Publication date
DE102017206718A1 (en) 2017-10-26

Similar Documents

Publication Publication Date Title
DE602004003324T2 (en) Method and apparatus for encoding Low Density Parity Check (LDPC) long and short block length codes
DE602005003767T2 (en) METHOD FOR COMPRESSING A LOT OF CORRELED SIGNALS
DE102009017540B4 (en) Procedure for recovering lost and / or damaged data
DE3910739C2 (en)
DE602004009706T2 (en) BELIEF SPREADING DECODER WHICH REMOVES THE REPLACEMENT OF UNCERTAIN MESSAGES
DE602005004863T2 (en) Method for puncturing LDPC channel codes
DE102009035921A1 (en) Decoder for error correction codes
DE102017206718B4 (en) Method for generating a class of non-binary LDPC codes
DE102008061069B4 (en) Retransmission of incorrect data
DE602004006558T2 (en) Encoding and decoding trellis codes with trellis sections based on block codes with good constraint properties
DE102014208996B3 (en) Procedure for recovering lost and / or corrupted data
DE102018200617B4 (en) Method for decoding an encrypted message of an asymmetric cryptographic system
DE102014204828B4 (en) Procedure for recovering lost and / or corrupted data
DE102016201408B4 (en) Method for transmitting data
DE102016222007B4 (en) Method for transmitting data
DE102013223813B4 (en) Procedures for recovering lost and / or corrupted 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
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
DE102013223801B4 (en) Procedure for recovering lost and / or corrupted data
DE102013223413B4 (en) Procedure for recovering lost and / or corrupted data
DE102012223040B3 (en) Method for restoring missing and/or damaged data transmitted from transmission device to receiving device in communication system, involves concatenating LDPC code with repetition code such that code word is multiplied with coefficient
DE102018221399B4 (en) Asymmetric cryptographic system and method for decoding an encrypted message
DE102018200616B4 (en) Asymmetric cryptographic system and method for generating a public key for the asymmetric cryptographic system
DE102004053656A1 (en) Signal processing system for signals with block based error protection codes has LDPC decoder in receiver end encoder in transmitter module
DE102019124889A1 (en) Method for transmitting data and receiving device for receiving 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