DE1946365A1 - Einrichtung zum Erkennen oder Korrigieren von einzelnen Blockfehlern - Google Patents

Einrichtung zum Erkennen oder Korrigieren von einzelnen Blockfehlern

Info

Publication number
DE1946365A1
DE1946365A1 DE19691946365 DE1946365A DE1946365A1 DE 1946365 A1 DE1946365 A1 DE 1946365A1 DE 19691946365 DE19691946365 DE 19691946365 DE 1946365 A DE1946365 A DE 1946365A DE 1946365 A1 DE1946365 A1 DE 1946365A1
Authority
DE
Germany
Prior art keywords
arrangement
digits
feature
bit
error
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.)
Pending
Application number
DE19691946365
Other languages
English (en)
Inventor
Srinivasan Venkatasubrahmanya
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.)
RCA Corp
Original Assignee
RCA Corp
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 RCA Corp filed Critical RCA Corp
Publication of DE1946365A1 publication Critical patent/DE1946365A1/de
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

6873-69/Dr .ν .B/Ro. 1 9 Λ R 3 β R
RCA 60,921 · IJHD0D0
US-Ser.No. 759,363
Piled: September 12, I968
RCA Corporation, New York, N.Y. (V.St.A.)
Einrichtung zum Erkennen oder Korrigieren von einzelnen
Blockfehlern.
Die vorliegende Erfindung betrifft eine Einrichtung zum Erkennen oder Korrigieren von einzelnen Blockfehlern bei der Übertragung von (N-k) Informationsziffern in k Ziffernblocks B1, Bp,., B. , mit einem Sender und einem Empfänger, z.B. für Datenverarbeitungsanlagen oder Nachrichtenverbindungen.
Bei DVA und Nachrichtenverbindungen werden Daten häufig in Form von Blocks übertragen. Ein Block kann z.B. aus einem acht Binärziffern langen Byte bestehen und in einer DVA kann z.B. jedes solche Byte zu einem anderen Speichermodul übertragen werden. Wenn aus irgendeinem Grunde, z.B. wegen eines Versagens der Leitungs-Versorgung, ein Modul des Speichers ausfällt, geht der zu diesem Modul übertragene Block oder das übertragene Byte verloren. Es ist dabei gewöhnlich ziemlich unwahrscheinlich, daß Fehler in mehr als einem einzigen Block auftreten, wenn jedoch ein Fehler auftritt, kann man feststellen, daß ein bis alle Bits des Blockes einer Korrektur bedürfen.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine Einrichtung anzugeben, die sich speziell für die Korrektur von einzelnen Blockfehlern eignet und leistungsfähiger ist als die bekannten Einrichtungen dieser Art.
Bei der Einrichtung gemäß der Erfindung werden Informationsziffern X1, χρ*···*χμ_ιγ derart in k Untergruppen unterteilt, daß jede Informationsziffer in einer Untergruppe nur einmal erscheint, jede Informationsziffer iii zwei Untergruppen enthalten ist und
0098U/1663
keine zwei Untergruppen dasselbe Ziffernpaar enthalten. Für jede Untergruppe aus den Informationsziffern wird eine Prüfziffer erzeugt. Die Ziffern werden dann in k Blocks übertragen, die jeweils aus einer Gruppe von Informationsziffern von verschiedenen Untergruppen und einer einzigen Prüfziffer, die zu einer anderen Untergruppe gehört, bestehen, d.h. also, daß die in einem bestimmten Block enthaltene Prüfziffer keiner Informatlonsziffer des betreffenden Blockes zugeordnet ist. Beim Empfang des Ziffernblockes wird ein Merkmal (Syndrom) Z erzeugt, dessen Ziffern alle den gleichen Wert haben, wenn die empfangenen Ziffern fehlerfrei sind, während es anderenfalls ein spezielles, kennzeichnendes Muster aus Nullen und Einsen aufweist, dessen Symmetrie zeigt, ob ein Fehler oder mehrere Fehler in nur einem einzigen Block der k Ziffernblocks vorhanden sind. Entsprechend dem Merkmal Z und dem Typ seiner Symmetrie bezüglich eines speziellen Blocks kann eine fehlerhafte Ziffer in einem einzelnen Block erkannt und es kann eine Korrektur durchgeführt werden, indem Ziffern X1, 5Ep,. · ·3Ε« k erzeugt werden, die dieselben Werte haben wie die entsprechenden übertragenen Bits X1, x2"##xN-k·
Die Erfindung wird im folgenden anhand der Zeichnung beispielsweise näher erläutert, es neigen:
Fig. 1 eine Blockdarstellung einer Einrichtung, bei der die | Erfindung angewendet werden kann; j
Fig. 2 ein Blockschaltbild der Hauptbestandteile einer Ein- j richtung gemäß der Erfindung zum Erkennen und Korrigieren von Fehlern;
Fig. 3 ein Ausführungsbeispiel einer Codiereinrichtung, d.h. einer Schaltungsanordnung zum Erzeugen von Prüfziffern für die Einrichtung gemäß Fig. 2;
Fig. 4 ein Blockschaltbild einer Ausführungsform eines Merkmalsgenerators, der in der Einrichtung gemäß Fig. 2 verwendet werden kann;
Fig· 5 ein Blockschaltbild einer Gruppe von Merkmal-Analysiereinrichtungen, die in der Einrichtung gemäß Fig. 2 verwendet werden können;
0098 U/1603
Fig. 6a und 6b Logikschaltungen, die Einzelheiten einer typischen Merkmal-Analysiereinrichtung gemäß Fig. 5 zeigen;
Fig. 7a und 7b den logischen Aufbau von Fehlererkemiungs- ( schaltungen, die in der Einrichtung gemäß Fig. 2 Verwendung finden können;
Fig. 8a und 8b den logischen Aufbau T/on Fehlerkorrekturschaltungen, die in der Einrichtung gemäß Fig. 2 Verwendung finden können;
Fig. 9 den logischen Aufbau einer anderen Ausfüfctrungsform einer Fehlererkennungsschaltung für das Bit f,, und
Fig. 10 den logischen Aufbau einer Schaltungsanordnung zum Erkennen einer ungeraden Anzahl von Fehlern in Prüfbits ä,,...ä,.
Im folgenden soll eine Folge von Symbolen die von einem Datenübertragungs- oder Speicherkanal (im folgenden kurz "Kanal") empfangen oder auf einem solchen Kanal übertragen wird, als Wort bezeichnet werden. Ein gesendetes Wort wird folgendermaßen dargestellt:
W — w vi w h^
— W^ Wg ... Wjt Vx / j
wobei w. für 1 ^ i < N die individuellen Symbole des Wortes -sind. Bei binären Systemen stellt Jedes Symbol W1 eine Binärziffer (Bit); dar. Das entsprechende empfangene Wort wird wie folgt dargestellt:;
A AA A / Λ \ '
W = W-i "Q · · · M" V^/
In einem Speicherwerk mit modularer Organisation kann ein Wort W aus k Blocks und jeder Block aus einer Anzahl von Bits bestehen. Bei der in Fig. 1 dargestellten Anlage werden diese k Bitblocks durch einen Adressendecoder 5 zu k Speichermodulen 6a, 6b,...,6k übertragen. Von den Speichermodulen werden die k Bitblocks, die schematisch durch ein längliches Rechteck 7 dargestellt sind, der in Fig. 1 nur als Rechteck 8 dargestellten Einrichtung gemäß Fig. 2 zugeführt. Bei einem Nachrichtensystem er- folgt die gruppenweise Zusammenfassung der Symbole in Blocks auf der Sendeseite. . ,
Im folgenden wird die Anzahl der Symbole in einem Block einest Wortes mit η bezeichnet. Die Gesamtanzahl der Symbole in einem
0098U/1863
6873-6-9
Wort ist daher
N - kn (3)
Gemäß Definition enthält ein empfangenes Wort W einen Fehler wenn fl/W, d.h. wenn einige oder alle Symbole in W von den entsprechenden Symbolen in W verschieden sind. Gemäß Definition enthält W einen einzelnen Blockfehler, wenn alle Symbole von W, die sich von den entsprechenden Symbolen in W unterscheiden, auf einen einzigen Block des Wortes beschränkt sind. Die folgenden Ausführungen befassen sich mit der Korrektur aller solcher einzelner Blockfehler (Einzelblockfehler) In einem empfangenen Wort, die möglich sind und mit der Erkennung einiger anderer möglicher Fehler, die nicht unter den Begriff Einzelblockfehler fallen.
Bei dem hier erläuterten Ausführungsbeispiel der Erfindung bestehen die Wörter aus den Binärziffern 0 und 1 und die Codier- und Decodierschaltungen arbeiten ausschließlich binär. Diese Schaltungen enthalten Verknüpfungsglieder, denen elektrische Signale, welche Binärziffern darstellen, zugeführt werden und die elektrischeSignale erzeugen, die ebenfalls nur Binärziffer-n darstellen. Zur Vereinfachung der folgenden Erläuterungen soll nicht von den Signalen, die diese Binärziffern darstellen, gesprochen werden sondern einfach von den Binärziffern selbst. Selbstverständlich lassen sich die im folgenden erläuterten Codierschemata auch auf allgemeinere Fälle anwenden, bei denen die Ziffern, d.h. die Symbole oder die elektrischen Signale, die diese Symbole darstellen, einen größeren Wertevorrat als nur zwei Werte haben, \ vorausgesetzt daß der Wertevorrat immer kleiner als ein Maximalwert, wie b ist. Dieser Maximalwert wird als die Basis des betreffenden Systems bezeichnet. Beim Binärsystem ist b = 2.
Ein Ausführungsbeispiel einer Einrichtung gemäß der Erfindung ist in Fig. 2 dargestellt. Zur Erleichterung der folgenden j Erläuterungen ist ein spezielles Beispiel gewählt worden, näm- ] lieh eine Einrichtung zur Verarbeitung von η = 3 Bits pro Block ; (2 Informationsbits und 1 Prüfbit) mit k = 7 Blocks (also insgesamt 14 Informationsbits). Diese spezielle Beispiel stellt selbstverständlich keine Einschränkung dar, die folgenden Erläuterungen gelten vielmehr ganz allgemein für alle Fälle, bei denen die Anzahl der Blocks k eine Primzahl ist. Andere Beispiele zur Erläu-
009814/1683
ORIGINAL INSPECTED
teiung dieser Verhältnisse werden später noch gegeben.
Die Einrichtung gemäß Fig. 2 enthält ein Register IO zum Speichern der 14 Informationsbits X1 - X1^. Diese Bits werden •einer Schaltung 12 zur Erzeugung von Prüfbits zugeführt. Wie noch genauer erläutert werden wird, werden die Informationsbits in der Schaltung 12 in Untergruppen S unterteilt. In diesem speziellen Falle gibt es Ic = 7 Untergruppen von denen jede 4 Bits enthält. j Für jede solche Untergruppe wird ein Prüfbit a erzeugt. Die Regeln! für die Wahl der Bits in den einzelnen Untergruppen werden später erläutert. Für den Fall k = 7 werden sieben solcher Prüfbits a1 - a7 erzeugt.
Die Prüfbits von der Schaltung 12 und die Informationsbits | vom Register 10 werden einer Anordnung oder Schaltung 14 zugeführt^ die die insgesamt 21 Informations- und Prüfbits entsprechend einem bestimmten, weiter unten erläuterten Gesetz in Blocks aufteilt und; überträgt. Bei diesem Beispiel besteht das übertragene Wort aus i 7 Blocks B1, B2,...B7, wobei jeder Block zwei Informationsbits I und ein Prüfbit enthält, wie die folgende Tabelle I zeigt. \
Tabelle I: Codewort für das Beispiel k = 7, N = 21
Codewort: W = W1 Wg ... wgl « B1BgB B^B5BgB7 B1 Bg B^ B^ B5 B6 B7 j
x^Xg^jj. X3xij.a5 X5x6a6 X7x8a7 xQxloal x^2xi2a2 X13xl4a3
Das Wort W kann durch den Kanal entweder serienmäßig, wie es 1 bei einem Übertragungssystem gewöhnlich der Fall ist, oder paralleJL, wie es bei einem Speicherwerk üblich ist, übertragen werden· Eine i dritte Möglichkeit besteht darin, die die Blocks B± bildenden Bitgruppen parallel und die Blocks selbst serienmäßig zu übertragen. '.
Die empfangenen Bits werden einem Merkmalgenerator 18 zugeführt, der eine Anordnung enthält, um die Prüfbits und die Informationsbits des empfangenen Wortes W in bestimmter Weise, wie noch erläutert werden wird, zu vergleichen und als Ergebnis dieses Vergleiches anzuzeigen, ob W Fehler enthält oder nicht. Als Ergebnis des Vergleiches erzeugt der Merkmai generator 18 ein Spidrom oder
0 0 9 8 U / 1 κ B "
Merkmal Z, das bei dem vorliegenden Beispiel 7 Bits lang ist (Z = Z1, z2r...2n>). Wenn W = W ist, besteht Z ausschließlich aus Nullen. Wenn W^W ist und der Fehler erkennbar ist, enthält Z ; eine oder mehrere Einsen und, wie unten noch gezeigt werden wird, : wenn der Fehler korrigierbar ist, geben die Stellen dieser Einsen , das oder die Bits in W an, die falsch sind. Beiläufig sei erwähnt,! daß keine eineindeutige Zuordnung zwischen den Einsen im Merkmal ; und den fehlerhaften Bits in W bestehen muß.
Das durch den Generator 18 erzeugte Merkmal Z wird einer ι Merkmal-Analysiereinrichtung 20 zugeführt. Diese zeigt an, ob ein ί Fehler vorhanden ist oder nicht und, wenn der Fehler korrigierbar , ist, welcher spezielle Block falsch ist. Die entsprechenden ™ Schlüsse werden, wie noch erläutert werden wird, alle aus dem Typ der Symmetrie in dem Muster, das die Bits des Merkmals bilden, gezogen.
Die in Fig. 2 dargestellte, spezielle Einrichtung ist in der Lage, alle einzelnen Blockfehler zu korrigieren, wobei jeder Block die Länge 3 hat. Es ist leicht einzusehen, daß für k » 7 und für N-k = 14 Informationsbits insgesamt 49 verschiedene einzelne Blockjfehler möglich sind und daß es 49 verschiedene Merkmale Z gibt, j die Jeweils einen anderen Fehler angeben und der Analysierein- ! richtung zugeführt werden können. Als Antwort auf ein Merkmal Z erzeugt die Analysiereinrichtung 20 ein Ausgangswort D = dj, ...,d«: in dem d. = 1 ist (1 ^ i £ 7) wenn W nur einen einzigen falschen ) Block, nämlich den i-ten Block, enthält.
Die Wörter D, Z und W werden einer Fehlererkennungs- und : Korrekturschaltung 22 zugeführt. Diese Schaltung kann einen oder eine Gruppe von modulo-2-Addierern enthalten. Sie erzeugt als Ausgangssignal ein korrigiertes Wort, das gleich dem gesendeten Wort j W ist, wenn der Fehler in W ein einzelner Blockfehler ist. Wenn es! sich bei dem Fehler jedoch nicht um einen einzelnen Blockfehler, aber um einen der erkennbaren Fehler handelt, erzeugt die Schaltung 22 eine Fehlermeldung, die das Vorliegen eines nicht korrigierbaren Fehlers anzeigt.
0098U/U83
BAD ORIGINAL
1948365
der Prüfbits
Wie erwähnt, werden aus den Informationsbits k Untergruppen Sl*"Sk erzeuSfc 1^10 ^τ ^ede solche Untergruppe wird ein Prüfbit erzeugt; k bedeutet dabei die Anzahl der Blocks in einem Wort. Die Untergruppen S^*,.S^ bilden die Zeilen in einer Matrix [V] mit k Spalten und k Zeilen. Die Matrix selbst besteht aus einer Anordnung der N-k Informationsbits (^•••Xjj.fc) 1^ Nullen, wobei
N-k « k(k-3)/2. Die Anordnung in der ersten Spalte von [VJ ist
X-I
0 0 0
X(k-5)/2
X2
Xi
Für k = 7 ist die erste Spalte in Tabelle II angegeben,
009814/1663
Tabelle II: η « J>, k - 7, η = 21
Spalte
6 7
(X1 X3 X6 0 0 0 X14)
S2 - (X2 x^ X5 X8 0 0 0 )
S, = (O X4 χ5 X7 X10 0 0 )
S4 .- (ο 0 X6 Jrvnr X9 X12 ο )
S5 - (ο 0 0 x9 Xll X14)
(X2 0 0 0 X10 Xll X15)
S7 - (χ. 0 0 0 X12 X13)
Die Erklärung der Anordnung der anderen Spalten erfordert das Verständnis des Begriffes der zyklischen Verschiebung^ der im folgenden erläutert wirds
Zyklische Abwärtsverschiebung einer Spalte
Eine zyklische Abwärtsver^chiebung der ersten Spalte der Tabelle II um eine Stelle sieht wie folgt aus:
0
0
0
Dieses Ergebnis erhält man dadurch, daß jedes Symbol der Spalte, um eine Zeile nach unten verschoben wird und das unterste Symbol> in diesem Falle X1 in die oberste Zeile gebracht wird. Eine zyklische Abwärtsverschiebung um i Stellen wird in entsprechender Welse dadurch bewirkt, daß die ersten (k-i) Symbole um 1 Stellen
U098U/1663
(Zellen) nach unten verschoben werden und die letzten i Symbole in den oberen Teil der Spalte gebracht werden. Z.B. liefert eine zyklische Abwärtsverschiebung der ersten Spalte der Tabelle II um vier Stellen (Pfeilen) das folgende Ergebnis:
0
0
1I C2
Die Anordnung der Informationsziffern und Nullen in anderen Spalten von £V] soll als nächstes erläutert werden. Die i-te Spalte von QQ, also V± für 2 £ i k erhält man dadurch, daß man zuerst die folgende Spalte bildet, wobei t « (k-3)/2 ist
0
0
0
i.t
i.t
009814/1683
und dann diese Spalte um (i-1) Stellen zyklisch nach unten verschiebt. (Diese allgemeine Regel gilt auch für die erste Spalte). Die vierte Spalte in Tabelle II wird also dadurch erhalten, daß man die Anordnung
X8 0 0 0 X8
um 4-1 = 3 Stellen zyklisch nach unten verschiebt, wobei man als Ergebnis erhält:
X8
Xr,
0 0
da in diesem Falle i = 4, k = 7, t = (k-3)/2 = 2, x(i„i)t+i =
1311(1 x(i-l)t+2 = X8 sind· !
Eine Betrachtung der Tabelle II läßt bestimmte Eigenschaften ; der Untergruppen S1 bis S7 erkennen, nämlich:
Eigenschaft 1; Jedes spezielle Informationsbit tritt in einer Untergruppe nur einmal auf.
Eigenschaft 2: Jedes Informationsbit erscheint in genau zwei ; verschiedenen Untergruppen.
Eigenschaft 3: Keine zwei Untergruppen der Informationsbits haben mehr als ein spezielles Bit gemeinsam. Dies bedeutet, daß
009814/1863
wenn zwei Informationsbits X1 und x. zusammen in einer Untergruppe auftreten, keine andere Untergruppe diese beiden Bits zugleich enthält. Eine weitere Untergruppe kann x. enthalten und enthält es auch, und eine dritte Untergruppe kann x. enthalten und enthält dieses auch.
Eigenschaft 4; Eine wichtige Einschränkung* der alle diese Code genügen sollen besteht darin, daß die Zahl k eine Primzahl sein soll, d.h. k soll durch keine andere Zahl i im Bereich Z-cl-c. (k-l) teilbar sein. Der Grund für diese Bedingung wird noch erläutert.
Das $ -te Prüfbit a, für Uj^k ist einfach das gerade
j "—
Paritätsbit für die J-te Untergruppe von S.. Mit anderen Worten ist a. die Summe modulo 2 der Informationsbits In der Untergruppe S. entsprechend der Gleichung!
2
a, = Z ν X, für J = 1, 2,..,,k (5)
2 wobei (χ. € S.) bedeuten soll "für alle z. in S.sl und £ bedeutet
• X j Ij
"Summe modulo 2. a. = 0 wenn S. eine gerade Imsaiü, von Einsen enthält, sonst ist a. = 1. Beispielsweise ist für die Untergruppe S, der Tabelle II das Prüfbit a, = χ, (+) χ, (+) x^ (+)
S. also
χ± für J = 1, 2,...k (6)
wobei £ die Summe modulo b bedeutet. Da bei allen folgenden Beispielen das binäre System verwendet wird, soll die binäre Summe im folgenden einfach mit £ bezeichnet werden.
Aus den oben aufgeführten Eigenschaften kann der Schluß gezogen werden, daß jedes Informationsbit zwei verschiedenen Prüfbits zugeordnet ist.
009814/1683
die Untergruppe Sg ist a2 = xg (+) x, (+) x,- (+) Xg usw., wobei (+) für eine Addition modulo 2 steht.
Für den allgemeinen Fall eines nicht-binären Systems mit der Basis b>2, ist a. die Summe modulo b der Informationsziffern in i
Pig, 5 ist ein Blockschaltbild einer Anordnung zum Erzeugen
der Prüfbits a^·.^. Jede Informationsbit-Untergruppe (jede solche Untergruppe entspricht einer anderen Zelle der Matrix JTv] der Tabelle II) wird einer Paritätsgeneratorschaltung 24 zugeführt,
die das Paritätsbit erzeugt. Das Paritätsbit a. für 1 z. j 4. k wird; aus der Untergruppe S. erzeugt„ Für jedes Paritätsbit a,«..ak kann^ wie dargestellt, eine solche Schaltung 24 vorgesehen sein und in j diesem Falle werden dann alle Paritätsbits gleichzeitig (parallel) erzeugt, Man kann jedoch auch für alle Untergruppen nur eine einzige Paritätsschaltung verwenden^ der die Untergruppen S1 bis S,
JL x^
dann nacheinander zugeführt werden um die Prüfbits a. bis a^. nach-
JL SAm
einander zu erzeugen* Das Paritätsbit a. ist eine Null wenn die
Untergruppe S. eine gerade Anzahl von Einsen enthält* sonst ist
a. eine Eins,
Übertragungsanordnung 14
In der Übertragungsanordnung 14 der Einrichtung gemäß Fig. 2 ' werden die verschiedenen Blocks eines Codewortes aus den Informationsbits X1...X12J. unä den Prüfbits a^.a,-, gebildet. Jeder Block des Codewortes entspricht d©n Bits einer Spalte der Tabelle II in
der folgenden Weises j
I Die Informationsbits im Block 1 für 1 £ i £ k sind die glei- j
chen wie die in der i-ten Spalte der Tabelle II. Jede Spalte der j
Tabelle II enthält drei Nullen. Es sei m die Zeile der mittleren ■
Null der drei Nullen in der i-ten Spalte. Z.B. ist bei der Spalte '
2 in Tabelle II m = 5* in Spalte 1 ist m = 4 usw. Dieser Wert von i
m bestimmt das Prüfbit affl, das zum i-ten Block des Codewortes j kommt. Für beliebiges k und i, 1 £ i £ k, ist der i-te Block des
Codewortes dementsprechend
*x(i-l)t x(l-l)t+r*#xit am^
hierbei bedeuten:
k Anzahl der Untergruppen
t = (k-3)/2
m = (k-l)/2 + 1 für 1 < i <(k+l)/2
m = i - (k+l)/2 für (k+3)/2 <i^k (7)
O098U/1663
Pur k » 7 sind also die entsprechenden Werte von m und i:
1-123*5.67 m=456712;5
• woraus sich die aus Tabelle I ersichtliche Blockstruktur des Codes ergibt.
Merkmalerzeugung
Fig. 4 zeigt Schaltungen l8-l...l8-k zum Erzeugen der Merkmale Z = Z1 Zg...z, . Die verschiedenen Merkmalziffern ergeben sich aus den Zeilen der Tabelle III, die auf die folgende Weise aus der Tabelle II erhalten wird: I
In jede Spalte der Tabelle II wird das Prüfbit am in die m-te; Zeile der Spalte eingesetzt, wobei m für die i-te Spalte durch die; Gleichung (7) bestimmt wird. In der auf diese Weise erhaltenen neuen Tabelle aus Informations- und Prüfbitsymbolen wird jedes Symbol durch Aufsetzen des Zeichens 1|Afl modifiziert. Beispiels- I weise wird also bei der dritten Spalte der Tabelle II das Prüfbit ag in die sechste Zeile dieser Spalte eingesetzt und die Markierung l|A|t wird auf die Symbole x,-* X6 und ag gesetzt, wobei man dann die dritte Spalte der Tabelle III enthält. Die Zeilen der Tabelle III definieren eine neue Klasse von Untergruppen Y1, Yg,.·
Tabelle III. Merkmal-Matrix für einen Code mit k - 7, N - 21
Spalte: 12 3*567 Y1 = (X1 X3 X6 0 A1 0 X14) Y2 « (X2 X5 X5 x8 0 a2 0 ) Y^ = (0 x4 X5 X7 x10 0 A5 ) Y4 = (ä4 0 X6 X7 X9 X12 0 ) Y5 .(0 A5 0 x8 x9 A11I14) Y6 = (x2
0 A6 0
Y7 - (X1 X4 0 A7 0 X12 X13)
PUr 1 £ i ^ k ist das Merkmalbit z± nun definiert durch die Gleichung
0 0 9 8 u / v; ?n
wobei £ und (+) für eine Summenbildung modulo 2 stehen. Mit anderen Worten gesagt ist Z1 die Summe modulo 2 aller Bits χ und des Bits ä in der Untergruppe Y1. Z.B. ist zg = &2©%©^5©%©^2 Die Schaltungsanordnung zum Erzeugen der verschiedenen Merkmalbits ist also jeweils wieder eine Paritätsschaltung, die für z± den Wert Null erzeugt, wenn Y1 eine gerade Anzahl von Einsen enthält, während sonst für Z1 der Wert 1 erzeugt wird. Es ist ersichtlich,
daß A
Y1 = S1 U S1 (9)
wobei S1 die Gruppe S1 mit einem Zirkumflex auf jedem seiner Symbole, und 11U" die Gruppenvereinigung bedeuten. Wenn nun W = W, ist k. - x. für alle j und außerdem ä. = a.. In diesem Falle kann die Gleichung (B) dadurch umgeschrieben werden, daß man für t. = a, aus der Gleichung (5) setzt und alle x. durch x. ersetzt:
ai
Wenn also W keinen Fehler enthält, ist Z1 = 0 für alle i Was noch wichtiger ist: Das Merkmalbit Z1 ist dann und nur dann gleich 1 wenn eine ungerade Anzahl der Glieder von Y1 falsch ist.
Aus der Gleichung (9) ist ersichtlich, daß die Prüfbitgenerators chal tungen selbst zum Errechnen eines Teiles jedes Merkmalbits verwendet werden können, nämlich desjenigen Teiles, der aus der Summe der Symbole in S. besteht, und das Symbol ä. dann zu den entsprechenden Ausgangssignalen addiert werden kann. Die Bits ζ-,...z, können alle parallel erzeugt werden, indem man k identische Generatorschaltungen 18-1, 18-2,...18-k verwendet, wie es in Fig. 4 dargestellt ist, man kann diese Bits aber auch serienmäßig nacheinander erzeugen, indem man den Eingängen einer solchen Schaltungsanordnung die geeigneten Untergruppen Y. für j «= 1,2,...k nacheinander zuführt.
Wie bereits erwähnt wurde, ist die vorliegende Einrichtung nur für die Korrektur eines einzigen Blockfehlers in W bestimmt. Offensichtlich enthält jede Untergruppe Y1 aus der Tabelle TXI
0098H/1R63
BAD ORIGINAL
für 1 ^- i έ- k höchstens eine einzige Ziffer aus einem Block, da die Ziffern eines Blockes genau die in einer Spalte der Tabelle III sind und keine zwei Spalten der Tabelle III irgendwelche Ziffern (außer Nullen) gemeinsam haben, und da die Untergruppen Y1 ihrerseits die Zeilen der Tabelle III bilden. Jeder einzelne Blockfehler kann daher allerhöchstens eine einzige Ziffer pro Untergruppe Y^ verfälschen. Da das Merkmalbit z., die Summe modulo 2 der Bits in der Untergruppe Y. ist, hat es den Viert 1, wenn in Y. eine einzige Ziffer falsch ist, also ein Einzelfehler vorhanden ist.
Es sei beispielsweise bei dem in Tabelle I angegebenen Codewort angenommen, daß der Block B-, nicht Jedoch irgendein anderer Block des Wortes einen Fehler enthalte. Die Ziffern im ersten Block B\ des empfangenen Coclewortes W sind 3L, 5L·, äj, und diese Ziffern befinden sich in der ersten Spalte der Tabelle III. Der oder die Fehler im Block B, können keinerlei verfälschte Ziffern in den Untergruppen Y, und Υ_ der Tabelle III zur Folge haben. ζ-* und Zf- werden daher immer Null sein, wenn nur B, falsch ist. Bei den., übrigen Merkmalbits hängt der Wert von z. = z„ davon ab, ob 5L falsch ist oder nicht, der Wert von Z2 = ζ ^ davon, ob iL· falsch ist oder nicht und der Wert von Zu davon ob iij, falsch ist. Dies ist aus der Tabelle III ersichtlich: Y1 und Y7 enthalten k^, Y2 und Y^ enthalten 5L· und Yw enthält ä^, und dies sind die einzigen Bits, die falsch sein können, wenn der Block B1 der einzige falsche Block in W ist. Ein falsches Informationsbit in einem Block schlägt sich also im Merkmal in Form zweier Merkmalbits des Wertes 1 nieder während ein Fehler im Prüfbit eines Blockes zur Folge hat, daß ein einziges Merkmalbit den Wert 1 annimmt.
Es seien e*, eg und ei die Fehler im ersten Block, wobei e* = 1 für i = 1, 2, 5 ist, wenn die i-te Ziffer im Block falsch ist. Dann ist: ■,
±ι-*ι©·ι
= x2©e£ (U)
009814/1663
Wenn also e2 « 1 ist, ist A2 das Komplement von Xp und entsprechendes gilt für die andern Ziffern im Block 1. Wenn X1, Xg und tu so definiert sind, läßt sich zeigen, daß die Bits des Merkmals beijeinem einzelnen Blockfehler, der sich in B. befindet, die folgenden Werte haben:
= Z1...ζ» - (e* eg 0 ei 0 e* ej) « E1
(12) j
1 1
Ist z.B. nur x, falsch, so ist ei = 1 und Z= E=IOOOOO Ij
wenn sowohl usw.
1
1 als auch xg falsch sind ist Z = E1= 1 1000 1 1,;
Der Wert von Z1 läßt sich wie folgt errechnen? Da z, einem Fehler entspricht, der sich nur in B1 befinden kann, sind ä1 - a.. und x, = x,, Xg = und X1J, = xiL·.* Aus &er Gleichung (5) und Tabelle II folgt dann
Wenn dieser Ausdruck in Gleichung (8) für ^1 eingesetzt wird und
man berücksichtigt, daß 4L· ~ x.,, hält man:
1
und 5
sind, er
(13)
In der Gleichung (Ij) kann x-Gleichung (H)) und man erhält dann
gesetzt werden (siehe
Da die Summe modulo 2 von /Xi (+)x-»(+)xz:C+)xi), 7 (+
1 v-y 5^-^ Ov—if 1*1—' v
- e
6(±)xii^-7 - ° ist* ist zi - ei* Für dle anderen Merk- · malbits gilt entsprechendes wie aus der Gleichung (12) ersichtlich ist. In entsprechender Welse ergibt sich für den Fall, daß nur Bg Fehler e1# e^ und e? enthält:
0098U/1663
BAD ORIGINAL
Z.B. wenn nur 5L falsch ist, sind e2 - 1 und Z = E2 = 110 0 0 0 0; wenn nur x^ falsch ist, sind e| = 1 und Z = E2 0 0 10 0 0 1 usw.
ρ ι
Das Muster von E erhält man dadurch, daß man E zyklisch um eine Ziffernstelle nach rechts verschiebt. Dies kann symbolisch wie folgt ausgedrückt werden:
R1(E1) (15)
wobei R,(E ) eine zyklische Verschiebung von E mit einer Änderung des oberen Index 1 von E in (l+l), um E zu erhalten, bedeutet ·
Für den allgemeinen Fall, daß ein einzelner Blookfehler im Block B. mit 2 < j < k vorhanden ist, gilt
Z = EJ = R^-1(E1) (16)
wobei R. ,(E ) eine zyklische Verschiebung um (j-l) Ziffern von
E nach rechts bei gleichzeitiger Änderung des oberen Index in (1+j-l), um E^ zu erhalten, bedeutet. Diese Eigenschaft von E , E ,...,EJ ergibt sich unmittelbar aus der Tatsache, daß die Spalten der Tabelle III Bitfiigen enthalten, die durch zyklische Verschiebungen ineinander übergeführt werden können.
ι 2 '
E ist symmetrisch; bei E ist die Symmetrie um eine Ziffern-j
stelle nach rechts und bei E^ für 24 j^k um (j-1) Ziffernstel- j len nach rechts verschoben. Durch eine Identifizierung der Rechts-j Verschiebung des Symmetriemusters läßt sich also der Block, der den einzelnen Blockfehler enthält, ebenfalls identifizieren, vorausgesetzt, daß wenn E^Z ist,
R1(E1) ^ R.(Z) (17)
für jedes i und j, 1 £ 1 £ k-1 und 1 £ j 4 (k-1) gilt (wobei RQ den Fall ohne Verschiebung bedeutet). Es läßt sich zeigen, daß diese Eigenschaft nur dann vorhanden ist, wenn k eine Primzahl ist.
0098U/1683
Merkmal -Analysier-Einrichtung
Der Zweck der Merkmal-Analysierschaltungen besteht darin,
das Symmetriemuster der Merkmale festzustellen. Wie oben erläutert wurde, hat das Symmetriemuster des Merkmals für einen einzelnen Blockfehler in B1 für den Code mit k = 7 die Form
Z1...Z7 - (ej eg 0 e* Oe* ej).
Für dieses Symmetriemuster ist offensichtlich
(ζ^ζ+)ζ7) V (Zg0Zg) V (z^VZc) = 0
wobei "V" die Disjunktion oder ODER-Funktion bedeutet. Wenn nun
™ 3, wie folgt definiert ist
und 3., das Komplement von d, ist, folgt das d^ = 1 dann und nur
dann wenn das Symmetriemuster (ζ,··.ζ7) die obige Form hat oder
wenn (Z1...Z7) nur Nullen enthält. In entsprechender Weise kann j dp für das Symmetriemuster von Z, das einem einzelnen Blockfehler j in B2 also
Z = Z1...Z7 = (e^ e^ e| 0 e| 0
entspricht, wie folgt definiert werden:
) (19)
wobei dg = 1 dann und nur dann gilt, wenn Z das Symraetriemuster j für einen einzelnen Blockfehler im Block Bg hat oder Z = O ist. ; Die entsprechenden Gleichungen (20) für die Symmetriemusterziffern; U1 bis d7 sind unten angegeben. Diese sieben Gleichungen haben j alle die gleiche Form. Sie unterscheiden sich nur in der Vertei- : lung der Bits z.. |
0098U/1663
S'
(20)
(z6(+)z5) V (Z7Qz4) V (Z1Vz5) (Z7Qz6) V (Z1Qz5) V (Z2Vz4)
Die Merkmal-Analysierschaltungen zum Feststellen einzelner Blockfehler in den verschiedenen Blöcken können also gleiehartig aufge-i baut sein. In Pig. 6b ist die Schaltung für den Code mit k = 7 \ dargestellt, die Eingänge sind mit S1, g2, g,, ge, g6 und g7 bezeichnet (g4 fehlt). Bei dieser Schaltung und bei der gemäß Fig. 6a bewirken die zwei Eingänge aufweisenden Verknüpfungsglieder 51 eine Summenbildung modulo 2, d.h. es handelt sich um EXKLUSIV-ODER-Glieder (Antivalenz-Glieder), das Verknüpfungsglied 52 ist ! ein ODER-Glied mit zwei Eingängen, das Verknüpfungsglied 55 ist ebenfalls ein ODER-Glied und das Verknüpfungsglied 51J- ist ein j Negationsglied (Inverter). Indem man den Klemmen g entsprechende Bits ζ ,...Zn. zuführt, erhält man die Symmetrie -Prüf schaltungen für die verschiedenen Blocks. Die Zusammenhänge zwischen den Z1 1S und den g^'s für die verschiedenen Blocks ist in Tabelle IV dargestellt. Der Zusammenhang zwischen d und den g's ist durch die folgende Gleichung gegeben:
a '*
(g5vg5)
(20a)
0098H/1663
BAD O«ß»*Ai.
1 < * 6: 7 J Fall k β
Tabelle IV. Zusammenhang zwischen gi und z. für für die verschiedenen Blocks und den
B1 B2 B3 B4 B5 B6 B7
6I zl Z2 Z5 Z4 Z5 Z6 Z7
52 ^2 Z5 Z4 Z5 Z6 Z7 Z1
53 Z5 Z4 Z5 Z6 Z7 Z1 Z2 g4 fehlt
g5 Z5 Z6 Z7 zl 22 23 Z4
56 z6 Z7 Z1 Z2 Z5 z4 Z5
57 z7 Z1 Z2 z5 z4 Z5 Z6
Für den allgemeinen Fall einer beliebigen Primzahl k ist
d J= V (e (+ta ) ν ic Vk ) (21) Z1 lSj^Sk-j+l' v lst+lvgt+5' K*XJ
. t
wobei t = (k-3)/2 ist und das Symbol V die ODER-Funktion von
allen (S106^1+.*) für Werte von j, die von 1 bis t laufen. Die Gleichung (21) würde also in ausgeschriebener Form wie folgt aussehen:
V<«t+lV Die allgemeine Gleichung für dd mit UKk als Funktion der
J> V <zt+iVzt+i+2> <22>
wobei die Indizes
U+i-1), (k+i-j), (t+i), (t+i+2) gemäß der folgenden Regel bereohnet werden:
Ü098U/1663
z.'s lautet
Regel A: Immer wenn die arithmetische Summe größer als k ist, soll k von der arithmetischen Summe abgezogen werden.
Durch diese Summierungsregel werden die Indizes für die angegebenen Bereiche von i und j immer kleiner oder gleich k gehalten. Der allgemeine Zusammenhang zwischen den g^'s und den z.!s für die j-te Blockmerkmals-Analysiereinrichtung ist für 1 ^1 i ^ k und U j f. ks
g± =
wobei die Summe (i+j-l) wieder gemäß der Regel A berechnet wird. Es läßt sich leicht feststellen, daß durch diese Regel der in i Tabelle IV dargestellte Zusammenhang hergestellt wird.
Die allgemeine Form der Analysierschaltung ist in Fig. 6a dargestellt. Es können k solche Analysierschaltungen vorgesehen sein, um die Analyse für alle Blocks gleichzeitig durchzuführen oder man kann die Analyse für die verschiedenen Blocks serienmäßig durchführen, indem einer einsigen AnalysiersQiialtung die geeignet verschobenen Versionen der Merkmale naefe©laasiäer zuge-
führt werden. Die Beschriftung der EingangskleiiEGS der schematise^ dargestellten Analysiereinrichtungen 50-1...50«4e is Fig· 5 zeigt, wie die Merkmalbits verschoben werden.
Fehlererkennung
Es kann gezeigt werden, daß beim Vorliegen eines korrigierbaren Fehlers immer genau eines der Signale d^ für 1 £ i ^. k den Wert 1 hat. Z.B. wenn außer Si0 kein anderes empfangenes" Bit 5,-
iw ' JL
falsch ist, sind z„ — Zß ~ I^ ferner d, = 1 wan cig - &_ = dit =
ά. = ϊ< π-, χ. ^ C -simile Glsioiiunsi -:^ji'U äae ύΘΤ Qleioiimig (20)
,. 1J r ^
22 ". 1 9 A 6 3 6 5
wenn mindestens ein Z1 ungleich Null ist (Ui <k), Man kann also eine Fehlermeldung t1 wie folgt definieren:
wobei TgCd1, e#e«,djc) eine Sshwellwert-Funktion bedeutet, die den Wert 1 dann und nur dans a?mimmt> wexsxi mindestens iswei der Signale ά^ den Wert 1 haben« Mit anderen Worten gesagt ist f 1 = -1 wenn mindestens ©in Merlaaalbit den Wert 1 hat und wenn außerdem . m@hr als eines öer Bits ü den Wert 1 hat, f^ = 1 zeigt also an, daß eine oder wahrer® &teiiSEaI-Äna,ljsier@inrichtiÄigen fehlerhaft sind« Figo 1Ja, seigt ein Bleeks ehalt bild einer Anordnung zur Errechnung dieser Bedingung ο Die Schaltung 61 ist ©ine Schwellwert stufe, die Schaltung 62 ©is. ODER-Glied und die Sehaltung 6j ©in
Das VoE3IiQg(In von imIsorrigierbaF©n Fehlern In W kann eben falls erfeassnt w©rd©ao lEnssi? wenn das Yorliegen ©ines Fehlers das Äuftr©t©a ei3a@s von lull verseliieöensn Bits g, angezeigt wird lasie der Fehler nicht Is©r-i?igi©rbar ItBt3 genügt das betreffende MeÄEial k@in@r SpBietifiQbsdiiigung der Merional-tealysiereinrichtua· geEio Bs siaö daii©^ aaeSi fiassa alle d. gleich MuIl0 Definiert ia also fp ötareh αϊθ f©Ig©siä@ Boole1 sch© Gleichung
a f = 1 u©sä3& ©ntwedes8 ©in imkorrigisrbarer Fehler
aufgetreten ist odes» ©la I?<shler in ά®τ Fehl®rpi^ifschaltung liegt s d@3? nicht duifcte f? sricannt irj©M©n konnte o Ein Beispiel @in@s F@lilers dar letztgeaamifee-ii Art ist ä®? >-ill5 cl;:;.E die Merkmal= ÄaaIfsi©r©inriehtiAag@ja GiIo immer das A·. aganggi^gEial Null lier-"-:■■:■.. Bsi ©ins© Speieterwesis lÄKS-sa die beide;·' obsn ..-i-:-j-Shnten Fälle teFQh öi® fol
U@esi sioto. fi@r F©IiI©s- Lr der F@iil®£- Jffi/^Ktc-rsg ciQ-e9 ist es- iwlwash©ial£öli.- -äai ^©E' Za^ /sei f. -- ΐ ©dar f,. räi3 tfi@I© iä©!5 saus ögm ipstener hMT-mm^:-'- jsq.&gzi ~'Bvt&£> φι-:3 ^o Wgesi also dia 3süiasi::is fx ~ t c-.. ■'- ?^ ^ 2 aa Ife"' Ii©gfe fi9E» ¥©yda'3h« :^2;φ5 daß si;" #£? P ι::®!5 Ia
BAD
turscnaltungen befindet. Zum Prüfen solcher anormaler Bedingisngen i Kann die dem Speicher zugeordnete DVA verwendet werdenG
Fig. 7a zeigt eine Schaltungsanordnung zum Erre©linen von fg. Sie enthält ein ODER-Glied 64, ein Negier-Glieö 65 x.aö aiii UND-Glied ö6.
Es sei darauf hingewiesen* daß nicht alle m5gl:lux?.3:i unicorrigi erbaren Fehler durch f, und f^ erkaimt m^vj.^n klSmisFr. Es gibt Fehlerkombinationen, die ein Codewort in ein anderes Cüd'^iorfc verfälschen, und es gibt ferner mehrfache JöloelKfehler* 41® steh im Merkmal wie ein einzelner Bioe!cfehler niederschlageno Solche Fehler können durch die Einrichtung wade:?? o/'kannt noch '"or-riglert werden.
Aus den Gleichungen (24) und (25) geht hervor, daß f. und fg nie gleichzeitig 1 sein können. Wenn man als weitere Bedingung
f5 = f1 & f2 (26)
aufstellt und das Auftreten des Wertes f-, = 1 überwacht, können Fehler in den für die Errechnung von f, und fp verwendeten Schal- , tungen festgestellt werden. Eine Schaltungsanordnung zur Errechnung von f- ist in Fig. Jb dargestellt, sie besteht aus eine'm einzigen UND-Glied 67.
Fehlerkorrektur
Im folgenden soll nun auf die Frage eingegangen werden, unter welchen Bedingungen ein Fehler in einem Bit 5L z.B. iL des Wortes w korrigierbar ist. Für den speziellen Fall eines Fehlers in JL sind' diese Bedingungen:
i) W enthält einen einzigen Blockfehler im Block B1, i d.h. d, = 1 und j
ii) sowohl z. und z„ haben die Werte 1 (siehe Gleichung (12)).
Dementsprechend zeigt (d^ & z«) » 1 an, daß &. falsch und der Fehler korrigierbar ist. Zum Korrigieren dieses Fehlers genügt es, A1 in das Komplement zu verwandeln. Das korrigierte Bit X1 ist also
0098U/1663
In entsprechender Weise ist
X2 =
Die Merkmalbits ζ, und Z7 wurden zum Korrigieren des Fehlers in X1 ausgewählt, da X1 nur in den Untergruppen Y1 und Y7 auftritt, und aus entsprechenden Gründen wurden die Merkmalbits Z2 und Z^ zum Korrigieren von xg ausgewählt. Die Fehlerbits e., und e* sind alsos
(d1 &
- e
(27)
ünd die korrigierten Bits 5t, und SL sind
X1 = X1Qe1 und X2 « xg©e2 (28)
Die allgemeinen Gleichungen für die Korrektur eines Fehlers in der i-ten Ziffer des j-ten Blocks von ft für Uiilc lauten:
wobei die Indizes entsprechend der Regel A errechnet werden, und
(50)
wobei t = (
sind.
Ziffer im 3-ten Block von ft und
Ein Blockschaltbild einer Anordnung zur Durchführung dieser Fehlerkorrektur, das sich direkt aus den Gleichungen (29) und ergibt, ist in Flg. 8a dargestellt. Diese Schaltungsanordnung enthält ein UND-Glied 68 dem die Bits d, und S1+^1 zugeführt werden, sowie ein Antivalenz-Glied ("EXKLUSIVES ODER*) 69, an dessen beiden Eingängen das Ausgangssignal des UND-Gliedes 68 und das
Bit *(d-i)t+i liegen- ;
0098H/1683
BAD ORiGlNAu
Zur Durchführung der Korrektur gibt es noch eine andere Möglichkeit, die außerdem einen gewissen Schutz gegen Störungen in den Verknüpfungsgliedern gewährleistet. Hierbei werden die folgenden Tatsachen nutzbar gemacht:
Für alle einzelnen Blockfehler kann nur ein d. für 1 4 j <. k
j —· —
den Wert 1 haben. Für alle korrigierbaren Fehler gilt also
wobei das Zeichen "::" die Bedeutung "wenn und nur wenn" hat. Es sei nun die rechte Seite der Gleichung (31) mit dl* bezeichnet,
1 .
Für die Errechnung von ev gibt es nun zwei Möglichkeiten, von denen bei der einen d. und bei der anderen ä\ verwendet werden. Es seien
J 1+>1 (52)
ei'= dl &
und es sei definitionsgemäß
1 11
Wenn e? = ev = 1 ist, ist das Ausgangssignal offensichtlich das
11
korrigierte Informationsbit und wenn e£ ^ e^1 ist, ist das Ausgangssignal das Bit ^(-}_i)t+i· Das Ausgangssignal 1H-ist nun nur dann falsch, wenn &(.* iw^i falsch ist. Die Bedingung e| Φ e^1 kann nur dann auftreten, wenn ein Fehler in <ä®r Deoodierscfcaltung vorliegt oder wenn Z=O ist. Immer wenn ein solcher Fehler vorliegt, wird er ein falsches AusgaagssiigZial mir darm, zur Folge haben, wenn das Informationsbit, welohes: -Μ^ΰΐι file bstroffenae
korrigiert werclsii soll- auol:- .Älc h isfce Ein einzelner i,er in der Deaodierselmli-iag i-jlr-ä ^-jjc :^.-ύϊ& siir Folge iiaben, a..; it -iusgangssigiialö ast. Sp^iiüiwa ...;.". '.-::h :ji.ad,s la Hinblick
u,ie Ajeriiiition von d?; fKi? UJi^ ^;/ .% isi© felge ne7i.
werden:
Das Blockschaltbild einer Korrekturschaltung, die der Gleichung (33) und den an. diese anschließenden Betrachtungen entspricht, ist in FIg9 8b dargestellt. Diese Schaltung enthält UND-Glieder 70 und 74, ein ODER-Glied 72 und ein Schwellwert-Glied 71 salt dem Sohw@llwert 29 doiie daß das Schwellwert-Glied dann und nur dsam das Ausgängssignal 1 liefert, wenn mindestens swei seiner Eiagangssignale den Wert 1 haben,
Fig. 9 &©igt das Blocksehalfcüild einer Fehlererkennung^- schaltung,, dl© der ßleietomg (3%) entsprießt. Diese Schaltung enthält k lnfeivalens-ßll©d@r 75-loe>075-k sowie ODER-Glieder 76 und 77· ■
Bemerkungen
i@2» if©r©agQgQag©E2,©3a Distension sind allgemeine Regeln ihr© imudsMimg aaf ö,©a Fall Is = 7 und il-k = 14 erläutert wordesi© Mit siaaetaaendesi ic ιτίΐ?ά die EIa^iohtisag wirtschaftIieher, da Ib Ye^Ml-tais su, d©n I-I2 laforgiafeiaasbits weniger Prüfziffem feeaitigt w@rdea9 Mit aaelo^Qia WsFfess, gesagt, kann maa die Bloekiiage v@rg%>°o&eT%i oImiq öa@ Eaa moLw als nur ein einziges Parität®= hit pro Bl©@l-s feQiai'elgfe ο 34© tosaM der InformationsMts In eines ist eliiffQli dl© f©lg©ad@ GleieJliEBg gegeben s
31® ßesaafcgslil der ijafos^Qtioi^Mt© in eiassi Codetjo^t^ das aus Iz Blocks besteht j, imt
Die folg©aä© Ϊ&ΐ3©11© ¥ g©Igfe äi©ss ZuaamasHliSsi-g© für ein© l ^©jraehiedaEKSE3 Uo^t® τοη !:5 a®bei k die Anzahl iss? -^palt a Ia öler &2afcri2^/f 7 yaia f:.ii§©rä@Bi die Äiassiil I©r hmimi ät^= ©dksr PFtiflsits a Isfeo Ss sei wloä©? dajrairC ^.rhigei-r daß di© i?©p®olii©d®a@n ile^fte ?sa k Priasaiii©n äirid.- D-^r1 We ä<sr Idtstea Spalt© a@E3 Eafeell© kami als oGät©Eahlis
4/1@©1
BAD ORIGINAL
Tabelle V (N-
k (N-k) B 2
7 14 2 4
11 44 4 5
13 65 5 8
19 152 8
23 230 10 10
Der Code für k = I9 ist von besonderem Interesse* c!& .la
Falle B = 8 ist, was ein übliches Byte-Format in elektronischen DVA ist.
Spezialfälle
Wenn es beim Entwurf eines Speicherwerkes (oder eines Nachricht ensyst ems) einigermaßen sicher ist, daß in den empfangenen Prüfbits A1,...,ä^ keine Fehler auftreten, kann für jedes Prüfbit ein weiteres Informationsbit untergebracht werden. In diesem Falle sind t=(k-l)/2 und Tabelle II, da
Tabelle VI. Code für den Spezialfall und k = 7
ql _
si -
(X1 X4 X8 X12 0 xl8 X20
ql _
S2 -
(X2 X4 x7 xll X15 0 X21
S^ = (X3 X5 x7 X10 xi4 xl8 0
(0 X6 X8 x10 X13 X17 x21
S5 " (x5 0 X9 Xll X13 xl6 X20
ql _ (X2 X6 0 X12 X14 xl6 X19
si = (X1 X5 X9 0 X15 X17 X19
Codewort: (X1X 2x,a p 4 ^4 X5x6a 1FT · · ·
D
X19
und jeder Block des Codewortes enthält drei Inforraationsbits anstelle der bisherigen zwei Informationsblts9 In diesem Falle lau tet dann die Gleichung für d als Funktion der g|ss
3 - (S1Qg7) V (g20g6) V (g30g5) (37)
009814/1663
Die Fehlerkorrigiereinrichtung hat die gleiche Form wie vorher.
Derselbe Spezialfall kann auch dann Anwendung finden, wenn es einigermaßen sicher ist, daß keine einzelnen Blockfehler auftreten, bei denen alle Ziffern des Blockes falsch sind. Um also ein Byte von 8 Informationsbits pro Block unterzubringen, wird bei diesem Spezialfall also nur ein Wert von k = 17 anstelle von 19, wie er in der Tabelle V für den allgemeinen Fall angegeben ist, benötigt.
In diesen Spezialfällen ist es möglich, das Vorliegen einer beliebigen ungeraden Anzahl von Fehlern in den Prüfbits zu erkennen. Diese Code haben die Eigenschaft
d.h., daß die Prüfbits selbst immer eine geradzahlige Parität haben sollen. Durch Prüfung dieser Parität kann festgestellt werden, ob in den Prüfbits aj...a. eine ungeradzahlige Anzahl von Fehlern vorhanden ist. Eine Schaltungsanordnung hierfür, die aus einer einzigen Summierschaltung 78, welche modulo 2 arbeitet, ist in Fig. 10 dargestellt. Das von ihr erzeugte Fehlersignal ist mit fj, bezeichnet.
0098U/1663

Claims (10)

Patentansprüche
1.) Einrichtung zum Erkennen und Korrigieren von einzelnen Blockfehlern bei der Übertragung von (N-k) Informationsziffern in k Ziffernblocks B1, B0, ...B1,, mit einem Sender und einem Empfänger, dadurch gekennzeichnet, daß der Sender eine ι Anordnung, durch die die (N-k) Informationsziffern X1, Χα»#..,Χη_ in k Untergruppen aufgeteilt werden, daß jede Informationsziffer in einer bestimmten Untergruppe nur einmal auftritt, jede Informationsziffer in zwei Untergruppen enthalten ist und kein Paar von Untergruppen dasselbe Paar von Ziffern enthält, wobei k eine Primzahl und N/k die Anzahl der Ziffern pro Block sind, ferner eine Anordnung zum Erzeugen einer Prüfziffer für jede Untergruppe ! aus den Informationsziffern, und eine Anordnung zum Übertragen \ der (N-k) Informationsziffern in k Blocks, von denen jeder aus j einer Gruppe von Informationsziffern, die aus verschiedenen Unter-j ; gruppen stammen, und einer einzigen Prüfziffer, die zu wieder einer anderen Untergruppe gehört, besteht, enthält und daß der Empfänger! eine Anordnung, der die empfangenen Blocks B^, fig,...,B^ zugeführt sind und die ein digitales Merkmal Z erzeugt, dessen Ziffern alle den gleichen Wert haben, wenn die empfangenen Ziffern fehlerfrei sind während es anderenfalls ein spezielles Ziffernmuster aufweist dessen Symmetrie und Ziffernwerte einen bestimmten Block finder k Blocks B",, 6ο*···*^ΐτ* der eine oder mehrere falsche Ziffern enthäl angibt, und eine auf das Merkmal Z sowie dessen Symmetrietyp ansprechende Anordnung zum Korrigieren oder mindestens zum Identifizieren der fehlerhaften Ziffer oder Ziffern enthält.
2.) Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die auf das Merkmal Z ansprechende Anordnung im Empfänger ein Ausgangssignal liefert, das die Art der Symmetrie des Merkmals anzeigt, und daß der Empfänger außerdem eine Korrekturschaltung enthält, die auf dieses Ausgangssignal sowie das Merkmal Z anspricht und eine Korrektur einer auf diese Weise identifizierten falschen Ziffer bewirkt.
3.) Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Sender zur Ordnung und Aussendung der (N-k) Informationsbits X1, X2.. .χΝ-1{. eine Anordnung zur Auswahl
Ö098U/1663
BAD
der k Untergruppen als entsprechende Zeilen in einer Matrix DO mit k Spalten und k Zeilen, von denen jede Spalte V. aus den Informationsbits x(i_l)t+r x(1_x)t+2,..^it, 0, 0, 0 x±t,..., x(i-l)t+2' x(i-l)t+l besteht, welche zyklisch um i-1 Stellen nach unten verschoben worden sind, wobei i die Nummer der Spalte und t = (k-3)/2 sind und 0 das Fehlen eines Bits bedeutet, und eine Anordnung, durch die als i-ter Block der k Blocks die Informationsbits X/« TX4..!, X/* iUj.-!···^«. in der i-ten Spalte von Π/Π zu-
\X —A/TiTJ. V·"·"* 1/6tC XT/ k— —■*
sammen mit einem einzigen Paritätsbit, das nicht der gleichen Untergruppe wie irgendein Informationsbit des betreffenden Blockes1 zugeordnet ist, zu übertragen, enthält, wobei die Merkmalerzeugungs anordnung ein Merkmal Z erzeugt, dessen Bits alle den gleichen '
1 Wert haben, wenn die empfangenen Bits keinen Fehler enthalten, während es sonst ein spezifisches Muster von Nullen und Einsen aufweist, dessen Symmetrie und Werte den einzigen Block B. angeben, ' der ein oder mehrere falsche Bits enthält.
4.) Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Sender zur Anordnung und Sendung der (N-k) Informationsbits X1, Xg, ..,,XjT_k eine Anordnung enthält, um die k Untergruppen jeweils als Zeilen in einer Matrix DO mit k Spalten und k Zeilen auszuwählen, von denen jede Spalte V1 aus den Inforraationsbits χ(χ_ι)£+ι* x(i-i)t+2' xit °* xit'##x(ix(i-l)t+l die ^ iel Zeilen zyklisch nach unten verschoben wor- ' den sind, besteht, wobei i die Nummer der Spalte und t = (k-l)/2 ,
sind und 0 das Fehlen eines Bits bedeutet, und daß im Sender äußerndem eine Anordnung zum Senden der Informationsbits x(i_i)t+i* x(i-l)t+2###xit ln der i-fcen Spalte von DO zusammen mit einem einzigen Paritätsbit, das als richtig angesehen werden kann und nicht der gleichen Untergruppe angehört wie irgendein Informationsbit des Blockes, als i-ten Block der k Blocks zu senden, und daß schließlich die Merkmalerzeugungsanordnung ein Merkmal Z erzeugt, dessen Bits alle den gleichen Wert haben, wenn die empfangenen Bits fehlerfrei sind und das ein spezifisches Muster von Nullen und Einsen aufweist, dessen Symmetrie und Werte einen Hinwels auf den einzigen Block B1, der einen oder mehrere fehlerhafte Bits enthält, geben.
009814/1663
5.) Einrichtung nach Anspruch 3 oder 4, dadurch ge-, kennzeichnet, daß das Paritätsbit für den Block B. · der i-ten Spalte das Paritätsbit für die Untergruppe der geile, die die mittlere oder einzige Null der i-ten Spalte enthält, ist.
6.) Einrichtung nach Anspruch 3, 4 oder 5* dadurch g e kennzeichnet, daß die auf das Merkmal Z aiispreehende Anordnung im Empfänger ein AusgangsSignal D liefert s das aus k Bits d-^, dp, ...,d, liefert, welche eine Anzeige der Art von Symmetrie, die das Merkmal aufweist, liefern und daß sine auf das Ausgangssignal D sowie das Merkmal Z ansprechende Anordnung zur Korrektur eines auf diese Weise identifizierten fehlerhaften Bits vorgesehen ist.
7.) Einrichtung nach Anspruch 2 oder 6, dadurch gekennzeichnet, daß die als letztes erwähnte Anordnung auch auf die empfangenen Blocks B^, ßp...B\ anspricht und (N-k) Ziffern x,, 3U*'*^N-k liei>ert* die dieselben Werte haben wie die entsprechenden N-k gesendeten Ziffern X1, xp**#xN-k* 8.) Einrichtung nach einem der Ansprüche 2 bis 7, dadurch gekennzeichnet, daß außerdem eine auf das Ausgangssignal und das Merkmal Z ansprechende Anordnung zur Anzeige eines nicht korrigierbaren Fehlers in den empfangenen Blocks JB1, B0, ·. .,B\_ vorgesehen ist.
Cm K-
9.) Einrichtung nach einem der Ansprüche 2 bis 8, dadurch gekennzeichnet, daß außerdem eine auf das Ausgangssignal und das Merkmal Z ansprechende Anordnung zur Anzeige einer Störung in der Anordnung/Erzeugen des Merkmals vorgesehen ist.
10.) Einrichtung nach mindestens einem der Ansprüche 2 bis 9$ gekennzeichnet durch eine auf das Ausgangssignal und das Merkmal Z ansprechende Anordnung zur Anzeige einer Störung in der Anordnung zur Erzeugung des Ausgangssignales D.
0098 U/ 1663 BADORIQ1NAl
DE19691946365 1968-09-12 1969-09-12 Einrichtung zum Erkennen oder Korrigieren von einzelnen Blockfehlern Pending DE1946365A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US75936368A 1968-09-12 1968-09-12

Publications (1)

Publication Number Publication Date
DE1946365A1 true DE1946365A1 (de) 1970-04-02

Family

ID=25055378

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19691946365 Pending DE1946365A1 (de) 1968-09-12 1969-09-12 Einrichtung zum Erkennen oder Korrigieren von einzelnen Blockfehlern

Country Status (3)

Country Link
US (1) US3562709A (de)
DE (1) DE1946365A1 (de)
GB (1) GB1274706A (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2119959A1 (de) * 1970-12-31 1972-08-11 Ibm
DE2260850A1 (de) * 1971-12-14 1973-06-20 Ibm Fehlerkorrektursystem

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3671947A (en) * 1970-09-28 1972-06-20 Ibm Error correcting decoder
US3656107A (en) * 1970-10-23 1972-04-11 Ibm Automatic double error detection and correction apparatus
US3697948A (en) * 1970-12-18 1972-10-10 Ibm Apparatus for correcting two groups of multiple errors
GB1389551A (en) * 1972-05-15 1975-04-03 Secr Defence Multiplex digital telecommunications apparatus having error- correcting facilities
US4107652A (en) * 1975-12-27 1978-08-15 Fujitsu Limited Error correcting and controlling system
US4077028A (en) * 1976-06-14 1978-02-28 Ncr Corporation Error checking and correcting device
JPS5848939B2 (ja) * 1977-12-23 1983-11-01 富士通株式会社 エラ−訂正処理装置
US5751740A (en) * 1995-12-14 1998-05-12 Gorca Memory Systems Error detection and correction system for use with address translation memory controller
DE69903438T2 (de) 1998-07-17 2003-08-14 United Video Properties Inc Interaktive fernsehprogrammführung mit mehreren geräten an einem ort

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2119959A1 (de) * 1970-12-31 1972-08-11 Ibm
DE2260850A1 (de) * 1971-12-14 1973-06-20 Ibm Fehlerkorrektursystem

Also Published As

Publication number Publication date
GB1274706A (en) 1972-05-17
US3562709A (en) 1971-02-09

Similar Documents

Publication Publication Date Title
DE2060643C3 (de) Schaltungsanordnung zur Korrektur von Einzelfehlern
DE2724409A1 (de) Datenverarbeitungssystem
DE2425823A1 (de) Einrichtung zur fehlererkennung und fehlerkorrektur
DE2260850A1 (de) Fehlerkorrektursystem
DE102013007692A1 (de) Verfahren und Vorrichtung zur Korrektur ternär gespeicherter binärer Daten
DE2159108A1 (de) Anordnung zur Erzeugung zyklischer Redundanzprüfzeichen
DE2262070A1 (de) Mit schieberegistern arbeitendes fehlerkorrektursystem
DE1946365A1 (de) Einrichtung zum Erkennen oder Korrigieren von einzelnen Blockfehlern
DE2456709C2 (de) Schaltungsanordnung zur Fehlererkennung und -korrektur
DE2916619A1 (de) System zum uebertragen binaerer daten ueber eine anzahl von kanaelen
DE2260846A1 (de) Fehlerkorrektursystem
DE2217935A1 (de) Anordnung und Verfahren zur Korrektur von Doppelfehlern
DE1937249C3 (de) Selbstprüf ende Fehlererkennungsschaltung
DE2320354C2 (de) Schaltungsanordnung zur Erkennung und Korrektur von Fehlern in Bitgruppen
DE2104132C3 (de) Anordnung zur Mehrfachfehlererkennung und Einzelfehlerkorrektur
DE2538802C2 (de) Schaltung zum Nachweis von Fehlern unter den aus Informations- und Prüfbits erzeugten, einen fehlerhaften Speicherort angebenden Bits
DE2441351A1 (de) Schaltungsanordnung zur selbstpruefenden paritaetspruefung fuer zwei oder mehr voneinander unabhaengige datenkanaele
DE2655653C2 (de) Anordnung zur Feststellung der richtigen Zuordnung von Adresse und Speicherwort in einem wortorganisierten Datenspeicher
DE1449334B2 (de) Decodierer für einen rekurrenten Code
DE1937259C3 (de) Selbstprüf ende Fehlererkennungsschaltung
EP0541161A2 (de) Übertragungssystem mit Einzel- und Bündelfehlerkorrektur für ein zyklisch codiertes Digitalsignal
DE102019113970B4 (de) Erkennung von adressfehlern
DE102005016051B4 (de) Speicherüberprüfungsvorrichtung und Verfahren zum Überprüfen eines Speichers
DE2017879C3 (de) Speicheranordnung mit freiem Zugriff
DE1205738B (de) Schaltungsanordnung zur Fehlerkorrektur binaer verschluesselter Datenwoerter