DE102019200941B4 - Decoding method - Google Patents

Decoding method Download PDF

Info

Publication number
DE102019200941B4
DE102019200941B4 DE102019200941.7A DE102019200941A DE102019200941B4 DE 102019200941 B4 DE102019200941 B4 DE 102019200941B4 DE 102019200941 A DE102019200941 A DE 102019200941A DE 102019200941 B4 DE102019200941 B4 DE 102019200941B4
Authority
DE
Germany
Prior art keywords
data bit
paths
code word
data
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102019200941.7A
Other languages
German (de)
Other versions
DE102019200941A1 (en
Inventor
Mustafa Cemil Coskun
Thomas Jerkovits
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE102019200941.7A priority Critical patent/DE102019200941B4/en
Publication of DE102019200941A1 publication Critical patent/DE102019200941A1/en
Application granted granted Critical
Publication of DE102019200941B4 publication Critical patent/DE102019200941B4/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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/13Linear codes
    • H03M13/136Reed-Muller [RM] codes

Landscapes

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

Abstract

Verfahren zum Decodieren einer Datenbitfolge û(i=1,...,k), bei welchem ein mittels Product-Code als Reed-Muller-Subcode codiertes Datensignal empfangen wird und ein Reed-Muller Decoder verwendet wird. Dabei werden durch die jeweiligen Möglichkeiten der Datenbits ûbis û∈ {0, 1} P-Pfade gebildet, wobei jeder Pfad p (p=1,...,P) i-1 Kanten aufweist, wobei jede Kante eines Pfades p jeweils ein Datenbit û(i' = 1,...,i-1) wiedergibt. Für jeden der vorhandenen Pfade p werden jeweils durch den Decoder Soft-Decisions mermittelt. Somit verzweigt sich jeder der bisher vorhandenen Pfade, sodass 2P Pfade entstehen. Dabei werden bei der Berechnung der Soft-Decisions mfür das i-te Bit üi alle vorherigen Entscheidungen innerhalb des jeweiligen Pfades p berücksichtigt. Hiermit wird fortgefahren mit der Berechnung der Soft-Decisions für das i+1-te Datenbit, bis das k-te Datenbit ûerreicht wird. Sodann wird der Pfad p mit dem größten Soft-Decision-Wert als decodierte Datenbitfolge ûangenommen.Method for decoding a data bit sequence û (i = 1, ..., k), in which a data signal encoded by means of a product code as a Reed-Muller subcode is received and a Reed-Muller decoder is used. The respective possibilities of the data bits ûbis û∈ {0, 1} P-paths are formed, each path p (p = 1, ..., P) having i-1 edges, each edge of a path p each having one Data bit û (i '= 1, ..., i-1) reproduces. For each of the existing paths p, soft decisions are determined by the decoder. Thus, each of the existing paths branches out so that 2P paths arise. When calculating the soft decisions m for the ith bit üi, all previous decisions within the respective path p are taken into account. This continues with the calculation of the soft decisions for the i + 1th data bit until the kth data bit is reached. The path p with the largest soft decision value is then accepted as the decoded data bit sequence.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Decodieren einer Datenbitfolge, ein Übermittlungsverfahren mit einem solchen Verfahren zur Decodierung einer Datenbitfolge sowie eine Übertragungsvorrichtung zum Übertragen einer Datenbitfolge.The present invention relates to a method for decoding a data bit sequence, a transmission method with such a method for decoding a data bit sequence, and a transmission device for transmitting a data bit sequence.

Bei bekannten Verfahren wird eine Datenbitfolge ui (i=1, ..., k) zunächst durch einen Encoder in ein Codewort xr (r=1, ..., n) codiert. Das so codierte Codewort wird über einen verlustbehafteten Kanal zum Empfänger übertragen. Der Empfänger empfängt dabei ein Datensignal yr, welches sodann decodiert wird zu ûi. Sofern ui = ûi für alle i gilt, wurde die Datenbitfolge korrekt empfangen.In known methods, a data bit sequence u i (i = 1, ..., k) is first coded into a code word x r (r = 1, ..., n) by an encoder. The codeword encoded in this way is transmitted to the receiver via a lossy channel. The receiver receives a data signal y r , which is then decoded to û i . If u i = û i applies to all i, the data bit sequence was received correctly.

Aufgrund des verlustbehafteten Übertragungskanals ist es jedoch erforderlich, dass einzelne Fehler bei der Übertragung durch den Decodierer korrigiert werden können. Hierzu ist es bekannt, ein Maxium-Likelihood-Verfahren zu verwenden, bei dem zunächst Soft-Decisions berechnet werden. Bei der Soft-Decision handelt es sich in der dem Fachmann allgemein geläufigen Definition um einen Wert, der die Zuverlässigkeit der jeweiligen Entscheidung wiedergibt. Im Maximum-Likelihood-Verfahren werden sodann die Soft-Decisions ausgewählt mit dem höchsten Soft-Decision-Wert bzw. mit der größten Zuverlässigkeit für das jeweilige Codewort. Nachteilig hieran ist, dass das Maximum-Likelihood-Verfahren insbesondere für längere Codewörter, also bei großen Werten für n, sehr schnell rechenaufwändig wird und sich somit die Decodierperformance reduziert.Due to the lossy transmission channel, however, it is necessary that individual errors during transmission can be corrected by the decoder. For this purpose, it is known to use a maximum likelihood method in which soft decisions are initially calculated. In the definition generally familiar to the person skilled in the art, the soft decision is a value that reflects the reliability of the respective decision. In the maximum likelihood method, the soft decisions are then selected with the highest soft decision value or with the greatest reliability for the respective code word. The disadvantage here is that the maximum likelihood method, in particular for longer code words, that is to say with large values for n, very quickly becomes computationally expensive and the decoding performance is thus reduced.

Aus dem Stand der Technik I. Reed, „A class of multiple-error-correcting codes and the decoding scheme“, Transactions of the IRE Professional Group on Information Theory, vol. 4, no. 4, pp. 38-49, Sep. 1954 und D. E. Muller, „Application of boolean algebra to switching circuit design and to error detection,“ Transactions of the I.R.E Professional Group on Electronic Computers, vol. EC-3, no. 3, pp. 6-12, Sep. 1954 sind Reed-Muller-Codes bekannt. Hierbei ist G 2 [ 1 0 1 1 ] .

Figure DE102019200941B4_0001
Dann wird die Generatormatrix GRM(m,m) der m-ten Ordnung des Reed-Muller-Codes mit der Länge n = 2m erzeugt mit G R M ( m , m ) = G 2 m ,
Figure DE102019200941B4_0002
wobei " G 2 m "
Figure DE102019200941B4_0003
das Kronecker-Produkt m-ter Ordnung von G2 bezeichnet. Bei der Erzeugung von Codewörtern mittels Reed-Muller-Code wird die Generatormatrix G r-ter Ordnung verwendet für einen Reed-Muller-Coder der Länge n=2m, wobei G erzeugt wird aus GRM, indem alle Reihen mit dem Hamming-Gewicht größer oder gleich 2m-r. Sodann werden mittels x = uG die Codewörter erzeugt. Somit ergibt sich die Code-Dimension zu k = i = m r m ( m i ) .
Figure DE102019200941B4_0004
From the state of the Technik I. Reed, "A class of multiple-error-correcting codes and the decoding scheme," Transactions of the IRE Professional Group on Information Theory, vol. 4, no. 4, pp. 38-49, Sep. 1954 and DE Muller, "Application of boolean algebra to switching circuit design and to error detection," Transactions of the IRE Professional Group on Electronic Computers, vol. EC-3, no. 3, pp. 6-12, Sep. 1954 Reed-Muller codes are known. Here is G 2 [ 1 0 1 1 ] .
Figure DE102019200941B4_0001
Then the generator matrix G RM (m, m) of the m-th order of the Reed-Muller code with the length n = 2 m is generated with G R. M. ( m , m ) = G 2 m ,
Figure DE102019200941B4_0002
in which " G 2 m "
Figure DE102019200941B4_0003
denotes the Kronecker product of the m-th order of G 2 . When generating code words by means of Reed-Muller code, the generator matrix G r-th order is used for a Reed-Muller coder of length n = 2 m , where G is generated from G RM by adding all rows with the Hamming weight greater than or equal to 2 mr . The code words are then generated using x = uG. Thus the code dimension arises too k = i = m - r m ( m i ) .
Figure DE102019200941B4_0004

Weiterhin sind aus dem Stand der Technik Product-Codes (PC) bekannt. Seien

Figure DE102019200941B4_0005
und
Figure DE102019200941B4_0006
zwei binäre lineare Block-Codes mit den Parametern (n1, k1) und (n2, k2), dann ist ein PC gegeben mit den Parametern (n = n1n2, k=k1k2), wobei jedes Codewort ein n2×n1 Array bildet, wobei jede Reihe ein Codewort in und jede Spalte ein Codewort in darstellt. und werden als Komponenten-Codes bezeichnet. Die Generatormatrix des 2-dimensionalen PC wird dabei erzeugt durch das Kronecker-Produkt der Generatormatrizen der Komponenten-Codes selbst, so dass G = G1 ⊗ G2, mit G1 und G2 als Generatormatrizen von und . Dabei wird ein PC der Dimension d entsprechend gebildet mittels G = G1 ⊗...⊗ Gd, wobei Gs die Gereatormatrix des s-ten Komponenten-Codes
Figure DE102019200941B4_0007
bezeichnet.Furthermore, product codes (PC) are known from the prior art. Be
Figure DE102019200941B4_0005
and
Figure DE102019200941B4_0006
two binary linear block codes with the parameters (n 1 , k 1 ) and (n 2 , k 2 ), then a PC is given with the parameters (n = n 1 n 2 , k = k 1 k 2 ), where each code word forms an n 2 × n 1 array, each row representing a code word in and each column representing a code word in. and are called component codes. The generator matrix of the 2-dimensional PC is generated by the Kronecker product of the generator matrices of the component codes themselves, so that G = G 1 ⊗ G 2 , with G 1 and G 2 as generator matrices from and. A PC of dimension d is formed using G = G 1 ⊗ ... ⊗ G d , where G s is the device matrix of the s-th component code
Figure DE102019200941B4_0007
designated.

Üblicherweise wird ein iteratives Decodierverfahren verwendet, um die Codewörter zu decodieren. Nachteilig hieran ist jedoch, dass es bei der Verwendung des iterativen Codierverfahrens kein äußerer Checkcode wie beispielsweise ein CRC(Cyclic-Redundancy-Check)-Code verwendet werden kann, durch den eine verbesserte Decodierleistung erzielt werden kann.An iterative decoding method is usually used to decode the code words. The disadvantage of this, however, is that when the iterative coding method is used, no external check code, such as a CRC (cyclic redundancy check) code, can be used by means of which an improved decoding performance can be achieved.

WO 2018/113705 A1 offenbart einen Polarencoder und einen Polardecoder, wobei der Decoder ausgebildet ist als Successive-Cancellation-List (SCL) Decoder. WO 2018/113705 A1 discloses a polar encoder and a polar decoder, the decoder being designed as a Successive Cancellation List (SCL) decoder.

Aufgabe der vorliegenden Erfindung ist es, ein Decodierverfahren zu schaffen, welches einen verringerten Rechenaufwand, eine geringe Blockfehlerrate bzw. ein hohes Korrekturvermögen aufweist.The object of the present invention is to create a decoding method which has a reduced computational effort, a low block error rate and a high correction capability.

Die Aufgabe wird gelöst durch das Verfahren des Anspruchs 1, das Übermittlungsverfahren gemäß Anspruch 4, den Empfänger gemäß Anspruch 6 und die Übertragungsvorrichtung gemäß Anspruch 7.The object is achieved by the method of claim 1, the transmission method according to claim 4, the receiver according to claim 6 and the transmission device according to claim 7.

Bei dem erfindungsgemäßen Verfahren zum Decodieren einer Datenbitfolge ûi (i=1,...,k) wird ein Datensignal yr (r=1,...,n) empfangen, wobei es sich um einen Product-Code (PC) handelt, welcher ausgebildet ist als Reed-Muller-Subcode; sodann wird ein Successive-Cancellation-List (SCL) Decoder verwendet wird, wobei durch den Decoder die Datenbitfolge û'i ermitteln lässt. Erfindungsgemäß werden durch die jeweiligen Bit-Möglichkeiten 0 oder 1 der Datenbits û'1 bis û'i-1 ∈ {0,1} P Pfade gebildet, wobei jeder Pfad p (p=1, ..., P) i-1 Kanten aufweist und jede dieser Kanten eines bestimmten Pfades p jeweils ein Datenbit û'i' (i'=1, ..., i-1) wiedergibt. So kann beispielsweise das Datenbit û'1 die Möglichkeiten 0 oder 1 aufweisen. Somit wären bei Vollständigkeit zwei Pfade vorhanden, wobei der erste Pfad (p=1) û'1 = 0 repräsentiert und der zweite Pfad (p=2) û'1 = 1 repräsentiert. Für jedes weitere Datenbit û'i' verzweigt sich jeder dieser Pfade entsprechend den Möglichkeiten {0,1}, so dass insgesamt maximal 2(i-1) Pfade vorliegen.In the method according to the invention for decoding a data bit sequence û i (i = 1, ..., k), a data signal y r (r = 1, ..., n) is received, which is a product code (PC) acts, which is designed as a Reed-Muller subcode; then a Successive Cancellation List (SCL) decoder is used, the data bit sequence û ' i being able to be determined by the decoder. According to the invention, the respective bit options 0 or 1 of the data bits û ' 1 to û' i-1 ∈ {0,1} P paths are formed, each path having p (p = 1, ..., P) i-1 edges and each of these edges of a particular path p a data bit û 'i' (i '= 1, ..., i-1) reproduces. For example, the data bit û ' 1 can be the possibilities 0 or 1 exhibit. Thus, if complete, there would be two paths, the first path (p = 1) representing û ' 1 = 0 and the second path (p = 2) representing û' 1 = 1. For each further data bit û 'i' , each of these paths branches according to the options {0,1}, so that a maximum of 2 (i-1) paths are present.

Erfindungsgemäß werden für jeden der vorhandenen Pfade die Soft-Decisions mi ermittelt für mi(û'i = 0) sowie mi(û'i = 1). Bei Soft-Decisions handelt es sich um die Kombination aus dem möglichen Bitwert 0 oder 1 sowie einem Zuverlässigkeitswert bzw. Soft-Decision-Wert, welcher einen Anlasspunkt für die Wahrscheinlichkeit des jeweiligen Bitwerts angibt. Ist beispielsweise mi(û'i = 0) = -∞, liegt eine hohe Wahrscheinlichkeit vor, dass û'i = 1. Da Soft-Decisions für beide Möglichkeiten von û'i ermittelt werden, ohne dass a priori eine dieser Möglichkeiten verworfen wird, verzweigt sich jeder der vorhandenen Pfade p, so dass 2P Pfade entstehen. Dabei werden bei der Berechnung der Soft-Decisions mi für das i-te Bit û'i alle vorherigen Entscheidungen innerhalb des jeweiligen Pfades p berücksichtigt. Alternativ hierzu werden die vorherigen Entscheidungen bezüglich der Datenbits û'1 bis û'i-1 innerhalb des jeweiligen Pfades p berücksichtigt. Sodann wird fortgefahren mit der Berechnung der Soft-Decisions für das i+1-te Datenbit û'i+1. Somit ergibt sich für jede Kante der Pfade p eine entsprechende Soft-Decision. Bei Erreichen des k-ten Datenbits û'k wird sodann die Soft-Decision des Pfades p mit dem höchsten Soft-Decision-Wert, also der größten Zuverlässigkeit, als decodierte Datenbitfolge û'i = ûi genommen. Hierdurch wird einerseits eine verbesserte Decodier-Performance im Vergleich zum Iterative-Decoding erreicht. Gleichzeitig werden aufgrund der zunächst erfolgten Ermittlung von Soft-Decisions die bisherigen Entscheidungen im Decodiervorgang berücksichtigt. Hierdurch wird das Korrekturvermögen für fehlerhaft übertragene Bits im Datensignal yr erhöht und die Blockfehlerrate reduziert. Somit wird erfindungsgemäß für den PC ein SCL-Decodierer verwendet.According to the invention, the soft decisions m i are determined for each of the existing paths for m i (û ' i = 0) and m i (û' i = 1). Soft decisions are the combination of the possible bit value 0 or 1 as well as a reliability value or soft decision value, which indicates a starting point for the probability of the respective bit value. If, for example, m i (û ' i = 0) = -∞, there is a high probability that û' i = 1. Since soft decisions are determined for both possibilities of û ' i without one of these possibilities being rejected a priori becomes, each of the existing paths p branches, so that 2P paths arise. When calculating the soft decisions m i for the i-th bit û ' i, all previous decisions within the respective path p are taken into account. Alternatively, the previous decisions regarding the data bits û ' 1 to û' i-1 within the respective path p are taken into account. The calculation of the soft decisions for the i + 1-th data bit û ' i + 1 is then continued . A corresponding soft decision thus results for each edge of the paths p. When the k-th data bit û ' k is reached, the soft decision of path p with the highest soft decision value, that is to say the greatest reliability, is then taken as the decoded data bit sequence û' i = û i . On the one hand, this results in an improved decoding performance compared to iterative decoding. At the same time, the previous decisions in the decoding process are taken into account on the basis of the determination of soft decisions initially made. This increases the ability to correct for incorrectly transmitted bits in the data signal y r and reduces the block error rate. Thus, according to the invention, an SCL decoder is used for the PC.

Vorzugsweise wird ein Wert L > 1 festgelegt. Für den Fall, dass die Anzahl der vorhandenen Pfade P > L wird, werden die Pfade p ausgewählt, welche den größten Soft-Decision-Wert, also die größte Zuverlässigkeit aufweisen. Sodann werden so viele Pfade verworfen, bis P ≤ L ist. Somit wird die Anzahl der zu berücksichtigenden Pfade auf L reduziert, insbesondere nach jeder Decodierung eines weiteren Datentbits û'i. Wurden die Soft-Decisions für das Datenbit û'i bestimmt, wird sodann überprüft, ob weiterhin P ≤ L erfüllt ist. Anderenfalls wird eine entsprechende Anzahl von Pfaden mit einem geringen Soft-Decision-Wert verworfen.A value L> 1 is preferably established. In the event that the number of existing paths becomes P> L, the paths p are selected which have the greatest soft decision value, that is to say the greatest reliability. Then as many paths are discarded until P ≤ L. The number of paths to be taken into account is thus reduced to L, in particular after each decoding of a further data bit û ' i . If the soft decisions were determined for the data bit û ' i , it is then checked whether P L is still met. Otherwise, a corresponding number of paths with a low soft decision value are rejected.

Vorzugsweise wird ein Cyclic-Redundancay-Check (CRC) Code angewandt auf die verbleibenden Möglichkeiten nach Ermittlung der Soft-Decision des k-ten Datenbits ûk. Verbleiben sodann mehr als eine mögliche Datenbitfolge ûi, weil mehr als ein Pfad ein gültiges Codewort darstellt, so wird aus den verbleibenden Pfaden p der Pfad mit den größten Soft-Decision-Werten ausgewählt.A cyclic redundancy check (CRC) code is preferably applied to the remaining options after the soft decision of the k-th data bit û k has been determined . If more than one possible data bit sequence û i then remains because more than one path represents a valid code word, then the path with the greatest soft decision values is selected from the remaining paths p.

Vorzugsweise berechnen sich die Soft-Decisions wie aus I. Tal and A. Vardy, „List of decoding polar codes,“ IEEE Transactions of Information Theory, vol. 61, no. 5, pp. 2213-2226, May 2015 und E. Arikan, „Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,“ IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, July 2009 bekannt.The soft decisions are preferably calculated as follows I. Tal and A. Vardy, "List of decoding polar codes," IEEE Transactions of Information Theory, vol. 61, no. 5, pp. 2213-2226, May 2015 and E. Arikan, "Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels," IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, July 2009 known.

Somit ist eine komplette Vorschrift für die Soft-Decisions gegeben, wobei die vorhergehenden Entscheidungen λ berücksichtigt werden. Somit wird für jede vorhandene Möglichkeit der Datenbitfolge û'i bzw. für die L-zuverlässigsten Varianten entsprechend dem jeweiligen Pfad die Zuverlässigkeitswerte des i-ten Datenbits û'i ermittelt.A complete rule for the soft decisions is thus given, taking the previous decisions λ into account. Thus, the reliability values of the i-th data bit û ' i are determined for each existing possibility of the data bit sequence û' i or for the most L-reliable variants according to the respective path.

Erfindungsgemäß handelt es sich bei den Komponenten des verwendeten Product-Codes um einen Reed-Muller-Subcode und/oder einen Extended-Hamming-Code und/oder einen Single-Parity-Check-Code.According to the invention, the components of the product code used are a Reed-Muller subcode and / or an extended Hamming code and / or a single parity check code.

Weiterhin betrifft die Erfindung ein Übermittlungsverfahren mit einem Sender, wobei der Sender eine Datenbitfolge u = u1, ..., uk codiert in das Codewort x = x1, ..., xn mittels einem Product-Code als Reed-Muller-Subcode. Dabei wird zur Codierung des Codeworts x die Generatormatrix G mittels x = uG verwendet. Hierzu wird G 2 [ 1 0 1 1 ]

Figure DE102019200941B4_0008
gewählt. Dann wird die Generatormatrix GRM(m,m) der m-ten Ordnung des Reed-Muller-Codes mit der Länge n = 2m erzeugt mit G R M ( m , m ) = G 2 m ,
Figure DE102019200941B4_0009
wobei " G 2 m "
Figure DE102019200941B4_0010
das Kronecker-Produkt m-ter Ordnung von G2 bezeichnet. Bei der Erzeugung von Codewörtern mittels Reed-Muller-Subcode wird die Generatormatrix G' r-ter Ordnung verwendet für einen Reed-Muller-Subcode der Länge n=2m, wobei G' erzeugt wird aus GRM, indem alle Reihen mit dem Hamming-Gewich t größer oder gleich 2m-r ausgewählt werden. Somit ergibt sich die Code-Dimension zu k = i = m r m ( m i ) .
Figure DE102019200941B4_0011
Seien nun und Reed-Muller-Subcodes der Länge 2m und 2n mit den Generatormatrizen G1 und G2 erzeugt wie vorstehend beschrieben, dann kann aus den Reed-Muller-Subcodes ein Product-Code (PC) erzeugt werden der Länge 2m+n mit der Generatormatrix G = G1 ⊕ G2, wobei es sich dabei wiederum um einen Reed-Muller-Subcode handelt. Insbesondere ist dabei der Reed-Muller-Subcode ein Product-Code der Dimension d>2, so dass die Generatormatrix G erzeugt wird durch G = G1 ⊕ G2 ⊕ ... ⊕ Gd mit G1 (i = 1,...,d) als Reed-Muller-Subcodes.Sodann werden mittels x = uG die Codewörter erzeugt.The invention also relates to a transmission method with a transmitter, the transmitter encoding a data bit sequence u = u 1 , ..., u k into the code word x = x 1 , ..., x n by means of a product code as Reed-Muller -Subcode. The generator matrix G by means of x = uG is used for coding the code word x. This is done G 2 [ 1 0 1 1 ]
Figure DE102019200941B4_0008
elected. Then the generator matrix G RM (m, m) of the m-th order of the Reed-Muller code with the length n = 2 m is generated with G R. M. ( m , m ) = G 2 m ,
Figure DE102019200941B4_0009
in which " G 2 m "
Figure DE102019200941B4_0010
denotes the Kronecker product of the m-th order of G 2 . When generating code words by means of Reed-Muller subcodes, the generator matrix G 'r-th order is used for a Reed-Muller subcode of length n = 2 m , where G' is generated from G RM by adding all rows with the Hamming -Weight t greater than or equal to 2 mr . Thus the code dimension arises too k = i = m - r m ( m i ) .
Figure DE102019200941B4_0011
Let Reed-Muller subcodes of length 2 m and 2 n be generated with generator matrices G 1 and G 2 as described above, then a product code (PC) can be generated from the Reed-Muller subcodes with a length of 2 m + n with the generator matrix G = G 1 ⊕ G 2 , which in turn is a Reed-Muller subcode. In particular, the Reed-Muller subcode is a product code of dimension d> 2, so that the generator matrix G is generated by G = G 1 ⊕ G 2 ⊕ ... ⊕ G d with G 1 (i = 1 ,. .., d) as Reed-Muller subcodes. Then the code words are generated using x = uG.

Im erfindungsgemäßen Übermittlungsverfahren wird sodann das Codewort x über einen Übertragungskanal übertragen. Dabei handelt es sich insbesondere um einen gestörten Übertragungskanal bzw. einen verlustbehafteten Übertragungskanal. Insbesondere handelt es sich um einen Binary-Input-Discrete gedächtnislosen Übertragungskanal (B-DMC). Durch den Übertragungskanal wird das Codewort x gestört, so dass vom Empfänger ein gestörtes Codewort y = y1, ..., yn empfangen wird. Würde es sich bei dem Übertragungskanal um einen verlustfreien idealen Kanal handeln, würde das ungestörte Codewort y dem gesendeten Codewort x entsprechen.In the transmission method according to the invention, the code word x is then transmitted over a transmission channel. This is particularly a disturbed transmission channel or a lossy transmission channel. In particular, it is a binary input discrete memoryless transmission channel (B-DMC). The code word x is disturbed by the transmission channel, so that the receiver receives a disturbed code word y = y 1 , ..., y n . If the transmission channel were a lossless ideal channel, the undisturbed code word y would correspond to the transmitted code word x.

Bei dem erfindungsgemäßen Übermittlungsverfahren wird das empfangene Codewort y decodiert gemäß dem vorstehend beschriebenen Verfahren zum Decodieren einer Datenbitfolge û = û1, ..., ûk, so dass û ermittelt wird, welches der ursprünglichen Datenbitfolge u bei fehlerfreier Decodierung entspricht.In the transmission method according to the invention, the received code word y is decoded according to the method described above for decoding a data bit sequence û = û 1 , ..., û k , so that û is determined which corresponds to the original data bit sequence u with error-free decoding.

Vorzugsweise ist vor der Erzeugung des Codeworts x zunächst ein CRC-Encoder vorgesehen zur Erzeugung einer mitübertragenen CRC-Prüfsumme.Before generating the code word x, a CRC encoder is preferably provided for generating a CRC checksum that is also transmitted.

Weiterhin betrifft die vorliegende Erfindung einen Empfänger zum Empfangen und Decodieren einer Datenbitfolge u mit einer Empfangsvorrichtung zum Empfangen eines Datensignals y = y1, ..., yn und einem Decodierer. Dabei ist der Decodierer ausgebildet zur Durchführung des Verfahrens zur Decodierung einer Datenbitfolge û = û1, ..., ûk, wie vorstehend beschrieben.The present invention also relates to a receiver for receiving and decoding a data bit sequence u with a receiving device for receiving a data signal y = y 1 , ..., y n and a decoder. The decoder is designed to carry out the method for decoding a data bit sequence û = û 1 , ..., û k , as described above.

Weiterhin betrifft die vorliegende Erfindung eine Übertragungsvorrichtung mit einem Sender, wobei der Sender eine Datenquelle und einen Codierer aufweist. Dabei ist der Codierer ausgebildet, um eine Datenbitfolge u der Daten-Datenquelle zu codieren mittels einem Product-Code als Reed-Muller-Subcode in ein Codewort x. Weiterhin weist die Übertragungsvorrichtung einen Übertragungskanal auf. Insbesondere handelt es sich hierbei um einen Binary-Input-Discrete gedächtnislosen Übertragungskanal (B-DMC). Weiterhin weist die Übertragungsvorrichtung einen Empfänger auf, wobei von dem Empfänger ein gestörtes Codewort y empfangen wird. Dabei ist der Empfänger ausgebildet wie vorstehend beschrieben.The present invention also relates to a transmission device with a transmitter, the transmitter having a data source and an encoder. The encoder is designed to encode a data bit sequence u of the data data source using a product code as a Reed-Muller subcode into a code word x. The transmission device also has a transmission channel. In particular, it is a binary input discrete transmission channel (B-DMC) without memory. Furthermore, the transmission device has a receiver, a disturbed code word y being received by the receiver. The receiver is designed as described above.

Vorzugsweise ist zwischen der Datenquelle und dem Codierer ein CRC-Encoder vorgesehen zur Erstellung einer CRC-Prüfsumme, welche vom Sender mitgesendet wird. Weiterhin weist der Empfänger einen CRC-Decoder auf zur Überprüfung der decodierten Datenbitfolge.A CRC encoder is preferably provided between the data source and the encoder for generating a CRC checksum which is also sent by the transmitter. The receiver also has a CRC decoder for checking the decoded data bit sequence.

Vorzugsweise handelt es sich bei dem Übertragungskanal um eine Funkverbindung oder eine kabelgebundene Verbindung oder eine optische Datenübertragung.The transmission channel is preferably a radio connection or a wired connection or an optical data transmission.

Nachfolgend wird die Erfindung anhand einer bevorzugten Ausführungsform unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert.The invention is explained in more detail below on the basis of a preferred embodiment with reference to the accompanying drawings.

Es zeigen:

  • 1 eine schematische Darstellung eines Encoders für einen Reed-Muller Subcode;
  • 2 (a) bis 2 (d):
    • Entscheidungsschritte des Decodierverfahrens,
  • 3 eine Ausführungsform des erfindungsgemäßen Übertragungsverfahrens.
Show it:
  • 1 a schematic representation of an encoder for a Reed-Muller subcode;
  • 2 (a) to 2 (d) :
    • Decision-making steps of the decoding process,
  • 3 an embodiment of the transfer method according to the invention.

Bei dem erfindungsgemäßen Verfahren wird zunächst mittels eines Product-Codes (PC) als Reed-Muller-Subcodes ein Codewort erzeugt, wobei eine Datenbitfolge u = u1, ..., uk codiert mittels dem PC in das Codewort x = x1, ..., xn. Dabei wird zur Codierung des Codeworts x die Generatormatrix G mittels x = uG verwendet. Hierzu wird G 2 [ 1 0 1 1 ]

Figure DE102019200941B4_0012
gewählt. Dann wird die Generatormatrix GRM(m,m) der m-ten Ordnung des Reed-Muller-Codes mit der Länge n = 2m erzeugt mit G R M ( m , m ) = G 2 m ,
Figure DE102019200941B4_0013
wobei " G 2 m "
Figure DE102019200941B4_0014
das Kronecker-Produkt m-ter Ordnung von G2 bezeichnet. Bei der Erzeugung von Codewörtern mittels Reed-Muller-Code wird die Generatormatrix G' r-ter Ordnung verwendet für einen Reed-Muller-Subcode der Länge n=2m, welcher als RM(r,m) bezeichnet wird, wobei G' erzeugt wird aus GRM, indem alle Reihen mit dem Hamming-Gewicht größer oder gleich 2m-r ausgewählt werden. Somit ergibt sich die Code-Dimension zu k = i = m r m ( m i ) .
Figure DE102019200941B4_0015
Seien nun und Reed-Muller-Subcodes der Länge 2m und 2n mit den Generatormatrizen G1 und G2 erzeugt wie vorstehend beschrieben, dann kann aus den Reed-Muller-Subcodes ein Product-Code (PC) erzeugt werden der Länge 2m+n mit der Generatormatrix G = G1 ⊕ G2, wobei es sich dabei wiederum um einen Reed-Muller-Subcode handelt. Insbesondere ist dabei der Reed-Muller-Subcode ein Product-Code der Dimension d>2, so dass die Generatormatrix G erzeugt wird durch G = G1 ⊕ G2 ⊕ ... ⊕ Gd mit G1 (i = 1,...,d) als Reed-Muller-Subcodes. Sodann werden mittels x = uG die Codewörter erzeugt.In the method according to the invention, a code word is first generated as a Reed-Muller subcode by means of a product code (PC), a data bit sequence u = u 1 , ..., u k being coded into the code word x = x 1 , using the PC. ..., x n . The generator matrix G by means of x = uG is used for coding the code word x. This is done G 2 [ 1 0 1 1 ]
Figure DE102019200941B4_0012
elected. Then the generator matrix G RM (m, m) of the m-th order of the Reed-Muller code with the length n = 2 m is generated with G R. M. ( m , m ) = G 2 m ,
Figure DE102019200941B4_0013
in which " G 2 m "
Figure DE102019200941B4_0014
denotes the Kronecker product of the m-th order of G 2 . When generating code words using the Reed-Muller code, the generator matrix G 'r-th order is used for a Reed-Muller subcode of length n = 2 m , which is referred to as RM (r, m), where G' generates becomes G RM by selecting all rows with the Hamming weight greater than or equal to 2 mr . Thus the code dimension arises too k = i = m - r m ( m i ) .
Figure DE102019200941B4_0015
If Reed-Muller subcodes of length 2 m and 2 n are now generated with the generator matrices G 1 and G 2 as described above, then a Product codes (PC) with a length of 2 m + n are generated with the generator matrix G = G 1 ⊕ G 2 , which in turn is a Reed-Muller subcode. In particular, the Reed-Muller subcode is a product code of dimension d> 2, so that the generator matrix G is generated by G = G 1 ⊕ G 2 ⊕ ... ⊕ G d with G 1 (i = 1 ,. .., d) as Reed-Muller subcodes. The code words are then generated using x = uG.

Alternativ lässt sich das Codewort erzeugen mittels der Generatormatrix GRM(m,m) der m-ten Ordnung. Hierzu muss ein 2m-bit Vektor u' definiert werden, wobei ui = 0 für alle i ∈ I A .

Figure DE102019200941B4_0016
A
Figure DE102019200941B4_0017
ist dabei die Menge aller Indizes der Reihen von GRM(m,m) mit dem Hamming-Gewicht kleiner als 2m-r. Die verbleibenden k Elemente von u' tragen dabei die Informationsbits. Bits deren Indizes zu A
Figure DE102019200941B4_0018
gehören, sind festgelegte Bits, wobei der Encoder den Wert dieser festgelegten Bits kennt. Die so gewonnene Genratormatrix wird genutzt als Komponenten-Code in der Erzeugung des Product-Codes. Encoding erfolgt somit mittels x = u'GRM(m,m).Alternatively, the code word can be generated by means of the generator matrix G RM (m, m) of the m-th order. For this, a 2 m -bit vector u 'must be defined, where u i = 0 for all i ∈ I. A .
Figure DE102019200941B4_0016
A
Figure DE102019200941B4_0017
is the set of all indices of the series from G RM (m, m) with the Hamming weight less than 2 mr . The remaining k elements of u 'carry the information bits. Bits to their indices A
Figure DE102019200941B4_0018
are fixed bits, and the encoder knows the value of these fixed bits. The generator matrix obtained in this way is used as a component code in the generation of the product code. Encoding is therefore carried out using x = u'G RM (m, m).

1 zeigt einen Tanner-Graph für die Erzeugung/Encoding eines (4,3) Reed-Muller-Subcodes, welcher aus (1,2) Reed-Muller Codes als Komponenten-Codes gebildet wird und somit wiederum ein Reed-Muller-Subcode darstellt. 1 shows a Tanner graph for the generation / encoding of a (4,3) Reed-Muller subcode, which is formed from (1,2) Reed-Muller codes as component codes and thus in turn represents a Reed-Muller subcode.

Das so erzeugte Codewort x wird sodann über einen Kanal W als y an den Empfänger übertragen. Am Empfänger erfolgt die Decodierung mittels eines SCL-Decoders wobei durch den Decoder die Datenbitfolge û'i ermitteln lässt. Durch die jeweiligen Möglichkeiten der Datenbits û'1 bis û'i-1 ∈ {0,1} werden P Pfade gebildet, wobei jeder Pfad p (p=1,...,P) i-1 Kanten aufweist, wobei jede Kante eines Pfades p jeweils ein Datenbit û'i' (i' = i,...,i-1) wiedergibt. Dabei wird für jeden der vorhandenen Pfade p jeweils durch den Decoder die Soft-Decisions mi ermittelt für mi(û'i = 0) sowie mi(û'i = 1). Dabei werden die vorhergehenden Entscheidungen des jeweiligen Pfades mitberücksichtigt.The code word x generated in this way is then transmitted to the receiver via a channel W as y. At the receiver the decoding takes place by means of an SCL decoder, whereby the data bit sequence û'i can be determined by the decoder. Due to the respective possibilities of the data bits û ' 1 to û' i-1 ∈ {0,1} P paths are formed, each path having p (p = 1, ..., P) i-1 edges, each edge of a path p each reproduces a data bit û 'i' (i '= i, ..., i-1). For each of the existing paths p, the decoder determines the soft decisions m i for m i (û ' i = 0) and m i (û' i = 1). The previous decisions of the respective path are also taken into account.

Somit ergeben sich gemäß 2 (a) zwei Möglichkeiten 0 und 1 mit den dafür berechneten Soft-Decisions mi=1(û'1 = 0) sowie mi=1(û'1 =1), wobei für jede Möglichkeit ein Pfad vorliegt und somit P=2. Dabei berechnen sich die Soft-Decisions mi wie aus I. Tal and A. Vardy, „List of decoding polar codes,“ IEEE Transactions of Information Theory, vol. 61, no. 5, pp. 2213-2226, May 2015 oder E. Arikan, „Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels,“ IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, July 2009 bekannt.Thus, according to 2 (a) two possibilities 0 and 1 with the calculated soft decisions m i = 1 (û ' 1 = 0) and m i = 1 (û' 1 = 1), whereby there is a path for each possibility and thus P = 2. The soft decisions m i are calculated as follows I. Tal and A. Vardy, "List of decoding polar codes," IEEE Transactions of Information Theory, vol. 61, no. 5, pp. 2213-2226, May 2015 or E. Arikan, "Channel polarization: A method for constructing capacity-achieving codes for symmetric binary-input memoryless channels," IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 3051-3073, July 2009 known.

Sodann wird gemäß 2 (b) mit der Decodierung des zweiten Datenbits û'2 fortgefahren. Hierbei werden für jeden der vorhandenen Pfade p wiederum beide Möglichkeiten für das Datenbit û'2 berücksichtigt und die entsprechenden Soft-Decisions ermittelt, sodass vier Pfade entstehen. Bei der Ermittlung der Soft-Decisions für û'2 werden dabei die vorhergehenden Entscheidungen λ, die zu dem ersten Datenbit û'1 geführt haben, berücksichtigt.Then according to 2 B) continued with the decoding of the second data bit û ' 2 . Here, for each of the existing paths p, both possibilities for the data bit û ' 2 are again taken into account and the corresponding soft decisions are determined so that four paths arise. When determining the soft decisions for û ' 2 , the previous decisions λ, which led to the first data bit û' 1 , are taken into account.

Gemäß der 2 (c) wird somit für jede weitere Möglichkeit ein weiterer Pfad erstellt, sodass nach der Ermittlung der Soft-Decisions für û'3 acht Pfade vorliegen, wobei jeder Pfad genau drei Kanten aufweist. Unter der Annahme, dass ein Parameter L = 4 gewählt sei, übersteigt nun die Anzahl der Pfade P die gewählten Parameter, sodass P > L. Sodann werden gemäß der Ausführungsform des beschriebenen Verfahrens die Pfade ausgewählt, welche die höchste Zuverlässigkeit aufweisen, und dann so viele Pfade mit geringer Zuverlässigkeit bzw. niedrigerem Soft-Decision-Wert herausgestrichen, bis P ≤ L. Dies ist in 2 (d) gezeigt, wobei lediglich auf Grund der Wahl von L = 4 genau vier Pfade übrigbleiben. Hierdurch wird sichergestellt, dass insbesondere bei großen Blocklängen nicht unnötige, weil unwahrscheinliche Kombinationen der Datenbits û'i weiterhin berücksichtigt werden.According to the 2 (c) a further path is thus created for every further possibility, so that after the determination of the soft decisions for û ' 3 there are eight paths, each path having exactly three edges. Assuming that a parameter L = 4 is selected, the number of paths P now exceeds the selected parameters, so that P> L. Then, according to the embodiment of the method described, the paths that have the highest reliability are selected, and then like this many paths with low reliability or lower soft decision value are crossed out until P ≤ L. This is in 2 (d) shown, with exactly four paths remaining due to the choice of L = 4. This ensures that no unnecessary especially for large block lengths are as improbable combinations of data bits û 'i still included.

Handelt es sich dabei bei einem der zu decodierenden Bits um eines der vorher festgelegten Bits mit û'i, i ∈ i A

Figure DE102019200941B4_0019
so ist das Bit festgelegt und eine Verzweigung erfolgt nicht. Insbesondere ist die Unsicherheit für das bereits festgelegte Bit û'i, i ∈ i A
Figure DE102019200941B4_0020
gleich Null.If one of the bits to be decoded is one of the previously defined bits with û ' i , i ∈ i A
Figure DE102019200941B4_0019
so the bit is fixed and no branching takes place. In particular, the uncertainty for the already determined bit is û ' i , i ∈ i A
Figure DE102019200941B4_0020
equals zero.

In einer ersten Alternative wird nach Ermitteln aller Soft-Decisions für jeden der Datenbits û'1 bis û'4 derjenige Pfad ausgewählt, mit dem höchsten Soft-Decision-Wert bzw. mit der höchsten Zuverlässigkeit. Die dem Pfad entsprechenden Werte werden sodann als übertragenes Codewort ûi = û'i angesehen. Alternativ hierzu ist, wie in 3 gezeigt, ist zwischen der Informationsquelle 18 und dem Product-Code-Encoder 20 ein CRC (Cyclic-Redundancay-Check)-Encoder 22 vorgesehen, der eine CRC-Prüfnummer erstellt, welche in das Codewort durch den Product-Code-Encoder 20 eingebettet und über den Übertragungskanal 24 mitübertragen wird. Durch den Reed-Muller-Decoder 26 werden sodann, wie vorstehend beschrieben, die Datenbits ûi decodiert, welche die CRC-Prüfsumme enthalten. Die dabei auftretenden möglichen Pfade werden sodann in einem CRC Decoder 28 anhand der übermitteln CRC-Prüfsumme auf deren Integrität überprüft, so dass aus den durch den Decoder 26 ermittelten möglichen Pfaden derjenige ausgesucht wird, welcher den CRC-Test besteht. Stimmt die Prüfsumme für mehrere der möglichen Pfade, die durch den Decoder 26 ermittelt wurden, so wird derjenige mit dem höchsten Soft-Decision-Wert bzw. mit der höchsten Zuverlässigkeit ausgewählt und als übertragenes Signal bzw. zu übertragende Datenbitfolge u angesehen. Somit wird in dieser Variante einerseits das fehlertolerante Decodierverfahren mittels Soft-Decision implementiert, wobei durch die nachgeschaltete Verwendung eines CRC Decoders weitere Fehler vermieden werden. Somit ist ein Decodierverfahren geschaffen mit einer hohen Performance und einer geringen Blockfehlerrate bzw. einem hohen Korrekturvermögen.In a first alternative, after all soft decisions have been determined for each of the data bits û ' 1 to û' 4, that path is selected with the highest soft decision value or with the highest reliability. The values corresponding to the path are then viewed as the transmitted code word û i = û ' i . Alternatively, as in 3 shown is between the information source 18th and the product code encoder 20th a CRC (Cyclic Redundancay Check) encoder 22 is provided, which creates a CRC check number, which is entered in the code word by the product code encoder 20th embedded and over the transmission channel 24 is also transmitted. By the Reed-Muller decoder 26th the data bits û i , which contain the CRC checksum, are then decoded as described above. The possible paths that occur are then stored in a CRC decoder 28 The integrity of the CRC checksum is checked so that the decoder 26th determined possible paths the one that passes the CRC test is selected. If the checksum is correct for several of the possible paths through the decoder 26th have been determined, the one with the highest soft decision value or with the highest reliability is selected and viewed as the transmitted signal or data bit sequence u to be transmitted. Thus, in this variant, on the one hand, the fault-tolerant decoding method is implemented by means of soft decision, further errors being avoided by the downstream use of a CRC decoder. A decoding method is thus created with a high performance and a low block error rate or a high correction capability.

Claims (9)

Verfahren zum Decodieren einer Datenbitfolge ûi (i=1,...,k), bei welchem a) ein Datensignal yr (r=1,...,n) empfangen wird, wobei das Datensignal codiert ist mittels eines Product-Codes, als Reed-Muller-Subcode; b) ein Successive-Cancellation-List (SCL) Decoder verwendet wird, wobei sich durch den Decoder die Datenbitfolge û'i ermitteln lässt; c) durch die jeweiligen Möglichkeiten der Datenbits û'1 bis û'i-1 ∈ {0,1} P Pfade gebildet werden, wobei jeder Pfad p (p=1,...,P) i-1 Kanten aufweist, wobei jede Kante eines Pfades p jeweils ein Datenbit û'i' (i' = 1,...,i-1) wiedergibt; d) wobei für jeden der vorhandenen Pfade p jeweils durch den Decoder die Soft-Decisions mi ermittelt werden für mi(û'i = 0) sowie mi(ü'i = 1), sich somit jeder der Pfade verzweigt und somit 2P Pfade entstehen; e) wobei bei der Berechnung der Soft-Decisions mi für das i-te Bit û'i alle vorherigen Entscheidungen berücksichtigt werden innerhalb des jeweiligen Pfades p; f) wobei fortgefahren wird mit der Berechnung der Soft-Decisions für das i+1-te Datenbit û'i+1; g) wobei bei Erreichen des k-ten Datenbits û'k die Soft-Decisions des Pfades p mit dem größten Soft-Decision-Wert als decodierte Datenbitfolge û'i = ûi genommen wird, dadurch gekennzeichnet, dass es sich bei den Komponenten des Product-Codes um einen Extended-Hamming-Code und / oder Single-Parity-Check-Code handelt.Method for decoding a data bit sequence û i (i = 1, ..., k), in which a) a data signal y r (r = 1, ..., n) is received, the data signal being encoded by means of a product Codes, as Reed-Muller subcode; b) a Successive Cancellation List (SCL) decoder is used, the data bit sequence û ' i being able to be determined by the decoder; c) P paths are formed by the respective possibilities of the data bits û ' 1 to û' i-1 ∈ {0,1}, each path having p (p = 1, ..., P) i-1 edges, where each edge of a path p represents a data bit û 'i' (i '= 1, ..., i-1); d) where for each of the existing paths p the decoder determines the soft decisions m i for m i (û ' i = 0) and mi (' i = 1), thus each of the paths branches off and thus 2P Paths arise; e) all previous decisions within the respective path p being taken into account when calculating the soft decisions m i for the i-th bit û 'i; f) continuing with the calculation of the soft decisions for the i + 1-th data bit û ' i + 1 ; g) the soft decisions of the path p with the largest soft decision value being taken as the decoded data bit sequence û ' i = û i when the k-th data bit û' k is reached, characterized in that the components of the Product codes are an extended Hamming code and / or a single parity check code. Verfahren nach Anspruch 1, bei welchem ein Wert L > 1 festgelegt wird und für den Fall, dass die Anzahl der vorhandenen Pfade P > L, die Pfade p ausgewählt werden mit dem größten Soft-Decision-Wert, wobei so viele Pfade verworfen werden, bis P ≤ L.Procedure according to Claim 1 , for which a value L> 1 is specified and, in the event that the number of existing paths P> L, the paths p are selected with the largest soft decision value, with as many paths being discarded until P L . Verfahren nach Anspruch 1 oder 2, bei welchem ein Cyclic-Redundancy-Check (CRC) Code angewandt wird auf die verbleibenden Möglichkeiten nach Ermittlung der Soft-Decisions des k-ten Datenbits ûk und nachfolgend aus den verbleibenden Pfaden der Pfad mit dem größten Soft-Decision-Wert ausgewählt wird.Procedure according to Claim 1 or 2 , in which a cyclic redundancy check (CRC) code is applied to the remaining options after determining the soft decisions of the k-th data bit û k and then the path with the largest soft decision value is selected from the remaining paths . Übermittlungsverfahren mit einem Sender, wobei der Sender eine Datenbitfolge u codiert mittels einem Product-Code in ein Codewort x als ReedMuller-Subcode, das Codewort x übertragen wird über eine Übertragungskanal und ein gestörtes Codewort y von einem Empfänger empfangen wird, wobei ein ungestörtes Codewort y dem gesendeten Codewort x entspräche, wobei durch den Empfänger das empfangene Codewort decodiert wird gemäß dem Verfahren nach einem der Ansprüche 1 bis 3, so dass û ermittelt wird, welche der ursprünglichen Datenbitfolge u bei fehlerfreier Decodierung entspricht.Transmission method with a transmitter, wherein the transmitter encodes a data bit sequence u using a product code in a code word x as a ReedMuller subcode, the code word x is transmitted via a transmission channel and a disturbed code word y is received by a receiver, with an undisturbed code word y would correspond to the transmitted code word x, the received code word being decoded by the receiver according to the method according to one of the Claims 1 to 3 so that û is determined which corresponds to the original data bit sequence u with error-free decoding. Übermittlungsverfahren nach Anspruch 4, bei welchem vor Erzeugung des Codeworts x zunächst ein CRC-Encoder vorgesehen ist zur Erzeugung einer mitübertragenen CRC-Prüfsumme.Transmission procedure according to Claim 4 , in which, before the code word x is generated, a CRC encoder is initially provided to generate a CRC checksum that is also transmitted. Empfänger zum Empfangen und Decodieren einer Datenbitfolge u, mit einer Empfangsvorrichtung zum Empfangen eines Datensignals und einem Decodierer, wobei der Decodierer ausgebildet ist zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 3.Receiver for receiving and decoding a data bit sequence u, with a receiving device for receiving a data signal and a decoder, the decoder being designed to carry out the method according to one of the Claims 1 to 3 . Übertragungsvorrichtung, mit einem Sender, wobei der Sender eine Datenquelle aufweist und einen Codierer, wobei der Codierer ausgebildet ist, um eine Datenbitfolge u der Datenquelle zu codieren in ein Codewort x mittels einem Product-Code als Reed-Muller-Subcode, einem Übertragungskanal und einem Empfänger, wobei ein gestörtes Codewort y von dem Empfänger empfangen wird, wobei der Empfänger ausgebildet ist gemäß einem Empfänger nach Anspruch 6.Transmission device, with a transmitter, the transmitter having a data source and an encoder, the encoder being designed to encode a data bit sequence u of the data source into a code word x by means of a product code as a Reed-Muller subcode, a transmission channel and a Receiver, wherein a disturbed code word y is received by the receiver, the receiver being designed according to a receiver Claim 6 . Übertragungsvorrichtung nach Anspruch 7, bei welchem zwischen der Datenquelle und dem Codierer ein CRC-Encoder vorgesehen ist zur Erstellung einer CRC-Prüfsumme sowie der Empfänger einen CRC-Decoder aufweist zur Überprüfung der decodierten Datenbitfolge.Transfer device according to Claim 7 , in which a CRC encoder is provided between the data source and the encoder for generating a CRC checksum and the receiver has a CRC decoder for checking the decoded data bit sequence. Übertragungsvorrichtung nach Anspruch 7 oder 8, wobei es sich bei dem Übertragungskanal um eine Funkverbindung oder eine kabelgebundene Verbindung oder eine optische Datenübertragung handelt.Transfer device according to Claim 7 or 8th , wherein the transmission channel is a radio link or a wired connection or an optical data transmission.
DE102019200941.7A 2019-01-25 2019-01-25 Decoding method Active DE102019200941B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019200941.7A DE102019200941B4 (en) 2019-01-25 2019-01-25 Decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019200941.7A DE102019200941B4 (en) 2019-01-25 2019-01-25 Decoding method

Publications (2)

Publication Number Publication Date
DE102019200941A1 DE102019200941A1 (en) 2020-07-30
DE102019200941B4 true DE102019200941B4 (en) 2020-08-13

Family

ID=71524187

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019200941.7A Active DE102019200941B4 (en) 2019-01-25 2019-01-25 Decoding method

Country Status (1)

Country Link
DE (1) DE102019200941B4 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018113705A1 (en) * 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd. Apparatus and methods for polar code construction

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018113705A1 (en) * 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd. Apparatus and methods for polar code construction

Also Published As

Publication number Publication date
DE102019200941A1 (en) 2020-07-30

Similar Documents

Publication Publication Date Title
DE19963683A1 (en) Architecture for decoding linear block error correction codes with soft decision
DE102017110389B4 (en) Method and decoder for soft input decoding of generalized chained codes
DE10238841B4 (en) Parallel processing of the decoding and the cyclic redundancy check when receiving mobile radio signals
DE102010035210B4 (en) Method for recovering lost data and correcting corrupted data
DE102011085602A1 (en) Apparatus and method for correcting at least one bit error in a coded bit sequence
DE102017216264B4 (en) Decoding method
DE102005022107B9 (en) Apparatus and method for determining a position of a bit error in a bit string
DE102011087634B4 (en) DEVICE AND METHOD FOR DETECTING AN ERROR IN A CODED BINARY WORD
DE2217935A1 (en) Arrangement and procedure for correcting double errors
DE102019200941B4 (en) Decoding method
DE19539343C2 (en) Method for error detection of a digital bit data stream that is transmitted from a transmitter to a receiver
DE102011087457A1 (en) Apparatus for detecting error within coded binary words, generates combined binary word which is not code word of error correction code if first or second coded binary word is not code word of error correction code
DE102021109391B3 (en) Multibyte error detection
DE69918912T2 (en) METHOD AND EMBODIMENT FOR IMPROVED PERFORMANCE IN A SYSTEM USING FOLDING DECODING
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
DE102015111729B4 (en) PROCEDURE AND DECODER FOR DETERMINING AN ERROR VECTOR FOR A DATA WORD ACCORDING TO A REED-MULLER CODE
DE102019113970B4 (en) DETECTION OF ADDRESSING ERRORS
EP1364481B1 (en) Method and device for error correction of data blocks depending on error check and softbit information
EP0073979B1 (en) System for the transmission of digital information signals
DE102016201408B4 (en) Method for transmitting 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
DE102017200075B4 (en) Decryption method and communication system
DE102022101798B3 (en) ERROR PROCESSING
DE102015112554B4 (en) Method and device for generating a code bit sequence and for detecting bit errors

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