DE60002705T2 - Binnen-reihen permutationen für turbocode - Google Patents

Binnen-reihen permutationen für turbocode Download PDF

Info

Publication number
DE60002705T2
DE60002705T2 DE60002705T DE60002705T DE60002705T2 DE 60002705 T2 DE60002705 T2 DE 60002705T2 DE 60002705 T DE60002705 T DE 60002705T DE 60002705 T DE60002705 T DE 60002705T DE 60002705 T2 DE60002705 T2 DE 60002705T2
Authority
DE
Germany
Prior art keywords
values
matrix
data
elements
memory
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
DE60002705T
Other languages
English (en)
Other versions
DE60002705D1 (de
Inventor
Bin Li
Wen Tong
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.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Ltd
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 Nortel Networks Ltd filed Critical Nortel Networks Ltd
Publication of DE60002705D1 publication Critical patent/DE60002705D1/de
Application granted granted Critical
Publication of DE60002705T2 publication Critical patent/DE60002705T2/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/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/2789Interleaver providing variable interleaving, e.g. variable block sizes
    • 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
    • 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
    • H03M13/2714Turbo interleaver for 3rd generation partnership project [3GPP] universal mobile telecommunications systems [UMTS], e.g. as defined in technical specification TS 25.212
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/65583GPP2

Landscapes

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

Description

  • Gebiet der Erfindung
  • Diese Erfindung bezieht sich allgemein auf Kommunikationssysteme und insbesondere auf Verschachteler zur Durchführung einer Code-Modulation.
  • Hintergrund der Erfindung
  • Es wurde festgestellt, dass Techniken zur Codierung von Kommunikationssignalen, die als codierte Modulation bekannt sind, die Bitfehlerrate (BER) von elektronischen Kommunikationssystemen, wie z. B. Modems und drahtlosen Kommunikationssystemen, verbessern. Eine turbocodierte Modulation hat sich als ein praktisches, leistungseffizientes und bandbreiteneffizientes Modulationsverfahren für Kanäle mit „zufälligem Fehler" erwiesen, die durch ein additives weißes Gauß'sches Rauschen (AWGN) oder einen Schwund gekennzeichnet sind. Diese einen zufälligen Fehler aufweisenden Kanäle finden sich beispielsweise in der Codemultiplex-Vielfachzugriffs- (CDMA-) Umgebung. Weil die Kapazität einer CDMA-Umgebung von dem Verhältnis des Betriebssignals zum Rauschen oder Störungen abhängt, setzt sich ein verbessertes Betriebsverhalten in eine höhere Kapazität um.
  • Ein Aspekt von Turbo-Codierern, der sie so effektiv macht, ist ein Verschachteler, der den ursprünglich empfangenen oder ausgesandten Datenrahmen permutiert, bevor er in einen zweiten Codierer eingegeben wird. Die Permutierung wird dadurch durchgeführt, dass Teile des Signals auf der Grundlage eines oder mehrerer Zufallsgenerator-Algorithmen randomisiert oder zufällig gemacht wird. Es wurde gezeigt, dass eine Kombination der permutierten Datenrahmen mit den ursprünglichen Datenrahmen niedrige BER-Werte in AWGN- und mit Schwund behafteten Kanälen ergibt. Der Verschachtelungsprozess vergrößert die Diversity in den Daten derart, dass wenn das modulierte Symbol bei der Übertragung verzerrt wird, der Fehler mit Hilfe von Fehlerkorrekturalgorithmen in dem Decodierer beseitigbar sein kann.
  • Ein üblicher Verschachteler sammelt die zu übertragenden Signalpunkte in einer Matrix oder bildet einen Rahmen hiervon in einer Matrix, wobei die Matrix aufeinanderfolgend Reihe für Reihe aufgefüllt wird. Nachdem eine vorher definierte Anzahl von Signalpunkten in einem Rahmen angeordnet wurde, wird der Verschachteler dadurch geleert, dass die Matrix Spalte für Spalte zur Übertragung sequenziell ausgelesen wird. Als Ergebnisse sind Signalpunkte in der gleichen Reihe der Matrix, die sich in dem ursprünglichen Signalflusspunkt nahe beieinander befanden, nunmehr durch eine Anzahl von Signalpunkten getrennt, die gleich der Anzahl von Reihen in der Matrix ist. In idealer Weise würde die Anzahl von Spalten und Reihen so gewählt, dass wechselseitig voneinander abhängige Signalpunkte nach der Übertragung voneinander um mehr als die erwartete Länge eines Fehlerbursts für den Kanal getrennt sein würden.
  • Eine ungleichförmige Verschachtelung erzielt eine „maximale Streuung" der Daten und eine „maximale Unordnung" der Ausgangssequenz oder Ausgangsfolge. Somit ist die durch die zwei Faltungscodierer eingeführte Redundanz gleichförmiger in der Ausgangssequenz des Turbo-Codierers aufgespreizt. Der minimale Abstand wird auf wesentlich höhere Werte als für eine gleichförmige Verschachtelung vergrößert. Ein immer noch bestehendes Problem für eine ungleichförmige Verschachtelung besteht darin, wie die Verschachtelung in praktischer Weise realisiert werden kann, während gleichzeitig eine ausreichende „Ungleichförmigkeit" erzielt wird und die Verzögerungskompensationen, die die Verwendung für Anwendungen mit Echtzeitanforderungen beschränken, zu einem Minimum gemacht werden.
  • Die US-A-5 742 612 offenbart ein Verfahren zum Verschachteln von Datenelementen unabhängig von der Anzahl von Elementen in der zu verschachtelnden Folge. Die Zwangsbedingungen, die der Länge der verschachtelten Folge durch ein Übertragungssystem auferlegt werden, wenn die Anzahl der Elemente in der Folge von wesentlicher Bedeutung ist, wird erläutert.
  • Das Auffinden eines effektiven Verschachtelers ist ein dauerndes Gesprächsthema bei Aktivitäten hinsichtlich der dritten Generation von CDMA-Normen. Es wurde festgestellt und es besteht allgemein Übereinstimmung, dass, wenn sich die Rahmengröße dem Wert von unendlich nähert, der effektivste Verschachteler der Zufalls-Verschachteler ist. Für endliche Rahmengrößen ist die Entscheidung hinsichtlich des effektivsten Verschachteler immer noch ein Diskussionspunkt. Eine Verringerung der Größe des Speicherraumes (RAM oder ROM) der benötigt wird, um die Information zu speichern, die erforderlich ist, um ein Verschachtelungsschema durchzuführen, ist ebenfalls ein Gegenstand der derzeitigen Diskussion.
  • Entsprechend gibt es einen Bedarf an Systemen und Verfahren zur Verschachtelung von Codes, die die Ungleichförmigkeit für endliche Rahmengrößen verbessern.
  • Es gibt weiterhin einen Bedarf an derartigen Systemen und Verfahren zur Verschachtelung von Codes, die relativ einfach zu realisieren sind und die einen relativ geringen Speicherraumbedarf haben.
  • Es ist somit ein Ziel der vorliegenden Erfindung, Systeme und Verfahren zur Verschachtelung von Codes zu schaffen, die die Ungleichförmigkeit für endliche Rahmengrößen verbessern.
  • Es ist weiterhin ein Ziel der vorliegenden Erfindung, Systeme und Verfahren zur Verschachtelung von Codes zu schaffen, die relativ einfach zu realisieren sind und die einen relativ geringen Speicherplatzbedarf haben.
  • Diese und andere Ziele der Erfindung werden für den Fachmann aus der folgenden Beschreibung ersichtlich.
  • Zusammenfassung der Erfindung
  • Die vorstehenden Ziele und andere können durch die vorliegende Erfindung erreicht werden, die einen Verschachteler zur Verschachtelung dieser Datenrahmen einschließt. Der Verschachteler schließt einen Speicherbereich ein, der eine Matrix enthält, die groß genug ist, um den größten zu erwartenden Datenrahmen zu speichern. Ein Rahmen mit der Größe von L Elementen, die zu verschachteln sind, wird in Nr (I) Reihen und Nc (I) Spalten der Matrix gespeichert, worin Nr (I) eine vorgegebene ganze Zahl ist und Nc (I) eine Primzahl ist, die die folgende Ungleichung erfüllt: Nr (I) × Nc (I–1) < L < Nr (I) × Nc (I) worin Nc (I–1) die höchste Primzahl ist, die kleiner als Nc (I) ist. Die Elemente jeder Reihe werden entsprechend einer vorgegebenen mathematischen Beziehung permutiert, und die Reihen werden entsprechend einer vorgegebenen Abbildung permutiert.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird klarer unter Bezugnahme auf die folgende ausführliche Beschreibung eines Ausführungsbeispiels in Verbindung mit den beigefügten Zeichnungen verständlich, in denen:
  • 1 eine schnelle Modulo-Rechenausführungsform gemäß der vorliegenden Erfindung zeigt; und
  • 2 die Struktur eines Verschachtelers gemäß der vorliegenden Erfindung zeigt.
  • Ausführliche Beschreibung der Erfindung
  • Die vorliegende Erfindung findet Ausführungsformen als ein Turbo-Codierer in einem CDMA-Funkkommunikationssystem. Ein Strom von zu übertragenden Bits wird in eine Serie von Rahmen unterteilt, wobei jeder Rahmen eine Anzahl L von Elementen einschließt, wobei jedes Element zumindest ein Bit ist.
  • Jeder Rahmen ist vor der Übertragung oder Aussendung zu verschachteln. Wenn es eine große Anzahl von möglichen Rahmengrößen L gibt, führt die Spezifikation eines Verschachtelers für jede mögliche Rahmengröße zu einer Notwendigkeit des Speicherns einer großen Anzahl von Parametern.
  • Die Erfindung verringert die Anzahl der Parameter, die gespeichert werden müssen, durch Bereitstellen einer reduzierten Anzahl von Prototyp-Verschachteleen (oder Mutter-Verschachtelern), jeweils für eine einer Teilmenge von Rahmengrößen, durch Auswählen eines der Mutter-Verschachteler, der zumindest groß genug ist, um einen derzeitigen Rahmen der Größe L zu verschachteln, und durch Punktieren des verschachtelten Rahmens auf eine Größe von L Bits.
  • Die maximale Größe einer Matrix zum Speichern eines zu verschachtelnden Rahmens ist Nr Reihen × Nc Spalten. Für eine vorgegebene Rahmengröße L wird ein Mutter-Verschachteler gewählt, der eine Matrix mit der Größe von
    Nr (I) Reihen × Nc (I) Spalten derart aufweist, dass: Nr (I) × Nc (I–1) < L < Nr (I) × Nc (I) und nach dem Verschachteln wird die Matrix auf die Größe L punktiert.
  • Obwohl es möglich ist, einen guten Mutter-Verschachteler mit exakten Dimensionen Nr (I) × Nc (I) zu konstruieren, kann die Betriebsleistung für eine Rahmengröße, die von der Größe des Mutter-Verschachtelers punktiert ist, bei irgendwelchen üblichen Systemen nicht garantiert werden.
  • Die Erfindung stellt einen Verschachteler bereit, der sich an willkürliche Rahmengrößen dadurch anpassen kann, dass ein Schema für eine geeignete Auswahl (Optimierung) von Parametern geschaffen wird:
    Nr (I) 1 = 1, 2, ... R (max. Anzahl von Reihen)
    Nc (I) 1 = 1, 2, ... C (max. Anzahl von Spalten)
  • Bei einer Ausführungsform der Erfindung wird ein fester Wert für die Anzahl von Reihen Nr ausgewählt, und die Anzahl der Spalten Nc (I) wird aus einem Satz von Primzahlen (ungleichförmiges Gitter) ausgewählt, d. h. Nc (I) = PI. (In einer alternativen Ausführungsform der Erfindung wird ein gleichförmiges Gitter verwendet, wie z. B. PI = 1 × Delta).
  • Der Kern der Verschachtelungsprozedur, die die vorliegende Erfindung verwendet, umfasst allgemein Folgendes:
    • i) Schreiben der Rahmenelemente Reihe für Reihe in die Nr (I) × Nc (I)-Arbeitsmatrix;
    • ii) Permutieren der Spalten i jeder Reihe j entsprechend cj(i) = [αj × cj(i – 1)]modPI j = 1, 2, ... R i = 1, 2, ... C
    • iii) Permutieren der Reihen gemäß einer vorgegebenen Abbildung; und
    • iv) Auslesen der Rahmenelemente Spalte für Spalte.
  • Die Zwischenreihen-Permutation (Punkt ii) beruht auf einem vollständigen Restsystem von Modulo PI. D. h., αj wird aus allen möglichen exponentiellen kongruenten Wurzeln von PI ausgewählt: αj = {α1, αj2 ... α0}
  • Die Zwischenreihen-Permutation verwendet eine spezielle Wurzel, die als die primitive Wurzel αP der Primzahl PI bezeichnet wird, um den Satz von Wurzeln αj zu konstruieren, indem ein reduziertes Restsystem wie folgt verwendet wird: α j = αP P(1)P P(2), ... αϕ p(R)
  • Es sei bemerkt, dass α j eine Teilmenge von αj ist. Der Vorteil der Verwendung dieses speziellen reduzierten Systems besteht in der Hinzufügung zusätzlicher Zwangsbedingungen für die Zwischenreihen-Permutations-Wurzeln, um die Suchberechnung für die Parameteroptimierung zu vereinfachen.
  • Für eine Ausführungsform der Erfindung wird ein Satz von Primzahlen gewählt:
    {p(1), p(2), ... p(R))
    unter der Bedingung, dass
    gcd{p(i), PI – 1} = 1
    (gcd bezeichnet den „größten gemeinsamen Nenner").
  • In einem derartigen Fall ist: cI(i) = [αp p(I) × cI(i – 1)]modPI äquivalent zu einer dezimierten Abtastung (mit einem Ratenabtastverhältnis p(I)) des vollständigen Restsystems, das durch die primitive oder Grund-Wurzel erzeugt wird. Daher kann die Zwischenreihen-Permutation wie folgt ausgeführt werden:
    • a) Permutieren der ersten Reihe unter Verwendung der primitiven Wurzel αp von PI: cI(i) = [αp p(I) × cI(i – 1)]modPI und
    • b) Permutieren des Restes der Reihen unter Verwendung der zyklischen Verschiebung um p(j) der Permutation der ersten Reihe: cj(i) = cI([i × p(j))]modPI .
  • Dies ist äquivalent zu der zyklischen Gruppe cj(i) = [αj p(j)cj(i – 1)]modPI) worin j = 2, 3, ... R
    i = 1, 2, ... C ist.
  • In diesem Fall ist die Zwischenreihen-Permutationsregel eine deterministische Regel. Die Verschachteler-Optimierung wird durch Suchen eines Satzes von Primzahlen für die zyklische Verschiebung des vollständigen primitiven Restsystems ausgeführt. Wenn beispielsweise R = 20 ist (d. h. eine Matrix mit 20 Reihen und PI Spalten), so könnte ein Primzahlensatz wie folgt gewählt werden:
    p(I) = {7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83}
    (Beispiel 1)
  • Für jede Primzahl (Spaltennummer) wird ein derartiger Satz gewählt. Um einen Bereich von Rahmengrößen von 320 Bits bis 8192 Bits abzudecken, werden zumindest 75 Mutter-Verschachteler vorgesehen. Die Spaltenabmessungen, die für jeden verwendet werden, sind in Tabelle 1 zusammen mit den zugehörigen primitiven Wurzeln aufgeführt. 76 Primzahlen sind in Tabelle 1 aufgeführt, um einen Wert für den niedrigsten Nc (I–1) zu liefern.
  • TABELLE 1
    Figure 00080001
  • In einer praktischen Ausführungsform der vorliegenden Erfindung wird der Speicherbedarf für den Satz von primitiven Wurzeln dadurch verringert, dass ein Satz von 21 aufeinanderfolgenden Primzahlen (in dem vorliegenden Beispiel (Beispiel 1), Addieren der Primzahl 89 zu den beispielhaften 20 Primzahlen p(I), die vorstehend angegeben wurden) verwendet wird.
  • Dann ergibt sich zumindest eine Zahl, die nicht die Gleichung gdc{p(i), PI – 1} = 1 erfüllt.
  • In einem Fall, in dem eine derartige Zahl auftritt, wird sie aus dem p(I)-Satz punktiert. In einem Fall, in dem alle Primzahlen in p(I) eine derartige Bedingung erfüllen, wird die letzte (einundzwanzigste) Primzahl (89 im vorliegenden Beispiel (Beispiel 1)) punktiert. Somit ergibt sich für jede in der Tabelle 1 (Spalte A) angegebene Primzahl außerdem die primitive Wurzel (Spalte B) und die Position, die punktiert werden sollte (Spalte C). Der Speicherbedarf für die in Tabelle 1 angegebenen Daten ist wie folgt:
    Primzahlen: 589 Bits
    Primitive Wurzeln: 159 Bits
    Punktierungsmuster: 322 Bits
    Primzahlensatz p(I): 120 Bits
    Gesamt: 1190 Bits oder 149 Bytes.
  • Eine Ausführung der Erfindung auf der Grundlage einer schnellen Modulo-Berechnung wird nunmehr beschrieben.
  • Jede Primzahl P kann durch die folgende Bedingung beschrieben werden: P = 2k – 1.
  • Für irgendeine vorgegebene Zahl x < P gilt die folgende Zerlegung: x = m × 2k + c = m × (2k – I) + Im + c = m × p + Im + c
  • Daher ist: [x]modP = [Im + c]modP [Gl. 1] und der Modulo-Wert kann in einer derartigen rekursiven Weise berechnet werden. (In dem speziellen Fall, dass I = 1 ist, ist lediglich eine einzige Iteration erforderlich).
  • Weil α < P ist und somit αx(k) < P2 ist, kann ein Multiplizierer mit einer Breite von 2k-Bit verwendet werden. Weiterhin gilt; log2[m] < k und log2[c] < k.
  • Der Modulo P-Wert kann gemäß der Gleichung 1 durch Multiplizieren eines k-Bit-LSB mit I und nachfolgendes Addieren eines k-Bit MSB berechnet werden. Wenn die Summe mehr als k-Bits breit ist, so muss die Gleichung 1 erneut aufgerufen werden, d. h.: [Im + c]modP = [m' + c']modP = m' + c'.
  • Im Extremfall:
    m = {111...1}kBits
    und
    c = {111...1 }kBits
    und somit
    m' = {1}IBit
    und
    c' = {111...10}kBits.
  • Daher ist, log2[c' = m'] < k.
  • Eine Ausführungsform der hier angegebenen Modulo-P-Berechnung ist in 1 gezeigt. Eine Gesamtausführung des hier angegebenen Verschachtelers ist in 2 gezeigt.
  • Die Verschachteler-Parameter müssen entsprechend der vorgegebenen Zwischenreihen-Kongruenzregel ausgewählt werden. Es ist bekannt, dass sobald der rekursive Faltungscode (RCC-) Bildungscode bestimmt ist, das Fehlerverhalten durch die Eingangs- und Ausgangswertigkeiten der Fehlerereignisse der Bestandteil-Decodierer gekennzeichnet ist. (Die Eingangswertigkeit ist die Anzahl von Bitfehlern). Es ist bekannt, dass das Betriebsverhalten von Turbo-Codes bei hohem SNR durch die Ausgangsfehlerereignisse mit der Eingangswertigkeit 2 diktiert ist. Der effektive freie Abstand ist die minimale Ausgangswertigkeit aller Fehlerereignisse der Eingangswertigkeit 2. Ein Schlüssel zur Optimierung der Verschachteler-Parameter besteht in der Identifikation von Parametersätzen, die niedrigwertige Fehlerereignisse zu einem Minimum machen, mit den in Tabelle 3 gezeigten Mustern als Kriterium.
  • TABELLE 2
    Figure 00110001
  • Wenn beispielsweise ein Eingangsmuster eine Wertigkeit-2 hat (d. h. zwei 1-Bits mit sechs 0-Bits zwischen diesen), so wird gemäß der Wertigkeit-2-Spalte der Tabelle 3? ein Satz von Verschachteler-Parametern gesucht, die einen Ausgang mit 1-Bits in dem nullten (Anfangs-) und siebten, vierzehnten, einundzwanzigsten oder achtundzwanzigsten Positionen (gemäß der Länge) mit sechs, dreizehn, zwanzig oder siebenundzwanzig 0-Bits zwischen den zwei 1-Bits erzeugen. Dies kann als Überprüfung von 1-Bits in den nullten und i-ten Positionen ausgedrückt werden.
  • In einer ähnlichen Anwendung dieser „Niedrigwertigkeits-Filterungstechnik" werden Wertigkeit-3-Ströme auf 1-Bit in den nullten, i-ten und j-ten Positionen überprüft. Wertigkeit-4-Ströme werden auf 1-Bits in der Nullten, i-ten, j-ten und k-ten Position geprüft.
  • Obwohl die vorstehend beschriebene Ausführungsform ein Turbo-Codierer ist, wie er sich beispielsweise in einem CDMA-System findet, ist es für den Fachmann zu erkennen, dass die praktische Ausführungsform der Erfindung nicht hierauf beschränkt ist, und dass die Erfindung für irgendeine Art von Verschachtelung und Entschachtelung in irgendeinem Kommunikationssystem ausgeführt werden kann.
  • Es ist somit zu erkennen, dass die Erfindung in effektiver Weise die vorstehend angegebenen Ziele zusätzlich zu denjenigen erreicht, die aus der vorstehenden Beschreibung ersichtlich sind. Insbesondere ergibt die Erfindung verbesserte Vorrichtungen und Verfahren zum Verschachteln von Codes mit endlicher Länge, wobei gleichzeitig die Kompliziertheit der Realisierung und die Größe des Speicherplatzes, der für die Parameter-Speicherung erforderlich ist, zu einem Minimum gemacht wird.

Claims (20)

  1. Verfahren zum Verschachteln von Elementen von Rahmen von Daten, wobei das Verfahren: das Bereitstellen einer Speichermatrix c mit R Reihen und C Spalten umfaßt, worin R und C positive ganze Zahlen sind, gekennzeichnet durch: Speichern eines Rahmens von Daten mit einer Vielzahl L von Elementen in einer Arbeitsmatrix innerhalb der Speichermatrix c, wobei die Arbeitsmatrix Nr (I) Reihen und Nc (I) Spalten aufweist, worin: Nr (I) eine positive ganze Zahl nicht größer als R ist; Nc (I) eine Primzahl nicht größer als C ist, und Nr (I) × Nc (I–1) < L < Nr (I) × Nc (I) ist; worin Nc (I–1) die höchste Primzahl kleiner als Nc (I) ist, und Permutieren der Elemente jeder Reihe der Speichermatrix c entsprechend einer vorgegebenen mathematischen Beziehung.
  2. Verfahren nach Anspruch 1, bei dem die vorgegebene mathematische Beziehung zum Permutieren der Elemente jeder Reihe der Speichermatrix c wie folgt ist: cj(i) = [αj × cj(i – 1)]modPI worin j = 1, 2, ... R; i = 1, 2, ... C; P ein Satz von aneinander angrenzenden Primzahlen; PI gleich Nc (I) und αj aus exponentiellen kongruenten Wurzeln von PI ausgewählt ist.
  3. Verfahren nach Anspruch 2, das weiterhin das Permutieren der Reihen der Speichermatrix c entsprechend einer vorgegebenen Abbildung umfaßt.
  4. Verfahren nach Anspruch 3, das weiterhin das Speichern des Rahmens von Daten Reihe für Reihe und das Auslesen des Rahmens von Daten nach der Permutation Spalte für Spalte umfaßt.
  5. Verfahren nach Anspruch 2, bei dem die Werte von αj aus exponentiellen kongruenten Wurzeln von PI entsprechend αj = αP p(1), αP p(2), ... αP p(R) ausgewählt sind, worin: αP die primitive Wurzel von PI und gcd{p(i), PI – 1} = 1 ist.
  6. Verfahren nach Anspruch 2, bei dem die Werte von αj aus unter j + 1 Werten dadurch ausgewählt sind, daß ein Wert eliminiert wird, für den gcd{p(i), PI – 1} nicht gleich 1 ist.
  7. Verfahren nach Anspruch 2, bei dem die Werte von αj aus Werten ausgewählt sind, von denen festgestellt wird, daß sie minimale Bitfehler bei eine niedrige Wertigkeit aufweisenden Eingangsdaten aufweisen.
  8. Verfahren nach Anspruch 2, bei dem die Werte von αj, die jeden Wert von Nc (I) zugeordnet sind, vorberechnet und gespeichert werden.
  9. Verschachtelungseinrichtung zum Verschachteln von Elementen von Rahmen von Daten, wobei die Verschachtelungseinrichtung folgendes umfaßt: eine Speichereinrichtung, die zumindest eine Speichermatrix c mit R Reihen und C Spalten enthält, worin R und C positive ganze Zahlen sind, gekennzeichnet durch: eine Speicher-Lese-Schreibeinrichtung zum Speichern eines Rahmens von Daten, der eine Vielzahl L von Elementen in einer Arbeitsmatrix innerhalb der Speichermatrix c umfaßt, wobei die Arbeitsmatrix Nr (I) Reihen und Nc (I) Spalten aufweist, worin: Nr (I) eine positive ganze Zahl nicht größer als R, Nc (I) eine Primzahl nicht größer als C, und Nr (I) × Nc (I–1) < L < Nr (I) × Nc (I) ist, worin Nc (I–1) die höchste Primzahl kleiner als Nc (I) ist, und eine Logikeinrichtung zum Permutieren der Elemente jeder Reihe der Speichermatrix c entsprechend einer vorgegebenen mathematischen Beziehung.
  10. Verschachtelungseinrichtung nach Anspruch 9, bei der die Logikeinrichtung die Elemente jeder Reihe der Speichermatrix c entsprechend cj(i) = [αj × cj(i – 1)]modPI permutiert, worin: j = 1, 2, ... R; i = 1, 2, ... C; P ein Satz von aneinander angrenzenden Primzahlen; PI gleich Nc (I) ist, und αj aus exponentiellen kongruenten Wurzeln von PI ausgewählt ist.
  11. Verschachtelungseinrichtung nach Anspruch 10, bei der die Logikeinrichtung die Reihen der Speichermatrix c entsprechend einer vorgegebenen Abbildung permutiert.
  12. Verschachtelungseinrichtung nach Anspruch 11, bei der die Speicher-Lese-Schreib-Einrichtung den Rahmen von Daten Reihe für Reihe speichert und den Rahmen von Daten nach der Permutation Spalte für Spalte ausliest.
  13. Verschachtelungseinrichtung nach Anspruch 16, bei der die Logikeinrichtung die Werte von αj aus exponentiellen kongruenten Wurzeln von PI entsprechend j = {αP p(1), αP p(2), ... αP p(R)} auswählt, worin: αP die primitive Wurzel von PI und gcd{p(i), PI – 1} = 1 ist.
  14. Verschachtelungseinrichtung nach Anspruch 10, bei der die Logikeinrichtung die Werte von αj aus unter j + 1 Werten dadurch auswählt, ein Wert eliminiert wird, für den gcd{p(i), PI – 1} nicht gleich 1 ist.
  15. Verschachtelungseinrichtung nach Anspruch 9, bei der die Speichereinrichtung einen Speicher einschließt, bei der die Speicher-Lese-Schreibeinrichtung eine Speicher-Lese-Schreib-Schaltung einschließt, und bei der die Logikeinrichtung eine arithmetisch-logische Einheit (ALU) einschließt.
  16. Verschachtelungseinrichtung nach Anspruch 15, bei der die ALU zum Permutieren der Elemente jeder Reihe der Speichermatrix c entsprechend: cj(i) = [αj × cj(i – 1)]modPI ausgebildet ist, worin: j = 1, 2, ... R; i = 1, 2, ... C; P ein Satz von aneinander angrenzenden Primzahlen; PI gleich Nc (I) ist, und αj aus exponentiellen kongruenten Wurzeln von PI ausgewählt ist.
  17. Verschachtelungseinrichtung nach Anspruch 16, bei der die ALU die Reihen der Speichermatrix c entsprechend einer vorgegebenen Abbildung permutiert.
  18. Verschachtelungseinrichtung nach Anspruch 17, bei der die Speicher-Lese-Schreib-Schaltung den Rahmen von Daten Reihe für Reihe speichert und den Rahmen von Daten nach dem Permutieren Spalte für Spalte ausliest.
  19. Verschachtelungseinrichtung nach Anspruch 16, bei der die ALU die Werte von αj aus exponentiellen kongruenten Wurzeln von PI entsprechend: j = {αP p(1), αP p(2), ... αP p(R)} auswählt, worin: αP die primitive Wurzel von PI und gcd{p(i), PI – 1} = 1 ist.
  20. Verschachtelungseinrichtung nach Anspruch 10, bei der die ALU die Werte von αj aus unter j + 1 Werten dadurch auswählt, daß ein Wert eliminiert wird, für den gcd{p(i), PI – 1} nicht gleich 1 ist.
DE60002705T 1999-04-14 2000-03-29 Binnen-reihen permutationen für turbocode Expired - Lifetime DE60002705T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/291,353 US6543013B1 (en) 1999-04-14 1999-04-14 Intra-row permutation for turbo code
US291353 1999-04-14
PCT/IB2000/000375 WO2000062426A1 (en) 1999-04-14 2000-03-29 Intra-row permutation for turbocode

Publications (2)

Publication Number Publication Date
DE60002705D1 DE60002705D1 (de) 2003-06-18
DE60002705T2 true DE60002705T2 (de) 2004-03-11

Family

ID=23119963

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60002705T Expired - Lifetime DE60002705T2 (de) 1999-04-14 2000-03-29 Binnen-reihen permutationen für turbocode

Country Status (10)

Country Link
US (1) US6543013B1 (de)
EP (1) EP1169777B1 (de)
JP (1) JP4298175B2 (de)
KR (1) KR100780995B1 (de)
CN (1) CN1188950C (de)
BR (1) BRPI0009717B1 (de)
CA (1) CA2366581C (de)
DE (1) DE60002705T2 (de)
HK (1) HK1040141B (de)
WO (1) WO2000062426A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1175582C (zh) * 1999-03-19 2004-11-10 西门子公司 利用交织和随后通过穿孔或重复所实现的速率匹配进行数据传输
CA2266283C (en) * 1999-03-19 2006-07-11 Wen Tong Data interleaver and method of interleaving data
EP1166448B1 (de) * 1999-04-07 2003-12-03 Siemens Aktiengesellschaft Verfahren zur kanalcodierung
JP2001285077A (ja) * 2000-03-31 2001-10-12 Mitsubishi Electric Corp 通信装置および通信方法
US6625763B1 (en) * 2000-07-05 2003-09-23 3G.Com, Inc. Block interleaver and de-interleaver with buffer to reduce power consumption
KR100393608B1 (ko) * 2000-09-29 2003-08-09 삼성전자주식회사 유.엠.티.에스시스템내 터보부호화기의 내부 인터리버 및인터리빙 수행 방법
KR100846017B1 (ko) * 2000-10-30 2008-07-11 가부시키가이샤 히타치세이사쿠쇼 데이터 인터리브/디인터리브 효율을 향상시키기 위한 반도체 장치, 무선 통신 장치, 컴퓨터 프로그램 제품 및 방법
KR100800840B1 (ko) * 2001-05-09 2008-02-04 삼성전자주식회사 터보코드를 사용하는 부호분할다중접속 이동통신시스템의 터보 인터리버 및 터보 인터리빙 방법
JP3624874B2 (ja) 2001-11-19 2005-03-02 日本電気株式会社 インターリービング順序発生器、インターリーバ、ターボエンコーダ、及びターボデコーダ
FR2837331B1 (fr) * 2002-03-13 2004-06-18 Canon Kk Procede d'entrelacement d'une sequence binaire
WO2004030226A1 (en) * 2002-09-25 2004-04-08 Koninklijke Philips Electronics N.V. Method of calculating an intra-row permutation pattern for an interleaver
GB2400776A (en) * 2003-04-14 2004-10-20 Modem Art Ltd method of using an algebraic interleaver for turbo encoding/decoding
JP4265345B2 (ja) * 2003-08-22 2009-05-20 日本電気株式会社 携帯電話機、インターリーブパラメータ演算装置、方法及びプログラム
US8077743B2 (en) * 2003-11-18 2011-12-13 Qualcomm Incorporated Method and apparatus for offset interleaving of vocoder frames
TWI237448B (en) * 2004-04-12 2005-08-01 Benq Corp Method for interleaving data frame and circuit thereof
US7793169B2 (en) * 2005-10-19 2010-09-07 Telefonaktiebolaget Lm Ericsson (Publ) Intelligent table-driven interleaving
WO2009014298A1 (en) * 2007-07-20 2009-01-29 Electronics And Telecommunications Research Institute Address generation apparatus and method of data interleaver/deinterleaver
US20090250345A1 (en) * 2008-04-03 2009-10-08 Protea Biosciences, Inc. Microfluidic electroelution devices & processes
JP5521722B2 (ja) * 2010-04-14 2014-06-18 沖電気工業株式会社 符号化装置、復号化装置、符号化・復号化システム、及び、プログラム
JP5634331B2 (ja) 2011-06-07 2014-12-03 株式会社東芝 画像処理装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US300139A (en) * 1884-06-10 sohisgall
US4394642A (en) 1981-09-21 1983-07-19 Sperry Corporation Apparatus for interleaving and de-interleaving data
EP0300139B1 (de) 1987-07-20 1993-07-07 International Business Machines Corporation Fehlerkorrektur-Kode für einen B-bit-pro-Chip-Speicher mit verminderten Redundanz
US4907233A (en) * 1988-05-18 1990-03-06 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration VLSI single-chip (255,223) Reed-Solomon encoder with interleaver
US5042033A (en) * 1989-06-05 1991-08-20 Canadian Marconi Corporation RAM-implemented convolutional interleaver
US5357606A (en) * 1992-02-25 1994-10-18 Apple Computer, Inc. Row interleaved frame buffer
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.
US5483541A (en) * 1993-09-13 1996-01-09 Trw Inc. Permuted interleaver
JP3415693B2 (ja) * 1993-12-23 2003-06-09 ノキア モービル フォーンズ リミテッド インターリーブプロセス
US5572532A (en) * 1993-12-29 1996-11-05 Zenith Electronics Corp. Convolutional interleaver and deinterleaver
FR2723282B1 (fr) * 1994-07-29 1996-09-13 Alcatel Telspace Procede d'entrelacement et de desentrelacement de trames sdh et systeme correspondant
US5812288A (en) * 1995-12-27 1998-09-22 Lucent Technologies Inc. Holographic storage of digital data
FR2747255B1 (fr) * 1996-04-03 1998-07-10 France Telecom Procede et dispositif de codage convolutif de blocs de donnees, et procede et dispositif de decodage correspondants
KR100186627B1 (ko) * 1996-09-21 1999-05-15 삼성전자 주식회사 베이스 밴드 인터리버
US6108745A (en) * 1997-10-31 2000-08-22 Hewlett-Packard Company Fast and compact address bit routing scheme that supports various DRAM bank sizes and multiple interleaving schemes
US6347385B1 (en) 1998-08-03 2002-02-12 Nortel Networks Limited Interleavers for turbo code
WO2000010257A1 (en) 1998-08-17 2000-02-24 Hughes Electronics Corporation Turbo code interleaver with near optimal performance
US6304991B1 (en) * 1998-12-04 2001-10-16 Qualcomm Incorporated Turbo code interleaver using linear congruential sequence

Also Published As

Publication number Publication date
BR0009717A (pt) 2002-03-05
HK1040141A1 (en) 2002-05-24
CN1347593A (zh) 2002-05-01
BRPI0009717B1 (pt) 2015-06-09
HK1040141B (zh) 2003-08-15
JP2002542646A (ja) 2002-12-10
EP1169777B1 (de) 2003-05-14
DE60002705D1 (de) 2003-06-18
JP4298175B2 (ja) 2009-07-15
CA2366581A1 (en) 2000-10-19
KR20010113801A (ko) 2001-12-28
CN1188950C (zh) 2005-02-09
CA2366581C (en) 2006-11-07
WO2000062426A1 (en) 2000-10-19
US6543013B1 (en) 2003-04-01
EP1169777A1 (de) 2002-01-09
KR100780995B1 (ko) 2007-11-29

Similar Documents

Publication Publication Date Title
DE60002705T2 (de) Binnen-reihen permutationen für turbocode
DE60009973T2 (de) Verschachtelungsverfahren, Verschachtelungsgerät, Turbokodierungsverfahren und Turbokodierer
DE60032441T2 (de) Vorrichtung und verfahren zur turboverschaltelung
DE60020637T2 (de) Ratenanpassung und Kanalverschachtelung für ein Kommunikationssystem
DE69936683T2 (de) Verschachtelung unter Verwendung von Inkrementen basierend auf dem Goldenen Schnitt
DE10030407B4 (de) Verfahren zur optimalen Ratenanpassung in einem Mobilkommunikationssystem
DE69026916T2 (de) Verschachtelung in kodierte Modulation für den mobilen Funk
DE69909649T2 (de) Effiziente implimentierung von vorgeschlagenem turbokodeverschachteler für die dritte generation von kodemultiplexvielfachzugriff (cdma)
DE69838451T2 (de) Verfahren und schaltung zur adaptiven kanalkodierung
DE69432571T2 (de) Verfahren und Vorrichtung zur Verschachtelung einer Folge von Datenelementen
DE69910989T2 (de) Ver-und entschachtelungsvorrichtung und verfahren für ein kommunikationssystem
DE60029181T2 (de) Multiplexverfahren und multiplexvorrichtung sowie verfahren und vorrichtung zur übertragung von datensignalen
DE69905255T2 (de) Verbesserte verschachteler für turbo-kodes
DE60016561T2 (de) Blockverschachtelung für turbokodierung
DE69907705T2 (de) Verschachteler mit anwendung von nebengruppenverteilung
DE60108892T2 (de) Modul, vorrichtung und verfahren zum hochbitratigen dekodieren eines verketteten codes
EP1258085B1 (de) Verfahren zum anpassen der einem turbo-codierer zuzuführenden datenblöcke und entsprechende kommunikationsvorrichtung
DE60004407T2 (de) Verschachteler und verschachtelungsverfahren einer dateneingangsbitfolge mit verwendung einer kodierten aufzeichnung von symbolen und zusätzlicher information
DE20023252U1 (de) Vorrichtung zum Verschachteln/Entschachteln für ein Kommunikationssystem
DE69907011T2 (de) Verallgemeinerter faltungsver- und -entschachteler
DE60110083T2 (de) Dekorrelation von interferenzen von mehreren verschachtelten Datenströmen
DE60112445T2 (de) Modifikation eines Verschachtelermusters
DE19525428C2 (de) Spektrum-Aufspreiz-Kommunikationssystem
DE69908629T2 (de) Hybrid verschachteler für turbo-kodierer
DE10048872A1 (de) Abschnittsweise Entschachtelung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition