DE10001147A1 - Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms - Google Patents

Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms

Info

Publication number
DE10001147A1
DE10001147A1 DE2000101147 DE10001147A DE10001147A1 DE 10001147 A1 DE10001147 A1 DE 10001147A1 DE 2000101147 DE2000101147 DE 2000101147 DE 10001147 A DE10001147 A DE 10001147A DE 10001147 A1 DE10001147 A1 DE 10001147A1
Authority
DE
Germany
Prior art keywords
bits
code
bit stream
data
data bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE2000101147
Other languages
English (en)
Inventor
Wen Xu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
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 AG filed Critical Siemens AG
Priority to DE2000101147 priority Critical patent/DE10001147A1/de
Priority to PCT/DE2001/000022 priority patent/WO2001052424A1/de
Publication of DE10001147A1 publication Critical patent/DE10001147A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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

Abstract

Beschrieben wird 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. Zum Schutz der im Endbereich eines Datenblocks befindlichen informationstragenden Bits werden vor der Kanalcodierung eine vorgegebene Anzahl vorbekannter Tailbits an das Ende des jeweiligen Datenblocks angehängt.

Description

Die Erfindung betrifft ein Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms in einem digitalen Nach­ richtenü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.
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.
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 Sprach­ parameter wird anschließend weitergeleitet. Bei anderen Quellensignalen findet in ähnlicher Form eine Zerlegung in sogenannte quellencodierte Parameter oder auch quellen­ codierte 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.
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 hinzugefügt, aus denen auf der Empfängerseite Schlüsse über die Korrektheit des empfangenen Signals gezogen werden können.
Zur Erzeugung der redundanten Informationen bei der Kanal­ codierung werden in den Übertragungssystemen häufig Faltungs­ codes eingesetzt. Bei Verwendung eines Faltungscodes werden aus den Informationsbits in der Weise Codebits erzeugt, daß nach bestimmten, durch sogenannte Generator- oder Code­ polynome vorgegebenen Regeln, jedes Informationsbit mit bestimmten innerhalb des Datenbitstroms angeordneten anderen informationstragenden Bits verknüpft wird. Die schaltungs­ technische Umsetzung dieser durch die Codepolynome vorge­ gebenen Regeln erfolgt in der Regel durch ein Schieberegister mit mehreren hintereinandergeschalteten Delays und eine Binäraddition der jeweils zu einem bestimmten Zeitpunkt an den Eingängen bzw. Ausgängen der Delays befindlichen Bits. Die Anzahl der Delays des Schieberegisters wird als sogenanntes "Gedächtnis" m des Codes bezeichnet.
Durch verschiedene Verknüpfungen können dabei aus einem primären Informationsbitstrom mehrere unterschiedliche Code­ bitströme erzeugt werden. Das Verhältnis der Anzahl der Ein­ gangsbitströme zur Anzahl der bei der Codierung erzeugten Codebitströme ist die sogenannte "Rate" des Codes. Ein Code mit der Rate 1/2 erzeugt demnach aus einem Informations­ bitstrom u1 u2 u3 . . . zwei Codebitströme v1 (1)v2 (1)v3 (1) . . . und v1 (2)v2 (2)v3 (2) . . .. Diese Codebitströme werden zu einem gemeinsamen Bitstrom in der Form v1 (1)v1 (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.
Beim Einsatz von Faltungscodes in Übertragungssystemen können aus verschiedenen Gründen, wie z. B. der Synchronisation oder dem störenden Einfluß der Decodierverzögerung, 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.
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.
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.
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ück­ gekoppelt werden. Solche rekursiven Faltungscodes sind bei schlechten Kanalbedingungen besonders sicher. Sie werden daher weitgehend in den bestehenden Mobilfunkstandards eingesetzt.
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 vom 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.
Ein schematisches Blockschaltbild eines mit einem rekursiven Faltungscode arbeitenden Encoders, der am Ende eines jeden Datenblocks terminiert wird, ist in der Fig. 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.
Wie dem Schema zu entnehmen ist, weist das zugehörige Schieberegister drei Delays D1, D2, D3 auf. Der Code hat daher ein Gedächtnis von m = 3. Der am Eingang 1 ankommende Informationsbitstrom u1 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 v1 (1)v2 (1)v3 (1) . . . entspricht daher dem eingehenden Informationsbitstrom u1 u2 u3 . . .. Der Code ist somit ein sogenannter "systematischer Code", da im ausgehenden Datenbitstrom die eingehenden Informationsbits identisch enthalten sind.
Weiterhin wird der eingehende Bitstrom u1 u2 u3 . . . durch das aus den drei Delays D1, D2, D3 bestehende Schieberegister geführt, wobei jeweils am Eingang und am Ausgang jedes Delays D1, 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 v1 (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 u1 u2 u3 . . . und v1 (2)v2 (2)v3 (2) . . . wie gewünscht hintereinandergesetzt.
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) = 1 + D2 + D3 und n(D) = 1 + D + D3. Um den Code bzw. das Schieberegister zum "0"- Zustand zu terminieren, werden nach der Encodierung der Informationsbits u1 u2 u3 . . . eines Datenblocks anschließend die Bits t1, t2, t3 über die gestrichelt dargestellte Leitung 15 und den entsprechend umgelegten Schalter 2 zum Eingang des Encoders geschickt. Da diese Tailbits t1, 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 m = 3 Takten in den "0"-Zustand über. Die der Terminierung entsprechenden zusätzlich noch zu übertragenden Codebits sind dann am Ausgang 14 die Tailbits t1, t2, t3 und am Ausgang 13 die aus diesen Bits erzeugten Codebits.
Ein Nachteil einer solchen Terminierung von rekursiven Codes besteht darin, daß die Informationsbits u1 u2 u3 . . . und die Tailbits t1, t2, t3 nicht nur bei der Codierung besonders behandelt werden müssen, sondern auch bei der Decodierung eine separate Behandlung erforderlich ist.
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.
Es ist Aufgabe der vorliegenden Erfindung, eine einfache und kostengünstige Alternative zu diesem bekannten Stand der Technik zu schaffen.
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 einheit­ lich 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 ins­ besondere 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 Übertragungs­ qualitä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.
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.
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.
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.
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.
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.
Besondere praktische Bedeutung haben das vorgeschlagene Ver­ fahren und die Vorrichtungen für die fehlergeschützte Über­ tragung der eingangs genannten Quellensignale wie Sprach-, Audio- oder Videosignale. Sie sind folglich besonders für die Anwendung in Mobilfunksystemen geeignet.
Die Erfindung wird im folgenden anhand eines Ausführungs­ beispiels 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 erfindungsgemäßen Verfahren dargestellt sind, auch bezüglich der Vorrichtungen zur Durchführung des Verfahrens erfindungswesentlich sein können und umgekehrt. Es zeigen:
Fig. 1 ein schematisches Blockschaltbild eines RSC-Codes nach dem klassischen, im Stand der Technik bekannten Verfahren mit einer Terminierung des Codes durch die Tailbits;
Fig. 2 ein schematisches Blockschaltbild des gleichen RSC wie in Fig. 1, jedoch bei Verwendung des erfindungsgemäßen Verfahrens;
Fig. 3 ein Beispiel für die Encodierung und Decodierung eines Blocks von N-Informationsbits Xi mit drei Tailbits "0";
Fig. 4 ein Diagramm der Simulationsergebnisse für einen RSC- Code mit Gedächtnis m = 8 und Rate = 1/2 über einem AWGN- Kanal mit einem Signal-to-Noise-Ratio von -1 dB.
Da das erfindungsgemäße Verfahren einen Hauptanwendungs­ bereich 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.
Fig. 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) = 1 + D2 + D3 und n(D) = 1 + D + D3. Es handelt sich hierbei folglich um den gleichen Code, der bereits als Ausführungsbeispiel in Fig. 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.
Der erfindungsgemäße wesentliche Unterschied zu dem klassischen Verfahren besteht darin, daß zum Ende eines Blocks von informationstragenden Bits x1 x2 . . . xN die Tailbits t1, t2, t3 nicht, wie in Fig. 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 t1', t2', t3' 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.
Da es sich hierbei um einen systematischen Code handelt, werden die eingehenden Informationsbits x1 x2 . . . xN ü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 z1 z2 . . . zN zN+1 zN+3 zN+3 zu einem gemeinsamen Ausgangsbitstrom verschachtelt, welcher über den Kanal übertragen wird.
Die Bits eines Datenblocks direkt vor der Kanalencodierung sind noch einmal in Fig. 3(a) dargestellt. Fig. 3(c) zeigt außerdem die von diesem Encoder ausgesendeten und am Kanaldecoder empfangenen Daten x* i, z* i (i = 1, 2, 3 . . . N + 1) 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.
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 - 1) . 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.
Zur Decodierung sind beispielsweise folgende Methoden möglich, bei denen das Apriori-Wissen über die bekannten Tailbits verwendet werden kann.
Im Falle eines normalen Viterbi-Algorithmus kann z. B. das Apriori-Wissen bei der Selektion der möglichen Pfade im Trellis-Diagramm verwendet werden. Das heißt, daß Pfade, mit denen die bekannten Tailbits falsch decodiert werden, verworfen werden.
Bei Verwendung eines Apri-Viterbi-Algorithmus, wie er bei­ spielsweise 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 = "-∞" gesetzt werden. In Fig. 3(b) sind die entsprechenden L-Werte für die Kanaldecodierung der in Fig. 3(a) dargestellten Bits vor der Kanalencodierung (inklusive der bekannten Tailbits) dargestellt. Wenn kein Apriori-Wissen vorhanden ist, wird für die Informationsbits x1 x2 . . . xN ein Wert Li = 0 (i = 1 bis N) gesetzt.
Fig. 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 + D4 + D8 und d(D) = 1 + D1 + D2 + D3 + D5 + D7 + D8.
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 die Beendigung des Blocks auf ungefähr die letzten 50 Bits zurück.
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.
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 übertragenden 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).
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.
Es zeigt sich also, daß bei dem vorliegenden Ausführungs­ beispiel mit r = 2 und m = 8 im Falle der klassischen 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.
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.

Claims (9)

1. Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms in einem digitalen Nachrichtenüber­ tragungssystem, bei dem bei einer Kanalcodierung der Datenbitstrom blockweise unter Verwendung eines rekursiven Faltungscodes codiert wird, dadurch gekennzeichnet, daß zum Schutz der im Endbereich eines Datenblocks (x1, x2, x3, . . ., xN) befindlichen informationstragenden Bits vor der Kanalcodierung eine vorgegebene Anzahl vorbekannter Tailbits (t1, t2, t3) an das Ende des jeweiligen Datenblocks (x1, x2, x3, . . ., xN) angehängt werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß bei der Kanalcodierung ein systematischer Code verwendet wird.
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.
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.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß der Datenbitstrom Quellensignale umfaßt.
6. Verfahren nach einem der Ansprüche 1 bis 5, gekennzeichnet durch die Anwendung bei einem Mobilfunksystem.
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 (t1, t2, t3) an das Ende des jeweiligen Datenblocks (x1, x2, x3, . . ., xN).
8. Vorrichtung nach Anspruch 7, gekennzeichnet durch einen quellengesteuerten Kanaldecodierer, insbesondere zur Ausführung eines Apri-Viterbi-Algorithmus oder MAP- Algorithmus.
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 (t1, t2, t3).
DE2000101147 2000-01-13 2000-01-13 Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms Withdrawn DE10001147A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE2000101147 DE10001147A1 (de) 2000-01-13 2000-01-13 Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms
PCT/DE2001/000022 WO2001052424A1 (de) 2000-01-13 2001-01-05 Verfahren zum fehlerschutz bei der übertragung eines datenbitstroms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000101147 DE10001147A1 (de) 2000-01-13 2000-01-13 Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms

Publications (1)

Publication Number Publication Date
DE10001147A1 true DE10001147A1 (de) 2001-07-19

Family

ID=7627389

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000101147 Withdrawn DE10001147A1 (de) 2000-01-13 2000-01-13 Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0511576A (pt) * 2004-05-27 2008-01-02 Matsushita Electric Ind Co Ltd aparelho de decodificação de viterbi e método de decodificação de viterbi

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19520987A1 (de) * 1995-06-08 1996-12-12 Siemens Ag Verfahren zur Terminierung des Trellis bei rekursiven systematischen Faltungscodes
US5721745A (en) * 1996-04-19 1998-02-24 General Electric Company Parallel concatenated tail-biting convolutional code and decoder therefor
DE69942684D1 (de) * 1998-04-18 2010-09-30 Samsung Electronics Co Ltd Turbocodierung mit Einfügung bekannter Bits
BR9906479B1 (pt) * 1998-06-05 2013-01-22 dispositivo de codificaÇço de canal, e, processo de codificaÇço de canal.
US6014411A (en) * 1998-10-29 2000-01-11 The Aerospace Corporation Repetitive turbo coding communication method
US6553540B1 (en) * 1998-12-07 2003-04-22 Telefonaktiebolaget Lm Ericsson Efficient system and method for forward error correction

Also Published As

Publication number Publication date
WO2001052424A1 (de) 2001-07-19

Similar Documents

Publication Publication Date Title
EP1198913B1 (de) Verfahren zum fehlerschutz eines datenbitstromes
DE60113053T2 (de) Vor-Dekoder für Turbodekoder, zur Rückgewinnung von punktierten Paritätssymbolen, sowie ein Verfahren zur Rückgewinnung eines Turbokodes
DE3910739C2 (de)
DE60001988T2 (de) Turbo Dekodierung mit variabler Anzahl von Iterationen
DE10008064B4 (de) Verfahren zum Anpassen der einem Turbo-Codierer zuzuführenden Datenblöcke und entsprechende Kommunikationsvorrichtung
WO2001039421A2 (de) Verfahren zur anpassung der datenrate in einer kommunikationsvorrichtung und entsprechende kommunikationsvorrichtung
DE60316428T2 (de) Verfahren, Kodierer und Kommunikationsvorrichtung zur Kodierung von parallel verketteten Daten
EP0737389B1 (de) Übertragungssystem mit soft-output-dekodierung bei reduziertem speicherbedarf
DE60111974T2 (de) Abbruchkriterium für einen Turbodekoder
DE69908629T2 (de) Hybrid verschachteler für turbo-kodierer
EP1497943B1 (de) Verfahren und kommunikationsvorrichtung zur anpassung der datenrate in einer kommunikationsvorrichtung
DE19934646C2 (de) Verfahren und Vorrichtung zur iterativen Decodierung von verketteten Codes
DE10001147A1 (de) Verfahren zum Fehlerschutz bei der Übertragung eines Datenbitstroms
DE60118716T2 (de) Log-MAP Dekodierung
DE19647653A1 (de) Digitales Übertragungssystem mit trellisbasiertem, zustandsreduziertem Schätzverfahren
EP0422560B1 (de) Verfahren zum Codieren und Decodieren von binären Daten sowie Einrichtung zur Durchführung des Verfahrens
DE19725275C2 (de) Verfahren zur Decodierung von block- oder faltungscodierten digitalen Signalen
DE19520987A1 (de) Verfahren zur Terminierung des Trellis bei rekursiven systematischen Faltungscodes
EP1222763B1 (de) Verfahren zur anpassung der datenrate in einer kommunikationsvorrichtung
WO2007098814A1 (de) Codierung und decodierung mit trellis-codierter modulation
DE10000932C2 (de) Verfahren und Vorrichtung zum Decodieren einer Folge von Codewörtern variabler Länge, Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Decodieren eines Datenstroms
WO1998052362A2 (de) Kanalcodierungsverfahren
EP1196912B1 (de) Verfahren und vorrichtung zur decodierung von quellensignalen
DE19732122C2 (de) Verfahren und Einrichtung zur Datenübertragung
EP0912021A2 (de) Verfahren und Einrichtung zur Datenübertragung

Legal Events

Date Code Title Description
8141 Disposal/no request for examination