DE60309857T2 - Methode zur dekodierung von reed-solomon kodes mittels feinentscheidung - Google Patents

Methode zur dekodierung von reed-solomon kodes mittels feinentscheidung Download PDF

Info

Publication number
DE60309857T2
DE60309857T2 DE60309857T DE60309857T DE60309857T2 DE 60309857 T2 DE60309857 T2 DE 60309857T2 DE 60309857 T DE60309857 T DE 60309857T DE 60309857 T DE60309857 T DE 60309857T DE 60309857 T2 DE60309857 T2 DE 60309857T2
Authority
DE
Germany
Prior art keywords
symbol
polynomial
polynomials
calculation
equation
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.)
Expired - Lifetime
Application number
DE60309857T
Other languages
English (en)
Other versions
DE60309857D1 (de
Inventor
Stefan Müller
Alexander Kravtchenko
Marten Kabutz
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Application granted granted Critical
Publication of DE60309857D1 publication Critical patent/DE60309857D1/de
Publication of DE60309857T2 publication Critical patent/DE60309857T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/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/158Finite field arithmetic processing
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors

Landscapes

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

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft allgemein die Fehlerdetektion bzw. -korrektur und insbesondere in Reed-Solomon-Decodern verwendete Systeme und Verfahren.
  • Allgemeiner Stand der Technik
  • Eine häufig verwendete Fehlerkorrekturtechnik ist der Reed-Solomon-Fehlerkorrekturcode. Für eine Übersicht über und Anwendungen von Reed-Solomon-Codes wird auf "Reed-Solomon Codes and Their Applications", Stephen B. Wicker, Vijay K. Bhargava, IEEE Press, 1994 und auf "Digital Communications, Fundamentals and Applications", zweite Auflage, Bernard Sklar, Prentice Hall PTR, 2001, verwiesen.
  • Das US-Patent Nr. 5,517,509 zeigt einen Reed-Solomon-Decoder in Form einer Operationsschaltung des euklidischen Algorithmus, bei der Divisionspolynome wiederholt durch Reste dividiert werden, die sich aus dem Divisionsprozeß von Dividendenpolynomen und Divisionspolynomen ergeben, bis der Grad der Reste des Divisionsprozesses eine vorgeschriebene Bedingung erfüllt.
  • Die Operationsschaltung des euklidischen Algorithmus umfaßt Registergruppen zum Speichern von Dividendenpolynomen bzw. Divisionspolynomen, eine Rückkopplungsschleife zum Speichern von sich aus dem Divisionsprozeß der Dividendenpolynome durch die Divisionspolynome ergebenden Resten, einen Schieber zum Schieben von Inhalten von Registern und einen Austauscher zum Austauschen von Koeffizienten der Dividendenpolynome mit Koeffizienten der Divisionspolynome.
  • Der Decoder umfaßt einen Syndromoperator zum Berechnen von Syndromen aus empfangenen Codewörtern, einen Löschungslokalisierergenerator zum Erzeugen von Löschungslokalisiererdaten aus Löschungslokalisierer-Flags sychron mit empfangenen Codewörtern, einen modifizierten Syndromgenerator zum Erzeugen modifizierter Syndrome, einen Löschungslokalisiererpolynomgenerator zum Erzeugen von Löschungslokalisiererpolynomem aus den Löschungslokalisiererdaten, eine Operationsschaltung des euklidischen Algorithmus zum Erhalten von Fehlerlokalisiererpolynomen und Fehlerwertpolynomen, einen Chien-Sucher zum Erhalten von Fehlerpositionen und Fehlerwerten und einen Korrekturprozessor zum Korrigieren von Fehlern des empfangenen Codeworts. Der modifizierte Syndromgenerator und der Löschunglokalisiererpolynomgenerator werden zusammen mit der Operationsschaltung des euklidischen Algorithmus verwendet.
  • Andere Ansätze zur Implementierung eines Reed-Solomon-Decoders sind aus den US-Patenten Nr. 5,991,911, 6,032,283, 6,304,994 B1, 5,537,426 und aus EP 0 821 493 A1 und EP 0 942 421 A1 bekannt. DONG-SUN KIM ET AL: "Implementation of high speed reed-solomon decoder" PROC. OF 42ND MIDWEST SYMPOSIUM ON CIRCUITS AND SYSTEMS, 8. August 1999 (1999-08-08), Seiten 808-812, XP 010511073, beschreibt eine VLSI-Implementierung eines Reed-Solomon-Decoders mit einer Architektur mit paralleler und Pipeline-Verarbeitung. MOON HO LEE ET AL: "A high speed Reed-Solomon decoder" PROC. OF IEEE SIGNAL PROCESSING SOCIETY WORKSHOP, SAKAI, JAPAN, 16. September 1995 (1995-09-16), Seiten 362-367, XP010193933, beschreibt eine Architektur einer Fehlerkorrekturschaltung, die sich für die hochratige Datendecodierung des Reed-Solomon-Codes eignet. US-B1-6 304 994 (OH KYU-TAEG ET AL), 16. Oktober 2001 (2001-10-16) beschreibt einen Decoder des Typs Reed-Solomon (RS) und ein Decodierungsverfahren dafür, wobei es möglich ist, die Schaltungsstruktur zu vereinfachen, indem die Anzahl der zur Berechnung des Polynoms erforderlichen Multiplikatoren minimiert wird.
  • Die Berechnung des modifizierten Syndrompolynoms wird gewöhnlich durch Berechnen des Produkts der Syndrom- und Löschungspolynome durchgeführt. Diese Berechnung erfordert zusätzliche Zyklen und Berechnungszeit zum Erhalten des modifizierten Syndrompolynoms.
  • Eine Aufgabe der vorliegenden Erfindung ist deshalb die Bereitstellung eines Verfahrens zur Soft-Entscheidungs-Decodierung von Reed-Solomon-Codes, wobei die Berechnung des modifizierten Syndrompolynoms keine zusätzlichen Zyklen erfordert.
  • Kurzfassung der Erfindung
  • Die Aufgabe der Erfindung wird im Prinzip durch Anwenden der in den unabhängigen Ansprüchen dargelegten Merkmale gelöst. Bevorzugte Ausführungsformen der Erfindung werden in den abhängigen Ansprüchen angegeben.
  • Die vorliegende Erfindung ermöglicht eine Minimierung der Berechnungszeit für die Soft-Entscheidungs-Decodierung von Reed-Solomon-Codes durch parallele Im-Verlauf-Berechnung der Syndrom- und Löschungspolynome sowie des modifizierten Syndrompolynoms. Anders ausgedrückt, ermöglicht die Erfindung eine Durchführung der Berechnung des modifizierten Syndrompolynoms, bevor die Berechnung der Syndrom- und Löschungspolynome abgeschlossen wurde.
  • Die vorliegende Erfindung ist insbesondere insofern vorteilhaft, als sie die Berechnung der modifizierten Syndrompolynome "im Verlauf" mit den ankommenden Symbolen ermöglicht. Ein separater Berechnungsschritt, der gewöhnlich als Polynomexpansion bezeichnet wird, kann deshalb weggelassen werden.
  • Ein weiterer Vorteil besteht darin, daß nach Korrektur eine direkte Aktualisierung der modifizierten Syndrome durchgeführt werden kann, ohne das Produkt der Syndrom- und Löschungspolynome zu berechnen. Dies führt zu einer Reduktion der Gesamt-Berechnungszeit und -Hardwareanforderungen.
  • Die allgemeine Idee der Erfindung ist die Reduktion der Anzahl der Zyklen, die notwendig sind, um das modifizierte Syndrom zu berechnen. Um das modifizierte Syndrompolynom zu erhalten, muß eine Multiplikation der Löschungs- und Syndrompolynome erfolgen. Die Komplexität des herkömmlichen seriellen Algorithmus dafür ist c = r(1 + 1) – 1(1 + 1)/2,wobei r die Anzahl der Paritätssymbole in einem RS-Codewort und l die Anzahl der Löschungen in einem Codewort ist. Die Komplexität des herkömmlichen Seriell-Parallel-Algorithmus ist c = l + 1.
  • Die allgemeine Idee der Erfindung ist die Berechnung des modifizierten Syndroms "im Verlauf". Das vorliegende Verfahren benötigt deshalb keine zusätzlichen Zyklen zur Berechnung des modifizierten Syndroms, wodurch Rechenleistung und -zeit gespart wird.
  • Kurze Beschreibung der Zeichnungen
  • 1 zeigt ein Blockschaltbild einer Hardwareimplementierung einer bekannten Syndromberechnung im Verlauf,
  • 2 zeigt ein Blockschaltbild einer Hardwareimplementierung einer bekannten Berechnung des Löschungspolynoms im Verlauf,
  • 3 stellt ein Flußdiagramm einer Ausführungsform für die Berechnung des modifizierten Syndrompolynoms im Verlauf dar,
  • 4 ist ein Blockschaltbild einer Hardwareimplementierung zur Berechnung der modifizierten Syndrompolynome im Verlauf,
  • 5 ist ein Impulsdiagramm, das mit dem Flußdiagramm von 3 in Beziehung steht,
  • 6 stellt ein alternatives Verfahren zur Berechnung der modifizierten Syndrompolynome im Verlauf dar,
  • 7 ist ein Blockschaltbild einer Hardwareimplementierung des Verfahrens von 6,
  • 8 ist ein Impulsdiagramm, das mit dem Verfahren von 6 in Beziehung steht.
  • Ausführliche Beschreibung
  • Auf dem Gebiet der Soft-Entscheidungs-Decodierung ist es bekannt, daß ein Empfänger korrigieren kann, solange folgendes gilt: 2e + f < dmin. (1)wobei e die Anzahl der Fehler, f die Anzahl der Löschungen und dmin die Hamming-Distanz ist.
  • Zur Berechnung der Fehler müssen die folgenden Schritte ausgeführt werden:
    • 1. Berechnen des Syndrompolynoms
      Figure 00060001
    • 2. Berechnen des Löschungspolynoms, wobei
      Figure 00060002
      die Potenz der Positonen j0, jl, ... jp-l der Löschungen ist.
      Figure 00060003
    • 3. Konstruieren des modifizierten Syndrompolynoms durch T(x) = Γ(x)S(x)mod xM (4)
    • 4. Lösen der Schlüsselgleichung Λ(x)T(x) = Ω(x)mod xM (5)mit dem Algorithmus von Berlekamp-Massey oder Euklid.
    • 5. Berechnen des Forney-Polynoms Ψ(x) = Λ(x)Γ(x) (6)
    • 6. Berechnen des Betrags der Fehler und Löschungen unter Verwendung der Forney-Gleichung.
  • Wie aus den Gleichungen (2) und (3) hervorgeht, können sie im Verlauf mit den ankommenden Datensymbolen νN-l, ..., νl, ν0 berechnet werden.
  • Es folgt eine ausführlichere Erläuterung einer Implementierung des obigen Schritts 1, d.h. von Gleichung (2).
  • Es sei der Fehlervektor e = [e0, el, ..., eN-l] mit Polynomdarstellung e(x) = e0 + e1x + ... + eN-1xN-1 mit ei ∊ GF(28). (7)
  • Das empfangene Polynom am Eingang des Decoders ist dann ν(x) = c(x) + e(x) = ν0 + ν1x + ... + νN-1xN-1 mit νi ∊ GF(28). (8) wobei die Polynomkoeffizienten Komponenten des empfangenen Vektors ν sind. Da das Codewort Polynom c(x) durch das Generatorpolynom g(x) teilbar und g(αi) = 0 für i = 0, 1, ... M – 1 ist, ergibt die Auswertung des Polynoms ν(x) an den Wurzeln des Generatorpolynoms, die α0, α1, ... αM-1 sind,
    Figure 00080001
  • Dies bedeutet, daß in der Endgleichungsmenge nur Komponenten des Fehlermusters und nicht die des Codeworts vorkommen. Sie werden als Syndrome Sj, j = 0, 1, ..., M – 1 bezeichnet, mit
    Figure 00080002
  • Diese Syndrome werden zur Bildung eines Syndrompolynoms der folgenden Form verwendet:
    Figure 00080003
  • Eine Berechnung von Gleichung (11) im Verlauf kann durch iteratives Aktualisieren der Koeffizienten Si, i = 0, 1, ..., M – 1 erzielt werden. Bei jedem Symboltakt j kommt ein neues Symbol νn an, die Potenz αn der Position n wird berechnet und die Koeffizienten werden auf die folgende Weise aktualisiert: Si,j = Si,j-l + νnαin, i = 0, 1, ..., M – 1 mit Si,-1 = 0. (12)
  • 1 zeigt eine Hardwareimplementierung einer Syndromberechnung im Verlauf. Am Anfang einer neuen Codesequenz wird Register 1 mit der Potenz der Position des ersten Symbols initialisiert. Die Register 2 werden mit null initialisiert. Jedes Mal, wenn ein neues Symbol ankommt, werden Register 1 und die Register 2 getaktet und die Syndrome werden gemäß Gleichung (12) aktualisiert und die Potenz des Wurzelterms im Register 1 wird um 1 erniedrigt.
  • Es folgt eine ausführlichere Erläuterung des obigen Schritts 2, d.h. von Gleichung (3).
  • Unter der Annahme von p Löschungen an den Positionen j0, jl, ..., jp-l, wird das Löschungspolynom auf die folgende Weise berechnet:
    Figure 00090001
  • Eine Berechnung dieser Gleichung im Verlauf kann durch iteratives Aktualisieren des Polynoms erzielt werden. Zu jedem Zeitpunkt j, wenn eine neue Löschung νn auftritt, wird die Potenz αn der Löschungsposition n berechnet und das Polynom wird auf die folgende Weise aktualisiert: Γj(x) = Γj-1(x)·(1 – αnx) = (Γ0,j-1 + Γ1,j-1 + ... + Γp,j-1xp)(1 – αnx) (14)
  • Unter Berücksichtigung des Endpolynoms von Gleichung (14) lassen sich die Koeffizienten folgendermaßen schreiben:
    Figure 00100001
  • 2 zeigt eine Hardwareimplementierung einer Löschungspolynomberechnung im Verlauf, die durch Gleichung (15) erzielt wird. Wenn das ankommende Symbol eine Löschung ist, werden die abgebildeten Schalter umgeschaltet und die Schaltung realisiert die Berechnung gemäß Gleichung (15).
  • Die Schalter bleiben in ihrer abgebildeten Stellung, wenn das Symbol keine Löschung ist. Die Schalter werden als kombinatorische Logik realisiert; daher verursachen sie keine zusätzliche Taktverzögerung. Sie werden direkt mit dem Löschungssignal verbunden, das mit den Symbolinformationen geliefert wird. Am Anfang einer neuen Codesequenz wird Register 1 mit der Potenz der Position des ersten Symbols, zum Beispiel mit α181 für den inneren Code von DVD, initialisiert.
  • Die Register 2 werden mit null initialisiert. Jedes Mal, wenn ein neues Symbol ankommt, werden Register 1 und die Register 2 getaktet, die Syndrome werden dann gemäß Gleichung (15) aktualisiert und die Potenz des Wurzelterms in Register 1 wird um 1 erniedrigt.
  • Das modifizierte Syndrompolynom wird durch Multiplizieren des Syndrompolynoms von Gleichung (2) mit dem Löschungspolynom von Gleichung (3) folgendermaßen erhalten: T(x) = S(x)Γ(x)mod xM = (S0 + S1x + S2x2 + ... + SM-1xM-1)(Γ0 + Γ1x + Γ2x2 + ... + Γpxp)mod xM (16)
  • Das Ergebnis ist eine zyklische Faltung zwischen den beiden Polynomen:
    Figure 00110001
  • Gemäß der vorliegenden Erfindung beginnt man mit Einsetzen von Gleichung (2) in (17), wodurch man folgendes erhält:
    Figure 00110002
    oder besser
  • Figure 00110003
  • Diese Gleichung kann nun auf eine Weise interpretiert werden, die angibt, wie die Polynomkoeffizienten unter Berücksichtigung vorheriger Löschungen zu aktualisieren sind. Unter der Annahme, daß im Zeitschritt j-1 die Register Ti, i = 0, 1, ... M – 1 die korrekten modifizierten Syndrome enthalten und man im Zeitschritt j ein weiteres Datensymbol empfängt, aktualisiert man einfach das modifizierte Syndrompolynom gemäß Gleichung (19).
  • Mit diesen Informationen kann man einen Algorithmus A für eine Berechnung der modifizierten Syndrome im Verlauf aufschreiben. Abhängig davon, ob das ankommenden Symbol als eine Löschung signalisiert ist oder nicht, benötigt Algorithmus A zwei bzw. eine aufeinanderfolgende Berechnung. Es ist aber auch möglich, einen alternativen Algorithmus B für eine Berechnung der modifizierten Syndrome im Verlauf aufzuschreiben. Algorithmus B besteht aus zwei alternativen Zweigen, von denen einer abhängig davon, ob das ankommende Symbol als eine Löschung signalisiert ist oder nicht, ausgewählt und ausgeführt wird und wobei jeder der Zweige nur einen Systemtakt zur Durchführung aller für den fraglichen Fall notwendiger Berechnungen benötigt.
  • Algorithmus A
  • Mit Gleichung (19) kann man das modifizierte Syndrom direkt ohne Berechnung der Syndrome berechnen. Das Flußdiagramm in 3 zeigt die erste Ausführungsform einer Berechnung im Verlauf. Das Flußdiagramm umfaßt Gleichung (20) zur Berechnung von zwei Hilfstermen T.(x), Γ.(x) und Gleichung (21) zur Berechnung eines Iterationsergebnisses Tj(x), Γj(x) aus den Hilfstermen, falls das ankommende Symbol νn eine Löschung ist. Bei jedem Symboltakt werden, wenn ein neues Symbol erhalten wird, die modifizierten Syndrome gemäß Gleichung (20) aktualisiert. In jedem Schritt der Berechnung sind die resultierenden modifizierten Syndrome korrekt bis auf das letzte empfangene Symbol.
  • Für diesen Algorithmus muß die Systemtaktrate mindestens zweimal die Symboltaktrate betragen. Der Algorithmus endet nach der Berechnung für das letzte Symbol und das korrekte modifizierte Syndrom wird dann erhalten.
  • Im Fall einer Löschung werden zwei Systemtakte benötigt, einer zum Aktualisieren gemäß Gleichung (20) und einer zum Multiplizieren des Polynoms mit der Wurzel wie durch Gleichung (21) beschrieben. Im Fall einer Löschung kann die Reihenfolge des Berechnens von Gleichung (20) und (21) ausgetauscht werden. In diesem Fall muß Vorsicht walten, daß, wenn das erste Symbol des Stroms eine Löschung ist, das Register T0 mit eins vorgeladen werden muß, andernfalls ergäbe der erste Teil von Gleichung (21) null.
  • Die Berechnung von Gleichung (20) resultiert direkt aus der in Gleichung (19) beschriebenen zyklischen Faltung. Deshalb wird im folgenden der Algorithmus zum Erhalten eines Löschungssymbols beschrieben.
  • Man nehme an, daß bis zum Zeitschritt n – 1 im Speicher das folgende modifizierte Syndrom vorliegt, das die lineare Faltung von Gleichung (19) ist:
    Figure 00130001
    sowie das Löschungspolynom Γn-1(x) = 1 + Γ1,n-1x + Γ2,n-1x2 + ... + Γp,n-1xp. (23)
  • Als nächstes nimmt man an, daß im Zeitschritt n ein Löschungssymbol νn ankommt, und deshalb ergibt die Berechnung von Gleichung (20)
    Figure 00140001
    Figure 00140002
  • Nun wird Gleichung (21) berechnet:
    Figure 00140003
  • Die Verwendung zyklischer Faltung ergibt wieder
    Figure 00140004
    was folgendermaßen umgeschrieben werden kann
    Figure 00150001
  • Dies ist tatsächlich wieder die lineare Faltung des Syndrom- und Löschungspolynoms gemäß Gleichung (19).
  • 4 zeigt eine Ausführungsform eines Algorithmus A für die Berechnung des modifizierten Syndroms im Verlauf. Wenn sich die Schalter in ihrer abgebildeten Stellung befinden, realisiert die Architektur die Berechnung gemäß Gleichung (20). Wenn die Schalter umgeschaltet werden, realisiert die Architektur die Berechnung gemäß Gleichung (21).
  • Die Schalter werden als kombinatorische Logik realisiert; daher verursachen sie keine zusätzliche Taktverzögerung. Durch Vergleich mit den Ausführungsformen von 1 und 2 ist leicht ersichtlich, daß nur ein zusätzlicher Addierer pro Zelle oder Register notwendig ist. Dies bedeutet, daß eine Reduktion der Hardware besteht, da kein zusätzlicher Polynommultiplizierer notwendig ist.
  • Am Anfang einer neuen Codesequenz wird Register 1 in 4 mit der Potenz der Position des ersten Symbols, zum Beispiel mit α181 für das Beispiel des inneren Codes von DVD, initialisiert. Die Register 2 und 3 werden mit Nullen initialisiert. An jeder steigenden Flanke des Symboltakts kommt ein neues Symbol an und Register 1 wird getaktet, wodurch die Wurzelpotenz um eins verkleinert wird. Danach werden die Register 2 mit der nächsten fallenden Flanke des Symboltakts getaktet, wodurch die Syndrome gemäß Gleichung (20) aktualisiert werden.
  • Wenn das angekommene Symbol als eine Löschung signalisiert war, werden die Schalter umgeschaltet und die Register 2 und 3 werden wieder getaktet, wodurch Gleichung (21) berechnet wird. Am Ende des letzten Symbols in der Sequenz halten nach der letzten Berechnung die Register 2 die modifizierten Syndrome der gesamten Codesequenz, und die Register 3 halten das Löschungspolynom.
  • Im folgenden wird auf 5 verwiesen, worin ein Beispiel für das Timing-Verhalten des Verfahrens von 3 gezeigt ist.
  • Man nehme M = 10 an und daß die Reihenfolge absteigt, so wie es für den inneren Code von DVD der Fall ist. Die Symbolreihenfolge beginnt mit 181 und geht herunter zu 0. Die Register werden mit T(x) = 0 und Γ-1(x) = 1 vorgeladen. Man nehme an, man empfange den folgenden Datenstrom: ν181 = α6, ν*180 = α9, ν179 = α10, ν*178 = α12, ν177 = α15, ν176 = ..., ..., ν0 = α-,wobei die ν*i diejenigen Symbole angeben sollen, die als Löschungen signalisiert sind. An jeder steigenden Flanke des Symboltakts erhält man ein neues Symbol νn zusammen mit seinen Löschungsinformationen, wie in 5 gezeigt, und Register 1 der Schaltung in 4 wird getaktet und enthält den richtigen Potenzterm αn dieses Symbols. Beim ersten Systemtakt nach der steigenden Flanke des Symboltakts mit der Bezeichnung 1 in 5 werden die Register 2 der Schaltung in 4 in ihrer abgebildeten Stellung getaktet und Gleichung (20) wird berechnet.
  • Wenn das Löschungssignal wahr ist, werden die Schalter in 4 umgeschaltet und die Register 2 und 3 werden wieder an der nächsten steigenden Flanke des Systemtakts mit der Bezeichnung 2 in 5 getaktet, was zu der Berechnung von Gleichung (21) führt. Nach der letzten Berechnung des 182. Symbols wurde das korrekte modifizierte Syndrom oder das gesamte Codewort erhalten. Für das vorliegende Beispiel sollen die Zwischenergebnisse bis zu nach dem fünften ankommenden Symbol nun ausführlich erläutert werden.
  • Herkömmliche Weise:
  • Zuerst wird das Zwischenergebnis des modifizierten Syndroms auf herkömmliche Weise als eine Referenz berechnet, um das Ergebnis des nachfolgend erläuterten erfindungsgemäßen Algorithmus verifizieren zu können. Gleichung (2) gibt das Syndrom des Datenstroms als S(x) = (α6 + α9 + α10 + α12 + α15) + (α6α181 + α9α180 + α10α179 + α12α178 + α15α177)x + ... + (α6α9·181 + α9α9·180 + α10α9·179 + α12α9·178 + α15α9·177)x9 = α169 + α79x + α113x2 + α37x3 + α194x4 + α112x5 + α239x6 + α168x7 + α174x8 α240x9. (28) Γ(x) = (1 – α180x)(1 – α178x) = 1 + α228x + α103x2. (29)
  • Durch Multiplizieren der beiden Polynome erhält man das modifizierte Syndrompolynom bis zu diesem Symbol als T(x) = S(x)Γ(x)mod xM = α69 + (α79 + α169α228)x + (α113 + α79α228 + α169α103)x2 + ... + (α240 + α174α228 + α168α103)x9 = α169 + α134x + α119x2 + α68x3 + α128x4 + α172x5 + α21x6 + α40x7 + α217x8 + α152x9 (30)
  • Im-Verlauf-Algorithmus
  • Die Berechnung erfolgt in der Reihenfolge des ankommenden Symbols; nach jedem Schritt sind die resultierenden modifizierten Syndrome korrekt bis auf das letzte empfangene Symbol.
    • 1. Erhalten des Datensymbols ν181 = α6; erster Systemtakt 1; Berechnung von Gleichung (20): T0(x) = α6(1 + α181x + α2·180x2 + ... + α9·180x9) = α6 + α187x + α113x2 + α39x3 + α220x4 + α146x5 + α72x6 + α253x7 + α179x8 + α105x9 (31) Γ0 = 1 (32)
    • 2. Erhalten des Löschungssymbols ν*180 = α6; erster Systemtakt 1; Berechnen von Gleichung (20): T.(x) = (α6 + α9) + (α187 + α9α180)x + (α113 + α9α2·180)x2 + ... + (α105 + α9α9·180)x9 = α229 + α237x + α138x2 + 0·x3 + α244x4 + α194x5 + α37x6 + α94x7 + α57x8 + α35x9 (33)
    • Zweiter Systemtakt 2, Berechnen von Gleichung (21): T1(x) = α229 + (α237 + α180α229)x + (α138 + α180α237)x2 + ... + (α35 + α180α57)x9 = α229 + α211x + α137x2 + α63x3 + α244x4 + α170x5 + α96x6 + α22x7 + α203x8 + α129x9 (34)und Γ1(x) = 1 + α180 x (35)
    • 3. Erhalten des Datensymbols ν179 = α10; erster Systemtakt 1, Berechnen von Gleichung (20): T2(x) = (α229 + α10) + (α211 + α10179 + α180))x + (α137 + α102·179 + α179α180))x2 + ... + (α129 + α109·179 α8·179α180))x9 = α199 + α179x + α162x2 + α87x3 + α209x4 + α48x5 + α201x6 + α133x7 + α182x8 + α215x9 (36) Γ2(x) = 1 + α180 x (37)
    • 4. Erhalten des Löschungssymbols ν*178 = α12; erster Systemtakt 1; Berechnen von Gleichung (20): T.(x) = (α199 + α12) + (α179 + α12178 + α180))x + (α162 + α122·178 + α178α180))x2 + ... + (α215 + α129·178 + α8·178α180))x9 = α216 + α110x + α187x2 + α111x3 + α17x4 + α146x5 + α64x6 + α37x7 + α108x8 + α39x9 (38) Zweiter Systemtakt 2, Berechnen von Gleichung (21): T3(x) = α216 + (α110 + α178α216)x + (α187 + α178α110)x2 + ... + (α39 + α178α108)x9 = α216 + α36x + α234x2 + α135x3 + α85x4 + α88x5 + α202x6 + α244x7 + α166x8 + α231x9 (39) und Γ3(x) = 1 + (α180 + α178)x + α180α178x2 = 1 + α228x + α103x2 (40)
    • 5. Erhalten des Datensymbols ν177 = α15; erster Systemtakt 1, Berechnen von Gleichung (20): T4(x) = (α216 + α15) + (α36 + α15177 + α228))x + (α234 + α152·177 + α177α228 + α103))x2 + ... + (α231 + α159·177 + α8·177α228 + α7·177α103))x9 = α169 + α134x + α119x2 + α68x3 + α128x4 + α172x5 + α21x6 + α40x7 + α217x8 + α152x9 (41) Γ4(x) = 1 + (α180 + α178)x + α180α178x2 = 1 + α228x + α103x2 (42)
  • Ein Vergleich von Gleichung (42) mit (29) und von (41) mit (30) verifiziert den Algorithmus. Dieses Ergebnis ist ein Zwischenergebnis, es ist nicht das letztendliche modifizierte Syndrom, sondern lediglich das modifizierte Syndrom bis zu dem fünften empfangenen Symbol. Das modifizierte Syndrom der gesamten Codesequenz wird nach der 182. Berechnung erhalten.
  • Algorithmus B
  • Im folgenden wird der alternative Algorithmus B zur Berechnung der modifizierten Syndrompolynome ausführlicher erläutert.
  • Der zweite Systemtakt bei der Berechnung eines Löschungssymbols kann vermieden werden, indem man Gleichung (20) in Gleichung (21) einsetzt, wodurch sich folgendes ergibt:
    Figure 00210001
    oder besser
    Figure 00210002
  • Deshalb kann die Gleichung folgendermaßen geschrieben werden: Tn(x) = Tn-1(x)(1 – αnx) + νnΓn-1(x) mit Γ-1(x) = 1 (45)
  • Nun ist es möglich, den zweiten Algorithmus B aufzuschreiben, der nur einen Systemtakt für jeden ankommenden Symboltyp benötigt.
  • Das Flußdiagramm in 6 zeigt die zweite Ausführungsform einer Berechnung im Verlauf. Zur Berechnung eines Iterationsergebnisses Tj(x), Γj(x) umfaßt das Flußdiagramm Gleichung (46), die verwendet wird, falls das ankommende Symbol Vn eine Löschung ist, und Gleichung (47), die andernfalls verwendet wird.
  • Bei jedem Symboltakt werden, wenn ein neues Symbol erhalten wird, die modifizierten Syndrome aktualisiert. In jedem Schritt der Berechnung sind die resultierenden modifizierten Syndrome korrekt bis zu dem letzten empfangenen Symbol. Für diesen Algorithmus B kann die Systemtaktrate dieselbe wie die Symboltaktrate sein, was zu einer sehr schnellen Berechnung führt. Der Algorithmus endet nach dem letzten Symbol und dann ist das korrekte modifizierte Syndrom erhalten.
  • 7 zeigt eine zweite Ausführungsform der Berechnung des modifizierten Syndroms im Verlauf. Wenn sich die Schalter in ihrer abgebildeten Stellung befinden, realisiert die Architektur die Berechnung gemäß Gleichung (47). Wenn die Schalter umgeschaltet werden, realisiert die Architektur die Berechnung gemäß Gleichung (46).
  • Die Schalter werden als kombinatorische Logik realisiert; daher verursachen sie keine zusätzliche Taktverzögerung. Im Vergleich der abgebildeten Architektur mit der in 4 sind ein zusätzlicher Multiplizierer und Addierer pro Zelle oder Register notwendig. Eine Vergrößerung der Hardwarestruktur und deshalb eine Vergrößerung der Latenzzeit können eine Reduktion der Rechenzeit erzielen.
  • Am Anfang einer neuen Codesequenz wird Register 1 in 7 mit der Potenz der Position des ersten Symbols, zum Beispiel mit α181 für das Beispiel des inneren Codes von DVD, initialisiert. Die Register 2 und 3 werden mit Nullen initialisiert. Die Schalter werden direkt mit dem Löschungssignal verbunden. Alle Register 1, 2 und 3 werden mit der steigenden Flanke des Symboltakts getaktet, wodurch die Syndrome abhänging von dem Löschungssignal gemäß Gleichung (46) oder (47) aktualisiert werden.
  • Die Taktung von Register 1 verringert die Potenz des Wurzelterms um eins als Vorbereitung für das nächste Symbol. Am Ende des letzten Symbols in der Sequenz halten, nach der letzten Berechnung die Register 2 die modifizierten Syndrome der gesamten Codesequenz, und die Register 3 halten das Löschungspolynom.
  • Das Timing-Verhalten und der Algorithmus werden nun als Beispiel erläutert. Man nehme M = 10 an, und daß die Ordnung absteigt, wie im Fall für den inneren Code von DVD. Die Symbolreihenfolge beginnt mit 181 und geht herunter zu 0. Die Register werden mit T(x) = 0 und Γ-1(x) = 1 vorgeladen.
  • Es sei angenommen, daß man den folgenden Datenstrom empfängt: ν181 = α6, ν*180 = α9, ν179 = α10, ν*178 = α12, ν177 = α15, ν176 = ..., ..., ν0 = α..., wobei ν*i die Symbole angibt, die als Löschungen signalisiert sind. An jeder steigenden Flanke des Systemtakts erhält man ein neues Symbol νn und Löschungsinformationen wie in 8 gezeigt.
  • Das Löschungssignal speist die Schalter der Schaltung in 7. Wenn das Löschungssignal falsch ist, bleiben die Schalter in ihrer abgebildeten Stellung; wenn das Löschungssignal wahr ist, werden die Schalter umgeschaltet. An der steigenden Flanke des Systemtakts mit der Bezeichnung 1 in 8 wird die Schaltung in 7 getaktet und Gleichung (46) oder (47) berechnet. Nach dem letzten, d.h. 182. Symboltakt ist das korrekte modifizierte Syndrom des gesamten Codeworts erhalten. Für das vorliegende Beispiel sollen die Zwischenergebnisse bis zu nach dem fünften ankommenden Symbol nun ausführlich erläutert werden.
  • Die Berechnung erfolgt in der Reihenfolge der ankommenden Symbole; nach jedem Schritt sind die resultierenden modifizierten Syndrome korrekt bis zu dem letzten empfangenen Symbol.
    • 1. Erhalten des Datensymbols ν181 = α6; Berechnen von Gleichung (46): T0(x) = α6(1 + α181x + α2·180x2 + ... + α9·180x9) = α6 + α187x + α113x2 + α39x3 + α220x4 + α146x5 + α72x6 + α253x7 + α179x8 + α105x9 (48) Γ0 = 1 (49)
    • 2. Erhalten des Löschungssymbols ν*180 = α9; Berechnen von Gleichung (47): T1(x) = α6(1 + α181x + α2·180x2 + ... + α9·180x9) = α6 + (α187 + α180α6)x + (α113 + α180α187)x2 + ... + (α105 + α180α179)x9 + α9 = α229 + α211x + α137x2 + α63x3 + α244x4 + α170x5 + α96x6 + α22x7 + α203x8 + α129x9 (50)und Γ1(x) = 1 + α180 x (51)
    • 3. Erhalten des Datensymbols ν179 = α10; Berechnen von Gleichung (46): T2(x) = (α229 + α10) + (α211 + α10179 + α180))x + (α137 + α102·179 + α179α180))x2 + ... + (α129 + α109·179 + α8·179α180))x9 = α199 + α179x + α162x2 + α87x3 + α209x4 + α48x5 + α201x6 + α133x7 + α182x8 + α215x9 (52) Γ2(x) = 1 + α180 x (53)
    • 4. Erhalten des Löschungssymbols ν*178 = α12; Berechnen von Gleichung (47): T3(x) = α199 + (α179 + α178α199)x + (α162 + α178α179)x2 + ... + (α215 + α178α182)x9 + α12 + α12α180x = α216 + α36x + α234x2 + α135x3 + α85x4 + α88x5 + α202x6 + α244x7 + α166x8 + α231x9 (54)und Γ3(x) = 1 + (α180 + α178)x + α180α178x2 = 1 + α228x + α103x2 (55)
    • 5. Erhalten des Datensymbols ν177 = α15; Berechnen von Gleichung (46): T4(x) = (α216 + α15) + (α36 + α15177 + α228))x + (α234 + α152·177 + α177α228 + α103))x2 + (α231 + α159·177 + α8·177α228 + α7·177α103))x9 = α169 + α134x + α119x2 + α68x3 + α128x4 + α172x5 + α21x6 + α40x7 + α217x8 + α152x9 (56) Γ4(x) = 1 + (α180 + α178)x + α180α178x2 = 1 + α228x + α103x2 (57)
  • Ein Vergleich von Gleichung (56) mit (29) und von (57) mit (30) verifiziert den Algorithmus. Dieses Ergebnis ist ein Zwischenergebnis, es ist nicht das letztendliche modifizierte Syndrom, es ist das modifizierte Syndrom bis zu diesem Symbol. Das modifizierte Syndrom der gesamten Codesequenz wird nach der 182. Berechnung erhalten.

Claims (10)

  1. Verfahren zur Soft-Entscheidungs-Decodierung von Reed-Solomon-Codewörtern, die aus N Symbolen bestehen, wobei das Generatorpolynom des Reed-Solomon-Codes M Wurzeln aufweist, gekennzeichnet durch paralleles Berechnen eines Syndrompolynoms, eines Löschungspolynoms Γ(x) und eines modifizierten Syndrompolynoms T(x) durch iteratives Aktualisieren von Koeffizienten der Polynome bei jedem Symboltakt, an dem ein neues Datensymbol ankommt, dergestalt, daß die Polynome für ein Codewort direkt erhalten werden, nachdem die Koeffizientenaktualisierung für das letzte Symbol des Codeworts durchgeführt wurde.
  2. Verfahren nach Anspruch 1 mit den folgenden Schritten: – Berechnen des Syndrompolynoms S(x) als
    Figure 00280001
    wobei die νi die ankommenden Datensymbole sind; – Berechnen des Löschungspolynoms Γ(x) als
    Figure 00280002
    wobei
    Figure 00280003
    die Potenz der Positionen j0, jl, ..., jp-l der Löschungen und p die Anzahl der Löschungen in dem Codewort ist; – Konstruieren des modifizierten Syndrompolynoms auf eine Weise, die das korrekte modifizierte Syndrom T(x) = Γ(x)S(x)mod xM erhält, nach der Berechnung für das letzte Symbol, – Bestimmen der Polynome Λ(x), Ω(x) durch Auslösen der Schlüsselgleichung Λ(x)T(x) = Ω(x)mod xM mit dem Algorithmus von Berlekamp-Massey oder Euklid, – Berechnen des Forney-Polynoms Ψ(x) = Λ(x)Γ(x)– Berechnen des Betrags der Fehler und Löschungen unter Verwendung der Forney-Gleichung.
  3. Verfahren nach Anspruch 2, wobei die Berechnung des Löschungspolynoms und des modifizierten Syndrompolynoms im Verlauf mit den ankommenden Datensymbolen νN-1, ..., ν1, ν0 durchgeführt wird.
  4. Verfahren nach einem der vorherigen Ansprüche 1, 2 oder 3, wobei das Syndrompolynom in der folgenden Form berechnet wird:
    Figure 00290001
    indem die Koeffizienten Si, i = 0, 1, ..., M – 1 iterativ aktualisiert werden, wobei bei jedem Symboltakt j, wenn ein neues Symbol νn ankommt, die Potenz αn der Position n berechnet wird und die Koeffizienten auf die folgende Weise aktualisiert werden: Si,j = Si,j-1 + νnαin, i = 0, 1, ..., M – 1 mit Si,-1 = 0
  5. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 4, wobei das Löschungspolynom im Verlauf durch iteratives Aktualisieren des Polynoms
    Figure 00300001
    berechnet wird, wobei das Aktualisieren an jedem Symboltakt ji durchgeführt wird, wenn ein neues ankommendes Symbol als eine Löschung gekennzeichnet wird, die Potenz αji der Löschungsposition ji berechnet wird und das Polynom auf die folgende Weise aktualisiert wird:
    Figure 00300002
  6. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 5, wobei das Berechnen des modifizierten Syndrompolynoms T(x) direkt durch die folgenden Schritte durchgeführt wird: – Vorladen von Polynomen Γ-l(x) = 1; T-l(x) = 0; – Erhalten von einem Symbol νn an jedem Symboltakt; – Berechnen von folgendem mit dem ersten Systemtakt innerhalb des Symboltakts:
    Figure 00310001
    – Bestimmen, ob νn eine Löschung ist; – wenn ja: Berechnen von folgendem mit einem zweiten Systemtakt innerhalb des Symboltakts: Tj(x) = T.(x)(1 – αnx); Γj(x) = Γj-1(x)(1 – αnx)– wenn nein: Verwenden von Tj(x) = T.(x) Γj(x) = Γ.(x)
  7. Verfahren nach einem der vorherigen Ansprüche 1 bis 5, wobei die Berechnung des modifizierten Syndrompolynoms T(x), falls ein ankommendes Symbol als eine Löschung gekennzeichnet ist, einen Schritt des Aktualisierens im Verlauf in der folgenden Form umfaßt: Tn(x) = Tn-1(x)(1 – αnx) + νnΓn-1(x), where Γ-1 (x) = 1.
  8. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 5 oder 7, wobei das modifizierte Syndrompolynom T(x) im Verlauf durch die folgenden Schritte berechnet wird: – Vorladen von Polynomen Γ-l(x) = 1; T-l(x) = 0; – Erhalten eines Symbols νn an jedem Symboltakt; – Bestimmen, ob νn eine Löschung ist, – wenn ja: Berechnen von Tj(x) = Tj-1(x)(1 – αnx) + νnΓj-1(x) Γj(x) = Γj-1(x)(1 – αnx);– wenn nein: Berechnen von
    Figure 00320001
  9. Computerprogrammprodukt wie etwa ein digitales Speichermedium mit Programmmitteln zur Soft-Entscheidungs-Decodierung von Reed-Solomon-Codewörtern, wobei die Programmmittel dafür ausgelegt sind, parallel ein Syndrompolynom, ein Löschungspolynom und ein modifiziertes Syndrompolynom zu berechnen, indem Koeffizienten der Polynome iterativ bei jedem Symboltakt aktualisiert werden, wenn ein neues Datensymbol ankommt, dergestalt, daß die Polynome für ein Codewort direkt erhalten werden, nachdem die Koeffizientenaktualisierung für das letzte Symbol des Codeworts durchgeführt wurde.
  10. Reed-Solomon-Codewort-Decoder mit Mitteln zum parallelen Berechnen eines Syndrompolynoms, eines Löschungspolynoms und eines modifizierten Syndrompolynoms durch iteratives Aktualisieren von Koeffizienten der Polynome bei jedem Symboltakt, wenn ein neues Datensymbol ankommt, dergestalt, daß die Polynome für ein Codewort direkt erhalten werden, nachdem die Koeffizientenaktualisierung für das letzte Symbol des Codeworts durchgeführt wurde.
DE60309857T 2002-05-08 2003-05-06 Methode zur dekodierung von reed-solomon kodes mittels feinentscheidung Expired - Lifetime DE60309857T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP02010430 2002-05-08
EP02010430 2002-05-08
PCT/EP2003/004689 WO2003096546A2 (en) 2002-05-08 2003-05-06 A method of soft-decision decoding of reed-solomon codes

Publications (2)

Publication Number Publication Date
DE60309857D1 DE60309857D1 (de) 2007-01-04
DE60309857T2 true DE60309857T2 (de) 2007-04-19

Family

ID=29414677

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60309857T Expired - Lifetime DE60309857T2 (de) 2002-05-08 2003-05-06 Methode zur dekodierung von reed-solomon kodes mittels feinentscheidung

Country Status (8)

Country Link
US (1) US7353449B2 (de)
EP (1) EP1502356B1 (de)
JP (1) JP4134029B2 (de)
KR (1) KR100970223B1 (de)
CN (1) CN1653699B (de)
AU (1) AU2003239834A1 (de)
DE (1) DE60309857T2 (de)
WO (1) WO2003096546A2 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7328395B1 (en) 2004-04-13 2008-02-05 Marvell International Ltd. Iterative Reed-Solomon error-correction decoding
US7793195B1 (en) * 2006-05-11 2010-09-07 Link—A—Media Devices Corporation Incremental generation of polynomials for decoding reed-solomon codes
US8171368B1 (en) * 2007-02-16 2012-05-01 Link—A—Media Devices Corporation Probabilistic transition rule for two-level decoding of reed-solomon codes
US8286060B2 (en) * 2008-07-30 2012-10-09 Lsi Corporation Scheme for erasure locator polynomial calculation in error-and-erasure decoder
US8418041B2 (en) 2008-12-03 2013-04-09 Electronics And Telecommunications Research Institute MPE-FEC RS decoder and decoding method thereof
RU2009116361A (ru) * 2009-04-30 2010-11-10 ЭлЭсАй Корпорейшн (US) Декодер кодов рида-соломона с мягким решением на основе декодера кодов рида-соломона с исправлением ошибок и стираний
US8365053B2 (en) * 2009-05-27 2013-01-29 International Business Machines Corporation Encoding and decoding data using store and exclusive or operations
US8473826B1 (en) 2009-08-12 2013-06-25 The United States Of America As Represented By The Secretary Of The Navy Hybrid soft decision hard decision reed solomon decoding
US8296634B2 (en) * 2010-02-27 2012-10-23 I Shou University Error correction decoder, error correction value generator, and error correction system
CN101834617B (zh) * 2010-06-01 2013-03-27 福建新大陆电脑股份有限公司 一种rs纠错码解码器
CN102655443B (zh) * 2011-03-04 2016-11-02 上海华虹集成电路有限责任公司 修正欧几里德算法的部分并行实现装置
US8977938B2 (en) * 2013-02-08 2015-03-10 Altera Corporation Parallel decomposition of Reed Solomon umbrella codes
US10608676B2 (en) * 2017-06-27 2020-03-31 Intel Corporation Bit-alignment testing for obtaining FEC code lock
CN115906898A (zh) * 2023-02-23 2023-04-04 青岛创新奇智科技集团股份有限公司 DataMatrix码的解码方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868828A (en) * 1987-10-05 1989-09-19 California Institute Of Technology Architecture for time or transform domain decoding of reed-solomon codes
US5280488A (en) * 1990-11-08 1994-01-18 Neal Glover Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping
US5537426A (en) * 1992-05-29 1996-07-16 Goldstar Co., Ltd. Operation apparatus for deriving erasure position Γ(x) and Forney syndrome T(x) polynomials of a Galois field employing a single multiplier
US5379305A (en) * 1992-07-20 1995-01-03 Digital Equipment Corporation Error correction system with selectable error correction capabilities
US5517509A (en) * 1993-03-31 1996-05-14 Kabushiki Kaisha Toshiba Decoder for decoding ECC using Euclid's algorithm
KR960032208A (ko) * 1995-02-07 1996-09-17 구자홍 리드-솔로몬 디코더
US5715262A (en) * 1995-07-12 1998-02-03 Lsi Logic Corporation Errors and erasures correcting reed-solomon decoder
US6511280B1 (en) * 1996-05-21 2003-01-28 Motorola, Inc. Adaptive Reed-Solomon decoder and methods thereof
FR2751810B1 (fr) * 1996-07-23 1998-10-23 Sgs Thomson Microelectronics Systeme de correction d'erreurs dans des trames de donnees ayant des codes de parite horizontaux et verticaux
KR100258951B1 (ko) * 1997-09-25 2000-06-15 윤종용 리드-솔로몬(rs) 복호기와 그 복호방법
US5991911A (en) * 1997-11-14 1999-11-23 Cirrus Logic, Inc. Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device
FR2776115B1 (fr) 1998-03-13 2000-07-21 Thomson Multimedia Sa Dispositif de correction d'erreurs et lecteur de disque optique comportant un tel dispositif
US6449746B1 (en) * 1998-08-17 2002-09-10 T. K. Truong Decoding method for correcting both erasures and errors of reed-solomon codes
US6347389B1 (en) * 1999-03-23 2002-02-12 Storage Technology Corporation Pipelined high speed reed-solomon error/erasure decoder
KR100611956B1 (ko) * 1999-08-19 2006-08-11 삼성전자주식회사 에러 정정 방법과 장치
EP1370003A1 (de) * 2002-06-07 2003-12-10 Deutsche Thomson-Brandt Gmbh Reed-Solomon Dekoder

