[go: up one dir, main page]

DE10147482A1 - Seriell verketteter, dreidimensionaler SPC-Turbocode für optische Übertragungssysteme - Google Patents

Seriell verketteter, dreidimensionaler SPC-Turbocode für optische Übertragungssysteme

Info

Publication number
DE10147482A1
DE10147482A1 DE2001147482 DE10147482A DE10147482A1 DE 10147482 A1 DE10147482 A1 DE 10147482A1 DE 2001147482 DE2001147482 DE 2001147482 DE 10147482 A DE10147482 A DE 10147482A DE 10147482 A1 DE10147482 A1 DE 10147482A1
Authority
DE
Germany
Prior art keywords
code word
decoder
encoder
decoders
spc
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
DE2001147482
Other languages
English (en)
Inventor
Nebojsa 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 Corp
Original Assignee
Siemens Corp
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 Corp filed Critical Siemens Corp
Priority to DE2001147482 priority Critical patent/DE10147482A1/de
Publication of DE10147482A1 publication Critical patent/DE10147482A1/de
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/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/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2972Serial concatenation using convolutional component 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/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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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
    • H03M13/2909Product 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/2918Coding, 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 with error correction codes in three or more dimensions, e.g. 3-dimensional product code where the bits are arranged in a cube
    • 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/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2963Turbo-block codes, i.e. turbo codes based on block codes, e.g. turbo decoding of product codes

Landscapes

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

Abstract

Die Erfindung betrifft ein Fehlerkorrekturverfahren bzw. ein entsprechendes System zur Anwendung in einem Datenübertragungssystem, insbesondere einem optischen Übertragungssystem. Eine einfache und kostengünstige Methode zur Reduzierung der Bitfehlerwahrscheinlichkeit bei der Datenübertragung umfasst unter anderem folgende Schritte: das Erzeugen eines dreidimensionalen SPC-Produkt-Codeworts (4) mittels eines ersten Codierers (1), das Anwenden eines Interleavers (3) auf das SPC-Codewort (4), das Erzeugen eines dreidimensionalen SPC-Codeworts (6) aus dem vom Interleaver (3) ausgegebenen Codewort (5) mittels eines zweiten Codierers (2), das Übertragen von codierten Daten über eine Übertragungsleitung (L), das Decodieren des vom zweiten Codierer (2) erzeugten Codeworts (6) mittels eines zweiten Decodierers (7) und das Decodieren des vom ersten Codierer (1) erzeugten Codeworts (4) mittels eines ersten Decodierers (8), wobei vom zweiten Decodierer (7) erzeugte extrinsische Information (u·1·¶ext¶) vom ersten Decodierer (8) berücksichtigt wird und umgekehrt.

Description

  • Die Erfindung betrifft ein Fehlerkorrekturverfahren bzw. ein entsprechendes System zur Korrektur digitaler Daten, die in einem Datenübertragungssystem, insbesondere einem optischen Übertragungssystem, übertragen werden, gemäß dem Oberbegriff des Patentanspruchs 1 bzw. 9.
  • In einem Übertragungssystem werden Daten zwischen einem Sender und einem Empfänger übertragen. Dabei werden die ursprünglich in Form von Rechteckimpulsen eingekoppelten Daten auf ihrem Weg zum Empfänger durch verschiedene Einflüsse verzerrt, so dass es am Empfänger zu einer fehlerhaften Datenrückerkennung, also Bitfehlern kommen kann.
  • Um derartige Bitfehler zu minimieren, ist es bekannt, die Daten vor ihrer Übermittlung zu codieren. Dabei werden zusätzliche Bits (check Bits) aus den Informationsdaten erzeugt, die zusammen mit den Informationsdaten übertragen werden. Aus der zusätzlichen Information lassen sich je nach Art des Codes Hinweise auf die Existenz eines oder mehrerer Fehler und auf die Position des bzw. der Fehler herleiten.
  • Nach Übertragung der Daten müssen diese empfängerseitig decodiert werden. Hierfür sind eine Reihe von Decodierverfahren bekannt. Eine effektive Methode zur Decodierung von Daten bieten z. B. Turbo-Decodierverfahren für Produktcodes. Turbo- Decodierverfahren wurden zuerst von Pyndiah: R.M. Pyndiah, A. Glavieux, A. Picart, S. Yasq "Near-optimum decoding of product codes" in Proc. of IEEE Globecom 1994 Conference, Nov.-Dec. 1994, San Francisco, 1/3, Seiten 339-343, vorgestellt.
  • Bei Produktcodes handelt es sich um einen mehrdimensionalen Blockcode mit den Parametern (n,k,d,) wobei n die Codewortlänge, k die Anzahl von Informationsbits, und d die minimale Hammingdistanz ist.
  • In Fig. 1 ist ein Beispiel eines zweidimensionalen (n1,k1,d1)×(n2,k2,d2) Produktcodes dargestellt. Dabei enthält das Feld A die Informationsbits, das Feld B die Prüfbits für jeweils eine Reihe von Informationsbits, und das Feld C die Prüfbits für jeweils eine Spalte von Informationsbits. Jede Reihe bzw. Spalte des Produktcodes bildet ein Codewort.
  • Der dargestellte Produktcode ist im übrigen ein sog. voller Produktcode, da auch für die Prüfbits (Felder C,B) eigene Prüfbits vorgesehen sind (Feld D).
  • In der oben genannten Veröffentlichung verwendet Pyndiah für beide Dimensionen BCH-Codes. Unter Verwendung eines speziellen Turbo-Decodierverfahrens (basierend auf dem Chase Algorithmus) werden damit gute Resultate bezüglich der Bitfehlerrate erreicht. Trotz der geringen Bitfehlerrate hat der Chase-Algorithmus aber Nachteile wegen seiner hohen Komplexität und ist daher für die Anwendung in optischen Übertragungssystemen nur bedingt geeignet.
  • Es ist daher die Aufgabe der vorliegenden Erfindung ein Fehlerkorrekturverfahren sowie ein entsprechendes System zu schaffen, das besonders einfach ist und gleichzeitig minimale Bitfehlerraten ermöglicht.
  • Gelöst wird diese Aufgabe durch die im Patentanspruch 1 bzw. 9 angegebenen Merkmale. Weitere Ausgestaltungen der Erfindung sind Gegenstand von Unteransprüchen.
  • Die Vorteile der Erfindung ergeben sich durch eine Reihe von Maßnahmen, die insgesamt zu einer starken Verbesserung der Bitfehlerrate (Coding Gain) führen. Zunächst wird vorgeschlagen, die zu übertragenden Daten mittels eines verketteten, dreidimensionalen SPC-Produktcodes (SPC: Single Parity Check) zu codieren. Ein entsprechender Codierer umfaßt einen ersten Codierer zum Erzeugen eines dreidimensionalen SPC-Codeworts aus den Informationsdaten, einen Interleaver zum Umgruppieren der Daten, sowie einen zweiten Codierer zum Erzeugen eines dreidimensionalen SPC-Codeworts aus dem vom Interleaver ausgegebenen Codewort.
  • Die Informationsdaten werden schließlich zusammen mit den erzeugten Paritätsbits über eine Übertragungsstrecke übertragen und empfängerseitig decodiert. Die Decodierung erfolgt mittels eines iterativen Turbo-Decodieralgorithmus, wobei das vom zweiten Codierer erzeugte SPC-Codewort mittels eines zweiten Decodierers und das vom ersten Codierer erzeugte SPC- Codewort mittels eines ersten Decodierers decodiert wird. Dabei wird zwischen den Decodierern extrinsische Information ausgetauscht.
  • Ein erfindungsgemäß aufgebauter Decodierer umfasst somit einen zweiten Decodierer zum Decodieren des vom zweiten Codierer erzeugten SPC-Codeworts, einen ersten Decodierer zum Decodieren des vom ersten Codierer erzeugten SPC-Codeworts, sowie einen Deinterleaver.
  • Bei extrinsischer Information handelt es sich um zusätzliche Information, die anhand von Wahrscheinlichkeitsüberlegungen aus den empfangenen Codeworten ermittelt und mit deren Hilfe das empfangene Codewort bei jedem Iterationsschritt modifiziert wird.
  • Zum besseren Verständnis wird das Verfahren im Folgenden anhand eines Beispiels erläutert, wobei ein Code C mit einer Längen n angenommen wird. Ein Codewort läßt sich dabei als ci = (ci1, ci2, . . ., cin) i = 1, 2, . . . 2n-1, und cij ∈ {-1, +1} darstellen. Jedes Codewort eines SPC-Codes hat eine gerade Anzahl von +1-Bits. Die SPC-Codeworte für n = 3 sind z. B.:
    C1 = (-1, -1, -1)
    C2 = (-1, +1, +1)
    C3 = (+1, -1, +1)
    C4 = (+1, +1, -1)
    wobei ci1 und ci2 Informationsbits sind und ci3 das Paritätsbit ist. Dieses Codewort c wird beispielsweise über ein optisches Übertragungssystem an einen Empfänger gesendet, wobei es verzerrt wird.
  • Der am Empfänger erhaltene, verzerrte Vektor läßt sich als x = (x1, x2, . . . xn), xj = cj + nj, darstellen, wobei {nj} unabhängige Gausssche Zufallsvariablen mit einem Nullmittelwert und einer Standardabweichung von σ2 sind. Alle Codeworte haben die gleiche Wahrscheinlichkeit. Gleiches gilt für die Bits +1 und -1. Aufgrund der Verzerrung werden beispielsweise folgende Codeworte erhalten:
    C1 = (-0,9 -0,2 0,4)
    C2 = (0,2 1,3 0,8)
    C3 = (0,5 -1 0,3)
    C4 = (-0,1 0,7 -1,8)
  • Aus diesem Code sollen nun die ursprünglichen Daten zurück erkannt werden. Eine Möglichkeit hierfür ist das sog. "Hard decoding" (die direkte Entscheidung für einen Wert - hier +1 oder -1 - aufgrund von Entscheidungsschwellen. Dieses Verfahren ist für die vorliegende Erfindung jedoch weniger von Bedeutung.
  • Der andere Decodieralgorithmus wird als "soft decoding" bezeichnet. Er zeichnet sich dadurch aus, dass erst nach mehreren Iterationsschritten eine Entscheidung (+1 oder -1) getroffen wird und bis dahin mit analogen Werten gerechnet wird, die bei jedem Iterationsschritt gemäß dem angewandten Decodieralgorithmus modifiziert werden.
  • Zur Durchführung des Decodierverfahrens werden sog. Softinput-Softoutput-Decodierer verwendet, die ein zugeführtes Codewort unter Berücksichtigung von extrinsischer Information modifizieren und selbst extrinsische Information bereitstellen. Hierbei können verschiedene Decodieralgorithmen verwendet werden. Der optimale Ausgangswert eines Softinput- Softoutput-Decodierers kann z. B. mittels eines MAP- Algorithmus (MAP: Maximum a posteriori) unter Auswertung eines Wahrscheinlichkeitsverhältnisses LLR (LLR: Log Likelihood Ratio) berechnet werden, wobei gilt:


  • Dabei ist Pr die Wahrscheinlichkeit, dass ein Bit eines empfangenen Codewortes x gleich +1 bzw. -1 ist. Diese Beziehung kann auch dargestellt werden als


  • Der Wert xjext stellt dabei die extrinsische Information dar.
  • Gemäß einer bevorzugten Ausführungsform der Erfindung wird anstelle des MAP-Algorithmus ein "Max-Log-Map"-Algorithmus verwendet, mittels dessen eine zusätzliche Reduzierung des Signal-Rausch-Verhältnis erreicht werden kann. Dieser "Max- Log-Map"-Algorithmus ist außerdem wesentlich einfacher auszuführen. Die extrinsische Information kann nach folgender Gleichung berechnet werden:


  • Ein erfindungsgemäßer Codierer besteht vorzugsweise aus mehreren, insbesondere drei verketteten Einzelcodierern, die jeweils ein SPC-Codewort für eine Dimension erzeugen.
  • Ein erfindungsgemäßer Decodierer umfasst vorzugsweise mehrere, insbesondere drei seriell verkettete Einzeldecodierer. Jeder Einzeldecodierer eines Decodierers erzeugt dabei extrinsische Information, die von den anderen Einzeldecodierern berücksichtigt wird, um ein an deren Eingang zugeführtes Codewort zu modifizieren.
  • Gemäß einer bevorzugten Ausführungsform der Erfindung wird für die Decodierung ein Soft-Decodierverfahren eingesetzt. Die Einzeldecodierer sind daher vorzugsweise als SISO - (Softinput Softoutput) Decodierer realisiert.
  • Die Redundanz bei der Codierung ist vorzugsweise kleiner als 25% insbesondere kleiner als 20%.
  • Die Erfindung wird nachstehend anhand der beigefügten Zeichnungen beispielhaft näher erläutert. Es zeigen:
  • Fig. 1 ein Beispiel eines zweidimensionalen Produkt- Codeworts;
  • Fig. 2 ein Beispiel eines dreidimensionalen SPC-Produkt- Codeworts;
  • Fig. 3 eine schematische Darstellung der Erzeugung eines verketteten dreidimensionalen SPC-Codeworts;
  • Fig. 4 den schematischen Aufbau eines Datenübertragungssystems mit einem Codierer zur Erzeugung eines verketteten dreidimensionalen SPC-Produkt-Codeworts und einem entsprechenden Decodierer; und
  • Fig. 5 einen seriell verketteten Decodierer gemäß einem Ausführungsbeispiel der Erfindung.
  • Bezüglich Fig. 1 wird auf die in der Beschreibungseinleitung gemachten Erläuterungen verwiesen.
  • Fig. 2 zeigt ein typisches Beispiel eines dreidimensionalen SPC-Produkt-Codeworts. Das 3D-Codewort umfasst einen Block A mit Informationsbits, der insgesamt k1×k2×k3 Bits enthält. Jede Zeile (in x- oder z-Richtung) sowie Spalte (in y- Richtung) stellt ein Sub-Codewort dar, das an seiner letzten Stelle ein Paritätsbit aufweist (ni - ki = 1). Die Paritätsbits sind insgesamt mit P1 bezeichnet.
  • Ein Paritätsbit ist z. B. 1, wenn das Codewort eine ungerade Anzahl von 1-Bits aufweist und 0, wenn das Codewort eine gerade Anzahl von 1-Bits aufweist. Die Anzahl von 1-Bits in jeder Zeile oder Spalte ist somit immer gerade.
  • Die Anzahl ki der Informationsbits in jeder Dimension ist vorzugsweise gleich groß. Bei dem gezeigten 3D-Codewort handelt es sich außerdem um einen vollen Produktcode.
  • Fig. 3 zeigt die Erzeugung eines dreidimensionalen SPC- Produkt-Codeworts mittels eines seriell verketteten Codierers. Der seriell verkettete Codierer umfaßt einen ersten Codierer 1 und einen zweiten Codierer 2. Der erste Codierer 1 erzeugt ein dreidimensionaled SPC-Produkt-Codewort 4 mit einer Coderate von z. B. (26/27)3. Dieser entspricht dem 3D- Codewort von Fig. 2 mit einer Gesamtzahl an Informationsbits von 263 = 17576.
  • Das am Ausgang des ersten Codierers 1 ausgegebene 3D-Codewort 4 wird einem Interleaver 3 zugeführt, der eine Modifikation eines Interleavers ist, wie er z. B. in einem Artikel von L. Ping, S. Chan, und K.L. Yiung, "Efficient soft-in-soft-out sub-optimal decoding rule for single parity check codes", Electron. lett., Band 33, Nr. 19, Seiten 1614-1615, 1997 offenbart ist. Der Interleaver 3 bewirkt eine Umordnung der einzelnen Bits des 3D-Codeworts 4, wodurch ein neues 3D-Codewort 5 entsteht.
  • Das vom Interleaver 3 ausgegebene Codewort 5 wird schließlich vom Codierer 2 codiert, der ein dreidimensionales SPC- Produkt-Codewort mit Paritätsbits P2 und einer Coderate von (27/28)3 erzeugt. Die Coderate des gesamten, verketteten Codierers ist daher (26/28)3 = 0,8. Die Redundanz somit 25%.
  • Fig. 4 zeigt den schematischen Aufbau eines Datenübertragungssystems mit einem verketteten Codierer, umfassend die Codierer 1 und 2, und einem entsprechenden Decodierer, umfassend die Decodierer 7 und 8.
  • Der erste Codierer 1 umfaßt wiederum drei Einzelcodierer C11, C12 und C13, die jeweils ein SPC-Codewort für eine Dimension des 3D-Produkt-Codeworts 4 erzeugen. Der zweite Codierer 2 umfaßt ebenfalls drei Einzelcodierer C21, C22, C23 zur Erzeugung des dreidimensionalen SPC-Produkt-Codeworts 6.
  • Das vom ersten Codierer 1 erzeugte SPC-Codewort 4 sowie die Paritätsbits P2 des vom zweiten Codierer 2 erzeugten SPC- Codeworte 6 werden über eine Übertragungsleitung L übertragen. Wahlweise kann auch das vom ersten Codierer 1 erzeugte SPC-Codewort 4 und das gesamte SPC-Codewort 6 übertragen werden.
  • Die übertragene Information wird schließlich von einem Decodierer empfangen, der einen zweiten Decodierer 7 zum Decodieren des vom zweiten Codierer 2 erzeugten SPC-Codeworts 6, und einen ersten Decodierer 8 zum Decodieren des vom ersten Codierer 1 erzeugten SPC-Codeworts 4. Zwischen den beiden Decodierern 7, 8 ist ein Deinterleaver 9 angeordnet, der eine inverse Umordnung der einzelnen Bits durchführt.
  • Die den Decodierern 7, 8 zugeführten Informationsdaten sind mit u bezeichnet, extrinsische Information mit EXT. Wie zu erkennen ist, erzeugt der zweite Decodierer 7 extrinsische Information, die dem ersten Decodierer 8 über den Deinterleaver 9 zugeführt wird. Der erste Decodierer 8 berücksichtigt diese Information und gibt selbst extrinsische Information aus, die wiederum dem zweiten Decodierer 7 beim nächsten Iterationsschritt über einen Interleaver 10 zugeführt wird.
  • Die Decodierer 7, 8 umfassen jeweils drei Einzeldecodierer D21,D22,D23 bzw. D11,D12,D13, die jeweils für die Decodierung in einer Dimension zuständig sind.
  • Fig. 5 zeigt eine detailliertere Ansicht des Decodierers von Fig. 4, wobei im oberen Teil der zweite Decodierer 7 und im unteren Teil der Figur der erste Decodierer 8 dargestellt ist.
  • Die Einzeldecodierer SISO21-23 bzw. SISO11-13 des ersten und zweiten Decodierers 7, 8 sind jeweils als SISO-Decodierer realisiert.
  • Die Informationsdaten sind mit u und die Paritätsbits mit p bezeichnet. Dabei bestimmt der hochgestellte Index denjenigen Decodierer 7, 8, von dem die Daten stammen bzw. an den die betreffenden Daten gesendet werden. Der tiefgestellte Index bezeichnet den Einzeldecodierer (SISO21-23 bzw. SISO11-13), der die Daten erzeugt hat. Extrinsische Information, die von einem der Decodierer 7, 8 erzeugt wurde und für den anderen der Decodierer 7, 8 bestimmt ist, ist mit dem Index ext bezeichnet.
  • Der Turbo-Decodieralgorithmus wird in n iterativen Schritten durchgeführt. Vor dem ersten Iterationsschritt sind sämtliche extrinsischen Daten gleich Null.
  • Am Eingang des zweiten Decodierers 7 werden die Informationsbits u2 und die Paritätsbits p2 des SPC-Codeworts 6 zugeführt. Diese Daten werden auch den nachfolgenden Einzeldecodierern SISO22 bzw. SISO23 zugeführt. Jeder der Einzeldecodierer SISO21-23 erzeugt aus den ihm zugeführten Daten modifizierte Paare von Informationsdaten u und Paritätsbits p, genauer gesagt eine Reihe von Wahrscheinlichkeitsverteilungen, die extrinsische Information enthalten bzw. darstellen. Diese extrinsische Information wird jeweils den anderen beiden Einzeldecodierern SISO21-23 an deren Eingang zugeführt.
  • So erhält z. B. der zweite Einzeldecodierer SISO22 neben den Paritätsbits p2 des SPC-Codeworts 6 die extrinsische Information der Einzeldecodierer SISO21 und SISO23 (p2 21, p2 23). Der dritte Einzeldecodierer SISO23 erhält z. B. an seinem Eingang die Informationsdaten u2 0 sowie die extrinsische Information der beiden anderen Einzeldecodierer SISO21,SISO22 (u2 21, u2 22).
  • Der Decodierer 7 erhält außerdem extrinsische Information u2 ext des ersten Decodierers 8 und umgekehrt.
  • Die von den Einzeldecodierern SISO21-SISO23 erzeugten Informationsdaten u2 21- u2 23 werden einem Deinterleaver 9 zugeführt. Der Deinterleaver 9 bildet daraus wiederum Informationsdaten u1 ext und Paritätsbits p1 ext für die weitere Verarbeitung durch den ersten Decodierer 8.
  • Am Eingang des ersten Decodierers 8 werden die Informationsdaten u1 und die Paritätsbits p1 des vom ersten Codierer 1 erzeugten Codeworts 4 zugeführt. Hierzu werden die vom zweiten Decodierer 7 erzeugten extrinsischen Daten p1 ext bzw. u1 ext addiert.
  • Wie im Beispiel des zweiten Decodierers 7 erhält auch jeder Einzeldecodierer SISO11-SISO13 des ersten Decodierers 8 jeweils extrinsische Information der beiden anderen Einzeldecodierer. Am Ausgang des letzten Einzeldecodierers SISO13 werden sämtliche extrinsischen Daten, d. h. sowohl die Informationsdaten u1 11-u1 13 als auch Paritätsdaten p1 11-p1 13 addiert und jeweils einem Interleaver 10 zugeführt. Dieser erzeugt eine extrinsische Information u2 ext, die dem zweiten Decodierer 7 zugeführt wird.
  • Damit beginnt ein zweiter Iterationsschritt. Nach n Iterationsschritten wird eine Entscheidung getroffen (Decision).
  • Mit dem vorgestellten verketteten, dreidimensionalen SPC- Turbocode kann eine starke Verbesserung der Bitfehlerrate in einem optischen Übertragungssystem erreicht werden. Da dieses Codierverfahren ziemlich einfach ist und kostengünstig implementiert werden kann, ist es auch für weit ausgedehnte optische Übertragungssysteme geeignet. Der Q-Faktor bei nahezu fehlerfreier Übertragung (BER = 10-15) wird damit auf etwa 6,4 dB reduziert.

Claims (14)

1. Fehlerkorrekturverfahren zur Korrektur von Daten, die in einem Datenübertragungssystem, insbesondere einem optischen Übertragungssystem, übertragen werden, gekennzeichnet durch folgende Schritte:
- Erzeugen eines dreidimensionalen SPC-Produkt-Codeworts (4) mittels eines ersten Codierers (1);
- Anwenden eines Interleavers (3) auf das vom ersten Codierer (1) generierte SPC-Codewort (4);
- Erzeugen eines dreidimensionalen SPC-Produkt-Codeworts (6) aus dem vom Interleaver (3) ausgegebenen Codewort (5) mittels eines zweiten Codierers (2);
- Übertragen von codierten Daten über eine Übertragungsleitung (L);
- Decodieren des vom zweiten Codierer (2) erzeugten Codeworts (6) mittels eines zweiten Decodierers (7) unter Berücksichtigung extrinsischer Information (u2 ext) eines ersten Decodierers (8); und
- Decodieren des vom ersten Codierer (1) erzeugten Codeworts (4) mittels des ersten Decodierers (8) unter Berücksichtigung extrinsischer Information (u1 ext) des zweiten Decodierers (7).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der erste bzw. zweite Codierer (1, 2) mehrere Einzelcodierer (C11-C13; C21-C23) aufweist.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, der erste bzw. zweite Decodierer (7, 8) mehrere Einzeldecodierer (D11-D13; D21-D23; SISO11-13, SISO21-23) aufweist.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass jeder Einzeldecodierer (D21-D23; D11-D13) eines der Decodierer (7, 8) extrinsische Information erzeugt, die von den anderen Einzeldecodierern (D21-D23; D11-D13) des Decodierers (7, 8) berücksichtigt wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Decodierer (7, 8) einen Max-Log-Map-Algorithmus verwenden.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Decodierer (7, 8) SISO-Decodierer sind.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das vom zweiten Codierer (2) erzeugte SPC-Codewort (6) eine Redundanz von maximal 25% aufweist.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die vom zweiten Decodierer (7) erzeugte extrinsische Information einem Deinterleaver (9) zugeführt wird.
9. Fehlerkorrektursystem für digitale Daten, die in einem Datenübertragungssystem, insbesondere einem optischen Übertragungssystem, übertragen werden, umfassend:
einen ersten Codierer (1) zur Erzeugung eines dreidimensionalen SPC-Produkt-Codeworts (4);
einen Interleaver (3) zum Umordnen des SPC-Codeworts (4);
einen zweiten Codierer (2) zum Erzeugen eines zweiten dreidimensionalen SPC-Produkt-Codeworts (6) aus dem vom Interleaver (3) ausgegebenen Codewort (5);
eine Übertragungsleitung (L) zum Übertragen der codierten Daten;
einen zweiten Decodierer (7) zum Decodieren des vom zweiten Codierer (2) erzeugten SPC-Codeworts (6); und
einen ersten Decodierer (8) zum Decodieren des vom ersten Codierer (1) erzeugten SPC-Codeworts (4), wobei der erste und zweite Decodierer (7 bzw. 8) extrinsische Information erzeugen, die dem jeweils anderen Decodierer (8 bzw. 7) zugeführt wird.
10. System nach Anspruch 9, dadurch gekennzeichnet, dass der erste bzw. zweite Codierer (1 bzw. 2) jeweils drei seriell geschaltete Einzelcodierer (C11-C13; C21-C23) umfaßt.
11. System nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass der erste bzw. zweite Decodierer (7 bzw. 8) jeweils drei seriell geschaltete Einzeldecodierer (D21-D23, D11-D13, SISO11-13, SISO21-23) umfaßt.
12. System nach einem der Ansprüche 9 bis 11, dadurch gekennzeichnet, dass jeder der Einzeldecodierer (D11-D13; D21-D23, SISO11-13, SISO21-23) extrinsische Information erzeugt.
13. System nach Anspruch 12, dadurch gekennzeichnet, dass die extrinsische Information eines der Einzeldecodierer (D21-D23; D11-D13) jeweils den beiden anderen Einzeldecodierern (D21-D23; D11-D13, SISO11-13, SISO21-23) zugeführt wird.
14. System nach einem der Ansprüche 9 bis 13, dadurch gekennzeichnet, dass die Decodierer (7, 8) gemäß einem Max-Log-Map-Algorithmus arbeiten.
DE2001147482 2001-09-26 2001-09-26 Seriell verketteter, dreidimensionaler SPC-Turbocode für optische Übertragungssysteme Withdrawn DE10147482A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2001147482 DE10147482A1 (de) 2001-09-26 2001-09-26 Seriell verketteter, dreidimensionaler SPC-Turbocode für optische Übertragungssysteme

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2001147482 DE10147482A1 (de) 2001-09-26 2001-09-26 Seriell verketteter, dreidimensionaler SPC-Turbocode für optische Übertragungssysteme

Publications (1)

Publication Number Publication Date
DE10147482A1 true DE10147482A1 (de) 2003-01-23

Family

ID=7700366

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2001147482 Withdrawn DE10147482A1 (de) 2001-09-26 2001-09-26 Seriell verketteter, dreidimensionaler SPC-Turbocode für optische Übertragungssysteme

Country Status (1)

Country Link
DE (1) DE10147482A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7415651B2 (en) * 2004-06-02 2008-08-19 Seagate Technology Data communication system with multi-dimensional error-correction product codes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LI J. et al.: "On the Performance of Turbo Product Codes over Partial Response Channels", In: IEEE Transactions on Magnetics, Vol. 37, No.4,July2001,S.1932 *
PING L. et al.: "Iterative Decoding of Multi-Di- mensional Concatenated Single Parity Check Codes",IN: IEEE international Conference on Communi- cations, Vol.1, 1998, S.131-135 *
STOJANOVIC N. et al.: Concatenated Three *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7415651B2 (en) * 2004-06-02 2008-08-19 Seagate Technology Data communication system with multi-dimensional error-correction product codes

Similar Documents

Publication Publication Date Title
DE69513720T2 (de) Codiereinrichtung für punktierten Faltungscode
DE69810485T2 (de) Kommunikationssysteme und verfahren mit paralleler verschachtelungsloser kodierung
DE69700532T2 (de) Verfahren und vorrichtung zur faltungskodierung und -dekodierung von datenblöcken
DE69736881T2 (de) Parallel verketteter tail-biting-faltungskode und dekoder dafür
DE60113053T2 (de) Vor-Dekoder für Turbodekoder, zur Rückgewinnung von punktierten Paritätssymbolen, sowie ein Verfahren zur Rückgewinnung eines Turbokodes
DE69923970T2 (de) Kanaldecodiereinrichtung und Verfahren zum Kanaldecodieren
DE69721028T2 (de) Fehlerkorrektur mit zwei blockcodes
DE3910739C3 (de) Verfahren zum Verallgemeinern des Viterbi-Algorithmus und Einrichtungen zur Durchführung des Verfahrens
DE69905255T2 (de) Verbesserte verschachteler für turbo-kodes
DE60001988T2 (de) Turbo Dekodierung mit variabler Anzahl von Iterationen
DE69936908T2 (de) Iterative dekodierung von produktkoden
EP1232596A2 (de) Verfahren zur anpassung der datenrate in einer kommunikationsvorrichtung und entsprechende kommunikationsvorrichtung
DE60211413T2 (de) Verfahren und Vorrichtung zur Optimierung der Größe von codierten Datenblöcken
DE60111974T2 (de) Abbruchkriterium für einen Turbodekoder
DE69908629T2 (de) Hybrid verschachteler für turbo-kodierer
DE102018218729B3 (de) Interleaving mit zirkularer Zeilen-Rotation für die Übertragung bei Telegramm-Splitting
DE102017216264B4 (de) Decodierverfahren
DE19539343A1 (de) Verfahren zur Fehlerbehandlung eines digitalen Bitdatenstroms, der von einem Sender zu einem Empfänger übertragen wird
DE19521327A1 (de) Verfahren und Codiereinrichtung zur gesicherten Übertragung von Information mittels Mehrkomponenten-Codierung
EP1249074B1 (de) Verfahren zur decodierung eines datensignals
DE10147482A1 (de) Seriell verketteter, dreidimensionaler SPC-Turbocode für optische Übertragungssysteme
DE60209196T2 (de) Verfahren und Vorrichtung zur Optimierung, unter Leistungsgebundenheiten, der Grösse von kodierten Datenblöcken
DE60118716T2 (de) Log-MAP Dekodierung
DE19520987A1 (de) Verfahren zur Terminierung des Trellis bei rekursiven systematischen Faltungscodes
WO2001097401A1 (de) System zur datenübertragung nach dem frequenzsprungverfahren

Legal Events

Date Code Title Description
8130 Withdrawal
8165 Unexamined publication of following application revoked