www.wikidata.de-de.nina.az
Faltungscodes auch konvolutioneller Code engl Convolutional Code ein Begriff der Codierungstheorie werden wie auch Blockcodes in der Nachrichtentechnik zur Kanalkodierung eingesetzt denn sie bieten eine Vorwartsfehlerkorrektur Dabei wird durch zusatzlich eingebrachte Redundanz ein hoherer Schutz gegen Ubertragungs bzw Speicherfehler erreicht Durch das namensgebende mathematische Verfahren der Faltung auch Konvolution genannt wird der Informationsgehalt der einzelnen Nutzdatenstellen uber mehrere Stellen des Codewortes verteilt Faltungscodes haben nichts mit der ahnlich klingenden Code Faltung zu tun Inhaltsverzeichnis 1 Bedeutung 2 Beschreibung 2 1 Parameter 2 2 Terminierung 2 3 Grafische Darstellung 2 4 Decodierung 2 5 Punktierung 2 6 Erweiterung 3 Literatur 4 WeblinksBedeutung BearbeitenFaltungscodes werden beispielsweise im Mobilfunk und bei Satellitenubertragungen zur digitalen Datenubertragung eingesetzt Sie finden aber auch bei Speichermedien wie Festplatten Anwendung und dienen dort zum Schutz gegen Lesefehler Eine Kombination aus Faltungscodierung und digitaler Modulation ist die Trellis Coded Modulation Ein Faltungscodierer bildet dabei im Regelfall eingangsseitig k Informationsbits Nutzdatenbits auf ein n Bit langes Codewort ab wobei k kleiner als n ist Aufeinanderfolgende Codeworter sind voneinander abhangig d h ein Faltungscodierer besitzt im Gegensatz zu Blockcodes ein inneres Gedachtnis Da sich in der Praxis allerdings nur endlich lange Datensequenzen bearbeiten lassen werden diese Sequenzen auf eine bestimmte Anzahl an Codewortern limitiert Danach wird der Faltungscodierer durch Terminierung wieder in einen definierten Zustand gebracht der meist gleich dem Ausgangszustand ist Daher lassen sich ubliche Faltungscodes auch als eine Form von speziellen nicht systematischen Blockcodes beschreiben Bei Faltungscodes wird die Information die ein bestimmtes Nutzdatenbit tragt uber mehrere Stellen Bits des Codewortes verteilt Die Verteilung des Informationsgehaltes man kann sich dies auch als eine Art Verschmierung uber einzelne Bits des Codewortes vorstellen wird durch die mathematische Funktion der Faltung erreicht Dadurch entstehen Abhangigkeiten zwischen den einzelnen Codebits Werden durch Fehler einzelne Stellen des Codewortes verfalscht wobei die Anzahl der Fehler pro Codewort eine bestimmte obere Grenze nicht uberschreiten darf kann der Faltungsdecodierer durch die uber mehrere Stellen verteilte Information die korrekte Nutzdatenfolge aus den um die Fehlerstelle benachbarten Stellen des Codewortes ermitteln Eine wesentliche Besonderheit von Faltungscodes ist dass fur deren Konstruktion kein systematisches Verfahren bekannt ist Faltungscodes werden primar durch rechenaufwendige Simulationen und das Durchprobieren sehr vieler unterschiedlicher Faltungsstrukturen oder auch durch zufallige Entdeckungen gewonnen Die Mehrzahl der dabei durchprobierten Strukturen liefert so genannte katastrophale Faltungscodes die bestimmte Ubertragungsfehler nicht korrigieren sondern durch eine theoretisch unendlich lange Folge von Fehlern ersetzen Daher existieren im Vergleich zu den Blockcodes nur sehr wenige in der Praxis relevante und verwertbare Faltungscodes Dafur sind fur die Decodierung von Faltungscodes mittels so genannter Soft Decision sehr leistungsfahige Verfahren in Form des Viterbi Algorithmus bekannt Beschreibung Bearbeiten nbsp Struktur eines nicht rekursiven Faltungscodierers mit Rc 1 2 nbsp Rekursiver Faltungscodierer mit einer RuckkopplungEin Faltungscodierer lasst sich durch ein Schieberegister beschreiben in das seriell die Nutzdatenbits geschoben werden und einer kombinatorischen Struktur aus logischen XOR Verknupfungen die das ausgangsseitige Codewort bilden Dabei wird zwischen zwei wesentlichen Strukturen unterschieden Nicht rekursive Faltungscodierer Rekursive FaltungscodiererRekursive Faltungscodierer besitzen interne Ruckkopplungsstellen die zu unendlich langen Ausgabefolgen fuhren konnen Rekursive Faltungsstrukturen lassen sich systematisch aus den nicht rekursiven Faltungsstrukturen gewinnen Diese Kodierer werden in der Literatur als RSC Encoder Recursive Systematic Convolutional Encoder bezeichnet Die Unterteilung ist ahnlich motiviert wie bei den digitalen Filtern mit endlicher Impulsantwort FIR mit nicht rekursiver Struktur bzw den Filtern mit unendlicher Impulsantwort IIR mit rekursiver Struktur Allerdings haben Faltungscodierer ausser groben Ahnlichkeiten in der Struktur nichts mit digitalen Filtern im Speziellen zu tun Parameter Bearbeiten Aus der Struktur eines Faltungscodierers ergibt sich die Einflusslange oder auch Gedachtnisordnung Lc Sie beschreibt die Anzahl der Takte die ein Eingangsbit Nutzdatenbit benotigt um alle Stellen des Schieberegisters zu durchlaufen und somit ein Einfluss eines bestimmten Nutzdatenbits auf das ausgangsseitige Codewort vorliegt Bei nicht rekursiven Faltungscodierern entspricht sie der Anzahl der Speicherelemente des Faltungscodierers Ein weiterer Parameter eines Faltungscodes ist seine Coderate Rc Sie gibt das Verhaltnis von der ganzzahligen Anzahl k der eingangsseitigen Informationsbits zu der ganzzahligen Anzahl n der ausgangsseitig erzeugten Codebits an R c k n displaystyle R c frac k n nbsp Rc ist dabei immer kleiner gleich 1 Dabei kann die Anzahl k der eingangsseitigen Informationsbit auch grosser 1 sein In diesem Fall werden pro Takt mehrere Nutzdatenbits parallel an den Encoder geschickt Die ebenfalls parallel abzugreifenden ausgangsseitigen n Codebits werden durch einen Multiplexer in einen seriellen Datenstrom mit entsprechend hoherer Taktrate umgewandelt Bei bestimmten Faltungscodes konnen einzelne eingangsseitige Nutzdatenbits auch direkt bestimmten ausgangsseitigen Codebits ohne eine Faltungscodierung zugeordnet werden In diesem Fall spricht man von asymmetrischen Faltungscodes Diese Verfahren werden beispielsweise bei der Trellis Codierten Modulation als wesentlicher Bestandteil verwendet Werden hingegen alle Nutzdatenbits jeweils eigenen Schieberegisterketten der Gedachtnisordnung Lc zugeordnet spricht man von symmetrischen Faltungscodes Terminierung Bearbeiten In praktischen Anwendungen sind nur Nutzdatensequenzen mit endlicher Lange von Bedeutung Dies macht eine sogenannte Terminierung engl Termination der Sequenz notwendig Man bezeichnet hiermit das Zuruckfuhren des Encoders in einen definierten Endzustand Falls keine Terminierung am Ende der Nutzdatensequenz vorgenommen wird wirkt sich dies wesentlich auf die Korrekturfahigkeit bei der Decodierung aus Ist dem Decodierer der Endzustand einer Sequenz namlich nicht bekannt kann er die letzten Informationsbits nur sehr unsicher abschatzen was eine gesteigerte Fehlerwahrscheinlichkeit zur Folge hat Ist der Endzustand und die Sequenzlange N hingegen bekannt und zwischen Encoder und Decoder vereinbart kann die Bestimmung der letzten Stellen einer Nutzdatensequenz auf Decoderseite sicher erfolgen Im Falle von nicht rekursiven Faltungscodes werden typischerweise an das Ende einer Nutzdatensequenz eine Folge von logisch 0 Bits angehangt Dieser sogenannte Tail fuhrt den Encoder in einen definierten Endzustand den so genannten Nullzustand zuruck der auch dem Decoder bekannt ist Durch diese zusatzlichen Terminierungsstellen am Ende verlangert sich allerdings die Nutzdatensequenz und die Coderate reduziert sich auf den Wert R c tail R c 1 k 1 L c 1 N displaystyle R c text tail R c cdot frac 1 k cdot left 1 frac L c 1 N right nbsp Im Falle von rekursiven Faltungscodes hangt der Tail von den vorherigen Nutzdaten ab Grafische Darstellung Bearbeiten nbsp Zustandsubergangsdiagramm eines nicht rekursiven Faltungscode mit zwei Speichern nbsp Trellis Diagramm mit vier Zustanden uber funf Zeitpunkte rot eingezeichnet ist ein moglicher EntscheidungswegEin Faltungscodierer kann als endlicher Automat mittels Zustandsubergangsdiagramm interpretiert werden wie er in nebenstehender Abbildung fur zwei Speicher mit vier Zustanden abgebildet ist Die Anzahl der Zustande ergibt sich allgemein bei binarem Code aus der Anzahl z der Zustandsspeicher zu 2z Der Nachteil der Darstellungsform mittels Zustandsubergangsdiagramm ist der fehlende zeitliche Bezug Dieser fehlende zeitliche Bezug bei der seriellen Decodierung kann durch ein Trellis Diagramm kurz Trellis visualisiert werden Ein Trellis Diagramm ist die Darstellung eines Zustandsubergangsdiagramms das uber die Zeitachse abgerollt wird Im Rahmen des Trellis Diagramms lassen sich auch die Decodierungsprozesse von Faltungscodes mit dem Viterbi Algorithmus anschaulich darstellen Dabei bekommen die einzelnen Ubergange von einem Zustand in den nachsten verschiedene Wahrscheinlichkeitswerte zugeordnet wodurch in sich in der Folge uber mehrere Zustande hinweg meist eindeutig ein einziger Pfad im Trellis herausbildet der die geringste Summenfehlerwahrscheinlichkeit gegenuber allen anderen Pfaden aufweist Die diesem Pfad zugeordneten Symbole werden dann vom Decoder als die am wahrscheinlichsten gesendeten Symbole angesehen und die zugeordneten Informationsbits zur weiteren Verarbeitung ausgegeben MLSE Maximum Likelihood Sequence Estimation Bei Faltungscodes mit hoher Einflusslange wachsen allerdings die Anzahl der Zustande im Trellis Diagramm exponentiell und diese Darstellung samt den Ubergangskanten wird schnell unubersichtlich Das Trellis Diagramm dient daher zur Darstellung des Decodierungsprozesses mittels Viterbi Algorithmus bei beispielhaften Faltungscodes mit geringer Einflusslange Decodierung Bearbeiten In der Regel kommt fur die Decodierung von Faltungscodes der Viterbi Decoder zum Einsatz Dieses Verfahren basiert wie erwahnt auf der Trellis Darstellung des Codes und bestimmt fur eine gestorte Codesequenz die wahrscheinlichste zugehorige Nutzdaten oder Codesequenz Der Viterbi Decoder kann dabei nicht nur binare sondern auch kontinuierliche Eingangssequenzen verarbeiten Man spricht dann von Hard bzw Soft Decision Decodierung Generell lassen sich Soft Decision Decoder fur Faltungs Codes leichter realisieren als dies bei Block Codes der Fall ist Der klassische Viterbi Decoder gibt binare Sequenzen aus fur verschiedene Anwendungen ist es jedoch wichtig nicht nur die einzelnen decodierten Bits zu kennen sondern auch deren Zuverlassigkeit Das Erzeugen dieser Zuverlassigkeiten kann beispielsweise mit Hilfe eines modifizierten Viterbi Decoders dem sogenannten Soft Output Viterbi Algorithmus SOVA oder dem MAP BCJR Algorithmus erfolgen Fur Codes mit sehr grossen Gedachtnisordnungen wird das Trellis sehr komplex und eine trellisbasierte Decodierung mittels Viterbi Decoder damit sehr aufwendig In diesem Fall konnen alternativ sequentielle suboptimale Decodierer verwendet werden welche auf der Darstellung des Codebaums arbeiten Punktierung Bearbeiten Bei Faltungscodes lasst sich durch eine sogenannte Punktierung des Codewortes gezielt eine bestimmte Coderate Rc wahlen Bei der Punktierung werden bestimmte Bitpositionen des Codewortes weggelassen punktiert und dadurch die Coderate erhoht Der Decoder muss dieses sogenannte Punktierungsschema kennen und bei der Decodierung berucksichtigen Der Grund fur Punktierung liegt darin die Codewortlangen genau auf eine bestimmte Rahmenlange fur die nachfolgende Datenubertragung bzw Datenspeicherungen auszulegen Durch das Weglassen einzelner Stellen des Codewortes kommt es allerdings auch zu einer Reduktion der Korrekturleistung Erweiterung Bearbeiten Die Erweiterung sind verkettete Faltungscodes Dabei werden mehrere unterschiedliche oder auch gleiche Faltungscodes seriell oder parallel miteinander verkettet Die Verkettung der einzelnen Codes erfolgt uber eine Funktion die als Interleaver bezeichnet wird und eine gleichmassige Verteilung von Fehlern auf die unterschiedlichen Codes ermoglicht und eine Art Entkopplung der Teilcodes ergibt Damit kann ein grosserer Codegewinn erreicht werden als die Summe der einzelnen Faltungscodes fur sich alleine Eine spezielle Form der Codeverkettung sind die Turbo Codes Eine Untergruppe der Turbo Codes die sogenannten Turbo Convolutional Codes TCC basieren auf rekursiven systematischen Faltungscodes Nicht rekursive Faltungscodes weisen bei den TCC nicht die gleichen Verbesserung im Codegewinn auf Literatur BearbeitenMartin Bossert Kanalcodierung Informationstechnik 2 vollstandig neubearbeitete und erweiterte Auflage B G Teubner Stuttgart 1998 ISBN 3 519 16143 5 Karl Dirk Kammeyer Volker Kuhn MATLAB in der Nachrichtentechnik J Schlembach Fachverlag Weil der Stadt 2001 ISBN 3 935340 05 2 Todd K Moon Error Correction Coding Mathematical Methods and Algorithms Wiley Interscience Hoboken NJ 2005 ISBN 0 471 64800 0 Weblinks BearbeitenErklarung des Faltungscodes mit Viterbi Algorithmus englisch Erklarung des Faltungscodes mit Viterbi Algorithmus mit detailliertem Beispiel PDF 548 kB Abgerufen von https de wikipedia org w index php title Faltungscode amp oldid 232255326