-
Schaltungsanordnung zur Berechnung von Prüfzeichen und zur Gewinnung
einer direkten Korrekturangabe Die Erfindung betrifft eine Schaltungsanordnung zur
Berechnung von Prüfzeichen aus Zahlenfolgen und zur Gewinnung einer direkten Korrekturangabe
für mit solchen Prüfzeichen abgesicherten fehlerhaften Zahlenfolgen aus einem Restklassensystem
mod einer ganzen Zahl M, mit der drei Prüfzeichen in entsprechenden Zählern aus
den nacheinander eingegebenen Zahlen der Zahlenfolgen schrittweise durch nach jeder
Eingabe wiederholte Anwendung der gleichen arithmetischen Operation, die im ersten
Zähler die eingegebenen Zahlen einfach addiert, aus den Zählerständen der drei Zähler
nach beendeter Eingabe gewonnen und den abzusichernden Zahlenfolgen zugeftigt werden
und mit der zur Prüfung von derartig abgesicherten Zahlenfolgen die Prüfzeichen
_ daraus erneut in der gleichen Weise in den Zählern ermittelt und dann die bereits
vorhandenen Prüfziffern von den entsprechenden Zählerständen abgezogen werden und
die Zählerstände auf Erreichen der Null-Stellung geprüft werden.
-
Ein Erkennen und Beseitigen von aufgetretenen Fehlern bei Eingabe
und Ubertragung von Daten ist möglich, wenn den Daten geeignete Prüfzeichen zugefügt
werden.
-
Es ist bekannt, Prüfzeichen k,. aus den Daten, die allgemein aus einer
Folge von Zeichen z; bestehen, zu gewinnen, indem man dieser eine den jeweiligen
Zeichen entsprechende Folge von Zahlen a; aus einem Restklassensystem mod einer
ganzen Zahl M fest zuordnet und mit diesen zugeordneten Zahlen gewichtete Quersummenbildungen
mit den Gewichten G,.; ableitet: k,. = G,., - a, + G,.2
- a2 + ... + G,.," ° a", mod M,
v = 1,
2, 3 (1) Eine optimale Absicherung für drei Prüfzeichen erhält man genau dann, wenn
M eine Primzahl und die Anzahl der Informationszeichen m = M - 2 ist und alle Determinanten
l., 2. und 3. Ordnung, die aus der Gewichtsmatrix G,.; gebildet werden können, nwd
M nicht verschwinden. Dies ist der Fall, wenn die Gewichte G,.; wie folgt
gewählt werden: G,; 0 beliebig, G2; = A2 - G, t,'(C', + D;);
G3;
= A3 ' G, J-(C3 + D;)mod M , (2)
wobei die Grüßen A,.
:= 0 noch beliebig und C,. und D; so angesetzt werden können, daß für v -4 v und
i @ i immer C,. @=C,, und D; 4 D; sowie C,. + D; 4=
0
niod M gilt. Die dabei auftretenden Brüche können im Restklassensystem
als ganze Zahlen ausgedrückt werden. Beispielsweise erhält man für M = 11, G, a
=1, A,, =1, C,,=v-2undD,=idamit:.G,;=1,
oder explizit:
Bei dieser Wahl der Gewichte werden die Prüfzeichen, insbesondere k2 und k3 nach
Gleichung (1), aus Quotientensummen bzw. aus den entsprechenden Produktsummen gewonnen.
Vorrichtungen zur Bildung solcher Quotientensummen wurden bereits vorgeschlagen.
Diese Vorrichtungen ermöglichen für eine beliebige Anzahl v6n Prüfzeichen eine optimale
Absicherung. Demgegenüber bezweckt die vorliegende Erfindung für den wichtigen Spezialfall
von drei Prüfzeichen bei ebenfalls optimaler Gewichtswahl eine noch einfachere technische
Realisierung der Prüfzeichenbildung sowie darüber hinaus bei aufgetretenen Fehlern
die Gewinnung einer direkten Korrekturangabe und eine direkte Fehlerkorrektur der
Zeichenfolge.
-
Absicherungen mit drei optimalen Prüfzeichen sind deshalb besonders
bedeutungsvoll, weil sie bei reiner Fehlererkennung bereits eine außerordentlich
hohe Sicherheit gewährleisten und auch bei automatischer Fehlerkorrektur einen für
viele Fälle ausreichenden Fehlerschutz ergeben. So liegt beispielsweise die Restfehlerwahrscheinlichkeit
für unerkannte Fehler bei statistischer Fehlerverteilung und einer Blockfehlerwahrscheinlichkeit
von 10% bei reiner Fehlererkennung mit einem solchen Optimalsystem M = 11 unter
3,10-' und bei M = 31 sogar unter 2,10'. Wird automatische Fehlerkorrektur angewendet,
so
läßt sich die Wahrscheinlichkeit für eine Falscherkennung mit
solch einem Optimalsystem schon-bei M = 11' unter einen Wert von 0,02%o senken.
-
Es sind bereits verschiedene Verfahren und Vorrichtungen bekannt,
die eine oder mehrere Prüfziffern mittels Rekursionsformelri, d. h. durch Anwendung
arithmetischer Operationen,-auf die abzusichernden Zahlen in Zählern berechnen,
ohne daß eine fest gespeicherte Gewichtsmatrix notwendig ist. Bei der Berechnung
mehrerer Prüfziffern entsteht eine der Prüfziffern häufig aus der einfachen Quersumme
der eingegebenen Zahlen. Diese bekannten Verfahren und Vorrichtungen erzeugen jedoch
alle nur Prüfziffern, mit denen Fehler in damit abgesicherten -Zahlenfolgen angegeben
werden, dagegen sind keine Korrekturmöglichkeiten angegeben und scheinen auf einfache
Weise auch nicht möglich.
-
Hier gibt die Erfindung eine Lösung an; aus drei Prüfzeichen mit geringem
zusätzlichem Aufwand eine Korrekturangabe zu gewinnen, die wesentlich durch Realisierung
ganz bestimmter Rekursiortsformeln für die Berechnung des zweiten und dritten Prüfzeichens
entsteht und die dadurch gekennzeichnet ist, daß für den zweiten, seinen Zählerinhalt
um einen konstanten Faktör c vervielfachenden Zähler und für den dritten, seinen
Zählerinhalt um einen Faktor .
reduzierenden Zähler eine Additions- oder Subtraktionsvorrichtung vorgesehen ist,
die den Inhalt des ersten Zählers oder einen nur davon abhängigen Wert oder die
gerade eingegebene Zahl zum bzw. vom Inhalt des zweiten und dritten Zählers addiert
oder subtrahiert, und daß bei Nichterreichen der Null-Stellung aller Zähler nach
einer Prüfung von abgesicherten Zahlenfolgen diese Zähler wie bei der Eingabe der
Ziffer 0 mehrfach wiederholt ansteuerbar sind und bei gleichzeitigem Erreichen der
Null-Stellung des zweiten und dritten Zählers nach einer Ansteuerung der Inhalt
des ersten Zählers als Korrekturgröße ausgegeben wird und aus der Anzahl der zur
Erreichung der Null-Stellung' der beiden anderen Zähler notwendigen wiederholten
Ansteuerungen ein Markiersignal für die von vorn gerechnete Stelle einer (M-2)-stelligen
Zahl abgeleitet ist.
-
Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
-
. Ausführungsbeispiele der Erfindung werden an Hand der Zeichnung
erläutert. Ep zeigt F i g. 1- eine Ausführung mit durch Impulse angesteuerte Zähler,
F i g. 2a und 2b zwei Möglichkeiten zur Vervielfachung des Zählerstandes um einen
festen Faktor, F i g. 3 eine Ausführung mit paralleler Ansteuerung der Zähler. '
In F i g. 1 werden die einzelnen Zeichen durch Impulsfolgen von den zugeordneten
Restklassenzahlen entsprechender Länge repräsentiert, die von dem Impulsgeber I
kommen. Nach Eingabe eines jeden Zeichens wird der mod M-Zähler Z1 um eine entsprechende
Anzahl Schritte weitergestellt, so daß nach Verarbeitung des (i + 1)-ten Zeichens
der Inhalt Z,(! + 1) entsteht. Modul M-Zähler sind dabei in an sich
bekannter Weise z. B. aus Magnetkernen oder bistabilen Kippstufen aufgebaute Schieberingregister,
die immer nach M Zähler-Schritten den Inhalt der letzten Binärstufe in die erste
zurückführen, oder mehrstufige Binärzähler, die z. B. bei ungeradem M durch Rückführung
des Übertrags der höchsten Stelle in die letzten und gegebenenfalls weitere Stellen
rückgekoppelt sind. In einer ersten Ausführungsform wird außerdem der Inhalt Z2
(i) des zweiten mod M-Zählers um den Faktor c vervielfacht und der Inhalt des ersten
Zählers Z1 (i + 1) subtrahiert: Z2(i+1) = c'Z2(i)-Zl(i+1) und gleichzeitig
oder danach der Inhalt Z1 (i + 1) des ersten Zählers zum Inhalt des dritten mod
M-Zählers addiert und das Ergebnis durch den Faktor -
reduziert: Z3(1 + 1) _ [Z3 (i) + Zl(i + 1)1 Die jeweilige Vervielfachung
des Zählerinhalts mod M erfolgt dabei gemäß F .i g. 2 a durch zusätzliche
M Impulse oder M Impulsgruppen, von denen zunächst jeder oder, jede
den Zähler Z jeweils einen Schritt weiter schaltet, bis ein bestimmter Zustand des
Zählers, der als Null-Zustand bezeichnet werden möge, erreicht ist, wodurch der
Schalter S betätigt wird, und danach durch Fortschaltung des Zählers um jeweils
c Schritte durch jeden der restlichen Impulse oder Impulsgruppen. Entsprechend wird
eine Vervielfachung um den Faktor (Division durch c) dadurch erreicht, daß zunächst
jeder Impuls oder jede Impulsgruppe den Zähler um c Schritte weiterschaltet, bis
nach einem Impuls oder einer Impulsgruppe der Null-Zustand des Zählers erreicht
wird, und daß danach nur noch eine Fortschaltung um je einen Schritt vorgenommen
wird. Die Weiterschaltung um c Schritte kann, wie bereits vorgeschlagen, dabei entweder
durch eine Impulsgruppe von c Impulsen oder bei Einfachimpulsen durch Mehrfachzählung
dieser Impulse, z. B. mittels Einschaltung zusätzlicher Verzögerungsglieder und!oder
der Zählung von Vor- und Rückflanken der Impulse, oder durch Benutzung verschiedener
Zählereingänge erfolgen. Eine andere Ausführung der Division ist nach F i g. 2b
dadurch gegeben, daß auch in diesem Falle der Zähler zunächst nur um jeweils einen
Schritt von jedem Impuls weitergeschaltet wird, bis der Null-Zustand erreicht ist,
wodurch mittels S eine Auswahlschaltung A, z. B. ein mod c-Zähler, eingeschaltet
wird, die nur noch jeden c-ten der übrigen Impulse durchläßt; wird hierbei nach
dem letzten der M Impulse nicht wieder der Ausgangszustand (Null-Zustand) der Auswahlschaltung
erreicht, so werden vom Impulsgeber weitere M Impulse angefordert, bis am Ende die
Auswahlschaltung wieder ihren Ausgangswert einnimmt. Nach dem letzten der abgegebenen
Zusatzimpulse wird der Schalter S wieder in seinen Ausgangszustand zurückgeschaltet.
Andere Möglichkeiten zur Realisierung von Multiplikation und Division sind, wie
bereits angemeldet, besonders für c = 2 mit rückgekoppelten Binärzählern durch Stellenverschiebung
gegeben.
-
An einem Beispiel möge die Arbeitsweise eines Ausführungsbeispiels
erläutert werden. Es sei eine Zeichenfolge abzusichern, die durch die zugeordneten
Zahlen: 6 3 7 9 0'4 8 1 3 im Restklassensystem mod
M = 11 gegeben sei. Ausgehend
vom Anfangszustand 0 der Zähler Z1, Z2, Z3 gelangt im ersten Schritt gemäß dem ersten
Zeichen eine Impulsfolge
von 6 Zeichen in den Zähler Z,. Die Addition
bzw. Subtraktion des so entstandenen Zählwerts des Zählers Z1(1) = 6 in die anderen
Zähler geschieht mittels M = 11 Impulsen, die den Zähler Z, schrittweise über seine
Null-Stellung wieder in die alte Stellung bringen. Dabei wird ein Umschalter U,
betätigt, der den Teil der M Impulse, der zum Erreichen des Null-Zustandes von Z,
erforderlich ist, auch in den Zähler Z2, die restlichen Impulse über U2 dagegen
in den Zähler Z3 gelangen läßt. Im Beispiel sind dies 5 Impulse in den Zähler Z2
und 6 Impulse in den Zähler Z3. Anschließend erfolgt die Vervielfachung V bzw. Y2
mit dem Faktor c bzw.
wobei für c vorzugsweise eine Primitivwurzel des Restklassensystems verwendet wird.
Im Beispiel kann c = 2 gewählt werden. Der Zähler Z2 gelangt so aus dem Zustand
5 (durch die ersten sechs der zusätzlichen 11 Impulse in den Null-Zustand und durch
die restlichen 5 Impulse um 5 - 2 Schritte weiter) in den Zustand 10, der Zähler
Z3 dagegen aus dem Zustand 6 (durch die ersten 5 Impulse in den Null-Zustand und
durch die restlichen 6 Impulse um - Schritte weiter) in den Zustand 3. Werden die
Zustände
der Zähler Z, und Z3 direkt, die des Zählers Z2 dagegen so decodiert angezeigt,
daß das Ergebnis vor der Verdoppelung erscheint, so erhält man als angezeigten Inhalt
der Zähler nach Verarbeitung des ersten Zeichens Z, (1) = 6; Z2(1) = 5; Z3(1) =
3; das zweite Zeichen führt zur Weiterschaltung des Zählers Z, um 3 Schritte Zum
Zählerstand 9. Die zwei Impulse bis zur Null-Stellung schalten der, Zähler 22 in
den Zustand 1 (10 + 2 = 1), die übrigen 9 Impulse den Zähler Z3 ebenfalls in die
Stellung 1 (3 + 9 = 1). Anschließende Verdoppelung bzw. Halbierung der Zählerstände
führt bei Z2 zum Zustand 2 und bei Z, zum Zustand 6 (1 + 10 + 1 - 2 = 2,
so daß nach Verarbeitung des zweiten Zeichens die Inhalte 7,(2) = 9; Z2(2) = 1;
Z3(2) = 6 angezeigt werden. Das dritte Zeichen führt schließlich zu Z,(3) .= 5;
Z2(3) = 8; Z3(3) = 0 (9 + 7 = 5; 1 - 2 + 6 = 8;
und die weiteren Zeichen zu:
Z,(4) = 3; Z2(4) = 2; Z3(4) = 7. |
Z, (5) = 3; Z,2(5) = 1; Z3(5) = 5. |
Z1(6) = 7; Z2(6) = 6; Z3(6) = 6. |
Z, (7) = 4; Z2(7) = 8; Z3(7) = 5. |
Z1(8) = 5; Z2(8) = 0; Z3(8) = 5. |
Z, (9) = 8; Z2(9) = 3; Z3(9) = 1 . |
Die angezeigten Inhalte der Zähler Z,,_ Z2, Z3 nach Verarbeitung des letzten. Zeichens
liefern direkt die gesucht , Prüfzeichen, so daß die abgesicherte Zeichenfolge durch
6379048 I
3-83 1 gegeben ist. Setzt man den rekursiven Vorgang zusammen,
so erkennt man, daß das Ergebnis mit dem übereinstimmt, welches man nach (1) mit
den Gewichten G, i = 1, Gei = I -cm4'1-i, G3 i --- 1-ci-M-' erhält; insbesondere
ergeben sich im Beispiel die Gewichte:
Für kürzere Zeichenfolgen sind die vorderen Spalten zu streichen. Man verifiziert
diesbezüglich leicht die folgenden Relationen: Z1(1) = 1 -a,; Z2(1) = 10-a,; -Z3(I)
= 6' ai usw. bis schließlich Z,(9)=6+3+7+9+0+4+8+1 +3 =8 mod11; Z2(9) =6-6+3-9+7-5+9-3+0-2+4-7
+8-4+1-8+3-10=3 mod11; Z3(9) = 6 10 +3-8+7-4+9-7+0-2+4-3 +85+1-9+3-6=1 mod11. Durch
Ausrechnung sämtlicher Determinanten erster, zweiter und dritter Ordnung, die sich
aus der Gewichtsmatrix G"i bilden lassen, kann man feststellen, daß keine von ihnen
verschwindet, so daß sichergestellt ist, daß mit dem vorgeschlagenen Verfahren tatsächlich
eine optimale Absicherung erreicht wird: Ein wichtiges Resultat, das sich auch aus
(2) mit A2=A3=C2=I,C3=O,Di=-c`1"` und G, i = I+Di bei entsprechender Umnumerierung
gewinnen läßt.
-
Da es für die Wirksamkeit der Absicherung unwesentlich ist, in welcher
Weise die Prüfzeicben aus den Zählerendständen decodiert werden, wenn diese Decodierung
nur umkehrbar eindeutig ist, können die Prüfzeichen insbesondere auch mit konstanten
Faktoren multipliziert werden, z. B. mit dem Faktor 2 oder - I oder -2. Damit können
weitere, besonders einfache Ausführungsformen der Erfindung angegeben werden. Insbesondere
ist es damit auch möglich, Substraktionen durch Additionen und umgekehrt zu ersetzen.
Bier sei als Beispiel noch eine einfache Ausführungsform beschrieben, die nur mit
Additionen arbeitet und bei denen eine Direktanzeige (Direktdecodierung) aller Zählerstände
erfolgt. Zunächst wird wieder der mod M-Zähler Z, durch eine Impulsfolge um so viele
Schritte weitergeschaltet, wie die dem gerade verarbeiteten Zeichen zugeordnete
Zahl angibt: Z,(i+l)
= Z,(i)+ai+l, sodann werden entsprechend dem entstandenen
Resultat die mod M-Zähler Z2 und Z3 weitergeschaltet, wozu derjenige Teil der M
Zusatzimpulse dient, der den Zähler Z, nach seinem Null-Durchgang wieder auf seinem
alten Wert bringt. Anschließend erfolgt eine Ver-c-fachung bzw. Ver-
fachung der entstandenen Zählerstände: Z2 (i+1)
_ [Z2 (i)+Z,(i+1)]
- c
und
Ist z. B. die Zahlenfolge 7 0 0 2 0 0 4 3 9 mod 11 mit c = 2 abzusichern, so ergeben
sich nacheinander folgende Zählerstände:
Zi(0) = 0, Z2(0) = 0, Z3(0) =
0. |
Z, (1) = 7; Z2(1) = 3; Z3(1) = 9. |
Z, (2) = 7; Z2(2) = 9; Z3(2) = B. |
Z, (3) = 7: Z2(3) = 10; Z3(3) = 2. |
Z, (4) = 9; Z2(4) = 5; Z3(4) = 0. |
Z1(5) = 9; Z2(5) = 6; Z3(5) =
10. |
Z1(6) = 9; Z2(6) = 8; Z3(6) = 4. |
Z1(7) = 2; Z2(7) = 9; Z3(7) = 3. |
Z1(8) = 5; Z2(8) = 6; Z3(8) = 4. |
Z1(9) = 3; Z2(9) = 7; Z3(9) = 9. |
.Als Prüfzeichen erhälf man also k1 = 3, k2 = 7 und k3 = 9. Die Prüfzeichenbildung
nach diesem Verfahren liefert dabei dieselben Ergebnisse, wie eine Bestimmung nach
(1) mit den folgenden Gewichten ergeben würde:
Gegenüber der zuerst beschriebenen Ausführungsform unterscheiden sich die Gewichte
für das zweite Prüfzeichen hier um den Faktor -2.
-
Eine weitere Ausführungsform zeigt F i g. 3. Bei dieser gelangt die
Impulsfolge, deren Länge die zugeordnete Zahl des gerade verarbeiteten Zeichens
angibt, in alle drei mod M-Zähler Z1, Z2, Z3. Anschließend wird der Inhalt des Zählers
Z2 überV ver-c-facht und der Inhalt des Zählers Z3 über V ver-
-facht. Nach Verarbeitung des letzten Zeichens folgen die Prüfzeichen aus dem entstandenen
Zählerstand Z1 und den Differenzen der Zählerstände zwischen Z2 und Z1 sowie Z3
und Z1 und werden entsprechend mittels P1, P2, P3 angezeigt. Natürlich kann die
Differenzbildung auch durch zusätzliches Hinzufügen des negativen Zählerinhalts
von Z1 nach Verarbeitung des letzten Zeichens in den Zählern ZZ und Z3 und Anzeige
der so entstandenen Zählerstände erfolgen. Dieses Verfahren ergibt in den Zählern
ZZ und Z3 zunächst Zählerstellungen, die einer gewichteten Summenbildung mit Gewichten
gemäß auf- und absteigenden c-Potenzen entsprechen, welche durch die Differenzbildung
zur einfachen Quersumme um 1 erniedrigt werden, so daß (abgesehen von den Vorzeichen)
das gleiche Ergebnis wie in der zuerst besprochenen Ausführung entsteht. Natürlich
können auch hier die Zeichen beliebig codiert werden, bei Zahlen z. B. auch direkt
gemäß 1 - 1, 2-2 usw. und 0-0 oder 0 - 10.
-
Schließlich können alle besprochenen Ausführungsformen auch dadurch
variiert werden, daß die Vervielfachung Y bzw. V im Zähler Z2 und/oder
Z3 auch vor der Addition bzw. Subtraktion ausgeführt wird.
-
Bisher wurde nur die Gewinnung der Prüfzeichen besprochen. Mit der
angegebenen Schaltungsanordnung ist jedoch auch eine einfache Fehlererkennung von
bereits abgesicherten Zeichenfolgen möglich. Hierzu werden die Prüfzeichen neu bestimmt
und mit den Prüfzeichen der abgesicherten Zeichenfolge verglichen. Die Prüfzeichen
der Zeichenfolge können dabei durch ein Sonderzeichen (z. B. einen vorgestellten
Bindestrich) oder durch ihre Stellung (bei konstanter Stellenzahl) gekennzeichnet
sein. Erzielte Übereinstimmung wird als Kriterium für die Fehlerfreiheit gewertet.
Der Vergleich kann durch Subtraktion der vorhandenen Prüfzeichen von den neu errechneten
in den Zählern Z1 bis Z3 erfolgen, so daß diese bei erzielter Übereinstimmung in
ihre Null-Stellun-en gelangen. Soll eine Subtraktion vermieden werden, so verwendet
man als Prüfzeichen die Komplementwerte zu M und zeigt diese an; der Vergleich geschieht
dann durch Addition mit dem gleichen Null-Kriterium äller Zählerstände für Fehlerfreiheit.
-
Wird keine Übereinstimmung erzielt, so enthält die Zeichenfolge einen
Fehler. Da weitaus die häufigsten Fehler Einzeichenfehler sind, bei denen nur ein
Zeichen der Zeichenfolge falsch ist, wird man es meist mit solchen zu tun haben.
Es ist ein großer Vorteil des vorgeschlagenen Verfahrens, daß damit auch unmittelbar
die direkte Fehlerkorrektur dieser häufigsten Fehler durchgeführt werden kann. Dient,
wie oben ausgeführt, die Null-Kontrolle als Kriterium für die Fehlerfreiheit, so
wird beim Auftreten eines Einzeichenfehlers in den Prüfzeichen die Null-Bedingung
von zwei Zählern erfüllt, während der dritte Zähler die Größe des Fehlers in dem
betreffenden Prüfzeichen anzeigt. Wichtiger ist jedoch der Fall, daß der Fehler
in einem dm Informationszeichen aufgetreten ist. Zur Bestimmung von Lage und Größe
eines solchen Fehlers wird die Verarbeitung in der angegebenen Schaltungsanordnung
in gleicher Weise wie bei der Verarbeitung der Informationszeichen schrittweise
gemäß eingegebener Nullen fortgesetzt, so daß der Zählerstand Z1 also nach jedem
Schritt unverändert ist. Nehmen wir an, daß die Länge der Zeichenfolge inklusive
Prüfzeichen M+ 1 beträgt (bei kürzeren Zeichenfolgen erfolgt lediglich eine Verschiebung
in der Stellenabzählüng), so liefert nach dem ersten zusätzlichen Schritt das erste
Zeichen der Zeichenfolge keinen Beitrag zur Zählerstellung von Z2 und Z3. Nach dem
zweiten Schritt gilt dies gerade für das zweite Zeichen usf. Die neuen Zählerstellungen
ergeben sich nämlich gemäß (1) mit einer Gewichtsmatrix, die gegenüber den angegebenen
Gewichtsmatrizes @G,.i unter Hinzufügung einer linken Gewichtsspalte (1, 0, 0) durch
zyklische Verschiebung der so gewonnenen Gewichtsmatrix um einen bzw. zwei usf.
Schritte entstehen. Durch einen Fehler in der i-ten Stelle gelangen deshalb nach
dem P en Schritt die Zähler Z2 und Z3 in den Null-Zustand, während der Zählerstand
in Z1 die Größe des aufgetretenen Fehlers angibt. Durch Subtraktion des ermittelten
Fehlers ist dann die fehlerhafte Zeichenfolge leicht zu korrigieren. In den Fällen,
in denen die Zeichenfolge nicht gespeichert vorliegt, wird der Korrekturwert nach
Größe urd Lage angegeben. Dies kann unter anderem vorteilhaft dadurch geschehen,
daß nach jedem Schritt zur Bestimmung der Fehlerlage, bei dem in den Zählern ZZ
und Z3 nicht die Null-Stellung erreicht wird, die Ausgabe einer Null erfolgt, während
nach Erreichen der Null-Stellung beider Zähler eine Größe gemäß der Zählerstellung
Z1 ausgegeben wird.
-
Ein Beispiel möge diesen Vorgang illustrieren: An Stelle der in unserem
ersten Beispiel behandelten Zahlenfolge sei fälschlicherweise die Zahlenfolge 6
3 7 9 0 4 8 7 3 - 8 3 1 aufgetreten. Die neue Berechnung der Prüfzeichen ergibt:
Z, (7) = 4; Z2(7) = 8; Z3(7) = 5. |
Z, (8) = 0; Z2(8) = 5; Z3(8) = B. |
Z1(9) = 3; Z2(9) = 7; Z3(9) = 0. |
Nach Subtraktion der alten Prüfzeichen ergeben sich die Zählerstände 3 - 8 = 6;
7 - 3 = 4; 0 - 1.=10 inod 11 und damit das Kriterium für einen aufgetretenen
Fehler.
Der anschließende Vorgang zur Bestimmung des Fehlers verläuft wie folgt:
Z,(0') = 6; Z2(0') = 4; Z3(0') = 10. |
Z, (I') = 6; Z2(1') = 2; Z3(1') = B. |
Z,(2') = 6; Z2(2') = 9; Z3(2') = 7. |
Z,(3') = 6; Z2(3') = I; Z3(3') = 1 |
Z,(4') = 6; Z2(4') = 7; Z3(4') = 9. |
Z,(5') = 6; Z2(5') = 8; Z3(5') = 2. |
Z,(6') = 6; Z2(6') = 10; Z3(6') = 4. |
Z, (T) ='6; Z2(7') = 3; Z3(7') = 5. |
Z,(8') = 6; Z2(8') = 0; Z3(8') = 0. |
Das Ergebnis zeigt also einen Fehler von 6 Einheiten in der B. Stelle; zur obigen
Zahlenfolge ist die Zahlenfolge -000 000 060 hinzuzufügen.
-
Mit den beschriebenen Vorrichtungen können alle Einzeichenfehler nach
Größe und Lage bestimmt und damit direkt ohne Wiederholungsanforderung korrigiert
werden. Tritt weder das Kriterium für Fehlerfreiheit (alle 3 Zähler in Null-Stellung)
noch in einem der anschließenden Schritte das Kriterium für einen aufgetretenen
Einzeichenfehler ein (2 Zähler in Null-Stellung), so handelt es sich um einen der
selteneren Mehrfachfehler, die ohne zusätzliche (willkürliche) Annahmen nicht korrigierbar
sind. In diesem Falle erfolgt lediglich eine Fehleranzeige.
-
Soll dagegen auch hier eine direkte Korrektur erfolgen, die naturgemäß
nicht mehr eindeutig ist, so kann man eine solche ebenfalls mit der angegebenen
Schaltungsanordnung erhalten, wenn man die Bedingung, daß zur Lagebestimmung eines
Fehlers 2 Zähler in Null-Stellung sein sollen, auf die Bedingung für einen Zähler
ermäßigt. Die Wahrscheinlichkeit für Falscherkennung wird durch eine solche Maßnahme
zur Ausgabe einheitlicher Ergebnisse natürlich erheblich vergrößert.
-
Die erfindungsgemäßen Schaltungsanordnungen wurden für Systeme mit
3 Prüfzeichen beschrieben. Infolge ihrer optimalen Absicherungseigenschaften gewähren
sie einen hervorragenden und selbst bei automatischer Fehlerkorrektur bei kleineren
Fehlerquoten noch einen recht guten Schutz gegen verbleibende, unerkannte Fehler.
Für geringere Sicherheitsansprüche, wenn die Verwendung zweier Prüfzeichen genügt,
kün,Pcn mit der gleichen Schaltungsanordnung - led:;@lich unter Weglassung eines
Zählers (7_2 oder Z3) ---- ebenfalls die Prüfzeichen gewonnen und eine Prüfung sowie
direkte Korrektur aufgetretener 17chler oder mit nur einem Zähler die Fehlererkerca@;nernit
nur einem Prüfzeichen durchgeführt werden.