DE20023803U1 - TURBO-interleaving - Google Patents

TURBO-interleaving Download PDF

Info

Publication number
DE20023803U1
DE20023803U1 DE20023803U DE20023803U DE20023803U1 DE 20023803 U1 DE20023803 U1 DE 20023803U1 DE 20023803 U DE20023803 U DE 20023803U DE 20023803 U DE20023803 U DE 20023803U DE 20023803 U1 DE20023803 U1 DE 20023803U1
Authority
DE
Germany
Prior art keywords
interleaver
turbo
information bits
frame
input information
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
DE20023803U
Other languages
German (de)
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority claimed from EP00927908A external-priority patent/EP1097516B1/en
Publication of DE20023803U1 publication Critical patent/DE20023803U1/en
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
    • 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
    • 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/276Interleaving address generation
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • 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

Abstract

Turbo-Codierer, der umfasst:
einen ersten Codierer (111), der so eingerichtet ist, dass er einen Frame von Eingangs-Informations-Bits codiert, um erste codierte Symbole zu erzeugen, wobei der Frame von Eingangs-Informations-Bits R Gruppen von C Informations-Bits aufweist und jede Gruppe einer einzelnen Reihe entspricht;
einen zweidimensionalen Interleaver, der so eingerichtet ist, dass er den Frame von Eingangs-Informations-Bits empfängt, Verschachteln jeder Reihe des Frame von Eingangs-Informations-Bits innerhalb einer Reihe durchführt und anschließend an das Verschachteln innerhalb einer Reihe Austauschen der Position eines Informations-Bits an einer letzten Position einer letzten Reihe der innerhalb einer Reihe verschachtelten Reihen gegen eine vorausgehende Position innerhalb der letzten Reihe der R Reihen austauscht, und
einen zweiten Codierer (113), der so eingerichtet ist, dass er den Ausgang des Interleavers codiert, um zweite codierte Symbole zu erzeugen.
Turbo coder, which includes:
a first encoder (111) adapted to encode a frame of input information bits to produce first encoded symbols, the frame of input information bits having R groups of C information bits, and each Group of a single row corresponds;
a two-dimensional interleaver arranged to receive the frame of input information bits, to interleave each row of the frame of input information bits within a row, and then to interleave within a row the position of an information Exchanging bits at a last position of a last row of rows nested within a row for a previous position within the last row of R rows, and
a second encoder (113) arranged to encode the output of the interleaver to produce second coded symbols.

Figure 00000001
Figure 00000001

Description

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

1. Sachgebiet der Erfindung1. Field of the invention

Die vorliegende Erfindung bezieht sich allgemein auf einen Turbo-Codierer, verwendet für Funkkommunikationssysteme (umfassend Satelliten-, ISDN-, Digital-Zellular-, W-CDMA- und IMT-2000 Systeme), und insbesondere auf eine interne Verschachtelungseinrichtung bzw. einen internen Interleaver eines Turbo-Codierers.The The present invention relates generally to a turbo-coder, used for Radio communication systems (including satellite, ISDN, digital cellular, W-CDMA and IMT-2000 systems), and in particular an internal one Interleaver or an internal interleaver of a Turbo coder.

2. Beschreibung des verwandten Standes der Technik2. Description of the related State of the art

Allgemein rechnet ein Interleaver, verwendet für einen Turbo-Codierer, eine Adresse eines Eingangs-Informations-Wortes auf Zufallszeichen um (randomisiert) und verbessert eine Distanzeigenschaft eines Codeworts. Insbesondere ist entschieden worden, dass ein Turbo-Code in einem zusätzlichen Kanal (oder einem Daten-Übertragungskanal) von IMT-2000 (oder CDMA-2000) und IS-95C Air-Interfaces und in einem Daten-Kanal von UMTS (Universal Mobile Telecommunication System), vorgeschlagen durch ETSI (European Telecommunication Standards Institute), verwendet werden wird. Demzufolge ist ein Verfahren zum Umsetzen eines Interleavers für diesen Zweck erforderlich. Zusätzlich bezieht sich die Erfindung auf einen Fehler-Korrektur-Code, der stark die Leistungssteigerung von existierenden und zukünftigen, digitalen Kommunikationssystemen beeinflusst.Generally calculates an interleaver used for a turbo encoder Address of an input information word at random (randomized) and improves a ward characteristic of a codeword. In particular, it has been decided that a turbo code in one additional Channel (or a data transmission channel) from IMT-2000 (or CDMA-2000) and IS-95C Air interfaces and in a data channel proposed by UMTS (Universal Mobile Telecommunication System) used by ETSI (European Telecommunication Standards Institute) will be. Accordingly, a method for implementing an interleaver For this Purpose required. additionally The invention relates to an error correction code that greatly improving the performance of existing and future, influenced by digital communication systems.

Für einen existierenden, internen Interleaver für einen Turbo-Codierer (nachfolgend bezeichnet als ein Turbo-Interleaver) sind verschiedene Interleaver vorgeschlagen worden, wie beispielsweise ein PN-(Pseudo Noise)-Random-Interleaver, ein Random-Interleaver, ein Block-Interleaver, ein Nicht-Linear-Interleaver und ein S-Random-Interleaver. Allerdings sind bisher solche Interleaver nur Algorithmen gewesen, ausgelegt dazu, deren Leistungsfähigkeit im Hinblick auf wissenschaftliche Untersuchungen, im Gegensatz zu einer Implementierung, zu verbessern. Deshalb muss, wenn ein tatsächliches System implementiert wird, die Hardware-Implementierungs-Komplexität berücksichtigt werden. Im Folgenden werden die Besonderheiten und Probleme, die bei der Verwendung herkömmlicher Interleaver für den Turbo-Codierer auftreten, beschrieben.For one existing internal interleaver for a turbo-encoder (hereafter referred to as a turbo interleaver) are different interleavers been proposed, such as a PN (pseudo noise) random interleaver, a random interleaver, a block interleaver, a non-linear interleaver and an S-random interleaver. However, so far such interleavers only algorithms designed to their performance with regard to scientific investigations, as opposed to one Implementation, to improve. Therefore, if an actual System that takes into account hardware implementation complexity become. The following are the specifics and problems that when using conventional Interleaver for the turbo encoder occur.

Die Leistungsfähigkeit des Turbo-Codierers hängt von seinem internen Interleaver ab. Allgemein verbessert eine Erhöhung der Eingangs-Frame-Größe bzw. -Block-Größe (d.h. die Zahl der in einem Frame enthaltenen Informations-Bits) die Effektivität des Turbo-Codierers. Allerdings bewirkt eine Vergrößerung der Interleaver-Größe eine geometrische Zunahme der Berechnungen. Deshalb ist es allgemein nicht möglich, den Interleaver für die große Frame-Größe bzw. Block-Größe auszuführen.The capacity of the turbo-coder hangs from its internal interleaver. Generally improves an increase in the Input frame size or Block size (i.e. the number of information bits contained in a frame) the effectiveness of the turbo coder. However, an enlargement of the Interleaver size one geometric increase of the calculations. That's why it's general not possible, the interleaver for the size Frame size or Block size to execute.

Deshalb werden allgemein Interleaver durch Bestimmung von Bedingungen, die verschiedene, gegebene Kriterien erfüllen, implementiert. Diese Kriterien sind wie folgt:
Distanzeigenschaft (Distance Property): Die Distanz bzw. der Abstand zwischen benachbarten Code-Wort-Symbolen sollte in einem bestimmten Umfang beibehalten werden. Dies hat dieselbe Funktion wie eine Code-Wort-Distanz-Eigenschaft des Faltungs-Codes, und als ein Indikations-Kriterium, wird ein minimaler, freier Abstand verwendet, der ein Wert eines Code-Wort-Pfades oder einer Code-Wort-Sequenz mit dem minimalen Hamming-Gewicht der auf dem Gitter ausgegebenen Code-Symbol-Sequenzen (oder Code-Wort-Pfade) ist. Allgemein sollte der Interleaver möglichst so ausgelegt werden, dass er, soweit möglich, einen längeren freien Abstand besitzt.
Therefore, interleavers are generally implemented by determining conditions that meet various given criteria. These criteria are as follows:
Distance Property: The distance or spacing between adjacent code word symbols should be maintained to a certain extent. This has the same function as a code-word-distance property of the convolutional code, and as an indication criterion, a minimum free space containing a value of a code word path or code word sequence is used is the minimum Hamming weight of the code symbol sequences (or code word paths) output on the grid. In general, the interleaver should, if possible, be designed so that, as far as possible, it has a longer free distance.

Random-Eigenschaft (Random Property): Ein Korrelationsfaktor zwischen Ausgangs-Wort-Symbolen nach einer Verschachtelung sollte viel niedriger als ein Korrelationsfaktor zwischen originalen Eingangs-Wort-Symbolen vor einer Verschachtelung sein. Das bedeutet, dass die Randomisierung zwischen den Ausgangs-Wort-Symbolen vollständig durchgeführt werden sollte. Dies führt zu einem direkten Effekt auf die Qualität von Fremdinformationen, die beim kontinuierlichen Decodieren erzeugt werden.Random property (Random Property): A correlation factor between output word symbols after Nesting should be much lower than a correlation factor between original input word symbols before interleaving be. This means that the randomization between the output word symbols Completely carried out should be. this leads to to a direct effect on the quality of third-party information that generated during continuous decoding.

Obwohl die vorstehenden Kriterien bei einem allgemeinen Turbo-Interleaver anwendbar sind, ist es schwierig, diese Eigenschaften eindeutig zu analysieren, wenn sich die Interleaver-Größe erhöht.Even though the above criteria for a general turbo interleaver are applicable, it is difficult to unequivocal these properties analyze as the interleaver size increases.

Zusätzlich besteht ein anderes Problem darin, dass der minimale, freie Abstand des Turbo-Codes entsprechend dem Typ des Eingangs-Code-Worts variiert. Das bedeutet, dass, wenn das Eingangs-Informations-Wort ein spezifisches Sequenz-Muster, definiert als ein kritisches Informations-Sequenz-Muster (Critical Information Sequenz Pattern-CISP), besitzt, der freie Abstand der Ausgangs-Code-Symbole, erzeugt von dem Turbo-Codierer, einen sehr kleinen Wert besitzt. Falls das Eingangs-Informations-Wort ein Hamming-Gewicht 2 besitzt, tritt das CISP auf, wenn das Eingangs-Informations-Wort zwei Informations-Bits mit Wert "1" hat, und kann auch auftreten, wenn das Eingangs-Informations-Wort drei oder mehr Informations-Bits mit Wert "1" besitzt. Allerdings wird in den meisten Fällen, wenn das Eingangs-Informations-Wort zwei Informations-Bits mit Wert "1" besitzt, der minimale, freie Abstand gebildet und die meisten Fehlerereignisse treten unter dieser Bedingung auf. Deshalb wird, wenn der Turbo-Interleaver entworfen wird, allgemein eine Analyse für den Fall vorgenommen, wo das Eingangs-Informations-Wort das Hamming-Gewicht 2 besitzt. Ein Grund, dass das CISP existiert, ist der, dass der Turbo-Codierer allgemein einen RSC (Recursive Systematic Convolutional Codes) Codierer für die Komponenten-Codierer, dargestellt in 1 (wird weiter nachfolgend beschrieben), verwendet. Um die Funktionsweise des Turbo-Codierers zu verbessern, sollte ein Grund-Polynom für ein Rückführ-Polynom (gf(x) von 1) von den Generator-Polynomen für den Komponenten-Codierer verwendet werden. Deshalb wiederholt, wenn die Zahl der Speicher des RSC Codierers m ist, eine Rückführ-Sequenz, erzeugt durch das Rückführ-Polynom, kontinuierlich dasselbe Muster unter einer Periode von 2m–1. Deshalb werden, falls das Eingangs-Informations-Wort "1" zum Zeitpunkt entsprechend dieser Periode empfangen wird, dieselben Informations-Bits mit EXKLUSIV-ODER verknüpft, so dass der Zustand des RSC Codierers von nun an ein Überall-Null-Zustand (All-Zero-State) wird, um so die Ausgabe-Symbole mit überall-0'en zu erzeugen. Dies bedeutet, dass das Hamming-Gewicht des Codeworts einen konstanten Wert nach diesem Ergebnis, erzeugt durch den RSC Codierer, hat. Das bedeutet, dass der freie Abstand des Turbo-Codes nach dieser Zeit beibehalten wird und dass das CISP eine Hauptursache einer Verringerung im freien Abstand des Turbo-Codierers wird, wogegen, wie vorstehend angemerkt ist, ein größerer, freier Abstand wünschenswert ist.In addition, another problem is that the minimum free space of the turbo code varies according to the type of the input code word. That is, if the input information word defines a specific sequence pattern as a Critical Information Sequence Pattern (Critical Information Sequence Pattern CISP), which has a very small value of the free spacing of the output code symbols generated by the turbo encoder. If the input information word has a Hamming weight 2, the CISP occurs when the input information word has two information bits of value "1", and may also occur if the input information word is three or more information bits of value "1". However, in most cases, when the input information word has two information bits of value "1", the minimum free space is formed and most error events occur under this condition. Therefore, when the turbo interleaver is designed, analysis is generally made for the case where the input information word has the Hamming weight 2. One reason that the CISP exists is that the turbo encoder generally has a Recursive Systematic Convolutional Codes (RSC) encoder for the component encoders shown in FIG 1 (described further below). To improve the operation of the turbo coder, a basic polynomial for a return polynomial (gf (x) of 1 ) can be used by the generator polynomials for the component encoder. Therefore, when the number of memories of the RSC encoder is m, a feedback sequence generated by the feedback polynomial continuously repeats the same pattern under a period of 2 m -1. Therefore, if the input information word "1" is received at the time corresponding to this period, the same information bits are XORed, so that the state of the RSC encoder becomes an all-zero state from now on. Zero-state) so as to produce the output symbols with everywhere-0's. This means that the Hamming weight of the codeword has a constant value after this result, generated by the RSC coder. This means that the free space of the turbo code is maintained after this time and that the CISP becomes a major cause of a reduction in the free space of the turbo-coder, whereas, as noted above, a larger, free space is desirable.

Um in diesem Fall (bei dem Turbo-Interleaver nach dem Stand der Technik) den freien Abstand zu erhöhen, zerstreut der Turbo-Interleaver unter Zufall das CISP Eingangs- Informations-Wort, um so eine Verringerung des freien Abstandes am Ausgangs-Symbol des RSC Codierers der anderen Komponenten zu verhindern.Around in this case (in the turbo-interleaver of the prior art) to increase the free distance, the turbo interleaver randomly scatters the CISP input information word, so a reduction of the free distance at the output symbol of the RSC encoder to prevent the other components.

Die vorstehend angegebenen Eigenschaften sind grundsätzliche Merkmale des bekannten Turbo-Interleavers. Allerdings ist es für das CISP herkömmlich, dass das Informations-Wort das minimale Hamming-Gewicht besitzt, wenn das Eingangs-Informations-Wort das Hamming-Gewicht 2 besitzt. Mit anderen Worten wurde die Tatsache, dass das CISP gerade dann erzeugt werden kann, wenn das Eingangs-Informations-Wort das Hamming-Gewicht 1 besitzt (d.h. wenn das Eingangs-Informations-Wort ein Informations-Bit vom Wert "1" besitzt), übersehen, wenn die Informations-Wort-Eingabe zum Turbo-Codierer den Typ eines Blocks, aufgebaut aus Frames bzw. Blöcken, besaß.The The above properties are basic features of the known Turbo interleaver. However, it is conventional for the CISP the information word has the minimum Hamming weight, if the input information word has the Hamming weight 2. In other words, the fact that the CISP can be generated even if the input information word has Hamming weight 1 (i.e., if the input information word has an information bit of value "1"), if the information word input to the turbo encoder is the type of a block, constructed from frames or blocks, possessed.

Zum Beispiel zeigt ein Prime-Interleaver (PIL), der als das Arbeitsmodell des Turbo-Code-Interleavers, spezifiziert durch den derzeitigen UMTS Standard vorgesehen ist, derartige Probleme, und hat demzufolge einen herabgesetzten freien Abstands-Wert. Das bedeutet, dass der Implementierungs-Algorithmus des Modell-PIL-Turbo-Interleavers 3 Stufen umfasst, wobei die zweite Stufe, die die wichtigste Rolle spielt, eine Zufalls-Permutation in Bezug auf die Informations-Bits der jeweiligen Gruppen durchführt. Die zweite Stufe wird in drei Fälle unterteilt, Fall A, Fall B und Fall C, und der Fall B umfasst immer den Fall, bei dem der freie Abstand verringert wird, wenn das Eingangs-Informations-Wort das Hamming-Gewicht 1 besitzt. Zusätzlich umfasst sogar Fall C eine Möglichkeit dahingehend, dass ein solches Ereignis auftreten wird. Die detaillierten Probleme werden später unter Bezugnahme auf den PIL beschrieben werden.To the Example shows a Prime Interleaver (PIL) acting as the working model of the turbo-code interleaver, specified provided by the current UMTS standard, such problems, and thus has a reduced free distance value. The means that the implementation algorithm of the model PIL turbo interleaver 3 stages with the second stage, which plays the most important role, a random permutation with respect to the information bits of the respective groups. The second stage will be in three cases divided case A, case B and case C, and case B always includes the case where the free space is reduced when the input information word has the Hamming weight 1. In addition, even Case C includes a possibility in that such an event will occur. The detailed Problems will be later with reference to the PIL.

Zusammengefasst sollte, wenn verschiedene Interleaver-Größen erforderlich sind, und die Hardware-Implementierungs-Komplexität in dem IMT-2000 oder UMTS System begrenzt ist, der Turbo-Interleaver so implementiert werden, dass die optimale Interleaver-Leistungsfähigkeit garantiert wird. Das bedeutet, dass der benötigte Interleaver in der Lage sein sollte, eine gleichförmige Funktionsweise für verschiedene Verschachtelungs-Größen zu garantieren, und gleichzeitig die oben geforderten Eigenschaften erfüllt. Genauer gesagt sind dabei verschiedene Typen von Interleavern für einen PCCC (Parallel Concatenated Convolutional Codes) Turbo-Interleaver vorgeschlagen worden und ein LCS (Linear Congruential Sequence) Turbo-Interleaver ist vorläufig als der Turbo-Interleaver in den IMT-2000 (oder CDMA-2000) und IS-95C Spezifikationen definiert worden. Allerdings haben die meisten dieser Turbo-Interleaver Probleme bei CISP mit einem Hamming-Gewicht 1 und außerdem sind die Implementierungsdetails noch nicht definiert. Deshalb schlägt die vorliegende Erfindung eine Lösung für die Probleme eines Turbo-Interleavers, und eine neue Vorrichtung zum Ausführen des Turbo-Interleavers, vor. Zusätzlich zeigt die Erfindung den PIL Interleaver, der sich an einer Vorgabe für den UMTS Turbo-Interleavers orientiert, und schlägt eine Lösung des entsprechenden Problems mit Interleavern vor.Summarized should, if different interleaver sizes are required, and the hardware implementation complexity in the IMT-2000 or UMTS System is limited, the turbo interleaver can be implemented in such a way that the optimal interleaver performance is guaranteed. That means the needed interleaver will be able to should be a uniform How it works for to guarantee different nesting sizes and at the same time fulfills the above required properties. More precisely There are different types of interleavers for a PCCC (Parallel Concatenated Convolutional Codes) Turbo Interleaver has been proposed and a LCS (Linear Congruential Sequence) turbo interleaver is provisionally known as the turbo interleaver been defined in the IMT-2000 (or CDMA-2000) and IS-95C specifications. However, most of these turbo interleaver have problems with it CISP with a Hamming weight of 1 and also are the implementation details not yet defined. Therefore, the present invention proposes a solution for the Problems of a turbo interleaver, and a new device for running the Turbo Interleavers, before. additionally the invention shows the PIL interleaver, which is based on a specification for the UMTS Turbo Interleavers oriented, and proposes a solution of the corresponding problem with interleavers before.

Zusammengefasst weist der Stand der Technik folgende Nachteile auf:

  • 1) Der Turbo-Interleaver ist für eine infinite Frame- bzw. Block-Größe auf der Basis des CISP ausgelegt, für das das Eingangs-Informations-Wort das Hamming-Gewicht 2 besitzt, ohne Berücksichtigung der Tatsache, dass eine Bestimmung des CISP gemäß dem Typ des Eingangs-Informations-Worts auf die Frame- bzw. Block-Größe beschränkt ist. In einem tatsächlichen System allerdings besitzt der Frame bzw. Block eine finite Größe, was demzufolge eine Herabsetzung des freien Abstands des Turbo-Codes bewirkt.
  • 2) Beim Implementieren des existierenden Turbo-Interleavers wurde die Tatsache, dass das Eingangs-Informations-Wort ein Hamming-Gewicht 1 haben kann, nicht berücksichtigt. Mit anderen Worten sollte, für die finite Frame- bzw. Block-Größe, die Turbo-Interleaver-Design-Regel unter Berücksichtigung der Tatsache bestimmt werden, dass der minimale freie Abstand, erzeugt in dem PCCC Turbo-Codierer, durch das CISP bestimmt wird, das das Hamming-Gewicht 1 besitzt. Dies wurde allerdings nicht vollständig für die existierenden Turbo-Interleaver berücksichtigt.
  • 3) Der Prime-Interleaver (PIL), implementiert entsprechend der Arbeitsvorgabe des Turbo-Code-Interleavers definiert durch die UMTS Spezifikation, unterliegt solchen Problemen, was zu einer verschlechterten freien Abstands-Leistungsfähigkeit führt.
In summary, the prior art has the following disadvantages:
  • 1) The turbo interleaver is designed for an infinite frame size based on the CISP for which the input information word has the Hamming weight 2, ignoring the fact that a determination of the CISP according to the type of input information word is limited to the frame or block size. In an actual system, however, the frame has a finite size, thus causing a reduction in the free space of the turbo code.
  • 2) In implementing the existing turbo interleaver, the fact that the input information word may have Hamming weight 1 has not been considered. In other words, for the finite frame or block size, the turbo interleaver design rule should be determined taking into account the fact that the minimum free space created in the PCCC turbo encoder is determined by the CISP that owns the Hamming Weight 1. However, this was not fully considered for the existing turbo interleaver.
  • 3) The prime interleaver (PIL), implemented according to the work of the turbo code interleaver defined by the UMTS specification, is subject to such problems, resulting in degraded free space performance.

Es ist deshalb eine Aufgabe der vorliegenden Erfindung, eine Verschachtelungsvorrichtung bzw. einen Interleaver zum Analysieren von Eigenschaften eines Turbo-Interleavers und einer Eigenschaft eines kritischen Informations-Sequenz-Musters (Critical Informati on Sequence Pattern – CISP) zu schaffen, um die Leistungsfähigkeit des Turbo-Interleavers zu verbessern.It It is therefore an object of the present invention to provide an interleaving device or an interleaver for analyzing properties of a turbo interleaver and a property of a critical information sequence pattern (Critical Information Sequence Pattern - CISP) to create the capacity to improve the turbo interleaver.

Es ist eine andere Aufgabe der vorliegenden Erfindung, eine Verschachtelungsvorrichtung zum Verbessern der freien Abstands-Leistungsfähigkeit eines Turbo-Codes für den Fall zu schaffen, bei dem ein Eingangs-Informations-Wort ein Hamming-Gewicht 1 besitzt, wenn das eingegebene Informations-Wort in den Turbo-Interleaver einen aus Frames aufgebauten Block-Typ besitzt.It Another object of the present invention is an interleaving device for improving the free space performance of a turbo code in case to create where an input information word is a Hamming weight 1 has, if the entered information word in the turbo interleaver has a block type built from frames.

Es ist eine weitere Aufgabe der vorliegenden Erfindung, eine Verschachtelungsvorrichtung zum Lösen des Problems zu schaffen, dass der freie Abstand verringert wird, wenn ein Eingangs-Informations-Wort ein Hamming-Gewicht 1 in einem Prime-Interleaver (PIL), der der Turbo-Interleaver entsprechend der UMTS Spezifikation ist, besitzt.It Another object of the present invention is an interleaving device to release the To create problems that the free distance is reduced, if an input information word Hamming weight 1 in a prime interleaver (PIL), the turbo interleaver according to the UMTS specification is, owns.

Um die oben stehenden Aufgaben zu erfüllen, wird ein zweidimensionales Verschachtelungsverfahren geschaffen, dass das Unterteilen eines Frame von EingangsInformations-Bits in eine Vielzahl von Gruppen und anschließendes Speichern der unterteilten Gruppen in einem Speicher, Permutieren der Informations-Bits der Gruppen gemäß einer bestimmten Regel und Verschieben eines Informations-Bits, das sich an der letzten Position der letzten Gruppe befindet, an eine Position, die der letzten Gruppe vorausgeht, sowie Auswählen der Gruppen gemäß einer vorgegebenen Reihenfolge und Auswählen eines der Informations-Bits in der ausgewählten Gruppe umfasst.Around To accomplish the above tasks becomes a two-dimensional one Nesting created that dividing a Frame of input information bits in a variety of groups and then Saving the subdivided groups in a memory, permuting the information bits of the groups according to a certain rule and Move an information bit that is at the last position the last group is located at a position that is the last group precedes, as well as selecting the Groups according to one predetermined order and selecting one of the information bits in the selected Group includes.

KURZE BESCHREIBUNG DER ZEICHNUNGENSHORT DESCRIPTION THE DRAWINGS

Die vorstehenden und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der nachfolgenden, detaillierten Beschreibung unter Berücksichtigung der beigefügten Zeichnungen ersichtlich werden, wobei:The The foregoing and other objects, features and advantages of the present invention The invention will become apparent from the following detailed description considering the attached Drawings become apparent, wherein:

1 ein Diagramm zeigt, das einen allgemeinen, parallelen Turbo-Codierer darstellt; 1 shows a diagram illustrating a general, parallel turbo-encoder;

2 ein Diagramm zeigt, das einen allgemeinen Interleaver darstellt; 2 shows a diagram illustrating a general interleaver;

3 ein Diagramm zeigt, das einen allgemeinen De-Interleaver darstellt; 3 shows a diagram illustrating a general de-interleaver;

4 ein Diagramm zeigt, das ein Verfahren zum Erzeugen eines kritischen Informations-Sequenz-Musters (CISP) in einem Turbo-Interleaver darstellt; 4 shows a diagram illustrating a method for generating a critical information sequence pattern (CISP) in a turbo interleaver;

5 ein Diagramm zeigt, das ein anderes Verfahren zum Erzeugen des CISP in dem Turbo-Interleaver darstellt; 5 shows a diagram illustrating another method for generating the CISP in the turbo interleaver;

6 ein Diagramm zeigt, das ein Verfahren zum Lösen eines Problems darstellt, das auftritt, wenn das CISP von 4 erzeugt wird; 6 shows a diagram illustrating a method for solving a problem that occurs when the CISP of 4 is produced;

7 ein Diagramm zeigt, das ein Verfahren zum Lösen eines Problems darstellt, das auftritt, wenn das CISP von 5 erzeugt wird; 7 shows a diagram illustrating a method for solving a problem that occurs when the CISP of 5 is produced;

8 ein Diagramm zeigt, das ein anderes Verfahren zum Lösen eines Problems darstellt, das auftritt, wenn das CISP in dem Turbo-Interleaver erzeugt wird; 8th shows a diagram illustrating another method for solving a problem that occurs when the CISP is generated in the turbo interleaver;

9 ein Diagramm zeigt, das ein Verfahren zum Erzeugen des CISP in einem zweidimensionalen Turbo-Interleaver darstellt; 9 shows a diagram illustrating a method for generating the CISP in a two-dimensional turbo interleaver;

10 ein Diagramm zeigt, das ein Verfahren zum Lösen eines Problems darstellt, das auftritt, wenn das CISP von 7 erzeugt wird; 10 shows a diagram illustrating a method for solving a problem that occurs when the CISP of 7 is produced;

11 ein Blockdiagramm zeigt, das eine Verschachtelungsvorrichtung zum Unterdrücken des CISP gemäß einer Ausführungsform der vorliegenden Erfindung darstellt; und 11 10 is a block diagram illustrating an interleaver for suppressing the CISP according to an embodiment of the present invention; and

12 ein Flussdiagramm zeigt zum Erläutern eines Verschachtelungsverfahrens eines modifizierten PIL (Prime Interleaver) gemäß einer Ausführungsform der vorliegenden Erfindung. 12 a flowchart for explaining an interleaving method of a modified PIL (Prime Interleaver) according to an embodiment of the present invention.

DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMDETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Eine bevorzugte Ausführungsform der vorliegenden Erfindung wird hier nachfolgend unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. In der folgenden Be schreibung werden ausreichend bekannte Funktionen oder Konstruktionen nicht im Detail beschrieben werden, da sie die Erfindung in unnötigem Detail verschleiern würden.A preferred embodiment The present invention will hereinafter be referred to by reference on the attached Drawings described. The following description will suffice known functions or constructions are not described in detail because they would disguise the invention in unnecessary detail.

Vor einer Beschreibung der Erfindung wird die Beschreibung die Probleme darlegen, die auftreten, wenn ein Eingangs-Informations-Wort, das eines der dem existierenden Turbo-Interleaver/De-Interleaver zugrunde liegenden Design-Kriterien ist, auf einer Frame-Einheit-Basis bzw. Block-Einheit-Basis verarbeitet wird, und den Effekt analysieren, den das CISP mit einem Hamming-Gewicht 1 auf das Hamming-Gewicht der Ausgabe-Code-Symbole besitzt. Als nächstes wird die Beschreibung ein Verfahren angeben, um die Probleme zu lösen und den Leistungsfähigkeitsunterschied durch Analyse des minimalen, freien Abstands zu verifizieren.In front In describing the invention, the description will be the problems which occur when an input information word, the one of the existing turbo interleaver / de-interleaver lying design criteria, on a frame unit basis or block unit basis and analyze the effect the CISP has on a Hamming weight 1 on the Hamming weight of the output code symbols. Next the description will indicate a procedure to solve the problems and the performance difference by analysis of the minimum free distance.

1 stellt eine Struktur eines allgemeinen, parallelen Turbo-Codierers dar, der im Detail in dem US-Patent Nr. 5,446,474, herausgegeben am 29. August 1995, offenbart ist, das hier durch Bezugnahme eingeschlossen wird. 1 FIG. 12 illustrates a structure of a general, parallel turbo-coder disclosed in detail in U.S. Patent No. 5,446,474, issued August 29, 1995, which is incorporated herein by reference.

Wie 1 zeigt, umfasst der Turbo-Codierer einen ersten Komponenten-Codierer 111 zum Codieren von Eingangs-Frame-Daten, einen Interleaver 112 zum Verschachteln der Eingangs-Frame-Daten und einen zweiten Komponenten-Codierer 113 zum Codieren einer Ausgabe des Interleavers 112. Ein bekannter RSC (Recursive Systematic Convolutional CODES) Codierer wird typischerweise für den ersten und den zweiten Komponenten-Codierer 111 und 113 verwendet. Nachfolgend wird der erste RSC Komponenten-Codierer 111 als RSC1 bezeichnet und der zweite RSC Komponenten-Codierer 113 wird als RSC2 bezeichnet. Weiterhin besitzt der Interleaver 112 dieselbe Größe wie der Eingangs-Informations-Bit-Frame und ordnet die Sequenz der Informations-Bits, die zum zweiten Komponenten-Codierer 113 geliefert werden, neu, um die Korrelation zwischen den Informations-Bits zu reduzieren.As 1 shows, the turbo-encoder comprises a first component encoder 111 for encoding input frame data, an interleaver 112 for interleaving the input frame data and a second component encoder 113 for encoding an output of the interleaver 112 , A well-known RSC (Recursive Systematic Convolutional CODES) coder is typically used for the first and second component coders 111 and 113 used. The following is the first RSC component encoder 111 referred to as RSC1 and the second RSC component encoder 113 is called RSC2. Furthermore, the interleaver has 112 the same size as the input information bit frame and assigns the sequence of information bits that are to the second component encoder 113 can be supplied, to reduce the correlation between the information bits.

2 und 3 stellen jeweils grundsätzliche Strukturen des allgemeinen Interleavers und des De-Interleavers dar. 2 and 3 represent in each case fundamental structures of the general interleaver and the deinterleaver.

Unter Bezugnahme auf 2 wird ein Interleaver zum Verschachteln von Frame-Daten, ausgegeben vom ersten Komponenten-Codierer, beschrieben. Ein Adressen-Generator 211 erzeugt eine Lese-Adresse zum Ändern der Sequenz der Eingangs-Daten-Bits ge mäß einer Eingangs-Frame-Datengröße L und eines Eingangstakts und versorgt einen Interleaver-Speicher 212 mit der erzeugten, gelesenen Adresse. Der Interleaver-Speicher 212 speichert sequenziell Eingangsdaten in einem Schreibe-Betriebsmodus und gibt die gespeicherten Daten entsprechend der gelesenen Adresse, geliefert von dem Adressen-Generator 211, in einem Lese-Betriebsmodus aus. Ein Zähler 213 zählt den Eingangstakt und liefert den Taktzählwert zum Interleaver-Speicher 212 als eine Schreibadresse. Wie vorstehend beschrieben ist, speichert der Interleaver sequenziell Eingangs-Daten im Interleaver-Speicher 212 im Schreibe-Betriebsmodus und gibt die Daten, gespeichert im Interleaver-Speicher 212, gemäß der gelesenen Adresse, geliefert vom Adressen-Generator 211, im Lese-Bertriebsmodus aus. Alternativ ist es auch möglich, die Sequenz der Eingangs-Daten-Bits vor ihrem Speichern im Interleaver-Speicher im Schreibe-Betriebmodus zu ändern und sequenziell die gespeicherten Daten im Lese-Betriebsmodus zu lesen.With reference to 2 For example, an interleaver for interleaving frame data output from the first component encoder will be described. An address generator 211 generates a read address for changing the sequence of the input data bits according to an input frame data size L and an input clock, and supplies an interleaver memory 212 with the generated, read address. The interleaver memory 212 sequentially stores input data in a write mode of operation and outputs the stored data according to the read address supplied from the address generator 211 , in a read mode of operation. A counter 213 counts the input clock and supplies the clock count value to the interleaver memory 212 as a write address. As described above, the interleaver sequentially stores input data in the interleaver memory 212 in write mode and outputs the data stored in the interleaver memory 212 , according to the read address, supplied by the address generator 211 , in read-operating mode. Alternatively, it is also possible to sequence the input data bits before their memory to change in the interleaver memory in the write mode of operation and to read sequentially the stored data in the read mode of operation.

Unter Bezugnahme auf 3 wird ein De-Interleaver beschrieben. Ein Adressen-Generator 311 erzeugt eine Schreibadresse zum Wiederherstellen der Sequenz der Eingangs-Daten-Bits in die ursprüngliche Reihenfolge entsprechend einer Eingangs-Frame-Datengröße L und eines Eingangstakts und liefert an einen De-Interleaver-Speicher 312 die erzeugte Schreibadresse. Der De-Interleaver-Speicher 312 speichert Eingangs-Daten entsprechend der vom Adressen-Generator 311 gelieferten Schreibadresse im Schreibe-Betriebsmodus und gibt sequenziell die gespeicherten Daten im Lese-Betriebsmodus aus. Ein Zähler 313 zählt den Eingangstakt und liefert den Taktzählwert zu dem Interleaver-Speicher 312 als eine Lese-Adresse. Wie vorstehend beschrieben ist, besitzt der De-Interleaver dieselbe Struktur wie der Interleaver, hat allerdings die zum Interleaver entgegengesetzte Operationsweise. Der De-Interleaver unterscheidet sich vom Interleaver nur dahingehend, dass die Eingangs-Daten unterschiedliche Sequenzen sowohl im Lese- als auch im Schreibmode haben. Deshalb wird die folgende Beschreibung zur Vereinfachung nur unter Bezugnahme auf den Interleaver vorgenommen.With reference to 3 a de-interleaver is described. An address generator 311 generates a write address for restoring the sequence of input data bits to the original order corresponding to an input frame data L and an input clock, and supplies to a de-interleaver memory 312 the generated write address. The de-interleaver memory 312 stores input data corresponding to that from the address generator 311 supplied write address in the write mode of operation and outputs sequentially the stored data in the read operation mode. A counter 313 counts the input clock and supplies the clock count to the interleaver memory 312 as a read address. As described above, the de-interleaver has the same structure as the interleaver, but has the opposite operation to the interleaver. The deinterleaver differs from the interleaver only in that the input data has different sequences in both the read and write modes. Therefore, the following description will be made for simplicity only with reference to the interleaver.

Da der Turbo-Code ein Linear-Block-Code ist, besitzt ein neues Informationswort, erhalten durch Hinzufügen eines Nicht-Null-Informationsworts zu einem Eingangs-Informations-Wort, im Allgemeinen dieselbe Codewort-Verteilungs-Eigenschaft. Deshalb wird, gerade obwohl die Eigenschaft basierend auf dem Überall-Null-Informations-Wort (All-Zero) entwickelt ist, dieselbe Funktionsweise gegeben sein, verglichen mit der Funk tionsweise, die unter Verwendung des Nicht-Null-Informationsworts bestimmt ist. Demzufolge wird eine Beschreibung nachfolgend unter Bezugnahme auf den Fall vorgenommen werden, bei dem das Eingangs-Informations-Wort das Überall-Null-Codewort ist. Das bedeutet, dass die Funktionsweise des Turbo-Codes unter der Annahme analysiert werden wird, dass das Eingangs-Informations-Wort überall Null-Bits hat und nur ein gegebenes Informations-Bit "1" ist.There the turbo code is a linear block code, has a new information word, obtained by adding a non-zero information word to an input information word, generally the same codeword distribution property. Therefore even though the property is based on the all-zero information word (All-Zero) is designed to be the same functioning, compared with the way of functioning using the non-zero information word is determined. As a result, a description will be given below Reference may be made to the case where the input information word the all-zero codeword is. This means that the functioning of the turbo code under the Assumption will be analyzed that the input information word anywhere zero bits and only a given information bit is "1".

Um die Leistungsfähigkeit des Turbo-Codierers zu verbessern, kann ein Stamm-Polynom (primitive polynomial) für ein Rückführ-Polynom aus einem Generator-Polynom für den Komponenten-Codierer verwendet werden. Das Rückführ-Polynom ist durch Ausdrücken einer Abzweigung (tapping) gegeben, das einer Rückführung in den RSC Komponenten-Codierern 111, 113 der 1 in einem Polynom unterliegt, und das Rückführ-Polynom ist definiert als gf(x). Im Falle von 1 gilt gf(x) = 1 + x2 + x3. Das bedeutet, dass die höchste Ordnung die Tiefe eines Speichers anzeigt, und die am weitesten rechts liegende Verbindung bestimmt, ob der Koeffizient x3 von gf(x) den Wert 0 oder 1 hat. Deshalb wiederholt, wenn die Zahl der Speicher für den RSC Codierer m ist, eine Rückführ-Sequenz, erzeugt durch das Rückführ-Polynom, kontinuierlich dasselbe Muster unter einer Periode von 2m – 1. Demzufolge werden, wenn ein Eingangs-Informations-Wort "1" zu Anfang entsprechend dieser Periode empfangen wird (z.B. für m = 3, wenn ein Eingangs-Informations-Wort von "10000001..." empfangen wird), dieselben Informations-Bits mit EXKLUSIV-ODER verknüpft, so dass folglich der Zustand des RSC Codierers ein Überall-Null-Zustand wird, was demzufolge Ausgabe-Symbole von lauter 0'en erzeugt. Dies bedeutet, dass das Hamming-Gewicht des Codeworts, erzeugt durch den RSC Codierer, nach diesem Ereignis den konstanten Wert von 1 hat. Das bedeutet weiter, dass der freie Abstand des Turbo-Codes nach dieser Zeit beibehalten wird, und das CISP wird eine Hauptursache einer Verringerung in dem freien Abstand des Turbo-Codierers.To improve the performance of the turbo coder, a polynomial of polynomial for a return polynomial from a generator polynomial can be used for the component coder. The return polynomial is given by expressing a tapping which is a feedback in the RSC component encoders 111 . 113 of the 1 in a polynomial, and the return polynomial is defined as gf (x). In case of 1 gf (x) = 1 + x 2 + x 3 . This means that the highest order indicates the depth of a memory, and the rightmost connection determines whether the coefficient x 3 of gf (x) is 0 or 1. Therefore, when the number of memories for the RSC encoder is m, a return sequence generated by the return polynomial continuously repeats the same pattern under a period of 2 m -1. Accordingly, when an input information word " 1 "is initially received in accordance with this period (eg, for m = 3, when an input information word of" 10000001 ... "is received), the same information bits are XORed, and hence the state of the RSC encoder becomes an all-zero state, thus generating output symbols of all 0's. This means that the Hamming weight of the codeword generated by the RSC encoder has the constant value of 1 after this event. This further means that the free space of the turbo code is maintained after this time, and the CISP becomes a major cause of a reduction in the free space of the turbo-coder.

Um in diesem Fall den freien Abstand zu erhöhen verteilt der Turbo-Interleaver unter Zufall das CISP Eingangs-Informations-Wort, um so eine Abnahme in dem freien Abstand an dem Ausgabe-Symbol des anderen Komponenten-RSC-Codierers zu verhindern. Tabelle 1 nachfolgend zeigt eine Rückführ-Sequenz, erzeugt von gf(x) = 1 + x2 + x3. In Tabelle 1 zeigt X(t) ein Eingangs-Informations-Bit zu einer Zeit t des Eingangs-Informa tions-Worts an. Weiterhin zeigen m(t), m(t – 1) und m(t – 2) jeweils drei Speicherzustände des RSC Codierers an. Da hier die Speicheranzahl gleich 3 ist, ist die Periode 23 – 1 = 1.In this case, to increase the free space, the turbo interleaver randomly distributes the CISP input information word so as to prevent a decrease in the free space on the output symbol of the other component RSC encoder. Table 1 below shows a feedback sequence generated from gf (x) = 1 + x 2 + x 3 . In Table 1, X (t) indicates an input information bit at a time t of the input information word. Furthermore, m (t), m (t-1), and m (t-2) each indicate three memory states of the RSC encoder. Since the memory number is 3 here, the period is 2 3 - 1 = 1.

[Tabelle 1]

Figure 00120001
[Table 1]
Figure 00120001

Anhand von Tabelle 1 ist festzustellen, dass, falls X(t) = 1 zu der Zeit t = 7 gilt, dann demzufolge m(t), m(t – 1) und m(t – 2) lauter Null-Zustände werden. Deshalb wird das Hamming-Gewicht der folgenden Ausgangs-Symbole immer Null. In diesem Fall wird sich, falls der Turbo-Interleaver den RSC2 mit der Eingangs-Informations-Sequenz "10000001000..." beliefert, wie es ist, das Hamming-Gewicht der Ausgabe-Symbole in der Zeit nach t = 7 nicht ändern, sogar in dem RSC2, unter Verwendung desselben Rückführ-Polynoms, und zwar aus demselben Grund. Dies bewirkt eine Abnahme in dem freien Abstand der gesamten Ausgabe-Symbole des Turbo-Codierers. Um dies zu verhindern, ändert der Turbo-Interleaver die originale Eingangs-Informations-Sequenz "10000001000..." zu einer Eingangs-Informations-Sequenz eines unterschiedlichen Musters (zum Beispiel ändert sich eine Position des Informations-Bits "1" entsprechend 110000000...) und liefert die sich ergebende Sequenz dem RSC2. Deshalb erhöht sich, gerade obwohl eine Erhöhung in dem Hamming-Gewicht in dem RSC1 gestoppt wird, das Hamming-Gewicht kontinuierlich in dem RSC2, so dass sich der gesamte freie Abstand des Turbo-Codierers erhöht. Dies kommt daher, dass das Rückführ-Polynom, das den Infinit-Impuls-Ansprech-(IIR)-Filter-Typ besitzt, kontinuierlich das infinite Ausgangs-Symbol "1" gerade für ein Eingangs-Informations-Bit "1" erzeugt. Gleichung 1 nachfolgend stellt die Beziehung zwischen dem RSC1 und dem RSC2 im Hinblick auf das Hamming-Gewicht oder den freien Abstand des Turbo-Codierers dar.Based from Table 1, it should be noted that if X (t) = 1 at the time t = 7, then m (t), m (t - 1) and m (t - 2) are louder Zero conditions become. That's why the Hamming weight the following output symbols always zero. In this case, it will, if the turbo interleaver supplies the RSC2 with the input information sequence "10000001000 ..." as it does is the Hamming weight of the output symbols in the time after t = 7 do not change, even in the RSC2, using the same return polynomial from the same Reason. This causes a decrease in the free distance of the whole Output symbols of the turbo-coder. To prevent this, the changes Turbo Interleaver the original input information sequence "10000001000 ..." to an input information sequence a different pattern (for example, a position of the Information bits "1" corresponding to 110000000 ...) and deliver the resulting sequence to the RSC2. Therefore, it increases even though an increase in the Hamming weight in the RSC1 is stopped, the Hamming weight continuously in the RSC2, so that the total free distance of the turbo-coder elevated. This is because the return polynomial, this is the Infinite Impulse Response (IIR) filter type has continuously generated the infinite output symbol "1" just for an input information bit "1". Equation 1 below the relationship between the RSC1 and the RSC2 in terms of Hamming weight or Turbo coder clear distance.

[Gleichung 1][Equation 1]

HW(Ausgangs-Code-Sequenz) = HW(RSC1 Code-Sequenz) + HW(RSC2 Code-Sequenz) wobei NW das Hamming-Gewicht ist.HW (output code sequence) = HW (RSC1 code sequence) + HW (RSC2 code sequence) where NW is the Hamming weight is.

Aus Gleichung 1 ist festzustellen, dass eine Hamming-Gewicht-Balance zwischen RSC1 und RSC2 sehr wichtig ist. Insbesondere ist festzustellen, dass der minimale, freie Abstand des Turbo-Codes für das minimale Hamming-Gewicht des Eingangs-Informations-Worts erzeugt wird, wenn die IIR (Infinite Impulse Response) Charakteristik des RSC Codierers berücksichtigt wird. Allgemein wird der minimale, freie Abstand erzielt, wenn, wie vorstehend erwähnt, das Eingangs-Informations-Wort das Hamming-Gewicht 2 besitzt.Out Equation 1 states that a Hamming weight balance between RSC1 and RSC2 is very important. In particular, it should be noted that the minimum, free distance of the turbo code for the minimum Hamming weight of the input information word is generated when the IIR (Infinite Impulse Response) characteristic of the RSC coder becomes. Generally, the minimum clearance is achieved when, as mentioned above, the input information word has the Hamming weight 2.

Allerdings tritt, wie vorstehend beschrieben ist, der minimale freie Abstand auf, wenn das Eingangs-Informations-Wort das Hamming-Gewicht 3, 4, 5, ..., besitzt, ebenso wie dann, wenn das Eingangs-Informations-Wort das Hamming-Gewicht 2 hat. Dies tritt auf, wenn das Eingangs-Informations-Wort auf einer Frame-Einheit-Basis empfangen wird, wie folgt.Indeed occurs as described above, the minimum free distance when the input information word is the Hamming Weight 3, 4, 5, ... possesses, as well as when the input information word the Hamming weight has 2. This occurs when the input information word is received on a frame unit basis as follows.

Zum Beispiel wird, wenn nur das Informations-Bit, angeordnet an der letzten Position des Eingangs-Informations-Worts, d.h. die letzte Position des Frame, "1" ist und alle anderen Informations-Bits 0'en sind, das Hamming-Gewicht des Eingangs-Informations-Worts 1. In diesem Fall wird die Zahl von Symbolen "1", ausgegeben von dem RSC1, sehr klein, da dort nicht weiter ein Eingangs-Informations-Wort vorhanden ist. Natürlich existieren, wenn Null-End-Bits (Zero Tail Bits) verwendet werden, dort zwei Symbole, allerdings werden diese unabhängig verwendet im Gegensatz dazu, dass sie einer Turbo-Verschachtelung unterworfen werden. Deshalb wird hier angenommen, dass das Gewicht leicht erhöht wird. Da das konstante Gewicht addiert wird, wird dies von einer Analyse des Interleavers ausgeschlossen werden. In diesem Fall ist anhand von Gleichung 1 festzustellen, dass der RSC2 eine große Zahl von Ausgangs-Symbolen "1" erzeugen sollte, um den gesamten, freien Abstand zu erhöhen.To the Example, if only the information bit, arranged at the last position of the input information word, i. the last Position of the frame, "1" is and all others 0'en information bits are, the Hamming Weight of the Input Information Word 1. In In this case, the number of symbols becomes "1", output from the RSC1, very small, because there is not further an input information word is available. Of course, if zero-tail bits are used, there are two Symbols, however, these are used independently in contrast to be subject to turbo nesting. Therefore It is assumed here that the weight is increased slightly. As the constant weight is added, this is an analysis be excluded from the interleaver. In this case is based from Equation 1 establish that the RSC2 is a large number of output symbols should produce "1", to increase the total, clear distance.

Nun wird, unter Bezugnahme auf die 4 bis 10, eine vergleichende Beschreibung unter Berücksichtigung der Probleme des Stands der Technik und der Lösungen der Probleme vorgenommen.Well, with reference to the 4 to 10 , a comparative description taking into account the problems of the prior art and the solutions of the problems made.

In den 4 bis 10 geben die quer schraffierten Teile die Position an, wo das Eingangs-Informations-Bit "1" ist, und die anderen Teile geben die Positionen an, wo das Eingangs-Informations-Bit "0" ist.In the 4 to 10 the cross-hatched portions indicate the position where the input information bit is "1", and the other portions indicate the positions where the input information bit is "0".

Falls, wie in 4 dargestellt ist, der Turbo-Interleaver die Position des Eingangs-Informations-Worts verschiebt (oder permutiert), wo das Original-Symbol des RSC1 "1" ist, und zwar zu der letzten Position des Frame nach einer Verschachtelung, wird die Zahl von Ausgabe-Symbolen "1", erzeugt von dem RSC2, sehr klein werden. In diesem Fall verringert sich, da RSC1 und RSC2 eine sehr kleine Zahl von Ausgabe-Symbolen "1" entsprechend zu Gleichung 1 erzeugen, der gesamte, freie Abstand drastisch. Allerdings wird, falls, wie in 5 dargestellt ist, der Turbo-Interleaver die Position des Eingangs-Informations-Worts verschiebt, wo das ursprüngliche Symbol des RSC1 "1" ist, zu der ersten Position oder einer Position nahe der voranführenden Position des Frame bzw. Blocks nach einer Verschachtelung, die Zahl von Ausgangs-Symbolen "1", erzeugt vom RSC2, erhöht werden. Dies kommt daher, dass eine Vielzahl von Symbolen "1" über (N(Interleaver Size)-h(a number of "1")) (N(Interleaver-Größe)-h(die Anzahl an "1" en) Zustands-Übergänge für den RSC2 Codierer ausgegeben werden. In diesem Fall erzeugt der RSC2 eine große Zahl von Ausgabe-Symbolen "1" und erhöht dadurch den gesamten freien Abstand.If, as in 4 is shown, the turbo interleaver shifts (or permutes) the position of the input information word where the original symbol of the RSC1 is "1" to the last position of the frame after interleaving, the number of output becomes Symbols "1" generated by the RSC2 become very small. In this case, since RSC1 and RSC2 generate a very small number of output symbols "1" corresponding to Equation 1, the total free space drastically decreases. However, if, as in 5 7, the turbo interleaver shifts the position of the input information word where the original symbol of the RSC1 is "1" to the first position or a position near the leading position of the frame after interleaving, the number of output symbols "1" generated by the RSC2. This is because a plurality of symbols "1" over (N (interleaver size) -h (a number of "1")) (N (interleaver size) -h (the number of "1" s) state Transitions for the RSC2 encoder are output In this case, the RSC2 generates a large number of output symbols "1", thereby increasing the total free space.

Zusätzlich zu dem verringerten, freien Abstand, der dann auftritt, wenn der interne Interleaver das Eingangs-Informations-Bit "1 ", angeordnet an der letzten Position des Frame, zu der letzten Position des Frame verschiebt, wie in 4 dargestellt, wird sich, falls eines von zwei Informations-Bits des Wertes "1", angeordnet an der Endposition des Frame, noch an der endenden Position des Frame angeordnet sein wird (oder nahe dazu), sogar nach einer Verschachtelung, wie dies in 6 dargestellt ist, der gesamte freie Abstand verringern.In addition to the reduced free space that occurs when the internal interleaver shifts the input information bit "1" located at the last position of the frame to the last position of the frame, as in FIG 4 If one of two information bits of value "1" located at the end position of the frame will still be located at (or near) the ending position of the frame, even after interleaving, as shown in FIG 6 is shown, reduce the entire free distance.

Zum Beispiel ist das Hamming-Gewicht des Eingangs-Informations-Wortes dann 2, wenn der interne Interleaver im Frame-Mode arbeitet, wie dargestellt in 6, wo zwei Symbole, angeordnet an der endenden Position des Frame, 1'en sind und die anderen Symbole alle 0'en sind, sogar in diesem Fall wird die Anzahl der Ausgabe-Symbole "1", erzeugt vom RSC1, sehr klein, da dort kein weiteres Eingangs-Informations-Bit vorhanden ist. Deshalb sollte, entsprechend Gleichung 1, der RSC2 eine große Anzahl von Ausgangs-Symbolen "1" erzeugen, um den gesamten, freien Abstand zu erhöhen. Allerdings wird, auch dann, wenn der Turbo-Interleaver, wie in 6 dargestellt ist, die Position der vorstehenden zwei Symbole zu der endenden Position (oder nahe zu der endenden Positi on) des Frame, selbst nach einer Verschachtelung, verschiebt, der RSC2 auch eine kleine Anzahl von Ausgangs-Symbolen "1" erzeugen. Allerdings wird, falls, wie in 7 dargestellt ist, der Turbo-Interleaver die Position der vorstehenden zwei Symbole zur vordersten Position (oder nahe zur vordersten Position) des Frame verschiebt, der RSC2 eine große Anzahl von Symbolen "1" erzeugen. Das bedeutet, dass der RSC2 Codierer eine Vielzahl von Symbolen "1" über (N – H) Zustands-Übergänge (N = Interleaver Size (Interleaver-Größe), h = eine Anzahl des Symbols "1") ausgibt. In diesem Fall erzeugt der RSC2 deshalb die erhöhte Anzahl von Ausgangs-Symbolen "1", um dadurch den gesamten, freien Abstand zu erhöhen.For example, the Hamming weight of the input information word is 2 when the internal interleaver operates in frame mode, as shown in FIG 6 where two symbols arranged at the ending position of the frame are 1's and the other symbols are all 0's, even in this case, the number of output symbols "1" generated by the RSC1 becomes very small there is no further input information bit. Therefore, according to Equation 1, the RSC2 should generate a large number of output symbols "1" to increase the overall free distance. However, even if the turbo interleaver, as in 6 9, the position of the above two symbols shifts to the ending position (or close to the ending position) of the frame, even after interleaving, the RSC2 also generates a small number of output symbols "1". However, if, as in 7 7, the turbo interleaver shifts the position of the above two symbols to the foremost position (or near the foremost position) of the frame, which RSC2 generates a large number of symbols "1". That is, the RSC2 encoder outputs a plurality of symbols "1" over (N-H) state transitions (N = Interleaver Size, h = a number of the symbol "1"). In this case, the RSC2 therefore generates the increased number of output symbols "1" to thereby increase the total free space.

Dieses Prinzip kann auf den Fall erweitert werden, wo der Turbo-Interleaver in dem Frame-Mode arbeitet, dargestellt in 8, wo eine Vielzahl von Informations-Bits "1" an der endenden Periode (oder der Dauer) des Frame existiert und die anderen Informations-Bits alle 0'en sind. Gerade in diesem Fall wird der gesamte, freie Abstand durch Verschieben der Informations-Bits, die an der endenden Position des Frame existieren, zur vordersten Position des Frame oder zu Positionen näher zur vordersten Position erhöht, wie dies in 8 dargestellt ist. Natürlich behält, da der Turbo-Code der Linear-Block-Code ist, das neue Informationswort, erhalten durch Addieren eines Nicht-Null-Informationsworts zu einem solchen Informationswort, dieselbe Eigenschaft. Deshalb wird eine Beschreibung nachfolgend auf der Basis des Überall-Null-Informations-Worts vorgenommen.This principle can be extended to the case where the turbo interleaver operates in the frame mode, shown in FIG 8th where a plurality of information bits "1" exist at the ending period (or duration) of the frame and the other information bits are all 0's. Even in this case, the entire free space is increased by shifting the information bits existing at the ending position of the frame to the foremost position of the frame or to positions closer to the foremost position as shown in FIG 8th is shown. Of course, since the turbo code is the linear block code, the new information word obtained by adding a non-zero information word to such an information word retains the same property. Therefore, description will be made below on the basis of the all-zero information word.

Zusammengefasst sollten beim Entwerten des Turbo-Interleaver die folgenden Bedingungen ebenso wie die Zufallseigenschaft und die Abstandseigenschaft erfüllt werden, um die Leistungsfähigkeit des Turbo-Decodierers und den freien Abstand des Turbo-Codierers zu garantieren.

  • Bedingung 1: Beim Entwerten jedes Turbo-Interleavers sollten die Informations-Bits entsprechend einer spezifischen Periode von der letzten Position des Frame zu der vordersten Position des Frame durch Verschachtelung verschoben werden, um den freien Abstand des Turbo-Codes zu erhöhen.
  • Bedingung 2: Die Informations-Bits entsprechend zu der letzten Position des Frame sollten durch Verschachtelung zu einer Position verschoben werden, die der letzten Position vorausgeht (falls möglich zu der vordersten Position des Frame), um den freien Abstand des Turbo-Codes zu erhöhen.
In summary, when invalidating the turbo interleaver, the following conditions as well as the randomness property and the distance characteristic should be satisfied to guarantee the performance of the turbo decoder and the free space of the turbo-coder.
  • Condition 1: When invalidating each turbo interleaver, the information bits should be shifted by interleaving according to a specific period from the last position of the frame to the foremost position of the frame to increase the free space of the turbo code.
  • Condition 2: The information bits corresponding to the last position of the frame should be moved by interleaving to a position preceding the last position (if possible to the front position) position of the frame) to increase the free space of the turbo code.

Diese Bedingungen sind auf einen 2-dimensionalen Turbo-Interleaver ebenso wie auf den vorstehend beschriebenen 1-dimensionalen Interleaver anwendbar. Der 1-dimensionale Interleaver führt eine Verschachtelung aus, indem er das Eingangs-Informations-Frame als eine Gruppe betrachtet, wie in den 4 bis 8 dargestellt ist. Der 2-dimensionale Interleaver führt eine Verschachtelung durch Unterteilen des Eingangs-Informations-Frame in eine Mehrzahl von Gruppen durch. 9 stellt eine 2-dimensionale Verschachtelung dar, wobei das Eingangs-Informations-Wort das Hamming-Gewicht 1 besitzt.These conditions are applicable to a 2-dimensional turbo interleaver as well as the 1-dimensional interleaver described above. The 1-dimensional interleaver performs interleaving by looking at the input information frame as a group, as in FIGS 4 to 8th is shown. The 2-dimensional interleaver performs interleaving by dividing the input information frame into a plurality of groups. 9 represents a 2-dimensional interleaving, wherein the input information word has the Hamming weight 1.

Wie dargestellt ist, werden die Eingangs-Informations-Bits sequenziell in die jeweiligen Gruppen (oder Reihen) hineingeschrieben. Das bedeutet, dass die Eingangs-Informations-Bits sequenziell in die Gruppen (oder Reihen) r0, r1, ..., r(R – 1) geschrieben werden. In jeder Gruppe werden die Eingangs-Informations-Bits sequenziell von links nach rechts geschrieben. Danach ändert ein Turbo-Verschachtelungs-Algorithmus zufällig die Positionen von R × C Elementen (d.h. Eingangs-Informations-Bits), wobei R die Zahl der Reihen ist, C die Zahl der Spalten ist, oder, äquivalent, die Zahl von Informations-Bits in einer Gruppe. In diesem Fall ist es wünschenswert, den Turbo-Verschachtelungs-Algorithmus so zu entwerfen, dass das Informations-Bit, angeordnet an der letzten Position (oder der am weitesten rechts liegenden Position) der letzten Gruppe, falls möglich bei der Ausgabe an der vordersten Position angeordnet sein sollte. Natürlich kann, in Abhängigkeit von der Reihenfolge eines Auswählens der Gruppen, das Eingangs-Informations-Bit, angeordnet an der letzten Position, zu der vordersten Position (oder nahe dazu) der entsprechenden Gruppen verschoben werden. Weiterhin können Bedingung 1 und Bedingung 2 in einem k-dimensionalen Turbo-Interleaver (wobei k > 2) ebenso wie im 2-dimensionalen Interleaver normiert werden.As is shown, the input information bits become sequential into the respective groups (or rows). That means, the input information bits are sequentially input to the groups (or Rows) r0, r1, ..., r (R - 1) to be written. In each group, the input information bits become sequential written from left to right. After that, a turbo nesting algorithm changes fortuitously the positions of R × C Elements (i.e., input information bits), where R is the number of Rows is, C is the number of columns or, equivalently, the number of information bits in a group. In this case, it is desirable to have the turbo interleaving algorithm so Design that information bit, located at the last one Position (or rightmost position) of the last one Group, if possible should be located at the frontmost position when outputting. Naturally can, depending on from the order of a selection the groups, the input information bit, arranged at the last position, to the foremost position (or close to it) of the corresponding groups. Furthermore condition can 1 and condition 2 in a k-dimensional turbo interleaver (where k> 2) as well as in the Normalized 2-dimensional interleaver.

10 stellt einen Fall dar, bei dem das Eingangs-Informations-Wort das Hamming-Gewicht von über 2 besitzt. Wie dargestellt ist, werden die Informations-Bits, angeordnet an der letzten Position der letzten Gruppe, zu den voranführenden Positionen der letzten Gruppe durch Verschachtelung verschoben. Natürlich wird die detaillierte Verschiebungs- (oder Verschachtelungs-) Regel gemäß einem Algorithmus für einen spezifischen Interleaver bestimmt. Die Erfindung liefert Bedingung 1 und Bedingung 2, die notwendigerweise beim Bestimmen der Verschachtelungs-Regelung erfüllt werden sollten. 10 FIG. 12 illustrates a case where the input information word has the Hamming weight of over 2. As shown, the information bits arranged at the last position of the last group are shifted to the leading positions of the last group by interleaving. Of course, the detailed shift (or interleave) rule is determined according to an algorithm for a specific interleaver. The invention provides Condition 1 and Condition 2, which should necessarily be satisfied in determining the interleave control.

Als nächstes wird eine Beschreibung des PIL Interleavers vorgenommen, der die Probleme des Stands der Technik besitzt, und dann wird eine weitere Beschreibung einer Lösung der Probleme vorgenommen, die der PIL Interleaver besitzt.When next A description of the PIL interleaver is provided that describes the Has problems of the prior art, and then another Description of a solution the problems that the PIL Interleaver has.

Erste Stufe, (1) bestimme eine Reihen-Zahl, so dass
R = 10 in dem Fall gültig ist, dass die Zahl von Eingangs-Informations-Bits K 481 bis 530 ist, und
R = 20 in dem Fall gültig ist, dass die Zahl von Eingangs-Informations-Bits K irgendeine andere Block-Länge mit Ausnahme 481 bis 530 ist,
(2) bestimme eine Spalten-Zahl C, so dass für Fall 1 C = p = 53 gilt, wobei p = minimale Primzahl, und für Fall 2 gilt

  • (i) finde minimale Primzahl p, so dass 0 = < (p + 1) – K/R
  • (ii) falls (0 = < p – K/R), dann gehe zu (iii), ansonsten C = p + 1
  • (iii) falls (0 = < p – 1 – K/R), dann C = p – 1, ansonsten C = p.
First stage, (1) determine a row number, so that
R = 10 is valid in the case that the number of input information bits is K 481 to 530, and
R = 20 is valid in the case that the number of input information bits K is any other block length except 481 to 530,
(2) determine a column number C such that for case 1 C = p = 53, where p = minimum prime, and for case 2
  • (i) find minimum prime p such that 0 = <(p + 1) - K / R
  • (ii) if (0 = <p - K / R), then go to (iii), otherwise C = p + 1
  • (iii) if (0 = <p - 1 - K / R), then C = p - 1, otherwise C = p.

Eine zweite Stufe, Fall-B wird zuerst beschrieben, wo C = p + 1 aus einem Verschachtelungs-Algorithmus für den PIL Interleaver, der vorläufig als UMTS Turbo-Codierer bestimmt wurde. In Gleichung 2 nachfolgend gibt R die Zahl von Gruppen (oder Reihen) an, und besitzt einen Wert von R = 10 oder R = 20. Weiterhin gibt C die Größe jeder Gruppe an und wird durch eine Primzahl p bestimmt, die am nächsten zu R/K liegt, bestimmt in Stufe 1, entsprechend einem Wert K/R, wobei K die Größe der tatsächlichen Eingangs-Informations-Bits eines Frame bzw. Blocks ist. In Fall-B gilt immer, dass C = p + 1. Deshalb wird die tatsächliche Größe des PIL Interleavers ein durch R × C bestimmter Wert, der größer als C ist. Weiterhin gibt Cj(i) eine Position der Informations-Bits an, erhalten durch zufälliges Permutieren der Position der Eingangs-Informations-Bits in der Gruppe auf der Basis einer i-ten Gruppe, wobei i = 0,1,2,3,... ,p. Zusätzlich zeigt Pj einen Anfangs-Einstell-Wert (initial seed value) an, gegeben für einen j-ten Reihen-Vektor, und wird zu Anfang durch den Algorithmus gegeben.A second stage, case B is first described where C = p + 1 from a Nesting algorithm for the PIL interleaver, the preliminary was determined as a UMTS turbo coder. In equation 2 below R indicates the number of groups (or rows) and has one Value of R = 10 or R = 20. Furthermore, C gives the size of each Group and is determined by a prime number p closest to R / K, determined in step 1, corresponds to a value K / R, where K is the size of the actual Input information bits of a frame. In case-B always holds that C = p + 1. Therefore, the actual Size of the PIL Interleavers through R × C certain value greater than C is. Further, Cj (i) gives a position of the information bits on, obtained by accidental Permuting the position of the input information bits in the group based on an i-th group, where i = 0,1,2,3, ..., p. Additionally shows Pj is given an initial seed value for one jth row vector, and is initially given by the algorithm.

[Gleichung 2][Equation 2]

  • B-1) Eine Stammwurzel (a primitive root) g0 wird aus einer gegebenen Zufalls-Initialisierungs-Konstanten-Tabelle (3GPP TS 25.212 Tabelle 2; Tabelle einer Primzahl p und einer zugeordneten Stammwurzel) ausgewählt, so dass g0 eine Stammwurzel eines Felds, basierend auf der Primzahl p, ist.B-1) A primitive root g0 is derived from a given random initialization constant table (3GPP TS 25.212 table 2; table of a prime number p and an associated root) is selected so that g0 is a root of a field based on the prime number p.
  • B-2) Konstruieren einer Basis-Sequenz C(i), die für eine Reihen-Vektor-Randomisierung (Zufallserzeugung) verwendet werden soll, unter Verwendung der folgenden Formel. C(i) = [g0 × C (i – 1)] mod p, i = 1, 2, 3, ..., p – 2, C(0) = 1 B-2) constructing a base sequence C (i) to be used for row vector randomization (random generation) using the following formula. C (i) = [g0 × C (i-1)] mod p, i = 1, 2, 3, ..., p-2, C (0) = 1
  • B-3) Wähle den minimalen Primzahl-Satz {qj, j = 0, 1, 2, ..., R – 1} aus, so dass g.c.d {qj, p – 1} = 1, qj > 6 und qj > q(j–1) wobei g.c.d ein größter gemeinsamer Teiler ist und q0 = 1 gilt.B-3) Select the minimum prime set {q j , j = 0, 1, 2, ..., R - 1} such that gcd {q j , p - 1} = 1, q j > 6 and q j > q (j-1) where gcd is a largest common divisor and q 0 = 1.
  • B-4) {pj, j = 0, 1, 2, ..., R – 1}, ein neuer Primzahl-Satz der aus {qj, j = 0, 1, 2, ..., R – 1} berechnet wird, so dass pp(j) = qj gilt, wobei J = 0, 1, ... R – 1 und p(j) das Inter-Reihen-Permutations-Muster, definiert in der dritten Stufe, ist.B-4) {p j , j = 0, 1, 2, ..., R - 1}, a new set of prime-phrases consisting of {q j , j = 0, 1, 2, ..., R - 1}, such that p p (j) = q j , where J = 0, 1, ... R - 1 and p (j) the inter-row permutation pattern defined in the third stage, is.
  • B-5) Elemente der j-ten Intra-Reihen-Permutation als folgendes Verfahren. Cj(i) = C([i × pj] mod (p – 1)), i = 0, 1, 2, 3, ..., p – 2, Cj(p – 1) = 0, und Cj(p) = p B-5) elements of the j-th intra-row permutation as the following procedure. C j (i) = C ([i × p j ] mod (p-1)), i = 0, 1, 2, 3, ..., p-2, Cj (p-1) = 0, and C j (p) = p

Eine dritte StufeA third step

Führe die Reihen-Permuation basierend auf den folgenden p(j) (j = 0,1,2, ..., R – 1) Mustern durch, wobei p(j) die originale Reihenposition der j-ten Permutations-Reihe ist.Perform the row permutation based on the following p (j) (j = 0,1,2, ..., R-1) patterns, where p (j) is the original row position of the j-th permutation row.

Die Verwendung dieser Muster ist wie folgt; wenn die Zahl des Eingangs-Informations-Bits K 320 bis 480 Bit ist, führe ein Gruppen-Auswahl-Muster pA durch, wenn die Zahl des Eingangs-Informations-Bits K 481 bis 530 Bits ist, führe Gruppen-Auswahl-Muster pC durch, wenn die Zahl des Eingangs-Informations-Bit K 531 bis 2280 Bit ist, führe ein Gruppen-Auswahl-Muster pA durch, wenn die Zahl des Eingangs-Informations-Bit K 2281 bis 2480 Bit ist, führe ein Gruppen-Auswahl-Muster pB durch, wenn die Zahl des Eingangs-Informations-Bits K 2481 bis 3160 Bit ist, führe ein Gruppen-Auswahl-Muster pA durch, wenn die Zahl des Eingangs-Informations-Bit K 3161 bis 3210 Bit ist, führe ein Gruppen-Auswahl-Muster pB durch, und wenn die Zahl eines Eingangs-Informations-Bit K 3211 bis 5114 Bit ist, führe ein Gruppen-Auswahl-Muster pA durch. Das Gruppen-Auswahl-Muster ist wie folgt;
pA: {19, 9, 14, 40, 2, 5, 7, 12, 18, 10, 8, 13, 17, 3, 1, 16, 6, 15, 11} für R = 20
pB: {19, 9, 14, 40, 2, 5, 7, 12, 18, 16, 13, 17, 15, 3, 1, 6, 11, 8, 10} für R = 20
pC: {9, 8, 7, 6, 5, 4, 3, 2, 1, 0} für R = 10.
The use of these patterns is as follows; when the number of the input information bits K is 320 to 480 bits, perform a group selection pattern p A when the number of the input information bits K is 481 to 530 bits, carry group selection patterns p C , when the number of the input information bits K is 531 to 2280 bits, perform a group selection pattern p A , if the number of the input information bits K is 2281 to 2480 bits, perform a group selection pattern Selection pattern p B by, when the number of the input information bits K is 2481 to 3160 bits, perform a group selection pattern p A when the number of the input information bits K is 3161 to 3210 bits, perform a group selection pattern p B , and when the number of an input information bit K is 3211 to 5114 bits, execute a group selection pattern p A. The group selection pattern is as follows;
p A : {19, 9, 14, 40, 2, 5, 7, 12, 18, 10, 8, 13, 17, 3, 1, 16, 6, 15, 11} for R = 20
p B : {19, 9, 14, 40, 2, 5, 7, 12, 18, 16, 13, 17, 15, 3, 1, 6, 11, 8, 10} for R = 20
p C : {9, 8, 7, 6, 5, 4, 3, 2, 1, 0} for R = 10.

Es sollte hier angemerkt werden, dass die letzte Operation von B-5) als Cj(p) = p definiert ist. Das bedeutet, dass dann, wenn die Position des Eingangs-Informations-Bits vor einer Verschachtelung p ist, die Position des Eingangs-Informations-Bits an der Position p sogar nach einer PIL Verschachtelung beibehalten wird. Deshalb behalten für die letzte Gruppe (j = 19) die Informations-Bits CR–1(P) = C19(p), die an der letzten Position existieren, dieselbe Position i=P bei, die die letzte Position der 19. Gruppe ist. Deshalb wird Bedingung 2 für ein Auslegen des Turbo-Interleavers nicht erfüllt.It should be noted here that the last operation of B-5) is defined as C j (p) = p. That is, when the position of the input information bit before interleaving is p, the position of the input information bit at the position p is maintained even after PIL interleaving. Therefore, for the last group (j = 19), the information bits C R-1 (P) = C 19 (p) existing at the last position retain the same position i = P as the last position of FIG. Group is. Therefore, Condition 2 is not satisfied for interpretation of the turbo interleaver.

Das bedeutet, dass, um das Problem zu lösen, das der PIL Interleaver hat, Algorithmus-Schritt B-5) wie folgt modifiziert werden sollte. Die Erfindung liefert sechs Verfahren von B-5-1) bis B-5-6), als Beispiel. Aus diesen kann die optimale Leistungsfähigkeit über Simulationen im Hinblick auf die Eigenschaften des Turbo-Interleavers bestimmt werden.The means that to solve the problem, the PIL interleaver has, algorithm step B-5) should be modified as follows. The invention provides six methods from B-5-1) to B-5-6), as an example. From these can optimize performance through simulations determined with regard to the properties of the turbo interleaver become.

Eines der folgenden 6 Verfahren wird ausgewählt.

  • B-5-1) Positionen von CR–1(0) und CR–1(p) werden gegeneinander ausgetauscht. R = 10 oder 20
  • B-5-2) Positionen von CR–1(p – 1) und CR–1(p) werden gegeneinander ausgetauscht. R = 10 oder 20
  • B-5-3) für jedes j werden Positionen von Cj(0) und Cj(p) gegeneinander ausgetauscht. j = 0,1,2, ..., R – 1
  • B-5-4) für jedes j werden Positionen von Cj(p – 1) und Cj(p) gegeneinander ausgetauscht. j = 0, 1, 2, ..., R – 1
  • B-5-5) für jedes j wird eine optimale Austauschposition k für den verwendeten Verschachtelungs-Algorithmus aufgesucht, um Positionen von Cj(k) und Cj(p) gegeneinander auszutauschen.
  • B-5-6) für eine (R – 1)-te Reihe wird eine optimale Austauschposition k für den verwendeten Verschachtelungs-Algorithmus gesucht, um Positionen von CR–1(k) und CR–1(p) gegeneinander auszutauschen.
One of the following 6 methods is selected.
  • B-5-1) Positions of C R-1 (0) and C R-1 (p) are interchanged. R = 10 or 20
  • B-5-2) Positions of C R-1 (p-1) and C R-1 (p) are interchanged. R = 10 or 20
  • B-5-3) for each j, positions of C j (0) and C j (p) are interchanged. j = 0,1,2, ..., R - 1
  • B-5-4) for each j, positions of C j (p-1) and C j (p) are interchanged. j = 0, 1, 2, ..., R - 1
  • B-5-5) for each j, an optimal replacement position k for the interleaving algorithm used is searched to exchange positions of C j (k) and C j (p) with each other.
  • B-5-6) for an (R-1) -th row, an optimal replacement position k for the interleaving algorithm used is searched for to exchange positions of C R-1 (k) and C R-1 (p).

Die 11 und 12 stellen ein Blockdiagramm und ein Flussdiagramm gemäß einer Ausführungsform der vorliegenden Erfindung jeweils dar.The 11 and 12 FIG. 12 is a block diagram and a flowchart according to an embodiment of the present invention, respectively. FIG.

Wie 11 zeigt, erzeugt ein Reihen-Vektor-Permutations-Block (oder Reihen-Vektor-Permutations-Index-Generator) 912 einen Index zum Auswählen eines Reihen-Vektors gemäß einem Zählen eines Reihen-Zählers 911 und liefert den erzeugten Index zu einem Hoch-Adressen-Puffer des Adressen-Puffers 918. Der Reihen-Vektor-Permutations-Block 912 ist ein Gruppen-Selektor für ein sequenzielles oder zufälliges Auswählen, wenn das Eingangs-Informations-Wort in eine Vielzahl von Gruppen unterteilt wird, die unterteilten Gruppen. Ein Spalten-Vektor-Permutations-Block (oder ein Elemente-Permutations-Index-Generator des Spalten-Vektors) 914 erzeugt, in Abhängigkeit von einem modifizierten PIL Algorithmus 915, einen Index zum Permutieren der Positionen der Elemente in dem entsprechenden Reihen-Vektor (oder der Gruppe) gemäß einem Zählen eines Spalten-Zählers 913, und liefert den erzeugten Index zu einem Niedrig-Adressen-Puffer des Adressen-Puffers 918. Der Spalten-Vektor-Permutations-Block 914 ist eine Einrichtung zum Umrechnen auf Zufallszeichen (Randomizer) zum Permutieren der Position der Informations-Bits in der Gruppe, die sequenziell in der Reihenfolge der Eingabe, entsprechend einer gegebenen Regel, gespeichert wurden. Ein RAM (Random Access Memory) 917 speichert temporär Daten, erzeugt in dem Prozess des Programms. Eine Durchsichtstabelle 916 speichert Parameter zur Verschachtelung und für die Stammwurzel (primitive root). Die Adressen, erhalten durch Reihen-Permutation und Spalten-Permutation (d.h. die Adressen, gespeichert in dem Adressen-Puffer 918), werden als eine Adresse für eine Verschachtelung verwendet.As 11 shows generates a row vector permutation block (or row vector permutation index generator) 912 an index for selecting a row vector according to counting of a row counter 911 and supplies the generated index to a high address buffer of the address buffer 918 , The row vector permutation block 912 is a group selector for sequential or random selection when the input information word is divided into a plurality of groups, the divided groups. A column vector permutation block (or column vector vector permutation index generator) 914 generated, depending on a modified PIL algorithm 915 , an index for permuting the positions of the elements in the corresponding row vector (or group) in accordance with a counting of a column counter 913 , and supplies the generated index to a low address buffer of the address buffer 918 , The column vector permutation block 914 is a Randomizer for permuting the position of the information bits in the group sequentially stored in the order of the input according to a given rule. A RAM (Random Access Memory) 917 temporarily stores data generated in the process of the program. A look-up table 916 stores parameters for nesting and for the root (primitive root). The addresses obtained by row permutation and column permutation (ie the addresses stored in the address buffer 918 ) are used as an address for nesting.

12 zeigt ein Flussdiagramm des modifizierten PIL Algorithmus. Eine nachfolgende Beschreibung bezieht sich auf die zweite Stufe, Fall-B, in dem PIL Algorithmus. Wie 12 zeigt, wird eine Stammwurzel g0 von einer gegebenen Zufalls-Initialisierungs-Konstanten-Tabelle, im Schritt 1011, ausgewählt. Danach wird, im Schritt 1013, eine Basis-Sequenz C(i) zum Umrechnen auf Zufallszeichen der Elemente (oder Informations-Bits) der Gruppe unter Verwendung der folgenden Formel erzeugt. C(i) = [g0 × C(i – 1)] mod p, i = 1, 2, 3, ..., p – 2, C(0) = 1 12 shows a flow chart of the modified PIL algorithm. A description below refers to the second stage, Case-B, in the PIL algorithm. As 12 shows, a root g0 of a given random initialization constant table, in step 1011 , selected. After that, in step 1013 , a base sequence C (i) is generated for conversion to random characters of the elements (or information bits) of the group using the following formula. C (i) = [g0 × C (i-1)] mod p, i = 1, 2, 3, ..., p-2, C (0) = 1

Danach wird, im Schritt 1015, ein Minimum-Primzahl-Satz {qj, j = 0, 1, 2, ..., R – 1}, gegeben für den Algorithmus, berechnet. Dann wird im Schritt 1017 ein Primzahl-Satz {pj, j = 0, 1, 2, ..., R – 1} aus dem berechneten, minimalen Primzahl-Satz berechnet. Als nächstes werden, im Schritt 1019, die Elemente der j-ten Gruppe mit dem folgenden Verfahren auf Zufallszeichen umgerechnet. Cj(i) = c([i × Pj] mod (p – 1)), i = 0, 1, 2, 3, ..., p – 2, Cj(p – 1) = 0 Hierbei wird, um den minimalen, freien Abstand des Turbo-Codierers zu erhöhen, während die Elemente der Gruppe aus Zufallszeichen umgerechnet werden, ein Verfahren aus B-5-1) bis B-5-6) ausgewählt, um die Informations-Bits, die an der letzten Position des Frame existieren, zu anderen Positionen nach einer Verschachtelung zu permutieren (oder zu verschieben).After that, in step 1015 , a minimum prime set {q j , j = 0, 1, 2, ..., R-1} given for the algorithm. Then in step 1017 calculates a prime set {p j , j = 0, 1, 2, ..., R-1} from the calculated minimum prime set. Next, in step 1019 , the elements of the j-th group are randomized using the following procedure. C j (i) = c ([i × P j ] mod (p-1)), i = 0, 1, 2, 3, ..., p - 2, C j (p - 1) = 0 Here, in order to increase the minimum free space of the turbo-coder while the elements of the group are randomized, a method of B-5-1) to B-5-6) is selected to extract the information bits. that exist at the last position of the frame, to permute (or move) to other positions after interleaving.

B-5-1) bedeutet, dass die Positionen des ersten Informations-Bits und des letzten Informations-Bits in der letzten Gruppe gegeneinander ausgetauscht werden. B-5-2) bedeutet, dass die letzten zwei Informations-Bits in der letzten Gruppe gegeneinander ausgetauscht werden. B-5-3) bedeutet, dass, für jede Gruppe, das Informations-Bit, das an der letzten Position existiert, und das Informations-Bit, das an der vordersten Position existiert, gegeneinander ausgetauscht werden. B-5-4) bedeutet, dass, für jede Gruppe, die Positionen der letzten zwei Informations-Bits ausgetauscht werden. B-5-5) bedeutet, dass, für jede Gruppe, eine optimale Position k für eine gegebene Verschachtelungs-Regelung gesucht wird, um eine Position des Informations-Bits, das an der letzten Position jeder Reihe existiert, gegen eine Position des Informations-Bits, das an der Position k existiert, auszutauschen. Schließlich bedeutet B-5-6), dass, für die letzte Gruppe, eine optimale Position k für eine gegebene Verschachtelungs-Regelung gesucht wird, um eine Position des Informations-Bits, das an der letzten Position existiert, gegen eine Position des Informations-Bits, das an der Position k existiert, auszutauschen.B-5-1) means that the positions of the first information bit and the last information bits exchanged in the last group become. B-5-2) means that the last two bits of information exchanged in the last group. B-5-3) means that, for every group, the information bit that exists at the last position, and the information bit that exists at the forefront position be exchanged for each other. B-5-4) means that, for each group, the positions of the last two information bits are exchanged. B-5-5) means that, for each group, an optimal position k for a given interleaving control sought will be to get a position of the information bits that last Position of each row exists, against a position of the information bit, that exists at the position k to exchange. Finally means B-5-6) that, for the last group, an optimal position k for a given interleaving control is looking for a position of the information bits that are at the last position exists, against a position of the information bit, that exists at the position k to exchange.

Durch Anwenden des modifizierten Algorithmus bei dem PIL Interleaver ist es möglich, eine Verringerung in dem freien Abstand des Turbo-Codierers zu verhindern. Tabelle 2 nachfolgend zeigt ein Gewicht-Spektrum (Weight Spectrum) des PIL Interleavers vor einer Modifikation und Tabelle 3 nachfolgend zeigt ein Gewicht-Spektrum (Weight Spectrum) des PIL Interleavers nach einer Modifikation.By Apply the modified algorithm where PIL interleaver is it is possible to prevent a reduction in the free space of the turbo-coder. Table 2 below shows a weight spectrum (Weight Spectrum) of the PIL interleaver before modification and Table 3 below shows a weight spectrum (weight spectrum) of the PIL interleaver after a modification.

In den Tabellen 2 und 3 gibt K die Größe des Eingangs-Informations-Frame bzw. -Blocks an, Dfree (1) gibt einen freien Abstand an, berechnet mit dem CISP, für den das Eingangs-Informations-Wort das Hamming-Gewicht 1 besitzt, und Dfree (2) gibt einen freien Abstand an, berechnet mit dem CISP, für den das Eingangs-Informations-Wort das Hamming-Gewicht 2 besitzt. Zum Beispiel wird, für K = 600, Dfree (1) des originalen PIL Interleavers durch 25/39/49/53/57/... in Tabelle 2 angezeigt, und dies bedeutet, dass der minimale, freie Abstand 25 beträgt und der nächste minimale, freie Abstand 39 beträgt.In Tables 2 and 3, K indicates the size of the input information frame, Dfree (1) indicates a free space calculated by the CISP for which the input information word is the Hamming weight 1 and Dfree (2) indicates a free space calculated by the CISP for which the input information word has the Hamming weight 2. For example, for K = 600, Dfree (1) of the origi in PIL interleaver indicated by 25/39/49/53/57 / ... in Table 2, and this means that the minimum free distance is 25 and the next minimum free distance is 39.

Ähnlich bedeutet Dfree (2) = 38/38/42/..., dass der minimale, freie Abstand 38 ist. Deshalb wird angemerkt, dass der minimale, freie Abstand entsprechend dem freien Abstand durch das CISP mit dem Hamming-Gewicht 1 bestimmt wird. Um eine Verringerung in dem freien Abstand durch das CISP mit dem Hamming-Gewicht 1 zu verhindern, verwendet die Erfindung in diesem Beispiel das B-5-1) Verfahren. Das bedeutet, dass Dfree (1) durch Entfernen des CISP mit dem Hamming-Gewicht 1 verbessert wird.Similar means Dfree (2) = 38/38/42 / ... that the minimum free distance is 38. Therefore, it is noted that the minimum, free distance is corresponding the free distance determined by the CISP with the Hamming weight 1 becomes. To a reduction in the free distance through the CISP with the Hamming weight 1, uses the invention in this example, the B-5-1) method. That means Dfree (1) improved by removing the CISP with the Hamming weight 1 becomes.

Tabelle 2 nachfolgend stellt ein Gewicht-Spektrum des PIL Interleavers vor einer Modifikation dar table 2 below presents a weight spectrum of the PIL interleaver a modification

[Tabelle 2]

Figure 00230001
[Table 2]
Figure 00230001

Figure 00240001
Figure 00240001

Figure 00250001
Figure 00250001

Figure 00260001
Figure 00260001

Tabelle 3 nachfolgend stellt ein Gewicht-Spektrum des PIL Interleavers nach einer Modifikation dar.table 3 below shows a weight spectrum of the PIL interleaver a modification.

[Tabelle 3]

Figure 00270001
[Table 3]
Figure 00270001

Figure 00280001
Figure 00280001

Figure 00290001
Figure 00290001

Wie vorstehend beschrieben ist, unterdrückt der neuartige Turbo-Codierer, unter Verwendung des internen Interleavers, eine Abnahme in dem freien Abstand, verursacht durch eines oder mehr Informations-Bits des Wertes "1", angeordnet in der letzten Perio de eines Daten-Frames als Eingabe des Komponenten-Codierers, um dadurch zu einer Implementierung eines Turbo-Codierers mit einer hohen Leistungsfähigkeit beizutragen.As described above, suppresses the novel turbo-encoder, using the internal interleaver, a decrease in that free space caused by one or more information bits of the Value "1", arranged in the last period of a data frame as input of the component encoder, thereby to an implementation of a turbo coder with a high efficiency contribute.

Claims (4)

Turbo-Codierer, der umfasst: einen ersten Codierer (111), der so eingerichtet ist, dass er einen Frame von Eingangs-Informations-Bits codiert, um erste codierte Symbole zu erzeugen, wobei der Frame von Eingangs-Informations-Bits R Gruppen von C Informations-Bits aufweist und jede Gruppe einer einzelnen Reihe entspricht; einen zweidimensionalen Interleaver, der so eingerichtet ist, dass er den Frame von Eingangs-Informations-Bits empfängt, Verschachteln jeder Reihe des Frame von Eingangs-Informations-Bits innerhalb einer Reihe durchführt und anschließend an das Verschachteln innerhalb einer Reihe Austauschen der Position eines Informations-Bits an einer letzten Position einer letzten Reihe der innerhalb einer Reihe verschachtelten Reihen gegen eine vorausgehende Position innerhalb der letzten Reihe der R Reihen austauscht, und einen zweiten Codierer (113), der so eingerichtet ist, dass er den Ausgang des Interleavers codiert, um zweite codierte Symbole zu erzeugen.A turbo encoder comprising: a first encoder ( 111 ) arranged to encode a frame of input information bits to produce first coded symbols, the frame of input information bits having R groups of C information bits and each group corresponding to a single row ; a two-dimensional interleaver arranged to receive the frame of input information bits, to interleave each row of the frame of input information bits within a row, and then to interleave within a row the position of an information Exchanging bits at a last position of a last row of rows nested within a row for a previous position within the last row of R rows, and a second encoder ( 113 ) arranged to encode the output of the interleaver to produce second coded symbols. Turbo-Codierer nach Anspruch 1, wobei der Interleaver des Weiteren so eingerichtet ist, dass er Interleaving jeder Reihe des Frame von Eingangs-Informations-Bits innerhalb einer Reihe durchführt.The turbo-encoder of claim 1, wherein the interleaver Furthermore, it is set up to interleave each row of the frame of input information bits within a row. Vorrichtung zum Verschachteln eines Frame von K Informations-Bits, wobei der Frame R Gruppen aufweist und jede Gruppe C Informations-Bits hat und die Vorrichtung umfasst: einen Interleaver für zweidimensionales Verschachteln für einen Turbo-Codierer, der so eingerichtet ist, dass er sequenziell Eingangs-Informations-Bits des Frames in einen Speicher schreibt und die Positionen der in eine j-te Reihe geschriebenen Informations-Bits auf Position Cj(i) in der Reihe, wobei j = 0, 1, 2, ..., R – 1, entsprechend einem Algorithmus permutiert, der gegeben ist durch i) Permutieren einer Basis-Sequenz C(i) = [g0 × C(i – 1)]mod p, i = 1, 2, ..., (p – 2) und C(0) = 1 ii) Durchführen von Reihen-Permutation Cj(i) = C([i × pj] mod (p – 1)), j = 0, 1, 2, ..., (R – 1), i = 0, 1, 2, ..., (p – 2), Cj(p – 1) = 0, und Cj(p) = p iii) Austauschen von CR–1(p) gegen CR–1(0), wobei K die Anzahl von Eingangs-Informations-Bits in einem Frame angibt, p eine kleinste Primzahl anzeigt, die 0 ≤ (p + 1) – K/R erfüllt, g0 eine zugehörige Grund-Root für p angibt und pj einen Primzahlsatz angibt.Apparatus for interleaving a frame of K information bits, said frame having R groups and each group having C information bits, the apparatus comprising: a two-dimensional interleaver for a turbo-encoder adapted to be input sequentially Information bits of the frame are written to a memory and the positions of the information bits written in a j-th row at position C j (i) in the series, where j = 0, 1, 2, ..., R - 1, permuted according to an algorithm given by i) permuting a base sequence C (i) = [g0 × C (i-1)] mod p, i = 1, 2, ..., (p-2 ) and C (0) = 1 ii) performing series permutation C j (i) = C ([i × p j ] mod (p-1)), j = 0, 1, 2, ..., ( R-1), i = 0, 1, 2, ..., (p-2), C j (p-1) = 0, and C j (p) = p iii) exchanging C R-1 ( p) against C R-1 (0), where K indicates the number of input information bits in a frame, p a smallest prime number which satisfies 0 ≤ (p + 1) -K / R, g0 indicates an associated root root for p and p j indicates a prime number set. Vorrichtung nach Anspruch 1, die des Weiteren einen Zufallsgenerator (randomizer) umfasst, der so eingerichtet ist, dass er die Adressen der gespeicherten Informations-Bits gemäß ihrer ausgetauschten Positionen permutiert.The device of claim 1, further comprising Randomizer, which is set up that it stores the addresses of the stored information bits according to their exchanged positions.
DE20023803U 1999-05-19 2000-05-19 TURBO-interleaving Expired - Lifetime DE20023803U1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR19990018928 1999-05-19
KR9918928 1999-05-19
KR9918560 1999-05-21
KR19990018560 1999-05-21
EP00927908A EP1097516B1 (en) 1999-05-19 2000-05-19 Turbo interleaving apparatus and method

Publications (1)

Publication Number Publication Date
DE20023803U1 true DE20023803U1 (en) 2006-06-08

Family

ID=36599700

Family Applications (1)

Application Number Title Priority Date Filing Date
DE20023803U Expired - Lifetime DE20023803U1 (en) 1999-05-19 2000-05-19 TURBO-interleaving

Country Status (1)

Country Link
DE (1) DE20023803U1 (en)

Similar Documents

Publication Publication Date Title
DE60032441T2 (en) DEVICE AND METHOD FOR TURBO CHANNELING
DE69936683T2 (en) Nesting using increments based on the Golden Ratio
DE60020637T2 (en) Rate adaptation and channel interleaving for a communication system
DE60009973T2 (en) Nesting method, interleaver, turbo coding method and turbo encoder
DE69838451T2 (en) PROCESS AND SWITCHING FOR ADAPTIVE CHANNEL CODING
DE69909649T2 (en) EFFICIENT IMPLANTATION OF PROPOSED TURBOKODE BOXES FOR THE THIRD GENERATION OF CODEMULTIPLEX VARIETY ACCESS (CDMA)
DE60034203T2 (en) APPARATUS FOR MATCHING THE DATA RATE AND METHOD FOR DATA TRANSMISSION
DE10030407B4 (en) Method for optimal rate adaptation in a mobile communication system
DE60124488T2 (en) Interleaver and interleaving method for a UMTS turbo encoder
DE60002705T2 (en) INNER ROW PERMUTATIONS FOR TURBOCODE
DE69934606T2 (en) TURBODE CODE AND NEST / DECAY CAPTAIN
DE69907011T2 (en) GENERALIZED FOLDING DE-SEALER
DE69931751T2 (en) DEVICE AND METHOD FOR INSERTING PREVIOUSLY KNOWN BITS TO THE INPUT LEVEL OF A CHANNEL CODIER
DE60004407T2 (en) INTERLAYER AND NESTLING METHOD OF A DATA INPUT SEQUENCE USING A CODED RECORDING OF SYMBOLS AND ADDITIONAL INFORMATION
WO2003071689A2 (en) Combined interleaver and deinterleaver, and turbo decoder comprising a combined interleaver and deinterleaver
DE60108892T2 (en) MODULE, DEVICE AND METHOD FOR HIGH-BITRATED DECODING OF A CHAINED CODE
EP0067301A2 (en) Device for the generation of check bits for data word protection
WO2001063773A1 (en) Method for adapting the data blocks to be supplied to a turbo coder and a corresponding communications device
DE60016561T2 (en) BLOCK QUARTERING FOR TURBO CODING
DE60316428T2 (en) Method, encoder and communication device for encoding parallel-linked data
DE69908629T2 (en) HYBRID NESTLER FOR TURBO ENCODERS
DE20023803U1 (en) TURBO-interleaving
EP1130788A2 (en) Method to store path metrics in a Viterbi decoder
DE19960269A1 (en) Channel encoding transmission method with effective, modular nesting or interlacing for applying turbo codes, involves using coincidence algorithm.
DE60224862T2 (en) Assembly and de-nesting apparatus and method

Legal Events

Date Code Title Description
R207 Utility model specification

Effective date: 20060713

R151 Term of protection extended to 8 years

Effective date: 20060727

R152 Term of protection extended to 10 years

Effective date: 20080610

R071 Expiry of right