DE102008029623A1 - Interleaver e.g. intra-row almost rectangular interleaver, for use in e.g. turbo encoder for scrambling information word, has interleaver stage for reading columns, and for arranging digits of row to one another without gap - Google Patents
Interleaver e.g. intra-row almost rectangular interleaver, for use in e.g. turbo encoder for scrambling information word, has interleaver stage for reading columns, and for arranging digits of row to one another without gap Download PDFInfo
- Publication number
- DE102008029623A1 DE102008029623A1 DE200810029623 DE102008029623A DE102008029623A1 DE 102008029623 A1 DE102008029623 A1 DE 102008029623A1 DE 200810029623 DE200810029623 DE 200810029623 DE 102008029623 A DE102008029623 A DE 102008029623A DE 102008029623 A1 DE102008029623 A1 DE 102008029623A1
- Authority
- DE
- Germany
- Prior art keywords
- line
- index
- interleaver
- column
- columns
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2771—Internal interleaver for turbo codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2703—Coding, 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/271—Row-column interleaver with permutations, e.g. block interleaving with inter-row, inter-column, intra-row or intra-column permutations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/276—Interleaving address generation
- H03M13/2764—Circuits therefore
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2957—Turbo codes and decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
Die vorliegende Erfindung bezieht sich auf Interleaver, wie sie beispielsweise im Bereich der Informations- und Kodierungstechnik zur Verwürflung von Informationen eingesetzt werden.The The present invention relates to interleavers such as, for example in the field of information and coding technology for scrambling to be used by information.
Im Bereich der konventionellen Technik kommen Interleaver beispielsweise bei der Datenübertragung zum Einsatz. Oftmals werden dort Binärstellen in Form von Sendesymbolen übertragen, die dann bei der Übertragung, z. B. über einen Mobilfunkkanal, gestört werden. Da von einer Störung zumeist mehrere aufeinanderfolgende Symbole betroffen sind, man spricht auch von sog. Bündelfehlern, kommen Verwürfelungstechniken zum Einsatz. Dies bedeutet, dass in einem ursprünglichen Informationswort einzelne Stellen derart verwürfelt werden, dass diese bei der Übertragung nicht mehr aufeinanderfolgend sind. Dies hat zur Folge, dass beim Auftreten von Bündelfehlern, und anschließendem Rückverwürfeln, die Bündelfehler auseinander gerissen werden, und sich so über das Informationswort verteilen. Diese Technologien kommen beispielsweise auch bei der Speicherung von Daten, z. B. bei Audio-CDs zum Einsatz. Idealerweise werden die auftretenden Bündelfehler auseinander gerissen und führen so zu Einzelfehlern, die korrigierbar sind. Zum Verwürfeln, bzw. Rückwürfeln kommen sog. Interleaver zum Einsatz.in the For example, interleavers are used in conventional technology used in data transmission. Often there will be Transmit binary digits in the form of transmit symbols, then the transmission, z. B. over a Mobile channel, to be disturbed. Because of a fault mostly several consecutive symbols are affected, man also speaks of so-called bundle errors, scrambling techniques come to Commitment. This means that in an original information word individual places are scrambled so that this at the transmission are no longer consecutive. This As a result, when burst errors occur, and subsequent reverse scrambling, the bundle errors be torn apart, and so on the information word to distribute. These technologies are also used in the Storage of data, eg. B. in audio CDs used. Ideally the burst errors occurring are torn apart and thus lead to individual errors that are correctable. To scramble, or throw back so-called interleaver used.
In
der Nachrichtentechnik werden zum Schutz vor Übertragungsfehlern
Fehler korrigierende Kodes eingesetzt. Beispielsweise kommen hier
Faltungskodierer, Blockkodierer, usw. zum Einsatz. Turbo Kodes sind dabei
eine der leistungsstärksten Kode-Klassen und ihre Fähigkeit Übertragungsfehler
zu korrigieren überragt die von Faltungskodes bei weitem,
vgl. z. B.
Turbo
Kode Interleaver sind ein integraler Bestandteil von Turbo-Kodierern,
sowie der zugehörigen Turbo-Dekodierer. Die
Beide
Komponentenkodierer
Die
Gemäß dem
Beispiel der
Durch ein geeignetes Punktierungsmuster kann erreicht werden, dass eine eingestellte Menge von Codeword_Len Bits vom Punktierer ausgegeben wird, so dass die Länge eines ausgegebenen Kodewortes, das sich aus den Kodebits zusammensetzt, Codeword_Len ist. Das Verhältnis aus Infoword_Len/Codeword_Len ist die Kode-Rate des Turbo Kodes. Für obiges Beispiel kann die Kode-Rate durch den Punktierer zwischen 1/5 und 1 eingestellt werden.By a suitable puncturing pattern can be achieved set amount of Codeword_Len bits output from the puncturer so that the length of an output codeword, the is composed of the code bits, Codeword_Len is. The relationship from Infoword_Len / Codeword_Len is the code rate of the Turbo code. For the example above, the code rate may be through the puncturer be set between 1/5 and 1.
Nach der Übertragung der Kodebits, d. h. des Kodewortes, über einen Übertragungskanal werden beispielsweise im Empfänger gestörte Bits verarbeitet, die dort in Form von Soft-Bits vorliegen können. In anderen Worten können Binärstellen im Empfänger höher aufgelöst dargestellt werden, d. h. für eine gesendete Binärstelle „0” oder „1”, können in einem Empfänger mehrere Binärstellen benutzt werden. Beispielsweise können so Zuverlässigkeitsinformationen der einzelnen Binärstellen mit bei der Dekodierung berücksichtigt werden. Ein Turbo Dekoder hat nun die Aufgabe Übertragungsfehler zu korrigieren.To the transmission of code bits, d. H. of the codeword, about a transmission channel, for example, in the receiver troubled bits processed there in the form of soft bits may be present. In other words, binary digits shown in the receiver higher resolution be, d. H. for a transmitted binary digit "0" or "1", can have multiple binary digits in a receiver to be used. For example, reliability information can be provided the individual binary digits with in the decoding considered become. A turbo decoder now has the task of transmission errors to correct.
Ein
dem in der
Ein
Turbo Dekoder arbeitet iterativ, d. h. im Gegensatz zu Viterbi-Dekodern
für Faltungskodes wird hier jeder Komponentendekoder nicht
nur einmal verwendet, sondern einmal pro Iteration, wobei mehrere
Iterationen durchgeführt werden können, typischerweise
liegt die Anzahl der Iterationen bei 3 bis 8. Der Depunktierer
Für
jedes der Infoword_Len systematischen Bits existiert auch eine extrinsische
Information, d. h. dieser Ausgang des 1. Komponentendekodierers
Ebenso
berechnet der 2. Komponentendekodierer
Der
Turbo Kode Interleaver
Der
Turbo Kode Interleaver
Turbo Kodes sind linear, d. h. sie besitzen die Eigenschaft, dass A plus B ein gültiges Kodewort ist, wenn A und B gültige Kodewörter sind. Daher darf als Kodewort A auch der Null-Vektor als übertragenes Kodewort angenommen werden. Die Distanzen zu allen anderen Kodewörtern B sind dann einfach die Hamming-Gewichte dieser anderen Kodewörter. Auf Grund der Linearitätseigenschaft ist die Distanzverteilung, d. h. das Histogramm der vorkommenden Distanzen zu allen möglichen Kodewörtern B, identisch für jedes Kodewort A, also auch für den Null-Vektor. Wird dieser als Kodewort A angenommen, wird die Distanzverteilung identisch zur Gewichtsverteilung aller möglichen Kodewörter.turbo Codes are linear, d. H. they possess the property that A plus B is a valid codeword if A and B are valid Are codewords. Therefore, the code vector A may also be the zero vector be adopted as a transmitted codeword. The distances to all other codewords B are then simply the Hamming weights these other codewords. Due to the linearity property is the distance distribution, d. H. the histogram of the occurring ones Distances to all possible codewords B, identical for each code word A, including the null vector. If this is assumed to be codeword A, the distance distribution becomes identical for weight distribution of all possible codewords.
Gemäß den
obigen Erläuterungen, gibt ein Turbo-Kodierer, wie beispielsweise
in der
Insbesondere das minimale Gewicht dmin aller Kodewörter ist wichtig, denn bei einer Übertragung des Nullwortes ist eine Verfälschung zu den Kodewörtern mit dem minimalen Gewicht am wahrscheinlichsten. Analog ist bei der Übertragung eines beliebigen Kodewortes A die Wahrscheinlichkeit einer Verfälschung hin zu einem Kodewort B am größten, welches eine minimale Distanz von dmin zu Kodewort A besitzt.In particular, the minimum weight d min of all codewords is important, because in a transmission of the zero word, a corruption to the codewords with the minimum weight is most likely. Analogously, in the transmission of any code word A, the probability of a falsification towards a code word B which has a minimum distance from d min to codeword A is greatest.
Es
ist die Minimaldistanz dmin, die auch die
Form der Wortfehlerraten-Kurve maßgeblich bestimmt. In solchen
Wortfehlerraten-Kurven werden die Wortfehlerraten WER (WER = Word
Error Rate, d. h. das Verhältnis der falsch dekodierten
Kodewörter zur Gesamtzahl von übertragenen Kodewörtern) über
einem wachsenden Signal-Rausch-Verhältnis (SNR = Signal-To-Noise-Ratio)
für einen statischen nichtfrequenz-selektiven Kanal mit
Additivem Weissen Gauss'schen Rauschen (AWGN = Additive White Gaussian
Noise) dargestellt. In der
Für kommerzielle Systeme ist es daher wünschenswert, dass ein solcher Error Floor naturgemäß begrenzt ist, weil eine zu hohe WER die Datenübertragung unzuverlässig macht, d. h. z. B. Signalaussetzer verursacht und auch innerhalb des Error Floors sogar durch Erhöhung des SNR die WER nicht wesentlich gesenkt werden kann.For Therefore, commercial systems, it is desirable that a Such error floor is naturally limited, because too high a WER data transfer unreliable makes, d. H. z. B. signal dropouts and also within of the Error Floors even by increasing the SNR the WER not can be significantly reduced.
Deshalb
ist seit dem Aufkommen der Turbo Kodes beträchtliche Forschungsarbeit
in die Reduzierung des Error Floors investiert worden, vgl. z. B.
Für
dieses Ziel wurden vielfältige Ansätze auch zur
Optimierung von Turbo Kode Interleavern durchgeführt, beispielsweise
gab es bei der UMTS-Standardisierung mehrere Vorschläge
(UMTS = Universal Mobile Telecommunication System), vgl.
An
den vorangegangenen Überlegungen lässt sich bereits
erkennen, dass die Erzeugung von Gewicht im Turbo Kodierer berücksichtigt
werden sollte, um die Methodik hinter dem Design von Turbo Kode
Interleavern verständlich zu machen. Ein Kodewort mit dem
Gewicht dmin entsteht überhaupt
nur dann, wenn das Informationswort ein niedriges Gewicht hat, da
ja dieses selbst als systematischer Teil in das Kodewort mit eingeht.
Wenn das Informationswort durch einen Vektor mit einer einzigen
Eins dargestellt wird: 00...010...0, dann geschieht im 1. Komponentenkodierer
Nachdem
die Eins den Komponentenkodierer erreicht hat, enthält
das Schieberegister nicht mehr nur Nullen, und durch den Rückkopplungszweig
Anders
kann es aussehen, wenn am Eingang eines Komponentenkodierers ein
Vektor anliegt, in dem zwei Einsen stehen, die eine bestimmte Entfernung
zueinander haben, Entfernung ist hier im Sinne von Abstand der beiden
Positionen innerhalb des Vektors zu verstehen. Der in der
00..0100000010..0,
00..01000000000000010..0,
00..010000000000000000000010..0,
d.
h. immer dann, wenn die Entfernung der Einsen ein Vielfaches von
7 Positionen ist. Der Teil des Vektors zwischen der einführenden
und der abschließenden Eins einschließlich dieser
Einsen, soll im Folgenden als Fehlermuster bezeichnet werden. Dieser
Begriff rührt daher, dass diese Muster für Kodewörter
verantwortlich sind, die bei einer fehlerhaften Übertragung
des Null-Kodewortes vom Dekodierer fälschlicherweise ausgegeben
werden. Die erste Eins führt jeweils dazu, dass das Schieberegister
nicht mehr nur Nullen enthält und deshalb anfängt,
Bits ungleich Null auszugeben, während die abschließende
Eins dafür sorgt, dass das Schieberegister erneut nur Nullen
enthält, es geht in den sog. Nullzustand zurück,
und dass deshalb hernach nur noch Nullen ausgegeben werden.The situation may be different if there is a vector at the input of a component encoder in which there are two ones which have a certain distance from one another, distance is to be understood here as the distance between the two positions within the vector. The Indian
00..0100000010..0,
00..01000000000000010..0,
00..010000000000000000000010..0,
ie whenever the distance of the ones is a multiple of 7 positions. The part of the vector between the introductory and the terminating one, including these ones, will be referred to below as the error pattern. This term stems from the fact that these patterns are responsible for codewords that are erroneously output by the decoder when the null codeword is transmitted incorrectly. In each case, the first one causes the shift register to no longer contain only zeros and therefore start outputting nonzero bits, while the final one causes the shift register to again contain only zeros, it returns to the so-called zero state, and that therefore afterwards only zeros are spent.
Während 10000001 ein Fehlermuster ist, ist 1000001, d. h. die Entfernung zwischen den Einsen ist nur 6 Positionen, bzw. 100000001, d. h. die Entfernung ist 8 Positionen usw. kein Fehlermuster, d. h. hier geht das Schieberegister mit der 2. Eins nicht in den Nullzustand zurück und gibt deshalb auch anschließend weitere Einsen aus.While 10000001 is an error pattern is 1000001, d. H. the distance between the ones is only 6 positions, or 100000001, d. H. the distance is 8 positions, etc. no error pattern, d. H. here the shift register with the 2nd one does not go to the zero state back and therefore gives more afterwards Ones out.
Zur
Erhöhung von dmin sollte demnach
ein Turbo Kode Interleaver möglichst viele Fehlermuster
am Eingang des 1. Komponentendekodierers
Wie oben bereits erläutert, wirkt sich die Qualität des Turbo Kode Interleavers direkt auf den Error Floor der Wortfehlerraten-Kurve aus. Ein weiterer wichtiger Punkt ist die Implementierbarkeit des Turbo Kode Interleavers. Prinzipiell ist jeder Turbo Kode Interleaver als Adress-Tabelle implementierbar, d. h. für jedes Eingangsbit der 1. bzw. 2. Komponente steht in einer Tabelle sequentiell die Adresse, woher dieses Bit gelesen bzw. wohin es geschrieben werden soll, damit der entsprechend andere Komponentenkodierer es verarbeiten kann. Der Vorgang des Interleavens lässt sich dabei als Umordnung von Informationsbits in Speichern ausdrücken: wenn ein Informationsbit vor dem Interleaven in Adresse i eines ersten Speichers steht, so steht es nach dem Interleaven in Adresse Addr[i] entweder ebenfalls des ersten oder eines zweiten Speichers. Beispielsweise für 10.000 Informationsbits hätte diese Adress-Tabelle 10.000 Einträge mit jeweils 14 Bits, zur Darstellung von Adressen bis 10.000. Diese Adressen können in einem eigenen ROM (ROM = Read Only Memory) oder RAM (RAM = Random Access Memory) abgespeichert sein, was einen nicht unerheblichen Kostenaufwand bei der Implementierung nach sich zieht. Kritischer wird dieses Problem noch, wenn der Turbo Kode mehrere Wortgrößen unterstützen muss, wie es z. B. bei modernen Nachrichtensystemen sehr häufig der Fall ist. In diesem Fall wäre für jede Wortgröße eine eigene Tabelle notwendig, und der RAM- bzw. ROM-Bedarf summiert sich auf.As already explained above, the quality affects of the Turbo code interleaver directly to the error floor of the word error rate curve out. Another important point is the implementability of the Turbo code Interleavers. In principle, every turbo code is interleaver implementable as an address table, d. H. for each input bit the 1st or 2nd component is sequentially represented in a table Address where this bit is read or where it is written from so that the corresponding other component encoder can process it. The process of interleaving can be described as reordering express information bits in memory: if on Information bit before interleaving in address i of a first memory is, it stands after the interleaving in address Addr [i] either also the first or a second memory. For example for 10,000 bits of information would have this address table 10,000 entries, each with 14 bits, to represent Addresses up to 10,000. These addresses can be in their own ROM (ROM = Read Only Memory) or RAM (RAM = Random Access Memory) stored, which is a significant cost implications of the implementation. This problem becomes more critical even if the turbo code support multiple word sizes must, as it is z. B. very common in modern communication systems the case is. In this case would be for every word size a separate table is required, and the RAM or ROM requirement adds up on.
Aus diesem Grund gibt es auch im Bereich der konventionellen Technik bereits Bestrebungen, einen algorithmisch darstellbaren Turbo Kode Interleaver zu wählen. Hier wird die Permutationsadresse für jedes Informationsbit durch eine Vorschrift berechnet, welche sich durch wenige arithmetische Operationen sowie die Verwendung von wenigen Parametern darstellen lässt. Diese Parameter können für jede Wortgröße unterschiedliche Werten annehmen und in kleinen RAM- bzw. ROM-Tabellen abgespeichert werden.For this reason, there are already efforts in the field of conventional technology to select an algorithmically representable Turbo code interleaver. Here, the permutation address for each information bit is calculated by a rule that can be represented by a few arithmetic operations and the use of a few parameters. These parameters can be used for any word size accept different values and stored in small RAM or ROM tables.
In
der Anfangszeit von Turbo Kodes wurden als Turbo Kode Interleaver
häufig zufällige Permutationen gewählt,
wie es beispielsweise in der
Die
WER eines Zufallsinterleavers ist neben anderen in der
Im
Rahmen der konventionellen Technik sind ferner Linear Congruente
Interleaver bekannt. Im Gegensatz zu Zufallsinterleavern sind diese
Interleaver mathematisch streng beschreibbar. Die Adresse Addr[i] eines
Informationsbits i kann nach der Formel
In
der Anfangszeit der Turbo Kodes wurden in der Forschung statt der
Zufallsinterleaver auch Rechteck-Interleaver verwendet. Ein Beispiel
eines Rechteck-Interleavers ist in der
An den Extrembeispielen Zufallsinterleaver auf der einen Seite und Rechteck-Interleaver bzw. linear kongruenter Interleaver auf der anderen Seite lässt sich erkennen, dass sowohl ein zu zufälliger als auch ein zu strukturierter Aufbau eines Turbo Kode Interleavers zu einer schlechten Leistungseffizienz des Kodes führt.At the extreme examples random interleaver on the one hand and Rectangular interleaver or linearly congruent interleaver on the other side can be seen that both too random as well as too structured a structure of a turbo code interleaver leads to poor performance efficiency of the code.
Aus
der Literatur sind weiterhin s-Random-Interleaver bekannt, vgl.
Ein
Interleaver, der viele Eigenschaften des s-Random-Interleavers besitzt,
der aber dennoch algorithmisch beschreibbar ist, ist der Dithered
Relatively Prime-Interleaver, vgl.
Ein
weiterer bekannter Interleaver ist der UMTS- bzw. 3GPP-Interleaver
(3GPP = Third Generation Partnership Project), siehe W-CDMA 3GPP
TS 3rd Generation Partnership Project; Technical Specification Group
Radio Access Network; Mul tiplexing and channel coding (FDD), sowie
Hirohito Suda and Akira Shibutani: ”Interleaving method,
interleaving apparatus, turbo encoding method, and turbo encoder”,
Anschließend werden in einem 3GPP-Interleaver noch ganze Zeilen miteinander vertauscht, sog. Inter-Zeilen-Interleaving. Nachdem Intra- und Inter-Zeilen-Interleaving durchgeführt worden sind, wird der derart permutierte Rechteck-Rahmen-Interleaver spaltenweise ausgelesen.Subsequently In a 3GPP interleaver, whole lines are interchanged, so-called inter-line interleaving. Having intra and inter-row interleaving are performed, the thus-permuted rectangular-frame interleaver read out column by column.
Beim 3GPP-Interleaver ist zusätzlicher Aufwand erforderlich, um den Interleaver an die Wortgröße anzupassen. Dafür werden vor der Permutation Dummy-Bits an das Informationswort angehängt, so dass das derart ergänzte Wort vollständig einen Rechteck-Interleaver ausfüllt, die Länge des aufgefüllten Eingangswortes ergibt sich dann aus dem Produkt aus Zeilen- und Spaltenzahl. Nach der Permutation müssen diese Dummy-Bits wieder entfernt werden, d. h. es wird ein sog. Pruning durchgeführt. Die Permutation beim 3GPP-Interleaver setzt sich somit aus einer Reihe von Einzeloperationen zusammen.At the 3GPP interleaver requires extra effort to adapt the interleaver to the word size. Instead, before the permutation dummy bits to the information word appended so that the word thus supplemented is complete fills a rectangle interleaver, the length of the filled input word then results from the Product of row and column number. After the permutation must these dummy bits are removed again, d. H. it becomes a so-called Pruning performed. The permutation of the 3GPP interleaver is thus composed of a series of individual operations.
Der Nachteil durch die Behandlung von Dummy-Bits, d. h. deren Einfügen, ihr Anteil an den durchgeführten Permutationen und das Entfernen, ist, dass zusätzliche Prozessierungszeit, Ressourcenverbrauch, beispielsweise zusätzlicher Speicherbedarf, und zusätzlicher Implementierungsaufwand, d. h. Komplexität, benötigt wird.Of the Disadvantage of the treatment of dummy bits, d. H. their insertion, their share of the permutations and the Remove, is that extra processing time, resource consumption, for example additional memory requirements, and additional Implementation effort, d. H. Complexity, needed becomes.
Um sich das tatsächliche Hinzufügen und spätere Entfernen der Dummy-Bits zu den „echten” Informationsbits zu sparen, wäre es nützlich, den Index eines interleaveten Informationsbits, d. h. nach dem vollständigen Interleave-Vorgang und dem Lesen aus dem Interleaverspeicher, unmittelbar berechnen zu können. Es wäre also eine Berechnungsvorschrift wünschenswert, die den Index eines Informationsbits im interleaveten Informationswort direkt angeben kann, wie sie durch den o. a. Vorgang von Dummy-Bit-Hinzufügen, Interleaven und Dummy-Bit-Entfernen resultieren würde, jedoch ohne dass dieses Hinzufügen und Entfernen von Dummy-Bits wirklich durchgeführt werden muss.Around the actual adding and later Removing the dummy bits to the "real" information bits To save, it would be useful to interleave the index Information bits, d. H. after the complete interleave process and reading from the interleaver memory, calculate immediately to be able to. So it would be a calculation rule desirable that the index of an information bit in Interleaveten information word can specify directly as they pass through the o. a. Dummy bit add operation, interleaving and dummy bit removal would result, but without that adding and removing dummy bits really must be performed.
Eine einfache Berechnungsvorschrift kann aber nicht angegeben werden, weil der 3GPP-Interleaver folgenden Nachteil hat: Der Rahmeninterleaver dieses Standards ist immer ein Rechteck-Interleaver, dessen Elementezahl das Produkt aus Zeilen- und Spaltenzahl ist. Da die Blockgröße beliebig wählbar ist, müssen zwangsläufig – wie oben beschrieben – zusätzliche Dummy-Bits eingefügt werden, und nach dem Interleaving wieder entfernt werden. Alle Zeilen des Rahmeninterleavers sind nach dem Einfügen der Dummy-Bits gleich lang, und alle Intra-Zeilen-Interleaver arbeiten deshalb mit der gleichen Zeilenlänge. Die Dummy-Bits werden deshalb durch die Intra- und Inter-Zeilen-Permutationen in der Regel über den ganzen Rahmen-Interleaver verstreut. Außerdem kann die Anzahl von Dummy-Bits in verschiedenen Zeilen unterschiedlich sein. Die unregelmäßige Verteilung der Dummy-Bits über den gesamten Rahmen-Interleaver erlaubt keine einfache direkte Berechnung für den Index des interleaveten Informationsbits (nach Intra- und Inter-Zeilen-Permutation und Auslesen), da diese Unregelmäßigkeiten in der Formel Berücksichtigung finden müssten.A simple calculation rule can not be specified because the 3GPP interleaver has the following disadvantage: the frame interleaver this standard is always a rectangular interleaver whose number of elements the product of row and column number is. Because the block size is arbitrary, inevitably - like described above - additional dummy bits inserted be removed, and removed after interleaving. All lines of the frame interleaver are after inserting the dummy bits the same length, and all intra-line interleavers work with the same line length. The dummy bits are therefore through the intra and inter-row permutations usually over the whole frame interleaver scattered. In addition, can the number of dummy bits in different lines varies be. The irregular distribution of the dummy bits over the entire frame interleaver does not allow a simple direct calculation for the index of the interleaved information bit (after Intra- and inter-row permutation and readout), since these are irregularities would have to be considered in the formula.
Auch
beim cdma2000- bzw. 3GPP2-Interleaver (siehe CDMA-2000 3GPP2 C.S0002-C
Version 2.0 Physical Layer Standard for cdma2000 Spread Spectrum
Systems Revision C, sowie Douglas N. Rowitch and Fuyun Ling: ”Turbo
Code Interleaver using Linear Congruential Sequence”,
Beim 3GPP2-Interleaver ist ebenfalls zusätzlicher Aufwand erforderlich, um den Interleaver an die gewählte Wortgröße anzupassen, da das Produkt aus Zeilen- und Spaltenanzahl in der Regel ungleich der Informationswortgröße ist. Es müssen daher stets 2 Kandidaten-Adressen für ein Informationsbit erzeugt werden, die zwischen Null und dem Produkt aus Zeilen- und Spaltenanzahl liegen. Falls die erste Kandidaten-Adresse gültig ist, d. h. zwischen Null und der Informationswortgröße liegt, wird sie verwendet, ansonsten wird sie verworfen und die zweite Kandidaten-Adresse verwendet, die in diesem Fall immer gültig ist (das lässt sich für den verwendeten Algorithmus zeigen).The 3GPP2 interleaver also requires additional effort to match the interleaver to the selected word size because the product of row and column counts is typically unequal to the information word size. It is therefore always necessary to generate 2 candidate addresses for an information bit which are between zero and the product of row and column number. If the first candidate address is valid, ie between zero and the information word size, it is used, otherwise it will be ver uses the second candidate address, which in this case is always valid (this can be shown for the algorithm used).
Während der Rahmen-Interleaver des 3GPP2-Standards immer ein Rechteck-Interleaver ist, kann die Informationswortgröße hier in gewissen Stufen gewählt werden, und für jede Informationswortgröße gibt es eigene Parametersätze für den Interleaver. Die Informationswortgrößen sind in der Regel ungleich der Anzahl von Elementen des Rechteck-Rahmen-Interleavers (Produkt aus Zeilen- und Spaltenanzahl). Obwohl bei dieser Interleaver-Konstruktion kein Auffüllen des Rahmen-Interleavers mit Dummy-Bits nötig ist, ist auch hier eine einfache unmittelbare Berechnung der Adresse eines Informationsbits nicht möglich.While the frame interleaver of the 3GPP2 standard is always a rectangular interleaver is, the information word size here in certain Levels are selected, and for each information word size There are own parameter sets for the interleaver. The information word sizes are usually unequal the number of elements of the rectangle frame interleaver (product from row and column number). Although in this interleaver design no padding of the frame interleaver with dummy bits necessary is, here is a simple immediate calculation of the address an information bit not possible.
Eine Eigenheit des 3GPP2-Interleavers ist nämlich, dass in der Adress-Berechnungsvorschrift ein Counter-Wert vorkommt, der ungleich dem Index des Bits ist, das permutiert werden soll. Ist beispielsweise eine Blockgröße von 378 Bits gewählt, dann geht der Bit-Index von 0–377, während der Counter-Wert alle Werte von 0 bis 511 durchschreitet. Für die Berechnung der Adresse von Bit mit Index Null wird auch der Counter-Wert Null verwendet, aber bereits für das Bit mit Index 3 wird nicht mehr der Counter-Wert 3, sondern 4 verwendet, hingegen wird der Counter-Wert 3 verworfen. Dies liegt am Algorithmus aus dem 3GPP2-Standard, der Kandidaten-Adressen erzeugt, die für manche Indizes ungültig sind. Die Ursache hierfür liegt darin, dass das Inter- und Intra-Zeilen-Interleaving immer davon ausgeht, dass jede Zeile bzw. Spalte vollständig und gleich lang ist.A The peculiarity of the 3GPP2 interleaver is that in the Address calculation rule a counter value occurs, the unequal is the index of the bit to be permuted. Is for example a Block size selected from 378 bits, then the bit index goes from 0-377, while the counter value all values from 0 to 511 are crossed. For the calculation the address of bit with index zero also becomes the counter value zero used, but already for the bit with index 3 will not work more of the counter value 3 but 4 uses, however, the Counter value 3 discarded. This is due to the algorithm of the 3GPP2 standard, the Candidate addresses generated that are invalid for some indexes are. The reason for this is that the inter- and intra-line interleaving always assumes that every line or column is complete and the same length.
Ohne den oben genannten Counter und die Erzeugung von möglicherweise ungültigen Kandidaten-Adressen ist deren Berechnung nicht durchführbar. Nachteilig an diesem Verfahren ist eben gerade das Erzeugen ungültiger Adressen, die verworfen werden müssen, wodurch wiederum mehr Prozessierungszeit bzw. ein höherer Implementierungsaufwand zur parallelen Erzeugung zweier Adressen notwendig ist.Without the above counter and the generation of possibly invalid candidate addresses are not calculated feasible. The disadvantage of this method is just now generating invalid addresses that are discarded which, in turn, require more processing time, respectively higher implementation effort for parallel generation two addresses is necessary.
Es ist die Aufgabe der vorliegenden Erfindung, ein verbessertes Konzept zum Verwürfeln von Informationsworten zu schaffen.It The object of the present invention is an improved concept to scramble information words.
Diese Aufgabe wird gelöst durch einen Interleaver gemäß einem der Ansprüche 1 oder 9, einen Indexgenerator gemäß An spruch 17 und ein Verfahren gemäß einem der Ansprüche 15, 16 oder 22.These Task is solved by an interleaver according to a of claims 1 or 9, an index generator according to claim 17 and a method according to one of the claims 15, 16 or 22.
Die vorliegende Erfindung basiert auf dem Kerngedanken, dass Rechteck-Interleaver, für Informationsworte verwendet werden können, deren Länge nicht dem Produkt aus Zeilen- und Spaltenanzahl des Rechteck-Interleavers entspricht. Ausführungsbeispiele der vorliegenden Erfindung werden im Folgenden auch Fast-Rechteck-Interleaver genannt („fast” im Sinne von „nahezu”). Insbesondere können diese Fast-Rechteck-Interleaver miteinander in einer Art und Weise verschachtelt werden, dass sich eine gute Interleaver-Qualität ergibt, d. h. dass ein Error Floor einer WER einer Turbokodierung entsprechend niedrig ausgestaltet ist. Gleichzeitig lassen sich diese Interleaver auf unterschiedliche Blockgrößen, d. h. Informationswortlängen anwenden, ohne dass sog. Dummy-Bits eingefügt werden, bzw. ohne dass Dummy-Adressen, d. h. ungültige Kandidaten-Adressen erzeugt werden. Ferner bieten die Fast-Rechteck-Interleaver die Möglichkeit, einfache Berechnungsvorschriften zwischen ursprünglichem Index eines Informationsbits (vor dem Interleaven) und der Adresse nach dem Interleaven zu implementieren, so dass vergleichsweise niedrige Anforderungen an Speicher und Prozessierungszeit gestellt werden müssen.The The present invention is based on the core idea that rectangular interleavers, can be used for information words, their length is not the product of row and column count of the rectangle interleaver. embodiments In the following, the present invention will also be described as fast-rectangle interleavers called ("almost" in the sense of "almost"). In particular, these fast-rectangle interleavers can interact with each other be nested in a way that is a good one Interleaver quality results, d. H. that an Error Floor a WER a turbo coding configured correspondingly low is. At the same time, these interleavers can be set to different Block sizes, d. H. Information word lengths without inserting so-called dummy bits, or without dummy addresses, d. H. invalid candidate addresses be generated. Furthermore, the fast-rectangular interleavers provide the Possibility of simple calculation rules between original index of an information bit (before the interleave) and to implement the address after the interleaven, so that comparatively low demands on storage and processing time have to be asked.
Ein weiterer Kerngedanke der vorliegenden Erfindung ist, dass innerhalb eines Fast-Rechteck-Interleavers, dessen Zeilen z. B. über weitere Fast-Rechteck-Interleaver in sich verwürfelt werden können. In anderen Worten, ist es ein Kerngedanke der vorliegenden Erfindung, dass verbesserte Interleaving-Ergebnisse durch Verschachteln von Fast-Rechteck-Interleaver erzeugt werden können, wobei die weiteren Fast-Rechteck-Interleaver ein Intra-Zeilen-Interleaving des 1. Fast-Rechteck-Interleavers vornehmen können. In Ausführungsbeispielen kann ein zusätzlicher Fast-Rechteck-Interleaver zum Einsatz kommen, z. B. um ein Inter-Zeilen-Interleaving durchzuführen. Ausführungsbeispiele der vorliegenden Erfindung bilden somit den Vorteil, dass gute Interleaving-Ergebnisse mit geringem Aufwand und geringen Hardware-Anforderungen erzeugt werden können.One Another core idea of the present invention is that within a fast-rectangle interleaver whose lines z. B. over more fast-rectangle interleavers get scrambled can. In other words, it is a core idea of the present Invention that improved interleaving results by interleaving can be generated by fast-rectangular interleaver, where the other near-rectangle interleavers use an intra-line interleaving of the 1st fast-rectangle interleaver. In Embodiments may include an additional near-square interleaver are used, for. To perform inter-line interleaving. Embodiments of the present invention form thus the advantage that good interleaving results with low Effort and low hardware requirements can be generated.
Im Folgenden werden Ausführungsbeispiele der vorliegenden Erfindung anhand der beiliegenden Figuren näher erläutert.in the Following are embodiments of the present Invention explained in more detail with reference to the accompanying figures.
Es zeigenIt demonstrate
Im Folgenden werden Ausführungsbeispiele der vorliegenden Erfindung im Detail erläutert.in the Following are embodiments of the present Invention explained in detail.
Im
Folgenden wird zunächst die Funktion eines Ausführungsbeispiels
eines Fast-Rechteck-Interleavers erläutert. Der Fast-Rechteck-Interleaver
unterscheidet sich dadurch von einem Rechteck-Interleaver, dass
beim Fast-Rechteck-Interleaver die Anzahl von Bits oder Stellen
ungleich des Produkts aus Zeilen- und Spaltenanzahl sein kann, wie
dies beispielhaft in der
Im Folgenden werden Ausführungsbeispiele solcher Interleaver als Fast-Rechteck-Interleaver bezeichnet. Diese Interleaver werden – wie „normale” Rechteck-Interleaver – zeilenweise geschrieben und spaltenweise gelesen, wobei jedoch die letzte Zeile bzw. die letzten Spalten kürzer als die vorangehenden sein können. Allgemein kann in Ausführungsbeispielen auch spaltenweise geschrieben und zeilenweise gelesen werden. Generell werden die betrachteten Vektoren, d. h. z. B. Komponenten, Elemente oder Stellen eines Informationswortes in eine Matrix-artige Form gebracht, d. h. in Zeilen und Spalten gitterförmig angeordnet, wobei nicht alle Zeilen und Spalten voll besetzt sein müssen. Durch Transponieren können zeilen- und spaltenweise Operationen ineinander überführt werden. Ferner werden im Folgenden die Begriffe Komponenten, Elemente, Stellen äquivalent dazu verwendet, eine Position in einem Vektor bzw. in einer Matrix zu bezeichnen. Komponenten, Elemente und Stellen können eine oder mehrere Binärstellen umfassen, sind jedoch nicht darauf beschränkt.In the following, embodiments of such interleavers are referred to as fast-rectangular interleavers. These interleavers are written line by line and read column by column like "normal" rectangular interleavers, but the last row or columns may be shorter than the previous ones. In general, in embodiments, columns can also be written and read line by line. In general, the considered vectors, ie, for example, components, elements or locations of an In Formation word brought in a matrix-like form, ie grid-shaped arranged in rows and columns, not all rows and columns must be fully occupied. By transposing, line and columnwise operations can be interconverted. Further, in the following, the terms components, elements, locations will be equivalently used to denote a position in a vector or in a matrix. Components, elements, and locations may include, but are not limited to, one or more binary locations.
Im
Folgenden sei davon ausgegangen, dass Num_Bits die Anzahl von Informationsbits
sei, d. h. die Anzahl der Elemente des Interleavers, und Num_Cols
die Spaltenanzahl ist. Es ergibt sich folglich, dass die Anzahl
Num_Full_Rows vollständige Zeilen und die Anzahl Num_Rem_Bits
von Bits in der unvollständigen, d. h. letzten Zeile, falls
eine solche vorhanden ist, wie folgt berechnet werden kann:
Ein Fast-Rechteck-Interleaver geht in einen Rechteck-Interleaver über, wenn die letzte Zahl bzw. die letzten Spalten vollständig sind und somit die Anzahl von Bits gleich dem Produkt aus Zeilen- und Spaltenanzahl ist.One Fast Rectangle Interleaver Transforms into a Rectangle Interleaver if the last number or columns are complete and thus the number of bits equals the product of line and number of columns.
Ausführungsbeispiele von Fast-Rechteck-Interleavern haben den großen Vorteil, dass die oben geschriebenen Fehlermuster gut auseinandergerissen werden können, d. h. wenn die Entfernung der Einsen in der 1. Komponente gering ist, so dass der 1. Komponentenkodierer nur wenige Einsen an seinem Ausgang erzeugt, dann ist die Entfernung dieser Einsen nach der Permutation, also am Eingang des 2. Komponentenkodierers groß, und in der 2. Komponente werden viele Einsen, d. h. ein hohes Gewicht, erzeugt.embodiments Fast Rectangle Interleavers have the big advantage that the error patterns written above are well torn apart can be, d. H. if the distance of the ones in the 1st component is low, so the 1st component encoder only produces a few ones at its output, then the distance of these ones after the permutation, ie at the input of the 2nd component encoder big, and in the 2nd component many ones, i. H. a heavy weight, generated.
In
der Simulation erweist sich jedoch ein einzelner Fast-Rechteck-Interleaver
in einem Turbo Kode als wenig nützlich. Auch hier tritt
ein Error Floor auf, weil die Minimaldistanz dmin zu
niedrig ist, wie die strich-punktierte Kurve mit der Bezeichnung „Fast-Rechteck-Interleaver” in
der
Die
Diese negative Eigenschaft wirkt sich sogar noch stärker aus, wenn dieses Rechteck, dessen Ecken durch die 4 Einsen gebildet werden, beliebig innerhalb des Fast-Rechteck-Interleavers verschoben wird, da bei jeder Verschiebung eine ungünstige Anordnung mit resultierendem niedrigen Kodewort-Gewicht entsteht. Diese Kombinationen sind für den erhöhten Error Floor verantwortlich. Ein einzelner Fast-Rechteck-Interleaver liefert demnach noch nicht die gewünschte Leistungsfähigkeit für Turbo Kodes und erscheint daher wenig praxistauglich.These Negative property has an even stronger effect if this rectangle, whose corners are formed by the 4 ones, is moved arbitrarily within the near-rectangle interleaver, because with each shift an unfavorable arrangement with resulting in low codeword weight arises. These combinations are responsible for the increased error floor. A single fast-rectangle interleaver does not deliver yet the desired performance for Turbo codes and therefore seems less practicable.
Die Ausführungsbeispiele der vorliegenden Erfindung umfassen einen Interleaver zum Verwürfeln eines Informationswortes, wobei das Informationswort eine Vielzahl von Stellen aufweist, um ein permutiertes Informationswort zu erhalten. Der Interleaver kann dabei eine erste Interleaverstufe (Rahmen-Interleaver) zum zeilenweisen Anordnen der Stellen des Informationswortes in einer Mehrzahl von ersten Zeilen und ersten Spalten aufweisen, wobei die ersten Zeilen mindestens eine erste Zeile mit einer Lücke aufweisen und die ersten Spalten wenigstens eine erste Spalte mit einer Lücke aufweisen. Ferner kann der Interleaver eine zweite Interleaverstufe zum Verwürfeln der Stellen der einen ersten Zeile mit der Lücke durch Vertauschen wenigstens zweier Stellen der einen ersten Zeile umfassen, so dass eine Position der Lücke unverändert bleibt, um eine erste verwürfelte Zeile zu erhalten, und zum Ersetzen der einen der ersten Zeilen mit der ersten verwürfelten Zeile. Die erste Interleaverstufe kann ausgebildet sein, um die ersten Spalten spaltenweise auszulesen und die Stellen der ersten Spalten lückenlos aneinander zu reihen, um das permutierte Informationswort zu erhalten.Embodiments of the present invention include an interleaver for scrambling an information word, the information word having a plurality of locations to obtain a permuted information word. The interleaver can be a first interleaver stage (frame interleaver) for arranging the locations of the information word in a plurality of first rows and first Columns, wherein the first rows have at least a first row with a gap and the first columns have at least a first column with a gap. Further, the interleaver may comprise a second interleaver stage for scrambling the locations of a first row with the gap by interchanging at least two locations of a first row such that a position of the gap remains unchanged to obtain a first scrambled row and replacing the first row one of the first lines with the first scrambled line. The first interleaver stage can be designed to read out the first columns column-by-column and to consecutively line up the locations of the first columns in order to obtain the permuted information word.
In Ausführungsbeispielen kann die zweite Interleaverstufe ausgebildet sein, um die Stellen der einen ersten Zeile durch eine linear congruente Interleaver-Regel zu Verwürfeln, so dass eine Position der Lücke unverändert bleibt, um die erste verwürfelte Zeile zu erhalten, und zum Ersetzen der einen der ersten Zeilen mit der ersten verwürfelten Zeile.In Embodiments may be the second interleaver stage be trained to pass the digits of a first line through a to scramble linear congruente interleaver rule so that a position of the gap remains unchanged to get the first scrambled line and replace it one of the first lines with the first scrambled Row.
Die zweite Interleaverstufe kann ferner ausgebildet sein, um die Stellen der einen ersten Zeile zeilenweise in einer Mehrzahl von zweiten Zeilen und zweiten Spalten anzuordnen, und zum spaltenweisen Auslesen der Stellen, um eine erste verwürfelte Zeile zu erhalten und zum Ersetzen der einen der ersten Zeilen mit der ersten verwürfelten Zeile. Die erste Interleaverstufe kann ferner ausgebildet sein, um die ersten Zeilen spaltenweise und lückenlos auszulesen, um das permutierte Informationswort zu erhalten.The The second interleaver stage can also be designed to cover the locations of a first row by row in a plurality of second Arrange rows and second columns, and column-wise read the places to get a first scrambled line and replacing one of the first lines with the first one scrambled Row. The first interleaver stage can also be designed to read out the first lines in columns and without gaps, to get the permuted information word.
In Ausführungsbeispielen kann der Interleaver ferner eine dritte Interleaverstufe aufweisen, zum zeilenweisen Anordnen von Zeilenindizes der ersten Zeilen in dritten Zeilen und dritten Spalten, und zum spaltenweisen Auslesen der Zeilenindizes, um verwürfelte Zeilenindizes zu erhalten, und zum Vertauschen der ersten Zeilen bzw. ersten verwürfelten Zeilen basierend auf den verwürfelten Zeilenindizes. Die erste Interleaverstufe kann dann ausgebildet sein, um die basierend auf den verwürfelten Zeilenindizes vertauschten ersten Zeilen spaltenweise und lückenlos auszulesen, um das permutierte Informationswort zu erhalten.In In embodiments, the interleaver may further comprise a third interleaver stage, for arranging line by line Row indices of the first rows in third rows and third columns, and for column-wise reading of the row indexes to be scrambled To get line indexes and to swap the first lines or first scrambled lines based on the scrambled ones Row indices. The first interleaver stage can then be formed to be based on the scrambled line indexes exchanged first lines column by column and read out completely, to get the permuted information word.
In Ausführungsbeispielen können die Stellen des Informationswortes Softbits oder Symbole mit mehr als 2 Werten, d. h. eine Mehrzahl von Binärstellen pro Stelle oder Element des Informationswortes umfassen. In anderen Ausführungsbeispielen kann jede Stelle des Informationswortes genau eine Binärstelle umfassen.In Embodiments may be the digits of the information word Softbits or symbols with more than 2 values, d. H. a majority of binary digits per digit or element of the information word include. In other embodiments, each digit of the information word comprise exactly one binary digit.
In weiteren Ausführungsbeispielen kann die erste Interleaverstufe ausgebildet sein, um die Stellen des Informationswortes in einer Anzahl von ersten Zeilen und einer Anzahl von ersten Spalten anzuordnen, wobei das Informationswort eine Anzahl von Stellen aufweist, die kleiner als das Produkt aus der Anzahl von ersten Zeilen und der Anzahl von ersten Spalten ist und die erste Interleaverstufe ferner ausgebildet ist, um beim spaltenweisen Auslesen auftretende Lücken zu überspringen, d. h. lückenlos auszulesen.In Further embodiments, the first Interleaverstufe be formed to the places of the information word in one To arrange number of first rows and a number of first columns, wherein the information word has a number of digits that smaller than the product of the number of first rows and the Number of first columns and the first interleaver stage further is designed to gaps occurring in the column-wise readout to skip, d. H. read out completely.
In Ausführungsbeispielen kann auch die zweite Interleaverstufe ausgebildet sein, um die Stellen der einen der ersten Zeilen in einer Anzahl von zweiten Zeilen und einer Anzahl von zweiten Spalten einzuordnen, wobei die eine der ersten Zeilen eine Anzahl von Stellen aufweist, die kleiner als das Produkt der Anzahl von zweiten Zeilen und der Anzahl von zweiten Spalten ist und die zweite Interleaverstufe ferner ausgebildet ist, um beim spaltenweisen Auslesen auftretende Lücken zu überspringen bzw. lückenlos auszulesen.In Embodiments may also include the second interleaver stage be trained to put the bodies of one of the first lines in a number of second rows and a number of second columns to classify, wherein the one of the first lines a number of digits which is smaller than the product of the number of second lines and the number of second columns and the second interleaver stage is further adapted to occur in the column-wise reading Gaps to skip or gapless read.
In Ausführungsbeispielen kann ferner die dritte Interleaverstufe ausgebildet sein, um die Zeilenindizes in einer Anzahl von dritten Zeilen und einer Anzahl von dritten Spalten anzuordnen, wobei die Anzahl von Zeilenindizes kleiner als das Produkt aus der Anzahl von dritten Zeilen und dritten Spalten ist, und die dritte Interleaverstufe ferner ausgebildet ist, um beim spaltenweisen Auslesen auftretende Lücken zu überspringen bzw. lückenlos auszulesen.In Embodiments may further include the third interleaver stage be formed to the row indexes in a number of third To arrange rows and a number of third columns, the Number of line indices less than the product of the number of third rows and third columns, and the third level of interleaving is further adapted to occur in the column-wise reading Gaps to skip or gapless read.
In Ausführungsbeispielen können die erste, die zweite, oder die dritte Interleaverstufe ausgebildet sein, um als Informationswort einen Vektor von Lese- oder Schreibadressen zu verwürfeln. In anderen Worten können Ausführungsbeispiele auch dazu verwendet werden, entsprechende Lese- und Schreibadressen zu verwürfeln und somit auch Interleaver- bzw. De-Interleaver-Vorschriften zu realisieren. In anderen Worten können anstatt einem Informationswort selbst Leseadressen verwürfelt werden und eine Interleaver-Vorschrift durch verwürfeltes Auslesen realisiert werden. Ein verwürfeltes Informationswort kann rückverwürfelt werden, d. h. in den Ursprungszustand zurückversetzt werden, in dem Schreibadressen gemäß den Indizes des Informationswortes verwürfelt werden, und die Stellen des verwürfelten Informationswortes entsprechend an die verwürfelten Schreibadressen geschrieben werden.In Embodiments, the first, the second, or the third interleaver stage to be designed as an information word to scramble a vector of read or write addresses. In other words, embodiments may also be used to appropriate read and write addresses to scramble and thus also interleaver or de-interleaver rules to realize. In other words, instead of one Information word itself reading addresses are scrambled and an interleaver rule by scrambled readout will be realized. A scrambled information word can be reclaimed, d. H. in the original state in the write addresses according to the Indices of the information word are scrambled, and the Adjusting the scrambled information word accordingly written to the scrambled write addresses.
Ausführungsbeispiele von Interleavern können auch eine erste Interleaverstufe (Rahmeninterleaver) zum zeilenweisen Anordnen der Stellen des Informationswortes in einer Mehrzahl von ersten Zeilen und ersten Spalten umfassen. Ferner können die Interleaver eine zweite Interleaverstufe zum Verwürfeln der Stellen einer der ersten Zeilen durch zeilenweises Anordnen der Stellen der einen ersten Zeile in einer Mehrzahl von zweiten Zeilen und zweiten Spalten aufweisen, wobei die zweiten Zeilen mindestens eine zweite Zeile mit einer Lücke aufweisen und die zweiten Spalten wenigstens eine zweite Spalte mit einer Lücke aufweisen, und wobei die zweite Interleaverstufe ausgebildet sein kann, um die Stellen der zweiten Spalten spaltenweise auszulesen und lückenlos aneinander zu reihen, um eine erste verwürfelte Zeile zu erhalten, und zum Ersetzen der einen der ersten Zeilen mit der ersten verwürfelten Zeile, wobei die erste Interleaverstufe ausgebildet sein kann, um die ersten Spalten spaltenweise auszulesen, um das permutierte Informationswort zu erhalten.Embodiments of interleavers may also include a first interleaver stage (frame interleaver). for arranging the locations of the information word line by line in a plurality of first rows and first columns. Furthermore, the interleavers may comprise a second interleaver stage for scrambling the locations of one of the first rows by arranging the locations of the one row in a plurality of second rows and second columns row by row, the second rows having at least one second row with a gap and the second rows Columns have at least one second column with a gap, and wherein the second Interleaverstufe may be formed to read the locations of the second columns column by column and without gaps to obtain a first scrambled line, and to replace the one of the first lines the first scrambled line, wherein the first interleaver stage may be configured to read the first columns column by column to obtain the permuted information word.
In Ausführungsbeispielen kann die erste Interleaverstufe ausgebildet sein, zum zeilenweisen Anordnen der Stellen des Informationswortes in einer Mehrzahl von ersten Zeilen und ersten Spalten, wobei die ersten Zeilen mindestens eine erste Zeile mit einer Lücke aufweisen und die ersten Spalten wenigstens eine erste Spalte mit einer Lücke aufweisen, wobei die erste Interleaverstufe ausgebildet sein kann, um die ersten Spalten spaltenweise auszulesen und die Stellen der ersten Spalten lückenlos aneinander zu reihen, um das permutierte Informationswort zu erhalten.In Embodiments, the first Interleaverstufe formed be, to line by line arranging the positions of the information word in a plurality of first rows and first columns, wherein the first lines at least a first line with a gap and the first columns having at least one first column have a gap, the first interleaver stage can be designed to read the first columns column by column and the positions of the first columns gapless to rank to get the permuted information word.
Ausführungsbeispiels können ferner eine dritte Interleaverstufe aufweisen, die ausgebildet ist, zum zeilenweisen Anordnen von Zeilenindizes der ersten Zeilen in dritten Zeilen und dritten Spalten, und zum spaltenweisen Auslesen der Zeilenindizes um verwürfelte Zeilenindizes zu erhalten und zum Vertauschen der ersten Zeilen basierend auf den verwürfelten Zeilenindizes, wobei die erste Interleaverstufe ausgebildet ist, um die basierend auf den verwürfelten Zeilenindizes vertauschten ersten Zeilen spaltenweise auszulesen, um das permutierte Informationswort zu erhalten.embodiment may further comprise a third interleaver stage which is designed for row indices of the row indexes first rows in third rows and third columns, and column by column Reading the row indexes around scrambled line indexes and to swap the first lines based on the scrambled line indices, the first interleaver level is designed to be based on the scrambled Line indexes swapped to read first lines column by column to get the permuted information word.
Gemäß obiger Erläuterung können die erste, zweite und/oder dritte Interleaverstufe ausgebildet sein, um ein Informationswort zu verarbeiten, bei dem jede Stelle eine Binärstellen umfasst. Die dritte Interleaverstufe kann ausgebildet sein, um die Zeilenindizes in einer Anzahl von dritten Zeilen und einer Anzahl von dritten Spalten anzuordnen, wobei die Anzahl der Zeilenindizes kleiner ist als das Produkt aus der Anzahl von dritten Zeilen und der Anzahl von dritten Spalten und die dritte Interleaverstufe ferner ausgebildet ist, um beim spaltenweisen Auslesen auftretende Lücken zu überspringen. In anderen Worten können beliebige der ersten, zweiten und dritten Interleaverstufe als Fast-Rechteck-Interleaver ausgeführt sein. Die erste, zweite und/oder dritte Interleaverstufe können ausgebildet sein, um als Informationswort einen Vektor von Lese- oder Schreibadressen zu verwürfeln.According to the above Explanation may be the first, second and / or third interleaver stage be formed to an information word to process, where each digit includes a binary digits. The third level of interleaving may be adapted to the row indices in a number of third rows and a number of third columns to arrange, with the number of row indices is smaller than that Product of the number of third lines and the number of third Columns and the third interleaver stage is further formed, to skip gaps when reading columns by column. In other words, any of the first, second and third interleaver stage as a fast-rectangular interleaver be. The first, second and / or third interleaver stage can be formed in order to use a vector of reading or scrambling write addresses.
Ausführungsbeispiele
können einen Indexgenerator zum Generieren eines Ausgangsindex
basierend auf einem Eingangsindex, einer Spaltenzahl, einer Elementzahl
und einer Information über eine un-vollständige
Zeile aufweisen. Der Indexgenerator umfasst eine Einrichtung zum
Generieren eines Zeilenindex basierend auf dem Eingangsindex und
der Spaltenzahl und eine Einrichtung zum Generieren eines Spaltenindex
basierend auf dem Eingangsindex und der Spaltenzahl. Ferner umfasst
der Indexgenerator eine Einrichtung zum Generieren einer Vollzeilenzahl
basierend auf der Elementzahl und der Spaltenzahl und eine Einrichtung
zum Generieren einer Restelementzahl basierend auf der Elementzahl
und der Spaltenzahl. Der Indexgenerator kann ferner eine Einrichtung
zum Ausgeben des Ausgangsindex umfassen, die ausgebildet ist, um
für den Fall, dass der Spaltenindex kleiner als die Restelementzahl
ist, den Ausgangsindex als
und sonst,
für
den Fall, dass die Information über die unvollständige
Zeile angibt, dass keine unvollständige Zeile vorhanden
ist oder der Zeilenindex kleiner oder gleich einem Index einer unvollständigen
Zeile ist,
den Ausgangsindex als
und sonst
den Ausgangsindex
als
and otherwise,
in the event that the information about the incomplete line indicates that there is no incomplete line or the line index is less than or equal to an index of an incomplete line,
the starting index as
and otherwise
the starting index as
Die Einrichtung zum Generieren des Zeilenindex kann ausgebildet sein, um den Zeilenindex durch Abrunden eines Quotienten aus dem Eingangsindex und der Spaltenzahl zu generieren. Die Einrichtung zum Generieren des Spaltenindex kann ausgebildet sein, um den Spaltenindex durch eine Modulo-Operation des Eingangsindex mit der Spaltenzahl zu generieren. Die Einrichtung zum Generieren der Vollzeilenzahl kann ausgebildet sein, um die Vollzeilenzahl durch Abrunden eines Quotienten aus der Elementzahl und der Spaltenzahl zu generieren. Die Einrichtung zum Generieren der Restelementzahl kann ausgebildet sein, um die Restelementzahl durch eine Moduloperation der Elementzahl mit der Spaltenzahl zu generieren.The Means for generating the row index may be formed around the row index by rounding off a quotient from the input index and to generate the number of columns. The device for generating The column index may be configured to pass through the column index generate a modulo operation of the input index with the number of columns. The means for generating the full-line number may be formed to be the full line number by rounding off a quotient to generate the element number and the number of columns. The device for generating the residual element number may be formed to the Remaining element number by a module operation of the element number with the Generate column number.
Der
Schritt
Das
Verfahren umfasst einen Schritt
Das
Verfahren umfasst mehrere Möglichkeiten des Ausgebens des
Ausgangsindex, für den Fall, dass der Spaltenindex kleiner
als die Restelementzahl ist, was in der
als
when
Ausführungsbeispiele können ferner in Turbo-Kodierern und Turbo-Dekodierern eingesetzt werden.embodiments can also be found in turbo encoders and turbo decoders be used.
Ausführungsbeispiele können ferner einen Rahmen-Interleaver, d. h. eine erste Interleaverstufe umfassen, die einen Fast-Rechteck-Interleaver mit mehreren Zeilen aufweist, von denen die unterste nicht vollständig ist. Die Intra-Zeilen-Interleaver, d. h. die zweite Interleaverstufe, aller Zeilen sind Linear Congruent, wobei die Lücken der letzten Zeile nicht mit interleavet werden. Die Konstante C jedes Linear Congruent Intra-Zeilen-Interleavers kann dabei einzeln einstellbar sein.embodiments Further, a frame interleaver, i. H. a first Interleaf stage comprising a near-square interleaver has several lines, the lowest of which is not complete is. The intra-line interleavers, d. H. the second interleaver stage, All lines are linear congruent, with the gaps of the last line will not be with interleavet. The constant C every Linear Congruent Intra-Lines Interleavers can be set individually be.
Ein Ausführungsbeispiel eines Turbo-Kode Interleavers wird im Folgenden im Detail erläutert. Das Ausführungsbeispiel basiert auf einer rekursiven Verwendung von Ausführungsbeispielen von Fast-Rechteck-Interleavern. In diesem Ausführungsbeispiel wird ein Fast-Rechteck-Interleaver sowohl als Rahmen-Interleaver als auch auf darunterliegenden Stufen für Intra- und Inter-Zeilenpermutationen verwendet.One Embodiment of a turbo-code interleaver is explained in detail below. The embodiment is based on a recursive use of embodiments of fast-rectangle interleavers. In this embodiment becomes a fast-rectangle interleaver both as a frame interleaver as well as on underlying levels for intra and inter-row permutations used.
Die zu permutierenden Informations-Bits des Informationswortes werden zunächst zeilenweise in einen Rahmen-Interleaver, d. h. in eine erste Interleaverstufe geschrieben. Im Folgenden wird der Vorsatz „Rahmen” auch weggelas sen. Die erste Interleaverstufe ist in diesem Ausführungsbeispiel als ein Fast-Rechteck-Interleaver ausgebildet mit vorgegebener Anzahl Num_Bits von Bits und Spaltenzahl Num_Cols, wobei sich die Anzahl Num_Full_Rows vollständiger Zeilen und die Anzahl Num_Rem_Bits von Bits in der unvollständigen letzten Zeile aus diesen beiden Werten ergibt.The to be permuted information bits of the information word first line by line into a frame interleaver, d. H. written in a first interleaver level. The following is the Intent "frame" also omitted. The first interleaver stage is in this embodiment as a fast-rectangle interleaver formed with a predetermined number Num_bits of bits and number of columns Num_Cols, where the number Num_Full_Rows is more complete Lines and the number Num_Rem_bits of bits in the incomplete last line from these two values.
Beispielsweise
könnte
Num_Bits = 22
Num_Cols = 8
→ Num_Full_Rows
= 2
→ Num_Rem_Bits = 6.For example, could
Num_Bits = 22
Num_Cols = 8
→ Num_Full_Rows = 2
→ Num_Rem_Bits = 6.
Die
Ferner
ist in der
Die nun folgende zweite Interleaverstufe dient zum zeilenweisen Permutieren. Auch hier kommt ein Fast-Rechteck- Interleaver im vorliegenden Ausführungsbeispiel zum Einsatz. Für jede der Zeilen wird sozusagen ein Intra-Zeilen-Interleaver eingesetzt. Im Folgenden bezeichnet der Zusatz „Intra” stets Parameter, die zu einem solchen Intra-Zeilen-Interleaver, d. h. zur zweiten Interleaverstufe gehören. Die Elementzahl Num_Intra_Bits des Intra-Zeilen-Interleavers, d. h. der zweiten Interleaverstufe, ist entweder gleich Num_Cols, falls die Zeile vollständig ist oder Num_Rem_Bits für die letzte Zeile, falls sie unvollständig ist.The The following second interleaver stage is used for permutation per line. Again, there is a fast-rectangle interleaver in the present embodiment for use. For each of the lines becomes, so to speak, an intra-line interleaver used. In the following, the term "Intra" always means Parameters related to such an intra-row interleaver, i. H. belong to the second Interleaverstufe. The element number Num_Intra_Bits of the intra-line interleaver, d. H. the second interleaver stage, is equal to Num_Cols if the line is complete is or Num_Rem_Bits for the last line, in case it is incomplete is.
Die
zweite Interleaverstufe ist ausgebildet zum zeilenweisen Anordnen
der Elemente einer der ersten Zeilen in einer Mehrzahl von zweiten
Zeilen und zweiten Spalten. Die Spaltenanzahl, die im Folgenden
auch Num_Intra_Cols des Intra-Zeilen-Interleavers genannt wird,
ist frei wählbar. Daraus ergeben sich die Anzahl Num_Full_Intra_Rows
vollständiger Zeilen und die Zahl Num_Rem_Intra_Bits von
Bits in der unvollständigen letzten Zeile. Für
jede Zeile des Rahmen-Interleavers, d. h. der ersten Interleaverstufe,
wird folgendes durchgeführt: Der zugehörige Intra-Zeilen-Interleaver,
d. h. die zweite Interleaverstufe, wird zeilenweise geschrieben und
spaltenweise ausgelesen. So wird eine permutierte Zeile, d. h. eine
erste verwürfelte Zeile erhalten, die dann die entsprechende
Zeile ersetzt. Um zum vorangehenden Beispiel zurückzukommen,
würde beispielsweise in der ersten Zeile:
Num_Intra_Bits
= Num_Cols = 8
Num_Intra_Cols = 3
Num_Full_Intra_Rows
= 2
Num_Rem_Intra_Bits = 2The second interleaver stage is arranged to arrange the elements of one of the first rows in a plurality of second rows and second columns in rows. The number of columns, which is also called Num_Intra_Cols of the intra-line interleaver in the following, is freely selectable. This results in the number Num_Full_Intra_Rows of full lines and the number Num_Rem_Intra_Bits of bits in the incomplete last line. The following is carried out for each line of the frame interleaver, ie the first interleaver stage: The associated intra-line interleaver, ie the second interleaver stage, is written line by line and read out column by column. Thus, a permuted line, ie a first scrambled line is obtained, which then replaces the corresponding line. To return to the previous example, for example, in the first line:
Num_Intra_Bits = Num_Cols = 8
Num_Intra_Cols = 3
Num_Full_Intra_Rows = 2
Num_Rem_Intra_Bits = 2
Zweite
Zeile:
Num_Intra_Bits = Num_Cols = 8
Num_Intra_Cols =
2
→ Num_Full_Intra_Rows = 4
→ Num_Rem_Intra_Bits
= 0Second line:
Num_Intra_Bits = Num_Cols = 8
Num_Intra_Cols = 2
→ Num_Full_Intra_Rows = 4
→ Num_Rem_Intra_Bits = 0
Dritte
Zeile:
Num_Intra_Bits = Num_Rem_Bits = 6
Num_Intra_Cols
= 2
→ Num_Full_Intra_Rows = 3
→ Num_Rem_Intra_Bits
= 0.Third line:
Num_Intra_Bits = Num_Rem_Bits = 6
Num_Intra_Cols = 2
→ Num_Full_Intra_Rows = 3
→ Num_Rem_Intra_Bits = 0.
Die
Als nächster Schritt wird eine Inter-Zeilen-Permutation durchgeführt, anhand einer dritten Interleaverstufe. Die dritte Interleaverstufe ist ausgebildet, um die Zeilenindizes einer der ersten Zeilen zeilenweise in dritten Zeilen und dritten Spalten anzuordnen und zum spaltenweisen Ausle sen der Zeilenindizes, um verwürfelte Zeilenindizes zu erhalten, und zum Vertauschen der ersten Zeilen basierend auf den verwürfelten Zeilenindizes. In anderen Worten werden hier ganze Zeilen des Rahmen-Interleavers, d. h. der ersten Interleaverstufe, miteinander vertauscht. Die Permutation zwischen diesen Zeilen wird in dem vorliegenden Ausführungsbeispiel erneut durch einen Fast-Rechteck-Interleaver beschrieben, dessen Elementzahl Num_Inter_Elems gleich der Anzahl von Zeilen, vollständig oder unvollständig, des Rahmen-Interleavers, d. h. der ersten Interleaverstufe ist, d. h. entweder Num_Full_Rows oder Num_Full_Rows + 1.When next step, an inter-row permutation is performed based on a third interleaver stage. The third interleaver stage is designed to line by line indices one of the first lines to arrange in third rows and third columns and column by column Reading the row indexes, scrambled row indexes and to swap the first lines based on the scrambled line indexes. In other words here whole lines of the frame interleaver, d. H. the first interleaver level, with each other reversed. The permutation between these lines is in the present Embodiment again by a fast-rectangular interleaver whose number of elements Num_Inter_Elems equals the number of lines, complete or incomplete, of Frame interleavers, d. H. the first interleaver stage, i. H. either Num_Full_Rows or Num_Full_Rows + 1.
Die Spaltenanzahl Num_Inter_Cols des Inter-Zeilen-Interleavers kann jedoch frei gewählt werden, und daraus ergibt sich die Anzahl Num_Full_Inter_Rows vollständiger Zeilen und die Anzahl Num_Rem_Inter_Elems von Elementen der letzten unvollständigen Zeile, soweit vorhanden. Die Elemente des Inter-Zeilen-Interleavers sind nun nicht einzelne Stellen oder Bits, sondern ganze Zeilen, die zeilenweise geschrieben und spaltenweise gelesen werden, beispielsweise repräsentiert durch die jeweiligen Zeilenindizes.The Number of columns Num_Inter_Cols of inter-line interleaver can However, be chosen freely, and this results in the Number of Num_Full_Inter_Rows full lines and the Number Num_Rem_Inter_Elems of elements of the last incomplete Line, if available. The elements of the inter-line interleaver are not single digits or bits, but whole lines, written line by line and read column by column, for example represented by the respective line indices.
Zurückkehrend
zum obigen Beispiel würde dies bedeuten:
Num_Inter_Elems
= Num_Full_Rows + 1 = 3
(eine unvollständige Zeile)
Num_Inter_Cols
= 2
Num_Full_Inter_Rows = 1
Num_Rem_Inter_Elems = 1.Returning to the above example, this would mean:
Num_Inter_Elems = Num_Full_Rows + 1 = 3
(an incomplete line)
Num_Inter_Cols = 2
Num_Full_Inter_Rows = 1
Num_Rem_Inter_Elems = 1.
Der
zugehörige Fast-Rechteck-Interleaver, d. h. die dritte
Interleaverstufe des Ausführungsbeispiels, für
die Inter-Zeilen-Permutation ist in der
Als letzter Schritt werden durch die erste Interleaverstufe nun basierend auf den gemäß der verwürfelten Zeilenindizes vertauschten ersten Zeilen, diese spaltenweise ausgelesen, um das permutierte Informationswort zu erhalten. In anderen Worten wird der so umgeordnete Rahmen-Interleaver spaltenweise ausgelesen, fehlende Elemente in der unvollständigen Zeile können übersprungen werden.When last step are now based on the first interleaver level on the according to the scrambled line indices exchanged first lines, these columns read out to the to get permuted information word. In other words the thus rearranged frame interleaver is read column by column, missing Elements in the incomplete line can be skipped become.
Die
permutierten Informations-Bits werden also in der folgenden Reihenfolge
des Original-Index ausgegeben:
0, 16, 8, 3, 18, 10, 6, 20,
12, 1, 17, 14, 4, 19, 9, 7, 21, 11, 2, 13, 5, 15.The permuted information bits are thus output in the following order of the original index:
0, 16, 8, 3, 18, 10, 6, 20, 12, 1, 17, 14, 4, 19, 9, 7, 21, 11, 2, 13, 5, 15.
An diesem Beispiel lässt sich erkennen, dass Ausführungsbeispiele des Interleavers eine Mischung aus Strukturiertheit und scheinbarer Unordnung, die an Pseudo-Zufall erinnert, darstellt, wie es beispielsweise für Turbo-Kodierer vorteilhaft ist.At In this example, it can be seen that exemplary embodiments the interleaver is a mixture of structure and apparent Disorder, reminiscent of pseudo-coincidence, represents, as it does for example Turbo encoder is advantageous.
Statt die Permutation wie oben beschrieben durchzuführen, in der die Informations-Bits innerhalb eines Interleavers permutiert werden, der die Elemente in einem internen Speicher enthält, kann auch ein Adressgenerator verwendet werden, der für jedes Informations-Bit am Ausgang des Turbo- Kode-Interleavers dessen Adresse bzw. Index im Eingangs-Vektor berechnet, an der dieses Bit vor der Permutation entsprechend der o. g. Vorschrift steht. Dieser Adressgenerator liefert also eine Leseadresse, so dass während des Lesens die o. g. Permutation durchgeführt wird.Instead of perform the permutation as described above, in which permutes the information bits within an interleaver which contains the elements in an internal memory, An address generator can also be used for every bit of information at the turbo-code interleaver's output Address or index calculated in the input vector at which this bit before the permutation according to the o. g. Rule is. This Address generator thus provides a read address, so that during of reading the o. g. Permutation is performed.
Analog dazu kann in Ausführungsbeispielen auch ein Adressgenerator verwendet werden, der für jedes Informationsbit am Eingang des Interleavers, d. h. am Eingang des Ausführungsbeispiels, dessen Adresse bzw. Index im Ausgabe-Vektor berechnet, wo dieses Bit entsprechend der o. g. Vorschrift hin permutiert wird. Ausführungsbeispiele können somit Adressgeneratoren umfassen, die eine Schreibadresse liefern, so dass während des Schreibens die o. g. Permutation durchgeführt wird. Damit umfassen Ausführungsbeispiele ebenfalls entsprechende De-Interleaver.Analogous In addition, in embodiments, an address generator used for each information bit at the input of the interleaver, d. H. at the entrance of the embodiment, whose address or index in the output vector calculates where this Bit corresponding to the o. G. Regulation is permuted. embodiments may thus include address generators having a write address so that while writing the o. g. permutation is carried out. This includes embodiments also corresponding de-interleavers.
Im Folgenden wird ein weiteres Ausführungsbeispiel betrachtet.in the Next, another embodiment will be considered.
Für
folgendes Ausführungsbeispiel gilt:
Num_Rem_Bits sei
die Anzahl von Elementen in der kürzeren (unvollständigen)
Zeile (0 falls nicht vorhanden).For the following embodiment applies:
Num_Rem_Bits is the number of elements in the shorter (incomplete) line (0 if not present).
Num_Full_Rows sei die Anzahl von vollständigen Zeilen.Num_Full_Rows Let be the number of complete lines.
Short_Row_Idx (gezählt ab 0) sei der Zeilen-Index der kürzeren Zeile nach der Inter-Zeilen-Permutation. Falls keine unvollständige Zeile vorhanden ist, ist Short_Row_Idx = Num_Full_Rows (d. h. ein nicht vorhandener Zeilen-Index).Short_Row_Idx (counted from 0) let the line index be the shorter one Line after the inter-line permutation. If not incomplete Line is Short_Row_Idx = Num_Full_Rows (that is, a non-existent line index).
Es wird ein Element i des Informationswortes am Eingang des Interleavers betrachtet, wobei die Adresse berechnet werden soll, an die es durch den Interleave-Vorgang im Speicher geschrieben werden soll (d. h. in der 1. Komponente war dieses Element in Position i und berechnet wird die Position in der 2. Komponente).It becomes an element i of the information word at the input of the interleaver considering the address to which it is to be calculated write the interleave process in memory (i.e. in the 1st component, this element was in position i and calculated becomes the position in the 2nd component).
Ilvd_Col_Idx (gezählt ab 0) sei der Spalten-Index nach der Intra-Zeilen-Permutation.Ilvd_Col_Idx (counted from 0), let the column index be after the intra-row permutation.
Ilvd_Row_Idx (gezählt ab 0) sei der Zeilen-Index nach der Inter-Zeilen-Permutation.Ilvd_Row_Idx (counted from 0) let the row index be after the inter-row permutation.
Dann lässt sich eine Berechnungsvorschrift der Adresse des interleaveten Elements i angeben: Then a calculation rule of the address of the interleaved element i can be specified:
Mit dem oben aufgeführten Ausführungsbeispiel ist es also möglich, für ein Element mit Index i am Eingang des Interleavers eine Schreibadresse unmittelbar zu berechnen, d. h. ohne Hinzufügen, Verarbeiten und Entfernen von Dummy-Bits und ohne die Erzeugung von ggf. ungültigen Kandidaten-Adressen. Ausser der o. a. Berechnungsvorschrift werden lediglich die Vorschriften zur Berechnung von Ilvd_Col_Idx und Ilvd_Row_Idx aus der Position i benötigt, die unmittelbar aus der Definition von Fast-Rechteck-Interleavern angebbar ist.With The above embodiment is it is thus possible for an element with index i am Input of the interleaver to calculate a write address directly, d. H. without adding, processing and removing dummy bits and without the generation of possibly invalid candidate addresses. Except the o. A. The calculation rule will only be the regulations to calculate Ilvd_Col_Idx and Ilvd_Row_Idx from position i needed directly from the definition of fast-rectangle interleavers is specifiable.
In dem Folgenden Ausführungsbeispiel wird auch die Bestimmung der Zeilen- und Spaltenindizes im Detail erläutert. Das Ausführungsbeispiel umfasst einen Indexgenerator zum Generieren eines Ausgangsindex basieren auf einem Eingangsindex. In dem folgenden Ausführungsbeispiel wird für einen wahlfreien Bit-Index (Eingangsindex) dessen Schreib-Adresse erzeugt (Ausgangsindex). Diese Berechnung wird als Abfolge von Rechen-Schritten angegeben. Außerdem ist eine rekursive Verwendung derselben Funktionen (Fast_Rect_Write_To_2D() und Fast_Rect_Read_From_2D()) sowohl für die Rahmen- als auch die Intra- und Inter-Zeilen-Permutation in weiteren Ausführungsbeispielen denkbar. Zudem wird für jeden gültigen Bit-Index eine gültige Schreibadresse erzeugt, so dass keinerlei Signalisierung über die Gültigkeit der erzeugten Schreibadresse nötig ist.In the following embodiment, the determination of the row and column indices will also be explained in detail. The embodiment includes an index generator for generating an output index based on an input index. In the following embodiment, for an optional bit index (input index), its write address is generated (output index). This calculation is given as a sequence of calculation steps. There is also a recursive use of the same functions (Fast_Rect_Write_To_2D () and Fast_Rect_Read_From_2D ()) for both the frame and intra and Inter-row permutation conceivable in further embodiments. In addition, a valid write address is generated for each valid bit index, so that no signaling on the validity of the generated write address is necessary.
Für den äquivalenten Vorgang, dass der Indexgenerator für einen Bit-Index der zweiten Komponente Lese-Adressen erzeugen soll, so dass während des Lesens eines externen Speichers das Interleaving bzw. die Verwürfelung erfolgt, lässt sich ebenso in Form eines geschlossenen Programmes angeben, bei dem keine ungültigen Lese-Adressen erzeugt werden und kann analog erfolgen.For the equivalent process that the index generator for generate a bit index of the second component read addresses, so while reading an external memory the Interleaving or the scrambling is done leaves also indicate themselves in the form of a closed program No invalid read addresses can and can not be generated carried out analogously.
Ausführungsbeispiel können eine besonders aufwandsgünstige Implementierung aufweisen, wenn die Schreib- oder Lese-Adressen sequentiell erzeugt werden, d. h. wenn die Eingangsvariable, nämlich der Bit-Index der 1. bzw. 2. Komponente, immer in Schritten von 1 erhöht wird. Insbesondere kann in diesen Ausführungsbeispielen die Berechnung des abgerundeten Quotienten und des Restes bei allen Divisionen eingespart werden.embodiment can be a particularly cost-effective implementation when the write or read addresses are generated sequentially be, d. H. if the input variable, namely the bit index 1st or 2nd component, always increased in increments of 1 becomes. In particular, in these embodiments the calculation of the rounded quotient and the remainder at all Divisions are saved.
Im folgenden wird das Ausführungsbeispiel für einen Generator zur Erzeugung von Schreib-Adressen (Ausgangsindex) für einen wahlfreien Index eines Bits (Eingangsindex) vor dem Interleaven angegeben. Ein Schreiben dieses Bits in die erzeugte Adresse ist äquivalent zum Interleaven des Bits für die eingestellten Interleaver-Parameter. Das Ausführungsbeispiel ist in der Notation der Sprache Matlab abgefasst.in the The following will be the embodiment for a Generator for generating write addresses (output index) for an optional index of a bit (input index) before interleaving specified. Writing this bit to the generated address is equivalent for interleaving the bit for the set interleaver parameters. The embodiment is in the notation of language Matlab drafted.
In
einem weiteren Ausführungsbeispiel, werden die Parameter
wie folgt gewählt:
Num_Bits = 1146
Num_Cols =
191
Num_Full_Rows = 6
Num_Rem_Bits = 0(keine unvollständigen
Zeilen)
→ für alle 6 Zeilen ist Num_Intra_Bits
= 191;In a further embodiment, the parameters are chosen as follows:
Num_Bits = 1146
Num_Cols = 191
Num_Full_Rows = 6
Num_Rem_Bits = 0 (no incomplete rows)
→ for all 6 lines Num_Intra_Bits = 191;
Die
anderen Parameter ergeben sich dann wie in der folgenden Tabelle
angegeben, die die Struktur dieses Turbo Kode Interleavers zeigt:
In
einem weiteren Ausführungsbeispiel, werden die Parameter
wie folgt gewählt:
Num_Bits = 12282
Num_Cols
= 2047
Num_Full_Rows = 6
Num_Rem_Bits = 0 (keine unvollständigen
Zeilen)
→ für alle 6 Zeilen ist Num_Intra_Bits
= 2047;In a further embodiment, the parameters are chosen as follows:
Num_Bits = 12282
Num_Cols = 2047
Num_Full_Rows = 6
Num_Rem_Bits = 0 (no incomplete rows)
→ for all 6 lines Num_Intra_Bits = 2047;
Die
anderen Parameter ergeben sich dann wie in der folgenden Tabelle
angegeben, die die Struktur dieses Turbo Kode Interleavers zeigt:
Die
Die
Ausführungsbeispiele bieten gegenüber dem 3GP22-Interleaver ferner Vorteile hinsichtlich der flexiblen Konfigurierbarkeit. Die Verwendung einer Linear Congruent Permutation (3GPP2-Interleaver) für das Intra-Zeilen-Interleaving erlaubt nicht beliebige Inkremente (Konstante C bei Linear Congruent-Berechnungsvorschrift), sondern nur diejenigen, die relativ Prim zur Interleaverlänge sind. Ausführungsbeispiele eines Fast-Rechteck-Interleavers erlauben hingegen immer eine freie Wahl der Anzahl von Spalten, so dass auch für die Anzahl von Zeilen eine große Auswahl zur Verfügung steht. Aufgrund der größeren Wahlfreiheit besteht hier ein höheres Potenzial, geeignete Parameter für eine gute Leistungsfähigkeit zu finden.embodiments offer further advantages over the 3GP22 interleaver in terms of flexible configurability. The use of a Linear Congruent Permutation (3GPP2 interleaver) for the Intra-line interleaving does not allow arbitrary increments (constant C in Linear Congruent calculation rule), but only those which are relatively prime to the interleaving length. embodiments a fast-rectangle interleaver, on the other hand, always allow a free one Choice of the number of columns, so also for the number There is a wide choice of lines available. Because of the greater freedom of choice exists here a higher potential, suitable parameters for to find a good performance.
Ausführungsbeispiele
bieten ferner den Vorteil, dass sie mit weniger Aufwand implementierbar
sind. Beispielsweise beim 3GPP2-Interleaver werden Kandidaten-Adressen
erzeugt, die manchmal ungültig sind. Somit erfordern diese
Interleaver eine spezielle Strategie, um in jedem Taktzyklus mit
Sicherheit eine gültige Adresse zu erhalten, vgl. z. B.
Steven J. Halter, ”Random-Access Multi-Directional CDMA2000
Turbo Code Interleaver”,
Beim Ausführungsbeispielen von Fast-Rechteck-Interleavern kommen keine ungültigen Kandidaten-Adressen vor, der Algorithmus benötigt keinerlei Feedback und kann optimal gepipelined werden, d. h. er kann sequentiell ausgeführt werden und es sind keine Rückkopplungen erforderlich. Deshalb können Ausführungsbeispiele durch diese Berechnungsvorschrift prinzipiell höhere Taktraten der Schaltung ermöglichen als beispielsweise der 3GPP2-Algorithmus. Ausführungsbeispiele bieten somit den Vorteil, dass gute Leistungsfähigkeit bei geringer Komplexität und geringem Speicherbedarf bereitgestellt werden kann.At the Embodiments of fast-rectangular interleavers come no invalid candidate addresses, the algorithm needs no feedback and can be optimally pipelined be, d. H. it can be executed sequentially and no feedback is required. That's why Embodiments by this calculation rule in principle allow higher clock rates of the circuit as, for example, the 3GPP2 algorithm. embodiments thus offer the advantage of having good performance provided with low complexity and low memory requirements can be.
Insbesondere wird darauf hingewiesen, dass abhängig von den Gegebenheiten das erfindungsgemäße Schema auch in Software implementiert sein kann. Die Implementation kann auf einem digitalen Speichermedium, insbesondere einer Diskette, einem Flash-Speicher, einer CD oder einer DVD mit elektronisch auslesbaren Steuersignalen erfolgen, die so mit einem programmierbaren Computersystem zusammenwirken können, dass das entsprechende Verfahren ausgeführt wird. Allgemein besteht die Erfindung somit auch in einem Computerprogrammprodukt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des erfindungsgemäßen Verfahrens, wenn das Computerprogrammprodukt auf einem Rechner abläuft. In anderen Worten ausgedrückt, kann die Erfindung somit als ein Computerprogramm mit einem Programmkode zur Durchführung des Verfahrens realisiert werden, wenn das Computerprogrammprodukt auf einem Computer abläuft.Especially It is noted that depending on the circumstances the inventive scheme also implemented in software can be. The implementation can be done on a digital storage medium, in particular a floppy disk, a flash memory, a CD or a DVD with electronically readable control signals, which can interact with a programmable computer system that the corresponding procedure is carried out. Generally Thus, the invention also exists in a computer program product with program code stored on a machine-readable carrier for carrying out the inventive Procedure when the computer program product runs on a computer. In other words, the invention can thus as a computer program with a program code for execution of the method realized when the computer program product runs on a computer.
- 11001100
- Turbo-KodiererTurbo encoder
- 11051105
- erster Komponenten-Kodiererfirst Component encoder
- 11101110
- Turbo-Kode-InterleaverTurbo code interleaver
- 11151115
- zweiter Komponenten-Kodierersecond Component encoder
- 11201120
- Punktiererpuncturer
- 12001200
- Flip-FlopFlip-flop
- 12051205
- Flip-FlopFlip-flop
- 12101210
- Flip-FlopFlip-flop
- 12151215
- Eingangentrance
- 12201220
- Ausgangoutput
- 12251225
- Ausgangoutput
- 12301230
- RückkoppelzweigFeedback path
- 13001300
- Depunktiererdepuncturing
- 13051305
- erster Komponenten-Dekodiererfirst Component decoder
- 13101310
- zweiter Komponenten-Dekodierersecond Component decoder
- 13151315
- Turbo-Kode-InterleaverTurbo code interleaver
- 13201320
- Turbo-Kode-De-InterleaverTurbo code deinterleaver
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list The documents listed by the applicant have been automated generated and is solely for better information recorded by the reader. The list is not part of the German Patent or utility model application. The DPMA takes over no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- - EP 1030455 B1 [0037] - EP 1030455 B1 [0037]
- - US 6304991 B1 [0043] US 6304991 B1 [0043]
- - US 6871303 B2 [0043, 0143] US 6871303 B2 [0043, 0143]
Zitierte Nicht-PatentliteraturCited non-patent literature
- - Claude Berrou, Alain Glavieux, and Punya Thitimajshima: „Near Shannon-Limit Error-Correcting Coding and Decoding: Turbo Codes”, Intern. Conf. an Communication, pages 1064–1070, 1993 [0003] - Claude Berrou, Alain Glavieux, and Punya Thitimajshima: "Near Shannon-Limit Error-Correcting Coding and Decoding: Turbo Codes", Intern. Conf. to Communication, pages 1064-1070, 1993 [0003]
- - Todd K. Moon ”Error Correction Coding”, Wiley, 2007, ISBN 978-0-471-64800-0 [0014] Todd K. Moon "Error Correction Coding", Wiley, 2007, ISBN 978-0-471-64800-0 [0014]
- - Marco Breiling, „Analysis and Design of Turbo Kode Interleavers”, Shaker Verlag, Aachen, 2002 ISBN 3-8322-0302-8 [0021] Marco Breiling, "Analysis and Design of Turbo Code Interleavers", Shaker Verlag, Aachen, 2002 ISBN 3-8322-0302-8 [0021]
- - S. Crozier and P. Guinand: ”High-performance low memory interleaver banks for turbocodes”, in Proc. of the 54th IEEE Veh. Tech. Conf (VTC'01), Atlantic City, pp. 2394–2398, Oct. 2001 [0021] - S. Crozier and P. Guinand: "High Performance Low Memory Interleaver Banks for Turbo Codes", in Proc. of the 54th IEEE Veh. Tech. Conf (VTC'01), Atlantic City, pp. 2394-2398, Oct. 2001 [0021]
- - Johan Hokfelt, Ove Edfors, and Torleiv Maseng: „Interleaver design for turbo codes based an the performance of iterative decoding”, Intern. Conf. an Communications, Communications Theory Mini Conference, pages 93–97, 1999 [0022] - Johan Hokfelt, Ove Edfors, and Torleiv Maseng: "Interleaver design for turbo codes based on the performance of iterative decoding", Intern. Conf. to Communications, Communications Theory Mini Conference, pages 93-97, 1999 [0022]
- - Sergio Benedetto and Guido Montorsi: „Unveiling Turbo Codes: Some Results an Parallel Concatenated Coding Schemes”, IEEE Trans. an Inform. Theory, 42(2):409–428, 1996 [0030] Sergio Benedetto and Guido Montorsi: "Unveiling Turbo Codes: Some Results to Parallel Concatenated Coding Schemes", IEEE Trans. To Inform. Theory, 42 (2): 409-428, 1996 [0030]
- - S. Dolinar and D. Divsalar: „Weight Distributions for Turbo Codes Using Random and Nonrandom Permutations”, Jet Propulsion Lab, TDA Prog. Rep., 42–122: 56–65, 1995 [0035] Dolinar and D. Divsalar: "Weight Distributions for Turbo Codes Using Random and Nonrandom Permutations", Jet Propulsion Lab, TDA Prog. Rep., 42-122: 56-65, 1995 [0035]
- - S. Crozier and P. Guinand: „Highperformance low-memory interleaver banks for turbo-codes”, in Proc. Of the 54th IEEE Veh. Tech. Conf (VTC'01), Atlantic City, pp. 2394–2398, Oct. 2001 [0036] - S. Crozier and P. Guinand: "High-performance low-memory interleaver banks for turbo-codes", in Proc. Of the 54th IEEE Veh. Tech. Conf (VTC'01), Atlantic City, pp. 2394-2398, Oct. 2001 [0036]
Claims (25)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200810029623 DE102008029623A1 (en) | 2008-06-23 | 2008-06-23 | Interleaver e.g. intra-row almost rectangular interleaver, for use in e.g. turbo encoder for scrambling information word, has interleaver stage for reading columns, and for arranging digits of row to one another without gap |
EP09008223.1A EP2139120B1 (en) | 2008-06-23 | 2009-06-23 | Interleaver |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200810029623 DE102008029623A1 (en) | 2008-06-23 | 2008-06-23 | Interleaver e.g. intra-row almost rectangular interleaver, for use in e.g. turbo encoder for scrambling information word, has interleaver stage for reading columns, and for arranging digits of row to one another without gap |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102008029623A1 true DE102008029623A1 (en) | 2009-12-24 |
Family
ID=41335007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200810029623 Ceased DE102008029623A1 (en) | 2008-06-23 | 2008-06-23 | Interleaver e.g. intra-row almost rectangular interleaver, for use in e.g. turbo encoder for scrambling information word, has interleaver stage for reading columns, and for arranging digits of row to one another without gap |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102008029623A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6304991B1 (en) | 1998-12-04 | 2001-10-16 | Qualcomm Incorporated | Turbo code interleaver using linear congruential sequence |
WO2004030226A1 (en) * | 2002-09-25 | 2004-04-08 | Koninklijke Philips Electronics N.V. | Method of calculating an intra-row permutation pattern for an interleaver |
EP1030455B1 (en) | 1999-02-19 | 2004-04-21 | Ntt Mobile Communications Network Inc. | Interleaving method, interleaving apparatus, turbo encoding method, and turbo encoder |
US6871303B2 (en) | 1998-12-04 | 2005-03-22 | Qualcomm Incorporated | Random-access multi-directional CDMA2000 turbo code interleaver |
US20050102599A1 (en) * | 2003-11-11 | 2005-05-12 | Ping-Chung Yang | Address generator for block interleaving |
-
2008
- 2008-06-23 DE DE200810029623 patent/DE102008029623A1/en not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6304991B1 (en) | 1998-12-04 | 2001-10-16 | Qualcomm Incorporated | Turbo code interleaver using linear congruential sequence |
US6871303B2 (en) | 1998-12-04 | 2005-03-22 | Qualcomm Incorporated | Random-access multi-directional CDMA2000 turbo code interleaver |
EP1030455B1 (en) | 1999-02-19 | 2004-04-21 | Ntt Mobile Communications Network Inc. | Interleaving method, interleaving apparatus, turbo encoding method, and turbo encoder |
WO2004030226A1 (en) * | 2002-09-25 | 2004-04-08 | Koninklijke Philips Electronics N.V. | Method of calculating an intra-row permutation pattern for an interleaver |
US20050102599A1 (en) * | 2003-11-11 | 2005-05-12 | Ping-Chung Yang | Address generator for block interleaving |
Non-Patent Citations (8)
Title |
---|
Claude Berrou, Alain Glavieux, and Punya Thitimajshima: "Near Shannon-Limit Error-Correcting Coding and Decoding: Turbo Codes", Intern. Conf. an Communication, pages 1064-1070, 1993 |
Johan Hokfelt, Ove Edfors, and Torleiv Maseng: "Interleaver design for turbo codes based an the performance of iterative decoding", Intern. Conf. an Communications, Communications Theory Mini Conference, pages 93-97, 1999 |
Marco Breiling, "Analysis and Design of Turbo Kode Interleavers", Shaker Verlag, Aachen, 2002 ISBN 3-8322-0302-8 |
S. Crozier and P. Guinand: "High-performance low memory interleaver banks for turbocodes", in Proc. of the 54th IEEE Veh. Tech. Conf (VTC'01), Atlantic City, pp. 2394-2398, Oct. 2001 |
S. Crozier and P. Guinand: "Highperformance low-memory interleaver banks for turbo-codes", in Proc. Of the 54th IEEE Veh. Tech. Conf (VTC'01), Atlantic City, pp. 2394-2398, Oct. 2001 |
S. Dolinar and D. Divsalar: "Weight Distributions for Turbo Codes Using Random and Nonrandom Permutations", Jet Propulsion Lab, TDA Prog. Rep., 42-122: 56-65, 1995 |
Sergio Benedetto and Guido Montorsi: "Unveiling Turbo Codes: Some Results an Parallel Concatenated Coding Schemes", IEEE Trans. an Inform. Theory, 42(2):409-428, 1996 |
Todd K. Moon "Error Correction Coding", Wiley, 2007, ISBN 978-0-471-64800-0 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60037463T2 (en) | Rate adaptation and channel interleaving for a communication system | |
DE10030407B4 (en) | Method for optimal rate adaptation in a mobile communication system | |
DE69838451T2 (en) | PROCESS AND SWITCHING FOR ADAPTIVE CHANNEL CODING | |
DE60032441T2 (en) | DEVICE AND METHOD FOR TURBO CHANNELING | |
DE69936683T2 (en) | Nesting using increments based on the Golden Ratio | |
US6728927B2 (en) | Method and system for high-spread high-distance interleaving for turbo-codes | |
DE69936626T2 (en) | CHANNEL ENCODING AND DECODING FOR A COMMUNICATION SYSTEM | |
EP4224719B1 (en) | Transmitter with an interleaver device | |
DE60009973T2 (en) | Nesting method, interleaver, turbo coding method and turbo encoder | |
DE69905255T2 (en) | IMPROVED NESTLERS FOR TURBO CODES | |
DE102005010006B4 (en) | Method and apparatus for terminating an iterative turbo decoding | |
EP1258085B1 (en) | Method for adapting the data blocks to be supplied to a turbo coder and a corresponding communications device | |
DE20202467U1 (en) | Device for generating and decoding codes in a communication system | |
DE60002705T2 (en) | INNER ROW PERMUTATIONS FOR TURBOCODE | |
DE20023252U1 (en) | Interleaving / deinterleaving device for a communication system | |
DE60112445T2 (en) | Modification of an interleaver pattern | |
DE60316428T2 (en) | Method, encoder and communication device for encoding parallel-linked data | |
DE60016561T2 (en) | BLOCK QUARTERING FOR TURBO CODING | |
DE60111974T2 (en) | Abort criterion for a turbo decoder | |
DE19934646C2 (en) | Method and device for iterative decoding of chained codes | |
EP1323269A2 (en) | Segmental deinterlacing | |
DE60311997T2 (en) | First interleaving method for a transmitter with two interleavers | |
EP2139120B1 (en) | Interleaver | |
DE102008029623A1 (en) | Interleaver e.g. intra-row almost rectangular interleaver, for use in e.g. turbo encoder for scrambling information word, has interleaver stage for reading columns, and for arranging digits of row to one another without gap | |
DE60209196T2 (en) | Method and apparatus for optimizing, under power constraints, the size of coded data blocks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |