DE102014204828B4 - Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten - Google Patents
Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten Download PDFInfo
- Publication number
- DE102014204828B4 DE102014204828B4 DE102014204828.1A DE102014204828A DE102014204828B4 DE 102014204828 B4 DE102014204828 B4 DE 102014204828B4 DE 102014204828 A DE102014204828 A DE 102014204828A DE 102014204828 B4 DE102014204828 B4 DE 102014204828B4
- Authority
- DE
- Germany
- Prior art keywords
- code
- data
- decoding
- column
- transmitted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1191—Codes on graphs other than LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes 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/2909—Product codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes 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/2927—Decoding strategies
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3746—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/098—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1171—Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/136—Reed-Muller [RM] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten, die von einer Sendevorrichtung über einen Übertragungskanal gesendet werden, wobei das Verfahren die folgenden Schritte aufweist: Codieren der Daten unter Verwendung eines mit der Sendevorrichtung verbundenen Encoders; Übermitteln der Daten von der Sendevorrichtung zu der Empfangsvorrichtung über einen Übertragungskanal und Decodieren der Daten unter Verwendung eines mit der Empfangsvorrichtung verbundenen Decoders, wobei während des Decodierens verlorengegangene und/oder beschädigte Daten wiederhergestellt werden, wobei das Codieren unter Verwendung eines Product-Codes durchgeführt wird, indem die zu übertragenden Datensymbole in Form einer Matrix der Größe k2 × k1 angeordnet werden und unter Verwendung eines Zeilencodes kodiert werden, so dass zeilenweise redundante Datensymbole erzeugt werden und ferner die zu übertragenden Datensymbole in Form der Matrix der Größe k2 × k1 unter Verwendung eines Spaltencodes codiert werden, so dass spaltenweise redundante Datensymbole erzeugt werden, wobei die zeilenweise und spaltenweise erzeugten redundanten Datensymbole zusammen mit den zu übertragenden Datensymbolen vom Sender über den Übertragungskanal an den Empfänger übermittelt werden, wobei mindestens einer der beiden zum Codieren verwendeten Codes, nämlich der Zeilencode und der Spaltencode, ein Single Parity-Check Code ist. dadurch gekennzeichnet, dass die übertragenen Daten decodiert werden, entsprechend einer Dekodierung von Daten, die durch eine serielle Konkatenation eines nicht-binären Single Parity-Check Encoders mit einem zweiten inneren Code erzeugt wurden, so dass der Dekodierungsvorgang beschreibbar ist als ein Decodieren eines nicht binären Low Density Parity-Check Codes mit lediglich einem Check Node, so dass ein nicht-iteratives Decodieren durchgeführt wird.
Description
- Die Erfindung betrifft ein Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten.
- Das erfindungsgemäße Verfahren wird angewandt, wenn Daten von einer Sendevorrichtung über einen verlustbehafteten Übertragungskanal an eine Empfangsvorrichtung gesendet werden.
- Neben weiteren Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten sind aus dem Stand der Technik Product Codes bekannt. Diese sind beschrieben in P. Elias, ”Error-free coding,” IRE Trans. Inf. Theory, vol. PGIT-4. pp. 29–37, Sept. 1954.
- Ein Product Code ist ein Fehlerkorrektur-Code, der auf einer zweidimensionalen Struktur basiert. Eine solche Struktur eines C = C1 × C2 Produkt Codes ist in
1 dargestellt. Beim Codieren werden die k Informationsbits in einer Matrix U der Größe k2 × k1 angeordnet (mit k1·k2 = k). Jede Zeile von U wird kodiert durch einen (n1, k1) binären linearen Blockcode C1. In1 kann das zeilenweise Codieren beispielsweise stattfinden durch einen (8,4) Hamming Code. Die nach der Zeilencodierung entstehende k2 × n1 Matrix wird dann spaltenweise durch einen (n2, k1) binären linearen Blockcode codiert. In1 kann es sich hierbei beispielsweise um einen (6,3) Shortened Hamming Code handeln. Es entsteht eine Matrix C der Größe n1 × n2 mit der Struktur - Die Länge und Dimension des Product Codes sind n = n1·n2 und k = k1·k2. Die Coderate r ist das Produkt der Coderaten des Zeilencodes C1 und des Spaltencodes C2, d. h. r = (k1/n1)(k2/n2) = r1·r2. Die beiden Codes C1 und C2 werden üblicherweise als Komponentencodes bezeichnet. Jede Zeile von C ist ein Codewort von C1. Ähnlich ist jede Spalte C ein Codewort von C2. Typische Komponentencodes sind kurze algebraische Codes, wie z. B. Single Parity-Check Codes, Hamming Codes, Bose-Chaudhuri-Hochquenghem (BCH) Codes (und ihre gekürzten/erweiterten Versionen). Produkt Codes dieser Art sind z. B. standardisiert im IEEE 802.16 Standard (WiMax).
- Product Codes werden iterativ decodiert. Eine typische Implementation eines Decoders funktioniert wie folgt. Jede Iteration ist in zwei Schritte aufgeteilt:
Erstens wird im Rahmen eines Zeilendecodierungsschrittes jede Zeile decodiert durch einen Soft-Input Soft-Output Decodieralgorithmus (z. B. den BCJR Algorithmus). Hierbei werden die Voraussetzungen berücksichtigt, die durch den Zeilencode C1 vorgegeben sind. Zweitens wird im Rahmen eines anschließenden Spaltendecodierschrittes jede Spalte durch einen Soft-Input Soft-Output Decodieralgorithmus (z. B. BCJR Algorithmus) decodiert. Auch hier werden die Voraussetzungen berücksichtigt, die durch den Code C2 vorgegeben sind. Die Zeilen- und Spaltendecoder tauschen Soft-Informationen aus. Dieser Decodierprozess ist sehr praktisch, jedoch nicht optimal, da der gesamte Code nicht durch die beiden Dekodierer gemeinsam decodiert wird. - Wenn einer der beiden Komponentencodes ein Single Parity-Check Code ist, so kann gemäß dem Stand der Technik optimales Maximum Likelihood Decoding durchgeführt werden. Dieser Ansatz ist beschrieben in J. Wolf, ”Efficient maximum likelihood decoding of linear block codes using a trellis,” IEEE Trans. Inf. Theory, vol. 24, no. 1, pp. 76–80, Jan. 1978. Der hier beschriebene Algorithmus basiert auf einer kompakten Trellis-Beschreibung des Product Codes und verwendet Viterbi Decoding. Die gesamte Decodierkomplexität ist proportional zu n1·22·k2.
-
DE 10 2013 201 422 B3 beschreibt ein Verfahren zum Wiederherstellen verlorengegangener Daten, die von einer Sendevorrichtung über einen Übertragungskanal gesendet werden, wobei die Daten mittels eines nichtbinären Low-Density-Parity-Check-Codes kodiert und dekodiert werden. - Das Kodieren von Daten unter Verwendung eines Product-Codes ist bekannt aus der Druckschrift LENTMAIER M. [et al.]: From Product Codes to Structured Generalized LDPC Codes. In: 5th International ICST Conference an Communications and Networking in China, 2010, S. 1–8. Die zu übertragenden Datensymbole werden in Form einer Matrix der Größe k2 × k1 angeordnet und unter Verwendung eines Zeilenkodes kodiert, so dass zeilenweise redundante Datensymbole erzeugt werden. Ferner wird ein Spaltencode verwendet, so dass spaltenweise redundante Datensymbole erzeugt werden. Es handelt sich um Single-Parity-Check-Codes.
-
US 2006/0285852 A1 - Aufgabe der Erfindung ist es, ein Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten bereitzustellen, das eine geringere Decodierkomplexität aufweist.
- Die Lösung der Aufgabe erfolgt erfindungsgemäß durch die Merkmale des Anspruchs 1.
- Das erfindungsgemäße Verfahren dient dem Wiederherstellen verloren gegangener und/oder beschädigter Daten, die von einer Sendevorrichtung über einen Übertragungskanal an eine Empfangsvorrichtung gesendet werden. Das Verfahren weist die folgenden Schritte auf:
Die Daten werden unter Verwendung eines mit der Sendevorrichtung verbundenen Encoders codiert. Anschließend werden sie von der Sendevorrichtung über einen Übertragungskanal zur Empfangsvorrichtung übermittelt. Unter Verwendung eines mit der Empfangsvorrichtung verbundenen Decoders werden die Daten decodiert. Während des Decodierens werden verloren gegangene und/oder beschädigte Daten wiederhergestellt. - Das Codieren findet unter Verwendung eines Produkt Codes statt. Hierbei werden die zu übertragenden Datensymbole, insbesondere Datenbits in Form einer Matrix oder eines Arrays der Größe k2 × k1 angeordnet. Unter Verwendung eines Zeilencodes werden die Daten codiert, so dass hierdurch zeilenweise redundante Datensymbole erzeugt werden. Ferner werden die zu übertragenden Datensymbole in Form der genannten Matrix der Größe k1 × k2 unter Verwendung eines Spaltencodes codiert, so dass hierdurch spaltenweise redundante Datensymbole erzeugt werden.
- Es entsteht somit durch den Product Code eine Matrix oder ein Array der Größe n1 × n2, das aus den zeilenweise und spaltenweise erzeugten redundanten Datensymbole zusammen mit den zu übertragenden Datensymbolen besteht. Diese Daten werden von der Sendervorrichtung über den Übertragungskanal an die Empfangsvorrichtung übermittelt.
- Erfindungsgemäß ist mindestens einer der beiden zum Codieren verwendeten Codes, nämlich der Zeilencode und der Spaltencode ein Single Parity-Check Code. Hierbei handelt es sich um einen Code, bei dem beim Codiervorgang nur ein Paritätsbit erzeugt wird. Bevorzugt wird ein Single Parity-Check Code verwendet, durch den ein Paritätssymbol bspw. durch eine XOR-Verknüpfung der zu übertragenden Datensymbole erzeugt wird.
- Erfindungsgemäß werden die übertragenen Daten decodiert entsprechend einer Decodierung von Daten, die durch eine serielle Konkatenation eines nicht binären Single Parity-Check Decoders mit einem zweiten inneren Code erzeugt wurden. Als zweiter innerer Code können verschiedene Codes verwendet werden, bspw. ein Hamming Code (einschließlich seiner gekürzten oder erweiterten Version: shortened Hamming Code, extended Hamming Code), ein Reed-Muller Code oder ein Golay-Code.
- Der Decodiervorgang ist somit beschreibbar als ein Decodieren eines nicht binären Low-Density-Parity Check Codes mit lediglich einem Check Node in der Darstellung eines bipartiten Graphen, so dass ein nicht iteratives Decodieren durchgeführt wird.
- Der erfindungsgemäße Decodieralgorithmus weist eine geringere Decodierkomplexität als der aus dem Stand der Technik bekannte Algorithmus von Jack Wolf auf. Die Decodierkomplexität des erfindungsgemäßen Verfahrens ist proportional zu n1·k2·2k2.
- Es ist bevorzugt, dass der zum Codieren verwendete Code, der kein Single Parity Check Code ist, ein (7,4 oder 8,4)-Hamming Code ist. Weiterhin ist bevorzugt, dass die während des Codierens durchgeführten Operationen unter Verwendung einer Fast Fourier Transformation oder einer Fast Hadamard Transformation durchgeführt werden. Hierbei handelt es sich insbesondere um das Maxium A posteriori (MAP) Decoding. Mit anderen Worten wird somit das aus dem Stand der Technik bekannte Decodierproblem in ein symbolweises MAP Decoding umgewandelt.
- Weitere Einzelheiten hierzu können den folgenden Veröffentlichungen entnommen werden:
- L. Barnault and D. Declercq, ”Fast decoding algorithm for LDPC over GF(2q),” in Proc. IEEE Inf. Theory Workshop, März 2003, Seiten 70–73.
- A. Goupil, M. Colas, G. Gelle, and D. Declercq, ”FFT-based BP decoding of general LDPC codes over Abelian groups,”, IEEE Trans. Commun., vol. 55, Nr. 4, Seiten 644–649, April 2007.
- Weiterhin kann der Decodiervorgang vereinfacht werden durch Anwenden von Annäherungen für die Check Node Update Regel:
- A. Voicila, D. Declercq, F. Verdier, M. Fossorier, and P. Urard, ”Low complexity decoding for non-binary LDPC codes in high Order fields,” IEEE Trans. Commun., vol. 58, Nr. 5, Seiten 1365–1375, Mai 2010.
- Im Folgenden werden bevorzugte Ausführungsformen der Erfindung anhand von Figuren erläutert.
- Es zeigen:
-
1 ein vereinfachtes Beispiel des Codiervorgangs durch einen Produkt Code. -
2 eine schematische Darstellung des Grundgedankens des erfindungsgemäßen Verfahrens -
3 am Beispiel eines Trellis-Abschnittes für einen Single Parity Check Code -
4 –6 konkrete Beispiele einer Ausführungsform des erfindungsgemäßen Verfahrens -
7 eine Darstellung der Leistungsfähigkeit des erfindungsgemäßen Verfahrens verglichen zum Stand der Technik -
1 wurde bereits in Zusammenhang mit dem Stand der Technik erläutert. - Im Folgenden wird das erfindungsgemäße Verfahren detaillierter beschrieben: Die Struktur des Codes wird durch den Encoder definiert. Wie bereits dargestellt werden die k Informationsbits des Product Codes in einem Array U der Größe k2 × k1 angeordnet. Jede Zeile von U wird kodiert mit einem Zeilencode. Der Zeilencode kann beispielsweise ein (n1, k1 = n1 – 1) Single Parity Check Code sein. Die berechneten Paritätsbits werden jeder Zeile angehängt. Die hieraus entstehende Matrix der Größe k2 × n1 wird als M bezeichnet. Die n1 Spalten von M werden bezeichnet als mT 1, mT 2, ..., mT n1 Somit ergibt sich (mit T als Transpose Operator)
- Hierbei ist 0 der Vektor mit k2 Bits, der nur aus Nullen besteht. Jede Spalte wird dann kodiert durch den (n2, k2) Code C2. Die berechneten Redundanzbits werden an jede Spalte angehängt, so dass eine Matrix C der Größe n2 × n1 entsteht. Die Spalten C werden bezeichnet als
CT 1, CT 2, ..., CT n1 - Es ist zu beachten, dass
ci = miG2 c = [c1 c2 ... cn1]. - Der gesamte Product Code wird bezeichnet als C. Seine Blockgröße und Dimension werden durch n und k bezeichnet mit n = n1 × n2 und k = k1 × k2.
- Das Codewort wird dann durch Binary Phase Shift Keying (BPSK) moduliert, so dass ein modulierter Vektor mit n Symbolen entsteht.
x = [x1 x2 ... xn1] xi = 1 – 2·ci, y = x + ν. - Hier ist jedes Element von ν unabhängig verteilt gemäß einer um den Nullpunkt verteilten Gaußschen Verteilung mit einer Varianz von σ2. Das Signal-Rausch-Spannungsverhältnis wird ausgedrückt durch
Eb/N0, y = [y1 y2 ... yn1] ν = [ν1 ν2 .... νn1], yi = xi + νi. - Die Vektoren
mT 1, mT 2, ..., mT n1 q = 2k -
- Mit x = [x1, x2, ..., xn1] wird das n1-Symbol Codewort bezeichnet. Die Symbole werden dann einer Konstellation x zugeordnet, die sich zusammensetzt aus q Realzahlvektoren, die gegeben sind durch die q BPSK-modulierten Wörter von C2. Als M wird die Modulation (mapping) M(w) : Fq → x bezeichnet.
- Die Mapping Funktion M(w) wird beschränkt durch die Product Code Konstruktion. Der Realzahlvektor ist einem generischen Symbol μ zugeordnet, das durch den BPSK-modulierten binären Vektor ci = m1 G 2 gegeben ist.
- Die Relation zwischen der Perspektive eines konventionellen Product Code Encoders und der von Coded Modulation ist in
2 dargestellt. Der Code Cq kann in effizienter Weise über seine Trellis decodiert werden. Diese umfasst q Zustände. Hierbei ist jeder Zustand (außer den Endzuständen) im Abschnitt i – 1 ist verbunden durch q Kanten mit den Zuständen in Abschnitt i. Ein Beispiel eines Trellis-Abschnittes für einen SPC Code über F8 ist in3 dargestellt. - Hierbei ist α ein Primitivelement von F8. Mit Si wird der Trellis-Zustand zum Zeitpunkt i bezeichnet. Die Bezeichnung, die der Trellis-Kante, die den Zustand s zum Zeitpunkt i – 1 zum Zustand s' zum Zeitpunkt i mit dem Zustand s' verbindet, zugeordnet ist, ist gegeben durch s + s', mit s, s' ∊ Fq.
- Indem der innere Code C2 zusammen mit dem BPSK Mapping als eine Modulation behandelt wird, ist es möglich einen optimalen symbolweisen Decoder zu verwenden. Dieser kann basieren auf dem nicht binären BCJR Algorithmus, der beschreiben ist in G. Liva, S. Scalise, E. Paolini, and M. Chiani, ”Turbo codes based an time-variant memory-1 convolutional codes over Fq,” in Proc. 2011 IEEE Int. Conf. Commun., Kyoto, Japan, Juni 2011, pp. 1–6.
- Im Folgenden wird ein konkreteres Beispiel des erfindungsgemäßen Verfahrens dargestellt. In der Darstellung gemäß
4 wird ausgegangen von einer Matrix der Größe k1 × k2, die die zu übertragenden Informationsbits U1 bis U12 enthält. Diese werden durch einen Produkt Code codiert. Als Zeilencode wird ein (4, 3) SPC Code verwendet. Als Spaltencode wird ein (8,4) Hamming Code verwendet. Es entstehen somit die Paritätsbits P1 bis P16. - In einer vektorweisen Darstellung ergibt sich die im rechten Teil der
4 dargestellte Anordnung. Es ergibt sich somit die vektorweise Gleichung:p_ = U_A + U_B + U_C - Im dargestellten Beispiel ist k1 = 4. Somit ist jeder Vektor ein Element eines Galois-Feldes der Ordnung 2k1 also 16.
- Bei der Betrachtung gemäß dem erfindungsgemäßen Verfahren ergibt sich somit eine Darstellung gemäß
5 . Der Decodiervorgang wird somit betrachtet als eine Konkatenation eines nicht binären Single Parity-Check Encoders mit einem inneren Hamming Encoder. - Es ergibt sich somit in der Darstellungsform eines bipartiten Graphen die Darstellung gemäß
6 . Hier ist ein nicht binärer LDPC-Code mit lediglich einem Check Node abgebildet, so dass ein nicht iteratives Decodieren durchgeführt werden kann. - Hierbei gilt:
Y_A ist die Kanalausgabe für X_A, Y_A = X_A + n_A.
Y_B ist die Kanalausgabe für X_B, Y_B = X_B + n_B.
Y_C ist die Kanalausgabe für X_C, Y_C = X_C + n_C.
Y_P ist die Kanalausgabe für X_P, Y_P = X_P + n_P. - Die Feldordnung q ist 16.
- Die Leistungsfähigkeit des erfindungsgemäßen Verfahrens verglichen zum Stand der Technik ist in
7 dargestellt. Hier ist der Code C1 ein (8,7) Single Parity Check Code, während der innere Code C2 ein (24,12) Extended Golay Code ist. Die durchgezogene Linie mit den Kreisen stellt die typische Performance eines iterativen Decoders dar. Die Linie mit den Dreiecken stellt die Performance eines iterativen Decoders mit Soft Information Scaling dar. Die durchgezogene Linie ohne Markierungen stellt die maximal erreichbare Grenze bezüglich der Leistungsfähigkeit dar. Die Leistungsfähigkeit des erfindungsgemäßen Verfahrens liegt nahe dieser theoretischen Grenze und übersteigt die Leistungsfähigkeit der aus dem Stand der Technik bekannten Decoder.
Claims (4)
- Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten, die von einer Sendevorrichtung über einen Übertragungskanal gesendet werden, wobei das Verfahren die folgenden Schritte aufweist: Codieren der Daten unter Verwendung eines mit der Sendevorrichtung verbundenen Encoders; Übermitteln der Daten von der Sendevorrichtung zu der Empfangsvorrichtung über einen Übertragungskanal und Decodieren der Daten unter Verwendung eines mit der Empfangsvorrichtung verbundenen Decoders, wobei während des Decodierens verlorengegangene und/oder beschädigte Daten wiederhergestellt werden, wobei das Codieren unter Verwendung eines Product-Codes durchgeführt wird, indem die zu übertragenden Datensymbole in Form einer Matrix der Größe k2 × k1 angeordnet werden und unter Verwendung eines Zeilencodes kodiert werden, so dass zeilenweise redundante Datensymbole erzeugt werden und ferner die zu übertragenden Datensymbole in Form der Matrix der Größe k2 × k1 unter Verwendung eines Spaltencodes codiert werden, so dass spaltenweise redundante Datensymbole erzeugt werden, wobei die zeilenweise und spaltenweise erzeugten redundanten Datensymbole zusammen mit den zu übertragenden Datensymbolen vom Sender über den Übertragungskanal an den Empfänger übermittelt werden, wobei mindestens einer der beiden zum Codieren verwendeten Codes, nämlich der Zeilencode und der Spaltencode, ein Single Parity-Check Code ist. dadurch gekennzeichnet, dass die übertragenen Daten decodiert werden, entsprechend einer Dekodierung von Daten, die durch eine serielle Konkatenation eines nicht-binären Single Parity-Check Encoders mit einem zweiten inneren Code erzeugt wurden, so dass der Dekodierungsvorgang beschreibbar ist als ein Decodieren eines nicht binären Low Density Parity-Check Codes mit lediglich einem Check Node, so dass ein nicht-iteratives Decodieren durchgeführt wird.
- Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der zum Kodieren verwendete Code, der kein Single Parity-Check Code ist, ein (8,4) Hamming Code ist.
- Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die während des Dekodierens durchgeführten Operationen unter Verwendung einer Fast Fourier Transformation oder einer Fast Hadamard Transformation durchgeführt werden.
- Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass der Decodiervorgang vereinfacht wird durch Anwenden von Annäherungen für die Check Node Update Regel.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014204828.1A DE102014204828B4 (de) | 2014-03-14 | 2014-03-14 | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014204828.1A DE102014204828B4 (de) | 2014-03-14 | 2014-03-14 | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102014204828A1 DE102014204828A1 (de) | 2015-09-17 |
DE102014204828B4 true DE102014204828B4 (de) | 2016-06-09 |
Family
ID=54010216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102014204828.1A Active DE102014204828B4 (de) | 2014-03-14 | 2014-03-14 | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102014204828B4 (de) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016219393B4 (de) | 2016-10-06 | 2023-11-09 | Schaeffler Technologies AG & Co. KG | Lastorientiert gestalteter Planetenträger mit in Umfangsrichtung zueinander versetzt angeordneten Ausklinkungen am Rand |
DE102016219396A1 (de) | 2016-10-06 | 2018-04-12 | Schaeffler Technologies AG & Co. KG | Lastorientiert gestalteter Planetenträger mit kooperierenden Einbuchtungen am Verbindungsstück und Aussparungen an Trägerwangen |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060285852A1 (en) * | 2005-06-21 | 2006-12-21 | Wenze Xi | Integrated maximum a posteriori (MAP) and turbo product coding for optical communications systems |
DE102013201422B3 (de) * | 2013-01-29 | 2014-02-20 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten |
-
2014
- 2014-03-14 DE DE102014204828.1A patent/DE102014204828B4/de active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060285852A1 (en) * | 2005-06-21 | 2006-12-21 | Wenze Xi | Integrated maximum a posteriori (MAP) and turbo product coding for optical communications systems |
DE102013201422B3 (de) * | 2013-01-29 | 2014-02-20 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten |
Non-Patent Citations (2)
Title |
---|
LENTMAIER, M. [et al.]: From Product Codes to Structured Generalized LDPC Codes. In: 5th International ICST Conference on Communications and Networking in China, 2010, S.1-8. - ISBN 973-963-9799-97-4 * |
LENTMAIER, M. [et al.]: From Product Codes to Structured Generalized LDPC Codes. In: 5th International ICST Conference on Communications and Networking in China, 2010, S.1-8. – ISBN 973-963-9799-97-4 |
Also Published As
Publication number | Publication date |
---|---|
DE102014204828A1 (de) | 2015-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60206419T2 (de) | Löschung und einzelfehlerkorrekturdekoder für lineare blockkodes | |
DE602005003767T2 (de) | Verfahren zum komprimieren einer menge korrelierter signale | |
DE102010035210B4 (de) | Verfahren zur Rückgewinnung verlorener Daten und zur Korrektur korrumpierter Daten | |
DE102014204828B4 (de) | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten | |
DE69033173T2 (de) | Signalzustandsdiagrammanordnung digitaler Datenfolgen | |
DE102012220334B3 (de) | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten | |
DE102013201422B3 (de) | Verfahren zum Wiederherstellen verlorengegangener und/ oder beschädigter Daten | |
DE102014208996B3 (de) | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten | |
DE19725275C2 (de) | Verfahren zur Decodierung von block- oder faltungscodierten digitalen Signalen | |
DE102013001740B3 (de) | Anordnung und Verfahren zur Decodierung eines Datenworts mit Hilfe eines Reed-Muller-Codes | |
DE102013213778B3 (de) | Verfahren zum Übertragen einer Nachricht von einem Sender zu einem Empfänger über ein Kommunkationsmedium mittels Packet-Level-Kodierung | |
DE102013218311B4 (de) | Verfahren zum Wiederherstellen von verloren gegangenen und-/ oder beschädigten Daten | |
DE102014214451B4 (de) | Verfahren zum Wiederherstellen von verloren gegangenen und/oder beschädigten Daten | |
DE102014216143B4 (de) | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten | |
DE102013223813B4 (de) | Verfahren zur Wiederherstellung verloren gegangener und/oder beschädigter Daten | |
DE102014210955B4 (de) | Verfahren zum Wiederherstellen von verlorengegangenen und/oder beschädigten Daten | |
DE102011102503B3 (de) | Verfahren zum Berichtigen beschädigter Daten | |
DE102013223413B4 (de) | Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten | |
DE102022111624B4 (de) | Fehlerkorrektur mit schneller Syndromberechnung | |
DE102015216710B4 (de) | Verfahren zum Übertragen von Daten | |
DE102013223801B4 (de) | Verfahren zum Wiederherstellen verloren gegangener und/oder beschädigter Daten | |
DE102013219863B4 (de) | Verfahren zum Übertragen einer Nachricht von einem Sender zu einem Empfänger über ein Kommunikationsmedium mittels Packet-Level-Kodierung | |
DE102012004273B4 (de) | Verfahren zum Wiederherstellen verlorengegangener und/oder beschädigter Daten | |
DE102014215015B3 (de) | Verfahren zum Wiederherstellen verlorengegangener und /oder beschädigter Daten | |
DE102014218384B3 (de) | Rückgewinnung eines binären Response-Musters von einem verrauschten Kanal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |