DE1946365A1 - Einrichtung zum Erkennen oder Korrigieren von einzelnen Blockfehlern - Google Patents
Einrichtung zum Erkennen oder Korrigieren von einzelnen BlockfehlernInfo
- 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
Links
- 239000011159 matrix material Substances 0.000 claims abstract description 10
- 238000012937 correction Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 6
- 208000011580 syndromic disease Diseases 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 229910002056 binary alloy Inorganic materials 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 102100038750 Myc-associated zinc finger protein Human genes 0.000 description 1
- 101710146400 Myc-associated zinc finger protein Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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
Piled: September 12, I968
RCA Corporation, New York, N.Y. (V.St.A.)
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
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
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 L· k erhält man dadurch, daß man zuerst
die folgende Spalte bildet, wobei t « (k-3)/2 ist
0
0
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)
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,
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
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
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.
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,;
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 = Xß 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
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
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
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
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
™ 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
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.
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.
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
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.
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)
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
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)
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)
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 |
-
1968
- 1968-09-12 US US759363A patent/US3562709A/en not_active Expired - Lifetime
-
1969
- 1969-09-10 GB GB44608/69A patent/GB1274706A/en not_active Expired
- 1969-09-12 DE DE19691946365 patent/DE1946365A1/de active Pending
Cited By (2)
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 |