DE19719654B4 - Fehlerdekodierverfahren und -vorrichtung für Reed-Solomon-Codes - Google Patents

Fehlerdekodierverfahren und -vorrichtung für Reed-Solomon-Codes Download PDF

Info

Publication number
DE19719654B4
DE19719654B4 DE19719654A DE19719654A DE19719654B4 DE 19719654 B4 DE19719654 B4 DE 19719654B4 DE 19719654 A DE19719654 A DE 19719654A DE 19719654 A DE19719654 A DE 19719654A DE 19719654 B4 DE19719654 B4 DE 19719654B4
Authority
DE
Germany
Prior art keywords
words
signal
error
syndrome
calculation
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 - Fee Related
Application number
DE19719654A
Other languages
English (en)
Other versions
DE19719654A1 (de
Inventor
Wei-Hung Huang
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.)
United Microelectronics Corp
Original Assignee
United Microelectronics Corp
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 United Microelectronics Corp filed Critical United Microelectronics Corp
Publication of DE19719654A1 publication Critical patent/DE19719654A1/de
Application granted granted Critical
Publication of DE19719654B4 publication Critical patent/DE19719654B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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

Landscapes

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

Abstract

Fehlerdekodierverfahren für Reed-Solomon-Codes, wobei die Reed-Solomon-Codes als RSm(n,k) definiert sind, m eine Zahl von Bits jedes Syndromsignals ist, n eine Länge der Reed-Solomon-Codes ist, k eine Länge von Informationsworten in den Reed-Solomon-Codes ist, und die Reed-Solomon-Codes p Fehlerworte und q Löschungsworte umfassen, und wobei n ≤ (2m-1) und 2p + q ≤ d – 1, und d ein Hamming-Abstand der Reed-Solomon-Codes ist, wobei dieses Fehlerdekodierverfahren die Schritte umfasst:
(a) Dekodieren der Syndrome, Erhalten der Fehlerworte und Löschungsworte daraus, welche in jedem der Syndromsignale existieren, und Bestimmen der Zahl von p und q für jedes der Syndrome;
(b) Erhalten von X1 2 und X2 2 durch eine Berechnung des Orts, wenn es zwei Fehlerworte und keine Löschungsworte in jedem der Syndrome gibt, wobei die Syndrome, welche zwei Fehler haben, definiert sind als:
Figure 00000002
wobei Y1 und Y2 Werte der zwei Fehlerworte sind;
(c) Erhalten erster und zweiter Fehlerorte l1 und...

