DE102022204213B3 - Verfahren und Decoder zur Fehlerkorrektur einer empfangenen Nachricht - Google Patents

Verfahren und Decoder zur Fehlerkorrektur einer empfangenen Nachricht Download PDF

Info

Publication number
DE102022204213B3
DE102022204213B3 DE102022204213.1A DE102022204213A DE102022204213B3 DE 102022204213 B3 DE102022204213 B3 DE 102022204213B3 DE 102022204213 A DE102022204213 A DE 102022204213A DE 102022204213 B3 DE102022204213 B3 DE 102022204213B3
Authority
DE
Germany
Prior art keywords
polynomial
skew
error
word
space
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
DE102022204213.1A
Other languages
English (en)
Inventor
Hannes Bartz
Felicitas Hörmann
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 DE102022204213.1A priority Critical patent/DE102022204213B3/de
Application granted granted Critical
Publication of DE102022204213B3 publication Critical patent/DE102022204213B3/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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1515Reed-Solomon codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1525Determination and particular use of error location polynomials
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Fehlerkorrektur einer über einen Kommunikationskanal empfangenen Nachricht, die ein mit einem Fehler (e) behaftetes Wort (y) umfasst, wobei in dem Wort (y) ein Codewort (c) eines linearisierten Reed-Solomon-Codes, welcher durch eine Kontrollmatrix (H) beschrieben wird, enthalten ist. Das Codewort (c) ist in eine vorgegebene Anzahl (f) an Blöcken (c(1), ..., c(ℓ)) aufgeteilt und jeder Block (c(i)für alle i = 1, ..., ℓ) hängt von einem Auswertungsparameter (αi) ab. Beim Verfahren wird aus dem Wort (y) und der transponierten Kontrollmatrix (HT) ein Syndrom (s = (s0, ..., sn-k-1)) und aus dem Syndrom (s = (s0, ..., sn-k-1)) ein Syndrompolynom (s(x)) ermittelt. Es wird eine von dem Syndrompolynom (s(x)) abhängige Gleichung gelöst, durch die ein Schiefpolynom (p(x)) bestimmt wird, dessen Nullstellenraum der Zeilen- oder Spaltenraum des gesuchten Fehlers (e) ist. Der Grad des Schiefpolynoms beschreibt ein Fehlergewicht. Eine Basis (B) des Nullstellenraums wird probabilistisch bestimmt, indem eine reduzierte Norm (Nm(a)), die von einem vorgegebenen Schiefpolynomring abhängig ist, verarbeitet wird, wobei die Basis (B) des Nullstellenraums den Zeilen- oder Spaltenraum des Fehlers (e) aufspannt. Der Fehler (e) wird durch eine Zeilen- oder Spalten-Auslöschungsdecodierung erhalten, wodurch das Codewort (c) aus dem empfangenen Wort (y) bestimmt werden kann.

Description

  • Die Erfindung betrifft ein Verfahren und einen Decoder zur Fehlerkorrektur einer über einen Kommunikationskanal empfangenen Nachricht, die ein mit einem Fehler behaftetes Wort umfasst, wobei in dem Wort ein Codewort eines linearisierten Reed-Solomon-Codes, welcher durch eine Kontrollmatrix beschrieben wird, enthalten ist, und wobei das Codewort in eine vorgegebene Anzahl an Blöcken aufgeteilt ist und jeder Block von einem Auswertungsparameter abhängt.
  • Schiefpolynome sind eine spezielle Klasse von nicht-kommutativen Polynomen, die von Ore [1] eingeführt wurden und zur Konstruktion von fehlerkorrigierenden Codes in verschiedenen Decodiermetriken [2, 3] genutzt werden. Dabei besteht das Problem der Suche nach Nullstellen der Schiefpolynome unter Berücksichtigung der sog. verallgemeinerten Operatorauswertung. Das Problem des Auffindens von Nullstellen bei Schiefpolynomen kann wie folgt beschrieben werden:
  • Für die Potenz einer Primzahl q sei F q
    Figure DE102022204213B3_0001
    ein endlicher Körper der Ordnung q und F q m
    Figure DE102022204213B3_0002
    ein Erweiterungskörper von F q
    Figure DE102022204213B3_0003
    des Grades m. Mit F q m *
    Figure DE102022204213B3_0004
    wird die multiplikative Gruppe von F q m
    Figure DE102022204213B3_0005
    bezeichnet, d.h. F q m * = F q m \ { 0 } .
    Figure DE102022204213B3_0006
    Unter einer fest gewählten, geordneten Basis von F q m
    Figure DE102022204213B3_0007
    über F q ,
    Figure DE102022204213B3_0008
    kann jedes Element a F q m
    Figure DE102022204213B3_0009
    eindeutig durch einen (Spalten-)Vektor a F q m
    Figure DE102022204213B3_0010
    der Länge m repräsentiert werden. Wenn a = Σ i = 1 m a i b i
    Figure DE102022204213B3_0011
    in Bezug auf die geordnete F q Basis  B = { b 1 , b 2 , b 3 , , b m } F q m  von  F q m
    Figure DE102022204213B3_0012
    gilt, lautet der korrespondierende Vektor (α1, ..., αm) ∈. Für eine Menge A F q m
    Figure DE102022204213B3_0013
    wird mit A q  der  F q
    Figure DE102022204213B3_0014
    - lineare Unterraum von F q m
    Figure DE102022204213B3_0015
    bezeichnet, der durch die Elemente von
    Figure DE102022204213B3_0016
    aufgespannt wird. σ : F q m F q m
    Figure DE102022204213B3_0017
    bezeichnet einen Automorphismus des endlichen Körpers F q m .
    Figure DE102022204213B3_0018
    Für zwei beliebige Elemente a F q m  und  c F q m *
    Figure DE102022204213B3_0019
    definiert man: a c : = σ ( c ) a c 1
    Figure DE102022204213B3_0020
  • Zwei Elemente a, b a , b F q m
    Figure DE102022204213B3_0021
    werden als σ-konjugiert bezeichnet, wenn ein Element c F q m *
    Figure DE102022204213B3_0022
    existiert, so dass b = ac gilt. Dies definiert eine Äquivalenzrelation auf F q m
    Figure DE102022204213B3_0023
    und unterteilt daher F q m
    Figure DE102022204213B3_0024
    in Konjugationsklassen, wie in [4] beschrieben ist. Die Menge C ( a ) : = { a c : c F q m * }
    Figure DE102022204213B3_0025
    heißt Konjugationsklasse von a F q m , C ( 0 )
    Figure DE102022204213B3_0026
    wird triviale Konjugationsklasse genannt.
  • Ein Schiefpolynom ist ein Polynom der Form ƒ ( x ) = Σ i ƒ i x i
    Figure DE102022204213B3_0027
    mit einer endlichen Anzahl an Koeffizienten ƒ i F q m ,
    Figure DE102022204213B3_0028
    die ungleich 0 sind. Der Grad deg(f) eines Schiefpolynoms f ist definiert als max{i: fi ≠ 0}, wenn f ≠ 0 ist, und -∞ andernfalls.
  • Die Menge der Schiefpolynome mit Koeffizienten in F q m
    Figure DE102022204213B3_0029
    bildet zusammen mit gewöhnlicher Polynomaddition und der Multiplikationsregel x a = σ ( a ) x ,   a F q m
    Figure DE102022204213B3_0030
    einen nicht-kommutativen Ring, der mit F q m [ x ; σ ]
    Figure DE102022204213B3_0031
    bezeichnet ist. Der Schiefpolynomring F q m [ x ; σ ]
    Figure DE102022204213B3_0032
    umfasst verschiedene Polynomringe als Spezialfälle. Wenn σ die Identität ist, fällt der Schiefpolynomring mit dem gewöhnlichen Polynomring F q m [ x ]
    Figure DE102022204213B3_0033
    zusammen. Wenn σ der Frobenius-Automorphismus ist, d.h. σ =.q, ist der Schiefpolynomring F q m [ x ; σ ]
    Figure DE102022204213B3_0034
    isomorph zu dem linearisierten Polynomring L q m [ x ] ,
    Figure DE102022204213B3_0035
    der aus Polynomen der Form ∑ifixqi mit endlich vielen Koeffizienten ƒ i F q m
    Figure DE102022204213B3_0036
    ungleich 0 besteht [5].
  • Für Schiefpolynome a ( x ) , b ( x ) F q m [ x ; σ ]
    Figure DE102022204213B3_0037
    mit deg (b) ≤ deg (a) gibt es eine eindeutige Zerlegung a ( x ) = b ( x ) q L ( x ) + r L ( x ) = q R ( x ) b ( x ) + r R ( x )
    Figure DE102022204213B3_0038
    mit deg(rL) < deg (b) und deg(rR) < deg (b), wie [1] beschreibt. Wenn rL(x) = 0 ist, wird b(x) als ein linker Teiler von a(x) bezeichnet. Entsprechend wird b(x) als rechter Teiler von a(x) bezeichnet, wenn rR(x) = 0 ist.
  • Es gibt einen linken (ldiv) und einen rechten (rdiv) Divisionsalgorithmus, so dass (qL(x),rL(x)) = ldiv(a(x),b(x)) und (qR(x),rR(x)) = rdiv(a(x),b(x)) ist [1]. Der monische größte gemeinsame rechte Teiler (ggrT) von zwei Polynomen a ( x ) , b ( x ) F q m [ x ; σ ]
    Figure DE102022204213B3_0039
    wird mit ggrT(a(x), b(x)) bezeichnet.
  • Für jedes Element a F q m
    Figure DE102022204213B3_0040
    und i >0 wird eine reduzierte Norm definiert (siehe [4]): N i ( a ) = σ i 1 ( a ) σ i 2 ( a ) σ ( a ) a
    Figure DE102022204213B3_0041
    Weiterhin wird der Operator D a ( b ) : = σ ( b ) a
    Figure DE102022204213B3_0042
    für jedes a , b F q m
    Figure DE102022204213B3_0043
    definiert sowie dessen Potenzen D a i + 1 ( b ) = D a ( D a i ( b ) ) = σ i ( b ) N i ( a )
    Figure DE102022204213B3_0044
    für ganze Zahlen i ≥ 0, wobei D a 0 ( b ) = b
    Figure DE102022204213B3_0045
    gilt (siehe [3], Proposition 32).
  • Die verallgemeinerte Operatorauswertung des Schiefpolynoms ƒ F q m [ x ; σ ]
    Figure DE102022204213B3_0046
    an einem Element b F q m
    Figure DE102022204213B3_0047
    in Bezug auf den Auswertungsparameter a F q m *
    Figure DE102022204213B3_0048
    ist definiert als (siehe [3, 6]) ƒ ( b ) a = Σ i ƒ i D a i ( b ) .
    Figure DE102022204213B3_0049
  • Für zwei Schiefpolynome ƒ , g F q m [ x ; σ ]
    Figure DE102022204213B3_0050
    und Elemente a , b F q m
    Figure DE102022204213B3_0051
    ist die verallgemeinerte Operatorauswertung des Produktes f · g an b in Bezug auf den Auswertungsparameter a gegeben durch (siehe [7]) ( ƒ g ) ( b ) a = ƒ ( g ( b ) a ) a .
    Figure DE102022204213B3_0052
  • Ist σ : F q m F q m  mit  m x q
    Figure DE102022204213B3_0053
    der Frobenius-Automorphismus, fällt die verallgemeinerte Operatorauswertung mit dem Auswertungsparameter a=1 mit der entsprechenden linearisierten Polynomauswertung zusammen, die definiert ist als L q m [ x ] × F q m F q m ,   ( Σ i ƒ i x q i , b ) Σ i ƒ i b q i .
    Figure DE102022204213B3_0054
  • Linearisierte Reed-Solomon-Codes wurden zuerst von Martínez-Peñas in [3] definiert.
  • Für einen Vektor β = ( β ( 1 ) | | β ( l ) ) F q m n ,
    Figure DE102022204213B3_0055
    dessen Komponenten β(i) für alle i = 1, ..., ℓ eweils F q linear
    Figure DE102022204213B3_0056
    unabhängige Elemente von F q m
    Figure DE102022204213B3_0057
    enthalten, und für einen Vektor a = (a1, a2, ..., a), der aus Repräsentanten verschiedener nicht-trivialer Konjugationsklassen von F q m
    Figure DE102022204213B3_0058
    besteht, ist der linearisierte Reed-Solomon-Code der Länge n und der Dimension k gegeben als L R S ( σ , β , a , l ; n , k ) : = { ( ƒ ( β ( 1 ) ) a 1 | | ƒ ( β ( l ) ) a l ) , ƒ F q m [ x ; σ ] , deg ( ƒ ) < k } .
    Figure DE102022204213B3_0059
    wobei f(β(i))ai für i = 1, ..., ℓ den Vektor bezeichnet, der durch elementweise Anwendung der verallgemeinerten Operatorauswertung f (·)ai aus β(i) hervorgeht.
  • Da für einen festen Auswertungsparameter α die verallgemeinerte Operatorauswertung eine F q lineare
    Figure DE102022204213B3_0060
    Abbildung bildet, bildet die Menge der Nullstellen eines Schiefpolynoms einen F q linearen
    Figure DE102022204213B3_0061
    Unterraum von F q m .
    Figure DE102022204213B3_0062
    Bildet B = { b 1 , b 2 , , b r } F q m
    Figure DE102022204213B3_0063
    eine Basis für den besagten F q linearen
    Figure DE102022204213B3_0064
    Nullstellenraum (oder Kern) eines Schiefpolynoms p ( x ) F q m [ x ; σ ]
    Figure DE102022204213B3_0065
    in Bezug auf die verallgemeinerte Operatorauswertung mit einem Auswertungsparameter a F q m * ,
    Figure DE102022204213B3_0066
    so ergibt sich (siehe [8, Proposition 1.3.4]) dim ( B q ) = r deg ( p ) .
    Figure DE102022204213B3_0067
  • Gleichheit gilt genau dann, wenn p(x) ein Teiler von ( x m N m ( a ) )
    Figure DE102022204213B3_0068
    ist, wobei ( x m N m ( a ) )
    Figure DE102022204213B3_0069
    das Schiefpolynom ist, das alle Elemente von F q m
    Figure DE102022204213B3_0070
    in Bezug auf die verallgemeinerte Operatorauswertung mit dem Auswertungsparameter a als Nullstellen besitzt.
  • Die Elemente eines Vektors a = (a1, a2, ..., a) können als verschiedene Auswertungsparameter für die verallgemeinerte Operatorauswertung aufgefasst werden.
  • Angenommen, a enthält Repräsentanten von paarweise verschiedenen nicht-trivialen Konjugationsklassen von F q m  und  B i = { b 1 ( i ) , b 2 ( i ) , , b r i ( i ) } F q m
    Figure DE102022204213B3_0071
    bildet eine Basis für den F q linearen
    Figure DE102022204213B3_0072
    Nullstellenraum (oder Kern) des Schiefpolynoms p(x) ∈ F q m [ x ; σ ]
    Figure DE102022204213B3_0073
    in Bezug auf die verallgemeinerte Operatorauswertung mit dem Auswertungsparameter ai für alle i = 1, ..., ℓ. Hieraus ergibt sich (siehe [8, Proposition 1.3.7]) i = 1 l dim ( B i q ) = i = 1 l r i deg ( p ) .
    Figure DE102022204213B3_0074
    wobei Gleichheit genau dann gilt, wenn p(x) ein Teiler von Π i = 1 l ( x m N m ( a i ) )
    Figure DE102022204213B3_0075
    ist, d.h. wenn p(x) das Schiefpolynom, das an allen Elementen von F q m
    Figure DE102022204213B3_0076
    in Bezug auf jeden der Auswertungsparameter a1, a2, ..., a verschwindet, teilt. Damit kann das Problem der Nullstellenberechnung für Schiefpolynome formuliert werden.
  • Problem der Nullstellenberechnung für Schiefpolynome
  • Gegeben sind das Schiefpolynom p ( x ) F q m [ x ; σ ]
    Figure DE102022204213B3_0077
    und ein Vektor a = (a1, a2, ..., a), der Repräsentanten von paarweise verschiedenen nicht-trivialen Konjugationsklassen von F q m
    Figure DE102022204213B3_0078
    enthält. Es muss ein Tupel B = ( B 1 , B 2 , , B l )
    Figure DE102022204213B3_0079
    gefunden werden, wobei B i F q m
    Figure DE102022204213B3_0080
    eine Basis für den F q linearen
    Figure DE102022204213B3_0081
    Nullstellenraum von p(x) in Bezug auf die verallgemeinerte Operatorauswertung mit dem Auswertungsparameter ai für alle i = 1, ..., ℓ ist. Das Problem der Nullstellenberechnung (nachfolgend Problem 1) tritt in vielen Anwendungen, wie z.B. in syndrombasierten Decodieralgorithmen für rangmetrische Codes [9, 10, 11] und für die Decodierung von Codes in Summenrang- und Summenunterraummetrik [2, 3], auf.
  • Ein herkömmlicher Ansatz zur Lösung des oben beschriebenen Problems 1 besteht darin, Basen für die rechten Kerne der m × m Transformationsmatrizen zu berechnen, die den F q linearen
    Figure DE102022204213B3_0082
    Abbildungen entsprechen, die durch die verallgemeinerte Operatorauswertung von p(x) mit den Auswertungsparametern a1, a2, ..., a beschrieben werden (siehe z.B. [12], Kapitel 11.1). Ist B = { b 1 , b 2 , , b m }
    Figure DE102022204213B3_0083
    eine Basis von F q m   u ¨ ber  F q ,
    Figure DE102022204213B3_0084
    dann kann jede Transformationsmatrix P I F q m × m ,
    Figure DE102022204213B3_0085
    die der F q linearen
    Figure DE102022204213B3_0086
     
    Figure DE102022204213B3_0087
    Abbildung entspricht, die durch die verallgemeinerte Operatorauswertung von p(x) mit dem Auswertungsparameter ai gegeben ist, durch die Erweiterung des Vektors (p(b1)ai , p(b2)ai , ..., p(bm)ai über F q
    Figure DE102022204213B3_0088
    erhalten werden.
  • Die Berechnung des rechten Kerns einer Matrix Pi hat dabei die Komplexität von mω Operationen, wobei ω < 2, 37286 der Matrixmultiplikationskoeffizient ist [13]. Vernachlässigt man den Aufwand für die Erstellung der Transformationsmatrizen P1, ..., P, hat der herkömmliche Ansatz eine Gesamtkomplexität von ℓmω Operationen in F q .
    Figure DE102022204213B3_0089
  • Ein Nachteil des herkömmlichen Ansatzes des Problems der Nullstellenberechnung eines Schiefpolynoms durch Berechnung von Basen für die rechten Kerne der F q linearen
    Figure DE102022204213B3_0090
     
    Figure DE102022204213B3_0091
    Transformationsmatrizen mit Hilfe des in [12, Kapitel 11.1] beschriebenen Verfahrens ist die Komplexität, die in der Größenordnung von ℓmω und damit superquadratisch ist.
  • Ein im Vergleich zum herkömmlichen Ansatz effizienterer Ansatz zur Lösung eines Spezialfalls des Problems 1 wurde von Skachek und Roth in [14] vorgeschlagen. Der als probabilistischer Skachek-Roth-Algorithmus bezeichnete Algorithmus ermöglicht es, eine Basis des Nullstellenraums für ein linearisiertes Polynom p(x) zu finden, d.h. für ein Element des Schiefpolynomrings F q m [ x ; σ ] ,
    Figure DE102022204213B3_0092
    wobei σ der Frobenius-Automorphismus ist und die verallgemeinerte Operatorauswertung mit dem einzigen Auswertungsparameter a = 1 betrachtet wird, mit der Komplexität 0 (m deg(p)) in F q m .
    Figure DE102022204213B3_0093
    Der Skachek-Roth-Algorithmus (siehe [14, ]) ist nachfolgendend dargestellt:
  • Die Eingabe besteht aus einem Schiefpolynom p ( x ) F q m [ x ; σ ]  mit  σ = q .
    Figure DE102022204213B3_0094
  • Die Ausgabe ist eine Basis
    Figure DE102022204213B3_0095
    des F q linearen
    Figure DE102022204213B3_0096
    Nullstellenraums von p(x) unter Berücksichtigung der verallgemeinerten Operatorauswertung mit dem Auswertungsparameter a=1.
    Figure DE102022204213B3_0097
  • Der Nachteil des effizienteren Skachek-Roth-Algorithmus besteht darin, dass dieser lediglich einen speziellen Fall des Problems 1 löst, nämlich den Fall, dass F q m [ x ; σ ]
    Figure DE102022204213B3_0098
    mit dem linearisierten Polynomring, d.h. σ =·q, dem Frobenius-Automorphismus,und a = (1), d.h. dem einzigen Auswertungsparameter 1, übereinstimmt.
  • In [17] wird vorgeschlagen, bestehende Dekodieralgorithmen für drei Codeklassen in verschiedenen Metriken zu beschleunigen: Interleaved Gabidulin Codes in der Rang-Metrik, interleaved Gabidulin-Codes in der Unterraum-Metrik und linearisierte Reed-Solomon-Codes in der Summenrang-Metrik. Die Geschwindigkeitssteigerungen werden durch Algorithmen erreicht, die die zugrundeliegenden Rechenprobleme der Decoder auf ein gemeinsames Werkzeug reduzieren: die Berechnung von linken und rechten Näherungsbasen von Matrizen über schiefe Polynomringe. Um dies zu erreichen, ist eine schiefe Analogie des bestehenden PM-Basis-Algorithmus für Matrizen über gewöhnlichen Polynomen beschrieben. Im Fall von linearisierten Reed-Solomon-Codes resultiert dies in einer Dekodierkomplexität in der Größenordnung von M q , m ( n )
    Figure DE102022204213B3_0099
    Operationen in F q m
    Figure DE102022204213B3_0100
    unter Vernachlässigung logarithmischer Faktoren, was den Kosten einer Multiplikation von zwei Schiefpolynomen aus F q m [ x ; σ ]
    Figure DE102022204213B3_0101
    mit Grad höchstens n entspricht.
  • Es ist Aufgabe der vorliegenden Erfindung, ein gegenüber dem Stand der Technik verbessertes Verfahren für eine Fehlerkorrektur anzugeben, welches eine verringerte Komplexität aufweist und gleichzeitig die Möglichkeit bietet, mehr als einen Auswertungsparameter sowie einen beliebigen Automorphismus σ zu verwenden.
  • Diese Aufgabe wird durch ein Verfahren gemäß den Merkmalen des Anspruchs 1, ein Computerprogrammprodukt gemäß den Merkmalen des Anspruchs 12 und einen Decoder gemäß den Merkmalen des Anspruchs 13 gelöst. Vorteilhafte Ausgestaltungen ergeben sich aus den abhängigen Ansprüchen.
  • Es wird ein Verfahren zur Fehlerkorrektur einer über einen Kommunikationskanal empfangenen Nachricht vorgeschlagen, die ein mit einem Fehler (e) behaftetes Wort (y) umfasst, wobei in dem Wort (y) ein Codewort (c) eines linearisierten Reed-Solomon-Codes, welcher durch eine Kontrollmatrix (H) beschrieben wird, enthalten ist, und wobei das Codewort (c) in eine vorgegebene Anzahl (ℓ) an Blöcken (c(1), ..., c(ℓ)) aufgeteilt ist und jeder Block c(i) für alle i = 1, ..., ℓ von einem Auswertungsparameter (αi) abhängt.
  • Bei diesem Verfahren wird im Schritt a) aus dem Wort (y) und der transponierten Kontrollmatrix (HT) ein Syndrom (s = (s0, ..., sn-k-1)) und aus dem Syndrom (s = (s0, ..., sn-k-1)) ein Syndrompolynom (s(x)) ermittelt. In Schritt b) wird eine von dem Syndrompolynom (s(x)) abhängige Gleichung gelöst, durch die ein Schiefpolynom (p(x)) bestimmt wird, dessen Nullstellenraum der Zeilen- oder Spaltenraum des gesuchten Fehlers (e) ist, wobei der Grad des Schiefpolynoms das Fehlergewicht beschreibt. In Schritt c) wird eine Basis (
    Figure DE102022204213B3_0102
    ) des Nullstellenraums probabilistisch bestimmt, indem eine reduzierte Norm ( N m ( a ) ) ,
    Figure DE102022204213B3_0103
    die von einem vorgegebenen Schiefpolynomring abhängig ist, verarbeitet wird, wobei die Basis (
    Figure DE102022204213B3_0104
    ) des Nullstellenraums den Zeilen- oder Spaltenraum des Fehlers (e) aufspannt. In Schritt d) wird der Fehler (e) durch eine Zeilen- oder Spalten-Auslöschungsdecodierung erhalten, wodurch das Codewort (c) aus dem empfangenen Wort (y) bestimmt werden kann.
  • Das vorgeschlagene Verfahren basiert auf dem Skachek-Roth-Algorithmus zur Nullstellenberechnung und weist gegenüber diesem jedoch den Vorteil auf, dass nicht nur ein einziger Auswertungsparameter, sondern eine Vielzahl an Auswertungsparametern berücksichtigt werden kann. Das Verfahren weist eine geringere Komplexität auf als der aus dem Stand der Technik bekannte herkömmliche Ansatz, der F q lineare
    Figure DE102022204213B3_0105
    Transformationsmatrizen nutzt. Im Gegensatz zum Skachek-Roth-Algorithmus funktioniert das vorgeschlagene Verfahren für Schiefpolynomringe F q m [ x ; σ ]
    Figure DE102022204213B3_0106
    mit jedem Automorphismus σ und vielen Auswertungsparametern.
  • Das Verfahren kann in jedem Kommunikationssystem, das Decodieralgorithmen verwendet, welche es erfordern, Nullstellen von Schiefpolynomen im Hinblick auf die verallgemeinerte Operatorauswertung aufzufinden, eingesetzt werden.
  • Gemäß einer weiteren zweckmäßigen Ausgestaltung wird der Nullstellenraum dadurch berechnet, dass ein zweites Schiefpolynom minimalen Grades gi (x) mit gleichem Nullstellenraum wie das Schiefpolynom (p(x)) bezüglich der verallgemeinerten Operatorauswertung und bezüglich dem fixierten Auswertungsparameter (αi) bestimmt wird.
  • Gemäß einer weiteren zweckmäßigen Ausgestaltung wird ein drittes Schiefpolynom hi(x) bestimmt, dessen Bild der Nullstellenraum von gi (x) ist.
  • Gemäß einer weiteren zweckmäßigen Ausgestaltung wird die Basis (
    Figure DE102022204213B3_0107
    ) des Nullstellenraums derart bestimmt, dass dieser durch eine Anzahl (f) verschiedener Auswertungsparameter (ai, wobei i = 1, ..., ℓ) in Unterräume unterteilt wird. Insbesondere werden die Basen ( B 1 , , B l )
    Figure DE102022204213B3_0108
    der Unterräume des Nullstellenraums iterativ bestimmt.
  • Eine weitere zweckmäßige Ausgestaltung sieht vor, dass die Basen ( B 1 , , B l )
    Figure DE102022204213B3_0109
    der Unterräume des Nullstellenraums unabhängig voneinander bestimmt werden. Insbesondere wird die Basis (
    Figure DE102022204213B3_0110
    ) des Nullstellenraums durch Vereinigung der iterativ berechneten Basen ( B 1 , , B l )
    Figure DE102022204213B3_0111
    der Unterräume des Nullstellenraums erzeugt.
  • Eine weitere Ausgestaltung sieht vor, dass die Anzahl (f) der verschiedenen Auswertungsparameter (ai) durch die Zahl nicht-trivialer Konjugationsklassen begrenzt ist. Eine weitere bevorzugte Ausgestaltung sieht vor, dass die Auswertungsparameter (αi) aus verschiedenen nicht-trivialen Konjugationsklassen bezüglich des Schiefpolynomrings gewählt sind.
  • Gemäß einer weiteren zweckmäßigen Ausgestaltung sind die Auswertungsparameter (ai) und die reduzierten Normen ( N m ( a i ) )
    Figure DE102022204213B3_0112
    Elemente eines endlichen Körpers ( F q m ) .
    Figure DE102022204213B3_0113
    Zweckmäßigerweise wird die reduzierte Norm ( N m ( a ) )
    Figure DE102022204213B3_0114
    ermittelt gemäß: N m ( a ) = σ m 1 ( a ) σ m 2 ( a ) σ ( a ) a ,
    Figure DE102022204213B3_0115
    wobei σ : = F q m F q m
    Figure DE102022204213B3_0116
    ein Automorphismus des endlichen Körpers F q m
    Figure DE102022204213B3_0117
    ist.
  • Es wird ferner ein Computerprogrammprodukt vorgeschlagen, das direkt in den internen Speicher eines digitalen Computers geladen werden kann und Softwarecodeabschnitte umfasst, mit denen die Schritte des hierin beschriebenen Verfahrens gemäß einer oder mehrerer Ausgestaltungen ausgeführt werden, wenn das Produkt auf einem Computer läuft.
  • Es wird ferner ein Decoder zur Fehlerkorrektur einer über einen Kommunikationskanal empfangenen Nachricht vorgeschlagen, der eine Recheneinheit umfasst, die dazu ausgebildet ist, das hierin beschriebene Verfahren gemäß einem oder mehrerer Ausgestaltungen auszuführen.
  • Die Erfindung wird nachfolgend näher anhand eines Ausführungsbeispiels und der Zeichnungen erläutert. Es zeigen:
    • 1 einen Ablaufplan, der die notwendigen Schritte zur Durchführung einer Fehlerkorrektur gemäß dem erfindungsgemäßen Verfahren illustriert;
    • 2 einen Ablaufplan, in dem der gegenüber Skachek-Roth verbesserte erfindungsgemäße Algorithmus illustriert ist; und
    • 3 ein Diagramm, dass die Ausführungszeit des herkömmlichen Vorgehens zur Nullstellenberechnung für Schiefpolynome und des erfindungsgemäßen Verfahrens in Abhängigkeit von einem Erweiterungsgrad m zeigt.
  • Das erfindungsgemäße Verfahren zur Fehlerkorrektur nutzt zur Lösung des oben beschriebenen Problems ein probabilistisches Verfahren mit einer Gesamtkomplexität in der Größenordnung von O (ℓm deg(p)) Operationen in F q m .
    Figure DE102022204213B3_0118
    Das Verfahren basiert auf folgenden Überlegungen, um einen effizienten Skachek-Roth-ähnlichen Algorithmus zur Lösung von Problem 1 zu ermöglichen.
  • Ein Schiefpolynom g ( x ) F q m [ x ; σ ]
    Figure DE102022204213B3_0119
    ist ein rechter Teiler von x m N m ( a )
    Figure DE102022204213B3_0120
    für ein festes a F q m *
    Figure DE102022204213B3_0121
    genau dann, wenn g(x) auch ein linker Teiler von x m N m ( a )
    Figure DE102022204213B3_0122
    ist. Dies kann man wie folgt einsehen: Unter der Annahme, dass g(x) ein rechter Teiler von x m N m ( a )
    Figure DE102022204213B3_0123
    ist, ergibt sich x m N m ( a ) = h ( x ) g ( x )
    Figure DE102022204213B3_0124
    für ein h ( x ) F q m [ x ; σ ] .
    Figure DE102022204213B3_0125
    Andererseits gilt x m N m ( a ) = g ( x ) q ( x ) + r ( x )
    Figure DE102022204213B3_0126
    für q ( x ) , r ( x ) F q m [ x ; σ ]
    Figure DE102022204213B3_0127
    mit deg(r) < deg(g). Die Multiplikation der Gleichung (15) von links mit h(x) ergibt h ( x ) ( x m N m ( a ) ) = h ( x ) g ( x ) q ( x ) + h ( x ) r ( x ) = ( x m N m ( a ) ) q ( x ) + h ( x ) r ( x ) .
    Figure DE102022204213B3_0128
     
    Figure DE102022204213B3_0129
  • Durch die Produktregel in Gleichung (10) verschwinden die beiden Polynome h ( x ) ( x m N m ( a ) )  und  ( x m N m ( a ) ) q ( x )
    Figure DE102022204213B3_0130
    bei allen Elementen F q m
    Figure DE102022204213B3_0131
    in Bezug auf den verallgemeinerten Operatorauswertungsparameter a. Daher muss auch h(x)r(x) auf allen Elementen von F q m
    Figure DE102022204213B3_0132
    in Bezug auf den verallgemeinerten Operatorauswertungsparameter a verschwinden. Da deg(r) < deg(g) ist, gilt deg ( h r ) < deg ( h g ) = deg ( x m N m ( a ) ) = m .
    Figure DE102022204213B3_0133
    Nach [8, Proposition 1.3.7] kann das Schiefpolynom h(x)r(x) nicht mehr F q linear
    Figure DE102022204213B3_0134
    unabhängige Nullstellen als seinen Grad haben, der höchstens m - 1 ist, was impliziert, dass h(x)r(x) = 0 und daher r(x) = 0 ist, was bedeutet, dass g(x) auch ein linker Teiler von x m N m ( a ) .
    Figure DE102022204213B3_0135
  • Angenommen, dass das Schiefpolynom g(x) ein linker Teiler von x m N m ( a )
    Figure DE102022204213B3_0136
    ist, ergibt sich x m N m ( a ) = g ( x ) h ( x )
    Figure DE102022204213B3_0137
    für ein h ( x ) F q m [ x ; σ ] .
    Figure DE102022204213B3_0138
    Ähnlich wie zuvor gilt gleichzeitig x m N m ( a ) = q ( x ) g ( x ) + r ( x )
    Figure DE102022204213B3_0139
    für q ( x ) , r ( x ) F q m [ x ; σ ]
    Figure DE102022204213B3_0140
    mit dem Grad deg(r) < deg(g). Durch Multiplikation der Gleichung (17) von rechts mit h(x) erhält man ( x m N m ( a ) ) h ( x ) = q ( x ) g ( x ) h ( x ) + r ( x ) h ( x ) = q ( x ) ( x m N m ( a ) ) + r ( x ) h ( x ) .
    Figure DE102022204213B3_0141
  • Nach der Produktregel gemäß Gleichung (10) verschwinden die beiden Polynome ( x m N m ( a ) ) h ( x )  und  q ( x ) ( x m N m ( a ) )
    Figure DE102022204213B3_0142
    auf allen Elementen von F q m
    Figure DE102022204213B3_0143
    in Bezug auf den verallgemeinerten Operatorauswertungsparameter a. Daher muss r(x)h(x) auch auf allen Elementen von F q m
    Figure DE102022204213B3_0144
    im Hinblick auf den verallgemeinerten Operatorauswertungsparameter α verschwinden. Durch die gleiche Argumentation über den Grad von r(x)h(x) wie zuvor kann geschlossen werden, dass r(x) = 0 gilt, was zeigt, dass g(x) auch ein rechter Teiler von x m N m ( a )
    Figure DE102022204213B3_0145
    ist. p ( x ) F q m [ x ; σ ]
    Figure DE102022204213B3_0146
    sei ein Schiefpolynom mit einem Nullstellenraum ν F q m
    Figure DE102022204213B3_0147
    in Bezug auf den verallgemeinerten Operatorauswertungsparameter a F q m * .
    Figure DE102022204213B3_0148
    Es wird weiter angenommen, dass g ( x ) = g g r T ( x m N m ( a ) , p ( x ) )
    Figure DE102022204213B3_0149
    gilt. Dann ist g(x) ein Minimalpolynom des Grades deg(g) = dim(V), das auf V in Bezug auf den verallgemeinerten Operatorauswertungsparameter a verschwindet.
  • Es sei ν F q m
    Figure DE102022204213B3_0150
    ein d-dimensionaler F q linearer
    Figure DE102022204213B3_0151
    Unterraum von F q m
    Figure DE102022204213B3_0152
    und es sei g ( x ) F q m [ x ; σ ]
    Figure DE102022204213B3_0153
    mit deg(g) = dim(V) das monische minimale Polynom, das auf Vim Hinblick auf die verallgemeinerte Operatorauswertung mit dem Auswertungsparameter a F q m *
    Figure DE102022204213B3_0154
    verschwindet.
  • Dann gilt:
    • 1. Es gibt ein monisches Polynom h ( x ) F q m [ x ; σ ]
      Figure DE102022204213B3_0155
      des Grades m - d, dessen F q lineares
      Figure DE102022204213B3_0156
       
      Figure DE102022204213B3_0157
      Bild in Bezug auf die verallgemeinerte Operatorauswertung mit dem Auswertungsparameter a V ist.
    • 2. x m N m ( a ) = g ( x ) h ( x ) = h ( x ) g ( x )
      Figure DE102022204213B3_0158
  • Mit V ist der Dualraum von V bezeichnet, d.h. ein Raum derart, dass V∩V = {0} und ν ν = F q m
    Figure DE102022204213B3_0159
    gilt. h ( x ) F q m [ x ; σ ]
    Figure DE102022204213B3_0160
    sei das monische Minimalpolynom von Grad m - d, das auf V unter Berücksichtigung der verallgemeinerten Operatorauswertung mit dem Auswertungsparameter α verschwindet. Da die verallgemeinerte Operatorauswertung mit einem festen Auswertungsparameter a eine F q lineare
    Figure DE102022204213B3_0161
    Abbildung bildet, erhält man durch den Rangsatz, dass die Dimension des Bildes von h(x) in Bezug auf den Auswertungsparameter a dem Wert d entsprechen muss. Da V∩V = {0} und ν ν = F q m
    Figure DE102022204213B3_0162
    gilt, erfüllt h(x) die Eigenschaft 1.
  • Durch die Produktregel erhält man (g · h)(c)a = g(h(c)a)a für jedes c F q m
    Figure DE102022204213B3_0163
    und daher verschwindet g(x)h(x) auf allen Elementen von F q m .
    Figure DE102022204213B3_0164
    Da deg(g · h) = m gilt, erhält man g ( x ) h ( x ) = x m N m ( a ) .
    Figure DE102022204213B3_0165
    Aus der Konstruktion folgt, dass der Nullstellenraum von h(x) in Bezug auf den Auswertungsparameter a V ist. Da g(x) ein minimales Polynom mit dem Nullstellenraum V ist, entspricht sein Bild V. Daher kann durch die Produktregel geschlossen werden, dass auch h(x)g(x) auf allen Elementen von F q m
    Figure DE102022204213B3_0166
    verschwindet, was Gleichung (18) beweist.
  • Dies hat zur Folge, dass das Bild von h(x) durch Berechnung des Nullstellenraums von g(x) und umgekehrt berechnet werden kann (siehe z.B. [12, 14, 15] für die entsprechende Eigenschaft von linearisierten Polynomen). Darauf basierend kann ein probabilistischer Algorithmus zur Nullstellenberechnung für Schiefpolynome unter Berücksichtigung der verallgemeinerten Operatorauswertung, basierend auf Skachek und Roth's Methode gebildet werden, der die Grundlage des erfindungsgemäßen Verfahrens bildet.
  • Die Eingabe des Verfahrens wird durch ein Schiefpolynom p ( x ) F q m [ x ; σ ]
    Figure DE102022204213B3_0167
    und einen Vektor a = (a1, a2, ..., a), der Repräsentanten von verschiedenen nicht-trivialen Konjugationsklassen von F q m
    Figure DE102022204213B3_0168
    enthält, gebildet. Die Ausgabe ist ein Tupel B = ( B 1 , B 2 , , B l ) ,
    Figure DE102022204213B3_0169
     
    Figure DE102022204213B3_0170
    wobei B i
    Figure DE102022204213B3_0171
    eine Basis des F q linearen
    Figure DE102022204213B3_0172
    Nullstellenraums von p(x) in Bezug auf den Auswertungsparameter ai für alle i = 1, ..., ℓ ist.
  • Der Algorithmus umfasst die folgenden Schritte
    Figure DE102022204213B3_0173
  • Diese Schritte sind in 2 als Ablaufplan visualisiert. Der Ablaufplan in 1 zeigt die Einbettung der in 2 dargestellten Schritte in ein Verfahren zur Fehlerkorrektur einer empfangenen Nachricht.
  • Wie oben beschrieben, werden in Schritt S204 des Ablaufs in 2 ein Schiefpolynom p(x) und die Auswertungsparameter α1, ... α, die aus verschiedenen nicht-trivialen Konjugationsklassen eines endlichen Körpers bezüglich des Schiefpolynomrings, in dem das Schiefpolynom p(x) liegt, stammen, als Eingangsgrößen verarbeitet. In Schritt S205 wird i, welche eine Variable ist, die die Anzahl an Schleifen bestimmt, auf 1 gesetzt. In Schritt S206 wird überprüft, ob i ≤ i gilt. Wird in Schritt S206 festgestellt, dass i ≤ i ist (Pfad „Ja“), so wird mit Schritt S209 fortgefahren. Es wird ein Schiefpolynom minimalen Grades gi(x) mit gleichem Nullstellenraum wie das Schiefpolynom p(x) bezüglich der verallgemeinerten Operatorauswertung und bezüglich des fixierten Auswertungsparameters αi bestimmt. In Schritt S210 erfolgt die Bestimmung des Schiefpolynoms hi(x), dessen Bild der Nullstellenraum von gi (x) ist.
  • In Schritt S211 erfolgt eine probabilistische Bestimmung einer Basis B i
    Figure DE102022204213B3_0174
    des Bildes von hi(x). Dann wird der Zähler um 1 erhöht (Schritt S212). Solange in Schritt S206 i ≤ ℓ ist, werden die Schritte S209 bis S212 wiederholt. Wird in Schritt S206 festgestellt, dass i ≤ ℓ nicht erfüllt ist (Pfad „Nein“), wird in Schritt S207 als Ergebnis des Verfahrens die Basis B des Nullstellenraums des Schiefpolynoms p(x) bezüglich der verallgemeinerten Operatorauswertung bezüglich aller Auswertungsparameter a1, a2, ... , a als Vereinigung der berechneten Basen B = ( B 1 , B 2 , , B l )
    Figure DE102022204213B3_0175
    erhalten. Schritt S207 wird somit nach f Durchläufen durchgeführt.
  • Im Flussdiagramm der 1 sind die Schritte S204 bis S207 und S209 bis S212 als Schritte S104 bis S107 und S109 bis S112 dargestellt. In Schritt S101 erfolgt zunächst eine Codierung der zu übertragenen Daten als Codewort c eines linearisierten Reed-Solomon-Codes, welcher durch eine Kontrollmatrix H beschrieben wird, wobei c in f Blöcke c(i) aufgeteilt ist und jeder Block c(i) für alle i = 1, ..., ℓ von einem Auswertungsparameter αi abhängt. In Schritt S102 erfolgt die Übermittlung des Codeworts c über einen Kommunikationskanal und der Erhalt eines mit einem Fehler e behafteten Worts y = c + e. Ab Schritt S103 werden die Schritte im Decoder des Empfängers durchgeführt. In Schritt S103 erfolgt die Berechnung eines Syndroms s = (s0, ..., sn-k-1) aus dem empfangenen Wort y und der transponierten Kontrollmatrix HT durch s = yHT. Die dem Schritt S104 vorgelagerten Schritte S101 bis S103 stellen somit den Empfang einer Nachricht und vorbereitende Verarbeitungsschritte dar. Der abschließende Schritt S108, der auf Schritt S107 folgt, bestimmt den Fehler e durch Spalten- oder Zeilen-Auslöschungsdecodierung und das Codewort c als Differenz aus erhaltenem Wort y und Fehler e.
  • Für den Fall, dass Teile des Nullstellenraums von p(x) bekannt sind, können die korrespondierenden Basen B i
    Figure DE102022204213B3_0176
    mit den bekannten Basisvektoren initialisiert werden. Die „for“-Schleife in Zeile 1 kann parallelisiert werden, da die Aufgaben innerhalb der Schleife unabhängig voneinander sind. Dies ermöglicht eine schnelle Implementierung des erfindungsgemäßen Verfahrens.
  • Bei der Berechnung des größten gemeinsamen Teilers von rechts, „ggrT“ in Zeile 2, werden höchstens M ( m )
    Figure DE102022204213B3_0177
    Operationen in F q m
    Figure DE102022204213B3_0178
    benötigt, wobei M ( m )
    Figure DE102022204213B3_0179
    die Komplexität der Multiplikation von zwei Schiefpolynomen aus F q m [ x ; σ ]
    Figure DE102022204213B3_0180
    des Grades m bezeichnet. Die Linksdivision, ldiv in Zeile 4, erfordert M ( m )
    Figure DE102022204213B3_0181
    Operationen in F q m .
    Figure DE102022204213B3_0182
    Der Grad von hi (x) entspricht m - ri und entspricht daher der Dimension des F q linearen
    Figure DE102022204213B3_0183
    Nullstellenraums von hi(x) für alle i = 1, ..., ℓ. Da jedes b j ( i )
    Figure DE102022204213B3_0184
    zufällig aus F q m
    Figure DE102022204213B3_0185
    ausgewählt wird, ist die Wahrscheinlichkeit, dass h i ( b j ( i ) ) a i { h i ( b 1 ( i ) ) a i , h i ( b 2 ( i ) ) a i , , h i ( b j 1 ( i ) ) a i } q
    Figure DE102022204213B3_0186
    ist q m q m r i + j q m = 1 q j r i .
    Figure DE102022204213B3_0187
  • Daher ist die erwartete Anzahl von Berechnungen derart, dass Gleichung (19) gilt: 1 1 q j r i = 1 + 1 q r i j 1 2
    Figure DE102022204213B3_0188
  • Für einen Auswertungsparameter αi beträgt die erwartete Gesamtzahl der zufällig ausgewählten Elemente j = 1 r i ( 1 + 1 q r i j ) < r i + 2.
    Figure DE102022204213B3_0189
  • Die erwartete Gesamtzahl der Operationen für einen Auswertungsparameter αi ist dann j = 1 r i ( C ev + C chk ) ( 1 + 1 q r i j ) ,
    Figure DE102022204213B3_0190
    wobei Cev die Komplexität der Berechnung einer verallgemeinerten Operatorauswertung h i ( b j ( i ) ) a i
    Figure DE102022204213B3_0191
    ist und Cchk die Komplexität der Überprüfung, ob ein Element von F q m
    Figure DE102022204213B3_0192
    im Unterraum gemäß Zeile 7 des Algorithmus enthalten ist. Hieraus ergibt sich die Gesamtkomplexität des vorgeschlagenen Verfahrens zu 0 (ℓm deg(p)) Operationen in F q m .
    Figure DE102022204213B3_0193
  • Um die Leistung des eingangs beschriebenen herkömmlichen Verfahrens und des erfindungsgemäß vorgeschlagenen Verfahrens zu bewerten, sind die durchschnittlichen Ausführungszeiten für dieselben zufällig ausgewählten Polynome aus F q m [ x ; σ ]
    Figure DE102022204213B3_0194
    mit einem Grad kleiner als (q - 1)m für q = 5 und verschiedene Erweiterungsgrade m in 3 verglichen. Die erhebliche Beschleunigung des vorgeschlagenen Verfahrens gegenüber dem Stand der Technik, insbesondere für größere Erweiterungsgrade m, ist daraus ohne weiteres ersichtlich. Für jeden Simulationspunkt wurde die Ausführungszeit über 100 Polynome mit einem Grad kleiner als (q - 1)m ermittelt, die zufällig aus F q m [ x ; σ ]
    Figure DE102022204213B3_0195
    gewählt wurden.
  • Referenzen
    • [1] O. Ore, „Theory of Non-Commutative Polynomials", Annals of Mathematics, S. 480-508, 1933.
    • [2] U. Martínez-Peñas and F. R. Kschischang, „Reliable and Secure Multishot Network Coding using Linearized Reed-Solomon Codes", IEEE Transactions on Information Theory, Vol. 65, Nr. 8, S. 4785-4803, 2019.
    • [3] U. Martínez-Peñas, „Skew and Linearized Reed-Solomon Codes and Maximum Sum Rank Distance Codes over any Division Ring", Journal of Algebra, Vol. 504, S. 587-612, 2018.
    • [4] T.-Y. Lam and A. Leroy, „Vandermonde and Wronskian Matrices over Division Rings", Journal of Algebra, Vol. 119, Nr. 2, S. 308-336, 1988.
    • [5] O. Ore, „On a Special Class of Polynomials", Transactions of the American Mathematical Society, Vol. 35, Nr. 3, S. 559-584, 1933.
    • [6] A. Leroy, „Pseudolinear Transformations and Evaluation in Ore Extensions", Bulletin of the Belgian Mathematical Society-Simon Stevin, Vol. 2, Nr. 3, S. 321-347, 1995.
    • [7] U. Martínez-Peñas, „Private Information Retrieval from Locally Repairable Databases with Colluding Servers“, in IEEE International Symposium on Information Theory (ISIT). IEEE, 2019, S. 1057-1061.
    • [8] X. Caruso, „Residues of Skew Rational Functions and Linearized Goppa Codes“, arXiv preprint arXiv:1908.08430v1, 2019.
    • [9] G. Richter and S. Plass, „Error and Erasure Decoding of Rank-Codes with a Modified Berlekamp-Massey Algorithm“, ITG Fachbericht, S. 203-210, 2004.
    • [10] D. Silva, „Error Control for Network Coding“, Ph.D. Dissertation, University of Toronto, 2009.
    • [11] D. Silva, F. R. Kschischang, and R. Kötter, „A Rank-Metric Approach to Error Control in Random Network Coding", IEEE Transactions on Information Theory, Vol. 54, Nr. 9, S. 3951-3967, Sep. 2008.
    • [12] E. R. Berlekamp, Algebraic Coding Theory (revised edition). World Scientific, 2015.
    • [13] F. Le Gall, „Powers of Tensors and Fast Matrix Multiplication", in Proceedings of the 39th international symposium on symbolic and algebraic computation, 2014, S. 296-303.
    • [14] V. Skachek and R. M. Roth, „Probabilistic Algorithm for Finding Roots of Linearized Polynomials", Designs, Codes and Cryptography, Vol. 46, Nr. 1, S. 17-23, 2008.
    • [15] E. Ben-Sasson and S. Kopparty, „Affine Dispersers from Subspace Polynomials", SIAM Journal on Computing, Vol. 41, Nr. 4, S. 880-914, 2012.
    • [16] „SageMath.“, [Online]. Verfügbar: https://www.sagemath.org
    • [17] H. Bartz, T. Jerkovits, S. Puchinger and J. Rosenkilde, „Fast Decoding of Codes in the Rank, Subspace, and Sum-Rank Metric," in IEEE Transactions on Information Theory, Vol. 67, No. 8, S. 5026-5050, Aug. 2021.

Claims (14)

  1. Verfahren zur Fehlerkorrektur einer über einen Kommunikationskanal empfangenen Nachricht, die ein mit einem Fehler (e) behaftetes Wort (y) umfasst, wobei in dem Wort (y) ein Codewort (c) eines linearisierten Reed-Solomon-Codes, welcher durch eine Kontrollmatrix (H) beschrieben wird, enthalten ist, und wobei das Codewort (c) in eine vorgegebene Anzahl (f) an Blöcken (c(1), ..., c(ℓ) aufgeteilt ist und jeder Block (c(i) für alle i = 1, ..., ℓ) von einem Auswertungsparameter (αi) abhängt, bei dem a) aus dem Wort (y) und der transponierten Kontrollmatrix (HT) ein Syndrom (s = (s0, ..., sn-k-1)) und aus dem Syndrom (s = (s0, ..., sn-k-1)) ein Syndrompolynom (s(x)) ermittelt wird, b) eine von dem Syndrompolynom (s(x)) abhängige Gleichung gelöst wird, durch die ein Schiefpolynom (p(x)) bestimmt wird, dessen Nullstellenraum der Zeilen- oder Spaltenraum des gesuchten Fehlers (e) ist, wobei der Grad des Schiefpolynoms dessen Fehlergewicht beschreibt; c) eine Basis (B) des Nullstellenraums probabilistisch bestimmt wird, indem eine reduzierte Norm ( N m ( a ) ) ,
    Figure DE102022204213B3_0196
    die von einem vorgegebenen Schiefpolynomring abhängig ist, verarbeitet wird, wobei die Basis (B) des Nullstellenraums den Zeilen- oder Spaltenraum des Fehlers (e) aufspannt; und d) der Fehler (e) durch eine Zeilen- oder Spalten-Auslöschungsdecodierung erhalten wird, wodurch das Codewort (c) aus dem empfangenen Wort (y) bestimmt werden kann.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Nullstellenraum dadurch berechnet wird, dass ein zweites Schiefpolynom minimalen Grades gi(x) mit gleichem Nullstellenraum wie das Schiefpolynom (p(x)) bezüglich der verallgemeinerten Operatorauswertung und bezüglich dem fixierten Auswertungsparameter (αi) bestimmt wird.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass ein drittes Schiefpolynom hi (x), dessen Bild der Nullstellenraum von gi (x) ist, bestimmt wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Basis (B) des Nullstellenraums derart bestimmt wird, dass dieser durch eine Anzahl (f) verschiedener Auswertungsparameter (ai, wobei i = 1, ..., ℓ) in Unterräume unterteilt wird.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Basen ( B 1 , , B l )
    Figure DE102022204213B3_0197
    der Unterräume des Nullstellenraums iterativ bestimmt werden.
  6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass die Basen ( B 1 , , B l )
    Figure DE102022204213B3_0198
    der Unterräume des Nullstellenraums unabhängig voneinander bestimmt werden.
  7. Verfahren nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass die Basis (B) des Nullstellenraums durch Vereinigung der iterativ berechneten Basen ( B 1 , , B l )
    Figure DE102022204213B3_0199
    der Unterräume des Nullstellenraums erzeugt wird.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Anzahl (f) der verschiedenen Auswertungsparameter (ai) durch die Zahl nicht-trivialer Konjugationsklassen begrenzt ist.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Auswertungsparameter (ai) aus verschiedenen nicht-trivialen Konjugationsklassen bezüglich des Schiefpolynomrings gewählt sind.
  10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Auswertungsparameter (ai) und die reduzierten Normen ( N m ( a i ) )
    Figure DE102022204213B3_0200
    Elemente eines endlichen Körpers ( F q m )
    Figure DE102022204213B3_0201
    sind.
  11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die reduzierte Norm (Nm,(a)) ermittelt wird gemäß: N m ( a ) = σ m 1 ( a ) σ m 2 ( a ) σ ( a ) .
    Figure DE102022204213B3_0202
    wobei σ : F q m F q m
    Figure DE102022204213B3_0203
    ein Automorphismus des endlichen Körpers F q m
    Figure DE102022204213B3_0204
    ist.
  12. Computerprogrammprodukt, das direkt in den internen Speicher eines digitalen Computers geladen werden kann und Softwarecodeabschnitte umfasst, mit denen die Schritte gemäß einem der Ansprüche 1 bis 11 ausgeführt werden, wenn das Produkt auf einem Computer läuft
  13. Decoder zur Fehlerkorrektur einer über einen Kommunikationskanal empfangenen Nachricht, die ein mit einem Fehler (e) behaftetes Wort (y) umfasst, wobei in dem Wort (y) ein Codewort (c) eines linearisierten Reed-Solomon-Codes, welcher durch eine Kontrollmatrix (H) beschrieben wird, enthalten ist, und wobei das Codewort (c) in eine vorgegebene Anzahl (f) an Blöcken (c(1), ..., e(ℓ)) aufgeteilt ist und jeder Block (c(i) für alle i = 1, ..., ℓ) von einem Auswertungsparameter (ai) abhängt, wobei der Decoder eine Recheneinheit umfasst, die dazu ausgebildet ist, a) aus dem Wort (y) und der transponierten Kontrollmatrix (HT) ein Syndrom (s = (s0, ..., sn-k-1)) und aus dem Syndrom (s = (s0, ..., sn-k-1)) ein Syndrompolynom (s(x)) zu ermitteln; b) eine von dem Syndrompolynom (s(x)) abhängige Gleichung zu lösen, durch die ein Schiefpolynom (p(x)) bestimmt wird, dessen Nullstellenraum der Zeilen- oder Spaltenraum des gesuchten Fehlers (e) ist, wobei der Grad des Schiefpolynoms dessen Fehlergewicht beschreibt; c) eine Basis (B) des Nullstellenraums probabilistisch zu bestimmen, indem eine reduzierte Norm ( N m ( a ) ) ,
    Figure DE102022204213B3_0205
    die von einem vorgegebenen Schiefpolynomring abhängig ist, verarbeitet wird, wobei die Basis (B) des Nullstellenraums den Zeilen- oder Spaltenraum des Fehlers (e) aufspannt; und d) den Fehler (e) durch eine Zeilen- oder Spalten-Auslöschungsdecodierung zu bestimmen, wodurch das Codewort (c) aus dem empfangenen Wort (y) bestimmt werden kann.
  14. Decoder nach Anspruch 13, der zur Durchführung der Schritte eines oder mehrerer der Ansprüche 1 bis 11 ausgebildet ist.
DE102022204213.1A 2022-04-29 2022-04-29 Verfahren und Decoder zur Fehlerkorrektur einer empfangenen Nachricht Active DE102022204213B3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022204213.1A DE102022204213B3 (de) 2022-04-29 2022-04-29 Verfahren und Decoder zur Fehlerkorrektur einer empfangenen Nachricht

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022204213.1A DE102022204213B3 (de) 2022-04-29 2022-04-29 Verfahren und Decoder zur Fehlerkorrektur einer empfangenen Nachricht

Publications (1)

Publication Number Publication Date
DE102022204213B3 true DE102022204213B3 (de) 2023-07-27

Family

ID=87068359

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022204213.1A Active DE102022204213B3 (de) 2022-04-29 2022-04-29 Verfahren und Decoder zur Fehlerkorrektur einer empfangenen Nachricht

Country Status (1)

Country Link
DE (1) DE102022204213B3 (de)

Non-Patent Citations (15)

* Cited by examiner, † Cited by third party
Title
A. Leroy, „Pseudolinear Transformations and Evaluation in Ore Extensions", Bulletin of the Belgian Mathematical Society-Simon Stevin, Vol. 2, Nr. 3, S. 321-347
D. Silva, F. R. Kschischang, and R. Kötter, „A Rank-Metric Approach to Error Control in Random Network Coding", IEEE Transactions on Information Theory, Vol. 54, Nr. 9, S. 3951-3967
E. Ben-Sasson and S. Kopparty, „Affine Dispersers from Subspace Polynomials", SIAM Journal on Computing, Vol. 41, Nr. 4, S. 880-914
F. Le Gall, „Powers of Tensors and Fast Matrix Multiplication", in Proceedings of the 39th international symposium on symbolic and algebraic computation, 2014, S. 296-303
H. Bartz, T. Jerkovits, S. Puchinger and J. Rosenkilde, "Fast Decoding of Codes in the Rank, Subspace, and Sum-Rank Metric," in IEEE Transactions on Information Theory, vol. 67, no. 8, pp. 5026-5050, Aug. 2021, doi: 10.1109/TIT.2021.3067318.
H. Bartz, T. Jerkovits, S. Puchinger and J. Rosenkilde, „Fast Decoding of Codes in the Rank, Subspace, and Sum-Rank Metric," in IEEE Transactions on Information Theory, Vol. 67, No. 8, S. 5026-5050
MARTÍNEZ-PEÑAS, Umberto ; KSCHISCHANG, Frank R.: Reliable and secure multishot network coding using linearized Reed-Solomon codes. In: IEEE Transactions on Information Theory, Vol. 65, 2019, No. 8, S. 4785-4803. - ISSN 0018-9448 (P); 1557-9654 (E). DOI: 10.1109/TIT.2019.2912165. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8694869 [abgerufen am 2022-05-24]
MARTÍNEZ-PEÑAS, Umberto: Skew and linearized Reed-Solomon codes and maximum sum rank distance codes over any division ring. In: Journal of Algebra, Vol. 504, 2018, S. 587-612. - ISSN 0021-8693 (P); 1090-266X (E). DOI: 10.1016/j.jalgebra.2018.02.005
O. Ore, „On a Special Class of Polynomials", Transactions of the American Mathematical Society, Vol. 35, Nr. 3, S. 559-584
O. Ore, „Theory of Non-Commutative Polynomials", Annals of Mathematics, S. 480-508, 1933
SKACHEK, Vitaly ; ROTH, Ron M.: Probabilistic algorithm for finding roots of linearized polynomials. In: Designs, Codes and Cryptography, Vol. 46, 2008, No. 1, S. 17-23. - ISSN 0925-1022 (P); 1573-7586 (E). DOI: 10.1007/s10623-007-9125-y
T.-Y. Lam and A. Leroy, „Vandermonde and Wronskian Matrices over Division Rings", Journal of Algebra, Vol. 119, Nr. 2, S. 308-336
U. Martínez-Peñas and F. R. Kschischang, „Reliable and Secure Multishot Network Coding using Linearized Reed-Solomon Codes", IEEE Transactions on Information Theory, Vol. 65, Nr. 8, S. 4785-4803
U. Martínez-Peñas, „Skew and Linearized Reed-Solomon Codes and Maximum Sum Rank Distance Codes over any Division Ring", Journal of Algebra, Vol. 504, S. 587-612
V. Skachek and R. M. Roth, „Probabilistic Algorithm for Finding Roots of Linearized Polynomials", Designs, Codes and Cryptography, Vol. 46, Nr. 1, S. 17-23

Similar Documents

Publication Publication Date Title
Crépey Calibration of the local volatility in a trinomial tree using Tikhonov regularization
DE102005028662B4 (de) Verfahren und Vorrichtung zum Berechnen einer Polynom-Multiplikation, insbesondere für die elliptische Kurven-Kryptographie
DE102018103408B3 (de) Integrierte schaltung und verfahren zum verarbeiten eines codierten nachrichtenworts
DE102021004591A1 (de) Für Graphen vorgesehene neuronale Netzwerke für Datensätze mit Heterophilie
WO2013060467A1 (de) Effiziente primzahlprüfung
DE102014215252B9 (de) Wirksame fehlerkorrektur von mehrbitfehlern
EP1499954B1 (de) Berechnung eines ergebnisses einer modularen multiplikation
DE102022204213B3 (de) Verfahren und Decoder zur Fehlerkorrektur einer empfangenen Nachricht
EP2641241B1 (de) Verfahren zur langzahldivision oder modulare reduktion
DE102020110787B3 (de) Schaltung und verfahren zum kodieren oder dekodieren eines datenworts
DE19719654B4 (de) Fehlerdekodierverfahren und -vorrichtung für Reed-Solomon-Codes
Rudow et al. A locality-based approach for coded computation
DE69332937T2 (de) Korrekturverfahren für verlorengegangene Daten und Schaltung dafür
DE102015111729B4 (de) Verfahren und decoder zum bestimmen eines fehlervektors für ein datenwort gemäss einem reed-muller-code
Galetto et al. Degrees of regular sequences with a symmetric group action
US10326553B2 (en) Systematic code decoding method and apparatus
DE112008002060T5 (de) Koordinatenanstiegsverfahren für Linear-Programmierung-Decodierung
Ghasemifard et al. Multilevel path simulation to jump-diffusion process with superlinear drift
DE102022111624B4 (de) Fehlerkorrektur mit schneller Syndromberechnung
US20030212945A1 (en) Block coding method having increased flexibility in choice of code length or minimum code distance
DE102015121646B4 (de) Fehlerkorrektur
Boyarchenko et al. Refined and enhanced fast Fourier transform techniques, with an application to the pricing of barrier options
DE102019200402B3 (de) Verfahren zum Überprüfen der Sicherheit eines Schlüsselpaars eines auf algebraischen Codes basierenden kryptographischen Systems
Aimar et al. Affinity kernels on measure spaces and maximal operators
Tanaka et al. Polynomial Time Method for Solving Nash Equilibria of Zero-Sum Games

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