DE102017216264B4 - Decoding method - Google Patents

Decoding method Download PDF

Info

Publication number
DE102017216264B4
DE102017216264B4 DE102017216264.3A DE102017216264A DE102017216264B4 DE 102017216264 B4 DE102017216264 B4 DE 102017216264B4 DE 102017216264 A DE102017216264 A DE 102017216264A DE 102017216264 B4 DE102017216264 B4 DE 102017216264B4
Authority
DE
Germany
Prior art keywords
soft
data bit
decisions
local
level
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
DE102017216264.3A
Other languages
German (de)
Other versions
DE102017216264A1 (en
Inventor
Mustafa Cemil Coskun
Gianluigi Liva
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 DE102017216264.3A priority Critical patent/DE102017216264B4/en
Publication of DE102017216264A1 publication Critical patent/DE102017216264A1/en
Application granted granted Critical
Publication of DE102017216264B4 publication Critical patent/DE102017216264B4/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/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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit

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 welchema) ein Datensignal y(r=1,...,n) empfangen wird, wobei es sich um ein Single-Parity-Check-Product-Code (SPC-PC) Signal handelt;b) ein SPC-PC-Decoder verwendet wird, welcher eine Vielzahl von lokalen SPC-Decodern aufweist, wobei die lokalen Decoder in mindestens einem Level l, angeordnet sind, wobei bei Vorsehen von mehr als einem Level die lokalen Decoder eines ersten Levels (l=1) mit den lokalen Decodern eines zweiten Levels (l=2) verbunden sind und wobei durch die lokalen Decoder des letzten Levels sich die Datenbitfolge ûermitteln lässt;c) durch die jeweiligen Möglichkeiten der Datenbits ûbis û∈ {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' = 1,...,i-1) wiedergibt;d) wobei für jeden der vorhandenen Pfade p jeweils durch die lokalen Decoder die Soft-Decisions mermittelt werden für m(û= 0) sowie m(û= 1), sich somit jeder der Pfade verzweigt und somit 2P Pfade entstehen;e) wobei bei der Berechnung der Soft-Decisions mfür das i-te Bit ûalle vorherigen Entscheidungen insbesondere des jeweiligen lokalen Decoders 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 û;g) wobei bei Erreichen des k-ten Datenbits ûdie Soft-Decisions des Pfades p mit dem größten Soft-Decision-Wert als decodierte Datenbitfolge ûgenommen wird.A method of decoding a data bit string û (i = 1, ..., k) in which a) a data signal y (r = 1, ..., n) is received, which is a single-parity check product Code (SPC-PC) signal; b) using an SPC-PC decoder having a plurality of local SPC decoders, wherein the local decoders are arranged in at least one level l, wherein when more than a level the local decoders of a first level (l = 1) are connected to the local decoders of a second level (l = 2) and whereby the local decoders of the last level allow the data bit sequence to be determined c) by the respective possibilities of the data bits û bis û∈ {0,1} P paths, each path p (p = 1, ..., P) having i-1 edges, each edge of a path p each having a data bit û (i '= 1, ..., i-1) d) where, for each of the existing paths p, the soft decisions are respectively determined by the local decoders for m (û = 0) and m (û = 1), Thus, each of the paths branches and thus 2P paths arise e) wherein in the calculation of the soft decisions mfor the i-th bit û all previous decisions, in particular of the respective local decoder are taken into account within the respective path p; f) being continued with the computation of the soft-decisions for the i + 1-th data bit û; g) where upon reaching the k-th data bit û the soft-decisions of the path p with the largest soft-decision value are taken as a 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 string, a transmission method using such a method for decoding a data bit string, and a transmission device for transmitting a data bit string.

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 by an encoder into a codeword x r (r = 1,..., N). The codeword coded 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 for 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 in the transmission by the decoder can be corrected. For this purpose, it is known to use a maxium likelihood method in which first soft decisions are calculated. In the case of soft-decision, the definition which is generally familiar to the person skilled in the art is a value which represents 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 of this is that the maximum likelihood method, in particular for longer codewords, that is to say for large values for n, becomes very computationally intensive and thus the decoding performance is reduced.

Insbesondere für große Blocklängen bzw. lange Codewörter ist die Verwendung von Product-Codes (PC) bekannt, bei der die langen Codewörter auf mehrere Decoder mittel Iterative-Decoding verteilt werden. Bei der Erzeugung von Codewörtern mittels PC wird eine Generatormatrix G = G1 (⊕G2 ⊕ ... ⊕ Gd verwendet und mittels x = uG die Codewörter erzeugt, wobei Gl der Generatormatrix der I-ten Komponente des Produktcodes entspricht, „⊕“ das Kronecker-Produkt bezeichnet und d der Dimension des PC. Hierdurch steigt zwar die Performance des Decodierverfahrens, dies jedoch auf Kosten einer gesteigerten Komplexität. Weiterhin sinkt für diese Verfahren die Blockfehlerrate, da einzelne lokale Decoder unabhängig voneinander sind.Especially for large block lengths or long codewords, the use of product codes (PC) is known in which the long codewords are distributed over several decoders by means of iterative decoding. When generating codewords by means of a PC, a generator matrix G = G 1 (⊕G 2 ⊕... G d is used and the codewords are generated by means of x = uG, where G l corresponds to the generator matrix of the I-th component of the product code. This increases the performance of the decoding process, but at the cost of increased complexity, and reduces the block error rate for these methods since individual local decoders are independent of each other.

COSKUN, M.C. [et al.]: Successive Cancellation Decoding of Single Parity-Check Product Codes, IEEE International Symposium on Information Theory, Juni 2017, S.1763-1767. IEEE Xplore [online]. DOI: 10.1109/ISIT.2017.8006832. In: IEEE beschreibt ein Decodingverfahren für Single Parity-Check Product Codes, welches auf dem sukzessiven Streichen unwahrscheinlicher Bits basiert.COSKUN, M.C. [et al.]: Successful Cancellation Decoding of Single Parity-Check Product Codes, IEEE International Symposium on Information Theory, June 2017, p.1763-1767. IEEE Xplore [online]. DOI: 10.1109 / ISIT.2017.8006832. In: IEEE describes a decoding method for Single Parity-Check Product Codes, which is based on the successive stripping of unlikely bits.

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

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

Bei dem erfindungsgemäßen Verfahren zum Decodieren einer Datenbitfolge û1 (i=1, ..., k) wird zunächst ein Datensignal yr (r=1, ..., n) empfangen. Dabei handelt es sich bei dem Signal um ein Single-Parity-Check-Product-Code (SPC-PC) Signal, welches von einem entsprechenden Sender erzeugt wurde. Bei dem erfindungsgemäßen Verfahren wird ein SPC-PC Decoder verwendet, welcher eine Vielzahl von lokalen PC-Decodern aufweist zur Decodierung des Product-Code-Codeworts yr. Dabei sind die lokalen Decoder in mindestens einem Level I und insbesondere einer Vielzahl von Levels I angeordnet, wobei die lokalen Decoder eines ersten Levels (I=1) mit dem lokalen Decoder eines zweiten Levels (1=2) verbunden sind, entsprechend der Struktur des verwendeten Produktcodes. Hierbei wird durch die lokalen Decoder des letzten Levels die Datenbitfolge ûi ermittelt. Hierzu weist insbesondere der SPC-PC Decoder n Eingänge im ersten Level auf und k Ausgänge im letzten Level. Die Ausgänge der lokalen Decoder des ersten Levels sind mit den Eingängen der lokalen Decoder des zweiten Levels verbunden usw.In the method according to the invention for decoding a data bit sequence û 1 (i = 1,..., K), first of all a data signal y r (r = 1,..., N) is received. The signal is a single parity check product code (SPC-PC) signal generated by a corresponding transmitter. In the method according to the invention, an SPC-PC decoder is used, which has a plurality of local PC decoders for decoding the product code codeword y r . In this case, the local decoders are arranged in at least one level I and in particular a plurality of levels I, the local decoders of a first level (I = 1) being connected to the local decoder of a second level (1 = 2), corresponding to the structure of FIG used product codes. In this case, the data bit sequence û i is determined by the local decoders of the last level. In particular, the SPC-PC decoder has n inputs in the first level and k outputs in the last level. The outputs of the local decoders of the first level are connected to the inputs of the local decoders of the second level, etc.

Erfindungsgemäß werden durch die jeweiligen Bit-Möglichkeiten 0 oder 1 der Datenbits ûi 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.According to the invention, the respective bit possibilities 0 or 1 of the data bits û i 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 given path p represents a data bit û i ' (i' = 1, ..., i-1), respectively. For example, the data bit û 1 can have the options 0 or 1. Thus, if complete, two paths would be present, with the first path (p = 1) representing û 1 = 0 and the second path (p = 2) representing û 1 = 1. For each additional data bit û i ' , each of these paths branches according to the possibilities {0,1}, so that a maximum of 2 (i-1) paths are available.

Erfindungsgemäß werden für jeden der vorhandenen Pfade p jeweils durch die lokalen Decoder 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. Aufgrund der Soft-Decisions 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. Dabei werden insbesondere die vorherigen Entscheidungen des jeweiligen lokalen Decoders 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 genommen. Hierdurch wird einerseits eine verbesserte Decodierperformance 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. According to the invention, the soft decisions m i are determined for each of the existing paths p by the local decoders for m ii = 0) and m ii = 1). Soft-decisions are the combination of the possible bit value 0 or 1 and a reliability value or soft-decision value, which gives a starting point for the probability of the respective bit value. For example, if m ii = 0) = -∞, there is a high probability that û i = 1. Due to the soft-decisions, each of the existing paths p will branch to give 2P paths. In this case, all previous decisions within the respective path p are taken into account in the calculation of the soft-decisions m i for the i-th bit û i . In particular, the previous decisions of the respective local decoder 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. Then continue with the calculation of the soft-decisions for the i + 1-th data bit û i + 1 . This results in a corresponding soft decision for each edge of the paths p. When the kth data bit û k is reached, the soft decision of the path p with the highest soft decision value, ie the greatest reliability, is taken as the decoded data bit sequence û i . As a result, on the one hand, an improved decoding performance is achieved in comparison to iterative decoding. At the same time, due to the initial determination of soft decisions, the previous decisions in the decoding process are taken into account. This increases the correction capability for erroneously transmitted bits in the data signal y r and reduces the block error rate.

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.Preferably, a value L> 1 is set. In the event that the number of existing paths becomes P> L, the paths p are selected which have the largest soft decision value, ie the highest reliability. Then, so many paths are discarded until P ≤ L. Thus, the number of paths to be considered is reduced to L, especially after each decoding of another data bit û i . If the soft-decisions have been determined for the data bit û i , it is then checked whether P ≦ L is still satisfied. Otherwise, a corresponding number of paths with a low soft-decision value are discarded.

Vorzugsweise ergibt sich die Anzahl ηl der lokalen Decoder auf dem Level I aus η l = i ' = 1 l 1 ( n i ' 1 ) i ' = l + 1 d n i ' ,

Figure DE102017216264B4_0001
wobei 1 ≤ I ≤ d und d die Dimension des PC angibt. Dabei ist ni' die Blocklänge der lokalen Decoder auf dem Level i'.The number η 1 of the local decoders preferably results at the level I η l = Π i ' = 1 l - 1 ( n i ' - 1 ) Π i ' = l + 1 d n i ' .
Figure DE102017216264B4_0001
where 1≤I≤d and d indicates the dimension of the PC. Where n i 'is the block length of the local decoders at level i'.

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, so wird aus den verbleibenden Pfaden p der Pfad mit den größten Soft-Decision-Werten ausgewählt.Preferably, a Cyclic Redundancy Check (CRC) code is applied to the remaining possibilities after determining the soft-decision of the k-th data bit û k . If more than one possible data bit sequence û i then remains, the path with the largest soft decision values is selected from the remaining paths p.

Vorzugsweise handelt es sich beim dem Single-Parity-Check-Product-Code (SPC-PC) um einen (k,n)-PC Blockcode mit k ≥ 4 und n ≥ 9. Bevorzugt ist k ≥ 64 und n ≥ 125. Besonders bevorzugt ist k ≥ 125 und n ≥ 216. Somit können auch Codes mit langer Blocklänge n effizient verarbeitet und decodiert werden.Preferably, the Single Parity Check Product Code (SPC-PC) is a (k, n) -PC block code with k ≥ 4 and n ≥ 9. Preferably, k ≥ 64 and n ≥ 125. Particularly preferably, k ≥ 125 and n ≥ 216. Thus, even long-block length codes n can be efficiently processed and decoded.

Vorzugsweise berechnen sich die Soft-Decision mi zu m l , j , i p ( 0 ) = P l , j , i p ( 0 ) + i ' = 1 i 1 P l , j , i ' p ( λ l , j , i ' p ) + max c i + 1 , c n l * [ 1 ( λ l , j ,1 p λ l , j , i 1 p 0 c i + 1 c n l = 0 ) i ' = i + 1 n l P l , j , i ' p ( c i ' ) ]

Figure DE102017216264B4_0002
m l , j , i p ( 1 ) = P l , j , i p ( 1 ) + i ' = 1 i 1 P l , j , i ' ( l ) , p ( λ l , j , i ' p ) + max c i + 1 , c n l * [ 1 ( λ l , j ,1 p λ l , j , i 1 p 1 c i + 1 c n l = 0 ) i ' = i + 1 n l P l , j , i ' p ( c i ' ) ]
Figure DE102017216264B4_0003
für den jeweiligen Pfad p, wobei I den Level des lokalen Decoders j bezeichnet und PP l,j,l' die ermittelten Soft-Decision-Werte bzw. Zuverlässigkeitswerte der vorhergehenden Entscheidungen. λ entspricht dabei den vorgehenden Entscheidungen und ci+1, ..., cnl ∈ {0,1} werden dabei so gewählt, dass ein Codewort entsteht, insbesondere mit einem Maximalwert für die Soft-Decision. Dabei ist nl die Blocklänge des j-ten lokalen Decoders im Level l. 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.Preferably, the soft-decision m i is calculated m l . j . i p ( 0 ) = P l . j . i p ( 0 ) + Σ i ' = 1 i - 1 P l . j . i ' p ( λ l . j . i ' p ) + Max c i + 1 . ... c n l * [ 1 ( λ l . j ,1 p λ l . j . i - 1 p 0 c i + 1 c n l = 0 ) Σ i ' = i + 1 n l P l . j . i ' p ( c i ' ) ]
Figure DE102017216264B4_0002
m l . j . i p ( 1 ) = P l . j . i p ( 1 ) + Σ i ' = 1 i - 1 P l . j . i ' ( l ) . p ( λ l . j . i ' p ) + Max c i + 1 . ... c n l * [ 1 ( λ l . j ,1 p λ l . j . i - 1 p 1 c i + 1 c n l = 0 ) Σ i ' = i + 1 n l P l . j . i ' p ( c i ' ) ]
Figure DE102017216264B4_0003
for the respective path p, where I denotes the level of the local decoder j and P P l , j , l ' the determined soft decision values or reliability values of the previous decisions. λ corresponds to the preceding decisions and c i + 1 , ..., c nl ∈ {0,1} are chosen so that a codeword arises, in particular with a maximum value for the soft decision. Where n l is the block length of the j th local decoder in level l. Thus, a complete rule for the soft decisions is given taking into account the previous decisions λ. Thus, for each available possibility of the data bit sequence û i or for the L-most reliable variants corresponding to the respective path, the reliability values of the i-th data bit û i are determined.

Vorzugsweise erfolgt die Weiterleitung der ermittelten Soft-Decisions von einem lokalen Decoder j im Level I auf den nächsten lokalen Decoder j' im Level 1+1 durch die Weiterleitung von mP l,j,l (0) nach PPl+1,j',l' (0) sowie für die zweite Möglichkeit für das Datenbit ûi mit mP l,j,l (1) nach PPl+1,j',l' (1).The forwarding of the determined soft decisions from a local decoder j in the level I to the next local decoder j 'in the levels 1 + 1 is preferably carried out by the forwarding of m P l, j, l (0) to P P l +1 , j ' , l' (0) and for the second possibility for the data bit i with m P l, j, l (1) to P P l + 1, j ' , l' (1).

Weiterhin betrifft die Erfindung ein Übermittlungsverfahren mit einem Sender, wobei der Sender eine Datenbitfolge u = u1, ..., uk codiert mittels einem SPC-PC Code in das Codewort x = x1, ..., xn. Dabei wird zur Codierung des Codeworts x die Generatormatrix G = G1 ⊕ G2 ⊕ ... ⊕ Gd mittels x = uG, wobei Gl der Generatormatrix der I-ten Komponente des Product-Codes entspricht und d der Dimension des PC.Furthermore, the invention relates to a transmission method with a transmitter, wherein the transmitter a data bit sequence u = u 1 , ..., u k encoded by means of a SPC-PC code in the code word x = x 1 , ..., x n . In this case, to code the code word x the generator matrix G = G 1 ⊕ G 2 ⊕ ... ⊕ G d by means of x = uG, where G l of the generator matrix of the I-th component of the product code corresponds and d the dimension of the PC.

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 via a transmission channel. This is in particular a disturbed transmission channel or a lossy transmission channel. In particular, it is a binary input discrete memoryless transmission channel (B-DMC). The codeword x is disturbed by the transmission channel, so that a disturbed codeword y = y 1 ,..., Y n is received by the receiver. If the transmission channel were a lossless ideal channel, the undisturbed codeword y would correspond to the transmitted codeword 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 inventive transmission method, the received codeword y is decoded according to the method described above for decoding a data bit string û = û 1 , ..., û k , so that û is determined which corresponds to the original data bit sequence u in the case of 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.Preferably, before the generation of the code word x, a CRC encoder is initially provided for generating a co-transmitted CRC checksum.

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.Furthermore, the present invention 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. In this case, 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 SPC-PC Code 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.Furthermore, the present invention relates to a transmission device with a transmitter, wherein the transmitter has a data source and an encoder. In this case, the encoder is designed to encode a data bit sequence u of the data data source by means of a SPC-PC code in a codeword x. Furthermore, the transmission device has a transmission channel. In particular, this is a binary input discrete memoryless transmission channel (B-DMC). Furthermore, the transmission device has a receiver, wherein a disturbed code word y is received by the receiver. In this case, 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.Preferably, a CRC encoder is provided between the data source and the encoder for generating a CRC checksum, which is sent by the transmitter. Furthermore, the receiver 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.Preferably, the transmission channel is a radio link 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 will be explained in more detail below with reference to a preferred embodiment with reference to the accompanying drawings.

Es zeigen:

  • 1 einen Decodiergraph für einen beispielhaft gewählten (9, 4) SPC-PC,
  • 2 den Decodiergraph der 1 mit Eingangswerten,
  • 3 (a) bis 3 (e): Entscheidungsschritte des Decodierverfahrens gemäß dem Decodiergraph der 1,
  • 4 den Decodiergraph der 1, bei der Entscheidung des dritten Bits,
  • 5 eine schematische Darstellung der Berücksichtigung der vorhergehenden Entscheidungen für einen ausgewählten lokalen Decoder und
  • 6 eine Ausführungsform des erfindungsgemäßen Übertragungsverfahrens.
Show it:
  • 1 a decoding graph for an exemplarily chosen (9, 4) SPC-PC,
  • 2 the decoding graph of 1 with input values,
  • 3 (a) to 3 (e) : Decision steps of the decoding method according to the decoding graph of 1 .
  • 4 the decoding graph of 1 in deciding the third bit,
  • 5 a schematic representation of the consideration of the previous decisions for a selected local decoder and
  • 6 an embodiment of the transfer method according to the invention.

1 zeigt einen Tanner-Graph für das erfindungsgemäße Decodierverfahren zur Decodierung einer Datenbitfolge ûi (i=1, ..., k) am Beispiel eines (n=9, k=4)-Single-Parity-Check-Product-Code (SPC-PC). Der in 1 dargestellte SPC-PC Decoder weist neun Eingänge auf, über die die neun Bits des empfangenen Codeworts yr (r=1, ..., 9) in den SPC-PC Decoder gelangen. Bei dem Decodergraphen der 1 sind mit „=“ Variablenknoten gekennzeichnet, wohingegen mit „+“ Checkknoten gekennzeichnet sind. Der SPC-PC Decoder weist dabei einen ersten Level 10 sowie einen zweiten Level 12 auf. Im ersten Level 10 sind drei lokale SPC-PC Decoder 14 vorgesehen, deren Eingänge die entsprechenden Bits des übertragenen Codeworts yi entgegennehmen. Die Ausgänge der lokalen Decoder 14 des ersten Levels 10 sind mit Eingängen von lokalen Decodern 16 des zweiten Levels 12 verbunden. Durch die lokalen Decoder 16 des zweiten Levels 12 lassen sich die übertragenen Datenbits û1 bis û4 ermitteln. Die Struktur des in 1 gezeigten SPC-PC Decoders richtet sich dabei nach der zugrundeliegenden PC-Struktur bzw. der verwendeten Generatormatrix G. 1 shows a Tanner graph for the decoding method according to the invention for decoding a data bit sequence û i (i = 1, ..., k) using the example of a (n = 9, k = 4) single parity check product code (SPC -PC). The in 1 illustrated SPC-PC decoder has nine inputs, get over the nine bits of the received codeword y r (r = 1, ..., 9) in the SPC-PC decoder. In the decoder graph of 1 are marked with "=" variable nodes, whereas "+" indicate check nodes. The SPC-PC decoder has a first level 10 as well as a second level 12 on. In the first level 10 are three local SPC-PC decoders 14 whose inputs receive the corresponding bits of the transmitted codeword y i . The outputs of the local decoder 14 the first level 10 are with inputs from local decoders 16 the second level 12 connected. By the local decoder 16 the second level 12 the transmitted data bits û 1 to û 4 can be determined. The structure of in 1 shown SPC-PC decoder depends on the underlying PC structure or the generator matrix used G.

Durch die einzelnen lokalen Decoder 14, 16 wird keine finale Entscheidung über das jeweilige Datenbit ûi getroffen, sondern lediglich Soft-Decisions mi für die beiden möglichen Werte 0 und 1 des jeweiligen Datenbits ûi.By the individual local decoder 14 . 16 no final decision is made about the respective data bit û i , but only soft-decisions m i for the two possible values 0 and 1 of the respective data bit û i .

Gemäß 2 wird das empfange Datensignal yr durch den SPC-PC-Decoder als Log-Likelihoods PP l,j,i (0) bezüglich einer möglichen 0 und PP l,j,i (1) bezüglich einer möglichen 1 definiert, wobei p den jeweiligen Pfad angibt, I den entsprechenden Level, wobei l = 1 für den ersten Level gilt, und j den jeweiligen lokalen Decoder des Levels I bezeichnet. Dabei ergeben sich die Log-Likelihoods zu P 1, j , i 1 ( 0 ) ln [ W ( y ( j 1 ) n 1 + i | 0 ) ]

Figure DE102017216264B4_0004
P 1, j ,i 1 ( 1 ) ln [ W ( y ( j 1 ) n 1 + i | 1 ) ]
Figure DE102017216264B4_0005
According to 2 the received data signal y r is defined by the SPC-PC decoder as log likelihoods P P l, j, i (0) with respect to a possible 0 and P P l, j, i (1) with respect to a possible 1, where p indicates the particular path, I denotes the corresponding level, where l = 1 for the first level, and j denotes the respective local level I decoder. This results in the log likelihoods P 1, j . i 1 ( 0 ) ln [ W ( y ( j - 1 ) n 1 + i | 0 ) ]
Figure DE102017216264B4_0004
P 1, j i 1 ( 1 ) ln [ W ( y ( j - 1 ) n 1 + i | 1 ) ]
Figure DE102017216264B4_0005

Sodann werden die Soft-Decisions für das erste Datenbit û1 berechnet gemäß m l , j , i p ( 0 ) = P l , j , i p ( 0 ) + i ' = 1 i 1 P l , j , i ' p ( λ l , j , i ' p ) + max c i + 1 , c n l * [ 1 ( λ l , j ,1 p λ l , j , i 1 p 0 c i + 1 c n l = 0 ) i ' = i + 1 n l P l , j , i ' p ( c i ' ) ]

