DE60009973T2 - Verschachtelungsverfahren, Verschachtelungsgerät, Turbokodierungsverfahren und Turbokodierer - Google Patents

Verschachtelungsverfahren, Verschachtelungsgerät, Turbokodierungsverfahren und Turbokodierer Download PDF

Info

Publication number
DE60009973T2
DE60009973T2 DE60009973T DE60009973T DE60009973T2 DE 60009973 T2 DE60009973 T2 DE 60009973T2 DE 60009973 T DE60009973 T DE 60009973T DE 60009973 T DE60009973 T DE 60009973T DE 60009973 T2 DE60009973 T2 DE 60009973T2
Authority
DE
Germany
Prior art keywords
data
sequence
interleaver
row
bits
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.)
Expired - Lifetime
Application number
DE60009973T
Other languages
English (en)
Other versions
DE60009973D1 (de
Inventor
Hirohito Suda
Akira Shibutani
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.)
NTT Docomo Inc
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Mobile Communications Networks Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26381791&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60009973(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Nippon Telegraph and Telephone Corp, NTT Mobile Communications Networks Inc filed Critical Nippon Telegraph and Telephone Corp
Publication of DE60009973D1 publication Critical patent/DE60009973D1/de
Application granted granted Critical
Publication of DE60009973T2 publication Critical patent/DE60009973T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/27Coding, 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 using interleaving techniques
    • 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
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/271Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2735Interleaver using powers of a primitive element, e.g. Galois field [GF] interleaver
    • 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/27Coding, 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 using interleaving techniques
    • H03M13/2771Internal interleaver for turbo codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

  • Hintergrund der Erfindung
  • 1. Anwendungsgebiet der Erfindung
  • Die Erfindung betrifft allgemein die Turbocodiertechnik, die mit einem Burstfehler wirksam fertig wird. Die Erfindung befasst sich insbesondere mit einem Verschachtelungsverfahren, einem Verschachtelungsgerät, einem Turbocodierungsverfahren und einem Turbocodierer, in welchen ein Wegschneiden überhaupt nicht vorgenommen wird oder lediglich eine kleine Anzahl von Bits weggeschnitten wird, so dass die rechenbetonte Komplexität vermindert werden kann.
  • Die Erfindung kann auf Gebiete angewendet werden, die nach einer Verbesserung der Zuverlässigkeit von Kommunikationen unter Verwendung von Fehlerkorrekturcodes verlangen, wie digitale Übertragungen und digitale Aufzeichnung. Die Erfindung ist besonders wirksam auf Gebieten, die Flexibilität von Kommunikationen benötigen, wie Multimedia-Anwendungen.
  • 2. Beschreibung des relevanten Standes der Technik
  • Es gibt eine Reihe von Dokumenten, die sich mit Turbocodierung befassen:
    • Hughes Network Systems; Tdoc SMG2 UMTS-L1 765/98 offenbart einen Galois-Feld-Verschachteler für Turbocodes, in welchem Eingabedaten zeilenweise in eine Verschachtelungsmatrix aus 2c Spalten × 2T Zeilen eingelesen werden, wobei Zeilen- und Spaltenpermutationen vorgenommen werden, um die Datenposition zu randomisieren, und in welchem die Daten spaltenweise ausgelesen werden. Die Permutationen der Daten jeder Zeile basiert auf Potenzen eines primitiven Elements in dem Galois-Feld GF(2c).
    • Canon CRF; Tdoc SMG2 UMTS-L1 571/98 offenbart einen eindimensionalen algebraischen Verschachteler für Turbocodes;
    • Nortel Networks; Tdoc SMG2 UMTS-L1 51/99 offenbart einen zweidimensionalen algebraischen Verschachteler für Turbocodes;
    • NTT DoCoMo; Tdoc SMG2 UMTS-L1 027/99 offenbart einen Mehrstufen-Verschachteler (MIL) für Turbocodes, wobei der Verschachteler eine MIL-Nachschlagetabelle verwendet.
  • Kürzlich hat man einen Turbocodierer vorgeschlagen, der von einem Code mit hoher Fähigkeit zur Fehlerkorrektur Gebrauch macht. Ein solcher Turbocodierer besteht aus einer Vielzahl von Codierern, die über einen Verschachteler (welcher ein Mittel zum Ausführen von Verschachtelungsverarbeitungen ist) miteinander verbunden sind, um die Korrelation zwischen redundanten Sequenzen zu vermindern, die den jeweiligen Codierern zugeordnet sind. Der Verschachteler ist ein Schlüsselelement, das die Leistungsfähigkeit der Turbocodierung bestimmt.
  • 1A und 1B zeigen ein Beispiel des Turbocodierers. Wie es aus 1A hervorgeht, enthält der Turbocodierer rekursive systematische Faltungscodierer 12 (RSC1) und 13 (RSC2) sowie einen Verschachteler 11. Wie es aus 1B hervorgeht, ist jeder der Codierer 12 und 13 aus Addierern 14 und 15 und Verzögerungselementen (D) 16 und 17 aufgebaut, die in der gezeigten Weise miteinander verbunden sind. Der Turbocodierer empfängt eine Eingabedatensequenz d (K Bits) und gibt codierte Datensequenzen X1 bis X3 aus. Um die Korrelation zwischen den redundanten Bits X1 und X2 zu reduzieren, ist der Verschachteler 11 bei der Eingabeseite des Codierers (RSC2) 13 vorgesehen. Wie es aus 1C hervorgeht, besteht ein Turbodecodierer aus zwei Decodierern 1 und 2, zwei Verschachtelern 3 und 4 und einem Entschachteler 5.
  • In digitalen Systemen wird eine Permutation beim Verschachteln an einer vorgegebenen Einheitsbasis von Bit oder Symbol ausgeführt. Die Permutation wird unter Verwendung eines Puffers oder eines Musters für eine Permutation implementiert. Wird der Puffer verwendet, werden Daten darin eingeschrieben und dann daraus in einer unterschiedlichen Sequenz ausgelesen. Wird das Permutationsmuster verwendet, werden Daten unter Bezugnahme auf das Muster permutiert, das Information betreffend eine Permutation aufgrund einer Verschachtelung beschreibt. Das beschriebene Muster wird als ein Verschachtelungsmuster aufgezeigt.
  • Es wird jetzt eine Beschreibung einer Permutationsverarbeitung auf Bit-Basis unter Verwendung des Verschachtelungsmusters gegeben.
  • 2 zeigt eine Verschachtelung einer 16-Bit-Sequenz. In 2 wird eine 16-Bit-Sequenz 67 auf der Bit-Einheitsbasis unter Bezugnahme auf eine Verschachtelungsmustertabelle 68 verschachtelt, die eine Verschachtelungssequenz definiert. Insbesondere werden das nullte bis 15te Bit der Sequenz 67 in einen zweidimensionalen Puffer mittels der Verschachtelungsmustertabelle 68 geschrieben und dann daraus wieder ausgelesen in der Reihenfolge 0, 8, 4, 12, ...., wie es durch einen Pfeil in 2 aufgezeigt ist. Somit wird nach der Verschachtelung eine Bit-Sequenz gewonnen, wie sie in 2 dargestellt ist.
  • Der zur Verschachtelung herangezogene Verschachteler muss die folgenden drei Fähigkeiten haben:
    • (1) Handhabung einer Vielfalt von Rahmenlängen (beispielsweise 1000 bis 10000);
    • (2) Herstellen der verschachtelten Sequenz mit einer kleinen Anzahl von Parametern; und
    • (3) Reduzieren der rechenbetonten Komplexität beim Erzeugen des Verschachtelungsmusters.
  • Wenn, unter Bezugnahme auf die erste Fähigkeit, die Parameter einfach für alle verschiedenen Rahmenlängen erstellt werden, ist eine riesige Anzahl von Parametern zu erstellen und eine riesige Speicherkapazität wird erforderlich sein, um die Parameter zu speichern. Das obige ist somit nicht praktisch. Es gibt einen weiteren Nachteil, der darin besteht, dass man eine lange Zeit benötigt, um die jeweiligen optimalen Parameter für jede der verschiedenen Rahmenlängen zu berechnen.
  • Die obigen Probleme können dadurch gelöst werden, dass Verschachteler mit einer kleinen Anzahl von Parametern konstruiert werden. Dies bezieht sich auf die zweite Fähigkeit. Verschachteler, deren Anzahl gleich einer Potenz von 2 ist, werden erstellt, und das Wegschneiden von Daten wird ausgeführt. Das Wegschneiden von Daten erfordert allerdings eine erhöhte Anzahl von Parametern zur Optimierung, und die Verschachteler mögen bezüglich aller Rahmenlängen kein gutes Leistungsvermögen haben. Das heisst, die Verschachteler haben für einige Rahmenlängen ein gutes Leistungsvermögen, arbeiten aber für andere Rahmenlängen nicht gut.
  • Die Verminderung der Menge von Daten, die weggeschnitten werden sollen, bezieht sich auch auf die dritte Fähigkeit. In dieser Hinsicht haben die hier genannten Erfinder bereits eine Verbesserung bezüglich des Wegschneidens und des Leistungsvermögens vorgeschlagen (Internationale Anmeldung Nr. PCT/JP98/05027). Selbst die vorgeschlagene Verbesserung hat jedoch eine hohe rechenbetonte Komplexität beim Erzeugen der Verschachtelungsmuster.
  • Kurze Darlegung der Erfindung
  • Allgemeines Ziel der Erfindung ist es, eine verbesserte Verschachtelungstechnik mit den oben genannten drei Fähigkeiten vorzusehen.
  • Ein spezielleres Ziel der Erfindung ist es, ein Verschachtelungsverfahren, ein Verschachtelungsgerät, ein Turbocodierungsverfahren und einen Turbocodierer vorzusehen, die in der Lage sind, Eingabesequenzen einer Vielfalt von Rahmenlängen mit reduzierter rechenbetonter Komplexität wirksam zu randomisieren.
  • Die Erfindung besteht in einem Verschachtelungsverfahren, einem Verschachteler, einem Turbocodierungsverfahren und einem Turbocodierer wie in den Ansprüchen 1, 10, 17 beziehungsweise 20 definiert.
  • Kurze Beschreibung der Zeichnungen
  • Weitere Ziele, Eigenschaften und Vorteile der Erfindung werden aus der nachstehenden detaillierten Beschreibung bevorzugter Ausführungsbeispiele beim Lesen in Verbindung mit den beigefügten Zeichnungen ersichtlich, worin:
  • 1A und 1B sind Blockschaltbilder eines herkömmlichen Turbocodierers;
  • 1C ist ein Blockschaltbild eines Turbodecodierers;
  • 2 ist ein Diagramm eines herkömmlichen Verschachtelungsverfahrens zum Verschachteln einer 16-Bit-Eingabedatensequenz;
  • 3 ist ein Blockschaltbild eines Turbocodierers gemäss einem ersten Ausführungsbeispiel der Erfindung;
  • 4 zeigt Primzahlen bis 200;
  • 5 ist ein Diagramm zur Veranschaulichung einer ersten möglichen Konfiguration eines in 3 dargestellten Verschachtelers;
  • 6 zeigt Primzahlen kleiner als 150 und zugeordnete Primitivwurzeln;
  • 7A und 7B zeigen jeweilige Beispiele von Sequenzpermutationstabellen;
  • 8 ist ein Diagramm zur Veranschaulichung einer zweiten möglichen Konfiguration des in 3 dargestellten Verschachtelers;
  • 9 ist ein Diagramm zur Veranschaulichung einer dritten möglichen Konfiguration des in 3 dargestellten Verschachtelers;
  • 10 ist ein Flussdiagramm des Turbocodierers gemäss der Erfindung;
  • 11 ist eine Graphik zur Erläuterung eines Fehlerbodens in Turbocodes;
  • 12 ist ein Blockschaltbild eines Turbocodierers gemäss einem zweiten Ausführungsbeispiel der Erfindung;
  • 13 ist ein Diagramm zur Veranschaulichung einer vierten möglichen Konfiguration des in 3 dargestellten Verschachtelers; und
  • 14A, 14B und 14C zeigen jeweils Beispiele von Sequenzpermutationstabellen, die im vierten Ausführungsbeispiel der Erfindung verwendet werden.
  • Beschreibung der bevorzugten Ausführungsbeispiele
  • Unter Bezugnahme auf die beigefügten Zeichnungen werden Ausführungsbeispiele der Erfindung beschrieben.
  • Erstes Ausführungsbeispiel
  • 3 ist ein Blockschaltbild eines Turbocodierers gemäss dem ersten Ausführungsbeispiel der Erfindung. In 3 sind Teile, die mit solchen in den zuvor beschriebenen Figuren übereinstimmen, mit den selben Bezugszahlen versehen.
  • Der in 3 dargestellte Turbocodierer unterscheidet sich von demjenigen, der in 1A dargestellt ist, wie folgt:
    • (a) ein Bit-Additionsprozessteil 21 ist neu hinzugefügt;
    • (b) ein Verschachteler einer neuen Konfiguration wird verwendet; und
    • (c) ein Punkturverarbeitungsteil 23 ist neu hinzugefügt.
  • Es folgt eine detaillierte Beschreibung des in 3 dargestellten Turbocodierers unter weiterer Bezugnahme auf ein Flussdiagramm von 10.
  • Bit-Additionsprozess
  • Als Vorprozess der Verschachtelung stellt das Bit-Additionsprozessteil 21 die Eingabesequenz so ein, dass sie eine geeignete Anzahl von Bits zur Verschachtelung hat (Schritte 101 bis 103 gezeigt in 10).
  • Der Bit-Additionsprozess kann durch verschiedenartige Typen herkömmlicher Fehlerkorrekturcodierung implementiert werden. In diesem Fall ist das Bit-Additionsprozessteil 21 ein CRC-Codierer. Unter den verschiedenen Typen herkömmlicher Fehlerkorrekturcodierung wird die Verwendung eines Typs von Bit-Wiederholung bevorzugt, bei der Bits periodisch wiederholt werden, weil dies flexibel ist und leicht zu implementieren ist.
  • Eine detaillierte Beschreibung der Bit-Wiederholung wird für einen Fall gegeben, bei dem die Anzahl von Bits, die in den Turbocodierer eingegeben werden, gleich NIN ist (dies entspricht K in 3). Die Bit-Wiederholung enthält die folgenden vier Schritte (1) bis (4).
  • Beim Schritt (1), wird NIN durch 8 dividiert, und man erhält den resultierenden Wert n. Der Grund, warum man NIN durch 8 dividiert, wird später erläutert. Beim Schritt (2) wird die Primzahl P ermittelt, die größer als n ist und am dichtesten bei n liegt. Beim Schritt (3) wird die Differenz zwischen 8 mal P und NIN berechnet, und der resultierende Wert wird mit a bezeichnet. Beim Schritt (4) werden a Bits (Dummy Bits) den NIN Bits der Eingabesequenz hinzugefügt.
  • Ein Beispiel für NIN = 650 wird nachstehend beschrieben. Beim Schritt (1) erhält man n = 650/8 = 81,25. Beim Schritt (2) ergibt sich aus einer in 4 dargestellten Tabelle die Primzahl 83, die grösser als 81,25 (= n) ist und die dazu am nächsten ist. Somit ist P = 83. Beim Schritt (3) ergibt sich 83 × 8 = 664, und somit a = 14. Dies bedeutet, dass die Anzahl der Dummy-Bits, die NIN hinzuzufügen ist, gleich 14 ist. Beim Schritt (4) werden 14 Dummy-Bits der Eingabesequenz von 650 (=NIN) Bits hinzugefügt. Es werden beispielsweise die 14 Dummy-Bits an das Ende der 650-Bit-Eingabesequenz angehängt.
  • Die Anzahl (NIN +a) von Bits, die man somit erhält, das heisst, die Anzahl (K + a) von Bits in 3 wird ohne Ausnahme durch 8 dividiert, und der Quotient ist stets die Primzahl. Der Grund, warum 8 verwendet wird, besteht darin, dass die Anzahl von Zeilen eines zweidimensionalen Feldes, das bei einer ersten Stufe einer im Verschachteler 22 ausgeführten Verschachtelung benutzt wird, gleich 8 ist, wie es später noch im Detail beschrieben wird. Es ist möglich, eine andere willkürliche Zahl, wie beispielsweise 10 oder 20, zu verwenden, wenn das zweidimensionale Feld, das im Verschachteler 22 benutzt wird, 10 oder 20 Zeilen hat. In einem solchen Fall wird bei den oben erwähnten Schritten (1) bis (3) 10 oder 20 verwendet.
  • Aus der obigen Beschreibung kann man ersehen, dass der von dem Bit-Additionsprozessteil 21 durchgeführte Prozess die Anzahl von Zeilen des zweidimensionalen Feldes bei dem in 10 gezeigten Schritt 101 liefert und die Anzahl von Spalten des Feldes bestimmt, wobei es sich um die Primzahl handelt, und dann zu der Eingabesequenz die Anzahl von Dummy-Bits hinzuaddiert, die gleich der Differenz zwischen dem Produkt aus der Anzahl der Zeilen und Spalten und der Anzahl von Bits der Eingabesequenz ist.
  • Neben der Bit-Wiederholung ist es möglich, Blockcodes oder Faltungscodes zu verwenden, um den Bit-Additionsprozess zu implementieren. Es ist auch möglich, ein einfaches Verfahren zu benutzen, bei dem bekannte Bits zu einer bekannten Position hinzugefügt werden.
  • Verschachteler 22
  • Der Verschachteler 22 hat beispielsweise eine von drei unterschiedlichen Konfigurationen, die nachstehend beschrieben werden.
  • Erste Konfiguration
  • 5 zeigt die erste Konfiguration des Verschachtelers 22. Der Verschachteler 22 nach der ersten Konfiguration enthält die erste, zweite und dritte Stufe 41, 42 und 43. Die erste Stufe 41 entspricht dem Schritt 104, der in 10 gezeigt. Ist. Die zweite Stufe 42 entspricht den Schritten 105 bis 108, die in 10 gezeigt sind. Die dritte Stufe 43 entspricht dem Schritt 109, der in 10 gezeigt ist.
  • (1) Erste Stufe 41
  • Eine Eingabesequenz 40 (dies ist die Ausgabe des Bit-Additionsprozessteils 21 und besteht beispielsweise aus 664 Bits) wird in N unterteilt. In 5 wird die 664-Bit-Eingabesequenz 40 in 8 Blöcke B1 – B8 unterteilt, die dann in ein zweidimensionales Feld (Puffer) geschrieben werden, das aus 8 Zeilen und 83 Spalten besteht. Es sei bemerkt, dass die 664-Bit-Eingabesequenz 40 650 Informationsbits und 14 Dummy-Bits enthält. Die Eingabesequenz 40 aus 664 Bits kann durch 8 geteilt werden, und der Quotient davon ist die Primzahl 83. Die Anzahl von Zeilen des zweidimensionalen Puffers ist somit 8, und die Anzahl von Spalten davon ist somit die Primzahl 83.
  • (2) Zweite Stufe 42
  • Eine Intrapermutation wird ausgeführt, wie es später beschrieben wird. In der Intrapermutation wird die Sequenz der Bits, die in jeder Zeile angeordnet sind, permutiert.
  • (3) Dritte Stufe 43
  • Eine Interpermutation wird ausgeführt, bei der die Reihenfolge der Zeilen, die im zweidimensionalen Puffer angeordnet sind, permutiert wird. Die Interpermutation verwendet beispielsweise ein Interpermutationsmuster, welches durch Lernen gewonnen wird (gerichtet auf Verlängerung der freien Distanz). Eine Zeile ist die Einheit der Interpermutation.
  • Nachdem die erste bis dritte Stufe ausgeführt sind, werden bei dem in 10 gezeigten Schritt 110 Daten aus dem zweidimensionalen Puffer in der Längsrichtung (Spaltenrichtung) ausgelesen, wodurch eine verschachtelte codierte Sequenz gewonnen wird.
  • Es folgt jetzt eine weitere Beschreibung der zweiten Stufe 42.
  • Die Intrapermutation bei der zweiten Stufe 42 macht von einer Tabelle Gebrauch, die durch die folgenden Schritte S1 bis S7 als eine Adresstabelle erzeugt wird, und verarbeitet unter Bezugnahme auf die Adresstabelle Eingabedaten, die in den zweidimensionalen Puffer eingeschrieben sind.
  • Schritt S1
  • Der Schritt S1 zielt auf die Gewinnung der Primitivwurzel g0 des Galois-Feldes des Kennwertes P (der der Anzahl von Spalten entspricht und bei dem in 5 gezeigten Fall gleich 83 ist) bei einem in 10 gezeigten Schritt 105 und auf die Erzeugung einer Tabelle t0 ab, die in der Reihenfolge von Exponentennotation (Potenznotation) der Primitivwurzel beschrieben ist, in der die Elemente des Galois-Feldes durch Anti-Logarithmen ausgedrückt sind , die in der Reihenfolge von Exponentennotation angeordnet sind. Die Primitivwurzel g0 des Galois-Feldes des Kennwertes P kann aus der in 6 gezeigten Tabelle ausgewählt werden. Mit anderen Worten, der Schritt S1 soll eine Abbildungs- oder Mappingsequenz c(i) zur Intrazeilenpermutation wie unten definiert berechnen: c(i) = (g0 i) (modP), wobei i = 0,1, 2,...., (P–2) und c(P–1) = 0.
  • Für den Fall P = 83, ist die Primitivwurzel g0 (die q in 6 entspricht) von 83 gleich 2, und die Elemente des zugeordneten Galois-Feldes sind 0, 1, 2, ..., 82. Somit gilt für c(0), c(1), c(2), ... c(82) folgendes: c(0), c(1), c(2),..., c(82) = 20(mod83), 21(mod83), 22(mod83), ...., 282(mod83) = 1, 2, 4, 8, 16, 32, 64, 45, 7, 14, ..., 42, 0.
  • Die Tabelle t0 kann aus der obigen eindimensionalen Sequenz, wie sie in 7B gezeigt ist, gewonnen werden, in der die Kombination der Zahlen, die in der Querachsen- und Längsachsenrichtung der Tabelle t0 dargestellt sind, den Exponenten beschreiben. So gibt beispielsweise die Kombination der Zahlen 1 und 6 in der Querachsenrichtung beziehungsweise Längsachsenrichtung einen Exponenten von 16 an. Man kann aus der Tabelle t0 ersehen, dass die Ergebnisse von beispielsweise 22 (mod83) und 216 (mod83) 4 beziehungsweise 49 sind. Das Ergebnis von 282 (mod83) ist gleich 0 gesetzt.
  • Schritt S2
  • Die Tabelle t0 ist als eine Sequenzpermutationstabelle für die erste Zeile des zweidimensionalen Puffers definiert. Der Schritt S2 entspricht einem Fall, wenn eine Parameter I, der die Zeilenzahl angibt, bei einem in 10 dargestellten Schritt 106 gleich 1 gesetzt ist. Das bedeutet, dass die in der Sequenzpermutationstabelle t0 definierten Zahlen die Bit-Allocationen nach der Permutation angeben. Wie es in 7B dargestellt ist, enthält die Sequenzpermutationstabelle t0 die eindimensionale Sequenz (Muster) beginnend darin mit der linken obersten Position: Tabelle t0: 1, 2, 4, 8, 16,..., 42, 0 (1)
  • Es sei beispielsweise unterstellt, dass die in die erste Zeile des zweidimensionalen Puffers eingemappten Eingabedaten wie folgt sind: A0, A1, A2, A3,..., A82 (2)
  • Die Bits in der ersten Zeile des zweidimensionalen Puffers werden unter Bezugnahme auf die Sequenzpermutationstabelle t0 permutiert. Die Bits A0 und A1, die „1" und „2" in der Sequenzpermutationstabelle t0 entsprechen, werden beispielsweise selbst nach der Permutation in den ursprünglichen Positionen platziert. Das Bit A2, das „4" in der Tabelle t0 entspricht, wird so permutiert, dass es nach der Permutation in der vierten Position angeordnet ist. Das Bit A3, das „8" in der Tabelle t0 entspricht, wird so permutiert, dass es nach der Permutation in der achten Position angeordnet ist. Das Bit A82, das der letzten Zahl „0" in der Tabelle t0 entspricht, wird in die ursprüngliche Position platziert. Die obige Permutation wird bei einem in 10 dargestellten Schritt 107 vorgenommen.
  • Die Daten die nach der Permutation der Sequenz (2) auftreten, haben die folgende Sequenz: A0, A1, A72, A2, A27, A76, A8,..., A82 (3)
  • Schritt S3
  • Der Schritt S3 dient zum Gewinnen von (N – 1) Zahlen (Ganzzahlen), die die gegenseitig prime Beziehung bezüglich (P–1) haben, wobei N eine Ganzzahl grösser als 2 ist und die Anzahl von Zeilen bezeichnet. In dem betrachteten Beispiel gilt P = 83 und N = B. Somit werden 7 (= 8 – 1) Ganzzahlen gewonnen, bei denen es sich um Zahlen p1, p2, p3, p4, p5, p6 und p7 handelt, die bezüglich 82 (= P – 1 = 83 – 1) die gegenseitige prime Beziehung haben. Die sieben Ganzzahlen p1, p2, p3, p4, p5, p6 und p7 sind 3, 5, 7, 11, 13, 17 beziehungsweise 19 (1 und 2 sind ausgenommen).
  • Schritt S4
  • Bei dem in 10 dargestellten Schritt 108 wird festgestellt, ob I kleiner als N (Anzahl von Zeilen) ist. Fällt die Antwort auf den Schritt 108 mit ja aus, kehrt der Prozess zum Schritt 107 zurück. Bei dem betrachteten Beispiel wird I um 1 inkrementiert und ist dann gleich 2. Anschliessend wird eine Sequenzpermutationstabelle zur Permutation von Daten in der zweiten Zeile wie folgt erzeugt. Daten werden zyklisch aus der Sequenzpermutationstabelle t0 datenweise bei Intervallen von p1 ausgelesen, und auf diese Weise wird eine Sequenz gewonnen, die mit t1 bezeichnet ist. Wenn beispielsweise mit Intervallen von drei aus der Sequenzpermutationstabelle t0 Daten zyklisch ausgelesen werden, erhält man die folgende Sequenz t1: t1: 1, 16, 7, 29, 49, (4)
  • Die auf diese Weise erhaltene Sequenz t1 wird in eine Sequenzpermutationstabelle t1 gebracht.
  • Der obige Prozess wird auch durch folgende Berechnung (mathematisch äquivalent dazu) ausgeführt: c(i) =(g1 i) (mod83)
  • Hierbei ist g1 die Primitivwurzel, die gewonnen wird aus g1 = (g0 i) (mod83).
  • Schritt S5
  • Die beim Schritt S4 erhaltene Tabelle t1 ist als eine Sequenzpermutationstabelle definiert, auf die Bezug genommen wird, wenn die Reihenfolge von Daten, die in der zweiten Zeile des zweidimensionalen Puffers angeordnet sind, permutiert wird.
  • Schritt S6
  • Die Schritte 4 und 5 werden wiederholt unter Verwendung von p2, p3, p4, p5, p6 und p7, so dass Sequenzen t2 – t7 erhalten werden. Die Sequenzen t2 – t7 werden in Tabellen t2 – t7 ausgebildet, die als Sequenzpermutationstabellen definiert sind, auf die zur Zeit der Permutation der dritten bis achten Zeilen des zweidimensionalen Puffers Bezug genommen wird. Dies bedeutet, dass die in 10 dargestellten Schritte 106 bis 108 wie folgt beschrieben werden können.
  • Erstens, Primzahlen li, die dem Folgenden genügen, werden gewonnen, wobei i = 2 – r und r die Anzahl von Zeilen des zweidimensionalen Feldes ist:
    • (i) (83–1, li) = 1 (82 und li sind gegenseitig prim); und
    • (ii) li > 6.
  • Für r = 8, sind die Primzahlen l2 – l8 zu gewinnen, und unter Bezugnahme auf die in 6 dargestellte Tabelle betragen sie 7, 11, 13, 17, 19, 23 und 29. Dann werden die Elemente von Daten in der Tabelle t0 zyklisch bei Intervallen von li elementweise ausgelesen, so dass die Sequenzpermutationstabellen t2 – t7 erzeugt werden können. In diesem Fall wird die Zahl „0", die am Ende der Tabelle t0 lokalisiert ist, bei der Leseoperation ausgeschlossen.
  • Schritt 7
  • Die Daten, die in der ersten bis achten Zeile des zweidimensionalen Puffers angeordnet sind, in den die Blöcke B1 – B8 eingeschrieben sind, werden in Übereinstimmung mit den Sequenzpermutationstabellen t0 – t7 permutiert. Insbesondere wird die Sequenz der Daten des Blocks B1 in Übereinstimmung mit der Sequenzpermutationstabelle t0 permutiert. Gleichermassen wird die Sequenz der Daten des Blocks B2 in Übereinstimmung mit der Sequenzpermutationstabelle t1 permutiert. Der gleiche Prozess wird für jeden der Blöcke B2 – B7 ausgeführt. Schliesslich wird die Sequenz der Daten des Blocks B8 gemäss der Sequenzpermutationstabelle t8 permutiert.
  • Wie oben beschrieben, werden die Sequenzpermutationstabellen t0 bis t7 erzeugt, und dann wird der Permutationsprozess für die Blöcke B1 – B8 ausgeführt. Alternativ, wie es in 10 dargestellt ist, werden die Erzeugung der Sequenzpermutationstabelle und der Permutationsprozess aufeinanderfolgend für jeden Block ausgeführt.
  • Der Prozess der zweiten Stufe kann so ausgelegt sein, dass die Sequenzpermutationstabellen zuvor vorbereitet und aufgezeichnet werden, und der Permutationsprozess auf die vorher aufgezeichneten Tabellen Bezug nimmt.
  • (Zweite Konfiguration des Verschachtelers 22)
  • Es folgt eine Beschreibung der zweiten Konfiguration des Verschachtelers 22, die mit Ausnahme der zweiten Stufe mit der obigen übereinstimmt. Der Permutationsprozess der zweiten Stufe wird unter Bezugnahme auf Tabellen implementiert, die mittels unten beschriebenen Schritten S11 – S15 erzeugt werden.
  • Schritt S11
  • Der Schritt S11 ist der gleiche wie der zuvor erwähnte Schritt S1. Das bedeutet, der Schritt S11 soll zur Gewinnung der Primitivwurzel g0 des Galois-Feldes des Kennwertes P und zum Erzeugen einer Tabelle T0 dienen, die in der Reihenfolge von Exponentennotation der Primitivwurzel beschreiben ist, in der die Elemente des Galois-Feldes durch Anti-Logarithmen ausgedrückt sind, die in der Reihenfolge von Exponentennotation angeordnet sind. Es sei bemerkt, dass die Tabelle T0 die gleiche wie die in 7B gezeigte Tabelle t0 ist.
  • Schritt S12
  • Der Schritt S12 dient zum Gewinnen von acht Ganzzahlen, die bezüglich der Primitivwurzel g0 die gegenseitige prime Beziehung haben und die zahlenmässig gleich der Anzahl der Zeilen des zweidimensionalen Puffers sind. Die acht Zahlen seien mit q1, q2, q3, q4, q5, q6, q7 und q8 bezeichnet. Ist die Primzahl P beispielweise = 83, beträgt die Primitivwurzel = 2 und die acht Ganzzahlen, welche Primzahlen sind, lauten wie folgt: 3, 5, 7, 11, 13, 17, 19 und 21 (ausschliesslich 1 und 2)
  • Schritt 13
  • Die Primzahl q1 wird hinzugefügt (modP) zu jedem Element von Daten der beim Schritt S12 erhaltenen Tabelle T0. Wenn die Tabelle T0 die folgende Sequenz definiert: T0: 1, 2, 4, 8, 16,..., 42, 0, (5),sieht die resultierende Sequenz für q1 = 3 wie folgt aus: 4, 5, 7, 11, 19,..., 3 (6)
  • Die auf diese Weise gewonnenen Anti-Logarithmuswerte werden umgesetzt in Werte in Exponentennotation. Das folgende wird gewonnen mittels einer Tabelle von 7A, das heisst, der Umkehroperation von 7B: = 2, 27, 8, 24,..., 7, 72 (7).
  • Die auf diese Weise gewonnene Sequenz (7) wird in einer Tabelle ausgebildet, die als eine Sequenzpermutationstabelle T1 für die erste Zeile des zweidimensionalen Puffers verwendet wird.
  • In ähnlicher Weise wird der Schritt S13 wiederholt unter Verwendung von q2, q3, q4, q5, q6, q7 und q8, so dass Sequenzpermutationstabellen T2 – T8 erhalten werden können, die zur Permutation der zweiten bis achten Zeile des zweidimensionalen Puffers benutzt werden.
  • Schritt S15
  • Die Intrapermutation der Blöcke B1 – B8 wird gemäss den Sequenzpermutationstabellen T1 – T8 ausgeführt.
  • Es ist möglich, die Sequenzpermutationstabellen T1 – T8 vorher zu erstellen und in einem Speicher aufzuzeichnen.
  • (Dritte Konfiguration)
  • Unter Bezugnahme auf 9 wird die dritte Konfiguration des Verschachtelers 22 beschrieben.
  • Unter Bezugnahme auf 9 wird eine Eingabesequenz 80, die aus 1140 Bits besteht, in einen Verschachteler 600 mit einem zweidimensionalen Puffer eines 72 × 16-Feldes eingeschrieben. Dann wird jede Zeile des 72 × 16-Verschachtelers 600 für alle 16 Bits ausgelesen. Die erste Zeile des Verschachtelers 600 wird unter Verwendung eines 4 × 4-Verschachtelers 610 verschachtelt, und seine zweite Reihe wird unter Verwendung eines 6 × 3-Verschachtelers 620 verschachtelt. In ähnlicher Weise wird die dritte Zeile des Verschachtelers 600 mit einem 8 × 2-Verschachteler 630 verschachtelt. Dies bedeutet, dass die jeweiligen Zeilen von den unterschiedlichen Verschachtelern verschachtelt werden. Alternativ kann ein identischer Verschachteler zum Verschachteln jeder Zeile des zweidimensionalen Feldes benutzt werden. Es ist auch möglich, einen identischen Verschachteler für einige Zeilen des zweidimensionalen Feldes zu verwenden.
  • Die auf diese Weise verschachtelten Daten werden dann in der Längsrichtung (0, 16, 32, 48, ...) ausgelesen, so dass man eine Ausgabedatensequenz 90 erhält.
  • Da die letzte Zeile des Puffers aus lediglich vier Bits besteht, wird darauf ein 4 × 1-Verschachteler angewendet. Der 4 × 4- oder 2 × 2-Verschachteler kann allerdings auch für die letzte Zeile verwendet werden. Die Daten der letzten Zeile können daraus in der Reihenfolge 1136, 1137, 1138 und 1139 ausgelesen werden. Nach 9 werden allerdings die Daten in der letzten Zeile in der umgekehrten Reihenfolge ausgelesen, nämlich 1139, 1138, 1137 und 1136.
  • Es ist auch möglich, Daten von dem 72 × 16-Verschachteler mit Ausnahme der letzten Zeile auszulesen und danach die Daten der letzten Zeile auszulesen und sie bei vorgegebenen Intervallen zu platzieren.
  • Der Verschachteler 22 kann in irgendeiner der ersten bis dritten Konfigurationen ausgebildet sein. Nachdem die verschachtelten Daten von dem Verschachteler 22 erzeugt sind, wird der in 10 dargestellte Schritt 110 ausgeführt, das heisst der dritte Zustand 43, der in 5 und 8 gezeigt ist.
  • In der ersten und zweiten Konfiguration des Verschachtelers 22 kann der Prozess, der bei Schritt 110 in 10 dargestellt ist, modifiziert werden, um das Auftreten eines Musters zu verhindern, das einen Fehlerboden der Turbocodes verursacht.
  • 11 ist eine Graphik, die einen Fehlerboden darstellt. Mit Fehlerboden wird ein Phänomen bezeichnet, bei dem die Bit-Fehlerrate (BER) nicht ebenso gut wie das Signal-Rausch-Verhältnis (S/N) verbessert wird. In der Darstellung nach 11 beginnt der Fehlerboden aufzutreten, wenn die Bit-Fehlerrate gleich 10–7 bis 10–8 ist, und er wird nicht stark verbessert, selbst wenn die Bit-Fehlerrate weiter verbessert wird.
  • Eingedenk des obigen Phänomens wird es bevorzugt, die Daten von dem zweidimensionalen Feld (Puffer) in einer festen Reihenfolge auszulesen, aber in irgendeiner einer Vielzahl von vorbestimmten Reihenfolgen. Das heisst, es wird bevorzugt, die Reihenfolge des Auslesens der Daten aus dem zweidimensionalen Puffer im Anschluss an die Intrapermutation auf der Basis des Wertes des Fehlerbodens festzulegen. Auf diese Weise ist es somit möglich, das Auftreten des Fehlerbodens in den Turbocodes zu unterdrücken. Wird die Eingabesequenz in zehn Blöcke B1 – B10 unterteilt, werden die Daten aus den Blöcken B10, B9, B8, B7, B6, B5, B4, B3, B2 und B1 in dieser Reihenfolge ausgelesen. Wird die Eingabesequenz in zwanzig Blöcke B1 – B20 unterteilt, werden die Daten aus den Blöcken B19, B9, B14, B4, B0, B2, B5, B7, B12, B18, B16, B13, B17, B15, B3, B1, B6, B11, B8 und B10 in dieser Reihenfolge ausgelesen. Es ist auch möglich, die Daten aus B19, B9, B14, B4, B0, B2, B5, B7, B12, B18, B10, B8, B13, B17, B3, B1, B16, B6, B15 Und B11 auszulesen.
  • Eine vorbestimmten Reihenfolgen zum Auslesen der Daten wir derart ausgewählt, dass das Auftreten des Fehlerbodens unterdrückt werden kann. Wie oben beschrieben, werden, wenn die Eingabesequenz in zehn Blöcke unterteilt wird, die in den zweidimensionalen Puffern eingeschriebenen Daten in der umgekehrten Richtung daraus ausgelesen. Dies ist einfach und leicht zu implementieren.
  • Punktierungsprozess
  • Der in 1A dargestellte herkömmliche Turbocodierer empfängt die K-Bit-Eingabesequenz und gibt die codierte (3× K + T1 + T2)-Bit-Ausgabe aus, wobei T1 die Anzahl von Abschlussbits ausgegeben von RSC1 und T2 die Anzahl von Abschlussbits ausgegeben von RSC2 ist.
  • Im Gegensatz dazu addiert das Bit-Additionsprozessteil 21 des in 3 dargestellten Turbocodierers die a Dummy-Bits zu den N Bits der Eingabesequenz hinzu, so dass (N + a) Bits dem Verschachteler 22, RSC1 und RSC2 zugeführt werden. Dies bedeutet, dass insgesamt 3a Bits Hilfsbits sind. Um die 3a Hilfsbits auszulöschen, führt das Punktierungsprozessteil 23 einen Punktierungsprozess für die 3a Hilfsbits aus. Ein Verfahren zum periodischen Auslöschen der redundanten Bits, geeignet für die Turbocodes, wird generell für den Punktierungsprozess verwendet. Das obige Verfahren kann auf das Punktierungsprozessteil 23 angewendet werden. Der Eingang des Punktierungsprozessteils 23 empfängt somit (3K + 3a + T1 + T2) Bits und gibt (3K + T1 und T2) Bits an die nächste Stufe aus.
  • Zweites Ausführungsbeispiel
  • 12 ist ein Blockschaltbild eines Turbocodierers gemäss einem zweiten Ausführungsbeispiel der Erfindung. In 12 sind Teile, die mit solchen übereinstimmen, die in 3 dargestellt sind, mit den gleichen Bezugszahlen versehen. Der in 12 gezeigte Turbocodierer hat das Bit-Additionsprozessteil 21, das auf der Eingabeseite lediglich des Verschachtelers 22 angeordnet ist. Dies bedeutet, dass die codierte Sequenz X1 die gleiche wie die Eingabedatensequenz von einer Informationsquelle ist. Ferner verarbeitet der RSC1 die Eingabedatensequenz der Informationsquelle an sich. Um die Dummy-Bits zu löschen, die vom Bit-Additionsprozessteil 21 der Eingabedatensequenz hinzugefügt worden sind, ist zwischen dem Verschachteler 22 und dem RSC2 ein Wegschneideprozessteil 123 vorgesehen. Der Verschachteler 22 hat eine der oben erwähnten ersten bis dritten Konfigurationen. Es wird jetzt eine vierte Konfiguration des Verschachtelers 22 beschrieben.
  • Die vierte Konfiguration des Verschachtelers 22 kann man durch geringfügige Modifikation der ersten oder zweiten Konfiguration erhalten. Eine solche Modifikation ist eine Verbesserung hinsichtlich der Gewinnung der Primzahl, nämlich der Anzahl von Spalten in dem zweidimensionalen Feld. Dies wird im Detail unten beschrieben.
  • Das Bit-Additionsprozessteil 21 arbeitet wie folgt. Beim Schritt (1) wird NIN durch 8 dividiert, und man erhält den resultierenden Wert n. Beim Schritt (2) wird die Primzahl P ermittelt, die grösser als n ist und am dichtesten bei n liegt. Ferner werden (P – 1) und (P + 1) erstellt. Dann wird eine von den Zahlen P, (P – 1) und (P + 1), die gleich oder grösser als n ist und am dichtesten bei n liegt, ausgewählt. Beim Schritt (3) wird die Differenz zwischen 8 × P und NIN berechnet, und der resultierende Wert wird mit a bezeichnet. Beim Schritt (4) werden vier Bits (Dummy-Bits) den NIN Bits der Eingabesequenz hinzugefügt.
  • Für NIN = 660 wird unten ein Beispiel beschrieben. Beim Schritt (1) ist n = 660/8 = 82,25 (der Quotient ist 82 und der Rest ist 4). Beim Schritt (2) erhält man aus der in 4 dargestellten Tabelle die Primzahl P, die grösser als 82,25 (= n) ist und diesem Wert am nächsten kommt, mit 83. Ferner ergibt sich (P – 1) = 82 und (P +1) = 84. Da die Zahl 83 grösser als 82,25 und diesem Wert am nächsten kommt, wird die Zahl 83 ausgewählt. Beim Schritt (3) erhält man 83 × 8 = 664, und somit a = 4. Dies bedeutet, dass die Anzahl Dummy-Bits, die zu NIN hinzugefügt werden, gleich 4 ist. Beim Schritt (4) werden der Eingabesequenz von 660 (= NIN) Bits vier Dummy-Bits hinzugefügt. Die vier Dummy-Bits werden beispielsweise an das Ende der 660-Bit-Eingabesequenz angehängt.
  • Die auf diese Weise erhaltene Anzahl (NIN + a) von Bits, das heisst die Anzahl von (K + a) Bits in 3, wird ohne Ausnahme durch 8 dividiert, und der Quotient ist immer irgendeine Zahl der aus der Primzahl P, (P – 1) und (P + 1) bestehenden Zahlengruppe.
  • Wird beim Schritt (2) die Primzahl P ausgewählt, können die Sequenzpermutationstabellen in einer Weise erzeugt werden, die in Verbindung mit 5 beschrieben worden ist. Wird allerdings (P – 1) oder (P + 1) ausgewählt, also beispielsweise 82 oder 84, hat das zweidimensionale Feld 82 oder 84 Spalten, und die Sequenzpermutationstabellen, die P = 83 zugeordnet sind, können somit nicht benutzt werden. Die Sequenzpermutationstabellen, die für 82 oder 84 Spalten geeignet sind, können durch Modifizieren der oben erwähnten Sequenzpermutationstabelle t0 für 83 Spalten erzeugt werden. Dies wird unten beschrieben.
  • 14A zeigt die Sequenzpermutationstabelle t0 für die erste Zeile des zweidimensionalen Feldes mit 83 Spalten, welche Tabelle mit der in 7B gezeigten Tabelle übereinstimmt. Die Sequenzpermutationstabelle für die erste Zeile des Feldes mit 82 Spalten (diese Tabelle sei t0–1 genannt) wird durch Löschen der „0" gewonnen, die am Ende der Sequenz der Tabelle t0 für 83 Spalten lokalisiert ist. Dies bedeutet, dass die eindimensionale Sequenz t0–1 für 82 Spalten wie folgt lautet: t0–1 : 1, 2, 4, 8, 16,...., 42.
  • Die Tabelle t0–1 reicht vom Element 1 bis zum Element 82, und von jedem Element aller Elemente ist die Zahl 1 subtrahiert. Die resultierende Tabelle reicht somit vom Element 0 bis zum Element 81, und sie wird als die Sequenzpermutationstabelle t0–1 für die erste Zeile für 82 Spalten benutzt.
  • Die Sequenzpermutationstabelle für die erste Zeile des Feldes mit 84 Spalten (diese Tabelle sei t0+1 genannt) erhält man durch Addieren der Primzahl P zu der Position, die der Position für „0" am Ende der Sequenz für 83 Spalten am nächsten ist. Dies bedeutet, dass die eindimensionale Sequenz t0+1 für 84 Spalten wie folgt lautet: t0+1 : 1, 2, 4, 8, 16,...., 42, 0, 83.
  • Durch Ausführen von in 10 dargestellten Schritten 106 – 108 werden Sequenzpermutationstabellen t1 – t7, t1–1 – t7–1, und t1+1 – t7+1 für die zweiten bis achten Zeilen der Felder mit 83, 82 beziehungsweise 84 Spalten erzeugt. Es ist möglich, die obigen Tabellen vorher zu erzeugen und aufzuzeichnen.
  • Die Verwendung von (P – 1) und ( P + 1) macht es möglich, die Differenz zwischen der Anzahl der Eingabedatensequenz und der Anzahl der vom Verschachteler 22 verarbeiteten Bits (gleich der Anzahl von Spalten) herabzusetzen und die Anzahl von Bits, die durch den Wegschneideprozess ausgelöscht werden sollen, zu reduzieren.
  • Der Prozess der vierten Konfiguration des in 12 dargestellten Verschachtelers 22 kann auf den in 3 dargestellten Verschachteler 22 angewendet werden.
  • Eine andere Modifikation kann vorgenommen werden. In den ersten und zweiten Ausführungsbeispielen der Erfindung wird die Eingabedatensequenz in eine feste Anzahl von Blöcken unterteilt. Dies kann man so modifizieren, dass k unterschiedliche Anzahlen von Blöcken zur Unterteilung verwendet werden können, wobei k eine Ganzzahl ist, die gleich oder grösser als 2 ist. Somit können k Verschachteler erzeugt werden, und einer unter ihnen, der die beste Leistungsfähigkeit erbringt, wird ausgewählt und verwendet.
  • Es sei ein Fall betrachtet, bei dem k = 10 und 20 ist und die dem Verschachteler 22 zugeführte Eingabedatensequenz aus 640 Bits besteht. Für k = 10 wird die 640-Bit-Eingabedatensequenz in 10 Blöcke unterteilt, und die Sequenzpermutationstabellen für die 10 Blöcke sind mit #1 bezeichnet. Für k = 20 wird die 640-Bit-Eingabedatensequenz in 20 32-Bit-Blöcke unterteilt, und die Sequenzpermutationstabellen für die 20 Blöcke wird mit #2 bezeichnet. Es wird dann einer der Sätze #1 und #2 von Verschachtelern, der die bessere Bitfehlerrate und/oder Rahmenfehlerrate liefert, ausgewählt. Die Eingabedatensequenzen, die aus verschiedenen Anzahlen von Bits bestehen, sollten aufgeteilt werden in verschiedene Anzahlen von Blöcken hinsichtlich der Bit/Rahmen-Fehlerrate. Das heisst, die Anzahl von Blöcken wird adaptiv geändert unter Berücksichtigung der Anzahl von Bits, die die Eingabedatensequenz bilden. Es ist somit möglich, die Leistungsfähigkeit des Turbocodierers zu verbessern.
  • Die Erfindung ist nicht auf die speziell beschriebenen Ausführungsbeispiele, Abwandlungen und Modifikationen beschränkt. Vielmehr können auch andere Abwandlungen und Modifikationen vorgenommen werden, ohne den Schutzumfang der Erfindung zu verlassen.

Claims (22)

  1. Verschachtelungsverfahren, das K Bits von Daten unter Benutzung eines Verschachtelers mit einem Puffer, der in einer zweidimensionalen Matrix angeordnet ist, verschachtelt, gekennzeichnet durch die folgenden Schritte umfassend: (a) Generieren einer Primzahl P basierend auf der Anzahl K von Bits von Daten und der Anzahl N von Reihen des Verschachtelers, so daß die Anzahl von Spalten des Verschachtelers durch die Primzahl P bestimmt ist; (b) Permutieren von Daten in jeder der N Reihen des Verschachtelers gemäß einer Sequenzpermutationstabelle, die speziell für jede der N Reihen generiert worden ist, basierend auf Potenzen einer Primitivwurzel der Primzahl P; (c) Permutieren der N Reihen basierend auf einem vorbestimmten Interpermutationsmuster; und (d) Auslesen von Daten aus dem Puffer in der Spaltenrichtung der zweidimensionalen Matrix.
  2. Verschachtelungsverfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt (b) die Schritte umfaßt: (1) Generieren von Sequenzpermutationsdaten t0, in denen Elemente eines Galois-Feldes eines Kennwertes P in einer Reihenfolge von Werten von Exponententeilen einer Potenznotation einer Primitivwurzel g0 des Galois-Feldes angeordnet sind; (2) Generieren von (N–1) Ganzzahlen p1, p2, ....pN–1, die gegenseitig prim in Bezug auf (P–1) sind; (3) Generieren von ersten bis (N–1)ten Sequenzpermutationsdaten ti (i =1-(N–1)) durch Wiederholen eines Prozesses zum Generieren der iten Sequenzpermutationsdaten durch zyklisches Lesen von Daten in den Sequenzpermutationsdaten t0, die im Schritt (1) erhalten worden sind, bei Intervallen der iten Ganzzahl pi, die im Schritt (2) erhalten worden ist; und (4) Permutieren von Daten in jeder der ersten bis Nten-Reihe des Verschachtelers gemäß den Sequenzpermutationsdaten ti (i = 0 – (N – 1)), und zwar jeweils.
  3. Verschachtelungsverfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt (b) die Schritte umfaßt: (1) Generieren von (N – 1) Ganzzahlen p1, p2,....pN–1, die gegenseitig prim in Bezug auf (P–1) sind; und von (N – 1) Primitivwurzeln g1, g2, ..... gN–1, von denen jede in einer Potenznotation einer Primitivwurzel g0 eines Galois-Feldes eines Kennwertes P unter Benutzung der (N–1) Ganzzahlen p1, p2, ....pN–1 angeordnet ist; (2) Generieren von Sequenzpermutationsdaten t; (i = 0 – (N – 1)), wobei alle der Sequenzpermutationsdaten ti Elemente des Galois-Feldes des Kennwertes P enthalten, die in einer Reihenfolge von Werten von Exponententeilen einer Potenznotation der Primitivwurzel gi angeordnet sind, und zwar für jede der ersten bis Nten Reihe des Verschachtelers; und (3) Permutieren von Daten in jeder der ersten bis Nten Reihe des Verschachtelers gemäß den Sequenzpermutationsdaten ti ( i = 0 – (N – 1)), und zwar jeweils.
  4. Verschachtelungsverfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt (b) die Schritte umfaßt: (1) Generieren von Sequenzpermutationsdaten t0, in denen Elemente eines Galois-Feldes eines Kennwertes P in einer Reihenfolge von Werten von Exponententeilen einer Potenznotation einer Primitivwurzel des Galois-Feldes angeordnet sind; (2) Generieren von N Ganzzahlen q1, q2, ....qN–1, die gegenseitig prim bezüglich der Primitivwurzel sind; und (3) Generieren von Sequenzpermutationsdaten ti ( i = 1 – (N – 1)), wobei alle der Sequenzpermutationsdaten ti Elemente des Galois-Feldes des Kennwertes P enthalten, die in einer Reihenfolge von Werten von Exponentialteilen einer Potenznotation der iten Ganzzahl qi angeordnet sind, die im Schritt (2) erhalten worden ist, wobei diese Ganzzahl dem iten Element der Sequenzpermutationsdaten t0 hinzugefügt wird, die im Schritt (1) erhalten worden sind, und Permutieren von Daten in jeder der ersten bis Nten Reihe des Verschachtelers gemäß den Sequenzpermutationsdaten ti (i = 0 – (N – 1)), und zwar jeweils.
  5. Verschachtelungsverfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Schritt (a) die Schritte umfaßt: (1) Dividieren der Anzahl K der Daten-Bits durch die Anzahl N der Reihen zum Gewinnen eines Quotienten; und (2) Generieren einer Primzahl P, die größer als der Quotient ist und dem Quotienten am nächsten kommt, so daß die Anzahl von Spalten des Verschachtelers dadurch bestimmt wird, daß unter P, (P – 1) und (P + 1) diejenige Zahl ausgewählt wird, die größer als der Quotient ist und dem Quotienten am nächsten kommt.
  6. Verschachtelungsverfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Anzahl N der Reihen des Verschachtelers dadurch bestimmt wird, daß unter einer Mehrzahl von vorbestimmten Ganzzahlen eine solche ausgewählt wird, die optimale Übertragungseigenschaften der verschachtelten Daten vorsieht.
  7. Verschachtelungsverfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß im Schritt (c) die Reihenfolge der Reihen bestimmt wird basierend auf einem Wert eines Fehlerbodens in Turbocodes, in welchen Übertragungseigenschaften der verschachtelten Daten in Betracht gezogen werden.
  8. Verschachtelungsverfahren nach Anspruch 7, dadurch gekennzeichnet, daß die Anzahl N der Reihen des Verschachtelers gleich 10 ist und die Reihenfolge der Reihen, die im Schritt (c) bestimmt wird, die Reihenfolge aus der 10ten Reihe, der 9ten Reihe, der 8ten Reihe, der 7ten Reihe, der 6ten Reihe, der 5ten Reihe, der 4ten Reihe, der 3ten Reihe, der 2ten Reihe und der 1sten Reihe ist.
  9. Verschachtelungsverfahren nach Anspruch 7, dadurch gekennzeichnet, daß die Anzahl N von Reihen des Verschachtelers gleich 20 ist und die Reihenfolge der Reihen, die im Schritt (c) bestimmt wird, die Reihenfolge aus der 20igsten Reihe, der 10ten Reihe, der 15ten Reihe, der 5ten Reihe, der 1sten Reihe, der 3ten Reihe, der 6ten Reihe, der 8ten Reihe, der 13ten Reihe, der 3ten Reihe, der 19ten Reihe, der 17ten Reihe, der 14ten Reihe, der 18ten Reihe, der 16ten Reihe, der 4ten Reihe, der 2ten Reihe, der 7ten Reihe, der 12ten Reihe, der 9ten Reihe und der 11ten Reihe ist.
  10. Verschachteler zum Verschachteln von K Bits von Daten durch Benutzung eines Puffers, der in einer zweidimensionalen Matrix angeordnet ist, gekennzeichnet als umfassend: erste Mittel zum Erzeugen einer Primzahl P basierend auf der Anzahl K von Bits der Daten und der Anzahl N von Reihen des Verschachtelers, so daß die Anzahl von Spalten des Verschachtelers durch die Primzahl P festgelegt ist; zweite Mittel zum Permutieren von Daten in jeder der N Reihen des Verschachtelers gemäß einer Sequenzpermutationstabelle, die speziell für jede der N Reihen basierend auf Potenzen einer Primitivwurzel der Primärzahl P generiert worden ist; dritte Mittel zum Permutieren der N Reihen basierend auf einem vorbestimmten Interpermutationsmuster; und vierte Mittel zum Auslesen von Daten aus dem Puffer in einer Spaltenrichtung der zweidimensionalen Matrix.
  11. Verschachteler nach Anspruch 10, dadurch gekennzeichnet, daß die zweiten Mittel umfassen: Mittel zum Generieren von Sequenzpermutationsdaten t0, in welchen Elemente eines Galois-Feldes eines Kennwertes P in einer Reihenfolge von Werten von Exponententeilen einer Potenznotation einer Primitivwurzel g0 des Galois-Feldes angeordnet sind; Mittel zum Generieren von (N – 1) Ganzzahlen p1, p2 ..., pN–1, die gegenseitig prim bezüglich (P – 1) sind, und zum Generieren von ersten bis (N – 1)ten Sequenzpermutationsdaten ti (i = 1 – (N – 1)) durch Wiederholen eines Prozesses zum Generieren von iten Sequenzpermutationsdaten durch zyklisches Lesen von Daten in den Sequenzpermutationsdaten t0 bei Intervallen der iten Ganzzahl pi; und Mittel zum Permutieren von Daten in jeder der ersten bis Nten Reihe des Verschachtelers gemäß den Sequenzpermutationsdaten ti (i = 0 – (N – 1)), und zwar jeweils.
  12. Verschachteler nach Anspruch 10, dadurch gekennzeichnet, daß die zweiten Mittel umfassen: Mittel zum Generieren von (N – 1) Ganzzahlen p1, p2 ..., pN–1, die gegenseitig prim bezüglich (P – 1) sind, so daß (N – 1) Primitivwurzeln g1, g2, ..... gN–1 generiert werden, wobei jede der Primitivwurzeln in einer Potenznotation einer Primitivwurzel g0 eines Galois-Feldes eines Kennwertes P unter Benutzung der (N – 1) Ganzzahlen p1, p2 ..., pN–1 angeordnet werden, und zum Generieren von Sequenzpermutationsdaten ti ( i = 0 – (N – 1)), wobei alle der Sequenzpermutationsdaten ti Elemente des Galois-Feldes des Kennwertes P enthalten, die in einer Reihenfolge von Werten von Exponententeilen einer Potenznotation der Primitivwurzel gi für jede der ersten bis Nten-Reihe des Verschachtelers angeordnet sind; und Mittel zum Permutieren von Daten in jede der ersten bis Nten-Reihe des Verschachtelers gemäß den Sequenzpermutationsdaten ti (i = 0 – (N – 1)), und zwar jeweils.
  13. Verschachteler nach Anspruch 10, dadurch gekennzeichnet, daß die zweiten Mittel umfassen: Mittel zum Generieren von Sequenzpermutationsdaten t0, in denen Elemente eines Galois-Feldes eines Kennwertes P in einer Reihenfolge von Werten von Exponententeilen einer Potenznotation einer Primitivwurzel des Galois-Feldes angeordnet sind; Mittel zum Generieren von N Ganzzahlen q1, q2,.... qN–1, die gegenseitig prim bezüglich der Primitivwurzel sind, so daß Sequenzpermutationsdaten ti (i = 0 – (N – 1)) generiert werden, wobei alle der Sequenzpermutationsdaten ti Elemente des Galois-Feldes des Kennwertes P enthalten, die in einer Reihenfolge von Werten von Exponentialteilen einer Potenznotation der iten Ganzzahl qi angeordnet sind, welche Ganzzahl dem iten Element der Sequenzpermutationsdaten t0 hinzugefügt wird; und Mittel zum Permutieren von Daten in jeder der ersten bis Nten-Reihe des Verschachtelers gemäß den Sequenzpermutationsdaten ti (i = 0 – (N – 1)), und zwar jeweils.
  14. Verschachteler nach Anspruch 10, dadurch gekennzeichnet, daß die ersten Mittel die Anzahl K der Daten-Bits durch die Anzahl N der Reihen dividieren, um einen Quotienten zu gewinnen, und eine Primzahl P generieren, die größer als der Quotient ist und dem Quotienten am nächsten ist, so daß die Anzahl von Spalten des Verschachtelers dadurch bestimmt wird, daß unter P, (P – 1) und (P + 1) eine solche Zahl ausgewählt wird, die größer als der Quotient ist und dem Quotienten am nächsten kommt.
  15. Verschachteler nach einem der Ansprüche 10 bis 14, dadurch gekennzeichnet, daß die Anzahl N der Reihen des Verschachtelers bestimmt wird durch Auswahl einer aus einer Vielzahl von vorbestimmten Ganzzahlen derart, daß optimale Übertragungseigenschaften der verschachtelten Daten mit der Anzahl N der Reihen, die gleich der ausgewählten Ganzzahl sind, erzielt werden.
  16. Verschachteler nach einem der Ansprüche 10 bis 15, dadurch gekennzeichnet, daß die Reihenfolge der Reihen durch die dritten Mittel basierend auf einem Wert eines Fehlerbodens in Turbocodes hinsichtlich der Übertragungseigenschaften der verschachtelten Daten bestimmt wird.
  17. Turbocodierungsverfahren, umfassend die Schritte: (a) Ausgeben einer Sequenz von Eingabedaten; (b) Ausführen einer Faltungscodierung der Eingabedatensequenz, um eine Sequenz der codierten Ausgabedaten auszugeben; (c) Verschachteln der Eingabedatensequenz gemäß dem Verschachtelungsverfahren nach einem der Ansprüche 1 bis 9, um eine Sequenz der verschachtelten Daten auszugeben; und (d) Ausführen einer Faltungscodierung der durch Schritt (c) ausgegebenen verschachtelten Daten, um eine Sequenz der codierten verschachtelten Daten auszugeben.
  18. Turbocodierungsverfahren nach Anspruch 17, ferner umfassend die Schritte: (e) Hinzufügen von Bits zu der Eingabedatensequenz vor dem Verschachtelungsschritt (c), wenn eine Anzahl von Bits der Eingabendatensequenz kleiner ist als eine vorgegebene Anzahl von Bits, so daß die Anzahl von Bits der Eingabedatensequenz zusammen mit den addierten Bits gleich der gegebenen Anzahl ist; und (f) Entfernen von Bits aus der verschachtelten Datensequenz nach dem Verschachtelungsschritt (c), so daß die Anzahl der entfernten Bits gleich der Anzahl der addierten Bits ist.
  19. Turbocodierungsverfahren nach Anspruch 18, bei dem der Bit-Addierschritt (c) Leerbits (Dummy-Bits) verwendet.
  20. Turbocodierer, enthaltend: einen ersten Faltungscodierer, der eine Faltungscodierung einer Sequenz von Eingabedaten ausführt, um eine Sequenz der codierten Eingabedaten auszugeben; ein Verschachtelungsgerät nach einem der Ansprüche 10 bis 16, welches Verschachtelungsgerät zum Verschachteln der Sequenz der Eingabedaten ausgebildet ist, um eine Sequenz der verschachtelten Daten auszugeben; und einen zweiten Faltungscodierer, der zum Ausführen einer Faltungscodierung der Sequenz der verschachtelten Daten vom Verschachtelungsgerät ausgebildet ist, um eine Sequenz der codierten verschachtelten Daten auszugeben.
  21. Turbocodierer nach Anspruch 20, ferner enthaltend: Mittel zum Addieren von Bits zu der dem Turbocodierer zugeführten Eingabedatensequenz, wenn eine Anzahl von Bits der Eingabedatensequenz kleiner als eine vorgegebene Anzahl von Bits ist; und Mittel zum Entfernen von Bits aus der Sequenz der verschachtelten Daten, so daß eine Ausgabedatensequenz des Turbocodierers dieselbe Anzahl von Bits wie die Eingabedatensequenz hat.
  22. Turbocodierer nach Anspruch 21, bei dem die Mittel zum Addieren von Bits Leerbits (Dummy-Bits) verwenden.
DE60009973T 1999-02-19 2000-02-18 Verschachtelungsverfahren, Verschachtelungsgerät, Turbokodierungsverfahren und Turbokodierer Expired - Lifetime DE60009973T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP4213799 1999-02-19
JP4213799 1999-02-19
JP9816099 1999-04-05
JP9816099 1999-04-05

Publications (2)

Publication Number Publication Date
DE60009973D1 DE60009973D1 (de) 2004-05-27
DE60009973T2 true DE60009973T2 (de) 2005-04-07

Family

ID=26381791

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60009973T Expired - Lifetime DE60009973T2 (de) 1999-02-19 2000-02-18 Verschachtelungsverfahren, Verschachtelungsgerät, Turbokodierungsverfahren und Turbokodierer

Country Status (8)

Country Link
US (1) US6553516B1 (de)
EP (1) EP1030455B1 (de)
KR (1) KR100404898B1 (de)
CN (1) CN1171391C (de)
AU (1) AU738693B2 (de)
CA (1) CA2298919C (de)
DE (1) DE60009973T2 (de)
SG (1) SG80092A1 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2266283C (en) * 1999-03-19 2006-07-11 Wen Tong Data interleaver and method of interleaving data
US7302621B2 (en) 2000-01-03 2007-11-27 Icoding Technology, Inc. High spread highly randomized generatable interleavers
US6775800B2 (en) * 2000-01-03 2004-08-10 Icoding Technology, Inc. System and method for high speed processing of turbo codes
DE10008064B4 (de) * 2000-02-22 2009-07-02 Siemens Ag Verfahren zum Anpassen der einem Turbo-Codierer zuzuführenden Datenblöcke und entsprechende Kommunikationsvorrichtung
JP2001285077A (ja) * 2000-03-31 2001-10-12 Mitsubishi Electric Corp 通信装置および通信方法
JP4409048B2 (ja) * 2000-05-22 2010-02-03 三菱電機株式会社 通信装置および通信方法
KR100393608B1 (ko) * 2000-09-29 2003-08-09 삼성전자주식회사 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법
US20020078416A1 (en) * 2000-12-01 2002-06-20 Hitachi, Ltd. Method of recording/reproducing digital data and apparatus for same
KR100361033B1 (ko) * 2001-01-16 2003-01-24 한국과학기술원 비균일 반복부호를 바탕으로 한 터보부호를 쓰는다중반송파 직접수열 부호분할 다중접속 시스템
EP1229662A1 (de) * 2001-02-06 2002-08-07 Alcatel Espana, S.A. Verfahren und Ausführung zur Turbokodierung in einer Satellittendatenkommunikation
US8054810B2 (en) * 2001-06-25 2011-11-08 Texas Instruments Incorporated Interleaver for transmit diversity
US7085969B2 (en) * 2001-08-27 2006-08-01 Industrial Technology Research Institute Encoding and decoding apparatus and method
JP3624874B2 (ja) * 2001-11-19 2005-03-02 日本電気株式会社 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
US7085984B2 (en) * 2001-12-28 2006-08-01 Samsung Electronics Co., Ltd. System and method for providing an improved channel encoder in a digital data communications system
US7236480B2 (en) * 2002-06-07 2007-06-26 Sandbridge Technologies, Inc. Method of first interleaving of a two interleaver transmitter
US7091889B2 (en) 2002-09-09 2006-08-15 Telefonaktiebolaget Lm Ericsson (Publ) Speed and memory optimized interleaving
CN100397787C (zh) * 2004-01-02 2008-06-25 明基电通股份有限公司 区块交错与解交错的编码方法
KR101131323B1 (ko) * 2004-11-30 2012-04-04 삼성전자주식회사 이동통신 시스템에서 채널 인터리빙 장치 및 방법
US7340669B2 (en) * 2005-03-11 2008-03-04 Via Telecom Co., Ltd. Memory efficient streamlined transmitter with a multiple instance hybrid ARQ
US7797615B2 (en) * 2005-07-07 2010-09-14 Acer Incorporated Utilizing variable-length inputs in an inter-sequence permutation turbo code system
US20070011557A1 (en) * 2005-07-07 2007-01-11 Highdimension Ltd. Inter-sequence permutation turbo code system and operation methods thereof
US7856579B2 (en) * 2006-04-28 2010-12-21 Industrial Technology Research Institute Network for permutation or de-permutation utilized by channel coding algorithm
US7512863B2 (en) * 2005-10-12 2009-03-31 Qualcomm Corporation Turbo code interleaver for low frame error rate
JP2008135813A (ja) * 2006-11-27 2008-06-12 Fujitsu Ltd ターボ復号器及びターボ復号方法
US7975203B2 (en) * 2007-01-17 2011-07-05 Broadcom Corporation Quadratic polynomial permutation (QPP) interleaver providing hardware savings and flexible granularity adaptable to any possible turbo code block size
US8120989B2 (en) 2007-06-25 2012-02-21 Qualcomm Incorporated Concurrent multiple-dimension word-addressable memory architecture
EP2139120B1 (de) * 2008-06-23 2019-01-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Interleaver
US7667628B2 (en) 2008-06-23 2010-02-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Interleaver for scrambling and information word
DE102008029623A1 (de) 2008-06-23 2009-12-24 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Interleaver
US8712040B2 (en) * 2010-01-22 2014-04-29 Harlan J. Brothers Data-conditioned encryption method
US8850276B2 (en) * 2011-09-22 2014-09-30 Lsi Corporation Systems and methods for efficient data shuffling in a data processing system
CN105635065B (zh) * 2014-10-31 2019-07-19 上海复旦微电子集团股份有限公司 数据传输方法及装置
US10201026B1 (en) 2016-06-30 2019-02-05 Acacia Communications, Inc. Forward error correction systems and methods
CN111034057B (zh) * 2017-08-23 2022-04-22 华为技术有限公司 一种生成多核极化码的设备及方法
US10505676B1 (en) 2018-08-10 2019-12-10 Acacia Communications, Inc. System, method, and apparatus for interleaving data
CN110690907B (zh) * 2019-09-27 2023-04-25 电子科技大学 一种已知支路信息turbo码删除模式估计方法
CN110535478B (zh) * 2019-09-27 2023-02-07 电子科技大学 一种DVB-RCS2协议中双输入类Turbo码闭集识别方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA42709A (en) * 1893-04-21 The Grasselle Chemical Company Method of treating sludge
JPS574629A (en) * 1980-05-21 1982-01-11 Sony Corp Data transmitting method capable of correction of error
JPS5961332A (ja) * 1982-09-30 1984-04-07 Nec Corp 誤り訂正回路
EP0341851A3 (de) * 1988-05-12 1991-06-12 Digital Equipment Corporation Verfahren und Gerät für verschachtelte Kodierung
FR2675971B1 (fr) * 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
JP3257051B2 (ja) * 1992-08-14 2002-02-18 ソニー株式会社 インターリーブ回路及びデ・インターリーブ回路
FR2706054B1 (fr) * 1993-06-02 1995-07-13 Alcatel Mobile Comm France Procédé d'entrelacement d'une séquence d'éléments de données, et dispositif d'entrelacement correspondant.
JPH08265175A (ja) * 1995-03-23 1996-10-11 Toshiba Corp 符号化装置、復号装置及び伝送方式
JPH09116444A (ja) * 1995-10-23 1997-05-02 Sony Corp インターリーブ装置、符号化装置、デインターリーブ装置、復号装置、及び伝送方法
EP1005726B1 (de) * 1998-03-31 2003-10-15 Samsung Electronics Co., Ltd. TURBOENKODER/DEKODER UND VON DER SERVICEQUALITÄT (QoS) ABHÄNGIGES RAHMENVERARBEITUNGSVERFAHREN
US6347385B1 (en) 1998-08-03 2002-02-12 Nortel Networks Limited Interleavers for turbo code

Also Published As

Publication number Publication date
KR20000076697A (ko) 2000-12-26
EP1030455A3 (de) 2002-04-17
EP1030455B1 (de) 2004-04-21
CA2298919C (en) 2006-04-18
AU1760300A (en) 2000-08-24
KR100404898B1 (ko) 2003-11-07
DE60009973D1 (de) 2004-05-27
EP1030455A2 (de) 2000-08-23
AU738693B2 (en) 2001-09-27
CA2298919A1 (en) 2000-08-19
CN1171391C (zh) 2004-10-13
US6553516B1 (en) 2003-04-22
SG80092A1 (en) 2001-04-17
CN1274202A (zh) 2000-11-22

Similar Documents

Publication Publication Date Title
DE60009973T2 (de) Verschachtelungsverfahren, Verschachtelungsgerät, Turbokodierungsverfahren und Turbokodierer
DE10030407B4 (de) Verfahren zur optimalen Ratenanpassung in einem Mobilkommunikationssystem
DE60032441T2 (de) Vorrichtung und verfahren zur turboverschaltelung
DE69910989T2 (de) Ver-und entschachtelungsvorrichtung und verfahren für ein kommunikationssystem
DE69838451T2 (de) Verfahren und schaltung zur adaptiven kanalkodierung
DE60020637T2 (de) Ratenanpassung und Kanalverschachtelung für ein Kommunikationssystem
DE69936683T2 (de) Verschachtelung unter Verwendung von Inkrementen basierend auf dem Goldenen Schnitt
DE69215743T2 (de) Fehlerkorrekturkodierungsverfahren mit mindestens zwei parallellen, systematischen Faltungsenkodern, iterativem Dekodierungsverfahren, Dekodierungsmodul und Dekoder dafür
DE69432571T2 (de) Verfahren und Vorrichtung zur Verschachtelung einer Folge von Datenelementen
DE60034203T2 (de) Vorrichtung zur übereinstimmung der datenrate und verfahren zur datenübertragung
DE69934606T2 (de) Turbodekoder und verschachtel-/endschachtelapparat
DE60124488T2 (de) Verschachteler und Verschachtelungsverfahren für einen UMTS Turboenkoder
DE60002705T2 (de) Binnen-reihen permutationen für turbocode
DE602005002815T2 (de) Verfahren und Vorrichtung zur Erzeugung eines Low-Density Parity-Check (LDPC) Codes
DE60221929T2 (de) Vorrichtung und Verfahren für Codegenerierung in einem Kommunikationssystem
DE3852423T2 (de) Kodierverfahren und Kodierer mit Reed-Solomon Fehlerkorrekturcode.
DE69907011T2 (de) Verallgemeinerter faltungsver- und -entschachteler
DE69936908T2 (de) Iterative dekodierung von produktkoden
DE69837077T2 (de) Verschachteler für Turbo-Kodierer
DE60108892T2 (de) Modul, vorrichtung und verfahren zum hochbitratigen dekodieren eines verketteten codes
DE60016561T2 (de) Blockverschachtelung für turbokodierung
DE60316428T2 (de) Verfahren, Kodierer und Kommunikationsvorrichtung zur Kodierung von parallel verketteten Daten
DE60112445T2 (de) Modifikation eines Verschachtelermusters
DE2217935A1 (de) Anordnung und Verfahren zur Korrektur von Doppelfehlern
DE69837784T2 (de) Verbessertes fünf-fehler-korrektursystem

Legal Events

Date Code Title Description
8363 Opposition against the patent
8328 Change in the person/name/address of the agent

Representative=s name: JUNG HML, 80799 MUENCHEN

8328 Change in the person/name/address of the agent

Representative=s name: HML, 80799 MUENCHEN

R082 Change of representative

Ref document number: 1030455

Country of ref document: EP

Representative=s name: PIER LUIGI DE ANNA, 81675 MUENCHEN, DE