DE3789266T2 - Fehlerkorrekturgerät. - Google Patents
Fehlerkorrekturgerät.Info
- Publication number
- DE3789266T2 DE3789266T2 DE3789266T DE3789266T DE3789266T2 DE 3789266 T2 DE3789266 T2 DE 3789266T2 DE 3789266 T DE3789266 T DE 3789266T DE 3789266 T DE3789266 T DE 3789266T DE 3789266 T2 DE3789266 T2 DE 3789266T2
- Authority
- DE
- Germany
- Prior art keywords
- circuit
- multiplying
- error correction
- correction
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/35—Unequal 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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
- Die Erfindung bezieht sich auf eine Galois-Feld- Recheneinrichtung, insbesondere für die Verwendung auf dem Gebiet der Fehlerkorrektur, die für eine Verringerung der Rate auftretender Fehler auf der Übertragungsstrecke aus einer Vorrichtung wie einer optischen Plattenvorrichtung, einer optomagnetischen Plattenvorrichtung usw. ausgelegt ist.
- Im einzelnen bezieht sich die Erfindung auf eine Fehlerkorrekturschaltung für die Verwendung in einer digitalen elektronischen Einrichtung wie einer digitalen Audio-Einrichtung, insbesondere auf eine Kennungsstrategie-Einstellschaltung, die typischerweise eine BCH-(Bose- Chaudhuri-Hocquenghem-)Codier/Decodierschaltung für die Verwendung in der Fehlerkorrekturschaltung ist.
- Noch spezieller betrifft die Erfindung eine Syndromerzeugungsschaltung, die in die BSH-Codier/Decodierschaltung eingebaut ist, insbesondere eine Element- Exponent/Vector-Umsetzschaltung, eine Multiplikationsschaltung und eine Divisionsschaltung an einer Galois- Funktion. Der Ausdruck Galois-Funktion in dieser Beschreibung wird mit der Bedeutung eines Satzes aus einer bestimmten Anzahl von Elementen verwendet, welche durch Addition, Subtraktion, Multiplikation und Division verarbeitet werden können und üblicherweise als GF(q) ausgedrückt sind, wobei q die Anzahl der Elemente darstellt.
- Bisher wurde eine Fehlerkorrektureinrichtung der beschriebenen Art allgemein dazu ausgelegt, im Ansprechen auf einen Fehlerkorrekturcode eines vorbestimmten Formats mit Faktoren wie die Länge des Korrekturcodes, das Korrekturvermögen und die Verschachtelung zu arbeiten. Daher konnte die bekannte Fehlerkorrektureinrichtung nicht arbeiten, wenn der Korrekturcode mit einem unterschiedlichen Format angelegt wurde und wenn seriell eine Vielzahl von Blöcken von Korrekturcodes mit verschiedenerlei Formaten zugeführt wurde.
- Optische Platten und optomagnetische Platten werden üblicherweise unter Sektor-Verwaltung gehalten. Der Sektor enthält nicht nur die gewöhnlichen Daten, sondern auch Adressendaten. Der Schutz dieser beiden Arten von Daten ist von großer Bedeutung. Herkömmlicherweise wurden Fehlerkorrekturcodes wie Read-Solomon-Codes als Schutzeinrichtung für das Schützen des gewöhnlichen Datenteils verwendet, während Fehlererfassungscodes wie CRC-Codes (zur zyklischen Blockprüfung) als Einrichtung zum Schutz der Adressendaten verwendet wurden. Eine fehlerhafte Erkennung der Adressendaten würde zu einem Ausfall des ganzen Sektors führen. Daher wurde in den herkömmlichen Systemen der Erfassungsgenauigkeit eine größere Bedeutung zugemessen als der Korrekturfunktion, sofern es die Adressendaten betrifft. Somit wurde irgendein Fehler in den Adressendaten durch Überschreiben oder Wiederholen korrigiert. Es gibt manche Arten von Aufzeichnungsträgern, die das Korrigieren der Adressendaten durch Wiederholen, aber nicht durch überschreiben ermöglichen. Ein Beispiel für einen derartigen Aufzeichnungsträger ist die optomagnetische Platte. Bei der Korrektur von Adressendaten in einem solchen Aufzeichnungsträger ist es erforderlich, die Platte dreimalig umlaufen zu lassen, nämlich mit einer ersten Umdrehung zum Löschen, einer zweiten Umdrehung zum Schreiben und einer dritten Umdrehung zum Prüfen, wobei bei jeder Umdrehung das Erfassen der Adresse erforderlich ist. Infolgedessen wird die Anzahl der Wiederholungszyklen größer, was eine längere Verzögerungszeit ergibt, insbesondere bei einem Aufzeichnungsträger mit einer größeren Rate auftretender Fehler. Es wäre möglich, für die Korrektur von Adressendaten einen Fehlerkorrekturcode zu verwenden. Im allgemeinen muß jedoch die Fehlerkorrektureinrichtung einen weitaus komplizierteren Aufbau haben als die Fehlererfassungseinrichtung. Wenn die Korrektur von Adressendaten mit einem Korrekturcode auszuführen ist, ist es erforderlich, zwei Fehlerkorrektureinrichtungen einzusetzen, nämlich eine für die Korrektur der Adressendaten und eine für die Korrektur der gewöhnlichen Daten.
- In "THE THEORY OF ERROR CORRECTING CODES" von F. J. Macwiliam und N. J. A. Sloan, 1978 veröffentlicht von North Holland Publishing Company, U.S.A., wird ein CIRC- Code (kreuzverschachtelter Read-Solomon-Code vorgeschlagen, insbesondere ein zweistufiges Decodieren mit 2- Symbol-Fehlerkorrektureinrichtung. Typische Beispiele für die bei dieser zweistufigen Decodierung angewandte Strategie sind die folgenden, wobei ein C1-Decodierer und ein C2-Decodierer jeweils Decodierer sind, die das Decodieren früher bzw. später ausführen.
- C1-Decodierer 1-Symbol-Fehlerkorrektur
- 3-Symbol-Fehlererfassung
- C2-Decodierer 1-Symbol-Fehlerkorrektur
- 3-Symbol-Fehlererfassung
- C1-Decodierer 2-Symbol-Fehlerkorrektur (Kennung wird im Falle der 2-Symbol-Fehlerkorrektur gesetzt)
- C2-Decodierer 2-Symbol-Fehlerkorrektur
- Im Falle eines digitalen Audiogerätes verursacht irgendein Erfassungsfehler ein Knackgeräusch und ist daher kritisch. Irgendein Fehler, der nicht korrigiert werden kann, kann jedoch unter der Voraussetzung, daß der Fehler erfaßt wird, durch Interpolation in einem derartigen Ausmaß kompensiert werden, daß er den Toneffekt nicht wesentlich beeinträchtigt. Es ist daher erforderlich, die Fehlererfassungsfähigkeit auf Kosten einer verringerten Fehlerkorrekturfähigkeit zu maximieren, wie bei der vorstehend dargestellten einfachen Strategie (1). Wenn die Kompensation bspw. durch Interpolation nicht wirksam ist, wird wie im Falle der vorangehend angeführten Überstrategie (2) durch den C1-Decodierer eine 2- Symbol-Fehlerkorrektur vorgenommen. In diesem Fall wird die Kennung zum Verstärken auch der Fehlererfassungsfähigkeit gesetzt, wodurch die Rate von Fehlererfassungsausfällen verringert wird.
- Es ist somit möglich, das Format für die Fehlererfassung durch selektives Ändern der Strategie zu optimieren, selbst wenn das Format sowohl in vertikaler als auch in - horizontaler Richtung identischen Aufbau hat.
- Nachstehend wird eine Überstrategie (2) unter der Annahme beschrieben, daß ein C1-Decodierer (32, 28) und ein C2- Decodierer (28, 24) verwendet werden.
- Der folgende Prozeß wird entsprechend dem Ergebnis der Bewertung eines aufgenommenen Syndroms Sc1 ausgeführt.
- (a) Sc1 = "o" → Keine Korrektur ; Fc1 = 0
- (b) Sc1 = "1" → 1-Symbol-Fehler korrigiert ; Fc1 = 0
- (c) Sc1 = "2" → 2-Symbol-Fehler korrigiert ; Fc1 = 1
- (d) Sc1 ≥ "3" → Keine Korrektur ; Fc1 = 1
- hierbei gilt,
- "n": n-Symbol-Fehlersyndrom
- Fc1: Im C1-Decodierer erzeugte und dem C2-Decodierer zugeführte Kennungsdaten
- Fc1 = 0 → Kein Fehler
- Fc1 = 1 → Mögliches Enthalten irgendeines Fehlers
- Der folgende Prozeß wird entsprechend dem Ergebnis der Bewertung eines aufgenommenen Syndroms Sc2 sowie der Anzahl und der Lagen von Kennungen Fc1 aus dem C1- Decodierer ausgeführt.
- (a) Sc2 = "0" → Keine Korrektur ; Fc2 = 0
- (b) Sc2 = "1" → 1-Symbol-Fehler korrigiert ; Fc2 = 0
- (c) Sc1 = "2", Lc1 ≤ 4, Lc1 = 2 → 2-Symbol-Fehler korrigiert ; Fc2 = 0 Nc1 ≤ 3, Lc1 = 1 oder Nc1 ≤ 2, Lc1 = 0 → Keine Korrektur ; Fc2 = 1, Andernfalls → Keine Korrektur ; Fc2 = Fc1
- (d) Sc2 ≥ "3", Nc1 ≤ 2 → Keine Korrektur Fc2 = 1 Andernfalls → Keine Korrektur Fc2 = Fc1
- dabei gilt
- Nc1: Anzahl von durch den C2-Decodierer aufgenommenen Kennungen Fc1
- Lc1: Anzahl von mit dem Fehlerort übereinstimmenden Kennungen Fc1
- Fc2: Im C2-Decodierer erzeugte Kennung
- Fc2 = 0 → Kein Fehler
- Fc2 = 1 → Alle Fehler
- Fc2 = Fc1 → Im C1-Decodierer erzeugte Kennungen werden kopiert
- Das vorstehend beschriebene Prinzip wird leichter aus der Fig. 2 verständlich. Es ist ersichtlich, daß die einfache Strategie die Strategie ist, bei der der C2- Decodierer den gleichen Aufbau wie der in Fig. 2 (1) gezeigte C1-Decodierer hat.
- Sobald herkömmlicherweise in jedem der Decodierer C1 und C2 die Kennungsstrategie auf die vorstehend beschriebene Weise eingestellt ist, ist die auf diese Weise eingestellte Strategie festgelegt und kann nicht frei geändert oder eingestellt werden.
- Es ist ferner herkömmlich, das BCH-Codieren mit einer Divisionsschaltung unter Anwendung eines erzeugenden Polynoms auszuführen und das Decodieren mittels Schaltungen für jeweilige Algorithmen wie diejenigen gemäß dem Peterson-Verfahren oder dem Bharenkamp-Massey- Verfahren auszuführen.
- Somit werden bei dem herkömmlichen System voneinander verschiedenen Schaltungen für das Codieren und das Decodieren verwendet. Es wurden Versuche unternommen, das Codieren und das Decodieren durch Einsetzen der gleichen Schaltung auf vielfache Weise entsprechend beispielsweise einer Mikroprogrammierung auszuführen. In diesem Fall ist es jedoch erforderlich, eine feine Unterscheidung zwischen dem Codierprozeß und dem Decodierprozeß zu treffen. Daher wird dann, wenn das Codieren und Decodieren mit der gleichen Schaltungsplatte oder dem gleichen Schaltungsbaustein auszuführen ist, die Anzahl von Schaltungen oder die Kapazität eines Festspeichers unvermeidbar erhöht. Dies hat wiederum zur Folge, daß auf unerwünschte Weise die Abmessungen der Vorrichtung wie einer optischen Plattenvorrichtung größer werden.
- Die Syndromerzeugungsschaltung in der herkömmlichen BHC- Codier- oder Decodierschaltung erzeugte das Syndrom S gemäß der Darstellung durch die folgende Gleichung (2) auf den Empfang eines Wortes J hin, welches gemäß der Darstellung in der folgenden Gleichung (1) ein Glied des Codewortes I und ein Glied eines Fehlers E hat.
- D. H., im Falle der doppelten Fehlerkorrekturcodierung wird das Syndrom S als Produkt aus einer Prüfmatrix H und dem empfangenen Wort J erzeugt, wie es durch die Gleichung (2) dargestellt ist.
- wobei n die Codelänge darstellt, H die Prüfmatrix darstellt, J die Codelänge darstellt, S das Syndrom darstellt, I das Codewort darstellt und E den Fehler darstellt.
- Aus der folgenden Gleichung (3) ist ersichtlich, daß das auf diese Weise erhaltene Syndrom S das Produkt aus der Prüfmatrix H und dem Fehler E ist.
- 0 (aus Gleichung (2))
- S = H·J = H·(I + E) = H·I + H·E = H·E (3)
- Normalerweise kann die Syndromerzeugungsschaltung für jedes Syndrom Si folgendermaßen ausgedrückt werden
- Si = αi(n-1)·J1 + αi(n-2) J2 + . . . + αi·jn - 1 + jn = ((((αi·j1)+j2)·αi) + . . . Jn - 1 )·αi + Jn
- Somit kann die Syndromerzeugungsschaltung an der Galois- Funktion GF (2q) gemäß der Darstellung in Fig. 3 gestaltet werden. Die αi-Schaltung kann durch Stapeln der u-Schaltung nach Fig. 4 in i-Stufen unter der Bedingung eines Grundpolynoms P (X) = X&sup8; + X&sup4; + X³ + X² + 1 realisiert werden. Somit kann die Syndromerzeugungsschaltung für das Realisieren von durch die Gleichung (2) ausgedrückten Syndromen S0 bis S3 gemäß der Darstellung in Fig. 5 aufgebaut werden. In Fig. 5 stellt CK den Takt für jedes empfangene Wort Ji dar, während CL das Löschen für jede Codelänge darstellt.
- Offensichtlich werden die Abmessungen der in Fig. 5 dargestellten Anordnung groß, wenn die Anzahl q oder die Anzahl i groß wird. Außerdem ist die in Fig. 5 gezeigte Anordnung nicht in dem Fall geeignet, daß die Syndrome S0 bis S3 miteinander verbunden sind und über eine Busleitung verarbeitet werden.
- Es gibt zweierlei Arten, das Element des Galois-Feldes auszudrücken, nämlich das Ausdrücken als Vektor und das Ausdrücken als Exponent. Wenn ein Galois-Feld mit q Elementen durch GF (q) ausgedrückt ist, wird das Element &sup8;, das in GF (2&sup8;) aus α erzeugt ist, das die Wurzel des Grundpolynoms p (x) = x&sup8; + x&sup4; + x³ + x² + 1 ist, auf folgende Weise ausgedrückt:
- Exponential-Ausdruck Vektor-Ausdruck α&sup8;8 : α&sup4; + α³ + α² + 1 → 00011101
- Dieser Vektor-Ausdruck zeigt das Bitmuster. Eine Division am Vektor-Ausdruck ist kompliziert und schwierig auszuführen. Praktischerweise wird daher eine Umsetzung in den Exponential-Ausdruck folgendermaßen ausgeführt:
- αa ÷ αb VE-Umsetzung a - b EV-Umsetzung αa-b Vektor Exootential Vektor
- Die VE-Umsetzung (Vektor auf Exponent) und die EV- Umsetzung (Exponent auf Vektor) können unter Verwendung eines Festspeichers ROM ausgeführt werden.
- Wenn ein Division innerhalb einer Taktperiode abgeschlossen werden soll, ist es gemäß Fig. 6 erforderlich, drei Festspeicher zu verwenden. Wenn dagegen die Division gemäß der Darstellung in Fig. 7 unter Verwendung eines Festspeichers für die VE-Umsetzung und eines Festspeichers für die EV-Umsetzung ausgeführt wird, wird für den Betriebsvorgang eine Zeitdauer benötigt, die zwei Takten entspricht, nämlich eine erste Taktperiode für das Zwischenspeichern von b mittels eines Registers und eine zweite Taktperiode für das Addieren von a.
- Gleichermaßen ist dann, wenn eine Multiplikation in einer Taktperiode abgeschlossen werden soll, gemäß Fig. 8 die Verwendung von drei Festspeichern erforderlich, wogegen dann, wenn die Multiplikation gemäß der Darstellung in Fig. 9 unter Verwendung eines Festspeichers für die VE- Umsetzung und eines Festspeichers für die EV-Umsetzung ausgeführt wird, für den Betriebsvorgang eine Zeitdauer benötigt wird, die zwei Takten entspricht, nämlich einer ersten Taktperiode für das Zwischenspeichern von a mittels eines Registers und eine zweite Taktperiode für das Addieren von b.
- Es wäre möglich, die Division oder Multiplikation von zwei durch Vektoren ausgedrückten Elementen auf direkte Weise mittels eines Festspeichers auszuführen, der eine VE- oder EV-Umsetzschaltung bildet. In diesem Fall müßte insbesondere dann) wenn die Anzahl von Elementen groß ist, der Festspeicher eine unpraktisch große Kapazität haben. In der EP-0 129 849-A3 ist eine Multiplikationsschaltung nach dem Stand der Technik dargestellt, in welcher Festspeicher für die VE- und EV- Umsetzung verwendet werden.
- Es ist Aufgabe der Erfindung, eine Fehlerkorrekturschaltung mit einer Rechenschaltung zu schaffen, die klein bemessen ist, aber trotzdem ohne Verwendung irgendeines Festspeichers zum Ausführen von Division und Multiplikation sowie von VE- und EV-Umsetzung an Unbekannten einer Galois-Funktion geeignet ist.
- In der EP-A-0 080 528 ist eine Galois-Feld- Multiplikationseinrichtung offenbart, die statt mit einem Festspeicher mit einer logischen Schaltung ausgeführt ist.
- Demzufolge ergibt die Erfindung eine Multiplikationseinrichtung (Fig. 58) zum Multiplizieren von zwei beliebigen Elementen X und Y eines Galois-Feldes GF(2m), die eine Einrichtung zum Berechnen von y·αi für eine jede Zahl i von 0 bis einschließlich m - 1, wobei α ein Grundelement des Galois-Feldes GF(2m) ist, eine Einrichtung zum Multiplizieren einer jeden Komponente xi von X mit dem auf diese Weise berechneten entsprechenden Glied y·αi und eine Einrichtung zum Erzeugen der binären Summe aller der auf diese Weise multiplizierten Produkte aufweist.
- In einer anderen Ausführungsform ergibt die Erfindung ein Verfahren zur digitalen Signalverarbeitung, das den Schritt zum Multiplizieren zweier beliebigen Elemente X,Y eines Galois-Feldes GF(2m) miteinander umfaßt, mit Schritten zum Berechnen von y·αi für jede ganze Zahl i von 0 bis einschließlich m - 1, wobei α ein Grundelement des Feldes GF(2m) ist, Multiplizieren eines jeden auf diese Weise berechneten Wertes y·αi mit einer entsprechenden Komponente xi und Erzeugen der binären Summe aller auf diese Weise multiplizierten Produkte.
- Andere vorteilhafte Merkmale und Ausführungsbeispiele der Erfindung werden aus der folgenden Beschreibung und den Ansprüche ersichtlich. Die Erfindung wird nun allein anhand von Beispielen unter Bezugnahme auf die anliegenden Zeichnungen beschrieben, bei denen
- Fig. 1 eine Darstellung einer Codier-/Decodierschaltung mit Löschkorrektur- und Fehlerkorrekturfunktion bei einem ersten Ausführungsbeispiel der erfindungsgemäßen Fehlerkorrektureinrichtung ist,
- Fig. 2 eine Darstellung einer Überstrategie ist,
- Fig. 3 eine Darstellung einer Syndromerzeugungsschaltung für das Erzeugen von Syndromen Si ist,
- Fig. 4 eine Darstellung einer α-Schaltung ist,
- Fig. 5 eine Darstellung einer bekannten Syndromerzeugungsschaltung ist,
- Fig. 6 und 7 Darstellungen des Aufbaus einer bekannten Divisionsschaltung sind,
- Fig. 8 und 9 Darstellungen einer bekannten Multiplikationsschaltung sind,
- Fig. 10 eine Darstellung einer Verschachtelung ist,
- Fig. 11 ein Zeitdiagramm ist, das den Betriebsvorgang veranschaulicht, der mit der Dateneingabe beginnt und mit der Datenausgabe nach der Fehlerkorrektur endet,
- Fig. 14 eine Darstellung einer Decodier-Schaltungsanordnung ist,
- Fig. 15 eine Darstellung einer Codier-Schaltungsanordnung ist,
- Fig. 16 ein Ablaufdiagramm ist, das den Ablauf von Berechnungen veranschaulicht,
- Fig. 17 eine Darstellung einer Codier-/Decodiereinheit bei dem ersten Ausführungsbeispiel der Erfindung ist,
- Fig. 18 eine Darstellung einer Löschkorrektur- und Fehlerkorrektur-Schaltungsanordnung bei dem ersten Ausführungsbeispiel der Erfindung ist,
- Fig. 19 eine Darstellung eines Betriebsvorganges im Falle einer Verschachtelung ist,
- Fig. 20 eine Darstellung der Fehlerkorrekturstelle ist,
- Fig. 21 eine Darstellung einer freien Strategie bei dem ersten Ausführungsbeispiel der Erfindung ist,
- Fig. 22 eine Tabelle ist, die den Fehlerzustand bei einer Doppelfehlerkorrektur zeigt,
- Fig. 23 eine Tabelle ist, die den Fehlerzustand bei einer Einzelfehlerkorrektur zeigt,
- Fig. 24 eine Darstellung einer EN-Ausgabeschaltung bei einem zweiten Ausführungsbeispiel der Erfindung ist,
- Fig. 25 ein Betriebszeitdiagramm ist,
- Fig. 26 eine Darstellung einer FN-Ausgabeschaltung bei einem zweiten Ausführungsbeispiel der Erfindung ist,
- Fig. 27 eine Darstellung einer DN-Ausgabeschaltung bei einem zweiten Ausführungsbeispiel der Erfindung ist,
- Fig. 28 eine Darstellung einer Kennung-Ausgabeschaltung in Übereinstimmung mit einer GCL-Steuerung ist,
- Fig. 29 ein Blockschaltbild einer Codierschaltung ist,
- Fig. 30 ein Blockschaltbild einer Decodierschaltung ist,
- Fig. 31 ein Blockschaltbild einer Codier/Decodierschaltung bei einem dritten Ausführungsbeispiel der Erfindung ist,
- Fig. 32 ein Zeitdiagramm der Funktion einer Syndromerzeugungsschaltung bei der Codierbetriebsart ist,
- Fig. 33 ein Blockschaltbild einer Doppelfehlerkorrektur-Codierkonstantenschaltung ist,
- Fig. 34 ein Zeitdiagramm ist, das die Funktion der Codierkonstantenschaltung veranschaulicht,
- Fig. 35 eine Darstellung einer Doppelfehlerkorrektur-Codierkonstantenausgabeschaltung ist,
- Fig. 36 ein Blockschaltbild einer Einzelfehlerkorrektur-Codierkonstantenschaltung ist,
- Fig. 37 eine Darstellung einer Einzelfehlerkorrektur-Codierkonstantenausgabeschaltung ist,
- Fig. 38 eine Codelängen-Korrekturkonstantenschaltung zeigt,
- Fig. 39 ein Zeitdiagramm ist, das die Funktion der Codelängen-Korrekturkonstantenschaltung veranschaulicht,
- Fig. 40 ein Blockschaltbild einer Variablencodelängen-Korrekturschaltung ist,
- Fig. 41 ein Zeitdiagramm ist, daß die Funktion der Variablencodelängen-Korrekturschaltung veranschaulicht,
- Fig. 42 ein Blockschaltbild einer Mustererzeugungsschaltung ist,
- Fig. 43 ein Zeitdiagramm ist, das die Funktion der Mustererzeugungsschaltung bei der Decodierbetriebsart veranschaulicht,
- Fig. 44 und 45 Zeitdiagramme sind, die die Funktion der Mustererzeugungsschaltung bei der Codierbetriebsart veranschaulichen,
- Fig. 46 eine Darstellung einer X²-Schaltung ist,
- Fig. 47 ein Blockschaltbild einer Codierschaltung ist,
- Fig. 48 ein Blockschaltbild einer Codier/Decodierschaltung bei einer Abwandlungsform des dritten Ausführungsbeispiels ist,
- Fig. 49 eine Darstellung einer K-Erzeugungsschaltung ist,
- Fig. 50 eine Darstellung einer K-Erzeugungsschaltung für Busleitungssteuerung ist,
- Fig. 51 eine Darstellung der Betriebszeitsteuerung der K-Erzeugungsschaltung ist,
- Fig. 52 ein Blockschaltbild einer Vergleichsschaltung ist,
- Fig. 53 ein Blockschaltbild einer A-Erzeugungsschaltung ist,
- Fig. 54 eine Darstellung der Betriebszeitsteuerung der A-Erzeugungsschaltung ist,
- Fig. 55 eine Darstellung einer Syndromerzeugungsschaltung bei einem vierten Ausführungsbeispiel der Erfindung ist,
- Fig. 56 eine Darstellung eines Zeitsteuersignals ist,
- Fig. 57 eine Darstellung eines anderen Beispiels für die in der erfindungsgemäßen Fehlerkorrektureinrichtung verwendete Syndromschaltung ist,
- Fig. 58 eine Darstellung einer bei einem fünften Ausführungsbeispiel der Erfindung verwendeten Multiplikationsschaltung ist,
- Fig. 59 eine Darstellung einer in der in Fig. 58 gezeigten Schaltung enthaltenen UND-Schaltung ist,
- Fig. 60 eine Darstellung einer Verbesserung der Multiplikationsschaltung ist,
- Fig. 61 ein Blockschaltbild einer bei dem fünften Ausführungsbeispiel der Erfindung benutzten Divisionsschaltung ist,
- Fig. 62 ein Zeitdiagramm ist, das die Funktion des - fünften Ausführungsbeispiels veranschaulicht,
- Fig. 63 eine Darstellung einer X²-Schaltung in der Divisionsschaltung ist,
- Fig. 64 eine Darstellung einer X&sup4;-Schaltung ist-,
- Fig. 65 eine Darstellung einer X&sup8;-Schaltung ist,
- Fig. 66 eine Darstellung einer Verbesserung hinsichtlich der Divisionsschaltung ist,
- Fig. 67 ein Blockschaltbild einer bei dem fünften Ausführungsbeispiel der Erfindung verwendeten Exponent/Vektor-Umsetzschaltung ist,
- Fig. 68 ein Zeitdiagramm ist, das die Funktion der in Fig. 67 gezeigten Schaltung veranschaulicht, und
- Fig. 69 eine Darstellung einer Exponent/Vektor- Schaltung ist.
- Unter Bezugnahme auf die anliegenden Zeichnungen wird nachstehend ein erstes Ausführungsbeispiel der Erfindung beschrieben. Zuerst wird - das Decodieren eines Fehlerkorrekturcodes beschrieben. Ein (nachstehend als RS-Code bezeichneter) Read-Solomon-Code als Beispiel für ein Fehlerkorrektursignal hat typischerweise einen Kreuzverschachtelungsaufbau gemäß der Darstellung in Fig. 10. Dies bedeutet, das für jeden Block eine zweimalige Fehlerkorrektur erforderlich ist, wie es durch C1 und C2 dargestellt ist. Wenn Eingangsdaten ohne irgendeinen Abstand zugeführt werden, sammelt sich die Verarbeitungsverzögerungszeit auf, falls nicht jeweils für C1 und C2 eine Löschkorrektur- und Fehlerkorrektureinheit vorgesehen ist. Zur Vereinfachung des Schaltungsaufbaus ist daher dieses Ausführungsbeispiel derart gestaltet, daß gemäß der Darstellung durch 1 und 2 in Fig. 11 eine einzige Löschkorrektur- und Fehlerkorrektureinheit mit doppelter Geschwindigkeit betrieben wird, wenn die eingegebenen Daten ohne den Abstand zugeführt werden. Die Löschkorrektur- und Fehlerkorrektureinheit arbeitet jedoch mit normaler Geschwindigkeit, wenn keine Verschachtelung vorliegt oder wenn die Datenübertragungsgeschwindigkeit hoch ist. Gemäß Fig. 11 werden die Daten gemäß der Darstellung durch "Dateneingabe" im Ansprechen auf eine "Toreinschaltung" eingegeben und nach beendeter Berechnung für die Fehlerkorrektur werden die korrigierten Daten gemäß der Darstellung durch "Datenausgabe" ausgegeben. Aus dieser Figur ist ersichtlich, daß die Dateneingabe/Ausgabezeit bei der Betriebsart 1 und 2 mit doppelter Geschwindigkeit halb so lang ist wie die normale Eingabe/Ausgabezeit.
- Die Löschkorrektur- und Fehlerkorrektureinheit hat daher gemäß der Darstellung in Fig. 12 einen Schreib/Lesespeicher RAM 121 zum Speichern der Eingangsdaten, einen Löschkorrektur- und Fehlerkorrekturblock 122 und einen Steuerblock 123 für das Verändern des Zeitsteuersignal für das Ansteuern des Blockes 122 entsprechend einem Eingangsformat-Wählsignals.
- Von den bisher vorgeschlagenen verschiedenartigen Fehlerkorrekturverfahren wird bei diesem Ausführungsbeispiel ein in Fig. 13 dargestellter Algorithmus angewandt, wodurch der Schaltungsaufbau vereinfacht werden kann und daher der Betrieb unter der Bedingung erleichtert werden kann, daß das Zeitsteuersignal veränderbar ist. Die Fig. 14 zeigt den Aufbau einer bei der Anwendung dieses Algorithmus verwendeten Schaltungsanordnung.
- Üblicherweise erfolgt das Codieren durch Unterteilen der Daten durch ein erzeugtes Polynom. Bei diesem Ausführungsbeispiel erfolgt das Codieren jedoch durch Verändern der Steuerung der bei dem Decodieren verwendeten Fehlerkorrektureinheit. Der Aufbau einer für diesen Zweck benutzten Schaltungsanordnung ist in Fig. 15 dargestellt.
- Die Fig. 16 zeigt den Ablauf des Prozesses für das Erzeugen von Paritätbits.
- Das vorstehend beschriebene Decodieren und Codieren kann mit einer in Fig. 17 dargestellten Schaltungsanordnung zu einer Einheit zusammengefaßt werden.
- Aus den nachstehenden Gleichungen (4) bis (11) ist ersichtlich, daß der Algorithmus für die Löschkorrektur durch Multiplizieren von Syndromen S&sub0; bis S&sub3; mit geeigneten Konstanten realisiert werden kann und daher mittels der gleichen Schaltungsanordnung wie der für das Codieren benutzten bewerkstelligt werden kann.
- wobei gilt:
- Es wird die folgende Bedingung erfüllt:
- Wenn das Löschen an jeder der Stellen i, j, k und l erfolgt, gilt:
- und daher
- durch Multiplizieren beider Seiten mit A&supmin;¹ ergibt sich
- Unter der Voraussetzung, daß i, j, k und l gegeben sind, kann der Faktor A&supmin;¹ definitiv bestimmt werden.
- Daher ist dann, wenn A&supmin;¹ durch die nachstehende Gleichung (10) bestimmt ist, ex (x = i, j, k, l) durch die folgende Gleichung (11) bestimmt:
- Die Fig. 18 ist ein Blockschaltbild der Löschkorrektur- und Fehlerkorrekturschaltung. Da i, j, k und l definiert sind, kann die A&supmin;¹-Erzeugungsschaltung durch einige Festspeicher bestimmt werden. Daher kann die Codier/Decodierschaltung mit der Löschkorrekturfunktion gemäß der Darstellung in Fig. 1 gestaltet werden.
- Zum Ermöglichen des Umschalten der Funktion zwischen der normalen Codier/Decodierbetriebsart und der Löschkorrekturbetriebsart ist es erforderlich, entsprechend einem Löschkorrektur-Wählsignal zwischen einem Festspeicher ROM 11 und einem Festspeicher ROM 12 umzuschalten. Zu diesem Zweck werden als Festspeicher 11 und 12 statisch gesteuerte Festspeicher benutzt.
- Der Korrekturvorgang ist gegenüber der Syndromerzeugung um eine Zeitdauer verzögert, die einem empfangenen Wort entspricht. Daher muß das empfangene Wort vorübergehend in einem Pufferspeicher 13 gespeichert werden. Das zum Zeitpunkt des Erzeugens von Syndromen berechnete Fehlermuster muß vorübergehend in Adressen i, j, k und l eines Pufferspeichers 54 gespeichert werden, damit das Muster synchron mit der Ausgabe aus dem Pufferspeicher 13 an den Stellen i, j, k und l ausgegeben wird. Wenn aus der Adresse i, j, k und l ausgegeben wird, wird dieser Wert derart ausgegeben, daß das Fehlermuster synchron mit der Ausgabe aus den Pufferspeicher 13 ausgegeben wird.
- Wenn keine Verschachtelung hinsichtlich des Fehlerkorrekturcodes vorliegt oder wenn die Verarbeitung mit doppelter Geschwindigkeit erfolgt, wird diese Einrichtung nur für eine Einzelfehlerkorrektur benutzt. In diesem Fall kann diese Einrichtung unverändert ohne irgendeine Abwandlung benutzt werden.
- Falls der Fehlerkorrekturcode verschachtelt ist, wird diese Einrichtung zweimalig für die Fehlerkorrekturfunktion eingesetzt. Wenn die verschachtelte Anordnung des Fehlerkorrekturcodes angewandt wird, erfolgt gemäß der Darstellung durch Pfeile in Fig. 10 die Fehlerkorrektur sowohl in vertikaler als auch in horizontaler Richtung. Die Funktion der Einrichtung mit der doppelten Geschwindigkeit kann dadurch ausgeführt werden, daß die Frequenzen von Taktsignalen und Auslösesignalen verdoppelt werden. In diesem Fall entsteht jedoch eine Schwierigkeit infolge des Unterschieds zwischen C1 und C2 hinsichtlich des Formates. Das Format kann jedoch dadurch verändert werden, daß C1 und C2 unterschiedliche Werte der Korrekturkapazität und der Codelängen n und k zugeordnet werden.
- Die Fig. 19 zeigt eine Schaltung, die verwendet wird, wenn der Fehlerkorrekturcode eine verschachtelte Struktur hat. Wenn n1, n2, T1 und T2 eingestellt worden sind, ist es möglich, durch Ändern des Pegels des Wählsignals C für C1 und C2 unterschiedliche Werte für n, T und k zu erhalten. Beispielsweise können unterschiedliche Fehlerkorrekturkapazitäten und Codelängen für C1 und C2 dadurch erhalten werden, daß der Pegel des Wählsignals C jeweils
- auf C = 0 für C1 bzw. C = 1 für C2 eingestellt wird. Die Codelänge k kann durch n - 2T - E bestimmt werden. Es ist somit möglich, die erwünschte verschachtelte Verarbeitung auszuführen.
- Es ist ferner möglich, die Verarbeitung in der vertikalen und der horizontalen Richtung des Formates dadurch zu wählen, daß das Signal C selektiv auf D → 1 oder 1 → D eingestellt wird.
- Wie aus der vorstehenden Beschreibung ersichtlich ist, kann gemäß diesem Ausführungsbeispiel der Erfindung eine Fehlerkorrektureinrichtung für allgemeine Zwecke betrieben werden. Durch den Aufbau dieser Einrichtung auf einem Chip und das Auslegen derselben zur Anpassung an eine Vielfalt von Formaten wird es möglich, die Erfindung nicht nur bei Vorrichtungen mit optischen Platten und opto-magnetischen Platten anzuwenden, sondern auch bei allen Arten von Übertragungsstrecke, die durch eine große Rate auftretender Fehler beeinträchtigt wird.
- Es ist ferner möglich, eine Vielzahl solcher Bausteine bereitzustellen und sie verschachtelt zu verbinden, um so eine Einrichtung zu gestalten, die bei Systemen angewandt werden kann, bei denen die Rate auftretender Fehler und die Verarbeitungsgeschwindigkeit spezifisch hoch sind.
- In Fig. 20 stellt eine Markierung S.M. eine Sektormarkierung dar, welche den Anfang eines Sektors anzeigt. Entsprechend einer durch SYNC herausgegriffenen Taktkomponente wird ID gelesen. Ein Symbol A.M. in ID stellt eine Adressenmarkierung dar, die den Beginn einer Adresse anzeigt. Zwischen dem ID-Abschnitt und dem Datenabschnitt DATA ist eine Lücke GAP zum Abfangen einer Synchronisationsstörung gebildet, wodurch irgendeine Versetzung des ID-Abschnitts gegenüber den Datenabschnitt mit SYNC, S.M. und DATA aufgenommen wird. Das gleiche gilt auch für den Datenabschnitt. Eine letzte Lücke GAP dient zum Abfangen irgendeiner Versetzung zwischen dem gegenwärtigen Sektor und dem nächsten Sektor. Diese Datenstruktur kann durch die erfindungsgemäße Einrichtung selbst dann verarbeitet werden, wenn die Adressenmarkierung und der Datenabschnitt in unterschiedlichen Formaten codiert sind.
- Aus der vorstehenden Beschreibung ist ersichtlich, daß erfindungsgemäß eine Fehlerkorrektureinrichtung mit einem Mehrzweck-Formatwählteil und einem Löschkorrektur-Wählteil einschließlich eines Löschstellen-Eingabeteils in einem einzigen Chip bzw. Baustein derart gestaltet ist, daß eine einzige Löschkorrektur und Fehlerkorrektureinrichtung für eine Vielfalt von Formaten betrieben werden kann.
- Außerdem kann dann, wenn die Eingangsdaten eine Vielzahl von unterschiedlichen Formaten haben, die Fehlerkorrektur mittels eines einzigen Löschkorrektur- und Fehlerkorrekturblockes dadurch vorgenommen werden, daß ein Wählsignal für das Wählen unterschiedlicher Formate verwendet wird.
- Es ist ferner anzumerken, daß bei dem beschriebenen Ausführungsbeispiel eine Steuereinheit verwendet werden kann, die es ermöglicht, einen einzigen Löschkorrektur und Fehlerkorrekturblock mit doppelter Geschwindigkeit zu betreiben, wenn die zu korrigierenden Daten eine verschachtelte Struktur haben, und mit normaler Geschwindigkeit, wenn der Fehlerkorrekturcode keinerlei verschachtelte Struktur hat.
- Ferner kann bei der Anwendung der Einrichtung gemäß dem beschriebenen Ausführungsbeispiel zur Löschkorrektur und Fehlerkorrektur von Daten mit Sektorenaufbau die Fehlerkorrektur mittels des gleichen Löschkorrektur- und Fehlerkorrekturblockes nicht nur an den Daten in dem Sektor, sondern auch an Adressendaten für den Sektor vorgenommen werden.
- Nachstehend wird ein zweites Ausführungsbeispiel der Erfindung beschrieben. Bei dem Codieren und Decodieren von BCH-Code sind die festgelegten Strategien (1) und (2) für die Anwendung in dem Fall ungeeignet, bei dem die Codelänge und die Korrekturkapazität veränderbar sind. In einem solchen Fall sollte daher die Kennungsstrategie selbst veränderbar sein. Eine solche veränderbare Kennungsstrategie wird nachfolgend als "freie Strategie" bezeichnet. In dem Ci-Decodierer kann die Kennungserzeugung durch Bestimmen der Anzahl Nci in den folgenden Fällen a bis g realisiert 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"
- hierbei gilt,
- Sci: von dem Ci-Decodierer aufgenommenes Syndrom
- Lci: Anzahl vorangehender Kennungen Fci, die mit den Fehlerstellen des Ci-Decodierers übereinstimmen
- Nci: Anzahl der von dem Ci-Decodierer aufgenommenen Kennungen Fci
- Unter der Voraussetzung, daß die beiden Decodierer C1 und C2 Decodierer mit freier Strategie sind, können Kennungen aus der vorangehenden Einrichtung wie einem Modem benutzt werden. Ob die Kennung zu kopieren oder zu setzen ist, wird durch ein anderes Signal GCL gesteuert. Zu diesem Zweck wird dann, wenn die Bedingung GCL = H erfüllt ist, der Wert der durch den Ci-Decodierer erzeugten Kennungen folgendermaßen bestimmt:
- Fcx = 0 : Kein Fehler
- Fcx = Fci : Die in dem vorangehenden Decodierer erzeugten Kennungen werden kopiert.
- Zum Schalten von Fci von "0" auf "1" als Wert von Fcx ist es erforderlich, daß unter den geforderten Bedingungen die Bedingung GCL = L erfüllt ist.
- Dieses Prinzip wird aus der folgenden Beschreibung in Verbindung mit Fig. 21 leichter ersichtlich.
- Zum Realisieren der vorstehend erläuterten Funktion wird eine in Fig. 24 dargestellte Schaltung durch Anwendung von L1 und L2 eines Algorithmus gestaltet, der den nachstehend angeführten Gleichungen (12) bis (21) folgt. Die Betriebszeitsteuerung dieser Schaltungsanordnung ist in Fig. 25 dargestellt.
- Durch Erzeugen eines Syndroms kann beurteilt werden, ob irgendein Fehler vorliegt oder nicht.
- dabei gilt
- wobei n die Codelänge darstellt, H die Prüfmatrix darstellt, J das Codewort darstellt, S das Syndrom darstellt, I das Codewort darstellt und E den Fehler darstellt.
- Auf diese Weise wird das Syndrom S als Produkt aus dem Fehler E und der Prüfmatrix H ausgedrückt, wie es durch die folgende Gleichung (14) dargestellt ist:
- Es sei hier angenommen, daß Fehler ei und ej jeweils an Stellen i und j vorliegen. 1) Syndromerzeugung 2) Codelängenkorrektur 3) K-Erzeugung (K: 0 . . . n) 4) A-Erzeugung 5) Fehlerstelle 6) Fehlermuster
- 1. Wenn kein Fehler vorliegt (ei = ej = 0)
- L1 = 0
- L2 = 0
- e = 0
- 2. Im Falle eines Einzelfehlers (ei ≠ 0, ej = 0)
- L1: L1 = 0 nur bei k = 1
- L2 = 0
- e: e = ei nur bei k = i (21)
- 3. Im Falle eines Doppelfehlers (ei ≠ 0, ej ≠ 0)
- L1: unbestimmt
- L2: L2 = 0 nur bei K = i und K=j
- e: e = ei bei k = i und e = ej bei k = j
- Ein Taktsignal ECK1 wird als NOR-Verknüpfung von L1 und CKB7 (einem invertierten Signal CK7) erzeugt, so daß ECK1 den Pegel H hat, wenn L1 den Pegel L hat. Auf gleiche Weise wird für L2 ein anderes Signal ECK2 erzeugt. Die Anzahl der Zeiten, an denen L1 und L2 den Pegel L annehmen, entspricht den Anzahlen der Taktsignal ECK1 und ECK2. Die Anzahlen der durch die Gleichung (21) angegebenen Taktsignale ECK1 und ECK2 sind in den Fig. 22 und 23 angegeben. Im einzelnen zeigt die Fig. 22 die Taktanzahlen, die erhalten werden, wenn die Korrekturkapazität T = 2 eingestellt ist, während die Fig. 23 die Taktanzahlen zeigt, - die unter der Bedingung T = 1 erhalten werden. Wenn T zu T = 1 angesetzt wird, ist das durch L2 erzeugte Signal bedeutungslos, so daß es in Fig. 23 durch eine Schräglinie ausgestrichen ist. Die Anzahlen der Takte ECK1 und ECK2 können ohne Schwierigkeit mittels eines Zählers und eines Vergleichers abgeleitet werden. Bei diesem Ausführungsbeispiel wird jedoch eine EN-Ausgangsstufe mit einer in Fig. 24 dargestellten Gestaltung bei der Bewertung der Zustände (a) bis (g) eingesetzt, um die Ausmaße der Schaltung zu verringern. In dieser Figur ist mit eine UND-Schaltung dargestellt, mit eine ODER-Schaltung dargestellt, mit o eine NAND-Schaltung dargestellt und mit o eine NOR-Schaltung dargestellt.
- EN1 und EN2 stellen die Zählausgangssignale für das Taktsignal ECK1 dar. Mit diesem Ausgangssignalen ist es möglich, zu beurteilen, - ob die Anzahl der Taktsignale ECK1 jeweils 0, 1, 2 oder größer ist. EN3, EN4 und EN5 sind Zählausgangssignale für die Taktsignale ECK2. Mit diesen Signalen ist es möglich, zu beurteilen, ob die Anzahl der Taktsignale ECK2 jeweils 0, 1, 2, 3, 4 oder größer ist. Die Taktsignale ECK1 und ECK2 stellen nicht nur die Anzahl von Fehlern, sondern auch die Stellen der Fehler dar. Durch das Einstellen der Kennungen auf die gleichen Phasen wie die Taktsignale ECK1 und ECK2 und Bestimmen der UND-Verknüpfungen aus den Taktsignalen und den Kennungen ist es möglich, die Anzahlen der mit den Kennungen übereinstimmenden Fehler zu zählen. EN6 ermöglicht die Beurteilung, ob die Anzahl von Übereinstimmungen zwischen den Taktsignalen ECK1 und FLGDD 0 oder 1 ist, welche die Kennungsausgangssignale sind, die auf die gleiche Phase ECK1 eingestellt sind. EN7 und EN8 ermöglichen die Beurteilung, ob die Anzahl von Übereinstimmungen zwischen ECK2 und FLGDD jeweils 0, 1 oder 2 ist.
- Vor der Ankunft der durch das nächste aufgenommene Wort erzeugten Taktsignale ECK1 und ECK2 ist es erforderlich, durch ECL1 das Ausgangssignal zu löschen, um das Zählen neu zu beginnen. Zu diesem Zweck ist es erforderlich, zum Zeitpunkt eines in Fig. 25 dargestellten Signals EPCK1 das Ausgangssignal vor dem Löschen durch ECL1 in dem Register für die nächste Stufe zu speichern. Somit werden die Verarbeitung von Kennungen und die Fehlerkorrektur entsprechend dem Ausgangssignal aus dem Register für die nächste Stufe ausgeführt. Die Torausgangssignale EG1 bis EG3 und FG0 bis FG5, die die in Fig. 22 und 23 gezeigten Fehlerzustände darstellen, werden unter Anwendung von EN1 bis EN8 folgendermaßen ausgedrückt:
- EG1 = (T1 + T2) (EN5 + T5)·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
- Auf diese Weise nimmt EG1 nur im Falle eines einzigen Fehlers den Pegel H an, während EG2 nur im Falle eines doppelten Fehlers den Pegel H annimmt. Es ist anzumerken, daß EG2 den Pegel L annimmt, wann immer die Korrekturkapazität T auf T = 1 eingestellt ist. EG3 nimmt den Pegel H im Falle von (g) an, nämlich nur dann, wenn die Anzahl von Fehlern die Korrekturkapazität übersteigt. FG0 bis FG5 nehmen jeweils den Pegel H bei den Bedingungen a bis f an. In Fig. 22 und 23 stellt ERD die Anzahl von Fehlern dar, während ERF die Anzahl von Übereinstimmungen zwischen den Fehlern und den Kennungen auf folgende Weise darstellt:
- ERD1 = EG1 + EG3
- ERD2 = EG2 + EG4
- ERF1 = FG1 + FG4
- ERF2 = FG3
- Eine FN-Ausgabeschaltung gemäß Fig. 26 wird dazu verwendet, extern zu bestimmen, ob der Kennungsprozeß in Bezug auf die Fälle a bis g auszuführen ist.
- Die in Fig. 26 dargestellt EN-Ausgabeschaltung ist für das Zählen der Anzahl von Kennungen mittels eines Zählers ausgelegt. Das Ausgangssignal wird zwischengespeichert und es wird ein Vergleich zwischen dem gespeicherten Ausgangssignal und dem extern eingegebenen Wert NL an einem Strategiewählanschluß für jeden der Fälle a bis g ausgeführt, wobei durch ST beurteilt wird, ob die Anzahl der aufgenommenen Kennungen größer als der jeweilige Wert NL ist. Die den Bedingungen a bis g entsprechenden Werte von NL werden aufeinanderfolgend eingegeben, so daß die Ergebnisse des Vergleichs zwischen diesen Zahlen und der Kennungsanzahl ST in der gleichen Folge ausgegeben werden und die auf diese Weise ausgegebenen Ergebnisse entsprechend einer Zeitsteuerung gemäß der Darstellung in Fig. 9 durch FPCK1 bis FPCK7 zwischengespeichert werden.
- Das zwischengespeicherte Ergebnis des Vergleichs wird durch EPCK1 in das nächste Register eingespeichert. Die Ausgangssignale aus diesem Register sind durch FN1 bis FN7 dargestellt. Auf diese Weise nehmen die Ausgangssignale FN1 bis FN7 den Pegel H unter der Voraussetzung an, daß die Anzahl von aufgenommenen Kennungen in Bezug auf die jeweiligen Zustände a bis g unterhalb der entsprechenden Werte NL liegt, bzw. den Pegel L, wenn die Kennungsanzahlen gleich den NL entsprechenden Werten oder größer sind.
- Dann werden NAND-Verknüpfungen der Fehlerzustände FG0 bis FG5 und EG3 und die Ergebnisse FN1 bis FN7 der externen Strategiewahl ermittelt und danach wird die NAND- Verknüpfung aller dieser NAND-Ausgangssignale als FD bestimmt (siehe Fig. 27: FD-Ausgabeschaltung).
- Eine Kennungsausgabeschaltung gemäß Fig. 28 wird zum Steuern der Kennungsausgabe durch FD verwendet. Die Kennungsausgabeschaltung bildet die UND-Verknüpfung aus FD und der Kennung FLG1 und speichert vorübergehend das UND-Ausgangssignal als FLG0. Es ist ersichtlich, daß das UND-Ausgangssignal unverändert abgegeben wird, wenn GCL extern auf den Pegel H eingestellt wird, aber als ELG0 = H abgegeben wird, wenn GCL extern auf den Pegel L eingestellt wird. Als Ergebnis wird ein Kennungskopieren unter der Bedingung GCL = H ausgeführt, während unter der Bedingung GCL = L ein Vorgang zum Setzen der Kennung ausgeführt wird. Die Zeitsteuerung der Vorgänge für das Kopieren und das Setzen der Kennung ist in Fig. 25 dargestellt.
- Aus der vorangehenden Beschreibung ist ersichtlich, daß dieses Ausführungsbeispiel eine Strategieeinstellschaltung ergibt, die es ermöglicht, die Kennungsstrategie frei zu wählen sowie zu bestimmen, ob die Kennung gesetzt werden soll.
- [Drittes Ausführungsbeispiel]
- Nachstehend wird ein drittes Ausführungsbeispiel der Erfindung beschrieben, insbesondere eine Codier- und Decodierschaltung einer Fehlerkorrektureinrichtung, die für den Einsatz in einer Optikplattenvorrichtung DAT oder einer ähnlichen Vorrichtung geeignet ist.
- Es sei hier angenommen, daß das Codieren entsprechend den nachfolgenden Gleichungen (22) bis (29) ausgeführt wird, während das Decodieren entsprechend nachfolgenden Gleichungen (30) bis (39) ausgeführt wird. Der Codierprozeß und der Decodierprozeß haben gemeinsame Schritte, nämlich das Erzeugen von Syndromen und das Multiplizieren der Syndrome mit Konstanten. Die bei dem Codierprozeß verwendeten Konstanten sind Codierkonstanten gemäß den Gleichungen (28) und (29), während die bei dem Decodierprozeß verwendeten Konstanten Codelängenkorrektur-Konstanten α-n bis α-3n sind, die in der Gleichung (34) erscheinen. Der Codierprozeß und der Decodierprozeß können durch Blockdarstellung gemäß Fig. 29 und 30 dargestellt werden. Die Mustererzeugungsschaltung für die Verwendung bei dem Codierprozeß kann eine Schaltung sein, die bei jeweils vier Takten (S0 bis S3) die Antivalenzverknüpfung der Syndrome und der Codierungskonstanten bildet, so daß für jeweils vier Takte eine Parität erzeugt wird. Die bei dem Decodierprozeß verwendete Mustererzeugungsschaltung kann gleichfalls eine Schaltung sein, die bei jeweils vier Takten eine Antivalenzverknüpfung erzeugt, da sie ein Fehlermuster e erzeugen kann, wenn bei dem Ausgangssignal aus den Prozeßblöcken gemäß den Gleichungen (35) bis (37) zwei Takte anders als k&sub0; und A&sub0;²/(A&sub0; + A&sub1;) "0" sind. Dies bedeutet, daß eine einzige Mustererzeugungsschaltung gemeinschaftlich sowohl für den Codierprozeß als auch für den Decodierprozeß benutzt werden kann. Bei dem Codierprozeß wird ein Codewort dadurch erzeugt, daß das Ausgangssignal aus der Mustererzeugungsschaltung dem hinteren Ende der Daten I hinzugefügt wird, wenn - der Datenwert I im Falle von in-3 bis in-0 "0" ist, während das Mustererzeugungsausgangssignal "0" in den Fällen ist, die von der Parität verschieden sind. Bei dem Decodierprozeß kann die Korrektur durch Erhalten der Antivalenzverknüpfung mit dem empfangenen Wort J erzielt werden.
- Zuerst wird das Codieren beschrieben. Der Zusammenhang zwischen der Prüfmatrix H, die die Basis für den Read- Solomon-Code bildet, und den Codewort I kann durch die folgende Gleichung (22) ausgedrückt werden:
- wobei n die Codelänge darstellt, H die Prüfmatrix darstellt, I das Codewort darstellt, i1 bis in-4 die Daten darstellen und in-3 bis in die Parität darstellen.
- Dann wird gemäß der Darstellung durch die nachstehende Gleichung (23) die Gleichung (22) in einen Paritätsteil und einen Datenteil aufgeteilt.
- Beide Seiten der Gleichung (23) werden mit A&supmin;¹ multipliziert:
- B wird folgendermaßen zerlegt:
- Durch Kombinieren von A&supmin;¹ und C werden die folgenden Gleichungen (26) und (27) erhalten:
- Daher ist die folgende Bedingung erfüllt:
- Das gleiche gilt auch für die Einzelkorrektur- Codierkonstante:
- Nachstehend wird das Decodieren beschrieben. Durch Erzeugen eines Syndroms kann entschieden werden, ob irgendein Fehler vorliegt.
- hierbei gilt
- wobei n die Codelänge darstellt, H die Prüfmatrix darstellt, J das Codewort darstellt, S das Syndrom darstellt, I das Codewort darstellt, E den Fehler darstellt. Somit wird das Syndrom S als Produkt aus dem Fehler E und der Prüfmatrix H gemäß der Darstellung durch die nachstehende Gleichung (32) ausgedrückt:
- Hierbei ist angenommen, daß Fehler ei und ej jeweils an Stellen i und j vorliegen. 1) Erzeugen von Syndromen 2) Codelängenkorrektur 3) K-Erzeugung (K: 0 . . . .n) 4) A-Erzeugung 5) Fehlerstelle 6) Fehlermuster
- 1. Kein Fehler (ei = ej = 0)
- L1 = 0
- L2 = 0
- e = 0
- 2. Einzelner Fehler (ej ≠ 0, ej = 0) (39)
- L1: L1 = 0 nur bei k = i
- L2 = 0
- e: e = ei nur bei k = i
- 3. Doppelter Fehler (ei ≠ 0, ej ≠ 0)
- L1: unbestimmt
- L2: L2 = 0 nur bei k = i und K=j
- e: e = ei bei k = i und e = ej bei k = j
- Es ist daher möglich, Codier- und Decodierprozesse selektiv durch Entwerfen einer Codier- und Decodierschaltung auszuführen, in der gemäß Fig. 31 eine Codierschaltung als "Unbekannte" eingesetzt wird und eine Konstantenausgabeschaltung durch Hinzufügen einer Wähl- und Codierkonstanten-Ausgabeschaltung 291 zu einer Codelängenkorrektur-Konstantenerzeugungsschaltung 301 gebildet wird. Jeder der Blöcke kann folgenden vereinfachten Aufbau haben:
- Wenn wie gemäß Fig. 31 ein einziger Multiplizierer verwendet wird, ist es erforderlich, das aus der Syndromerzeugungsschaltung abgegebene Signal seriell über eine Busleitung zu leiten. Im Falle des Codierens kann die serielle Ausgabe unter der Voraussetzung ausgeführt werden, daß die dem Paritätsteil entsprechenden Eingaben in-3 bis in "0" sind. Falls jedoch die Eingaben in-3 bis in nicht "0" sind, ist der folgende Vorgang erforderlich: Zum Realisieren von S1 bis SIV gemäß der Gleichung (28) bei der Doppelfehlerkorrektur-Codierung sollte die Syndromerzeugungsschaltung unter Einstellen der Eingabedaten in-3 bis in auf "0" betrieben werden. Zu diesem Zweck wird das Löscheingangssignal, das dem Register zuzuführen ist, welches das aufgenommene Wort J zwischenspeichert, während der in-3 bis in entsprechenden Periode auf dem Pegel L gehalten. Daher werden dann, wenn gerade in-3 eingegeben wird, durch die in der Periode zwischen i1 und in-4 empfangenen Worte die Syndrome SI [S0, S1, S2, S3] erzeugt. Die Syndromerzeugungsschaltung arbeitet selbst während des Empfangens von in-2 = 0 weiter, so daß die Syndrome SII [S0, α, S1, α², S2, α³, S3] erzeugt werden. Gleichermaßen werden bei der Eingabe von in-1 = 0 und in = 0 die Syndrome SIII [S0, α², S1, α&sup4;, S2, α&sup6;, S3] und SIV [S0, a³, S1, α&sup6;, S2, α&sup9;, S3] erzeugt.
- Das gleiche gilt auch im Falle eines einzelnen Fehlers. D. h., wenn in-1 = 0 eingegeben wird, werden entsprechend den Eingaben in der Periode zwischen i1 und in-2 die Syndrome SI [S0, S1] erzeugt, und bei dem Empfang der nächsten Eingabe in = 0 werden die Syndrome SII [S0, α·S1] erzeugt. Somit kann die Codier-Syndromerzeugungsschaltung auf einfache Weise dadurch realisiert werden, daß SPCL der Decodier-Syndromerzeugungsschaltung gesteuert wird. Die Zeit dieser Steuerung ist in Fig. 32 dargestellt.
- Bei der Doppelfehlerkorrektur-Codierung ist es nach dem Bestimmen der Syndrome SI bis SIV durch die Syndromerzeugungsschaltung erforderlich, die Syndrome mit der Doppelfehlerkorrektur-Codierkonstante zu multiplizieren, um die Parität in-3 bis in zu erzeugen. Gemäß der Darstellung in den Gleichung (28) und (29) wird eine einzige Codierkonstante auffestgelegte Weise sowohl bei der Einzelfehlerkorrektur als auch bei der Doppelfehlerkorrektur verwendet. Somit kann die Multiplikation durch eine Schaltung ausgeführt werden, die die Syndrome mit der entsprechenden Konstante unter Synchronisierung mit diesen Syndromen multipliziert. Die Fig. 33 ist eine Blockdarstellung, die ein Beispiel für eine solche Schaltung zeigt.
- PC1 bis PC16 sind Ausgangssignale, die gemäß Fig. 34 durch Verschieben von PC1 mittels eines Schieberegisters erhalten werden. Durch die Ausgangssignale PC1 bis PC16 werden Konstanten entsprechend der Gleichung (28) den jeweiligen Syndromen SI bis SIV zugeordnet und an eine Busleitung Y ausgegeben. Die Fig. 33 zeigt eine Schaltung, die dazu ausgelegt ist, eine EOW-Steuerung an den auf diese Weise zugeordneten Doppelfehlerkorrektur- Codierkonstanten-Ausgangssignalen auszuführen und das Ergebnis dieser Steuerung an die Eingangs-Busleitung Y des Multiplizierers abzugeben. Die Doppelfehlerkorrektur- Codierkonstanten-Ausgabeschaltung, von der PC1 bis PC16 benutzt wird, kann einen Aufbau gemäß der Darstellung in Fig. 35 haben.
- Im Falle der Einzelfehlerkorrektur-Codierung nimmt SCL den Pegel L an, wenn das Syndrom SIII erzeugt wird, so daß nur PC1 bis PC8 eingesetzt werden. D. h., durch PC1 bis PC8 werden die Codierkonstanten zugeordnet, die SI und SII entsprechen. In diesem Fall haben S2 und S3 keine Bedeutung, so daß bezüglich S2 und S3 "0" ausgegeben wird. Es ist ersichtlich, daß die Einzelfehlerkorrektur- Codiereinstellschaltung den gleichen Aufbau und das gleiche Funktionsprinzip wie die Doppelfehlerkorrektur- Codierschaltung haben kann, wie es in Fig. 36 und 37 dargestellt ist. Die Betriebszeitsteuerung dieser Schaltung ist in Fig. 34 dargestellt.
- Wie im Falle der Codierkonstanten wird die Codelängenkorrekturkonstante 1 durch eine Schaltung mit Blöcken gemäß der Darstellung in Fig. 38 erzeugt. Die Betriebszeitsteuerung dieser Schaltung ist in Fig. 39 dargestellt. Falls die Länge n festgelegt ist, können 1 und α-n bis α-3n mittels einer ODER-Schaltung erzeugt werden.
- Wenn die Länge n variabel ist, kann die Codelängenkorrekturschaltung durch einen Festspeicher oder eine nachfolgend genannte Exponent/Vektor-Umsetzschaltung folgendermaßen gebildet werden: Die Anordnung soll derart beschaffen sein, daß durch einen Multiplizierer in der Periode des Erzeugens des ersten Syndroms α-n erzeugt wird und dann durch den Multiplizierer α-2n und α-3n erzeugt werden, wobei die Ausgangssignale durch ein dreipegeliges Register zwischengespeichert werden, welches wiederum mit NCK1 bis NCK3 der OE-Steuerung unterzogen ist. Ein Beispiel für eine solche Codelängenkorrekturschaltung ist durch das Schaltbild in Fig. 40 dargestellt, während die Betriebszeitsteuerung dieser Schaltung in Fig. 41 dargestellt ist.
- Hinsichtlich des Wählsignales sind das Codieren und das Decodieren durch D ausgedrückt, während die Korrekturkapazität durch T dargestellt ist. Durch Einstellen von T und D werden EOW (Codieren, T = 2), EOS (Codieren, T = 1) und HOE (Decodieren) erzeugt. Wenn das T und D nicht eingestellt sind, nehmen EOW, EOS und HOE den Pegel H an.
- Die in der Gleichung (38) dargestellte Funktion kann durch eine in Fig. 42 gezeigte Schaltung ausgeführt werden. Durch Berechnen der UND-Verknüpfung von KD und KGT kann K0 aus KD herausgegriffen werden und das auf diese Weise herausgegriffene K0 wird in ein Register eingegeben. Dann wird aus dem Ausgangssignal ZS des in Fig. 31 gezeigten Wählers das Ausgangssignal x²&sup5;&sup4;·A0², nämlich A0²·(A0 + A1)&supmin;¹ herausgegriffen und die Antivalenzverknüpfung des auf diese Weise herausgegriffenen Ausgangssignals und des Ausgangssignals des Registers berechnet, wodurch ein Fehlermuster erzeugt wird. In anderen Fällen wird durch Ansetzen einer Bedingung KGT = XGT = 0 die Antivalenzverknüpfung durch Einsetzen des Ausgangssignals als "0" berechnet. Dieser Vorgang wird gemeinschaftlich bei der Korrektur eines einzelnen Fehlers und der Korrektur eines doppelten Fehlers angewandt. Die Betriebszeitsteuerung dieser Schaltung ist in Fig. 43 dargestellt. Im Falle des Decodierens gilt jedoch die Bedingung PCL = H.
- Während des Codierens wird das Erzeugen der Parität ausgeführt. Im Falle der Doppelfehlerkorrektur-Codierung werden aus ZS Werte abgeleitet, die durch Multiplizieren der Syndrome SI bis SIV mit Codierkonstanten erhalten werden. Es ist daher möglich, aufeinanderfolgend Paritäten in-3 bis in dadurch zu erzeugen, daß fortgesetzt die Antivalenzverknüpfung des ZS-Ausgangssignals und des Ausgangssignals des Registers, das unter der Bedingung XGT = H und KGT = L durch CKB6 gelöscht wird, bis zum erneuten Löschen des Registerausgangssignals durch CKB6 gebildet wird. Der vorstehend beschriebene Vorgang wird nur in der Periode ausgeführt, in der von ZS die Syndrome SI bis SIV ausgegeben werden. Andere Ausgangssignale von EP sind bedeutungslos. Daher wird durch Einstellen von PCL auf den Pegel L das Ausgangssignal von EP auf "0" eingestellt. Dieser Vorgang ist in Fig. 44 dargestellt. In Fig. 45 ist der Vorgang dargestellt, der bei der Einführfehlerkorrektur-Codierung ausgeführt wird.
- Die Funktion gemäß der Gleichung (35) wird wie im Falle der Syndromerzeugungsschaltung durch k-maliges Multiplizieren der Syndrome Si mit αi realisiert. Die Funktion gemäß der Gleichung (36) kann durch eine Antivalenzberechnung ausgeführt werden. Die Funktion gemäß der Gleichung (37) kann durch Multiplizieren der Antivalenzverknüpfung und A1² realisiert werden. Die Gleichung (37) spielt jedoch bei dem durch die Gleichung (38) ausgedrückten Mustererzeugungsvorgang keine Rolle. Die Rechenvorgänge außer der X²-Berechnung sind gewöhnliche Vorgänge und können daher mittels einer einfachen Schaltung ausgeführt werden. Die X²-Berechnung kann gleichfalls ohne wesentliche Schwierigkeiten durch die in Fig. 46 dargestellte Anordnung ausgeführt werden.
- Nachstehend wird eine Abwandlungsform dieses Ausführungsbeispiels beschrieben.
- Das Codieren wird entsprechend den vorangehend angeführten Gleichungen (22) bis (29) ausgeführt. Kurz zusammengefaßt besteht der Codierprozeß darin, daß die Syndrome SI bis SIV bestimmt werden, diese Syndrome mit gemäß den Gleichungen (28) und (29) bestimmten Codierkonstanten multipliziert werden und für jeweils vier Takte (S0 bis S3) die Antivalenzverknüpfungen dieser Ausgangssignale berechnet werden, wodurch bei jeweils vier Takten Paritäten erzeugt werden. Somit kann das Codieren durch eine Schaltung mit Blöcken gemäß der Darstellung in Fig. 29 ausgeführt werden, die eine einzige Multiplikationsschaltung, eine Syndromerzeugungsschaltung für das serielle Ausgeben der Syndrome SI bis SIV, eine Schaltung für das serielle Ausgeben der Codierkonstanten und eine Antivalenzschaltung für das Berechnen der Antivalenzverknüpfungen für jeweils vier Takte enthält.
- Das Decodieren wird durch Rechenvorgänge gemäß den Gleichungen (30) bis (39) ausgeführt. Der erste Schritt kann auf gleiche Weise wie bei dem Codiervorgang ausgeführt werden, da bei diesem Schritt die Funktion darin besteht, daß die Syndrome S mit den Codelängen-korrekturkonstante α-n bis α-3n multipliziert werden, obgleich bei den beiden Betriebsarten die Werte der Konstanten voneinander verschieden sind. Danach wird der Rechenvorgang gemäß den Gleichungen (11) bis (20) durch eine in Fig. 47 dargestellte Schaltung ausgeführt. Nimmt man hierbei an, daß diese Mustererzeugungsschaltung eine Antivalenzschaltung ist, die innerhalb einer Periode von vier Takten arbeitet, so kann eine solche Schaltung gemeinschaftlich sowohl bei dem Codieren als auch bei dem Decodieren benutzt werden.
- Nachstehend wird ein Versuch erläutert, drei Multiplizierer nach Fig. 47 zu einem einzigen Multiplizierer zusammenzufassen.
- Die Division A&sub0;²(A&sub0;+A&sub1;)&supmin;¹ kann durch eine ,nachfolgend beschriebene Schaltung ausgeführt werden, die einen Multiplizierer enthält, der zum Ausführen der Multiplikation entsprechend vier Takten ausgelegt ist. Da die Syndromerzeugungsschaltungen S0 bis S3 mit einer Periode arbeiten, die vier Takten entspricht, ist es möglich, als Grundperiode vier Takte anzusehen. Gemäß den Gleichungen (30) bis (39) sind die Multiplikation A&sub0;·A&sub2; und die Multiplikation y·x¹&sup4; auszuführen, die in der Divisionsschaltung genutzt werden. Die Codelängenkorrektur wird in einer Codetabelle ausgeführt und nicht auf Codewortbasis.
- Der Rechenvorgang für das Multiplizieren mit α-n bis α-3n wird in der Periode von drei Takten ausgeführt, so daß eine einem Takt entsprechende Zeit ungenutzt bleibt. In dieser Zeit wird die Multiplikation A&sub0;·A&sub2; ausgeführt. Die Multiplikation y·x¹&sup4; wird nur dann nicht ausgeführt, wenn die Codelängenkorrektur vorzunehmen ist. In diesem Fall fällt der Erzeugen des Fehlermusters in Bezug auf das Codewort aus, für das die Codelängenkorrektur erforderlich ist. Dies verursacht jedoch keinerlei wesentliches
- Problem, wenn dieses Codewort in dem Paritätsteil eingesetzt wird.
- Es ist auf diese Weise möglich, die Codier- und Decodierschaltung durch Anwenden der in Fig. 48 gezeigten Schaltungsanordnung zu vereinfachen.
- Die Syndromerzeugungsschaltung, die Konstantenausgabeschaltung und die Musterausgabeschaltung sind die gleichen wie die vorangehend beschriebenen, so daß deren ausführliche Beschreibung weggelassen wird. Daher wird eine Beschreibung wieder in Bezug auf die K-Erzeugungsschaltung, die Vergleichsschaltung und die A-Erzeugungsschaltung begonnen.
- Die K-Erzeugungsschaltung 481 ist eine Schaltung zum Multiplizieren des Syndroms Si' nach der Codelängenkorrektur gemäß Gleichung (34) mit α-i für eine der Codelänge entsprechende Zeit, wobei somit die Funktion gemäß Gleichung (35) ausgeführt wird. Diese Schaltung betrifft daher nur das Decodieren und kann durch eine Schaltungsanordnung realisiert werden, die zu derjenigen der Syndromerzeugungsschaltung gleichartig ist. Zweckdienlich wird jedoch eine Schaltung gemäß Fig. 49 verwendet, da in diesem Fall die Antivalenzberechnung mit dem aufgenommenen Wort nicht erforderlich ist. Durch Benutzung eines Dreistufen-Steuerschalters wie des in Fig. 49 gezeigten Schalters und durch Anwenden einer Busleitungssteuerung, die zu derjenigen der Syndromerzeugungsschaltung gleichartig ist, ergibt sich eine Schaltung gemäß Fig. 50. Für das Syndrom S0 ist die Codelängenkorrektur gemäß der Gleichung (34) nicht erforderlich, jedoch müssen die Syndrome S1 bis S3 durch die Codelängenkorrektur zu S1' bis S3' umgesetzt werden. Die Codelängenkorrektur erfolgt durch Multiplizieren der jeweiligen Syndrome mit den Codelängenkorrektur-konstanten. Wenn die Anordnung derart ist, daß die korrigierten Syndrome S1' bis S3' synchron mit SE ausgegeben werden, wird S0 bei CK3 zwischengespeichert und bei KE ausgegeben, um den Zeitpunkt von S0 mit dem Zeitpunkt von S0' in Übereinstimmung zu bringen, so daß die korrigierten Syndrome S' einschließlich S0' bis S3' in die K- Erzeugungsschaltung in der genannten Reihenfolge eingegeben werden. Daher wirken die Ausgangsfreigabesignale RE1 bis RE4 der Zwischenspeicher für K0 bis K3 auf konkurierende Weise wie im Falle des in Fig. 32 dargestellten Zeitdiagramms. Diese Signal RE1 bis RE4 müssen jedoch innerhalb der Periode eingeschaltet gehalten werden, in welcher S' gerade durch KE und SE aufgenommen wird. Die Zeitsteuerung dieses Vorgangs ist -in Fig. 51 dargestellt. Wie im Falle der Syndromerzeugungsschaltung hat diese Schaltung den Vorteil, daß sie unter Zuführung der korrigierten Syndrome S' mit Busleitungsstruktur K mit einer klein ausgelegten Schaltung erzeugen kann. Infolgedessen werden K0 bis K3 mit einer Periode ausgegeben, die vier Takten entspricht.
- Die Fig. 52 ist ein Blockschaltbild der Vergleichsschaltung. Die Vergleichsschaltung dient zum Vergleichen zwischen A0·A1 und A1² derart, daß beurteilt wird, ob sie miteinander überstimmen oder nicht, nämlich ob L2 - A1² + A0, A2 = 0 oder L2 ≠ 0 ist (Gleichung (39)), und speichert vorübergehend das Ergebnis bei CK6, wodurch die Lage des zu korrigierenden Fehlers erfaßt wird. Die Lage eines einzelnen Fehlers wird entsprechend der Gleichung (39) durch die Beurteilung, ob L1 = A0 = 0 oder L1 ≠ 0 ist, und darauffolgende Zwischenspeicherung des Ergebnisses bei CK6 ermittelt.
- Die A-Erzeugungsschaltung besteht aus einer Schaltung, die entsprechend der Gleichung (36) zum Erzeugen von A0 bis A2 die Antivalenzverknüpfung von K0 bis K3 berechnet, die von der K-Erzeugungsschaltung erzeugt werden, und einer Schaltung zum Erzeugen von A0 + A1, A0² und A1². Die A-Erzeugungsschaltung nimmt nur an dem Decodiervorgang teil. Wegen der Benutzung einer Busleitung- Anordnung werden K0 bis K3 nicht gleichzeitig eingegeben. Zum Erzeugen von A ist es daher erforderlich, K durch MCK um einen Takt zwischenzuspeichern und die Antivalenzverknüpfung aus dem um einen Takt verzögerten Ausgangssignal und K zu berechnen. Eine Schaltungsanordnung für das Realisieren eines solchen Vorganges und die Betriebszeitsteuerung dieser Schaltung sind jeweils in Fig. 53 und 54 dargestellt. In Fig. 54 sind die strichliert dargestellten Signale ungültige Signale. Der nächste Abschnitt A2 ist K3 + K0 und hat keine Bedeutung bei den nachfolgenden Algorithmen. Die Ausgabe von A0 + A1 wird nur in mit Al synchronen Abschnitten von A ausgeführt und die anderen Teile von A haben keinerlei Bedeutung. Das Signal A wird bei CK7 und CK1 zwischengespeichert, um A0 und A1 zu bilden, wodurch A0² und A1² erzeugt wird. Dieser Vorgang wird zum Erreichen einer Zeitsteuerung ausgeführt, die für die Berechnung der Gleichungen (37) und (38) optimal ist.
- Hinsichtlich der x²-Schaltung kann das Darstellen des Vektorausdruckes für x durch P(x) - x&sup8; + x&sup4; + x³ + x² +1, wobei x durch x = V7·α&sup7; + V6·α&sup6; + V5·α&sup5; + V4·α&sup4; + V3·α³ + V2·α² + V1·α + V0 dargestellt ist, x² auf folgende Weise entwickelt werden:
- 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·α²+VO =V·α7+(V6+V5+V3)α&sup6;+V5·αH5+(V7+V5+V4+V2)·α&sup4; +(V6+V4)·α³+(V6+V5+V4+V1)·α²+V7·α+(V7+V6 +V4+VO)
- Auf diese Weise kann x² durch eine Schaltung bestimmt werden, die gemäß der vorangehenden Erläuterung einen in Fig. 46 gezeigten Aufbau hat.
- Wie es aus der vorangehenden Beschreibung ersichtlich ist, ermöglicht dieses Ausführungsbeispiel die Abmessungen der Schaltung durch gemeinsame Nutzung von Schaltungsanordnungen sowohl bei dem Codieren als auch bei dem Decodieren und durch mehrfache Nutzung der Schaltung zu verringern, während die hohe Geschwindigkeit der Codier- und Decodiervorgänge aufrecht erhalten bleibt und während das Verändern der Korrekturkapazität und der Codelänge ermöglicht ist.
- Demzufolge trägt dieses Ausführungsbeispiel zu einer Verringerung der Abmessungen und einer Verbesserung der Leistung irgendeiner Vorrichtung bei, die die erfindungsgemäße Fehlerkorrektureinrichtung gemäß diesem Ausführungsbeispiel enthält.
- Nachstehend wird eine Syndromerzeugungsschaltung in einer BHC-Codier- oder Decodierschaltung beschrieben, die für die Verwendung bei einem vierten Ausführungsbeispiel geeignet ist.
- Die Fig. 55 zeigt den Aufbau dieses Ausführungsbeispiels. Die in Fig. 55 dargestellte Schaltung enthält nicht unabhängige Schaltungen für αi, sondern statt dessen ist das Ausmaß der Schaltung durch Nutzung des Umstandes verringert, so daß die Wurzel αi des BHC-Codes in der Gleichung (2) progressiv von αr weg zu αr+1, αr+2, usw. fortgeschrieben wird (wobei r irgendeine beliebige Zahl ist und in diesem Fall zu r = 0 angesetzt wird). Zugleich wird für S0 bis S3 eine Busleitungsstruktur angewandt. Da für S0 bis S3 die Busleitungsstruktur angewandt wird, ist es erforderlich, daß in der Periode, die S0 bis S3 entspricht, CK und OE (Ausgabefreigabe) in konkurrierender Weise einzusetzen sind. Die für den jeweiligen einen Wert von S0 bis S3 angesetzten CK und OE werden durch ein Signal gesteuert, das in Fig. 56 dargestellt ist. Signale CKb1, CKB3, CKB5 und CKB7 sind Signale, die jeweils durch Inversion von CK1, CK3, CK5 und CK7, nämlich durch Ersetzen von H durch L bzw. umgekehrt erhalten werden. Es ist daher erforderlich, daß das Eingangssignal J für jeweils ji synchron mit CK1 eingegeben wird. SCL ist ein Signal, das den-Pegel L annimmt, wenn das erste aufgenommene Wort j1 eingegeben wird. Daher werden S0 bis S3 für jeweils vier Takte ausgegeben und die endgültige Antwort wird im Ansprechen auf das jeweilige Signal SCL ausgegeben. Es ist jedoch ersichtlich, daß SPCL im Falle des Decodiervorganges immer H ist.
- Die vorstehend erläuterte Berechnung der Gleichung (2) kann auch zur Lösung von Aufgaben bei der digitalen Fourier-Transformation DFT angewandt werden.
- Wenn es erforderlich ist, die Multiplikation mit αr von vorneherein auszuführen, wird zwischen die Antivalenzschaltung EXOR und das Register, welches J ausgibt, eine αr-Schaltung eingefügt.
- Die Anordnung kann auch derart sein, daß zwischen die Antivalenzschaltung und das Register, welches J ausgibt, eine αr-l-Schaltung eingesetzt wird, während zwischen die Antivalenzschaltung und das Register für S0 und die α- Schaltung eine α-Schaltung gesetzt wird (wobei l irgendeine positive Zahl darstellt).
- Die Fig. 57 zeigt eine Anordnung, die für die Verwendung in dem Fall geeignet ist, das eine Multiplikation mit αr erforderlich ist. Eine αx-Schaltung kann durch Stapeln der in Fig. 4 dargestellten α-Schaltung in x-Stufen realisiert werden.
- Auf diese Weise bietet das beschriebene Ausführungsbeispiel die vorangehend angeführten Vorteile, während die Auslegung oder das Format der Schaltung verringert ist und zwar selbst dann, wenn die Anzahl q der Galois- Funktion GF(2q) groß ist, wenn die Anzahl i der Syndrome Si groß ist oder wenn die Syndrome Si über die Busleitung verbunden sind.
- Es ist ersichtlich, daß die Abmessung von Vorrichtungen wie optischen Plattenvorrichtungen, optischen Kartenvorrichtungen, optomagnetischen Plattenvorrichtungen und DAT-Geräten durch die Anwendung der Schaltung gemäß diesem Ausführungsbeispiel beträchtlich verringert werden können.
- Nachstehend wird ein fünftes Ausführungsbeispiel der Erfindung beschrieben. In Bezug auf eine Multiplikationsschaltung an einem Galois-Feld GF(2&sup8;) sind die Eingangssignale x und y folgendermaßen ausgedrückt:
- x = x&sub7;·α&sup7; + x&sub6;·α&sup6; + x&sub5;·α5 + 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 ergibt sich das Produkt Z aus x und y (Z = x.y) folgendermaßen:
- z = x&sub7;·(y·α&sup7;) + x&sub6;·(y·α&sup6;) + . . . + x&sub2;·(y·α²) + x&sub1; ·(y·α) + x&sub0;·y
- Daher wird das Produkt Z dadurch erzeugt, daß der Wert y mit 1 bis α&sup7; multipliziert wird und das Ausgangssignal yαi durchgelassen wird, wenn xi (i = 0 bis 7) "1" ist, während "0" durchgelassen wird, wenn für das Berechnen von xi·(y·αi) xi "0" ist, und dann die Antivalenz der Ausgangssignale xi·(yαi) berechnet wird (i = 0 bis 7). Die Multiplikation kann mit einer Schaltung ausgeführt werden, die Blöcke gemäß der Darstellung in Fig. 58 hat. Die Fig. 59 zeigt den Aufbau der in Fig. 58 mit bezeichneten Schaltung. In der in Fig. 58 dargestellten Schaltung wird der Wert y aufeinanderfolgend durch die in Fig. 4 gezeigte und an sich bekannt u-Schaltung mit α multipliziert und es werden die UND-Produkte aus diesen Ausgangssignalen y·αi und x&sub1; berechnet (i = 0 bis 7). Die UND-Ausgangssignale werden dann durch eine Antivalenzschaltung EXOR verarbeitet, wodurch das Ausgangssignal Z erhalten wird. In dieser Figur ist mit eine Busleitung bezeichnet.
- Die Fig. 60 zeigt eine Abwandlungsform zum Minimieren der Verzögerungszeit in der Torschaltung, die gemäß der vorangehenden Erläuterung durch das Stapeln von α- Schaltungen in 7 Stufen gebildet ist. Daher kann mit dieser Abwandlungsform die maximale Verarbeitungsgeschwindigkeit erhöht werden.
- Nachstehend wird die Divisionsschaltung beschrieben.
- An einer beispielsweise durch GF(α²&sup5;&sup4;) ausgedrückten Galois-Funktion wird infolge der zyklischen Natur der Galois-Funktion y/x folgendermaßen ausgedrückt:
- y/x = y·x&supmin;¹ = y·x²&sup5;&sup4; (α²&sup5;&sup5; = 1 - α&sup0;, so daß α 254 = α&supmin;¹)
- Die Berechnung von α²&sup5;&sup4; kann ohne Schwierigkeiten durch einen Festspeicher ausgeführt werden. Bei diesem Ausführungsbeispiel wird diese Berechnung jedoch durch Anwendung einer Torschaltung ausgeführt. Infolge der Natur der Galois-Funktion kann eine Schaltung für das Berechnen irgendeiner durch x2m (m = 1, 2 , . . . ) ausgedrückte Galois-Funktion auf einfache Weise aufgebaut werden. Dies trifft jedoch im Falle von x²&sup5;&sup4; nicht zu. Bei diesem Ausführungsbeispiel wird daher eine Schaltung vorgeschlagen, bei der eine x2m-Schaltung und eine Multiplikationsschaltung benutzt werden, welche auf möglichst einfache Weise miteinander kombiniert sind. Es ist hier ferner vorausgesetzt, daß das Erzeugen von x²&sup5;&sup4; aus x innerhalb von vier Takten auszuführen ist. Zu diesem Zweck wird x²&sup5;&sup4; auf folgende Weise zerlegt
- x²&sup5;&sup4; = x¹&sup4;·(x¹&sup4;·x¹&sup6;)&sup8;
- Daher kann unter der Voraussetzung, daß x¹&sup4; bestimmt ist, x²&sup5;&sup4; durch zwei Multiplikationen, nämlich innerhalb zweier Takte erzeugt werden. Dies bedeutend, daß zwei Takte für zwei Multiplikationen zum Bestimmen von x¹&sup4; genutzt werden können.
- x¹&sup4; = x²·x&sup4;·x&sup8;
- Auf diese Weise wird in der ersten Taktperiode x2 und x&sup4; aus x und x&sup6; bestimmt.
- In der zweiten Taktperiode wird x¹&sup4; aus x&sup6; und (x&sup4;)² erzeugt.
- In der dritten Taktperiode x³&sup0; aus x¹&sup4; und (x&sup8;)² erzeugt. In der vierten Taktperiode wird x²&sup5;&sup4; aus x¹&sup4; und (x³&sup0;)² erzeugt.
- Falls nur das Bestimmen von x²&sup5;&sup4; gefordert ist, sind die vorstehend beschriebenen Multiplikationen ausreichend. In diesem Fall ist es jedoch erforderlich, daß in der vierten Taktperiode auch y·x²&sup5;&sup4; berechnet wird. Zu diesem Zweck wird anstelle von x¹&sup4; bei dem vierten Takt x¹&sup4;·y eingesetzt. Es ist vorausgesetzt, daß x¹&sup4;·y durch eine andere Multiplikationsschaltung berechnet wird.
- Die Fig. 61 ist eine Blockdarstellung einer Schaltung, die zum Ausführen der vorstehend beschriebenen Folge von Rechenvorgängen ausgelegt ist. Diese Schaltung besteht aus x²-, x&sup4;- und x&sup8;-Schaltungen 611, 612 und 613, einem Multiplizierer 614 und Wählern 615, 616, 617 und 618 für das Wählen der Eingangssignale sowie Zwischenspeichern 619 und 610 für das Korrigieren der Schaltgliedverzögerung. Die Gestaltungen der x²-, x&sup4;- und x&sup8;- Schaltungen 611, 612 und 613 sind jeweils in Fig. 63, 64 und 65 dargestellt. Mit einem Symbol ist jeweils eine Antivalenzschaltung bzw. EXOR-Schaltung bezeichnet, während mit einem Pfeilsymbol eine Busleitung bezeichnet ist.
- Unter der Bedingung 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 Grundpolynomen 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;) α7 + (v&sub7; + v&sub6; + v&sub5; + v&sub2;) α&sup6; + v&sub5;α&sup5; + (v&sub7; + v&sub4; + v&sub1;) α&sup4; + (v&sub7; + 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;)
- Die Fig. 62 ist ein Zeitdiagramm, das die Funktion der in Fig. 61 gezeigten Schaltung veranschaulicht.
- Die Fig. 66 zeigt eine Divisionsschaltung mit x²-, x&sup4;- und x&sup8;-Schaltungen 611, 612 und 613 in einer anderen Form, durch die die Verarbeitungsgeschwindigkeit der Divisionsschaltung beträchtlich verbessert ist.
- Es wird nun eine Exponent/Vektor-Umsetzschaltung beschrieben. Wenn die Galois-Funktion eine durch GF(2&sup8;) dargestellte ist, wird der Exponent n in die Exponent/Vektor-Umsetzschaltung in binärer Form eingegeben (N7 bis N0: Ni = 1 oder 0) und auf die folgende Weise ausgedrückt, wobei der Exponent n zum Erzeugen von αn zerlegt wird:
- 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·24·αN1·2·αN0
- Auf diese Weise kann die Exponent/Vektor-Umsetzung dadurch bewerkstelligt werden, daß eine Schaltung aufgebaut wird, die α2i ausgibt, wenn Ni (i = 0, . . . , 7) "1" ist, und die Ausgangssignale dieser Schaltung aufeinanderfolgend multipliziert werden. Ein Beispiel für eine solche Schaltung ist durch ein Blockdiagramm in Fig. 67 dargestellt, während die Betriebszeitsteuerung dieser Schaltung in Fig. 68 dargestellt ist. Wenn binäre Ausdrücke mit einer Codelänge n aufeinanderfolgend beginnend mit N0 und endend mit N7 zugeführt werden, werden aufeinanderfolgend an der Busleitung Y Ausgangssignale αN0 bis αN7·128 erhalten und einer Multiplikationsschaltung 672 zugeführt. Das Ausgangssignal Z der Multiplikationsschaltung 672 ergibt aufeinanderfolgend mit αN0 bis αn7·128 multiplizierte Werte. Diese Ausgangssignale werden in einem Register 673 gespeichert und in einen anderen Eingangsanschluß x der Multiplikationsschaltung 672 eingegeben. Es ist anzumerken, daß der Inhalt des Registers in voraus derart eingestellt wird, daß an dem Anschluß X "1" ausgegeben wird, wenn die Busleitung Y anfänglich αN0 abgibt, so daß αn erzeugt wird, wenn αN7·128 ausgegeben wird.
- In Fig. 69 ist der Aufbau der Exponent/Vektor-Umsetz -schaltung 671 gezeigt, die dazu ausgelegt ist, entsprechend den binär codierten Exponenten N0 bis N7 aufeinanderfolgend αN0 bis αN7·128 auszugeben.
- Bisher wurde diese Schaltung durch einen Festspeicher gebildet. Im Gegensatz dazu wird bei dem beschriebenen Ausführungsbeispiel diese Schaltung durch eine Kombination aus Schaltgliedern realisiert. In Fig. 69 ist mit einem Symbol "+" eine ODER-Schaltung dargestellt.
- Wenn das nicht zerlegbare Polynom durch P(x) = x&sup8; + x&sup4; + x³ + x² + 1 ausgedrückt ist und die Bedingung Pi = 1 besteht (i = 0 bis 7), gibt die in Fig. 69 dargestellt Schaltung aufeinanderfolgend α (01000000), α² (00100000), α&sup4; = (00001900), α&sup8; = (10111000), α¹&sup6; = (00110010), α³² = (10111001), α&sup6;&sup4; = (11111010) und α¹²&sup8;- (10100001), sowie unter der Bedingung Ni - 0 "1" aus.
- Auf diese Weise ist es möglich, die Umsetzung des exponentiell ausgedrückten Wertes n in den Vektorausdruck αn mittels einer vereinfachten Torschaltungsanordnung auszuführen, im Gegensatz zu dem Stand der Technik, bei dem diese Umsetzung durch einen Festspeicher ausgeführt wird.
- Die in Fig. 67 dargestellte Schaltung benötigt bis zum Erzeugen von αn acht Taktsignale für die serielle Ausgabe von N0 bis N7. Wenn es erwünscht ist, die Anzahl eingegebener Taktsignale zu verringern, kann die Anordnung zum Verringern der Anzahl eingegebener Taktsignale derart abgewandelt werden, daß N0 bis N7 parallel ausgegeben werden und eine Vielzahl von Multiplikationsschaltungen eingesetzt wird. Bei einer derartigen Abwandlung wird jedoch das Format der Schaltung im Vergleich zu derjenigen gemäß dem beschriebenen Ausführungsbeispiel etwas vergrößert.
Claims (16)
1. Multiplikationseinrichtung (Fig. 58) zum Multiplizieren
von zwei beliebigen Elementen X und Y eines Galois-Feldes
GF(2m), die
eine Einrichtung zum Berechnen von y·αi für eine
jede ganze Zahl i von 0 bis einschließlich m - 1, wobei α
ein Grundelement des Galois-Feldes GF(2m) ist,
eine Einrichtung zum Multiplizieren einer jeden
Komponente xi von x mit dem auf diese Weise berechneten
entsprechenden Glied y·αi und
eine Einrichtung zum Erzeugen der binären Summe
aller der auf diese Weise multiplizierten Produkte
aufweist.
2. Multiplikationseinrichtung nach Anspruch 1, in der die
Einrichtung zum Berechnen von y·αi eine Einrichtung zum
Ausführen von aufeinanderfolgenden Multiplikationen
vorangehender Produkte (y·αi-1) mit α enthält.
3. Multiplikationseinrichtung nach Anspruch 1 oder 2, in
der die Einrichtung zum Multiplizieren von xi mit y·αi
eine zum Ausführen eines UND-Rechenvorgangs gestaltete
Einrichtung enthält.
4. Multiplikationseinrichtung nach Anspruch 3, in der die
UND-Recheneinrichtung eine Vielzahl m von UND-Gliedern
enthält, die jeweils zum Aufnehmen eines jeweiligen Bits
xi von x und zum Ausführen eines bitweisen UND-
Rechenvorgangs mit dem entsprechenden Produkt y·αi
gestaltet sind.
5. Multiplikationseinrichtung nach einem der
vorrangehenden Ansprüche, in der die Einrichtung zum
Bilden einer Summe dieses durch Ausführen eines
Antivalenz-Rechenvorgangs an allen auf diese Weise
multiplierten Produkten ausführt.
6. Multiplikationseinrichtung nach Anspruch 5, in der die
Einrichtung zum Bilden einer Summe eine Vielzahl von in
Kaskade geschalteten Antivalenzschaltungen enthält, die
jeweils zum Erzeugen eines Ausgangswertes gestaltet sind,
der einer bitweisen Antivalenzberechnung an zwei
eingegebenen Werten entspricht.
7. Multiplikationseinrichtung nach einem der vorangehenden
Ansprüche, die eine logische Torschaltung enthält.
8. Anwendung der Multiplikationseinrichtung gemäß einem
der vorangehenden Ansprüche zur digitalen
Signalverarbeitung.
9. Anwendung der Multiplikationseinrichtung nach einem der
Ansprüche 1 bis 7 zur digitalen Signaldecodierung in
Verbindung mit einer Einrichtung zum Aufnehmen eines
Eingangssignals und einer Einrichtung zum Zuführen eines
Prüfsignals, wobei die Multiplikationseinrichtung zum
Multiplizieren von Daten eingesetzt ist, die aus dem
Eingangssignal und Prüfsignal hergeleitet werden.
10. Verfahren zur digitalen Signalverarbeitung, das den
Schritt zum Multiplizieren zweier beliebiger Elemente X,Y
eines Galois-Feldes GF(2m) miteinander umfaßt, mit
Schritten zum
Berechnen von y·αi für jede ganze Zahl i von 0 bis
einschließlich m - 1, wobei α ein Grundelement des Feldes
GF(2m) ist,
Multiplizieren eines jeden auf diese Weise berechneten
Wertes y·αi mit einer entsprechenden Komponente xi und
Erzeugen der binären Summe aller auf diese Weise
multiplizierten Produkte.
11. Anwendung des Verfahrens nach Anspruch 10 bei einem
Verfahren zur digitalen Signalcodierung.
12. Verfahren zur digitalen Signaldecodierung, das einen
Schritt zum Multiplizieren eines Signals unter Anwendung
eines Verfahrens nach Anspruch 10 umfaßt.
13. Verfahren nach Anspruch 12 zur Fehlerkorrektur-
Decodierung.
14. Verfahren nach Anspruch 11, 12 oder 13 zur jeweiligen
Codierung oder Decodierung von Signalen, das die
Verarbeitung eines Signals zum Ableiten eines
Fehlersyndromsignals aus diesem und das Multiplizieren des
Fehlersyndromsignals mit einem vorbestimmten Signal- -
umfaßt.
15. Multiplikationseinrichtung nach Anspruch 1, in welcher
(Fig. 60A) die Einrichtung zum Berechnen von y·αi eine
Vielzahl von logischen Stufen enthält, die zum parallelen
Berechnen der y·αi-Produkte aus y parallel geschichtet
sind, um die Verzögerungszeit der logischen Schaltung zu
verkürzen.
16. Multiplikationseinrichtung nach Anspruch 15, in der
die logischen Stufen zum Berechnen einer Vielzahl von
Zwischenergebnissen und zum Berechnen einer Vielzahl von
verschiedenen y·αi-Produkten aus dem jeweiligen
Zwischenergebnis angeordnet sind.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61232001A JP2541938B2 (ja) | 1986-09-30 | 1986-09-30 | シンドロ−ム生成回路 |
JP61232003A JPH0783277B2 (ja) | 1986-09-30 | 1986-09-30 | ガロア体上の元の表現形式変換回路 |
JP61232007A JP2547744B2 (ja) | 1986-09-30 | 1986-09-30 | 符号化・復号回路 |
JP61232005A JPS6386926A (ja) | 1986-09-30 | 1986-09-30 | ガロア体除算回路 |
JP61232008A JP2566929B2 (ja) | 1986-09-30 | 1986-09-30 | 符号化・復号回路 |
JP61232004A JPS6386925A (ja) | 1986-09-30 | 1986-09-30 | ガロア体乗算回路 |
JP61232006A JP2823158B2 (ja) | 1986-09-30 | 1986-09-30 | 誤り訂正装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3789266D1 DE3789266D1 (de) | 1994-04-14 |
DE3789266T2 true DE3789266T2 (de) | 1994-09-08 |
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 Before (2)
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 |
Country Status (3)
Country | Link |
---|---|
US (2) | US5590138A (de) |
EP (3) | EP0566215B1 (de) |
DE (3) | DE3751958T2 (de) |
Families Citing this family (10)
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 |
WO2001059786A1 (fr) * | 2000-02-10 | 2001-08-16 | Sony Corporation | Procede d'enregistrement et/ou reproduction de donnees sur/a partir support enregistrement/enregistre, dispositif de reproduction, support enregistrement, procede de reconnaissance d'un support enregistrement/enregistre, et procede enregistrement et/ou de reproduction associe |
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)
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 |
CA1170776A (en) * | 1980-07-18 | 1984-07-10 | Yoichiro Sako | Method of error correction of blocks of data |
JPS5724143A (en) * | 1980-07-18 | 1982-02-08 | Sony Corp | Error correcting method |
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 | 誤り訂正回路 |
DE3376907D1 (en) * | 1982-06-15 | 1988-07-07 | Toshiba Kk | Apparatus for dividing the elements of a galois field |
JPS58219851A (ja) * | 1982-06-15 | 1983-12-21 | Toshiba Corp | エラ−訂正回路 |
DE3377029D1 (en) * | 1982-06-15 | 1988-07-14 | Toshiba Kk | Apparatus for dividing the elements of a galois field |
JPS58219852A (ja) * | 1982-06-15 | 1983-12-21 | Toshiba Corp | エラ−訂正回路 |
US4677622A (en) * | 1983-06-22 | 1987-06-30 | Hitachi, Ltd. | Error correction method and system |
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 | 排気ガス処理装置 |
-
1987
- 1987-09-29 DE DE3751958T patent/DE3751958T2/de not_active Expired - Lifetime
- 1987-09-29 EP EP93201798A patent/EP0566215B1/de not_active Expired - Lifetime
- 1987-09-29 EP EP96200874A patent/EP0723342B1/de not_active Expired - Lifetime
- 1987-09-29 DE DE3752367T patent/DE3752367T2/de not_active Expired - Lifetime
- 1987-09-29 DE DE3789266T patent/DE3789266T2/de not_active Expired - Lifetime
- 1987-09-29 EP EP87308648A patent/EP0262944B1/de not_active Expired - Lifetime
-
1995
- 1995-03-07 US US08/400,521 patent/US5590138A/en not_active Expired - Lifetime
-
1996
- 1996-08-23 US US08/701,327 patent/US5774389A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0566215B1 (de) | 1996-11-20 |
EP0723342A2 (de) | 1996-07-24 |
EP0723342A3 (de) | 1997-08-20 |
EP0566215A3 (en) | 1994-05-18 |
EP0262944A3 (en) | 1989-01-25 |
EP0262944B1 (de) | 1994-03-09 |
EP0566215A2 (de) | 1993-10-20 |
DE3789266D1 (de) | 1994-04-14 |
US5590138A (en) | 1996-12-31 |
DE3751958D1 (de) | 1997-01-02 |
EP0723342B1 (de) | 2003-05-02 |
EP0262944A2 (de) | 1988-04-06 |
DE3752367D1 (de) | 2003-06-05 |
DE3752367T2 (de) | 2004-02-19 |
US5774389A (en) | 1998-06-30 |
DE3751958T2 (de) | 1997-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3854791T2 (de) | Reed-Solomon Code verwendendes Fehler-Korrektur-Verfahren | |
DE3650335T2 (de) | Rechenverfahren und -gerät für endlichfeldmultiplikation. | |
DE69414631T2 (de) | Schaltung zur Durchführung des Euclidschen Algorithmus bei der Dekodierung Arithmetischer Kodes | |
DE69516882T2 (de) | Vielseitiges fehlerkorrektursystem | |
DE69424877T2 (de) | Reed-solomon-dekoder | |
DE3486471T2 (de) | Verfahren und Vorrichtung zur Dekodierung eines Fehler-Korrektur-Code | |
DE3784459T2 (de) | Arithmetische und logische einheit fuer elemente von galois-feldern. | |
DE10133595B4 (de) | Pufferschaltung, Speicherzugriffsverfahren und Reed-Solomon-Decoder | |
DE69333460T2 (de) | Arithmetisches Gerät | |
DE3850192T2 (de) | Verfahren und Vorrichtung zur Fehlerkorrektur bei gespeicherten Daten. | |
DE69624441T2 (de) | Hochparallel zyklischer Redundanzkodegenerator | |
DE2916710C2 (de) | ||
DE69119468T2 (de) | Kodier- und Dekodiervorrichtung für Daten variabler Länge | |
DE3787900T2 (de) | Verfahren und Gerät zur Erzeugung von Prüfungs-Byten zur Fehlerdetektion für einen Datenblock. | |
DE3855101T2 (de) | Anordnung zur sofortigen Fehlerkorrektur | |
DE3882223T2 (de) | Ausgebreitete Fehlerkorrekturvorrichtung mit Einzel-Paket-Fehlerkorrektur und Doppel-Paket-Fehlerdetektionscoden. | |
DE3789266T2 (de) | Fehlerkorrekturgerät. | |
DE69907566T2 (de) | Reed Solomon Kodierungsgerät und Reed Solomon Kodierungsverfahren | |
DE60124851T2 (de) | Vorrichtung und Verfahren zur Fehlererkennung in einem CRC Code mit invertierten Paritätsbits | |
DE68920560T2 (de) | Restprüfungsvorrichtung zur Fehlerkennung in Additions-, Substraktions-, Multiplikations-, Divisions- und Quadratwurzel-Operationen. | |
DE3786910T2 (de) | Verschlüsselungssystem. | |
EP0545498A2 (de) | Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen | |
DE4105860C2 (de) | Schaltungsanordnung zum Erkennen und Korrigieren von Fehlern in Datenworten | |
DE69524430T2 (de) | Crc/epc prüfsystem | |
DE69517042T2 (de) | Mehrzweckberechnungsschaltung zur fehlerkorrektur |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |