WO2001052424A1 - Method for effecting error protection during the transmission of a data bit stream - Google Patents

Method for effecting error protection during the transmission of a data bit stream Download PDF

Info

Publication number
WO2001052424A1
WO2001052424A1 PCT/DE2001/000022 DE0100022W WO0152424A1 WO 2001052424 A1 WO2001052424 A1 WO 2001052424A1 DE 0100022 W DE0100022 W DE 0100022W WO 0152424 A1 WO0152424 A1 WO 0152424A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
bits
bit stream
data bit
data
Prior art date
Application number
PCT/DE2001/000022
Other languages
German (de)
French (fr)
Inventor
Wen Xu
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Publication of WO2001052424A1 publication Critical patent/WO2001052424A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • H03M13/235Encoding of convolutional codes, e.g. methods or arrangements for parallel or block-wise encoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2903Methods and arrangements specifically for encoding, e.g. parallel encoding of a plurality of constituent codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3994Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using state pinning or decision forcing, i.e. the decoded sequence is forced through a particular trellis state or a particular set of trellis states or a particular decoded symbol
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4123Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing the return to a predetermined state
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes

Definitions

  • the invention relates to a method for error protection in the transmission of a data bit stream in a digital message transmission system, in which : in the case of channel coding, the data bit stream is coded in blocks using a recursive convolutional code. It also relates to a device for performing the method and a device for decoding a data bit stream transmitted using the method.
  • Such methods and devices are used, among other things, for the transmission of signals, such as data, voice, audio or video signals.
  • signals such as data, voice, audio or video signals.
  • An example of an area of application is in particular voice transmission in mobile radio networks.
  • a source encoder in this case a language encoder, broken down into various parameters by which temporal language sections can be described. These real-valued speech parameters are then quantized and thus represented by a certain bit combination. The speech parameter coded digitally in this way is then forwarded.
  • source-coded parameters or also source-coded coefficients, which are then passed on.
  • Other data signals to be transmitted e.g. SMS signals in the GSM standard are usually already available in digital form.
  • Convolutional codes are often used in the transmission systems to generate the redundant information during channel coding.
  • code bits are generated from the information bits in such a way that, according to certain rules specified by so-called generator or code polynomials, each information bit is linked to certain other information-carrying bits arranged within the data bit stream.
  • generator or code polynomials In terms of circuitry, these rules specified by the code polynomials are usually implemented by means of a shift register with several delays connected in series and a binary addition of the bits located at the inputs or outputs of the delays at a particular point in time. The number of delays in the shift register is referred to as the so-called “memory” m of the code.
  • Various links can be used to generate several different code bit streams from one primary information bit stream.
  • Code bit streams is the so-called "rate" of the code.
  • a code with rate 1/2 accordingly generates two code bit streams v 1 (1) v 2 ⁇ 1) v 3 (1) from an information bit stream u ⁇ u 2 u 3 ... . and V ⁇ ⁇ 2) v 2 (2) v 3 (2) ...
  • These code bit streams become a common bit stream in the form V ⁇ 1) v ⁇ (2> v 2 (1) v 2 (2) . .. which is then transmitted over the channel, two code bits are output in the transmitted bit stream for each information bit of the incoming bit stream.
  • the code is terminated.
  • the aim of the termination is that the shift register of the encoder is in a known state after the transmission of a block, for example is reset to "0".
  • a trellis diagram of a convolutional code consists of branches (state transitions) and nodes, with several branches at each node
  • a node represents a state of the memory of the convolutional code, and the termination of the code at the end of a data block has the advantage that the path in the corresponding trellis diagram ends in a previously known state.
  • Encoders themselves are generated in order to terminate the shift register or the code to “0”.
  • the tail bits generated in this way are therefore not only dependent on the final state of the shift register but also on the code itself and are therefore not known before the encoding of the entire information bits.
  • FIG. 1 A schematic block diagram of an encoder working with a recursive convolutional code, which is terminated at the end of each data block, is shown in FIG. This is an example of a classic method for terminating a so-called RSC (recursive systematic convolutional) code.
  • RSC codes are already used in GSM AMR channel coding and also as component codes in turbo codes.
  • the associated shift register has three delays D1, D2, D3.
  • the information bit stream ui u 2 u 3 ... arriving at input 1 is here passed to the encoder via switch 2 and looped through line 3 to a first output 14 without change.
  • the first code bit stream v * . (1) v 2 ⁇ v 3 (1) ... therefore corresponds to that incoming information bit stream ui u 2 u 3 ....
  • the code is thus a so-called "systematic code" since the incoming information bits are contained identically in the outgoing data bit stream.
  • the incoming bit stream u ⁇ u 2 u 3 ... is passed through the shift register consisting of the three delays Dl, D2, D3, the respective bit at the input and output of each delay Dl, D2, D3 via the data paths 5, 6, 7, 8, 9 is tapped and fed to the binary adders 10, 11, 12, whereby the code is generated according to the desired rule.
  • the code ⁇ (2) v 2 ⁇ 2) v 3 (2) ... encoded according to the specified rule is present.
  • the individual bits of the two code bit streams Ui u 2 L_ 3 ... and V ⁇ ⁇ 2) v 2 (2) v 3 (2> ... are placed one after the other in a series converter 16 as desired.
  • the code Since two outgoing bits are generated for each incoming bit in the RSC code shown, the code has a rate 1/2.
  • a disadvantage of such a termination of recursive codes is that the information bits ui u 2 u 3 ... and the tail bits ti, t 2 , t not only have to be specially treated during coding, but also require separate handling during decoding is.
  • tail-biting Another method for the uniform protection of information bits within a data block is the so-called “tail-biting”, which is described, for example, in the article “Binary unequal error-protection block codes formed from convolutional codes by generalized tail-biting” by H. Ma in the journal “ IEEE Trans. Information Theory ", vol. 32, pp. 776-786, 1986.
  • an endless chain is formed from the data blocks in a certain way, in which the start bits of a data block are used in a certain way as” tail bits "
  • this method does not require additional tail bits, quite a lot of effort is required to encode and decode the information bits.
  • This object is achieved in that a predetermined number of known tail bits are appended to the end of the respective data block in order to protect the information-carrying bits located in the end area of the data blocks from the channel coding. Because the code is recursive, these tail bits generally do not lead to termination. This means that the code is normally not terminated, since at the end of the decoding the code is generally in an undefined state, depending on the respective code and on the respective information bits of the data block. It has surprisingly been found that this termination can be dispensed with by using known bits as tail bits, without this leading to an increase in the bit error rate for the bits of the data block located in the end region.
  • the alternative method according to the invention has the significant advantage that the information bits and the tail bits are treated uniformly by the encoder and decoder, so that it is no longer necessary to distinguish the information bits and tail bits in the encoder and decoder. Therefore, it is particularly possible, depending on the requirement, for. B. with regard to the performance of the transmission channel, also use more or fewer tail bits without changing the coding or decoding method.
  • the method therefore allows a very quick adaptation to the different transmission options, for example to the available channel rate and the current transmission quality of the respective channel.
  • a number of tail bits which are below the memory m of the code can also be used.
  • the procedure can be used for all recursive codes for which a termination was previously necessary.
  • the method offers particular advantages when using a systematic code in which the information bits are also transmitted as code bits. Since the tail bits are known, they do not have to be transmitted, which can reduce the amount of data.
  • These systematic recursive codes include e.g. B. the RSC or turbo code already mentioned.
  • the code bits are punctured after the proposed method has been applied.
  • decoding methods such as source-controlled channel decoding can be used, the maximum (absolute) apriori knowledge, for example the log-likelihood ratio in the case of the so-called apri-viterbi algorithm, being set on the reception side for the known bits ,
  • a corresponding device for carrying out the method has a channel encoder for recursively encoding a data bit stream divided into data blocks and means for appending a predetermined number of known tail bits to the end of the respective data block.
  • a device which preferably has source-controlled channel decoding, in particular for executing an Apri-Viterbi algorithm or MAP algorithm, and a storage device with a database for the values of the log-likelihood ratio for has the known tail bits.
  • a common coding and decoding device can also be used, which can be used both at the transmitter and at the receiver.
  • Such a combination device preferably also has a source-controlled channel decoder, in particular for executing an Apri-Viterbi algorithm or MAP algorithm.
  • the proposed method and devices for the error-protected transmission of the source signals mentioned at the outset are of particular practical importance. They are therefore particularly suitable for use in mobile radio systems.
  • FIG. 1 is a schematic block diagram of a RSC code according to the classical, in the prior 'art known methods with a termination of the code by the
  • FIG. 2 is a schematic block diagram of the same RSC as in Figure 1, but when using the inventive method;
  • FIG. 3 shows an example for the encoding and decoding of a block of N information bits X x with three tail bits “0”;
  • the essential difference according to the invention from the classic method is that at the end of a block of information-carrying bits Xi x 2 ... x N the tail bits ti, t 2 , t 3 are not recursively generated, as shown in FIG. 1, via the feedback line 15 are, but a predetermined number of "0" bits are added (for example via switch 2) as known tail bits. These "0" bits then pass through the shift register as end values and, unlike the tail bits generated in the conventional recursive method, lead t 2 t 3 x usually not to terminate the shift register. This means that the state of the shift register, and thus also a possible random "0" setting of the register, is not known after the coding of a data block has ended.
  • the incoming information bits xi x 2 • • • N are forwarded via the data line 3 to the output 14 of the encoder and there by means of the in-series converter 16 with the code bits zi at the output 13 z 2 ... z N z N + ⁇ z N +3 z N +3 interleaved into a common output bit stream, which is transmitted over the channel.
  • Trellis diagram can be used. This means that paths with which the known tail bits are incorrectly decoded are discarded.
  • the a priori "L values" values of the log-likelihood ratio
  • the a priori "L values" values of the log-likelihood ratio
  • the Apri Viterbi algorithm channel decoder according to DE 42 24 214 C2 was used for the decoding.
  • the bit error rate BER is plotted in the diagram above the respective bit number, only the last 80 bits of the block being shown in each case. As can clearly be seen, it works
  • Curve IX corresponds to coding without the insertion of tail bits, i. H. without any termination.
  • the bit error rate at the end of a data block rises up to a factor of 50 compared to the average bit error rate in the middle area of the data block due to the abort.
  • curve I shows that in the case of coding with classic termination, with m tail bits generated recursively in the encoder, the bit error rate in the end region of the error block can even be reduced below the average bit error rate.
  • curve III to VIII lying between the two curves each originate from simulations during coding with the method according to the invention, with different numbers of known tail bits being appended.
  • 14 tail bits were used for curve III, 12 tail bits for curve IV, 10 tail bits for curve V, 6 tail bits for curve VI, 4 tail bits for curve VII, and 2 tail bits for curve VIII.
  • 12 known tail bits curve IV are sufficient to protect the information bits at the end of the data block against transmission errors as well as the information bits at other positions.
  • Another advantage is that a further reduction or increase in the number of tail bits used is possible without any problems during operation, so that a quick adaptation to the performance of the transmission channel can take place in each case.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention relates to a method for effecting error protection during the transmission of a data bit stream in a digital message transmission system according to which a recursive convolutional code is used to code the data bit stream block-by-block during channel coding. In order to protect the information-carrying bits located at the end of a data block, a predetermined number of tail bits that are known beforehand are appended to the end of the respective data block before channel coding.

Description

Beschreibungdescription
Verfahren zum Fehlerschutz bei der Übertragung eines DatenbitstromsProcedure for error protection during the transmission of a data bit stream
Die Erfindung betrifft ein Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms in einem digitalen Nachrichtenübertragungssystem, bei :dem bei einer Kanalcodierung der Datenbitstrom blockweise unter Verwendung eines rekursiven Faltungscodes codiert wird. Sie betrifft darüber hinaus eine Vorrichtung zur Durchführung des Verfahrens sowie eine Vorrichtung zur Decodierung eines mit dem Verfahren übertragenen Datenbitstroms.The invention relates to a method for error protection in the transmission of a data bit stream in a digital message transmission system, in which : in the case of channel coding, the data bit stream is coded in blocks using a recursive convolutional code. It also relates to a device for performing the method and a device for decoding a data bit stream transmitted using the method.
Derartige Verfahren und Vorrichtungen werden unter anderem zur Übertragung von Signalen wie beispielsweise Daten-, Sprach-, Audio- oder Videosignalen verwendet. Ein Beispiel eines Einsatzgebiets ist hierbei insbesondere die Sprachübermittlung in Mobilfunknetzen.Such methods and devices are used, among other things, for the transmission of signals, such as data, voice, audio or video signals. An example of an area of application is in particular voice transmission in mobile radio networks.
Für die Übermittlung über eine Mobilfunkstrecke werden z. B. die Sprachsignale zunächst in einem Quellenencoder, in diesem Fall ein Sprachencoder, in verschiedene Parameter zerlegt, durch die zeitliche Sprachabschnitte beschrieben werden können. Diese reellwertigen Sprachparameter werden dann quantisiert und somit durch eine bestimmte Bit-Kombination repräsentiert. Der auf diese Weise digital codierte Sprachparameter wird anschließend weitergeleitet. Bei anderen Quellensignalen findet in ähnlicher Form eine Zerlegung in sogenannte quellencodierte Parameter oder auch quellencodierte Koeffizienten statt, die dann weitergeleitet werden. Andere zu übertragende Datensignale, wie z.B. SMS-Signale im GSM-Standard, liegen meist ohnehin schon in digitaler Form vor.For the transmission over a cellular route z. B. the speech signals first in a source encoder, in this case a language encoder, broken down into various parameters by which temporal language sections can be described. These real-valued speech parameters are then quantized and thus represented by a certain bit combination. The speech parameter coded digitally in this way is then forwarded. In the case of other source signals, there is a similar breakdown into so-called source-coded parameters or also source-coded coefficients, which are then passed on. Other data signals to be transmitted, e.g. SMS signals in the GSM standard are usually already available in digital form.
Da bei der Übertragung der Parameter über einen Nachrichtenübertragungskanal mit Störungen und Verlusten zu rechnen ist, werden diesen codierten Signale in einem Kanalencoder redundante Informationen hinzugefugt, aus denen auf der Empfangerseite Schlüsse über die Korrektheit des empfangenen Signals gezogen werden können.Since disturbances and losses can be expected when transmitting the parameters via a communication transmission channel, redundant information is added to these coded signals in a channel encoder, from which conclusions can be drawn on the receiver side about the correctness of the received signal.
Zur Erzeugung der redundanten Informationen bei der Kanal- codierung werden in den Ubertragungssystemen häufig Faltungscodes eingesetzt. Bei Verwendung eines Faltungscodes werden aus den Informationsbits in der Weise Codebits erzeugt, daß nach bestimmten, durch sogenannte Generator- oder Codepolynome vorgegebenen Regeln, jedes Informationsbit mit bestimmten innerhalb des Datenbitstroms angeordneten anderen informationstragenden Bits verknüpft wird. Die schaltungstechnische Umsetzung dieser durch die Codepolynome vorge- gebenen Regeln erfolgt in der Regel durch ein Schieberegister mit mehreren hintereinandergeschalteten Delays und eine Binaraddition der jeweils zu einem bestimmten Zeitpunkt an den Eingangen bzw. Ausgangen der Delays befindlichen Bits. Die Anzahl der Delays des Schieberegisters wird als sogenanntes „Gedächtnis" m des Codes bezeichnet.Convolutional codes are often used in the transmission systems to generate the redundant information during channel coding. When a convolutional code is used, code bits are generated from the information bits in such a way that, according to certain rules specified by so-called generator or code polynomials, each information bit is linked to certain other information-carrying bits arranged within the data bit stream. In terms of circuitry, these rules specified by the code polynomials are usually implemented by means of a shift register with several delays connected in series and a binary addition of the bits located at the inputs or outputs of the delays at a particular point in time. The number of delays in the shift register is referred to as the so-called “memory” m of the code.
Durch verschiedene Verknüpfungen können dabei aus einem primären Informationsbitstrom mehrere unterschiedliche Code- bitstrome erzeugt werden. Das Verhältnis der Anzahl der Ein- gangsbitstrome zur Anzahl der be der Codierung erzeugtenVarious links can be used to generate several different code bit streams from one primary information bit stream. The ratio of the number of input bit streams to the number of codes generated
Codebitstrome ist die sogenannte „Rate" des Codes. Ein Code mit der Rate 1/2 erzeugt demnach aus einem Informationsbitstrom uι u2 u3... zwei Codebitstrome v1 (1)v2 <1) v3 (1)... und Vι<2) v2 (2) v3 (2) ... . Diese Codebitstrome werden zu einem gemeinsamen Bitstrom in der Form V { 1 ) v\ (2> v2 (1) v2 (2)... verschachtelt, welcher dann über den Kanal übertragen wird. Für jedes Informationsbit des ankommenden Bitstroms werden dabei zwei Codebits im übertragenen Bitstrom ausgegeben.Code bit streams is the so-called "rate" of the code. A code with rate 1/2 accordingly generates two code bit streams v 1 (1) v 2 <1) v 3 (1) from an information bit stream uι u 2 u 3 ... . and Vι <2) v 2 (2) v 3 (2) ... These code bit streams become a common bit stream in the form V {1) v \ (2> v 2 (1) v 2 (2) . .. which is then transmitted over the channel, two code bits are output in the transmitted bit stream for each information bit of the incoming bit stream.
Beim Einsatz von Faltungscodes in Ubertragungssystemen können aus verschiedenen Gründen, wie z. B. der Synchronisation oder dem störenden Einfluß der Decodierverzogerung, nur endlich lange Codesequenzen verwendet werden. Das heißt, es ist erforderlich, den Datenbitstrom zur Codierung in einzelne Datenblöcke zu zerlegen. Die einfachste Möglichkeit hierzu besteht darin, die Codierung nach einer bestimmten Anzahl von Zeittakten ohne weitere Vorkehrungen abzubrechen. Allerdings sind die Informationsbits im Endbereich der so generierten Codeblöcke dann deutlich schlechter gegen Übertragungsfehler geschützt als Informationsbits an anderen Positionen, z. B. am Anfang oder im mittleren Bereich eines Codeblocks.When using convolutional codes in transmission systems, for various reasons, e.g. B. the synchronization or the disruptive influence of decoding delay, only finite long code sequences are used. This means that it is necessary to split the data bit stream into individual data blocks for coding. The simplest way to do this is to abort the coding after a certain number of time cycles without further precautions. However, the information bits in the end area of the code blocks generated in this way are then significantly less well protected against transmission errors than information bits at other positions, e.g. B. at the beginning or in the middle of a block of code.
Um diesen Effekt zu vermeiden, wird eine sogenannte Terminierung des Codes durchgeführt. Ziel der Terminierung ist es, daß das Schieberegister des Encoders sich nach dem Übersenden eines Blocks in einem bekannten Zustand befindet, beispielsweise auf „0" zurückgesetzt ist.In order to avoid this effect, the code is terminated. The aim of the termination is that the shift register of the encoder is in a known state after the transmission of a block, for example is reset to "0".
Bei einem häufig verwendeten Verfahren zur Decodierung eines übertragenen Codes wird unter Verwendung eines Viterbi- Algorithmus ein sogenanntes „Trellis-Diagramm" entlang eines Pfades durchlaufen. Ein Trellis-Diagramm eines Faltungscodes besteht aus Zweigen (Zustandsübergänge) und Knoten, wobei an jedem Knoten mehrere Zweige zusammenlaufen. Ein Knoten repräsentiert dabei einen Zustand des Gedächtnisses des Faltungscodes. Die Terminierung des Codes am Ende eines Datenblocks hat den Vorteil, daß der Pfad im entsprechenden Trellis-Diagramm in einem vorher bekannten Zustand endet.In a frequently used method for decoding a transmitted code, a so-called "trellis diagram" is run along a path using a Viterbi algorithm. A trellis diagram of a convolutional code consists of branches (state transitions) and nodes, with several branches at each node A node represents a state of the memory of the convolutional code, and the termination of the code at the end of a data block has the advantage that the path in the corresponding trellis diagram ends in a previously known state.
Um eine solche Terminierung zu erreichen, können bei einem normalen Faltungscode ohne eine Rückkopplung, d. h. ohne feedback-Zweig, einfach eine dem Gedächtnis des Codes entsprechende Anzahl von sogenannten Tailbits „0" angehängt werden. Nach m Takten befindet sich dann jeweils am Ausgang eines jeden Delays der Zustand „0", so daß sich das gesamte Schieberegister im „0"-Zustand befindet und somit der Faltungscode im „0"-Zustand terminiert ist. Darüber hinaus gibt es aber auch rekursive Faltungscodes, bei denen ein bestimmtes Informationsbit bei der Codierung nicht nur mit im Datenbitstrom vorhergehenden Informationsbits verknüpft wird, sondern auch mit dahinterliegenden Bits, indem zwischen den Delays des Schieberegisters anliegende Bits an vorherige Positionen des Schieberegisters zurückgekoppelt werden. Solche rekursiven Faltungscodes sind bei schlechten Kanalbedingungen besonders sicher. Sie werden daher weitgehend in den bestehenden Mobilfunkstandards eingesetzt.In order to achieve such a termination, with a normal convolutional code without a feedback, ie without a feedback branch, a number of so-called tail bits "0" corresponding to the memory of the code can simply be appended. After m clocks, each is at the exit of each Delays the state "0" so that the entire shift register is in the "0" state and thus the convolutional code is terminated in the "0" state. In addition, there are also recursive convolutional codes in which a certain information bit is encoded not only with information bits preceding it in the data bit stream, but also with bits behind it, in that bits present between the delays of the shift register are fed back to previous positions of the shift register. Such recursive convolutional codes are particularly safe in poor channel conditions. They are therefore largely used in the existing mobile radio standards.
Durch die Rückkopplung ist jedoch die eben beschriebene einfache Art der Terminierung des Codes nicht möglich. Stattdessen müssen die angehängten Tailbits durch einen speziellen Rückkopplungszweig im rekursiven Verfahren vomHowever, the simple way of terminating the code just described is not possible due to the feedback. Instead, the attached tail bits have to go through a special feedback branch in a recursive process
Encoder selbst generiert werden, um das Schieberegister bzw. den Code auf „0" zu terminieren. Die so generierten Tailbits sind daher nicht nur vom Endzustand des Schieberegisters, sondern auch vom Code selbst abhängig und daher vor der Encodierung der gesamten Informationsbits nicht bekannt.Encoders themselves are generated in order to terminate the shift register or the code to “0”. The tail bits generated in this way are therefore not only dependent on the final state of the shift register but also on the code itself and are therefore not known before the encoding of the entire information bits.
Ein schematisches Blockschaltbild eines mit einem rekursiven Faltungscode arbeitenden Encoders, der am Ende eines jeden Datenblocks terminiert wird, ist in der Figur 1 dargestellt. Hierbei handelt es sich um ein Beispiel eines klassischen Verfahrens zur Terminierung eines sogenannten RSC(recursiv systematic convolutional) -Codes . Derartige RSC-Codes werden bereits bei der GSM AMR-Kanalcodierung und auch als Komponentencodes bei Turbo-Codes verwendet.A schematic block diagram of an encoder working with a recursive convolutional code, which is terminated at the end of each data block, is shown in FIG. This is an example of a classic method for terminating a so-called RSC (recursive systematic convolutional) code. Such RSC codes are already used in GSM AMR channel coding and also as component codes in turbo codes.
Wie dem Schema zu entnehmen ist, weist das zugehörige Schieberegister drei Delays Dl, D2, D3 auf. Der Code hat daher ein Gedächtnis von m = 3. Der am Eingang 1 ankommende Informationsbitstrom ui u2 u3 ... wird hierbei über den Schalter 2 zum Encoder geführt, und dabei über die Leitung 3 zu einem ersten Ausgang 14 ohne Veränderung durchgeschleift. Der erste Codebitstrom v*. (1) v2 αι v3 (1) ... entspricht daher dem eingehenden Informationsbitstrom ui u2 u3 ... . Der Code ist somit ein sogenannter „systematischer Code", da im ausgehenden Datenbitstrom die eingehenden Informationsbits identisch enthalten sind.As can be seen from the diagram, the associated shift register has three delays D1, D2, D3. The code therefore has a memory of m = 3. The information bit stream ui u 2 u 3 ... arriving at input 1 is here passed to the encoder via switch 2 and looped through line 3 to a first output 14 without change. The first code bit stream v * . (1) v 2 αι v 3 (1) ... therefore corresponds to that incoming information bit stream ui u 2 u 3 .... The code is thus a so-called "systematic code" since the incoming information bits are contained identically in the outgoing data bit stream.
Weiterhin wird der eingehende Bitstrom uι u2 u3 ... durch das aus den drei Delays Dl, D2, D3 bestehende Schieberegister geführt, wobei jeweils am Eingang und am Ausgang jedes Delays Dl, D2, D3 das anstehende Bit über die Datenstrecken 5, 6, 7, 8, 9 abgegriffen und den Binäraddierern 10, 11, 12 zugeführt wird, wodurch der Code gemäß der gewünschten Regel erzeugt wird. Am Ausgang 13 des Binäraddierers 11 liegt schließlich der gemäß der vorgegebenen Regel verschlüsselte Code ι(2) v2 <2) v3 (2) ... an. Zur Erzeugung eines einzigen Ausgangscodes werden in einem In-Serie-Umsetzer 16 die einzelnen Bits der beiden Codebitströme Ui u2 L_3... und Vι<2) v2 (2) v3 (2> ... wie gewünscht hintereinandergesetzt .Furthermore, the incoming bit stream uι u 2 u 3 ... is passed through the shift register consisting of the three delays Dl, D2, D3, the respective bit at the input and output of each delay Dl, D2, D3 via the data paths 5, 6, 7, 8, 9 is tapped and fed to the binary adders 10, 11, 12, whereby the code is generated according to the desired rule. Finally, at the output 13 of the binary adder 11, the code ι (2) v 2 <2) v 3 (2) ... encoded according to the specified rule is present. To generate a single output code, the individual bits of the two code bit streams Ui u 2 L_ 3 ... and Vι <2) v 2 (2) v 3 (2> ... are placed one after the other in a series converter 16 as desired.
Da bei dem dargestellten RSC-Code für jedes eingehende Bit zwei ausgehende Bits erzeugt werden, hat der Code eine Rate 1/2. Die in der dargestellten Form technisch umgesetzten Generatorpolynome sind [1, n (D) /d (D) ] , mit d { D) = l+lf+D3 und n { D) = 1+D+D3. Um den Code bzw. das Schieberegister zum „0"- Zustand zu terminieren, werden nach der Encodierung derSince two outgoing bits are generated for each incoming bit in the RSC code shown, the code has a rate 1/2. The generator polynomials technically implemented in the form shown are [1, n (D) / d (D)], with d {D) = l + lf + D 3 and n {D) = 1 + D + D 3 . In order to terminate the code or the shift register to the "0" state, the
Informationsbits ui u2 u3 ... eines Datenblocks anschließend die Bits ti, t2, t3 über die gestrichelt dargestellte Leitung 15 und den entsprechend umgelegten Schalter 2 zum Eingang des Encoders geschickt. Da diese Tailbits tx, t2, t3 aus der Rück- kopplungsleitung vor dem Eingang des ersten Binäraddierers 12 ausgekoppelt werden und somit an beiden Eingängen des Binär- codierers 12 zu jedem Zeitpunkt identische Bits anliegen, liegt am Ausgang zwangsläufig immer eine „0" an. Folglich geht das Schieberegister in = 3 Takten in den „0"-Zustand über. Die der Terminierung entsprechenden zusätzlich noch zu übertragenden Codebits sind dann am Ausgang 14 die Tailbits ti, t2, t3 und am Ausgang 13 die aus diesen Bits erzeugten Codebits .Information bits ui u 2 u 3 ... of a data block then send the bits ti, t 2 , t 3 via the line 15 shown in dashed lines and the correspondingly flipped switch 2 to the input of the encoder. Since these tail bits t x , t 2 , t 3 are decoupled from the feedback line before the input of the first binary adder 12 and thus identical bits are present at both inputs of the binary encoder 12 at all times, there is inevitably always a “0” at the output ". Consequently, the shift register changes to the" 0 "state in = 3 cycles. The additional code bits to be transmitted corresponding to the termination are then the tail bits at the output 14 ti, t 2 , t 3 and at the output 13 the code bits generated from these bits.
Ein Nachteil einer solchen Terminierung von rekursiven Codes besteht darin, daß die Informationsbits ui u2 u3 ... und die Tailbits ti, t2, t nicht nur bei der Codierung besonders behandelt werden müssen, sondern auch bei der Decodierung eine separate Behandlung erforderlich ist.A disadvantage of such a termination of recursive codes is that the information bits ui u 2 u 3 ... and the tail bits ti, t 2 , t not only have to be specially treated during coding, but also require separate handling during decoding is.
Ein anderes Verfahren zum gleichmäßigen Schützen von Informationsbits innerhalb eines Datenblocks ist das sogenannte „Tail-biting" , welches beispielsweise im Artikel „Binary unequal error-protection block codes formed from convolutional codes by generalized tail-biting" von H. Ma in der Zeitschrift „IEEE Trans. Information Theory", vol. 32, pp. 776-786, 1986, beschrieben wird. Hierbei wird in gewisser Weise eine „Endloskette" aus den Datenblocks gebildet, in dem in bestimmter Weise die Anfangsbits eines Datenblocks als „Tailbits" genutzt werden. Obwohl dieses Verfahren keine zusätzlichen Tailbits benötigt, ist ein recht großer Aufwand zur Encodierung und Decodierung der Informationsbits erforderlich.Another method for the uniform protection of information bits within a data block is the so-called “tail-biting”, which is described, for example, in the article “Binary unequal error-protection block codes formed from convolutional codes by generalized tail-biting” by H. Ma in the journal “ IEEE Trans. Information Theory ", vol. 32, pp. 776-786, 1986. In this way, an" endless chain "is formed from the data blocks in a certain way, in which the start bits of a data block are used in a certain way as" tail bits " Although this method does not require additional tail bits, quite a lot of effort is required to encode and decode the information bits.
Es ist Aufgabe der vorliegenden Erfindung, eine einfache und kostengünstige Alternative zu diesem bekannten Stand der Technik zu schaffen.It is an object of the present invention to provide a simple and inexpensive alternative to this known prior art.
Diese Aufgabe wird dadurch gelöst, daß zum Schutz der im Endbereich der Datenblocks befindlichen informationstragenden Bits vor der Kanalcodierung eine vorgegebene Anzahl bekannter Tailbits an das Ende des jeweiligen Datenblocks angehängt werden. Diese Tailbits führen, da es sich um einen rekursiven Code handelt, in der Regel nicht zur Terminierung. Das heißt, der Code ist normalerweise nicht terminiert, da am Ende der Decodierung der Code sich im allgemeinen abhängig vom jeweiligen Code und von den jeweiligen Informationsbits des Datenblocks in einem Undefinierten Zustand befindet. Es hat sich überraschenderweise gezeigt, daß durch die Verwendung von bekannten Bits als Tailbits auf diese Terminierung aber verzichtet werden kann, ohne daß dies zu einer Erhöhung der Bitfehlerrate bei den im Endbereich befindlichen Bits des Datenblocks führt. Dagegen hat das erfindungsgemäße, alternative Verfahren den wesentlichen Vorteil, daß die Informationsbits und die Tailbits einheitlich vom Encoder und Decoder behandelt werden, so daß es nicht mehr nötig ist, die Informationsbits und Tailbits im Encoder und Decoder zu unterscheiden. Daher ist es insbesondere auch möglich, je nach Anforderung, z. B. bezüglich der Performance des Übertragungskanals, auch mehr oder weniger Tailbits einzusetzen, ohne das Codier- oder Decodierverfahren zu verändern. Das Verfahren erlaubt daher eine sehr schnelle Anpassung an die unterschiedlichen Übertragungsmöglichkeiten, beispielsweise an die zur Verfügung stehende Kanalrate und die aktuelle Übertragungsqualität des jeweiligen Kanals. Insbesondere können auch im Gegensatz zu den bekannten Verfahren, bei denen der Code terminiert wird, eine Anzahl von Tailbits eingesetzt werden, die unter dem Gedächtnis m des Codes liegen.This object is achieved in that a predetermined number of known tail bits are appended to the end of the respective data block in order to protect the information-carrying bits located in the end area of the data blocks from the channel coding. Because the code is recursive, these tail bits generally do not lead to termination. This means that the code is normally not terminated, since at the end of the decoding the code is generally in an undefined state, depending on the respective code and on the respective information bits of the data block. It has surprisingly been found that this termination can be dispensed with by using known bits as tail bits, without this leading to an increase in the bit error rate for the bits of the data block located in the end region. In contrast, the alternative method according to the invention has the significant advantage that the information bits and the tail bits are treated uniformly by the encoder and decoder, so that it is no longer necessary to distinguish the information bits and tail bits in the encoder and decoder. Therefore, it is particularly possible, depending on the requirement, for. B. with regard to the performance of the transmission channel, also use more or fewer tail bits without changing the coding or decoding method. The method therefore allows a very quick adaptation to the different transmission options, for example to the available channel rate and the current transmission quality of the respective channel. In particular, in contrast to the known methods in which the code is terminated, a number of tail bits which are below the memory m of the code can also be used.
Das Verfahren ist für alle rekursiven Codes, für die bisher eine Terminierung nötig ist, anwendbar. Besondere Vorteile bietet das Verfahren jedoch bei der Verwendung eines systematischen Codes, bei dem die Informationsbits als Codebits mitübertragen werden. Da die Tailbits bekannt sind, müssen diese nicht mitübertragen werden, wodurch die Datenmenge reduziert werden kann. Zu diesen systematischen rekursiven Codes zählen z. B. der bereits erwähnte RSC- oder der Turbo-Code.The procedure can be used for all recursive codes for which a termination was previously necessary. However, the method offers particular advantages when using a systematic code in which the information bits are also transmitted as code bits. Since the tail bits are known, they do not have to be transmitted, which can reduce the amount of data. These systematic recursive codes include e.g. B. the RSC or turbo code already mentioned.
Weiterhin ist auch eine Verknüpfung des jeweiligen Codes mit einer Punktierung zweckmäßig. Hierbei werden die Codebits nach Anwendung des vorgeschlagenen Verfahrens punktiert. In Verbindung mit dem vorgeschlagenen Verfahren können Decodierverfahren wie die quellengesteuerte Kanaldecodierung eingesetzt werden, wobei für die bekannten Bits das maximale (absolute) Apriori-Wissen, beispielsweise bei dem sogenannten Apri-Viterbi-Algorithmus das Log-Likelihood-Ratio, auf der Empfangsseite gesetzt wird.Furthermore, it is also expedient to link the respective code with puncturing. Here, the code bits are punctured after the proposed method has been applied. In conjunction with the proposed method, decoding methods such as source-controlled channel decoding can be used, the maximum (absolute) apriori knowledge, for example the log-likelihood ratio in the case of the so-called apri-viterbi algorithm, being set on the reception side for the known bits ,
Eine entsprechende Vorrichtung zur Durchführung des Verfahrens weist einen Kanalencoder zur rekursiven Codierung eines in Datenblöcken unterteilten Datenbitstroms und Mittel zum Anhängen einer vorgegebenen Anzahl bekannter Tailbits an das Ende des jeweiligen Datenblocks auf.A corresponding device for carrying out the method has a channel encoder for recursively encoding a data bit stream divided into data blocks and means for appending a predetermined number of known tail bits to the end of the respective data block.
Zur Decodierung eines mit dem erfindungsgemäßen Verfahren übertragenen Datenbitstroms wird eine Vorrichtung verwendet, welche vorzugsweise eine quellengesteuerte Kanaldecodierung, insbesondere zur Ausführung eines Apri-Viterbi-Algorithmus oder MAP-Algorithmus, und eine Speichereinrichtung mit einer Datenbasis für die Werte des Log-Likelihood-Verhältnisses für die bekannten Tailbits aufweist.To decode a data bit stream transmitted using the method according to the invention, a device is used which preferably has source-controlled channel decoding, in particular for executing an Apri-Viterbi algorithm or MAP algorithm, and a storage device with a database for the values of the log-likelihood ratio for has the known tail bits.
Selbstverständlich kann auch eine gemeinsame Vorrichtung zur Codierung und Decodierung verwendet werden, welche sowohl sender- als auch empfangsseitig eingesetzt werden kann. Eine solche Kombinationsvorrichtung weist vorzugsweise ebenfalls einen quellengesteuerten Kanaldecodierer, insbesondere zur Ausführung eines Apri-Viterbi-Algorithmus oder MAP- Algorithmus auf.Of course, a common coding and decoding device can also be used, which can be used both at the transmitter and at the receiver. Such a combination device preferably also has a source-controlled channel decoder, in particular for executing an Apri-Viterbi algorithm or MAP algorithm.
Besondere praktische Bedeutung haben das vorgeschlagene Verfahren und die Vorrichtungen für die fehlergeschützte Übertragung der eingangs genannten Quellensignale wie Sprach-, Audio- oder Videosignale. Sie sind folglich besonders für die Anwendung in Mobilfunksystemen geeignet.The proposed method and devices for the error-protected transmission of the source signals mentioned at the outset, such as voice, audio or video signals, are of particular practical importance. They are therefore particularly suitable for use in mobile radio systems.
Die Erfindung wird im folgenden anhand eines Ausführungsbeispiels unter Hinweis auf die beigefügten Zeichnungen näher erläutert. Die dargestellten Merkmale können nicht nur in den genannten Kombinationen, sondern auch einzeln oder in anderen Kombinationen erfindungswesentlich sein. Im übrigen wird ausdrücklich darauf hingewiesen, daß auch Merkmale, die nur im Zusammenhang mit dem er indungsgemäßen Verfahren dargestellt sind, auch bezüglich der Vorrichtungen zur Durchführung des Verfahrens erfindungswesentlich sein können und umgekehrt. Es zeigen:The invention is explained in more detail below using an exemplary embodiment with reference to the accompanying drawings explained. The features shown can be essential to the invention not only in the combinations mentioned, but also individually or in other combinations. Furthermore, it is expressly pointed out that features which are only shown in connection with the method according to the invention can also be essential to the invention with regard to the devices for carrying out the method and vice versa. Show it:
Figur 1 ein schematisches Blockschaltbild eines RSC-Codes nach dem klassischen, im Stand 'der Technik bekannten Verfahren mit einer Terminierung des Codes durch dieFigure 1 is a schematic block diagram of a RSC code according to the classical, in the prior 'art known methods with a termination of the code by the
Tailbits;tail bits;
Figur 2 ein schematisches Blockschaltbild des gleichen RSC wie in Figur 1, jedoch bei Verwendung des erfindungsgemäßen Verfahrens;Figure 2 is a schematic block diagram of the same RSC as in Figure 1, but when using the inventive method;
Figur 3 ein Beispiel für die Encodierung und Decodierung eines Blocks von N-Informationsbits Xx mit drei Tailbits „0";FIG. 3 shows an example for the encoding and decoding of a block of N information bits X x with three tail bits “0”;
Figur 4 ein Diagramm der Simulationsergebnisse für einen RSC- Code mit Gedächtnis m = 8 und Rate = 1/2 über einem AWGΝ- Kanal mit einem Signal-to-Νoise-Ratio von -1 dB.Figure 4 is a diagram of the simulation results for an RSC code with memory m = 8 and rate = 1/2 over an AWGΝ channel with a signal-to-oise ratio of -1 dB.
Da das erfindungsgemäße Verfahren einen Hauptanwendungsbereich bei der Übertragung von Signalen in Mobilfunksystemen hat, wird im folgenden Beispiel von einer solchen Übertragung ausgegangen. Es wird aber ausdrücklich noch einmal darauf hingewiesen, daß der Einsatz des Verfahrens und der Vorrichtung selbstverständlich nicht auf diesen Anwendungsbereich begrenzt ist, sondern daß im Prinzip ein Einsatz des Verfahrens in beliebigen Übertragungssystemen möglich ist, bei denen die zu übertragenden Datenbitströme durch einen rekursiven Faltungscode codiert werden. Figur 2 zeigt als Beispiel einen relativ einfachen RSC-Code mit einem Gedächtnis von m = 3 und Rate 1/2. Die verwendeten Generatorpolynome sind hier [1, n ( D) /d { D) ] , mit d {D) = l+rß+D3 und n { D) = 1+D+D3. Es handelt sich hierbei folglich um den gleichen Code, der bereits als Ausführungsbeispiel in Figur 1 zur Erläuterung des klassischen Verfahrens nach dem Stand der Technik verwendet wurde. Dementsprechend werden auch für gleiche Funktionsblöcke und Datenstrecken gleiche Bezugsziffern verwendet.Since the method according to the invention has a main area of application for the transmission of signals in mobile radio systems, such a transmission is assumed in the following example. However, it is expressly pointed out once again that the use of the method and the device is of course not limited to this area of application, but that in principle the method can be used in any transmission systems in which the data bit streams to be transmitted are coded by a recursive convolutional code become. Figure 2 shows an example of a relatively simple RSC code with a memory of m = 3 and rate 1/2. The generator polynomials used here are [1, n (D) / d {D)], with d {D) = l + rß + D 3 and n {D) = 1 + D + D 3 . Consequently, this is the same code that was already used as an exemplary embodiment in FIG. 1 to explain the classic method according to the prior art. Accordingly, the same reference numbers are used for the same function blocks and data links.
Der erfindungsgemäße wesentliche Unterschied zu dem klassischen Verfahren besteht darin, daß zum Ende eines Blocks von informationstragenden Bits Xi x2 ... xN die Tailbits ti, t2, t3 nicht, wie in Figur 1 dargestellt über die Rückkopplungsleitung 15, rekursiv erzeugt werden, sondern es werden (beispielsweise über den Schalter 2) als bekannte Tailbits eine vorgegebene Anzahl von „0"-Bits angefügt. Diese „0"-Bits durchlaufen dann als Endwerte das Schieberegister und führen anders als die beim herkömmlichen rekursiven Verfahren generierten Tailbits tι t2 t3 x in der Regel nicht zu einer Terminierung des Schieberegisters. Das bedeutet, daß der Zustand des Schieberegisters, und somit auch ein eventuelles zufälliges „0"-Setzen des Registers, nach Beendigung der Codierung eines Datenblocks nicht bekannt ist.The essential difference according to the invention from the classic method is that at the end of a block of information-carrying bits Xi x 2 ... x N the tail bits ti, t 2 , t 3 are not recursively generated, as shown in FIG. 1, via the feedback line 15 are, but a predetermined number of "0" bits are added (for example via switch 2) as known tail bits. These "0" bits then pass through the shift register as end values and, unlike the tail bits generated in the conventional recursive method, lead t 2 t 3 x usually not to terminate the shift register. This means that the state of the shift register, and thus also a possible random "0" setting of the register, is not known after the coding of a data block has ended.
Da es sich hierbei um einen systematischen Code handelt, werden die eingehenden Informationsbits xi x2 • • • N über die Datenleitung 3 an den Ausgang 14 des Encoders weitergeleitet und dort mittels des In-Serie-Umsetzers 16 mit den am Ausgang 13 anliegenden Codebits zi z2 ... zN zN +ι zN +3 zN +3 zu einem gemeinsamen Ausgangsbitstrom verschachtelt, welcher über den Kanal übertragen wird.Since this is a systematic code, the incoming information bits xi x 2 • • • N are forwarded via the data line 3 to the output 14 of the encoder and there by means of the in-series converter 16 with the code bits zi at the output 13 z 2 ... z N z N + ι z N +3 z N +3 interleaved into a common output bit stream, which is transmitted over the channel.
Die Bits eines Datenblocks direkt vor der Kanalencodierung sind noch einmal in Figur 3(a) dargestellt. Figur 3(c) zeigt außerdem die von diesem Encoder ausgesendeten und am Kanaldecoder empfangenen Daten x* 17 z (i=l,2,3... N+l) wobei die markierten drei systematischen Codebits „0", resultierend aus den drei vorher bekannten Tailbits „0", nicht übertragen worden sind, da diese Werte ohnehin Apriori feststehen.The bits of a data block immediately before channel coding are shown again in Figure 3 (a). Figure 3 (c) also shows the transmitted by this encoder and on Channel decoder received data x * 17 z (i = 1, 2.3 ... N + 1), the marked three systematic code bits "0", resulting from the three previously known tail bits "0", not being transmitted, since these Values set apriori anyway.
Da die bekannten systematischen Codebits nicht übertragen werden müssen, ist die Datenrate bei gleicher Anzahl von Tailbits geringer als bei dem klassischen Verfahren der Terminierung des Codes. Im allgemeinen gilt, daß bei der klassischen Terminierung bei Verwendung eines Codes mit der Rate 1/r und dem Gedächtnis m zusätzlich r- m Codebits zu übertragen sind. Für das vorgeschlagene Verfahren mit K bekannten Tailbits sind dagegen nur zusätzlich ( r-l ) ' K Codebits zu übertragen. Bei Verwendung eines systematischen Codes mit Rate 1/2 können folglich doppelt soviele Tailbits an einen Datenblock angehängt werden wie bei der klassischen Methode, um auf die insgesamt gleiche zu übertragende Datenrate zu kommen.Since the known systematic code bits do not have to be transmitted, the data rate is lower with the same number of tail bits than with the classic method of terminating the code. In general it applies that in the case of classic termination when using a code with the rate 1 / r and the memory m, r-m code bits must also be transmitted. For the proposed method with K known tail bits, on the other hand, only additional (r-1) 'K code bits have to be transmitted. When using a systematic code with rate 1/2, twice as many tail bits can be appended to a data block as with the classic method in order to arrive at the same overall data rate to be transmitted.
Zur Decodierung sind beispielsweise folgende Methoden möglich, bei denen das Apriori-Wissen über die bekannten Tailbits verwendet werden kann.The following methods are possible for decoding, for example, in which the prior knowledge about the known tail bits can be used.
Im Falle eines normalen Viterbi-Algorithmus kann z. B. das Apriori-Wissen bei der Selektion der möglichen Pfade imIn the case of a normal Viterbi algorithm, e.g. B. the prior knowledge when selecting the possible paths in
Trellis-Diagramm verwendet werden. Das heißt, daß Pfade, mit denen die bekannten Tailbits fälsch decodiert werden, verworfen werden.Trellis diagram can be used. This means that paths with which the known tail bits are incorrectly decoded are discarded.
Bei Verwendung eines Apri-Viterbi-Algorithmus, wie er beispielsweise in der DE 42 24 214 C2 beschrieben ist, oder eines ähnlichen Algorithmus wie z. B. des MAP (maximum a posteriori probability) -Decodieralgorithmus, können die Apriori „L-Werte" (Werte des Log-Likelihood-Verhältnisses) für die bekannten Tailbits als (möglich zulässige) maximale Werte eingesetzt werden. So kann z. B. für ein Bit = „0" ein Wert L = „+∞" und für ein Bit = „1" ein Wert L = „-°o" gesetzt werden. In Figur 3 (b) sind die entsprechenden L-Werte für die Kanaldecodierung der in Figur 3(a) dargestellten Bits vor der Kanalencodierung (inklusive der bekannten Tailbits) dargestellt. Wenn kein Apriori-Wissen vorhanden ist, wird für die Informationsbits Xi x2 ... xN ein Wert Li = 0 ( i = 1 bis N) gesetzt.When using an Apri Viterbi algorithm, as described for example in DE 42 24 214 C2, or a similar algorithm such. For example, the MAP (maximum a posteriori probability) decoding algorithm, the a priori "L values" (values of the log-likelihood ratio) for the known tail bits can be used as (possible) maximum values. For example, for a bit = "0" a value L = "+ ∞" and for a bit = "1" a value L = "- ° o" be set. FIG. 3 (b) shows the corresponding L values for the channel decoding of the bits shown in FIG. 3 (a) before the channel coding (including the known tail bits). If there is no prior knowledge, a value Li = 0 (i = 1 to N) is set for the information bits Xi x 2 ... x N.
Figur 4 zeigt Simulationsergebnisse für einen RSC-Code mit einem Gedächtnis von m = 8 und einer Rate 1/r = 1/2 bei Übertragung eines Block von 200 Bits über einen sogenannten AWGN (additive white Gaussian noise) -Kanal . Der Kanal hat eine Signal-to-Noise-Ratio Es/N0 = -1 dB. Die verwendeten Generatorpolynome sind [1, n (D) /d (D) ] , mit n ( D) = 1+D2+D3+D'i+D8 und d ( D) = I+D1+D2+D3+D5+D1+D8 .FIG. 4 shows simulation results for an RSC code with a memory of m = 8 and a rate 1 / r = 1/2 when transmitting a block of 200 bits via a so-called AWGN (additive white Gaussian noise) channel. The channel has a signal-to-noise ratio E s / N 0 = -1 dB. The generator polynomials used are [1, n (D) / d (D)], with n (D) = 1 + D 2 + D 3 + D ' i + D 8 and d (D) = I + D 1 + D 2 + D 3 + D 5 + D 1 + D 8 .
Zur Decodierung wurde der Apri-Viterbi-Algorithmus-Kanal- decoder gemäß der DE 42 24 214 C2 verwendet. Aufgetragen ist in dem Diagramm die Bit-Fehlerrate BER über der jeweiligen Bit-Nummer, wobei jeweils nur die letzten 80 Bits des Blocks dargestellt sind. Wie sich deutlich zeigt, wirkt dieThe Apri Viterbi algorithm channel decoder according to DE 42 24 214 C2 was used for the decoding. The bit error rate BER is plotted in the diagram above the respective bit number, only the last 80 bits of the block being shown in each case. As can clearly be seen, it works
Beendigung des Blocks auf ungefähr die letzten 50 Bits zurück.Termination of the block back to approximately the last 50 bits.
Kurve IX entspricht einer Codierung ohne Einfügung von Tailbits, d. h. ohne jede Terminierung. Hier steigt die Bit- Fehlerrate zum Ende eines Datenblocks aufgrund des Abruchs bis zu einem Faktor 50 gegenüber der durchschnittlichen Bit- Fehlerrate im mittleren Bereich des Datenblocks an. Auf der anderen Seite zeigt Kurve I, daß bei einer Codierung mit einer klassischen Terminierung, mit m im Encoder rekursiv generierten Tailbits, die Bit-Fehlerrate im Endbereich des Fehlerblocks sogar noch unter die durchschnittliche Bit- Fehlerrate abgesenkt werden kann.Curve IX corresponds to coding without the insertion of tail bits, i. H. without any termination. Here, the bit error rate at the end of a data block rises up to a factor of 50 compared to the average bit error rate in the middle area of the data block due to the abort. On the other hand, curve I shows that in the case of coding with classic termination, with m tail bits generated recursively in the encoder, the bit error rate in the end region of the error block can even be reduced below the average bit error rate.
Ein gleichgutes Ergebnis bei der Reduzierung der Bit- Fehlerrate erreicht man durch das Anhängen von 16 bekannten Tailbits nach dem erfindungsgemäßen Verfahren (Kurve II). Da diese 16 Tailbits bekannt sind und nicht übertragen werden müssen, führt diese Anfügung von 16 Tailbits dazu, daß genau 16 zusätzliche Codebits übertragen werden. Die Anzahl der bei dieser Simulation zusätzlich für den Schutz der am Ende des Datenblocks befindlichen Informationsbits zu übertragendenAn equally good result in reducing the bit error rate can be achieved by appending 16 known tail bits according to the inventive method (curve II). There these 16 tail bits are known and need not be transmitted, this addition of 16 tail bits results in exactly 16 additional code bits being transmitted. The number of additional data to be transmitted in this simulation for the protection of the information bits located at the end of the data block
Bits entspricht daher genau der Anzahl von Codebits { r- m, wie oben bereits erläutert) , die bei der Verwendung von m = 8 Tailbits nach dem klassischen Verfahren benötigt werden (d. h. 8 unbekannte Tailbits als systematische Codebits und 8 weitere Codebits).Bits therefore corresponds exactly to the number of code bits {r-m, as already explained above), which are required when using m = 8 tail bits according to the classic method (i.e. 8 unknown tail bits as systematic code bits and 8 further code bits).
Die zwischen den beiden Kurven liegenden weiteren Kurven III bis VIII stammen jeweils aus Simulationen bei einer Codierung mit dem erfindungsgemäßen Verfahren, wobei unterschiedliche Anzahlen von bekannten Tailbits angehängt werden. Bei Kurve III wurden 14 Tailbits verwendet, bei Kurve IV 12 Tailbits, bei Kurve V 10 Tailbits, bei Kurve VI 6 Tailbits, bei Kurve VII 4 Tailbits, bei Kurve VIII 2 Tailbits. Wie diese Kurven zeigen, reichen im Prinzip 12 bekannte Tailbits (Kurve IV) aus, um die Informationsbits am Ende des Datenblocks gleich gut gegen Übertragungsfehler wie die Informationsbits an anderen Positionen zu schützen.The further curves III to VIII lying between the two curves each originate from simulations during coding with the method according to the invention, with different numbers of known tail bits being appended. 14 tail bits were used for curve III, 12 tail bits for curve IV, 10 tail bits for curve V, 6 tail bits for curve VI, 4 tail bits for curve VII, and 2 tail bits for curve VIII. As these curves show, in principle 12 known tail bits (curve IV) are sufficient to protect the information bits at the end of the data block against transmission errors as well as the information bits at other positions.
Es zeigt sich also, daß bei dem vorliegenden Ausführungs- beispiel mit r = 2 und m = 8 im Falle der klassischenIt can thus be seen that in the present exemplary embodiment with r = 2 and m = 8 in the case of the classic one
Terminierung immer 16 Codebits zu übertragen sind, wogegen bei dem erfindungsgemäßen Verfahren K = 12 Codebits für einen gleichmäßigen Schutz aller Informationsbits ausreichend sind. Somit kann die Übertragungsrate insgesamt reduziert werden.16 code bits must always be terminated, whereas in the method according to the invention K = 12 code bits are sufficient for uniform protection of all information bits. The transmission rate can thus be reduced overall.
Ein weiterer Vorteil besteht darin, daß problemlos während des Betriebs eine weitere Reduzierung oder auch Erhöhung der Anzahl der verwendeten Tailbits möglich ist, so daß jeweils eine schnelle Anpassung an die Performance des Übertragungskanals erfolgen kann. Another advantage is that a further reduction or increase in the number of tail bits used is possible without any problems during operation, so that a quick adaptation to the performance of the transmission channel can take place in each case.

Claims

Patentansprüche claims
1. Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms in einem digitalen Nachrichtenüber- tragungssystem, bei dem bei einer Kanalcodierung der1. A method for error protection during the transmission of a data bit stream in a digital message transmission system, in which the channel coding is carried out
Datenbitstrom blockweise unter Verwendung eines rekursiven Faltungscodes codiert wird , dadurch gekennzeichnet, daß zum Schutz der im Endbereich eines Datenblocks (xi, x2, x3, ... , xN) befindlichen informationstragenden Bits vor der Kanalcodierung eine vorgegebene Anzahl vorbekannter Tailbits (tι,t2,t3) an das Ende des jeweiligen Datenblocks (xx, x2, x3, ... , xN) angehängt werden.Data bit stream is coded block by block using a recursive convolutional code, characterized in that, in order to protect the information-carrying bits in the end region of a data block (xi, x 2 , x 3 , ..., x N ), a predetermined number of previously known tail bits (tι , t 2 , t 3 ) at the end of the respective data block (x x , x 2 , x 3 , ..., x N ).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß bei der Kanalcodierung ein systematischer Code verwendet wird.2. The method according to claim 1, characterized in that a systematic code is used in the channel coding.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß bei der Kanalcodierung ein Turbo- Code verwendet wird, der mindestens einen rekursiven Faltungscode als Komponentencode beinhaltet.3. The method according to claim 1 or 2, characterized in that a turbo code is used in the channel coding, which contains at least one recursive convolutional code as a component code.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß eine Decodierung des Datenbitstroms als quellengesteuerte Kanaldecodierung, insbesondere mittels eines Apri-Viterbi-Algorithmus oder MAP-Algorithmus, ausgeführt wird.4. The method according to any one of claims 1 to 3, characterized in that a decoding of the data bit stream as source-controlled channel decoding, in particular by means of an Apri-Viterbi algorithm or MAP algorithm, is carried out.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der Datenbitstrom Quellensignale umfaßt .5. The method according to any one of claims 1 to 4, characterized in that the data bit stream comprises source signals.
6. Verfahren nach einem der Ansprüche 1 bis 5, gekennzeichnet durch die Anwendung bei einem Mobilfunksystem. 6. The method according to any one of claims 1 to 5, characterized by the application in a mobile radio system.
7. Vorrichtung zur Durchführung des Verfahrens nach einem der vorstehenden Ansprüche, gekennzeichnet durch einen Kanalencoder zur rekursiven Codierung eines in Datenblöcken unterteilten Datenbitstroms und durch Mittel zum Anhängen einer vorgegebenen Anzahl bekannter Tailbits (tι,t2,t3) an das Ende des jeweiligen Datenblocks (xif x2, x3, ..., xN) .7. Device for performing the method according to one of the preceding claims, characterized by a channel encoder for recursively encoding a data bit stream divided into data blocks and by means for appending a predetermined number of known tail bits (tι, t 2 , t 3 ) to the end of the respective data block (x if x 2 , x 3 , ..., x N ).
8. Vorrichtung nach Anspruch 7, gekennzeichnet durch einen quellengesteuerten Kanaldecodierer, insbesondere zur Ausführung eines Apri-Viterbi-Algorithmus oder MAP- Algorithmus.8. The device according to claim 7, characterized by a source-controlled channel decoder, in particular for executing an Apri-Viterbi algorithm or MAP algorithm.
9. Vorrichtung zur Decodierung eines mit einem Verfahren gemäß einem der Ansprüche 1 bis 6 übertragenen Datenbitstroms, gekennzeichnet durch einen quellengesteuerten Kanaldecodierer, insbesondere zur Ausführung eines Apri-Viterbi-Algorithmus oder MAP- Algorithmus und einer Speichereinrichtung mit einer Datenbasis für die Werte des Log-Likelihood-Verhältnisses für die bekannten Tailbits (ti, t2, t3) . 9. Device for decoding a data bit stream transmitted with a method according to one of claims 1 to 6, characterized by a source-controlled channel decoder, in particular for executing an Apri-Viterbi algorithm or MAP algorithm and a storage device with a database for the values of the log Likelihood ratio for the known tail bits (ti, t 2 , t 3 ).
PCT/DE2001/000022 2000-01-13 2001-01-05 Method for effecting error protection during the transmission of a data bit stream WO2001052424A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE2000101147 DE10001147A1 (en) 2000-01-13 2000-01-13 Data bit stream error protection method esp. for mobile phone networks - requires attaching given number of known tail-bits to end of respective data-blocks for protection of information-carrying bits in end-zones
DE10001147.0 2000-01-13

Publications (1)

Publication Number Publication Date
WO2001052424A1 true WO2001052424A1 (en) 2001-07-19

Family

ID=7627389

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2001/000022 WO2001052424A1 (en) 2000-01-13 2001-01-05 Method for effecting error protection during the transmission of a data bit stream

Country Status (2)

Country Link
DE (1) DE10001147A1 (en)
WO (1) WO2001052424A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1755228A1 (en) * 2004-05-27 2007-02-21 Matsushita Electric Industrial Co., Ltd. Viterbi decoding apparatus and viterbi decoding method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19520987A1 (en) * 1995-06-08 1996-12-12 Siemens Ag Terminating trellis in recursive systematic convolutional code for data security applications
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
WO1999055011A1 (en) * 1998-04-18 1999-10-28 Samsung Electronics Co., Ltd. Channel encoding device and method for communication system
WO1999065148A1 (en) * 1998-06-05 1999-12-16 Samsung Electronics Co., Ltd. Channel coding device and method for rate matching
US6014411A (en) * 1998-10-29 2000-01-11 The Aerospace Corporation Repetitive turbo coding communication method
WO2000035136A1 (en) * 1998-12-07 2000-06-15 Telefonaktiebolaget Lm Ericsson (Publ) Multi punctured fec technique

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19520987A1 (en) * 1995-06-08 1996-12-12 Siemens Ag Terminating trellis in recursive systematic convolutional code for data security applications
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
WO1999055011A1 (en) * 1998-04-18 1999-10-28 Samsung Electronics Co., Ltd. Channel encoding device and method for communication system
WO1999065148A1 (en) * 1998-06-05 1999-12-16 Samsung Electronics Co., Ltd. Channel coding device and method for rate matching
US6014411A (en) * 1998-10-29 2000-01-11 The Aerospace Corporation Repetitive turbo coding communication method
WO2000035136A1 (en) * 1998-12-07 2000-06-15 Telefonaktiebolaget Lm Ericsson (Publ) Multi punctured fec technique

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
COX R V ET AL: "AN EFFICIENT ADAPTIVE CIRCULAR VITERBI ALGORITHM FOR DECODING GENERALIZED TAILBITING CONVOLUTIONAL CODES", IEEE TRANSACTIONS ON VEHICULAR TECHNOLOGY,IEEE INC. NEW YORK,US, vol. 43, no. 1, 1 February 1994 (1994-02-01), pages 57 - 68, XP000450947, ISSN: 0018-9545 *
WANG Y -P E ET AL: "To bite or not to bite-a study of tail bits versus tail-biting", IEEE INTERNATIONAL SYMPOSIUM ON PERSONAL, INDOOR AND MOBILE RADIO COMMUNICATIONS,XX,XX, vol. 2, no. 2, 15 October 1996 (1996-10-15), pages 317 - 321, XP002110573 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1755228A1 (en) * 2004-05-27 2007-02-21 Matsushita Electric Industrial Co., Ltd. Viterbi decoding apparatus and viterbi decoding method
EP1755228A4 (en) * 2004-05-27 2008-04-16 Matsushita Electric Ind Co Ltd Viterbi decoding apparatus and viterbi decoding method
US7861146B2 (en) 2004-05-27 2010-12-28 Panasonic Corporation Viterbi decoding apparatus and Viterbi decoding method

Also Published As

Publication number Publication date
DE10001147A1 (en) 2001-07-19

Similar Documents

Publication Publication Date Title
DE3910739C2 (en)
EP1198913B1 (en) Method of providing error protection for a data bit flow
DE60001988T2 (en) Turbo decoding with variable number of iterations
EP1232596A2 (en) Method for adjusting the data rate in a communication device and the corresponding communication device
DE10008064B4 (en) Method for adapting the data blocks to be supplied to a turbo-coder and corresponding communication device
DE4429585C1 (en) Arithmetic decoding system for transmitted data
EP0737389B1 (en) Transmission system with soft output decoding and reduced storage capacity requirement
DE2816913A1 (en) DECODER FOR CONVOLUTINALLY CODED DATA
DE60316428T2 (en) Method, encoder and communication device for encoding parallel-linked data
EP0988728B1 (en) Source-controlled channel decoding using intra-frame correlation
EP1497943B1 (en) Method and communications device for adapting the data transfer rate in a communications device
DE69908629T2 (en) HYBRID NESTLER FOR TURBO ENCODERS
WO2001052424A1 (en) Method for effecting error protection during the transmission of a data bit stream
DE60118716T2 (en) Log-MAP decoding
EP0422560B1 (en) Method for coding and decoding of binary datas and arrangement for the realization of this method
DE19647653A1 (en) Digital transmission system with trellis-based, condition-reduced estimation method
EP1222763B1 (en) Method for adapting the data rate in a communication device
EP1826911A1 (en) Encoding and decoding with Trellis-coded modulation
DE19520987A1 (en) Terminating trellis in recursive systematic convolutional code for data security applications
DE10000932C2 (en) Method and device for decoding a sequence of code words of variable length, method and device for generating a data stream and method and device for decoding a data stream
WO1998052362A2 (en) Channel coding method
EP1196912B1 (en) Method and device for decoding source signals
DE102008007113A1 (en) Method and device for estimating channel parameters
EP0912021A2 (en) Method and apparatus for data transmission
DE19732122C2 (en) Method and device for data transmission

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN HU US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase