[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE102017216264B4 - Decodierverfahren - Google Patents

Decodierverfahren 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
English (en)
Other versions
DE102017216264A1 (de
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/de
Publication of DE102017216264A1 publication Critical patent/DE102017216264A1/de
Application granted granted Critical
Publication of DE102017216264B4 publication Critical patent/DE102017216264B4/de
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.

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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Aufgabe der vorliegenden Erfindung ist es, ein Decodierverfahren zu schaffen, welches verringertem Rechenaufwand eine geringe Blockfehlerrate bzw. ein hohes Korrekturvermögen aufweist.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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'.
  • 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.
  • 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.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • Vorzugsweise ist vor der Erzeugung des Codeworts x zunächst ein CRC-Encoder vorgesehen zur Erzeugung einer mitübertragenen CRC-Prüfsumme.
  • 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.
  • 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.
  • 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.
  • Vorzugsweise handelt es sich bei dem Übertragungskanal um eine Funkverbindung oder eine kabelgebundene Verbindung oder eine optische Datenübertragung.
  • Nachfolgend wird die Erfindung anhand einer bevorzugten Ausführungsform unter Bezugnahme auf die beigefügten Zeichnungen näher erläutert.
  • 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.
  • 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.
  • 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.
  • 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
  • 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
  • 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.
  • 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.
  • 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
  • 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.
  • 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.
  • 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.

Claims (13)

  1. 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.
  2. 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.
  3. 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'.
  4. 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.
  5. 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.
  6. 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.
  7. 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).
  8. Ü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.
  9. Ü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.
  10. 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.
  11. Ü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.
  12. Ü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.
  13. Ü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.
DE102017216264.3A 2017-09-14 2017-09-14 Decodierverfahren Active DE102017216264B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102017216264.3A DE102017216264B4 (de) 2017-09-14 2017-09-14 Decodierverfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102017216264.3A DE102017216264B4 (de) 2017-09-14 2017-09-14 Decodierverfahren

Publications (2)

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

Family

ID=65638572

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017216264.3A Active DE102017216264B4 (de) 2017-09-14 2017-09-14 Decodierverfahren

Country Status (1)

Country Link
DE (1) DE102017216264B4 (de)

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 (de) 2019-03-28

Similar Documents

Publication Publication Date Title
EP0755122A2 (de) Verfahren und Anordnung zur Bestimmung eines adaptiven Abbruchkriteriums beim iterativen Decodieren multidimensional codierter Information
DE102017216264B4 (de) Decodierverfahren
DE102010035210B4 (de) Verfahren zur Rückgewinnung verlorener Daten und zur Korrektur korrumpierter Daten
EP0903025A1 (de) Verfahren zur rechnergestützten rücksignalisierung in einem automatischen wiederholungs-anforderungs-verfahren
DE102019200941B4 (de) Decodierverfahren
DE102013201422B3 (de) Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten
EP1364481B1 (de) Verfahren und vorrichtung zur fehlerkorrektur von datenblöcken in abhängigkeit von fehlerprüf- und softbit-informationen
DE102004053656B4 (de) Verfahren zur Verarbeitung von Signalen nach Verfahren mit blockbasierten Fehlerschutzcodes
DE102016201408B4 (de) Verfahren zum Übertragen von Daten
DE102022111624B4 (de) Fehlerkorrektur mit schneller Syndromberechnung
DE102017200075B4 (de) Entschlüsselungsverfahren sowie Kommunikationssystem
DE102014216143B4 (de) Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
DE102014214451B4 (de) Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten
DE102015216987B4 (de) Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten
WO2010012524A1 (de) Verfahren zum senden und empfangen eines datenblocks
DE102015226703B4 (de) Verfahren zum Übertragen von Daten
EP2654209A1 (de) Verfahren und Vorrichtung zur Ermittlung einer Bit- und/oder Paketfehlerrate
DE102008007113A1 (de) Verfahren und Vorrichtung zur Schätzung von Kanalparametern
DE102022124546A1 (de) Produktautokodierer für eine Fehlerkorrektur mittels Unterstufenverarbeitung
DE102015112554B4 (de) Verfahren und Vorrichtung zum Erzeugen einer Codebitsequenz sowie zum Erkennen von Bitfehlern
DE102014215015B3 (de) Verfahren zum Wiederherstellen verlorengegangener und /oder beschädigter Daten
DE102011111835B4 (de) Verfahren zum Wiederherstellen verlorener und/oder beschädigter Daten
DE10147482A1 (de) Seriell verketteter, dreidimensionaler SPC-Turbocode für optische Übertragungssysteme
DE102014218384B3 (de) Rückgewinnung eines binären Response-Musters von einem verrauschten Kanal
DE102018213296A1 (de) Verfahren und Vorrichtung zum Rekonstruieren eines ersten Signales und eines zweiten Signales durch einen gemeinsamen Empfänger

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