DE3751958T2 - Fehlerkorrekturgerät - Google Patents

Fehlerkorrekturgerät

Info

Publication number
DE3751958T2
DE3751958T2 DE3751958T DE3751958T DE3751958T2 DE 3751958 T2 DE3751958 T2 DE 3751958T2 DE 3751958 T DE3751958 T DE 3751958T DE 3751958 T DE3751958 T DE 3751958T DE 3751958 T2 DE3751958 T2 DE 3751958T2
Authority
DE
Germany
Prior art keywords
circuit
error correction
correction
output
error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3751958T
Other languages
English (en)
Other versions
DE3751958D1 (de
Inventor
Keiichi C/O Canon Kabushiki Kaisha Ohta-Ku Tokyo Iwamura
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.)
Canon Inc
Original Assignee
Canon Inc
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
Priority claimed from JP61232001A external-priority patent/JP2541938B2/ja
Priority claimed from JP61232008A external-priority patent/JP2566929B2/ja
Priority claimed from JP61232003A external-priority patent/JPH0783277B2/ja
Priority claimed from JP61232004A external-priority patent/JPS6386925A/ja
Priority claimed from JP61232005A external-priority patent/JPS6386926A/ja
Priority claimed from JP61232007A external-priority patent/JP2547744B2/ja
Priority claimed from JP61232006A external-priority patent/JP2823158B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Application granted granted Critical
Publication of DE3751958D1 publication Critical patent/DE3751958D1/de
Publication of DE3751958T2 publication Critical patent/DE3751958T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • 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
    • 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)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

    HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf das Gebiet der Fehlerkorrektur, die für eine Verringerung der Rate von auftretenden Fehlern im Übertragungspfad von einer Einrichtung, wie beispielsweise einer optischen Platteneinrichtung, einer opto-magnetischen Platteneinrichtung und dergleichen vorgesehen ist.
  • Insbesondere bezieht sich die Erfindung auf eine Fehlerkorrekturschaltung zur Verwendung in einer digitalen elektronischen Einrichtung, wie beispielsweise einer digitalen Audioeinrichtung, insbesondere einer Flag-Strategie-Einstellschaltung, die typischerweise eine BCH(Bose-Chaudhuri-Hocquenghem)-Kodier- und Dekodierschaltung zur Verwendung in der Fehlerkorrekturschaltung ist.
  • Noch genauer betrifft die Erfindung eine in der Bose-Chaudhuri- Hocquenghem (BCH)-Koedier- und Dekodierschaltung enthaltene Syndrom-Erzeugungsschaltung, insbesondere auf eine Unbekannt- Exponent / Vektor-Umwandlungsschaltung, Multiplikationsschaltung und Teilungsschaltung für eine Galoisfunktion. Der Begriff Galoisfunktion wird in dieser Beschreibung als ein Satz einer bestimmten Anzahl von Unbekannten verwendet, die mittels Addition, Subtraktion, Multiplikation und Division verarbeitet werden können und gewöhnlich als GF(q) bezeichnet werden, wobei q die Anzahl der Unbekannten darstellt.
  • Verwandter Stand der Technik
  • Bisher wurde das Fehlerkorrekturgerät der beschriebenen Art im allgemeinen entworfen, um ansprechend auf einen Fehlerkorrekturcode eines vorbestimmten Formats mit Faktoren, wie beispielsweise der Länge des Korrekturcodes, der Korrekturkapazität und Verschachtelung, zu funktionieren. Somit konnte das bekannte Fehlerkorrekturgerät nicht funktionieren, wenn der Korrekturcode mit einem anderen Format angelegt wurde und wenn eine Vielzahl von Blöcken von Korrekturcodes mit verschiedenen Formaten aufeinanderfolgend zugeführt wurden.
  • Optische Platten und opto-magnetische Platten werden gewöhnlich mit Sektorverwaltung gehandhabt. Der Sektor enthält nicht nur die einfachen Daten, sondern auch die Addreßdaten. Der Schutz dieser zwei Datenarten ist von großer Bedeutung. Herkömmlich wurden Fehlerkorrekturcodes, wie beispielsweise Reed-Solomon- Codes, als die Schutzeinrichtung zum Schutz des einfachen Datenteils verwendet, während ein Fehlererfassungscode, wie beispielsweise Zyklische Redundanzüberprüfungs (CRC)-Codes als Mittel zum Schutz der Addreßdaten verwendet wurden. Eine fehlerhafte Erkennung der Addreßdaten führt zu einem Fehler des gesamten Sektors. Daher hatte in den herkömmlichen Systemen die Erfassungsgenauigkeit einer größere Bedeutung als die Korrekturdurchführung, insoweit als die Addreßdaten betroffen sind. Somit wurde ein beliebiger Fehler bei den Addreßdaten mittels Überschreiben oder Wiederholen korrigiert. Es gibt einige Arten von Aufzeichnungsträgern, die eine Korrektur der Addreßdaten mittels Wiederholen, aber nicht mittels Überschreiben erlauben. Ein Beispiel für derartige Arten von Aufzeichnungsträgern ist die opto-magnetische Platte. Bei der Korrektur von Addreßdaten auf einem derartigen Aufzeichnungsträger ist es erforderlich, daß die Platte dreimal gedreht wird: nämlich die erste Umdrehung für das Löschen, die zweite Umdrehung für das Schreiben und die dritte Umdrehung für die Überprüfung, wobei jede Umdrehung eine Addreßerfassung erfordert. Als Folge davon wird die Anzahl der Wiederholungszyklen erhöht, was zu einer längeren Verzögerungszeit führt, insbesondere bei einem Träger mit einem größeren Anteil an auftretenden Fehlern. Es wäre möglich, einen Fehlerkorrekturcode zum Zweck der Korrektur von Addreßdaten zu verwenden. Im allgemeinen erfordert ein Fehlerkorrekturgerät jedoch einen viel komplizierteren Aufbau als ein Fehlererfassungsgerät. Wenn die Korrektur von Addreßdaten mittels eines Korrekturcodes durchzuführen ist, ist es erforderlich, ein Paar von Fehlerkorrekturgeräten zu verwenden: nämlich eines für die Korrektur von Addreßdaten und einer für die Korrektur von einfachen Daten.
  • THE THEORY OF ERROR CORRECTING CODES, geschrieben von F.J. Macwiliam und N.J.A. Sloan, veröffenlicht im Jahr 1978 von North Holland Publishing Company, U.S.A., schlägt einen CIRC (Cross-Interleaved Read Solomon Code = kreuzverschachtelter Lese-Solomon-Code), insbesondere eine zweistufige Dekodierung mit einer 2-Symbol Fehlerkorrektur-Fähigkeit, vor. Typische Beispiele der bei dieser zweitstufigen Dekodierung verwendeten Strategie sind wie folgt, wobei C1-Dekodierer und C2-Dekodierer die Dekodierer bezeichnen, die die Dekodierung früher bzw. später durchführen.
  • (1) Einfache Strategie
  • C1-Dekodierer ...1-Symbol Fehlerkorrektur
  • ...3-Symbol Fehlererfassung
  • ...C2-Dekodierer 1-Symbol Fehlerkorrektur
  • ...3-Symbol Fehlererfassung
  • (2) Super-Strategie
  • C1-Dekodierer ...2-Symbol Fehlerkorrektur
  • (Im Fall einer 2-Symbol Fehlerkorrektur wird ein Flag gesetzt)
  • C2-Dekodierer ...2-Symbol Fehlerkorrektur
  • Im Fall einer digitalen Audioausrüstung verursacht irgend ein Erfassungsfeheler ein Knackrauschen und ist daher kritisch. Jeder Fehler, der nicht korrigiert werden kann, kann jedoch mittels Interpolation bis zu einem Maß kompensiert werden, daß er die Audiowirkung im wesentlichen nicht beeinträchtigt, vorausgesetzt, daß der Fehler erfaßt wird. Daher ist es notwendig, die Fehlererfassungskapazität auf Kosten einer verringerten Fehlerkorrekturkapazität zu maximieren, wie in der vorstehend gezeigten einfachen Strategie (1).
  • Wenn die Kompensation beispielsweise durch Interpolation nicht wirkungsvoll ist, wird durch den C1-Dekodierer die 2-Symbol Fehlerkorrektur durchgeführt, wie im Fall der vorstehend erwähnten Super-Strategie (2). In diesem Fall wird das Flag gesetzt, um auch die Fehlererfassungskapazität zu vergrößern, um dadurch den Anteil der fehlerhaften Fehlererfassung zu verringern.
  • Somit ist es möglich, das Format für die Fehlererfassung durch ausgewähltes Wechseln der Strategie zu optimieren, auch wenn das Format sowohl in der vertikalen als auch in der horizontalen Richtung einen identischen Aufbau besitzt.
  • -Im folgenden wird eine Super-Strategie (2) unter der Annahme beschrieben, daß der C1-Dekodierer (32, 28) und der C2-Dekodierer (28, 24) verwendet werden.
  • i) C1-Dekodierer
  • Der folgende Ablauf wird entsprechend dem Beurteilungsergebnis des empfangenen Syndroms Sc1 durchgeführt.
  • (a) Sc1 = "0" T es wird keine Korrektur durchgeführt
  • ; Fc1 = 0
  • (b) Sc1 = "1" T es wird 1-Symbol fehlerkorrigiert
  • ; Fc1 = 0
  • (c) Sc1 = "2" T es wird 2-Symbol fehlerkorrigiert
  • ; Fc1 = 1
  • (d) Sc1 ≥ "3" T es wird keine Korrektur durchgeführt
  • ; Fc1 = 1
  • wobei
  • "n": n-Symbol Fehlersyndrom
  • Fc1: im C1-Dekodierer erzeugte und zum C2-Dekodierer gesendete Flag-Daten
  • Fc1 = 0 T kein Fehler
  • Fc1 = 1 T Möglichkeit des Einschlusses von irgendeinem Fehler
  • ii) C2-Dekodierer
  • Der folgende Ablauf wird entsprechend dem Beurteilungsergebnis des empfangenen Syndroms Sc2 und den Anzahlen und Positionen von Flags Fc1 vom C1-Dekodierer durchgeführt.
  • 15 (a) Sc2 = "0" T es wird keine Korrektur durchgeführt
  • ; Fc2 = 0
  • (b) Sc2 = "1" T 1-Symbol fehlerkorigiert
  • ; Fc2 = 0
  • (c) Sc1 = "2", Ncl ≤ 4; Lcl = 2
  • T 2-Symbol fehlerkorrigiert
  • ; Fc2 = 0
  • Ncl ≤ 3, Lcl = 1 oder Ncl ≤ 2, Lcl = 0
  • T es wird keine Korrektur durchgeführt
  • ; Fc2 = 1,
  • andere Fälle
  • T es wird keine Korrektur durchgeführt
  • ; Fc2 = Fc1
  • (d) Sc2 ≥ "3", Ncl ≤ 2
  • T es wird keine Korrektur durchgeführt
  • ; Fc2 = 1
  • andere Fälle
  • T es wird keine Korrektur durchgeführt
  • ; Fc2 = Fc1
  • wobei
  • Ncl: vom C2-Dekodierer empfangene Anzahl von Flags Fc1
  • Lcl: mit dem Fehlerort verbundene Anzahl von Flags Fc1
  • Fc2: im C2-Dekodierer erzeugtes Flag
  • Fc2 = 0 T kein Fehler
  • Fc2 = 1 T alle Fehler
  • Fc2 = Fc1 T im C1-Dekodierer erzeugte Flags werden kopiert
  • Das vorstehend beschriebene Prinzip wird anhand Fig. 2 genauer verständlich. Es wird erkennbar, daß die einfache Strategie die Strategie ist, bei der der C2-Dekodierer denselben Aufbau wie der in Fig. 2(1) gezeigte C1-Dekodierer besitzt.
  • Herkömmlich wird einmal, wie vorstehend beschrieben, die Flag- Strategie in jedem der C1- und C2-Dekodierer eingestellt und die derart eingestellte Strategie wird fixiert und kann nicht frei verändert oder angepaßt werden.
  • Es ist auch üblich, die Bose-Chaudhuri-Hocquenghem (BCH)-Kodierung mittels einer Teilungsschaltung unter Verwendung eines erzeugenden Polynoms und die Dekodierung mittels von Schaltungen mit jeweiligen Algorithmen, wie beispielsweise denen entsprechend dem Peterson-Verfahren oder Bharenkam-Massey-Verfahren, durchzuführen.
  • Somit verwendet das herkömmliche System verschiedene Schaltungen für die Kodierung und die Dekodierung. Es wurden Versuche unternommen, die Kodierung und Dekodierung unter mehrfacher Verwendung derselben Schaltung entsprechend beispielsweise einer Mikroprogrammierung durchzuführen. In einem derartigen Fall ist es jedoch erforderlich, daß eine feine Unterscheidung zwischen dem Kodiervorgang und dem Dekodiervorgang gemacht wird. Daher wird, wenn die Kodierung und die Dekodierung mittels derselben Schaltungsplatte oder desselben Bausteins durchgeführt werden, die Anzahl der Schaltungen oder die Kapazität des Nur- Lese-Speichers (ROM) unvermeidbar vergrößert. Dies verursacht zugleich, daß die Größe des Geräts, wie beispielsweise eines optischen Plattengeräts, unerwünschtermaßen vergrößert wird.
  • Die Syndromerzeugungsschaltung erzeugt in einer herkömmlichen Bose-Chaudhuri-Hocquenghem (BHC)-Kodier- oder -Dekodierschaltung das Syndrom S, wie durch die folgende Formel (2) dargestellt, auf den Empfang eines Worts J hin, das, wie in der folgenden Formel (1) gezeigt, als einen Term das Code-Wort I und als einen Term den Fehler E besitzt.
  • Nämlich wird im Falle einer Doppel-Fehlerkorrektur-Kodierung das Syndrom S als das Produkt der Überprüfungsmatrix H und des empfangenen Worts J, wie durch die Formel (2) gezeigt, erzeugt.
  • wobei n die Codelänge, H die Überprüfungsmatrix, J die Codelänge, S das Syndrom, I das Code-Wort und E den Fehler darstellt.
  • Aus der folgenden Formel (3) wird offensichtlich, daß das derart erhaltene Syndrom (3) das Produkt der Überprüfungsmatrix H und des Fehlers E ist.
  • 0 (aus Formel (2))
  • S = H J = H (I + E) = H I + H E = H E ... (3)
  • Normalerweise kann die Syndromerzeugungsschaltung für jedes Syndrom Si wie folgt ausgedrückt werden. Somit kann die Syndromerzeugungsschaltung für die Galois-Funktion GF(2q) wie in Fig. 3 gezeigt, aufgebaut werden. Die αi-Schaltung kann durch Stapeln der α-Schaltung aus Fig. 4 in i Stufen auf der Bedingung eines primitiven Polynoms p(x) = x&sup8; + x&sup4; + x³ + x² + 1 verwirklicht werden. Somit kann die Syndromerzeugungsschaltung zur Verwirklichung von S0 bis S3, ausgedrückt durch die Formel (2), wie in Fig. 5 gezeigt, aufgebaut werden. In Fig. 5 stellt CK den Takt für jedes empfangene Wort Ji dar, während CL das Löschsignal für jede Codelänge darstellt.
  • Offensichtlich wird der in Fig. 5 gezeigte Aufbau groß, so wie die Anzahl q oder die Anzahl i groß wird. Zusätzlich ist der in Fig. 5 gezeigte Aufbau nicht für eine Verwendung geeignet, im Fall, daß die Syndrome S0 bis S3 miteinander verbunden und mittels einer BUS-Leitung verarbeitet werden.
  • Es gibt zwei Arten der Darstellung der Unbekannten der Galois- Mitglieder: nämlich den Ausdruck durch Terme aus Vektoren und den Ausdruck durch Terme aus Exponenten. Eine Galois-Funktion mit q Unbekannten durch GF(q) darstellend, wird die Unbekannte α&sup8; von GF(2&sup8;) aus dem primitiven Polynom p(x) = x&sup8; + x&sup4; + x³ + x² + 1 folgendermaßen ausgedrückt: Exponential-Ausdruck Vektor-Ausdruck
  • Dieser Vektor-Ausdruck zeigt das Bitmuster. Die Aufteilung in Terme aus Vektoren ist kompliziert und schwierig durchzuführen. Praktischerweise wird daher die Umwandlung in einen exponentiellen Ausdruck folgendermaßen durchgeführt. VE-Umwandlung EV-Umwandlung Vektor exponentiell
  • Die VE (Vektor-zu-Exponent)-Umwandlung und die EV (Exponent-zu- Vektor)-Umwandlung können unter Verwendung eines Nur-Lesespeichers (ROM) durchgeführt werden.
  • Wenn eine Teilung in dem Zeitabscnitt von einem Taktsignal, wie in Fig. 6 gezeigt, vervollständigt werden soll, ist es erforderlich, drei Nur-Lesespeicher (ROMs) zu verwenden. Im Gegensatz dazu, wenn die Teilung durch Verwendung eines Nur-Lesespeichers (ROM) für die VE(Vektor-zu-Exponent)-Umwandlung und eines Nur-Lesespeichers (ROM) für die EV(Exponent-zu-Vektor)- Umwandlung, wie in Fig. 7 gezeigt, durchgeführt wird, erfordert der Betrieb einen Zeitraum entsprechend zwei Takten: erster Taktabschnitt für die Zwischenspeicherung b mittels eines Registers und zweiter Taktabschnitt für die Addition a.
  • Ähnlich, wenn eine Multiplikation in dem Zeitraum von einem Takt, wie in Fig. 8 gezeigt, vervollständigt wird, ist es erforderlich, drei Nur-Lesespeicher (ROMs) zu verwenden, wohingegen, wenn die Multiplikation unter Verwendung eines Nur-Lesespeichers (ROM) für die VE(Vektor-zu-Exponent)-Um- wandlung und eines Nur-Lesespeichers (ROM) für die EV(Exponent- zu-Vektor)- Umwandlung, wie in Fig. 9 gezeigt, durchgeführt wird, die Funktion einen Zeitraum entsprechend zwei Takten erfordert: erster Taktabschnitt für die Zwischenspeicherung a mittels eines Registers und zweiter Taktabschnitt für die Addition b.
  • Es wäre möglich, die Teilung oder Multiplikation von zwei in Termen von Vektoren ausgedrückten Unbekannten direkt durch einen Nur-Lesespeicher (ROM), der eine VE-(Vektor-zu-Exponent) oder eine EV-(Exponent-zu-Vektor) Umwandlungsschaltung bildet, durchzuführen. In einem derartigen Fall wird der Nur-Lesespeicher (ROM) erforderlich sein, um eine unpraktisch große Kapazität zu haben, insbesondere, wenn die Anzahl der Unbekannten groß ist.
  • Demzufolge ist es eine Aufgabe der vorliegenden Erfindung, ein Fehlerkorrekturgerät auszubilden, das mittels einer einzigen Lösch/Fehlerkorrektureinrichtung und eines Auswahlsignals eine Fehlerkorrektur für zahlreiche Eingabedaten mit verschiedenen Formaten durchführen kann.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein Fehlerkorrekturgerät auszubilden, das dahingehend verbessert ist, daß es die Flag-Strategie und auch die Anzahl der vom CI- Dekodierer empfangenen Flags einstellen kann, um dadurch zu ermöglichen, irgendwelche Fehlerdaten von beispielsweise einem MODEM in einem C1-Dekodierer lebendig zu erhalten.
  • Ein Ausführungsbeispiel der vorliegenden Erfindung bildet ein Fehlerkorrekturgerät aus, in dem eine Bose-Chaudhuri-Hocquenghem (BHC)-Kodierschaltung durch eine geringe Veränderung in der Dekodierschaltung verwirklicht werden kann, wodurch eine höhere Leistung bei Verringern der Größe des Geräts erreicht wird.
  • Entsprechend einem ersten Gesichtspunkt der vorliegenden Erfingung wird ein Umwandlungsgerät gemäß Anspruch 1 ausgebildet.
  • Gemäß einem zweiten Gesichtspunkt der vorliegenden Erfindung wird ein Umwandlungsverfahren gemäß Anspruch 6 ausgebildet.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Es zeigen:
  • Fig. 1 eine Darstellung einer Kodier/Dekodierschaltung mit einer Löschkorrektur- und Fehlerkorrekturfunktion in einem ersten Ausführungsbeispiel des erfindungsgemäßen Fehlerkorrekturgeräts,
  • Fig. 2 eine Darstellung der Superstrategie,
  • Fig. 3 eine Darstellung einer Syndromerzeugungsschaltung zur Erzeugung von Syndromen Si,
  • Fig. 4 eine Darstellung einer α-Schaltung,
  • Fig. 5 eine Darstellung einer bekannten Syndromerzeugungsschaltung,
  • Figen. 6 und 7 Darstellungen des Aufbaus einer bekannten Teilungsschaltung,
  • Figen. 8 und 9 sind Darstellungen einer bekannten Multiplizierschaltung,
  • Fig. 10 eine Darstellung einer Verschachtelung,
  • Fig. 11 ein Zeitdiagramm zur Darstellung des mit der Dateneingabe beginnenden und mit der Datenausgabe nach der Fehlerkorrektur endenden Betriebs,
  • Fig. 12 eine Darstellung der Hardware der Fehlerkorrektureinheit,
  • Fig. 13 ein Flußdiagramm eines Fehlerkorrekturvorgangs,
  • Fig. 14 eine Darstellung einer Dekodier-Hardware,
  • Fig. 15 eine Darstellung einer Kodier-Hardware,
  • Fig. 16 ein Flußdiagramm zur Darstellung der Berechungsablaufs,
  • Fig. 17 eine Darstellung des Aufbaus einer Kodier/Dekodiereinheit in einem ersten erfindungsgemäßen Ausführungsbeispiel,
  • Fig. 18 eine Darstellung von Fehlerlösch- und Fehlerkorrektur- Hardware im ersten erfindungsgemäßen Ausführungsbeispiel,
  • Fig. 19 eine Darstellung der Betriebs im Falle einer Verschachtelung,
  • Fig. 20 eine Darstellung der Position der Fehlerkorrektur,
  • Fig. 21 eine Darstellung der freien Strategie im ersten erfindungsgemäßen Ausführungsbeispiel,
  • Fig. 22 eine Tabelle zur Veranschaulichung des bei der Doppel- Fehlerkorrektur verwendeten Zustands des Fehlers,
  • Fig. 23 eine Tabelle zur Veranschaulichung des bei einer Einzel-Fehlerkorrektur verwendeten Zustands des Fehlers,
  • Fig. 24 eine Darstellung des Aufbaus einer EN-Ausgabeschaltung in einem zweiten erfindungsgemäßen Ausführungsbeispiel,
  • Fig. 25 ein Betriebs-Zeitablaufdiagramm,
  • Fig. 26 eine Darstellung des Aufbaus einer FN-Ausgabeschaltung in einem zweiten erfindungsgemäßen Ausführungsbeispiel,
  • Fig. 27 eine Darstellung des Aufbaus einer DN-Ausgabeschaltung in einem zweiten erfindungsgemäßen Ausführungsbeispiel,
  • Fig. 28 eine Darstellung des Aufbaus einer Flag-Ausgabeschaltung entsprechend der GCL-Steuerung,
  • Fig. 29 ein Blockschaltbild einer Kodierschaltung,
  • Fig. 30 ein Blockschaltbild einer Dekodierschaltung,
  • Fig. 31 ein Blockschaltbild einer Kodier/Dekodierschaltung in einem dritten erfindungsgemäßen Ausführungsbeispiel,
  • Fig. 32 ein Zeitablaufdiagramm des Betriebs einer Syndromerzeugungsschaltung in der Kodierbetriebsart,
  • Fig. 33 ein Blockschaltbild einer Doppel-Fehlerkorrektur- Kodierkonstantenschaltung,
  • Fig. 34 ein Zeitablaufdiagramm zur Veranschaulichung des Betriebs des Kodierkonstantenschaltung,
  • Fig. 35 ein Darstellung einer Doppel-Fehlerkorrektur-Kodierkonstanten-Ausgabeschaltung,
  • Fig. 36 ein Blockschaltbild einer Einzel-Fehlerkorrektur- Kodierkonstanten-Schaltung,
  • Fig. 37 eine Darstellung einer Einzel-Fehlerkorrektur-Kodierkonstanten-Ausgabeschaltung,
  • Fig. 38 eine Codelängen-Korrekturkonstanten-Schaltung,
  • Fig. 39 ein Zeitablaufdiagramm zur Veranschaulichung des Betriebs der Codelängen-Korrekturkonstanten-Schaltung,
  • Fig. 40 ein Blockschaltbild einer variablen Codelängen-Korrekturschaltung,
  • Fig. 41 ein Zeitablaufdiagramm zur Veranschaulichung des Betriebs der variablen Codelängen-Korrekturschaltung,
  • Fig. 42 ein Blockschaltbild einer Muster-Erzeugungsschaltung,
  • Fig. 43 ein Zeitablaufdiagramm zur Veranschaulichung des Betriebs einer Muster-Erzeugungsschaltung in der Dekodierbetriebsart,
  • Figen. 44 und 45 Zeitablaufdiagramme zur Veranschaulichung des Betriebs der Mustererzeugungsschaltung in der Kodierbetriebsart,
  • Fig. 46 eine Darstellung einer X²-Schaltung,
  • Fig. 47 ein Blockschaltbild einer Kodierschaltung,
  • Fig. 48 ein Blockschaltbild einer Kodier/Dekodierschaltung bei einer Abänderung des dritten Ausführungsbeispiels,
  • Fig. 49 ein Darstellung einer K-Erzeugungsschaltung,
  • Fig. 50 eine Darstellung einer K-Erzeugungsschaltung für eine BUS-Leitungssteuerung,
  • Fig. 51 eine Darstellung des zeitlichen Ablaufs der Funktion der K-Erzeugungsschaltung,
  • Fig. 52 ein Blockschaltbild einer Vergleichsschaltung,
  • Fig. 53 ein Blockschaltbild einer A-Erzeugungsschaltung,
  • Fig. 54 ein Darstellung des zeitlichen Ablaufs der Funktion der A-Erzeugungsschaltung,
  • Fig. 55 eine Darstellung einer Syndromerzeugungschaltung in einem vierten erfindungsgemäßen Ausführungsbeispiel,
  • Fig. 56 ein Darstellung eine Zeitablaufsignals,
  • Fig. 57 eine Darstellung eines anderen Beispiels der in dem erfindungsgemäßen Fehlerkorrekturgerät verwendeten Sydromerzeugungschaltung,
  • Fig. 58 eine Darstellung einer in einem fünften erfindungsgemäßen Ausführungsbeispiel verwendeten Multiplizierschaltung,
  • Fig. 59 eine Darstellung des Aufbaus einer in der in Fig. 58 gezeigten Schaltung enthaltenen UND-Schaltung,
  • Fig. 60 eine Darstellung einer Verbesserung in der Multiplizierschaltung,
  • Fig. 61 ein Blockschaltbild einer im fünften erfindungsgemäßen Ausführungsbeispiel verwendeten Teilungsschaltung,
  • Fig. 62 ein Zeitablaufdiagramm zur Veranschaulichung der Funktion des fünften Ausführungsbeispiels,
  • Fig. 63 ein Darstellung des Aufbaus einer X²-Schaltung in der Teilungsschaltung,
  • Fig. 64 eine Darstellung des Aufbaus einer X&sup4;-Schaltung,
  • Fig. 65 eine Darstellung des Aufbaus einer X&sup8;-Schaltung,
  • Fig. 66 eine Darstellung einer Verbesserung in der Teilungsschaltung,
  • Fig. 67 ein Blockschaltbild einer in dem fünften erfindungsgemäßen Ausführungsbeispiel verwendeten Exponent/Vektor-Umwandlungsschaltung,
  • Fig. 68 ein Zeitablaufdiagram zur Veranschaulichung der Funktion der in Fig. 67 gezeigten Schaltung, und
  • Fig. 69 ein Darstellung des Aufbaus einer Exponenten/Vektor-Umwandlungsschaltung.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE [Erstes Ausführungsbeispiel]
  • Ein erstes Ausführungsbeispiel der vorliegenden Erfindung wird im folgenden unter Bezugnahme auf die Zeichnung beschrieben. Zuerst wird die Dekodierung eines Fehlerkorrekturcodes beschrieben. Ein Reed-Solomon-Code (im folgenden auch als RS-Code bezeichnet) als ein Beispiel für ein Fehlerkorrektursignal besitzt typischerweise einen kreuzverschachtelten Aufbau, wie in Fig. 10 gezeigt. Dies bedeutet, daß jeder Block eine zweimalige Fehlerkorrektur erfordert, wie durch C1 und C2 dargestellt. Wenn Eingabedaten ohne irgendein Intervall zugeführt werden, wird die Verarbeitungsverzögerungszeit angehäuft, außer eine Löschkorrektur- und Fehlerkorrektureinheit ist sowohl für C1 als auch für C2 gebildet. Um den Aufbau der Hardware zu vereinfachen, ist dieses Ausführungsbeispiel daher derart aufgebaut, daß eine einzelne Löschkorrektur- und Fehlerkorrektureinheit mit einer doppelten Geschwindigkeit betrieben wird, wie durch 1 und 2 in Fig. 11 bezeichnet, wenn die Eingabedaten ohne Intervall zugeführt werden. Die Löschkorrektur- und Fehlerkorrektureinheit arbeitet jedoch für sich mit einer normalen Geschwindigkeit, wenn es keine Verschachtelung gibt oder die Datenübertragungsgeschwindigkeit hoch ist. Gemäß Fig. 11 werden Daten eingegeben, wie durch Daten-Ein ansprechend auf Gatter- Ein dargestellt, und nach Beendigung einer Berechnung für die Fehlerkorrektur werden die korrigierten Daten ausgegeben, wie durch Daten-Aus dargestellt. Wie aus dieser Figur verständlich wird, beträgt die Daten-Eingabe/Ausgabe-Zeit in der Betriebsart mit doppelter Geschwindigkeit 1 und 2 die Hälfte der normalen Eingabe/Ausgabe-Zeit.
  • Daher besitzt die Löschkorrektur- und Fehlerkorrektureinheit, wie in Fig. 12 gezeigt, einen Schreib-/Lesespeicher (RAM) 121 zur Speicherung der Eingabedaten, eine Löschkorrektur- und Fehlerkorrektur-Einheit 122 und eine Steuerungseinheit 123 zur Veränderung des Zeitablaufsignals zur Ansteuerung der Einheit 122 entsprechend einem Eingabe-Format-Auswahlsignal.
  • Von zahlreichen bisher vorgeschlagenen Fehlerkorrektur-Verfahren verwendet dieses Ausführungsbeispiel einen Algorithmus, wie in Fig. 13 gezeigt, der den Hardwareaufbau vereinfachen kann, und vereinfacht damit die Funktion unter der Bedingung, daß das Zeitablaufsignal variabel ist. Fig. 14 zeigt den Aufbau der verwendeten Dekodier-Hardware, wenn dieser Algorithmus verwendet wird.
  • Gewöhnlich wird die Kodierung durchgeführt, indem Daten durch ein Erzeugungspolynom geteilt werden. In diesem Ausführungsbeispiel wird jedoch die Kodierung durch Veränderung der Steuerung der Fehlerkorrektureinheit, die zur Dekodierung verwendet wird, durchgeführt. Der Aufbau einer zu diesem Zweck verwendeten Hardware ist in Fig. 15 gezeigt.
  • Fig. 16 zeigt den Verfahrensablauf zur Erzeugung eines Paritäts- bzw. Gleichheitsbits.
  • Die vorstehend beschriebene Dekodierung und Kodierung können mittels einer in Fig. 17 gezeigten Hardware miteinander vereinigt werden.
  • Aus den folgenden Formeln (4) bis (11) ist ersichtlich, daß der Algorithmus zur Löschkorrektur durch Multiplikation von Syndromen S&sub0; bis S&sub3; mit geeigneten Konstanten verwirklicht werden und daher durch dieselbe Schaltungsanordnung erreicht werden kann, wie die für die Kodierung verwendete.
  • wobei
  • Die folgende Bedingung ist also erfüllt.
  • Wobei Löschung an jeder der Positionen i, j, k und l stattfindet
  • und daher
  • Durch Multiplikation beider Seiten mit A&supmin;¹ ... (8)
  • Der Faktor A&supmin;¹ kann eindeutig bestimmt werden, vorausgesetzt, daß i, j, k und l gegeben sind.
  • Daher ist, wenn A&supmin;¹ durch die folgende Formel (10) ausgedrückt wird, ex(x = i, j, k, l) durch die folgende Formel (11) bestimmt.
  • Fig. 18 ist ein Blockschaltbild der Löschkorrektur- und Fehlerkorrekturschaltung. Da i, j, k und l eindeutig bestimmt sind, kann die A&supmin;¹-Erzeugungsschaltung durch zählreiche Nur-Lesespeicher (ROMs) bestimmt werden. Daher kann die Kodier/Dekodier- Schaltung einschließlich der Löschkorrekturfunktion, wie in Fig. 1 gezeigt, aufgebaut werden.
  • Um zu ermöglichen, daß zwischen einfacher Kodier/Dekodier-Betriebsart und Löschkorrektur-Betriebsart umgeschaltet werden kann, ist es erforderlich, eine Umschaltung zwischen einem Nur- Lesespeicher (ROM) 11 und einem Nur-Lesespeicher (ROM) 12 entsprechend einem LÖschkorrektur-Auswahlsignal ER durchzuführen. Zu diesem Zweck werden zustandssteuernde Nur-Lesespeicher (ROMs) als Nur-Lesespeicher (ROMs) 11 und 12 verwendet.
  • Der Korrekturvorgang wird nach der Erzeugung des Syndroms um einen Zeitraum verzögert, der einem empfangenen Wort entspricht. Das empfangene Wort muß daher zeitweise in einer Pufferspeichereinrichtung 13 gespeichert werden. Das zum Zeitpunkt der Erzeugung des Syndroms berechnete Fehlermuster muß zeitweise in den Adressen i, j, k und l einer Pufferspeichereinrichtung 54 gespeichert werden, damit das Muster an den Positionen i, j, k und l synchronisiert mit dem Ausgangssignal der Pufferspeichereinrichtung 13 ausgegeben wird. Wenn i, j, k und l von der Analog-Digital-Wandlereinrichtung ausgegeben wird, wird dieser Wert ausgegeben, so daß das Fehlermuster synchronisiert mit dem Ausgangssignal der Pufferspeichereinrichtung 13 ausgegeben wird.
  • Wenn es keine Verschachtelung im Fehlerkorrekturcode gibt oder wenn die Verarbeitung mit der doppelten Geschwindigkeit durchgeführt wird, wird diese Einrichtung nur für eine einzelne Fehlerkorrektur verwendet. In einem derartigen Fall kann diese Einrichtung so verwendet werden, wie sie ist, ohne irgendeine Modifizierung.
  • In dem Fall, daß der Fehlerkorrekturcode verschachtelt ist, wird diese Einrichtung für einen zweimaligen Fehlerkorrekturvorgang verwendet. Wenn der verschachtelte Aufbau des Fehlerkorrekturcodes eingeführt wird, wird die Fehlerkorrektur sowohl in der vertikalen als auch horizontalen Richtung, wie durch Pfeile in Fig. 10 gezeigt, durchgeführt. Die Funktion der Einrichtung mit der doppelten Geschwindigkeit kann mittels Verdoppeln der Raten des Takts und des Triggers durchgeführt werden. In diesem Fall tritt jedoch eine Schwierigkeit aufgrund eines Unterschieds im Format zwischen C1 und C2 auf. Das Format jedoch kann mittels Übertragen von verschiedenen Werten der Korrekturkapazität T und der Codelängen n, k auf C1 und C2 verändert werden.
  • Fig. 19 zeigt eine Schaltung, die eingeführt wird, wenn der Fehlerkorrekturcode eine verschachtelte Struktur besitzt. Wenn n1, n2, T1 und T2 eingestellt wurden, ist es möglich, verschiedene Werte von n, T und k für C1 und C2 zu erhalten, indem der Pegel des Auswahlsignals C verändert wird. Beispielsweise werden verschiedene Fehlerkorrekturkapazitäten und Codelängen für C1 und C2 erhalten, indem der Pegel des Auswahlsignals C als C = 0 für C1 bzw. C = 1 für C2 eingestellt wird. Somit ist es möglich, die gewünschte verschachtelte Verarbeitung durchzuführen.
  • Es ist auch möglich, Verarbeitung in vertikalen und horizontalen Richtungen des Formats mittels ausgewähltem Einstellen des Signais C als D T 1 oder 1 T D auszuwählen.
  • Wie aus der vorstehenden Beschreibung offensichtlich wird, kann gemäß diesem Ausführungsbeispiel der Erfindung ein Fehlerkorrekturgerät für allgemeine Zwecke angesteuert werden. Durch Konstruktion dieses Geräts in einem Baustein und Entwurf desselben, daß er an eine Vielzahl von Formaten anpaßbar ist, wird es möglich, die Erfindung nicht nur bei einer optischen Platte und opto-magnetischen Platteneinrichtungen anzuwenden, sondern auch bei allen Arten von Übertragungspfaden, bei denen eine große Rate von auftretenden Fehlern gegeben ist.
  • Es ist auch möglich, eine Vielzahl derartiger Bausteine vorzubereiten und sie in verschachtelter Weise zu verbinden, um ein Gerät zu konstruieren, das bei Systemen angewendet werden kann, in denen die Rate des Auftretens von Fehlern und die Verarbeitungsgeschwindigkeit besonders hoch sind.
  • Gemäß Fig. 20 stellt ein Kennzeichen S.M. ein Sektorkennzeichen dar, das den Anfang eines Sektors anzeigt. ID ist ein Lesen entsprechend einer durch ein Synchronisationssignal SYNC extrahierten Taktkomponente. Ein Symbol A.M. in ID stellt ein Adressenkennzeichen dar, das den Beginn einer Adresse anzeigt. GAP ist zwischen dem ID-Bereich und dem DATEN-Bereich zum Zwecke der Absorption von Synchronisationsfehlern gebildet, um dadurch einen Offset des ID-Bereichs von dem DATEN-Bereich einschließlich SYNC, S.M. und DATEN einzustellen. Dasselbe trifft auch auf den DATEN-Bereich zu. Der letzte GAP wird zum Zweck der Absorption irgendeines Offests zwischen dem vorliegenden Sektor und dem nächsten Sektor erhalten. Diese Datenstruktur kann von dem Gerät gemäß der vorliegenden Erfindung verarbeitet werden, auch wenn das Adressenkennzeichen und der DATEN-Bereich in verschiedenen Formdaten kodiert sind.
  • Wie aus der vorstehenden Beschreibung ersichtlich, wird gemäß den bevorzugten Ausführungsbeispielen der Erfindung ein Fehlerkorrekturgerät mit einem Allgemein-Zweck Format-Auswahl-Bereich und einem Lösch-Korrektur-Auswahlbereich einschließlich eines Löschposition-Eingabe-Bereichs in einem einzelnen Baustein konstruiert, so daß ein einzelnes Lösch-Korrektur- und Fehlerkorrektur-Gerät bei einer Vielzahl von Formaten funktionieren kann.
  • Wenn zusätzlich die Eingabedaten eine Vielzahl von verschiedenen Formaten besitzen, kann Fehlerkorrektur mittels eines einzelnen Lösch-Korrektur- und Fehlerkorrektur-Blocks unter Verwendung eines Auswahlsignals zur Auswahl verschiedener Formate durchgeführt werden.
  • Es ist auch zu beachten, daß in dem beschriebenen Ausführungsbeispiel eine Steuereinheit verwendet werden kann, die einem einzelnen Lösch-Korrektur- und Fehlerkorrektur-Block ermöglicht, mit einer doppelten Geschwindigkeit zu funktionieren, wenn die zu korrigierenden Daten eine verschachtelte Struktur besitzen, und bei einer normalen Geschwindigkeit funktionieren, wenn der Fehlerkorrekturcode keine verschachtelte Struktur besitzt.
  • Desweiteren kann gemäß dem Gerät entsprechend dem beschriebenen Ausführungsbeispiel, wenn es zur Lösch-Korrektur und zur Fehlerkorrektur von Daten mit einem Sektoraufbau angewendet wird, die Fehlerkorrektur mittels desselben Lösch-Korrektur- und Fehlerkorrektur-Blocks nicht nur für die Daten in dem Sektor durchgeführt werden, sondern auch für Adreßdaten des Sektors.
  • [Zweites Ausführungsbeispiel]
  • Im folgenden wird ein zweites Ausführungsbeispiel der vorliegenden Erfindung beschrieben. Bei der Kodierung und Dekodierung des Bose-Chaudhuri-Hocguenghem (BCH)-Codes sind die festgesetzten Strategien 1 und 2 ungeeignet für eine Verwendung in dem Fall, daß die Codelänge und die Korrekturkapazität veränderlich sind. In einem derartigen Fall sollte daher die Flag-Strategie selbst veränderbar sein. Eine derartige veränderbare Flag-Strategie wird im folgenden als "freie Strategie" bezeichnet. In der Ci-Dekodiereinrichtung kann eine Flagerzeugung mittels Festsetzen der Zahl Nci in der folgenden Fällen a bis g verwirklicht werden.
  • a Sci = "0"
  • b Sci = "1", Lci = 1
  • c Sci = "1", Lci = 0
  • d Sci = "2", Lci = 2
  • e Sci = "2", Lci = 1
  • f Sci = "2", Lci = 0
  • g Sci = "3"
  • wobei
  • Sci: von der Ci-Dekodiereinrichtung empfangenes Syndrom
  • Lci: Anzahl von vorhergehenden Flags Fci, die mit den Fehlerorten des Ci-Dekodiereinrichtung zusammenfallen
  • Mci: Anzahl von durch die Ci-Dekodiereinrichtung empfangenen Flags Fci
  • sind.
  • Flags von der vorhergehenden Einrichtung, wie beispielsweise einem MODEM, können verwendet werden, vorausgesetzt, daß sowohl die C1 als auch die C2 Dekodiereinrichtungen von der "freien Strategie"-Art sind. Ob das Flag zu kopieren ist oder gebildet wird, wird von einem anderen Signal GCL gesteuert. Hier wird, wenn die Bedingung GCL = H erfüllt ist, der durch die Ci-Dekodiereinrichtung erzeugte Wert der Flags wie folgt bestimmt:
  • FcX = 0: kein Fehler
  • Fcx = Fci: in der vorhergehenden Dekodiereinrichtung erzeugte Flags werden kopiert
  • Um die Fci und "0" in "1" als den Wert von Fcx umzukehren, ist es erforderlich, daß die Bedingung GCL = L unter der erforderlichen Bedingung erfüllt ist.
  • Dieses Prinzip wird aus der folgenden Beschreibung in Verbindung mit Fig. 21 besser verstanden.
  • Um die vorstehend erklärte Funktion zu verwirklichen, wird eine Schaltung, wie in Fig. 24 gezeigt, unter Verwendung von L1 und L2 einer Rechenvorschrift konstruiert, die die nachstehend gezeigten Formeln (12) bis (21,) erfüllt. Der Zeitablauf der Funktion dieser Schaltungsanordnung ist in Fig. 25 gezeigt.
  • Ob ein Fehler existiert oder nicht, kann durch Erzeugung eines Syndroms beurteilt werden.
  • wobei
  • wobei n die Codelänge, H die Überprüfungsmatrix, J das Codewort, S das Syndrom, I das Codewort und E den Fehler darstellt.
  • Somit wird das Syndrom S als das Produkt des Fehlers E und der Überprüfungsmatrix H, wie mittels der folgenden Formel (14) gezeigt, ausgedrückt.
  • Es wird hier angenommen, daß Fehler ei und ej an Positionen i bzw. j existieren. 1) Erzeugung eines Syndroms 2) Code = Längenkorrektur 3) K-Erzeugung (K: 0 ... n) 4) A-Erzeugung 5) Fehlerposition 6) Fehlermuster
  • 7) Beurteilung
  • 1 Wenn es keinen Fehler gibt (ei = ej = 0)
  • L1 = 0
  • L2 = 0
  • e = 0
  • 2 Im Fall eines einzelnen Fehlers (ei ≠ 0, ej = 0)
  • L1: L1 = 0, nur wenn k = i
  • L2 = 0 ... (21)
  • e: e = ei, nur wenn k = i
  • 3 Im Fall eines doppelten Fehlers (ei ≠ 0, ej ≠ 0)
  • L1: unbestimmt
  • L2: L2 = 0, nur unter der Bedingung, daß k = i und k = j
  • e: e = ei, unter der Bedingung, daß k = i und e = ej unter der Bedingung k = j ist.
  • Ein Taktsignal ECK1 wird als NICHT-ODER(NOR) von L1 und CKB1 (als invertiertes Signal von CK7) derart erzeugt, daß ECK1 einen hohen Pegel (H-Pegel) besitzt, wenn L1 auf einem niedrigen Pegel ist. Ein anderes Signal ECK2 wird auf dieselbe Weise für L2 gebildet. Die Anzahl der Zeitpunkte, zu denen L1 und L2 niedrigen Pegel annehmen, entspricht der Anzahl der Taktsignale ECK1 und ECK2. Die durch die Formel (21) gegebene Anzahl der Taktsignale ECK1 und ECK2 ist in den Figen. 22 und 23 gezeigt. Insbesondere zeigt Fig. 22 die Taktsignalanzahl, wie sie erhalten wird, wenn die Korrekturkapazität auf T = 2 eingestellt ist, während Fig. 23 die unter der Bedingung T = 1 erhaltene Taktsignalanzahl zeigt. Wenn T auf T = 1 eingestellt wird, ist das von L2 erzeugte Signal bedeutungslos, so daß es durch eine schrage Linie in Fig. 23 ausgestrichen ist. Die Anzahl der Taktsignale ECK1 und ECK2 würde ohne Schwierigkeit unter Verwendung einer Zähleinrichtung und einer Vergleichseinrichtung durchgeführt werden. In diesem Ausführungsbeispiel jedoch wird ein EN-Ausgangssignal mit einem wie in Fig. 24 gezeigten Aufbau bei der Beurteilung von Bedingungen (a) bis (g) verwendet, um die Größe der Schaltung zu verringern. In dieser Figur stellt ein Kennzeichen eine UND-Schaltung, eine ODER-Schaltung, eine NICHT-UND-Schaltung und eine NICHT-ODER-Schaltung dar.
  • EN1 und EN2 stellen die Zählausgangssignale des Takts ECK1 dar. Mit diesen Ausgangsignalen ist es möglich, zu beurteilen, ob die Anzahl der Taktsignale ECK1 0, 1 oder 2 oder größer ist. EN3, EN4 und EN5 sind Zählausgangssignale des Takts ECK2. Mit diesen Signalen ist es möglich, zu beurteilen, ob die Anzahl der Taktsignale ECK2 0, 1, 2, 3 oder 4 oder größer ist. Taktsignale ECK1 und ECK2 stellen nicht nur die Anzahl von Fehlern, sondern auch die Positionen der Fehler dar. Mittels Setzen der Flags zu denselben Phasen, wie die Taktsignale ECK1 und ECK2, und Bestimmen von UNDs der Taktsignale und der Flags, ist es möglich, die Anzahl der mit den Flags zusammenfallenden Fehler zu zählen. EN6 ermöglicht die Beurteilung, ob die Anzahl des Zusammenfallens von den Taktsignalen ECK1 und FLGDD, das die zur selben Phase wie ECK1 einstellte Flagausgangssignale darstellt, 0 oder 1 ist. EN7 und EN8 ermöglichen eine Beurteilung, ob die Anzahl des Zusammenfallens von ECK2 und FLGDD 0, 1 oder 2 ist.
  • Vor dem Eintreffen der durch das nächste empfangene Wort erzeugten Taktsignale ECK1 und ECK2 ist es erforderlich, das Ausgangssignal von ECl1 zu löschen, um das Zählen wieder zu starten. Hier ist es erforderlich, daß das Ausgangssignal vor dem Löschen von ECL1 in dem Register der nächsten Stufe zu einem Zeitpunkt eines Signals EPCK1, das in Fig. 25 gezeigt ist, gespeichert wird. Somit werden die Verarbeitung von Flags und die Fehlerkorrektur entsprechend dem Ausgangssignal von dem Register der nächsten Stufe durchgeführt. Die Gatterausgangssignale EG1 bis EG3 und FG0 bis FG5, die die in den Figen. 22 und 23 gezeigten Zustände von Fehlern darstellen, werden unter Verwendung von EN1 bis EN8 wie folgt ausgedrückt.
  • EG1 = (T1 + T2) (EN5 + T2) EN1 ENB2
  • EG2 = T2 En4 ENB5
  • EG3 = T1 ENB1 ENB2 + T2 ENB4 ENB5
  • FG0 = T1 EN2 + T2 EN2 EN5
  • FG1 = EN6 EG1
  • FG2 = ENB6 EG1
  • FG3 = EN8 EG2
  • FG4 = EN7 EG2
  • FG5 = ENB7 ENB8 EG2
  • Somit nimmt EG1 einen hohen Pegel nur in dem Fall eines einzelnen Fehlers an, während EG2 einen hohen Pegel nur im Fall eines doppelten Fehlers annimmt. Es ist zu beachten, daß EG2 einen niedrigen Pegel immer dann annimmt, wenn die Korrekturkapazität T als T = 1 eingestellt wird. EG3 nimmt einen hohen Pegel in dem Fall von (g) an, d.h., nur, wenn die Anzahl der Fehler die Korrekturkapazität überschreitet. FG0 bis FG5 nimmt einen hohen Pegels jeweils unter den Bedingungen von (a) bis (f) an. In den Figen. 22 und 23 stellt ERD die Anzahl des Zusammenfallens von Fehlern und Flags wie folgt dar:
  • ERD1 = EG1 + EG3
  • ERD2 = EG2 + EG3
  • ERF1 = FG1 + FG4
  • ERF2 = FG3
  • Eine FN-Ausgabeschaltung, wie in Fig. 26 gezeigt, wird verwendet, um extern zu bestimmen, ob der Flagvorgang im Hinblick auf die Fälle a bis g durchzuführen ist.
  • Die EN-Ausgabeschaltung, wie in Fig. 26 gezeigt, kann die Anzahl der Flags durch eine Zähleinrichtung zählen. Das Ausgangssignal wird gespeichert und es wird ein Vergleich zwischen dem gespeicherten Ausgangssignal und einem extern gegebenen Wert des Strategie-Auswahl-Anschlusses NL für jedes von a bis g durchgeführt, wodurch eine Beurteilung durch ST durchgeführt wird, ob die Anzahl der empfangenen Flags größer als jeder Wert von NL ist. Die den Bedingungen a bis g entsprechenden Werte von NL werden aufeinanderfolgend eingegeben, so daß die Vergleichsergebnisse zwischen diesen Anzahlen und die Flaganzahl von ST in derselben Folge ausgegeben werden und die somit ausgegebenen Ergebnisse werden von FPCK1 bis FPCK7 entsprechend einem Zeitpunktsignal, wie in Fig. 9 gezeigt, zwischengespeichert.
  • Das zwischengespeicherte Vergleichsergebnis wird durch EPCK1 in dem nächsten Register gespeichert. Die Ausgangssignale dieses Registers werden durch FN1 bis FN7 dargestellt. Somit nehmen die Ausgangsisgnale FN1 bis FN7 einen hohen Pegel an, vorausgesetzt, daß die Anzahl der empfangenen Flags im Hinblick auf die jeweiligen Bedingungen a bis g unter den entsprechenden Werten von NL liegen, und nehmen einen niedrigen Pegel an, wenn die Flaganzahlen gleich den Werten der entsprechenden NL sind oder unter ihnen liegen.
  • Dann werden NICHT-UNDs der Fehlerzustände FG0 bis FG5 und EG3 und der Ergebnisse FN1 bis FN7 der externen Strategieauswahl erhalten und dann wird das NICHT-UND all dieser NICHT-UND-Ausgangssignale als FD bestimmt (siehe Fig. 27: FD-Ausgabeschaltung).
  • Eine Flag-Ausgabeschaltung, wie in Fig. 28 gezeigt, wird zum Zweck der Steuerung der Flagausgabe durch FD verwendet. Die Flagausgabeschaltung erzeugt UND von FD und dem Flag FLG1 und speichert das UND-Ausgangssignal als FLGO zwischen. Es wird erkennbar, daß das UND-Ausgangssignal ausgegeben wird, wie es ist, wenn GCL extern auf einen hohen Pegel gesetzt wird, aber es wird als FLGO = H ausgegeben, wenn GCL extern auf einen niedrigen Pegel gesetzt wird. Als ein Ergebnis wird eine Flagkopie auf der Bedingung GCL = H durchgeführt und während ein Vorgangs zum Hinaufsetzen des Flags durchgeführt wird, auf der Bedingung GCL = L. Das Zeitpunktsignal der Flagkopie und der Flaganhebevorgänge ist in Fig. 25 gezeigt.
  • Wie aus der vorstehenden Beschreibung verständlich, bildet dieses Ausführungsbeispiel eine "freie Strategie" Einstellschaltung, die eine freie Einstellung der Flagstrategie ermöglicht, ebenso wie die Einstellung, ob das Flag heraufgesetzt wird.
  • [Drittes Ausführungsbeispiel]
  • Im folgenden wird ein drittes Ausführungsbeispiel der vorliegenden Erfindung beschrieben, insbesondere eine Kodier- und Dekodierschaltung eines Fehlerkorrekturgeräts, das zur Verwendung in einer optischen Platteneinrichtung DAT oder einer ähnlichen Einrichtung geeignet ist.
  • Es wird angenommen, daß der Kodiervorgang entsprechend den folgenden Formeln (22) bis (29) durchgeführt wird, während die Dekodierung entsprechend den folgenden Formeln (30) bis (39) durchgeführt wird. Der Kodiervorgang und der Dekodiervorgang weisen gemeinsame Schritte auf: nämlich die Erzeugung von Syndromen und die Multiplikation von Syndromen mit Konstanten. Die in dem Kodiervorgang verwendeten Konstanten sind durch Gleichungen (28) und (29) gezeigte Kodierkonstanten, während im Dekodiervorgang verwendete Konstanten Codelängen-Korrekturkonstanten α-n bis α-3n sind, die in Formel (34) auftreten. Der Kodiervorgang und der Dekodiervorgang können durch Ablaufdiagramme, wie in den Figen. 29 und 30 gezeigt, dargestellt werden. Die Mustererzeugungsschaltung zur Verwendung im Kodiervorgang kann eine-Schaltung sein, die EXKLUSIV-ODER bzw. EXOR der Syndrome und die Kodierkonstanten alle vier Taktsignale (S0 bis S3) erzeugt, so daß jede vier Taktsignale eine Parität bzw. Gleichheit erzeugt wird. Die im Dekodiervorgang verwendete Mustererzeugungsschaltung kann auch eine Schaltung sein, die EX- KLUSIV-ODER bzw. EXOR alle vier Taktsignale erzeugt, da sie ein Fehlermuster e erzeugen kann, wenn zwei Taktsignale anders als k&sub0; und A&sub0;²/A&sub0; + A&sub1;) in dem Ausgangssignal von den Verarbeitungsblöcken der Formeln (35) bis (37) Null sind. Dies bedeutet, daß eine einzelne Mustererzeugungsschaltung gemeinsam für sowohl den Kodier- als auch den Dekodiervorgang verwendet werden kann. Beim Kodiervorgang wird ein Codewort mittels Addition des Ausgangssignals von der Mustererzeugungsschaltung zu dem hinteren Ende der Daten 1 erzeugt, wobei die Daten I im Fall von in-3 bis in-0 0 sind, während das Mustererzeugungsausgangssignal in den Fällen anders als Parität bzw. Gleichheit 0 ist.
  • Im Dekodiervorgang kann eine Korrektur durch Erhalten von EX- KLUSIV-ODER bzw. EXOR mit dem empfangenen Wort J erreicht werden.
  • Zuerst wird die Kodierung beschrieben. Die Beziehung zwischen der Überprüfungsmatrix H, die die Grundlage des Reed-Solomon- Codes (read solomon code) bildet, und dem Codewort I kann durch die folgende Formel (22) ausgedrückt werden:
  • wobei n die Codelänge, H die Überprüfungsmatrix, I das Codewort, i1 bis in-4 Daten und in-3 bis in die Parität bzw. Gleichheit darstellen.
  • Dann wird die Formel (22) in Paritäts- bzw. Gleichheitsteil und Datenteil aufgeteilt, wie durch die nachfolgende Formel (23) gezeigt.
  • Beide Seiten von Formel (23) werden mit A&supmin;¹ multipliziert.
  • B wird wie folgt zerlegt.
  • Die folgenden Formeln (26) und (27) werden durch Kombination von A&supmin;¹ und C erhalten.
  • Daher wird die folgende Bedingung erfüllt. Doppelkorrektur-Kodierkonstante
  • Dasselbe trifft auch auf die Einzelkorrektur-Kodierkonstante zu. Einzelkorrektur-Kodierkonstante
  • Im folgenden wird die Dekodierung beschrieben. Ob ein Fehler vorliegt, kann durch Erzeugung eines Syndroms beurteilt werden.
  • wobei
  • wobei n eine Codelänge, H eine Überprüfungsmatrix, J ein Codewort, S ein Syndrom, I ein Codewort und E einen Fehler darstellt.
  • Somit wird das Syndrom S als das Produkt des Fehlers E und der Überprüfungsmatrix H ausgedrückt, wie durch die folgende Formel (32) gezeigt.
  • Es wird angenommen, daß Fehler ei und ej an Positionen i bzw. j existieren. 1) Erzeugung eines Syndroms 2) Codelängenkorrektur
  • 3) K-Erzeugung (K: 0 ... n) 4) A-Erzeugung 5) Fehlerposition 6) Fehlermuster
  • 7) Beurteilung
  • 1 Wenn es keinen Fehler gibt (ei = ej = 0)
  • L1 = 0
  • L2 = 0
  • e = 0
  • 2 Im Fall eines einzelnen Fehlers (ei ≠ 0, ej = 0) ... (39)
  • L1: L1 = 0, nur, wenn k = i
  • L2 = 0
  • e: e = ei, nur, wenn k = i
  • 3 Im Fall eines doppelten Fehlers (ei ≠ 0, ej ≠ 0)
  • L1: unbestimmt
  • L2: L2 = 0, nur unter der Bedingung, daß k = i und k = j
  • e: e = ei, unter der Bedingung, daß k = i und e = ej, unter der Bedingung, daß k = j
  • Daher ist es möglich, Kodier- und Dekodiervorgänge ausgewählt durchzuführen, indem eine Kodier- und Dekodierschaltung entworfen wird, in der, wie in Fig. 31 gezeigt, eine Kodierschaltung als eine Unbekannte verwendet wird und eine Konstantenausgabeschaltung gebildet wird, indem eine Auswahleinrichtung und eine Kodierkonstanten-Ausgabeschaltung 291 zu einer Codelängen-Korrekturkonstanten-Erzeugungschaltung 301 hinzugefügt werden. Jeder der Blöcke kann einen vereinfachten Aufbau, wie folgt, besitzen.
  • [Syndromerzeugungsschaltung]
  • Wenn eine einzelne Multipliziereinrichtung wie in Fig. 31 verwendet wird, ist es erforderlich, daß das von der Syndromerzeugungsschaltung ausgegebene Signal in einer seriellen Weise mittels einer BUS-Leitung geleitet wird. Im Fall einer Kodierung kann das serielle Ausgangssignal geleitet werden, vorausgesetzt, daß die Eingabe in-3 bis in entsprechend dem Paritätsbzw. Gleichheitsteil 0 ist. Wenn jedoch die Eingabe in-3 bis in nicht 0 ist, ist der folgende Vorgang erforderlich.
  • Um die in Formel (28) gezeigten S1 bis SIV in der Doppel-Fehler-Korrektur-Kodierung zu verwirklichen, sollte die Syndromerzeugungsschaltung mit den Eingabedaten in-3 bis in auf 0 gesetzt betätigt werden. Zu diesem Zweck wird die zu dem Register, das das empfangene Wort J zwischenspeichert, zuzuführende Löscheingabe während des Zeitraums entsprechend zu in-3 bis in auf niedrigem (L) Pegel gehalten. Daher werden Syndrome SI [S0, S1, S2, S3] mittels der in dem Zeitraum zwischen i1 und in-4 empfangenen Worte gebildet, wenn in-3 eingegeben wird. Die Syndromerzeugungsschaltung fährt auch während des Empfangs von in-2 = 0 fort, zu funktionieren, so daß Syndrome SII [S0, α S1, α² S2, α³ S3] erzeugt werden. Ähnlich, wenn in - 1 = 0 und in = 0 eingegeben werden, werden Syndrome SIII [S0, α² S1, α&sup4; S2, α&sup6; S3] und SIV [S0, α³ S1, α&sup6; S2, α&sup9; S3] gebildet.
  • Dasselbe trifft auch in dem Fall eines Einzel-Fehlers zu. Nämlich, wenn in - 1 = 0 eingegeben wird, werden Syndrome SI [SO, S1] entsprechend Eingaben in dem Zeitraum zwischen I1 bis in-2 erzeugt, und, wenn die nächste Eingabe in = 0 empfangen wird, werden Syndrome SII [S0, α S1] erzeugt. Somit kann die Kodier- Syndromerzeugungsschaltung einfach durch Steuerung der SPCL der Dekodier-Syndromerzeugungsschaltung verwirklicht werden. Die Zeitsteuerung dieser Steuerung ist in Fig. 32 gezeigt.
  • [Konstantenausgabeschaltung]
  • Bei der Doppel-Fehler-Korrektur-Kodierung ist es nach der Bestimmung der Syndrome SI bis SIV mittels der Syndromerzeugungsschaltung erforderlich, die syndrome mit einer Doppel-Fehler- Korrektur-Kodierungs-Konstante zu multiplizieren, um die Parität bzw. Gleicheit in-3 bis in zu erzeugen. Wie in den Formeln (28) und (29) gezeigt, wird eine Einzel-Kodier-Konstante fest in jeder Einzel-Fehler-Korrektur und Doppel-Fehler-Korrektur verwendet. Somit kann die Multiplikation mittels einer Schaltung durchgeführt werden, die die Syndrome mit der entsprechenden Konstante in Synchronisation mit diesen Syndromen multipliziert. Fig. 33 zeigt ein Blockschaltbild eines Beispiels für eine derartige Schaltung.
  • PC1 bis PC16 sind die mittels einer in Fig. 34 gezeigten Verschiebung durch ein Schieberegister erhaltenen Ausgangssignale. Durch die Ausgangssignale PC1 bis PC16 werden den jeweiligen Syndromen SI bis SIV entsprechend der Formel (28) Konstanten zugewiesen und an eine BUS-Leitung Y ausgegeben. Fig. 33 zeigt eine Schaltung, die eine EOW-Steuerung für die somit zugewiesenen Doppel-Fehler-Korrektur-Kodierungs-Konstanten-Ausgangssignale durchführt und das Ergebnis dieser Steuerung an den Eingang der BUS-Leitung Y der Multipliziereinrichtung ausgeben kann. Die Doppel-Fehler-Korrektur-Kodierkonstanten-Ausgabeschaltung, die PC1 bis PC16 verwendet, kann einen Aufbau wie in Fig. 35 gezeigt, besitzen.
  • Im Fall eines Einzel-Fehler-Korrektur-Kodierungs-Vorgangs nimmt SCL einen niedrigen (L) Pegel an, wenn das Syndrom SIII erzeugt wird, so daß nur PC1 bis PC8 verwendet werden. Nämlich werden Kodierungs-Konstanten entsprechend SI und SII mittels von PC1 bis PC8 zugewiesen. In diesem Fall haben S2 und S3 keine Bedeutung, so daß 0 im Hinblick auf S2 und S3 ausgegeben wird. Es ist verständlich, daß die Einzel-Fehler-Korrektur-Kodierungs- Einstell-Schaltung denselben Aufbau und dasselbe Funktionsprinzip wie die Doppel-Fehler-Korrektur-Kodierungs-Schaltung haben kann, wie in den Figen. 36 und 37 gezeigt. Der Funktionszeitablauf dieser Schaltung ist in Fig. 34 gezeigt.
  • Wie im Fall der Kodierungskonstante wird die Codelängen-Korrektur-Konstante 1 mittels einer Schaltung erzeugt, die Blöcke, wie in Fig. 38 gezeigt, aufweist. Der Funktionszeitablauf dieser Schaltung ist in Fig. 39 gezeigt. In dem Fall, daß die Länge n fest ist; können 1 und α-n bis α-3n durch eine ODER-Schaltung erzeugt werden.
  • Wenn die Länge n veränderbar ist, kann die Codelängen-Korrektur-Schaltung aus einem Nur-Lesespeicher (ROM) oder einer später erwähnten Exponenten/Vektor-Umwandlungs-Schaltung aufgebaut sein, wie folgt. Nämlich kann die Anordnung derart sein, daß α-n von einer Multipliziereinrichtung in dem Zeitraum der Erzeugung eines ersten Syndroms erzeugt wird, und dann α-2n und α-3n von der Multipliziereinrichtung erzeugt werden, wobei die Ausgangssignale von einem Drei-Zustands-Register zwischengespeichert werden, das der Reihe nach bei NCK1 bis NCK3 OE-gesteuert ist. Ein Beispiel für eine derartige Codelängen-Korrektur-Schaltung ist mittels eines Blockschaltbilds in Fig. 40 gezeigt, während der Funktionszeitablauf dieser Schaltung in Fig. 41 gezeigt ist.
  • Was das Auswahlsignal betrifft, werden Kodierung und Dekodierung durch D ausgedrückt, während die Korrektur-Kapazität durch T dargestellt wird. EOW (Kodierung, T = 2), EOS (Kodierung, T = 1) und HOE (Dekodierung) werden durch Setzen von T und D durchgeführt. Wenn T und D nicht gesetzt sind, nehmen EOW, EOS und HOE einen hohen (H) Pegel an.
  • [Mustererzeugungsschaltung]
  • Die in Formel (38) gezeigte Funktion kann durch eine in Fig. 42 gezeigte Schaltung ausgeführt werden. KO wird von KD mittels Berechnen von UND von KD und KGTZ extrahiert und das somit extrahierte K0 wird in ein Register eingegeben. Dann wird das Ausgangssignal X²&sup5;&sup4; A0², d.h. A0² (A0 + A1)&supmin;¹ aus dem Ausgangssignal ZS der in Fig. 31 gezeigten Auswahleinrichtung extrahiert, und EXKLUSIV-ODER bzw. EXOR des somit extrahierten Ausgangssignals und des Ausgangssignals des Registers berechnet, wodurch ein Fehlermuster erzeugt wird. In anderen Fällen wird EXKLUSIV-ODER bzw. EXOR durch Setzen des Ausgangssignals als 0 berechnet, indem eine Bedingung von KGT = XGT = 0 angelegt wird. Dieser Vorgang wird allgemein bei der Einzel- und Doppel-Fehler-Korrektur angewandt. Der Zeitablauf der Funktion dieser Schaltung ist in Fig. 43 gezeigt. Im Fall der Dekodierung jedoch lautet eine Bedingung PCL = H.
  • Die Erzeugung von Parität bzw. Gleichheit wird während der Kodierung durchgeführt. Im Fall einer Doppel-Fehler-Korrektur-Kodierung werden durch Multiplikation der Syndrome SI bis SIV mit Kodierungskonstanten Werte von ZS erhalten. Daher ist es möglich, Paritäten bzw. Gleichheiten in-3 bis in aufeinanderfolgend zu erzeugen, indem kontinuierlich EXKLUSIV-ODER bzw. EXOR des ZS Ausgangssignals und des Ausgangssignals des Registers erzeugt werden, das von CKB6 unter der Bedingung von XGT = H und KGT = L gelöscht wird, bis das Registerausgangssignal wiederum durch CKB6 gelöscht wird. Die vorstehend beschriebene Funktion wird nur in dem Zeitraum durchgeführt, in dem Syndrome S1 bis SW von ZS ausgegeben werden. Andere Ausgangssignale von EP haben keine Bedeutung. Daher wird durch Setzen von PCL auf den niedrigen (L) Pegel das Ausgangssignal von EP auf "0" gesetzt. Dieser Vorgang ist in Fig. 44 gezeigt. Der bei Einzel- Fehler-Korrektur-Kodierung durchgeführte Vorgang ist in Fig. 45 gezeigt.
  • Die Funktion von Formel (35) wird verwirklicht, wie im Fall der Syndromerzeugungsschaltung, indem die Syndrome Si k-mal mit αi multipliziert werden. Die Funktion von Formel (36) kann durch einen EKLUSIV-ODER bzw. EXOR Vorgang durchgeführt werden. Die Funktion von Formel (37) kann durch Multiplikation von EXKLUSIV-ODER bzw. EXOR und A1² verwirklicht werden. Die Formel (37) jedoch hat keine Bedeutung für den durch die Formel (38) ausgedrückten Mustererzeugungsvorgang. Andere Vorgänge als die X² Berechnung sind gewöhnliche Vorgänge und können daher mittels einer einfachen Schaltung verwirklicht werden. Die X² Berechnung kann auch ohne wesentliche Schwierigkeit durch die in Fig. 46 gezeigte Anordnung durchgeführt werden.
  • Im folgenden wird eine Modifizierung dieses Ausführungsbeispiels beschrieben.
  • Der Kodiervorgang wird entspreched den vorstehend erwähnten Formeln (22) bis (29) durchgeführt. Kurz gesagt, der Kodiervorgang besteht in der Bestimmung von Syndromen SI bis SIV, der Multiplikation dieser Syndrome mit durch Formeln (28) und (29) bestimmten Kodierkonstanten und der Berechnung von EXKLUSIV- ODERS bzw. EXORS dieser Ausgangssignale für alle vier Taktsignale (S0 bis S3), wodurch Paritäten bzw. Gleichheiten alle vier Taktsignale erzeugt werden. Somit kann der Kodiervorgang mittels einer Schaltung mit Blöcken, wie in Fig. 29 gezeigt, durchgeführt werden, einschließlich einer Einzel-Multiplizierschaltung, einer Syndromerzeugungsschaltung, die Syndrome SI bis SIV seriell ausgeben kann, einer Schaltung zur seriellen Ausgabe von Kodierkonstanten und einer EXKLUSIV-ODER bzw. EXOR Schaltung zur Berechnung von EXKLUSIV-ODER bzw. EXOR für alle vier Taktsignale.
  • Der Dekodiervorgang wird mittels arithmetischer Operationen in den Formeln (30) bis (39) durchgeführt. Der erste Schritt kann durch denselben Aufbau wie der Kodiervorgang durchgeführt werden, da der Vorgang in diesem Schritt darin besteht, die Syndrome S mit den Codelängen-Korrektur-Konstanten a-n bis a-3n zu multiplizieren, wobei die Werte der Konstanten in beiden Betriebsarten verschieden sind. Dann wird die arithmetische Operation entsprechend den Formeln (11) bis (20) von einer in Fig. 47 gezeigten Schaltung durchgeführt. Angenommen, daß diese Mustererzeugungsschaltung eine EXKLUSIV-ODER bzw. EXOR Schaltung ist, die in einer Periode von vier Taktsignalen funktioniert, kann eine derartige Schaltung gemeinsam sowohl in dem Kodierals auch in dem Dekodiervorgang verwendet werden.
  • Im folgenden wird ein Versuch zur Kombination von drei Multipliziereinrichtungen in Fig. 47 in einer einzelnen Multipliziereinrichtung diskutiert.
  • Die Teilung von A&sub0;²(A&sub0; + A&sub1;)&supmin;¹ kann durch eine später erwähnte Schaltung durchgeführt werden, die eine Multipliziereinrichtung enthält, die eine Multiplikation entsprechend vier Taktsignalen durchführen kann. Da die Syndromerzeugungsschaltungen S&sub0; bis S&sub3; in einem Zeitraum entsprechend vier Taktsignalen funtionieren, ist es möglich, vier Taktsignale als einen Grundzeitraum zu betrachten. In den Formeln (30) bis (39) sind die Multiplikation A&sub0; A&sub2; und die Multiplikation von y x¹&sup4;, die in der Teilungsschaltung verwendet werden, durchzuführen. Die Codelängen- Korrektur wird anhand der Codetabelle und nicht auf der Grundlage des Codeworts durchgeführt.
  • Die Funktion für die Multiplikation mit α-n bis α-3n wird in dem Zeitraum von drei Taktsignalen durchgeführt, so daß ein einem Taktsignal entsprechender Zeitraum ungenutzt bleibt. Die Multiplikation A&sub0; A&sub2; wird in diesem Zeitraum durchgeführt. Die Multiplikation von y x¹&sup4; wird nicht nur durchgeführt, wenn die Codelängen-Korrektur durchzuführen ist. In einem derartigen Fall wird die Erzeugung eines Fehlermusters im Hiblick auf das Codewort weggelassen, das eine Codelängen-Korrektur erfordert. Dies verursacht jedoch kein wesentliches Problem, wenn dieses Codewort in dem Paritäts- bzw. Gleichheitsteil gesetzt ist.
  • Somit ist es möglich, die Kodier- und Dekodierschaltung durch Anwendung des in Fig. 48 gezeigten Schaltungsaufbaus zu vereinfachen.
  • Die Syndromerzeugungsschaltung, die Konstanten-Ausgabeschaltung und die Musterausgabeschaltung sind dieselben, wie vorstehend beschrieben, so daß eine genaue Beschreibung davon weggelassen wird. Daher wird wiederum im Hinblick auf die K-Erzeugungsschaltung, die Vergleichsschaltung und die A-Erzeugungsschaltung begonnen.
  • [K-Erzeugungsschaltung]
  • Die K-Erzeugungsschaltung 481 ist eine Schaltung zur Multiplikation des Syndroms Si' nach der Codelängen-Korrektur gemäß Formel (34) mit α-i für einen Zeitraum entsprechend der Codelänge, so daß die Funktion von Formel (35) ausgeführt wird. Daher bezieht sich diese Schaltung nur auf den Dekodiervorgang und kann mittels einer Schaltungsanordnung ähnlich der Syndromerzeugungsschaltung verwirklicht werden. Praktisch jedoch wird eine in Fig. 49 gezeigte Schaltung verwendet, da in diesem Fall die Berechnung von EXKLUSIV-ODER bzw. EXOR mit dem empfangenen Wort nicht notwendig ist. Durch Verwendung einer Drei-Zustands-Steuerschalteinrichtung, wie dem in Fig. 49 gezeigten Schalter, und durch Anwenden eines BUS-Leitungs-Steueraufbaus, ähnlich dem der Syndromerzeugungschaltung, wird eine Schaltung wie in Fig. 50 gezeigt, erhalten. Das Syndrom S0 erfordert keine Codelängen-Korrektur gemäß der Formel (34), aber die Syndrome S1 bis S3 müssen über Codelängen-Korrektur in S1' bis S3' umgewandelt werden. Die Codelängen-Korrektur wird mittels Multiplikation der jeweiligen Syndrome mit Codelängen-Korrekturkonstanten durchgeführt. Wenn die Anordnung derart ist, daß die korrigierten Syndrome S1' bis S3' synchronisiert mit SE ausgegeben werden, wird S0 bei CK3 zwischengespeichert und wird bei KE ausgegeben, um den Zeitpunkt von S0 mit dem Zeitpunkt von S0' zusammenfallen zu lassen, so daß die korrigierten Syndrome S', einschließlich S0' bis S3', in der erwähnten Weise in die K-Erzeugungsschaltung eingegeben werden. Daher funktionieren die Ausgabe-Freigabe-Signale RE1 bis RE4 von Zwischenspeichern für K0 bis K3 wie im Fall des in Fig. 32 gezeigten Zeitablaufdiagramms in konkurrierender Weise. Diese Signale RE1 bis RE4 jedoch müssen im Zeitraum eingeschaltet bleiben, in dem S' von KE und SE empfangen wird. Der Zeitaublauf dieses Vorgangs ist in Fig. 51 gezeigt. Wie im Fall der Syndromerzeugungsschaltung besitzt diese Schaltung den Vorteil, daß sie K mit einer klein dimensionierten Schaltung unter der Zuführung der korrigierten Syndrome S' der BUS-Leitungsstruktur erzeugen kann. Folglich werden K0 bis K3 in einem Zeitraum entsprechend vier Taktsignalen ausgegeben.
  • [Vergleichsschaltung]
  • Fig. 52 ist ein Blockschaltbild der Vergleichsschaltung. Die Vergleichsschaltung soll einen Vergleich zwischen A0 A1 und A1² durchführen, um zu beurteilen, ob sie miteinander übereinstimmen oder nicht, d.h. ob L2 = A1² + A0, A2 = 0 oder L2 ≠ 0 (Formel (39)), und speichert das Ergebnis bei CK6 zwischen, um dadurch die Position des zu korrigierenden Doppel-Fehlers zu erfassen. Die Position des Einzel-Fehlers wird durch Beurteilen, entsprechend Formel (39), ob L1 = A0 = 0 oder L1 ≠ 0 und dann Zwischenspeichern des Ergebnisses bei CK6 durchgeführt.
  • [A-Erzeugungschaltung]
  • Die A-Erzeugungsschaltung besteht aus einer Schaltung, die entsprechend der Formel (36) EXKLUSIV-ODER bzw. EXOR von K0 bis K3, erzeugt von der K-Erzeugungsschaltung, berechnet, um A0 bis A2 zu erzeugen, und einer Schaltung zur Erzeugung von A0 + A1, A0² und A1². Die A-Erzeugungsschaltung ist nur Bestandteil des Dekodiervorgangs. Aufgrund der Verwendung eines BUS-Leitungs- Art-Aufbaus werden K0 bis K3 nicht gleichzeitig eingegeben. Daher ist es erforderlich, K durch MCK durch ein Taktsignal zwischenzuspeichern und das EXKLUSIV-ODER bzw. EXOR des um ein Taktsignal verzögerten Ausgangssignals und K zu berechnen, um A zu erzeugen. Die Anordnung einer Schaltung zur Verwirklichung eines derartigen Vorgangs und der Zeitablauf des Vorgangs dieser Schaltung sind in den Figen. 53 bzw. 54 gezeigt. In den Figen. 54 folgende sind schraffiert gezeigte Signale ungültige Signale. Der nächste Teil von A2 ist K3 + K0, das keine Bedeutung in den nachfolgenden Algorithmen hat. Das Ausgangssignal von A0 + A1 wird nur in den Teilen von A durchgeführt, die synchron mit A1 sind, und andere Teile von A besitzen keine Bedeutung. Ein Signal A wird bei CK7 und CK1 zwischengespeichert, um A0 und A1 zu bilden, um dadurch A0², A1² zu erzeugen. Dieser Vorgang wird durchgeführt, um einen optimalen Zeitablauf für die Berechnung der Formeln (37) und (38) zu erhalten.
  • Was die x²-Schaltung betrifft, die den Vektorausdruck von x durch P(x) = x&sup8; + x&sup4; + x³ + x² + 1 darstellt, wobei x dargestellt wird durch x = V7 α&sup7; + V6 α&sup6; + V5 α&sup5; + V4 α&sup4; + V3 α³ + V2 α² + V1 α + V0, kann x² entwickelt werden wie folgt:
  • x² = V7 α¹&sup4;+V6 α¹²+V5 α¹&sup0;+V4 α&sup8;+V3 α&sup6;+V2 α&sup4;+ +V1 α²+V0
  • = V7 (α&sup4;+α+1)+V6 (α&sup7;+α&sup6;+α³+α²+1)+V5 (α&sup6;+α&sup5; +α&sup4;+α²)+V4 (α&sup4;+α³+α²+1)+V3 α&sup6;+V2 α&sup4;+V1 α²+V0
  • = V6 α&sup7;+(V6+V5+V3) α&sup6;+V5 α&sup5;+(V7+V5+V4+V2) α&sup4; +(V6+V4) α³+(V6+V5+V4+V1) α²+V7 α+(V7+V6+V4+V0)
  • Somit kann x² mittels einer Schaltung mit einem in Fig. 46 gezeigten Aufbau bestimmt werden, wie vorstehend erläutert.
  • Wie aus der vorstehenden Beschreibung ersichtlich, ermöglicht dieses Ausführungsbeispiel eine Verringerung der Schaltungsgrö- ße durch gemeinsame Verwendung von Schaltungsanordnungen sowohl bei der Kodierung als auch bei der Dekodierung und mehrfache Verwendung der Schaltung, während eine hohe Geschwindigkeit des Kodier- und Dekodiervorgangs beibehalten wird und während eine Veränderung der Korrekturkapazität und der Codelänge möglich ist.
  • Folglich trägt dieses Ausführungsbeispiel zu einer Verringerung der Größe und einer Verbesserung der Leistung irgendeiner Einrichtung bei, die dieses Ausführungsbeispiel des erfindungsgemäßen Fehler-Korrekturgeräts enthält.
  • [Viertes Ausführungsbeispiel]
  • Im folgenden wird eine Syndromerzeugungsschaltung in einer Bose-Chaudhuri-Hocquenghem (BCH)-Kodier- oder Dekodierschaltung, die in einem vierten Ausführungsbeispiel verwendet werden kann, beschrieben.
  • Fig. 55 zeigt den Aufbau dieses Ausführungsbeispiels. Die in Fig. 55 gezeigte Schaltung enthält keine unabhängigen Schaltungen für αi, sondern es wird eher die Größe der Schaltung verringert, indem die Tatsache ausgenutzt wird, daß die Wurzel αi des Bose-Chaudhuri-Hocquenghem (BCH)-Codes in Formel (2) fortschreitend von αr (mit r als eine beliebige Zahl und in diesem Fall eingestellt als r = 0) aufgetragen wird, wie beispielsweise αr+1, αr+2, usw.. Zum selben Zeitpunkt wird eine BUS-Leitungs-Struktur für S0 bis S3 verwendet. Da die BUS-Leitungs-Art-Struktur für S0 bis S3 verwendet wird, ist es erforderlich, daß CK und OE (Ausgabefreigabe) in dem S0 bis S3 entsprechenden Zeitraum in konkurrierender Weise verwendet werden müssen. Die für jeweilige von S0 bis S3 verwendeten CK und OE werden durch ein Signal gesteuert, das in Fig. 56 gezeigt ist. Signale CKB1, CKB3, CKB5 und CKB7 sind Signale, die über eine Umkehr bzw.
  • Inversion von CK1, CK3, CKS und CK7 erhalten wurden, indem hoch (H) durch niedrig (L) ersetzt wurde und umgekehrt. Daher ist es notwendig, daß das Eingangssignal J für jedes ji synchronisiert mit CK1 eingegeben wird. SCL ist ein Signal, das den niedrigen Pegel (L) annimmt, wenn des erste empfangene Wort j1 eingegeben wird, Daher werden S0 bis S3 alle vier Taktsignale ausgegeben und die endgültige Antwort wird ansprechend auf jedes SCL gegeben. Es ist jedoch verständlich, daß SPCL im Fall eines Dekodiervorgangs immer hoch (H) ist.
  • Die Berechnung der vorstehend erläuterten Formel (2) kann auch als Lösung von Fragen in einer digitalen Fouriertransformation DFT angewendet werden.
  • Wenn es erforderlich ist, daß die Multiplikation mit αr vorher durchgeführt wird, wird eine αr Schaltung zwischen EXKLUSIV- ODER bzw. EXOR und dem Register, das J ausgibt, verbunden.
  • Die Anordnung kann auch derart sein, daß eine αr-l Schaltung (l stellt irgendeine positive Zahl dar) zwischen dem EXKLUSIV-ODER bzw. EXOR und dem Register, das J ausgibt, angeordnet wird, während eine αl Schaltung zwischen EXKLUSIV-ODER bzw. EXOR und dem Register von S0 und der α Schaltung angeordnet ist.
  • Fig. 57 veranschaulicht eine Anordnung, die zur Verwendung in dem Fall geeignet ist, in dem eine Multiplikation mit αr notwendig ist. Eine αx Schaltung kann durch Stapeln der in Fig. 4 gezeigten α Schaltung in x-Stufen verwirklicht werden.
  • Somit bietet das beschriebene Ausführungsbeispiel die vorstehend dargelegten Vorteile, während die Größenordnung oder Größe der Schaltung verringert wird, auch wenn die Zahl q des Galoisfunktion GF(2q) groß ist oder die Zahl j der Syndrome Si groß ist oder wenn die Syndrome Si über eine BUS-Leitung verbunden sind.
  • Es ist erkennbar, daß die Größen der Einrichtungen, wie beispielsweise einer optischen Platteneinrichtung, einer optischen Karteneinrichtung, einer opto-magnetischen Platteneinrichtung und eines DAT durch Verwendung der Schaltung gemäß diesem Ausführungsbeispiel bedeutend verringert werden kann.
  • [Fünftes Ausführungsbeispiel]
  • Im folgenden wird ein fünftes Ausführungsbeispiel der Erfindung beschrieben.
  • Die Eingangssignale x und y werden im Hinblick auf eine Multiplizierschaltung bei einer Galoisfunktion GF(2&sup8;) wie folgt ausgedrückt.
  • x = x&sub7; α&sup7; + x&sub6; α&sup6; + x&sub5; α&sup5; + x&sub4; α&sup4; + x&sub3; α³ + x&sub2; α² + x&sub1; α + x&sub0;
  • y = y&sub7; α&sup7; + y&sub6; α&sup6; + y&sub5; α&sup5; + y&sub4; α&sup4; + y&sub3; α³ + y&sub2; α² + y&sub1; α + y&sub0;
  • Daher wird das Produkt Z von x und y (Z = x y) wie folgt ausgedrückt: Z = x&sub7; (y α&sup7;) + x&sub6; (y α&sup6;) + ... + x&sub2; (y α²) + x&sub1; (y α) + x&sub0; y
  • Daher wird das Produkt Z durch Multiplikation des Werts von y mit 1 bis α&sup7; und Erlauben des Durchgangs der Ausgangssignale y αi, wenn xi (i = 0 bis 7) 1 ist, während 0 passiert, wenn xi 0 ist, und dann Berechnen von EXKLUSIV-ODER bzw. EXOR der Ausgangssignale erzeugt. Die Multiplikation kann von einer Schaltung mit Blöcken, wie in Fig. 58 gezeigt, durchgeführt werden.
  • Fig. 59 zeigt den Aufbau der durch gekennzeichneten Schaltung. In dieser Schaltung werden aufeinanderfolgende Werte von y mit α der in Fig. 4 gezeigten und an sich bekannten α Schaltung multipliziert und es werden UNDs dieser Ausgangssignale und von xi (i = 0 bis 7) y berechnet. Die UND-Ausgangssignale werden dann durch eine EXKLUSIV-ODER bzw. EXOR Schaltung + verarbeitet, wodurch das Ausgangssignal Z erhalten wird. In dieser Figur bezeichnet eine Kennzeichnung eine BUS-Leitung.
  • Fig. 60 zeigt eine zur Minimierung der Verzögerungszeit in der Gatterschaltung, die durch Stapeln von α Schaltungen in sieben Stufen, wie vortehend erläutert, gebildet wird, beabsichtigte Modifikation,. Daher kann diese Modifikation die maximale Verarbeitungsgeschwindigeit erhöhen.
  • Im folgenden wird eine Teilungsschaltung beschrieben.
  • In einer beispielsweise duch GF(α²&sup5;&sup4;) ausgedrückten Galoisfunktion wird y/x aufgrund der zyklischen Natur der Galoisfunktion folgendermaßen ausgedrückt:
  • y/x = y x&supmin;¹ = y x²&sup5;&sup4;
  • ( α²&sup5;&sup5; = 1 = a&sup0;, so daß α²&sup5;&sup4; = α&supmin;¹)
  • Eine Berechnung von α²&sup5;&sup4; kann ohne Schwierigkeit durch einen Nur-Lesespeicher (ROM) durchgeführt werden. In diesem Ausführungsbeispiel jedoch wird diese Berechnung unter Verwendung einer Gatterschaltung durchgeführt. Aufgrund der Natur der Galoisfunktion kann eine Schaltung zur Berechnung irgendeiner durch x2m (m = 1, 2, ...) ausgedrückten Galoisfunktion leicht aufgebaut werden. Jedoch ist dies nicht der Fall für x²&sup5;&sup4;. Daher schlägt dieses Ausführungsbeispiel eine Schaltung vor, die eine x2m Schaltung und eine Multiplizierschaltung verwendet, die auf eine möglichst einfache Weise miteinander kombiniert werden. Es wird hier also angenommen, daß die Erzeugung von x²&sup5;&sup4; aus x innerhalb von vier Taktsignalen durchzuführen ist. Zu diesem Zweck wird x²&sup5;&sup4; wie folgt zusammengesetzt:
  • x²&sup5;&sup4; = x¹&sup4; (x¹&sup4; x¹&sup6;)&sup8;
  • Daher kann, vorausgesetzt, daß x¹&sup4; bestimmt ist, x²&sup5;&sup4; mittels zweier Multiplikationsvorgänge, d.h. innerhalb zweier Takte erzeugt werden. Dies bedeutet, daß zwei Takte für zwei Multiplikationsvorgänge zur Bestimmung von x¹&sup4; verwendet werden können.
  • x¹&sup4; = x² x&sup4; x&sup8;
  • Somit werden x² und x&sup4; aus x bestimmt und x&sup6; wird in dem Zeitraum des ersten Takts erzeugt.
  • Im Zeitraum des zweiten Takts wird x¹&sup4; aus x&sup6; und (x&sup4;)² erzeugt.
  • Im Zeitraum des dritten Takts wird x³&sup0; als x¹&sup4; und (x&sup8;)² erzeugt.
  • Im Zeitraum des vierten Takts wird x²&sup5;&sup4; aus x¹&sup4; und (x³&sup0;)² erzeugt.
  • Wenn das Erfordernis nur darin besteht, x²&sup5;&sup4; zubestimmen, sind die vorstehend beschriebenen Multiplikationen ausreichend. In diesem Fall jedoch ist es erforderlich, daß auch y x²&sup5;&sup4; im Zeitraum des vierten Takts berechnet wird. Zu diesem Zweck wird x¹&sup4; y² anstelle von x¹&sup4; im vierten Takt verwendet. Es wird angenommen, daß x¹&sup4; y von einer anderen Mulitplizierschaltung berechnet wird.
  • Fig. 61 zeigt ein Blockschaltbild einer Schaltung, die zur Durchführung der vorstehend beschriebenen Reihe von Vorgängen entworfen wurde. Diese Schaltung besteht aus x², x&sup4; und x&sup8; Schaltungen 611, 612 und 613, einer Multipliziereinrichtung 4 und Auswahleinrichtungen 615, 616, 617 und 618 zur Auswahl der Eingangssignale und Zwischenspeichereinrichtungen 619, 610 zur Korrektur der verzögerung durch das Gatter. Der Aufbau der x², x&sup4; und x&sup8; Schaltungen 611, 612 und 613 ist in den Figen. 63, 64 bzw. 65 gezeigt. Ein Symbol + stellt eine EXKLUSIV-ODER bzw. EXOR Schaltung dar, während ein Symbol eine BUS-Leitung darstellt.
  • Unter der Bedingung, daß x = V&sub7; α&sup7; + V&sub6; α&sup6; + V&sub5; α&sup5; + V&sub4; α&sup4; + V&sub3; α³ + V&sub2; α² + V&sub1; α + V&sub0; werden x², x&sup4; und x&sup8; in den primitiven Polynomen P(x) = x&sup8; + x&sup4; + x³ + x² + 1 folgendermaßen ausgedrückt:
  • x² = v&sub6; α&sup7; + (v&sub6;+ v&sub5; + v&sub3;) α&sup6;+ v&sub5; α&sup5; + + (v&sub7; + v&sub5; + v&sub4; + v&sub2;) α&sup4; + (v&sub6; + + v&sub4;) α³ + (v&sub6; + v&sub5; + v&sub4; + v&sub1;) α² + + v&sub7; α + (v&sub7; + v&sub6; + v&sub4; + v&sub0;)
  • x&sup4; = (v&sub6;+ v&sub5; + v&sub3;) α&sup7; + (v&sub4;+ v&sub3;) α&sup6; + + v&sub5; α&sup5; + (v&sub7; + v&sub5; + v&sub2; + v&sub1;) α&sup4; + (v&sub7; + + v&sub6; + v&sub4;+ v&sub3; + v&sub2;) α³ + (v&sub6; + v&sub5; + v&sub4; + + v&sub3; + v&sub2;) α² + v&sub6; α + (v&sub6; + v&sub3; + v&sub2; + v&sub0;) x&sup8; = (v&sub4;+ v&sub3;) α&sup7; + (v&sub7;+ v&sub6; + v&sub5; + v&sub2;) α&sup6; + + v&sub5; α&sup5; + (v&sub7; + v&sub4; + v&sub1;) α&sup4; + (v× + +v&sub5; + v&sub4; + v&sub3; + v&sub2; + v&sub1;) α³ + (v&sub7; + +v&sub6; + v&sub4; + v&sub3; + v&sub2; + v&sub1;) α² + (v&sub6; + + v&sub5; + v&sub3;) α + (v&sub7; + v&sub4; + v&sub3; + v&sub1; + v&sub0;) + + v&sub7; α + (v&sub7; + v&sub6; + v&sub4; + v&sub0;)
  • Fig. 62 ist ein Zeitablaufdiagramm, das die Funktion der in Fig. 61 gezeigten Schaltung veranschaulicht.
  • Fig. 66 zeigt eine Teilungsschaltung mit verschiedenen Formen der x², x&sup4; und x&sup8; Schaltungen 61, 62 und 63, die die Verarbeitungsgeschwindigkeit der Teilungsschaltung beträchtlich verbessern.
  • Nun wird eine Exponenten/Vektor-Umwandlungsschaltung beschrieben. Wenn die Galoisfunktion die ist, die durch GF(2&sup8;) dargestellt wird, wird der Exponent n in die Exponenten/Vektor-Umwandlungsschaltung in einer binären Form (N7 bis N0: Ni = 1 oder 0) eingegeben und wird wie folgt ausgedrückt. Der Exponent n wird dann zum Zweck der Erzeugung von αn zerlegt.
  • n = N7 128 + N6 64 + N5 32 + + N4 16 + N3 8 + N2 4 + + N1 2 + N0 1
  • αn = αN7 128 αN6 64 αN5 32 αN4 16 αN3 8 αN2 4 αN1 2 αN0
  • Somit kann die Exponenten/Vektor-Umwandlung mittels Aufbau einer Schaltung erreicht werden, die α2i ausgibt, wenn Ni (i = 0, ..., 7) 1 ist, und mittels aufeinanderfolgender Multiplikation der Ausgangssignale einer derartigen Schaltung. Ein Beispiel für eine derartige Schaltung ist durch ein Blockschaltbild gemäß Fig. 67 gezeigt, während der Zeitablauf der Funktion dieser Schaltung in Fig. 68 gezeigt ist. Wenn die binären Ausdrücke einer Codelänge n aufeinanderfolgend beginnend mit N0 und endend mit N7 zugeführt werden, werden Ausgangssignale αN0 bis αN7 128 aufeinanderfolgend an der BUS-Leitung Y erhalten und werden zu einer Multiplizierschaltung 672 gesendet. Das Ausgangsisgnal Z der Multiplizierschaltung 672 erzeugt aufeinanderfolgend mit αN0 bis αN7 128 multiplizierte Werte. Diese Ausgangssignale werden in ein Register 3 eingetragen und werden in einen anderen Eingabeanschluß x der Multiplizierschaltung 672 eingegeben. Es ist zu bemerken, daß der Inhalt des Registers zuvor derart eingestellt wird, daß 1 an den Anschluß X ausgegeben wird, wenn Y anfänglich αN0 ausgibt, so daß αn erzeugt wird, wenn αN7 128 ausgegeben wird.
  • Der Aufbau der Exponenten/Vektor-Umwandlungsschaltung 671, die aufeinanderfolgend αN0 bis αN7 128 entsprechend binär-kodierten Exponenten N0 bis N7 ausgeben kann, ist in Fig. 69 gezeigt.
  • Bisher wurde diese Schaltung von einem Nur-Lese-Speicher (ROM) gebildet. Im Gegensatz dazu verwirklicht das beschriebene Ausführungsbeispiel diese Schaltung durch eine Kombination von Gattern. In Fig. 69 stellt ein Symbol + eine ODER-Schaltung dar.
  • Wenn das nicht-reduzierbare Polynom ausgedrückt wird durch P(x) = x&sup8; + x&sup4; + x³ + x² + 1 und unter der Bedingung, daß Ni = 1 (i = 1 T 7), gibt die in Fig. 69 gezeigte Schaltung aufeinanderfolgend aus α = (01000000), α² = (00100000), α&sup4; = (00001000), α&sup8; = (10111000), α¹&sup6; = (00110010), α³² = (10111001), α&sup6;&sup4; = (11111010) und α¹²&sup8; = (10100001), und gibt 1 unter der Bedingung aus, daß Ni = 0.
  • Es ist somit möglich, mittels einer vereinfachten Gatter-Schaltungsanordnung eine Umwandlung von einem exponentiell ausgedrückten Wert n in einen Vektorausdruck αn durchzuführen, im Gegensatz zur herkömmlichen Technik, in der diese Umwandlung mittels eines Nur-Lesespeichers (ROM) durchgeführt wird.
  • Die in Fig. 67 gezeigte Schaltung benötigt 8 Takte für eine serielle Ausgabe von N0 bis N7, bis αn gebildet ist. Wenn eine Verringerung der Anzahl von Takteingaben gewünscht ist, kann die Anordnung derart modifiziert werden, daß N0 bis N7 parallel ausgegeben werden und eine Vielzahl von Multiplizierschaltungen zur Verringerung der Anzahl von Eingabetakten verwendet wird.
  • Bei einer derartigen Modifikation wird jedoch die Größe der Schaltung leicht vergrößert, verglichen mit der des beschriebenen Ausführungsbeispiels.

