DE10243787A1 - Sequential decoding method for coded bit sequence e.g. in optical transmission system, with initial error correction of data bit sequence and subsequent error correction only at points indicated by error flag - Google Patents

Sequential decoding method for coded bit sequence e.g. in optical transmission system, with initial error correction of data bit sequence and subsequent error correction only at points indicated by error flag Download PDF

Info

Publication number
DE10243787A1
DE10243787A1 DE2002143787 DE10243787A DE10243787A1 DE 10243787 A1 DE10243787 A1 DE 10243787A1 DE 2002143787 DE2002143787 DE 2002143787 DE 10243787 A DE10243787 A DE 10243787A DE 10243787 A1 DE10243787 A1 DE 10243787A1
Authority
DE
Germany
Prior art keywords
bit sequence
bits
corrected
decoding
code
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.)
Ceased
Application number
DE2002143787
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.)
Siemens AG
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 DE2002143787 priority Critical patent/DE10243787A1/en
Publication of DE10243787A1 publication Critical patent/DE10243787A1/en
Ceased 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2909Product codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The decoding method has the data bit sequence corrected via the first bit error correction control bit sequence, with an error flag provided upon detection of an uncorrected bit error and/or non-decodable bits, with further correction via the second bit error correction control bit sequence only at each point indicated via an error flag, with cyclic repetition of the latter bit error correction until no further correction is required or until reaching a given number of repetitions.

Description

Die Erfindung betrifft ein Verfahren nach dem Oberbegriff des Anspruchs 1.The invention relates to a method according to the preamble of claim 1.

Zur Reduzierung von Bitfehlern bei der Übertragung von Datenbitfolgen werden verschiedene Codier- und Decodierverfahren eingesetzt.To reduce bit errors in the transfer Different coding and decoding methods are used for data bit sequences used.

Bei der Codierung werden aus den Datenbits Kontroll- bzw. Prüfbits ermittelt. Diese Prüfbits werden an die Datenbits angefügt. Daten- und Prüfbits bilden zusammen ein Codewort. Im Falle von Übertragungsfehlern werden bei der Decodierung mittels des Codewortes die Datenbits korrigiert bzw. decodiert und es werden korrigierte bzw. decodierte Datenbits oder ein korrigiertes bzw. decodiertes Codewort abgegeben. Durch die Codierung bzw. Decodierung werden während der Übertragung verursachte Bitfehler korrigiert.When coding, the Data bits control or check bits determined. These check bits are appended to the data bits. Form data and check bits together a code word. In the event of transmission errors, the decoding corrected the data bits using the code word or decoded and there are corrected or decoded data bits or output a corrected or decoded code word. By the coding or decoding become bit errors caused during the transmission corrected.

Eine Gruppe von Codierverfahren ist die sogenannte verkettete Codierung, auch concatenated codes. Bei der verketteten Codierung werden die Codewörter oder die Datenbits mehrfach bzw. mehrmals nacheinander codiert.A group of coding methods is the so-called chained coding, also concatenated codes. at In the concatenated coding, the code words or the data bits are repeated or coded several times in succession.

Die so codierte Datenbitfolge wird übertragen und empfangsseitig in umgekehrter Reihenfolge bzw. invers decodiert.The data bit sequence coded in this way is transmitted and decoded on the receiving side in reverse order or inversely.

Dies hat den Vorteil, gegenüber einer einfachen Codierung mit gleicher Redundanz, dass eine geringere Decoderkomplexität benötigt wird, da sich die Decoderkomplexität auf mehrere Decoder verteilt.This has the advantage over one simple coding with the same redundancy that a lower decoder complexity needed because the decoder complexity is distributed over several decoders.

Verkettete Codes haben weiterhin den Vorteil, dass verschiedene Codierungsverfahren nacheinander angewendet werden können und so sehr leistungsfähige Codes entstehen.Chained codes still have the advantage that different coding methods in succession can be applied and so very powerful Codes are created.

Durch die mehrfache Codierung wird eine gute Bitfehlerrate erreicht.Due to the multiple coding achieved a good bit error rate.

Um die Bitfehlerrate weiter zu verringern, werden iterierte Decodierungen angewendet.To further reduce the bit error rate iterated decodings applied.

Aus der Datenbitfolge werden nach unterschiedlichen Verfahren jeweils verschiedene Kontrollbitfolgen ermittelt. Diese Kontrollbitfolgen werden mit der Datenbitfolge übertragen. Die Datenbitfolge bildet mit einer Kontrollbitfolge jeweils ein Codewort bzw. eine Codewortgruppe. Idealerweise werden die Prüfbits eines Codierungsvorganges durch den folgenden Codiervorgang mit erfasst, so dass Prüfbits über die Prüfbits bzw. Daten- und Prüfbits gebildet werden.The data bit sequence becomes different procedures different control bit sequences determined. These control bit sequences are transmitted with the data bit sequence. The data bit sequence forms with a control bit sequence Code word or a code word group. Ideally, the check bits are one Encoding process by the following encoding process, so check bits over that check bits or data and check bits be formed.

Die Datenbitfolge wird empfangseitig nacheinander mit jeder Kontrollbitfolge decodiert. Nachdem dieser Decodiervorgang einmal durchgelaufen ist, wird die Decodierung mit der decodierten bzw. korrigierten Datenbitfolge bzw. den decodierten Codewörtern wiederholt. Dies wird so oft wiederholt, bis keine wesentlichen Verbesserungen erreicht werden bzw. eine Anzahl an Wiederholungen erreicht ist. Durch dieses iterative Verfahren lässt sich eine verbesserte Decodierung bzw. Fehlerkorrektur erreichen.The data bit sequence is received decoded successively with each control bit sequence. After this Decoding process has gone through once, the decoding with the decoded or corrected data bit sequence or the decoded codewords repeated. This is repeated until no significant ones Improvements can be achieved or a number of repetitions is reached. This iterative method allows an improved decoding or error correction.

Allerdings besteht hier der Nachteil, dass sich Decodierungsfehler der ersten Decodierungsschritte im weiteren Decodiervorgang fortpflanzen bzw. multiplizieren.However, there is the disadvantage here that decoding errors of the first decoding steps in the propagate or multiply another decoding process.

Aufgabe der vorliegenden Erfindung ist es, eine Verbesserung der Decodierung bei Datenfolgen, die mehrere Kontrollbitfolgen aufweisen, zu erreichen.Object of the present invention is to improve the decoding of data strings that have multiple Have control bit sequences to achieve.

Diese Aufgabe wird durch die Merkmale des Anspruchs 1 gelöst.This task is due to the characteristics of claim 1 solved.

Der Vorteil der Erfindung besteht darin, das durch das Markieren von nichtdekodierbaren bzw. nichtkorrigierbaren Bits und deren Korrektur im nächsten bzw. übernächsten Schritt, ohne Veränderung der anderen Bits, ein verbessertes Decodierergebnis erreicht wird, das sich in einer geringeren Bitfehlerrate niederschlägt.The advantage of the invention is in that by marking non-decodable or uncorrectable Bits and their correction in the next or the next but one step, without change the other bits, an improved decoding result is achieved, that translates into a lower bit error rate.

Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.Advantageous embodiments of the Invention are in the subclaims specified.

In einer Ausgestaltung der Erfindung werden die Kontrollbits mit codiert und analog den Datenbits mit dem erfindungsgemäßen Verfahren korrigiert. Dadurch wird eine noch bessere Fehlerkorrektur erreicht.In one embodiment of the invention the control bits are coded with and analogously with the data bits the inventive method corrected. This results in an even better error correction.

In einer weiteren Ausgestaltung der Erfindung wird eine Absolutentscheidung über eine zu erfolgende Korrektur durchgeführt. Alle verwendeten Kontrollbitfolgen müssen einen Fehler melden, bevor ein Bit korrigiert wird. Dies ist besonders bei hohen empfangsseitigen Bitfehlerraten vorteilhaft.In a further embodiment of the Invention becomes an absolute decision about a correction to be made carried out. All control bit sequences used must report an error before a Bit is corrected. This is particularly the case with high reception Bit error rates advantageous.

In einer anderen Ausgestaltung der Erfindung wird nach einer Anzahl von erfindungsgemäßen Verfahrensschritten auf klassische Dekodierverfahren übergegangen. Dies hat den Vorteil einer Zeitersparnis bei der Decodierung, da Anfangsfehler durch das erfindungsgemäße Verfahren vermieden werden und nach einer Fehlerbereinigung mit den klassischen Decodierverfahren schnell die Restfehler ermittelt werden.In another embodiment of the The invention is based on a number of method steps according to the invention switched to classic decoding methods. This has the advantage a time saving in the decoding, since initial errors caused by the inventive method be avoided and after troubleshooting with the classic Decoding procedures quickly determine the residual errors.

Die Anzahl der Iterationen, nach denen ein Übergang vom erfindungsgemäßen zum klassischen Decodierverfahren sinnvoll erscheint, ist von der empfangsseitigen Bitfehlerrate und den verwendeten Codes abhängig.The number of iterations, after to them a transition from the invention to classical decoding method seems sensible, is from the receiving end Bit error rate and the codes used.

Ein Ausführungsbeispiel ist in der Zeichnung dargestellt und wird im folgenden beschrieben.An embodiment is shown in the drawing and is described below.

Dabei zeigt:It shows:

1 ein Codierungsbeispiel für Datenbits zur Anwendung beim erfindungsgemäßen Decodierverfahren. 1 a coding example for data bits for use in the decoding method according to the invention.

1 zeigt ein Codierungsbeispiel für Daten- bzw. Informationsbits DB. Die Datenbits DB sind in Matrixform, bestehend aus 239 Zeilen und 239 Spalten, angeordnet. 1 shows a coding example for data or information bits DB. The data bits DB are arranged in matrix form, consisting of 239 rows and 239 columns.

Die Datenbits DB werden mit einem ersten Code CD1 codiert. Dieser erste Code CD1 kann die Informationsbits DB beispielsweise zeilenweise codieren. Dabei bildet eine Zeile, bestehend aus 239 Datenbits DB und 18 Prüfbits PB1 des Codes CD1 ein Codewort. Der Code CD1 umfasst hierbei 239 Zeilen von Codewörtern.The data bits DB are marked with a encoded first code CD1. This first code CD1 can contain the information bits For example, code DB line by line. A line forms consisting of 239 data bits DB and 18 test bits PB1 of code CD1 Code word. The code CD1 comprises 239 lines of code words.

Anschließend werden die Datenbits mit einem zweiten Code CD2 codiert. Dieser zweite Code kann die Datenbits DB beispielsweise spaltenweise codieren. Dabei bildet eine Spalte, bestehend aus 239 Datenbits DB und 18 Prüfbits PB2 des Codes CD2 ein Codewort. Der Code CD2 weist hierbei mehrere Spalten von Codewörtern auf.Then the data bits with encoded a second code CD2. This second code can handle the data bits For example, encode DB in columns. A column forms consisting of 239 data bits DB and 18 test bits PB2 of code CD2 Code word. The code CD2 has several columns of code words.

Danach werden die Informationsbits mit einem dritten Code CD3 codiert. Dieser dritte Code CD3 kann die Informationsbits DB beispielsweise wiederum zeilenweise codieren. Dabei bildet eine Zeile, besteht aus 239 Datenbits DB und 18 Prüfbits PB3 des Codes CD3 ein Codewort. Der Code CD3 umfasst hierbei mehrere Zeilen von Codewörtern.After that, the information bits encoded with a third code CD3. This third code CD3 can encode the information bits DB line by line, for example. One line consists of 239 data bits DB and 18 test bits PB3 of the code CD3 a code word. The code CD3 comprises several Lines of code words.

Es können noch beliebig viele weitere Codierschritte folgen, mit denen sich das Verfahren erweitern lässt. Zur Anwendung des erfindungsgemäßen Verfahrens sind mindestens 2 Codierungen erforderlich.There can be any number of others Coding steps follow with which the method can be expanded. to Application of the method according to the invention at least 2 codes are required.

Die Codierung kann Prüfbits umfassen, die beispielsweise Prüfbits aus vorhergehenden Codierungen einbeziehen. Die Prüfbits der ersten Codierung/en können durch die folgende/n Codierung/en mitcodiert werden. Beispielsweise können die 18 Prüfbits PB1 des ersten Code·CD1 durch den zweiten Code CD2 spaltenweise mitcodiert werden und bilden dann 18×18 Prüfbits PB4. Ebenso können die Prüfbits PB2 und PB4 des zweiten Codes CD2 und die Prüfbits PB1 des ersten Codes CD1 durch den dritten Code CD3 mitcodiert werden und werden dann durch Prüfbits PB3 und PB5 abgedeckt.The coding can include test bits, the check bits, for example Include from previous encodings. The check bits of the first coding / s can can also be coded by the following coding (s). For example can the 18 check bits PB1 of the first code · CD1 are coded in columns by the second code CD2 and form then 18 × 18 check bits PB4. You can also the check bits PB2 and PB4 of the second code CD2 and the check bits PB1 of the first code CD1 are coded by the third code CD3 and are then through check bits PB3 and PB5 covered.

Im Beispiel soll angenommen werden, dass der erste Code CD1 nur die 239×239 Informationsbits DB codiert. Der zweite Code CD2 codiert die 239×239 Informationsbits DB und die 239×18 Prüfbits PB1 der Codewörter des ersten Codes CD1. Daraus resultieren die 239×18 Prüfbits PB2 und die 18×18 Prüfbits PB4. Der dritte Code CD3 codiert die Informationsbits und Prüfbits des ersten und zweiten Code, d.h. die 257×257 Bits von den Datenbits DB und den Prüfbits PBI, PB2 und PB4. Daraus resultieren die 239×18 Prüfbits PB3 und die 18×18 Prüfbits PB5.In the example it should be assumed that the first code CD1 only encodes the 239 × 239 information bits DB. The second code CD2 encodes the 239 × 239 information bits DB and the 239 × 18 check bits PB1 of the code words of the first code CD1. This results in the 239 × 18 test bits PB2 and the 18 × 18 test bits PB4. The third code CD3 encodes the information bits and check bits of the first and second code, i.e. the 257 x 257 bits from the data bits DB and the check bits PBI, PB2 and PB4. This results in the 239 × 18 test bits PB3 and the 18 × 18 test bits PB5.

Zwischen den einzelnen Codierungsschritten können weitere Bearbeitungsschritte liegen, wie beispielsweise Interleaven oder Scramblen. Beispielsweise kann zwischen zweiter und dritter Codierung ein Helical Interleaver eingesetzt werden. Dadurch werden die Bits in den Codewörtern neu angeordnet, was in der Folge zu veränderten Prüfbits führt, d.h. es können Diagonalen o.ä. codiert werden. Wesentlich ist, dass so viele Bits wie möglich durch möglichst alle Codierungen erfasst sein sollten und dass mindestens jedes Bit durch mindestens ein Codierverfahren erfasst wird. Im Beispiel ist jedes Datenbit durch jeden Code erfasst. Dies ist keine Voraussetzung, stellt aber den anzustrebenden Idealfall dar.Between the individual coding steps can further processing steps, such as interleaving or scramble. For example, between the second and third Coding a helical interleaver can be used. This will the bits in the code words rearranged, which subsequently leads to changed test bits, i.e. it can be diagonals etc. coded become. It is essential that as many bits as possible by possible all encodings should be recorded and that at least every Bit is detected by at least one coding method. For example every data bit is covered by every code. This is not a requirement but represents the ideal case to be aimed for.

Empfangsseitig sollte mit der Decodierung des Codes angefangen werden, der sendseitig als letzter codiert wurde. Es kann aber auch mit jedem anderen Code begonnen werden.At the receiving end, the decoding of the Codes are started, which was last coded on the transmission side. But you can also start with any other code.

Im Beispiel wird ein Hard-Decoder für die Decodierung der verwendeten Codes benutzt. Es kann aber auch ein anderer Decoder verwendet werden. Der Hard-Decoder korrigiert ein Code wort oder gibt einen Fehler ab, wenn er das Codewort nicht dekodieren kann. Zur Speicherung des Fehlers wird ein Hilfsvektor benutzt. Da im Beispiel drei Codes verwendet werden, benötigt man drei Hilfsvektoren. Im Beispiel werden 239×239 Datenbits und jeweils 18 Kontrollbits für den Code CD1, CD2 und CD3 benutzt. Da ein Hard Decoder verwendet wird, muss nur eine Fehlerinformation pro Zeile bzw. Spalte abgespeichert werden. Der erste Hilfsvektor H1 für die 239 Datenzeilen des ersten Codes hat deshalb eine Länge von 239. Der zweite Hilfsvektor H2 für 239 + 18 Spalten des zweiten Codes CD2 hat eine Länge von 257. Der dritte Hilfsvektor H3 für die 239 + 18 Zeilen des dritten Codes CD3 hat ebenfalls eine Länge von 257.The example uses a hard decoder for the Decoding of the codes used. But it can also be a other decoders can be used. The hard decoder corrects one Code word or issues an error if it does not decode the code word can. An auxiliary vector is used to store the error. Since three codes are used in the example, three auxiliary vectors are required. In the example, 239 × 239 Data bits and 18 control bits each for the code CD1, CD2 and CD3 used. Since a hard decoder is used, only error information needs to be can be saved per row or column. The first auxiliary vector H1 for the 239 data lines of the first code therefore have a length of 239. The second auxiliary vector H2 for 239 + 18 columns of the second code CD2 has a length of 257. The third auxiliary vector H3 for the 239 + 18 lines of the third code CD3 is also 257 in length.

Zuerst werden die Codewörter des dritten Codes CD3 decodiert, d.h. die Datenbits DB und die Prüfbits PB1 ... PB5. Man erhält 257 neue Zeilen mit Codewörtern. Ist eine Zeile nicht dekodierbar, erhält man vom Hard-Decoder einen Alarm in dieser Zeile. Dieser Alarm wird im zugehörigen Hilfsvektor H3 abgespeichert. Diese Zeile/n bleibt/en dann unverändert, d.h. die Informationen vor dem Codieren werden unverändert übernommen .First, the code words of the third codes CD3 decoded, i.e. the data bits DB and the check bits PB1 ... PB5. You get 257 new lines of code words. If a line cannot be decoded, you get one from the hard decoder Alarm in this line. This alarm is in the associated auxiliary vector H3 saved. This line (s) then remain unchanged, i.e. the information before coding is adopted unchanged.

Man erhält eine Matrix, bestehend aus korrigierten oder originalen Codewörtern. Diese wird einem Decoder zur Decodierung des zweiten Codes zugeführt.You get a matrix consisting of corrected or original code words. This becomes a decoder supplied for decoding the second code.

Dieser decodiert die Codewörter des zweiten Codes CD2, d.h. die Spalten gebildet von Datenbits DB und den Prüfbits PB1, PB2 und PB4. Man erhält 257 neue Spalten mit Codewörtern. Die Codewörter vor und nach der zweiten Decodierung werden miteinander verglichen. Als Ergebnis werden die Codewörter vor der Decodierung des Codes CD2 übernommen und mit den Bits nach dieser Decodierung an den Stellen geändert, die mit einem Alarm belegt sind, also nur in den mit Alarm markierten Zeilen. Sich durch den Vergleich ergebende Abweichungen von Bits werden mit einem Alarm in der jeweiligen Spalte gekenn zeichnet, d.h, ein Alarm im Hilfsvektor H2. Ist eine Spalte nicht dekodierbar, erhält man vom Hard-Decoder einen Alarm in dieser Spalte, dieser Alarm wird ebenfalls im zugehörigen Hilfsvektor H2 abgespeichert.This decodes the code words of the second codes CD2, i.e. the columns are formed by data bits DB and the check bits PB1, PB2 and PB4. You get 257 new columns with code words. The code words before and after the second decoding are compared. As a result, the code words before decoding the code CD2 and with the bits after this decoding changed in places with an alarm are occupied, i.e. only in the lines marked with alarm. Yourself through The comparison of deviations in bits is triggered by an alarm marked in the respective column, i.e. an alarm in the auxiliary vector H2. If a column cannot be decoded, you get one from the hard decoder Alarm in this column, this alarm is also in the associated auxiliary vector H2 saved.

Das Ergebnis wird einem Decoder zur Decodierung des ersten Codes CD1 zugeführt.The result is a decoder Decoding of the first code CD1 supplied.

Dieser decodiert die Codewörter des ersten Codes CD1, d.h. die Zeilen gebildet von den Datenbits DB und den Prüfbits PB1. Man erhält 239 neue Zeilen mit Codewörtern. Die Codewörter vor und nach der Decodierung CD1 werden miteinander verglichen. Als Ergebnis werden die Codewörter vor der Decodierung des Code CD1 übernommen und mit den Bits nach der Decodierung an den Stellen geändert, die in den vorherigen beiden Schritten mit einem Alarm belegt wurden.This decodes the code words of the first codes CD1, i.e. the lines are formed from the data bits DB and the check bits PB1. You get 239 new lines with code words. The code words before and after decoding CD1 are compared. As a result, the code words before decoding the code CD1 and with the bits after decoding changed in the places that in the previous alarm in both steps.

Sich durch den Vergleich ergebende Abweichungen von Bits werden mit einem Alarm in der jeweiligen Zeile gekennzeichnet, d.h. ein Alarm im Hilfsvektor H1. Ist eine Zeile nicht dekodierbar, erhält man vom Hard-Decoder einen Alarm in dieser Zeile. Dieser Alarm wird ebenfalls im zugehörigen Hilfsvektor H1 gespeichert.Resulting from the comparison Deviations from bits are indicated with an alarm in the respective line marked, i.e. an alarm in the auxiliary vector H1. Is a line not decodable, you get an alarm in this line from the hard decoder. This alarm will also in the associated Auxiliary vector H1 stored.

Jetzt werden wieder die Codewörter des dritten Codes CD3 codiert, d.h, die Zeilen gebildet von den Datenbits DB und den Prüfbits PB1 ... PB5. Man erhält 257 neue Zeilen mit Codewörtern. Die Codewörter vor und nach dieser Decodierung werden miteinander verglichen.Now the code words of the third codes CD3 encoded, i.e. the lines formed by the data bits DB and the check bits PB1 ... PB5. You get 257 new lines of code words. The code words before and after this decoding are compared with each other.

Als Ergebnis werden die Codewörter vor der Decodierung des Code CD3 übernommen und mit den Bits nach der Decodierung an den Stellen geändert, die in den vorherigen beiden Schritten mit einem Alarm belegt sind, also in diesem Fall nur an Stellen, wo eine Spalte und eine Zeile einen Alarm aufweist. Sich durch den Vergleich ergebende Abweichungen von Bits werden mit einem Alarm in der jeweiligen Zeile gekennzeichnet, d.h. ein Alarm im Hilfsvektor H3. Ist eine Zeile nicht dekodierbar, erhält man einen Alarm in dieser Zeile, dieser Alarm wird im zugehörigen Hilfsvektor H3 abgespeichert.As a result, the code words are presented decoding the code CD3 and changed with the bits after decoding at the locations that have an alarm in the previous two steps, in this case only in places where there is a column and a row has an alarm. Deviations resulting from the comparison of Bits are marked with an alarm in the respective line, i.e. an alarm in the auxiliary vector H3. If a line cannot be decoded, receives an alarm in this line, this alarm is in the associated auxiliary vector H3 saved.

Dieser Schritt wird analog für die Codes CD2 und CD1 durchgeführt und sequentiell wiederholt. Dies wird solange durchgeführt, bis keine wesentlichen Korrekturen ermittelt werden oder eine vorher bestimmte Anzahl dieser Iterationen erreicht ist.This step becomes analogous for the codes CD2 and CD1 performed and repeated sequentially. This will continue until no significant corrections are determined or a previously determined one Number of these iterations is reached.

Nach einer gewissen Anzahl dieser Wiederholungen kann auf einen klassischen Decodiervorgang übergegangen werden. Beispielsweise werden mit dem jeweiligen Code die zugehörigen Codewörter decodiert, die Änderungen akzeptiert, mit dem folgenden Code die zugehörigen Codewörter decodiert, die Änderungen akzeptiert, usw.After a certain number of these Repetitions can be transferred to a classic decoding process become. For example, the associated code words are decoded with the respective code, The changes accepted, with the following code decodes the associated code words, the changes accepted, etc.

Durch die geringen Anfangskorrekturen des erfindungsgemäßen Verfahrens wird eine hohe Fehlerfortpflanzung vermieden. Dadurch wird eine geringe Bitfehlerrate erreicht. Das Verfahren ist besonders vorteilhaft bei hohen empfangsseitigen Bitfehlerraten.Due to the low initial corrections of the method according to the invention high error propagation is avoided. This will make one low bit error rate reached. The method is particularly advantageous with high bit error rates at the receiving end.

Bei Verwendung linearer Codes und für den Fall das Prüfbits durch andere Prüfbits mit erfasst werden, können aufgrund der Eigenschaften linearer Codes die Prüfbits jedes Codes in jedem Decodierschritt korrigiert werden. Dazu werden im Beispiel größere Hilfsvektoren benötigt. Dadurch lassen sich noch bessere Bitfehlerraten bei der Decodierung erzielen.When using linear codes and in the case the check bit through other check bits can be recorded with due to the properties of linear codes, the check bits of each code in each Decoding step to be corrected. For this purpose, larger auxiliary vectors are used in the example needed. This enables even better bit error rates during decoding achieve.

Zusammenfassend ergibt sich für den Decodiervorgang folgendes Prinzip:
Nach der ersten Decodierung werden die Codewörter mit den Decodierungsergebnissen korrigiert. Für nicht decodierbare Codewörter wird ein Alarm bzw. Fehler-Flag gesetzt.
In summary, the following principle results for the decoding process:
After the first decoding, the code words are corrected with the decoding results. An alarm or error flag is set for non-decodable code words.

Nach der zweiten Decodierung werden nur die Codewörter korrigiert, die mit einem Alarm gekennzeichnet sind bzw, noch nicht decodiert wurden. Nicht dekodierbare Codewörter werden mit einem Alarm gekennzeichnet.After the second decoding only the code words corrected, which are marked with an alarm or not yet were decoded. Non-decodable code words are sent with an alarm characterized.

Nach der dritten Decodierung werden nur die Codewörter korrigiert, die mit einem Alarm während der letzten beiden Decodierungen gekennzeichnet wurden oder die noch nicht decodiert wurden. Nicht dekodierbare Codewörter werden mit einem Alarm gekennzeichnet.After the third decoding only the code words corrected that with an alarm during the last two decodings have been marked or have not yet been decoded. Not decodable codewords are marked with an alarm.

Von nun an werden die Codewörter mit dem entsprechenden Code decodiert und nur die Codewörter korrigiert, die mit einem Alarm während der letzten beiden Decodierungen gekennzeichnet wurden oder die noch nicht decodiert wurden. Nicht dekodierbare Codewörter werden mit einem Alarm gekennzeichnet.From now on, the codewords are included decoded the corresponding code and only corrected the code words, who with an alarm during of the last two decodings, or the have not been decoded yet. Not decodable code words marked with an alarm.

Sind genügend dieser Wiederholungen durchgeführt, kann zur Zeitverkürzung mit einfachen Decodierungen weitergefahren werden. Beispielsweise:
Decodiere die Codewörter mit dem entsprechenden Code, akzeptiere die Änderungen, decodiere die Codewörter mit dem nächsten Code, akzeptiere die Änderungen, usw.
If enough of these repetitions have been carried out, simple decoding can be used to shorten the time. For example:
Decode the code words with the corresponding code, accept the changes, decode the code words with the next code, accept the changes, etc.

Das erfindungsgemäße Decodierverfahren kann in der Art verschärft werden, dass die Decodierung mit allen Kontrollbitfolgen einmal durchgeführt wird und in den anschließenden Decodierungsschritten nur die Bits korrigiert werden, die von allen Kontrollbitfolgen mit einem Alarm gekennzeichnet wurden. Dies kann solange wiederholt werden, bis keine wesentlichen Korrekturen ermittelt werden, eine vorher bestimmte Anzahl dieser Iterationen erreicht ist oder es kann auf einen einfacheren Algorithmus übergegangen werden.The decoding method according to the invention can in of the kind tightened be that the decoding with all control bit sequences once is carried out and in the subsequent ones Decoding steps only correct the bits that are used by all Control bit sequences were marked with an alarm. This can Repeat until no significant corrections are found a predetermined number of these iterations are reached is or it can be switched to a simpler algorithm become.

Das Decodierverfahren ist auf Produkt Codes anwendbar. Es lässt sich ebenso mit anderen Codier- und Decodierverfahren kombinieren und ausgestalten.The decoding process is on product Codes applicable. It leaves can also be combined with other coding and decoding methods and design.

Claims (7)

Verfahren zur sequentiellen Decodierung einer codierten Bitfolge, die aus einer Datenbitfolge und mindestens zwei daraus ermittelten bitfehlerkorrigierenden Kontrollbitfolgen besteht, dadurch gekennzeichnet, dass die Datenbitfolge mit Hilfe der ersten bitfehlerkorrigierenden Kontrollbitfolge korrigiert wird und im Falle eines nichtkorrigierbaren Bitfehlers und/oder nichtdecodierbaren Bits für dieses ein Fehlerflag gesetzt wird, dass die korrigierte Datenbitfolge mit Hilfe der zweiten bitfehlerkorrigierenden Kontrollbitfolge nur an den Stellen korrigiert wird, für die ein Fehlerflag gesetzt ist und andere zu korrigierende oder nichtdecodierbare Bits durch ein Fehlerflag gekennzeichnet werden, dass diese Bitfolge beim dritten Decodiervorgang nur an den Stellen korrigiert wird, an denen bei den beiden vorhergehenden Decodiervorgängen ein Fehlerflag gesetzt wurde und andere zu korrigierende oder nichtdecodierbare Bits durch ein Fehlerflag gekennzeichnet werden, dass der dritte Decodiervorgang zyklisch mit den verwendeten Kontrollbitfolgen wiederholt wird, bis keine wesentlichen Korrekturen erfolgen und/oder eine vorgegebene Wiederholungszahl erreicht wird.Method for sequential decoding of an encoded bit sequence, which consists of a data bit sequence and at least two bit error-correcting control bit sequences determined therefrom, characterized in that the data bit sequence is corrected with the aid of the first bit error-correcting control bit sequence and in the case of an uncorrectable bit error and / or non-decodable bits, an error flag is set for this, that the corrected data bit sequence is only corrected with the aid of the second bit error-correcting control bit sequence at those locations for which an error flag is set and other bits to be corrected or non-decodable are identified by an error flag that these Bit sequence in the third decoding process is only corrected at the points where an error flag was set in the two previous decoding processes and other bits to be corrected or non-decodable are identified by an error flag that the third decoding process is repeated cyclically with the control bit sequences used until no significant ones Corrections are made and / or a predetermined number of repetitions is reached. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Datenbitfolge und die daraus ermittelte erste Kontrollbitfolge bei der Ermittlung der zweiten Kontrollbitfolge mit erfasst sind und folgende Kontrollbitfolgen die vorhergehenden Kontrollbitfolgen mit erfassen und dass bei der jeweiligen Decodierung die Kontrollbitfolgen analog den Datenbitfolgen korrigiert werden.A method according to claim 1, characterized in that the data bit sequence and the first control bit sequence determined therefrom are also included in the determination of the second control bit sequence and following control bit sequences the previous control bit sequences with and that the control bit sequences for the respective decoding be corrected analogously to the data bit sequences. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Decodierung mit allen Kontrollbitfolgen einmal durchgeführt wird und anschließend die Datenbitfolge bzw. Kontrollbitfolge/n nur an den Stellen korrigiert wird/werden, bei denen von allen Kontrollbitfolgen ein Fehlerflag gesetzt wurde und andere zu korrigierende oder nichtdecodierbare Bits durch ein Fehlerflag gekennzeichnet werden und dementsprechend fortgefahren wird, bis keine wesentlichen Korrekturen erfolgen und/oder eine vorgegebene Wiederholungszahl erreicht wird.A method according to claim 1 or 2, characterized in that the decoding is carried out once with all control bit sequences and subsequently the data bit sequence or control bit sequence / s only corrected at the points will / will have an error flag from all control bit sequences was set and others to be corrected or undecodable Bits are identified by an error flag and accordingly is continued until no significant corrections are made and / or a predetermined number of repetitions is reached. Verfahren nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, dass nach einer Reihe von Decodierungen alle Änderungen des jeweiligen Decodiervorganges akzeptiert werden und dementsprechend fortgefahren wird bis keine wesentlichen Korrekturen erfolgen und/oder eine vorgegebene Wiederholungszahl erreicht wird.Method according to claim 1, 2 or 3, characterized in that that after a series of decodings, all changes to the respective decoding process will be accepted and will continue accordingly until none essential corrections are made and / or a predetermined number of repetitions is achieved. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Bitfolge dreimal codiert wird.Method according to one of the preceding claims, characterized characterized that the bit sequence is encoded three times. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die codierte Bitfolge einen Produktcode umfasst.Method according to one of the preceding claims, characterized characterized in that the coded bit sequence comprises a product code. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die codierte Bitfolge mit einem linearen Code codiert wird.Method according to one of the preceding claims, characterized characterized that the coded bit sequence with a linear code is encoded.
DE2002143787 2002-09-20 2002-09-20 Sequential decoding method for coded bit sequence e.g. in optical transmission system, with initial error correction of data bit sequence and subsequent error correction only at points indicated by error flag Ceased DE10243787A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002143787 DE10243787A1 (en) 2002-09-20 2002-09-20 Sequential decoding method for coded bit sequence e.g. in optical transmission system, with initial error correction of data bit sequence and subsequent error correction only at points indicated by error flag

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002143787 DE10243787A1 (en) 2002-09-20 2002-09-20 Sequential decoding method for coded bit sequence e.g. in optical transmission system, with initial error correction of data bit sequence and subsequent error correction only at points indicated by error flag

Publications (1)

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

Family

ID=31969327

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002143787 Ceased DE10243787A1 (en) 2002-09-20 2002-09-20 Sequential decoding method for coded bit sequence e.g. in optical transmission system, with initial error correction of data bit sequence and subsequent error correction only at points indicated by error flag

Country Status (1)

Country Link
DE (1) DE10243787A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412667A (en) * 1993-07-08 1995-05-02 Commodore Electronics Limited Decoder for cross interleaved error correcting encoded data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412667A (en) * 1993-07-08 1995-05-02 Commodore Electronics Limited Decoder for cross interleaved error correcting encoded data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Rankin, D.M., Gulliver, T.A.: "Single parity check produkt codes", IN: IEEE Tranactions on Communi- cations, Vol. 49 Issue: 8, Aug. 2001, S.1354-1362 *
Seung Ho Kim, Sang Wu kim, Chee Sun Won:"Decoding strategies for Reed-Solomon product codes: appli- cation to digital video recording systems", IN: IEEE Transactions on Consumer Electronics, Vol.38 Issue: 3, 2-4 Jun 1992, S.243-246 *

Similar Documents

Publication Publication Date Title
DE10030407B4 (en) Method for optimal rate adaptation in a mobile communication system
DE2217935A1 (en) Arrangement and procedure for correcting double errors
DE102017216264B4 (en) Decoding method
DE19907728C2 (en) Device and method for generating a data stream and device and method for reading a data stream
DE10140993A1 (en) Data compression method
DE2000565A1 (en) Error-correcting system for correcting multiple, random errors
DE69908629T2 (en) HYBRID NESTLER FOR TURBO ENCODERS
DE2104132B2 (en) Arrangement for multiple error detection and single error correction
DE10243787A1 (en) Sequential decoding method for coded bit sequence e.g. in optical transmission system, with initial error correction of data bit sequence and subsequent error correction only at points indicated by error flag
DE1774225A1 (en) Error correction circuit
DE19520987A1 (en) Terminating trellis in recursive systematic convolutional code for data security applications
DE602004006558T2 (en) Encoding and decoding trellis codes with trellis sections based on block codes with good constraint properties
WO2001097401A1 (en) System for data transmission according to the frequency hopping method
DE1211687B (en) System for linear systematic coding
DE102014216143B4 (en) Procedure for recovering lost and / or corrupted data
DE1449906C (en) Decoder for processing redundant digital sequences of a systematic Ko
EP2348639A2 (en) Encoding and decoding data for transmission over a defective transfer channel
EP1153481B1 (en) Method and device for generating a data flow from variable-length code words and a method and device for reading a data flow from variable-length code words
DE1449906B2 (en)
DE10243786A1 (en) Coding method for data bit sequence in optical transmission system using column or row coding of data bit sequence matrix and re-arrangement of each row or column data bit sequence
DE3526914A1 (en) Method for block transfer of digital data which is immune to line group errors
DE102017200075B4 (en) Decryption method and communication system
DE10114834B4 (en) System for data transmission according to the frequency hopping method
DE10029308A1 (en) System for data transmission according to data hopping method transmits digital data in hops with data in successive hops coded according to woven code
EP1495548B1 (en) Device and method for masking a fault

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection