DE1293189B - Method and arrangement for error detection and / or correction of binary information - Google Patents
Method and arrangement for error detection and / or correction of binary informationInfo
- Publication number
- DE1293189B DE1293189B DE1967T0033526 DET0033526A DE1293189B DE 1293189 B DE1293189 B DE 1293189B DE 1967T0033526 DE1967T0033526 DE 1967T0033526 DE T0033526 A DET0033526 A DE T0033526A DE 1293189 B DE1293189 B DE 1293189B
- Authority
- DE
- Germany
- Prior art keywords
- error
- correction
- word
- words
- errors
- 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
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/45—Soft decoding, i.e. using symbol reliability information
- H03M13/451—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
- H03M13/456—Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD] wherein all the code words of the code or its dual code are tested, e.g. brute force decoding
-
- 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)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
Die Erfindung betrifft ein Verfahren und eine Anordnung zur Fehlererkennung und/oder Korrektur von binären Informationen, die in einem systematischen Kode übertragen werden, bei dem jeder'k-stellige Informationsvektor [x] ergänzt durch einen m-stelligen Prüfvektor [yl = [al - [x] als n-stelliges Kodewort [x+] übertragen wird, wobei mit [a] die Kodiermatrix bezeichnet ist, und bei dem ein durch Verfälschung eines Kodewortes [x+] auf dem Übertragungsweg entstandenes n-stelliges Empfangswort [x++] einen Fehlervektor [11 = [bl - [x"] = 0 > und ein richtiges Kodewoft [x+] einen Fehtervektör [1,] = 0 ergibt, wobei mit [b] die durch die Einheitsmatrix [l] ergänzte Kodiermatrix [a] bezeichnet ist.The invention relates to a method and an arrangement for error detection and / or correction of binary information that is transmitted in a systematic code in which each k-digit information vector [x] is supplemented by an m-digit check vector [yl = [al - [x] is transmitted as an n-digit code word [x +], with [a] denoting the coding matrix, and in which an n-digit receive word [x ++] resulting from the falsification of a code word [x +] on the transmission path contains an error vector [11 = [bl - [x "] = 0> and a correct codewoft [x +] results in an error vector [1,] = 0 , with [b] denoting the coding matrix [a] supplemented by the identity matrix [l].
Für systematische Kodes ist ein einfaches Fehlerkorrekturverfahren bekannt, das von P e t e r s o n in dem Buch »Error Correcting Codes« MIT Press and John Wiley, New York, 1962, 2. Auflage, eingehend beschrieben wird und die sogenannten »Fire-Codes« verwendet. Dieses Verfahren eignet sich speziell zur Korrektur von gebündelten Fehlern und ist nicht sinnvoll einsetzbar, sobald die Fehler statistisch auftreten. Für die sogenannten Bose-Chaudhuri-Kodes hat P e t e r s o n ebenfalls ein Verfahren zur Fehlerkorrektur angegeben, das einen erheblichen Schaltungsaufwand erfordert und ebenfalls nicht all-.gemein für alle systematischen Kodes einsetzbar ist.A simple error correction method is known for systematic codes, which is described in detail by Peter in the book "Error Correcting Codes" MIT Press and John Wiley, New York, 1962, 2nd edition, and which uses the so-called "fire codes". This procedure is particularly suitable for correcting bundled errors and cannot be used sensibly as soon as the errors occur statistically. For the so-called Bose-Chaudhuri codes, P et erson has also specified a method for error correction, which requires a considerable amount of circuitry and is also not generally applicable to all systematic codes.
Allgemein für alle Kodes ist bisher nur das sogenannte Kodebuch bzw. .,dessen -sehr aufwendige technische Nachbildung oder Automatisierung zur Fehlerkorrektur bekannt. Bei diesem Verfahren, das den Namen »Maximum Likelyhood Detection« erhalten hat, werden alle zulässigen Kodewörter mit dem Empfangswort verglichen, und es wird das Kodewort bestimmt, das dem Empfangswort am ähnlichsten ist. Enthält ein Kodewort k Zeichen, so sind bei diesem Verfahren maximal 2k Vergleiche nötig, um das äknlichste Wort zu finden, was außer dem technischen auch einen erheblichen zeitlichen Aufwand mit sich bringt.Generally for all codes only the so-called code book or., Whose -very complex technical simulation or automation for error correction is known. With this method, which has been given the name “Maximum Likelyhood Detection”, all permissible code words are compared with the received word, and the code word that is most similar to the received word is determined. If a code word contains k characters, a maximum of 2k comparisons are necessary with this method in order to find the most scary word, which, in addition to the technical one, also involves considerable expenditure of time.
Der Erfindung lag daher die Aufgabe zugrunde, ein für alle systematischen Kodes brauchbares Verfahren zur Fehlererkennung und/oder Korrektur anzugeben, durch das sowohl der zeitliche wie auch der technische Aufwand gegenüber den bekannten Verfahren stark herabgesetzt wird.The invention was therefore based on the object of a systematic for everyone Code to indicate a useful procedure for error detection and / or correction That is both the time and the technical effort compared to the known Procedure is greatly reduced.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß bei Auftreten eines Fehlervektors A # 0 so lange aus dem Empfangswort [x++] und einem je- weils anderen aus einer vorgegebenen Zahl von Xor:-rektur-Fehlerwörtern durch modulo-2-Addition ein Additionswort gebildet wird, bis der Fehlervektor [l#I eines Additionswortes zu Null wird, wobei unter Korrektur-Fehlerwort eine n-stellige Binärkombination zu verstehen ist, deren komponentenweise modulo-2-Addition zu einem Kodewort [x+] ein korrigierbares Empfangswort [x++] ergibt.This object is achieved according to the invention in that when an error vector A # 0 occurs, an addition word is formed from the receive word [x ++] and a respective other from a predetermined number of Xor: correction error words by modulo-2 addition , until the error vector [l # I of an addition word becomes zero, the correction error word being an n-digit binary combination whose component-wise modulo-2 addition to a code word [x +] results in a correctable receive word [x ++].
Die Erfindung geht dabei von der Erkenntnis aus, daß bei einem systematischen Kode die Anzahl m der Redundanzbits im allgemeinen wesentlich kleiner ist als die Anzahl k der Informationsbits und daß folglich die Zahl 211 der Kodewörter um Größenordnungen größer als die Zahl 2- - 1 der zu einem Kodewort gehörigen korrigierbaren Empfangswörter ist. Dem - erfindungsgemäßen Verfahren liegt dabei die Vorstellung zugrunde, daß ein Empfangswort aus einem Kodewort durch modulo-2-Addition einer als Korrektur-Fehlerwort bezeichneten Binärkombination hervorgegangen ist. Die Rechenvorschriften für die modulo-2-Addition besagen nun, daß die zweimalige Addition einer Binärkombination zu einer ersten Binärkombination wieder diese erste Binärkombination ergibt. Handelt es sich also bei den im Empfangswort .enthaltenen- Fehlern um korrigierbare Fehler, so muß es möglich sein, diese Fehler durch Addition eines be-stimmten Korrektur-Fehlerwortes wieder aufzuheben, und so das ursprünglich ausgesandte Kodewort zurückzugewinnen.The invention is based on the knowledge that in a systematic code the number m of redundancy bits is generally much smaller than the number k of information bits and that consequently the number 211 of code words is orders of magnitude greater than the number 2 - 1 of the associated is correctable reception words belonging to a code word. The - process of the invention lies on the idea that a received word from a code word by modulo-2 addition emerged a designated as a correction error word binary combination. The calculation rules for modulo-2 addition now state that adding a binary combination twice to a first binary combination results in this first binary combination again. If it is so in the .enthaltenen- in the reception word errors to correctable errors, it must be possible for this error by adding a certain pick up again correction error word, and recover as originally transmitted codeword.
In vorteilhafter Weiterbildung der Erfindung wird die Gesamtheit der maximal 2- - 1 Korrekiur-Fehlerwörter mit 1 bis e Fehlern, wobei mit e die Zahl der korrigierbaren Fehler bezeichnet ist in e Gruppen unterteilt, von denen jede nur Korrektur-Fehlerwörter gleicher Fehlerzahl enthält, und die Gesamtheit aller Fehlervektoren wird,in--e Gruppen zusammengefaßt, von denen jeweils eine einer bestimmten Gruppe von Korrektur-Fehlerwörtern zugeordnet ist.In an advantageous development of the invention the whole of the maximum 2- - 1 Korrekiur error words with 1 to s errors, eluting with e the number of correctable errors is designated divided into s groups, each of which contains only correction error words the same number of errors, and the totality of all error vectors is combined into groups, each of which is assigned to a specific group of correction error words.
Eine weitere besonders günstige Form des erfindungsgemäßen Verfahrens. -besteht darin, daß höchstens alle Korrektur-Fehlerwörter mit 1 bis 1 < e Fehlern erzeugt werden, Wobei für den Fall, daß der Fehlervektor durch die Addiiion-keines dieser Korrektur-Fehlerwörter zu Null wird,. ein nicht korrigierbarer Fehler erkannt wird.Another particularly favorable form of the method according to the invention. Consists in the fact that at most all correction error words with 1 to 1 < e errors are generated, whereby in the event that the error vector due to the addition none of these correction error words becomes zero. an uncorrectable error is detected.
In Weiterbildung des erfindungsgemäßen Verfahrens ist es vorteilhaft, daß die,--.Gesamtheit aller Koryektur-Fehlerwörter mit 1 bis 1 < e Fehlern in i Gruppen unterteilt wird, von denen jede nur Korrektur-Fehlerwörter gleicher Fehlerzahl enthält, und daß die Gesamtheit aller Fehlervektoren in e Gruppen zusammengefaßt wird, von denen i jeweils einer bestimmten Gruppe von Korrektur-Fehlerwörtern zugeordnet sind, , während bei AÜftreten eines Fehlervektors in einer der übrigen e - 1 Gruppen ein nicht korrigierbarer Fehler erkannt wird.In a further development of the method according to the invention, it is advantageous that the total of all Koryektur error words with 1 to 1 < e errors is divided into i groups, each of which only contains correction error words with the same number of errors, and that the total of all error vectors is combined in e groups, of which i are each assigned to a specific group of correction error words , while if an error vector occurs in one of the other e - 1 groups, an uncorrectable error is recognized.
Die Erfindung wird nachstehend an Hand einer Zeichnung näher erläutert.The invention is explained in more detail below with reference to a drawing.
F i g. 1 zeigt schematisch zwei Kodewörter mit den zugehörigen Korrekturbereichen; F i g. 2 zeigt das Prinzipschaltbild einer Anordnung zur Durchführung des erfindungsgemäßen Verfahrens. Man erkennt in F i g. 1, daß zu jedem Kodewort Cl, C2 ein in der Zeichnung der Einfachheit halber als Kreis dargestellter Bereich 1, 2 gehört, in dem Binärkombinationen liegen, die infolge der Redundanz des systematischen Kodes mit Hilfe eines Fehlerkorrekturverfahrens auf das richtige Kodewort Cl bzw. C2 zurückgeführt werden können. Besteht die Aufgabe, bei einem Kode eine Fehlerkorrektur durchzuführen, so kann man sich darauf beschränken, bestimmte Korrekturbereiche 1, 2 im Umkreis jedes Kodewortes Cl, C2 zu bilden und bei den außerhalb dieser Bereiche liegenden Binärkombinationen lediglich einen nicht korrigierbaren Fehler anzuzeigen. Man kann jedoch auch jede möglicherweise auftretende Binärkombination einem Korrekturbereich zuordnen. Hierbei besteht dann allerdings besonders bei wenig redundanten Kodes die Gefahr, daß ein sehr stark verfälschtes Kodewort bereits in den Korrekturbereich eines benachbarten Kodewortes fällt, so daß zwar bei der Korrektur wieder ein richtiges Kodewort gebildet wird, aber nicht dasjenige, das ursprünglich ausgesendet wurde.F i g. 1 shows schematically two code words with the associated correction areas; F i g. 2 shows the basic circuit diagram of an arrangement for carrying out the method according to the invention. One recognizes in FIG. 1 that for each code word Cl, C2 an area 1, 2, shown as a circle in the drawing for the sake of simplicity, belongs to binary combinations which, due to the redundancy of the systematic code, are traced back to the correct code word Cl or C2 with the help of an error correction process can be. If the task is to carry out an error correction for a code, one can limit oneself to forming certain correction areas 1, 2 in the vicinity of each code word C1, C2 and only to display an uncorrectable error for the binary combinations lying outside these areas. However, it is also possible to assign any binary combination that may occur to a correction area. In this case, however, especially with less redundant codes, there is the risk that a very badly falsified code word will fall into the correction range of an adjacent code word, so that a correct code word is formed again during the correction, but not the one that was originally sent out.
Die in F i g. 2 der Zeichnung im Prinzip dargestellte Anordnung zur Durchführung des erfindungsgemäßen Verfahrens weist ein Schieberegister SR auf, in das jedes am Eingang E eintreffende Empfangswort zunächst eingeschrieben wird. Das Schieberegister SR ist mit einer Anordnung B verbunden, durch die die Matrix [b] nachgebildet wird. Weiterhin zeigt die in F i g. 2 dargestellte Anordnung eine Einheit F, in die der durch Verknüpfung des Empfangswortes mit der Matrix [b] entstandene Fehlervektor [F] eingeschrieben wird. Von der Einheit F führt eine Verbindung zu einem Fehlerwortregister FR. Dieses ist in der Regel ein rückgekoppeltes Schieberegister, in welchem in systematischer Weise nacheinander die Korrektur-Fehlerwörter mit steigender Fehlerzahl erzeugt werden. Es sind jedoch auch andere Ausführungsformen für das Fehlerwortregister FR denkbar. Es könnte beispielsweise auch nach Art eines Kodebuches aufgebaut sein, das sämtliche zulässigen Korrektur-Fehlerwörter enthält. Das Fehlerwortregister FR besitzt in vorliegendem Beispiel parallele Eingänge, die auf die einzelnen Stufen des Schieberegisters SR führen, in dem das Empfangswort gespeichert ist. In dem Schieberegister SR werden das Empfangswort und das jeweilige Korrektur-Fehlerwort addiert, und es wird über die Matrix [b] erneut der Fehlervektor [F] gebildet. Ist dieser Fehlervektor gleich Null, so stellt das im Schieberegister stehende Additionswort ein Kodewort dar, und dieses wird über den Ausgang A der Anordnung ausgespeichert. Ergibt die Verknüpfung des im Schieberegister SR stehenden Additionswortes mit der Matrix [b] einen Fehlervektor [F], der ungleich Null ist, so wird das ursprünglich im Schieberegister SR stehende Empfangswort beispielsweise durch nochmalige Addition des gleichen Korrektur-Fehlerwortes zurückgewonnen und anschließend das nächste Korrektur-Fehlerwort zum Empfangswort addiert.The in F i g. The arrangement shown in principle in FIG. 2 of the drawing for carrying out the method according to the invention has a shift register SR into which each received word arriving at input E is first written. The shift register SR is connected to an arrangement B by which the matrix [b] is reproduced. Furthermore, the in F i g. The arrangement shown in FIG. 2 has a unit F into which the error vector [F] resulting from the combination of the received word with the matrix [b] is written. A connection leads from the unit F to an error word register FR. This is usually a feedback shift register in which the correction error words are generated in a systematic manner one after the other with an increasing number of errors. However, other embodiments for the error word register FR are also conceivable. It could, for example, also be structured in the manner of a code book that contains all permissible correction error words. In the present example, the error word register FR has parallel inputs which lead to the individual stages of the shift register SR in which the receive word is stored. The received word and the respective correction error word are added in the shift register SR, and the error vector [F] is formed again via the matrix [b]. If this error vector is equal to zero, the addition word in the shift register represents a code word and this is stored out via output A of the arrangement. If the combination of the addition word in the shift register SR with the matrix [b] results in an error vector [F] that is not equal to zero, the receive word originally in the shift register SR is recovered, for example, by adding the same correction error word again, followed by the next correction -Error word added to the receive word.
In die Verbindung zwischen der Einheit F und dem Fehlerwortregister FR ist in F i g. 2 gestrichelt eine Einrichtung Z eingezeichnet. Diese dient dazu, bestimmte charakteristische Merkmale der ihr zugeführten Fehlervektoren zu erkennen und durch Aussenden einer entsprechenden Binärkombination das Fehlerwortregister FR so zu steuern, daß nur bestimmte Gruppen von Korrektur-Fehlerwörtern erzeugt werden, wodurch das erfindungsgemäße Verfahren zur Fehlererkennung noch beachtlich beschleunigt werden kann.The connection between the unit F and the error word register FR is shown in FIG . 2 a device Z is shown in dashed lines. This serves to recognize certain characteristic features of the error vectors fed to it and to control the error word register FR by sending out a corresponding binary combination so that only certain groups of correction error words are generated, whereby the inventive method for error detection can be accelerated considerably.
Bei denjenigen Fehlerkorrekturverfahren, bei denen nicht die maximal mögliche Fehlerzahl korrigiert werden soll, wird der beschriebene Vorgang nach einer Anzahl von Korrektur-Fehlerwörtern abgebrochen, und es wird ein nicht korrigierbarer Fehler an-Lyezei gt.In those error correction procedures where the maximum possible number of errors is to be corrected, the process described is carried out after a Number of correction error words aborted and it becomes an uncorrectable one Error at-Lyezei gt.
Claims (2)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1967T0033526 DE1293189B (en) | 1967-03-25 | 1967-03-25 | Method and arrangement for error detection and / or correction of binary information |
FR1558784D FR1558784A (en) | 1967-03-25 | 1968-03-22 | |
GB1230163D GB1230163A (en) | 1967-03-25 | 1968-03-25 | |
US715793A US3560925A (en) | 1967-03-25 | 1968-03-25 | Detection and correction of errors in binary code words |
DE19691913896 DE1913896B2 (en) | 1967-03-25 | 1969-03-19 | PROCEDURE FOR ERROR DETECTION AND OR CORRECTION OF BINARY INFORMATION |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1967T0033526 DE1293189B (en) | 1967-03-25 | 1967-03-25 | Method and arrangement for error detection and / or correction of binary information |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1293189B true DE1293189B (en) | 1969-04-24 |
Family
ID=7557834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1967T0033526 Pending DE1293189B (en) | 1967-03-25 | 1967-03-25 | Method and arrangement for error detection and / or correction of binary information |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE1293189B (en) |
-
1967
- 1967-03-25 DE DE1967T0033526 patent/DE1293189B/en active Pending
Non-Patent Citations (1)
Title |
---|
None * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2132565C3 (en) | Converter | |
DE2260850A1 (en) | ERROR CORRECTION SYSTEM | |
DE2361512C2 (en) | Circuit arrangement for checking an addition result | |
DE1250163B (en) | Device for the parity check of memory words | |
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 | |
DE2047868A1 (en) | Circuit for correcting individual errors in the words of a cyclic (n, k) code | |
EP0443377A2 (en) | Arrangement for the fail-safe displaying, in a reliable manner as regards to signalling techniques, of a signalling picture | |
DE2848096B2 (en) | Digital adding arrangement | |
DE1424752B2 (en) | Circuit arrangement for checking the parity of alphanumeric information | |
DE2104132B2 (en) | Arrangement for multiple error detection and single error correction | |
DE1234054B (en) | Byte converter | |
DE1293189B (en) | Method and arrangement for error detection and / or correction of binary information | |
DE1259124B (en) | Arrangement for error correction and display | |
EP0003232A1 (en) | Circuit for converting binary information by means of check bits | |
DE1205738B (en) | Circuit arrangement for correcting errors in binary encrypted data words | |
DE1148593B (en) | Method and device for retrieving information from a code character provided with check characters | |
DE1088257B (en) | Arrangement for checking a multi-digit number expression | |
DE1549485A1 (en) | Arrangement for division of binary operands | |
DE2135607C2 (en) | Circuit arrangement for incrementing or decrementing | |
DE1212152C2 (en) | Static counter | |
DE1512583C3 (en) | Method and arrangement for error detection and / or correction of binary information | |
DE1926502C (en) | Transducer with self-monitoring | |
DE1020688B (en) | Circuit arrangement for coding devices for checking the simultaneous existence of conditions | |
DE1549372C3 (en) |