DE1187265B - Procedure for data transfer - Google Patents
Procedure for data transferInfo
- Publication number
- DE1187265B DE1187265B DET25299A DET0025299A DE1187265B DE 1187265 B DE1187265 B DE 1187265B DE T25299 A DET25299 A DE T25299A DE T0025299 A DET0025299 A DE T0025299A DE 1187265 B DE1187265 B DE 1187265B
- Authority
- DE
- Germany
- Prior art keywords
- code
- block
- counter
- error
- data
- 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
- 238000000034 method Methods 0.000 title claims description 7
- 239000011159 matrix material Substances 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 description 3
- 230000009897 systematic effect Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
Verfahren zur Datenübertragung Die Erfindung betrifft ein Verfahren zur Datenübertragung, in dem sendeseitig für jeweils einen Datenblock nach einem vereinbarten Kode eine Prüfzeichengruppe gebildet wird, die auf der Empfangsseite zur Erkennung und gegebenenfalls Korrektur von Ubertragungsfehlern ausgewertet wird.Method for data transmission The invention relates to a method for data transmission, in which on the sending side for one data block after one agreed code a group of test characters is formed on the receiving side is evaluated for the detection and, if necessary, correction of transmission errors.
Solche Systeme sind sowohl theoretisch durchleuchtet wie praktisch angewendet worden. Eine Zusammenfassung vieler bekannter Systeme ist in dem Buch von W. W. P e t e r s o n, »Error Correcting Codes«, 1961, zu finden. Die Sicherheit im Erkennen von Fehlern hängt im allgemeinen von der Redundanz ab, d. h. von dem Verhältnis der Größe der Prüfzeichengruppe zur Größe des Datenblocks. Je größer die Redundanz gewählt wird, um so besser ist zwar die Fehlersicherheit, um so geringer wird aber auch die nutzbare Ubertragungskapazität des Kanals. Außerdem steigt der Aufwand für die Prüfzeichenbildung dabei gewaltig an. Dieser Aufwand hängt weiterhin davon ab, wie groß die Prüfzeichengruppe absolut ist, d. h., bei gegebener Redundanz, wie groß ein Datenblock gewählt wird. An sich erscheint es vorteilhaft, Datenblöcke möglichst groß zu wählen, da man so systematische, in gewissen Abständen immer wiederkehrende Fehler am besten erkennt. Aus Aufwandgründen muß man aber sowohl die Redundanz als auch die Größe der Datenblöcke so weit beschränken, daß nur noch bestimmte Fehler, z. B. Einzelfehler, sicher erkannt werden. Treten in diesem Fall z. B. Doppelfehler auf, dann lassen sie sich entweder gar nicht entdecken oder aber nur, wenn sie sich in einer bestimmten Stellung im Datenblock befinden. Solche bevorzugte Stellungen sind kodeabhängig. Doppelfehler, die anderswo auftreten, bleiben also unentdeckt. Durch die Erfindung wird eine Verbesserung insoweit erzielt, als ohne wesentliche Aufwandsvergrößerung systematisch immer in derselben Stellung im Datenblock auftretende Fehler in vielen Fällen entdeckt werden können, auch wenn es Fehler sind, die an sich von dem verwendeten Kode nur in bestimmten Stellungen erkannt werden.Such systems are both theoretical and practical been applied. A summary of many known systems is in the book by W. W. P e t e r s o n, "Error Correcting Codes", 1961. The security in the detection of errors generally depends on the redundancy, i. H. of the Ratio of the size of the check character group to the size of the data block. The bigger the redundancy is selected, the better the fail-safe, the lower but also the usable transmission capacity of the channel. In addition, the The effort involved in creating the test mark is enormous. This effort still depends on how large the test character group is in absolute terms, d. i.e., given redundancy, how big a data block is chosen. In itself it appears advantageous to use data blocks To choose as large as possible, because one is so systematic, recurring at certain intervals Identifies errors best. For reasons of expense, however, both redundancy and also limit the size of the data blocks so that only certain errors z. B. individual errors, can be reliably detected. Occur in this case z. B. Double fault then they can either not be discovered at all or only when they are are in a certain position in the data block. Such preferred positions are code-dependent. Double faults that occur elsewhere therefore remain undetected. The invention achieves an improvement to the extent that it is not essential Systematic increase in effort always occurring in the same position in the data block Errors can be discovered in many cases, even if there are errors that are related to can only be recognized by the code used in certain positions.
Die Erfindung besteht darin, daß für aufeinanderfolgende Blöcke unterschiedliche Kodes verwendet werden.The invention consists in that for successive blocks different Codes are used.
Im folgenden wird die Erfindung zuerst an einem Zahlenbeispiel und anschließend an Hand eines Ausführungsbeispiels, das in der Figur dargestellt ist, im einzelnen erläutert.In the following the invention is first illustrated by a numerical example and then on the basis of an embodiment that is shown in the figure, explained in detail.
Ein einfacher Kode soll auf Blöcke von je fünf Informationsbits derart angewandt werden, daß drei Prüfbits als Prüfzeichengruppe entstehen. Der Kode ist durch eine Matrix gemäß Tabelle 1 gegeben. Entsprechend der geringen Redundanz sind mehrere Spalten dieser Matrix einander gleich, beispielsweise die erste und die fünfte. Ordnet man jedem Informationsbit eine Spalte dieser Matrix zu (also z. B. dem ersten Bit die erste Spalte usw.) und addiert vektoriell die Spalten, deren zugeordnetes Informationsbit eine Eins zeigt, so erhält man einen dreidimensionalen Prüfvektor, der als Prüfzeichengruppe dient. Man erkennt aus der Matrix, daß ein Einzelfehler des ersten Informationsbits zum selben Prüfvektor führt wie ein Einzelfehler des fünften Informationsbits, so daß ein solcher Fehler nicht eindeutig lokalisiert werden kann. Weiterhin erkennt man, daß z. B. ein Dreifachfehler in den ersten drei Informationsbits zu überhaupt keiner Fehlermeldung führt.A simple code is to be applied to blocks of five information bits each in such a way that three check bits are created as a group of check characters. The code is given by a matrix according to Table 1 . In accordance with the low redundancy, several columns of this matrix are identical to one another, for example the first and the fifth. If you assign a column of this matrix to each information bit (e.g. the first column, the first bit, etc.) and add vectorially the columns whose assigned information bit shows a one, you get a three-dimensional check vector that serves as a group of check characters. It can be seen from the matrix that an individual error in the first information bit leads to the same test vector as an individual error in the fifth information bit, so that such an error cannot be clearly localized. It can also be seen that, for. B. a triple error in the first three information bits leads to no error message at all.
Da auftretende Fehler nicht immer statistisch verteilt sind, sondern
vielfach ihre Ursache in einer Fehlkalkulation der Anlage besitzen, die beliebig
oft reproduzierbar ist, kann ein systematisch immer an der ersten Stelle auftretender
Fehler mit der vorliegenden Matrix zwar entdeckt, aber nicht lokalisiert werden,
dagegen kann man solche Fehler gemäß der Erfindung manchmal erkennen, wenn man für
aufeinanderfolgende Informationsblöcke verschiedene Kodes benutzt, wobei der zweite
Kode so gewählt ist, daß man gerade in den Stellen Fehler erkennen kann, für die
sich im ersten Kode eine Zweideutigkeit ergibt. Auf diese Weise wird zwar nicht
vermieden, daß ein Fehler in der ersten Stelle manchmal unkorrigierbar bleibt, aber
es wird sichergestellt, daß er nicht immer unentdeckt bleibt.
Die
Tabelle 2 zeigt einen solchen zweiten Kode, bei den sich nun nicht die erste und
die fünfte Spalte, sondern die zweite und die vierte Spalte gleichen.
Die Realisierung verschiedener Kodes kann durch Umschaltung der den Kode bestimmenden Matrix (z. B. eines Zählers) oder durch Vergrößerung der Spaltenzahl der Matrix erfolgen. Ein Kodezähler, der normalerweise hei jedem Block seinen Zählzyklus einmal durchläuft, -soll gemäß der Erfindung also einen längeren oder kürzeren Zyklus besitzen, so daß Blockanfang und Zyklusanfang nicht immer zusammenfallen. Bei Verwendung sogenannter zyklischer Kodes (vgl. z. B: das erwähnte Buch von W. W. P e t e r s o n) ist ein Wechsel der Kodematrix besonders einfach durch Wechsel der Rückkopplungsstellen innerhalb des rückgekoppelten Schieberegisters zu erreichen.Different codes can be implemented by switching the Code-determining matrix (e.g. of a counter) or by increasing the number of columns the matrix. A code counter that normally has its counting cycle for each block runs once through, -soll according to the invention so a longer or shorter cycle so that the beginning of the block and the beginning of the cycle do not always coincide. Using so-called cyclic codes (cf. e.g .: the mentioned book by W. W. P e t e r s o n) a change in the code matrix is particularly easy by changing the feedback points within the feedback shift register.
Im folgenden Ausführungsbeispiel gemäß der Figur ist ein vollständiges Datenübertragungssystem gezeigt mit einem Datengeber 1, einer Kodiereinrichtung 2 zur Gewinnung da Prüfzeichengruppe, einer Ubertragungsstrrecke mit Modulator 3 und Demodulator 4, einer Dekodiereinrichtung 5 zur Gewinnung von Korrekturzeichen und einer Korrigiereinrichtung, bestehend aus einem Pufferspeicher 6 und einem Zuordner 7, der aus den Korrekturzeichen den Fehlerort des im Pufferspeicher stehenden Datenblocks ermittelt und den Fehler korrigiert.In the following exemplary embodiment according to the figure, a complete data transmission system is shown with a data transmitter 1, a coding device 2 for obtaining the check character group, a transmission link with modulator 3 and demodulator 4, a decoding device 5 for obtaining correction characters and a correcting device, consisting of a buffer memory 6 and an allocator 7 which uses the correction characters to determine the location of the error in the data block in the buffer memory and which corrects the error.
Das Kernstück der Kodiereinrichtung 2 ist ein Kodezähler 8, der nacheinander
alle Spalten einer dreizeiligen Matrix an seinen drei Ausgängen liefert. Der Zähler
besitzt einen achtzehntaktigen Zählzyklus gemäß den Spalten der nachfolgenden Tabelle
3.
Der Stellenzähler beginnt also nach jeweils neun Takten von neuem zu zählen; er wird zur Ablaufsteuerung eingesetzt, indem er erst diejenigen Leitungen durchschaltet, über die die Prüfzeichen gebildet werden (Takte 1 bis 5) und anschließend (Takte 6 bis 8) die Übergabe der Prüfzeichengruppe an den Modulator veranlaßt. Die Prüfzeichengruppe wird durch vektorielle Addition modulo 2 aus den jeweiligen Spalten der Tabelle 3 gebildet, deren zugeordnetes Informationsbit eine Eins zeigt (Addiernetz 11). Zwischenergebnisse und die endgültige Prüfzeichengruppe werden in einem dreistelligen Register 12 abgesetzt. Der Inhalt dieses Registers wird während der Takte 6 bis 8 an den Modulator 3 in Serie abgegeben.The position counter thus begins to count again after every nine bars; it is used for sequence control by first switching those lines through which the check characters are formed (bars 1 to 5) and then (bars 6 to 8) initiates the transfer of the check character group to the modulator. The check character group is formed by vector addition modulo 2 from the respective columns of table 3, the associated information bit of which shows a one (adding network 11). Intermediate results and the final group of test characters are stored in a three-digit register 12. The content of this register is sent to the modulator 3 in series during bars 6 to 8.
Wie schon erwähnt, besitzt der Kodezähler einen achtzehntaktigen Zählzyklus, was bedeutet, daß während der Behandlung eines Blocks die ersten neun Zählzustände, während der Behandlung des nächsten Blocks aber die zweiten neuen Zustände durchlaufen werden. Für den Kodiervorgang werden nur die ersten fünf und die Zustände 10 bis 14 ausgewertet, so daß die übrigen Spalten der Tabelle 3 beliebig ausgebildet sein können.As already mentioned, the code counter has an eighteen-step counting cycle, which means that during the handling of a block the first nine counting states, but go through the second new states while handling the next block will. Only the first five and states 10 to 14 evaluated so that the remaining columns of table 3 can be designed as desired can.
Für den Dekodiervorgang aber benötigt man zweimal acht Spalten, da hier der ankommende Datenblock acht Bits umfaßt. Der Pufferspeicher 6 nimmt diese acht Bits kurzzeitig auf, während gleichzeitig in der Dekodiereinrichtung 5 eine Korrekturzeichengruppe auf dieselbe Weise wie die Prüfzeichengruppe gebildet wird. Diese Einrichtung enthält also ebenfalls einen Kodezähler 8, einen Blockstellenzähler 9, ein Addiernetz 11 und ein Register 12. Während der Blockübertragung, die acht Takte dauert, wird die Korrekturzeichengruppe im Register 12 gebildet. In der neunten Taktzeit wertet schließlich der Fehlerzuordner 7 den Registerinhalt zur Korrektur des Datenblocks aus. Gleichzeitig wird das Register 12 gelöscht und damit für den neuen Block vorbereitet. Der Taktgenerator 10 ist durch an sich bekannte und hier nicht näher zu beschreibende Mittel mit dem Taktgenerator der Kodiereinrichtung derart synchronisiert, daß bei Vorliegen des gleichen Datenbits jeweils gleiche Zählerstände auf der Kodier- und auf der Dekodierseite vorherrschen.For the decoding process, however, eight columns are required twice, since the incoming data block here comprises eight bits. The buffer memory 6 briefly stores these eight bits, while at the same time a correction character group is formed in the decoder 5 in the same way as the check character group. This device thus also contains a code counter 8, a block position counter 9, an adding network 11 and a register 12. During the block transfer, which lasts eight clocks, the group of correction characters is formed in register 12. Finally, in the ninth cycle time, the error allocator 7 evaluates the register content to correct the data block. At the same time, register 12 is cleared and thus prepared for the new block. The clock generator 10 is synchronized with the clock generator of the coding device by means which are known per se and will not be described in greater detail here, in such a way that when the same data bit is present, the same counter readings prevail on the coding and decoding sides.
Durch die Erfindung wird also eine Anpassung nicht vollkommener Kodes an die praktischen Erfordernisse der Fehlererkennung erzielt, wodurch systematisch Fehler auch dann erkannt und korrigiert werden können, wenn ihre Art und Stellung innerhalb des Informationsblocks bei Anwendung nur eines Kodes an sich keine Korrektur erlauben würde. Selbstverständlich ist die Erfindung nicht auf das erläuterte Zahlenbeispiel beschränkt, vielmehr muß nochmals betont werden, daß in der Praxis die Redundanz und die Zahl der Informationsbits in einem Block wesentlich größer ist.The invention therefore makes it possible to adapt imperfect codes to the practical requirements of error detection achieved, thereby systematically Errors can also be recognized and corrected if their nature and position No correction per se within the information block when only one code is used would allow. Of course, the invention is not limited to the numerical example explained limited, rather it must be emphasized again that in practice the redundancy and the number of information bits in a block is much larger.
Außerdem ist die Erfindung nicht insoweit auf das Ausführungsbeispiel beschränkt, als die Zyklusseiten der beiden Zähler 8 und 9 im Verhältnis 2: 1 stehen. Vielmehr ergibt sich der Vorteil der Erfindung auch bei anderen Verhältnissen, insbesondere auch bei einem Verhältnis von n : (n ± 1). In addition, the invention is not limited to the exemplary embodiment insofar as the cycle sides of the two counters 8 and 9 have a ratio of 2: 1. Rather, the advantage of the invention also results with other ratios, in particular also with a ratio of n: (n ± 1).
Claims (3)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DET25299A DE1187265B (en) | 1963-12-20 | 1963-12-20 | Procedure for data transfer |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DET25299A DE1187265B (en) | 1963-12-20 | 1963-12-20 | Procedure for data transfer |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE1187265B true DE1187265B (en) | 1965-02-18 |
Family
ID=7551969
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DET25299A Pending DE1187265B (en) | 1963-12-20 | 1963-12-20 | Procedure for data transfer |
Country Status (1)
| Country | Link |
|---|---|
| DE (1) | DE1187265B (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE1273562B (en) * | 1965-07-09 | 1968-07-25 | Telefunken Patent | Arrangement for secure data transmission |
| AT383785B (en) * | 1980-10-24 | 1987-08-25 | Int Standard Electric Corp | DEVICE FOR SIGNAL-SAFE DATA TRANSFER BETWEEN A ROAD AND ON THESE VEHICLES |
-
1963
- 1963-12-20 DE DET25299A patent/DE1187265B/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE1273562B (en) * | 1965-07-09 | 1968-07-25 | Telefunken Patent | Arrangement for secure data transmission |
| AT383785B (en) * | 1980-10-24 | 1987-08-25 | Int Standard Electric Corp | DEVICE FOR SIGNAL-SAFE DATA TRANSFER BETWEEN A ROAD AND ON THESE VEHICLES |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2260850C2 (en) | Circuit arrangement for the detection of single and multiple errors and for the correction of single and certain multiple errors | |
| DE2060643C3 (en) | Circuit arrangement for correcting individual errors | |
| DE3013554C2 (en) | Circuit arrangement for evaluating different synchronization signals | |
| DE2132565A1 (en) | Converter | |
| DE1179738B (en) | Method for connecting several transmission channels to a channel with higher transmission capacity and arrangement for carrying out this method | |
| EP0219917B1 (en) | Switching device with fault correction | |
| DE3027579A1 (en) | METHOD FOR DETECTING A DIGITAL CODE WORD AND CODE DETECTOR FOR CARRYING OUT THE METHOD | |
| DE2608435A1 (en) | DEVICE FOR ERROR DETECTION AND ERROR CORRECTION IN DIGITAL DATA PROCESSING SYSTEMS | |
| DE2053836C3 (en) | Arrangement for the correction of error bundles in binary coded data groups | |
| DE1474576B2 (en) | ERROR DETECTION DEVICE FOR TIME MULTIPLEX OPERATION | |
| DE2047868A1 (en) | Circuit for correcting individual errors in the words of a cyclic (n, k) code | |
| DE2000565A1 (en) | Error-correcting system for correcting multiple, random errors | |
| DE2104132C3 (en) | Arrangement for multiple error detection and single error correction | |
| DE2454745A1 (en) | BINARY COUNTER WITH ERROR DETECTION AND CORRECTION OF TEMPORARY ERRORS | |
| DE1234054B (en) | Byte converter | |
| DE1187265B (en) | Procedure for data transfer | |
| DE2057256A1 (en) | Method and circuit arrangement for data security when transmitting binary data | |
| DE1211687B (en) | System for linear systematic coding | |
| DE1146912B (en) | Method for error detection of telegraphic messages transmitted in blocks | |
| DE1943859C3 (en) | Method and device for checking and / or correcting data words and / or for generating check digits | |
| DE2415505C3 (en) | Circuit arrangement for signaling the end of a data bit sequence | |
| DE1251365B (en) | Device for deriving a parity signal for checking errors in data transmission | |
| DE1238245B (en) | Error-correcting data transmission system | |
| DE2334986C3 (en) | System for transferring the time and direction of a transition | |
| DE1437344C (en) | Rhythmic telegraphy process with error correction |