DE3702697A1 - Paritaetserzeugungsschaltung - Google Patents

Paritaetserzeugungsschaltung

Info

Publication number
DE3702697A1
DE3702697A1 DE19873702697 DE3702697A DE3702697A1 DE 3702697 A1 DE3702697 A1 DE 3702697A1 DE 19873702697 DE19873702697 DE 19873702697 DE 3702697 A DE3702697 A DE 3702697A DE 3702697 A1 DE3702697 A1 DE 3702697A1
Authority
DE
Germany
Prior art keywords
register
output signal
adder
switching state
multiplier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19873702697
Other languages
English (en)
Other versions
DE3702697C2 (de
Inventor
Yasuo Inoue
Yasuhiro Yamada
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Publication of DE3702697A1 publication Critical patent/DE3702697A1/de
Application granted granted Critical
Publication of DE3702697C2 publication Critical patent/DE3702697C2/de
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

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

Description

Die Erfindung befaßt sich mit einer Paritätserzeugungsschaltung und betrifft insbesondere eine Paritätserzeugungsschaltung zum Erzeugen von Paritäten eines Reed-Solomon-Code.
Bei Datenübertragungen, wie beispielsweise in Datenkommunikationsanlagen, in PCM-Aufzeichnungs- und Wiedergabegeräten, bei digitalen Audioplatten und dergleichen wird üblicherweise eine Fehlerkorrektur vorgenommen, die die Wiederherstellung möglicherweise fehlerhaft übertragener Daten bezweckt. Damit eine solche Fehlerkorrektur möglich ist, werden den zu übertragenden Daten Paritäten (Prüfvektoren) hinzugefügt, die gemäß einer vorbestimmten Methode erzeugt werden, wobei Blöcke gebildet werden, und die Signalübertragung oder Signalaufzeichnung erfolgt in solchen Blöcken. Ein in den empfangenen oder wiedergegebenen Blöcken auftretender Codefehler wird unter Verwendung der Paritäten korrigiert.
Es sind verschiedene Arten von Fehlerkorrekturcodes bekannt, die die Paritäten und die Daten umfassen, die zu übertragen sind und die auch die Erzeugungselemente der Paritäten sind. Unter den bekannten Fehlerkorrekturcodes findet der Reed-Solomon-Code eine weitverbreitete Anwendung, und zwar wegen seiner überragenden Fehlerkorrekturfähigkeit und der Redundanz der übertragenen Information (das ist das Verhältnis zwischen den Paritäten und den Daten im Block).
Zunächst soll das allgemeine Prinzip der Generierung oder Erzeugung des Reed-Solomon-Code beschrieben werden. Ein Reed-Solomon-Code, der ein Codewort (Block) mit einer Wortlänge n, k Daten (Datenvektoren), die zu übertragen sind, und (n-k) Paritäten (Prüfvektoren) hat, wird oft als (n, k)- Reed-Solomon-Code bezeichnet, wobei n und k natürliche Zahlen sind. Das Codewort dieses (n, k)-Reed- Solomon-Code kann durch die folgende Zeilenmatrix W nach der Gleichung (1) beschrieben werden, wobei C 1 bis C n Daten oder Paritäten sind und wenigstens ein Datum und eine Parität vorhanden sind:
W = [C 1, C 2, . . . , C n ] (1)
Weiterhin sind C 1 bis C n jeweils m-Bit-Vektoren, und sie sind Elemente in einem Galois-Feld GF(2 m ) in dem im GF(2 m ) definierten Reed-Solomon-Code. Zwischen m und n muß bekanntlich die folgende Bedingung (2) erfüllt sein:
2 m 1-n (2)
Unter der Voraussetzung, daß eine Prüfmatrix H 0 eine (n-k) Zeilen x n Spalten-Matrix ist, die durch die folgende Gleichung (3) beschrieben ist, wobei α ein primitives Element vom GF(2 m ) bezeichnet, werden die Paritäten in einer solchen Weise generiert oder erzeugt, daß ein durch die folgende Gleichung (4) dargestelltes Syndrom S als eine Spaltenmatrix mit (n-k) Nullvektoren beschrieben werden kann, wobei T in Gleichung (4) eine transponierte Matrix bezeichnet.
Ein Paritätsgenerierungs- oder Paritätserzeugungspolynom G(x) des (n, k)-Reed-Solomon-Code des durch die folgende Gleichung (5) beschriebenen Codewortes W kann durch die folgende Gleichung (6) beschrieben sein, wobei in der Gleichung (5) D 1 bis D k Daten bezeichnen und P k+1 bis P n Paritäten bezeichnen:
W = [D 1, D 2, . . . , D k , P k+1, P k+2, . . . , P n ] (5)
G(x) = (x-1) · (x-α) · (x-α 2) · . . . · (x-α n-k-1) (6)
Die folgende Gleichung (7) gewinnt man durch Erweiterung der Gleichung (6), wobei a 1 bis a n-k Koeffizienten sind, die durch das primitive Element α beschrieben sein können:
G(x) = x n-k + a 1·x n-k-1 + a 2·x n-k-2 + . . . + a n-k-1· x + a n-k (7)
Benutzt man die Daten [D 1, D 2, . . . , D k ] innerhalb des Codewortes W zur Definition eines Polynoms F D (x), das durch die folgende Gleichung (8) beschrieben ist, kann man durch die nachfolgende Gleichung (9) ein Restpolynom R(x) beschreiben, welches man erhält, wenn das Polynom F D (x) dividiert wird durch das Paritätserzeugungspolynom G(x):
F D (x) = D 1·x n-1 + D 2· x n-2 + . . . + D k ·x n-k (8)
R(x) = R 1·x n-k-1 + R 2· x n-k-2 + . . . + R n-k-2·x + R n-k (9)
Ein Produkt F(x) des in diesem Fall auftretenden Quotienten und des Paritätserzeugungspolynoms G(x) kann beschrieben werden durch F(x) = F D (x)-R(x). Dies ist aber eine Modulo-2-Subtraktion, die dasselbe ist wie eine Modulo-2-Addition. Folglich kann das Produkt F(x) beschrieben werden durch F(x) = F D (x) + R(x). Das durch die folgende Gleichung (10) beschriebene Produkt F(x) ist durch das Paritätserzeugungspolynom G(x) teilbar:
F(x) = F D (x) + R(x)
    = D 1·x n-1 + D 2·x n-2 + . . . + D k ·x n-k + R 1· x n-k-1 + R 2·x n-k-2 + . . . + R n-k-1·x + R n-k (10)
Demnach kann man aus der Gleichung (10) ersehen, daß die Paritäten P k+1 und P k+2, . . . , P n in dem durch Gleichung (5) dargestellten Reed-Solomon-Code durch den folgenden Satz von Gleichungen (11) beschrieben werden können:
Es gibt herkömmliche Schaltungen zum Generieren oder Erzeugen der Paritäten des Reed-Solomon-Code gemäß dem oben beschriebenen Generierungs- oder Erzeugungsprinzip. Besteht bei einer ersten und einer zweiten denkbaren Schaltung, die später an Hand von Zeichnungen noch beschrieben werden, das Codewort W 0 aus Paritäten P i+1 bis P j-1 und Daten D 0 bis D i sowie Daten D j bis D n mit den Elementen des GF(2 m ) wie beschrieben durch die folgende Gleichung (12), tritt das Problem auf, daß die Paritäten P i+1 bis P j-1 für ein Codewort W 0, bei dem sich die Paritäten P i+1 bis P j-1 zwischen den Daten D 1 bis D i und den Daten D j bis D n befinden, nicht erzeugt werden können. In der nachfolgenden Gleichung (12) gilt: n-k = j-i-1 und n ≦λτ j ≦λτ i:
W 0 = [D 1, D 2, . . . , D i , P i+1, . . . , P j-1, D j , . . . , D n ] (12)
Wie es später an Hand der Zeichnungen beschrieben wird, sind eine dritte Schaltung zum Erzeugen der Paritäten unter Verwendung einer Paritätserzeugungsmatrix und eine vierte Schaltung zum Erzeugen der Paritäten unter Verwendung simultaner Gleichungen denkbar, und zwar selbst für den Fall, daß das Codewort W 0 durch die Gleichung (12) beschrieben ist und die Paritäten P i+1 bis P j-1 zwischen den Daten D 1 bis D i und den Daten D j bis D n liegen.
Bei der dritten denkbaren Schaltung tritt aber das Problem auf, daß ein Festwertspeicher (ROM) benutzt werden muß, der zur Speicherung jedes Elements des Paritätserzeugungspolynoms dient, weil die Paritätserzeugungsmatrix keine Regularität hat, und daß jede Koeffizientenmultipliziereinrichtung der dritten erdachten Schaltung derart konstruiert sein muß, daß es möglich ist, die Multiplikation mit irgendeiner Art von Koeffizient auszuführen, weil sich die Koeffizienten vom ROM in Abhängigkeit von den Eingabedaten aufeinanderfolgend ändern. Die Folge davon ist, daß die Skalierung der denkbaren dritten Schaltung als Ganzes groß sein muß, so daß die Schaltung insgesamt einen hohen Aufwand bedingt.
Im Gegensatz dazu ist es bei der denkbaren vierten Schaltung so, daß jede Koeffizientenmultipliziereinrichtung stets einen konstanten Koeffizienten mit einem Eingangssignal multipliziert. Deswegen kann die Koeffizientenmultipliziereinrichtung im Vergleich zu derjenigen nach der denkbaren dritten Schaltung vereinfacht sein. Allerdings tritt das Problem auf, daß bei der Durchführung von Substitutionen in die simultanen Gleichungen zwecks Erzeugung der Paritäten P i+1 bis P j-1 es erforderlich ist, eine außerordentlich hohe Anzahl von Operationsschritten vorzunehmen, und zwar beispielsweise unter Verwendung einer arithmetischen Logikeinheit (ALU).
Aufgabe der Erfindung ist es daher, eine neuartige und nützliche Paritätserzeugungsschaltung zu schaffen, bei der die oben angegebenen Probleme vermieden sind.
Eine Paritätserzeugungsschaltung zum Erzeugen von Paritäten P i+1, . . . , P j-1 eines Reed-Solomon-Code, der durch eine Zeilenmatrix W 0 = [D 1, D 2, . . . , D i , P i+1, . . . , P j-1, D j , . . . , D n ] beschrieben ist, in welcher D 1 bis D i sowie D j bis D n k m-Bit-Daten und P i+1 bis P j-1 (n-k) m-Bit-Paritäten darstellen, wobei n-k = j-i-1, 2 m -1 n und n ≦λτ j ≦λτi ist, enthält nach der Erfindung eine erste Dividiereinrichtung, der aufeinanderfolgend Elemente D 1, D 2, . . . , D n einer Zeilenmatrix W 0′ in dieser Reihenfolge zugeführt werden zum Ausführen von n Dividierschritten durch ein Paritätserzeugungspolynom G(x), wobei die Zeilenmatrix W 0′ gleich der Zeilenmatrix W 0 mit auf Nullvektoren gesetzten Paritäten P i+1 bis P j-1 ist, so daß W 0′ = [D 1, D 2, . . . , D i , 0, . . . , 0, D j , . . . , D n ], ferner das Paritätserzeugungspolynom G(x) beschrieben ist durch
G(x)= (x-1) · (x-α) · . . . · (x-α n-k-1)
= x n-k + a 1·x n-k-1 + a 2· x n-k-2 + . . . + a n-k-1·x + a n-k′ ,
α ein primitives Element im Galois-Feld GF(2 m ) ist und a 1 bis a n-k Konstanten sind, eine zweite Dividiereinrichtung zum Ausführen von (n-j+1) Dividierschritten durch ein reziprokes Polynom G*(x) des Paritätserzeugungspolynoms G(x) unter Verwendung von in der ersten Dividiereinrichtung erhaltenen Divisionsergebnissen (Reste) als Anfangswerte und mit auf Null gesetzten Eingangselementen, wobei das reziproke Polynom G*(x) beschrieben ist durch
G*(x) = a n-k ·x n-k + a n-k-1·x n--k-1 + . . . + a 1· x+1,
und eine Ausgangseinrichtung zum Ausgeben von in der zweiten Dividiereinrichtung erhaltenen (n-k) Divisionsergebnissen (Resten) als die Paritäten P i+1 bis P j-1. Wenn bei der erfindungsgemäßen Paritätserzeugungsschaltung die Paritäten eines (n, k)-Reed- Solomon-Code erzeugt werden, brauchen die Multipliziereinrichtungen der Paritätserzeugungsschaltung nur konstante Multiplikationskoeffizienten zu multiplizieren, so daß es nicht erforderlich ist, einen Speicher zum Speichern einer großen Anzahl von Multiplikationskoeffizienten vorzusehen, und es ist möglich, die Paritäten durch Ausführung einer Anzahl von Operationsschritten zu erzeugen, die beträchtlich geringer als die Anzahl der Operationsschritte ist, die beispielsweise bei einer arithmetischen Logikeinheit (ALU) ausgeführt werden müssen. Im Ergebnis ist daher die erfindungsgemäße Paritätserzeugungsschaltung bezüglich ihres Schaltungsaufbaus wesentlich einfacher und im Hinblick auf die Kosten wesentlich günstiger.
Eine Paritätserzeugungsschaltung zum Erzeugen von Paritäten P i+1, . . . , P j-1 eines Reed-Solomon-Code, der durch eine Zeilenmatrix W 0 = [D 1, D 2, . . . , D i , P i+1, . . . , P j-1, D j , . . . , D n ] beschrieben ist, bei der D 1 bis D i und D j bis D n k m-Bit-Daten und P i+1 bis P j-1 (n-k) m-Bit-Paritäten darstellen, wobei n-k = j-i-1, 2 m -1 n und n ≦λτ j ≦λτi ist, enthält nach der Erfindung eine erste Dividiereinrichtung, der Elemente D n , . . . , D j , 0, . . . , 0, D i , . . . , D 2, D 1 einer Zeilenmatrix W 0′ in dieser Reihenfolge aufeinanderfolgend zugeführt werden zum Ausführen von n Dividierschritten durch ein reziprokes Polynom G*(x) eines Paritätserzeugungspolynoms G(x), wobei die Zeilenmatrix W 0′ gleich der Zeilenmatrix W 0 mit den auf Nullvektoren gesetzten Paritäten P i+1 bis P j-1 ist, so daß W 0′ = [D 1, D 2, . . . , D i , 0, . . . , 0, D j , . . . , D n ], wobei ferner das Paritätserzeugungspolynom G(x) beschrieben ist durch
G(x)= (x-1) · (x-α) · . . . · (x-α n-k-1)
= x n-k + a 1·x n-k-1 + a 2· x n-k-2 + . . . + a n-k-1·x + a n-k′
worin α ein primitives Element im Galois-Feld GF(2 m ) und a 1 bis a n-k Konstanten sind, und wobei das reziproke Polynom G*(x) beschrieben ist durch
G*(x) = a n-k ·x n-k + a n-k-1·x n--k-1 + . . . + a 1· x+1,
eine zweite Dividiereinrichtung zum Ausführen von i Dividierschritten durch das Paritätserzeugungspolynom G(x) unter Verwendung von in der ersten Dividiereinrichtung erhaltenen Divisionsergebnissen (Resten) als Anfangswerte und mit auf Null gesetzten Eingangselementen, und mit einer Ausgangseinrichtung zum Ausgeben von in der zweiten Dividiereinrichtung erhaltenen (n-k) Divisionsergebnissen (Resten) als die Paritäten P i+1 bis P j-1. Wenn bei dieser erfindungsgemäßen Paritätserzeugungsschaltung die Paritäten eines (n, k)- Reed-Solomon-Code erzeugt werden, brauchen die Multipliziereinrichtungen der Paritätserzeugungseinrichtung lediglich konstante Multiplikationskoeffizienten zu multiplizieren, so daß es nicht erforderlich ist, einen Speicher zum Speichern einer großen Anzahl von Multiplikationskoeffizienten vorzusehen, und es ist möglich, die Paritäten unter Ausführung von Operationsschritten zu erzeugen, deren Anzahl wesentlich geringer als die Anzahl der Operationsschritte ist, die beispielsweise bei Verwendung einer arithmetischen Logikeinheit (ALU) vorzunehmen sind. Das Ergebnis davon ist, daß die erfindungsgemäße Paritätserzeugungsschaltung einen einfacheren Schaltungsaufbau hat und kostengünstiger herzustellen ist.
Im folgenden wird die Erfindung beispielshalber an Hand von Zeichnungen erläutert. Es zeigen:
Fig. 1 bis 4 Blockschaltbilder von vier Ausführungsformen einer erdachten Paritätserzeugungsschaltung,
Fig. 5 ein Blockschaltbild zur Erläuterung des Arbeitsprinzips einer nach der Erfindung ausgebildeten Paritätserzeugungsschaltung,
Fig. 6 ein Systemblockschaltbild eines ersten Ausführungsbeispiels der Paritätserzeugungsschaltung nach der Erfindung,
Fig. 7 ein Schaltbild einer Ausführungsform einer Torschaltung des Blockschaltbilds nach Fig. 6,
Fig. 8 und 9 zwei Ersatzschaltbilder des Blockschaltbilds nach Fig. 6 bei voneinander unterschiedlichen Betriebszuständen, und
Fig. 10 ein Systemblockschaltbild eines zweiten Ausführungsbeispiels der Paritätserzeugungsschaltung nach der Erfindung.
Zunächst werden ein erstes bis viertes Beispiel der bereits erwähnten erdachten Paritätserzeugungsschaltungen beschrieben. Diese Beschreibung soll das Verständnis der Erfindung erleichtern.
Fig. 1 und 2 zeigen die erste und zweite denkbare Paritätserzeugungsschaltung, die die Paritäten (Prüfvektoren) gemäß dem Erzeugungsprinzip erzeugt, das bereits oben bis hin zur Gleichung (11) erläutert worden ist. Nachdem bei der ersten Paritätserzeugungsschaltung nach Fig. 1 Register 13 1 bis 13 n-k zunächst gelöscht worden sind, wird ein Codewort, in welchem (n-k) Paritäten P k+1 bis P n des durch die Gleichung (5) beschriebenen Codewortes W Nullvektoren sind, seriell an einen Eingangsanschluß 11 in einer Reihenfolge aus den Daten D 1, D 2, D 3, . . . , D k gelegt, und anschließend werden die (n-k) Nullvektoren aufeinanderfolgend dem Eingangsanschluß 11 zugeführt. Die Eingangsvektoren werden seriell durch einen Addierer 12 n-k , das Register 13 n-k , einen Addierer 12 n-k-1, das Register 13 n-k-1, . . . , und das Register 13 1 in dieser Reihenfolge transferiert.
Ein Ausgangssignal des Registers 13 1 in der letzten Stufe wird Koeffizientenmultipliziergliedern 14 1, 14 2, . . . , 14 n-k-1 und 14 n-k zur Multiplikation der jeweiligen Koeffizienten a 1, a 2, . . . , a n-k-1 und a n-k der Gleichung (7) zugeführt. Ausgangssignale der Multiplizierglieder 14 1 bis 14 n-k werden unabhängig den entsprechenden Addierern oder Addiergliedern 12 1 bis 12 n-k zugeführt.
Die Eingangsvektoren sind m-Bit-Vektoren und sind Elemente vom GF(2 m ), was bedeutet, daß die Eingangsvektoren ebenfalls m-dimensionale Vektoren im GF(2 m ) sind. Die Multiplizierglieder 14 1 bis 14 n-k sind folglich Multiplizierglieder im GF(2 m ), und die Addierglieder 12 1 bis 12 n-k sind Modulo-2-Addierglieder zum Ausführen einer Modulo-2-Addition der m-Bit-Signale (Vektoren) von den Multipliziergliedern 14 1 bis 14 n-k und der m-Bit-Signale (Vektoren) von den Registern 13 2 bis 13 n-k sowie dem Eingangsanschluß 11 für jedes entsprechende Bit.
Zu einem Zeitpunkt, nachdem k Daten und (n-k) Paritäten (Nullvektoren in diesem Fall) seriell dem Eingangsanschluß 11 zugeführt worden sind, sind die Terme R 1, . . . , R n-k-1 und R n-k des durch die Gleichung (10) beschriebenen Restpolynoms R(x) in den jeweiligen (n-k) Registern 13 1, . . . , 13 n-k-1 und 13 n-k gespeichert und dort verblieben. Die Paritäten können folglich dadurch erzeugt werden, daß die Werte der Register 13 1 bis 13 n-k aufeinanderfolgend ausgelesen werden.
Bei der zweiten denkbaren Paritätserzeugungsschaltung nach Fig. 2 werden andererseits, nachdem Register 18 1 bis 18 n-k alle gelöscht sind, lediglich die Daten [D 1, D 2, . . . , D k ] seriell an einen Eingangsanschluß 15 gelegt und über einen Addierer oder ein Addierglied 16 1 (n-k) Koeffizientenmultipliziergliedern 17 1, . . . , 17 n-k-1 und 17 n-k zugeführt. Die Multiplizierglieder 17 1, . . . , 17 n-k-1 und 17 n-k multiplizieren zu dem Ausgangssignal des Addierglieds 16 1 jeweils die Koeffizienten a 1, . . . , a n-k-1 und a n-k der Gleichung (7). Ausgangssignale der Multiplizierglieder 17 1 bis 17 n-k-1 werden unabhängig entsprechenden Addiergliedern 16 2 bis 16 n-k zugeführt, die in den Eingangsstufen der Register 18 1 bis 18 n-k-1 vorgesehen sind. Ein Ausgangssignal des Multiplizierglieds 17 n-k gelangt zum Register 18 n-k . Ausgangssignale der Register 18 2 bis 18 n-k werden den entsprechenden Addiergliedern 16 2 bis 16 n-k zugeführt, und ein Ausgangssignal des Addierglieds 16 2 wird dem Register 18 1 zugeführt.
Wenn das letzte Datum D k an den Eingangsanschluß 15 angelegt worden ist und nachdem das letzte Datum D k über das Addierglied 16 1, die Multiplizierglieder 17 1 bis 17 n-k und die Addierglieder 16 2 bis 16 n-k in die Register 18 1 bis 18 n-k eingegeben worden ist, können die Paritäten dadurch erzeugt werden, daß die gespeicherten Werte (Registerwerte) aus den Registern 18 1 bis 18 n-k ausgelesen werden. Weil lediglich die Daten D 1 bis D k an den Eingangsanschluß 15 gelegt werden müssen, ist lediglich eine k-malige Division erforderlich, und die Paritäten können im Vergleich zu der ersten Paritätserzeugungsschaltung nach Fig. 1, die n Divisionen erfordert, innerhalb einer kürzeren Zeit erzeugt werden.
Wie jedoch bereits eingangs beschrieben, tritt bei der ersten und der zweiten denkbaren Paritätserzeugungsschaltung, wenn das Codewort W 0 aus Paritäten P i+1 bis P j-1 und Daten D 0 bis D i sowie Daten D j bis D n mit den Elementen vom GF(2 m ) besteht, wie es durch die Gleichung (12) beschrieben ist, das Problem auf, daß die Paritäten P i+1 bis P j-1 für ein Codewort W 0 nicht erzeugt werden können, wenn sich die Paritäten P i+1 bis P j-1 zwischen den Daten D 1 bis D i einerseits und den Daten D j bis D n andererseits befinden.
Die dritte denkbare Paritätserzeugungsschaltung macht zum Erzeugen der Paritäten von einer Paritätserzeugungsmatrix Gebrauch, und die vierte denkbare Paritätserzeugungsschaltung macht zum Erzeugen der Paritäten von simultanen Gleichungen Gebrauch, und zwar selbst wenn das Codewort W 0 durch die Gleichung (12) beschrieben ist und die Paritäten P i+1 bis P j-1 zwischen den Daten D 1 bis D i und den Daten D j bis D n liegen.
Zuerst soll die dritte Paritätserzeugungsschaltung beschrieben werden. Durch Transformation der oben beschriebenen Prüfmatrix H 0 kann man ein Paritätserzeugungspolynom erhalten. Durch Hinzufügen eines gewissen Zeilenvektors zu einem anderen Zeilenvektor in der durch die Gleichung (3) beschriebenen Prüfmatrix H 0 und durch mehrmaliges Ausführen einer solchen Addition (Matrixtransformation) werden eine (i+1)te Spalte bis zu einer (j-1)ten Spalte in eine Einheitsmatrix transformiert. Eine durch eine solche Matrixtransformation gewonnene Matrix H 0′ kann durch die folgende Gleichung (13) beschrieben werden, wobei a 1,1 bis a n-k,n Elemente der Matrix sind und durch ein primitives Element α beschrieben werden können:
Die Matrix H 0′ ist ebenfalls eine Prüfmatrix und genügt der folgenden Gleichung (14), wenn dort (n-k) Nullen vorhanden sind:
H 0′·W = [0, 0, . . . , 0] T (14)
Die Gleichung (14) kann man durch den folgenden Satz von Gleichungen (15) darstellen:
Löst man den Satz von Gleichungen (15) für P i+1 bis P j-1 auf, erhält man die folgende in Matrixform dargestellte Gleichung:
Bezeichnet man den linken Term der Gleichung (16) mit P und stellt man die rechten Terme der Gleichung (16) durch eine Matrix H 1 sowie eine Spaltenmatrix D dar, kann die Gleichung (16) durch die folgende Gleichung (17) wiedergegeben werden, wobei die (n-k) Zeilen x k Spalten-Matrix H 1 das Paritätserzeugungspolynom ist:
P = H 1·D (17)
Fig. 3 zeigt die dritte Paritätserzeugungsschaltung, die von der Paritätserzeugungsmatrix H 1 Gebrauch macht. Einem Eingangsanschluß 20 werden lediglich die Daten D 1 bis D i und D j bis D n des durch die Gleichung (12) beschriebenen Codewortes W 0 zugeführt. Die Eingangsdaten gelangen zu (n-k) Koeffizientenmultipliziergliedern 21 1 bis 21 n-k und werden dort mit vorbestimmten Koeffizienten multipliziert, die aus einem Festwertspeicher (ROM) 22 ausgelesen werden, in welchem (n-k) x k Koeffizienten des Paritätserzeugungspolynoms H 1 vorgespeichert sind. Ausgangssignale der Multiplizierglieder 21 1 bis 21 n-k werden an entsprechende Addierglieder 23 1 bis 23 n-k weitergeleitet und gelangen zu entsprechenden Registern 24 1 bis 24 n-k zur dortigen Zwischenspeicherung. Im einzelnen wird beispielsweise das erste Eingangsdatum D 1 in den Multipliziergliedern 21 1 bis 21 n-k mit den aus dem ROM 22 ausgelesenen (n-k) Koeffizienten a 1,1 bis a n-k,1 der ersten Spalte der Paritätserzeugungsmatrix H 1 multipliziert. Das nächste Eingangsdatum D 2 wird dann in den jeweiligen Multipliziergliedern 21 1 bis 21 n-k mit den aus dem ROM 22 ausgelesenen Koeffizienten a 1,2 bis a n-k,2 der zweiten Spalte der Paritätserzeugungsmatrix H 1 multipliziert, und die Ausgangssignale der Multiplizierglieder 21 1 bis 21 n-k werden in den jeweiligen Addiergliedern 23 1 bis 23 n-k mit den entsprechenden vorausgegangenen Multiplikationsergebnissen addiert, die man aus den Registern 24 1 bis 24 n-k erhält, und die Additionsergebnisse werden dann wieder in den Registern 24 1 bis 24 n-k abgespeichert. Danach werden dann in ähnlicher Weise die weiteren Multiplikationen und Additionen aufeinanderfolgend ausgeführt, und die gemäß der Operation nach der Gleichung (16) erzeugten Paritäten P i+1, P i+2, . . . , P j-1 werden gleichzeitig parallel an den Registern 24 1, 24 2, . . . , 24 n-k erhalten.
Als nächstes soll die vierte Paritätserzeugungsschaltung beschrieben werden, die zum Erzeugen der Paritäten von simultanen Gleichungen Gebrauch macht. Ist ein resultierendes Syndrom S der Prüfoperation H 0·W durch die folgende Gleichung (18) beschrieben, wobei S 0 bis S n-k-1 Elemente vom GF(2 m ) sind, erhält man die folgende Gleichung (19):
S = [S 0, S 1, . . . , S n-k-1] T (18)
S = H 0·W T (19)
Die Gleichung (19) kann durch den folgenden Satz von Gleichungen (20) dargestellt werden:
Bezeichnet man ein Codewort, in welchem die (n-k) Paritäten P i+1 bis P j-1 des durch die Gleichung (12) beschriebenen Codewortes W 0 Nullvektoren sind, mit W 0′, kann man ein Syndrom S′ bezüglich des in der folgenden Gleichung (21) beschriebenen Codewortes W 0′ durch die folgende Gleichung (22) darstellen, wobei S 0′ bis S n-k-1′ Elemente vom GF(2 m ) sind:
W 0′ = [D 1, D 2, . . . , D i , 0, 0, . . . , 0, D j , . . . , D n ] (21)
S′ = [S 0′, S 1′, . . . , S n-k-1′] T
  = H 0·W′ T (22)
Somit kann das Syndrom S′ durch den folgenden Satz von Gleichungen (23) dargestellt werden:
Demzufolge kann man aus den Gleichungen (23) und (20) den folgenden Satz von Gleichungen (24) erhalten:
Die Gleichungen (24) sind (n-k)-Element- Simultan-Gleichungen für die Paritäten P i+1 bis P j-1. Folglich kann man die Paritäten P i+1 bis P j-1 durch Lösen der simultanen Gleichungen erhalten.
Die in Fig. 4 dargestellte denkbare vierte Paritätserzeugungsschaltung erzeugt die Paritäten durch Lösen der simultanen Gleichungen wie oben beschrieben. Das durch die Gleichung (21) dargestellte Codewort W 0′, das Nullvektoren für die Paritäten P i+1 bis P j-1 hat, wird seriell an einen Eingangsanschluß 26 gelegt und wird (n-k) Addiergliedern 27 1 bis 27 n-k zugeführt. Ausgangssignale der Addierglieder 27 1 bis 27 n-k werden unabhängig entsprechenden Registern 28 1 bis 28 n-k zugeführt. Das Ausgangssignal des Registers 28 1 gelangt direkt zum Addierglied 27 1 (oder über ein Koeffizientenmultiplizierglied zur Multiplikation mit einem Koeffizienten "1"), und die Ausgangssignale der Register 28 2 bis 28 n-k werden durch jeweilige Koeffizientenmultiplizierglieder 29 2 bis 29 n-k zur Multiplikation mit Koeffizienten α bis α n-k-1 geleitet und gelangen dann zu den jeweils zugeordneten Addiergliedern 27 2 bis 27 n-k und werden dort mit den Eingangsdaten addiert.
Die oben beschriebene Operation wird wiederholt, bis man schließlich die durch den Satz von Gleichungen (23) beschriebenen Syndrome S 0′, S 1′, . . . , S n-k-1′ parallel an den Registern 28 1, 28 2, . . . , 28 n-k erhält. Werden diese Syndrome S 0′, S 1′, . . . , S n-k-1′ in die simultanen Gleichungen (24) substituiert und unter Verwendung einer arithmetischen Logikeinheit ALU (nicht gezeigt) oder dergleichen gelöst, ist es möglich, die Paritäten P i+1 bis P j-1 zu erzeugen.
Bei der Erzeugung der Paritäten des beispielsweise durch die Gleichung (12) beschriebenen Codewortes W 0 mittels der in Fig. 3 dargestellten dritten Paritätserzeugungsschaltung treten allerdings Probleme dergestalt auf, daß der ROM 22 zur Speicherung jedes Elements des Paritätserzeugungspolynoms H 1 verwendet werden muß, weil die Paritätserzeugungsmatrix H 1 keine Regularität hat, und jedes der Koeffizientenmultiplizierglieder 21 1 bis 21 n-1 muß derart aufgebaut sein, daß es möglich ist, mit irgendeiner Art von Koeffizient zu multiplizieren, weil die Koeffizienten vom ROM 22 sich aufeinanderfolgend ändern in Abhängigkeit von den Eingangsdaten. Das Ergebnis davon ist, daß die Skalierung der dritten Paritätserzeugungsschaltung insgesamt sehr umfangreich und groß sein muß, so daß die Schaltung einen hohen Kostenaufwand bedingt.
Demgegenüber multipliziert jedes der Koeffizientenmultiplizierglieder 29 2 bis 29 n-k der vierten Paritätserzeugungsschaltung nach Fig. 4 stets einen konstanten Koeffizienten mit einem Eingangssignal, so daß der Aufbau der Koeffizientenmultiplizierglieder 29 2 bis 29 n-k im Vergleich zu demjenigen der dritten Paritätserzeugungsschaltung nach Fig. 3 einfach ist. Jedoch tritt hier das Problem auf, daß bei der Substitution der mit der Schaltung nach Fig. 4 erhaltenen Syndrome S 0′ bis S n-k-1′ in die simultanen Gleichungen (24) zwecks Erzeugung der Paritäten P i+1 bis P j-1 die Notwendigkeit auftritt, eine außerordentlich hohe Anzahl von Operationsschritten unter Verwendung der als Beispiel angegebenen arithmetischen Logikeinheit (ALU) auszuführen.
Die nach der Erfindung ausgebildete Paritätserzeugungsschaltung vermeidet die Probleme, die oben in Verbindung mit der erdachten ersten bis vierten Paritätserzeugungsschaltung aufgezeigt worden sind, und zwar im wesentlichen durch aufeinanderfolgende Ausführung einer Division auf der Grundlage eines Paritätserzeugungspolynoms und einer Division auf der Grundlage eines reziproken Polynoms.
Fig. 5 zeigt ein Blockdiagramm zur Erläuterung des Arbeits- oder Operationsprinzips der nach der Erfindung ausgebildeten Paritätserzeugungsschaltung. Bei der Schaltung nach Fig. 5 wird jedes Element der durch die Gleichung (21) beschriebenen Zeilenmatrix W 0′, in der die (n-k) Paritäten P i+1 bis P j-1 der durch die Gleichung (12) beschriebenen Zeilenmatrix W 0 Nullvektoren sind, an einen Eingangsanschluß 31 gelegt und einer ersten Dividiereinrichtung 32 zugeführt, in welcher eine Division ausgeführt wird. Eine zweite Dividiereinrichtung 33 benutzt Divisionsergebnisse (Reste) der ersten Dividiereinrichtung 32 als Anfangswerte und führt eine Division mit zu Null gemachten Eingangselementen aus. Eine Ausgangseinrichtung 34 gibt (n-k) Divisionsergebnisse (Reste) von der zweiten Dividiereinrichtung 33 als die Paritäten P i+1 bis P j-1 aus.
Gemäß einem ersten Ausführungsbeispiel der Erfindung führt die erste Dividiereinrichtung 32 n Divisionen oder Dividierschritte durch das in den Gleichungen (6) und (7) beschriebene Paritätserzeugungspolynom G(x) durch, und die zweite Dividiereinrichtung 33 führt (n-j+1) Divisionen oder Dividierschritte durch ein reziprokes Polynom G*(x) des Paritätserzeugungspolynoms G(x) aus, wobei das reziproke Polynom G*(x) beschrieben ist durch
G(x)* = a n-k ·x n-k + a n-k-1·x n--k-1 + . . . + a 1·x+1.
Gemäß einem zweiten Ausführungsbeispiel der Erfindung führt die erste Dividiereinrichtung 32 n Divisionen oder Dividierschritte durch das oben angegebene reziproke Polynom G*(x) aus, und die zweite Dividiereinrichtung 33 führt i Divisionen oder Dividierschritte durch das Paritätserzeugungspolynom G(x) aus.
Zunächst soll das Arbeitsprinzip des ersten Ausführungsbeispiels beschrieben werden. Die durch die Gleichung (21) beschriebene Zeilenmatrix (Codewort) W 0′ wird zur Definition eines Polynoms F D (x)′ verwendet, wie es in der folgenden Gleichung (25) angegeben ist:
F D (x)′ = D 1·x n-1 + D 2· x n-2 + . . . + D i ·x n-i + D j · n-j + . . . + D n (25)
In ähnlicher Weise werden die zu erzeugenden (n-k) Paritäten P i+1 bis P j-1 zur Definition der folgenden Gleichung (26) verwendet, wobei n-k = j-i-1, 2 m -1 n und n ≦λτ j ≦λτi ist:
F p (x) = P i+1·x n-i-1 + P i+2·x n--i-2 + . . . + P j-1· x n-j+1 (26)
Bezeichnet man ein Polynom, das dem durch die Gleichung (12) beschriebenen, ursprünglichen Codewort W 0 entspricht, mit F 0(x), kann man dieses Polynom F 0(x) durch die folgende Gleichung (27) darstellen:
F 0(x) = F D (x)′ + F p (x) (27)
Zunächst kann ein Restpolynom R(x)′, das man bei der Division des Polynoms F D (x)′ durch das Paritätserzeugungspolynom G(x) erhält, durch die folgende Gleichung (28) darstellen:
R(x)′ = R 1′·x n-k-1 + R 2′· x n-k-2 + . . . + R n-k-1′· x + R n-k ′ (28)
In ähnlicher Weise kann man ein Restpolynom R(x)″, das man bei der Division des Polynoms F p (x) durch das Paritätserzeugungspolynom G(x) erhält, durch die folgende Gleichung (29) darstellen:
R(x)″ = R 1″·x n-k-1 + R 2″· x n-k-2 + . . . + R n-k-1″·x + R n-k ″ (29)
Die nachfolgende Gleichung (30) gilt, weil die Paritäten derart erzeugt werden, daß das Polynom F 0(x) durch das Paritätserzeugungspolynom G(x) teilbar ist:
F 0(x) : G(x) = h 1(x)  Rest 0 (30)
Die nachstehende Gleichung (31) erhält man, wenn die Gleichung (27) in die Gleichung (30) substituiert wird, und es ergeben sich dann auch die nachfolgenden Gleichungen (32) und (33):
[F D (x)′ + F p (x)] : G(x) = h 2(x)  Rest 0 (31)
[F D (x)′ + R(x)′] : G(x) = h 3(x)  Rest 0 (32)
[F p (x) + R(x)″] : G(x) = h 4(x)  Rest 0 (33)
Aus einem Vergleich zwischen den Gleichungen (28) und (29) ergibt sich der folgende Satz von Gleichungen (34)
Aus der nachfolgenden Gleichung (35) kann man ersehen, daß das reziproke Polynom G*(x) des Paritätserzeugungspolynoms G(x) durch die folgende Gleichung (36) dargestellt werden kann:
G(x -1) = x -n+k + a 1·x -n+k+1+ . . . + a n-k-1·x -1 + a n-k (35)
G*(x) = a n-k ·x n-k + a n-k-1·x n--k-1 + . . . + a 1· x+1 (36)
Den nachfolgenden Satz von Gleichungen (37) erhält man aus der Schaltung nach Fig. 1, nachdem eine Division oder ein Dividierschritt durch das Paritätserzeugungspolynom G(x) ausgeführt worden ist, wenn der Eingang "0" ist, wobei mit y 1 bis y n-k die Registerwerte der (n-k) Register vor der Ausführung des Dividierschritts bezeichnet sind und mit y 1′ bis y n-k ′ die Registerwerte der (n-k) Register nach der Ausführung des Dividierschritts bezeichnet sind:
Die Gleichung (37) kann in eine Matrixform gebracht und durch die folgende Gleichung (38) dargestellt werden:
Die Gleichung (38) kann in die folgende Gleichung (39) umgeschrieben werden:
y′ = T·y (39)
Gleichermaßen kann die erste Division oder der erste Dividierschritt durch das reziproke Polynom G*(x), wobei der Eingang "0" ist, in Matrixform wie durch die nachfolgende Gleichung (40) dargestellt werden, wobei mit z 1 bis z n-k die Registerwerte vor der Ausführung des Dividierschritts und mit z 1′ bis z n-k ′ die Registerwerte nach der Ausführung des Dividierschritts bezeichnet sind:
Bezeichnet man den linken Term der Gleichung (40) als Spaltenvektor z′ und die rechten Terme der Gleichung (40) als Matrix T* und Spaltenvektor z, erhält man die folgende Gleichung (41):
z′ = Tz (41)
Die nachfolgende Gleichung (42) berechnet T·T*, wobei I eine Einheitsmatrix bezeichnet:
Somit ergeben sich die folgenden Gleichungen:
Die Beziehungen zwischen den Polynomen F p (x) und R(x)′ (= R(x)″ kann man durch die folgende Gleichung (43) unter Verwendung der Matrix T wie folgt darstellen:
Unter Verwendung der Gleichung (43) können somit die Paritäten P i+1 bis P j-1 durch die nachfolgende Gleichung (44) dargestellt werden:
Demzufolge kann man beim ersten Ausführungsbeispiel der Erfindung die Gleichung (28) dadurch realisieren, daß in der ersten Dividiereinrichtung 32 n Dividierschritte durch das Paritätserzeugungspolynom G(x) ausgeführt werden, und die Gleichung (44) dadurch realisieren, daß danach in der zweiten Dividiereinrichtung 33 (n-j+1) Dividierschritte durch das reziproke Polynom G*(x) mit den in der ersten Dividiereinrichtung 32 erhaltenen Divisionsergebnissen (Resten) R 1′ bis R n-k ′ als die Anfangswerte ausgeführt werden. Die Gleichung (44) zeigt dann auf, daß die (n-k) Paritäten P i+1 bis P j-1 durch Realisierung der Gleichung (44) generiert oder erzeugt werden können.
Als nächstes soll das Arbeitsprinzip des zweiten Ausführungsbeispiels der Erfindung beschrieben werden. Zunächst wird das Codewort W = [C 1, C 2, . . . , C n ] des (n, k)-Reed-Solomon-Code benutzt, um ein durch die folgende Gleichung (45) definiertes Polynom F C (x) zu definieren, wobei unterstellt wird, daß (n-k) Paritäten in den Elementen C 1 bis C n des Codeworts W existieren:
F C (x) = C 1·x n-1 + C 2· x n-2 + . . . + C n-1·x + C n (45)
Es gilt der nachfolgende Satz von Gleichungen (46), weil dieses Codewort W der durch die Gleichung (4) beschriebenen Prüfoperation H 0·W T = [0, . . . , 0] T genügt:
Als nächstes wird ein Codewort W* = [C n , C n-1, . . . , C 1] betrachtet, das den in umgekehrter Reihenfolge angeordneten Inhalt des Codewortes W zum Inhalt hat. Dieses Codewort W* wird zur Definition eines durch die folgende Gleichung (47) beschriebenen Polynoms F C *(x) benutzt.
F C *(x) = C n ·x n-1 + C n-1· x n-2 + . . . + C 2·x + C 1 (47)
Die nachfolgende Gleichung (48) kann man durch Transformation der Gleichung (47) gewinnen:
F C *(x) = x n-1·[C n + C n-1·x -1 + . . . + C 2·x -(n-2) + C 1·x -(n-1)]
      = x n-1·F C (x -1) (48)
Aus der Gleichung (46) ergibt sich der nachstehende Satz von Gleichungen (49):
Folglich kann angenommen werden, daß das Erzeugungspolynom G(x)′ bezüglich des Codewortes W* durch die folgende Gleichung (50) beschrieben werden kann:
G(x)′ = (x-1) · (x-1/α) · . . . · (x 1/α n-k-1) (50)
Während das Paritätserzeugungspolynom G(x) Wurzeln von 1, α, . . . , α n-k-1 hat, weist das durch die Gleichung (50) beschriebene Erzeugungspolynom G(x)′ Wurzeln von 1, 1/α, . . . , 1/α n-k-1 auf, d. h. Wurzeln, bei denen es sich um die inversen Zahlen der Wurzeln des Paritätserzeugungspolynoms G(x) handelt. Aus diesem Grunde ist das Erzeugungspolynom G(x)′ das reziproke Polynom G*(x) des Paritätserzeugungspolynoms G(x). Gleichermaßen kann ein Erzeugungspolynom bezüglich des Codewortes W* behandelt werden wie G*(x) wie im Falle des Codewortes W, und ein reziprokes Polynom des Polynoms G*(x) kann behandelt werden wie G(x).
Ein durch die folgende Gleichung (51) beschriebenes Codewort W 0*, in welchem die (n-k) Paritäten P j-1, . . . , P i+1 Nullvektoren sind, wird zur Definition der folgenden Gleichung (52) verwendet:
W 0* = [D n , . . . , D j , P j-1, . . . , P i+1, D i , . . . , D 1] (51)
F D *(x) = D n ·x n-1 + D n-1· x n-2 + . . . + D j ·x j-1 + D i ·x i-1- + . . . + D 2·x + D 1 (52)
Die Paritäten P j-1, . . . , P i+1 kann man in ähnlicher Weise verwenden, um die folgende Gleichung (53) zu definieren:
F p *(x) = P j-1·x j-2 + P j-2·x j-3 + . . . + P i+1· x i (53)
Ein Restpolynom, das man erhält bei der Division von F D *(x) durch das Erzeugungspolynom G*(x) bezüglich des Codewortes W 0*, und ein Restpolynom, das man erhält bei der Division von F p *(x) durch das Erzeugungspolynom G*(x) bezüglich des Codewortes W 0*, sind einander gleich. Diese Restpolynome werden mit R*(x) bezeichnet und durch die folgende Gleichung (54) beschrieben:
R*(x) = R n-k x n-k-1 + R n-k-1x -n-k-2 + . . . + R 2x + R 1 (54)
Die Beziehung zwischen F P *(x) und R*(x) kann man durch die folgende Gleichung (55) unter Verwendung der Matrix T* wie folgt darstellen:
Folglich können die Paritäten P i+1 bis P j-1 beschrieben werden durch die folgende Gleichung (56) unter Verwendung der Gleichung (55):
Folglich erhält man beim zweiten Ausführungsbeispiel der Erfindung die Divisionsergebnisse (Reste) der Gleichung (54) dadurch, daß in der ersten Dividiereinrichtung 32 n Divisionen oder Dividierschritte durch das reziproke Polynom G*(x) des Paritätserzeugungspolynoms G(x) (d. h. durch das Erzeugungspolynom G*(x) bezüglich des Codewortes W 0*) am Codewort ausgeführt werden, in welchem die (n-k) Paritäten P i+1 bis P j-1 des in Gleichung (51) dargestellten Codewortes W 0* Nullvektoren sind, und danach werden die (n-k) Paritäten P i+1 bis P j-1 dadurch gewonnen, daß in der zweiten Dividiereinrichtung 33, die "0"-Eingänge hat, i Divisionen oder Dividierschritte der Gleichung (56) durch das Paritätserzeugungspolynom G(x) (d. h. durch das reziproke Polynom G*(x) bezüglich des Codewortes W 0*) mit den in der ersten Dividiereinrichtung 32 erhaltenen Divisionsergebnissen (Resten) als die Anfangswerte ausgeführt werden.
In dieser Beschreibung bedeutet "ein Dividierschritt", daß der Grad in dem der Division ausgesetzten Polynom um eins inkrementiert wird, daß also in dem der Division ausgesetzten Polynom der maximale Grad von N auf N-1 geändert wird.
Als nächstes sollen Blockschaltbilder der Ausführungsbeispiele nach der Erfindung beschrieben werden. Fig. 6 zeigt ein Blockschaltbild des ersten Ausführungsbeispiels der Erfindung. Nach Fig. 6 gelangt ein an einen Eingangsanschluß 36 gelegtes Eingangssignal zu einer Gatter- oder Torschaltung 37, und eine Gesamtheit von k m-Bit-Daten D 1 bis D i sowie D j bis D n und eine Gesamtheit von (n-k) m-Bit-Nullvektoren, bei denen es sich um Elemente der in der Gleichung (21) beschriebenen Zeilenmatrix W 0 handelt, gelangen seriell zu einem Addierglied 38 n-k , und zwar in der Reihenfolge D 1, D 2, . . . , D i , 0, . . . , 0, D j , . . . , D n . Die Torschaltung 37 und eine Gatter- oder Torschaltung 44, auf die auch noch später eingegangen wird, enthalten m UND- Schaltungen 49 1 bis 49 m , die parallel zueinander geschaltet sind, wie es aus Fig. 7 ersichtlich ist. Jedes Bit des an den Eingangsanschluß 36 gelegten m-Bit-Eingangssignals gelangt über Eingangsanschlüsse 47 1 bis 47 m zu den jeweils zugeordneten UND-Schaltungen 49 1 bis 49 m . Über einen Eingangsanschluß 48 wird ein Steuersignal an jede der UND-Schaltungen 49 1 bis 49 m gelegt, so daß in Abhängigkeit von dem Steuersignal Ausgangsanschlüssen 50 1 bis 50 m entweder das an den Eingangsanschlüssen 47 1 bis 47 m anliegende Eingangssignal unverändert zugeführt wird oder ein Signal, bei dem alle Bits Null sind. Bei der Eingabe der Daten kann man die Nullvektoren unter Verwendung dieser Torschaltung 37 eingeben.
Das Addierglied 38 n-k und weitere (n-k-1) Addierglieder 38 1 bis 38 n-k-1 liefern ihre Ausgangssignale an erste Eingangsanschlüsse A von jeweils zugeordneten (n-k) Datenselektoren 39 1 bis 39 n-k . Signale, die an Ausgangsanschlüssen Y der Datenselektoren 39 1 bis 39 n-k auftreten, werden unabhängig voneinander jeweils zugeordneten (n-k) m-Bit-Registern 40 1 bis 40 n-k zugeführt.
Die Ausgangssignale der Addierglieder 38 1 bis 38 n-k-1 gelangen jeweils zu zweiten Eingangsanschlüssen B der Datenselektoren 39 2 bis 39 n-k . Ein am Ausgang der Torschaltung 44 auftretendes Ausgangssignal wird einem zweiten Eingangsanschluß B des Datenselektors 39 1 zugeführt. Ausgangssignale der Register 40 1 bis 40 n-k-1 werden jeweils zugeordneten zweiten Eingangsanschlüssen B von Datenselektoren 42 1 bis 42 n-k-1 zugeführt, und die Ausgangssignale der Register 40 2 bis 40 n-k gelangen zu jeweiligen ersten Eingangsanschlüssen A der Datenselektoren 42 1 bis 42 n-k-1. Das Ausgangssignal des Registers 40 1 wird einem ersten Eingangsanschluß eines Datenselektors 43 zugeführt. Ein Ausgangssignal des Registers 40 n-k wird einem zweiten Eingangsanschluß B des Datenselektors 43 über ein Koeffizientenmultiplizierglied 45 zur Multiplikation mit einem Koeffizienten 1/a n-k zugeführt. Ein Ausgangssignal von einem Ausgangsanschluß Y des Datenselektors 43 gelangt durch die Torschaltung 44 und tritt gleichzeitig an Koeffizientenmultipliziergliedern 41 1, . . . , 41 n-k-1, 41 n-k zur jeweiligen Multiplikation mit Koeffizienten a 1, . . . , a n-k-1, a n-k auf. Ausgangssignale der Multiplizierglieder 41 1, . . . , 41 n-k-1, 41 n-k gelangen zu den jeweiligen Addiergliedern 38 1, . . . , 38 n-k-1, 38 n-k .
Bevor das erste Datum D 1 zum Addierglied 38 n-k gelangt, werden die Register 40 1 bis 40 n-k gelöscht. Weiterhin werden die Datenselektoren 39 1 bis 39 n-k , 42 1 bis 42 n-k-1 und 43 alle so gesteuert, daß sie die ihrem ersten Eingangsanschluß A zugeführten Signale an ihren Ausgangsanschlüssen Y abgeben. Die Torschaltung 44 wird so gesteuert, daß sie die ihr zugeführten Daten passieren läßt. Die Paritätserzeugungsschaltung nach Fig. 6 hat demzufolge jetzt einen Schaltungsaufbau, der demjenigen der Schaltung nach Fig. 1 ähnlich ist, und sie bildet die erste Dividiereinrichtung 32. Ersetzt man in der Schaltung nach Fig. 1 die Register 13 1 bis 13 n-k durch die Register 40 1 bis 40 n-k , die Addierglieder 12 1 bis 12 n-k durch die Addierglieder 38 1 bis 38 n-k und die Multiplizierglieder 14 1 bis 14 n-k durch die Multiplizierglieder 41 1 bis 41 n-k erhält man eine Schaltung, die der Schaltung nach Fig. 6 für den Fall entspricht, daß dort die Datenselektoren 39 1 bis 39 n-k , 42 1 bis 42 n-k-1 und 43 an ihren Ausgängen diejenigen Signale abgeben, die ihren ersten Eingangsanschlüssen A zugeführt werden.
Wenn sich die dem Addierglied 38 n-k über die Torschaltung 37 zugeführten Daten von einem gewissen Datum zu einem nächsten Datum ändern, kann die Änderung in den Registerwerden beschrieben werden durch den folgenden Satz von Gleichungen (57), worin mit r 1, . . . , r n-k-1, r n-k die Registerwerte der Register 40 1, . . . , 40 n-k-1, 40 n-k , mit C x die Eingabedaten und mit a 1, . . . , a n-k-1, a n-k die Multiplikationskoeffizienten (Konstanten) der Multiplizierglieder 41 1, . . . , 41 n-k-1, 41 n-k bezeichnet sind:
Folglich wird ein Dividierschritt jedesmal ausgeführt, wenn eines der n Elemente der durch die Gleichung (21) beschriebenen Zeilenmatrix W 0 dem Addierglied 38 n-k zugeführt und in das Register 40 n-k eingegeben wird. Es werden n Dividierschritte ausgeführt, wenn alle Elemente der n-Elemente in ähnlicher Weise eingegeben werden. Als Ergebnis verbleiben daher, wie bereits oben beschrieben, die Divisionsergebnisse (Reste) R 1′, . . . , R n-k-1′, R n-k ′, die man bei der Division mit dem Paritätserzeugungspolynom G4104 00070 552 001000280000000200012000285911399300040 0002003702697 00004 13985<(x) erhält, in den jeweiligen Registern 40 1, . . . , 40 n-k-1, 40 n-k .
Als nächstes werden Nullvektoren mittels der Torschaltung 37 eingegeben, wobei die Torschaltung 37 so gesteuert wird, daß sie ihren Eingang weiterleitet, und alle Datenselektoren 39 1 bis 39 n-k , 42 1 bis 42 n-k-1 und 43 werden umgeschaltet und so gesteuert, daß an ihren Ausgangsanschlüssen die ihren zweiten Eingangsanschlüssen B zugeführten Eingangssignale auftreten. Folglich wird die in Fig. 6 dargestellte Schaltung zu einer Dividierschaltung des reziproken Polynoms G*(x), in der die in den Registern 40 1 bis 40 n-k verbliebenen Divisionsergebnisse (Reste) R 1′ bis R n-k ′ als Anfangswerte benutzt werden und die Eingangselemente dadurch zu "0" gemacht werden, daß der Eingangsanschluß 36 von der Schaltung abgetrennt wird. Die Schaltungsanordnung nach Fig. 6 nimmt dann ein in Fig. 8 dargestelltes Ersatzschaltbild an.
In Fig. 8 sind diejenigen Teile, die Teilen nach Fig. 6 entsprechen, mit denselben Bezugszeichen versehen. Bei jeder einmaligen Eingabe des Taktimpulses ändern sich die Registerwerte (gespeicherten Werte) in den Registern 40 1 bis 40 n-k dieser zweiten Dividierschaltung nach Fig. 8, wie es durch den folgenden Satz von Gleichungen (58) beschrieben ist, wobei mit 1/a n-k der Multiplikationskoeffizient des Multiplizierglieds 45, mit a 1, . . . , a n-k-1 jeweils die Multiplizierkoeffizienten der Multiplizierglieder 41 1, . . . , 41 n-k-1 und mit r 1, . . . , r n-k-1, r n-k jeweils die Registerwerte in den Registern 40 1, . . . , 40 n-k-1, 40 n-k bezeichnet sind:
Wenn demzufolge der Taktimpuls insgesamt (n-j+1) mal eingegeben worden ist und (n-j+1) Divisionen oder Dividierschritte ausgeführt worden sind, ist es möglich, die zweite Dividiereinrichtung 33 in der zuvor beschriebenen Weise zu realisieren. Als Ergebnis verbleiben folglich, wie es in der Gleichung (44) dargestellt ist, die Paritäten P i+1, P j-2, P j-1 als Registerwerte in den Registern 40 1, . . . , 40 n-k-1, 40 n-k .
Als nächstes werden alle Datenselektoren 39 1 bis 39 n-k , 42 1 bis 42 n-k-1 und 33 umgeschaltet und so gesteuert, daß an ihren Ausgangsanschlüssen jeweils die ihren Eingangsanschlüssen A zugeführten Eingangssignale auftreten. Weiterhin werden die Torschaltungen 37 und 44 so gesteuert, daß sie fortwährend Nullvektoren ausgeben. Die in Fig. 6 dargestellte Schaltungsanordnung nimmt daher ein Ersatzschaltbild nach Fig. 9 an. Auf diese Weise ist es möglich, die bereits beschriebene Ausgangseinrichtung 34 zu realisieren.
In Fig. 9 sind diejenigen Teile, die Teilen nach Fig. 6 entsprechen, mit denselben Bezugszeichen versehen. Die Ausgangssignale der Multiplizierglieder 41 1 bis 41 n-k werden zu Nullvektoren, und zwar infolge der von der Torschaltung 44 ausgegebenen Nullvektoren, und es ist auf diese Weise möglich, die in den Registern 40 1, . . . , 40 n-k-1, 40 n-k gespeicherten Paritäten P i+1, . . . , P jn2, O j-1 seriell dem Ausgangsanschluß 46 zuzuführen.
Bei dem betrachteten Ausführungsbeispiel der Erfindung führen alle Multiplizierglieder 41 1 bis 41 n-k und 45 eine Multiplikation mit einem konstanten Multiplikationskoeffizienten aus und haben demzufolge einen einfachen Schaltungsaufbau. Es ist nicht erforderlich, eine arithmetische Logikeinheit (ALU) oder dergleichen zu verwenden. Weiterhin ist es möglich, die Schaltungsanordnung äußerst einfach und kostengünstig auszubilden, und zwar dadurch, daß die Register 40 1 bis 40 n-k für die Divisionen in beiden Stufen gemeinsam genutzt werden.
Als nächstes wird das zweite Ausführungsbeispiel der erfindungsgemäßen Paritätserzeugungsschaltung näher betrachtet. Das zweite Ausführungsbeispiel der Erfindung ist in Fig. 10 dargestellt, in der diejenigen Teile, die Teilen nach Fig. 6 entsprechen, mit denselben Bezugszeichen versehen sind. Eine Einzelbeschreibung dieser Teile entfällt. Bei dem zweiten Ausführungsbeispiel sind ein Eingangsanschluß 52, eine Gatter- oder Torschaltung 53 und ein Addierglied 54 im Vergleich zum ersten Ausführungsbeispiel hinzugefügt worden, wohingegen der Eingangsanschluß 36, die Torschaltung 37 und das Addierglied 38 n-k entfallen. Die an den Eingangsanschluß 52 gelegten k Daten D n bis D j und D i bis D 1 werden durch die Torschaltung 53 weitergeleitet, und die Paritäten P i+1 bis P j-1 in dem durch die Gleichung (51) beschriebenen Codewort W 0* werden von der Torschaltung 53 zu Null gemacht. Folglich gelangen insgesamt n Elemente zum Addierglied 54 und zwar in der Reihenfolge der Daten D n , D n-1, . . . , D 2, D 1.
Nachdem die Register 40 1 bis 40 n-k gelöscht sind, werden alle Datenselektoren 39 1 bis 39 n-k , 42 1 bis 42 n-k-1 und 43 so gesteuert, daß sie an ihren Ausgangsanschlüssen diejenigen Eingangssignale abgeben, die den zweiten Eingangsanschlüssen B zugeführt werden. Die Torschaltung 44 läßt das Ausgangssignal des Datenselektors 43 passieren. Folglich nimmt die Schaltungsanordnung nach Fig. 10 das Schaltbild nach Fig. 4 an, wobei jedoch das Addierglied 54 zusätzlich auf der Eingangsseite des Registers 40 1 zwecks Addition des Ausgangssignals des Multiplizierglieds 45 und des Signals von der Torschaltung 53 vorgesehen ist. Eine auf solche Weise gebildete Dividierschaltung führt n Dividierschritte oder Divisionen durch das reziproke Polynom G*(x) bezüglich der Eingangsvektoren durch, und die mittels der ersten Dividiereinrichtung 32 gewonnenen Divisionsergebnisse (Reste) R 1*, . . . , R n-k-1*, R n-k * der Gleichung (54) verbleiben jeweils in den Registern 40 1, . . . , 40 n-k-1, 40 n-k .
Als nächstes werden alle Datenselektoren 39 1 bis 39 n-k , 42 1 bis 42 n-k-1 und 43 umgeschaltet und so gesteuert, daß an ihren Ausgangsanschlüssen die Eingangssignale von ihren ersten Eingangsanschlüssen A anliegen. Die Torschaltung 44 läßt das Ausgangssignal des Datenselektors 43 passieren. Die Schaltungsanordnung nach Fig. 10 nimmt daher jetzt eine der Schaltung nach Fig. 1 äquivalente Schaltung an, wobei jedoch ein dem Addierglied 12 n-k entsprechendes Addierglied nicht vorhanden ist, so daß das Signal vom Multiplizierglied 41 n-k (Multiplizierglied 14 n-k in Fig. 1) zur Multiplikation des Koeffizienten a n-k direkt zum Register 40 n-k gelangt.
Folglich werden Eingangsdaten vom Eingangsanschluß 52 nicht zugeführt, und die den oben beschriebenen Aufbau annehmende Schaltung führt i Dividierschritte aus, und zwar unter Verwendung der Divisionsergebnisse der ersten Dividiereinrichtung 32 als Anfangswerte und mit zu "0" gemachten Eingangselementen. Wenn die durch die Gleichung (56) beschriebenen i Dividierschritte durch das Paritätserzeugungspolynom G(x) beendet sind, verbleiben die Paritäten P i+1, . . . , P j-1 jeweils in den Registern 40 1, . . . , 30 n-k .
Als nächstes werden alle Datenselektoren 39 1 bis 39 n-k , 42 1 bis 42 n-k-1 und 43 so gesteuert, daß sie fortfahren, an ihren Ausgangsanschlüssen diejenigen Eingangssignale abzugeben, die an ihren ersten Eingangsanschlüssen A anliegen. Die Torschaltungen 44 und 53 werden so gesteuert, daß sie Nullvektoren ausgeben. Die unter diesen Bedingungen mittels der zweiten Dividiereinrichtung 33 erzeugten Registerwerte, die in den Registern 40 1 bis 40 n-k gespeichert sind, werden aufeinanderfolgend aus den Registern 40 1, 40 2, . . . , 40 n-k-1, 40 n-k in dieser genannten Reihenfolge als die Paritäten P i+1, P i+2, . . . , P j-2, P j-1 ausgelesen und treten dementsprechend am Ausgangsanschluß 46 auf.
Bei beiden Ausführungsbeispielen nach Fig. 6 und 10 ist es möglich, alle Datenselektoren 39 1 bis 39 n-k , 42 1 bis 42 n-k-1 und 43 so zu schalten und zu steuern, daß sie an ihren Ausgängen die ihren zweiten Eingangsanschlüssen B zugeführten Eingangssignale abgeben, wenn die Registerwerte aus den Registern 40 1 bis 40 n-k ausgelesen werden. In diesem Fall werden die Paritäten P j-1, P j-2, . . . , P i+1 aufeinanderfolgend über das Register 40 n-k in dieser Reihenfolge erhalten.
Weiterhin kann man die Ausführungsbeispiele nach Fig. 6 und 10 kombinieren, so daß zwei Eingangsanschlüsse vorhanden sind und die Paritäten wahlweise in Abhängigkeit davon erzeugt werden können, ob der Eingang des Codewortes vom Datum D 1 aus oder vom Datum D n aus gemacht wird. In diesem Fall sind Maßnahmen vorgesehen, die dafür sorgen, daß von dem nicht benutzten Eingangsanschluß fortwährend Nullvektoren ausgegeben werden.
Bei den betrachteten Ausführungsbeispielen der Erfindung werden die Register und Multiplizierglieder für die Zwecke der ersten und der zweiten Dividiereinrichtung gemeinsam genutzt. Nach der Erfindung können aber auch die erste und die zweite Dividiereinrichtung durch voneinander unabhängige Schaltungen realisiert sein.
Die Erfindung ist nicht auf die betrachteten Ausführungsbeispiele beschränkt. Verschiedenartige Abweichungen und Modifikationen sind im Rahmen der erfindungsgemäßen Lehre denkbar.

Claims (8)

1. Paritätserzeugungsschaltung zum Erzeugen von Paritäten P i+1, . . . , P j-1 eines Reed-Solomon-Code, der beschrieben ist durch eine Zeilenmatrix W 0 = [D 1, D 2, . . . , D i , P i+1, . . . , P j-1, D j , . . . , D n ], worin mit D 1 bis D i und D j bis D n k m-Bit-Daten und mit P i+1 bis P j-1 (n-k) m-Bit-Paritäten bezeichnet sind und n-k = j-i-1, 2 m -1 n und n ≦λτ j ≦λτ i sind, dadurch gekennzeichnet, daß die Paritätserzeugungsschaltung enthält: eine erste Dividiereinrichtung (32), der aufeinanderfolgend Elemente D 1, D 2, . . . , D n einer Zeilenmatrix W 0′, in dieser Reihenfolge zur Durchführung von n Dividierschritten durch ein Paritätserzeugungspolynom G(x) zugeführt werden, wobei die Zeilenmatrix W 0′, gleich der Zeilenmatrix W 0 mit auf Nullvektoren gesetzten Paritäten P i+1 bis P j-1 ist, so daß W 0′ = [D 1, D 2, . . . , D i , 0, . . . , 0, D j , . . . , D n ], und wobei das Paritätserzeugungspolynom G(x) beschrieben ist durch G(x)= (x-1) · (x-α) · . . . · (x-α n-k-1)
= x n-k + a 1·x n-k-1 + a 2· x n-k-2 + . . . + a n-k-1·x+a n-k′ ,worin α ein primitives Element vom Galois-Feld GF(2 m ) und a 1 bis a n-k Konstanten sind; eine zweite Dividiereinrichtung (33) zum Ausführen von (n-j+1) Dividierschritten durch ein reziprokes Polynom G*(x) des Paritätserzeugungspolynoms G(x) unter Verwendung der in der ersten Dividiereinrichtung erhaltenen Divisionsergebnisse als Anfangswerte und mit auf Null gesetzten Eingangselementen der Einrichtung, wobei das reziproke Polynom G*(x) beschrieben ist durchG*(x) = a n-k ·x n-k + a n-k-1·x n--k-1 + . . . +a 1· x+1;und eine Ausgangseinrichtung (34) zum Ausgeben von in der zweiten Dividiereinrichtung erhaltenen (n-k) Divisionsergebnissen als die Paritäten P i+1 bis P j-1.
2. Paritätserzeugungsschaltung nach Anspruch 1, dadurch gekennzeichnet, daß ein Schaltungsteil (Fig. 6) für die erste und für die zweite Dividiereinrichtung gemeinsam benutzt wird, daß das Schaltungsteil enthält erste bis (n-k)te Register (40 n-k , 40 n-k-1, . . . , 40 1), erste bis (n-k)te Addierglieder (38 n-k , 38 n-k , . . . , 38 1), erste bis n-k-1)te Multiplizierglieder (41 n-k-1, 41 n-k-2, . . -. , 41 1), ein (n-k)tes Multiplizierglied (41 n-k ), ein (n-k+1)tes Multiplizierglied (45) und eine Schalteinrichtung (43, 39 n-k , 39 n-k-1, . . . , 39 1, 42 n-k-1, 42 n-k-2, . . . , 42 1) zum Schalten von Eingangs- und Ausgangssignalen der Register derart, daß das Schaltungsteil in einem ersten Schaltzustand als die erste Dividiereinrichtung und in einem zweiten Schaltzustand als die zweite Dividiereinrichtung betrieben wird, daß die Schalteinrichtung in dem ersten Schaltzustand ein Ausgangssignal des (n-k)ten Registers (40 1) an jedes der zweiten bis (n-k)ten Addierglieder (38 n-k-1, . . . , 38 1) über entsprechende der ersten bis (n-k-1)ten Multiplizierglieder (41 n-k-1, . . . , 41 n ) liefert, so daß die zweiten bis (n-k)ten Addierglieder Ausgangssignale der ersten bis (n-k-1)ten Register (40 n-k , . . . , 40 2) und Ausgangssignale der genannten entsprechenden ersten bis (n-k-1)ten Multiplizierglieder jeweils addieren, und ein Ausgangssignal des (n-k)ten Registers (40 1) an das erste Addierglied (38 n-k ) über das (n-k)te Multiplizierglied (41 n-k ) liefert, so daß das erste Addierglied ein Eingangssignal enthaltend die Elemente der Zeilenmatrix W 0′ und ein Ausgangssignal des (n-k)ten Multiplizierglieds (41 n-k ) addiert und ein Additionssignal an das erste Register (40 n-k ) liefert, daß die Schalteinrichtung im zweiten Schaltzustand das Ausgangssignal des ersten Registers (40 n-k ) an jedes der ersten bis (n-k-1)ten Multiplizierglieder und an das (n-k)te Register (40 1) über das (n-k+1)te Multiplizierglied (45) liefert, so daß die zweiten bis (n-k)ten Addierglieder die Ausgangssignale der ersten bis (n-k-1)ten Multiplizierglieder und der zweiten bis (n-k)ten Register (40 n-k-1, . . . , 40 1) addiert und Additionssignale der ersten bis (n-k)ten Addierglieder den ersten bis (n-k-1)ten Registern (40 n-k , . . . , 40 2) zugeführt werden, und daß die Ausgangseinrichtung von dem (n-k)ten Register (40 1) erhaltene Ausgangssignale als die Paritäten P i+1 bis P j+1 ausgibt.
3. Paritätserzeugungsschaltung nach Anspruch 2, dadurch gekennzeichnet, daß die ersten bis (n-k-1)ten Multiplizierglieder (41 n-k-1, . . . , 41 1) jeweils die Koeffizienten a 1 bis a n-k-1 multiplizieren, daß das (n-k)te Multiplizierglied (41 n-k ) den Koeffizienten a n-k multipliziert und daß das (n-k+1)te Multiplizierglied (45) einen Koeffizienten 1/a n-k multipliziert.
4. Paritätserzeugungsschaltung nach Anspruch 3, dadurch gekennzeichnet, daß die Schalteinrichtung enthält: einen ersten Datenselektor (43) zum wahlweisen Zuführen an die ersten bis (n-k)ten Multiplizierglieder das Ausgangssignal des (n-k)ten Registers im ersten Schaltzustand und das Ausgangssignal des (n-k+1)ten Multiplizierglieds im zweiten Schaltzustand, (n-k) zweite Datenselektoren (39 n-k , . . . , 39 1), wobei ein L-ter zweiter Datenselektor an ein L-tes Register das Ausgangssignal eines L-ten Addierglieds im ersten Schaltzustand und das Ausgangssignal eines (L+1)ten Addierglieds im zweiten Schaltzustand wahlweise liefert, wobei L = 1, 2, . . . , (n-k-1), und ein (n-k)ter zweiter Datenselektor (39 1) an das (n-k)te Register das Ausgangssignal des (n-k)ten Addierglieds im ersten Schaltzustand und das Ausgangssignal des ersten Datenselektors im zweiten Schaltzustand wahlweise liefert, und (n-k-1) dritte Datenselektoren (42 n-k-1, . . . , 42 1), wobei ein M-ter dritter Datenselektor an ein (M+1)tes Addierglied das Ausgangssignal eines M-ten Registers im ersten Schaltzustand und das Ausgangssignal eines (M+1)ten Registers im zweiten Schaltzustand wahlweise liefert, wobei M = 1, 2, . . . , (n-k-1).
5. Paritätserzeugungsschaltung zum Erzeugen von Paritäten P i+1, . . . , P j-1 eines Reed-Solomon-Code, der durch eine Zeilenmatrix W 0 = [D 1, D 2, . . . , D i , P i+1, . . . , P j-1, D j , . . . , D n ] beschrieben ist, worin mit D 1 bis D i und D j bis D n k m-Bit-Daten und mit P i+1 bis P j-1 (n-k) m-Bit-Paritäten bezeichnet sind, und n-k = j-i-1, 2 m -1 n und n ≦λτ j ≦λτ i sind, dadurch gekennzeichnet, daß die Paritätserzeugungsschaltung enthält: eine erste Dividiereinrichtung (32), der aufeinanderfolgend Elemente D n , . . . , D j , 0, . . . , 0, D i , . . . , D 2, D 1 einer Zeilenmatrix W 0′, in dieser Reihenfolge zum Ausführen von n Dividierschritten durch ein reziprokes Polynom G*(x) eines Paritätserzeugungspolynoms G(x) zugeführt werden, wobei die Zeilenmatrix W 0′ gleich der Zeilenmatrix W 0 mit auf Nullvektoren gesetzten Paritäten P i+1 bis P j-1 ist, so daß W 0′ = [D 1, D 2, . . . , D i , 0, . . . , 0, D j , . . . , D n ], und das Paritätserzeugungspolynom G(x) beschrieben ist durch G(x)= (x-1) · (x-α) · . . . · (x-α n-k-1)
= x n-k + a 1·x n-k-1 + a 2·x n-k-2 + . . . + a n-k-1·x + a n-k,worin α ein primitives Element vom Galois-Feld GF(2 m ) und a 1 bis a n-k Konstanten sind, und wobei das reziproke Polynom G*(x) beschrieben ist durchG*(x) = a n-k ·x n-k + a n-k-1·x n--k-1 + . . . + a 1· x+1;eine zweite Dividiereinrichtung (33) zum Ausführen von i Dividierschritten durch das Paritätserzeugungspolynom G(x) unter Verwendung der in der ersten Dividiereinrichtung erhaltenen Divisionsergebnisse als Anfangswerte und mit auf Null gesetzten Eingangselementen; und eine Ausgangseinrichtung (34) zum Ausgeben von in der zweiten Dividiereinrichtung erhaltenen (n-k) Divisionsergebnissen als die Paritäten P i+1 bis P j-1.
6. Paritätserzeugungsschaltung nach Anspruch 5, dadurch gekennzeichnet, daß ein Schaltungsteil (Fig. 10) gemeinsam für die erste und die zweite Dividiereinrichtung benutzt wird, daß das Schaltungsteil enthält: erste bis (n-k)te Register (40 1, . . . , 40 n-k ), erste bis (n-k)te Addierglieder (54, 38 1, . . . , 38 n-k-1), erste bis (n-k-1)te Multiplizierglieder (41 1, . . . , 41 n-k-1), ein (n-k)tes Multiplizierglied (41 n-k ), ein (n-k+1)tes Multiplizierglied (45) und eine Schalteinrichtung (43, 39 1, . . . , 39 n-k , 42 1, . . . , 42 n-k-1) zum Schalten von Eingangs- und Ausgangssignalen der Register derart, daß das Schaltungsteil als die erste Dividiereinrichtung in einem ersten Schaltzustand und als die zweite Dividiereinrichtung in einem zweiten Schaltzustand arbeitet, daß die Schalteinrichtung im ersten Schaltzustand ein Ausgangssignal des (n-k)ten Registers (40 n-k ) an jedes der zweiten bis (n-k)ten Addierglieder (38 1, . . . 38 n-k-1) über das (n-k+1)te Multiplizierglied (45) und entsprechende der ersten bis (n-k-1)ten Multiplizierglieder (41 1, . . . , 41 n-k-1) liefert, so daß die zweiten bis (n-k)ten Addierglieder Ausgangssignale der ersten bis (n-k-1)ten Register (40 1, . . . , 40 n-k-1) und Ausgangssignale der genannten entsprechenden der ersten bis (n-k-1)ten Multiplizierglieder jeweils addieren, und ein Ausgangssignal des (n-k)ten Registers (40 n-k ) an das erste Addierglied (54) über das (n-k+1)te Multiplizierglied (45) liefern, so daß das erste Addierglied ein Ausgangssignal enthaltend die Elemente der Zeilenmatrix W 0′ und ein Ausgangssignal des (n-k+1)ten Multiplizierglieds addiert und ein Additionssignal an das erste Register (40 1) liefert, daß die Schalteinrichtung im zweiten Schaltzustand das Ausgangssignal des ersten Registers (40 1) an jedes der ersten bis (n-k-1)ten Multiplizierglieder (41 1, . . . , 41 n-k-1) liefert, so daß die zweiten bis (n-k)ten Addierglieder (38 1, . . . , 38 n-k-1) die Ausgangssignale der ersten bis (n-k-1)ten Multiplizierglieder und der zweiten bis (n-k)ten Register addieren und Additionssignale der zweiten bis (n-k)ten Addierglieder den ersten bis (n-k-1)ten Registern jeweils zugeführt werden und das Ausgangssignal des (n-k)ten Multiplizierglieds (41 n-k ) an das (n-k)te Register (40 n-k ) geliefert wird, und daß die Ausgangseinrichtung von dem ersten Register erhaltene Ausgangssignale als die Paritäten P i+1 bis P j-1 ausgibt.
7. Paritätserzeugungsschaltung nach Anspruch 6, dadurch gekennzeichnet, daß die ersten bis (n-k)ten Multiplizierglieder (41 1, . . . , 41 n-k-1) jeweils die Koeffizienten a 1 bis a n-k-1 multiplizieren, daß das (n-k)te Multiplizierglied (41 n-k ) den Koeffizienten a n-k multipliziert und daß das (n-k+1)te Multiplizierglied (45) einen Koeffizienten 1/a n-k multipliziert.
8. Paritätserzeugungsschaltung nach Anspruch 7, dadurch gekennzeichnet, daß die Schalteinrichtung enthält: einen ersten Datenselektor (43) zum wahlweisen Zuführen zu den ersten bis (n-k)ten Multipliziergliedern (41 1, . . . , 41 n-k ) das Ausgangssignal des (n-k+1)ten Multiplizierglieds (45) im ersten Schaltzustand und das Ausgangssignal des ersten Registers (40 1) im zweiten Schaltzustand, (n-k) zweite Datenselektoren (39 1, . . . , 39 n-k ), wobei ein L-ter zweiter Datenselektor an ein L-tes Register das Ausgangssignal eines L-ten Addierers im ersten Schaltzustand und das Ausgangssignal eines (L+1)ten Addierglieds im zweiten Schaltzustand wahlweise liefert, und zwar mit L = 1, 2, . . . , (n-k-1), und wobei ein (n-k)ter zweiter Datenselektor (39 n-k ) an das (n-k)te Register das Ausgangssignal des (n-k-1)ten Addierglieds (38 n-k-1) im ersten Schaltzustand und das Ausgangssignal des (n-k)ten Multiplizierglieds (41 n-k ) im zweiten Schaltzustand wahlweise liefert, und (n-k-1) dritte Datenselektoren (41 1, . . . , 42 n-k-1), wobei ein M-ter dritter Datenselektor an ein (M+1)tes Addierglied das Ausgangssignal eines M-ten Registers im ersten Schaltzustand und das Ausgangssignal eines (M+1)ten Registers im zweiten Schaltzustand wahlweise liefert, und zwar mit M = 1, 2, . . . , (n-k-1).
DE19873702697 1986-02-04 1987-01-30 Paritaetserzeugungsschaltung Granted DE3702697A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61022616A JPS62180617A (ja) 1986-02-04 1986-02-04 パリテイ生成回路

Publications (2)

Publication Number Publication Date
DE3702697A1 true DE3702697A1 (de) 1987-09-10
DE3702697C2 DE3702697C2 (de) 1989-04-06

Family

ID=12087771

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19873702697 Granted DE3702697A1 (de) 1986-02-04 1987-01-30 Paritaetserzeugungsschaltung

Country Status (3)

Country Link
US (1) US4809275A (de)
JP (1) JPS62180617A (de)
DE (1) DE3702697A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0551646A2 (de) * 1991-12-25 1993-07-21 Matsushita Electric Industrial Co., Ltd. Kodierer und Dekodierer mit verketteter Block- und Konvolutionalkodierung
EP0996231A1 (de) * 1998-10-20 2000-04-26 DIG Microcode GmbH Verfahren und Anordnung zum Erzeugen von fehlergesicherten Datenblöcken durch Erzeugen von Paritätsworten und Datenträger mit gemäss dem Verfahren erzeugten Datenblöcken

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07114374B2 (ja) * 1986-10-03 1995-12-06 三菱電機株式会社 短縮巡回符号の符号化装置
US5115436A (en) * 1990-05-04 1992-05-19 Bell Communications Research Forward error correction code system
US5473620A (en) * 1993-09-21 1995-12-05 Cirrus Logic, Inc. Programmable redundancy/syndrome generator
US6370671B1 (en) * 1998-06-18 2002-04-09 Globespan, Inc. Configurable decoder and method for decoding a reed-solomon codeword
US6324638B1 (en) * 1999-03-31 2001-11-27 International Business Machines Corporation Processor having vector processing capability and method for executing a vector instruction in a processor
US6571368B1 (en) * 2000-02-02 2003-05-27 Macronix International Co., Ltd. Systolic Reed-Solomon decoder

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58158566A (ja) * 1982-03-17 1983-09-20 Hitachi Ltd 検査装置
US4646303A (en) * 1983-10-05 1987-02-24 Nippon Gakki Seizo Kabushiki Kaisha Data error detection and correction circuit
JPH0812612B2 (ja) * 1983-10-31 1996-02-07 株式会社日立製作所 誤り訂正方法及び装置
US4627058A (en) * 1984-01-27 1986-12-02 Pioneer Electronic Corporation Code error correction method
JPS60178717A (ja) * 1984-02-24 1985-09-12 Victor Co Of Japan Ltd リ−ド・ソロモン符号生成回路
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.
JPS6222616A (ja) * 1985-07-22 1987-01-30 森 武志 トイレ装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
R.E.BLAHUT "Theory and Practice of Error Control Codes", Addison Wesley Publ.Co. 1983, S.96-101 *
W.W.PETERSON, E.J.WELDON jun., "Error-Correcting Codes" 2.Aufl., MIT Press 1972, S.170-189,276, 277,308,309 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0551646A2 (de) * 1991-12-25 1993-07-21 Matsushita Electric Industrial Co., Ltd. Kodierer und Dekodierer mit verketteter Block- und Konvolutionalkodierung
EP0551646A3 (en) * 1991-12-25 1993-08-11 Matsushita Electric Industrial Co., Ltd Concatenated block and convolution encoder-decoder
EP0996231A1 (de) * 1998-10-20 2000-04-26 DIG Microcode GmbH Verfahren und Anordnung zum Erzeugen von fehlergesicherten Datenblöcken durch Erzeugen von Paritätsworten und Datenträger mit gemäss dem Verfahren erzeugten Datenblöcken
WO2000024130A1 (de) * 1998-10-20 2000-04-27 Dig Microcode Gmbh Verfahren und anordnung zum erzeugen von fehlergesicherten datenblöcken durch erzeugen von paritätsworten und datenträger mit gemäss dem verfahren erzeugten datenblöcken

Also Published As

Publication number Publication date
JPS62180617A (ja) 1987-08-07
JPH0476540B2 (de) 1992-12-03
US4809275A (en) 1989-02-28
DE3702697C2 (de) 1989-04-06

Similar Documents

Publication Publication Date Title
DE69834542T2 (de) Hardwareoptimierter reed-solomon-decoder zur decodierung grosser datenblöcke
DE3852423T2 (de) Kodierverfahren und Kodierer mit Reed-Solomon Fehlerkorrekturcode.
DE2916710C2 (de)
DE69919199T2 (de) Vorwärtsfehlerkorrektur
DE3650335T2 (de) Rechenverfahren und -gerät für endlichfeldmultiplikation.
DE19758079A1 (de) Verfahren und Vorrichtung zur Galoisfeld-Multiplikation
DE4229666C2 (de) Wechselseitig arbeitende Divisionsschaltung
DE4241903C2 (de) Euklidische wechselseitige Divisionsschaltung
DE1905138A1 (de) Fehlerbuendei korrigierende Entschluesselungseinrichtung
DE2625973B2 (de) Verfahren und Anordnung zur redundanzvermindernden Transformation von Bildern
DE2628473B2 (de) Digitales Faltungsfilter
DE19922253A1 (de) Kodiervorrichtung für RAID-6-Systeme und Bandlaufwerke
DE69020951T2 (de) Kodiereinrichtung für einen Fehlerprüfungs- und Fehlerkorrekturkode.
DE102017125617B4 (de) Bestimmung und Verwendung von Bytefehlerpostionssignalen
DE10105626B4 (de) Verfahren und System zur Berechnung von zyklischem Blockprüfungscode und Verfahren zum Erkennen eines Fehlers
DE3506440C2 (de)
DE2606931A1 (de) Verfahren zur erzeugung von werten mathematischer funktionen
DE3404417A1 (de) Codierer-pruefschaltungsanordnung
DE3702697C2 (de)
DE3138698C2 (de)
DE69837784T2 (de) Verbessertes fünf-fehler-korrektursystem
EP1999571B1 (de) Verfahren und vorrichtung zur reduktion eines polynoms in einem binären finiten feld, insbesondere im rahmen einer kryptographischen anwendung
DE4117726C2 (de) Fehlerkorrekturverfahren und Einrichtung zu dessen Durchführung
EP1495552B1 (de) Verfahren und vorrichtung zur berechnung eines iterierten zustands einer rueckgekoppelten schieberegisteranordnung
DE19963687A1 (de) Modulations-Codierer und -Decodierer

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8181 Inventor (new situation)

Free format text: INOUE, YASUO YAMADA, YASUHIRO, YOKOSUKA, KANAGAWA, JP

D2 Grant after examination
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: PATENTANWAELTE REICHEL UND REICHEL, 60322 FRANKFURT

8339 Ceased/non-payment of the annual fee