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

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

Info

Publication number
DE19719654A1
DE19719654A1 DE19719654A DE19719654A DE19719654A1 DE 19719654 A1 DE19719654 A1 DE 19719654A1 DE 19719654 A DE19719654 A DE 19719654A DE 19719654 A DE19719654 A DE 19719654A DE 19719654 A1 DE19719654 A1 DE 19719654A1
Authority
DE
Germany
Prior art keywords
error
signal
words
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.)
Granted
Application number
DE19719654A
Other languages
English (en)
Other versions
DE19719654B4 (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

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-Re­ chenoperationen, ohne eine Potenzberechnung.
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-De­ coder 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
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-α²) (x-α³)
Es kann angenommen werden, daß sich in den n Symbolen v Fehlerworte befinden, welche sich bei l₁, l₂, l₃, l₄, . . ., lv befinden, und deren Werte jeweils Y₁, Y₂, Y₃, Y₄, . . ., 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):
d. h. die Syndrome S₀, S₁, S₂, S₃ 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:
Wenn q = 3 und p = 0, dann:
Wenn q = 2 und p = 0, dann:
Wenn q = 1 und p = 0, dann:
Y₁ = S₀ (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:
T₁ = S₁+S₀X₁
T₂ = S₂+S₁X₂
T₃ = S₃+S₂X₃ (7)
Wenn q gleich zwei ist, dann sind die Forney-Syndrome definiert als
T₁ = S₂+(X₁+X₂)S₁+X₁X₂S₀
T₂ = S₃+(X₁+X₂)S₂+X₁X₂S₁ (8)
Wenn q gleich drei ist, dann sind die Forney-Syndrome definiert als:
T₁ = S₃+(X₁+X₂+X₃)S₂+(X₁X₂+X₂X₃+X₃X₁)S₁+X₁X₂X₃S₀ (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
wenn q = 2 und p = 1, dann
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:
SA = S₁S₁+S₀S₂
SB = S₂S₂+S₁S₃
SC = S₀S₃+S₁S₂ (12)
  • (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:
In der Situation (2), d. h. q = 0 und p = 2:
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 X₁ und X₂ 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 X₁ zunächst auf einen vorbestimmten Wert eingestellt, und der Wert von X₁+X₂ wird als SUM eingestellt. Somit wird X₂ = SUM-X₁ aus Gleichung (14) erhalten. Danach werden X₁ und X₂ in Gleichung (15) eingesetzt. Wenn der Wert auf der linken Seite der Gleichung nicht gleich dem Wert auf der rechten Seite ist, wird X₁ auf einen weiteren vorbestimmten Wert eingestellt, unter Bezugnahme auf den vorherigen Wert. Durch wiederholtes Einstellen des Wertes X₁, kann der Wert von X₂ erhalten werden. Die Geschwindigkeit der Dekodierung ist aber sehr langsam für mehrere Wiederholungen der Berechnung, in welcher unterschiedliche Werte von X₁ und X₂ in dem Programms teuer-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 X₁ und X₂ 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 Aufgabe der Erfindung besteht darin, eine Vorrichtung zur Durchführung eines solchen Dekodierverfahrens zu schaffen.
Dies wird in Übereinstimmung mit der Erfindung dadurch gelöst, daß ein Fehlerdekodierverfahren 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+qd-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 X₁² = α2l und X₂² = α2l 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:
wobei X₁ = αl, X₂ = αl, l₁ und l₂ die Orte von zwei Fehlerworten definieren, und Y₁ und Y₂ Werte der zwei Fehlerworte sind:
l₁ und l₂ werden durch eine Berechnung des Logarithmus von α2l und α2l und einer Verschiebungsberechnung (calculation of shifting) ausgewertet;
Y₁ und Y₂ werden durch eine Serie von Produkt/Summen-Arith­ metikberechnungen gemäß X₁² = α2l, X₂ = α2l 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 S₁S₁+S₀S₂, S₂S₂+S₁S₃ und S₀S₃+S₁S₂ 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:
Daher können Orte l₁ und l₂ der Fehlerworte durch Berechnung des Ortes gemäß der folgenden Gleichungen bestimmt werden:
X₁² = α2l
X₁² = α2l
und l₁ und l₂ werden wir folgt bestimmt:
i wenn keine Verschiebung (kein shift)
wenn Verschiebung (shift) und i geradzahlig
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, 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, daß ein Löschungswort erfaßt 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 Registeradreß-Signal und ein ALU-Frei­ gabesignal (ALU enable signal) aus. Die Arithmetiklogikschaltung (ALU) liest die Syndromsignale und liest auch die in den Registern gespeicherten Löschungsworte, gemäß des Registeradreß-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-Schal­ tung 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-Schal­ tung, 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:
Fig. 1 ein Schaltungs-Blockdiagramm der bevorzugten Ausführung der Decodervorrichtung gemäß der Erfindung ist;
Fig. 2 ein Schaltungs-Blockdiagramm der Schiebe- Logarithmus-Schaltung in der bevorzugten Ausführung ist;
Fig. 3 ein Flußdiagramm der bevorzugten Ausführung des Dekodierverfahrens gemäß der Erfindung ist.
In Fig. 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-Ge­ nerator 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 Vergleichsberechnung ausgegeben. 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 Registeradreß-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 Registeradreß-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-Schal­ tung 236 und den Orter 238. Der Inverter 232 führt eine Invertierungsberechnung 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-Ein­ gabewerten auf der Grundlage des Ergebnisses der Logarithmus-Berechnung durch, gemäß dem Freigabesignal. Der Orter 238 führt eine Berechnung des Orters durch.
In Fig. 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 b₀, b₂m -1, b₂m -2, . . ., b₁ und b₂m -1, b₂m -2, . . ., b₀. Wenn der Multiplexer 420 diese Signale empfängt und durch das Freigabesignal (Verschiebung = shift) ü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)
wenn Verschiebung (shift) und i geradzahlig
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 r₁ und r₂ definiert werden. Der Wert des Registers r₁ ist daher αn, und der Wert des Register r₂ ist α-1. Wenn das erste übertragene Wortsignal an die Vorrichtung 200 übertragen wird, wird der Wert des Registers r₁ durch α-1 multipliziert, und dann wird der Wert des Register r₁ durch r₁×α-1 ersetzt. Das bedeutet, daß wenn das Syndromsignal das L-te Signal in übertragenen Daten ist, der Wert des Registers r₁ auf αn×α-L eingestellt wird. Immer wenn das Löschungswortsignal keine logische "0" ist, wird der Wert von r₁ 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:
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 (shift-logarithm) decodieren. Das Teilen der Gleichung (14) durch die Gleichung (15) schafft die folgende Gleichung (17):
Das Berechnungsverfahren des Ortes ist:
αi-i → αi 1 i 2m-1 (19)
Die folgende Gleichung wird durch das Verfahren der Ortung erhalten:
Das Multiplizieren der Gleichung (15) durch die Gleichung (19) schafft die folgende Gleichung:
Der Wert von l₂ wird auf die gleiche Weise erhalten, wie durch die Schiebe-Logarithmus-Berechnung der Gleichung (16).
Durch dieses Verfahren werden die Werte von X₁² und X₂² erhalten. Um nach dem Wert Y₂ durch Gleichung (5) zu lösen, ist es notwendig folgendermaßen zu berechnen:
i → αi
um die Werte von X₁ und X₂ zu ermitteln.
Die Gleichung (5) wird neu definiert, um die Berechnung von αi aus i zu umgehen, und nach dem Wert Y₂ zu lösen:
In dem Flußdiagramm der Fig. 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 erhaltene wie X₃ in Schritt 320 und X₂ in Schritt 322.
Wenn der Löschungszählwert gleich 4 ist, dann wird in Schritt 324 der Wert von Y₄ gemäß Gleichung (3) erhalten, und die Werte von S₂, S1 und S₂ werden gemäß dem Wert von Y aktualisiert. In Schritt 326 wird der Wert Y₃ direkt gemäß Gleichung (4) erhalten, und auf der Grundlage dieses Wertes von Y₃ werden die Werte von S₂ und S₀ aktualisiert. Und dann, in Schritt 328, wird der Y₂ durch Gleichung (20) erhalten, und auf der Grundlage dieses Wertes von Y₂ wird der Wert von S₀ aktualisiert. Dann, in Schritt 333, wird der Wert von Y₁ 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 Y₄ bekannt ist, dann sind die neuen Werte Si:
S₀ ← S₀+Y₄
S₁ ← S₀+Y₄X₄
S₂ ← S₂+Y₄X₄²
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 T₁ 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 T₁ null ist, dann verzweigt sich der Fluß von Entscheidungsschritt 314, und die Werte von Y₁, Y₂ und Y₃ 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 T₁ und T₂ gemäß Gleichung (8) berechnet und überprüft. Wenn T₁ oder T₂, aber nicht beide gleich null sind, dann wird der Fluß in Schritt 342 beendet. Wenn T₁ und T₂ beide gleich 0 sind, dann verzweigt sich der Prozeßfluß, und die Werte von Y₁ und Y₂ 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-Syndrom­ gleichungen (7) für T₁, T₂ und T₃ zu berechnen und zu überprüfen. Wenn mindestens eine, aber nicht alle der T₁, T₂ und T₃ gleich null sind, kann keine Dekodierung durchgeführt werden, was die Beendigung des Dekodierens durch Schritt 342 bewirkt. Wenn T₁, T₂ und T₃ alle gleich null sind, dann wird der Wert von Y₁ 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-Lo­ garithmus-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 X₁² und X₂² gemäß der Gleichungen (14) bis (19) berechnet, und dann Y₂ berechnet und S₀ 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 X₁ in Schritt 338 berechnet, und der Wert von Y₁ 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:
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² 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-Lo­ garithmus-Schaltung 236 der Fig. 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 (l₁-l₂) sich im Bereich von 1 bis n-1 (wenn l₁<l₂) 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.
Während die Erfindung anhand eines Beispieles und mittels einer bevorzugten Ausführung beschrieben wurde, sollte verstanden werden, daß die Erfindung nicht auf die offenbarte Ausführung beschränkt ist. Im Gegenteil, es wird beabsichtigt, verschiedene Modifikationen und ähnliche Anordnungen abzudecken. Daher sollten dem Umfang der angehängten Ansprüche die breitest mögliche Interpretation zugestanden werden, um so alle solche Modifikationen und ähnliche Anordnungen einzuschließen.

Claims (10)

1. Fehlerdekodierverfahren zum Dekodieren von Syndromsignalen, welche Reed-Solomon-Codes verwenden, 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+qd-1, und d ein Hamming-Abstand der Reed-Solomon-Codes ist, wobei dieses Fehlerdekodierverfahren die Schritte umfaßt:
  • (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 erster und zweiter Fehlerorte aus den Gleichungen X₁² = α2l und X₂² = α2l 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: wobei X₁ = αl, X₂ = αl, l₁ und l₂ die Orte der zwei Fehlerworte definieren, und Y₁ und Y₂ Werte der zwei Fehlerworte sind;
  • (c) Erhalten von l₁ und l₂ gemäß α2l und α2l durch Ausführen von Logarithmus- und Verschiebungsoperationen; und
  • (d) Erhalten von Y₁ und Y₂ durch Ausführen einer Serie von Produktsummen-Arithmetikoperationen gemäß X²₁ = α2l, X²₂ = α2l.
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 = S₁S₁+S₀S₂
SB = S₂S₂+S₁S₃
SC = S₃S₃+S₁S₂
und dann:
bestimmen, daß p gleich 1 ist, wenn SA, SB und SC alle gleich 0 sind,
bestimmen, daß p gleich 2 ist, wenn keine der SA, SB und SC gleich 0 sind, und
bestimmen, daß p nicht bestimmbar ist, wenn nur eines oder zwei der SA, SB und SC gleich 0 sind.
3. Fehlerdekodierverfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt (b) die folgende Berechnung des Orts beinhaltet: αi-i → i 1 i 2m-1
4. Fehlerdekodierverfahren nach Anspruch 3, dadurch gekennzeichnet, daß wenn p = 2 und q = 0, der Schritt (b) die Auswertung enthält:
5. Fehlerdekodierverfahren nach Anspruch 4, dadurch gekennzeichnet, daß der Schritt (c) das Erhalten von l₁ und l₂ enthält, um die Orte der Fehlerworte zu bestimmen, durch folgende Auswertung: X₁² = α2l
X₂² = α2l
6. Fehlerdekodierverfahren nach Anspruch 5, dadurch gekennzeichnet, daß Schritt (c) ferner die folgende Auswertung enthält:
i wenn keine Verschiebung wenn Verschiebung und i geradzahlig wenn Verschiebung und i ungeradzahlig.
7. Fehlerdekodierverfahren nach Anspruch 6, dadurch gekennzeichnet, daß der Schritt (d) das Erhalten der Werte der zwei Fehlerworte Y₁ und Y₂ enthält, durch folgende Auswertung: S₀←S₀+Y₁
Y₁ = S₀
8. 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öschungszä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, jedesmal, daß 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 vorbestimmten Operation zur Erzeugung eines ersten Rückkoppelsignals und eines Deduktivsignals, 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, 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;
  • (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 Registeradreß-Signals und eines Freigabesignals, wobei der Interpretierer mit der Registervorrichtung gekoppelt ist, um dieser das Registeradreß-Signal bereitzustellen, und mit der Arithmetiklogikvorrichtung gekoppelt ist, um dieser das Freigabesignal bereit zustellen, wobei die Arithmetiklogikvorrichtung auf das Freigabesignal anspricht, um die Syndromsignale und die Löschungsworte, welche in der Registervorrichtung gespeichert sind, gemäß des Registeradreß-Signals zu lesen, um die Fehlerworte in den übertragenen Wortsignalen zu dekodieren.
9. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß 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.
10. Vorrichtung nach Anspruch 8, dadurch gekennzeichnet, daß die vorbestimmte 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
TW85111911 1996-09-30
TW085111911A TW311189B (en) 1996-09-30 1996-09-30 The error-corrected decoding method and its apparatus for Reed-Soloman code

Publications (2)

Publication Number Publication Date
DE19719654A1 true DE19719654A1 (de) 1998-04-09
DE19719654B4 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

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3483375D1 (de) * 1983-06-22 1990-11-15 Hitachi Ltd Verfahren und system zur fehlerkorrektur.
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 株式会社日立製作所 誤り訂正方法及び装置
EP0426657B1 (de) * 1983-12-20 1999-03-10 Sony Corporation Verfahren und Vorrichtung zur Dekodierung eines Fehler-Korrektur-Code
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.
JPS63193723A (ja) * 1987-02-06 1988-08-11 Sony Corp リ−ドソロモン符号の復号方法
DE3719404A1 (de) * 1987-06-11 1988-12-22 Bosch Gmbh Robert Verfahren und anordnung zur korrektur von fehlern in digitalen signalen
JP2775432B2 (ja) * 1987-11-23 1998-07-16 博一 岡野 誤り訂正/誤り検出/消失誤り訂正を同時に行うリード・ソロモン符号の復号装置
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
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 삼성전자주식회사 다중 오류정정 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2508706C2 (de) Schaltungsanordnung zur Codierung von Datenbitfolgen
DE10133595B4 (de) Pufferschaltung, Speicherzugriffsverfahren und Reed-Solomon-Decoder
DE69919199T2 (de) Vorwärtsfehlerkorrektur
DE69834542T2 (de) Hardwareoptimierter reed-solomon-decoder zur decodierung grosser datenblöcke
DE2060643B2 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE2834963A1 (de) Verfahren und einrichtung zur fehlerkorrektur von uebertragenen daten
JPH02503852A (ja) 多重パス誤り訂正プロセスと積符号のための装置
DE19719654A1 (de) Fehlerdekodierverfahren und -vorrichtung für Reed-Solomon-Codes
DE2914515A1 (de) Verfahren und vorrichtung fuer ein wirksames fehlerentdeckungs- und korrektursystem
EP0545498B1 (de) Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen
DE19922253A1 (de) Kodiervorrichtung für RAID-6-Systeme und Bandlaufwerke
DE102018131613A1 (de) Fehlererkennung mittels Gruppenfehler
DE2503152A1 (de) Schaltungsanordnung zur erkennung von durch bauteilausfall verursachten fehlern in der multipliziereinheit eines datenverarbeitungssystems
DE1959231A1 (de) Verfahren und Vorrichtung zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes
DE112018001951T5 (de) Fehlerkorrekturdecodieren mit verringerter latenz
EP0159403A2 (de) Anordnung zur Korrektur von Bündelfehlern in verkürzten zyklischen Blockcodes
DE102014105218A1 (de) Suchvorrichtung mit Verwendung von endlichen Automaten für Teilworte
DE69332937T2 (de) Korrekturverfahren für verlorengegangene Daten und Schaltung dafür
DE2222350B2 (de) Fehlerdiagnoseeinrichtung fuer eine zeichenerkennungsmaschine und verfahren zu deren betrieb
DE102021109391B3 (de) Multibytefehler-Erkennung
DE102010003144B4 (de) Decodiervorrichtung und Decodierverfahren
DE102015111729B4 (de) Verfahren und decoder zum bestimmen eines fehlervektors für ein datenwort gemäss einem reed-muller-code
DE69637427T2 (de) Verfahren und Gerät zur Erkennung doppelter Eintragungen in einer Nachschlagtabelle
DE60016648T2 (de) Fehlerkodierungsmethode
DE2300505A1 (de) Vorrichtung zur schwellwertdecodierung

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