Turbo-Convolutional-Code

Turbo-Convolutional-Code

Turbo-Codes sind eine Gruppe von fehlerkorrigierenden Block- oder Faltungs-Codes, welche in der digitalen Signalverarbeitung zur gesicherten Datenübertragung, beispielsweise auf Satelliten-Übertragungsstrecken, verwendet werden. Sie wurden 1993 von den französischen Wissenschaftlern Claude Berrou, Alain Glavieux und Punya Thitimajshima entwickelt [1].

Die Entwicklung der Turbo-Codes war ein großer Fortschritt im Bereich der Kanalcodierung, da mit ihnen ein Verfahren zur Verfügung steht, mit dem die real erreichbare Kanalausnutzung nahe der theoretisch möglichen Kanalkapazität („Shannon-Limit“) liegt. Dies bedeutet, dass die spektrale Effizienz dieser Codes fast maximal ist, also vergleichbar mit der der Low-Density-Parity-Check-Codes (LDPC).

Inhaltsverzeichnis

Allgemeines

Ein Turbo-Codierer besteht aus mindestens zwei parallel oder seriell geschalteten Codierern für die elementare Codierung. Die elementaren Codierer stellen jeweils für sich einen bestimmten Kanalcode dar. Der erste Codierer erhält die Nutzdaten in unveränderter Form, und dessen Ausgabe wird über einen so genannten Interleaver, welcher die Datenreihenfolge nach bestimmten Regeln umstellt, an den zweiten Codierer als Eingabe weitergeleitet. Der zweite Codierer liefert, bei nur zwei Codern, schließlich die zu übertragene Datenfolge.

Entsprechend werden auf Empfängerseite auch mehrere Decodierer in umgekehrter Reihenfolge parallel oder seriell betrieben. Als Besonderheit tauschen diese Dekodierer untereinander statistische Informationen zur Fehlerkorrektur aus und führen den Decodierungsprozess iterativ aus, wodurch sich für einen vergleichsweise geringen algorithmischen Aufwand eine sehr leistungsstarke Fehlerkorrektur ergibt. Zwar ist die Anzahl der Decodierer gleich der Anzahl der Codierer, die Anzahl der Iterationen beim Decodierungsprozess ist im Regelfall aber größer als die Anzahl der Decodierer.

Die Informationen, die bei der Decodierung zwischen den einzelnen Decodern über den Interleaver hinweg zusätzlich ausgetauscht wird, wird auch als extrinsische Information bezeichnet und ist eine Wahrscheinlichkeitsaussage darüber, ob eine bestimmte Bitstelle des Codewortes eher logisch-0 oder eher logisch-1 entspricht. Extrinsisch ist daran, dass der Decoder, der diese Information bildet, sie nicht selbst verwendet, sondern an den oder die anderen elementaren Decodierer, welche gemeinsam am verketteten Code beteiligt sind, „weiterreicht“ und für diese Decoder die Information quasi „von außen“ kommt.

Damit verbunden ist, dass ein Turbo-Decoder, und somit auch die einzelnen elementaren Decoder darin, immer mit so genannter Soft-Decision arbeiten. Im Englischen wird dies auch als Soft-Input Soft-Output oder SISO bezeichnet. Dies bedeutet die einzelnen Stellen eines Codewortes mit bestimmten Wahrscheinlichkeiten zu verarbeiten.

Durch diese iterative „Rückführung“ von Information zwischen den einzelnen Decodern leitet sich auch die Bezeichnung „Turbo“ ab, welche auf das Funktionsprinzip eines Turboladers und dessen Rückführungsmechanismus zur Leistungssteigerung anspielt. Genau genommen stellt somit nur der Decodierungsprozess das eigentliche Besondere an einem Turbo-Code dar. Der Codierungsprozess hingegen ist nur eine parallele bzw. serielle Codeverkettung von Blockcodes bzw. Faltungscodes mittels eines Interleavers.

Klassifizierung

Grundsätzlich können im Rahmen eines Turbo-Codes beliebige Komponentencodes eingesetzt werden. Es müssen auch nicht einheitliche Codierer gewählt werden, sondern es können Codes mit unterschiedlichen Parametern in der parallelen bzw. seriellen Codeverkettung kombiniert werden. Bei dem Einsatz von Blockcodes als Komponentencode spricht man von Turbo-Product-Codes (TPC), bei Verwendung von Faltungs-Codes spricht man Turbo-Convolutional-Codes (TCC).

Da bei Faltungscodes zur Decodierung relativ einfache, auf der Soft-Decision basierende Algorithmen wie der BCJR-Algorithmus oder der Soft-Output-Viterbi-Algorithmus (SOVA), eine Erweiterung des Viterbi-Algorithmus, zur Verfügung stehen, spielen bei den Turbo-Codes vor allem die Turbo-Convolution-Codes (TCC) eine größere praktische Bedeutung. Bei den auf Blockcodes basierenden Turbo-Product-Codes (TPC) ist eine Soft-Decision seitens Decoder mit größeren Aufwand verbunden.

Turbo-Convolutional-Codes (TCC)

Turbo-Convolutional-Codes sind parallel verkettete systematische Faltungs-Codes. Die Verkettung erfolgt senderseitig durch mehrfache Kodierung zwischen einzelnen Codern über einen Einheit zur Verwürfelung (Interleaver). Durch diesen Prozess der Codeverkettung werden die verschiedenen Faltungscodes voneinander dekorreliert und die einzelnen Stellen weisen eine geringe statistische Abhängigkeit untereinander auf. Es werden auch Verwürfler, welche auf Pseudozufall basieren, eingesetzt. Diese sind noch Teil von Forschungsarbeiten [2].

Um bestimmte Coderaten zu ermöglichen, beispielsweise um eine bestimmte Datenrate genau zu erzielen, werden – meist periodisch – gewisse Codestellen der Komponentencodes punktiert. Punktieren heißt, dass die betroffenen Stelle nicht gesendet wird. Dies muss folglich auf Empfängerseite als Auslöschung berücksichtigt werden.

Turbo-Product-Codes (TPC)

Turbo-Product-Codes sind seriell verkettet. Als Interleaver kommt meist eine einfache Zeilen/Spaltenbildung zur Anwendung: Die Datenbits werden in einer Matrix angeordnet. Bei nur zwei Komponentencodes wird der erste Blockcode über alle Zeilen der Matrix gebildet. Daran anschließend bildet der zweite Blockcode die Codewörter über alle Spalten der Matrix.

Bei einer Implementation sollte man darauf achten, dass insbesondere eine Vielzahl von Turbo Product Codes durch Softwarepatent der France Telecom geschützt sind. Softwarepatente sind allerdings in der EU umstritten und deren Gültigkeit fraglich.

Anwendungsbeispiele

  • In UMTS und DVB-RCS werden neben Faltungs-Codes auch Turbo-Convolutional-Codes eingesetzt.
  • Die ESA-Raumsonden SMART-1 und Rosetta nutzen Turbo-Codes bei der Kommunikation.
  • In drahtlosen Funknetzen (WLAN) zur Datenübertragung nach dem Standard IEEE 802.16 im Rahmen von WiMAX werden unter anderem Turbo-Product-Codes verwendet.

Einzelnachweise

  1. Claude Berrou, Alain Glavieux und Punya Thitimajshima: Near Shannon Limit error-correcting coding and decoding: Turbo-codes, Proceedings of IEEE International Communications Conference 1993
  2. J. Li, E. Qi, Q. Liang: Pseudo-random Interleaver Design for Turbo Codes, Proceeding of the Communications and Computer Networks, CCN 2002, [1]

Literatur

  • Karl Dirk Kammeyer, Volker Kühn: MATLAB in der Nachrichtentechnik. J.Schlembach Fachverlag, Bremen 2001, ISBN 3-935340-05-2. 
  • Todd K. Moon: Error Correction Coding. John Wiley & Sons Inc., 2005, ISBN 0-471-64800-0. 

Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Convolutional code — In telecommunication, a convolutional code is a type of error correcting code in which each m bit information symbol (each m bit string) to be encoded is transformed into an n bit symbol, where m/n is the code rate (n ≥ m) and the transformation… …   Wikipedia

  • Turbo-Code — Turbo Codes sind eine Gruppe von fehlerkorrigierenden Block oder Faltungs Codes, welche in der digitalen Signalverarbeitung zur gesicherten Datenübertragung, beispielsweise auf Satelliten Übertragungsstrecken, verwendet werden. Sie wurden 1993… …   Deutsch Wikipedia

  • Turbo code — In electrical engineering and digital communications, turbo codes (originally in French Turbocodes ) are a class of high performance error correction codes developed in 1993 which are finding use in deep space satellite communications and other… …   Wikipedia

  • Ungerboeck-Code — Die Trellis Code Modulation, oder auch als Ungerboeck Code, Trellis Codierung, Trellis Modulation, abgekürzt als TCM bezeichnet, ist eine in der digitalen Signalverarbeitung eingesetzte Kombination aus Kanalcodierung zur Vorwärtsfehlerkorrektur… …   Deutsch Wikipedia

  • Trellis-Code — Die Trellis Code Modulation, auch als Ungerboeck Code, Trellis Codierung, Trellis Modulation, abgekürzt als TCM bezeichnet, ist eine in der digitalen Signalverarbeitung eingesetzte Kombination aus Kanalcodierung zur Vorwärtsfehlerkorrektur von… …   Deutsch Wikipedia

  • Concatenated error correction code — In coding theory, concatenated codes form a class of error correcting codes that are derived by combining an inner code and an outer code. They were conceived in 1966 by Dave Forney as a solution to the problem of finding a code that has both… …   Wikipedia

  • Faltungs-Code — Faltungscodes (engl. Convolutional Code) ein Begriff der Codierungstheorie werden, wie auch Blockcodes, in der Nachrichtentechnik zur Kanalkodierung eingesetzt, denn sie bieten eine Vorwärtsfehlerkorrektur. Dabei wird durch zusätzlich… …   Deutsch Wikipedia

  • Repeat-accumulate code — In computer science, repeat accumulate codes (RA codes) are a low complexity class of error correcting codes. They were devised so that their ensemble weight distributions are easy to derive. RA codes were introduced by Divsalar et al. In an RA… …   Wikipedia

  • Liste fehlerkorrigierender Codes — Diese Seite enthält eine Auflistung fehlerkorrigierender Codes, welche zu Zwecken der Kanalkodierung eingesetzt werden. Bose Ray Chaudhuri Code (BCH) Faltungs Code Fountain Code Golay Code Hamming Code Low Density Parity Check Code (LDPC)… …   Deutsch Wikipedia

  • Trellis — Die Trellis Code Modulation, oder auch als Ungerboeck Code, Trellis Codierung, Trellis Modulation, abgekürzt als TCM bezeichnet, ist eine in der digitalen Signalverarbeitung eingesetzte Kombination aus Kanalcodierung zur Vorwärtsfehlerkorrektur… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”