Claims (7)

1. Umwandlungsgerät (Fig. 67) Zur Umwandlung eines Ausdrucks eines Elements eines Galois-Felds GF(2m) aus einem exponentiellen Ausdruck n in einen Vektorausdruck αn, wobei n = 2m-1 Nm-1+2m-2 Nm-2+ ... +2 N&sub1;+N&sub0;, mit:
einer Logik-Schaltungseinrichtung (671, Fig. 69) zum Empfangen von Ni (i=0 ... m-1), zum Ausgeben der 2i-ten Leistung von α, wenn Ni = 1, und zum Ausgeben von 1, wenn Ni = 0, als die (2i Ni)-te Leistung von α; und
einer Multipliziereinrichtung (672) zum Multiplizieren der Ausgangssignale der Logik-Schaltungseinrichtung für alle empfangenen Ni (i=0 ... m-1) und zum Ausgaben des Ergebnisses der Multiplikation als αn.
2. Umwandlungsgerät nach Anspruch 1, wobei die Multipliziereinrichtung aufeinanderfolgend eines der Ausgangssignale der Logik-Schaltungseinrichtung mit dem Ergebnis einer vorhergehenden Multiplikation multipliziert.
3. Umwandlungsgerät nach Anspruch 2, weiterhin mit einer Speichereinrichtung (673) zur Speicherung des Ausgangssignals der Multipliziereinrichtung und zum Zuführen der Ausgangssignals der Multipliziereinrichtung für eine nachfolgende Multiplikation.
4. Umwandlungsgerät nach Anspruch 1, wobei die Logik-Schaltungseinrichtung jedes von Ni (i=0 ... m-1) aufeinanderfolgend empfängt.
5. Umwandlungsgerät nach Anspruch 1, wobei die Logik-Schaltungseinrichtung eine Vielzahl von Schaltungseinrichtungen enthält, von denen jede Ni (i=0 ... m-1) parallel empfängt
6. Umwandlungsverfahren zum Umwandeln eines Ausdrucks eines Elements eines Galois-Felds GF(2m) aus einem exponentiellen Ausdruck n in einen Vektorausdrück αn, wobei n = 2m-1 Nm-1+2m-2 Nm-2+ ... +2 N&sub1;+N&sub0;, wobei das Verfahren die folgenden Schritte umfaßt:
aufeinanderfolgendes Eingeben von Ni(i=0 ... m-1) in eine Logikschaltung (671, Fig. 69) und Ausgeben einer 2i-ten Leistung von α, wenn Ni = 1, und Ausgeben von 1, wenn Ni = 0, aus der Logikschaltung als 2i Ni-te Leistung von α,
aufeinanderfolgendes Multiplizieren eines Ausgangssignals der Logikschaltung mit einem Ergebnis einer vorhergehenden Multiplikation, und
Ausgeben eines Ergebnisses der letzten Multiplikation als αn.
7. Fehlerkorrekturgerät mit einem Umwandlungsgerät nach einem der Ansprüche 1 bis 5.
DE3751958T 1986-09-30 1987-09-29 Fehlerkorrekturgerät Expired - Lifetime DE3751958T2 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
JP61232008A JP2566929B2 (ja) 1986-09-30 1986-09-30 符号化・復号回路
JP61232003A JPH0783277B2 (ja) 1986-09-30 1986-09-30 ガロア体上の元の表現形式変換回路
JP61232004A JPS6386925A (ja) 1986-09-30 1986-09-30 ガロア体乗算回路
JP61232005A JPS6386926A (ja) 1986-09-30 1986-09-30 ガロア体除算回路
JP61232007A JP2547744B2 (ja) 1986-09-30 1986-09-30 符号化・復号回路
JP61232001A JP2541938B2 (ja) 1986-09-30 1986-09-30 シンドロ−ム生成回路
JP61232006A JP2823158B2 (ja) 1986-09-30 1986-09-30 誤り訂正装置

Publications (2)

Publication Number Publication Date
DE3751958D1 DE3751958D1 (de) 1997-01-02
DE3751958T2 true DE3751958T2 (de) 1997-04-10

Family

ID=27566647

Family Applications (3)

Application Number Title Priority Date Filing Date
DE3751958T Expired - Lifetime DE3751958T2 (de) 1986-09-30 1987-09-29 Fehlerkorrekturgerät
DE3752367T Expired - Lifetime DE3752367T2 (de) 1986-09-30 1987-09-29 Fehlerkorrekturgerät
DE3789266T Expired - Lifetime DE3789266T2 (de) 1986-09-30 1987-09-29 Fehlerkorrekturgerät.

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE3752367T Expired - Lifetime DE3752367T2 (de) 1986-09-30 1987-09-29 Fehlerkorrekturgerät
DE3789266T Expired - Lifetime DE3789266T2 (de) 1986-09-30 1987-09-29 Fehlerkorrekturgerät.

Country Status (3)

Country Link
US (2) US5590138A (de)
EP (3) EP0566215B1 (de)
DE (3) DE3751958T2 (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3137119B2 (ja) * 1989-06-07 2001-02-19 キヤノン株式会社 誤り訂正装置
FR2759218B1 (fr) * 1997-01-31 1999-05-07 Canon Kk Dispositif et procede de traitement de symboles d'information
US6098192A (en) * 1997-09-17 2000-08-01 Cirrus Logic, Inc. Cost reduced finite field processor for error correction in computer storage devices
JPH11196006A (ja) 1997-12-26 1999-07-21 Nec Corp 並列処理シンドロ−ム計算回路及びリ−ド・ソロモン複合化回路
FR2785743A1 (fr) * 1998-11-09 2000-05-12 Canon Kk Dispositif et procede d'adaptation des turbocodeurs et des decodeurs associes a des sequences de longueur variable
CN100433176C (zh) * 2000-02-10 2008-11-12 索尼株式会社 用于记录介质的记录和/或再现的方法及其设备
US6779014B1 (en) * 2001-02-15 2004-08-17 Chung-Shan Institute Of Science & Technology Cyclic step by step decoding method used in discrete fourier transform cyclic code of a communication system
JP2010049780A (ja) * 2008-07-25 2010-03-04 Panasonic Corp Ecc回路、半導体記憶装置、メモリシステム
CN102314330B (zh) * 2011-09-09 2013-12-25 华南理工大学 一种复合有限域乘法器
TWI457751B (zh) * 2012-07-13 2014-10-21 Univ Feng Chia Tandem fault tolerant device

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4162480A (en) * 1977-01-28 1979-07-24 Cyclotomics, Inc. Galois field computer
US4218582A (en) * 1977-10-06 1980-08-19 The Board Of Trustees Of The Leland Stanford Junior University Public key cryptographic apparatus and method
US4151510A (en) * 1978-04-27 1979-04-24 Honeywell Information Systems Method and apparatus for an efficient error detection and correction system
US4216531A (en) * 1978-11-17 1980-08-05 Control Data Corporation Finite field multiplier
JPS5724143A (en) * 1980-07-18 1982-02-08 Sony Corp Error correcting method
CA1170776A (en) * 1980-07-18 1984-07-10 Yoichiro Sako Method of error correction of blocks of data
US4413339A (en) * 1981-06-24 1983-11-01 Digital Equipment Corporation Multiple error detecting and correcting system employing Reed-Solomon codes
US4438512A (en) * 1981-09-08 1984-03-20 International Business Machines Corporation Method and apparatus for verifying storage apparatus addressing
NL8104342A (nl) * 1981-09-21 1983-04-18 Philips Nv Rekenmachinesysteem, gebaseerd op een symboolkorrigerende kode met twee werkmodes.
EP0080528A1 (de) * 1981-11-30 1983-06-08 Omnet Associates Berechnungsverfahren und Gerät für Arithmetik endlicher Felder
JPS58125175A (ja) * 1982-01-21 1983-07-26 Sony Corp ガロア体の乗算回路
EP0085130A1 (de) * 1982-02-02 1983-08-10 Omnet Associates Verfahren und Einrichtung zur Aufrechterhaltung der Geheimhaltung von durch öffentliche Übertragung übermittelten Nachrichten
JPS58147807A (ja) * 1982-02-26 1983-09-02 Toshiba Corp 誤り訂正回路
JPS58219852A (ja) * 1982-06-15 1983-12-21 Toshiba Corp エラ−訂正回路
EP0096165B1 (de) * 1982-06-15 1988-06-08 Kabushiki Kaisha Toshiba Einrichtung zum Dividieren der Elemente eines Galois-Feldes
JPS58219851A (ja) * 1982-06-15 1983-12-21 Toshiba Corp エラ−訂正回路
EP0096163B1 (de) * 1982-06-15 1988-06-01 Kabushiki Kaisha Toshiba Einrichtung zum Dividieren der Elemente eines Galois-Feldes
EP0129849B1 (de) * 1983-06-22 1990-10-10 Hitachi, Ltd. Verfahren und System zur Fehlerkorrektur
US4759063A (en) * 1983-08-22 1988-07-19 Chaum David L Blind signature systems
US4584686A (en) * 1983-12-22 1986-04-22 Optical Storage International Reed-Solomon error correction apparatus
JPH0812612B2 (ja) * 1983-10-31 1996-02-07 株式会社日立製作所 誤り訂正方法及び装置
JPH0680491B2 (ja) * 1983-12-30 1994-10-12 ソニー株式会社 有限体の演算回路
NL8400629A (nl) * 1984-02-29 1985-09-16 Philips Nv Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur.
US4649541A (en) * 1984-11-21 1987-03-10 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Reed-Solomon decoder
US4658094A (en) * 1985-03-28 1987-04-14 Itt Corporation Encryption apparatus and methods for raising a large unsigned integer to a large unsigned integer power modulo a large unsigned integer
US4797848A (en) * 1986-04-18 1989-01-10 Hughes Aircraft Company Pipelined bit-serial Galois Field multiplier
JPH06221137A (ja) * 1993-01-27 1994-08-09 Isuzu Ceramics Kenkyusho:Kk 排気ガス処理装置

Also Published As

Publication number Publication date
EP0723342A2 (de) 1996-07-24
US5774389A (en) 1998-06-30
EP0723342A3 (de) 1997-08-20
DE3752367T2 (de) 2004-02-19
DE3752367D1 (de) 2003-06-05
EP0723342B1 (de) 2003-05-02
EP0262944B1 (de) 1994-03-09
EP0566215A2 (de) 1993-10-20
EP0262944A2 (de) 1988-04-06
EP0262944A3 (en) 1989-01-25
DE3789266D1 (de) 1994-04-14
US5590138A (en) 1996-12-31
DE3751958D1 (de) 1997-01-02
EP0566215A3 (en) 1994-05-18
EP0566215B1 (de) 1996-11-20
DE3789266T2 (de) 1994-09-08

Similar Documents

Publication Publication Date Title
DE3879493T2 (de) Verfahren und geraet zur fehlerkorrektur.
DE69516882T2 (de) Vielseitiges fehlerkorrektursystem
DE69414631T2 (de) Schaltung zur Durchführung des Euclidschen Algorithmus bei der Dekodierung Arithmetischer Kodes
DE3650335T2 (de) Rechenverfahren und -gerät für endlichfeldmultiplikation.
DE3486200T2 (de) Verfahren und vorrichtung zur dekodierung eines fehlerverbesserungskodes.
DE3854791T2 (de) Reed-Solomon Code verwendendes Fehler-Korrektur-Verfahren
DE69424877T2 (de) Reed-solomon-dekoder
DE69624441T2 (de) Hochparallel zyklischer Redundanzkodegenerator
DE3855101T2 (de) Anordnung zur sofortigen Fehlerkorrektur
DE3784459T2 (de) Arithmetische und logische einheit fuer elemente von galois-feldern.
DE3854939T2 (de) Bch-fehlerkorrekturkode-dekodierungsverfahren in echtzeitbetrieb
DE3382661T2 (de) Korrektur von fehlerbuendeln in datengruppen.
DE69919199T2 (de) Vorwärtsfehlerkorrektur
DE69716331T2 (de) Schaltung für Modulo-Multiplikations- und Exponentiationsarithmetik
DE69834542T2 (de) Hardwareoptimierter reed-solomon-decoder zur decodierung grosser datenblöcke
DE3852423T2 (de) Kodierverfahren und Kodierer mit Reed-Solomon Fehlerkorrekturcode.
DE3787900T2 (de) Verfahren und Gerät zur Erzeugung von Prüfungs-Byten zur Fehlerdetektion für einen Datenblock.
DE3852999T2 (de) Galois-feld-recheneinheit.
DE3882223T2 (de) Ausgebreitete Fehlerkorrekturvorrichtung mit Einzel-Paket-Fehlerkorrektur und Doppel-Paket-Fehlerdetektionscoden.
DE3751958T2 (de) Fehlerkorrekturgerät
EP0545498B1 (de) Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen
EP0453641B1 (de) CORDIC-Prozessor für Vektordrehungen in Carry-Save-Architektur
DE3404417A1 (de) Codierer-pruefschaltungsanordnung
DE69524430T2 (de) Crc/epc prüfsystem
DE69429525T2 (de) Programmierbarer redundanz/syndromgenerator

Legal Events

Date Code Title Description
8364 No opposition during term of opposition