Figure DE102017216264B4_0006
m l , j , i p ( 1 ) = P l , j , i p ( 1 ) + i ' = 1 i 1 P l , j , i ' ( l ) p ( λ l , j , i ' p ) + max c i + 1 , c n l * [ 1 ( λ l , j ,1 p λ l , j , i 1 p 1 c i + 1 c n l = 0 ) i ' = i + 1 n l P l , j , i ' p ( c i ' ) ]
Figure DE102017216264B4_0007
wobei P den jeweiligen Pfad bezeichnet, I den Level des lokalen Decoders j, λ den bisherigen Entscheidungen entspricht und cl+1, ..., cnl ∈ {0,1} mit nl der Blocklänge des lokalen Decoders j im Level l. Dabei berechnet sich max* gemäß max* ( x i ) = max* ( x 1, , x n ) = ln ( e x 1 + + e x n ) X 1 , , x n
Figure DE102017216264B4_0008
Then the soft-decisions for the first data bit û 1 are calculated according to m l . j . i p ( 0 ) = P l . j . i p ( 0 ) + Σ i ' = 1 i - 1 P l . j . i ' p ( λ l . j . i ' p ) + Max c i + 1 . ... c n l * [ 1 ( λ l . j ,1 p λ l . j . i - 1 p 0 c i + 1 c n l = 0 ) Σ i ' = i + 1 n l P l . j . i ' p ( c i ' ) ]
Figure DE102017216264B4_0006
m l . j . i p ( 1 ) = P l . j . i p ( 1 ) + Σ i ' = 1 i - 1 P l . j . i ' ( l ) p ( λ l . j . i ' p ) + Max c i + 1 . ... c n l * [ 1 ( λ l . j ,1 p λ l . j . i - 1 p 1 c i + 1 c n l = 0 ) Σ i ' = i + 1 n l P l . j . i ' p ( c i ' ) ]
Figure DE102017216264B4_0007
where P denotes the respective path, I the level of the local decoder j, λ corresponds to the previous decisions and c l + 1 , ..., c nl ∈ {0,1} with n l of the block length of the local decoder j in the level l , Hereby max * is calculated according to Max* ( x i ) = Max* ( x 1, ... . x n ) = ln ( e x 1 + + e x n ) X 1 . ... . x n
Figure DE102017216264B4_0008

Somit ergeben sich gemäß 3 (a) zwei Möglichkeiten 0 und 1 mit den dafür berechneten Soft-Decisions mi (0) sowie mi (1), wobei für jede Möglichkeit ein Pfad vorliegt und somit P=2.Thus, according to 3 (a) two possibilities 0 and 1 with the calculated soft-decisions m i (0) and m i (1), where there is a path for each possibility and thus P = 2.

Sodann wird gemäß 3 (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 3 (b) continued with the decoding of the second data bit û 2 . For each of the existing paths p, both options for the data bit û 2 are taken into account and the corresponding soft-decisions are determined, resulting in four paths. When determining the soft-decisions for û 2 , the previous decisions λ, which led to the first data bit û 1 , are taken into account.

4 zeigt exemplarisch die Situation bei der Entscheidung des dritten Datenbits û3. Die Entscheidungen bezüglich des ersten Datenbits û1 sowie û2 werden von links nach rechts im Decodiergraphen der 4 zurückgeführt und durch die lokalen Decoder berücksichtigt als λP l,j,z, z=1, ..., i-1 für den jeweiligen Pfad p. Die Soft-Decisions für das dritte Datenbit û3 werden somit bestimmt aus den vorherigen Entscheidungen, wobei die Soft-Decisions des ersten Levels mP 1,j,i Eingang finden in die lokalen Decoder des zweiten Levels, wobei P l + 1, j ' , i ' p ( 0 ) m l , j , i p ( 0 )  and  P l + 1, j ' , i ' p ( 1 ) m l , j , i p ( 1 ) .

Figure DE102017216264B4_0009
4 shows an example of the situation when deciding the third data bit û 3 . The decisions concerning the first data bits û 1 and û 2 are made from left to right in the decoding graph of the 4 is returned and taken into account by the local decoders as λ P l, j, z , z = 1, ..., i-1 for the respective path p. The soft decisions for the third data bit û 3 are thus determined from the previous decisions, with the soft decisions of the first level m P 1, j, i being input to the local decoders of the second level, wherein P l + 1, j ' . i ' p ( 0 ) m l . j . i p ( 0 ) and P l + 1, j ' . i ' p ( 1 ) m l . j . i p ( 1 ) ,
Figure DE102017216264B4_0009

Gemäß der 3 (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 3 (d) gezeigt, wobei lediglich auf Grund der Wahl von L = 4 genau vier Pfade übrig bleiben. 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 3 (c) Thus, for each additional possibility, another path is created, 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 chosen, now the number of paths P exceeds the selected parameters, so that P> L. Then, according to the embodiment of the method described, the paths having the highest reliability are selected and so on many paths with low reliability or lower soft-decision value are deleted until P ≤ L. This is in 3 (d) shown, where only due to the choice of L = 4 exactly four paths are left. This ensures that, in particular for large block lengths, unnecessary, because unlikely, combinations of the data bits û i are still taken into account.

In einem weiteren Schritt gemäß der 3 (e) wird das letzte Datenbit û4 ermittelt durch Ermittlung der jeweiligen Soft-Decisions für die möglichen Werte von û4 mit 0 oder 1. Somit verzweigt sich jeder Pfad erneut, so dass wiederum acht Pfade entstehen. Hierbei werden wiederum die vorhergehenden Entscheidungen berücksichtigt.In a further step according to the 3 (e) the last data bit û 4 is determined by determining the respective soft-decisions for the possible values of û 4 with 0 or 1. Thus, each path branches again, so that in turn eight paths arise. Again, the previous decisions are taken into account.

Exemplarisch ist dies für den Allgemeinfall für einen ausgewählten lokalen Decoder in der 5 dargestellt, bei dem die bisherigen Entscheidungen λP l,j,1, ... λP l,j,i-1 berücksichtigt werden sowie die entsprechenden Log-Likelihood-Werte, welche von der rechten Seite einfließen. Sodann werden für den j-ten lokalen Decoder auf dem I-ten Level für den p-ten Pfad die Soft-Decisions mP l,j,l (0) sowie mP l,j,i (1) für die möglichen Werte 0 und 1 ermittelt.
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. Alternativ hierzu ist, wie in 6 gezeigt, ist zwischen der Informationsquelle 18 und dem SPC-PC Encoder 10, 20 ein CRC (Cyclic-Redundancay-Check)-Encoder 22 vorgesehen, der eine CRC-Prüfnummer erstellt, welche in das Codewort durch den SPC-PC Encoder 20 eingebettet und über den Übertragungskanal 24 mitübertragen wird. Durch den SPC-PC 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 auch große Blocklängen aufgrund der Verwendung des Produktcodes berücksichtigt werden können. Weiterhin können 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.
This is exemplary for the general case for a selected local decoder in the 5 represented, in which the previous decisions λ P l , j , 1 , ... λ P l, j, i-1 are taken into account as well as the corresponding log likelihood values, which flow from the right side. Then, for the j-th local decoder, at the I-th level for the pth path, the soft decisions m P l, j, l (0) and m P l, j, i (1) for the possible values 0 and 1 determined.
In a first alternative, after determining all soft decisions, for each of the data bits û 1 to û 4, the path with the highest soft decision value or the highest reliability is selected. Alternatively, as in 6 is shown between the information source 18 and the SPC-PC encoder 10 . 20 a CRC (cyclic redundancy check) encoder 22 is provided, which generates a CRC check number, which in the codeword by the SPC-PC encoder 20 embedded and over the transmission channel 24 is transferred. Through the SPC-PC decoder 26 Then, as described above, the data bits û i are decoded which contain the CRC checksum. The resulting possible paths are then in a CRC decoder 28 based on the transmit CRC checksum to verify their integrity, so that out through the decoder 26 determined possible paths of the one who passes the CRC test. Tunes the checksum for several of the possible paths through the decoder 26 were determined, then the one with the highest soft-decision value or the highest reliability is selected and considered as a transmitted signal or to be transmitted data bit sequence u. Thus, in this variant, on the one hand, the fault-tolerant decoding method is implemented by means of soft-decision, wherein even large block lengths due to the use of the product code can be taken into account. Furthermore, further errors can be avoided by the downstream use of a CRC decoder. Thus, a decoding method is provided with a high performance and a low block error rate or a high correction capability.

Claims (13)

Verfahren zum Decodieren einer Datenbitfolge ûi (i=1,...,k), bei welchem a) ein Datensignal yr (r=1,...,n) empfangen wird, wobei es sich um ein Single-Parity-Check-Product-Code (SPC-PC) Signal handelt; b) ein SPC-PC-Decoder verwendet wird, welcher eine Vielzahl von lokalen SPC-Decodern aufweist, wobei die lokalen Decoder in mindestens einem Level l, angeordnet sind, wobei bei Vorsehen von mehr als einem Level die lokalen Decoder eines ersten Levels (l=1) mit den lokalen Decodern eines zweiten Levels (l=2) verbunden sind und wobei durch die lokalen Decoder des letzten Levels sich 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 die lokalen Decoder die Soft-Decisions mi ermittelt werden für mi(ûl = 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 insbesondere des jeweiligen lokalen Decoders 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 genommen wird. Method for decoding a data bit sequence û i (i = 1, ..., k), in which a) a data signal y r (r = 1,..., N) is received, which is a single-parity Check Product Code (SPC-PC) signal trades; b) using an SPC-PC decoder having a plurality of local SPC decoders, wherein the local decoders are arranged in at least one level l i, wherein providing more than one level the local decoders of a first level (l = 1) are connected to the local decoders of a second level (l = 2) and wherein the data bit sequence û i can be determined by the local decoders of the last level; c) are formed by the respective possibilities of the data bits û 1 to û i-1 ∈ {0,1} P paths, each path p (p = 1,..., P) having i-1 edges, each edge a path p represents a data bit û i ' (i' = 1, ..., i-1); d) where, for each of the existing paths p, the soft decisions m i are respectively determined by the local decoders for m il = 0) and m ii = 1), thus each of the paths branches and thus 2P Paths arise; e) wherein in the calculation of the soft-decisions m i for the i-th bit û i all previous decisions, in particular of the respective local decoder, are taken into account within the respective path p; f) proceeding with the calculation of the soft-decisions for the i + 1-th data bit û i + 1 ; g) when the k-th data bit û k is reached, the soft-decisions of the path p with the largest soft-decision value are taken as the decoded data bit sequence û i . 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.Method according to Claim 1 in which a value L> 1 is set and, in the case that the number of existing paths P> L, the paths p are selected with the largest soft-decision value, with so many paths discarded until P ≤ L , Verfahren nach Anspruch 1 oder 2, bei welchem die Anzahl ηl der lokalen Decoder auf dem Level I sich ergibt aus η l = i ' = 1 l 1 ( n i ' 1 ) i = l + 1 d n i '
Figure DE102017216264B4_0010
wobei 1 ≤ I ≤ d, wobei d die Dimension des PC angibt und ni' die Blocklänge des lokalen Decoders auf dem Level i'.
Method according to Claim 1 or 2 in which the number η 1 of the local decoders at level I results η l = Π i ' = 1 l - 1 ( n i ' - 1 ) Π i = l + 1 d n i '
Figure DE102017216264B4_0010
where 1 ≤ I ≤ d, where d indicates the dimension of the PC and n i ' indicates the block length of the local decoder at the level i'.
Verfahren nach einem der Ansprüche 1 bis 3, 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.Method according to one of Claims 1 to 3 in which a Cyclic Redundancy Check (CRC) code is applied to the remaining possibilities after determining the soft-decions of the k-th data bit û k and subsequently selecting the path with the largest soft-decision value from the remaining paths , Verfahren nach einem der Ansprüche 1 bis 4, bei welchem es sich um einen (k,n)-PC Blockcode handelt, wobei k≥4 und n≥9.Method according to one of Claims 1 to 4 , which is a (k, n) -PC block code, where k≥4 and n≥9. Verfahren nach einem der Ansprüche 1 bis 5, bei welchem die Soft-Decisions mi sich berechnen zu 1 m l , j , i p ( 0 ) = P l , j , i p ( 0 ) + i ' = 1 i 1 P l , j , i ' p ( λ l , j , i ' p ) + max c i + 1 , c n l * [ 1 ( λ l , j ,1 p λ l , j , i 1 p 0 c i + 1 c n l = 0 ) i ' = i + 1 n l P l , j , i ' p ( c i ' ) ]
Figure DE102017216264B4_0011
m l , j , i p ( 1 ) = P l , j , i p ( 0 ) + i ' = 1 i 1 P l , j , i ' ( l ) p ( λ l , j , i ' p ) + max c i + 1 , c n l * [ 1 ( λ l , j ,1 p λ l , j , i 1 p 1 c i + 1 c n l = 0 ) i ' = i + 1 n l P l , j , i ' p ( c i ' ) ]
Figure DE102017216264B4_0012
für den Pfad p, wobei l den Level des lokalen Decoders j bezeichnet, PP l,j,i' die ermittelten Soft-Decision-Werte der vorhergehenden Entscheidungen, λ den bisherigen Entscheidungen entspricht und ci+1,...,cnl ∈ {0,1} so gewählt sind, dass ein Codewort entsteht mit nl der Blocklänge des j-ten lokalen Decoder im Level l.
Method according to one of Claims 1 to 5 in which the soft-decisions m i calculate to 1 m l . j . i p ( 0 ) = P l . j . i p ( 0 ) + Σ i ' = 1 i - 1 P l . j . i ' p ( λ l . j . i ' p ) + Max c i + 1 . ... c n l * [ 1 ( λ l . j ,1 p λ l . j . i - 1 p 0 c i + 1 c n l = 0 ) Σ i ' = i + 1 n l P l . j . i ' p ( c i ' ) ]
Figure DE102017216264B4_0011
m l . j . i p ( 1 ) = P l . j . i p ( 0 ) + Σ i ' = 1 i - 1 P l . j . i ' ( l ) p ( λ l . j . i ' p ) + Max c i + 1 . ... c n l * [ 1 ( λ l . j ,1 p λ l . j . i - 1 p 1 c i + 1 c n l = 0 ) Σ i ' = i + 1 n l P l . j . i ' p ( c i ' ) ]
Figure DE102017216264B4_0012
for the path p, where l denotes the level of the local decoder j, P P l, j, i ' corresponds to the determined soft decision values of the previous decisions, λ corresponds to the previous decisions, and c i + 1 , ..., c nl ∈ {0,1} are chosen such that a codeword arises with nl of the block length of the jth local decoder in the level l.
Verfahren nach Anspruch 6, bei welchem die Weiterleitung der ermittelten Soft-Decisions von einem lokalen Decoder j auf den nächsten lokalen Decoder j' erfolgt durch mP l,j,i(0) → PP l+1,j',i'(0) , sowie mP l,j,i(1) → PP l+1,j',i'(1).Method according to Claim 6 in which the forwarding of the ascertained soft decisions from one local decoder j to the next local decoder j 'is effected by m P 1, j, i (0) → P P l + 1, j', i ' (0), and m P l, j, i (1) → P P l + 1, j ', i' (1). Übermittlungsverfahren mit einem Sender, wobei der Sender eine Datenbitfolge u codiert mittels einem SPC-PC Code in ein Codewort x, das Codewort x übertragen wird über einen Ü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 7, so dass û ermittelt wird, welche der ursprünglichen Datenbitfolge u bei fehlerfreier Decodierung entspricht.Transmission method with a transmitter, wherein the transmitter is a data bit sequence u coded by means of a SPC-PC code in a codeword x, the codeword x is transmitted via a transmission channel and a disturbed codeword y is received by a receiver, wherein an undisturbed codeword y the sent Code word x, wherein the received codeword is decoded by the receiver according to the method of one of Claims 1 to 7 so that û is determined which corresponds to the original data bit sequence u in error-free decoding. Übermittlungsverfahren nach Anspruch 8, 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 8 in which, prior to the generation of the code word x, a CRC encoder is initially provided for generating a co-transmitted CRC checksum. 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 7.A receiver for receiving and decoding a data bit sequence u, comprising a receiving device for receiving a data signal and a decoder, wherein the decoder is designed to carry out the method according to one of Claims 1 to 7 , Ü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 mittels einem SPC-PC Code in ein Codewort x, 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 10.Transmission device comprising a transmitter, the transmitter having a data source and an encoder, the encoder being adapted to code a data bit sequence u of the data source by means of an SPC-PC code into a codeword x, a transmission channel and a receiver, wherein a disturbed one Codeword y is received by the receiver, wherein the receiver is formed according to a receiver Claim 10 , Übertragungsvorrichtung nach Anspruch 11, 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 after Claim 11 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 11 oder 12, wobei es sich bei dem Übertragungskanal um eine Funkverbindung oder eine kabelgebundene Verbindung oder eine optische Datenübertragung handelt.Transfer device after Claim 11 or 12 , wherein the transmission channel is a radio link or a wired connection or an optical data transmission.
DE102017216264.3A 2017-09-14 2017-09-14 Decoding method Active DE102017216264B4 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017216264.3A DE102017216264B4 (en) 2017-09-14 2017-09-14 Decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017216264.3A DE102017216264B4 (en) 2017-09-14 2017-09-14 Decoding method

Publications (2)

Publication Number Publication Date
DE102017216264A1 DE102017216264A1 (en) 2019-03-28
DE102017216264B4 true DE102017216264B4 (en) 2019-09-12

Family

ID=65638572

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017216264.3A Active DE102017216264B4 (en) 2017-09-14 2017-09-14 Decoding method

Country Status (1)

Country Link
DE (1) DE102017216264B4 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10826538B1 (en) 2019-06-12 2020-11-03 International Business Machines Corporation Efficient error correction of codewords encoded by binary symmetry-invariant product codes
US11012099B1 (en) 2019-10-29 2021-05-18 International Business Machines Corporation Half-size data array for encoding binary symmetry-invariant product codes
US11063612B1 (en) 2020-03-02 2021-07-13 International Business Machines Corporation Parallelizing encoding of binary symmetry-invariant product codes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
COSKUN, M. C. [et al.]: Successive Cancellation Decoding of Single Parity-Check Product Codes. IEEE International Symposium on Information Theory, Juni 2017, S.1763-1767. IEEE Xplore [online]. DOI: 10.1109/ISIT.2017.8006832. In: IEEE *

Also Published As

Publication number Publication date
DE102017216264A1 (en) 2019-03-28

Similar Documents

Publication Publication Date Title
DE102017216264B4 (en) Decoding method
EP0755122A2 (en) Method and device for fixing an adaptive interrupt criterion with iterative decoding of multidimensional coded information
DE102010035210B4 (en) Method for recovering lost data and correcting corrupted data
EP0903025A1 (en) Process for computer-aided resignalling in an automatic repeat request
DE102019200941B4 (en) Decoding method
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
EP1364481B1 (en) Method and device for error correction of data blocks depending on error check and softbit information
DE102016201408B4 (en) Method for transmitting data
DE102017200075B4 (en) Decryption method and communication system
DE102014216143B4 (en) Procedure for recovering lost and / or corrupted data
DE102014214451B4 (en) Procedure for recovering lost and / or corrupted data
DE102015216987B4 (en) Procedure for recovering lost and / or corrupted data
DE102015226703B4 (en) Method for transmitting data
WO2010012524A1 (en) Method for transmitting and receiving a data block
EP2654209A1 (en) Method and device for determining of a bit and/or packet error rate
DE102004053656B4 (en) Method for processing signals according to methods with block-based error protection codes
DE102008007113A1 (en) Method and device for estimating channel parameters
EP1016236B1 (en) Rapid decoding of partially received convolution-coded data
DE102015112554B4 (en) Method and device for generating a code bit sequence and for detecting bit errors
DE102022124546A1 (en) Product autocoder for error correction using sublevel processing
DE102014215015B3 (en) Procedure for recovering lost and / or corrupted data
DE102018213296A1 (en) Method and device for reconstructing a first signal and a second signal by a common receiver
DE10147482A1 (en) Error correction of data transmitted in optical data transmission systems involves using serially chained, three-dimensional Single Parity Check turbo-code
DE102014218384B3 (en) Recovery of a binary response pattern from a noisy channel
EP3797482A1 (en) Error correction method for a unidirectional data transfer

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