Description

  • Die Erfindung betrifft allgemein ein Verfahren und eine Vorrichtung zur Durchführung einer Fehlerdekodierung von digitalen Daten, welche Reed-Solomon-Codes verwenden. Insbesondere betrifft die Erfindung ein Verfahren und eine Vorrichtung zur Dekodierung des Werts und des Orts von Fehlerwörtern in digitalen Daten, welche Reed-Solomon-Codes verwenden, durch eine Serie von Produktsummen-Rechenoperationen, ohne eine Potenzberechnung.
  • In DE 41 40 018 A1 ist ein Verfahren und eine Schaltungsanordnung zum Dekodieren von RS-codierten Datensignalen beschrieben, bei dem je nach anliegendem Code-Generator-Polynom ein Syndrom-Generator zwischen zwei verschiedenen konstanten Multiplizierern umgestaltet wird und zudem ermittelte Syndrome und Auslöschorte einem Euclid-Algorithmus zum Ableiten von Fehlerort- und Fehlerwert-Polynomen unterworfen werden.
  • In US-A-4,677,622 ist ein Fehlerkorrekturverfahren und -system beschrieben, bei dem eine Fehlerkorrektur beispielsweise durch Dekodieren von Codewörtern als schwer verschachtelte Reed-Solomon-Codes erfolgt.
  • In DE 37 19 404 C2 ist ein Verfahren und eine Anordnung zur Korrektur von Fehlern in digitalen Signalen beschrieben, welche mit Phasenschwankungen behaftet von einem Aufzeichnungsträger widergegeben werden.
  • In US-A-4,842,099 ist ein Fehlerkorrekturverfahren unter Verwendung von Reed-Solomon-Codes beschrieben, sofern die Fehlerkorrektur unter Verwendung des Ergebnisses der Multiplikation eines Syndroms und eines Fehlerorts ausgeführt wird, und ein anderes Syndrom wird addiert, um hierdurch ein neues Syndrom zu bilden. Durch wiederholtes Ausführen dieser Prozedur lässt sich ein Fehlervektor durch eine geringe Zahl von Arithmetik-Betriebsschritten erhalten.
  • In JP 01136424 A ist ein Decodiersystem für Reed-Solomon-Codes beschrieben, das auf einer gleichzeitigen Anwendung einer Fehlerkorrektur/Fehlerdetektion/Ausfallfehlerkorrektur basiert.
  • Reed-Solomon-Codes (im folgenden als RS-Codes bezeichnet) sind in der Kommunikation sehr wichtig für die Bewahrung von Daten, wobei sie arbeiten, um Fehler in Bytes von digitalen Daten kontinuierlich zu korrigieren.
  • Bei dem Entwurf von RS-Code-Decodern gibt es im allgemeinen zwei unterschiedliche Schaltungstypen. Einer ist der Pipeline-Typ ("Rohrleitungs"-Typ) und der andere ist der Programmsteuertyp auf Prozessorbasis (processor-based program control type). RS-Code-Decoder des Pipeline-Typs werden typischerweise in Systemen verwendet, welche bei hoher Geschwindigkeit und in Echtzeit arbeiten müssen. Dementsprechend sind die Schaltungen für einen RS-Code-Decoder des Pipeline-Typs kompliziert und teuer, was in Systemen, welche nur eine moderate Geschwindigkeit erfordern, eine Verschwendung von Ressourcen und Geld darstellt. Der RS-Code-Decoder des Programmsteuerungs-Typs auf Prozessorbasis führt unter der Programmsteuerung wiederholte Berechnungen unter Verwendung einer Arithmetiklogikeinheit (ALU = arithmetic logic unit) durch, was die Komplexität und Kosten der Schaltung des RS-Code-Decoders vermindert. Es gibt offensichtliche Unterschiede zwischen den RS-Code-Decodern des Pipeline-Typs und des Programmsteuertyps auf Prozessorbasis.
  • Wenn es für RS-Codes mehr als zwei Fehler unter den übertragenen Worten gibt, sind die Berechnungen für die Dekodierung zu komplex, um geeignet einen RS-Code-Decoder des Programmsteuertyps auf Prozessorbasis zu verwenden. Im folgenden wird jedoch das konventionelle System dieses Typs zum Dekodieren von zwei Fehlerwörtern verwendet und veranschaulicht:
    Ein RS-Code kann als RSm(n,k) definiert werden. Der Eingangsanschluß des RS-Code-Decoders empfängt n Symbole, wobei jedes Symbol aus m Bits besteht. Nach der Fehlerkorrektur werden k Datensymbole aus dem Decoder übertragen.
  • RSm(n,k) kann definiert werden als:
  • m
    die Zahl von Bits jedes importierten Symbols;
    n
    ≤ (2m – 1) die Codelänge der RS-Codes;
    k
    die Zahl an Informationswörtern in RS-Codes;
    d
    = n – k + 1 der Hamming-Abstand (Hamming distance) in RS-Codes; und
    Figure 00040001
    die Maximalzahl von Fehlerworten, die von dem Decoder dekodiert werden.
  • Daher gilt in einem RS-Code-Decoder, welcher zwei Fehlerworte erfassen kann, daß t = 2, d = 2t + 1 = 5, k = n + 1 – 5 = n – 4, und RSm(n,k) kann zu RSm(n,n-4) modifiziert werden. Für RSm(n,n-4)-Codes kann das Erzeugungspolynom (generating polynomial) dargestellt werden als: g(x) = (x-1)(x-α)(x-α2)(x-α3)
  • Es kann angenommen werden, daß sich in den n Symbolen v Fehlerworte befinden, welche sich bei l1‚ l2‚ l3‚ l4 befinden, und deren Werte jeweils Y1, Y2, Y3, Y4..., Yv sind. Um im folgenden das Prinzip des Dekodierens der RS-Codes zu erklären, wenn der Ort li bekannt ist, bevor die n Symbole dekodiert sind, wird das Fehlerwort als eine 'Löschung' ('erasure') definiert, und wenn der Ort li unbekannt ist, bevor die n Symbole dekodiert sind, wird das Fehlerwort als ein 'Fehler' ('error') definiert.
  • Bei RS-Codes, welche einen Hamming-Abstand (d = 5) haben, können p Fehlerworte und q Löschungsworte erfaßt werden, wenn p und q die folgende Beziehung erfüllen: 2p + q ≤ d – 1 = 5 – 1 = 4 (1)
  • Und wenn Xi = αli 1 ≤ i ≤ v, dann sind die Syndrome (syndromes):
    Figure 00050001
    d.h. die Syndrome S0, S1, S2, S3 können durch die jeweiligen Kombinationen Xj und Yj erhalten werden, wobei:
  • v:
    die Zahl an Löschungsworten und Fehlerworten, v = p + q,
    p:
    die Zahl an Fehlerworten,
    q:
    die Zahl an Löschungsworten,
    Xj:
    Xj = αlj und lj ist der Ort des j-ten Fehlers,
    Sk:
    Syndrom,
    Yj:
    j-ter Fehlerwert, und
    d:
    Hamming-Abstand des Codes.
  • Gemäß mehrerer US-Patente, beispielsweise nach Ozaki ( US-4,852,099 ) und Okamoto et al. ( US-4,677,622 ) ist folgendes bekannt:
    Wenn p = 0 und q = 4, dann:
    Figure 00060001
    Wenn q = 3 und p = 0, dann:
    Figure 00060002
    Wenn q = 2 und p = 0, dann:
    Figure 00060003
    Wenn q = 1 und p = 0, dann: Y1 = S0 (6)
  • Wenn die Zahl an Löschungsworten q eine Zahl von eins bis drei ist, wird die Zahl an Fehlerworten p, welche untergebracht werden kann, null oder eins, in Übereinstimmung mit Gleichung (1). Um zu bestimmen, ob der tatsächliche Wert von p null oder eins ist, oder größer als eins (in der Situation, in welcher p größer als eins ist, kann der Decoder kein Fehlerwort aus n Symbolen erfassen), muß auf einen Satz von Forney-Syndromen Bezug genommen werden.
  • Wenn q gleich eins ist, dann sind die Forney-Syndrome definiert als: T1 = S1 + S0X1 T2 = S2 + S1X2 T3 = S3 + S2X3 (7)
  • Wenn q gleich zwei ist, dann sind die Forney-Syndrome definiert als: T1 = S2 + (X1 + X2)S1 + X1X2S0 T2 = S3 + (X1 + X2)S2 + X1X2S1 (8)
  • Wenn q gleich drei ist, dann sind die Forney-Syndrome definiert als: T1 = S3 + (X1 + X2 + X3)S2 + (X1X2 + X2X3 + X3X1)S1 + X1X2X3S0 (9)
  • Unter der Bedingung, daß q gleich eins oder zwei ist, kann der Wert von p gemäß den folgenden Regeln bestimmt werden:
    • (1) Wenn die Forney-Syndrome alle gleich null sind, dann ist der Wert von p null.
    • (2) Wenn die Forney-Syndrome alle ungleich null sind, dann ist der Wert von p eins.
    • (3) Wenn mindestens eines der Forney-Syndrome gleich null und mindestens eines der Forney-Syndrome ungleich null ist, kann der Decoder kein Fehlerwort aus n Symbolen korrigieren.
  • Ferner, wenn q gleich drei ist und das Forney-Syndrom gleich null ist, dann kann der Decoder Fehlerworte aus n Symbolen korrigieren. Wenn q gleich drei ist und das Forney-Syndrom ungleich null ist, kann der Decoder keine Fehler aus n Symbolen korrigieren.
  • Wenn p gleich eins ist, können die Orte von unbekannten Fehlerworten mit den folgenden Gleichungen bestimmt werden:
    wenn q = 1 und p = 1, dann
    Figure 00080001
    wenn q = 2 und p = 1, dann
    Figure 00080002
  • Aus den obigen Gleichungen (3) bis (11) kann der Wert von p nur bestimmt werden, wenn der Wert q ungleich null ist. In der Situation, daß q gleich null ist, wird der Wert von p durch Auswertung der folgenden Größen bestimmt:
    Figure 00090001
    • (1) Wenn die drei Größen alle gleich null sind, dann ist p gleich eins.
    • (2) Wenn die drei Größen alle ungleich null sind, dann ist p gleich 2.
    • (3) Wenn eine oder mehrere der Größen gleich null sind, und eine oder mehrere der Größen ungleich null sind, dann kann der Decoder die Fehler in n Symbolen nicht korrigieren.
  • In der Situation (1), d.h. q = 0 und p = 1:
    Figure 00090002
  • In der Situation (2), d.h. q = 0 und p = 2:
    Figure 00090003
  • Aus Gleichung (3) bis (13) können Xi und Yi durch drei Arten von Berechnung bestimmt werden, wie Addition, Multiplikation und Inversion, außer im Fall von (p,q) = (2,0). (Wenn q ungleich null ist, unter der Bedingung, daß i ≤ q, kann Xi erhalten werden, während die n Symbole importiert werden, und die Werte von Yi und li können mit der zusätzlichen Berechnung eines Logarithmus erhalten werden.)
  • Unter der Bedingung, daß p = 2 und q = 0, gibt es mehrere Wege, um mit Gleichung (14) und (15) für die Werte von X1 und X2 zu lösen. Beispielsweise besteht das konventionelle Verfahren darin, eine "Chien-Suche" ("Chien's Search") durchzuführen. Bei dem Verfahren unter Verwendung einer "Chien-Suche" wird X1 zunächst auf einen vorbestimmten Wert eingestellt, und der Wert von X1 + X2 wird als SUM eingestellt. Somit wird X2 = SUM – X1 aus Gleichung (14) erhalten. Danach werden X1 und X2 in Gleichung (15) eingesetzt. Wenn der Wert auf der linken Seite der Gleichung nicht gleich dem Wert auf der rechten Seite ist, wird X1 auf einen weiteren vorbestimmten Wert eingestellt, unter Bezugnahme auf den vorherigen Wert. Durch wiederholtes Einstellen des Wertes X1 , kann der Wert von X2 erhalten werden. Die Geschwindigkeit der Dekodierung ist aber sehr langsam für mehrere Wiederholungen der Berechnung, in welcher unterschiedliche Werte von X1 und X2 in dem Programmsteuer-Decoder auf Prozessorbasis eingesetzt werden. Das Verfahren beeinflußt daher das gesamte System negativ und ist für die Berechnung der tatsächlichen Werte von X1 und X2 nicht praktikabel.
  • Es ist daher eine Aufgabe der Erfindung, ein Verfahren zur Durchführung einer Fehlerdekodierung von digitalen Daten, welche einen Reed-Solomon-Code verwenden, zu schaffen, welches nützlich ist um korrekt und schnell die Werte und Orte von zwei Fehlern in digitalen Daten, welche als RSm(n,n-4) des Reed-Solomon-Codes definiert sind, zu dekodieren, durch eine Serie von Produktsummen-Arithmetikoperationen, unter Verwendung von Addition, Multiplikation, Division, Verschiebelogarithmus (shift-logarithm), und Ortung (location).
  • Eine weitere Aufgebe der Erfindung besteht darin, eine Vorrichtung zur Durchführung eines solchen Dekodierverfahrens zu schaffen.
  • Dies wird in Übereinstimmung mit der Erfindung dadurch gelöst, dass ein Fehlerdekodierverfahren gemäß Patentanspruch 1 zur Dekodierung von Syndromsignalen, welche Reed-Solomon-Codes verwenden, geschaffen wird, wobei die Reed-Solomon-Codes als RSm(n,k) definiert werden, m eine Zahl von Bits jedes Syndroms ist, n eine Länge von Reed-Solomon-Codes ist, und k eine Länge von Informationsworten in den Reed-Solomon-Codes ist, wobei die Reed-Solomon-Codes p Fehlerworte (error words) und q Löschungsworte (erasure words) umfassen, n ≤ (2m-1) und 2p + q ≤ d – 1, und wobei d der Hamming-Abstand ist. Das Fehlerdekodierverfahren beinhaltet die Dekodierung der Fehlerworte und Löschungsworte, die in jedem Syndromsignal existieren, und die Bestimmung der Zahlen p und q.
  • Zwei Gleichungen
    Figure 00110001
    werden für eine Berechnung des Orts bzw. der Ortung ausgewertet, wenn es zwei Fehlerworte und keine Löschungsworte in jedem Syndromsignal gibt, wobei die Syndromsignale, welche zwei Fehler haben, definiert sind als:
    Figure 00110002
    wobei
    Figure 00120001
    l1 und l2 die Orte von zwei Fehlerworten definieren, und Y1 und Y2 Werte der zwei Fehlerworte sind:
    l1 und l2 werden durch eine Berechnung des Logarithmus von
    Figure 00120002
    und einer Verschiebungsberechnung (calculation of shifting) ausgewertet;
    Y1 und Y2 werden durch eine Serie von Produkt/Summen-Arithmetikberechnungen gemäß
    Figure 00130001
    erhalten.
  • Wenn es bei dem oben erwähnten Fehlerdekodierverfahren keine Löschungsworte in den Syndromsignalen gibt, kann die Zahl p von Fehlerworten durch die drei Größen S1S1 + S0S2, S2S2 + S1S3 und S0S3 + S1S2 bestimmt werden. Wenn keine dieser drei Größen gleich null ist, dann ist p gleich eins. Wenn alle drei Größen gleich null sind, dann ist p gleich eins. Wenn mindestens eine der drei Größen gleich null und mindestens eine der drei Größen ungleich null ist, dann ist p nicht bestimmbar.
  • Ferner wird die Berechnung des Ortes (der Ortung) in dem oben erwähnten Fehlerdekodierverfahren durch Auswerten der folgenden Gleichung durchgeführt: αi + α-i → αi 1 ≤ i ≤ 2m – 1
  • Wenn es zwei Fehlerworte und keine Löschungsworte in jedem Syndromsignal gibt, dann :
    Figure 00130002
  • Daher können Orte l1 und l2 der Fehlerworte durch Berechnung des Ortes gemäß der folgenden Gleichungen bestimmt werden:
    Figure 00130003
    und l1 und l2 werden wir folgt bestimmt:
  • i
    wenn keine Verschiebung (kein shift)
    Figure 00140001
    wenn Verschiebung (shift) und i geradzahlig
    Figure 00140002
    wenn Verschiebung (shift) und i ungeradzahlig.
  • Ferner kann das Fehlerdekodierverfahren gemäß der Erfindung durchgeführt werden, indem eine Vorrichtung zum Dekodieren. von Fehlerworten und Löschungsworten gemäß Patentanspruch 7, welche in übertragenen Wortsignalen existieren, geschaffen wird, unter Verwendung von Reed-Solomon-Codes, welche von einem externen System bereitgestellt werden. Eine solche Vorrichtung würde einen Syndrom-Generator enthalten, welcher mit dem externen System zu koppeln wäre, zum Empfangen der von dort übertragenen Wortsignale, und zum Erzeugen von Syndromsignalen.
  • Ein Löschungszähler (erasure counter) sollte mit dem externen System gekoppelt sein, zum Empfangen der Löschungsworte. Ein in dem Löschungszähler gespeicherter Löschungszählwert wird jedesmal, dass ein Löschungswort erfasst wird, um eins inkrementiert.
  • Register sind mit dem Syndrom-Generator gekoppelt und sollten mit dem externen System gekoppelt sein, um die Syndromsignale und Löschungsworte zu empfangen, und um die Syndromsignale und Löschungsworte an vorbestimmten Orten zu speichern. Eine Arithmetiklogikschaltung (ALU) ist mit den Registern gekoppelt, um die Syndromsignale und die Löschungsworte, die in den Registern gespeichert sind, zu lesen, und um eine vorbestimmte Operation durchzuführen, um den Registern ein Rückkoppelsignal bereitzustellen, und um ein Deduktivsignal (deductive signal) zu erzeugen.
  • Ein Komparator ist mit der Arithmetiklogikschaltung gekoppelt, um das Deduktivsignal zu empfangen, eine Vergleichsoperation durchzuführen, und dann ein Vergleichssignal auszugeben. Ein Programm-Controller (Programmsteuervorrichtung) ist mit dem Komparator und dem Löschungszähler gekoppelt, um das Vergleichssignal aus dem Komparator zu empfangen, den in dem Löschungszähler gespeicherten Löschungszählwert zu lesen und ein Programmsteuersignal auszugeben. Ein Programmzähler (program counter) ist mit dem Programm-Controller gekoppelt, um das Programmsteuersignal zu empfangen, wobei er darauf ansprechend ein Programmzählsignal erzeugt und auch ein Rückkoppelsignal an den Programm-Controller ausgibt. Ansprechend auf den Empfang des Rückkoppelsignals verändert der Programm-Controller das Programmsteuersignal.
  • Ein Interpretierer (interpreter) ist mit dem Programmzähler gekoppelt, um das Programmzählsignal zu empfangen, und gibt darauf ansprechend ein Registeradress-Signal und ein ALU-Freigabesignal (ALU enable signal) aus. Die Arithmetiklogikschaltung (ALU) liest die Syndromsignale und liest auch die in den Registern gespeicherten Löschungsworte, gemäß des Registeradress-Signals, um die Fehlerworte in den übertragenen Wortsignalen zu dekodieren.
  • Darüber hinaus enthält die Arithmetiklogikschaltung einen Inverter, eine Multiplizier-Addier-Schaltung, eine Schiebe-Logarithmus-Schaltung (shift-logarithm circuit) zur Durchführung von Schiebe-(shift) und Logarithmus-Berechnungen, und einen Orter (locator) zur Durchführung der Ortungsberechnung. Der Inverter führt eine Invertier-Berechnung mit den Syndromsignalen durch, und die Multiplizier-Addier-Schaltung führt eine Additions-Berechnung und eine Multiplikations-Berechnung mit den Syndromsignalen durch. Die Schiebe-Logarithmus-Schaltung führt eine logarithmische Berechnung der Syndromsignale durch, und eine Verschiebungsberechnung (shift calculation) mit dem Ergebnis der logarithmischen Berechnung durch, gemäß dem ALU-Freigabesignal. Der Orter führt eine Ortungsberechnung durch.
  • Das Verfahren wird in der Arithmetiklogikschaltung selektiv durchgeführt, indem der Inverter, die Multiplizier-Addier-Schaltung, die Schiebe-Logarithmus-Schaltung und der Orter betätigt werden, um das Rückkoppelsignal und das Deduktivsignal zu erzeugen.
  • Weitere Aufgaben, Merkmale und Vorteile der Erfindung gehen aus der folgenden, ausführlichen Beschreibung der bevorzugten aber nicht beschränkenden Ausführung hervor, unter Bezugnahme auf die begleitenden Zeichnungen, in welchen:
  • 1 ein Schaltungs-Blockdiagramm der bevorzugten Ausführung der Decodervorrichtung gemäß der Erfindung ist;
  • 2 ein Schaltungs-Blockdiagramm der Schiebe-Logarithmus-Schaltung in der bevorzugten Ausführung ist;
  • 3 ein Flußdiagramm der bevorzugten Ausführung des Dekodierverfahrens gemäß der Erfindung ist.
  • In 1 umfaßt eine Dekodiervorrichtung 200 gemäß der bevorzugten Ausführung der Erfindung einen Syndrom-Generator 210, Register 220, eine Arithmetiklogikschaltung 230, einen Interpretierer 240, einen Komparator 250, einen Programmzähler 260, einen Programm-Controller 270 und einen Löschungszähler (erasure counter) 280. Die Arithmetiklogikschaltung 230 enthält einen Inverter 232, eine Multiplizier-Addier-Schaltung 234, eine Schiebe-Logarithmus-Schaltung 236 und eine Ortungsschaltung 238.
  • Wenn ein externes System 100 damit beginnt, Signale zu übertragen, werden übertragene Wortsignale an den Syndrom-Generator 210 über eine Leitung 10 übertragen, und Löschungswortsignale werden über eine Leitung 32 an die Register 220 und den Löschungszähler 280 übertragen. Der Syndrom-Generator 210 erzeugt Syndromsignale aus den übertragenen Wortsignalen gemäß dem Format von RS-Codes. Syndromsignale werden über eine Leitung 12 an die Register 220 ausgegeben. Die Register 220 speichern vorübergehend jedes Syndromsignal und Löschungswortsignal in entsprechenden Adressen in vorbestimmten Registern. Jedesmal, daß der Löschungszähler 280 ein Löschungswortsignal über die Leitung 32 empfängt, wird ein Löschungszählwert, welcher in dem Löschungszähler 280 gespeichert ist, um eins inkrementiert, um die Summe aller Löschungswortsignale zu zählen. Der Löschungszählwert wird über ein Leitung 34 an den Programm-Controller 270 übertragen.
  • Wenn die Vorrichtung 200 freigegeben ist, empfängt die Arithmetiklogikschaltung 230 Syndromsignale und Löschungswortsignale, welche in den Registern 220 gespeichert sind, über die jeweilige Leitung 13, 14 und 15. Nach einer Serie von selektiven Berechnungen in der Arithmetiklogikschaltung 230, wird auf Leitung 16 ein Rückkoppelsignal an die Register 220 ausgegeben, wo es an einem vorbestimmten Ort gespeichert wird. Gleichzeitig wird ein Deduktivsignal an den Komparator 250 für eine Vergleichsberechnungausgegeben. Danach wird ein Vergleichssignal auf Leitung 22 an einen Programm-Controller 270 ausgegeben.
  • Auf der Grundlage der Ausgabe des Komparators 250, des Löschungszählwerts aus dem Löschungszähler 280, und des in dem Programmzähler 260 gespeicherten Programmzählwerts, bestimmt der Programm-Controller 270 ob die Programmadresse springen (jump) sollte oder nicht, und wenn sie sollte, zu welcher Adresse sie springen sollte. Auf der Grundlage der Bestimmung wird ein Programmsteuersignal aus dem Programm-Controller 270 über eine Leitung 28 an den Programmzähler 260 ausgegeben. Wenn der Programmzähler 260 das Programmsteuersignal empfängt, wird ein Programmzählsignal über eine Leitung 24 an den Interpretierer 240 ausgegeben. Gleichzeitig verändert der Programmzähler 260 den Programmzählwert, und gibt dann auf Leitung 26 den modifizierten Wert als Rückkopplung an den Programm-Controller 270 aus, um als Referenz für die Verschiebung (shifting) des Programm-Controller 270 zu dienen.
  • Der Interpretierer 240 gibt auf Leitung 20 Registeradress-Signale aus, und auf Leitung 30 ein Freigabesignal, jeweils an die Register 220 und die Arithmetiklogikschaltung 230, während des Empfangs des Programmzählsignals aus dem Programmzähler 260. Die Arithmetiklogikschaltung 230 liest die entsprechend den Registeradress-Signalen gespeicherten Werte während des Empfangs des Freigabesignals. Durch die von der Arithmetiklogikschaltung 230 ausgeführte Deduktivfunktion, können der Wert und der Ort von Fehlerworten, die in den übertragenen Wortsignalen auftreten, bestimmt werden.
  • Zum Zwecke der Durchführung der Deduktivfunktion umfaßt die Arithmetiklogikschaltung 230 den Inverter 232, die Multiplizier-Addier-Schaltung 234, die Schiebe-Logarithmus-Schaltung 236 und den Orter 238. Der Inverter 232 führt eine Invertierungsberechung mit dem ALU-Eingabewert durch. Die Multiplizier-Addier-Schaltung 234 führt eine Additions- und Multiplikations-Berechnung mit den ALU-Eingabewerten durch. Die Schiebe-Logarithmus-Schaltung 236 führt eine logarithmische Berechnung mit den ALU-Eingabewerten durch, und führt eine Verschiebungsberechnung (Shift-Berechnung) mit den ALU-Eingabewerten auf der Grundlage des Ergebnisses der Logarithmus-Berechnung durch, gemäß dem Freigabesignal. Der Orter 238 führt eine Berechnung des Orters durch.
  • In 2 enthält die Schiebe-Logarithmus-Schaltung 236 einen Logarithmusberechner 410 und einen Multiplexer 420. Bei der Berechnung von Daten wird beispielsweise ein ALU-Eingabewert über eine Leitung 402 an den Logarithmusberechner 410 übertragen, und daraus werden verschobene (geshiftete) Syndromsignale und unverschobene (ungeshiftete) Syndromsignale an den Multiplexer 420 jeweils über Leitungen 412 und 414 ausgegeben, beispielsweise als b0, b2 m -1, b2 m -2 ,..., b1 und b2 m -1, b2 m -2,..., b0. Wenn der Multiplexer 420 diese Signale empfängt und durch das Freigabesignal (Verschiebungsshift) über Leitung 422 freigegeben ist (enabled), gibt der Multiplexer 420 das Berechnungsergebnis über Leitung 424 aus.
  • Der von der Schiebe-Logarithmus-Schaltung 236 ausgeführte Verschiebelogarithmus (shift-logarithm) ist im folgenden spezifiziert:
  • i
    wenn keine Verschiebung (shift)
    Figure 00190001
    wenn Verschiebung (shift) und i (16) geradzahlig
    Figure 00190002
    wenn
    Verschiebung und i ungeradzahlig
  • Das Berechnungsverfahren der Ortung ist: αi + α-i → αi 1 ≤ i ≤ 2m-1 (17)
  • Wenn Wortsignale übertragen werden, führt die Vorrichtung 200 zum Dekodieren von Fehlerworten und Löschungsworten einige anfängliche Tätigkeiten durch. Dies bedeutet, daß zunächst die in zwei der Register 220 gespeicherten Werte jeweils als αn und α-1 eingestellt werden, und diese zwei Register als r1 und r2 definiert werden. Der Wert des Registers r1 ist daher an, und der Wert des Register r2 ist α-1. Wenn das erste übertragene Wortsignal an die Vorrichtung 200 übertragen wird, wird der Wert des Registers r1 durch α-1 multipliziert, und dann wird der Wert des Registers r1 durch r1x α-1 ersetzt. Das bedeutet, daß wenn das Syndromsignal das L-te Signal in übertragenen Daten ist, der Wert des Registers r1 auf αn-L eingestellt wird. Immer wenn das Löschungswortsignal keine logische „0" ist, wird der Wert von r1 in irgendeinem geeigneten Register der Register 220 gespeichert. Dann kann die Definition Xi = αli durchgeführt werden, ohne die Berechnung von Mehrfachpotenzen, d.h. Potenzen höher als 2. Diese Prozedur vermag die Komplexität der Schaltung zu vermindern.
  • Bislang war ein RS-Decoder in der Lage zwei Fehler mit einer Programmsteuerstruktur auf Prozessorbasis zu korrigieren, wie oben erwähnt. Eine Programmsteuerstruktur auf Prozessorbasis ist jedoch nicht praktisch, da die Berechnungsformeln sehr komplex werden, wenn ein RS-Decoder mehr als zwei Fehler lösen muß. Daher steht ein Decoder, welcher zwei in RS-Codes auftretende Fehler korrigieren kann, im Einklang mit einem echten Bedürfnis.
  • Fehler (errors) und Löschungen (erasures) können durch die obigen Gleichungen (3) bis (10) korrigiert werden, wenn (p,q) = (0,1), (0,2), (0,3), (0,4), (1,1) oder (1,2), aber nicht für die Situation p = 2 und q = 0. Wenn (p,q) = (1,0), können die Fehler auch durch Gleichung (13) bestimmt werden. Der Wert von (Xi,Yi) kann durch oben erwähnte Berechnungen der Addition, Subtraktion und Inversion bestimmt werden, und der Wert des Ortes li von Yi kann ebenfalls bestimmt werden.
  • Die Gleichungen (14) und (15) können auch gelöst werden, wenn p = 2 und q = 0:
    Figure 00220001
  • Gemäß der konventionellen Berechnungsverfahren wird beispielsweise eine Chien-Suche durchgeführt, bei welcher die Berechnungsformeln sehr komplex und zeitraubend sind. Die Erfindung kann die Fehler mit den neuen Berechnungsverfahren des Ortes (der Ortung) und des Verschiebungslogarithmus (shiftlogarithm) decodieren. Das Teilen der Gleichung (14) durch die Gleichung (15) schafft die folgende Gleichung (18):
    Figure 00220002
  • Das Berechnungsverfahren des Ortes ist: αi + α-i → αi 1 ≤ i < 2m-1 (17)
  • Die folgende Gleichung wird durch das Verfahren der Ortung erhalten:
    Figure 00220003
  • Das Multiplizieren der Gleichung (15) durch die Gleichung (19) schafft die folgende Gleichung:
    Figure 00220004
  • Der Wert von l2 wird auf die gleiche Weise erhalten, wie durch die Schiebe-Logarithmus-Berechnung der Gleichung (16).
  • Durch dieses Verfahren werden die Werte von X1 2 und X2 2 erhalten. Um nach dem Wert Y2 durch Gleichung (5) zu lösen, ist es notwendig folgendermaßen zu berechnen: i → αi um die Werte von X1 und X2 zu ermitteln.
  • Die Gleichung (5) wird neu definiert, um die Berechnung von αi aus i zu umgehen, und nach dem Wert Y2 zu lösen:
    Figure 00230001
  • In dem Flußdiagramm der 3, wenn alle übertragenen Worte in den Decoder eingegeben worden sind, wenn alle Syndromsignale null sind, wie in Schritt 310 bestimmt, bedeutet dies natürlich, daß die übertragenen Worte keine Fehlerworte haben, und in dem folgenden Schritt, Schritt 340, wird der Dekodiervorgang beendet. Wenn alle Syndromsignale nicht null sind, dann wird in einem Schritt 312 der in dem Löschungszähler 280 gespeicherte Löschungszählwert getestet. Wenn der Löschungszählwert 1, 2 oder 3 ist, verzweigt sich der Fluß nach links, wo eine Bestimmung darüber durchgeführt wird, ob es ein Fehlerwort gibt oder nicht, unter getrennter Verwendung der Forney-Syndromformeln gemäß Schritt 314, Schritt 316, bzw. 318.
  • Beispielsweise, wenn der Löschungszählwert in Schritt 318 gleich 1 ist, werden die Forney-Syndromformeln der Gleichung (7) ausgewertet. In Schritt 316, wenn der Löschungszählwert gleich 2 ist, werden die Forney-Syndromformeln der Gleichung (8) ausgewertet. In Schritt 314, wenn der Löschungszählwert gleich 3 ist, wird die Forney-Syndromformel der Gleichung (9) ausgewertet. Nach einem der oben erwähnten Schritte werden die Werte von Xi erhalten, wie X3 in Schritt 320 und X2 in Schritt 322.
  • Wenn der Löschungszählwert gleich 4 ist, dann wird in Schritt 324 der Wert von Y4 gemäß Gleichung (3) erhalten, und die Werte von S2, S1 und So werden gemäß dem Wert von Y4 aktualisiert. In Schritt 326 wird der Wert Y3 direkt gemäß Gleichung (4) erhalten, und auf der Grundlage dieses Wertes von Y3 werden die Werte von S2 und So aktualisiert. Und dann, in Schritt 328, wird der Y2 durch Gleichung (20) erhalten, und auf der Grundlage dieses Wertes von Y2 wird der Wert von So aktualisiert. Dann, in Schritt 333, wird der Wert von Y1 mit der Gleichung (6) erhalten.
  • Das Verfahren zur Berechnung des Wertes von Yi wird durch die Ersetzung (Einsetzung) des Maximalwertes „i" eingeleitet. Der berechnete Wert Yi(max) kann als ein bekanntes Fehlerwort genommen werden, und das Fehlerwort kann als aus dem übertragenen Worten herausgenommen angesehen werden. Neue Werte von Si werden durch ein um Gleichung (2) ergänztes Verfahren erhalten.
  • Wenn beispielsweise der Wert von Y4 bekannt ist, dann sind die neuen Werte Si: S0 ← S0 + Y4 S1 ← S0 + Y4X4 S2 ← S2 + Y4X4 2
  • Jeder Wert von Yi kann entsprechend jedem Xi erhalten werden.
  • Auf die gleich Weise, wenn der Löschungszählwert gleich 3 ist, dann, wenn in Schritt 314 das Forney-Syndrom T1 gemäß Gleichung (9) berechnet und überprüft wird und das Ergebnis nicht 0 ist, was bedeutet, daß die Fehler nicht dekodiert werden können, führt dies zur Beendigung der Dekodierung in Schritt 342. Wenn das Syndrom T1 null ist, dann verzweigt sich der Fluß von Entscheidungsschritt 314, und die Werte von Y1, Y2 und Y3 werden getrennt in Schritt 326, Schritt 328 und Schritt 330 berechnet, wir bereits beschrieben.
  • Wenn der Löschungszählwert gleich 2 ist, dann werden in Entscheidungsschritt 316 die Werte der Forney-Syndrome T1 und T2 gemäß Gleichung (8) berechnet und überprüft. Wenn T1 oder T2, aber nicht beide gleich null sind, dann wird der Fluß in Schritt 342 beendet. Wenn T1 und T2 beide gleich 0 sind, dann verzweigt sich der Prozeßfluß, und die Werte von Y1 und Y2 werden getrennt in Schritt 328 und Schritt 330 erhalten, wie bereits beschrieben.
  • Wenn der Löschungszählwert gleich 1 ist, wird der Entscheidungsschritt 318 durchgeführt, um die Forney-Syndromgleichungen (7) für T1, T2 und T3 zu berechnen und zu überprüfen. Wenn mindestens eine, aber nicht alle der T1, T2 und T3 gleich null sind, kann keine Dekodierung durchgeführt werden, was die Beendigung des Dekodierens durch Schritt 342 bewirkt. Wenn T1, T2 und T3 alle gleich null sind, dann wird der Wert von Y1 in Schritt 313 erhalten, wie bereits beschrieben.
  • Wenn die Werte Yi gemäß der Serie der oben beschriebenen Schritte bestimmt werden, werden die entsprechenden Orte li, welche Yi (die Werte von li werden durch die Schiebe-Logarithmus-Operation mit Xi erhalten, wie oben beschrieben). In dem folgenden Schritt 332 wird beurteilt ob li sich im korrekten Bereich befindet oder nicht. Da die Summe der eingegebenen Syndromsignale n ist, muß der Wert von li im Bereich von 0 bis n-1 liegen. Wenn li sich außerhalb des korrekten Bereichs befindet, ist die Dekodierung nicht möglich und wird bei Block 342 angehalten.
  • Wenn der Löschungszählwert gleich 0 ist, kann die Dekodierung auf eine ähnlich Weise wie in den bereits beschriebenen Schritten vollendet werden. Der Fluß verzweigt sich von Entscheidungsblock 312 zu Schritt 334, bei welchem die Zahl von Fehlerworten gemäß Gleichung (12) berechnet wird. Wenn einige, d.h. eine oder mehrere, aber nicht alle in Gleichung (12) berechneten Größen gleich null sind, ist die Dekodierung nicht lösbar, und die Dekodierung wird bei Block 340 beendet. Wenn keine der mit Gleichung (12) berechneten Größen gleich 0 ist, d.h. p = 2, werden die Werte von X1 2 und X2 2 gemäß der Gleichungen (14) bis (19) berechnet, und dann Y2 berechnet und S0 aktualisiert, jeweils in den Schritten 336 und 328. Wenn die mit Gleichung (12) berechneten Größen alle gleich null sind, d.h. p = 1, wird der Wert von X1 in Schritt 338 berechnet, und der Wert von Y1 in Schritt 330 berechnet. Der Test in Schritt 332 wird dann durchgeführt, um den korrekten Bereich zu überprüfen, wie bereits beschrieben.
  • Zusammenfassend schafft die Erfindung ein neues Verfahren zur Dekodierung von RS-Codes, deren Hamming-Abstand gleich 5 ist, durch Verwenden des Programms zum Steuern des Teilens (sharing) von Information in der auf Verarbeitung basierenden Struktur, und durch Verwenden der Berechnung des Orts (der Ortung), um die redundante Berechnung einer Chien-Suche zu vermeiden. Es ist wichtig, daß die Arithmetiklogikeinheit somit sehr einfach wird, ohne die Notwendigkeit zur Berechnung von Potenzen. Nur die folgenden vier Berechnungsarten sind erforderlich:
    Inversionsberechnung:
    Figure 00260001

    Multiplikations-Additions-Berechnung: a,b,c → a·b + c
    Schiebe-Logarithmus-Berechnung: siehe Gleichung (16)
    Ortsberechnung: siehe Gleichung (17)
  • Bezüglich eines verkürzten RS-Codes n ≠ 2m, kann die Hardware der Schiebe-Logarithmus-Schaltung und des Orters in der Arithmetiklogikschaltung 230 weiter vereinfacht werden. Zunächst kann die Schiebe-Logarithmus-Schaltung den Wert von li unter Verwendung von Xi und Xi 2 berechnen. Dies hat nur dann eine Bedeutung, wenn li sich im Bereich von 0 bis n-1 befindet, und die Dekodierung kann nicht abgeschlossen werden, wenn li sich außerhalb des Bereiches befindet. Daher entspricht die Logarithmustabelle (nicht abgebildet) in der Schiebe-Logarithmus-Schaltung 236 der 1 nur 0 bis 2n-1. Wenn der eingegebene Wert sich außerhalb des gültigen Bereichs befindet, gibt die Schiebe-Logarithmus-Schaltung einen Fehlerflag (error flag) aus.
  • Bezüglich des Orters 238, da (l1-l2) sich im Bereich von 1 bis n-1 (wenn l1 > l2) befindet, gemäß Gleichung (17), muß sich der Ausgabewert des Orters 238 in dem Bereich von 1 bis 2m-1 befinden. Daher kann die Berechnung des Orts in dem Bereich von 1 bis Max(2m-1,n-1) durchgeführt werden. Befindet sich der Wert außerhalb dieses Bereichs, wird ein Fehlerflag ausgegeben, um anzuzeigen, daß der Decoder keine Fehlerworte korrigieren kann, d.h. der Code nicht lösbar ist.
  • Daher ist in der bevorzugten Ausführung mit dem Decoder, welcher RS-Codes erfaßt, deren Hamming-Abstand 5 ist, die Berechnung von Potenzen nicht erforderlich. Dies erlaubt eine Vereinfachung der Arithmetiklogikschaltung. Sie muß nicht wiederholt komplexe Berechnungen durchführen wenn es zwei Fehlerworte und kein Löschungswort gibt. Daher wird die Dekodiergeschwindigkeit erhöht. Darüber hinaus schafft die Erfindung eine bedeutende Verbesserung in Gebieten, welche die Dekodierung von RS-Codes betreffen.

Claims (9)

  1. Fehlerdekodierverfahren für Reed-Solomon-Codes, wobei die Reed-Solomon-Codes als RSm(n,k) definiert sind, m eine Zahl von Bits jedes Syndromsignals ist, n eine Länge der Reed-Solomon-Codes ist, k eine Länge von Informationsworten in den Reed-Solomon-Codes ist, und die Reed-Solomon-Codes p Fehlerworte und q Löschungsworte umfassen, und wobei n ≤ (2m-1) und 2p + q ≤ d – 1, und d ein Hamming-Abstand der Reed-Solomon-Codes ist, wobei dieses Fehlerdekodierverfahren die Schritte umfasst: (a) Dekodieren der Syndrome, Erhalten der Fehlerworte und Löschungsworte daraus, welche in jedem der Syndromsignale existieren, und Bestimmen der Zahl von p und q für jedes der Syndrome; (b) Erhalten von X1 2 und X2 2 durch eine Berechnung des Orts, wenn es zwei Fehlerworte und keine Löschungsworte in jedem der Syndrome gibt, wobei die Syndrome, welche zwei Fehler haben, definiert sind als:
    Figure 00280001
    wobei Y1 und Y2 Werte der zwei Fehlerworte sind; (c) Erhalten erster und zweiter Fehlerorte l1 und l2 gemäß X1 2
    Figure 00290001
    durch Ausführen von Logarithmus- und Verschiebungsoperationen, wobei 11 und 12 die Orte der zwei Fehlerworte definieren; und (d) Erhalten von Y1 und Y2 durch Ausführen einer Serie von Produktsummen-Arithmetikoperationen gemäß X1, X2 und SK.
  2. Fehlerdekodierverfahren nach Anspruch 1, gekennzeichnet durch: Bestimmen von Werten SA, SB und SC durch Auswerten der folgenden drei Gleichungen, wenn es keine Löschungsworte in den Syndromen gibt: SA = S1S1 + S0S2 SB = S2S2 + S1S3 SC = S0S3 + S1S2 und dann: bestimmen, dass p gleich 1 ist, wenn SA, SB und SC alle gleich 0 sind, bestimmen, dass p gleich 2 ist, wenn keine der SA, SB und SC gleich 0 sind, und bestimmen, dass p nicht bestimmbar ist, wenn nur eines oder zwei der SA, SB und SC gleich 0 sind.
  3. Fehlerdekodierverfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Schritt (b) die folgende Berechnung des Orts beinhaltet: αi + α-i → αi 1 ≤ i ≤ 2m-1
  4. Fehlerdekodierverfahren nach Anspruch 3, dadurch gekennzeichnet, dass wenn p = 2 und q = 0, der Schritt (b) die Auswertung enthält:
    Figure 00300001
  5. Fehlerdekodierverfahren nach Anspruch 4, dadurch gekennzeichnet, dass Schritt (c) ferner die folgende Auswertung enthält: i wenn keine Verschiebung
    Figure 00300002
    wenn Verschiebung und i geradzahlig
    Figure 00300003
    wenn Verschiebung und i ungeradzahlig.
  6. Fehlerdekodierverfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Schritt (d) das Erhalten der Werte der zwei Fehlerworte Y1 und Y2 enthält, durch folgende Auswertung:
    Figure 00310001
    S0 ← S0 + Y2 Y1 = S0
  7. Vorrichtung zum Dekodieren von Fehlerworten und Löschungsworten, welche in übertragenen Wortsignalen existieren, die Reed-Solomon-Codes aus einem externen System verwenden, umfassend: (a) einen Syndrom-Generator zum Empfangen der übertragenen Wortsignale aus dem externen System und zum Erzeugen von Syndromsignalen; (b) einen Löschüngszähler, um die Löschungsworte aus dem externen System zu empfangen und den Löschungszählwert, welcher in dem Löschungszähler gespeichert ist, um eins zu inkrementieren, jedes Mal, wenn ein Löschungswort empfangen wird; (c) eine Registervorrichtung, welche mit dem Syndrom-Generator gekoppelt ist, um Syndromsignale aus dem Syndrom-Generator zu empfangen, und welche einen Eingang hat, um die Löschungsbits aus dem externen System zu empfangen, zur Speicherung der Syndromsignale und der Löschungsbits an vorbestimmten Orten; (d) eine Arithmetiklogikvorrichtung, welche mit der Registervorrichtung gekoppelt ist, zum Lesen der in der Registervorrichtung gespeicherten Werte, zur Durchführung einer deduktiven Operation, die Werte von Fehlerworten bestimmt, durch selektives Ausführen einer Inversion, Addition und Multiplikation oder logarithmischen Berechnung und einer Verschiebungsberechnung, und die die Orte der Fehlerworte bestimmt, zur Erzeugung eines ersten Rückkoppelsignals und eines Deduktivsignals, das den Wert und Ort von Fehlerworten enthält, und zur Bereitstellung des ersten Rückkoppelsignals an die Registervorrichtung; (e) einen Komparator, welcher mit der Arithmetiklogikvorrichtung gekoppelt ist, zum Empfangen des Deduktivsignals und zur Durchführung einer Vergleichsoperation zwischen dem Deduktivsignal und 0, um ein Vergleichssignal zu erzeugen; (f) eine Programmsteuervorrichtung, welche mit dem Komparator und dem Löschungszähler gekoppelt ist, um das Vergleichssignal aus dem Komparator zu empfangen und den in dem Löschungszähler gespeicherten Löschungszählwert zu lesen, und zum Ausgeben eines Programmsteuersignals auf der Grundlage, ob eine Programmadresse einen Sprung bewirkt oder nicht; (g) einen Programmzähler, welcher mit der Programmsteuervorrichtung gekoppelt ist, und auf das Programmsteuersignal anspricht, zur Erzeugung eines Programmzählsignals und eines zweiten Rückkoppelsignals, und zur Ausgabe des zweiten Rückkoppelsignals an die Programmsteuervorrichtung, wobei die Programmsteuervorrichtung auf das zweite Rückkoppelsignal anspricht, um selektiv das Programmsteuersignal zu verändern; und (h) einen Interpretierer, welcher mit dem Programmzähler gekoppelt ist und auf das Programmzählsignal anspricht, zur Erzeugung eines Registeradress-Signals und eines Freigabesignals, wobei der Interpretierer mit der Registervorrichtung gekoppelt ist, um dieser das Registeradress-Signal bereitzustellen, und mit der Arithmetiklogikvorrichtung gekoppelt ist, um dieser das Freigabesignal bereitzustellen, wobei die Arithmetiklogikvorrichtung auf das Freigabesignal anspricht, um die Syndromsignale und die Löschungsworte, welche in der Registervorrichtung gespeichert sind, gemäß des Registeradress-Signals zu lesen, um die Fehlerworte in den übertragenen Wortsignalen zu dekodieren.
  8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, dass die Arithmetiklogikvorrichtung enthält: einen Inverter zur Durchführung einer Inversionsberechnung mit den Syndromsignalen; eine Multiplizier-Addier-Vorrichtung zur Durchführung einer Additions-Berechnung und Multiplikations-Berechnung mit den Syndromsignalen; eine Schiebe-Logarithmus-Vorrichtung zur Durchführung einer logarithmischen Berechnung mit dem Syndromsignal, und zur Durchführung einer Verschiebungsberechnung mit einem Resultat der logarithmischen Berechnung, gemäß dem Freigabesignal; und eine Ortervorrichtung zur Durchführung einer Berechnung des Orts.
  9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass die deduktive Operation selektiv ausgeführt wird, indem der Inverter, die Multiplizier-Addier-Vorrichtung, die Schiebe-Logarithmus-Vorrichtung, und die Ortervorrichtung in der Arithmetiklogikvorrichtung betätigt werden, um das erste Rückkoppel-Algorithmussignal und das Deduktivsignal zu erzeugen.
DE19719654A 1996-09-30 1997-05-09 Fehlerdekodierverfahren und -vorrichtung für Reed-Solomon-Codes Expired - Fee Related DE19719654B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW085111911A TW311189B (en) 1996-09-30 1996-09-30 The error-corrected decoding method and its apparatus for Reed-Soloman code
TW85111911 1996-09-30

Publications (2)

Publication Number Publication Date
DE19719654A1 DE19719654A1 (de) 1998-04-09
DE19719654B4 true DE19719654B4 (de) 2008-05-08

Family

ID=21625465

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19719654A Expired - Fee Related DE19719654B4 (de) 1996-09-30 1997-05-09 Fehlerdekodierverfahren und -vorrichtung für Reed-Solomon-Codes

Country Status (5)

Country Link
US (1) US5944848A (de)
JP (1) JPH10112660A (de)
DE (1) DE19719654B4 (de)
FR (1) FR2754121B1 (de)
TW (1) TW311189B (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3233860B2 (ja) * 1996-10-25 2001-12-04 松下電器産業株式会社 リードソロモン復号器
US6412090B1 (en) * 1998-06-18 2002-06-25 Globespanvirata, Inc. Galois field computation system and method
US20080282128A1 (en) * 1999-08-04 2008-11-13 Super Talent Electronics, Inc. Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance
US6631172B1 (en) 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
TW468158B (en) * 2000-06-16 2001-12-11 Ali Corp Disc decoding method and system
US20040093790A1 (en) * 2002-02-28 2004-05-20 Baker Mark R. Combustion improvers for normally liquid fuels
KR20050114162A (ko) * 2004-05-31 2005-12-05 삼성전자주식회사 리드-솔로몬 부호를 사용하는 이동통신 시스템에서 내부및 외부 부호 복호 방법 및 그 장치
CN101253692B (zh) * 2005-09-01 2010-08-25 松下电器产业株式会社 错误纠正方法
KR100734294B1 (ko) * 2005-12-15 2007-07-02 삼성전자주식회사 결함 영역 검출/복구 방법 및 장치와 이를 이용한 디스크드라이브
US9762262B2 (en) * 2014-06-18 2017-09-12 Alcatel Lucent Hardware-efficient syndrome extraction for entangled quantum states

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677622A (en) * 1983-06-22 1987-06-30 Hitachi, Ltd. Error correction method and system
DE3719404C2 (de) * 1987-06-11 1989-05-11 Robert Bosch Gmbh, 7000 Stuttgart, De
JPH01136424A (ja) * 1987-11-23 1989-05-29 Hiroichi Okano 誤り訂正/誤り検出/消失誤り訂正を同時に行うリード・ソロモン符号の復号装置
US4852099A (en) * 1987-02-06 1989-07-25 Sony Corporation Error correction method using Reed-Solomon code
DE4140018A1 (de) * 1991-12-04 1993-06-09 Bts Broadcast Television Systems Gmbh, 6100 Darmstadt, De Verfahren und schaltungsanordnung zum decodieren von rs-codierten datensignalen

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4646303A (en) * 1983-10-05 1987-02-24 Nippon Gakki Seizo Kabushiki Kaisha Data error detection and correction circuit
JPH0812612B2 (ja) * 1983-10-31 1996-02-07 株式会社日立製作所 誤り訂正方法及び装置
ATE128585T1 (de) * 1983-12-20 1995-10-15 Sony Corp Verfahren und vorrichtung zur dekodierung eines fehlerkorrigierenden kodes.
NL8400630A (nl) * 1984-02-29 1985-09-16 Philips Nv Decodeerinrichting voor een stroom van codesymbolen die woordsgewijze beschermd zijn door een dubbele reed-solomon-code met een minimum hamming-afstand van 5 over de codesymbolen en een verbladeringsmechanisme tussen de beide codes, alsmede speler voorzien van zo een decodeerinrichting.
FR2582888B1 (fr) * 1985-05-30 1987-08-21 Dornstetter Jean Louis Procede de transmission, avec possibilite de correction de paquets d'erreurs, de messages d'information et dispositifs de codage et de decodage pour la mise en oeuvre de ce procede.
US5379305A (en) * 1992-07-20 1995-01-03 Digital Equipment Corporation Error correction system with selectable error correction capabilities
KR950002304B1 (ko) * 1992-10-07 1995-03-16 삼성전자주식회사 다중 오류정정 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677622A (en) * 1983-06-22 1987-06-30 Hitachi, Ltd. Error correction method and system
US4852099A (en) * 1987-02-06 1989-07-25 Sony Corporation Error correction method using Reed-Solomon code
DE3719404C2 (de) * 1987-06-11 1989-05-11 Robert Bosch Gmbh, 7000 Stuttgart, De
JPH01136424A (ja) * 1987-11-23 1989-05-29 Hiroichi Okano 誤り訂正/誤り検出/消失誤り訂正を同時に行うリード・ソロモン符号の復号装置
DE4140018A1 (de) * 1991-12-04 1993-06-09 Bts Broadcast Television Systems Gmbh, 6100 Darmstadt, De Verfahren und schaltungsanordnung zum decodieren von rs-codierten datensignalen

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP 01136424 AA

Also Published As

Publication number Publication date
US5944848A (en) 1999-08-31
TW311189B (en) 1997-07-21
JPH10112660A (ja) 1998-04-28
FR2754121A1 (fr) 1998-04-03
FR2754121B1 (fr) 2000-06-16
DE19719654A1 (de) 1998-04-09

Similar Documents

Publication Publication Date Title
DE3854939T2 (de) Bch-fehlerkorrekturkode-dekodierungsverfahren in echtzeitbetrieb
DE69424877T2 (de) Reed-solomon-dekoder
DE3854791T2 (de) Reed-Solomon Code verwendendes Fehler-Korrektur-Verfahren
DE3486471T2 (de) Verfahren und Vorrichtung zur Dekodierung eines Fehler-Korrektur-Code
DE69834542T2 (de) Hardwareoptimierter reed-solomon-decoder zur decodierung grosser datenblöcke
DE3382661T2 (de) Korrektur von fehlerbuendeln in datengruppen.
DE69919199T2 (de) Vorwärtsfehlerkorrektur
DE68920142T2 (de) Verfahren und Einrichtung zur Decodierung von wortgeschützten Codewörtern durch einen nichtbinären BCH-Code gegen mindestens einen Symbolfehler.
DE69117857T2 (de) Gerät und Verfahren zur Parallelgeneration von zyklischen redundanten Prüfungskoden
DE19719654B4 (de) Fehlerdekodierverfahren und -vorrichtung für Reed-Solomon-Codes
DE68921855T2 (de) Korrektur von Burst- und Zufallsfehlern.
DE2834963A1 (de) Verfahren und einrichtung zur fehlerkorrektur von uebertragenen daten
DE2060643B2 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE69834320T2 (de) Verfahren und Vorrichtung zur Folgeschätzung
DE3750526T2 (de) Dekodierer.
EP0545498B1 (de) Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen
DE19509728A1 (de) Fehlerkorrigierender Codierer, fehlerkorrigierender Decodierer und Datenübertragungssystem mit fehlerkorrigierenden Codes
DE102017125617B4 (de) Bestimmung und Verwendung von Bytefehlerpostionssignalen
DE69430519T2 (de) Verfahren und Gerät für einen Dekoder mit reduzierter Iteration
DE10105626B4 (de) Verfahren und System zur Berechnung von zyklischem Blockprüfungscode und Verfahren zum Erkennen eines Fehlers
DE3587670T2 (de) Verfahren und schaltung zur dekodierung von fehlercode-daten.
DE2503152A1 (de) Schaltungsanordnung zur erkennung von durch bauteilausfall verursachten fehlern in der multipliziereinheit eines datenverarbeitungssystems
DE69837784T2 (de) Verbessertes fünf-fehler-korrektursystem
DE2163621A1 (de) Schaltungsanordnung zur Durchführung der Fourier-Analyse
DE69430236T2 (de) Paritäts- und Syndromgenerator zur Fehler-Erkennung und -Korrektur in digitalen Übertragungssystemen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20141202