AT393926B - Geraet zur feststellung und korrektur von fehlern in empfangenen digitaldatensignalen - Google Patents
Geraet zur feststellung und korrektur von fehlern in empfangenen digitaldatensignalen Download PDFInfo
- Publication number
- AT393926B AT393926B AT0314981A AT314981A AT393926B AT 393926 B AT393926 B AT 393926B AT 0314981 A AT0314981 A AT 0314981A AT 314981 A AT314981 A AT 314981A AT 393926 B AT393926 B AT 393926B
- Authority
- AT
- Austria
- Prior art keywords
- error
- signals
- word
- words
- errors
- Prior art date
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
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1806—Pulse code modulation systems for audio signals
- G11B20/1809—Pulse code modulation systems for audio signals by interleaving
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
AT 393 926 B
Die Erfindung betrifft ein Gerät zur Feststellung und Korrektur von Fehlem in empfangenen Digitaldatensignalen, welche aus Datenworten und Fehlerkontrollworten bestehen, umfassend Syndromerzeugungseinrichtungen, zum Erzeugen einer Mehrzahl von Fehlersyndromsignalen durch Multiplikation eines Blocks der empfangenen Datensignale und Fehlerkontrollworte mit einer Paritätskontrollmatrix, Feststelleinrichtungen, welche an die Syndromerzeugungseinrichtungen angeschlossen sind, zum Feststellen, ob Fehler in den empfangenen Digitaldatensignalen vorhanden sind, indem vorgewählte Gleichheiten oder Ungleichheiten unter den Fehlersyndromsignalen kontrolliert und Anzeigesignale erzeugt werden, die das Auftreten solcher Fehler aufzeigen, Fehlerlokalisations-Erzeugungseinrichtungen, welche an die Syndromerzeugungseinrichtungen angeschlossen sind, zum Erzeugen von Fehlerlokalisationssignalen zur Anzeige der Lokalisation dieser Fehler, Fehlermuster-Erzeugungseinrichtungen, welche an die Syndromerzeugungseinrichtungen angeschlossen sind, zum Erzeugen von Fehlermustersignalen unter Verwendung der Fehlersyndromsignale und Fehlerkorrektureinrichtungen, welche an die Fehlermuster-Erzeugungseinrichtungen angeschlossen sind, zur Korrektur der Fehler unter Verwendung der Fehlerlokalisationssignale und der Fehlermustersignale.
Es wurde bereits ein Datenübertragungssystem zur wirksamen Korrektur von Burstfehlem vorgeschlagen, wobei die sogenannte Kreuz-Verschachtelungstechnik verwendet wird. Bei dieser Kreuz-Verschachtelungstechnik sind die Worte in den PCM-Datensignalserien (Pulscodemodulation) in einem ersten Anordnungszustand, und werden einem ersten (Kontrollwortkodierer) zugeführt, um davon erste Kontrollwortserien zu erzeugen. Die ersten Kontrollwortserien und die PCM-Datensignalserien einer Mehrzahl von Kanälen werden dann in einen zweiten Anordnungszustand gebracht Ein Wort jedes der PCM-Datensignalserien des zweiten Anordnungszustands der Mehrzahl von Kanälen wird dann einem zweiten Fehlerkorrekturkodierer zugeführt, um davon zweite Kontrollwortserien zu «zeugen, so daß eine doppelte Verschachtelung (d. h. eine doppelte Neuanordnung) für jedes Wort ausgeführt wird. Der Zweck der doppelten Verschachtelung ist die Reduzierung der Anzahl von fehlerhaften Worten in jeder Gruppe von Worten eines gemeinsamen Fehlerkorrekturblocks, wenn die in dem Fehlerkorrekturblock enthaltenen und mit den PCM-Daten verbundenen Kontrollworte verteilt und übertragen werden. Jedes dieser fehlerhaften Worte wird üb« mehrere Blöcke verteilt und auf der Empfangsseite wieder in den ursprünglichen Anordnungszustand gebracht. Mit anderen Worten, wenn bei der Übertragung ein Burstfehler auftritt, so kann der Burstfehler verteilt werden. Wenn die obige Verschachtelung zweifach ausgeführt wird, so können die ersten und zweiten Kontrollworte zur Korrektur von Worten verschiedener Fehlerkonekturblöcke verwendet werden. Wenn somit ein Fehler nicht durch eines der ersten und zweiten Kontrollworte korrigiert werden kann, so kann der Fehler durch das andere Kontrollwort korrigiert werden. Durch diese Technik wird eine Verbesserung des Fehlerkorrekturvermögens für Burstfehler erzielt.
Wenn jedoch ein bit in einem Wort als fehlerhaft erkannt wird, so wird das ganze Wort als fehlerhaft festgestellt. Weist daher ein empfangenes Datensignal eine relativ große Anzahl von Zufallsfehlem auf, so ist die obige doppelte Verschachtelungstechnik nicht immer zur Korrektur dies« Zufallsfehler geeignet
Zu diesem Zwecke wurde ein Fehlerkorrekturcode mit hoher Fehlerkorrekturmöglichkeit vorgeschlagen, wie z. B. der Reed-Solomon (RS) Code, der Bose-Chaudhuri-Hocquenghem (BHC) Code, oder eine Variante des b-adjacent Codes, welcher K-Wortfehler korrigieren kann, z. B. zwei Wortfehler in einen Block, sowie M-Wortfehler, wenn die Lokalisation des Fehlers bekannt ist, wobei eine Kombination mit der obigen Mehrfachverschachtelungstechnik erfolgt
Dieser Fehlerkorrekturcode ermöglicht den vereinfachten Aufbau eines Dekodierers, wenn nur ein Wortfehler zu korrigieren ist.
Bei der Korrektur von zwei Wortfehlem wird wegen des grundsätzlich verwendeten Algorithmus der Fehlerkorrektur durch Verwendung eines Syndroms beim ersten Schritt kontrolliert, ob ein Fehler auftritt oder nicht wobei beim zweiten Schritt kontrolliert wird, ob der Fehler ein Einwortfehler ist oder nicht und beim dritten Schritt kontrolliert wird, ob der Fehler ein Zweiwortfehler ist oder nicht. Die Zeitdauer zum Ausführen aller Schritte wird wesentlich verlängert, und dieses Problem wird insbesondere bei der Berechnung der Fehlerlokalisation von Zweiwortfehlem auftreten.
So wird bei Geräten gemäß der DE-AS 22 17 935 und der US-PS 4 107 652 der Fehlerzustand nur durch das Syndrom festgestellt und während eine Fehlerposition erhalten wird, wird das Syndrom durch die theoretische Gleichung berechnet die es darstellt sodaß die Berechnungsdauer lang wird.
Aufgabe der Erfindung ist daher die Schaffung eines verbesserten Gerätes zur Fehlerkorrektur, welches nicht die Nachteile der bekannten Art aufweist und die Fehl« mit hoher Geschwindigkeit korrigiert.
Eine andere Aufgabe der Erfindung ist die Schaffung eines Gerätes zur Fehlerkorrektur, bei welchem der Aufbau der Berechnungsschaltung und der anderen verwendeten Hardware vereinfacht werden kann.
Erfindungsgemäß ist das Gerät gekennzeichnet durch Konstanten-Erzeugungseinrichtungen, welche an die Syndromerzeugungseinrichtungen und die Fehlerlokalisations-Erzeugungseinrichtungen angeschlossen sind, zum Erzeugen einer Mehrzahl von Konstanten-Signalen von der Mehrzahl von Syndromsignalen, wobei die Feststelleinrichtungen an die Konstanten-Erzeugungseinrichtungen angeschlossen sind, zum Feststellen, ob Fehler in den empfangenen Digitaldatensignalen vorhanden sind, indem weiters vorgewählte Gleichheiten oder Ungleichheiten unter den Konstanten-Signalen kontrolliert werden, und wobei die Fehlerlokalisations-Erzeugungseinrichtungen zur Erzeugung der Fehlerlokalisationssignale wieder die Fehler-Konstanten-Signale verwenden, und wobei die Fehlermuster-Erzeugungseinrichtungen weiters an die Konstanten-Erzeugungsein- -2-
AT 393 926 B richtungen angeschlossen sind, zum Erzeugen von Fehlermustersignalen unter weiterer Verwendung der Konstanten-Signale.
Gemäß der Erfindung wird jede Konstante (A bis E, X, Y) zuvor von einem Syndrom erhalten. Wenn dann ein Fehler festgestellt wird, so ist die Bedingung (Gleichung) einfach, indem das Syndrom und die erhaltene Konstante verwendet werden. Daher kann die Fehlerfeststellung durch eine kleine Anzahl von Schritten erfolgen. Wenn die Fehlerposition und das Fehlermuster bekannt sind, so kann der Berechnungsschritt in diesem Fall durch Verwendung der Konstanten reduziert werden.
Bei der Erfindung kann daher die Berechnung vereinfacht werden, indem die Konstante als Variable gespeichert wird, welche Konstante die Fehlerposition aufnimmt und durch das Syndrom erhalten wird.
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Figuren näher erläutert, wobei gleiche Elemente und Teile mit gleichen Bezugszeichen versehen sind. Es zeigen Fig. 1 ein Blockschaltbild eines Fehlerkorrekturgerätes gemäß der Erfindung, Fig. 2 (bestehend aus Fig. 2A und 2B) ein Blockschaltbild eines Beispiels eines erfindungsgemäßen Fehlerkorrekturkodierers, Fig. 3 die Anordnung eines Blocks der kodierten Daten bei der Übertragung, Fig. 4 (bestehend aus Fig. 4A und 4B) ein Blockschaltbild eines Beispiels eines erfindungsgemäßen Fehlerkorrekturdekodierers und Fig. 5,6 und 7 schematische Darstellungen zur Erläuterung der Funktion des Fehlerkorrekturdekodierers.
Zuerst wird ein Fehlerkorrekturcode erläutert, welcher bei dem Gerät gemäß der Erfindung verwendet wird. Hiebei wird der Fehlerkorrekturcode als Vektor- oder als zyklische Gruppendarstellung ausgedrückt.
Zu Beginn wird ein nichtreduzierbares Polynom F(x) m'-ter Ordnung eines Galoisfeldes GF(2) angenommen. Im Galoisfeld GF(2), welches nur die Elemente "0" und ”1” enthält, hat das nichtreduzierbare Polynom F(x) keine reelle Wurzel. Somit wird eine imaginäre (oder komplexe) Wurzel α angenommen, welche F(x) = 0 »füllt. Zu dieser Zeit bilden 2m unterschiedliche Elemente 0, a, a2, a^, a... 2‘lm, welche jeweils eine Potenz von a sind und ein Nullelement enthalten, ein gedehntes Galoisfeld GF(2m). Dieses gedehnte Feld GF(2m) ist eine Polynomkette mit einem nichtreduzierbaren Polynom F(x) mit m'-ter Ordnung über das Feld GF(2) als Modulo. Die Elemente von GF(2m) können als lineare Kombination von 1, α = [x], a2 = [x2],... am*^ = [xm‘^] ausgedrückt werden. D. h., diese Elemente können ausgedrückt werden durch ao + ajW + a2[x2] +... + a^iix"1'1] = a^ + aja + a2a2 +... oder ^1-2» · · · ®2» al» ^ wobei aQ, aj,... a^i zu GF(2) gehört
Als Beispiel wird ein gedehntes Feld GF(2^) und als Modulo das Polynom F(x) = x^ + + x^ + x2 +1 be trachtet (alle Variablen sind 8-bit-Daten). Dieses Feld GF(2^) kann wie folgt ausgedrückt werden: oder
ΆηΐΡ + agx® + a^x^ + a^x^ + a^x^ + a2x2 + ajx + aQ (a7> a6’ a5* a4’ a3 a2’ al’ 3(P
Beispielsweise wird a2 als das MSB (meist signifikantes bit) und aQ als das LSB (niedrigst signifikantes bit) angenommen. Daa^u GF(2) gehört sind die Elemente entweder 0 oder 1.
Ferner wird vom Polynom F(x) die folgende Matrix T mit m Reihen und m Spalten abgeleitet 0 0 .. . 0 *0 1 0 . . 0 al 0 1 . . 0 32 /- o · · o · · . 1 3ιη-1 * -3-
AT 393 926 B
Als alternative Darstellung kann eine solche verwendet werden, welche eine zyklische Gruppe umfaßt, die erkennt, daß der Rest des gedehnten Galoisfeldes GF(2m) (ausgenommen das Nullelement) eine multiplikative Gruppe da- Ordnung 2m-l bildet Werden die Elemente von GF(2m) unter Verwendung einer zyklischen Gruppe ausgedrückt, so erhält man: m 0,1 (= a2™'1), a, a2, a3,... a2"1"2
Bei einem Beispiel der Erfindung bilden m-bits ein Wort und n-Worte einen Block, wobei k-Kontrollworte basierend auf der folgenden Paritätskontrollmatrix H erzeugt weiden: 1„n-1 α“'2 , 1 1 α 1 α2 1
H a(k-lXn-l) a(k-l)(n-2) <£-1 /
Ferner kann die Paritätskontrollmatrix H ähnlich durch Verwendung der Matrix T ausgedrückt werden: I ,jfl-l T2(n-1)
I ...I I jn-2 »pl j p2(n-2) rj>2 j 1<k-l)(n-l) i<k-l)(n-2) "pk-l I / wobei I eine Einheitsmatrix mit m Reihen und m Spalten ist
Wie oben erwähnt, ist die Darstellung unter Verwendung der Wurzel α grundsätzlich gleich der, welche eine erzeugte Matrix T verwendet Für den Fall, daß 4 (k=4) Kontrollworte verwendet werden, so ist die Paritätskontrollmatrix H wie folgt: / s 1 1 ... 1 1 ο“"* a"-2 ... a 1 Η = a2(n-l) a2(n-2) ...a2 1 a3(n-l) a3(n-2) ...a3 1
Λ A
Wenn in diesem Fall ein einzelner Block an empfangenen Daten als Spaltenvektor v = (Wn.j, Wn_2· · · · ... Wj, Wq) ausgedrückt wird, wobei Wi = Wi + ei gilt, und ei ein Fehlermuster ist, so werden via Syndrome (Sq, Sj, S2 und Sj) auf der Empfangsseite erzeugt, u. zw. wie folgt
T = H. V -4-
AT 393 926 B
Dieser Fehlerkorrekturcode kann Fehler bis zu zwei Worten in einem Fehlerkorrekturblock korrigieren, und kann auch drei Wortfehler oder vier Wortfehler korrigieren, wenn die Fehlerlokalisation bekannt ist
In jedem Block sind vier Kontrollworte (p = W3, q = W2, r = Wj, s = Wq) enthalten. Diese Kontrollworte können durch folgende Beziehungen erhalten werden: p+q+r+s=£Wi =a a^p + a2q + otr + s = So^Wi = b a^p + a^q + a2r + s = Za2*Wi =c a^p + cAj + oA- + s = Eor^Wi =d n-1 wobei Σ gleich Σ gilt i=4
Wenn der Berechnungsvorgang weggelassen wird, so ergibt sich folgendes Ergebnis: ✓ \ Ρ q / a212 „156 a153 cx2 «152 «135 o2209 a152 / V. a b r a158 a138 (X2 «!53 c s \ > a2!8 «158 «156 a212 / d < /
Der Kodierer auf der Sendeseite erzeugt auf obige Weise die Kontrollworte (p, q, r) und (s).
Anschließend wird der grundsätzliche Algorithmus der Fehlerkorrektur beschrieben, wenn Daten übertragen und empfangen werden, welche die auf obige Weise erzeugten Kontrollworte enthalten.
[1] Wenn kein Fehler auftritt sind alle Syndrome Null: s0 = Si = s2 = S3 = 0 [2] Wenn ein Wortfehler auftritt (ein Fehlermuster wird als ei ausgedrückt) so gilt Sg = ei, Sj = a1», S2 = a2*ei, S3 = a^ei.
Somit gelten folgende Beziehungen: oAJq = Sj “isl = s2 α^2 = S3
Ob ein Wortfehler vorhanden ist oder nicht, wird dadurch festgestellt, ob die obige Beziehung gilt oder nicht, wenn i sich aufeinanderfolgend ändert. Oder es gilt die folgende Beziehung: S1 s2 S3 ---=-= a* S0 Sj s2
Somit kann das Muster von a1 mit einem zuvor in einem Festwertspeicher (ROM) gespeicherten Muster verglichen werden, um die Fehlerlokalisation i festzustellen. Zu dieser Zeit ist das Syndrom (Sq) gleich dem Fehlermuster (ei). -5-
AT 393 926 B
[3] Im Falle von zwei Wortfehlem (ei und ej) sind die Beziehungen für die Syndrome wie folgt: SQ = ei + ej Sj = axei + aJej 52 = a2xei + a2jej 53 = a3iei + a3Jej
Die obigen Gleichungen können wie folgt umgeformt werden: aJSg + Sj = (a1 + a-J)ei a-^S i + S2 = ax(ax + a-i)ei a-is2 + S3 = a2i(ax + a^ei
Wenn daher die folgenden Gleichungen gelten, so können zwei Wortfehler festgestellt werden. ax(aJSg + S j) = a^S j + S2 ffx(otiS| + s2) = ct*is2 + s3 D. h., die Kombination von i und j wird variiert, um festzustellen, ob die obigen Gleichungen erfüllt sind oder nicht Das Fehleimuster kann dann wie folgt ausgedrückt werden.
Sq + (x j Sq + ct xS j ei =-und ej =- 1 + ax'j 1 + [4] Beim Auftreten von drei Wortfehlem (ei, ej, ek) können die Syndrome ausgedrückt werden durch
Sq = ei + ej + ek Sj = axei + aJej + akek 52 = a2xei + a2Jej + a2kek 53 = ot3xek + a3Jej + a3kek
Die obigen Gleichungen können umgefoimt werden zu: akSQ + Sj = (a1 + ak)ei + (aJ + ak)ej akS 1 + S2 = ax(a* + ak)ei + α·ϊ(α·ί + ak)ej akS2 + S3 = a2x(ax + ak)ei + a2J(aJ + ak)ej
Daher werden folgende Gleichungen erhalten: -6-
5 AT 393 926 B aj(akS0 + Sj) + + S2) = (a1 + a^a1 + ak)eid(akS i + S2) + (akS2 + S3) = cfta1 + o^Xa1 + ak)ei
Daraus wird folgende Gleichung erhalten, welche eine notwendige Bedingung für drei Wortfehler ist, so daß alle drei Wortfehler festgestellt werden können. 10 α^α-ίζα^ο + Sx) + (akSj + S2)} = otfyÄj + S2) + (akS2 + S3)
Das entsprechende Fehlermuster ergibt sich dann wie folgt:
Sq + (α"·ί + a'k)S j + a‘j'kS2 ei=--1---(1 + ax‘j)(l + ax'k) Sq + (a‘k + a’^Sj + a‘k_iS2 ej=-;- , und (1 + (χΗχΐ + ai‘k)Sq + (a'1 + a'jjSj + a'i_js2 ek= --- (1 + ak"x)(l + ak‘j) 3° Tatsächlich ist der Aufbau einer Schaltung zur Korrektur von drei Wortfehlem sehr kompliziert und die Zeitdauer für den Korrekturvorgang ist lang. Daher wird in der Praxis ein Fehlerkorrekturvorgang verwendet, bei welchem obiger Vorgang mit einem Fehlerkoirekturvorgang kombiniert wird, bei welchem die Fehlerlokalisationen von i, j, k und 1 durch ein Fehleranzeigebit, oder Zeiger bekannt sind, und die obigen Gleichungen 35 werden zur Kontrolle verwendet [5] Beim Auftreten von vier Wortfehlem werden die Syndrome wie folgt ausgedrückt: 40 45
Sq = ei + ej + ek + el S i = a*ei + aiej + akek + a^el 52 = a^xei + a^ej + a^kek + a^el 53 = a^xei + a^ej + a^kek + a^el Die obigen Gleichungen können wie folgt umgeformt werden: 50 S0 + (a'J + a*k + a'^Sj + (a'j‘k + a"k_1 + a'1_J)S2 + ei =- (1+ ^)(1 + ^)(1 + 1-1) -7- 55
AT 393 926 B
Sg + (a'k + a"1 + a_i)S j + (a"^'1 + a'1'* + a'-i'k)S2 + ej (1 + aJ"*)(l + aj‘k)(l + aH) ek =
Sq + (a'1 + a'* + a'^Sj + (a'1'* + of^i + a'J'^Sj + a'^Sg (1 + ο£'*χΐ + ak'J)(l + ak_1) el =
Sg + (cf* + a'J + a'k)Sj + (of*'j + cf‘‘k + a"k'i)S2 + (1 + a*'*)(l + α^)(1 + a1_k)
Wenn somit die Fehlerlokalisationen (i, j, k, 1) durch Zeiger angezeigt werden, so erfolgt die Korrektur des Fehlers durch obige Berechnung. Der grundsätzliche Algorithmus der obigen Fehlerkonektur besteht darin, daß beim ersten Schritt durch die Syndrome (Sq bis S3) festgestellt wird, ob ein Fehler vorhanden ist, oder nicht, beim zweiten Schritt wird festgestellt, ob der Fehler ein Einwortfehler ist, oder nicht, und beim dritten Schritt wird festgestellt, ob der Fehler ein Zweiwortfehler ist, oder nicht. Wenn bis zu Zweiwortfehler korrigiert werden, so ist die Dauer für alle Schritte lang, insbesondere wenn eine Fehlerlokalisation von Zweiwortfehlem erhalten wird. Nun erfolgt die Beschreibung der Erfindung bei der Korrektur von zwei Wortfehlem, ohne daß das obige Problem resultiert. Die Gleichungen der Syndrome (Sq, Sj, S2 und S-j) im Falle von zwei Wortfehlem (ei, ej) lauten wie folgt:
Sq = ei + ej Sj = a*ei + aJej 52 = a2*ei + a^ej 53 = a^ei + a%j
Die obigen Gleichungen können umgeformt werden zu: (a‘S0 + S|)(a‘S2 + S3) = (a*Sj + S2)2
Durch weiteres Umformen wird das folgende Fehlerlokalisationspolynom erhalten: (SqS2 + Sj2)cc2* + (S^S2 + SqS3)(X^ + (S^S^ + S22) = 0
Die Konstanten der entsprechenden Terme des obigen Polynoms werden wie folgt angenommen:
S0S2 + Sj2 = A S1S2 + SqSs = B
AT 393 926 B
Durch Verwendung der obigen Konstanten wird die Fehlerlokalisation von zwei Wortfehlem erhalten.
[1] Im Falle keines Fehlers gilt: A = B = C = 0, Sq = 0 und S3 = 0 [2] Im Falle eines Einwortfehlers gilt:
Wenn A = B = C = 0, Sq * 0 und S3 Φ 0 gilt, so wird der Fehler als Einwortfehler erkannt Aus der Be- si
Ziehung a1 =-kann die Fehlerlokalisation i leicht festgestellt werden. Somit wird der Fehler unter Verwen- S0 düng der Beziehung ei = Sq korrigiert [3] Im Falle eines Zweiwortfehlers gilt:
Wenn ein Fehler in mehr als zwei Worten auftritt, so gilt A Φ 0, B φ 0 und C Φ 0, wodurch dessen Feststellung sehr einfach wird. Zu dieser Zeit gilt folgende Beziehung
Aa2i + Ba* + C = 0 wobei i = 0 bis (n-1) ist
B C
Wird nun angenommen, daß — = D und — = E gilt, so werden folgende Gleichungen erhalten:
A A D = a* + ai E = a*. ot*
Daraus ergibt sich folgende Gleichung a2* + Da* + E = 0
Wird die Differenz zwischen zwei Fehlerlokalisationen als t angenommen, d.h.j = i + tso werden folgende Gleichungen erhalten: D = a^l + al) E = a2i + t
Daher wird folgende Gleichung erhalten: D2 (l + a1)2 -=-= a_t+al
Wenn da- Wert von a_t + a1 jedes Wertes von T = 1 bis (n-1) zuvor in einem Festwertspeicher eingeschrie- D2 benist, und festgestellt wird, daß der Wert mit dem Wert von-übereinstimmt welcher vom Ausgang des
E
Festwertspeichers und einem empfangenen Wort berechnet wurde, so kann t erhalten werden. Wird die obige -9-
AT 393 926 B Übereinstimmung nicht festgestellt, so bedeutet dies, daß Fehler in mehr als drei Worten auftreten. Somit werden folgende Gleichungen angenommen: X = 1 + al Y = l + cf1 =-+ x
E
Die folgenden Gleichungen weiden erhalten:
D a1--
X
D
a-i = — Y
Aus den obigen Gleichungen werden die Fehlerlokalisationen i und j erhalten. Die Fehlermuster (ei und ej) werden dann wie folgt ausgedrückt: (oJSq + Sj) Sq Sj ei =- =-+ -
D YD (a*SQ + Sj) Sq Sj ej=-=-+ —
D XD
Somit können die Fehler korrigiert werden.
Durch den obigen modifizierten Korrektur-Algorithmus kann die zur Berechnung der Fehlerlokalisation nötige Zeit bei der Korrektur von zwei Wortfehlem im Vergleich zum grundsätzlichen Algorithmus wesentlich verkürzt werden.
Wird ferner die Anzahl k der Kontrollworte erhöht, so kann auch die Fehlerkorrekturmöglichkeit erhöht werden. Wird z. B. k gleich 6 gewählt, so können Dreiwortfehler korrigiert werden, und Sechswortfehler können korrigiert werden, wenn die Fehlerlokalisation bekannt ist.
Fig. 1 zeigt ein Beispiel des Fehlerkorrekturgerätes, bei welchem die Erfindung angewendet wird. In dieser Figur bezeichnet (1) einen Eingangsanschluß, welchem die empfangenen Daten zugeführt werden. Die Daten gelangen dann zu einem Pufferspeicher (2) und einem Syndromerzeugungskreis (3). Der Pufferspeicher (2) bewirkt eine Verzögerung der empfangenen Daten um die Zeit, welche zum Feststellen eines Fehlers und zur Erzeugung eines Fehlermusters notwendig ist, wobei dessen Ausgang einem Fehlerkorrekturkreis (4) (ein Modulo 2-Addier») zugeführt wird. Der Ausgang des Fehlerkorrekturkreises (4) ist an einem Ausgangsanschluß (5) angeschlossen.
Im Syndromerzeugungskreis (3) »folgt die Berechnung von H . V^, um die Sondiome (Sq, Sj, S2 und Sj) zu erzeugen, welche dann einem Rechenkreis (6) zur Berechnung von GF(2m) zugeführt werden. Der Rechenkreis (6) erzeugt durch Berechnung die Konstanten (A, B, C, D und E) sowie die Fehlermuster. Die Konstanten werden vom Rechenkreis (6) zu einem Pufferspeicher (7) geleitet und gespeichert, und das Fehlermust» wird entsprechend vom Rechenkreis (6) zu einem Pufferspeicher (8) geleitet und gespeichert. Vom Pufferspeicher (8) gelangt das Fehlermuster zum Fehlerkorrekturkreis (4), um dort die Fehlerkorrektur auszuführen. Im Beispiel nach Fig. 1 ist ein Fehlerlokalisationsdekodierer (9) und ein Festwertspeicher (10) entsprechend vorgesehen. Die Konstanten (D und E) vom Pufferspeicher (7) und die Ausgänge a* und a'1 -10-
AT 393 926 B vom Festwertspeicher (10) werden zum Fehlerlokalisationsdekodierer (9) geleitet, welcher dann die Fehlerlokalisation i und neue Konstanten (X und Y) erzeugt Die neuen Konstanten (X, Y), die Konstante (D) vom Pufferspeicher (7), und die Syndrome werden dem Rechenkreis (6) zugeführt, so daß der Kreis (6) die Fehlermuster (ei und ej) erzeugt welche dem Pufferspeicher (8) zugefiihrt und darin gespeichert werden.
Die Syndrome (Sq und S3) vom Syndromerzeugerkreis (3) und die Konstanten (A, B und C) vom
Pufferspeicher (7) werden zu einem Fehlerfeststellkreis (11) geleitet welcher feststellt ob ein Fehler vorhanden ist oder nicht, ob der Fehler ein Einwortfelder ist oder nicht ob der Fehler ein Zweiwortfehler ist oder nicht und ob der Fehler größer als ein Zweiwortfehler ist Das festgestellte Ergebnis wird zu einem Steuerkreis (12) geleitet Der Steuerkreis (12) liefert Taktpulse oder Steuersignale, welche in vorbestimmter Zeitrelation zu den entbrechenden Kreisen geleitet werden.
Aus obiger Beschreibung geht hervor, daß gemäß der Erfindung die Werte von of1 und a* (wobei t = 1 bis (n-1) ist) im Festwertspeicher (10) gespeichert werden und daß der Ausgang des Festwertspeichers mit den Konstanten verglichen wird, welche durch die Berechnung der Syndrome »zeugt werden, um die Feststellung und Fehlerlokalisation von Zweiwortfehlem auszuführen, so daß die Fehlerfeststellung wie die Fehlerkorrektur mit hoher Geschwindigkeit erfolgen.
Nun wird ein praktisches Beispiel der Anwendung der Erfindung auf ein Gerät mit Hilfe der Figuren beschrieben, welches ein PCM- Audiosignal auf zeichnet und wiedergibt.
Die gesamte Fig. 2 zeigt einen Fehlerkorrekturkodierer im Aufzeichnungssystem, welchem ein PCM-Audiosignal als Eingangssignal zugefiihrt wird. Um dieses PCM-Audiosignal zu erzeugen, werden linke und rechte Stereosignale mit einer entsprechenden Abtastfrequenz (fs) (z. B. 44,1 kHz) abgetastet, und jeder abgetastete Wert wird in ein digitales Wort (welches z. B. als Komplement von zwei kodiert ist und eine Länge von 16 bits aufweist, umgewandelt. Daher werden für den linken Kanal des Audiosignals die PCM-Datenworte (Lq, Lj, L2 ...) und für den rechten Kanal die PCM-Datenworte (Rq, Rj, R2 ...) erhalten. Die PCM-Datenworte des linken und rechten Kanals werden jeweils auf sechs Kanäle aufgeteilt, sodaß insgesamt zwölf Kanäle an PCM-Datenfolgen dem Fehlerkorrekturkodierer zugeführt werden. Zu jedem gegebenen Zeitpunkt werden zwölf Worte, wie (L6n, R6n L6n+1, R6n+1, L6n+2, R6n+2, L6n+3, R6n+3, ^6n+4’ %n+4’ L6n+5 nnd %n+5^ dem Eingang des Kodierers zugeführt. Beim dargestellten Beispiel wird jedes Wort in höhere acht bits und niedrigere acht bits unterteilt, sodaß die zwölf Kanäle als vierundzwanzig Kanäle verarbeitet werden. Zum Zwecke der Vereinfachung wird jedes Wort der PCM-Daten mit (Wi) bezeichnet, die höheren acht bits werden mit (Wi, A) und die niedrigeren acht bits mit (Wi, B) bezeichnet. Beispielsweise wird das Wort (L^n) in zwei Worte (Wj2n, A) und (Wj2n, B) unterteilt.
Die PCM-Datenfolgen der vierundzwanzig Kanäle werden zuerst zu einem gerad- und ungeradzahligen Verschachtler (1) geleitet, wenn n eine ganze Zahl 0,1,2.... ist, so sind die Worte (Lin) (d. h., (W12n, A und W12n, B)), (R6n) (d. h. (W12n+1, A und W12n+1, B)), (L6n+2) (d. h. (W12n+4, A, und W12n+4» (R6n+2) (d· h· ^W12n+5» A und W12n+5’ iL6n+4^ (d* h· (W12n+8’ A und W12n+8’ und (Rgn+4^ (d· ^12n+9’ A und ^12n+9’ entsprechend geradzahlige Worte und die restlichen Worte sind entsprechend ungeradzahlige Worte. Die aus gerad- und ungeradzahligen Worten bestehenden PCM-Datenfolgen werden über Einwort-Verzögerungskreise oder -leitungen (2A, 2B, 3A, 3B, 4A, 4B, 5A, 5B, 6A, 6B, 7A und 7B) des gerad- und ungeradzahligen Verschachders (1) verzögert. Es ist natürlich auch möglich, daß die Worte um mehr als ein Wort verzögert werden, z. B. um acht Worte. Ferner werden im gerad- und ungeradzahligen Verschachtler (1), die aus geradzahligen Worten bestehenden zwölf Datenfolgen umgewandelt oder so verschoben, daß sie die ersten zwölf Übertragungskanäle einnehmen, und die aus den ungeradzahligen Worten bestehenden Datenfolgen werden so umgewandelt, daß sie den dreizehnten bis vierundzwanzigsten Übertragungskanal einnehmen.
Der gerad- und ungeradzahlige Verschachtler (1) verhindert, daß bei mehr als zwei aufeinanderfolgenden Worten der entsprechend»! linken und rechten Stereosignale Fehler entstehen, welche in diesem Falle schwer zu korrigieren wären.
Um diesen Vorteil zu erläutern, werden beispielsweise drei aufeinanderfolgende Worte (Lg.j, Lg und Lg+j) angenommen. Wenn das Wort (Lg) fehlerhaft und nicht korrigierbar ist, so wird angenommen, daß die benachbarten Worte (Lg_j und Lg+j) richtig sind. Der Grund hiefiir liegt darin, daß zur Kompensation eines fehlerhaften Wortes (L·) eine Interpolation zwischen dem vorhergehenden richtigen Wort (Lg. j) und dem nachfolgenden richtigen Wort (L-+j) vorgenommen wird, indem der Mittelwert vor (Lg_j und Lg+ j) gebildet wird. Die Verzögerungsleitungen (2A, 2B,... 7A und 7B) des gerad- und ungeradzahligen Verschachders (1) bewirken, daß die benachbarten Worte in unterschiedlichen Fehlerkorrekturblöcken aufitreten. Der Grund für die Zusammenfassung von Gruppen der Übertragungskanäle der geradzahligen und ungeradzahligen Worte ist der, daß der Abstand zwischen den Aufzeichnungspositionen zwischen benachbarten gerad- und ungeradzahligen Worten so groß wie möglich sein soll. -11-
AT 393 926 B
Am Ausgang des gerad- und ungeradzahligen Verschachtlers (1) treten die Worte der vierundzwanzig Kanäle in einem ersten Anordnungszustand auf. Vom Verschachtler (1) werden die entsprechenden PCM-Datenworte Wort für Wort zu einem Kodierer (8) geleitet, welcher dann entsprechend der obigen Gleichung für p, q, r, s die ersten Kontrollworte (Q12n, Qi2n+1* Ql2n+2 und Ql2n+3> erzeugt.
Ein Fehlerkorrekturblock mit den ersten Kontrollworten tritt dann wie folgt auf: W 12n-12>A: W12n-12’B; W12n+1-12>A; W12n+1-12>B; w12n44-12*A; W12n+4-12» Bi W12n+5-12·A‘> W12n+5-12> B> W12n+8-12’A; W12n+8-12>B; W12n+9-12>A; W12n+9-12’B; W12n+2>A; W12n+2·B; W12n+3·A; W12n+3’B; w12n+6>A; w12n+6>B; w12n+7·A; W12n+7-B; W12n+10’A; W12n+10*B; W12n+ll*A; W12n+ll*B; Q12n; Q12n+1; ^12n+2: Ql2n+3>
Der erste Kodierer (8) berechnet die ersten Kontrollworte (Qj2n bis Qj2n+3) gemäß der Anzahl von
Worten eines Blocks (n = 28), der bit-Länge m jedes Wortes (m = 8), und der Anzahl der Kontrollworte (k = 4).
Die vierundzwanzig PCM-Datenfolgen und die vier Kontrollwortserien werden dann zu einem Verschachtler (9) geleitet. In diesem Verschachtler (9) werden die relativen Positionen der Kanäle geändert, so daß die Kontrollwortserien zwischen den PCM-Datenfolgen auftreten, die aus den geradzahligen und den ungeradzahligen Worten bestehen, worauf ein Verzögerungsvorgang für diese verschachtelten Folgen stattfindet. Dieser VerzögerungsVorgang wird bei den siebenundzwanzig Obertragungskanälen ausgeführt, beginnend mit dem zweiten Übertragungskanal, u. zw. durch Verzögerungsleitungen mit Verzögerungswerten von ID, 2D, 3D, 4D, ... 26D und 27D (wobei D ein Einheitsverzögerungswert von z. B. vier Worten ist).
Am Ausgang des Verschachtlers (9) treten achtundzwanzig Folgen von Datenworten in einem zweiten Anordnungszustand auf. Die Datenworte werden Wort für Wort von den entsprechenden Datenfolgen zu einem Kodierer (10) geleitet, welcher dann zweite Kontrollworte (Pj2„, Ρχ2η+χ, pi2n+2 und P12n+3^in gleicher Weise wie die Kontrollworte (Q12„ bis Q12n+3) erzeugt.
Gerade wenn der obige Kodierer (8) die ersten Kontrollworte entsprechend den Parametern n = 28, m = 8, und k = 4 erzeugt, so erzeugt der ähnliche Kodierer (10) die zweiten Kontrollworte entsprechend den Parametern n = 32, m = 8 und k = 4.
Ein Fehlerkorrekturblock mit den zweiten Kontrollworten tritt dann wie folgt auf: (W 12n-12>A; W12n-12(D+1)>B; W12n+1-12(2D+1)’A* W12n+1-12(3D+1)’B; W12n+4-12(4D+l)’A; W12n+4-12(5D+l)’B; W12n+5-12(6D+l)>A· W12n+5-12(7D+l)’B· · · · · Q12n-12(12D); Q12n+1-12(13D): Ql2n+2-12(14D); Ql2n+3-12(15D); · · · W12n+10-12(24D)>A; W12n+10-12(25D)>B; W12n +11-12(26D)>A^ W12n+ll-12(27D)>B; P12n; P12n+1: P12n+2; P12n+3^·
Anschließend ist ein Verschachtler (11) vorgesehen, welcher Verzögerungsleitungen mit einem Verzögerungswert von einem Wort für die geradzahligen Übertragungskanäle der zweiunddreißig Datenfolgen mit den ersten und zweiten Kontrollworten enthält, und des weiteren sind Umkehrstufen (12,13,14 und 15) zum Invertieren der zweiten Kontrollwortserien vorgesehen. Der Verschachtler (11) verhindert das Auftreten von Fehlem zwischen den Verbindungen der Blöcke, da ansonsten zu viele Worte betroffen wären, die nicht korrigierbar wären. Die Umkehrstufen (12,13,14 und 15) verhindern eine fehlerhafte Verarbeitung, wenn alle Daten in einem Block durch einen Signadausfall während der Übertragung "0" sind. D. h. wenn ein Signalausfall stattfindet, so werden die invertierten Kontrollwortserien im Wiedergabesystem richtig festgestellt. Zum gleichen Zweck können Umkehrstufen für die ersten Kontrollwortserien vorgesehen sein.
Die zuletzt erhaltenen vierundzwanzig PCM-Datenfolgen und die acht Kontrollwortserien werden als zweiunddreißig Wortblöcke seriell umgewandelt, und ein Synchronisiersignal von sechzehn bits wird zu den resultierenden seriellen Daten zu Beginn derselben hinzugefügt, um einen Übertragungsblock nach Fig. 3 zu -12-
AT 393 926 B bilden. Dieser Block wird dann auf ein Übertragungsmedium oder -träger übertragen. In Fig. 3 ist das Wort für den i'-ten Übertragungskanal mit (Up bezeichnet.
Als praktisches Beispiel für ein Übertragungsmedium oder -träger für das übertragene Signal dient ein Magnetband zur Verwendung in einem Magnet-Aufzeichnungs- und Wiedergabegerät, oder eine Platte zur Verwendung in einem rotierenden Plattengerät oder ein anderes ähnliches Medium.
Wenn beim obigen Übertragungszustand das Synchronisiersignal nicht berücksichtigt wird, so kann ein Abstand zwischen den Worten im gleichen ersten Fehlerkorrekturblock (d. h., vierundzwanzig Worte werden dem Kodierer (8) zugeführt) angenommen werden. Werden z. B. die Worte (Wj2n_2jA und ^12n-12’ B) ™ Betracht gezogen, so umfaßt der Abstand zwischen benachbarten Worten im ersten Fehlerkorrekturblock 12(D+1) Worte.
Da jedoch die Kontrollworte (Q^n» Ql2n+1’ Qi2n+2 und Qi2n+3^ durch den Kodierer (8) in die Datenworte der vierundzwanzig Worte eingefügt sind, so ist der Abstand zwischen den Worten B und Wj2n+2’A) größer als 12(D+1). Wenn daher ein Burstfehler im Übertragungspfad die 12(D+1) überschreitet, so werden mehr als zwei benachbarte Worte in jedem der zwölf Worte (Wj2n.j2, A> W 12n-12’ B · · · W12n + 9-12» B> und der zwölf Worte CW12ll+2, A» W12n+2* B · · · Wi2n+ll'B) fehlerhafte Worte sein. Wenn mehr als zwei benachbarte Worte, z. B. vier Worte als fehlerhaft festgestellt werden, so wird für den Fall, daß die Fehlerlokalisation bekannt ist, die Fehlerkorrektur für diese vier Worte ausgeführt. Für den Fall, daß eine Fehlerfeststellung und Fehlerkorrektur bei jedem, aus einer Mehrzahl von Worten bestehenden Block ausgeführt wird, und wenn kein Fehlerfeststellungscode zu jedem Wort hinzugefügt wird, so kann keine Fehlerkorrektur erfolgen, da mehr als eine vorgegebene Anzahl von fehlerhaften Worten im gleichen Fehlerkorrekturblock enthalten sind, wobei die anderen Worte ebenfalls als fehlerhaft festgestellt werden. Wenn im praktischen Fall die Fehlerkorrektur bei bekannter Fehlerlokalisation für M-Worte ausgeführt wird, welche nicht fehlerhaft sind, aber wegen des Fehlerkorrekturcodes als fehlerhaft angenommen werden, so werden diese Worte bei der Korrektur gestört. Wegen des Umstandes, daß bei der Übertragung von Worten über den Verschachtler die Zufallsfehler im Übertragungspfad bei benachbarten Wortfehlem nach der Entschachtelung geringer sind, und wenn die obige Korrektur nur für die benachbarten Wortfehler durchgeführt wird, so kann der Nachteil der fehlerhaften Fehlerkorrektur reduziert werden. Zusätzlich kann durch die Verwendung der Fehlerlokalisation i, i+1, i+2 und i+3 die Struktur der Fehlerkorrektur vereinfacht werden.
Die wiedergegebenen Daten mit den zweiunddreißig Worten jedes Blocks des übertragenen Signals werden dem Eingang eines Fehlerkorrekturdekodierers nach Fig. 4 zugeführt. Die vom Fehlerkorrekturdekodierer empfangenen Daten können einen oder mehrere Fehler enthalten, da die Eingangsdaten Wiedergabedaten sind. Ist kein Fehler vorhanden, so werden die zweiunddreißig Worte dem Eingang des Dekodierers in Übereinstimmung mit den zweiunddreißig Worten vom Ausgang des Fehlerkorrekturkodierers zugeführt. Im Fehlerkorrekturdekodierer wird ein Entschachtelungsvorgang komplementär zum korrespondierenden Verschachtelungsvorgang des Kodierers ausgeführt, um die Daten wieder in die ursprüngliche Form zurückzubringen. Ist ein Fehler vorhanden, so wird der Fehlerkorrekturvorgang ausgeführt, nachdem die Daten in den ursprünglichen Zustand zurückgebracht wurden.
In Fig. 4 ist eingangs ein Entschachtler (36) mit Verzögerungsleitungen vorgesehen, welche jeweils einen Verzögerungswert von einem Wort für die ungeradzahligen Übertragungskanäle aufweisen, sowie mit Umkehrstufen (37, 38,39 und 40), für die Invertierung der empfangenen zweiten Kontrollwortserien. Die Ausgänge des ersten Entschachtlers (36) und der Umkehrstufen (37 bis 40) werden zu einem ersten Dekodierer (41) geleitet. In diesem ersten Dekodierer (41) werden die Syndrome (Sjq, S^j, Sj2 und Sj^) entsprechend einer Matrix, wie z. B. der Reed-Solomon Paritätsfeststellungsmatrix (Fig. 5) durch die zweiunddreißig Eingangsworte (V*) erzeugt, wie in Fig. 5 dargestellt, und die oben erwähnte Fehlerkorrektur wird basierend auf die Syndrome (Sjq bis Sj2) ausgeführt. In Fig. 5 ist α ein Element von GF(2^) und eine Wurzel von F(x) = x^ + x^ + x^ + x^ + l. Der Dekodierer (41) gibt die korrigierten vierundzwanzig PCM-Datenfolgen und vier erste Kontrollwortserien ab. Zu jedem einzelnen Wort der Datenfolgen wird ein Zeiger oder Fehlerfeststellcode (zumindest ein bit) hinzugefügt, um anzuzeigen, ob ein Fehler vorhanden ist (Zeiger ist "1”) oder nicht (Zeiger ist "0"). In Fig. 5 und 6, sowie in den folgenden Figuren, wird ein Wort (Wi) einfach als (Wi) bezeichnet.
Die Ausgangsdatenfolgen des Dekodierers (41) werden zu einem Entschachtler (42) geleitet, welcher den durch den Verschachtler (9) erzeugten Verzögerungsvorgang im Fehlerkorrekturkodierer kompensiert, wobei dessen Verzögerungsleitungen entsprechend unterschiedliche Verzögerungswerte von 27D, 26D, 25D,... 2D, und ID für die ersten bis siebenundzwanzigsten Übertragungskanäle aufweist. Der Ausgang des zweiten Entschachtlers (42) wird zu einem zweiten Dekodierer (43) geleitet, in welchem die Syndrome (S2q, S2j, S22 und S22) in Übereinstimmung mit einer Matrix, wie die Reed-Solomon Paritätsfeststellungsmatrix H^2 (Fig. 6), »zeugt werden. Es werden die in Fig 6 gezeigt»! achtundzwanzig Worte (V1) zugeführt, und die oben -13-
AT 393 926 B erwähnte Fehlerkorrektur basierend auf die Syndrome (S^ bis S^) ausgeführt.
Der Dekodierer (43) löscht die Zeiger, welche zu jedem korrigierten Wort gehören, aber die Zeiger der Worte, deren Felda* nicht korrigiert werden können, werden nicht gelöscht
Die am Ausgang des Dekodierers (43) auftretenden Datenfolgen werden einem gerad- und ungeradzahligen Entschachtler (44) zugeführt, in welchem die PCM-Datenfolgen mit den geradzahligen Orderworten und die PCM-Datenfolgen mit den ungeradzahligen Orderworten neu angeordnet werden, so daß sie auf unterschiedliche Übertragungskanäle gelangen. Es sind Verzögerungsleitungen mit einem Verzögerungswert von einem Wort für die PCM-Datenfolgen mit den ungeradzahligen Orderworten vorgesehen. Dadurch wird der korrespondierende Vorgang im Kodierer vor der Übertragung kompensiert. Am Ausgang des gerad- und ungeradzahligen Entschachtlers (44) treten die PCM-Datenfolgen im ursprünglichen Anordnungszustand und in vorbestimmter Ordnung auf, wie das digitale Signal, bevor es dem Fehlerkorrekturkodierer zugeführt wurde.
Ein in Fig. 4 nicht dargestellter Kompensationskreis ist vorzugsweise als nächste Stufe nach dem gerad- und ungeradzahligen Entschachtler (44) vorgesehen, um nicht korrigierbare Fehler zu kompensieren. Beispielsweise kann eine Mittelwert-Interpolation ausgeführt werden, wenn Fehler nicht durch die Dekodierer (41 und 43) korrigiert werden können, sodaß alle verbliebenen Fehler überdeckt werden.
Zum Zwecke der Verbesserung der Fehlerkorrekturmöglichkeit des Fehlerkorrekturcodes kann bei der ersten Dekodierung ein Zeiger zu jedem Wort hinzugefügt werden, welcher anzeigt, ob ein Fehler auftritt oder nicht, wobei der Zustand des Zeigers bei der zweiten Dekodierung festgestellt wird, und die Fehlerkorrektur unter Verwendung des festgestellten Zustands ausgeführt wird. Wenn die Daten durch den Verschachtelungsvorgang und den Entschachtelungsvorgang verarbeitet werden und die Daten in den zweiten Anordnungszustand gebracht werden, um die zweite Dekodierung auszufühlen, so wird zur gleichen Zeit der Fehler basierend auf den spezifischen Zustand des Zeigers festgestellt, oder nicht, wobei Fehler bis zu einem Maximum von M-Worten korrigiert werden können. Mit anderen Worten, durch das Ver- und Entschachteln werden die im Übertragungspfad erzeugten Burstfehler verteilt, und es wird verhindert, daß die Anzahl der fehlerhaften Worte nicht auf eine Anzahl ansteigt, welche nicht mehr korrigiert werden kann.
Nur wenn ein spezifischer Fehler durch den Zustand des Zeigers bekannt ist und eine Fehlerkorrektur für eine Mehrzahl von Fehlerworten ausgeführt wird, so kann der Nachteil einer fehlerhaften Fehlerkorrektur verringert werden, u. zw. für den Fall, wo die Fehlerkorrektur unter Verwendung der nur durch den Zeiger angezeigten Fehlerlokalisation ausgeführt wird.
Im Beispiel nach Fig. 4 wird ein Wortfehler durch den ersten Dekodierer (41) korrigiert. Wird festgestellt, daß mehr als zwei Wortfehler in einem Fehlerkonekturblock auftreten, so wird ein Zeiger von zumindest einem bit zu allen der achtundzwanzig Worte im Fehlerkorrekturblock hinzugefügt, d. h. zu allen Worten des Blocks mit zweiunddreißig Worten mit Ausnahme der Kontrollworte, um die Anwesenheit von Fehlem anzuzeigen, wie oben erwähnt wurde. Dieser Zeiger ist bei einem Fehler T, und "0", wenn kein Fehler auftritt. Für den Fall, daß ein Wort aus 8 bit besteht, so wird ein Zeiger von einem bit höher als das MSB hinzugefügt, sodaß ein Wort aus neun bits besteht Anschließend werden die Worte durch den Entschachtler (42) verarbeitet und dem zweiten Dekodierer (43) zugeführt.
Im Dekodierer (43) wird der Fehler unter Verwendung der Fehlerworte im ersten Fehlerkorrekturblock korrigiert, welche durch den Zeiger oder die Fehlerlokalisation angezeigt werden.
Fig. 7 ist ein Diagramm eines Beispiels eines durch den zweiten Dekodierer (43) ausgeführten Fehler-korrekturvorgangs. In Fig. 6 und in der dazufolgenden Beschreibung wird die Anzahl der durch die Zeiger angezeigten fehlerhaften Worte mit Np, und die Fehlerlokalisation durch die Zeiger mit (Ei) bezeichnet Ferner bezeichnet (Y) in Fig 7 "ja" und (N) "nein".
Da im zweiten Dekodierer (43) zwei Wortfehler korrigiert werden, ist ein modifizierter Fehlerkorrekturalgorithmus als Fehlerkorrekturalgorithmus erforderlich. Mit anderen Worten, am Beginn des Flußdiagramms der Figur wird das zuvor erwähnte Fehlerlokalisationspolynom Aa^1 + Ba1 + C = 0 berechnet und die Fehler-korrektur wird unter Verwendung der Konstanten (A, B und C) des obigen Polynoms und der Syndrome (S2q bis S23) ausgeführt.
Zur gleichen Zeit wird die gesamte Anzahl Np, der die Fehler in einem Block repräsentierenden Zeiger überprüft Es ist natürlich auch möglich, den grundsätzlichen Algorithmus unter Verwendung der Syndrome zu benutzen, wodurch kein Fehler festgestellt wird, oder ein Einwortfehler festgestellt wird, und darin zwei Wortfehler schrittweise festgestellt werden. -14- 1
Zuerst wird geprüft ob ein Fehler vorhanden ist oder nicht Wenn A = B = C = 0, S2q = 0, und S2j = 0 gilt, so tritt kein Fehler auf. Zu dieser Zeit wird überprüft, ob Np < z^ ist Wenn Np < Zj ist, so wird festgestellt daß kein Fehl»- auftritt, und der Zeiger im Fehlerkorrekturblock wird gelöscht (d. h. er wird auf "0" gebracht). Ist andererseits Np > z^, so ist die Fehlerfeststellung durch die Syndrome falsch, und der Zeiger bleibt unverändert oder die Zeiger aller Werte im Block weiden alternativ auf "Γ gebracht. In diesem Fall wird der Wert von (zj) relativ groß gewählt z. B. 14.
AT 393 926 B (2) Es wird geprüft, ob ein Einwortfehler vorhanden ist oder nicht Wenn A = B = C = 0, SyQ Φ 0 und S21 S23 Φ 0 gilt, so wird ein Einwortfehler festgestellt, und die Fehlerlokalisation i wird ans-= a1 erhalten. S20
Es wird überprüft, ob sich die Fehlerlokalisation i mit der durch den Zeiger angezeigten deckt. Wenn die Mehrzahl von Fehlerlokalisationen durch die Zeiger angezeigt wird, so erfolgt eine Prüfung, ob die Fehlerlokalisation i mit einer von diesen übereinstimmt oder nicht. Wenn i = Ei ist wird überprüft, ob Np < Z2 ist, oder nicht, wobei (Z2) z. B. 10 ist. Wenn Np < Z2 ist, so wird der Fehler als Einwortfehler festgestellt und unter Verwendung von ei = S20 korrigiert. Wenn Np > Z2 ist, obgleich i = Ei gilt, so besteht die Möglichkeit, daß der Fehler fälschlich als Einwortfehler festgestellt wird, da die Anzahl der Zeiger für einen Einwortfehler zu groß ist. Daher verbleiben die Zeiger unverändert, oder alle Worte werden als fehlerhaft bestimmt, und die entsprechenden Zeiger werden auf "1” gebracht.
Im Falle von i Φ Ei wird geprüft, ob Np < Z3 ist oder nicht, wobei Z3 ein eher kleiner Wert ist, z. B. 3. Wenn Np < Z3 ist, so erfolgt eine Korrektur eines Wortfehlers bei der Fehlerlokalisation i durch die Berechnung der Syndrome.
Im Falle von Np > Z3 wird weiter geprüft, ob Np < z4 ist oder nicht. Wenn z3 < Np < z4 ist, so bedeutet dies, daß trotz der falschen Feststellung eines Einwortfehlers durch die Syndrome Npl zu Mein ist Daher werden in diesem Falle die Zeiger aller Worte des Blocks auf "1" gebracht. Andererseits bleiben im Fall von Np > z4 die Zeiger unverändert. (3) Es wird geprüft, ob der Fehler ein Zweiwortfehler ist, oder nicht Warn der Fehler ein Zweiwortfehler ist so werden die Fehlerlokalisationen i und j durch Berechnung festgestellt Wenn Α*0, B * 0, C * 0 und D2 -= a_t + al ist wobei t = 1 bis 27, so wird der Fehler als Zweiwortfehler festgestelk und die Fehlerlokali-
E D D sationen werden aus a1=— und = — erhalten. Es wird überprüft ob die Fehleriokalisationen i und j mit
X Y denen der Zeiger (Ei) und (Ej) übereinstimmen oder nicht Wenn i = Ei und j = Ej ist so wird die Anzahl der die Fehler repräsentierenden Zeiger mit einem vorbestimmten Wert Z5 verglichen. Wenn Np < Z5 ist so wird ein Zweiwortfehler mit den Fehlerlokalisationen i und j korrigiert Diese Korrektur wird durch das Erhalten der Fehlermuster ei und ej ausgeführt, wie oben erwähnt wurde. Wenn Np > z^ ist, so erfolgt keine Korrektur, da beispielsweise angenommen wird, daß mehr als drei Fehlerworte fälschlich als zwei Fehlerworte festgestellt wurden, und die Zeiger verbleiben unverändert, oder alle Worte im Block werden als fehlerhaft festgestellt
Wenn eine der Fehlerlokalisationen i und j mit einer der Fehlerlokalisationen (Ei) und (Ej) übereinstimmt, d. h. i = Ei, j * Ej oder i Ψ Ei, j = Ej, so wird überprüft ob Np < z6 ist oder nicht Wenn Np < zg ist so wird ein Zweiwortfehler bei den Fehlerlokalisationen i und j korrigiert. Wenn Np > zg ist so wird überprüft ob Np < Ίη ist oder nicht. Diese Überprüfung erfolgt so, daß bei einer teilweisen Übereinstimmung der Fehlerlokalisationen die Anzahl der die Fehler repräsentierenden Zeiger überprüft wird, ob sie zu groß oder zu klein ist Wenn Np < Zy ist so wird festgestellt daß die Anzahl der Zeiger zu klein ist, und die Zeiger aller Worte im Block werden auf " 1" gebracht Wenn jedoch Np > zy ist so wird angenommen, daß die Anzahl der Zeiger zu groß ist und der Zeiger verbleibt unverändert
Wenn i*Ei und j Φ Ej ist so wird überprüft, ob Np < zg ist Wenn Np eher klein ist, so wird das durch das
Fehlerlokalisationspolynom erhaltene Ergebnis als signifikanter gewertet, und zwei Wortfehler werden bei den Fehleriokalisationen i und j korrigiert. Wenn Np > zg ist wird weiter geprüft ob Np £ z^ ist oder nicht. Diese
Prüfung ist ähnlich wie die von Np < Zy, um die Zeiger im Block unverändert zu belassen oder um die Zeiger aller Worte des Blocks auf "1" zu bringen. (4) Für den Fall einer Abweichung von den obigen Fällen (1), (2) und (3), d. h. wenn mehr als drei Wortfehler auftreten, wird überprüft ob Np = 3 oder Np=4 ist, oder nicht und ob drei oder vier Worte in jedem der zwölf Worte der Daten worte von vierundzwanzig Worten im ersten Fehlerkorrekturblock benachbart sind oder nicht. Somit kann das Fehlermuster durch Berechnung erhalten werden, welche im Vergleich zur Vierwort-Fehlerkorrektur wesentlich einfacher ist. Dies wird wie folgt beschrieben: -15-
AT 393 926 B ei = a^S2Q + α ei + 1 = a15%20 ei+2 = a^6S2o ei + 3 = a^S2o ^^a'‘S22 + a156a"2iS22 + a212a'3iS23 + a*3^a*‘S2j + a2a"2*S22 + a^3of3*S23 + a2a"*S2j + a13-\x'2iS22 + a^2a'3iS23 • n153ft"ie , ~152~-2ic ,-y209.y-3ic + (X (X 52j + 01 (X o22 + (X (X o23
Wenn feiner Np = 3 ist und die Fehlerlokalisationen von drei Wortfehlem i, i + 1 und i + 2 sind, so wird ein Scheinfehler zum Wort mit der Fehlerlokalisation i + 3 hinzugefügt, und dieses Wort wird als fehlerhaft festgestellt und die Wortfehler als Vierwortfehler verarbeitet (5) Für den Fall einer Abweichung von irgend einem der obigen Fälle (1), (2), (3) und (4), wird keine Fehlerkorrektur ausgeführt. In diesem Fall wird überprüft ob Np < zjq ist, oder nicht Wenn Np < z^q ist, so wird die Zuverlässigkeit der Zeiger als zu niedrig angenommen, und die Zeiger aller Worte werden auf "Γ gebracht Wenn Np > Zjq ist, so verbleiben die Zeiger unverändert.
Ferner wird der Wert zi, welcher mit der gesamten, die Anzahl Np der Fehler in einem Block repräsentierenden Zeiger verglichen wird, auf einen geeigneten Wert festgelegt, u. zw. im Hinblick auf die Zuverlässigkeit der Entstehung einer falschen Fehlerfeststellung durch den Fehlerfeststellungscode (in obigem Beispiel besteht bei einem Fehler von mehr als fünf Wortfehlem die Möglichkeit, daß der Fehler nicht festgestellt wird, und wenn ein Fehler von mehr als vier Wortfehlem auftritt, daß dieser als Einwortfehler festgestellt wird, und wenn ein Fehler von mehr als drei Wortfehlem auftritt, daß dies» als Zweiwortfehler festgestellt wird).
Wie zuvor gesagt, werden beim Dekodiervorgang die durch die Zeiger als fehlerhaft identifizierten Worte kompensiert, welche unkoirigierbar sind.
Der in Fig. 4 dargestellte Fehlerkorrekturdekodierer verwendet bei den Fehlerkorrekturen die ersten Kontrollworte (Qj2n’ ^12n+l’ QjL2n+2 unt* ^12n+3^> sow^e die zweiten Kontrollworte (Pj^n» **12n+l’ Pi2n+2 u°d Pl2n+3^ welche einmal verwendet werden. Werden jedoch diese Fehlerkonekturen zweimal oder mehrfach (praktisch zweimal) ausgeführt, so kann die Fehlerkorrekturmöglichkeit erheblich verbessert werden, da das korrigierte Ergebnis jeweils einen kleineren Fehler aufweist. Für den Fall, daß ein zusätzlicher Dekodierer in der letzten Stufe vorgesehen ist, so ist es nötig, daß das Kontrollwort in den Dekodierern (41 und 43) korrigiert wird.
Bei obigem Beispiel weicht beim Verzögerungsvorgang im Verschachtler (9) der Verzögerungswert von einem Kanal zum nächsten um einen konstanten Wert der Variation D ab, aber es ist auch möglich, daß eine nicht konstante Variation verwendet wird. Ferner sind die zweiten Kontrollworte (Pi) ein solcher Fehlerkorrekturcode, welcher nicht nur aus den PCM-Datenworten, sondern auch aus den ersten Kontrollworten (Qi) gebildet ist. In ähnlicher Weise ist es möglich, daß die ersten Kontrollworte (Qi) aus Worten gebildet weiden, welche die zweiten Kontrollworte (Pi) enthalten. Zu diesem Zweck kann eine Rückkopplungstechnik verwendet werden, sodaß die zweiten Kontrollworte (Pi) zum Kodier» rückgeführt werd»i, welcher die »sten Kontrollworte »zeugt
Die obige Rückkopplungstechnik ist besonders für den Fall geeignet, wo die Anzahl der Dekodierungen mehr als dreimal erfolgt
Fern» ist es möglich, daß bis zu zwei Wortfehl» im »sten Dekodierer (41) korrigiert werden. Bei obigem Beispiel kann durch den Umstand, daß zwar im »sten Dekodierer zwei Wortfehler korrigiert werden können, ab» nur ein Wortfehler korrigiert wird, der Nachteil einer fehl»haften Fehlerfeststellung oder einer fehlerhaften Fehleikorrektur im Dekodierer v»ringert werden. In diesem Fall w»den zwei Wortfehler im zweiten Dekodier» korrigiert sodaß die Fehlerkonekturmöglichkeit nicht reduziert wird. Wegen d» Begrenzung d» Fehlerkorrektur durch Berechnung der Syndrome auf nur einen Wortfehl» kann der Aufbau des »sten Dekodierers sehr vereinfacht werden.
Wenn ferner ein Wortfehl» im ersten Dekodierer korrigiert wird, und der Zeig» für jedes Wort im Block mit dem korrigierten Wort auf "Γ gebracht wird, so kann die Fehlerfeststellung exakt» erfolg»i, und somit kann die Gefahr einer falschen Korrektur verringert werden.
Wie aus obiger Beschreibung h»vorgeht weiden die Burstfehler durch die Kreuz-Verschachtelung verteilt sodaß die Fehlerkorrektur sowohl für Zufalls- als auch für Burstfehl» wirksam ausgeführt werden kann.
Wenn fern» nur Wortfehler durch die Zeiger festgestellt weiden, die im »sten Fehlerkorrekturblock enthalten sind, und deren Anzahl ähnlich der Anzahl von benachbarten M-Worten während der Entschachtelung ist so kann die Gefahr einer fehlerhaften Korrektur im Vergleich zum Fall verringert werden, wo die Fehl»korrektur nur durch die Verwendung d» Fehlerlokalisation ausgeführt wird, welche durch die Zeiger angezeigt wird, so daß die Fehl»korrekturmöglichkeit verbessert wird.
Die Erfindung kann mit gutem Erfolg bei einem Audio-Plattensystem verwendet w»den, welches einem -16-
Claims (10)
- AT 393 926 B Video-Plattensystem ähnlich ist, wobei es als Wiedergabegeiät getrennt vom Fehlerkorrekturkodierer aufgebaut werden kann. 5 PATENTANSPRÜCHE 10 1. Gerät zur Feststellung und Korrektur von Fehlem in empfangenen Digitaldatensignalen, welche aus Datenworten und Fehleikontrollworten bestehen, umfassend Syndromerzeugungseinrichtungen, zum Erzeugen einer Mehrzahl von Fehlersyndromsignalen durch Multipli-15 kation eines Blocks der empfangenen Datensignale und Fehlerkontrollworte mit einer Paritätskontrollmatrix, Feststelleinrichtungen, welche an die Syndromerzeugungseinrichtungen angeschlossen sind, zum Feststellen, ob Fehler in den empfangenen Digitaldatensignalen vorhanden sind, indem vorgewählte Gleichheiten oder Ungleichheiten unter den Fehlersyndromsignalen kontrolliert und Anzeigesignale »zeugt werden, die das Auftreten solcher Fehler aufzeigen, 20 Fehlerlokalisations-Erzeugungseinrichtungen, welche an die Syndromerzeugungseinrichtungen angeschlossen sind, zum Erzeugen von Fehlerlokalisationssignalen zur Anzeige der Lokalisation dieser Fehler, Fehlermuster-Erzeugungseinrichtungen, welche an die Syndromerzeugungseinrichtungen angeschlossen sind, zum Erzeugen von Fehlermustersignalen unter Verwendung der Fehlersyndromsignale und Fehlerkorrektureinrichtungen, welche an die Fehlermuster-Erzeugungseinrichtungen angeschlossen sind, zur 25 Korrektur der Fehler unter Verwendung der Fehlerlokalisationssignale und der Fehlermustersignale, gekennzeichnet durch Konstanten-Erzeugungseinrichtungen (6, 7, 9), welche an die Syndromerzeugungseinrichtungen (3) und die Fehlerlokalisations-Erzeugungseinrichtungen (9,10) angeschlossen sind, zum Erzeugen einer Mehrzahl von Konstanten-Signalen (A bis E, X, Y) von der Mehrzahl von Syndromsignalen (Sq bis Sj), wobei die Feststelleinrichtungen (11) an die Konstanten-Erzeugungseinrichtungen (7) 30 angeschlossen sind, zum Feststellen, ob Fehler in den empfangenen Digitaldatensignalen vorhanden sind, indem weiters vorgewählte Gleichheiten oder Ungleichheiten unter den Konstanten-Signalen (A bis C) kontrolliert werden, und wobei die Fehlerlokalisations-Erzeugungseinrichtungen (9,10) zur Erzeugung der Fehlerlokalisationssignale (i, j) wieder die Fehler-Konstanten-Signale (D, X, Y) verwenden, und wobei die Fehlermuster-Erzeugungseinrichtungen (6) weiters an die Konstanten-Erzeugungseinrichtungen (6, 7, 9) 35 angeschlossen sind, zum Erzeugen von Fehlermustersignalen (ei, ej) unter weiterer Verwendung der Konstan-ten-Signale (D, X, Y).
- 2. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die FeststeUungseinrichtungen (11) enthalten: Einrichtungen zum Wählen eines der Fehlersyndromsignale (Sq, Sj) und eines der Konstanten-Signale (A, B, 40 C), um einen Null-Signalpegel zu erhalten, Einrichtungen zum Feststellen, ob der Null-Signalpegel auftritt, und Einrichtungen zum Deklarieren, daß keine Fehlerworte festgestellt wurden.
- 3. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die Feststelleinrichtungen (11) enthalten: 45 Einrichtungen zum Wählen eines der Fehlersyndromsignale (Sq, Sj), um einen von Null abweichenden Signalpegel zu erhalten, Einrichtungen zum Wählen eines der Konstanten-Signale (A, B, C) um einen Null-Signalpegel zu erhalten, Einrichtungen zum Feststellen, ob die entsprechenden Null- und von Null abweichenden Signalpegel auftreten, und 50 Einrichtungen zum Deklarieren der Anwesenheit eines Wortfehlers zur Korrektur in Übereinstimmung mit dem Fehlermustersignal.
- 4. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die Feststelleinrichtungen enthalten: Einrichtungen zum Wählen eines der Konstanten-Signale (A, B, C) um einen von Null abweichenden Signal- 55 pegel zu erhalten, Einrichtungen zum Feststellen, ob die von Null abweichenden Signalpegel auftreten, und Einrichtungen zum Feststellen der Anwesenheit von zwei Wortfehlem, und wobei die Konstanten-Erzeugungs- einrichtungen (6, 7, 9) enthalten: Einrichtungen (7, 9) zum Erzeugen einer zweiten Mehrzahl von Konstanten-Signalen (D, E, X, Y) von der 60 genannten Mehrzahl von Konstanten-Signalen (A, B, C) Fehlerlokalisations-Dekodiereinrichtungen (9) zum Lösen einer Fehlerlokalisationsgleichung unter Verwendung -17- AT 393 926 B der zweiten Mehrzahl von Konstanten-Signalen (D, E, X, Y) zusammen mit den Fehlerlokalisationseinrichtungen (9,10) um die Fehlerlokalisationssignale (i, j) zu erzeugen.
- 5. Gerät nach Anspruch 1, dadurch gekennzeichnet, daß die Konstanten-Erzeugungseinrichtungen (6, 7,9) enthalten: Einrichtungen (6) zum Erzeugen einer Mehrzahl von Konstanten-Signalen (A, B, C) unter Verwendung der Syndromsignale (Sq bis S-j), sodaß Λ1 B1 C1 = S0S2 + Sj2 = S1S2 + S0S3 = $283 + s22 Pi-2 ~ b2 = S2S3 + S1^4 c2 = S2S4 + S32 \ / Ak-3 = Sk4Sk-2 + Sk-32 Bk-3 = Sk-3Sk-2 + sk-4sk-l Ck-3 = Sk-3Sk-l + Sk-22
- 6. Gerät nach Anspruch 5, dadurch gekennzeichnet, daß die Feststelleinrichtungen (11) enthalten: Einrichtungen zum Feststellen, wenn Sq = S3 = S4 = ... = Sj^ = 0, Aj = A2 =... = Ak_3 = 0, Bj = B2 = ... = Bk_3 = 0, und Ck_3 = 0 gilt, so wird ein Signal erzeugt, welches anzeigt, daß kein Wortfehler vorhanden ist.
- 7. Gerät nach Anspruch 5, dadurch gekennzeichnet, daß die Feststelleinrichtungen (11) enthalten: Einrichtungen zum Feststellen, wenn Sq φ 0, S3 * 0, S4 Φ 0,... Skl Φ 0, Ak. = 0, Bk· = 0, wobei k' = 1 bis k - 3 und Ck_3 = 0 gilt, so wird ein Signal erzeugt, welches anzeigt, daß ein Wortfelder vorhanden ist.
- 8. Gerät nach Anspruch 5, dadurch gekennzeichnet, daß die Feststelleinrichtungen (11) enthalten: Einrichtungen zum Feststellen, wenn Ak Φ 0, Bk> Φ 0, wobei k’ = 1 bis k - 3 und Cj.,3 Φ 0 gilt, und B1 ß2 Bk-3 A1 A2 Ak-3 Cl C2 Ck-3 A1 a2 Ak-3 = D) = E) ist, so wird ein Signal erzeugt, welches anzeigt, daß zwei Wortfehler vorhanden sind.
- 9. Gerät nach Anspruch 8, dadurch gekennzeichnet, daß die Fehlerlokalisations-Dekodiereinrichtungen (9) Einrichtungen zum Lösen der Gleichung a2‘ + Da* + E = 0 enthalten, um die Fehlerlokalisation i und j festzustellen. -18- AT 393 926 B
- 10. Gerät nach Anspruch 5, dadurch gekennzeichnet, daß die Feststelleinrichtung (11) enthält: Einrichtungen zum Feststellen, (a) wenn Sq = S3 = S4 =... = Sjj-_j = 0, Aj = A2 = ... = = 0, B j = B2 =... = Bj._j = 0, und = 0 5 gilt, so wird ein Signal erzeugt, welches anzeigt, daß kein Wortfelder vorhanden ist, (b) wenn Sq * 0, S3 Φ 0, S4 Φ 0,... * 0, Ak> = 0, Bj,< = 0, wobei k'= 1 bis k-3 und C^.3 = 0 gilt, so wird ein Signal »zeugt, welches anzeigt, daß ein Wortfehler vorhanden ist, und 10 (c) wenn Α^> Φ 0, B^. Φ 0, wobei k'= 1 bis k-3 und C^.3 Φ 0 gilt, so wird ein Signal erzeugt, welches anzeigt, daß zwei Wortfehler vorhanden and. 15 Hiezu 8 Blatt Zeichnung»! -19-
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9925880A JPS5724143A (en) | 1980-07-18 | 1980-07-18 | Error correcting method |
JP10081480A JPS5725047A (en) | 1980-07-23 | 1980-07-23 | Error correcting method |
Publications (2)
Publication Number | Publication Date |
---|---|
ATA314981A ATA314981A (de) | 1991-06-15 |
AT393926B true AT393926B (de) | 1992-01-10 |
Family
ID=26440410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AT0314981A AT393926B (de) | 1980-07-18 | 1981-07-16 | Geraet zur feststellung und korrektur von fehlern in empfangenen digitaldatensignalen |
Country Status (16)
Country | Link |
---|---|
US (1) | US4476562A (de) |
KR (1) | KR860000500B1 (de) |
AT (1) | AT393926B (de) |
AU (1) | AU541864B2 (de) |
BR (1) | BR8104615A (de) |
CA (1) | CA1170776A (de) |
CH (1) | CH653457A5 (de) |
DD (1) | DD201957A5 (de) |
DE (1) | DE3128599C2 (de) |
DK (1) | DK162862C (de) |
ES (1) | ES8205089A1 (de) |
FR (1) | FR2491278B1 (de) |
GB (1) | GB2081479B (de) |
IT (1) | IT1138096B (de) |
NL (2) | NL191002C (de) |
SE (1) | SE462607B (de) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8104342A (nl) * | 1981-09-21 | 1983-04-18 | Philips Nv | Rekenmachinesysteem, gebaseerd op een symboolkorrigerende kode met twee werkmodes. |
US4541091A (en) * | 1982-06-11 | 1985-09-10 | Hitachi, Ltd. | Code error detection and correction method and apparatus |
EP0096163B1 (de) * | 1982-06-15 | 1988-06-01 | Kabushiki Kaisha Toshiba | Einrichtung zum Dividieren der Elemente eines Galois-Feldes |
JPS5961332A (ja) * | 1982-09-30 | 1984-04-07 | Nec Corp | 誤り訂正回路 |
US4504948A (en) * | 1982-12-29 | 1985-03-12 | International Business Machines Corporation | Syndrome processing unit for multibyte error correcting systems |
AU575042B2 (en) * | 1983-03-12 | 1988-07-21 | Sony Corporation | Error-correcting apparatus |
US4677622A (en) * | 1983-06-22 | 1987-06-30 | Hitachi, Ltd. | Error correction method and system |
EP0136587B1 (de) * | 1983-09-06 | 1991-04-17 | Kabushiki Kaisha Toshiba | Fehlerkorrekturschaltung |
JPH0812612B2 (ja) * | 1983-10-31 | 1996-02-07 | 株式会社日立製作所 | 誤り訂正方法及び装置 |
NL8400629A (nl) * | 1984-02-29 | 1985-09-16 | Philips Nv | Snelle decodeur voor reed-solomon-codes, welke mede als encodeur te gebruiken is, alsmede opname/reproduktie-apparaat voorzien van zo een encodeur/decodeur. |
NL8403147A (nl) * | 1984-10-16 | 1986-05-16 | Philips Nv | Dataverwerkingssysteem dat is opgebouwd uit drie dataverwerkingsmodules. |
DE3751958T2 (de) * | 1986-09-30 | 1997-04-10 | Canon K.K., Tokio/Tokyo | Fehlerkorrekturgerät |
JPS63193723A (ja) * | 1987-02-06 | 1988-08-11 | Sony Corp | リ−ドソロモン符号の復号方法 |
US4890286A (en) * | 1987-12-11 | 1989-12-26 | Sanyo Electric Co., Ltd. | Method and apparatus for decoding error correcting code |
JP2532917B2 (ja) * | 1988-04-20 | 1996-09-11 | 三洋電機株式会社 | デ―タ誤り検出回路 |
SE468413B (sv) * | 1990-08-15 | 1993-01-11 | Televerket | Metod foer aaterskapande av foerlorade bitar vid digital transmission |
US5499251A (en) * | 1990-08-15 | 1996-03-12 | Televerket | Method of recovering lost bits in a digital transmission |
DE69031947T2 (de) * | 1990-10-16 | 1998-07-16 | Koninkl Philips Electronics Nv | Datenverarbeitungssystem basierend auf einem (N,K)-Symbolkode und mit Symbolfehler-Korrigierbarkeit und mehrfacher Fehlerreparierbarkeit |
US5291496A (en) * | 1990-10-18 | 1994-03-01 | The United States Of America As Represented By The United States Department Of Energy | Fault-tolerant corrector/detector chip for high-speed data processing |
KR930007928B1 (ko) * | 1991-01-31 | 1993-08-21 | 삼성전자 주식회사 | 오류정정방법 및 장치 |
US5416786A (en) * | 1991-06-28 | 1995-05-16 | Industrial Technology Research Institute | Error correction circuit for BCH codewords |
KR950002304B1 (ko) * | 1992-10-07 | 1995-03-16 | 삼성전자주식회사 | 다중 오류정정 방법 |
GB2275393B (en) * | 1993-02-20 | 1997-08-20 | Northern Telecom Ltd | Transmission system |
MY114518A (en) * | 1994-03-19 | 2002-11-30 | Sony Corp | Optical disk and method and apparatus for recording and then playing information back from that disk |
USRE38802E1 (en) * | 1994-03-19 | 2005-09-27 | Sony Corporation | Method for reproducing compressed information data from a disk using a spatial frequency less than the track pitch |
EP1139338A3 (de) | 1994-03-19 | 2006-10-11 | Sony Corporation | Optische Platte und Verfahren und Gerät zur Aufzeichnung und Wiedergabe von dieser Platte |
US5815212A (en) * | 1995-06-21 | 1998-09-29 | Sony Corporation | Video overlay circuit for synchronizing and combining analog and digital signals |
JP3340933B2 (ja) * | 1997-02-15 | 2002-11-05 | 東芝デジタルメディアエンジニアリング株式会社 | 誤り訂正方法及びdvd再生装置 |
US6691278B1 (en) * | 1999-10-13 | 2004-02-10 | Maxtor Corporation | Detecting errors in coded bit strings |
EP1111800A1 (de) | 1999-12-21 | 2001-06-27 | Deutsche Thomson-Brandt Gmbh | Fehlerkorrektur mit einem cross interleave Reed-Solomon Code, insbesondere für CD-ROM |
EP1388944A1 (de) * | 2002-08-10 | 2004-02-11 | Deutsche Thomson-Brandt Gmbh | Cross-interleave Reed-Solomon Codekorrektion |
EP1388946A1 (de) * | 2002-08-10 | 2004-02-11 | Thomson Licensing S.A. | Cross-interleave Reed-Solomon Codekorrektion |
US8255777B2 (en) * | 2009-02-10 | 2012-08-28 | Spansion Llc | Systems and methods for locating error bits in encoded data |
JP5581969B2 (ja) * | 2010-10-27 | 2014-09-03 | ソニー株式会社 | 復号装置および方法、並びにプログラム |
KR102324769B1 (ko) | 2015-06-29 | 2021-11-10 | 삼성전자주식회사 | 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 이를 포함하는 메모리 시스템 |
WO2018140316A1 (en) | 2017-01-24 | 2018-08-02 | Arizona Board Of Regents On Behalf Of The University Of Arizona | A method and system utilizing quintuple parity to provide fault tolerance |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3638182A (en) * | 1970-01-02 | 1972-01-25 | Bell Telephone Labor Inc | Random and burst error-correcting arrangement with guard space error correction |
US3851306A (en) * | 1972-11-24 | 1974-11-26 | Ibm | Triple track error correction |
US3958220A (en) * | 1975-05-30 | 1976-05-18 | International Business Machines Corporation | Enhanced error correction |
JPS5380105A (en) * | 1976-12-24 | 1978-07-15 | Sony Corp | Digital signal transmission method |
US4142174A (en) * | 1977-08-15 | 1979-02-27 | International Business Machines Corporation | High speed decoding of Reed-Solomon codes |
JPS5857781B2 (ja) * | 1978-01-17 | 1983-12-21 | 三菱電機株式会社 | 符号化復号化方式 |
JPS54137204A (en) * | 1978-04-17 | 1979-10-24 | Sony Corp | Digital signal transmission method |
JPS5556744A (en) * | 1978-10-23 | 1980-04-25 | Sony Corp | Pcm signal transmission device |
JPS5573909A (en) * | 1978-11-28 | 1980-06-04 | Matsushita Electric Ind Co Ltd | Signal processor |
JPS55131860A (en) * | 1979-03-30 | 1980-10-14 | Matsushita Electric Ind Co Ltd | Error correction unit |
CA1161565A (en) * | 1980-06-20 | 1984-01-31 | Yoichiro Sako | Method of error correction |
JPS5710558A (en) * | 1980-06-20 | 1982-01-20 | Sony Corp | Error correcting method |
-
1981
- 1981-07-14 CA CA000381664A patent/CA1170776A/en not_active Expired
- 1981-07-16 KR KR1019810002592A patent/KR860000500B1/ko active
- 1981-07-16 AT AT0314981A patent/AT393926B/de not_active IP Right Cessation
- 1981-07-17 BR BR8104615A patent/BR8104615A/pt not_active IP Right Cessation
- 1981-07-17 SE SE8104418A patent/SE462607B/sv not_active IP Right Cessation
- 1981-07-17 ES ES504085A patent/ES8205089A1/es not_active Expired
- 1981-07-17 CH CH4703/81A patent/CH653457A5/fr not_active IP Right Cessation
- 1981-07-17 DK DK321481A patent/DK162862C/da not_active IP Right Cessation
- 1981-07-17 GB GB8122062A patent/GB2081479B/en not_active Expired
- 1981-07-17 IT IT22998/81A patent/IT1138096B/it active
- 1981-07-17 AU AU73106/81A patent/AU541864B2/en not_active Expired
- 1981-07-20 FR FR818114105A patent/FR2491278B1/fr not_active Expired
- 1981-07-20 NL NL8103426A patent/NL191002C/xx not_active IP Right Cessation
- 1981-07-20 DE DE3128599A patent/DE3128599C2/de not_active Expired - Lifetime
- 1981-07-20 DD DD81231938A patent/DD201957A5/de not_active IP Right Cessation
-
1983
- 1983-09-28 US US06/536,824 patent/US4476562A/en not_active Expired - Lifetime
-
1994
- 1994-03-10 NL NL9400376A patent/NL9400376A/xx not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
SE461620B (sv) | 1990-03-05 |
SE462607B (sv) | 1990-07-23 |
DK162862B (da) | 1991-12-16 |
CH653457A5 (fr) | 1985-12-31 |
GB2081479A (en) | 1982-02-17 |
DE3128599C2 (de) | 2003-02-13 |
IT1138096B (it) | 1986-09-10 |
KR830007010A (ko) | 1983-10-12 |
ATA314981A (de) | 1991-06-15 |
KR860000500B1 (ko) | 1986-05-01 |
DD201957A5 (de) | 1983-08-17 |
AU7310681A (en) | 1982-01-21 |
AU541864B2 (en) | 1985-01-24 |
BR8104615A (pt) | 1982-04-06 |
ES504085A0 (es) | 1982-05-16 |
DE3128599A1 (de) | 1982-06-09 |
NL191002B (nl) | 1994-07-01 |
NL191002C (nl) | 1994-12-01 |
FR2491278B1 (fr) | 1989-12-15 |
FR2491278A1 (fr) | 1982-04-02 |
CA1170776A (en) | 1984-07-10 |
NL9400376A (en) | 1994-07-01 |
ES8205089A1 (es) | 1982-05-16 |
SE8104418L (sv) | 1982-01-19 |
NL8103426A (nl) | 1982-02-16 |
DK321481A (da) | 1982-01-19 |
DK162862C (da) | 1992-05-04 |
IT8122998A0 (it) | 1981-07-17 |
GB2081479B (en) | 1985-06-19 |
US4476562A (en) | 1984-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AT393926B (de) | Geraet zur feststellung und korrektur von fehlern in empfangenen digitaldatensignalen | |
DE3123978C2 (de) | Verfahren zum Decodieren und zur Korrektur von blockweisen digitalen Informationsworten und Anwendung des Verfahrens | |
AT395794B (de) | Anordnung zum uebertragen von daten mit fehlerkorrektur, damit erzeugter datentraeger und decodiervorrichtung zur verwendung bei einer derartigen anordnung | |
DE3124425C2 (de) | Verfahren und Vorrichtung zu Fehlererkennung und Fehlerkorrektur | |
DE2942825C2 (de) | ||
DE3040004C2 (de) | ||
DE3854791T2 (de) | Reed-Solomon Code verwendendes Fehler-Korrektur-Verfahren | |
DE3787900T2 (de) | Verfahren und Gerät zur Erzeugung von Prüfungs-Byten zur Fehlerdetektion für einen Datenblock. | |
DE3231956A1 (de) | Anordnung zum uebertragen von binaerdaten ueber eine vielzahl von kanaelen mit hilfe eines faltungscodes | |
EP0545498B1 (de) | Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen | |
DE2659031A1 (de) | Fehlerkorrektur- und -steuersystem | |
DE3131764A1 (de) | Digitalsignal-uebertragungssystem | |
DE3006958A1 (de) | Digitalsignal-uebertragungssystem | |
DE2263488A1 (de) | System zur korrektur der fehler in zwei fehlerbehafteten spuren eines vielspurigen aufzeichnungsgeraets | |
DE4105860C2 (de) | Schaltungsanordnung zum Erkennen und Korrigieren von Fehlern in Datenworten | |
DE69317766T2 (de) | Fehlerkorrekturgerät für digitale Daten zur Korrektur von Einfachfehlern (sec), von Doppelfehlern (ded) und Vielfacheinzelbytefehlern (sbd) und zur Korrektur von Einzelbytefehlern ungerader Anzahl (odd sbc) | |
DE2460263A1 (de) | Schaltungsanordnung zum korrigieren des schlupffehlers in datenuebertragungssystemen unter verwendung von zyklischen codes | |
DE2053836C3 (de) | Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen | |
DE3702574A1 (de) | Speicheranordnung mit drei moduln, mit symbolbreiten speicherchips und mit einem fehlerschutz, wobei jedes symbol aus 2(pfeil hoch)i(pfeil hoch)+1 bits besteht | |
DE3022573A1 (de) | System zur verarbeitung und uebertragung von pcm signalen | |
DE2000565A1 (de) | Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler | |
DE3017830A1 (de) | Datenfehler-korrektursystem | |
DE2163105C3 (de) | Verfahren und Schaltungsanordnung zum Dekodieren und Korrigieren eines sogenannten nichtsystematischen Convolutional-Code | |
DE4300025C1 (de) | Verfahren und Einrichtung zur fehlercodierenden Datenübertragung | |
DE2906578C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ELA | Expired due to lapse of time |