Beschreibungdescription
Verfahren und Kommunikationsvorrichtung zur Anpassung der Datenrate in einer KommunikationsvorrichtungMethod and communication device for adapting the data rate in a communication device
Die vorliegende Erfindung betrifft ein Verfahren nach dem Oberbegriff des Anspruches 1 bzw. 11 zur Anpassung der Datenrate in einer Kommunikationsvorrichtung sowie eine entsprechende Kommunikationsvorrichtung nach dem Oberbegriff des Anspruches 16.The present invention relates to a method for adapting the data rate in a communication device and a corresponding communication device according to the preamble of claim 16.
Verschiedene Applikationen in Kommunikationssystemen arbeiten zumeist mit unterschiedlichen Datenraten. Die zugrunde liegenden Übertragungskanäle bieten aber meist z.B. wegen der Einbettung in gewisse Sendeformate, nur eine festeDifferent applications in communication systems mostly work with different data rates. The underlying transmission channels usually offer e.g. because of the embedding in certain broadcast formats, only a fixed one
Datenübertragungsrate oder Roh-Datenübertragungsrate an, oder nur einen diskreten Satz solcher Datenraten. Es wird daher im allgemeinen notwendig sein, an der entsprechenden Schnittstelle die Datenraten aneinander anzupassen. Dies wird im folgenden an einem Beispiel aus der UMTS-Standardisierung beschrieben:Data transfer rate or raw data transfer rate, or only a discrete set of such data rates. It will therefore generally be necessary to adapt the data rates to one another at the corresponding interface. This is described in the following using an example from UMTS standardization:
Augenblicklich wird an der Standardisierung des sogenannten UMTS-Mobilfunkstandards ('Universal Mobile Telecommunication System') für Mobilfunkgeräte der dritten Mobilfunkgeneration gearbeitet. Gemäß dem derzeitigen Stand der UMTS- Standardisierung ist vorgesehen, die über einen Hochfrequenzkanal zu übertragenden Daten einer Kanalcodierung zu unterziehen, wobei hierzu insbesondere Faltungscodes ( 'Convolutional Codes') verwendet werden. Durch die Kanalcodierung werden die zu übertragenden Daten redundant codiert, wodurch auf der Empfängerseite eine zuverlässigere Wiedergewinnung der gesendeten Daten möglich ist. Der bei der Kanalcodierung jeweils verwendete Code wird durch seine Coderate r = k/n charakterisiert, wobei k die Anzahl der zu übertragenden Daten- oder Nachrichtenbits und n die Anzahl der nach der Codierung vorliegenden Bits bezeichnet. Je kleiner die Coderate ist, desto leistungsfähiger ist in der
Regel der Code. Ein mit der Codierung verbundenes Problem ist jedoch, dass die Datenrate um den Faktor r reduziert wird.Work is currently underway to standardize the so-called UMTS mobile radio standard ('Universal Mobile Telecommunication System') for mobile radio devices of the third mobile radio generation. According to the current state of UMTS standardization, it is provided that the data to be transmitted via a high-frequency channel are subjected to channel coding, with convolutional codes being used in particular for this purpose. The channel coding encodes the data to be transmitted redundantly, which enables a more reliable recovery of the transmitted data on the receiver side. The code used in the channel coding is characterized by its code rate r = k / n, where k denotes the number of data or message bits to be transmitted and n the number of bits present after coding. The lower the code rate, the more efficient it is Rule the code. However, a problem associated with coding is that the data rate is reduced by the factor r.
Um die Datenrate des codierten Datenstroms an die jeweils mögliche Übertragungsrate anzupassen, wird im Sender eine Ratenanpassung ('Rate Matching') durchgeführt, wobei nach einem bestimmten Muster entweder Bits aus dem Datenstrom entfernt oder in dem Datenstrom verdoppelt werden. Das Entfernen von Bits wird als 'Punktieren' und das Verdoppeln als 'Repetieren' bezeichnet.In order to adapt the data rate of the coded data stream to the respective possible transmission rate, a rate matching ('rate matching') is carried out in the transmitter, bits being either removed from the data stream or doubled in the data stream according to a certain pattern. Removing bits is called 'puncturing' and doubling is called 'repeating'.
Gemäß dem derzeitigen Standder UMTS-Standardisierung wird vorgeschlagen, zur Ratenanpassung einen Algorithmus zu verwenden, der eine Punktierung mit einem annähernd regelmäßigen Punktierungsmuster durchführt, d.h. die zu punktierenden Bits sind äquidistant über den jeweils zu punktierenden codierten Datenblock verteilt.According to the current state of UMTS standardization, it is proposed to use an algorithm for rate adaptation which punctures with an approximately regular puncturing pattern, i.e. the bits to be punctured are distributed equidistantly over the coded data block to be punctured.
Darüber hinaus ist bekannt, dass beim Faltungscodieren die Bitfehlerrate (Bit Error Rate, BER) am Rand eines entsprechend codierten Datenblocks abnimmt. Ebenso ist bekannt, dass die Bitfehlerrate innerhalb eines Datenblocks durch ungleichmäßig verteiltes Punktieren lokal verändert werden kann. Es ist weiterhin aus WO 01/26273A1 und WO 01/39421 AI bekannt, dass es vorteilhaft ist, die einzelnenIn addition, it is known that in the case of convolutional coding, the bit error rate (BER) decreases at the edge of a correspondingly coded data block. It is also known that the bit error rate within a data block can be changed locally by puncturing that is distributed unevenly. It is also known from WO 01 / 26273A1 and WO 01/39421 AI that it is advantageous for the individual
Datenblöcke des Datenstroms zur Anpassung der Datenrate gemäß einem bestimmten Punktierungsmuster zu punktieren, wobei das Punktierungsmuster derart ausgestaltet ist, dass es eine von einem mittleren Bereich der einzelnen Datenblöcke zu mindestens einem Ende der einzelnen Datenblöcke hin stetig zunehmende Punktierungsrate aufweist.Puncture data blocks of the data stream for adapting the data rate according to a specific puncturing pattern, the puncturing pattern being designed such that it has a puncturing rate which increases continuously from a central region of the individual data blocks to at least one end of the individual data blocks.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren zur Anpassung der Datenrate eines Datenstroms in einer Kommunikationsvorrichtung sowie eine entsprechende Kommunikationsvorrichtung bereitzustellen, welche eine
zufriedenstellenden Bitfehlerrate gewährleistenund insbesondere in Mobilfunksystemen mit Faltungscodierung einsetzbar sind.The present invention is therefore based on the object of providing a method for adapting the data rate of a data stream in a communication device and a corresponding communication device which have a ensure a satisfactory bit error rate and can be used in particular in mobile radio systems with convolutional coding.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen der Ansprüche 1 und 16 bzw. durch eine Kommunikationsvorrichtung mit den Merkmalen des Anspruches 16 gelöst. Die Unteransprüche definieren bevorzugte und vorteilhafte Ausführungsformen der vorliegenden Erfindung.This object is achieved according to the invention by a method with the features of claims 1 and 16 or by a communication device with the features of claim 16. The subclaims define preferred and advantageous embodiments of the present invention.
Dabei wurde die Systematik des Faltungscodes dazu genützt, heuristisch Punktierungsmuster zu finden, nach deren Anwendung alle Bits des punktierten Datenblocks eine ihrer jeweiligen Wichtigkeit entsprechende Bitfehlerrate besitzen.The system of the convolutional code was used to find heuristic puncturing patterns, after which all bits of the punctured data block have a bit error rate that corresponds to their importance.
Vorzugsweise weist das Punktierungsmuster eine von dem mittleren Bereich zu beiden Enden des jeweiligen Datenblocks hin zunehmende Punktierungsrate auf. Auf diese Weise werden die Bits am Anfang und Ende des jeweils zu punktierenden Datenblocks stärker punktiert, wobei dies nicht mit einer gleichmäßigen Punktierungsrate, sondern mit einer im Wesentlichen zu den beiden Enden des jeweiligen Datenblocks hin ansteigenden Punktierungsrate erfolgt, d.h. der Abstand zwischen den punktierten Bits wird zu den beiden Enden desThe puncturing pattern preferably has a puncturing rate increasing from the central region to both ends of the respective data block. In this way, the bits are punctured more strongly at the beginning and end of the data block to be punctured, this being done not with a uniform puncturing rate but with a puncturing rate that increases essentially towards the two ends of the respective data block, i.e. the distance between the punctured bits becomes the two ends of the
Datenblocks hin im Durchschnitt immer kürzer. Wie im weiteren ausgeführt werden wird, muss die Punktierungsrate aber überraschender weise nicht unbedingt streng monoton zu den Enden hin ansteigen, oder anders ausgedrückt der Punktierungsabstand streng monoton abnehmen. Vielmehr kann es, bedingt durch die spezifischen Eigenschaften der verwendeten Faltungscodes und insbesondere der verwendeten Generatorpolynome auch vorteilhaft sein, etwas unregelmäßigere Muster zu verwenden.Data blocks are getting shorter and shorter on average. As will be explained in the following, the puncturing rate surprisingly does not necessarily have to increase strictly monotonously towards the ends, or in other words the puncturing distance decreases strictly monotonously. Rather, due to the specific properties of the convolutional codes used and in particular the generator polynomials used, it can also be advantageous to use somewhat irregular patterns.
Diese Punktierung führt zu einer über den punktierten Datenblock gleichmäßiger verteilten Fehlerrate der einzelnen
Bits und hat zudem eine verminderte Gesamtfehlerwahrscheinlichkeit zur Folge.This puncturing leads to an evenly distributed error rate of the individual over the punctured data block Bits and also results in a reduced overall error probability.
Die vorliegende Erfindung eignet sich insbesondere zur Anpassung der Datenrate eines faltungscodierten Datenstroms und kann somit bevorzugt in UMTS-Mobilfunksystemen eingesetzt werden, wobei dies sowohl den Bereich des Mobilfunksenders als auch den des Mobilfunkempfängers betrifft. Die Erfindung ist jedoch nicht auf diesen Anwendungsbereich beschränkt, sondern kann allgemein überall dort Anwendung finden, wo die Datenrate eines Datenstroms anzupassen ist.The present invention is particularly suitable for adapting the data rate of a convolutionally coded data stream and can therefore preferably be used in UMTS mobile radio systems, this relating to both the area of the mobile radio transmitter and that of the mobile radio receiver. However, the invention is not limited to this area of application, but can generally be used wherever the data rate of a data stream has to be adapted.
Die vorliegende Erfindung wird nachfolgend unter Bezugnahme auf die beigefügte Zeichnung anhand bevorzugter Ausführungsbeispiele näher beschrieben. Es zeigen Fig. 1: ein vereinfachtes Blockschaltbild eines erfindungsgemäßen Mobilfunksenders ,The present invention is described in more detail below with reference to the accompanying drawing using preferred exemplary embodiments. 1 shows a simplified block diagram of a mobile radio transmitter according to the invention,
Fig. 2: die Bitfehlerrate BER pro Bit für die Punktierung gemäß einem Ausführungsbeispiel beim HS-SCCH, Part 2,2: the bit error rate BER per bit for puncturing according to an embodiment in HS-SCCH, Part 2,
Kodierung mir R=l/3 mit einem Verhältnis der Energie der übertragenen Bits zur Rauschleistungsdichte Es/N0 = -2 dB. Beim HS-SCCH Kanal handelt es sich um den sogenannten High Speed Shared Controll Channel, über welchen gewisse Konfigurationsinformationen übertragen werden und der in zwei Teilbereiche, den sogenannten Part 1 und Part 2 aufteilbar ist. Part 1 wird hierbei zuerst übertragen und enthält die Informationen, die die Mobilstation zuerst braucht, um den folgenden Datenkanal zu verarbeiten, Part 2 enthält solche Informationen, die die Mobilstation erst etwas später benötigt. Durch diese Zweiteilung erreicht man, dass die Verzögerung durch den HS-SCCH so klein wie möglich ist, da nur der erste Teil dekodiert werden muss, bevor mit dem Empfang der Daten begonnen werden kann.Coding with R = l / 3 with a ratio of the energy of the transmitted bits to the noise power density E s / N 0 = -2 dB. The HS-SCCH channel is the so-called high-speed shared control channel, via which certain configuration information is transmitted and which can be divided into two parts, the so-called Part 1 and Part 2. Part 1 is transmitted first and contains the information that the mobile station needs first to process the following data channel, Part 2 contains information that the mobile station only needs a little later. This division in two means that the delay through the HS-SCCH is as small as possible, since only the first part has to be decoded before the data can be received.
Fig. 3:die Bitfehlerrate BER pro Bit für die in UMTS (Spezifikation 25.212 v5.0.0, Kap. 4.2.7 "Rate matching")
vorgeschlagene Ratenanpassung beim HS-SCCH, Part 2, bei einem Verhältnis der Energie der übertragenen Bits zur Rauschleistungsdichte von Es/Nυ = -2 dB.3: the bit error rate BER per bit for those in UMTS (specification 25.212 v5.0.0, chapter 4.2.7 "rate matching") proposed rate adjustment for HS-SCCH, Part 2, with a ratio of the energy of the transmitted bits to the noise power density of E s / N υ = -2 dB.
Fig. 4: einen Vergleich der mit einer erfindungsgemäßenFig. 4: a comparison with an inventive
Punktierung (obere Kurve, Kreuze) bzw. einer herkömmlichen Punktierung (untere Kurve, Kreise) hinsichtlich der daraus resultierenden Gesamtfehlerwahrscheinlichkeit erzielbaren Ergebnisse, wobei hier die Wahrscheinlichkeit, dass mindestens ein Bit eines Blocks fehlerhaft übertragen wurde (sog. Rahmenfehlerrate) aufgetragen ist.Puncturing (upper curve, crosses) or conventional puncturing (lower curve, circles) with regard to the resultant overall error probability, the probability that at least one bit of a block was incorrectly transmitted (so-called frame error rate).
Fig. 5 : zugrundeliegende Schemen für Faltungscodes in UMTS.Fig. 5: underlying schemes for convolutional codes in UMTS.
Fig. 6 :die Bitfehlerrate BER pro Bit für die in UMTSFig. 6: the bit error rate BER per bit for in UMTS
(Spezifikation 25.212 vδ.O.O, Kap. 4.2.7 "Rate matching") vorgeschlagene Ratenanpassung beim HS-SCCH, Part 1, bei einem Verhältnis der Energie der übertragenen Bits zur Rauschleistungsdichte von Es/No = -3 dB(Specification 25.212 vδ.OO, Chapter 4.2.7 "Rate matching") proposed rate adjustment for HS-SCCH, Part 1, with a ratio of the energy of the transmitted bits to the noise power density of E s / No = -3 dB
Fig. 7: wie viele Eingangsbits (Input Bit) betroffen werden bei einer Punktierung eines Ausgangs-Bits in den verschiedenen Ausgangsstufen Output 1, Output 2 und Output 3.Fig. 7: how many input bits are affected when an output bit is punctured in the different output stages Output 1, Output 2 and Output 3.
Fig. 8: welche Eingangsbits (Bitnummern) durch die Punktierung betroffen „sind.8: Which input bits (bit numbers) are affected by the puncturing.
Fig.9. : eine Tabelle mit den Ergebnissen der Punktierung in Abhängigkeit von der Anzahl der punktierten Bits.Figure 9. : a table with the results of puncturing depending on the number of punctured bits.
Fig. 10 : die Bitfehlerrate BER pro Bit für eine Punktierung gemäß einem Ausführungsbeispiel beim HS-SCCH, Part 1, bei einem Signal-Rausch Verhältnis der Energie der übertragenen Bits zur Rauschleistungsdichte von Es/N0 = -3 dB
Fig. 11 : verschiedene Ausführungsbeispiele für eine Punktierung von 8 Bits (48 auf 40 Bit) für eine Kodierung mit Rate 1/310: the bit error rate BER per bit for puncturing according to an exemplary embodiment in HS-SCCH, Part 1, with a signal-to-noise ratio of the energy of the transmitted bits to the noise power density of E s / N 0 = -3 dB 11: Different exemplary embodiments for puncturing 8 bits (48 to 40 bits) for coding with rate 1/3
Fig. 12 : verschiedene Ausführungsbeispiele für eineFig. 12: different embodiments for a
Punktierung von 31 Bits (Punktierung von 111 auf 80 Bit) , R = 1/3Puncturing 31 bits (puncturing 111 to 80 bits), R = 1/3
Fig. 13 : verschiedene Ausführungsbeispiele für eine Repetierung von 31 Bits (Repetierung von 32 auf 40 Bit) , R = y2 13: different exemplary embodiments for a repetition of 31 bits (repetition from 32 to 40 bits), R = y 2
Fig. 14 : verschiedene Ausführungsbeispiele für eine Repetierung von 6 Bits (74 auf 80 Bit) , R = 1/3Fig. 14: different embodiments for a repetition of 6 bits (74 to 80 bits), R = 1/3
Fig. 15 : verschiedene Ausführungsbeispiele für eine Repetierung von 4 Bit (36 auf 40 Bit) , R = V2 15: different exemplary embodiments for a repetition of 4 bits (36 to 40 bits), R = V 2
Fig. 16 : verschiedene Ausführungsbeispiele für eine Punktierung von 14 Bit (54 auf 40 Bit), R = 1/316: different exemplary embodiments for puncturing 14 bits (54 to 40 bits), R = 1/3
Fig. 17 : weitere Ausführungsbeispiele für eine Punktierung von 31 Bits (Punktierung von 111 auf 80 Bit), R = 1/3, Diese Figur kann also auch als eine Fortsetzung von Fig. 12 angesehen werden.FIG. 17: further exemplary embodiments for puncturing 31 bits (puncturing from 111 to 80 bits), R = 1/3. This figure can therefore also be regarded as a continuation of FIG. 12.
Fig.18 : ein Ausführungsbeispiel für eine Punktierung von 108 auf 80 Bits, R = 1/3Fig. 18: an embodiment for puncturing from 108 to 80 bits, R = 1/3
Fig. 19 : Ausführungsbeispiele für eine Punktierung von 114 auf 80 Bits, R = 1/3Fig. 19: Exemplary embodiments for puncturing from 114 to 80 bits, R = 1/3
Fig. 20 : Ausführungsbeispiele für eine Punktierung von 117 auf 80 Bits, R = 1/3Fig. 20: Exemplary embodiments for puncturing from 117 to 80 bits, R = 1/3
Fig. 21 : Ausführungsbeispiele für eine Punktierung von 52 auf 40 Bit, R = 1/2
Fig. 22 : Ausführungsbeispiele für eine Punktierung von 46 auf 40 Bit, R = 1/2Fig. 21: Exemplary embodiments for puncturing from 52 to 40 bits, R = 1/2 Fig. 22: Exemplary embodiments for puncturing from 46 to 40 bits, R = 1/2
Fig. 23 : Ausführungsbeispiele für eine Punktierung von 54 auf 40 Bit, R = 1/3Fig. 23: Exemplary embodiments for puncturing from 54 to 40 bits, R = 1/3
Fig. 24 : Ausführungsbeispiele für eine Punktierung von 56 auf 40 Bit, R = 1/224: Exemplary embodiments for puncturing from 56 to 40 bits, R = 1/2
Fig. 25 : Ausführungsbeispiele für eine Repetierung von 36 auf 40 Bit, R = 1/2Fig. 25: Exemplary embodiments for a repetition from 36 to 40 bits, R = 1/2
Fig. 26 : Ausführungsbeispiele für eine Punktierung von 48 auf 40 BitsFig. 26: Exemplary embodiments for puncturing from 48 to 40 bits
Fig. 27 : Ausführungsbeispiele für eine Punktierung von 11 auf 80 Bit.Fig. 27: Exemplary embodiments for puncturing from 11 to 80 bits.
Fig. 28: Ratenanpassungsvorschrift aus der 3 GPPFig. 28: Rate adjustment rule from the 3 GPP
Spezifikation 25.212 v5.0.0 , Kap. 4.2.7 „Rate matching" (Ratenanpassung)Specification 25.212 v5.0.0, chap. 4.2.7 "Rate matching"
Allgemein bedeuten in den Tabellen die Zeilen mit zur Gänze fett gedruckten Zahlen das jeweils besonders bevorzugte Ausführungsbeispiel, wobei aber die Qualität der anderen Ausführungsbeispiel nicht notwendigerweise gravierend von diesem hervorgehobenen Ausführungsbeispiel abweicht. In den Figuren 26 und 27 jedoch bezeichnen fett eingetragenen Zahlen die durch das beschriebenen, erfindungsgemäßeIn general, the lines in the tables with numbers printed entirely in bold mean the respectively particularly preferred exemplary embodiment, but the quality of the other exemplary embodiment does not necessarily deviate significantly from this exemplary embodiment which is emphasized. In Figures 26 and 27, however, bold numbers denote those described by the inventive method
Konstruktionsprinzip der Ratenanpassungsformel punktierten bzw. repetierten Bits am Anfang bzw. Ende des Repetierungsmusters. Diese sind somit festgelegt, wohingegen sich die Position der nicht fett gezeichneten Bits durch Variation der Parameter im Rahmen dieser Erfindung auch leicht (typischerweise um eine Position) verschieben können.
In Fig. 1 ist schematisch der Aufbau eines erfindungsgemäßen Mobilfunksenders 1 dargestellt, von dem Daten oder KommunikationsInformationen, insbesondere Sprachinformationen, über einen Hochfrequenz- Übertragungskanal an einen Empfänger übertragen werden. In Fig. 1 sind insbesondere die an der Codierung dieser Informationen oder Daten beteiligten Komponenten dargestellt. Die von einer Datenquelle 2, beispielsweise einem Mikrofon, gelieferten Informationen werden zunächst mit einem digitalen Quellcodierer 3 in eine Bitfolge umgesetzt. Die sprachcodierten Daten werden anschließend mit Hilfe eines Kanalcodierers 4 codiert, wobei die eigentlichen Nutz- oder Nachrichtenbits redundant codiert werden, wodurch Übertragungsfehler erkannt und anschließend korrigiert werden können. Bei dem Kanalcodierer 4 kann es sich um einenConstruction principle of the rate adjustment formula punctured or repeated bits at the beginning or end of the repetition pattern. These are thus fixed, whereas the position of the bits not shown in bold can also shift slightly (typically by one position) by varying the parameters within the scope of this invention. 1 schematically shows the structure of a mobile radio transmitter 1 according to the invention, from which data or communication information, in particular voice information, is transmitted to a receiver via a high-frequency transmission channel. 1 shows, in particular, the components involved in the coding of this information or data. The information supplied by a data source 2, for example a microphone, is first converted into a bit sequence using a digital source encoder 3. The speech-coded data are then coded with the aid of a channel encoder 4, the actual useful or message bits being coded redundantly, as a result of which transmission errors can be recognized and then corrected. The channel encoder 4 can be one
Faltungskodierer handeln. Die sich bei der Kanalcodierung ergebende Coderate r ist eine wichtige Größe zur Beschreibung des jeweils bei der Kanalcodierung eingesetzten Codes und ist, wie bereits erwähnt worden ist, durch den Ausdruck r = k/n definiert. Dabei bezeichnet k die Anzahl derAct convolutional encoder. The code rate r resulting in the channel coding is an important variable for describing the code used in each case in the channel coding and, as has already been mentioned, is defined by the expression r = k / n. K denotes the number of
Datenbits und n die Anzahl der insgesamt codierten Bits, d.h. die Anzahl der hinzugefügten redundanten Bits entspricht dem Ausdruck n - k. Ein Code mit der oben definierten Coderate r wird auch als (n,k)-Code bezeichnet, wobei die Leistungsfähigkeit des Codes mit abnehmender Coderate r zunimmt. Zur Kanalcodierung werden üblicherweise sogenannte Blockcodes oder Faltungscodes verwendet.Data bits and n the total number of coded bits, i.e. the number of redundant bits added corresponds to the expression n - k. A code with the code rate r defined above is also referred to as an (n, k) code, the performance of the code increasing with decreasing code rate r. So-called block codes or convolutional codes are usually used for channel coding.
Nachfolgend soll davon ausgegangen werden, dass - wie durch den derzeitigen Stand der UMTS-Standardisierung festgelegt ist - bei der Kanalcodierung Faltungscodes zur Anwendung kommen. Ein wesentlicher Unterschied zu Blockcodes besteht darin, dass bei Faltungscodes nicht einzelne Datenblöcke nacheinander codiert werden, sondern dass es sich um eine kontinuierliche Verarbeitung handelt, wobei jedes aktuelle Codewort einer zu codierenden Eingangssequenz auch von den vorhergehenden Eingangssequenzen abhängt. Unabhängig von der
Coderate r = k/n werden Faltungscodes auch durch die sogenannte Einflußlänge oder 'Constraint Length' K charakterisiert. Die 'Constraint Length' gibt an, über wie viele Takte von k neuen Eingangsbits des Kanalcodierers 4 ein Bit das von dem Kanalcodierer 5 ausgegebene Codewort beeinflusst .In the following it should be assumed that - as is determined by the current state of UMTS standardization - convolutional codes are used for channel coding. An essential difference from block codes is that convolutional codes do not encode individual data blocks one after the other, but that they are continuous processing, with each current code word of an input sequence to be coded also depending on the previous input sequences. Independent of Code rate r = k / n convolutional codes are also characterized by the so-called influence length or 'constraint length' K. The 'constraint length' specifies the number of cycles of k new input bits of the channel encoder 4 by means of which a bit influences the code word output by the channel encoder 5.
Für UMTS werden die folgenden Faltungscodes verwendet, wie in Figur 5 gezeigt. Die Abbildung ist aus der Spezifikation 25.212 Kap. 4.2.3.1 "Convolutional coding" (Faltungskodes) entnommen.The following convolutional codes are used for UMTS, as shown in FIG. The illustration is from the specification 25.212 chap. 4.2.3.1 "Convolutional coding" (convolutional codes) taken.
Vor der Übertragung der kanalcodierten Informationen zu dem Empfänger können diese einem Interleaver 5 zugeführt werden, der die zu übertragenden Bits gemäß einem bestimmten Schema zeitlich umordnet und dabei zeitlich spreizt, wodurch die in der Regel bündelweise auftretenden Fehler verteilt werden, um einen sogenannten gedächtnislosen (memoryless) Übertragungskanal mit einer quasizufälligen Fehlerverteilung zu erhalten. Die auf diese Weise codierten Informationen oder Daten werden einem Modulator 7 zugeführt, dessen Aufgabe es ist, die Daten auf ein Trägersignal aufzumodulieren und gemäß einem vorgegebenen Vielfachzugriffsverfahren über einen Hochfrequenz-Übertragungskanal 3 an einen Empfänger zu übertragen.Before the channel-coded information is transmitted to the receiver, it can be fed to an interleaver 5, which rearranges the bits to be transmitted in time according to a certain scheme and thereby spreads them in time, as a result of which the errors which generally occur in bundles are distributed in order to create a so-called ) Receive transmission channel with a quasi-random error distribution. The information or data coded in this way is fed to a modulator 7, the function of which is to modulate the data onto a carrier signal and to transmit it to a receiver via a high-frequency transmission channel 3 in accordance with a predetermined multiple access method.
Zur Übertragung wird der codierte Datenstrom in Datenblöcke aufgeteilt, wobei der Kanalcodierer 4 zu Beginn eines Datenblocks in einen bekannten Zustand gesetzt wird. Am Ende wird jeder codierte Datenblock durch sogenannte 'Tailbits' abgeschlossen, so dass der Kanalcodierer 4 sich wieder in einem bekannten Zustand befindet. Durch diesen Aufbau des Faltungscodes sowie des Kanalcodierers 4 wird erreicht, dass die Bits am Anfang und Ende eines codierten Datenblocks besser als in der Blockmitte gegen Übertragungsfehler geschützt sind. Dabei ist es unerheblich ob diese Tailbits
alle den bekannten Wert 0 haben, oder einen anderen Wert. Die Werte dieser Tailbits können auch beliebig gewählt werden, wobei sowohl Sender als auch Empfänger die zu verwendenden Werte kennen müssen.For transmission, the coded data stream is divided into data blocks, the channel encoder 4 being set to a known state at the start of a data block. In the end, each coded data block is terminated by so-called 'tail bits', so that the channel encoder 4 is again in a known state. This construction of the convolutional code and of the channel encoder 4 ensures that the bits at the beginning and end of an encoded data block are better protected against transmission errors than in the middle of the block. It is irrelevant whether these tail bits all have the known value 0, or some other value. The values of these tail bits can also be chosen arbitrarily, whereby both sender and receiver must know the values to be used.
Die Fehlerwahrscheinlichkeit eines Bits ist abhängig von seiner Lage innerhalb des jeweiligen Datenblocks unterschiedlich. Dieser Effekt wird beispielsweise bei der Sprachübertragung in GSM-Mobilfunksystemen ausgenützt, indem die wichtigsten Bits an den beiden Blockenden platziert werden, wo die Fehlerwahrscheinlichkeit am geringsten ist. Bei Datenübertragungen werden jedoch im allgemeinen Datenpakete bereits dann verworfen, wenn nur ein einziges übertragenes Bits fehlerhaft ist, was beispielsweise im Empfänger durch einen sogenannten 'Cyclic Redundancy Check' (CRC) festgestellt werden kann. Daher kann bei einer Datenübertragung nicht von wichtigen oder weniger wichtigen Bits gesprochen werden, sondern alle Bits sind als gleich wichtig anzusehen. Wenn Fehler in einem Kontrollblock auftreten, also einem Datenblock, der Kontroll-Information enthält, welche Informationen darüber enthält, wie nachfolgende Nutzdaten kodiert und übertragen werden, so ist im allgemeinen einen korrekte Detektion dieser Nutzdaten schon dann nicht mehr möglich, wenn nur ein einziges Bit falsch empfangen wird, da die Empfangsdaten dann falsch interpretiert werden.The error probability of a bit differs depending on its position within the respective data block. This effect is used, for example, in voice transmission in GSM mobile radio systems by placing the most important bits at the two ends of the block, where the probability of errors is lowest. In data transmissions, however, data packets are generally already discarded when only a single transmitted bit is faulty, which can be determined, for example, in the receiver by a so-called 'cyclic redundancy check' (CRC). It is therefore not possible to speak of important or less important bits in a data transmission, but all bits are to be regarded as equally important. If errors occur in a control block, i.e. a data block that contains control information that contains information about how subsequent user data are encoded and transmitted, it is generally no longer possible to correctly detect this user data if only a single bit is received incorrectly because the received data is then interpreted incorrectly.
Um die Datenrate des codierten Datenstroms an die jeweils mögliche Übertragungsrate anzupassen, wird vor dem Modulator 7 eine Ratenanpassung ('Rate Matching') durchgeführt. Bei dem in Fig. 1 gezeigten Ausführungsbeispiel findet die Ratenanpassung in der Ratenanpassungseinheit 6b statt, wobei die Punktierungseinheit 6a zunächst eine Punktierung gemäß einem bestimmten Punktierungsmuster durchführt, um eine gleichmäßigere Fehlerverteilung über einen Datenblock zu erzielen. Die in Fig. 1 gezeigte Reihenfolge der Punktierungseinheit 6a sowie des Interleavers 5 sind
lediglich beispielhaft zu verstehen. Der Interleaver kann auch nach der Einheit 6b angeordnet sein. Ebenso kann der Interleaver 5 auch durch zwei Interleaver vor und nach der Ratenanpassungseinheit 6b ersetzt sein usw.In order to adapt the data rate of the coded data stream to the respective possible transmission rate, a rate adjustment ('rate matching') is carried out in front of the modulator 7. In the exemplary embodiment shown in FIG. 1, the rate adjustment takes place in the rate adjustment unit 6b, the puncturing unit 6a first performing puncturing in accordance with a specific puncturing pattern in order to achieve a more uniform error distribution over a data block. The sequence of the puncturing unit 6a and the interleaver 5 shown in FIG. 1 are to be understood only as an example. The interleaver can also be arranged after the unit 6b. Likewise, the interleaver 5 can also be replaced by two interleavers before and after the rate adjustment unit 6b, etc.
Es ist also auch eine Aufgabe dieser Erfindung, Punktierungsmuster weiter zu optimieren und insbesondere an die für den Kanalcodierer verwendeten Polynome anzupassen. Es stellt sich also die Aufgabe, abhängig vom verwendeten Faltungscode (einschließlich der verwendeten Polynome) und der Blocklänge die Menge der zu punktierenden bzw. repetierenden Bits so auszuwählen, dass die Dekodierung möglichst gut durchgeführt werden kann. In der Regel ergeben sich eine große Anzahl an Möglichkeiten, so dass es zumindest sehr zeit- und ressourcenaufwändig ist, ein sehr gutesIt is therefore also an object of this invention to further optimize puncturing patterns and in particular to adapt them to the polynomials used for the channel encoder. It is therefore the task, depending on the convolutional code used (including the polynomials used) and the block length, to select the amount of bits to be punctured or repeated so that the decoding can be carried out as well as possible. As a rule, there are a large number of possibilities, so that it is at least very time-consuming and resource-consuming, a very good one
Ratenanpassungsmuster rein durch Simulation zu entwickeln. Möchte man beispielsweise alle möglichen Punktierungsmuster zur Punktierung von 48 Bit auf 40 Bit untersuchen, so wären das 48!/(8!*40!) = 377348994 verschiedene Möglichkeiten, die in vertretbarer Zeit nicht untersucht werden können.To develop rate adjustment patterns purely through simulation. For example, if you want to examine all possible puncturing patterns for puncturing from 48 bits to 40 bits, then that would be 48! / (8! * 40!) = 377348994 different possibilities that cannot be examined in a reasonable time.
Dieses Problem stellt sich insbesondere für kurze Blocklängen, wie z. B. für die Kontrollinformation der UMTS- Erweiterung HSDPA, und dort insbesondere den HS-SCCH Kanal (High Speed Shared Controll CHannel) . Dieser Kanal überträgt Konfigurationsinformationen, welche angeben, wie die eigentlichen, über einen speziellen Datenkanal gesendete Nutzdaten , kodiert sind und weitere Details, z.B. die zur Übertragung verwendeten Spreizcodes. Im Gegensatz zum Datenkanal, über den sehr viele Daten übertragen werden können sind das vergleichsweise wenig Daten. In UMTS werden zur Kodierung Faltungscodes mit der Rate V oder 1/3 verwendet, die verwendeten Polynome sind in Fig. 5 gezeigt. Als Polynome bezeichnet man auch die genaue Gestaltung der "Abgreifpunkte" , also welche Verzögerungsstufen für die einzelnen Ausgangsbitströme abgegriffen und durch eine Exclusiv-Oder Operation verknüpft werden.
Die Erfindung ist somit insbesondere anwendbar für den sogenannten HS-SCCH (High Speed Shared Controll CHannel) .This problem arises particularly for short block lengths, such as. B. for the control information of the UMTS extension HSDPA, and there in particular the HS-SCCH channel (High Speed Shared Controll CHannel). This channel transmits configuration information which specifies how the actual user data sent via a special data channel is coded and further details, for example the spreading codes used for transmission. In contrast to the data channel, over which a lot of data can be transmitted, this is comparatively little data. In UMTS, convolutional codes with the rate V or 1/3 are used for coding, the polynomials used are shown in FIG. 5. Polynomials also refer to the exact design of the "tapping points", that is to say which delay stages for the individual output bit streams are tapped and linked by an exclusive-or operation. The invention is therefore particularly applicable to the so-called HS-SCCH (High Speed Shared Controll CHannel).
Die Definition der Kodierung des HS-SCCH ist nach derzeitigem Stand der Technik in der Spezifikation 3GPP TS 25.212 V5.0.0 (2002-03), "Multiplexing and Channel coding (FDD) (Release 5)" gegeben, insbesondere im Kapitel 4.6 "Coding for HS- SCCH" . Diese Spezifikation wird ansonsten in dieser Anmeldung auch kurz als 25.212 bezeichnet. Im Unterkapitel 4.6.6 "Rate matching for HS-SCCH" wird festgelegt, dass die Ratenanpassung gemäß dem Standard-Ratenanpassungsalgorithmus in Kapitel 4.2.7 "Rate matching" durchgeführt werden muss, der im wesentlichen eine (möglichst) äquidistante Punktierung bzw. Repetierung bewirkt.According to the current state of the art, the definition of the coding of the HS-SCCH is given in the specification 3GPP TS 25.212 V5.0.0 (2002-03), "Multiplexing and Channel coding (FDD) (Release 5)", in particular in chapter 4.6 "Coding for HS-SCCH ". This specification is otherwise referred to in this application as 25.212. Subchapter 4.6.6 "Rate matching for HS-SCCH" stipulates that the rate adjustment must be carried out in accordance with the standard rate adjustment algorithm in Chapter 4.2.7 "Rate matching", which essentially results in (as far as possible) equidistant puncturing or repetition ,
Die Blocklänge der beiden Teile des HS-SCCHs beträgt nach derzeitigem Stand 8 Bit für den ersten Teil, oder falls die Endbits (Tail Bits) miteingeschlossen werden 16 Bit, 29 Bit für den zweiten Teil, oder falls auch die Endbits (Tail Bits) miteingeschlossen werden 37 Bits. Da die Spezifikation noch im Fluss ist, können sich aber durch Veränderungen an verschiedenen Parametern auch andere Blocklängen ergeben. Des weiteren kommen auch noch die Faltungscodes mit der Rate h oder 1/3 in Frage. Insbesondere die folgenden Ratenanpassungen sind relevant:The block length of the two parts of the HS-SCCH is currently 8 bits for the first part, or if the end bits (tail bits) are included 16 bits, 29 bits for the second part, or if the end bits (tail bits) are also included become 37 bits. Since the specification is still in flow, changes in various parameters can also result in other block lengths. Furthermore, the convolutional codes with the rate h or 1/3 can also be used. The following rate adjustments are particularly relevant:
a) 32 auf 40 (mit Code-Rate R = 1/2), oder b) 48 auf 40 (mit Code-Rate R = 1/3), und c) 74 auf 80 (mit Code-Rate R = 1/2), oder d) 111 auf 80 (mit Code-Rate R = 1/3).a) 32 on 40 (with code rate R = 1/2), or b) 48 on 40 (with code rate R = 1/3), and c) 74 on 80 (with code rate R = 1 / 2), or d) 111 to 80 (with code rate R = 1/3).
Vorgehen zur Bestimmung von Punktierungs- und RepetierungsmusternProcedure for determining puncturing and repeating patterns
Im Überblick lässt sich also feststellen, dass bei einer Ratenanpassung eine Punktierung und/ oder Repetierung oder
auch eine Repetierung alleine so vorgenommen wird, dass die gesamte Bitfehlerrate (BER) minimal wird. Dazu sei zunächst die Situation in Fig.3 betrachtet: Hier ist die Bitfehlerrate für die einzelnen Bits in einem Rahmen (Frame) aufgetragen. Die Abszisse gibt den Index des jeweiligen Bits " (Frame Index)" wieder. Man sieht deutlich, dass die ersten und letzten Bits eine geringere Bitfehlerrate aufweisen. Dies lässt sich in Zusammenhang mit dem Schema für Faltungscodes aus Figur 5 verstehen: Für die Übertragung werden durch den Faltungscode jeweils Bits aus den verschiedenenAt a glance, it can be seen that a puncturing and / or repetition or repetition is also carried out in such a way that the total bit error rate (BER) is minimal. Let us first consider the situation in FIG. 3: The bit error rate for the individual bits is plotted in a frame. The abscissa represents the index of the respective bit "(frame index)". It can clearly be seen that the first and last bits have a lower bit error rate. This can be understood in connection with the scheme for convolutional codes from FIG. 5: For the transmission, bits from the different are used for the convolutional code
Verzögerungsstufen D des Dekodierers miteinander verknüpft. Die ersten Bits werden z.B. auch mit den ihnen vorhergehenden Bits, also eigentlich nicht existierenden Bits verknüpft. Diese "nicht existierenden Bits" werden dann auf einen bekannten Wert, meist Null gesetzt. Dies ist dem Empfänger bekannt, der nun seinerseits mit diesen auf Null gesetzten Bits die ersten übertragenen Bits decodiert. Eine Decodierung ist hier sehr sicher, da ein Teil der Bits mit absoluter Sicherheit bekannt ist. Dasselbe trifft zu für die letzten Bits: In Anschluss an sie werden wieder künstlich Bits, die sogenannten End- Bits oder "tail Bits", in die Verzögerungsgliedern D des Decodierers eingefügt werden; diese End-Bits werden wiederum auf einen bekannten Wert, meist Null gesetzt.Delay stages D of the decoder linked together. The first bits are e.g. also linked to the bits preceding them, that is, bits that actually do not exist. These "non-existent bits" are then set to a known value, usually zero. This is known to the receiver, who in turn decodes the first transmitted bits with these bits set to zero. Decoding is very safe here, since some of the bits are known with absolute certainty. The same applies to the last bits: Following them, bits, the so-called end bits or “tail bits”, are again artificially inserted into the delay elements D of the decoder; these end bits are in turn set to a known value, usually zero.
Im mittleren Bereich werden Bits miteinander verknüpft, deren Wert am Empfänger nicht mit Sicherheit bekannt ist. Somit ist bei der Decodierung die Wahrscheinlichkeit größer, das ein Fehler auftritt, was sich in einer höheren Bitfehlerrate äußert.In the middle area bits are linked with each other, the value of which is not known with certainty at the receiver. Decoding therefore increases the likelihood that an error will occur, which is reflected in a higher bit error rate.
Die Hüllkurve der Bitfehlerrate gegenüber der Rahmennummer ist also hier bei gleichmäßiger Repetierung oder Punktierung zunächst einmal nach oben konvexartig ausgeformt . Es gibt nun verschiedene Möglichkeiten, wie sich die Hüllkurve verändert, wenn die Punktierung (oder Repetierung) verändert wird:
a)die Hüllkurve stellt im Wesentlichen eine Horizontale darThe envelope curve of the bit error rate compared to the frame number is here initially shaped convexly with even repetition or puncturing. There are now several options for how the envelope changes when the puncturing (or repetition) is changed: a) the envelope curve essentially represents a horizontal
(oder nähert sich ihr an) :(or approaches it):
Das bedeutet, dass die Bitfehlerrate für alle Bits innerhalb eines Rahmens im Wesentlichen gleich ist. Dies geschieht beispielsweise durch eine Punktierung am Rande oder eineThis means that the bit error rate is essentially the same for all bits within a frame. This is done, for example, by dotting on the edge or
Repetierung in der Mitte, oder beides, auch abhängig davon, auf welche Rate angepasst werden soll. b) konkavartige Ausbildung der HüllkurveRepetition in the middle, or both, depending on the rate to be adjusted. b) concave design of the envelope
In diesem Falle wird beispielsweise am Rand so stark punktiert, dass die Bits im mittleren Bereich des Rahmens eine geringere Bitfehlerrate aufweisen. Dieser Sachverhalt ist in Figur 2 zu sehen. c) die Bitfehlerrate ist unregelmäßig gegenüber derIn this case, the edge is punctured so strongly, for example, that the bits in the central area of the frame have a lower bit error rate. This fact can be seen in Figure 2. c) the bit error rate is irregular compared to the
Rahmennummer verteilt. Dieser Fall wird aus weiter unten ausgeführten Gründen hier nicht näher betrachtet.Frame number distributed. This case is not considered here for reasons explained below.
Die folgenden Ausführungen beziehen sich auf das Punktieren. Analoge Überlegungen können auch für das Repetieren angestellt werden oder auch für Kombinationen aus Repetieren und Punktieren:The following explanations relate to puncturing. Analogous considerations can also be made for repeating or for combinations of repeating and puncturing:
Es gibt nun sehr viele Möglichkeiten, wie einzelne Bits punktiert werden können. Möchte man beispielsweise, wie bereits weiter oben ausgeführt, alle möglichenThere are now many ways in which individual bits can be punctured. For example, as already mentioned above, one would like all sorts
Punktierungsmuster zur Punktierung von 48 Bit auf 40 Bit untersuchen, so wären das 48!/(8!*40!) = 377348994 verschiedene Möglichkeiten, die in vertretbarer Zeit nicht alle untersucht werden können.Examine puncturing patterns for puncturing from 48 bits to 40 bits, that would be 48! / (8! * 40!) = 377348994 different possibilities, which cannot all be examined in a reasonable time.
Ziel ist es daher, von vorneherein nicht sinnvolle Möglichkeiten zu eliminieren. Dies geschieht nicht über beliebiges Repetieren und/oder Punktieren, weshalb Alternative c) hier nicht weiter betrachtet wird.The aim is therefore to eliminate opportunities that are not sensible from the outset. This is not done by repeating and / or puncturing, which is why alternative c) is not considered further here.
Ein Ordnungsprinzip ist in Figur 7 gezeigt. Für die ersten 9 Inputbits 1-9 sowie die letzten 9 Inputbits n-8 bis n wird
das Punktierungsniveau für die jeweilige Ausgangsstufe Output 0, Output χl, Output 2 aufgezeigt. Die Ausgangstufen selbst sind, wie in Fig. 5 zu sehen, die jeweilige Ausgangsfunktion, die aus allen, dem momentan betrachteten Inputbit zeitlich vorhergehenden Inputbits durch Verknüpfung gebildet wird.An ordering principle is shown in FIG. 7. For the first 9 input bits 1-9 and the last 9 input bits n-8 to n the puncturing level for the respective output stage Output 0, Output χ l, Output 2 is shown. The output stages themselves, as can be seen in FIG. 5, are the respective output functions which are formed from all input bits preceding the input bit under consideration by linking.
Hier werden die Ausgangsstufen von Fig. 5b) betrachtet, also den Rate 1/3 Faltungsencoder (convolutional encoder) . Für ein Punktieren mit möglichst geringem Informationsverlust bietet es sich an, zunächst Bits wegzulassen (Punktieren) , die wenig Einfluss auf andere Bits haben. DasThe output stages of FIG. 5b) are considered here, that is to say the rate 1/3 convolutional encoder. For puncturing with as little information loss as possible, it is advisable to omit bits (puncturing) that have little influence on other bits. The
Punktierungsniveau gibt also an, wie viele Bits durch eine Punktierung des betrachteten Bits beeinflusst werden.Puncturing level therefore indicates how many bits are affected by puncturing the considered bit.
Eine beispielhafte Vorgehensweise für das Weglassen oder Punktieren von Bits ist in Figur 8 gezeigt.An exemplary procedure for omitting or puncturing bits is shown in FIG. 8.
In der ersten Spalte sind wieder die ersten 9 Inputbits 1-9 angegeben, sowie die letzten 9 Inputbits n-8 bis n. In den folgenden Spalten sind die Bitnummern der von der Punktierung betroffenen Informationsbits, also Informationsbits oder Eingangsbits, für die jeweiligeThe first 9 input bits 1-9 and the last 9 input bits n-8 to n are specified in the first column. In the following columns, the bit numbers of the information bits affected by the puncturing, i.e. information bits or input bits, are for the respective one
Ausgangsstufe Output 0, Output 1 und Output 2 gezeigt. Die Tabellenfelder sind - wie schon in Fig.7 - mit steigender Anzahl der beeinflussten Informationsbits zunehmend dunkler hinterlegt. Die zu den hellen Tabellenfeldern gehörenden Bits sind also Kandidaten für das Punktieren.Output stage Output 0, Output 1 and Output 2 shown. As in Fig. 7, the table fields have an increasingly dark background as the number of information bits affected increases. The bits belonging to the bright table fields are therefore candidates for puncturing.
In Figur 9 ist eine Tabelle aufgeführt, in der die wichtigen Größen bei Punktierung in der Nähe der Enden, also Punktierung der ersten und letzten Bits, beleuchtet werden. Es werden n Eingangsbits (Informationsbits) und k kodierte Bits (Bits an der Ausgangsstufe, Ausgangsbits) betrachtet. In der ersten Spalte ist die Anzahl der punktierten Ausgangsbits (# punct bits) angegeben, in der letzten Spalte (Kumulative) die Anzahl der davon betroffenen Informationsbits am Eingang, wobei Eingangsbits, die mehrfach betroffen sind, also durch die Punktierung von mehreren Ausgangsbits, auch entsprechend mehrfach gezählt werden.
In der zweiten Spalte ist unter Sequenz angegeben, welches Ausgangsbit (Bitnummer) in diesem Schritt punktiert wurde. Die Punktierung erfolgt dabei, beginnend mit den am wenigsten wichtigen Bits in der ersten Zeile, hin zu den folgenden Bits in den folgenden Zeilen. Das Gesamt-Punktierungsmuster für z.B. 7 zu punktierende Bits ergibt sich somit aus den in Spalte 2 in den Zeile 1 bis 7 angegebenen Bits, also den Bits 1, k, 4, k-4, k-6, 2, k-1. Dieses Muster umfasst also die Bits 1, 2, 4, k-6, k-4, k-1, k. Oberhalb der ersten Zeile befindet sich die Indizierung für die ersten Informationsbits 1-9 sowie die letzten Informationsbits k-8 bis k. Aus Platzgründe wird statt k-8 nur -8 usw. geschrieben. Die Einträge in den Spalten unter der Indizierung der Informationsbits geben an, wie stark das betreffende Informationsbit durch die Punktierung derA table is shown in FIG. 9, in which the important variables when puncturing near the ends, ie puncturing the first and last bits, are illuminated. N input bits (information bits) and k coded bits (bits at the output stage, output bits) are considered. The first column shows the number of punctured output bits (# punct bits), the last column (cumulative) the number of information bits affected at the input, whereby input bits that are affected several times, i.e. by puncturing several output bits, also be counted accordingly several times. The second column under Sequence indicates which output bit (bit number) was punctured in this step. The puncturing is done, starting with the least important bits in the first line, up to the following bits in the following lines. The total puncturing pattern for, for example, 7 bits to be punctured results from the bits specified in column 2 in rows 1 to 7, that is to say bits 1, k, 4, k-4, k-6, 2, k-1. This pattern thus comprises bits 1, 2, 4, k-6, k-4, k-1, k. Above the first line is the indexing for the first information bits 1-9 and the last information bits k-8 to k. For space reasons, only -8 etc. is written instead of k-8. The entries in the columns below the indexing of the information bits indicate how strong the information bit in question is by puncturing the
Ausgangsbits, die in der 2. Spalte bis zur jeweiligen Zeile angegeben sind und also punktiert werden, betroffen wird. Das heißt, wie viele der punktierten Ausgangsbits waren mit diesem Informationsbit verknüpft. Das ist ein Maß dafür, wie stark das betreffende Informationsbit durch die Punktierung geschwächt wurde.Output bits that are specified in the 2nd column up to the respective line and are therefore punctured are affected. That is, how many of the punctured output bits were associated with this information bit. This is a measure of how much the information bit in question has been weakened by the puncturing.
In der letzten Spalte (Kumulative) ist schließlich die Summe dieser Beeinträchtigungen aufgeführt. Sie wird hier kumulativen Punktierungsstärke genannt.The last column (cumulative) finally shows the sum of these impairments. It is called the cumulative puncturing strength here.
Die Spalte Mittelwert gibt das Verhältnis V der Summe der letzten Spalte beteilt durch die Anzahl der betroffenen Informationsbits an. Beispielsweise ergibt sich für 6 punktierte Bits V= (2+1+1+1+1) / (1+1+1+1+1) =1,2The column mean indicates the ratio V of the sum of the last column divided by the number of information bits concerned. For example, for 6 punctured bits, V = (2 + 1 + 1 + 1 + 1) / (1 + 1 + 1 + 1 + 1) = 1.2
Die mittlere Punktierungsrate (Mittl. P-Rate) ist die Spalte "Mittelwert" geteilt durch 18, die Gesamtzahl der pro Informationsbit bei der Encodierung auftretenden "exclusiv oder" -Verknüpfungen. Eine Vorgehensweise, um eine beliebige Anzahl von Bits zu punktieren, besteht darin, Tabellen analog den oben genannten anzufertigen. Für Rate 1/3 und die betrachteten Polynome des
Faltungskodierers können die gezeigten Tabellen verwendet werden. Bei anderen Kodierungsraten und/oder anderen Polynomen können die Tabellen leicht analog bestimmt werden. Mit Hilfe dieser Tabellen legt man dann eine Punktierungsreihenfolge fest, wo zuerst solche Ausgangsbits punktiert werden, die nur einen geringen Einfluss auf die kumulativen Punktierungsstärke haben. Gibt es dabei mehrere Alternative, so werden bevorzugt solche Bits punktiert, welche das Maximum der Punktierungsstärke der einzelnen Bits minimieren.The mean puncturing rate (mean P-rate) is the column "mean value" divided by 18, the total number of "exclusive or" links occurring per information bit during the encoding. One way to puncture any number of bits is to make tables analogous to those mentioned above. For rate 1/3 and the polynomials considered Convolutional encoder, the tables shown can be used. With other coding rates and / or other polynomials, the tables can easily be determined analogously. With the help of these tables, a puncturing order is then determined, where those output bits are first punctured which have only a minor influence on the cumulative puncturing strength. If there are several alternatives, then bits are preferably punctured which minimize the maximum of the puncturing strength of the individual bits.
Für höhere Anzahl zu punktierender Bits und/oder größeren Blocklängen muss i. d. R. die Information aus den Tabellen mit der Idee, möglichst gleichverteilt über den gesamten Block zu punktieren, kombiniert werden. Es bietet sich dann an, im mittleren Teil zusätzlich gezielt Bits zu punktieren, die vom Generatorpolynom mit den wenigsten Potenzen, d.h. mit den wenigsten Verknüpfungen generiert werden. Gleichzeitig ist jedoch darauf zu achten, dass die Gesamtverteilung der Punktierungsstärke im mittleren Bereich des Rahmens keine deutlichen Überhöhungen aufweist.For a higher number of bits to be punctured and / or longer block lengths, i. d. As a rule, the information from the tables can be combined with the idea of puncturing the entire block as evenly as possible. It is then advisable to puncture additional bits in the middle part that are generated by the generator polynomial with the fewest powers, i.e. are generated with the fewest links. At the same time, however, care must be taken to ensure that the overall distribution of the puncturing strength in the central region of the frame does not show any significant increases.
Für Repetierung gilt entsprechendes, jeweils mit umgekehrtem Vorzeichen. Das heißt, dass Bits die gemäß der Heuristik zuerst punktiert würden nun zuletzt repetiert werden und dass generell zuerst eine gleichmäßige Repetierung im Mittelteil durchgeführt wird, bevorzugt von den Polynomen mit den meisten Verknüpfungen. Danach werden am Rand solche Bits repetiert, die (bei Punktierung) einen möglichst großen Einfluss auf die kumulativen Punktierungsstärke haben.The same applies to repetition, in each case with the opposite sign. This means that bits that would be punctured first according to the heuristic are now repeated last and that generally a uniform repetition is carried out first in the middle section, preferably by the polynomials with the most links. Then those bits are repeated on the edge that (in the case of puncturing) have the greatest possible influence on the cumulative puncturing strength.
Im Unterschied zu Verfahren, bei denen die Punktierungsrate zu den Enden hin stetig zunimmt, . führt dies zu einem an sich ein unerwarteten Ergebnis, da man erwarten würde, dass die Zuverlässigkeit der kodierten Bits zu den Enden hin stetig zunimmt. Es zeigt sich aber bei genauer Betrachtung der Polynome für den verwendeten Faltungskodierer, dass diese Annahme überraschenderweise nicht stimmt. Durch die
spezifischen Eigenschaften der Polynome ergeben sich, insbesondere am Ende, kodierte Bits, die weniger effektiv zur Kodierung beitragen. Diese Bits treten aber nicht zum Ende hin in stetig zunehmendem Maße auf, sondern sind etwas unregelmäßig verteilt. Indem man das Punktierungsmuster speziell auf diese "schwachen" Bits hin ausrichtet, also bevorzugt diese Bits punktiert, kann man die Kodierung noch weiter verbessern.In contrast to methods in which the puncturing rate increases steadily towards the ends,. this leads to an unexpected result in itself, since one would expect the reliability of the coded bits to increase steadily towards the ends. However, a closer look at the polynomials for the convolutional encoder used shows that this assumption is surprisingly incorrect. Through the Specific properties of the polynomials, especially at the end, result in coded bits that contribute less effectively to coding. However, these bits do not appear at the end in ever increasing proportions, but are somewhat irregularly distributed. By aligning the puncturing pattern specifically to these “weak” bits, ie preferably puncturing these bits, the coding can be further improved.
Die Erfindung bedient sich also eines heuristisches Verfahrens, das erlaubt:The invention therefore uses a heuristic method which allows:
• mittels einer neu definierten, heuristischen Metrik die Auswirkung der Punktierung / Repetierung eines codierten Bits auf die zugrunde liegenden Informationsbits näherungsweise zu ermitteln, • gezielt und für jeden Faltungscode spezifisch Bits auszuwählen, die punktiert bzw. repetiert werden sollen,• approximately determine the effect of puncturing / repetition of a coded bit on the underlying information bits using a newly defined, heuristic metric, • selectively and specifically select bits for each convolutional code that are to be punctured or repeated,
• die Anzahl der zu untersuchenden Ratenanpassungsmuster stark einzuschränken.• severely restrict the number of rate adjustment patterns to be examined.
Nachdem, basierend auf diesem Verfahren, einige wenige erfolgversprechende Ratenanpassungsmuster ermittelt worden sind, werden diese anhand der Rahmenfehlerrate und der Bitfehlerrate jedes einzelnen Informationsbits (im Folgenden als Bitfehlerratenverteilung bezeichnet) verglichen. Iterativ kann dann, basierend auf der entwickelten Metrik, dasAfter a few promising rate adaptation patterns have been determined based on this method, these are compared on the basis of the frame error rate and the bit error rate of each individual information bit (hereinafter referred to as bit error rate distribution). Iteratively, based on the developed metric, the
Ratenanpassungsmuster weiter verfeinert und optimiert werden. Als Startinformation dient die Bitfehlerratenverteilung des unpunktierten / nicht-repetierten BlocksRate adjustment patterns are further refined and optimized. The bit error rate distribution of the unpunctured / non-repeated block serves as start information
Als heuristische Metrik wird die Punktierungsstärke Si proThe puncturing strength Si pro is used as a heuristic metric
Bit Informationsbit i definiert als die Anzahl der durch die Punktierung nicht übertragenen Verknüpfungen eines Informationsbits mit den jweiligen Ausgangsbits des Encoders. Si ist daher für Punktierung positiv. Für Repetierung wird für jede n-fach übertragene Verknüpfung Si, k = n-1 definiert.
Smax ist die maximal mögliche Punktierungsstärke, gegeben durch die codespezifische Gesamtzahl der bestehenden Verknüpfungen :Bit information bit i defines the number of links between an information bit and the respective output bits of the encoder that are not transmitted by the puncturing. Si is therefore positive for puncturing. For repetition, Si, k = n-1 is defined for each link transmitted n times. S m a x is the maximum possible puncturing strength, given by the code-specific total number of existing links:
Ein gutes Ratenanpassungsmuster wird nach folgenden Gütekriterien gesucht:A good rate adjustment pattern is sought according to the following quality criteria:
1. Wähle die kumulative Punktierungsstärke nahe beim möglichen Minimum1. Choose the cumulative punctuation strength close to the possible minimum
2. Sorge für eine möglichst gleichverteilte Bitfehlerrate über allen Informationsbits2. Make sure the bit error rate is distributed as evenly as possible over all information bits
Für die Auswahl der zu punktierenden/repetierenden Bits werden basierend auf den Generatorpolynomen des Codes, für den Anfang und das Ende des kodierten Blocks Tabellen aufgestellt, welche die kumulative Punktierungsstärke pro codiertem Bit, sowie die betroffenen Informationsbits darstellen. Damit lassen sich die codierten Bits in sog. Klassen der kumulativen Punktierungsstärke einteilen.For the selection of the bits to be punctured / repeated, tables are set up based on the generator polynomials of the code, for the beginning and the end of the coded block, which represent the cumulative puncturing strength per coded bit, as well as the information bits concerned. The coded bits can thus be divided into so-called classes of cumulative puncturing strength.
Nach dem obigen Gütekriterium werde nun anhand dieser Tabellen zu punktierende / zu repetierende Bits so ausgesucht, dass zunächst für diejenigen Informationsbits, die eine niedrigere Bitfehlerrate zeigen als andere Bits, die Punktierungsstärke erhöht wird und gleichzeitig die kumulative Punktierungsstärke gering gehalten wird. Die Punktierungsstärke wird also umgekehrt proportional zur Bitfehlerrate des Informationsbits gewählt und zudem werden gezielt Bits ausgesucht, die wenig zur kumulativen Punktierungsstärke beitragen.According to the above quality criterion, bits to be punctured / repeated are selected on the basis of these tables in such a way that for those information bits that show a lower bit error rate than other bits, the puncturing strength is increased and at the same time the cumulative puncturing strength is kept low. The puncturing strength is therefore chosen to be inversely proportional to the bit error rate of the information bit and, in addition, bits are selected which contribute little to the cumulative puncturing strength.
Dieses Verfahren wird danach, basierend auf dem ersten ermittelten Muster iterativ angewendet , so dass schon nach wenigen Simulationen ein für den jeweiligen Faltungscode spezifisch optimiertes Ratenanpassungspattern gefunden werden kann .
In den Fig. 11 und 12 sind verschiedene Möglichkeiten für erfindungsgemäße Punktierungsmuster dargestellt, wobei jeweils die Nummern der zu punktierenden Bits (die Zählung beginnt bei 1) angegeben sind. Die Tabellen sind für unterschiedliche Anzahlen von zu übertragendenThis method is then applied iteratively based on the first determined pattern, so that after just a few simulations, a rate adjustment pattern specifically optimized for the respective convolution code can be found. 11 and 12 show different possibilities for puncturing patterns according to the invention, the numbers of the bits to be punctured (the counting starts at 1). The tables are for different numbers of to be transferred
Informationsbits und unterschiedliche Anzahlen von nach der Ratenanpassung zu übertragende Bits angegeben.Information bits and different numbers of bits to be transmitted after the rate adjustment are specified.
In Fig. 3 ist beispielhaft der Verlauf der Bitfehlerrate für die einzelnen übertragenen Bits eines Datenblocks in3 shows an example of the course of the bit error rate for the individual transmitted bits of a data block in
Abhängigkeit von ihrer Position oder Lage in dem Datenblock für eine herkömmliche Punktierung mit einem regelmäßigen Punktierungsmuster aufgetragen.Dependent on their position in the data block for conventional puncturing with a regular puncturing pattern.
In Fig. 2 ist dieser Verlauf für eine erfindungsgemäße2, this course is for an inventive
Punktierung mit dem Muster Nummer 33 aus Fig. 12, welches sich in Simulationen als besonders geeignet herausgestellt hat, gezeigt. Aus Fig. 2 ist ersichtlich, dass durch Verwendung des erfindungsgemäßen Punktierungsmusters, ein gleichmäßigerer Verlauf der Bitfehlerrate über den gesamten Datenblock erzielt werden kann. Da im mittleren Bereich des Datenblocks gegenüber der herkömmlichen Vorgehensweise weniger häufig punktiert wird, kann dort eine geringere Fehlerwahrscheinlichkeit erhalten werden. Tatsächlich steigt die Fehlerrate nun zu den Enden hin etwas an, was auf den ersten Blick ungünstig erscheinen könnte. Das resultiert aber daher, dass am Rand besonders viele "schwache" Bits sind, wie bereits oben ausgeführt, wo eine Punktierung recht günstig durchgeführt werden kann. In Fig. 4 ist für dieselben Fälle der Verlauf derDotting with pattern number 33 from FIG. 12, which has been found to be particularly suitable in simulations, is shown. It can be seen from FIG. 2 that by using the puncturing pattern according to the invention, a more uniform course of the bit error rate can be achieved over the entire data block. Since puncturing is less frequent in the middle area of the data block compared to the conventional procedure, a lower probability of error can be obtained there. In fact, the error rate now increases somewhat towards the ends, which at first glance might seem unfavorable. However, this results from the fact that there are a particularly large number of “weak” bits at the edge, as already explained above, where puncturing can be carried out quite cheaply. 4 is the course of the same for the same cases
Gesamtfehlerrate über den Verhältnis der Energie der übertragenen Bits zur Rauschleistungdichte aufgetragen. Aus Fig. 4 ist ersichtlich, dass mit Hilfe der Erfindung (untere Kurve, Kreise) eine gegenüber der herkömmlichen Vorgehensweise (obere Kurve, Kreuze) eine um ca. 0,2dB verbesserte Rahmenfehlerrate erzielt werden kann.
Ähnliche Verbesserungen lassen sich auch bei anderen Parametern erzielen. Beispielsweise zeigt die Fig. 6 den Verlauf der Bitfehlerrate für die einzelnen übertragenen Bits eines Datenblocks in Abhängigkeit von ihrer Position in dem Datenblock für eine herkömmliche Punktierung mit einem regelmäßigen Punktierungsmuster bei einer Kodierung mit Rate 1/3 und einer Punktierung von 8 Bit (48 auf 40 Bit) . Das entspricht einer Übertragung von 8 Input Bits. Fig. 10 zeigt die Verteilung, wenn statt dessen das Punktierungsmuster Nr. 3 aus Fig. 11 verwendet wird, welches sich in Simulationen ebenfalls als besonders geeignet herausgestellt hat. Man sieht, dass sich hier eine sehr ausgeglichene Verteilung ergibt. Auch hierbei ergibt sich eine Verbesserung um ca. 0,2dB (hierfür ist aber keine Kurve angefügt, da sie nicht weitere wesentliche Erkenntnisse bringt) .Total error rate plotted against the ratio of the energy of the transmitted bits to the noise power density. It can be seen from FIG. 4 that with the aid of the invention (lower curve, circles), a frame error rate which is improved by approximately 0.2 dB can be achieved compared to the conventional procedure (upper curve, crosses). Similar improvements can also be achieved with other parameters. For example, FIG. 6 shows the course of the bit error rate for the individual transmitted bits of a data block as a function of their position in the data block for conventional puncturing with a regular puncturing pattern with coding with rate 1/3 and puncturing 8 bits (48) 40 bit). This corresponds to a transmission of 8 input bits. FIG. 10 shows the distribution if, instead, the puncturing pattern No. 3 from FIG. 11 is used, which has also been found to be particularly suitable in simulations. You can see that there is a very balanced distribution here. Here, too, there is an improvement of approx. 0.2dB (however, no curve has been added for this, since it does not bring any further significant findings).
Die Figur 16 zeigt weitere bevorzugte Ausführungsbeispiele im Rahmen der Erfindung mit einer Punktierung von 14 von 54 Bits, wobei die Muster 3 und 4 die besten Ergebnisse erzielen.FIG. 16 shows further preferred exemplary embodiments in the context of the invention with a puncturing of 14 out of 54 bits, the patterns 3 and 4 achieving the best results.
Die Figuren 13, 14 und 15 zeigen bevorzugteFigures 13, 14 and 15 show preferred ones
Repetierungsmuster, welche auch durch Anwendung der in dieser Erfindung gezeigten Regeln gewonnen wurden.Repetition patterns that were also obtained using the rules shown in this invention.
Die vorliegende Erfindung wurde bisher anhand der Verwendung in einem Mobilfunksender beschrieben. Selbstverständlich kann die Erfindung jedoch auch auf Mobilfunkempfänger ausgedehnt werden, wo ein zur Anpassung der Datenrate auf oben beschriebene Art und Weise punktiertes bzw. repetiertes Signal entsprechend dem jeweils verwendeten Punktierungsbzw. Repetierungsmuster aufgearbeitet werden muss. Dabei werden in dem jeweiligen Empfänger für sendeseitig punktierte bzw. repetierte Bits zusätzliche Bits in den Empfangs- Bitstrom eingefügt bzw. zwei oder mehr Bits des Empfangs- Bitstroms zusammengefasst. Bei Einfügen von zusätzlichen Bits wird für diese gleichzeitig in Form einer sogenannten 'Soft Decision' -Information vermerkt, dass ihr Informationsgehalt
sehr unsicher ist. Die Verarbeitung des Empfangssignals kann in dem jeweiligen Empfänger sinngemäß in umgekehrter Reihenfolge zu Fig. 1 erfolgen.The present invention has so far been described in terms of use in a mobile radio transmitter. Of course, the invention can, however, also be extended to mobile radio receivers where a signal punctured or repeated in order to adapt the data rate in the manner described above corresponds to the puncturing or Repetition patterns must be worked up. In this case, additional bits are inserted into the received bit stream in the respective receiver for punctured or repeated bits on the transmission side, or two or more bits of the received bit stream are combined. When additional bits are inserted, this is noted in the form of a so-called 'soft decision' information that their information content is very insecure. The processing of the received signal can take place in the respective receiver in the reverse order to FIG. 1.
Weitere unter Verwendung des oben erläuterten Vorgehens ermittelte RatenanpassungsmusterFurther rate adjustment patterns determined using the procedure explained above
Die bisher angegebene Punktierungsmuster konzentrieren sich überwiegend auf eine Punktierung in den Endbereichen oder/und eine Repetierung im mittleren Bereich.The previously specified puncturing patterns mainly focus on puncturing in the end areas and / or repeating in the middle area.
Die nun beschriebenen weiteren Ratenanpassungsmuster wurden mit dem in dem vorher erläuterten Verfahren für verschiedene Vorschläge zur HS-SCCH Codierung in der Standardisierung ermittelt. Angegeben sind jeweils die zu punktierenden bzw. zu repetierenden Bits. Die Bits werden von 1 bis N durchnu meriert . Das bevorzugte Muster wird jeweils zuerst genannt, die weiteren Muster weisen aber stets ähnlich günstige Eigenschaften auf. Die Figur 17, in der diese weiteren Punktierungsmuster aufgeführt sind, stellt also eine Ergänzung zur Figur 12 dar. Entsprechend sind in den Figuren 18- 24 Punktierungsmuster für verschiedene Ausgangsbitraten dargestellt und in Fig. 25 weitere Repetierungsmuster.The further rate adjustment patterns now described were determined using the method explained above for various proposals for HS-SCCH coding in the standardization. The bits to be punctured or repeated are given in each case. The bits are numbered from 1 to N. The preferred pattern is mentioned first, but the other patterns always have similarly favorable properties. FIG. 17, in which these further puncturing patterns are listed, thus represents a supplement to FIG. 12. Correspondingly, puncturing patterns for different output bit rates are shown in FIGS. 18-24 and further repetition patterns in FIG. 25.
Approximation von bevorzugten Ratenanpassungsmustern unter Verwendung von bereits in UMTS spezifizeirter Komponenten.Approximation of preferred rate adjustment patterns using components already specified in UMTS.
Die bisher gezeigten Muster haben das Ziel, eine möglichst optimale Auswahl von zu punktierenden bzw. zu repetierenden Bits vorzuschlagen, wobei ansonsten keine weiteren Einschränkungen bezüglich der Muster vorausgesetzt werden. In praktischen Implementierungen kann es aber vorteilhaft sein, nur solche Muster zu betrachten, welche sich mit möglichst kleinen Änderungen an bestehenden Ratenanpassungsschaltungen implementieren lassen. Eine entsprechende
Ratenanpassungsvorschrift ist in der bereits erwähnten Spezifikation 25.212 v5.0.0 , Kap. 4.2.7 „Rate matching" (Ratenanpassung) beschrieben. Im folgenden wird der Teil dieser Vorschrift, der die eigentliche Punktierung oder Repetierung vornimmt und im Kapitel 4.2.7.5 „Rate matching pattern determination" (Bestimmung von Mustern zur Ratenanpassung) beschrieben ist, sinngemäß wiedergegeben. Auszug aus der Spezifikation:The patterns shown so far have the aim of proposing the best possible selection of bits to be punctured or repeated, with no other restrictions regarding the patterns being assumed. In practical implementations, however, it can be advantageous to consider only those patterns which can be implemented with the smallest possible changes to existing rate adjustment circuits. A corresponding Rate adjustment rule is in the already mentioned specification 25.212 v5.0.0, Chap. 4.2.7 "Rate matching" is described in the following. The part of this regulation which actually punctures or repeats and is described in Chapter 4.2.7.5 "Rate matching pattern determination" is described accordingly played. Extract from the specification:
Vor der Ratenanpassung werden die Bits mit xll,xl2,x ,...,xιX gekennzeichnet. Hierbei stellt i die Transportkanal Nummer dar, die Sequenz selbst ist in den Abschnitten 4.2.7.4 der Spezifikation für den Uplink und in 4.2.7.1. für den Downlink definiert. Als Uplink wird die Verbindung eines Kommunikationsgeräts zur Basisstation verstanden, als Downlink die Verbindung einer Basisstation zu einem Kommunikationsgerät .Before the rate adjustment, the bits are marked with x ll , x l2 , x, ..., x ιX . Here i represents the transport channel number, the sequence itself is in sections 4.2.7.4 of the specification for the uplink and in 4.2.7.1. defined for the downlink. The uplink is the connection of a communication device to the base station, the downlink is the connection of a base station to a communication device.
Die Regel zur Ratenanpassung ist in dem in Fig. ??? gezeigten Programmausschnitt wiedergegeben, welcher bei Erfüllen der Bedingung abläuft, dass eine Punktierung durchgeführt wird. Es wird zunächst eine Fehlerwert e auf einen Anfangswert gesetzt welcher zwischen dem ursprünglichen Fehlerwert und der gewünschten Punktierungsrate liegt. In einer Schleife mit dem Index m des momentan betrachteten Bits als Laufparameter wird bis zum Ende derThe rule for rate adjustment is in the ??? shown program section reproduced, which expires when the condition is met that puncturing is carried out. First an error value e is set to an initial value which lies between the original error value and the desired puncturing rate. In a loop with the index m of the currently considered bit as a running parameter, the
Sequenz, also bis zum Index XiSequence, i.e. up to the index Xi
Zunächst der Fehlerwert e auf e - emj.nus gesetzt, wobei eminus im Wesentlichen die Anzahl der zu punktierenden Bits darstellt. - Anschliessend wird überprüft, ob der Fehlerwert e <= 0 istFirst the error value e is set to e - e m j .nus , where e m inus essentially represents the number of bits to be punctured. - It is then checked whether the error value e <= 0
- In diesem Falle wird überprüft, ob das Bit mit dem Index m punktiert werden soll, wobei ein zu punktierendes Bit dann auf einen Wert δ gesetzt wird, der verschieden von 0 oder 1 ist.
Im Falle dass eine Repetierung stattfinden soll, findet ein im Wesentlichen analoger Vorgang statt, wobei dann ein repetiertes Bit direkt hinter das ursprüngliche Bit gesetzt wird. BitIn this case, it is checked whether the bit should be punctured with the index m, a bit to be punctured then being set to a value δ that is different from 0 or 1. In the event that repetition is to take place, an essentially analogous process takes place, in which case a repeated bit is set directly after the original bit. bit
Bei einer Punktierung werden dann im weiteren Verlauf dann die Bits die auf den Wert δ gesetzt wurden entfernt, so dass diese Bits also punktiert werden.When puncturing, the bits which have been set to the value δ are then removed in the further course, so that these bits are punctured.
Die Parameter ∑i , eιni, epιUS und eminUs werden jeweils so gewählt, dass die gewünschte Ratenanpassung zu erzielt werden kann. Es gilt dann im Wesentlichen epjus = X , eminus = Np, wobei ∑i , die Anzahl der Bits vor der Ratenanpassung bezeichnet und Np die Anzahl der zu punktierenden bzw. repetierenden Bits. eιni kann im Bereich zwischen 1 und epιus im Prinzip beliebig gewählt werden, wobei sich eine leichte Verschiebung des Musters ergibt, dies wird in gewissen Fällen (Ratenanpassung nach einem ersten Interleaving (Verschachteln) ) verwendet, um die Muster in verschiedenen Rahmen geeignet gegeneinander zu verschieben. Der Parameter i kennzeichnet in der Spezifikation unterschiedliche Transportkanäle. Dieser Parameter ist aber im vorliegenden Fall irrelevant wird daher weggelassen. Nachfolgend werden Möglichkeiten gezeigt, wie man mittels diesem bereits vorhandenen Rate Matching Algorithmus bevorzugteThe parameters ∑i, eι n i, e p ι US and e m i nU s are each selected so that the desired rate adjustment can be achieved. The following then essentially applies: e p j us = X, e m i nus = N p , where ∑i denotes the number of bits before the rate adjustment and N p the number of bits to be punctured or repeated. eι n i can in principle be chosen arbitrarily in the range between 1 and e p ι us , whereby there is a slight shift in the pattern, this is used in certain cases (rate adjustment after a first interleaving (nesting)) to differentiate the pattern Suitable to move the frame against each other. The parameter i identifies different transport channels in the specification. However, this parameter is irrelevant in the present case and is therefore omitted. The following shows how you can use this rate matching algorithm
Ratenanpassungsmuster für kurze Blockgrößen bei Faltungscodes approximieren kann. Dabei wird unter der Randbedingung dieses Algorithmus versucht, bei Punktierung bevorzugt Bits an den Enden des Codeblocks zu verwenden und bei Repetierung vor allem Bits aus der Mitte des Codeblocks. Ein Kernaspekt dieses Ausführungsbeispiels besteht darin, den Parameter eini nicht auf den Wertebereich von 1 bis epιUΞ zu beschränken, sondern statt dessen in vorteilhafter Weise außerhalb dieses Bereiches zu wählen. Eine solche Wahl mag auf den ersten Blick widersinnig erscheinen, weil dann nicht mehr sichergestellt ist, dass die gewünschte Anzahl von Bits punktiert bzw. repetiert wird. Durch eine vorteilhafte
Anpassung der Werte von epιus und eminus kann aber erzielt werden, dass dennoch die gewünschte Anzahl erreicht wird.Rate matching patterns for short block sizes in convolutional codes can approximate. Under the boundary condition of this algorithm, an attempt is made to use bits at the ends of the code block when puncturing, and especially bits from the middle of the code block when repeating. A key aspect of this embodiment is the parameter i ei n is not to be limited to the range of values from 1 to p e ι UΞ, but to select instead in an advantageous manner outside this range. At first glance, such a choice may seem contradictory, because then it is no longer ensured that the desired number of bits is punctured or repeated. By an advantageous Adjusting the values of e p ι us and e m inus can, however, be achieved so that the desired number is nevertheless achieved.
Es sei :It is:
∑i : Anzahl der Bits vor Rate Matching∑i: number of bits before rate matching
Np : Anzahl zu punktierender / repetierender Bits (der Index p in Np weist auf die Anzahl der zu punktierenden Bits hin, Np kann aber auch die Anzahl der zu repetierenden Bits bezeichnen)N p : number of bits to be punctured / repeated (the index p in N p indicates the number of bits to be punctured, but N p can also denote the number of bits to be repeated)
Um die Anwendung des Rate Matching Algorithmus und damit die Ratenanpassungsmuster vollständig zu spezifizieren, müssen jeweils der Fehleranfangswert θini , das Fehlerinkrement eplus und das Fehlerdekrement eminus angegeben werden, da dieseIn order to specify the use of the rate matching algorithm and thus the rate matching pattern complete, each of the error initial value θi n i, e plus the Fehlerinkrement and Fehlerdekrement e m i nus must be specified, since these
Parameter das Ratenanpassungsmuster vollständig beschreiben.Parameters fully describe the rate adjustment pattern.
Im folgenden wird die Approximation von bevorzugten Ratenanpassungsmustern mittels dem im Release 99 UMTS Rate- Matching aufgeführten Algorithmus dargestellt.In the following, the approximation of preferred rate adjustment patterns is presented using the algorithm listed in Release 99 UMTS Rate Matching.
Nachfolgend werden Möglichkeiten gezeigt, wie mittels des bereits im Standard vorhandenen Rate Matching Algorithmus (Datenraten-Anpassungsalgorithmus ) bevorzugte Ratenanpassungsmuster für kurze Blockgrößen bei Faltungscodes approximiert werden können. Dabei wird unter der Randbedingung dieses Algorithmus versucht, bei Punktierung bevorzugt Bits an den Enden des Codeblocks zu verwenden und bei Repetierung vor allem Bits aus der Mitte des Codeblocks.In the following, possibilities are shown how preferred rate adaptation patterns for short block sizes for convolutional codes can be approximated by means of the rate matching algorithm (data rate adaptation algorithm) already present in the standard. Under the boundary condition of this algorithm, an attempt is made to use bits at the ends of the code block when puncturing, and especially bits from the middle of the code block when repeating.
Punktierungdotting
Die Parameter des Rate Matching Algorithmus werden so gewählt, dass die ersten N0 Bits am Beginn des Codeblock punktiert werden, dazu muss geltenThe parameters of the rate matching algorithm are chosen so that the first N 0 bits are punctured at the beginning of the code block
0 • ™» " e Plus ) < eini ≤ ^0 • «»*». " (#0 " l) ' β plus ( 1 >
Als weiteres Kriterium ist vorgesehen, dass auch das letzte Bit des Blocks punktiert wird, und zwar gemäß folgender Bedingung : 0 • ™ » " e P lus) < e ini ≤ ^ 0 • «» * ». " (# 0 "l ) 'β plus ( 1> Another criterion is that the last bit of the block is also punctured, according to the following condition:
(N0 - l)- (emam - epba )< em (2)(N 0 - l) - (e mam - e pba ) <e m (2)
In diesem Fall wird nämlich der Wert der Fehlervariablem e genau beim letzten Bit negativ werden, was bedingt, dass dann dieses Bit punktiert wird.In this case, the value of the error variable e will become negative precisely at the last bit, which means that this bit is then punctured.
Beide Kriterien werden z. B. durch folgende bevorzugte Wahl der Parameter erfüllt:Both criteria are e.g. B. fulfilled by the following preferred choice of parameters:
epba = X, - N0 ( 3 ) emmus = Np - N0 ( 4 )e pba = X, - N 0 (3) e mmus = N p - N 0 (4)
In diesen Formeln ist auch der Spezialfall, dass kein Bit am Beginn des Codeblocks punktiert werden soll (N0 = 0) , enthalten. Es gilt dann: θini = X± , epluε = ∑i , eminus = Np .These formulas also include the special case that no bit should be punctured at the beginning of the code block (N 0 = 0). The following then applies: θi n i = X ±, e pluε = ∑i, e m i nus = N p .
Die allgemeinen Implementierungen, welche θini nach den Formeln (1) bis (4) wählen, ergeben Ratenanpassungsmuster, welche sich von denjenigen der bevorzugten Parameterwahl nachThe general implementations, which choose θi n i according to formulas (1) to (4), result in rate adjustment patterns which differ from those of the preferred parameter selection
(3) bis (5) lediglich dadurch unterscheiden, dass von der (No + l)-ten bis zur (Np - l)-ten Punktierungsstelle der Index des zu punktierenden Bits um eins erniedrigt sein kann.Distinguish (3) to (5) only in that the index of the bit to be punctured can be decreased by one from the (No + l) th to the (N p - l) th puncturing point.
Für das Anwendungsbeispiel einer Punktierung von 48 Bit auf 40 Bit zeigt die Tabelle in Fig. 26 Punktierungsmuster nach der bevorzugten Parameterwahl bis zu No = 6. Die nicht fett gedruckten Punktierungsstellen können durch Variation des eιni Wertes gemäß (1) und (2) entweder teilweise oder vollständig um eins erniedrigt werden.
Die nachfolgend in Fig. 27 dargestellte Tabelle zeigt in gleicher Weise die resultierenden Muster für eine Punktierung von 111 Bit auf 80 Bit.For the application example of puncturing from 48 bits to 40 bits, the table in FIG. 26 shows puncturing patterns according to the preferred parameter selection up to No = 6. The puncturing points that are not printed in bold can be varied by varying the e ιn i value according to (1) and (2). either partially or completely decreased by one. The table shown below in FIG. 27 shows in the same way the resulting patterns for puncturing from 111 bits to 80 bits.
Obwohl sich auf diese Weise nicht die optimalenAlthough this is not the best
Punktierungsmuster, die bereits weiter oben besprochen wurden, erzielen lassen, so kann man mit diesem Verfahren doch eine gewisse Verbesserung der Übertragungsqualität gegenüber dem derzeitigen Stand der Spezifikation erreicht werden, wobei die vorzunehmenden Änderungen vergleichsweise gering sind.Puncturing patterns, which were already discussed above, can be achieved with this method, a certain improvement in the transmission quality compared to the current state of the specification can be achieved, the changes to be made are comparatively small.
Repetierungrepetition
Die Parameter des Rate Matching Algorithmus werden erfindungsgemäß so berechnet, dass ein maximaler Abstand des letzten zu repetierenden Bits vom Blockende garantiert wird, es muss also gelten: em = ^ + Xl - emma - N' p ' epba . (6) Weiterhin kann dermittleren Abstand zwischen zu repetierenden Bits RR vorgegeben werden. RR muss nicht eine ganze Zahl sein, sondern kann eine positive rationale Zahl sein. Es gilt dann:According to the invention, the parameters of the rate matching algorithm are calculated such that a maximum distance of the last bit to be repeated from the end of the block is guaranteed, so the following must apply: e m = ^ + X l - e mma - N ' p ' e pba . (6) Furthermore, the average distance between bits R R to be repeated can be specified. R R need not be an integer, but can be a positive rational number. The following then applies:
D e P' ,us R R = (7) minus Somit können epιus und emιnus unter der Randbedingung, dass ihr Quotient gerade RR ergibt und insgesamt Np Bits repetiert werden, frei gewählt werden.D e P ', us R R = (7) minus Thus, e p ι us and e mιnus can be freely chosen under the boundary condition that their quotient just results in R R and a total of N p bits are repeated.
Soll das erste zu repetierende Bit, genauer gesagt die Position des ersten zu repetierenden Bits (hier als £>ι bezeichnet) vorgegeben werden, so muss neben (6) geltenIf the first bit to be repeated, more precisely the position of the first bit to be repeated (here referred to as £> ι), is to be specified, the following must also apply next to (6)
wobei eminUs eine Ganzzahl sein sollte und bx ≤ ∑i - Np + 1 .
Eine bevorzugte Parameterwahl ergibt für e nunus = Hp . ( 9 ) where e m i nU s should be an integer and b x ≤ ∑i - N p + 1. A preferred choice of parameters gives e nunus = H p . ( 9 )
' plus = χ. -b, + 1 ( 10 )'plus = χ. -b, + 1 (10)
im = (b, - l)- Np + l ( ii)im = (b, - l) - N p + l (ii)
Mit dieser Wahl der Parameter ist die Position des ersten zu repetierenden Bits Ji, und es werden, wie gefordert, Np Bits repetiert .With this choice of parameters, the position of the first bit to be repeated is Ji, and N p bits are repeated as required.
Auch hier sind die entstehenden Repetierungsmuster nicht optimal, verglichen mit den bereits weiter oben besprochen Mustern. Trotzdem kann man mit diesem Verfahren doch eine gewisse Verbesserung der Übertragungsqualität gegenüber dem derzeitigen Stand der Spezifikation erreicht werden, wobei die vorzunehmenden Änderungen wiederum vergleichsweise gering sind. Durch eine günstige Wahl des Parameters b\ kann erreicht werden, dass die Repetierung nicht schon am Anfang beginnt. Am Anfang ist eine Repetierung nämlich nicht nötig, da die Bits am Anfang des Faltungsdecoders wie oben gezeigt ohnehin schon eine vergleichsweise niedrige Fehlerrate aufweisen. Viel nutzbringender ist es also, wenn die zu repetierenden Bits, wie durch dieses Verfahren geschehen eher zur Mitte hin konzentriert werden. Ein Nachteil dieses Ausführungsbeispiels ist allerdings, dass es nur am Anfang Repetierung vermeidet, während die Verhältnisse am Ende weit weniger positiv beeinflusst werden können. Das ist der Preis, der für die vereinfachte Implementierung gezahlt werden muss.Again, the resulting repetition patterns are not optimal compared to the patterns already discussed above. Nevertheless, a certain improvement in the transmission quality compared to the current state of the specification can be achieved with this method, the changes to be made again being comparatively small. A good choice of parameter b \ can ensure that repetition does not start at the beginning. Repetition is not necessary at the beginning, since the bits at the beginning of the convolution decoder already have a comparatively low error rate, as shown above. It is much more useful if the bits to be repeated, as is done by this method, are concentrated more towards the middle. A disadvantage of this exemplary embodiment, however, is that it avoids repetition only at the beginning, while the conditions can be influenced far less positively at the end. This is the price that has to be paid for the simplified implementation.
Selbstverständlich ist auch eine Kombination von oben genannten Kriterien bei der Auswahl eines Punktierungsmusters möglich. Beispielsweise kann man ein Muster aus zwei hier vorgestellten Mustern kombinieren, indem am Anfang der Anfang des einen Musters verwendet wird und am Ende das Ende des zweiten Musters. Des weiteren ist es unerheblich, wenn die Bits in einer veränderten Reihenfolge ausgegeben werden, und
gleichzeitig das Punktierungsmuster analog angepasst wird. Beispielsweise kann man die Reihenfolge der Polynome im Faltungskodierer vertauschen.
Of course, a combination of the above criteria is also possible when selecting a puncturing pattern. For example, you can combine a pattern from two patterns presented here, using the beginning of one pattern at the beginning and the end of the second pattern at the end. Furthermore, it is irrelevant if the bits are output in a different order, and at the same time the puncturing pattern is adjusted analogously. For example, the order of the polynomials in the convolutional encoder can be exchanged.