DE2906578C2 - - Google Patents

Info

Publication number
DE2906578C2
DE2906578C2 DE19792906578 DE2906578A DE2906578C2 DE 2906578 C2 DE2906578 C2 DE 2906578C2 DE 19792906578 DE19792906578 DE 19792906578 DE 2906578 A DE2906578 A DE 2906578A DE 2906578 C2 DE2906578 C2 DE 2906578C2
Authority
DE
Germany
Prior art keywords
syndrome
error
selection area
error selection
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19792906578
Other languages
English (en)
Other versions
DE2906578A1 (de
Inventor
Adi 3300 Braunschweig De Wael
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Leilich Hans-Otto Prof Dr-Ing 3340 Wolfenbuettel De
Original Assignee
Leilich Hans-Otto Prof Dr-Ing 3340 Wolfenbuettel De
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leilich Hans-Otto Prof Dr-Ing 3340 Wolfenbuettel De filed Critical Leilich Hans-Otto Prof Dr-Ing 3340 Wolfenbuettel De
Priority to DE19792906578 priority Critical patent/DE2906578A1/de
Publication of DE2906578A1 publication Critical patent/DE2906578A1/de
Application granted granted Critical
Publication of DE2906578C2 publication Critical patent/DE2906578C2/de
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/17Burst error correction, e.g. error trapping, Fire codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

Die Erfindung bezieht sich auf eine Schaltungsanordnung zur wortweise parallelen Decodierung eines Bündelfehler korrigierenden Codes nach den Oberbegriffen der Patentansprüche 1 oder 2.
Die Theorie des fehlerkorrigierenden Codes ist in der Fachliteratur (W. W. Peterson an E. J. Weldon, "Error- Correcting Codes", The MIT Press, 1972; Shu Lin, "An Introduction to Error-Correcting Codes", Prentice Hall, 1970; F. J. Mac Williams and N. J. A. Sloan, "The Theory of Error-Correcting Codes" Part I and II, North Holland publishing company, 1977) ausführlich dargestellt.
Bei den zyklischen Codes besteht das Codewort aus dem ursprünglichen Datenwort mit k Zeichen und einem anschließenden Prüfwort mit r Zeichen. Datenwort und Prüfwort werden als Polynom einer Variablen x dargestellt. Das Polynom für das Prüfwort R(x) ergibt sich aus dem Polynom für das Datenwort I(x) durch die Operation
x r · I(x) = R(x) mod G(x) (1)
Das Generatorpolynom G(x) vom Grad r ist eine Eigenschaft des Codes.
Dem Polynom des resultierenden Codewortes
C(x) = I(x) x r +R(x) (2)
überlagert sich das Polynom E(x) des Fehlermusters zu
M(x) = C(x)+E(x) (3)
Aus M(x) gewinnt man das Syndrom durch die der Codierung ähnliche Operation
H(x) · M(x) = S(x) mod G(x) (4)
Das multiplikativ wirkende Polynom H(x) ist abhängig von Codeeigenschaften (Länge des Codewortes usw.) Das Syndrom S(x) enthält die zur Korrektur nötigen Informationen, d. h. bei Codes zur Korrektur von Bündelfehlern sowohl das Fehlermuster im Bündel (Burstmuster), als auch die Position des Bündelfangs.
Aus der bereits genannten Literaturstelle: W. W. Peterson and E. J. Weldon ist es bekannt, daß das Fehlermuster und die Position des Bündelfehlers durch ein serielles, bitweises Suchverfahren gefunden werden können. Nachteilig ist der große Zeitaufwand dieses bitseriellen Suchverfahrens.
In der DE-OS 28 47 996 ist ferner eine Schaltungsanordnung beschrieben, die zur wortweise parallelen f-Bit breiten Codierung und Decodierung eines fehlerkennenden und -korrigierenden zyklischen Codes aus einem r-Bit breiten Multiplexer für einen Codier- und einem Decodiereingangszweig, aus einem diesem nachgeordneten rückgekoppelten Register, in dem die r Redundanz- bzw. Syndrombits anfallen, ferner aus einem ersten Transformationsnetzwerk, das die f-fach potenzierte Begleitmatrix [A] von G(x) realisiert und schließlich aus je einem weiteren Transformationsnetzwerk im Codier- bzw. im Decodiereingangszweig besteht. Dabei realisiert das Transformationsnetzwerk im Codiereingangszweig die rxf-Matrix und das Transformationsnetzwerk im Decodiereingangszweig die rxf-Matrix [A]-f [T₂] d , wobei die Matrix [T₂] d durch die Decodiergleichung
H(x) · M(x) = S(x) mod G(x)
definiert ist, in der H(x) ein entsprechend der Länge der zu decodierenden Codeworte M(x) und dem Faktor x r, wegen der Verwendbarkeit der Schaltungsanordnung sowohl zum Codieren als auch zum Decodieren, gewähltes Polynom ist.
Der Erfindung liegt die Aufgabe zugrunde, die in der DE-OS 28 47 996 angegebene Schaltung zur blockweisen Erzeugung des Syndroms im Hinblick auf eine Verkürzung des Zeitaufwandes für den Suchvorgang auch zur blockweisen Ermittlung von Bündelfehlern zu benutzen, wobei der zusätzliche Schaltungsaufwand möglichst gering sein soll.
Diese Aufgabe wird erfindungsgemäß durch die kennzeichnenden Merkmale des Patentanspruchs 1 gelöst.
Eine vorteilhafte Ausbildung des Erfindungsgedankens ergibt sich bei Verwendung eines selbstreziproken Generatorpolynoms durch die Merkmale des Anspruchs 2.
Ausführungsbeispiele der Erfindung werden im folgenden anhand der Zeichnung näher erläutert. Dabei zeigt
Fig. 1 eine Schaltungsanordnung zur Codierung, Decodierung und Korrektur für einen Bündelfehler korrigierenden Code.
Fig. 2 eine Schaltungsanordnung gemäß der Erfindung zur Ermittlung eines Bündelfehlers für b c f-l
Fig. 3 eine Schaltungsanordnung zur Ermittlung eines Bündelfehlers für b c <f-l
Fig. 4 eine vereinfachte Schaltungsanordnung nach Fig. 1 durch Verwendung eines durch ein selbstreziprokes Generatorpolynom definierten Codes.
Fig. 5 eine Schaltungsanordnung zur Ermittlung eines Bündelfehlers für b c <f-l in einer Schaltung nach Fig. 4
Der in Fig. 1 gestrichelt eingegrenzte Teil der Schaltung besteht aus einem rückgekoppelten Syndromregister S, in dem die r Redundanz- bzw. Syndrombits anfallen, und aus einem dem Syndromregister S vorgeschalteten Transformationsnetzwerk [T₁], daß die f-fach potenzierte Begleitmatrix [A] von G(x) realisiert. Der Ausgang des Syndromregisters S ist mit einer Bündelfehler-Selektionseinheit verbunden. Eine Änderung des Ausgangssignals der Bündelfehlerselektionseinheit zeigt an, daß bei der blockweisen Suche ein korrigierbares Bündelfehlermuster gefunden worden ist. Die Suchprozedur verläuft wie folgt:
  • 1. An den Eingangsleitungen des gestrichelten Schaltungsblocks wird der Wert Null erzeugt,
    beispielsweise durch I v = 0 für alle v
    oder durch Überbrückung der r-stelligen modulo-2-Addierers im gestrichelten Schaltungsblock.
  • 2. In jedem Suchschritt wird das Syndrom-Register S einmal getaktet. Jeder einzelne Suchschritt entspricht f Suchschritten bei dem konventionellen seriellen Verfahren nach W. W. Peterson und E. J. Weldon.
  • 3. Die in Fig. 2 dargestellte Bündelfehler-Selektionseinheit entscheidet nach jedem Taktschritt, ob ein korrigierbares Bündelfehlermuster gefunden ist. Ist dies der Fall, so enthält der Bündelfehler-Selektionsbereich des Syndrom-Registers das korrigierbare Burstmuster. Die Distanz ergibt sich aus der Zahl der bis dahin benötigten Suchtakte.
Der zyklische Blockcode habe r redundante Bit. Die Aufgabe besteht darin, alle Burstmuster mit einer Breite von bis zu b c Bit zu korrigieren.
Dabei ergeben sich unter Bezugnahme auf die Schaltungsbeispiele nach Fig. 2 und 3 folgende Kriterien:
  • 1. Zum Finden des Bündelfehlermusters genügt es,
    c = (b c +f-l)r
    zusammenhängende Stellen des Syndromregisters auf die Bedingung nach Gleichung (5) zu testen und gleichzeitig die übrigen Stellen auf Null zu testen.
    Die c zusammenhängenden Stellen stellen dann den Bündelfehler-Selektionsbereich BSB dar.
  • 2. Die Position des Bündelfehlerselektionsbereichs innerhalb des Syndromregisters kann frei gewählt werden.
  • 3. Der Test erstreckt sich auf die jeweils f-l äußeren Stellen des Bündelfehlerselektionsbereichs. Bei b c <f-l (Fig. 2) werden im Inneren des Bündelfehler- Selektionsbereichs liegende Stellen nicht getestet. Dagegen werden bei b c <f-l Stellen im Inneren des Bündelfehlerselektionsbereiches doppelt erfaßt (Fig. 3).
  • 4. Das in der Fig. 2 und 3 gestrichelt eingegrenzte Entscheidungsnetzwerk enthält zwei gleichartige Funktionsgruppen, die die jeweilige Distanz (l₁, l₂) zwischen den Rändern des Bündelfehlerselektionsbereichs und der nächsten in seinem Inneren auftretenden Eins bestimmen. Ein Bündelfehler ist dann gefunden, wenn l₁+lf-l (5)erfüllt ist und außerdem alle Registrierstellen außerhalb des Bündelfehlerselektionsbereichs den Wert Null haben.
  • 5. Die Implentierung des Entscheidungswerkes benötigt höchstens ½ [(f-2) (f-l)+4] logische Terme mit je 2 × (f-l) Eingangsvariablen, und zwar unabhängig von b c und r. Die Unabhängigkeit von b c ist von besonderem Vorteil bei adaptiver Bündelfehlerkorrektur mit variablen b c .
Es ist allgemein wünschenswert, den elektrischen Aufwand soweit als möglich zu reduzieren. Dies gilt insbesondere für denjenigen Aufwand, der bei Betrieb mit variablen Blocklängen zusätzlich nötig ist.
Zum Verständnis der vorgeschlagenen Lösung sind noch einige Erläuterungen zur Schaltung nach Fig. 1 zweckmäßig:
Die Matrix [T₁] multipliziert in jedem Schritt den Inhalt des Syndrom-Registers S mit x f Mod G(x). Gleichzeitig multipliziert die Dekodierungsmatrix [T₃] den Eingangsvektor mit Mod G(x). Dabei ist s i die Zahl des Bits, um die der Code gegebenenfalls verkürzt worden ist. Die Terme der Matrix [T₃] d sind abhängig von s i, nicht aber die Dimension der Matrix. Wählt man die Matrix [T₁] dagegen so, daß sie mit x -f Mod G(x) (anstelle s f) multipliziert, so entfallen die Gründe für die Notwendigkeit von [T₃] d . Die bei der Dekodierung für die Syndromerzeugung genutzte Matrix [T₃] d kann nun weggelassen werden.
Im weiteren wird gezeigt, daß die Struktur so umgeformt werden kann, daß sie ohne Änderung für die Kodierung sowie für Syndromerzeugung und Fehlerkorrektur bei der Dekodierung benutzt werden kann.
Dies erreicht man, indem man das Polynom G(x) selbstreziprok wählt, d. h. derart, daß gilt
Die in Fig. 4 dargestellte Schaltung arbeitet dann wie folgt:
1. Codierung und die Syndromerzeugung bei der Dekodierung werden wie bisher durchgeführt, indem der Datenblock schrittweise zerlegt in Vektoren eingegeben wird (vgl. M. Y. Hsiao: "Theories and Application of Parallel Linear Feedback Shift Register", IBM TR 00.1708, 1968)
2. Für die Fehlerkorrektur wird der Eingangsvektor auf Null gesetzt. Das erzeugte Syndrom wird gespiegelt, d. h. der bisherige Inhalt der Registerstelle ρ wird zum neuen Inhalt der Registerstelle r-ρ.
3. Die anschließende Bündelfehler-Selektion nach dem schon beschriebenen Verfahren liefert jetzt den Abstand des Bündelfehleranfangs vom Blockanfang (LSB), d. h. anders als bei Bezug auf das Blockende (MSB) in einer von der Blocklänge unabhängigen Form.
Eine gleiche Struktur für Codierung sowie für Syndromerzeugung und Fehlerkorrektur ermöglicht es, diese drei Operationen zeitlich hintereinander mit der gleichen Elektronik auszuführen.
Darüberhinaus ist eine gleiche Struktur auch dann von Vorteil, wenn diese drei Operationen simultan in getrennten Baugruppen ausgeführt werden. Zu dem offensichtlich ökonomischen Vorteil gleicher Baugruppen kommt noch die Möglichkeit des Selbsttests durch Vergleich.
Eine weitere Ausgestaltungsmöglichkeit betrifft die Implementierung des Entscheidungsnetzwerkes (Fig. 3). In bestimmten Fällen (b c <f-l) sind bestimmte Registerinhalte sowohl Eingänge des l₁- als auch des l₂-Netzwerkes. Die in dieser doppelten Abfrage enthaltene Redundanz kann man durch die in Fig. 5 dargestellte Schaltung vermeiden, allerdings zu Lasten der Universalität in bezug auf die korrigierbare Länge des Bündelfehlers.

Claims (2)

1. Schaltungsanordnung zur wortweise parallelen f Bit breiten Decodierung eines zyklischen, einen Bündelfehler der Längeb c korrigierenden Codes, der durch ein Generatorpolynom G(x) vom Grade r definiert ist und dessen Codewort ganzzahlige Vielfache von f sind, unter Verwendung eines r Bit breiten rückgekoppelten Schieberegisters, in dem das Syndrom S(x) anfällt, und eines Transformationsnetzwerkes, das die Funktion x f mod G(x) realisiert, wobei nach der Syndromberechnung zur Fehlerkorrekturberechnung die Eingangsleitungen auf Null gesetzt werden und das Syndrom zyklisch verschoben wird, dadurch gekennzeichnet,
daß c = (b c +f-1)r nebeneinander liegende Stellen des Syndromregisters als Fehlerselektionsbereich definiert werden, deren Ausgänge zumindest teilweise an eine programmierbare Logikschaltung angeschlossen sind, durch die nach jedem zyklischen Verschieben des Syndroms um f einen Suchkontakt darstellende Schritte von den Rändern des Fehlerselektionsbereichs ausgehend 2 × (f-1) Stellen des Syndromregisters gemäß der Bedingung
l₁+lf-1
getestet werden, wobei l₁ und l₂ als Distanzen zwischen den Rändern des Fehlerselektionsbereichs und den jeweils nächsten in seinem Innern auftretenden Einsen definiert sind, daß die außerhalb des Fehlerselektionsbereichs liegenden Stellen des Syndromregisters auf Null geprüft werden,
daß bei Erfüllung dieser beiden Bedingungen der Fehlerselektionsbereich das Bündelfehlermuster enthält und daß die Distanz desselben durch die Anzahl der benötigten Suchtakte gegeben ist.
2. Schaltungsanordnung zur wortweise parallelen, f Bit breiten Decodierung eines zyklischen, einen Bündelfehler der Längeb c korrigierenden Codes, der durch ein Generatorpolynom G(x) vom Grade r definiert ist und dessen Codeworte ganzzahlige Vielfache von f sind, unter Verwendung eines r Bit breiten, rückgekoppelten Schieberregisters, in dem das Syndrom S(x) anfällt und eines ersten Transformationsnetzwerkes, das die Funktion x f mod G(x) realisiert, und unter Verwendung eines weiteren Transformationsnetzwerkes, das vor dem ersten Transformationsnetzwerk und dem Schieberegister angeordnet ist, wobei nach der Syndromberechnung zur Fehlerkorrekturberechnung die Eingangsleitungen auf Null gesetzt werden und das Syndrom zyklisch verschoben wird, dadurch gekennzeichnet,
daß das weitere Transformationsnetzwerk die rxf-Matrix realisiert,
daß das Generatorpolynom selbstreziprok gewählt wird, d. h. daß das generierte Syndrom vor der Fehlerselektion im Syndromregister gespiegelt wird,
daß c = (b c +f-l)r nebeneinander liegende Stellen des Syndromregisters als Fehlerselektionsbereich definiert werden, deren Ausgänge zumindest teilweise an eine programmierbare Logikschaltung angeschlossen sind, durch die nach jedem zyklischen Verschieben des Syndroms um f einen Suchtakt darstellende Schritte von den Rändern des Fehlerselektionsbereiches ausgehend 2 × (f-l) Stellen des Syndromregisters gemäß der Bedingung
l₁+lf-l
getestet werden , wobei l₁ und l₂ als Distanzen zwischen den Rändern des Fehlerselektionsbereiches und den jeweils nächsten in seinem Inneren auftretenden Einsen definiert sind, daß die außerhalb des Fehlerselektionsbereiches liegenden Stellen des Syndromregisters auf Null geprüft werden, daß bei Erfüllung dieser beiden Bedingungen der Fehlerselektionsbereich das Bündelfehlermuster enthält und daß die Distanz desselben vom Anfang des Eingangsdatenblocks durch die Anzahl der benötigten Suchtakte gegeben ist.
DE19792906578 1979-02-21 1979-02-21 Einrichtung zur blockweisen korrektur von burstfehlern mittels zyklischer codes Granted DE2906578A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19792906578 DE2906578A1 (de) 1979-02-21 1979-02-21 Einrichtung zur blockweisen korrektur von burstfehlern mittels zyklischer codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19792906578 DE2906578A1 (de) 1979-02-21 1979-02-21 Einrichtung zur blockweisen korrektur von burstfehlern mittels zyklischer codes

Publications (2)

Publication Number Publication Date
DE2906578A1 DE2906578A1 (de) 1980-08-28
DE2906578C2 true DE2906578C2 (de) 1988-05-19

Family

ID=6063460

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792906578 Granted DE2906578A1 (de) 1979-02-21 1979-02-21 Einrichtung zur blockweisen korrektur von burstfehlern mittels zyklischer codes

Country Status (1)

Country Link
DE (1) DE2906578A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4338247A1 (de) * 1993-11-09 1995-05-11 Siemens Ag Verfahren und Schaltungsanordnung zur Fehlerkorrektur

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3032468C2 (de) * 1980-08-28 1986-01-23 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung zur Erkennung des Musters von Fehlerbündeln

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2847996A1 (de) * 1978-11-06 1980-05-22 Leilich Hans Otto Prof Dr Ing Verfahren zur blockweisen fehlererkennung und fehlerkorrektur mittels verkuerzter zyklischer codes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4338247A1 (de) * 1993-11-09 1995-05-11 Siemens Ag Verfahren und Schaltungsanordnung zur Fehlerkorrektur

Also Published As

Publication number Publication date
DE2906578A1 (de) 1980-08-28

Similar Documents

Publication Publication Date Title
DE2139731C2 (de) Anordnung zur Code-Umsetzung
AT393926B (de) Geraet zur feststellung und korrektur von fehlern in empfangenen digitaldatensignalen
DE2262070A1 (de) Mit schieberegistern arbeitendes fehlerkorrektursystem
DE2508706A1 (de) Codieren und decodieren mit einem code variierbarer wortlaenge und gegebenem bitzahlverhaeltnis
DE2614916A1 (de) Konverter zur codeumwandlung
DE2320422A1 (de) Verfahren zur fehlererkennung
DE2456709C2 (de) Schaltungsanordnung zur Fehlererkennung und -korrektur
DE4121444A1 (de) System und verfahren zur fehlerdetektion und zur reduzierung von simultanem schaltrauschen
EP0003480B1 (de) Schaltungsanordnung zum Umwandeln von Binärinformationen mittels Kontrollbits
DE2053836C3 (de) Anordnung zur Korrektur von Fehlerbündeln in binär codierten Datengruppen
DE102020110787B3 (de) Schaltung und verfahren zum kodieren oder dekodieren eines datenworts
DE2906578C2 (de)
DE2235802C2 (de) Verfahren und Einrichtung zur Prüfung nichtlinearer Schaltkreise
EP0769853B1 (de) Logischer Block für einen Viterbi-Decoder
DE2000565A1 (de) Fehlerkorrigierendes System zur Korrektur mehrfacher,zufaelliger Fehler
EP0159403A2 (de) Anordnung zur Korrektur von Bündelfehlern in verkürzten zyklischen Blockcodes
EP1130788A2 (de) Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer
DE2826454B2 (de)
EP0046963B1 (de) Schaltungsanordnung zur Erkennung und Korrektur von Fehlerbündeln
DE2657408A1 (de) Fehlerkorrekturschaltung
EP1579230B1 (de) Vorrichtung und verfahren zur bildung einer signatur
EP1047199B1 (de) Datenübertragungsvorrichtung und -verfahren
EP0012828A1 (de) Schaltungsanordnung zur Korrektur von bytestrukturierten Fehlern
DE3543976C2 (de)
EP0996231B1 (de) Verfahren und Anordnung zum Erzeugen von fehlergesicherten Datenblöcken durch Erzeugen von Paritätsworten und Datenträger mit gemäss dem Verfahren erzeugten Datenblöcken

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee