DE10243862A1 - Decoding method for codeword of three bit-error correcting binary Bose-Chauduri-Hocquenghem code, by recurrently feeding codeword to decoder if one bit is inverted and comparing results and syndrome polynomial with stored values - Google Patents

Decoding method for codeword of three bit-error correcting binary Bose-Chauduri-Hocquenghem code, by recurrently feeding codeword to decoder if one bit is inverted and comparing results and syndrome polynomial with stored values Download PDF

Info

Publication number
DE10243862A1
DE10243862A1 DE2002143862 DE10243862A DE10243862A1 DE 10243862 A1 DE10243862 A1 DE 10243862A1 DE 2002143862 DE2002143862 DE 2002143862 DE 10243862 A DE10243862 A DE 10243862A DE 10243862 A1 DE10243862 A1 DE 10243862A1
Authority
DE
Germany
Prior art keywords
code word
bit
output
syndrome
codeword
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.)
Withdrawn
Application number
DE2002143862
Other languages
German (de)
Inventor
Stefano Dr. Calabro
Bernhard Dr. Spinnler
Nebojsa Dr. Stojanovic
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Solutions and Networks GmbH and Co KG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE2002143862 priority Critical patent/DE10243862A1/en
Publication of DE10243862A1 publication Critical patent/DE10243862A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

Abstract

Three syndrome polynomials are derived from the codeword, and used to generated a correction bit sequence which is added to a buffered codeword to form a decoded codeword. A decoder using the first two syndrome polynomials is used to correct two bit errors. The codeword is recurrently fed to this decoder, provided that one bit of the codeword is inverted. The result of the respective decoding and the third syndrome polynomial are compared with stored values and a correction bit-sequence is generated accordingly, which is added to the buffered codeword to form a correctly decoded codeword. An Independent claim is included for an apparatus for decoding a codeword of a three bit error corrected binary BCH code.

Description

Verfahren und Anordnung zur Decodierung eines Codewortes, eines drei Bitfehler korrigierenden, binären Bose-Chauduri-Hocquenghem Codes Die Erfindung betrifft ein Verfahren nach den Oberbegriffen der Ansprüche 1 und 2, sowie eine Anordnung nach dem Oberbegriff des Anspruchs 3.Method and arrangement for decoding a code word, a three bit error correcting binary Bose-Chauduri-Hocquenghem code The invention relates to a method according to the preambles of claims 1 and 2, and an arrangement according to the preamble of claim 3.

Zur Reduzierung von Bitfehlern bei der Übertragung von Datenbitfolgen werden unterschiedliche Codierungsverfahren eingesetzt.To reduce bit errors in the transfer Different coding methods are used for data bit sequences.

Eine Gruppe von Codierungsverfahren sind bitfehlerkorrigierende Codierungsverfahren. Diese verwenden bitfehlerkorrigierende Codes. Ein Code ist eine Sammlung von gültigen Codewörtern. Ein Codewort besteht aus Daten- und Prüfbits. Prüfbzw. Kontrollbits werden sendeseitig mittels des Codierungsverfahrens aus den Daten- bzw. Informationsbits ermittelt. Abhängig von der Anzahl der Prüf- bzw. Kontrollbits kann mit den bitfehlerkorrigierenden Codierungsverfahren eine bestimmte maximale Anzahl von Bitfehlern korrigiert werden.A group of coding methods are bit error correcting coding methods. Use this bit error correcting codes. A code is a collection of valid code words. On Codeword consists of data and check bits. Prüfbzw. Control bits are transmitted by means of the coding method from the data or information bits determined. Dependent on the number of test or control bits with the bit error correcting coding method a certain maximum number of bit errors can be corrected.

Ein Codewort wird empfangsseitig einem Decoder zugeführt, der ein korrigiertes Codewort bzw, korrigierte Datenbits abgibt. Ist die Anzahl der empfangsseitigen Bitfehler eines Codewortes höher als die Korrekturfähigkeiten bzw. Korrekturmöglichkeiten des Codes, wird ein Alarm abgegeben.A code word is received fed to a decoder, which delivers a corrected code word or corrected data bits. Is the number of bit errors on the receive side of a code word higher than the correction skills or correction options of the code, an alarm is given.

Bose-Chauduri-Hocquenghem Codes, kurz BCH Codes, sind eine häufig genutzte Klasse von bitfehlerkorrigierenden Codes.Bose-Chauduri-Hocquenghem codes, BCH codes for short, are common used class of bit error correcting codes.

Aufgrund ihrer zyklischen Struktur ist eine einfache Decodierung möglich. Andererseits erhöht sich die Komplexität eines BCH Decoders mit der Länge und Fehlerkorrekturmöglichkeit des BCH Codes. Besonders für Hochgeschwindigkeits-Anwendungen ist dies ein begrenzender Faktor der leistungsstarken BCH Codes.Because of their cyclical structure simple decoding is possible. On the other hand increased complexity of a BCH decoder with the length and error correction option of the BCH code. Especially for High speed applications, this is a limiting factor the powerful BCH codes.

BCH Codes, die bis zu zwei Bitfehler korrigieren können, sind auch für schnelle Anwendungen realisierbar.BCH codes containing up to two bit errors can correct are also for fast applications possible.

BCH-Codes, die wenigstens drei Bitfehler korrigieren können, haben eine hohe Komplexität und benötigen viel Rechenzeit. Sie sind für schnelle Anwendungen derzeit nicht praktikabel.BCH codes that have at least three bit errors can correct have a high level of complexity and need a lot of computing time. You are for fast applications currently not practical.

Aufgabe der vorliegenden Erfindung ist es, die Decodiermöglichkeiten für Bose-Chauduri-Hocquenghem Codes, die drei Fehler korrigieren können, zu verbessern.Object of the present invention is the decoding possibilities for Bose-Chauduri-Hocquenghem Improve codes that can correct three errors.

Diese Aufgabe wird durch die Merkmale der Verfahren nach den Ansprüchen 1 und 2, sowie durch die Merkmale der Anordnung nach Anspruch 3 gelöst.This task is due to the characteristics the method according to the claims 1 and 2, and by the features of the arrangement according to claim 3 solved.

Der Vorteil der Erfindung besteht darin, dass BCH Codes, die drei Bitfehler korrigieren können, schnell und mit geringer Decoderkomplexität decodiert werden können. Dadurch können diese Codes beispielsweise für hochbitratige Übertragungssysteme eingesetzt werden.The advantage of the invention is in that BCH codes that can correct three bit errors quickly and with low decoder complexity can be decoded. This allows these codes for example for high bit rate transmission systems be used.

Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt und wird im folgenden näher beschrieben.An embodiment of the invention is shown in the drawing and is described in more detail below.

Dabei zeigt:It shows:

1 ein Ausführungsbeispiel einer erfindungsgemäßen Anordnung zur Nutzung des erfindungsgemäßen Verfahrens 1 an embodiment of an arrangement according to the invention for using the method according to the invention

1 zeigt ein Ausführungsbeispiel einer erfindungsgemäßen Anordnung zur Nutzung des erfindungsgemäßen Verfahrens. Die Anordnung zeigt einen Eingang E, dem ein zu decodierendes Codewort zugeführt wird und der mit dem ersten Kontakt K11 eines ersten Schalters S1 und mit dem ersten Kontakt K21 eines zweiten Schalters S2 verbunden ist. Der zweite Kontakt K12 des ersten Schalters S1 ist mit dem Ausgang einer nicht dargestellten Einrichtung verbunden, die eine Bitfolge mit dem Wert 0 abgibt. Der erste Schalters S1 ist in einem ersten Schaltzustand mit dem Kontakt K11 verbunden und im zweiten Schaltzustand mit dem Kontakt K12.Der Eingang eines Schieberegisters SR der Länge n, welches der Länge eines Codewortes entspricht, ist im ersten Schaltzustand über den Kontakt K11 mit dem Eingang E verbunden. Der Eingang des Schieberegisters SR, ist im zweiten Schaltzustand über den Kontakt K12 mit der nicht dargestellten Einrichtung verbunden, die eine Bitfolge mit dem Wert 0 abgibt. 1 shows an embodiment of an arrangement according to the invention for using the method according to the invention. The arrangement shows an input E to which a code word to be decoded is fed and which is connected to the first contact K11 of a first switch S1 and to the first contact K21 of a second switch S2. The second contact K12 of the first switch S1 is connected to the output of a device, not shown, which outputs a bit sequence with the value 0. The first switch S1 is connected to the contact K11 in a first switching state and to the contact K12 in the second switching state. The input of a shift register SR of length n, which corresponds to the length of a code word, is in the first switching state via the contact K11 to the input E connected. In the second switching state, the input of the shift register SR is connected via the contact K12 to the device (not shown), which outputs a bit sequence with the value 0.

Der zweite Schalter S2 ist im ersten Schaltzustand mit dem Kontakt K21 verbunden und im zweiten Schaltzustand mit einem Kontakt K22. Die Eingänge von drei Funktionseinheiten F1, F2, F3 sind über den zweiten Schalter S2 im ersten Schaltzustand über den Kontakt K21 mit dem Eingang E verbunden.The second switch S2 is in the first Switching state connected to contact K21 and in the second switching state with a contact K22. The entrances of three functional units F1, F2, F3 are on the second switch S2 in the first switching state the contact K21 connected to the input E.

Die drei Funktionseinheiten F1, F2, F3 ermitteln aus den zugeführten Binärfolgen bzw. dem Codewort jeweils ein Syndrom Polynom, das nach Zwischenspeicherung an ihren jeweiligen Ausgängen abgegeben wird.The three functional units F1, F2, Determine F3 from the supplied binary sequences or the code word, a syndrome polynomial, which after buffering at their respective exits is delivered.

Der Ausgang der ersten und der zweiten Funktionseinheit F1, F2 ist zum einen mit je einem Eingang einer Tabelleneinheit TE und zum anderen mit einer Alarmerkennungseinheit AE verbunden. In der Tabelleneinheit TE werden verschiedene Funktionswerte gespeichert, die wahlweise abgerufen werden können. Die Alarmerkennungseinheit AE gibt an ihrem Ausgang ein Alarmsignal ab, im Falle eines nicht decodierbaren Codewortes.The output of the first and second functional units F1, F2 is on the one hand with one input each a table unit TE and the other connected to an alarm detection unit AE. Various function values are stored in the table unit TE and can be called up optionally. The alarm detection unit AE emits an alarm signal at its output, in the case of a non-decodable code word.

Der Ausgang der dritten Funktionseinheit F3 ist ebenfalls mit der Alarmerkennungseinheit AE und mit einem ersten Eingang einer Vergleichseinheit VE verbunden.The output of the third functional unit F3 is also with the alarm detection unit AE and with a first input of a comparison unit VE connected.

Ein erster Ausgang der Tabelleneinheit TE ist mit einem zweiten Eingang der Vergleichseinheit VE verbunden. Die Ausgangssignale der Tabelleneinheit TE und der dritten Funktionseinheit F3 werden in der Vergleichseinheit VE miteinander verglichen, die im Falle der Übereinstimmung ein Signal an ihrem Ausgang abgibt. Der Ausgang der Vergleichseinheit VE ist mit einem ersten Eingang eines UND-Gliedes verbunden, dessen zweiter Eingang mit dem zweiten Ausgang der Tabelleneinheit TE verbunden ist.A first exit of the table unit TE is connected to a second input of the comparison unit VE. The output signals of the table unit TE and the third functional unit F3 are compared with each other in the comparison unit VE in the event of a match emits a signal at its output. The output of the comparison unit VE is connected to a first input of an AND gate, the second input connected to the second output of the table unit TE is.

Der Ausgang des UND-Gliedes ist einerseits mit dem ersten Eingang einer Additionseinheit ADD verbunden und andererseits mit dem zweiten Kontakt K22 des zweiten Schalter S2.The output of the AND gate is on the one hand connected to the first input of an addition unit ADD and on the other hand with the second contact K22 of the second switch S2.

Der Ausgang des Schieberegisters SR ist mit dem zweiten Eingang des Addierers ADD verbunden, dessen Ausgang A ein decodiertes bzw. korrigiertes Codewort abgibt.The output of the shift register SR is connected to the second input of the adder ADD, the Output A outputs a decoded or corrected code word.

Im Folgenden wird die Funktion erläutert. Zu Anfang sind die Schalter S1, S2 im ersten Schaltzustand. Alle Einheiten, Register und Speicher sind zurückgesetzt bzw. im Ursprungszustand.The function is explained below. To Initially, the switches S1, S2 are in the first switching state. All units, Registers and memory are reset or in the original state.

Das empfangene Codewort wird seriell über den Eingang E, den Kontakt K11 des ersten Schalters S1 in das Schieberegister SR und über den Kontakt K21 des zweiten Schalters S2 in die drei Funktionseinheiten F1, F2, F3 eingelesen. Während des Einlesens oder nach dem Einlesen in die Funktionseinheiten wird in jeder Funktionseinheit ein Syndrom Polynom aus dem Codewort ermittelt. Dies erfolgt beispielsweise mit einem rückgekoppelten Schieberegister. Dabei wird in der ersten Funktionseinheit F1 ein Syndrom Polynom Sl(x) ermittelt, in der zweiten Funktionseinheit F2 ein Syndrom Polynom S3(x) und in der dritten Funktionseinheit F3 ein Syndrom Polynom S5(x) ermittelt.The received code word is serial over the Input E, the contact K11 of the first switch S1 in the shift register SR and over the contact K21 of the second switch S2 in the three functional units F1, F2, F3 read. While reading or after reading into the functional units a syndrome polynomial is determined from the code word in each functional unit. This is done, for example, with a feedback shift register. A syndrome becomes a polynomial in the first functional unit F1 Sl (x) determines a syndrome in the second functional unit F2 Polynomial S3 (x) and in the third functional unit F3 a syndrome Polynomial S5 (x) determined.

Nachdem die drei Syndrom Polynome ermittelt wurden, werden die Schalter in den zweiten Schaltzustand umgeschaltet.After the three syndrome polynomials were determined, the switches are in the second switching state switched.

In Abhängigkeit von den beiden zugeführten Syndrom Polynomen Sl(x) und S3(x) ermittelt die Tabelleneinheit TE Funktionswerte f. Diese werden am ersten Ausgang der Tabelleneinheit TE abgegeben, gleichzeitig hat der zweite Ausgang der Tabelleneinheit TE den binären Wert Eins. Kann aus den Syndrom Polynomen kein Funktionswert f ermittelt werden, wird am zweiten Ausgang der Tabelleneinheit TE der binäre Wert Null abgegeben.Depending on the two syndrome fed Polynomials Sl (x) and S3 (x) determine the table unit TE function values f. These are delivered to the first output of the table unit TE, at the same time the second output of the table unit TE has the binary value One. No function value f can be determined from the syndrome polynomials , the binary value becomes zero at the second output of the table unit TE issued.

Für den Fall, dass der zweite Ausgang der Tabelleneinheit TE den binären Wert eins hat und der Funktionswert f gleich dem dritten Syndrom Polynom S5(x) der dritten Funktionseinheit F3 ist, werden Bits des Schieberegisters SR durch schrittweises abgeben an das Additionsgliedes ADD mittels diesem invertiert. Außerdem wird diese Korrektur des abgegebenen Codewortes den Funktionseinheiten über den Kontakt K22 des Schalters S2 zugeführt. Diese berechnen dann neue Syndrom Polynome. Nach n-Schritten ist das Verfahren abgeschlossen und das vollständige Codewort ausgegeben. Zu diesem Zeitpunkt sollten die Syndrom Polynome Null sein, ist dies nicht gegeben, wird ein Alarm durch die Alarmerkennungseinheit AE abgegeben.For the case that the second output of the table unit TE has the binary value has one and the function value f is equal to the third syndrome polynomial S5 (x) of the third functional unit F3, bits of the shift register SR by gradually releasing it to the adder ADD this inverted. Moreover this correction of the code word given is transferred to the functional units via the Contact K22 of switch S2 supplied. These then calculate new ones Polynomial syndrome. The process is completed after n steps and the complete Code word output. At this point, the syndrome should be polynomial If this is not zero, an alarm is generated by the alarm detection unit AE delivered.

Die Funktion der Tabelleneinheit TE kann auch durch einen zwei Bitfehler korrigierenden BCH-Decoder realisiert werden.The function of the table unit TE can also use a two bit error correcting BCH decoder will be realized.

Diesem Decoder werden die zwei Syndrom Polynome S1(x) und S3(x) zugeführt. Kann der Decoder die Syndrom Polynome nicht auswerten, d.h. das Codewort nicht decodieren bzw. korrigieren, wird ein Alarm abgegeben, analog dem zweiten Ausgang der Tabelleneinheit. Will der Decoder das ausgangsseitig letzte Bit im Schieberegister invertieren, wird ebenfalls ein Alarm abgegeben, also der zweite Ausgang des Decoders, analog der Tabelleneinheit, auf den binären Wert Null gesetzt.This decoder becomes the two syndrome Polynomials S1 (x) and S3 (x) supplied. Can the decoder not evaluate the syndrome polynomials, i.e. the Do not decode or correct the code word, an alarm is issued, analogous to the second output of the table unit. The decoder wants the last bit in the shift register on the output side will be inverted also issued an alarm, i.e. the second output of the decoder, analog the table unit, on the binary Value set to zero.

Im anderen Fall gibt der Decoder ein Korrekturpolynom Q(x) ab, das eine Korrektur der Bitposition angibt.Otherwise the decoder gives a correction polynomial Q (x) from which a correction of the bit position indicates.

Dann muss nur noch dieses Korrekturpolynom umgeformt und mit dem Syndrom Polynom S5(x) verglichen werden. Im Falle der Gleichheit wird die letzte Bitposition invertiert und der Vorgang analog dem oben beschriebenen wiederholt.Then only this correction polynomial has to be done transformed and compared with the syndrome polynomial S5 (x). in the In case of equality, the last bit position is inverted and the process is repeated analogously to that described above.

Im folgenden wird die Funktion anhand von Gleichungen näher erläutert.The function is described below of equations closer explained.

Ein BCH-Codewort hat die Länge n=2m-1. Dieses Codewort wird üblicherweise als Polynom C(X) dargestellt. Für ein Codewort eines drei Fehler korrigierenden Codes schreibt man C3(x).A BCH code word has the length n = 2 m -1. This code word is usually represented as polynomial C (X). For a code word of a code correcting three errors, one writes C 3 (x).

Empfangsseitig kann man dieses Codewort C3(x) als Produkt eines Polynoms m(x) mit einem sogenannten Generatorpolynoms g3(x) bzw, als Vielfaches des Generatorpolynoms g3(x) darstellen: (1) C3(x)=g3(x)m(x) On the receiving side, this code word C 3 (x) can be represented as the product of a polynomial m (x) with a so-called generator polynomial g3 (x) or as a multiple of the generator polynomial g3 (x): (1) C 3 (X) = g 3 (X) m (x)

Für einen drei Fehler korrigierenden Code ist g3(x) das Produkt dreier minimaler Polynome Mi(x), wobei Mi(x) das binäre Polynom geringsten Grades ist, unter dessen Wurzeln die Potenz α1 eines primitiven Elements α im Galois Feld GF(2m) für den Fall i=1,3,5 enthalten ist.For a code correcting three errors, g 3 (x) is the product of three minimal polynomials M i (x), where M i (x) is the binary polynomial of the lowest degree, under whose roots the power α 1 of a primitive Ele is contained in the Galois field GF (2 m ) for the case i = 1,3,5.

(2) g3 (x) = M1(x)M3(X)Ms(x)(2) g 3  (x) = M 1 (X) M 3 ( X ) M s (X)

Das empfangene Codewort wird durch ein Polynom r(x) dargestellt und ist durch Empfangsfehler e(x) gestört.The received code word is marked by a polynomial r (x) is represented and is disturbed by reception errors e (x).

(3) r(x)=C3(x)+ e (x), (3) r (x) = C 3 (x) + e (x) .

Durch Einsetzten der Minimalen Polynome ergibt sich: (4) r(x)=M1(x)M3(x)M5(x)m (x)+e(x) ,Using the minimal polynomials results in: (4) r (x) = M 1 (X) M 3 (X) M 5 (x) m (x) + e (x) .

Syndrom Polynome sind definiert durch: (5) Si(x)=r(x)modMi(x) für i=1,3,5. Dabei steht mod für eine modulo-Operation, also der Rest einer Division.Syndrome polynomials are defined by: (5) p i (X) = r (x) mod M i (X) for i = 1,3,5. Mod stands for a modulo operation, i.e. the rest of a division.

Wenn alle Syndrom Polynome Si(x)=0 sind, enthält das empfangene Codewort keine Fehler, andernfalls enthalten die Reste, also die Syndrome, eine Information über die Anzahl und den Ort von Bitfehlern.If all syndrome polynomials S i (x) = 0, the code word received contains no errors, otherwise the residues, that is to say the syndromes, contain information about the number and location of bit errors.

Der erfindungsgemäße Decoder prüft, ob die letzte Bitposition, also die Position n-1 invertiert werden muss.The decoder according to the invention checks whether the last bit position, i.e. position n-1 must be inverted.

Dies wird für jedes Bit ermittelt, also n-mal. Dabei wird das empfangene Polynom r(x) jeweils um eine Bitposition aus dem Schieberegister SR verschoben. Nach einer Korrektur wird jedes Syndrom Si(x) neu berechnet.This is determined for each bit, that is n times. The received polynomial r (x) becomes one bit position shifted from the shift register SR. After a correction each syndrome Si (x) recalculated.

Zur Überprüfung werden die Eigenschaften eines zwei Bitfehler korrigierenden Decoders D2 verwendet.To check the properties of a two bit error correcting decoder D2 is used.

Ein Codewort C2(x) eines zwei Bitfehler korrigierenden Codes C2 ist ein Vielfaches eines Generatorpolynoms g2(x), welches das Produkt zweier minimaler Polynome Mi(x) ist.A code word C 2 (x) of a code C 2 correcting two bit errors is a multiple of a generator polynomial g 2 (x), which is the product of two minimal polynomials M i (x).

(6) g2(x) = M1=(x)M3(x)(6) g 2 (x) = M 1 = (X) M 3 (X)

Der zwei Fehler korrigierende Code C2 enthält den drei Fehler korrigierenden Code C3, d.h. alle möglichen Codewörter C3(x) sind eine Teilmenge von den Codewörtern C2(x). Das bedeutet nicht, das ein zwei Bitfehler korrigierender Decoder drei Bitfehler korrigieren kann.The two error correcting code C 2 contains the three error correcting code C 3 , ie all possible code words C 3 (x) are a subset of the code words C 2 (x). This does not mean that a two bit error correcting decoder can correct three bit errors.

Zuerst wird das empfangene Codewort mit einem zwei Bitfehler korrigierenden Decoder D2 decodiert. Dieser kann ein Korrekturpolynom q(x) oder einen Alarm abgeben, im Falle eines nicht decodierbaren Codeworts.First, the code word received decoded with a two bit error correcting decoder D2. This can give a correction polynomial q (x) or an alarm, in the case of a non-decodable code word.

Für den Fall einer erfolgreichen Decodierung ist: (7) r(x)+q(x)+q(x)∈C2 In the event of successful decoding: (7) r (x) + q (x) + q (x) ∈C 2

Der erfindungsgemäße Decoder arbeitet nun nach folgendem Prinzip: Bei jedem Schritt wird die Bitposition n-1 invertiert, wenn die folgenden Bedingungen erfüllt sind:The decoder according to the invention now works following principle: With every step the bit position n-1 is inverted, if the following conditions are met:

  • 1. Der Decoder D2 kann ein modifiziertes Codewort, das in der letzten Bitposition, also an der Stelle n-1, invertiert ist decodieren. D.h. er kann: (8) r(x) + xn–1 decodieren.1. The decoder D2 can decode a modified code word that is inverted in the last bit position, that is, at position n-1. Ie he can: (8) r (x) + x n-1 decode.
  • 2. Der Decoder D2 invertiert nicht die Bitposition n-1, d.h. er widerspricht nicht der testweisen Modifikation des Codewortes.2. Decoder D2 does not invert bit position n-1, i.e. it does not contradict the test modification of the code word.
  • 3. Das resultierende Codewort (9) r(x)+xn–1 + q(x) gehört zu C3.3. The resulting code word (9) r (x) + x n-1 + q (x) belongs to C 3 .

Das dritte Kriterium kann umformuliert werden zu: (10) (r(x)+xn–1+g(x))modM5(x)=0,The third criterion can be reformulated as: (10) (r (x) + x n-1 + G (x)) mod M 5 (X) = 0 .

Was mit der Definition von Si(x) zu: (11) (xn–1))+q(x)modM5(x)=S5(x). umformuliert werden kann.What with the definition of S i (x) to: (11) (x n-1 )) + Q (x) mod M 5 (X) = S 5 (X) , can be reformulated.

Zur Vereinfachung bzw. Verkürzung schreibt man

Figure 00090001
für i=1, 3 und bezeichnen mitFor simplification or shortening one writes
Figure 00090001
for i = 1, 3 and denote by

Figure 00090002
Figure 00090002

das Ergebnis des Decoders D2, wenn ihm das modifizierte Codewort zugeführt wird. Das Ergebnis kann das Korrekturpolynom q(x) oder ein Alarm F sein.the result of decoder D2 if the modified code word is fed to it. The result can be the correction polynomial q (x) or an alarm F.

Den Fall, dass der Decoder D2 das letzte Bit, also die Position n-1, invertieren möchte, bezeichnet man mit

Figure 00090003
Damit definieren wir die folgende Funktion:
Figure 00090004
Dies ist das Ergebnis welches mittels des zwei Bitfehler korrigierenden Decoders gewonnen wird oder in der Tabelleneinheit TE hinterlegt ist.The case in which the decoder D2 wishes to invert the last bit, that is to say the position n-1, is referred to as
Figure 00090003
We use it to define the following function:
Figure 00090004
This is the result which is obtained by means of the two bit error correcting decoder or which is stored in the table unit TE.

Damit ergibt sich folgendes Verfahren:This results in the following procedure:

  • 1. Lese das empfangene Codewort r(x) und berechne die Syndrom Polynome S1(x) , S3(x) , and S5 (x) .1. Read the received code word r (x) and calculate the syndrome polynomials S 1 (x), S 3 (x), and S 5 (x).
  • 2. Wiederhole n-mal: a) Wenn f(S1(x),S3(x))=S5(x) ist, invertiere den Koeffizienten xn–1 in r(x) und modifiziere die Syndrom Polynome Si(x) (i=1,3,5) entsprechend. b) Schiebe r(x) um eine Bitposition. c) Schiebe Si(x) (i=1,3,5) zyklisch um eine Bitposition, entsprechend dem Polynom Mi(x).2. Repeat n times: a) If f (S 1 (x), S 3 (x)) = S 5 (x), invert the coefficient x n – 1 in r (x) and modify the syndrome polynomials S i (x) (i = 1,3,5) accordingly. b) Shift r (x) by one bit position. c) Shift S i (x) (i = 1,3,5) cyclically by one bit position, corresponding to the polynomial M i (x).
  • 3. Wenn Si(x)=0 (i=1,3,5) ist, erfolgt kein Alarm, ansonsten erfolgt ein Alarm.3. If S i (x) = 0 (i = 1,3,5), there is no alarm, otherwise there is an alarm.

Claims (3)

Verfahren zur Decodierung eines Codewortes, eines drei Bitfehler korrigierenden, binären Bose-Chauduri-Hocquenghem Codes, wobei aus dem Codewort drei Syndrom Polynome ermittelt werden, aus denen eine Korrektur-Bitfolge generiert wird, die zur Bildung eines decodierten Codewortes zum zwischengespeicherten Codewort hinzuaddiert wird, dadurch gekennzeichnet, dass ein die ersten beiden Syndrom Polynome verwendender, zur Korrektur von zwei Bitfehlern ausgestalteter Decoder verwendet wird, dass das Codewort diesem Decoder wiederkehrend zugeführt wird, mit der Maßgabe, dass jeweils ein Bit des Codewortes invertiert ist, dass das Ergebnis der jeweiligen Decodierung und das dritte Syndrom Polynom mit gespeicherten Werten verglichen wird und in Abhängigkeit des Vergleichsergebnisses eine Korrektur-Bitfolge generiert wird, die zur Bildung eines korrekt decodiertes Codewortes zum zwischengespeicherten Codewort hinzuaddiert wird.Method for decoding a code word, a binary Bose-Chauduri-Hocquenghem code correcting three bit errors, whereby three syndrome polynomials are determined from the code word, from which a correction bit sequence is generated which is added to the buffered code word to form a decoded code word, characterized in that a decoder which uses the first two syndrome polynomials and is configured to correct two bit errors is used, that the code word is fed to this decoder repeatedly, with the proviso that one bit of the code word is inverted in each case, that the result of the respective decoding and the third syndrome polynomial is compared with stored values and, depending on the comparison result, a correction bit sequence is generated which is used to form a correctly decoded code word for the temporarily stored code word is added. Verfahren zur Decodierung eines Codewortes, eines drei Bitfehler korrigierenden, binären Bose-Chauduri-Hocquenghem Codes, wobei aus dem Codewort Syndrom Polynome ermittelt werden, aus denen eine Korrektur-Bitfolge generiert wird, die zur Bildung eines decodierten Codewortes zum zwischengespeicherten Codewort hinzuaddiert wird, dadurch gekennzeichnet, dass das ausgangsseitige Bit des zwischengespeicherten Codewortes testweise invertiert wird, dass aus dem so geänderten Codewort drei Syndrom Polynome ermittelt werden, dass für jedes Bit: – aus den ersten beiden Syndromen ein Korrekturpolynom oder ein Alarm ermittelt wird, – im Falle eines Alarms das ausgangsseitige Bit im ursprünglichen Zustand als Teil des decodierten Codewortes abgegeben wird, – für den Fall, dass das Korrekturpolynom das testweise Bit zurückinvertieren möchte, dieses im ursprünglichen Zustand als Teil des decodierten Codewortes abgegeben wird, – anderenfalls das Korrekturpolynom mit dem dritten Syndrom verglichen wird und im Falle der Übereinstimmung das ausgangseitige Bit invertiert und als Teil des decodierten Codewortes abgegeben wird und im Falle einer Bitkorrektur die Syndrom Polynome neu ermittelt werden und dass nach diesen Schritten die ermittelten Syndrom Polynome überprüft werden und gegebenenfalls ein Alarm abgegeben wird.Method for decoding a code word, one three bit-correcting binary Bose-Chauduri-Hocquenghem Codes, where polynomials are determined from the code word syndrome, from which a correction bit sequence is generated, which is used for the formation a decoded code word to the temporarily stored code word is added, characterized in that that the output side Bit of the buffered code word is inverted for test purposes, that from the so changed Codeword three syndrome polynomials are determined for each Bit: - out the first two syndromes a correction polynomial or an alarm is determined - in the In the event of an alarm, the output bit in the original State is given as part of the decoded code word, - in the case, that the correction polynomial wants to invert the test bit, this in the original State is given as part of the decoded code word, - otherwise the correction polynomial is compared with the third syndrome and in the event of a match the bit on the output side is inverted and as part of the decoded code word and in the case of bit correction, the syndrome polynomials be redetermined and that after these steps, the determined Syndrome polynomials to be checked and if necessary an alarm is given. Anordnung zur Decodierung eines Codewortes, eines drei Bitfehler korrigierenden, binären Bose-Chauduri-Hocquenghem Codes, unter Verwendung eines Schieberegisters zur Zwischenspeicherung des Codewortes, drei. Funktionseinheiten zur Ermittlung je eines Syndrom Polynoms und eines Additionsgliedes zur Addition eines aus den Syndrom Polynomen abgeleiteten Korrekturwertes zum zwischengespeicherten Codewort, dadurch gekennzeichnet, dass das Codewort dem Schieberegister und den drei Funktionseinheiten zugeführt ist, dass je ein erster Ausgang der ersten und zweiten Funktionseinheit mit je einem Eingang einer Tabelleneinheit verbunden ist, deren erster Ausgang mit einem ersten Eingang einer Vergleichseinheit verbunden ist, deren zweiter Eingang mit einem ersten Ausgang der dritten Funkionseinheit verbunden ist, dass ein zweiter Ausgang der Tabelleneinheit und ein Ausgang der Vergleichseinheit mit einem UND-Glied verbunden ist, dessen Ausgang zum einen mit einem ersten Eingang eines Additionsgliedes verbunden ist, dessen zweiter Eingang mit einem Ausgang des Schieberegisters verbunden ist und dessen Ausgang ein decodiertes Codewort abgibt, dass der Ausgang des UND-Gliedes zum anderen an die jeweiligen Eingänge der drei Funktionseinheiten zurückgeführt ist und dass je ein zweiter Aus gang der drei Funktionseinheiten mit einer Alarmerkennungseinheit verbunden ist.Arrangement for decoding a code word, one three bit-correcting binary Bose-Chauduri-Hocquenghem Codes, using a shift register for temporary storage of the code word, three. Functional units for determining one each Syndrome polynomial and an adder to add one out correction value derived from the syndrome polynomials to the temporarily stored Code word, characterized, that the code word to the shift register and fed to the three functional units, that ever a first Output of the first and second functional unit with one input each is connected to a table unit, the first output of which is connected to a first input of a comparison unit is connected, the second Input connected to a first output of the third functional unit is that a second output of the table unit and an output the comparison unit is connected to an AND gate, the output of which on the one hand connected to a first input of an adder is the second input with an output of the shift register is connected and the output of which outputs a decoded code word that the output of the AND gate on the other hand to the respective inputs of the three functional units is returned and that each with a second output of the three functional units an alarm detection unit is connected.
DE2002143862 2002-09-20 2002-09-20 Decoding method for codeword of three bit-error correcting binary Bose-Chauduri-Hocquenghem code, by recurrently feeding codeword to decoder if one bit is inverted and comparing results and syndrome polynomial with stored values Withdrawn DE10243862A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002143862 DE10243862A1 (en) 2002-09-20 2002-09-20 Decoding method for codeword of three bit-error correcting binary Bose-Chauduri-Hocquenghem code, by recurrently feeding codeword to decoder if one bit is inverted and comparing results and syndrome polynomial with stored values

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002143862 DE10243862A1 (en) 2002-09-20 2002-09-20 Decoding method for codeword of three bit-error correcting binary Bose-Chauduri-Hocquenghem code, by recurrently feeding codeword to decoder if one bit is inverted and comparing results and syndrome polynomial with stored values

Publications (1)

Publication Number Publication Date
DE10243862A1 true DE10243862A1 (en) 2004-04-01

Family

ID=31969342

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002143862 Withdrawn DE10243862A1 (en) 2002-09-20 2002-09-20 Decoding method for codeword of three bit-error correcting binary Bose-Chauduri-Hocquenghem code, by recurrently feeding codeword to decoder if one bit is inverted and comparing results and syndrome polynomial with stored values

Country Status (1)

Country Link
DE (1) DE10243862A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4030067A (en) * 1975-12-29 1977-06-14 Honeywell Information Systems, Inc. Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4030067A (en) * 1975-12-29 1977-06-14 Honeywell Information Systems, Inc. Table lookup direct decoder for double-error correcting (DEC) BCH codes using a pair of syndromes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LU E.-H., Cheng Y.-C., Lu P.-C.: "Fast decoder for triple-error-correcting primitive binary BCH co- des with odd m", IN: IEEE Proc.-Comm. Vol.145, No.2, April 1998, S.60-64 *

Similar Documents

Publication Publication Date Title
DE102009044555B4 (en) Method and apparatus for performing a CRC check
DE2942825A1 (en) METHOD AND DEVICE FOR PROCESSING SEQUENTLY TRANSMITTING DIGITAL INFORMATION WORDS
DE10008064B4 (en) Method for adapting the data blocks to be supplied to a turbo-coder and corresponding communication device
DE60124851T2 (en) Device and method for error detection in a CRC code with inverted parity bits
CH694114A5 (en) Method, data transmission apparatus and mobile station for decreasing the frame error rate in data transmission in form of data frames.
WO2004021630A1 (en) Parallel processing of decoding and of a cyclic redundancy check when mobile radio signals are received
DE102010035210B4 (en) Method for recovering lost data and correcting corrupted data
DE2460263A1 (en) CIRCUIT ARRANGEMENT FOR CORRECTING THE SLIP ERROR IN DATA TRANSFER SYSTEMS USING CYCLICAL CODES
DE102018218729B3 (en) Interleaving with circular line rotation for transmission with telegram splitting
DE1290565B (en) Procedure for correcting binary-coded messages at the receiver end
DE10243862A1 (en) Decoding method for codeword of three bit-error correcting binary Bose-Chauduri-Hocquenghem code, by recurrently feeding codeword to decoder if one bit is inverted and comparing results and syndrome polynomial with stored values
EP1878153B1 (en) Method and device for determining indexes allocated to correction symbols
DE1296192B (en) Binary code circuit
DE2163105C3 (en) Method and circuit arrangement for decoding and correcting a so-called non-systematic convolutional code
DE3022047A1 (en) DIGITAL TRANSMISSION SYSTEM WITH CODING AND DECODING DEVICES
DE102005003914B3 (en) Error protection method and error correction method, as well as error protection device and error correction device
EP0944962B1 (en) Method and circuit for decoding a cyclically coded signal
DE10253949B3 (en) Method for determining a residual probability of error in the transmission of data
DE102013223813B4 (en) Procedures for recovering lost and / or corrupted data
DE102005021321A1 (en) Error correction symbol`s index determining method for portable device, involves determining indexes by identifying region of code symbols, which can be requested in form of correction symbol to reconstruct source symbols, by two parameters
DE2741760B2 (en) Method and circuit arrangement for the transmission and reception side word synchronization of, in particular, cyclic code words
EP0968584B1 (en) Method for reducing redundant transmissions of data groups
EP1047199B1 (en) Data transmission device and method
DE3300788A1 (en) RECEIVER FOR A DIGITAL DATA TRANSMISSION SYSTEM
EP2348639A2 (en) Encoding and decoding data for transmission over a defective transfer channel

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: NOKIA SIEMENS NETWORKS GMBH & CO.KG, 81541 MUE, DE

8139 Disposal/non-payment of the annual fee