DE4316813A1 - Reed-Solomon-Decoder - Google Patents
Reed-Solomon-DecoderInfo
- Publication number
- DE4316813A1 DE4316813A1 DE19934316813 DE4316813A DE4316813A1 DE 4316813 A1 DE4316813 A1 DE 4316813A1 DE 19934316813 DE19934316813 DE 19934316813 DE 4316813 A DE4316813 A DE 4316813A DE 4316813 A1 DE4316813 A1 DE 4316813A1
- Authority
- DE
- Germany
- Prior art keywords
- output
- data
- input
- register
- register stack
- 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.)
- Withdrawn
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
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- General Physics & Mathematics (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 geht aus von einem Reed-Solomon-(RS)-Decoder
nach dem Oberbegriff des Patentanspruchs 1.
Ein RS-Code ist ein systematischer Blockcode der Länge n,
bei welchem k Informationssymbolen (n - k) = p Checkworte
zugesetzt werden. Durch den Codiervorgang werden
Nachrichtensymbole nicht verändert. Der RS-Code hat eine
minimale Hamming-Distanz d = p + 1, die bei einer
Decodierung frei wählbar zur Fehlererkennung oder Fehler
korrektur eingesetzt werden kann.
Bei einer Decodierung wird nicht zwischen Daten- und
Checkworten unterschieden. Ein RS-Code-Block besteht aus n
Symbolen, wobei für ein Symbol jede Bit-Anzahl < 1 möglich
ist. Üblicherweise wird mit einer Symbolbreite von 8 Bit
gearbeitet. Für jeden Symbolfehler t werden bei einer
Korrektur 2t Checkworte benötigt, um einen Fehlerort Xk und
einen Fehlerwert Yk zu berechnen. Ist das fehlerhafte
Symbol als Auslöschung markiert, ist der Fehlerort Xk
bekannt. In diesem Fall wird zur Berechnung des Fehler
wertes Yk nur ein einziges Checkwort benötigt. Für RS-Codes
gilt die Beziehung 2t + e p = n - k = d - 1, wobei mit e
die Anzahl der Auslöschungen bezeichnet ist. In Zusammen
hang mit der Aufzeichnung und Wiedergabe von Datensignalen
auf/von Magnetband sind unter dem Begriff Auslöschungen
Drop-Out-Störungen im wiedergegebenen Datensignal oder
auch der kurzzeitige Ausfall eines Übertragungskanals und
ein damit begründeter Datenausfall bei der digitalen
Übertragung zu verstehen.
Definitionsgemäß ist bei RS-Codes jedes Symbol mit m-Bits
das Element eines Galois-Feldes GF (2m). Die Sequenz der
2m-1 Symbole ungleich Null als Basis der finiten Feld-
Arithmetik wird durch das Feldgeneratorpolynom p(X)
definiert. Die Anzahl der Symbole beschränkt auch die
maximale Blocklänge eines RS-Codes auf 2m-1, da die
Elemente des Feldes als eindeutige Positionszahl im Block
benötigt werden.
Ein Feld wird über ein irreduzibles Feldgeneratorpolynom
definiert. Wird ein Symbol als primitives Element α der
Ordnung 2m-1 definiert, lassen sich alle anderen Elemente
als Potenz von α ausdrücken. Das Galois-Feld läßt sich
somit als endliche Folge von 2m-1 Elementen definieren.
Dabei ermöglicht die binäre Komponenten-Darstellung eine
einfache Addition über eine bitweise EXOR-Verknüpfung und
eine Exponentendarstellung eine einfache Multiplikation
über eine Addition der Exponenten modulo q = 2m-1.
Dies entspricht in einer Schaltungsumsetzung einem binären
Addierer, dessen Übertragsausgang mit dem Übertragseingang
verbunden ist.
Prinzipiell ist ein RS-Code der Distanz d über das Code-
Generator-Polynom
definiert. Wesentlich ist, daß G(X) p aufeinanderfolgende
Nullstellen enthält.
Ein legaler Codevektor c(X) entsteht durch Division eines
um p Stellen verschobenen Informations-Vektors i(X)*xp
durch G(X) und Anhängen des dabei entstehenden Paritäts-
Vektors p(X) in den freigewordenen Stellen des
Informations-Vektors i(X). Der resultierende Code-Vektor
c(X) ist dabei durch alle Wurzeln von G(X) ohne Rest
teilbar. Die einzelnen Polynome und Vektoren lassen sich
wie folgt darstellen:
i(x) = ik-1xk-1+ik-2xk-2+ . . . +i₁x¹+i₀ | |
Informations-Polynom | |
p(x) = (i(x) · xp) mod G(x) | Paritäts-Polynom |
c(x) = (i(x) · xp)+p(x) | Code-Polynom |
ci = (ik-1, ik-2, . . ., i₁, i₀, Pp-1, Pp-2, . . ., P₁, P₀) = (cn-1, cn-2, . . ., c₁, c₀) | Code-Vektor=gesendeter Vektor |
ei = (en-1, en-2, . . ., e₁, e₀) | Fehler-Vektor |
ui = (un-1, un-2, . . ., u₁, u₀) | Auslöschungs-Vektor |
r₁ = ci+ei+ui | empfangener Vektor |
Der Fehler-Vektor ei ist an maximal t Stellen ungleich
Null, ansonsten gleich Null. Entsprechendes gilt für den
Auslöschungs-Vektor ui, der an maximal e Stellen ungleich
Null ist. Bei Überschneidungen von ei und ui an gleichen
Positionen werden Fehler zu Auslöschungen, da die Fehler
dann markiert sind.
Ein übertragener RS-codierter Codeblock c(X) besteht aus k
Informationsstellen, denen p Checkworte folgen. Durch die
Codekonstruktion ist gewährleistet, daß c(X) durch alle
Wurzeln durch G(X) ohne Rest teilbar ist, solange keine
Fehler e(X) oder Auslöschungen u(X) auftreten. Die
Entwicklung eines Empfangsvektors r(X) an den Wurzeln des
Code-Generator-Polynoms G(X) erzeugt Werte, die von
empfangenen Fehlern abhängig sind, jedoch unabhängig von
der übertragenen Information i(X). Diese Werte werden als
Syndrome bezeichnet. Die m Syndrome Sj (j=O . . . d-2) werden
nach der Gleichung
berechnet.
Der empfangene Vektor (x) läßt sich in einer Polynom-Darstellung wie folgt beschreiben:
r(x) = rn-1xn-1 + rn-2xn-2 + . . . + r₁x¹ + r₀
Dabei bezeichnet xi eine Position im Polynom für jedes
empfangene Symbol ri. Das erste empfangene (Daten-) Symbol
ist das letzte (Paritäts-) Symbol r₀. Zur Speicherung
des Polynoms müssen nur die Koeffizienten ri abgelegt
werden.
Da die Entwicklung eines fehlerfreien Empfangsvektors r(X)
an einer Nullstelle des Codegenerator-Polynoms den Wert
Null liefert, sind die Werte der Syndrome als Summen der
positionsgewichteten Fehler Yk an den Stellen Xk zu
betrachten. Die Syndrome stellen dabei Reste einer
Division des Empfangsvektors r(X) durch alle Faktoren
(x+α¹) des Codegeneratorpolynoms dar, wobei
ist.
Wird bei einer Auslöschung die Position eines Fehlers Xk
festgehalten, so läßt sich mit p Syndromen und p Fehler
orten Xk bis zu e = p Auslöschungen berechnen, so lange
2t + e p ist, wobei t die Anzahl nicht markierten Fehler
ist.
Die Syndrome bilden nach der zuvor genannten Gleichung
einen Satz von p nichtlinearen Gleichungen, so daß p
Lösungen ermittelt werden können. Gesucht werden mit Hilfe
der Syndrome die Koeffizienten eines Fehlerortpolynoms,
welches an den Fehlerorten den Wert Null aufweist.
Eine Decodierung von RS-codierten Datenblöcken nach dem
sogenannten Euclid-Algorithmus ist von Truong, Eastman,
Reed und Hsu in der Zeitschrift IEE Proceedings,
"Simplified procedure for correcting both errors and
erasures of RS code using Euclid algorithm", Vol. 135,
Pt.E, No. 6, Nov. 1988 angegeben. Der Euclid-Algorithmus
läßt sich in folgende Schritte gliedern:
- 1. Berechnung der Syndrome Sj sowie des Polynoms von Auslöschungsorten L(X) und dem Setzen von e=deg(L(X)) (=Anzahl der Auslöschungen).
- 2. Berechnung eines sogenannten Forney-Syndroms τ(X) = S(X)L(X) mod xd-1.
- 3. Für e = d-1 = p wird T(X) = L(X) und R(X) = τ(X)
gesetzt. Anderenfalls wird T(X) und R(X) durch
Anwendung eines Euclid-Algorithmus bestimmt. Der
Euclid-Algorithmus besteht aus folgenden rekursiven
Formeln:
Qs-1(X) = Rs-2(X)/Rs-1(X),
Ts(X) = (Qs-1(X))Ts-1(X)+Ts-2(X)
Rs(X) = (Qs-1(X)Rs-1(X)+Rs-2(X)mit den Anfangswerten:
To(X) = L(X), T-1(X) = 0, R-1(X) = xd-1, Ro(X) = τ(X). Darin ist Ts(X) ein Fehlerortpolynom, Rs(X) ein Fehlerwertpolynom und Qs-1(X) ein Zwischenwertpolynom. Danach kann Rs(X) und Ts(X) mit dem niedrigsten Koeffizienten Ts(0) = σ normiert werden, wobei R(X) = Rs(X)/σ ist. R(X) und T(X) sind die Ergebnisse des Euclid-Algorithmus, wenn der Grad Rs (d + e -3)/2 ist, wobei einen ganzzahligen Anteil bezeichnen.
Aus dem Tagungsband IEEE 1990 Custom Integrated Circuits
Conference, "A 40 Mhz Encoder/Decoder Chip generated by a
Reed-Solomon Code Compiler", Seiten 13.5.1 bis 13.5.4,
CH2860-5/90/0000-0065, ist bereits eine Schaltungs
anordnung zum Decodieren von RS-codierten Daten bekannt.
Bei dieser bekannten Schaltungsanordnung werden zunächst in einer ersten Stufe von den empfangenen Datenworten einer Übertragungsstrecke Syndrome berechnet. In einer nachgeschalteten zweiten Stufe werden von den berechneten Syndromen nach dem Euclid-Algorithmus Fehlerort- und Fehlerwert-Polynome berechnet. Die bekannte Schaltungsanordnung weist jedoch den Nachteil auf, daß Auslöschungen weder berücksichtigt und noch korrigiert werden können.
Bei dieser bekannten Schaltungsanordnung werden zunächst in einer ersten Stufe von den empfangenen Datenworten einer Übertragungsstrecke Syndrome berechnet. In einer nachgeschalteten zweiten Stufe werden von den berechneten Syndromen nach dem Euclid-Algorithmus Fehlerort- und Fehlerwert-Polynome berechnet. Die bekannte Schaltungsanordnung weist jedoch den Nachteil auf, daß Auslöschungen weder berücksichtigt und noch korrigiert werden können.
Weiterhin ist aus der DE-Zeitschrift Elektronik, 25/1992,
Seiten 46 bis 52, sowie 26/1992, Seiten 40 bis 44,
insbesondere Bild 6, eine Anordnung zur Berechnung von
Ts(X) und Rs(X) nach dem Euclid-Algorithmus bekannt, welche
vier Registerbänke (R, RO, T und TO) mit 16 und 17 Byte
Breite umfaßt. Die Registerbänke können aus verschiedenen
Funktionsblöcken geladen werden. In die Registerbänke R
und RO werden die ermittelten Syndrome S und Auslöschorte
L geladen, während die Registerbänke T und TO konstante
Anfangswerte 0 bzw. 1 erhalten. Die Registerbänke R und T
können untereinander vertauscht werden, so daß Werte auch
zwischengespeichert werden können. Eine "Shift RO"-
Funktion wird für die Berechnung des zuvor erwähnten
Orney-Syndroms benötigt. Die Registerbänke RO und TO
können mit neu berechneten Polynomen zur Ausführung des
Euclid-Algorithmus geladen werden. Der Grad von T zeigt am
Ende der Berechnung an, wieviel Fehler in einem Datenblock
für eine nachfolgende Suche nach Chien erwartet werden.
Eine zentrale Steuerung erkennt dabei das Terminieren des
Algorithmus über den Grad von RO.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde,
einen RS-Decoder nach der eingangs genannten Art zu
schaffen, welcher echtzeitfähig mit hoher Datenrate
(100 Mbit/s) aus den vorliegenden Syndromen und
Auslöschorten des zu decodierenden Datensignals gemäß
einem Euclid-Algorithmus die Fehlerort- und Fehlerwert-
Polynome ermittelt.
Diese Aufgabe wird durch die im kennzeichnenden Teil des
Patentanspruchs 1 angegebenen Merkmale gelöst.
Die Erfindung weist den Vorteil auf, daß die Einrichtung
zur Erzeugung der Fehlerort- und Fehlerwert-Polynome nicht
nur in sehr wenigen Taktschritten die zur weiteren
Decodierung erforderlichen Polynome zur Verfügung stellt,
sondern daß die Einrichtung auch in Abhängigkeit
berechneter Zwischenergebnisse in ihrer Funktion
beeinflußt werden kann.
Durch die in den Unteransprüchen aufgeführten Maßnahmen
sind vorteilhafte Weiterbildungen und Verbesserungen des
im Patentanspruch 1 angegebenen RS-Decoders möglich.
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung
dargestellt und in der nachfolgenden Beschreibung näher
erläutert. Es zeigen:
Fig. 1 das grobe Blockschaltbild eines bekannten RS-
Decoders,
Fig. 2 das Blockschaltbild einer bekannten Einrichtung
zur Erzeugung von Fehlerwert- und Fehlerort-
Polynomen,
Fig. 3 das Blockschaltbild einer Registertransfer
einrichtung zur Erzeugung des Fehlerwertpolynoms
Rs(X) gemäß der Erfindung,
Fig. 4 das Blockschaltbild einer Registertransfer
einrichtung zur Erzeugung des Fehlerwert-
Polynoms Rs(X) gemäß der Erfindung,
Fig. 5 das Blockschaltbild einer Steuereinrichtung für
die in den Fig. 3, 4, 6 und 7 dargestellten
Registertransfereinrichtungen,
Fig. 6 das Blockschaltbild einer
Registertransfereinrichtung zur Erzeugung des
Fehlerort-Polynoms Ts(X) gemäß der Erfindung,
Fig. 7 das Blockschaltbild einer
Registertransfereinrichtung zur Erzeugung des
Fehlerort-Polynoms Ts-1(X) gemäß der Erfindung
und
Fig. 8 bis 11 Wahrheitstabellen für die Steuerung der in
den Fig. 3, 4, 6 und 7 dargestellten
Registertransfereinrichtungen.
Die Fig. 1 zeigt das grobe Blockschaltbild eines RS-
Decoders. Darin ist mit 1 ein Datenbus bezeichnet, über
welchem 8 Bit breite Datenworte Din der zu decodierenden
Datenblöcke zu einer Verzögerungseinrichtung 3 sowie einen
Funktionsblock 3 übertragen werden. Der Funktionsblock 3
dient zur Ermittlung von Syndromen S(X) und Auslöschorten
L(X). Parallel zu den auf dem Datenbus 1 übertragenen
Datenblöcken wird ein Fehlersignal EFin über eine Leitung
4 der Verzögerungsleitung 2 und dem Funktionsblock 3
zugeführt.
Der Funktionsblock 3 enthält 16 Syndromgeneratoren zur
Berechnung der Syndrome S(X). Die Syndromgeneratoren
bilden den Rest einer Division c(X)/(x+αi). Neben den
Syndromen S(X) werden in dem Funktionsblock 3 die
Auslöschorte L(X) ermittelt, indem ein Generator alle
Positionen im Datenblock durchzählt. Bei dem Auftreten
einer Auslöschung wird der Ort in einem Registerstapel
gespeichert. Treten mehr Auslöschungen auf, als aufgrund
einer Begrenzung der Korrektur möglich sind, wird L(X)
Null gesetzt. In diesem Fall kann eine begrenzte Korrektur
von Fehlern versucht werden. Weiterhin weist der
Funktionsblock 3 einen Eingang 5 auf, über welchem die
Anzahl von Parity-Worten P pro Datenblock angewählt werden
kann. Ausgänge des Funktionsblockes 3 sind über Leitungen
P, S00 . . . S15 und L00 . . . L15 mit Eingängen eines
nachgeschalteten Funktionsblockes 6 verbunden. Die Leitung
P dient zur Übertragung der Anzahl der verwendeten Parity-
Worte P, die Datenbusleitung S00 . . . S15 zur Weiterleitung
von 16 × 8 Bit breiten Syndromvektoren S(X) und die
Datenbusleitung L00 . . . L15 zur Weiterleitung von 16 × 8 Bit
breiten Auslöschungsvektoren L(X).
Der in der Fig. 2 ausführlicher dargestellte Block 6
umfaßt vier Registerblöcke 7, 8, 9 und 10 mit 16 und 17
Byte Breite. Ferner umfaßt der Funktionsblock 6 eine
Steuereinrichtung 11, in welcher das Zwischenwert-Polynom
Qs-1(X) sequentiell erzeugt wird und das Abbruch Kriterium
des Algorithmus, der Grad von R0 ausgewertet wird. Ferner
ist eine Einrichtung 12 vorhanden, die den Grad T des
Fehlerort-Polynoms Ts(X) ermittelt für die nachfolgende
Chien Suche.
Der Funktionsblock 6 ermittelt in Abhängigkeit von den
anliegenden Syndromen S(X) und Auslöschorten L(X)
zugehörige Fehlerort-Polynome Ts(X), Fehlerwert-Polynome
Rs(X) sowie ein Steuersignal über den Grad von T des
Fehlerort-Polynoms Ts(X). An Ausgängen des Funktionsblockes
6 sind somit abnehmbar: Signale des Fehlerort-Polynoms
Ts(X), die über eine 17 × 8 Bit parallele Datenbusleitung
Tout zu einem Funktionsblock 13 gelangen, Signale des
Fehlerwert-Polynoms Rs(X), die über eine 16 × 8 Bit
parallele Datenbusleitung Rout zu dem Funktionsblock 13
weitergereicht werden, und das Steuersignal über den Grad
von T des Fehlerort-Polynoms Ts(X), das über eine 5 Bit
Leitung deg{T} dem Funktionsblock 13 zugeführt wird.
Einzelheiten zu dem Funktionsblock 6 werden nachfolgend in
Zusammenhang mit den Fig. 6 bis 10 erläutert.
In dem Funktionsblock 13 werden die Null-Stellen der
Polynome Ts(X) und Rs(X) bestimmt, so daß mit erhaltenen
Fehlerwerten Yk und Fehlerorten Xk eine Korrektur
fehlerhafter Datenworte in dem Funktionsblock 14 durch
geführt werden kann. Der Block 13 wird auch von den von
der Verzögerungseinrichtung 2 verzögerten Datenworten del.
Din und dem verzögerten Fehlersignal del. EFin
angesteuert.
Der Aufbau und die Wirkungsweise der Funktionsblöcke 13
und 14 ist aus der DE 41 05 860 A1 bekannt.
Die Steuerung der vier Funktionsblöcke 3, 6, 13 und 14
sowie der Verzögerungseinrichtung 2 erfolgt durch eine
Steuereinrichtung 15. An einem Ausgang des Funktionsblocks
14 ist auf einem Datenbus 16 ein Datenstrom mit 8 Bit
breiten Datenworten Dout abnehmbar von denen im Rahmen
der Korrekturfähigkeit des RS-Decoders erkannte
fehlerhafte Datenworte korrigiert sind. Andere Datenworte,
die die Korrekturfähigkeit des RS-Decoders überschreiten,
werden durch ein auf einer Leitung 17 parallel
übertragenes Fehlermerkersignal EFout markiert.
Der in Verbindung mit der Fig. 2 als Registerbank 7
bezeichnete Block ist in der Fig. 3 ausführlicher
dargestellt. Der Block umfaßt im wesentlichen eine 16 × 8-
Bit-parallele Datentransfereinrichtung zur Erzeugung des
Fehlerwertpolynoms Rs(X) = (Qs-i(X)Rs-1(X)+Rs-2(X).
Aus Gründen der Übersichtlichkeit ist nur eine einzige
Ebene der 16×8-Bit-parallelen Ebenen der vorliegenden
Datentransfereinrichtung dargestellt.
In der Fig. 3 ist mit 18 ein Galois-Feld-(GF)-
Multiplizierer bezeichnet. Ein Eingang dieses GF-
Multiplizierers ist mit dem Ausgang eines 2/1-Multiplexers
19 und anderer Eingang mit dem Ausgang eines weiteren 2/1-
Multiplexers 20 verbunden. Der Ausgang des GF-
Multiplizierers 18 liegt an dem Eingang eines UND-Gatters
21, welches Ausgangsdaten des GF-Multiplizierers 18 in
Abhängigkeit eines Steuersignals EnFb [i] an seinem
anderen Eingang zu einem Eingang eines EXOR-Gatters 22
weiterleitet. Der andere Eingang des EXOR-Gatters 22 ist
über eine von einem Steuersignal EnIn[i] beaufschlagtes
UND-Gatter 23 mit einem 2/1-Multiplexer 24 verbunden. An
einem Ausgang des EXOR-Gatters 22 abnehmbare 8 Bit breite
Datenworte gelangen zu dem Eingang eines Registerstapels
25, welches die Daten speichert und um eine Taktperiode
verzögert wieder ausgibt.
Die perspektivisch angedeuteten 16 Ebenen des
Registerstapels 25 sollen darauf hinweisen, daß die gesamte
Registertransferstruktur inclusive der Multiplexer 19, 24
und 28, des Multiplizierers 18, der EXOR- sowie AND-
Gatter (21, 22, 23) sechzehn mal parallel vorhanden ist.
Daher sind an einem Ausgang der vorderen Ebene des
Registerstapels 25 die Daten RO[15] abnehmbar, an einem
Ausgang der zweiten Ebene des dazu parallelen
Registerstapels 25 II die Daten R0[14] und an einem Ausgang
der 16. Ebene beispielsweise die Daten RO[0]. In der in
der Fig. 3 dargestellten Ebene der erfindungsgemäßen
Registertransfereinrichtung sind die Ausgangsdaten Ro[i]
des Registerstapels 25 auf den Eingang 0 des 2/1-
Multiplexers 24 zurückgekoppelt. An dem anderen Eingang 1
des Multiplexers 24 sind die vom Funktionsblock 3
ausgegebenen Syndrome Si aufgeschaltet. Der 2/1-Multiplexer
24 wird durch ein Schaltsignal Insel gesteuert.
Der in eine Eingangsleitung des GF-Multiplizierers 18
eingefügte 2/1-Multiplexer 20 ist eingangsseitig mit dem
Ausgang eines Konstantenspeichers 26 sowie mit dem Ausgang
eines Registers 27 zur Speicherung eines Koeffizienten des
Zwischenwertpolynoms Qs-i(X) verbunden. Das Register 27 ist
Teil der in der Fig. 5 gezeigten Steuereinrichtung 11 der
Registertransfers. Die Ableitung der in dem Register 27
gespeicherten Koeffizienten des Zwischenwertpolynoms
Qs-1(X) wird in Zusammenhang mit der Beschreibung der
Steuereinrichtung 11 in der Fig. 5 erläutert.
Der in die andere Eingangsleitung des GF-Multiplizierers
18 eingefügte 2/1-Multiplizierer 19 ist eingangsseitig mit
dem Ausgang RO[i-1] der zweiten Ebene des Registerstapels
25 sowie mit dem Ausgang eines 9/1-Multiplizierers 28
verbunden. Der 2/1-Multiplizierer 19 ist durch ein
Schaltsignal R-sel und der 2/1-Multiplizierer 20 durch ein
Schaltsignal H-sel steuerbar. Beide Schaltsignale erzeugt
die in der Fig. 5 dargestellte Steuereinrichtung 11.
Den neun Eingängen des 9/1-Multiplexers 28 in der Ebene i,
der durch ein Schaltsignal d[3 . . . 0] der Steuereinrichtung
11 steuerbar ist, sind Daten von Ausgängen R[i] bis R[i-1]
eines in der Fig. 4 gezeigten Registerstapels 29
aufgeschaltet.
Die Schaltsignale Insel, R-sel, H-sel und d[3 . . . 0] gelten
für alle 16 Byte der Registertransfereinrichtung
gemeinsam. Die Steuersignale EnIn[i] und EnFb[i] werden
dagegen für jede Registerebene des Registerstapels 25 in
der Steuereinrichtung getrennt erzeugt.
Die Fig. 8 zeigt eine Wahrheitstabelle über das Zusammen
wirken der vorgenannten Schalt- und Steuersignale für den
Betrieb des Registerstapels 25. In dieser und weiteren
Wahrheitstabellen bedeutet X einen beliebigen logischen
Pegel, L eine logische "0", H eine logische "1" und die
Ziffern 1 bis 7 die Verbindung eines bestimmten Eingangs
mit dem Ausgang eines zugehörigen Multiplexers.
Gemäß der in der ersten Zeile der Wahrheitstabelle
angegebenen Verknüpfung können die Schaltsignale Insel,
d[3 . . . 0], R-sel und H-sel einen beliebigen Pegel X und die
Steuersignale Enln[i] und EnFb[i] einen L-Pegel aufweisen,
um in einer Initialisierungsphase, d. h. zu Beginn einer
Datenblockübertragung, den Registerstapel 25 mit dem Hex-
Wert 00 zu laden. In der zweiten Zeile der in der Fig. 8
dargestellten Wahrheitstabelle sind die logischen Pegel
der Schalt- und Steuersignale angegeben, um den
Registerstapel 25 mit den in dem Funktionsblock 3
ermittelten Syndromen S[i] zu laden. In der
Wahrheitstabelle folgen sodann Verknüpfungen, um die in
dem Registerstapel 25 gespeicherten Daten zu halten, um
die Daten in dem Registerstapel 29 zu vertauschen und um
eine Erzeugung des Fehlerwertpolynoms Rs(X) zu veranlassen.
Soll bei dem Registerstapel 29 der Ausgangswert RO[i]
(i = 0 . . . 15) mit dem Ausgangswert R(i-j) verknüpft werden
und ist der Index negativ, so ist an den 2/1-Multiplexer
24 der Hex-Wert 00 anzulegen. Der Index "j" bezeichnet
dabei eine Laufvariable (1 . . 8) für den 9/1-Multiplexer 28.
Der in der Fig. 4 dargestellte Registerstapel 29 besteht
ebenso wie der Registerstapel 25 aus insgesamt 16 Ebenen
zur Speicherung von 16×8 Bit breiten Datenworten für die
Dauer einer Taktperiode. Der Registerstapel 29 wird über
ein UND-Gatter 30 selektiv mit Daten angesteuert, die an
vier Eingängen eines 4/1-Multiplexers 31 liegen. Bei der
hintersten Ebene des Registerstapels 29 R[0] liegen am
Eingang des Multiplexers beispielsweise die Ausgangsdaten
R[1] des Registerstapels 29, die Auslöschortdaten L[0],
die Ausgangsdaten R0[0] des Registerstapels 25 und die
zurückgekoppelten Ausgangsdaten R[0] des Registerstapels
29. Die Steuerung des 4/1-Multiplexers 31 erfolgt durch
ein in der Steuereinrichtung 11 abgeleitetes Schaltsignal
Rinsel[1 . . 0]. Die an einem Ausgang des 4/1-Multiplexers 31
abnehmbaren Daten werden in Abhängigkeit eines dem UND-
Gatter 30 zugeführten Steuersignals EnRin[i] zu dem
Eingang des Registerstapels 29 weitergeleitet.
Das Registerstapel 29 wählt für alle Ebenen gemeinsam
einen der vier Eingängen des 4/1-Multiplexers 31 an.
Darüberhinaus besteht die Möglichkeit, jedes der 16 Bytes
des Registerstapels 29 getrennt anzusprechen; dies
geschieht durch eine entsprechende Steuerung des in die
Eingangsleitung des Registerstapels 29 eingefügten UND-
Gatters 30 durch ein Schaltsignal EnRin[i], damit das
entsprechende Byte auf den Hex-Wert 00 gesetzt werden
kann. Ferner kann das Registerstapel 29 mit Auslöschorten
L[i] geladen werden; es kann weiterhin veranlaßt werden,
einen gespeicherten Wert zu halten, seinen Speicherinhalt
mit den des Registerstapels 25 zu tauschen und den Wert
R[i] um eine Stelle zu schieben. Bei einem Schieben wird
der Wert R(0] weggeworfen und der Datenwert R[15] von
Registerstapel 29 zu "0" gesetzt.
Eine entsprechende Wahrheitstabelle zur Steuerung der
obengenannten Registertransfers des Registerstapels 29 ist
in der Fig. 9 dargestellt.
Der Funktionsablauf der in den Fig. 3 und 4 gezeigten
Blöcke ist folgender:
Der an dem Ausgang des 2/1-Multiplexers 20 vorliegende
Koeffizient des Zwischenwertpolynom Qs-i (X), dessen
Ableitung in Verbindung mit der Fig. 5 noch näher
erläutert wird, wird in dem GF-Multiplizierers 18 mit dem
vom Ausgang des 2/1-Multiplexers 19 erhaltenen,
Fehlerwertpolynom Rs-1(X) multipliziert. An dem Ausgang des
GF-Multiplizierers 18 steht somit der Term (Qs-1(X))Rs-1(X)
an. Zu diesem Term wird mit Hilfe des EXOR-Gatters 22 das
Fehlerwertpolynom Rs-2(X) addiert, das von dem Ausgang des
Registerstapels 25 über den 2/1-Multiplexer 24 und dem
UND-Gatter 23 zu dem Eingang des EXOR-Gatters 22 gelangt.
An dem Ausgang (Klemme 32) des EXOR-Gatters 22 steht das
durch Anwendung eines Euclid-Algorithmus erzeugte
Fehlerwert-Polynom Rs(X) = (Qs-i (X))Rs-1(X)+Rs-2(X) zur
Weiterverarbeitung in dem Funktionsblock 13 des RS-
Decoders bereit.
Das zur Erzeugung des Fehlerwertpolynoms Rs(X) benötigte
Zwischenwertpolynom Qsi(X) = Rs-2(X)/Rs-1(X) wird in der
Steuereinrichtung 11 (Fig. 5) durch eine Division
ermittelt. Die zur Division erforderliche Anordnung
besteht aus einem 3/1-Multiplexer 33, einem Galois-Feld-
Inverter 34, einem Multiplizierer 35, einem 2/1-
Multiplexer 36, einem 5/1-Multiplexer 37, einem Register
27, einem 17/1-Multiplexer 39, einem weiteren
Multiplizierer 40, einem 3/1-Multiplexer 41 sowie einem
Register 42.
Bei dieser Anordnung ist einem Eingang des 17/1-Multi
plexers 39 das 16×8 Bit breite Signal RO des
Fehlerwertpolynoms Rs-2(X), das am Ausgang des
Registerstapels 25 (Fig. 3) abnehmbar ist, aufgeschaltet.
Von dem Signal RO wird ein Teilsignal RO[1] zu einem
Eingang des 3/1-Multiplexers 33 geleitet. Weitere Eingänge
des 3/1-Multiplexers 33 sind mit einem Signal der
Auslöschorte L[0] und dem Ausgang des Registers 42
beaufschlagt. Das Ausgangssignal des 3/1-Multiplexers 33
wird über den Galois-Feld-Inverter 34 zu dem Eingang des
Multiziplierers 35 geleitet, so daß eine Division,
entsprechend der Multiplikation mit der Inversen,
berechnet werden kann. Ein anderer Eingang des
Multiplexers 35 ist mit dem Ausgang des 2/1-Multiplexers
36 verbunden, dessen einer Eingang auf einem logischen H-
Pegel liegt und dessen anderem Eingang ein Signal über die
verwendete Codewortlänge CWlen zugeführt ist. Ein
Ausgangssignal h-quot des Multiziplierers 35 gelangt zu
Eingängen 0, 1 und 3 des 5/1-Multiplexers 37 sowie zu dem
Eingang 0 des 3/1-Multiplexers 41. Der Ausgang des 5/1-
Multiplexers 37 ist mit einem Eingang des Registers 27
verbunden, dessen Ausgangssignal Qs-i(X) auf der Leitung Q
auf den Eingang 4 des 4/1-Multiplexers 37 zurückgekoppelt
ist.
Dem anderen Eingang des 17/1-Multiplexers 39 ist ein
Signal mit dem Hex-Wert 00 zugeführt. Das Ausgangssignal
leading_term[RO] des 17/1-Multiplexers 39 wird zu einem
Eingang des Multiplizierers 40 und zu dem Eingang 2 des
3/1-Multiplexers 41 weitergereicht. Daten am Ausgang des
3/1-Multiplexers 41 werden in das Register 42 geschrieben,
dessen Ausgangssignal h0 zu einem anderen Eingang des
Multiziplierers 40, zu einem Eingang 1 des 3/1-Multi
plexers 41 und zu einem Eingang 2 des 3/1-Multiplexers 33
gelangt. Die Steuerung des 17/1-Multiplexers 39 erfolgt
durch ein Schaltsignal, das in einer Stufe 43 zur Ablei
tung des Grads von RO erzeugt wird.
Ferner enthält die Steuereinrichtung 11 eine Anordnung zur
Beendigung der Rechenoperationen, d. h. zum Abbruch des
Euclid-Algorithmus. Diese Anordnung ist mit einer Stufe 43
zur Ableitung des Grads von RO, einem Multiplexer 44,
einem Binäraddierer 45, einem 4/1-Multiplexer 46, einem 5-
Bit-Register 47, einem 3/1-Multiplexer 48, der
Registereinrichtung 12, einer NICHT-Stufe 49 und einem
UND-Gatter 50 ausgestattet. Dabei liegt ein Eingang 3 des
Multiplexers 4 an einem Ausgang der Stufe 43 und ein
Eingang 2 an einer Leitung P, auf welcher die Anzahl der
verwendeten Parity-Worte übertragen wird. Das von dem
Multiplexer 44 abgegebene Ausgangssignal gelangt zu einem
Eingang des Binär-Addierers 45. An einem Eingang "Carry
in" (Eingangsübertrag) des Binär-Addierers 45 liegt der
logische Pegel "1". Der weiterer Eingang des Binär-
Addierers 45 ist mit dem Ausgang der NICHT-Stufe 49
verbunden. Ein am Ausgang des Binär-Addierers 45
abnehmbares Signal wird zu dem Eingang 2, 3 des 4/1-
Multiplexers 46 weitergeleitet, dessen Eingang 1 den
logischen Pegel "1" führt und dessen Eingang 0 an dem
Ausgang des 5-Bit-Registers 47 angeschlossen ist. Der
Ausgang des 4/1-Multiplexers 46 liegt an dem Eingang des
5-Bit-Registers 47. Vom Ausgang des 5-Bit-Registers 47
gelangt das Signal sodann über das durch ein Steuersignal
dmask beeinflußte UND-Gatter 50 zur Ausgangsleitung
d[3 . . . 0], die die 9/1 Multiplexer (28,60) von TO und RO
steuert.
Das Ausgangssignal der Stufe 43 wird auch dem Eingang 2
des 3/1-Multiplexers 48 zugeführt. Der Eingang 1 des 3/1-
Multiplexers 48 erhält ein Signal von der 5-Bit-
Registereinrichtung 12 und der Eingang 0 des 3/1-
Multiplexers 48 ein Signal mit dem Hex-Wert 00. Der
Ausgang des 3/1-Multiplexers 48 führt auf den Eingang der
5-Bit-Registereinrichtung 12, die ein Signal deg{RO}
ausgibt und dieses Signal auf Eingänge der NICHT-Stufe 49
und des 3/1-Multiplexers 48 zurückführt. Somit wird die
binäre Subtraktion des Grades von RO ermöglicht. Ist der
Grad von RO kleiner als eine im Algorithmus vorgegebene
Schwelle, so ist die Berechnung abzubrechen. Das Ergebnis
steht in den Registerstapeln 29 (Fig. 4) und 61 (Fig. 7)
für die weitere Verarbeitung in der Funktionseinrichtung
13 zur Verfügung.
Die Abkürzung deg(RO) bezeichnet den Grad des Polynoms RO
des Registerstapels 25, also die Position des höchsten
Koeffizienten ungleich Null. Der Grenzwert in dgr ist laut
Algorithmus (P+E-2) DIV 2. Dann ist Euclid terminiert.
Das 5-Bit-Register 47 läßt sich mit Werten (P-dgr),
(deg(R0)-dgr), 01 und d laden. Der Wert des Registers 12
ergibt sich aus dem Wert deg(RO), dgr oder 00. Das
Register 42 kann geladen werden mit dem Hex-Wert 00,
Werten h0 am Ausgang des Registers 42, einem Wert INV(h0)
und dem höchstwertigen Koeffizienten von RO. Dabei ist
INV = X-1= 1/x das reziproke Element für die Division im
Galois Feld. Das Register 27 ist ladbar mit dem Wert
(h0*führender_Term(RO)). Mit den vorgenannten Registern
und einem weiteren (nicht dargestellten) Zustandszähler
läßt sich ein Mikroprogramm-Steuerwerk aufbauen, welches
die Multiplexer der Registerstapel in der
Steuereinrichtung 11 steuert und den Euclid-Algorithmus
entsprechend anwendet; es kann insbesondere festgestellt
werden, ob der Wert "dgr" kleiner als ein Grenzwert ist
und ob der Wert "d" negativ ist, wobei das höchstwertige
Bit abgefragt wird.
Außerdem enthält die Steuereinrichtung 11 eine logische
Verknüpfungseinrichtung 51, an welcher anhand der auf
Ausgangsleitungen dgr, d[3 . . . 0] und Q zugeführten Signalen
und des aktuellen Schritts im Euclid-Algorithmus die in
den Fig. 3, 4, 6 und 7 benötigten Steuer- und
Schaltsignale für die einzelnen Multiplexer und Addier-
Gatter erzeugt und abnehmbar sind. Die von der
Steuereinrichtung 11 gelieferten Signale sind: Insel,
Rinsel[1 . . . 0], R_sel, H_sel, Set1, T_sel, EnT, EnIn[16 . . 0],
EnFb[16 . . 0] und EnRin[15 . . 0].
Die Fig. 6 zeigt ein Blockschaltbild einer Registertrans
fereinrichtung zur Erzeugung des Fehlerortpolynoms Ts(X).
Die Struktur des Blockschaltbildes ähnelt der zur
Erzeugung des Fehlerwertpolynoms R₃(X) gemäß der Fig. 3.
Gleiche Elemente sind auch hier mit gleichen Bezugszeichen
versehen. In der Fig. 6 bezeichnet 52 einen GF-
Multiplizierer, dessen einer Eingang mit dem Ausgang eines
2/1-Multiplexers 53 und dessen anderer Eingang mit dem
Ausgang eines weiteren 2/1-Multiplexers 54 verbunden ist.
Der Ausgang des GF-Multiplizierers 53 liegt an dem Eingang
eines UND-Gatters 55, welches Ausgangsdaten des GF-
Multiplizierers 52 in Abhängigkeit eines das UND-Gatter 55
steuernden Steuersignals EnFb[i] einem Eingang eines EXOR-
Gatters 56 zuleitet. Der andere Eingang des EXOR-Gatters
56 ist über ein von dem Steuersignal Enln[i]
beaufschlagtes UND-Gatter 57 verbunden, dem Ausgangsdaten
T0[i] eines Registerstapels 58 zugeführt sind. Dieser
Registerstapel 58 weist 17 Ebenen für jeweils 8 Bit breite
Datenworte auf. Auch hier ist aus Gründen der
Übersichtlichkeit nur eine Ebene dargestellt. In der
ersten Ebene bzw. Stufe TO[0] des Registerstapels 58 ist
in die Verbindungsleitung zwischen dem Ausgang des UND-
Gatters 57 und einem Eingang des EXOR-Gatters 56 ein ODER-
Gatter 59 eingefügt, das den Signalstrom durch ein
Steuersignal Set1 beeinflussen kann.
Der in eine Eingangsleitung des GF-Multiplizierers 52
eingefügte 2/1-Multiplexer 54 ist eingangsseitig mit dem
Ausgang des Konstantenspeichers 26 sowie mit dem Ausgang
des bereits erwähnten Registers 27 verbunden, das einen
Koeffizienten des Zwischenwertpolynoms Qs-1(X) enthält. Der
in der anderen Eingangsleitung des GF-Multip1izierers 52
eingefügte 2/1-Multiplexer 53 ist eingangsseitig mit dem
am Ausgang T0[i-1] der zweiten Ebene des Registerstapels
58 sowie dem am Ausgang eines 9/1-Multiplexers 60
verbunden. Der 2/1-Multiplexer 53 ist durch ein
Schaltsignal T_sel und der 2/1-Multiplexer 54 durch das
Schaltsignal H_sel steuerbar. Beide Schaltsignale werden
In der Steuereinrichtung 11 (Fig. 5) erzeugt.
Den neun Eingängen des 9/1-Multiplexers 60, der durch das
Schaltsignal d3 . . 0 der Steuereinrichtung 11 steuerbar ist,
sind Daten zugeführt, die an Ausgängen T[i] bis T[i-8]
eines in der Fig. 7 dargestellten Registerstapels 61
abgreifbar sind. Die Steuersignale EnIn[i] und EnFb[i]
ermöglichen eine separate Ansteuerung der einzelnen
Registerebenen des Registerstapels 58. Die Schaltsignale
Set1, T_sel, H_sel und d gelten für alle 17 Bytes des
Registerstapels 58 gemeinsam. Ebenso gilt Tinsel und EnT
für alle 17 Ebenen des Registerstapels 61.
Die Fig. 9 zeigt eine Wahrheitstabelle über das Zusammen
wirken dieser einzelnen Schalt- und Steuersignale zum
Betrieb des Registerstapels 58. Zum Verständnis dieser
Wahrheitstabelle seien nachfolgend die ersten beiden
Zeilen betrachtet. In der ersten Zeile der
Wahrheitstabelle findet zunächst eine Initialisierung des
Registerstapels 58 statt, bei welcher in die 17 Ebenen des
Registerstapels 58 der Hex_Wert 00 geschrieben wird. Zur
Einleitung des Initialisierungsvorgang müssen die
Steuersignale Set1, EnIn[i] und EnFb[i] einen logischen L-
Pegel aufweisen, während die Schaltsignale d, T_sel und
H_sel einen beliebigen Pegel X annehmen dürfen. Die zweite
Zeile der Wahrheitstabelle nimmt bezug auf die
Besonderheit der Initialisierung der ersten Ebene des
Registerstapels 58. Dabei wird der Hex-Wert 01 in die
erste Ebene des Registerstapels 58 geschrieben, während
die übrigen Ebenen den Hex-Wert 00 annehmen. Die folgenden
Zeilen der Wahrheitstabelle enthalten Kombinationen, die
das Halten und Vertauschen von Registerinhalten und die
steuernden Maßnahmen zum Erhalt des Fehlerortpolynoms Ts(X)
betreffen.
Der in der Fig. 7 dargestellte Registerstapel 61 besteht
ebenso wie der Registerstapel 58 aus 17
parallelgeschalteten Speicherebenen in einer Wortbreite
von jeweils 8 Bit. Auch der Registerstapel 61 speichert
die zugeführten Datenworte für die Dauer einer
Taktperiode. Das Registerstapel 61 wird über ein UND-
Gatter 62 selektiv von Daten angesteuert, die an zwei
Eingängen eines 2/1-Multiplexers 63 liegen. Von den
Eingängen der 2/1-Multiplexer 63 ist der Eingang 1 mit
einem Signal T0[i] am Ausgang des Registerstapels 58 und
der Eingang Null mit dem Signal T[i] am Ausgang des
Registerstapels 61 beaufschlagt. Die Steuerung des 2/1-
Multiplexers 63 erfolgt durch ein in der Steuereinrichtung
11 abgeleitetes Schaltsignal Tinsel. Von dem 2/1-
Multiplexer 63 ausgegebenen Daten gelangen über das UND-
Gatter 62, das durch ein Steuersignal EnT freigegeben
wird, zu dem Eingang des Registerstapels 61.
Eine zur Steuerung des Registertransfers von
Registerstapel 61 zugeordnete Wahrheitstabelle zeigt die
Fig. 11. Je nach logischem Pegel der Steuersignale Tinsel
und EnT wird der Inhalt des Registerstapels 61 beeinflußt,
d. h. in einer Initialisierungsphase wird der
Registerstapel 61 mit dem Hex-Wert 00 geladen, die in dem
Registerstapel gespeicherte Dateninformation wird gehalten
bzw. mit der im Register 58 gespeicherten Dateninformation
getauscht.
Die in den Fig. 6 und 7 dargestellten Registertransfer
einrichtungen weisen folgende Funktion auf:
Das an dem Ausgang des 2/1-Multiplexers 54 abnehmbare
Zwischenwertpolynom Qs-1(X) wird in dem GF-Multiplizierer
52 mit dem vom Ausgang des 2/1-Multiplexers 53 abnehmbaren
Fehlerortpolynom Ts-(X) multipliziert. Das Ausgangssignal
des GF-Multiplizierers 52 genügt dem Term
(Qs-1 (X)) Ts-1 (X). Diesem Term wird in dem EXOR-Gatter 56
das Fehlerortpolynom Ts-2(X) zuaddiert, so daß am Ausgang
(Klemme 64) des EXOR-Gatters 56 das durch Anwendung eines
Euclid-Algorithmus erzeugte Fehlerortpolynom Ts(X) =
Qs-1(X) Ts-1(X) + Ts-2(X) zur Weiterverarbeitung in den
Funktionsblock 13 des RS-Decoders zur Verfügung steht.
Claims (15)
1. Reed-Solomon-Decoder mit
- - einer Einrichtung (3) zur Ermittlung von Syndromen (S(X)) und Auslöschorten (L(X)) in einem zu decodierenden Datensignal,
- - einer Einrichtung (6) zur Erzeugung von Fehlerort-
und Fehlerwert-Polynomen anhand ermittelter Syndrome
(S(X)) und Auslöschorte (L(X)) nach einem Euclid-
Algorithmus, bei welchem
Ts(X) = (Qs-1(X))Ts-1(X)+Ts-2(X)
Rs(X) = (Qs-1(X)Rs-1(X)+Rs-2(X) und
Qs-1(X) = Rs-2(X)/Rs-1(X) ist,wobei Ts(X) ein Fehlerortpolynom, Rs(X) ein Fehlerwertpolynom und Qs-i(X) ein Zwischenwertpolynom ist, und welche Einrichtung (6) einen ersten und zweiten Registerstapel (25, 29) zur Speicherung von zwei zuvor erzeugten Fehlerwertpolynomen (Rs-1(X), Rs-2(X)) sowie einen dritten und vierten Registerstapel (58, 61) zur Speicherung von zwei zuvor erzeugten Fehlerortpolynomen (Ts-1(X), Ts-2(X)) aufweist, - - einer Einrichtung (13) zur Ermittlung von Fehlerorten Xk und Fehlerwerten Yk durch eine Nullstellensuche nach Chien in den erzeugten Fehlerort- und Fehlerwertpolynomen Ts(X) und Rs(X) und
- - einer Einrichtung (14) zur Korrektur von Datenworten in dem zu decodierenden Datensignal anhand der ermittelten Fehlerorte Xk und Fehlerwerte Yk,
dadurch gekennzeichnet,
daß zur Erzeugung des Fehlerwertpolynoms Rs(X) vorgesehen
sind:
ein erster Galois-Feld-Multiplizierer (18), dessen einem Eingang Daten vom Ausgang eines ersten Registers (27) mit Koeffizienten eines Zwischenwertpolynoms Qs-1(X) und dessen anderem Eingang Daten (R[i]) vom Ausgang des zweiten Registerstapels (29) abgreifbaren Fehlerwertpolynoms Rs-1(X) aufgeschaltet ist, wobei einem Eingang des zweiten Registerstapels (29) Ausgangsdaten des ersten Registerstapels (25) zugeleitet sind, und
eine erste Einrichtung (22) zur Addition der an einem Ausgang des ersten Galois-Feld-Multiplizierers (18) vorliegenden Daten zu Daten an einem Ausgang des ersten Registerstapels (25),
daß zur Erzeugung des Fehlerortpolynoms Ts(X) vorgesehen sind:
ein zweiter Galois-Feld-Multiplizierer (52), dessen einem Eingang Daten das an dem Ausgang des ersten Registers (27) abnehmbaren Koeffizienten des Zwischenwertpolynoms Qs-1(X) und dessen anderem Eingang Daten T[i] des an einem Ausgang des vierten Registerstapels (61) abgreifbare Fehlerortpolynom Ts (X) aufgeschaltet ist, wobei einem Eingang des vierten Registerstapels (61) Ausgangsdaten des dritten Registerstapels (58) zugeleitet sind, und
eine zweite Einrichtung (56) zur Addition der an einem Ausgang des zweiten Galois-Feld-Multiplizierers (52) vorliegenden Daten zu Daten an einem Ausgang des dritten Registerstapels (58), und
daß zur Erzeugung des Zwischenwertpolynoms Qs-1(X) vorgesehen ist:
eine Einrichtung (33 bis 40) zur Division der Ausgangsdaten des zweiten Registerstapels (29) durch die Ausgangsdaten des ersten Registerstapels (25), welche einen durch Division erhaltenen Quotienten als Zwischenwertpolynom (Qs-1(X)) dem ersten Register (27) zur Speicherung zuführt.
ein erster Galois-Feld-Multiplizierer (18), dessen einem Eingang Daten vom Ausgang eines ersten Registers (27) mit Koeffizienten eines Zwischenwertpolynoms Qs-1(X) und dessen anderem Eingang Daten (R[i]) vom Ausgang des zweiten Registerstapels (29) abgreifbaren Fehlerwertpolynoms Rs-1(X) aufgeschaltet ist, wobei einem Eingang des zweiten Registerstapels (29) Ausgangsdaten des ersten Registerstapels (25) zugeleitet sind, und
eine erste Einrichtung (22) zur Addition der an einem Ausgang des ersten Galois-Feld-Multiplizierers (18) vorliegenden Daten zu Daten an einem Ausgang des ersten Registerstapels (25),
daß zur Erzeugung des Fehlerortpolynoms Ts(X) vorgesehen sind:
ein zweiter Galois-Feld-Multiplizierer (52), dessen einem Eingang Daten das an dem Ausgang des ersten Registers (27) abnehmbaren Koeffizienten des Zwischenwertpolynoms Qs-1(X) und dessen anderem Eingang Daten T[i] des an einem Ausgang des vierten Registerstapels (61) abgreifbare Fehlerortpolynom Ts (X) aufgeschaltet ist, wobei einem Eingang des vierten Registerstapels (61) Ausgangsdaten des dritten Registerstapels (58) zugeleitet sind, und
eine zweite Einrichtung (56) zur Addition der an einem Ausgang des zweiten Galois-Feld-Multiplizierers (52) vorliegenden Daten zu Daten an einem Ausgang des dritten Registerstapels (58), und
daß zur Erzeugung des Zwischenwertpolynoms Qs-1(X) vorgesehen ist:
eine Einrichtung (33 bis 40) zur Division der Ausgangsdaten des zweiten Registerstapels (29) durch die Ausgangsdaten des ersten Registerstapels (25), welche einen durch Division erhaltenen Quotienten als Zwischenwertpolynom (Qs-1(X)) dem ersten Register (27) zur Speicherung zuführt.
2. Reed-Solomon-Decoder nach Anspruch 1, dadurch
gekennzeichnet, daß die erste Einrichtung (22) zur
Addition ein achtfaches EXOR-Gatter (22) mit jeweils zwei
Eingängen ist, bei welchem ein Eingang mit dem Ausgang des
ersten Galois-Feld-Multiplizierers (18) und ein anderer
Eingang mit dem Ausgang des ersten Registerstapels (25)
verbunden ist und bei welchem der Ausgang an einem Eingang
des ersten Registerstapels (25) liegt.
3. Reed-Solomon-Decoder nach Anspruch 1 und 2,
gekennzeichnet durch eine erste und zweite Einrichtung
(21, 23) zur UND-Verknüpfung von den den Eingängen des
ersten EXOR-Gatters (22) zugeführten Daten mit jeweils
einem ersten und zweiten Steuersignal (EnIn[i], nFb[i]),
welche einem Eingang der ersten und zweiten Einrichtung
(21, 23) zur UND-Verknüpfung zugeführt sind, um den
Datenfluß im Sinn einer Unterbrechung zu steuern.
4. Reed-Solomon-Decoder nach Anspruch 1 bis 3,
gekennzeichnet durch einen ersten Multiplexer (24) mit
zwei Eingängen und einem Ausgang, bei welchem gesteuert
durch ein erstes Schaltsignal (Insel) entweder die am
Ausgang des ersten Registerstapels (25) abnehmbaren Daten
oder die ermittelten Syndrome (Si) zu dem einen Eingang des
ersten EXOR-Gatters (22) leitbar sind.
5. Reed-Solomon-Decoder nach Anspruch 1, gekennzeichnet
durch
einen zweiten Multiplexer (20) mit zwei Eingängen und einem Ausgang, über welchen gesteuert durch ein zweites Schaltsignal (H_sel) entweder die am Ausgang des ersten Registers (27) abnehmbaren Daten des Zwischenwertpolynoms Qs-1(X) oder der Wert einer Konstanten (α°=1) zu dem einen Eingang des ersten Galois-Feld-Multiplizieres (18) leitbar ist,
einen dritten Multiplexer (19) mit zwei Eingängen und einem Ausgang, über welchem gesteuert durch ein drittes Schaltsignal (R_sel), entweder die am Ausgang des ersten Registerstapels (25) abnehmbaren Daten (R0[i-1]) oder bestimmte Daten (R [i], R [i-1], . . . R [i-8]) des Fehlerwertpolynoms Rs(X) vom Ausgang des zweiten Registerstapels (R) zu dem anderen Eingang des ersten Galois-Feld Multiplizierers (18) leitbar sind, und
einen durch ein fünftes Schaltsignal (d[3 . . 0]) gesteuerten vierten Multiplexer (28) mit neun Eingängen und einem Ausgang, dessen Eingänge verschiedene an Ausgängen des zweiten Registerstapels (29) liegenden Datenworte (R[i], R[i-1] , R[i-8]) des Fehlerwertpolynoms Rs(X) zugeführt sind und dessen Ausgang mit einem der beiden Eingänge des dritten Multiplexers (19) verbunden ist.
einen zweiten Multiplexer (20) mit zwei Eingängen und einem Ausgang, über welchen gesteuert durch ein zweites Schaltsignal (H_sel) entweder die am Ausgang des ersten Registers (27) abnehmbaren Daten des Zwischenwertpolynoms Qs-1(X) oder der Wert einer Konstanten (α°=1) zu dem einen Eingang des ersten Galois-Feld-Multiplizieres (18) leitbar ist,
einen dritten Multiplexer (19) mit zwei Eingängen und einem Ausgang, über welchem gesteuert durch ein drittes Schaltsignal (R_sel), entweder die am Ausgang des ersten Registerstapels (25) abnehmbaren Daten (R0[i-1]) oder bestimmte Daten (R [i], R [i-1], . . . R [i-8]) des Fehlerwertpolynoms Rs(X) vom Ausgang des zweiten Registerstapels (R) zu dem anderen Eingang des ersten Galois-Feld Multiplizierers (18) leitbar sind, und
einen durch ein fünftes Schaltsignal (d[3 . . 0]) gesteuerten vierten Multiplexer (28) mit neun Eingängen und einem Ausgang, dessen Eingänge verschiedene an Ausgängen des zweiten Registerstapels (29) liegenden Datenworte (R[i], R[i-1] , R[i-8]) des Fehlerwertpolynoms Rs(X) zugeführt sind und dessen Ausgang mit einem der beiden Eingänge des dritten Multiplexers (19) verbunden ist.
6. Reed-Solomon-Decoder nach Anspruch 1, gekennzeichnet
durch
einen durch ein sechstes Schaltsignal (Rinsel[1 . . 0]) gesteuerten fünften Multiplexer (31) mit vier Eingängen und einem Ausgang, bei welchem einem Eingang ein erstes bestimmtes Datenwort (Ri+1) des am Ausgang des zweiten Registerstapels (29) abnehmbaren Fehlerwertpolynoms Rs(X) zugeführt ist, bei welchem einem zweiten Eingang ein bestimmtes Datenwort (L[i]) der Auslöschungsorte) zugeführt ist, bei welchem einem dritten Eingang ein bestimmtes an dem Ausgang des ersten Registerstapels (25) liegendes Datenwort (RO[i]) zugeführt ist und bei welchem einem vierten Eingang ein zweites bestimmtes Datenwort (R[i]) des zweiten Registerstapels (29) abnehmbaren Fehlerwertpolynoms Rs(X) zugeführt ist, und eine dritte Einrichtung (30) zur UND-Verknüpfung von am Ausgang des fünften Multiplexers (31) abnehmbaren Daten mit einem dritten Steuersignal (EnRin[i]) und Weiterleitung der durch die UND-Verknüpfung gewonnenen Daten zu einem Eingang des zweiten Registerstapels (29).
einen durch ein sechstes Schaltsignal (Rinsel[1 . . 0]) gesteuerten fünften Multiplexer (31) mit vier Eingängen und einem Ausgang, bei welchem einem Eingang ein erstes bestimmtes Datenwort (Ri+1) des am Ausgang des zweiten Registerstapels (29) abnehmbaren Fehlerwertpolynoms Rs(X) zugeführt ist, bei welchem einem zweiten Eingang ein bestimmtes Datenwort (L[i]) der Auslöschungsorte) zugeführt ist, bei welchem einem dritten Eingang ein bestimmtes an dem Ausgang des ersten Registerstapels (25) liegendes Datenwort (RO[i]) zugeführt ist und bei welchem einem vierten Eingang ein zweites bestimmtes Datenwort (R[i]) des zweiten Registerstapels (29) abnehmbaren Fehlerwertpolynoms Rs(X) zugeführt ist, und eine dritte Einrichtung (30) zur UND-Verknüpfung von am Ausgang des fünften Multiplexers (31) abnehmbaren Daten mit einem dritten Steuersignal (EnRin[i]) und Weiterleitung der durch die UND-Verknüpfung gewonnenen Daten zu einem Eingang des zweiten Registerstapels (29).
7. Reed-Solomon-Decoder nach Anspruch 1, dadurch
gekennzeichnet, daß die zweite Einrichtung (56) zur
Addition ein zweites achtfaches EXOR-Gatter (56) mit
jeweils zwei Eingängen (56) ist, bei welchem ein Eingang
mit dem Ausgang des zweiten Galois-Feld-Multiplizierers
(52) und ein anderer Eingang mit dem Ausgang des dritten
Registerstapels (58) verbunden ist und bei welchem der
Ausgang an einem Eingang des dritten Registerstapels (61)
angeschlossen ist.
8. Reed-Solomon-Decoder nach Anspruch 1 und 7,
gekennzeichnet durch eine vierte und fünfte Einrichtung
(55, 57) zur UND-Verknüpfung von den den Eingängen den
zweiten EXOR-Gatters (56) zugeführten Daten mit jeweils
dem ersten und zweiten Steuersignal (EnIn[i], EnFb[i]),
welche einem Eingang der vierten und fünften Einrichtung
(55, 57) zur UND-Verknüpfung aufgeschaltet sind, um den
Datenfluß im Sinn einer Unterbrechung zu steuern.
9. Reed-Solomon-Decoder nach Anspruch 7 und 8, dadurch
gekennzeichnet, daß zwischen dem Ausgang der vierten
Einrichtung (57) zur UND-Verknüpfung und dem einen Eingang
des zweiten EXOR-Gatters (56) eine Einrichtung zur ODER-
Verknüpfung (59) eingefügt ist, um in einer Stufe TO(0)
des dritten Registerstapels (58) eine logische "1" in den
Datenstrom einzufügen.
10. Reed-Solomon-Decoder nach Anspruch 7 bis 9,
gekennzeichnet durch
einen sechsten Multiplexer (54) mit zwei Eingängen und einem Ausgang, über welchem gesteuert durch das zweite Schaltsignal (H_sel) entweder die am Ausgang des ersten Registers (27) abnehmbaren Koeffizienten des Zwischenwertpolynoms Qs-i (X) oder der Wert einer Konstanten (α°=1) zu dem einem Eingang des zweiten Galois- Feld-Multiplizierers (52) leitbar ist,
einen siebten Multiplexer (53) mit zwei Eingängen und einem Ausgang, über welchem gesteuert durch ein viertes Schaltsignal (T_sel) entweder die am Ausgang des dritten Registerstapels (58) abnehmbaren Daten (T0[i-1]) oder bestimmte Daten (T[i], T[i-1] T[i-8]) des Fehlerortpolynoms Ts(X) vom Ausgang des vierten Registerstapels (61) zu dem anderen Eingang des zweiten Galois-Feld Multiplizierers (52) leitbar sind, und
einen durch das fünfte Schaltsignal (d]3 . . 0]) gesteuerten achten Multiplexer (60) mit neun Eingängen und einem Ausgang, dessen Eingänge verschiedene, an Ausgängen des vierten Registerstapels (61) liegende Datenworte (T[i], T[i-1], . . . ,T[i-8]) des Fehlerortpolynoms Ts(x) zugeführt sind und an dessen Ausgang mit einem der beiden Eingänge des siebenten Multiplexers (53) verbunden ist.
einen sechsten Multiplexer (54) mit zwei Eingängen und einem Ausgang, über welchem gesteuert durch das zweite Schaltsignal (H_sel) entweder die am Ausgang des ersten Registers (27) abnehmbaren Koeffizienten des Zwischenwertpolynoms Qs-i (X) oder der Wert einer Konstanten (α°=1) zu dem einem Eingang des zweiten Galois- Feld-Multiplizierers (52) leitbar ist,
einen siebten Multiplexer (53) mit zwei Eingängen und einem Ausgang, über welchem gesteuert durch ein viertes Schaltsignal (T_sel) entweder die am Ausgang des dritten Registerstapels (58) abnehmbaren Daten (T0[i-1]) oder bestimmte Daten (T[i], T[i-1] T[i-8]) des Fehlerortpolynoms Ts(X) vom Ausgang des vierten Registerstapels (61) zu dem anderen Eingang des zweiten Galois-Feld Multiplizierers (52) leitbar sind, und
einen durch das fünfte Schaltsignal (d]3 . . 0]) gesteuerten achten Multiplexer (60) mit neun Eingängen und einem Ausgang, dessen Eingänge verschiedene, an Ausgängen des vierten Registerstapels (61) liegende Datenworte (T[i], T[i-1], . . . ,T[i-8]) des Fehlerortpolynoms Ts(x) zugeführt sind und an dessen Ausgang mit einem der beiden Eingänge des siebenten Multiplexers (53) verbunden ist.
11. Reed-Solomon-Decoder nach Anspruch 1, gekennzeichnet
durch
einen durch ein siebentes Schaltsignal (Tinsel) gesteuerten neunten Multiplexer (63) mit zwei Eingängen und einem Ausgang, bei welchem einem ersten Eingang ein bestimmtes, an dem Ausgang des dritten Registerstapels (58) liegende Datenwort (TO[i]) zugeführt ist, und bei welchem einem zweiten Eingang ein bestimmtes, an dem Ausgang des vierten Registerstapels (61) liegendes Datenwort (T[i]) zugeführt ist, und
eine sechste Einrichtung (62) zur UND-Verknüpfung von am Ausgang des neunten Multiplexers (63) abnehmbaren Daten mit einem vierten Steuersignal (EnT) und zur Weiterleitung der UND-verknüpften Daten zu einem Eingang des vierten Registerstapels (61).
einen durch ein siebentes Schaltsignal (Tinsel) gesteuerten neunten Multiplexer (63) mit zwei Eingängen und einem Ausgang, bei welchem einem ersten Eingang ein bestimmtes, an dem Ausgang des dritten Registerstapels (58) liegende Datenwort (TO[i]) zugeführt ist, und bei welchem einem zweiten Eingang ein bestimmtes, an dem Ausgang des vierten Registerstapels (61) liegendes Datenwort (T[i]) zugeführt ist, und
eine sechste Einrichtung (62) zur UND-Verknüpfung von am Ausgang des neunten Multiplexers (63) abnehmbaren Daten mit einem vierten Steuersignal (EnT) und zur Weiterleitung der UND-verknüpften Daten zu einem Eingang des vierten Registerstapels (61).
12. Reed-Solomon-Decoder nach Anspruch 1, gekennzeichnet
durch eine Steuereinrichtung (11) zur Ableitung der
Schalt- und Steuersignale in Abhängigkeit des Grades einer
Division, die aus dem Divisor Rs-2(X) und dem Divident
Rs-1(X) des Zwischenwertpolynoms Qs-1(X) gebildet ist.
13. Reed-Solomon-Decoder nach Anspruch 1 und 12, dadurch
gekennzeichnet, daß die Einrichtung (33 bis 40) zur
Division einen ersten Multiplizierer (35) aufweist, dessen
einem Eingang über einen Galois-Feld-Inverter (34)
Auslöschorte (L(X)) und dessen anderen Eingang ein Wert
über die Codewortlänge (CWlen) des zu decodierenden
Datensignals zugeführt sind und an dessen Ausgang als
Quotient das Zwischenwert-polynom Qs-i(X) abnehmbar ist.
14. Reed-Solomon-Decoder nach Anspruch 1, dadurch
gekennzeichnet, daß zur Erzeugung des fünften
Schaltsignals (d[3 . . 0]) vorgesehen sind:
ein zweites Register (12) zur Speicherung von Daten über den Grad des in dem ersten Registerstapel (25) gespeicherten Fehlerwertpolynoms Rs-2(X),
ein Subtrahierer (49, 52), welchem alternativ ein Wert (P) über die Anzahl von verwendeten Parities in Datenworten des zu decodierenden Datensignals oder Daten über den Grad des in dem ersten Registerstapel (25) gespeicherten Fehlerwertpolynoms Rs-2(X) sowie Daten an einem Ausgang des zweiten Registers (12) zugeführt sind, und
einem dritten Register (47) zur Speicherung des von dem Subtrahierer (49, 52) abgegebenen Schaltsignals (d[3 . . 0]).
ein zweites Register (12) zur Speicherung von Daten über den Grad des in dem ersten Registerstapel (25) gespeicherten Fehlerwertpolynoms Rs-2(X),
ein Subtrahierer (49, 52), welchem alternativ ein Wert (P) über die Anzahl von verwendeten Parities in Datenworten des zu decodierenden Datensignals oder Daten über den Grad des in dem ersten Registerstapel (25) gespeicherten Fehlerwertpolynoms Rs-2(X) sowie Daten an einem Ausgang des zweiten Registers (12) zugeführt sind, und
einem dritten Register (47) zur Speicherung des von dem Subtrahierer (49, 52) abgegebenen Schaltsignals (d[3 . . 0]).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19934316813 DE4316813A1 (de) | 1993-05-19 | 1993-05-19 | Reed-Solomon-Decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19934316813 DE4316813A1 (de) | 1993-05-19 | 1993-05-19 | Reed-Solomon-Decoder |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4316813A1 true DE4316813A1 (de) | 1994-11-24 |
Family
ID=6488506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19934316813 Withdrawn DE4316813A1 (de) | 1993-05-19 | 1993-05-19 | Reed-Solomon-Decoder |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4316813A1 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6131178A (en) * | 1997-04-15 | 2000-10-10 | Mitsubishi Denki Kabushiki Kaisha | Error correcting decoding apparatus of extended Reed-Solomon code, and error correcting apparatus of singly or doubly extended Reed-Solomon codes |
WO2002043250A2 (fr) * | 2000-11-27 | 2002-05-30 | Nortel Networks France | Procede de decodage d'un bloc de symboles et dispositif mettant en oeuvre un tel procede |
EP1388947A1 (de) * | 2002-08-05 | 2004-02-11 | Alcatel | System mit Verschachteler und Entschachteler |
-
1993
- 1993-05-19 DE DE19934316813 patent/DE4316813A1/de not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6131178A (en) * | 1997-04-15 | 2000-10-10 | Mitsubishi Denki Kabushiki Kaisha | Error correcting decoding apparatus of extended Reed-Solomon code, and error correcting apparatus of singly or doubly extended Reed-Solomon codes |
DE19816347C2 (de) * | 1997-04-15 | 2001-01-25 | Mitsubishi Electric Corp | Fehlerkorrekturvorrichtung für einen erweiterten Reed-Solomon-Code, einen einfach erweiterten Reed-Solomon-Code und einen doppelt erweiterten Reed-Solomon-Code |
WO2002043250A2 (fr) * | 2000-11-27 | 2002-05-30 | Nortel Networks France | Procede de decodage d'un bloc de symboles et dispositif mettant en oeuvre un tel procede |
FR2817418A1 (fr) * | 2000-11-27 | 2002-05-31 | Matra Nortel Communications | Procede de decodage d'un bloc de symboles et dispositif mettant en oeuvre un tel procede |
WO2002043250A3 (fr) * | 2000-11-27 | 2002-07-25 | Matra Nortel Communications | Procede de decodage d'un bloc de symboles et dispositif mettant en oeuvre un tel procede |
EP1388947A1 (de) * | 2002-08-05 | 2004-02-11 | Alcatel | System mit Verschachteler und Entschachteler |
US7139958B2 (en) | 2002-08-05 | 2006-11-21 | Alcatel | System with interleaver and de-interleaver |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69424877T2 (de) | Reed-solomon-dekoder | |
DE69414631T2 (de) | Schaltung zur Durchführung des Euclidschen Algorithmus bei der Dekodierung Arithmetischer Kodes | |
EP0545498B1 (de) | Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen | |
DE3852474T2 (de) | Nachschlagetabellen verwendende Fehlerkorrektur. | |
EP0426657B1 (de) | Verfahren und Vorrichtung zur Dekodierung eines Fehler-Korrektur-Code | |
DE69834542T2 (de) | Hardwareoptimierter reed-solomon-decoder zur decodierung grosser datenblöcke | |
DE69320321T2 (de) | Verfahren und Gerät zum Nachprüfen von CRC-Koden, wobei CRC Teilkode kombiniert werden | |
JP4643957B2 (ja) | メッセージのcrcを計算するための方法 | |
DE4105860C2 (de) | Schaltungsanordnung zum Erkennen und Korrigieren von Fehlern in Datenworten | |
DE69019777T2 (de) | Datenstrom-Rahmensynchronisation. | |
DE69905987T2 (de) | Verfahren und Gerät zur Kodierung und Signalübertragung unter Verwendung eines Sub-Codes von einem Produktcodes | |
DE60124851T2 (de) | Vorrichtung und Verfahren zur Fehlererkennung in einem CRC Code mit invertierten Paritätsbits | |
KR20120062019A (ko) | 통신 시스템에서 에러 검출 방법 및 장치 | |
DE10133595A1 (de) | Pufferschaltung, Speicherzugriffsverfahren, Speicherbauelement und Reed-Solomon-Decoder | |
DE3404417A1 (de) | Codierer-pruefschaltungsanordnung | |
DE10105626B4 (de) | Verfahren und System zur Berechnung von zyklischem Blockprüfungscode und Verfahren zum Erkennen eines Fehlers | |
DE60309857T2 (de) | Methode zur dekodierung von reed-solomon kodes mittels feinentscheidung | |
DE69430519T2 (de) | Verfahren und Gerät für einen Dekoder mit reduzierter Iteration | |
WO2004021630A1 (de) | Parallelverarbeitung der decodierung und der zyklischen redundanzüberprüfung beim empfang von mobilfunksignalen | |
US5822337A (en) | Programmable redundancy/syndrome generator | |
DE60311764T2 (de) | Verfahren und Vorrichtung zur Dekodierung von Reed-Solomon Kodes | |
DE69837784T2 (de) | Verbessertes fünf-fehler-korrektursystem | |
DE69130717T2 (de) | Maximalwahrscheinlichkeitssequenzdetektor | |
DE4316813A1 (de) | Reed-Solomon-Decoder | |
DE3856035T2 (de) | Schaltung mit grosser bandbreite und verfahren zur reed-solomon-kodierung, dekodierung und fehlerkorrektur |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |