DE4229666C2 - Wechselseitig arbeitende Divisionsschaltung - Google Patents
Wechselseitig arbeitende DivisionsschaltungInfo
- Publication number
- DE4229666C2 DE4229666C2 DE4229666A DE4229666A DE4229666C2 DE 4229666 C2 DE4229666 C2 DE 4229666C2 DE 4229666 A DE4229666 A DE 4229666A DE 4229666 A DE4229666 A DE 4229666A DE 4229666 C2 DE4229666 C2 DE 4229666C2
- Authority
- DE
- Germany
- Prior art keywords
- division
- coefficient data
- registers
- output signals
- relevant
- 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/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
-
- 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
- G06F7/726—Inversion; Reciprocal calculation; Division of elements of a finite field
Description
Die Erfindung bezieht sich auf wechselseitig arbeitende
Divisionsschaltungen und insbesondere auf eine euklidische
Divisionsschaltung zur Ausführung einer euklidischen
wechselseitigen Division.
Eine Vorrichtung und ein Verfahren für die Berechnung der
multiplikativen Inversion von einem Galoisschen Feldelement in
einer vektoriellen Anordnung sind beschrieben in US 4 989 171 A.
Weiterhin sind eine Vorrichtung und ein Verfahren für die
Teilung der Elemente von einem Galoisschen Feld, welche zur
Dekodierung eines Fehlerkorrekturkodes benutzt werden können,
aus US 45 74 361 A und US 4 975 867 A bekannt.
Wenn ein Fehlerkorrektursystem unter Verwendung eines
Fehlerkorrekturcodes realisiert wird, wie er durch einen Bose-
Chaundhuri-Hocquenghem-(BCH)-Code und einen Reed-Solomon-Code
repräsentiert ist, spielt eine Einrichtung zur Erzielung eines
Fehleranzeigepolynoms aus einem Syndrom, welches durch ein
Empfangssignal erzeugt wird, die wichtigste Rolle.
Als Verfahren zur Realisierung dieses Prozesses ist weiterhin
ein Verfahren unter Ausnutzung eines euklidischen
wechselseitigen Divisionsalgorithmus bekannt.
Das euklidische wechselseitige Divisionsverfahren ist generell
als ein Algorithmus bekannt, durch den der gemeinschaftlichste
Teiler zweier Polynome erhalten wird. Beim Fehlerkorrekturcode
kann das Fehleranzeigepolynom aus einem Syndrom durch sinnvolle
Anwendung einer Rechenprozedur berechnet werden, die beim Prozeß
des euklidischen wechselseitigen Divisionsverfahrens angewandt
wird.
Der Rechenprozeß des euklidischen wechselseitigen
Divisionsverfahrens weist den Vorteil auf, daß er auf einer
systolischen Reihenarchitektur aufgebaut werden kann, in der er
durch Kaskadierung einer Vielzahl relativ einfacher
Recheneinheiten (nachstehend als "wechselseitig arbeitende
Divisionseinheit" bezeichnet) realisiert werden kann.
Ein Beispiel, gemäß dem ein Algorithmus des euklidischen
wechselseitigen Divisionsverfahrens mit Hilfe der systo
lischen Reihen realisiert werden kann, ist von Howard M.
Shao und anderen in einem Artikel mit der Bezeichnung
"A VLSI Design of a Pipeline Reed-Solomon-Decoder" in der
Zeitschrift IEEE Trans. on Computers Vol. C-34, Mai 1985
vorgeschlagen worden. Dieses Verfahren wird nachstehend
als Verfahren A bezeichnet werden. Das Verfahren A hat
den Nachteil, daß sein Algorithmus nicht perfekt ist und
daß jede Einheit zwei Multiplizierer für ein endliches
Feld benötigt. Wenn ein System, welches eine schnelle reale
Verarbeitung benötigt, auf der Grundlage dieses Verfahrens A
aufgebaut wird, ist somit dessen Schaltungsumfang ver
größert.
Als verbesserte Verfahren gegenüber dem obigen Verfahren A
ist bereits an anderer Stelle ein Verfahren vorgeschlagen
worden (siehe nicht vorveröffentlichte US-A-5185711).
Dieses vorgeschlagene Verfahren wird nachstehend als "Ver
fahren B" bezeichnet werden. Das Verfahren B verwendet
einen verbesserten Algorithmus gegenüber dem bei dem zuvor
erwähnten Verfahren A angegebenen Algorithmus und ersetzt
zwei Multiplizierer eines endlichen Feldes in der wechsel
seitig arbeitenden Divisionseinheit durch einen Multipli
zierer für ein endliches Feld und einen Teiler für ein
endliches Feld. Ferner ersetzt das Verfahren B die endli
chen Feld-Teiler, die in einer Vielzahl von kaskadierten
wechselseitig arbeitenden Divisionseinheiten verwendet
sind, durch einen Teiler für ein endliches Feld. Damit
kann der Schaltungsumfang reduziert werden.
Das Verfahren B erfordert jedoch eine komplexe Steuerschal
tung, die erforderlich ist für die gemeinsame Nutzung des
Teilers für ein endliches Feld aus einer Vielzahl der
wechselseitig arbeitenden Divisionseinheiten, so daß die
Betriebsgeschwindigkeit nicht gesteigert werden kann. Ob
wohl der Teiler für ein endliches Feld gemeinsam genutzt
wird, benötigt darüber hinaus jede wechselseitige Divi
sionseinheit eine Schaltung für eine Entscheidungsoperation
vom Polynomgrad sowie eine Steuerschaltung, so daß der
Schaltungsumfang ein wenig erhöht ist.
Das Verfahren B wird nachstehend im einzelnen beschrieben.
Zunächst wird eine Fehlerkorrekturtechnik beschrieben.
Dieses System ist nicht nur bezüglich einer Fehlerkorrektur
wirksam, sondern außerdem bei allen Systemen, die benötigt
werden zur Realisierung des euklidischen wechselseitigen
Divisionsverfahrens mit hoher Geschwindigkeit. Das betref
fende Verfahren wird in Anwendung auf das Fehlerkorrektur
verfahren unter Anwendung des Reed-Solomon-Codes beschrie
ben.
In der folgenden Beschreibung sind Exponenten durch unter
strichene Buchstaben gekennzeichnet, denen das Zeichen
"^" folgt, und Suffixe sind durch unterstrichene Buchstaben
ohne solche Zeichen bezeichnet.
Es sei ein Fehlerkorrektursystem betrachtet, welches eine
Codelängen aufweist, die einen Fehler von t Symbolen unter
Heranziehung eines endlichen Feldes von GF (2^m) korrigieren
kann. Es sei angenommen, daß a^m angibt, daß eine Fehleran
zeige in der j-ten Position vorhanden ist, wobei der Code
kopf in der 0-ten Position ausgewählt ist. Falls der Code
insgesamt m Fehler aufweist, werden sodann die Gesamtfehler
des Codes durch die Fehleranzeige Xi (i = 1, . . . ., m) und
das Fehlermuster yi (i = 1, . . . m) beschrieben. Falls ins
gesamt m (m ≦ 2t) Fehler vorhanden sind, bedeutet dies,
daß m Sätze von (Xi, Yi) erforderlich sind.
Ein als Fehleranzeigepolynom σ(X) bekanntes Polynom wird
unter Heranziehung dieser Fehleranzeige Xi (i = 1, . . ., m)
definiert. Das Fehleranzeigepolynom σ(X) wird zu 0, falls
die Fehleranzeige X = Xi^ - 1 ist, wobei i = 1, . . . m ist.
Der Koeffizient von σ(X) wird ausgedrückt als:
σ(X) = 1 + σ1X + σ2X2 + . . . σaXa (2)
Unter Heranziehung des Fehleranzeigepolynoms σ(X) und
eines Syndrom-Polynoms S(X) ist ferner ein Fehlerbewertungs
polynom ω(X) wie folgt definiert:
ω(X) = S(X)σ(R)(modX2t) (3)
Anschließend wird der Fehlerkorrekturprozeß in der Reihen
folge von Schritten beschrieben.
Es werden 2t Syndrome S, wie sie durch die folgende
Gleichung (4) angegeben sind,
S = (S1 . S2, . . . S2 1)T (4)
als Produkt eines Empfangs- bzw. Aufnahmesignals r
und einer Paritätsprüfmatrix H erhalten. Dies bedeutet,
daß das Syndrom S wie folgt angegeben wird:
S = Hr (5)
Sodann sei ein als Syndrom-Polynom S(X) bezeichnetes
Polynom definiert, das heißt das Syndrom S, welches so
als Koeffizient eines Polynoms erhalten wird.
Das Fehleranzeigepolynom σ(X) wird aus dem Syndrom-Polynom
S(X) erhalten, bei dem der Algorithmus auf der Grundlage
des euklidischen wechselseitigen Divisionsverfahrens ver
wendet ist.
Die Fehleranzeige X = Xi^ - 1 (wobei i = 1, . . . m ist) wird
gesucht. Es dürfte einzusehen sein, daß durch Substitution
sämtlicher Elemente X = α^0 . . . α^n - 1, die in GF(2^m) enthal
ten sind, in σ(X) unter Heranziehung des Koeffizienten
des Fehleranzeigepolynoms σ(X) die Position, bei der
σ(X) = 0 erfüllt ist, die Fehleranzeige Xi ist (wobei
i = 1, . . . m ist).
Falls der Fehleranzeiger Xi (wobei i = 1, . . . m gilt)
gegeben ist, wird sodann ein Fehlermuster Yi (wobei
1 = 1, . . . m gilt) unter Heranziehung des Fehlerbewertungs
polynoms ω(X) wie folgt berechnet:
Das empfangene Signal ist durch die Verwendung des Fehler
anzeigers Xi (wobei i = 1, . . . m gilt) und eines Fehler
musters Yi (wobei i = 1, . . . m gilt) somit fehler
korrigiert.
Wie oben beschrieben, wird die Fehlerkorrektur durch die
Prozesse gemäß den Schritten 1 bis 5 ausgeführt. Die Einzel
heiten hierfür sind bereits in der oben erwähnten US-Patent
anmeldung beschrieben worden.
Nachstehend wird ein Verfahren zur Ableitung eines Fehler
anzeigepolynoms beschrieben werden. Dieses Ableitungsver
fahren oder dieser Ableitungsprozeß ist dem Schritt 2 des
obigen Fehlerkorrekturprozesses äquivalent. Ein Verfahren
zur Ableitung des Fehleranzeigerpolynoms σ(X) unter Ver
wendung des euklidischen wechselseitigen Divisionsalgorith
mus ist wie folgt bekannt:
Falls r-1(X) = X^2t und r0(X) = S(X) gilt, dann gilt
deg(r0)X)) < deg(r-1(X)), da der Grad von S(X) der Grad
von 2t - 1 ist.
Sodann wird die Division mit einem Polynom qi(X) als
Quotient wiederholt durchgeführt, indem r-1(X) und r0(X)
herangezogen werden. Diese Division stellt dieselbe Berech
nung dar wie die euklidische wechselseitige Division, die
wie folgt gegeben ist:
Zunächst werden die folgenden Berechnungen sequentiell
ausgeführt:
r-1(X) = q1(X)r0(X) + r1(X), deg(r1(X)) < deg(r0(X))
r0(X) = q2(X)r1(X) + r2(X), deg(r2(X)) < deg(r1(X))
rj-2(X) = qj(X)rj-1(X) + rj(X), deg(rj(X)) < deg(rj-1(X)) (8)
Die Berechnung wird zu Ende gebracht, falls die folgende
Bedingung erfüllt ist:
deg(rj(X)) < t - 1 (9)
Wenn zu diesem Zeitpunkt die Gleichungen r1(X), r2(X) . . .
rj - 1(X) aufeinanderfolgend durch die nachstehenden
Gleichungen stubstituiert werden, kann rj(X) unter Verwen
dung von r-1(X) = X^2t, r0(X) = S(X), wie zuerst definiert,
angegeben werden:
rj(X) = S(X)A(X) = X2tB(X) (10)
rj(X) = S(X)A(X) = X2tB(X) (10)
Die so erhaltenen Ausdrücke rj(X) und A(X) werden zu
ω(X) bzw. zu σ(X).
Um diese Prozedur hardwaremäßig zu realisieren, ist anzu
geben, wie qj(X) und rj(X) durch aufeinanderfolgendes Aus
führen der Division erhalten wird, und außerdem ist anzu
geben, wie zur Realisierung einer Prozedur vorzugehen ist,
bei der die inverse Substitution ausgeführt wird, um σ(X)
aus r1(X), r2(X), . . . rj - 1(X) zu berechnen, womit die
Probleme gelöst werden.
Bei dem Prozeß des euklidischen wechselseitigen Divisions
verfahrens ist es bekannt, daß als Ergebnis der Division
eine Größenordnung des Restes um mehr als zwei Größenord
nungen pro Division vermindert wird. Die Hardware-Architek
tur, die die euklidische wechselseitige Division realisiert,
muß in einem solchen Fall ohne Ausfall arbeiten.
Tatsächlich kann eine Reihe derartiger Prozeduren unter
Heranziehung des folgenden systematischen Algorithmus reali
siert werden, falls der oben erwähnte Algorithmus so neu
bzw. umgeschrieben wird, daß die Rangfolge des gewöhnlichen
euklidischen wechselseitigen Divisionsalgorithmus durch
jede Rangordnung vermindert wird. Dieser Algorithmus stellt
eine Verbesserung des vorangehenden Algorithmus der Anmel
derin dar. Eine Zusammenfassung bezüglich dieses Algorithmus
wird nachstehend beschrieben werden. In diesem Falle wird
dieser Algorithmus als "verbesserter euklidischer wechsel
seitiger Divisionsalgorithmus (2)" im Zuge der weiteren
Beschreibung bezeichnet werden.
Die Ausgangsbedingungen für diesen verbesserten Algorithmus
sind wie folgt gegeben:
R0(X) = S(X), Q0(X) = X2t
λ0(X) = 1, µ0(X) = 0
dR0 = 2t - 1, dQ0 = 2t (11)
Diese Bedingungen werden wiederholt.
Beim i-ten Schritt gilt
li-1(X) = dRi-1 - dQi-1 Festlegen des Koeffizienten der Ordnung (dRi-1) von Ri-1(X) auf ai-1. Festlegen des Koeffizienten der Rangordnung (dQi-1) von
li-1(X) = dRi-1 - dQi-1 Festlegen des Koeffizienten der Ordnung (dRi-1) von Ri-1(X) auf ai-1. Festlegen des Koeffizienten der Rangordnung (dQi-1) von
Qi-1(X) auf bi-1 (12)
Im Falle von li - 1 < 0 (Normalbetrieb) kann die folgende
Gleichung angegeben werden:
Ri(X) = Ri-1(X) + (ai-1/bi-1)Qi-1(X)X1i-1
λi(X) = λi-1(X) + (ai-1/bi-1)µi-1(X)X1i-1
Qi(X) = Qi-1(X)
µi(X) = µi-1(X)
dRi = dRi-1 - l
dQi = dQi-1 (13)
Im Falle von li - 1 < 0 und ai - 1 ≠ 0 (gekreuzter Betrieb)
können die folgenden Gleichungen angegeben werden:
Ri(X) = Qi-1(X) + (ai-1/bi-1)Ri-1(X)X-1i-1
λi(X) = µi-1(X) + (ai-1/bi-1)λi-1(X)X-1i-1
Qi(X) = Ri-1(X)
µi(X) = λi-1(X)
dRi = dQi-1 - 1
dQi = dRi-1 (14)
Im Falle von li - 1 < 0 und ai-1 = (Verschiebebetrieb) können
die folgenden Gleichungen angegeben werden:
Ri(X) = Ri-1(X)
λi(X) = λi-1(X)
Qi(X) = Qi-1(X)
µi(X) = µi-1(X)
dRi = dRi-1 - l
dQi = dQi-1 (15)
Falls dieser Prozeß 2t-mal wiederholt wird, wird er zu
einem Ende gebracht.
i = 2t (16)
Dies führt zu:
σ(X) = λ2t(X)
ω(X) = R2t(X) (17)
Wenn der Rechenschritt 2t-mal ohne Ausfall als Stop-Be
dingung ausgeführt wird, zeigt die Größe dR2t, die
schließlich erhalten wird, ein Ausmaß von C(X) an.
Es erübrigt sich darauf hinzuweisen, daß die Rangordnung
von σ(X) gegeben ist mit dR2t + 1. In Übereinstimmung mit
diesem Algorithmus können die Größen σ(X) und ω(X) nach
der 2t-mal ausgeführten Berechnung erhalten werden.
Wie in der US-Patentanmeldung, Serial No. 07/623 235
angegeben, gibt der Ausdruck dR2t schließlich die Rang
ordnung von R2t(X) an, das heißt von ω(X). Falls die
Berechnung im Normalbetrieb und im gekreuzten Betrieb ausgeführt
wird, dann geben die Ausdrücke dRi und dQi während
des Berechnungsvorgangs die Ordnungen von Ri(X) und Qi(X)
an. Es sei jedoch darauf hingewiesen, daß im Verschiebebe
trieb, bei dem der Koeffizient höchster Ordnung von Ri(X)
zu 0 wird, die Ausdrücke dRi und dQi nicht die Ordnungen
der Ausdrücke Ri(X) und Qi(X) angeben. Der Grund hierfür
liegt darin, daß sogar dann, wenn die Rangordnung des Restes
einer Division um mehr als zwei Ordnungen im euklidischen
wechselseitigen Divisionsprozeß herabgesetzt ist, der Aus
druck dRi um eins entsprechend dem Algorithmus vermindert
ist, der in der US-Patentanmeldung, Serial No. 07/623 325
beschrieben ist. Bezüglich weiterer Einzelheiten sei auf
diese US-Patentanmeldung hingewiesen.
Nachstehend wird ein Verfahren zur hardwaremäßigen Reali
sierung des konventionellen euklidischen wechselseitigen
Divisionsalgorithmus beschrieben.
Der oben angegebene Stand der Technik, der auf einen Artikel
von Howard M. Shao und andere unter der Bezeichnung "A
VLSI Design of a Pipeline Reed-Solomon Decoder" in der
Zeitschrift IEEE Trans. on Computers, Vol. C-34, Mai 1985,
zurückgeht, beschreibt ein Beispiel, bei dem der euklidische
wechselseitige Divisionsalgorithmus hardwaremäßig unter
Verwendung einer systolischen Reihenarchitektur realisiert
ist (ein Verfahren dieses Beispiels ist als Verfahren A
beschrieben).
Diese Hardware entspricht jedoch nicht dem Fall, daß die
Ordnung des Restes während der entsprechend dem euklidischen
wechselseitigen Divisionsverfahren ausgeführten Division
um mehr als zwei Grade auf einmal herabgesetzt werden kann,
und kann nicht den euklidischen wechselseitigen Divisions
algorithmus vollständig realisieren.
Darüber hinaus benötigt das obige Verfahren A zwei Multipli
zierer für ein endliches Feld in jeder Einheit, so daß
ein Schaltungsumfang vergrößert ist, wenn ein System auf
gebaut wird, welches eine Echtzeitverarbeitung mit hoher
Geschwindigkeit erfordert.
Wie zuvor erwähnt, ist von der Anmelderin daher das Ver
fahren B als verbessertes Verfahren vorgeschlagen worden.
Gemäß dem Verfahren B werden zwei Multiplizierer für ein
endliches Feld in der wechselseitigen Divisionseinheit,
wie sie beim Verfahren A gezeigt ist, durch einen Multipli
zierer für ein endliches Feld und eine Dividiereinrichtung
für ein endliches Feld ersetzt. Ferner wird eine Dividier
einrichtung für ein endliches Feld gemeinsam für die Divi
diereinrichtungen bezüglich eines endlichen Feldes in einer
Vielzahl von kaskadierten wechselseitigen Divisionseinheiten
verwendet, wodurch der Schaltungsumfang reduziert ist.
Das Verfahren B verwendet eine Grund-Recheneinheit (im
Zuge der folgenden Beschreibung als "wechselseitige Divi
sionseinheit" bezeichnet) 101, die in Fig. 7 gezeigt ist.
Die betreffende wechselseitige Divisionseinheit 101 führt
den Schritt 1 des oben erwähnten verbesserten euklidischen
wechselseitigen Divisionsverfahrens (2) aus. Wie in Fig. 7
dargestellt, werden vier Polynome Ri - 1(X), Qi - 1(X), λi - 1(X)
und µi - 1(X), die Eingangsgrößen des euklidischen wechsel
seitigen Divisionsverfahrens sind, in Schritten nacheinan
der in der Reihenfolge der Koeffizientendaten der Rang
ordnung dQi- 1 eingegeben. In Fig. 7 bezeichnet die Bezugs
angabe SF ein Start-Flag-Signal, welches die ersten Koeffi
zientendaten anzeigt. Zur gleichen Zeit werden die Größen
dRi - 1 und dQi - 1 der wechselseitigen Divisionseinheit 101
eingangsseitig zugeführt.
Die gestrichelten Linien in der wechselseitig arbeitenden
Divisionseinheit 101 bezeichnen Datenweg-Umschaltwähler,
welche Daten so auswählen, daß diese bei der Berechnung
im gekreuzten Betrieb gekreuzt zugeführt werden. In anderen
Fällen werden Daten nicht gekreuzt sondern ausgewählt.
Dies bedeutet, daß dann, wenn die Koeffizientendaten der
Ordnung dRi - 1 eingegeben werden (was bedeutet, daß das
Start-Flag-Signal SF eingegeben wird), bestimmt wird, ob
die Koeffizientendaten ai - 1 der Ordnung dRi - 1 in dem Aus
druck Ri - 1(X) Null sind. Ein Überkreuzen der Daten erfolgt
lediglich in dem Fall, daß li - 1 ≠ 0 ist und daß die
Bedingung dRi - 1 < dQi - 1 erfüllt ist.
Wenn Daten überkreuzt zugeführt werden, wird ai - 1/bi - 1
in einem Register 102 festgehalten, während in anderen
Fällen bi - 1/ai - 1 im Register 102 festgehalten wird. Somit
werden sämtliche Koeffizientendaten der Polynome berechnet.
Infolgedessen wird jedesmal dann, wenn Eingabedaten durch
diese wechselseitige Divisionseinheit 101 einmal hindurch
geleitet werden, ein Schritt des verbesserten euklidischen
wechselseitigen Divisionsverfahrens (2) berechnet.
Demgemäß leitet in dem Fall, daß 2t wechselseitige Divi
sionseinheiten 101 in Kaskade geschaltet sind, wie dies
Fig. 8 veranschaulicht sind, und die folgenden Daten
R0(X) = S(X), Q0(X) = X2t
λ0(X) = 1, µ0(X) = 0
dR0 = 2t - 1, dQ0 = 2t (18)
eingegeben werden, die zweite wechselseitige Divisions
einheit 101 ausgangsseitig die Größen σ(X) und ω(X) ab.
Unter Bezugnahme auf Fig. 9 bis 12 wird ein Beispiel der
Arbeitsweise des Systems gemäß der US-Patentanmeldung,
Serial No. 07/623 235 beschrieben werden. Bei diesem Bei
spiel werden Daten im gekreuzten Betrieb gemäß Fig. 9 und 11
berechnet, während Daten im Normalbetrieb gemäß Fig. 10
und 12 berechnet werden. Es dürfte ersichtlich sein, daß
dann, wenn Eingabedaten über die wechselseitige Divisionseinheit
101 viermal geleitet werden, wie dies in Fig. 12
veranschaulicht ist, die betreffende wechselseitige Divi
sionseinheit 101 in der Endstufe die Größen σ(X) und ω(X)
ableitet.
Wie aus dem oben erwähnten Algorithmus ersichtlich ist,
werden offensichtlich zwei Polynome σ(X) und ω(X) zur
höheren Ordnung hin verschoben und dann ausgegeben, nach
dem die Berechnung der 2t-Schritte ausgeführt worden ist,
falls es sich dabei um Polynome der 2t-Ordnung handelt,
wenn die in der tatsächlichen Praxis auftretende Fehleran
zahl kleiner ist als t. Demgemäß können Rangordnungen unter
Bezugnahme auf den Wert von dR2t angepaßt werden, oder
die Stop-Bedingung kann als dRi < t bei dem verbesserten
euklidischen wechselseitigen Verfahren (2) variiert werden.
In Fig. 9 bis 12 sind Diagramme gezeigt, die zur Erläuterung
lediglich der Theorie des euklidischen wechselseitigen
Divisionsverfahrens herangezogen werden, bei dem Verzöge
rungszeiten von Elementen oder dergleichen nicht berück
sichtigt sind. Bezüglich weiterer Einzelheiten der Reali
sierung der Verhältnisse gemäß Fig. 9 bis 12 wird auf das
von der Anmelderin bereits vorgeschlagene verbesserte
euklidische wechselseitige Divisionsverfahren Bezug ge
nommen.
Entsprechend dem Verfahren B werden mit Rücksicht darauf,
daß die Dividiereinrichtungen bzw. Teiler 103 für ein end
liches Feld in den entsprechenden wechselseitigen Divisions
einheiten 101 nicht gleichzeitig zu arbeiten brauchen,
die wechselseitigen Divisionseinheiten 101a, in denen die
Dividiereinrichtungen 103 für ein endliches Feld aus den
obigen wechselseitigen Divisionseinheiten 101 entfernt
sind, in Kaskade geschaltet. Sodann werden Ri - 1(X) und
Qi - 1(X) von jeder wechselseitigen Divisionseinheit 101a
erzeugt und dann sequentiell mit Hilfe eines Auswahlschal
ters 105 ausgewählt, durch einen Teiler 106 für ein endliches
Feld dividiert und dann zu der entsprechenden
wechselseitigen Divisionseinheit 101a zurückgeführt. Damit
teilen sich die wechselseitigen Divisionseinheiten 101a
den gemeinsamen Teiler 106 bezüglich eines endlichen Feldes
in einer Zeitmultiplexweise, wodurch die Verminderung des
Gesamtschaltungsumfangs realisiert ist.
Demgegenüber wird eine Steuerschaltung kompliziert, die
mit Rücksicht darauf erforderlich ist, daß eine Vielzahl
von wechselseitigen Divisionseinheiten 101a sich einen
gemeinsamen Teiler 106 bezüglich eines endlichen Feldes
teilt, und deren Arbeitsgeschwindigkeit kann nicht
gesteigert werden.
Da jede wechselseitig arbeitende Divisionseinheit 101a
die Schaltung benötigt, welche den Betrieb dadurch be
stimmt, daß ermittelt wird, ob die Ordnungen des Polynoms
und der Koeffizientendaten der Ordnung Ri - 1(X) und dRi - 1
Null sind, sowie die Steuerschaltung, wie den Daten-Um
schaltwähler oder dergleichen, ist, obwohl der Teiler 106
für ein endliches Feld gemeinsam genutzt wird, der Schal
tungsumfang etwas erhöht.
Falls dieses Verfahren B angewandt wird, müssen darüber
hinaus sodann die Syndrome S2t, S2t - 1, . . . S1, bei denen
es sich um die Koeffizienten-Daten des Syndrom-Polynoms S(X)
handelt, in der Reihenfolge der Koeffizienten-Daten höherer
Ordnung eingegeben werden. Da die Syndrome S2t, S2t - 1, . . S1
gleichzeitig berechnet werden, wird es jedoch notwendig,
eine Schaltungsanordnung bereitzustellen, welche die so
gleichzeitig berechneten Syndrome derart umsetzt, daß sie
in der Reihenfolge der Koeffizienten-Daten hoher Ordnung
eingegeben werden.
Der Erfindung liegt demgemäß die Aufgabe zugrunde, eine
verbesserte euklidische wechselseitig arbeitende Divisions
schaltung bereitzustellen, bei der die zuvor erwähnten,
mit dem Stand der Technik verknüpften Mängel und Nachteile
eliminiert werden können.
Darüber hinaus soll eine euklidische wechselseitig arbeitende
Divisionsschaltung bereitgestellt werden, deren Schaltungsumfang
nennenswert vermindert werden kann.
Überdies soll eine euklidische wechselseitig arbeitende
Divisionsschaltung bereitgestellt werden, die mit hoher
Geschwindigkeit arbeiten kann.
Schließlich soll eine euklidische wechselseitig arbeitende
Divisionsschaltung bereitgestellt werden, die einen Durchsatz
beträchtlich verbessern bzw. steigern kann.
Gemäß einem Aspekt der vorliegenden Erfindung ist eine
wechselseitig arbeitende Divisionsschaltung nach dem
euklidischen Divisionalgorithmus geschaffen, die erste
Recheneinheiten umfaßt, welche eine Vielzahl von in Kaskade
geschalteten Registern umfassen, deren Anzahl der Anzahl von
Korrekturen entspricht und die Koeffizienten-Daten
entsprechender Polynome Ri(X), Qi(X), λi(X) und µi(X) nach dem
Divisionalalgorithmus speichern, wobei die ersten
Recheneinheiten dividierte Ergebnisse und ein Wert-
Ausgangssignal von der vorhergehenden Stufe speichern, um eine
Normalverbindungs-Berechnung bzw. eine Kreuzverbindungs-
Berechnung in Abhängigkeit von einem Schaltbefehl auszuführen.
Ferner sind zweite Recheneinheiten vorgesehen, die eine Vielzahl
von Registern umfassen für die Speicherung der Koeffizienten-
Daten der Polynome Ri(X), Qi(X), λi(X) und µi(X). Außerdem sind
Teiler vorgesehen zum Teilen der Ausgangssignale der Register,
die die Koeffizienten-Daten der Polynome Ri(X), Qi(X), λi(X) bzw.
µi(X) speichern. Die zweiten Recheneinheiten speichern ein Wert-
Ausgangssignal von der letzten Stufe der ersten Recheneinheiten
und führen eine Divisionsberechnung aus der Normalverbindungs-
Divisionsberechnung und einer Kreuzverbindungs-
Divisionsberechnung auf einen Umschaltbefehl hin aus, um dadurch
das berechnete Ergebnis
an die ersten Berechnungseinheiten abzugeben. Ferner ist
eine bzw. sind Umschalt-Entscheidungseinheiten für die
Erzeugung des Umschaltbefehls vorgesehen, um eine Normal
verbindung bzw. die gekreuzte Verbindung auf der Grundlage
eines bestimmten Ausgangswertes und eines Wertes festzule
gen, der in den zweiten Recheneinheiten gespeichert ist,
und um den betreffenden Wert an die ersten und zweiten
Recheneinheiten abzugeben.
Anhand von Zeichnungen wird die Erfindung nachstehend mit
den ihr anhaftenden Merkmalen und Vorteilen beispielsweise
näher erläutert. In den Zeichnungen sind einander ent
sprechende oder ähnliche Einzelteile durch gleiche Bezugs
zeichen bezeichnet.
Fig. 1 veranschaulicht in einem Blockdiagramm ein Beispiel
einer euklidischen wechselseitig arbeitenden Divi
sionsschaltung gemäß der vorliegenden Erfindung.
Fig. 2
bis 6 veranschaulichten Diagramme, deren jedes ein Bei
spiel zeigt, in welchem die in Fig. 1 gezeigte
euklidische wechselseitige Divisionsschaltung be
trieben wird.
Fig. 7 veranschaulicht in einem Blockdiagramm ein Beispiel
einer wechselseitigen Divisionseinheit, die in
einer konventionellen euklidischen wechselseitig
arbeitenden Divisionsschaltung verwendet ist.
Fig. 8 veranschaulicht in einem Blockdiagramm ein Beispiel
einer konventionellen euklidischen wechselseitigen
Divisionsschaltung.
Fig. 9
bis 12 zeigen in Diagrammen ein Beispiel, gemäß dem die
in Fig. 8 gezeigte konventionelle euklidische
wechselseitige Divisionsschaltung betrieben ist.
Fig. 13 zeigt in einem Blockdiagramm ein weiteres Beispiel
der konventionellen euklidischen wechselseitig
arbeitenden Divisionsschaltung.
Nunmehr wird die bevorzugte Ausführungsform detailliert
unter Bezugnahme auf die Zeichnungen erläutert.
Entsprechend einem Verfahren gemäß einer Ausführungsform
der vorliegenden Erfindung wird ein euklidisches wechsel
seitig arbeitendes Divisionsverfahren vorgeschlagen, welches
vollständig verschieden ist in der Anordnung von jenem,
welches bisher vorgeschlagen worden ist, und welches den
euklidischen wechselseitigen Divisionsalgorithmus durch
eine vereinfachtere Schaltungskonfiguration realisieren
kann.
Da entsprechend dem Verfahren gemäß der Erfindung zu tei
lende Daten konstant von derselben Stelle erzeugt werden,
sind die Schaltungsanordnung zur gemeinsamen Nutzung des
Teilers für ein endliches Feld und die Steuerschaltung
dafür nicht notwendig, und zwar ungleich der bekannten
Anordnung. Da die Schaltungsanordnung zur Bestimmung der
Arbeitsweise auf der Grundlage der Ordnung des Polynoms
und die Steuerschaltung dafür durch eine einzige Schaltung
realisiert sind, kann überdies der Schaltungsumfang ver
mindert werden.
Das Verfahren C gemäß dieser Ausführungsform wird unter
Bezugnahme auf Fig. 1 nunmehr beschrieben.
Wie in Fig. 1 gezeigt, umfaßt diese Anordnung einen Block
(A) 1, eine Vielzahl von Blöcken (B) 2 sowie einen Ver
bindungs-Umschaltentscheidungsblock 3. Der Block (A) 1
kann aus lediglich einer Einheit gebildet sein, und zwar
unabhängig von der Zeitkorrekturzahl t, während der andere
Block (B) 2 aus 2t - 1 Blöcken im Falle des Fehlerkorrektur
systems gebildet sein muß, welches Fehler von t Symbolen
korrigiert.
In diesen Blöcken (A) 1 und (B) 2 vorgesehene entsprechende
Registergruppen sind in der Längsrichtung unterteilt und
dienen als Registergruppen, die sequentiell Koeffizienten-
Daten der Größen Ri(X), Qi(X), λi(X) und µi(X) von links
festhalten, Höhere Koeffizienten-Daten werden in diesen
Register-Gruppen entsprechend den Ordnungen festgehalten,
die durch dRi und dQi bezeichnet sind.
Als Ausgangswerte werden die Koeffizienten-Daten von
R0(X) = S(X) sequentiell in den Registern RR2t - 1 . . . RR0
ersetzt. In entsprechender Weise werden höhere Koeffizien
ten-Daten von Q0(X) = X2t nacheinander in den Registern
RQ2t - 1 . . . RQ0 ersetzt. Damit ist das höchstwertige Bit
eine 1, und die übrigen Bits sind alle 0, was bedeutet,
daß die Register Rλ2t . . . Rλ0 bei 0 gehalten werden und
daß die niedrigste Ordnung Rµ0 bei 1 gehalten wird; die
übrigen Register Rµ2t - 1 . . . Rµ0 werden alle bei 0 gehalten.
Eine 0 wird konstant dem Eingangsanschluß vom niederwerti
gen Block des letzten Blocks des Blockes (B) 2 eingegeben.
Im Register RR2t - 1 gespeicherte Koeffizienten-Daten der
Koeffizienten-Daten der Ordnung Ri von Ri(X) des Blocks
(A) 1 wird mittels einer 0-Erfassungsschaltung bzw. 0-De
tektorschaltung 5, die in dem Verbindungs-Umschaltblock 3
vorgesehen ist, hinsichtlich des Vorliegens einer 0 er
mittelt.
Die Größen dRi und dQi sind in den Registern DR, DQ des
Verbindungs-Umschaltblocks 3 gespeichert. Die Ausgangswerte
sind 2t - 1 bzw. 2t.
Die Ausgangssignale der Register DR, DQ werden irgendeinem
der Register DR, DQ über einen Umschaltwähler eingangsseitig
zugeführt. Zu dem betreffenden Zeitpunkt wird -1 dem Ein
gangswert hinzuaddiert, der dem Register DR eingangsseitig
zugeführt ist. Der Umschaltwähler steuert die Normalver
bindung und die gekreuzte Verbindung in Abhängigkeit von
dem Umschaltbefehl einer Entscheidungsschaltung 8, und
zwar ähnlich den Umschaltwählern der Blöcke (A) 1 und (B) 2,
was weiter unten noch beschrieben wird.
Eine Spezialschaltung, welche die Ausgangswerte festlegt,
ist zusätzlich zu der Schaltungsanordnung gemäß Fig. 1
erforderlich. Diese Spezialschaltung ist für die vorlie
gende Erfindung nicht wesentlich und kann aus einer ein
fachen Schaltung gebildet sein. Deshalb braucht diese Spe
zialschaltung hier nicht beschrieben zu werden.
Nunmehr wird unter Bezugnahme auf Fig. 1 die Arbeitsweise
dieser Ausführungsform beschrieben.
Wie in Fig. 1 veranschaulicht, werden die Werte der Re
gister DR, DQ, bei denen die Anfangs- bzw. Ausgangswerte
festgelegt worden sind, mittels einer Komparatorschaltung 6
verglichen. Falls die Beziehung DR < DQ erfüllt ist und
der Status des Registers RR2t - 1 (RR2t - 1 ≠ 0) der Entschei
dungsschaltung 8 von der 0-Detektorschaltung 5 her zuge
führt ist, ist der Umschaltwähler sodann, wie durch eine
gestrichelte Linie veranschaulicht, in die gekreuzte
Stellung geschaltet. In anderen Fällen ist der Umschalt
wähler nicht in der Kreuzbeziehung geschaltet. Auf das
Umschalten hin können sämtliche Umschaltwähler gleichzeitig
geschaltet werden.
Im Block (A) 1 werden nach Umschalten des Umschaltwählers
die Koeffizientendaten der Ordnung dRi - 1 von Ri - 1(X) und
die Koeffizientendaten der Ordnung Qi - 1 von Qi - 1(X) über
den Umschaltwähler einem Teiler 7 für ein endliches Feld
zugeführt. Der Teiler 7 für ein endliches Feld teilt die
Eingangsgrößen E und F gemäß Fig. 1 und gibt ein Ergebnis S
ab.
Unter Heranziehung des Ergebnisses S des Teilers 7 für
ein endliches Feld wird die Berechnung mit Hilfe der Multi
plizierer 9, 10 und der Addierer 11, 12 des Blocks (A) 1
und der entsprechenden Blöcke (B) 2 ausgeführt. Entsprechend
dieser Prozedur werden im Polynom Ri(X) die Koeffizienten-
Daten von den Koeffizienten-Daten der Ordnung dRi bis zu
den Koeffizienten-Daten der 0-ten Ordnung in den Registern
RR2t - 1 bis RR0 der Ordnung der höheren Koeffizienten-Daten
gespeichert. In entsprechender Weise werden in den Polynomen
Qi(X) die Koeffizienten-Daten von den Koeffizienten-Daten
der Ordnung dQ2i bis zu den Koeffizienten-Daten der 0-ten
Ordnung sequentiell in den Registern RQ2t bis RQ0 ge
speichert. Außerdem werden in den entsprechenden Polynomen
λi(X) und µi(X) in entsprechender Weise die betreffenden
Koeffizienten-Daten sequentiell in den Registern Rλ2t - 1
bis Rλ0 und von den Registern Rµ2t - 1 bis Rµ0 in der Reihen
folge bzw. Ordnung der höheren Koeffizienten-Daten ge
speichert.
Durch die obige Prozedur wird die Berechnung des ersten
Schritts bei dem verbesserten euklidischen wechselseitigen
Divisionsverfahren (2) bewirkt. Falls diese Prozedur 2t mal
wiederholt wird, können demgemäß σ(X) und ω(X) ähnlich
wie beim Verfahren B erhalten werden.
Unter Bezugnahme auf Fig. 2 bis 6 werden Beispiele der
Arbeitsweise der wechselseitig arbeitenden Divisionsschal
tung gemäß der Erfindung beschrieben.
Die Register DR, DQ, RR2t - 1 bis RR0, RQ2t bis RQ0, Rλ2t - 1
bis Rλ0 und Rµ2t - 1 bis RRµ0 sind bereits initialisiert.
Da gemäß Fig. 2 die Bedingung erfüllt ist, wonach die Koef
fizienten-Daten der Ordnung dR0 von dR0 gleich 3, von
dQ0 gleich 4 und R0(X) gekreuzt α^8 sind, sind sämtliche
Umschaltwähler in den gekreuzten Betrieb geschaltet. Der
Teiler 7 für ein endliches Feld bewirkt eine Division von
1/α^8, und ein Divisionsergebnis, α^7 wird den Multipli
zierern 9 und 10 des Blockes (A) 1 bzw. der Blöcke (B) 2
eingangsseitig zugeführt.
Die berechneten Ergebnisse der entsprechenden Rechenein
heiten werden in den Registern beim nächsten Schritt ge
speichert und, wie in Fig. 3 veranschaulicht, erhalten.
Diese Ergebnisse stimmen mit den Ergebnisse überein, die
nach dem Verfahren B erhalten werden, wie dies in Fig. 2
veranschaulicht ist.
Gemäß Fig. 3 ist mit Rücksicht darauf, daß dR1 = 3 und
dQ1 = 3 gilt, der Kreuzverbindungszustand nicht erfüllt,
so daß sämtliche Umschaltwähler im Normalverbindungsbetrieb
geschaltet sind. Demgemäß wird eine Berechnung von α^2/α^8
durch den Teiler 7 des endlichen Feldes ausgeführt, und
ein Teilungsergebnis, das heißt α^9 wird den Multipli
zierern 9 und 10 des Blockes (A) 1 und den betreffenden
Blöcken (B) 2 eingangsseitig zugeführt. Sodann werden die
durch die betreffenden Recheneinheiten abgegebenen Rechen
ergebnisse in den Registern beim nächsten Schritt ge
speichert und erhalten, wie dies in Fig. 4 veranschaulicht
ist.
Gemäß Fig. 4 werden mit Rücksicht darauf, daß dR2 = 2 und
dQ2 = 3 gilt, die Koeffizienten-Daten zweiter Ordnung von
R2(X) zu α^6, so daß der Kreuzverbindungszustand erfüllt
ist. Damit sind sämtliche Umschaltwähler im gekreuzten
Verbindungszustand geschaltet, und es wird eine Berechnung
von α^8/α^6 durch den Teiler 7 für ein endliches Feld
ausgeführt. Sodann wird ein Teilungsergebnis, das heißt
α^2 den Multiplizierern 9, 10 des Blockes (A) 1 und den
betreffenden Blöcken (B) 2 eingangsseitig zugeführt. Die
Rechenergebnisse, die durch die betreffenden Recheneinhei
ten geliefert werden, werden beim nächsten Schritt in den
Registern gespeichert und erhalten, wie dies in Fig. 5
veranschaulicht ist.
Gemäß Fig. 5 ist mit Rücksicht darauf, daß dR3 = 2 und
dQ3 = 2 gilt, der Zustand der gekreuzten Verbindung nicht
erfüllt, so daß sämtliche Umschaltwähler im Normalverbindungsbetrieb
geschaltet sind. Damit wird die Berechnung
von α^14/α^6 durch den Teiler 7 eines endlichen Feldes
ausgeführt, und α^8 eines Teilungsergebnisses wird den
Multiplizierern 9, 10 des Blockes (A) 1 und den betreffen
den Blöcken (B) 2 eingangsseitig zugeführt. Die Rechener
gebnisse der betreffenden Recheneinheiten werden beim
nächsten Schritt in den Registern gespeichert und erhal
ten, wie dies in Fig. 6 veranschaulicht ist.
Gemäß Fig. 6 wird mit Rücksicht darauf, daß dR4 = 1 und
dQ4 = 2 gilt, die Größe dRi kleiner als t = 2. Deshalb
ist die Berechnung beendet, und ω(X) und σ(X) sind be
rechnet.
Wie in Fig. 2 und in den folgenden Zeichnungen veranschau
licht, wird die Berechnung im gekreuzten Betrieb bei den
ersten und dritten Schritten und im Normalbetrieb bei den
zweiten und vierten Schritten ausgeführt, so daß σ(X)
und ω(X) schließlich gemäß Fig. 6 erhalten werden.
Wie oben beschrieben, ist diese Ausführungsform von dem
früher erwähnten Verfahren B verschieden hinsichtlich der
wesentlichen Idee. Entsprechend dem Verfahren B werden
die Koeffizienten-Daten der betreffenden Polynome insbe
sondere seriell den wechselseitigen Divisionseinheiten 101
in der höheren Ordnung eingangsseitig zugeführt und durch
diese Einheiten berechnet. Entsprechend dem Verfahren gemäß
der vorliegenden Erfindung werden sämtliche Koeffizienten-
Daten in den Registern DR, DQ, RR2t - 1 bis RR0, RQ2t bis
RQ0, Rλ2t - 1 bis Rλ0 und Rµ2t - 1 bis RRµ0 gespeichert. In
folgedessen werden bei der Berechnung eines Schrittes der
verbesserten euklidischen wechselseitigen Divisionseinheit
(2) entsprechend dem Verfahren B sämtliche Koeffizienten-
Daten der Polynome seriell durch eine wechselseitige Divi
sionseinheit 101 berechnet. Demgegenüber werden entsprechend
dem Verfahren gemäß der Erfindung die Koeffizienten-Daten
jeweils durch sämtliche Recheneinheiten (Block (A) 1 und
entsprechende Blöcke (B) 2) berechnet. Obwohl der Rechen
umfang selbst nicht verändert ist, kann somit die Aufbau
methode erheblich vereinfacht werden.
Entsprechend dem Verfahren gemäß der vorliegenden Erfindung,
wie es weiter oben unter Bezugnahme auf Fig. 1 beschrieben
worden ist, werden ferner die Koeffizienten-Daten der Ord
nung dRi von Ri(X) und die Koeffizienten-Daten der Ordnung
dQi von Qi(X), die dem Teiler 7 für ein endliches Feld
eingangsseitig zugeführt sind, in den Registern RR2t - 1
und RQ2t - 1 des Blockes (A) 1 gespeichert. Deshalb werden
die Koeffizienten-Daten dem Teiler 7 für ein endliches
Feld eingangsseitig konstant zugeführt, und zwar unmittel
bar nach Umschalten der Wähler für Ri(X) und Qi(X) des
Blocks (A) 1. Wie oben ausgeführt, wird entsprechend dem
Verfahren gemäß der vorliegenden Erfindung mit Rücksicht
darauf, daß Daten konstant dem Teiler 7 für ein endliches
Feld von derselben Stelle eingangsseitig zugeführt werden,
die zusätzliche Schaltung, die verwendet wird zur gemein
samen Nutzung des Teilers 7 für ein endliches Feld unnötig,
wodurch es möglich wird, den Umfang der Gesamtanordnung
zu vermindern.
Während jede wechselseitige Divisionseinheit 101 selbstän
dig die Schaltung enthalten muß, welche die Größe von dRi
und dQi bestimmt und die außerdem 0 der Koeffizienten-Daten
der Ordnung dRi von Ri(X) entsprechend dem Verfahren B
ermittelt, wird entsprechend dem erfindungsgemäßen Verfahren
die obige Verarbeitung lediglich durch den Verbindungsum
schalt-Entscheidungsblock 3 ausgeführt, wodurch es ermög
licht ist, den Schaltungsumfang zu reduzieren.
Während jede wechselseitige Divisionseinheit 101 zwei Multi
plizierer erfordert, beispielsweise 4t Multiplizierer ins
gesamt, falls die Anzahl der korrigierbaren Symbole mit t
entsprechend dem Verfahren B gegeben ist, kann das Verfahren
gemäß der vorliegenden Erfindung die Anzahl der Multiplizierer
auf 4t - 1 vermindern.
Während auf die Initialisierung hin das Eingangssignal
R0(X), das sind die Koeffizienten-Daten S1, S2, . . . S2t
der Syndrom-Polynome in der sequentiellen Reihenfolge der
höheren Koeffizienten-Daten entsprechend dem Verfahren
eingegeben werden müssen, können entsprechend dem Verfahren
gemäß der vorliegenden Erfindung die Koeffizienten-Daten
der 2t-Syndrom-Polynome gleichzeitig eingegeben werden,
wodurch die Initialisierung bewirkt wird.
Da die Syndrome als Ergebnis der Matrix-Rechnung erhalten
werden, ist es wesentlich, daß die Syndrome gleichzeitig
erhalten werden können. Während die Syndrome, die gleich
zeitig erhalten werden, in serielle Daten umgesetzt und
dann entsprechend dem Verfahren B eingegeben werden, können
somit entsprechend dem Verfahren gemäß der Erfindung die
Koeffizienten-Daten der so gleichzeitig erhaltenen Syndrome
direkt, so wie sie sind, eingegeben werden, wodurch die
Schaltungsanordnung beseitigt ist, welche die Syndrome
in serielle Daten umsetzt. Falls zur gleichen Zeit die
Syndrome in serielle Daten umgesetzt werden, ist es sodann
möglich, eine Zunahme der Zeit (Durchsatz) bezüglich des
Ergebnisses zu vermeiden.
Entsprechend dem Verfahren gemäß der vorliegenden Erfindung
sind ferner verschiedene Verfahrensweisen bekannt, um die
betreffenden Register DR, DQ, RR2t - 1 bis RR0, RQ2t - 1 bis
RQ0, Rλ2t - 1 bis Rλ0 und Rµ2t - 1 bis RRµ0 zu initialisieren.
Falls Wähler mit den Eingängen der entsprechenden Register
DR, DQ, RR2t - 1 bis RR0, RQ2t - 1 bis RQ0, Rλ2t - 1 bis Rλ0
und Rµ2t - 1 bis RRµ0 verbunden sind, können sodann sämtliche
Register gleichzeitig initialisiert werden. Wenn demgegen
über die Ausgangswerte der entsprechenden Polynome seriell
den Registern niedrigster Ordnung der Polynome eingangs
seitig zugeführt werden, können sodann die obigen Register
sequentiell initialisiert werden.
Wie oben ausgeführt, kann entsprechend der vorliegenden
Erfindung der Umfang der Schaltung erheblich vermindert
werden. Außerdem wird der schnelle Betrieb möglich, um
den Durchsatz erheblich zu steigern.
Die vorliegende Erfindung ist somit auf eine wechselseitig
arbeitende Divisionsschaltung gerichtet, deren Schaltungs
umfang erheblich herabgesetzt werden kann und die außerdem
mit hoher Geschwindigkeit betrieben werden kann, wodurch
der Durchsatz erheblich gesteigert wird. Ein Umschaltbefehl,
der entweder eine Normalverbindung oder eine gekreuzte
Verbindung auswählt, wird auf der Grundlage eines Ausgangs
wertes erzeugt, der zuvor durch einen Verbindungs-Umschalt-
Entscheidungsblock (3) und einen Wert festgelegt wird,
der in einem Register eines Blocks ((A) 1) gespeichert
ist. Parallel zu dieser Arbeitsweise werden Teilungs-Ergeb
nisse und ein von der vorhergehenden Stufe abgegebener
Wert in entsprechenden Blöcken ((B) 2) gespeichert, und
es werden eine Normalverbindungs-Berechnung und eine
Kreuzverbindungs-Berechnung in Abhängigkeit von dem Um
schaltbefehl ausgeführt. Ferner wird ein von der letzten
Stufe der Blöcke ((B) 2) abgegebener Wert im Block ((A) 1)
gespeichert, und in Abhängigkeit vom Schaltbefehl wird
eine Berechnung der Normalverbindungs-Berechnung und der
Kreuzverbindungs-Berechnung ausgeführt. Sodann wird das
Rechenergebnis den betreffenden Blöcken ((B) 2) zugeführt,
um eine euklidische wechselseitige Divisionsberechnung
zu bewirken.
Claims (5)
1. Wechselseitig arbeitende Divisionsschaltung nach dem
euklidischen Divisionsalgorithmus,
dadurch gekennzeichnet,
und daß eine Umschalt-Entscheidungseinrichtung (3) vorgesehen ist für die Erzeugung des betreffenden Umschaltbefehls zur Festlegung der Normalverbindung bzw. der Kreuzverbindung auf der Grundlage eines vorbestimmten Ausgangswertes eines in der zweiten Recheneinrichtung (1, 2) gespeicherten Wertes, wobei die betreffende Entscheidungseinrichtung (3) den Umschaltbefehl an die ersten und zweiten Recheneinrichtungen (1, 2) abgibt.
- a) daß eine erste Recheneinrichtung (1, 2) mit einer Vielzahl von in Kaskade geschalteten Registern vorgesehen ist, deren Anzahl der Anzahl von Korrekturen entspricht und in denen Koeffizienten-Daten von entsprechenden Polynomen Ri(X), Qi(X), λi(X) und µi(X) nach dem Divisionsalgorithmus gespeichert werden, wobei die betreffende erste Recheneinrichtung (1, 2) Teilungsergebnisse und einen Wert speichert, der von der vorangehenden Stufe ausgegeben worden ist, und eine Normalverbindungs-Berechnung bzw. eine Kreuzverbindungs- Berechnung in Abhängigkeit von einem Schaltbefehl ausführt,
- b) daß eine zweite Recheneinrichtung (1, 2) mit einer Vielzahl von Registern vorgesehen ist für die Speicherung der Koeffizienten-Daten der betreffenden Polynome Ri(X), Qi(X), λi(X) und µi(X) und Teiler (7) für die Teilung von Ausgangssignalen der betreffenden Register, in denen die Koeffizienten-Daten der Polynome Ri(X), Qi(X), λi(X) und µi(X) gespeichert sind,
und daß eine Umschalt-Entscheidungseinrichtung (3) vorgesehen ist für die Erzeugung des betreffenden Umschaltbefehls zur Festlegung der Normalverbindung bzw. der Kreuzverbindung auf der Grundlage eines vorbestimmten Ausgangswertes eines in der zweiten Recheneinrichtung (1, 2) gespeicherten Wertes, wobei die betreffende Entscheidungseinrichtung (3) den Umschaltbefehl an die ersten und zweiten Recheneinrichtungen (1, 2) abgibt.
2. Divisionsschaltung nach Anspruch 1, dadurch
gekennzeichnet, daß die 2t - 1 ersten
Recheneinrichtungen (1, 2) in dem Fall in Kaskade geschaltet
sind, wenn die Korrekturzahl t beträgt.
3. Divisionsschaltung nach Anspruch 1, dadurch
gekennzeichnet, daß die erste Recheneinrichtung
(1, 2) Multiplizierer (9, 10) zum Multiplizieren von
Ausgangssignalen der genannten Register umfaßt, in denen
Koeffizienten-Daten des Polynoms Ri(X) (oder Qi(X)) und
Teilungsergebnisse der genannten Teiler (7) gespeichert sind,
daß Addierer (11, 12) zum Addieren der Ausgangssignale der betreffenden Register vorgesehen sind, in denen Koeffizienten- Daten des genannten Polynoms Qi(X) (oder Ri(X)) und die Ausgangssignale der betreffenden Multiplizierer (11, 12) gespeichert sind,
daß Multiplizierer (9, 10) vorgesehen sind zum Multiplizieren der Ausgangssignale der betreffenden Register, in denen die Koeffizienten-Daten des Polynoms λi(X) (oder µi(X)) und Teilungs-Ausgangssignale der betreffenden Teiler gespeichert sind,
und daß Addierer (11, 12) vorgesehen sind zum Addieren der Ausgangssignale der Register, in denen die Koffizienten-Daten des Polynoms µi(X) (oder λi(X)) und die Ausgangssignale der betreffenden Multiplizierer (9, 10) gespeichert sind.
daß Addierer (11, 12) zum Addieren der Ausgangssignale der betreffenden Register vorgesehen sind, in denen Koeffizienten- Daten des genannten Polynoms Qi(X) (oder Ri(X)) und die Ausgangssignale der betreffenden Multiplizierer (11, 12) gespeichert sind,
daß Multiplizierer (9, 10) vorgesehen sind zum Multiplizieren der Ausgangssignale der betreffenden Register, in denen die Koeffizienten-Daten des Polynoms λi(X) (oder µi(X)) und Teilungs-Ausgangssignale der betreffenden Teiler gespeichert sind,
und daß Addierer (11, 12) vorgesehen sind zum Addieren der Ausgangssignale der Register, in denen die Koffizienten-Daten des Polynoms µi(X) (oder λi(X)) und die Ausgangssignale der betreffenden Multiplizierer (9, 10) gespeichert sind.
4. Divisionsschaltung nach Anspruch 1, dadurch
gekennzeichnet, daß die zweite Recheneinrichtung
(1, 2) Multiplizierer (9, 10) umfaßt zum Multiplizieren der
Ausgangssignale der Register, in denen Koeffizienten-Daten des
Polynoms λi(X) (oder µi(X)) und Teilungs-Ausgangssignale der
betreffenden Teiler gespeichert sind,
und daß Addierer (11, 12) vorgesehen sind zum Addieren der
Ausgangssignale der Register, in denen Koeffizienten-Daten des
Polynoms µi(X) (oder λi(X)) und Ausgangssignale der
Multiplizierer (9, 10) gespeichert sind.
5. Divisionsschaltung nach Anspruch 1, dadurch
gekennzeichnet, daß die Umschalt-
Entscheidungseinrichtung (3) zwei Register (DR, DQ) zum
Speichern von Ordnungs-Daten dRi und dQi, eine
Vergleichseinrichtung (6) zum Vergleichen der Ausgangssignale
der beiden Register (DR, DQ), eine Erfassungseinrichtung (5) zur
Feststellung, ob das Ausgangssignal des Registers, das
Koeffizienten-Daten des Polynoms Ri(X) der zweiten
Recheneinrichtung (1, 2) speichert Null ist, und eine
Entscheidungseinrichtung (8) umfaßt für die Erzeugung des
Umschaltbefehls zur Festlegung der gekreuzten Verbindung mit der
ersten und zweiten Recheneinrichtung (1, 2) in dem Fall, daß dR1
< DQi erfüllt ist und Koeffizienten-Daten des Polynoms Ri(X)
nicht Null sind, und zwar auf der Grundlage eines Vergleichs-
Ergebnisses der genannten Vergleichseinrichtung (6) und eines
ermittelten Ergebnisses der genannten Erfassungseinrichtung (5).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25418391A JP3232602B2 (ja) | 1991-09-06 | 1991-09-06 | ユークリッドの互除回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4229666A1 DE4229666A1 (de) | 1993-03-11 |
DE4229666C2 true DE4229666C2 (de) | 2001-06-07 |
Family
ID=17261388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4229666A Expired - Lifetime DE4229666C2 (de) | 1991-09-06 | 1992-09-04 | Wechselseitig arbeitende Divisionsschaltung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5367478A (de) |
JP (1) | JP3232602B2 (de) |
DE (1) | DE4229666C2 (de) |
GB (1) | GB2259378B (de) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5442578A (en) * | 1991-12-12 | 1995-08-15 | Sony Corporation | Calculating circuit for error correction |
JP2694792B2 (ja) * | 1993-01-27 | 1997-12-24 | 日本電気株式会社 | 誤り位置多項式演算回路 |
JP2605966B2 (ja) * | 1993-02-12 | 1997-04-30 | 日本電気株式会社 | 誤り訂正回路 |
DE69414631T2 (de) * | 1993-03-31 | 1999-04-08 | Toshiba Kawasaki Kk | Schaltung zur Durchführung des Euclidschen Algorithmus bei der Dekodierung Arithmetischer Kodes |
US5615220A (en) * | 1995-01-31 | 1997-03-25 | Philips Electronics North America Corporation | Polynomial divider which can perform Euclid's Algorithm to produce an error locator polynomial from an error syndrome polynomial, and apparatus including the polynomial divider |
US5975893A (en) | 1997-06-20 | 1999-11-02 | Align Technology, Inc. | Method and system for incrementally moving teeth |
AU744385B2 (en) * | 1997-06-20 | 2002-02-21 | Align Technology, Inc. | Method and system for incrementally moving teeth |
US6802713B1 (en) | 1998-10-08 | 2004-10-12 | Align Technology, Inc. | Defining tooth-moving appliances computationally |
US6572372B1 (en) | 2000-04-25 | 2003-06-03 | Align Technology, Inc. | Embedded features and methods of a dental appliance |
US6454565B2 (en) | 2000-04-25 | 2002-09-24 | Align Technology, Inc. | Systems and methods for varying elastic modulus appliances |
US7245977B1 (en) | 2000-07-20 | 2007-07-17 | Align Technology, Inc. | Systems and methods for mass customization |
US7383198B1 (en) | 2000-07-24 | 2008-06-03 | Align Technology, Inc. | Delivery information systems and methods |
US7092784B1 (en) | 2000-07-28 | 2006-08-15 | Align Technology | Systems and methods for forming an object |
US7040896B2 (en) | 2000-08-16 | 2006-05-09 | Align Technology, Inc. | Systems and methods for removing gingiva from computer tooth models |
US6386878B1 (en) | 2000-08-16 | 2002-05-14 | Align Technology, Inc. | Systems and methods for removing gingiva from teeth |
US6497574B1 (en) | 2000-09-08 | 2002-12-24 | Align Technology, Inc. | Modified tooth positioning appliances and methods and systems for their manufacture |
US6607382B1 (en) * | 2000-09-21 | 2003-08-19 | Align Technology, Inc. | Methods and systems for concurrent tooth repositioning and substance delivery |
US6726478B1 (en) | 2000-10-30 | 2004-04-27 | Align Technology, Inc. | Systems and methods for bite-setting teeth models |
US6783360B2 (en) | 2000-12-13 | 2004-08-31 | Align Technology, Inc. | Systems and methods for positioning teeth |
US6979196B2 (en) | 2002-06-21 | 2005-12-27 | Align Technology, Inc. | Systems and methods for automated bite-setting of tooth models |
US8899976B2 (en) | 2004-09-24 | 2014-12-02 | Align Technology, Inc. | Release agent receptacle |
US20070092853A1 (en) * | 2005-10-24 | 2007-04-26 | Liu Frank Z | Multi-layer casting methods and devices |
US20060115785A1 (en) | 2004-11-30 | 2006-06-01 | Chunhua Li | Systems and methods for intra-oral drug delivery |
FR2897964B1 (fr) * | 2006-02-28 | 2017-01-13 | Atmel Corp | Procede de calcul numerique incluant la division euclidienne |
US8172569B2 (en) | 2008-06-12 | 2012-05-08 | Align Technology, Inc. | Dental appliance |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4574361A (en) * | 1982-06-15 | 1986-03-04 | Tokyo Shibaura Denki Kabushiki Kaisha | Apparatus for dividing the elements of a Galois field |
US4975867A (en) * | 1987-06-26 | 1990-12-04 | Digital Equipment Corporation | Apparatus for dividing elements of a Galois Field GF (2QM) |
US4989171A (en) * | 1988-10-18 | 1991-01-29 | U.S. Philips Corporation | Data processing method and apparatus for calculating a multiplicatively inverted element of a finite field |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3377029D1 (en) * | 1982-06-15 | 1988-07-14 | Toshiba Kk | Apparatus for dividing the elements of a galois field |
WO1985003371A1 (en) * | 1984-01-21 | 1985-08-01 | Sony Corporation | Circuit for calculating finite fields |
-
1991
- 1991-09-06 JP JP25418391A patent/JP3232602B2/ja not_active Expired - Lifetime
-
1992
- 1992-09-02 US US07/939,593 patent/US5367478A/en not_active Expired - Lifetime
- 1992-09-04 DE DE4229666A patent/DE4229666C2/de not_active Expired - Lifetime
- 1992-09-07 GB GB9218875A patent/GB2259378B/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4574361A (en) * | 1982-06-15 | 1986-03-04 | Tokyo Shibaura Denki Kabushiki Kaisha | Apparatus for dividing the elements of a Galois field |
US4975867A (en) * | 1987-06-26 | 1990-12-04 | Digital Equipment Corporation | Apparatus for dividing elements of a Galois Field GF (2QM) |
US4989171A (en) * | 1988-10-18 | 1991-01-29 | U.S. Philips Corporation | Data processing method and apparatus for calculating a multiplicatively inverted element of a finite field |
Also Published As
Publication number | Publication date |
---|---|
DE4229666A1 (de) | 1993-03-11 |
JP3232602B2 (ja) | 2001-11-26 |
GB2259378B (en) | 1995-08-23 |
GB9218875D0 (en) | 1992-10-21 |
GB2259378A (en) | 1993-03-10 |
JPH0567981A (ja) | 1993-03-19 |
US5367478A (en) | 1994-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4229666C2 (de) | Wechselseitig arbeitende Divisionsschaltung | |
DE4241903C2 (de) | Euklidische wechselseitige Divisionsschaltung | |
DE19747774B4 (de) | Reed-Solomon-Decoder zur Verwendung beim verbesserten Fernsehen (ATV) | |
EP0123921B1 (de) | Parallelverknüpfungsschaltung mit verkürztem Übertragsdurchlauf | |
DE69834542T2 (de) | Hardwareoptimierter reed-solomon-decoder zur decodierung grosser datenblöcke | |
DE4302898C2 (de) | Arithmetische Recheneinheit mit Akkumulierfunktion | |
DE19758079A1 (de) | Verfahren und Vorrichtung zur Galoisfeld-Multiplikation | |
DE2063199B2 (de) | Einrichtung zur Ausführung logischer Funktionen | |
DE10219158B4 (de) | Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation | |
DE3702697C2 (de) | ||
DE3447634C2 (de) | ||
DE1449334A1 (de) | Datenverarbeitungsanlage | |
DE3918886C2 (de) | Rücksetzanordnung in einer Datenverarbeitungseinheit | |
DE19644688B4 (de) | Schaltungsanordnung einer digitalen Multiplizierer-Baugruppe, zur Verarbeitung von Binärzahlen sowie Elementen aus GF(2m) | |
DE69332937T2 (de) | Korrekturverfahren für verlorengegangene Daten und Schaltung dafür | |
DE102006013989A1 (de) | Verfahren zur Reduktion eines Polynoms in einem binären finiten Feld | |
DE10200133B4 (de) | Verfahren und Vorrichtung zur Berechnung von Modulo-Operationen | |
EP0130397A1 (de) | Digitales Rechenwerk | |
EP0267499B1 (de) | Verfahren zur Paritätsbitermittlung und zur Überwachung der Übertragung beim Datenschieben sowie Schaltungsanordnung zur Durchführung der Verfahren | |
EP0294540B1 (de) | Verfahren zur zweidimensionalen diskreten inversen Cosinus-Transformation | |
EP0825523B1 (de) | Verfahren und Schaltung zur Multiplikation eines Multiplikanden und eines Multiplikators nach dem Booth-Verfahren in iterativen Schritten | |
DE102015118668B4 (de) | Fehlerkorrektur | |
DE2140858C3 (de) | Paritätsbit- Vorhersage schaltung für eine Stellenverschiebeeinrichtung | |
DE3823722A1 (de) | Multiplizierer | |
EP0996231B1 (de) | 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 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
R071 | Expiry of right | ||
R071 | Expiry of right |