Also Published As

Publication number Publication date
KR20040104702A (ko) 2004-12-10
JP4134029B2 (ja) 2008-08-13
EP1502356B1 (de) 2006-11-22
CN1653699A (zh) 2005-08-10
WO2003096546A2 (en) 2003-11-20
AU2003239834A8 (en) 2003-11-11
KR100970223B1 (ko) 2010-07-16
JP2005525040A (ja) 2005-08-18
AU2003239834A1 (en) 2003-11-11
WO2003096546A3 (en) 2004-02-05
US7353449B2 (en) 2008-04-01
CN1653699B (zh) 2011-06-15
EP1502356A2 (de) 2005-02-02
US20050166126A1 (en) 2005-07-28
DE60309857D1 (de) 2007-01-04

Similar Documents

Publication Publication Date Title
DE60309857T2 (de) Methode zur dekodierung von reed-solomon kodes mittels feinentscheidung
DE69834542T2 (de) Hardwareoptimierter reed-solomon-decoder zur decodierung grosser datenblöcke
DE68924944T2 (de) Fehlerkorrekturschaltung.
DE69919199T2 (de) Vorwärtsfehlerkorrektur
DE3382661T2 (de) Korrektur von fehlerbuendeln in datengruppen.
DE3854791T2 (de) Reed-Solomon Code verwendendes Fehler-Korrektur-Verfahren
DE3486408T2 (de) Verfahren und Vorrichtung zur Dekodierung eines fehlerkorrigierenden Kodes.
DE3852423T2 (de) Kodierverfahren und Kodierer mit Reed-Solomon Fehlerkorrekturcode.
EP0545498B1 (de) Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen
DE3855101T2 (de) Anordnung zur sofortigen Fehlerkorrektur
DE19509728A1 (de) Fehlerkorrigierender Codierer, fehlerkorrigierender Decodierer und Datenübertragungssystem mit fehlerkorrigierenden Codes
DE102009036946A1 (de) Programmierbare Fehlerkorrekturfähigkeit für BCH-Codes
DE60125686T2 (de) Falterprozessor zur Telekommunikation
DE10206727A1 (de) Kombinierter Ver-und Entschachteler sowie Turbo-Decodierer mit kombiniertem Ver-und Entschachteler
DE4105860A1 (de) Schaltungsanordnung zum erkennen und korrigieren von fehlern in datenworten
DE3404417A1 (de) Codierer-pruefschaltungsanordnung
US5822337A (en) Programmable redundancy/syndrome generator
US6751773B2 (en) Coding apparatus capable of high speed operation
DE69837784T2 (de) Verbessertes fünf-fehler-korrektursystem
WO1989003621A1 (en) Hypersystolic reed-solomon encoder
DE3856035T2 (de) Schaltung mit grosser bandbreite und verfahren zur reed-solomon-kodierung, dekodierung und fehlerkorrektur
DE60306709T2 (de) Vorrichtung und Verfahren zur Erzeugung von zyklischen Codes für die Fehlerkorrektur in digitaler Kommunikation
KR100192804B1 (ko) 리드 솔로몬 복호화기에서의 다항식 평가 장치
DE60016648T2 (de) Fehlerkodierungsmethode
DE3104762C2 (de)

Legal Events

Date Code Title Description
8320 Willingness to grant licences declared (paragraph 23)
8364 No opposition during term of opposition