-
Die
vorliegende Erfindung betrifft im Allgemeinen ein digitales Übertragungsverfahren
des Typs mit Fehlerkorrekturcodierung, insbesondere für ein System
zum digitalen Übertragen
auf einem Kanal mit starker Störung.
Genauer genommen betrifft sie das Unterbrechen des iterativen Decodierens
eines Verfahrens zur digitalen Übertragung
des Typs mit Fehlerkorrekturcodierung, das Codierungsschemata des
Typs Turbo-Code verwendet.
-
Ein
System zur digitalen Übertragung
befördert
Information, indem es einen physikalischen Träger, wie zum Beispiel das Kabel,
die Lichtleitfaser oder die Ausbreitung auf einem Funkkanal über Satellit
oder nicht verwendet. Ein solcher physikalischer Träger wird
Kanal genannt. Im Allgemeinen umfasst ein solches System insbesondere
auf der Ebene des Sendens eine Vorrichtung, die Kanalcodierer genannt
wird, und auf der Ebene des Empfangs eine entsprechende Decodiervorrichtung.
-
Die
Kanalcodiervorrichtung hat eine so genannte Fehlerkorrekturcodierung.
Die Fehlerkorrekturcodierungsfunktion besteht darin, eine redundante Information beim
Senden zu erzeugen, die es beim Decodieren auf der Empfangsebene
erlaubt, die übertragene
Nutzinformation ausgehend von der am Ziel ankommenden Information,
empfangene Information genannt, die durch die Störungen beeinträchtigt ist,
die auf dem Kanal auftreten, insbesondere des Typs Rauschen, Dämpfungen
und Interferenzen, zu rekonstruieren. Ein Verfahren zum digitalen Übertragen,
das eine solche Kanalcodierung verbunden mit einem entsprechenden
Zieldecodieren verwendet, wird Übertragungsverfahren
des Typs mit Fehlerkorrekturcodierung genannt.
-
Der
Codierungsvorgang erfolgt zum Beispiel auf der Bit-Ebene. Dieser
Vorgang verbindet mit einer binären
Nutzdatensequenz eine entsprechende binäre Sequenz codierter Information.
Man nennt diese binäre
Sequenz codierter Information Codewort, wenn die Größe der binären Sequenzen
von Nutzinformation fest ist. Die binäre Sequenz codierter Information
ist größer als
die binäre
Sequenz von Nutzinformation, so dass eine Redundanz eingeführt wird. Aufgrund
dieser Redundanz sind nur bestimmte Sequenzen codierter Information,
die dem Codierungsgesetz entsprechen, möglich. Wenn die empfangenen
zu decodierenden Informationssequenzen anders sind als diese möglichen
Sequenzen, bedeutet das, dass sie Information entsprechen, die vom
Kanal beeinträchtigt
wurde. Die Aufgabe des Decodierungsverfahrens besteht daher darin,
die Nutzinformation ausgehend von der empfangenen Informationssequenz
bestens zu rekonstruieren, wobei das verwendete Codierungsgesetz
bekannt ist. Das Decodieren der einfachsten Codes auf optimale Weise ist
bekannt, das heißt,
indem man unter allen möglichen
Sequenzen die plausibelste Sequenz wieder findet. Für die komplexesten
Codes, wie zum Beispiel die Turbo-Codes, ist der einschränkende Faktor
im Allgemeinen die Komplexität
des Decodierers.
-
Die
Leistung einer Übertragung
mit Fehlerkorrekturcodierung misst man im Allgemeinen an der Rate
binärer
Fehler oder Pakete für
ein gegebenes Rauschverhältnis
Eb/No, wobei Eb die Energie pro Informationsbit ist und
No die spektrale Leistungsdichte des Rauschens
ist. Man qualifiziert einen Code je nachdem, ob sein Gebrauch eine
mehr oder minder schwache Fehlerrate für ein gegebenes Rauschverhältnis Eb/No und für eine gegebene
Decodierungskomplexität
erlaubt, als mehr oder weniger leistungsfähig.
-
Die
Leistung des Codes ist die Anzahl an Nutzinformationsbits pro codiertem
Informationsbit.
-
Bekannte
Fehlerkorrekturcodes sind die Blockcodes. Das Blockcodieren besteht
darin, mit jedem Block mit k Informationsbits einen Block mit n Bits
(n > k) zu verbinden,
der daher (n – k)
Redundanzbits enthält.
Der Block mit n Bits wird erzielt, indem man den Block mit k Nutzbits
mit einer Matrix mit k Zeilen und n Spalten multipliziert, die Codeerzeugungsmatrix
genannt wird. Wenn die Erzeugungsmatrix durch Permutation in einer
derartigen Form geschrieben ist, dass sie die Identitätsmatrix
erscheinen lässt,
so dass in dem Block mit n Bits die k Informationsbits und die n – k Redundanzbits
getrennt sind, wird der Code systematisch genannt. Die Leistung
des Codes ist gleich k/n. Die Decodiervorrichtung erfasst die Fehler
und korrigiert sie über
den minimalen Hamming-Abstand. Derartige Fehlerkorrekturcodes, die
in der Technik wohlbekannt sind, sind zum Beispiel die Hamming-Codes, die BCH-Codes und
die Reed-Solomon-Codes.
-
Die
Tatsache, eine Fehlerkorrekturcodierung mit Hilfe eines oder mehrerer
Faltungscodierer durchzuführen,
ist ebenfalls wohlbekannt. Ihr Funktionsprinzip besteht darin, einen
Block aus k binären Elementen,
die am Eingang des Codierers vorhanden sind, unter Berücksichtigung
auch von m vorangehenden Blöcken,
die am Eingang vorhanden sind, mit Hilfe einer Registervorrichtung
des Typs Schieberegister in einen Block mit n binären Elementen
zu codieren. Der Ausgang des Faltungscodierers besteht aus n binären codierten
Elementen, die von dem Produkt der Faltung der k binären Elemente,
die am Eingang vorhanden sind, mit der Antwort des Codierers erzeugt
werden, die durch n Erzeugungs- bzw. Generatorpolynome definiert
ist. Die Leistung des Codes ist gleich k/n. Die Decodiervorrichtung
rekonstruiert die Ursprungsdaten zum Beispiel mit Hilfe eines Decodierens
des sequentiellen Typs, eines Decodierens gemäß dem plausibelsten Symbol,
oder eines Decodierens gemäß der plausibelsten
Sequenz, wie es zum Beispiel in dem Dokument „Digital Communications" von J.G. Proakis,
erschienen 1995 im Verlag MacGraw-Hill, beschrieben ist. Der Viterbi-Algorithmus
gewährleistet
zum Beispiel ein optimales Decodieren gemäß der plausibelsten Sequenz.
-
Gemäß einer
Variante dieses Typs von Codes erfolgt die Codierung nicht unter
direkter Berücksichtigung
einer Reihe von m Nutzinformationen, die der zu codierenden Information
vorangehen, sondern unter Verwendung einer Reihe von m Hilfsinformationen,
die in einer Vorrichtung des Schieberegistertyps gespeichert sind,
welche alle durch mathematische Kombination einer Nutzinformation
und von m Hilfsinformationen, die zuvor berechnet wurden, erzielt
werden. Ein solcher Faltungscode wird rekursiv genannt. Wenn die
Nutzinformation ferner so wie sie ist unter den n Ausgängen des
Codierers neben (n – 1)
codierten Informationen oder redundanten Informationen hervorgeht,
wird der daraus resultierende Code ein systematischer rekursiver
Faltungscode oder RSC-Code genannt.
-
Es
ist ebenfalls bekannt, mehrere verschiedene Codierer zu kombinieren,
um die Leistung der Codierung zu steigern. Die von einem ersten
Codierer codierten Daten können
zum Beispiel zu einem zweiten Codierer geliefert werden. Das Decodieren erfolgt
symmetrisch, indem mit dem zweiten Code begonnen wird.
-
Ein
leistungsfähiger
Kombinationstyp von Codierern wurde vorgeschlagen, wie es insbesondere
in dem Dokument „Near
Shannon Limit Error – Correcting
Coding and Decoding: Turbo-codes",
von C. Berrou, A. Glavieux, P. Thitimajshima beschrieben, erschienen
in ICC-1993, Conference Proceedings auf den Seiten 1064 bis 1070,
beschrieben ist. Dieser Codiererkombinationstyp hat zu einer Familie von
Codierungsschemata geführt,
die in der Technik unter dem Namen Turbo-Codes bekannt ist. Man bezeichnet mit
Turbo-Code Fehlerkorrekturcodes, die auf der Kombination, Konkatenation
bzw. Verkettung genannt, mehrerer einfacher Codes, Elementarcodes
genannt, basiert, mit Eingriff von Permutationsoperationen, Verschachtelungen
genannt, welche die Reihenfolge einer Berücksichtigung der Daten durch
jeden der einfachen Codes modifizieren. Ein klassischer Verschachtelungstyp,
gleichförmige Verschachtelung
genannt, wird zum Beispiel mit Hilfe einer Verschachtelungsmatrix
erzielt, in welcher die Quellendaten Zeile für Zeile eingegeben und Spalte für Spalte
wiedergegeben werden. Um die Leistungen zu verbessern, verwenden
die Turbo-Codes im Allgemeinen ungleichförmige Verschachtelungen. Unter
Elementarcodes versteht man Codes mit einer Leistung größer oder
gleich 1 des weiter oben beschriebenen Typs. Es kann sich zum Beispiel
um systematische rekursive Faltungscodes für Turbo-Faltungscodes, Hamming-Blockcodes
oder BCH für
Turbo-Blockcodes handeln. Verschiedene Konkatenationstypen können in
Betracht gezogen werden. Bei der parallelen Konkatenation wird die
gleiche Information von jedem Codierer getrennt codiert, nachdem
sie verschachtelt wurde. Bei der seriellen Konkatenation wird der
Ausgang jedes Codierers durch den darauf folgenden Codierer nach
einem Ver schachteln codiert. Man nennt die Dimension des Turbo-Codes
die Anzahl von Elementarcodierern, die verwendet werden, um diesen
Turbo-Code auszuführen.
Ein wohlbekanntes Turbo-Codierungsschema besteht aus einer parallelen
Konkatenation von Elementarcodes des Typs systematische rekursive
Faltungscodes (RSC). Man nennt diesen Turbo-Code PCCC. Beispiele
für Turbo-Codes
mit serieller Konkatenation sind die SCCC, die Elementarcodes des Typs
Faltungscodes verwenden, und die Turbo-Blockcodes, welche Elementarcodes
des Typs Blockcodes verwenden.
-
Eine
von einem Turbo-Code codierte Information kann durch ein iteratives
Verfahren decodiert werden, das Turbodecodierung heißt. Ein
Beispiel für das
Turbodecodieren ist in dem oben genannten Dokument „Near Shannon
Limit Error – Correcting
Coding and Decoding: Turbo-codes",
von C. Berrou, A. Glavieux, P. Thitimajshima, erschienen in ICC-1993, Conference
Proceedings auf den Seiten 1064 bis 1070 angegeben. Bei diesem Beispiel
handelt es sich um die Turbodecodierung eines Turbo-Codes mit paralleler
Konkatenation. Mehrere Elementardecodierer mit gewichteten Eingängen und
Ausgängen,
die alle einem Elementarcodierer der Codierungsvorrichtung entsprechen,
werden kombiniert. Die gewichteten Eingänge und Ausgänge erfolgen
hinsichtlich der Wahrscheinlichkeiten, Plausibilitätsverhältnisse
oder Logarithmen von Plausibilitätsverhältnissen.
Die gewichteten Eingänge
und Ausgänge
werden im Allgemeinen mit jedem der [maires] Symbole am Eingang und
am Ausgang der Elementarcodierer kombiniert, das heißt zum Beispiel
mit Bits, wenn binäre
Codierer als Elementarcodierer verwendet werden. Die Decodierer
greifen in dem Fall eines Typs des Turbodecodierens, das serielles
Turbodecodieren genannt wird, einer nach dem anderen ein, oder gleichzeitig
bei einem Typ des Turbodecodierens, der paralleles Turbodecodieren
genannt wird. Zwischenkonkatenationsschemata können ebenfalls in Betracht
gezogen werden. Verschachteler und Entschachteler greifen in Abhängigkeit
von den auf der Ebene der Codierung durchgeführten Verschachtelungen ein.
Sie erlauben es jedem Decodierer, eine Information zu berücksichtigen,
die sich in der gleichen Reihenfolge präsentiert wie die am Ausgang
und am Eingang des entsprechenden Codierers. Jeder Elementardecodierer
benutzt die verfügbare
Information, die der Information am Eingang und am Ausgang des entsprechenden
Elementarcodierers entspricht. Die verfügbare Information, die von
dem Elementardecodierer verwendet wird, A-Priori-Information genannt,
besteht aus einem Ausgang des vorangehenden Schritts des Kanaldecodierens,
nämlich
im Allgemeinen einem Demodulationsschritt, und aus einer Information,
die von einem oder mehreren vorhergehenden Schritten des Elementardecodierens
erzeugt wird. Dank dieser A-Priori-Information und unter Kenntnis
des Codierungsgesetzes des entsprechenden Elementarcoierers, erzeugt
der Elementardecodierer eine A-Posteriori-Information, die eine
Schätzung
mit größerer Zuverlässigkeit
der Information am Eingang ist. Der Informationszusatz im Vergleich
zu der Information am Eingang wird extrinsische Information genannt.
Diese extrinsische Information wird zu dem darauf folgenden Elementardecodierer übertragen,
welcher sie nach Verschachteln oder Entschachteln und eventueller
Kombination als A-Priori-Information verwendet. Jeder Schritt des
elementaren Decodierens profitiert daher am Eingang über eine
A-Priori-Information, deren Qualität durch die bei den vorangehenden
Schritten des Elementardecodierens durchgeführten Elementardecodierungen gesteigert
wird. Diese extrinsische Information hängt von der redundanten Information
ab, die von dem entsprechenden Codierer eingeführt wird. Das Verfahren ist
darin iterativ, dass die von dem oder den letzten Decodierern der
Serie berechneter extrinsischer Information rückwärts zu dem oder zu den ersten
Decodierern der Serie verbreitet wird. Der Austausch extrinsischer
Information erfolgt zwischen Elementardecodierern innerhalb eines
gleichen Schritts und von diesem Schritt zum darauf folgenden Schritt.
Jeder neue Schritt steigert daher die Zuverlässigkeit der am Ausgang erzeugten
Information. Nach einer bestimmten Anzahl von Iterationen stagniert
das Decodierungsverfahren, ob es nun zu der Lösung konvergierte oder nicht.
Eine Schwellenwertfestlegung wird angewandt, um die decodierte Information
zu erzeugen.
-
Natürlich umfasst
die Bezeichnung Turbodecodieren verschiedene in Betracht ziehbare
Konkatenationsschemata, die zum Beispiel von dem Typ des Turbocodierens
abhängen,
der verwendet wurde. Bei dem Turbodecodieren, das einem Turbo-Code
mit serieller Konkatenation entspricht, wobei die Elementardecodierer
in der umgekehrten Reihenfolge der Elementarcodierer kombiniert
sind, empfängt zum
Beispiel jeder Elementardecodierer zwei gewichtete A-Priori-Informationen,
von welchen eine der Ausgangsinformation des entsprechenden Elementarcodierers
und die andere der Eingangsinformation des entsprechenden Elementarcodierers
entspricht. Dieser Elementardecodierer erzeugt zwei gewichtete A-Posteriori-Informationen,
von welchen eine dem Ausgang des entsprechenden Elementarcodierers
entspricht, und die daher bei einer darauf folgenden Iteration nach
entsprechendem Verschachteln A-Priori-Eingang eines vorausgehenden Elementardecodierers
wird, und die andere, die dem Eingang des entsprechenden Elementarcodierers entspricht
und daher in der gleichen Iteration nach entsprechendem Entschachteln
A-Priori-Eingang eines darauf folgenden Elementardecodierers wird.
-
Wie
dem auch sei, kann man die extrinsische Information immer als den
Informationszusatz definieren, der durch ein Elementardecodieren
verbunden mit einem Elementarcodieren im Vergleich zu einer A-Priori-Information
beigesteuert wird, die am Eingang des Elementardecodierens eingreift.
-
Ferner
kann man verschiedene Algorithmentypen für Elementardecodierer mit gewichteten
Eingängen
und Ausgängen
verwenden. Die Elementardecodierer verwenden zum Beispiel die Algorithmen MAP,
LogMAP und MaxLogMAP, die auch APP, LogAPP und MaxLogAPP genannt
werden, welche alle von der A-Posteriori-Wahrscheinlichkeitenberechnung,
die A-Priori-Wahrscheinlichkeiten kennt, stammen. Man kann für eine Beschreibung
solcher Decodierungsalgorithmen zum Beispiel den Artikel „Optimal
and sub-optimal maximum A-Posteriori algorithms suitable for turbo
decoding" von P.
Robertson, P. Hoeher, E. Villebrun, erschienen in European Trans.
on Telecommun., Band 8, März–April 1997, Seiten
119 bis 125, heranziehen. Man kann auch Algorithmen des Typs modifizierte
Viterbi-Algorithmen verwenden, um mit jeder Entscheidung eine Zuverlässigkeitsmessung
des mit LRV (Plausibilitätsverhältnislogarithmus)
vergleichbaren Typs verbinden. Man kann zum Beispiel den SOVA-Algorithmus
(Soft Output Viterbi Algorithm) verwenden. Für die Turbo-Blockcodes kann
man einen Chase-Algorithmus verwenden,
wie er im Artikel „A
very low complexity block turbo decoder for product codes" von R. Pyndiah,
P. Combelles und P. Adde, erschienen in IEEE Globecom 1996 auf den
Seiten 101 bis 105, beschrieben ist.
-
Ferner
ist die Tatsache bekannt, dass die Leistung eines Codes durch einen
Lochungsvorgang gesteigert werden kann, der darin besteht, bestimmte Bits
einer Informationssequenz nicht zu übertragen, wie das zum Beispiel
im Artikel „Rate-Compatible Punctured
Convolutional (RCPC) codes and their application" von J. Hagenauer, erschienen in IEEE Trans.,
Band COM-36.4, 1988, auf den Seiten 389–400 oder in dem Artikel „New Rate
Compatible Punctured Convolutional Codes for Viterbi decoding" von L.H.C. Lee,
erschienen in IEEE Trans., Band COM-42.2, 1994, auf den Seiten 3073
bis 3079 beschrieben ist. Diese nicht übertragenen Bits sind im Allgemeinen
Bits mit redundanter Information. Dieser Lochungsvorgang greift
auf der Ebene des Sendens nach dem Codierungsvorgang ein. Auf der
Zielebene wird vor dem Decodierungsvorgang ein reziproker Entlochungsvorgang
durchgeführt.
Die Lochung- und Entlochungsvorgänge
werden von einer Lochungsmatrix oder von einem Lochungsschema definiert. Das
Lochen von Bits redundanter Information verringert die Korrekturkapazität des Codes
und steigert seine Leistung.
-
Die
Fehlerkorrekturcodes der Familie der Turbo-Codes gemäß dem Stand
der Technik, der weiter oben beschrieben ist, erlauben es, eine
sehr leistungsfähige
Fehlerkorrektur unter Beibehaltung ausreichend großer Leistungen
und unter Zulassung der Decodierungsoperationen mit niedriger Komplexität im Vergleich
zu der Komplexität
des Codes zu erzielen. Das Turbodecodieren, das gemäß seinem Prinzip
suboptimal ist, weist Leistungen nahe denen des optimalen Decodierers
und eine deutlich geringere Komplexität auf, denn sie liegt in der
Größenordnung
der des Decodierens der Elementarcodes.
-
Die
Komplexität
des Turbodecodierens sowie der Parameter, wie zum Beispiel die Dauer
des Turbodecodierens oder der Energieverbrauch für das Turbodecodieren, können jedoch
mit der Anzahl von Iterationen der Turbodecodierungsvorgehensweise steigen.
Dabei stellt sich das Problem des Unterbrechens des Turbodecodierens.
Natürlich
kann eine vorausbestimmte Anzahl von Iterationen des Turbodecodierens
festgelegt werden. Es kann dabei jedoch sein, dass diese vorausbestimmte
Anzahl von Iterationen entweder unzureichend ist und es daher nicht erlaubt,
eine zufrieden stellende Fehlerkorrektur durchzuführen, oder
zu groß ist,
so dass eine bestimmte Anzahl von Iterationen unnötig ist.
Diese Vorgehensweise erfolgt daher entweder auf Kosten der Leistung
der Übertragung,
zum Beispiel gemessen hinsichtlich der Binärfehlerraten, oder auf Kosten der Übertragungsbedingungen,
wie zum Beispiel die Komplexität
des Turbodecodierens, die Dauer des Turbodecodierens oder der Energieverbrauch
für das Turbodecodieren.
-
Im
Allgemeinen legt man eine maximale Anzahl von Iterationen fest,
die einer Komplexität und/oder
einer maximal zulässigen
Decodierungsdauer entsprechen, und man verwendet ein Stoppkriterium,
um den Decodierungsvorgang zu unterbrechen, wenn dieser vor der
maximalen Anzahl von Iterationen zu einer Konver genz zur Nutzinformation gekommen
zu sein scheint. Die Konvergenzerfassung kann auf verschiedene Arten
durchgeführt
werden. Ein Fehlererfassungscode des Typs CRC (Cyclic Redundancy
Check) kann zum Beispiel verwendet werden. Wenn im Laufe des Turbodecodierens
einer Informationensequenz die Berechnung des Fehlererfassungscodes
anzeigt, dass es keine Fehler mehr gibt, unterbricht man das iterative
Decodieren für
diese Sequenz. Ein Nachteil dieses Verfahrens ergibt sich aus der
Tatsache, dass ein Fehlererfassungscode beim Senden eingefügt werden
muss, was die globale Leistung dieses Kanalcodierers verringert.
-
Es
wurden auch Unterbrechungskriterien des Turbodecodierens vorgeschlagen,
die auf dem Vergleichen von Informationssequenzen am Ausgang von
mindestens zwei aufeinander folgenden Elementardecodierern beruhen.
Derartige Unterbrechungskriterien sind zum Beispiel in dem Patent US-A-5
761 248, in einem Artikel von M. Moher mit dem Titel „Decoding
via Cross-Entropy Minimization", erschienen
in „Proceedings
of Globecom'93,
IEEE Global Telecommunications Conference", Band 2, Seiten 809 bis 813, oder in
einem Artikel von R.Y. Shao, S. Lin, M.P.C. Fossorier, mit dem Titel „Two simple
stopping criteria for turbodecoding", erschienen in „IEEE Transactions on Comm.", Band 47, Nr. 8.
August 1999, Seiten 1117 bis 1120 beschrieben. Der Einsatz solcher
Unterbrechungskriterien des Turbodecodierens beruht insbesondere
auf der Tatsache, dass ein Stagnieren der Ausgänge der Elementardecodierer
im Laufe des iterativen Decodierens einer Informationensequenz anzeigt,
dass zusätzliche Decodierungsiterationen
die Anzahl von Fehlern, die auf dieser Informationensequenz auftritt,
nicht verringern werden.
-
Dieser
Unterbrechungskriterientyp des Turbodecodierens steht jedoch vor
zwei Typen von Problemen.
-
Erstens
gibt es, wenn es das Prinzip, auf welchem dieses Kriterium aufbaut,
relativ einfach erlaubt, das Stoppen der Decodierungsverarbeitung
zu steuern, keinen Hinweis auf die Qualität der decodierten Informationensequenzen,
das heißt
auf die Anzahl von Fehlern, welche sie noch im Vergleich zur Nutzinformation
enthalten, und auch nicht auf die eventuelle Gegenwart von restlichen
Fehlern.
-
Zweitens
setzt die Umsetzung dieses Unterbrechungskriterientyps das Speichern
einer Informationensequenz voraus, die aus einem Schritt hervorgeht,
welcher dem betreffenden Decodierungsschritt vorausgeht, um den
Vergleich durchzuführen.
Im Allgemeinen muss man sogar mehrere Sequenzen speichern, die aus
Schritten hervorgehen, die dem betreffenden Schritt vorausgehen,
damit das Funktionieren des Kriteriums zufrieden stellend ist.
-
Da
dieses Unterbrechungskriterium schließlich auf einem Stagnieren
der Ausgänge
aufeinander folgender Elementardecodierer basiert, erkennt es das
Konvergieren des Decodierungsverfahrens zumindest einen Schritt
nachdem es tatsächlich
konvergiert hat. In dem Fall einer Konvergenz im vorletzten Elementardecodierungsschritt
ist daher der letzte durchgeführte
Schritt unnötig.
-
Eine
Aufgabe der vorliegenden Erfindung besteht daher darin, die Unterbrechung
des iterativen Decodierens eines digitalen Übertragungsverfahrens des Typs
mit Fehlerkorrekturcodierung, das Codierungsschemata des Turbo-Codetyps
verwendet, zu verbessern. Dazu wurde ein Unterbrechungskriterium
des Turbodecodierens gesucht, das es erlaubt, die oben erwähnten Probleme
zu lösen.
-
Sie
schlägt
dazu ein digitales Übertragungsverfahren
des Typs mit Fehlerkorrekturcodierung vor, das vor einem Übertragungsschritt
auf einem Kanal eine Codierungsvorgehensweise umfasst, um ausgehend
von einer Nutzinformation eine codierte Information zu erzeugen,
die zumindest eine redundante Information enthält, und nach dem Übertragungsschritt
auf dem Kanal eine Decodierungsvorgehensweise, um ausgehend von
einer zu decodierenden empfangenen Information eine Schätzung der
Nutzinformation mit Korrektur der Übertragungsfehler basierend
auf der mindestens einen redundanten Information zu erzielen, wobei
die Codierungsvorgehensweise eine Vielzahl von Elementarcodierungsschritten
verbunden mit mindestens einem Verschachtelungsschritt umfasst und
parallel oder seriell funktioniert, wobei die Decodierungsvorgehensweise
iterativ ist und für
jede Iteration eine Vielzahl von Elementardecodierungsschritten
umfasst, die mit Verschachtelungsschritten und Entschachtelungsschritten
verbunden sind, die der Vielzahl von Elementarcodierungsschritten
entspricht, die mit dem mindestens einen Verschachtelungsschritt
verbunden sind, wobei jeder der Elementardecodierungsschritte (50)
eine zu decodierende Einheit von Informationen empfängt und
eine Einheit von Informationen mit gewichteten Ausgängen erzeugt,
die mit einer Einheit von decodierten Informationen verbunden sind,
wobei das Verfahren dadurch gekennzeichnet ist, dass es einen Schritt
des Bestimmens der charakteristischen Größe umfasst, die für jeden
der Elementardecodierungsschritte eine charakteristische Größe einer
Einheit von extrinsischen Informationen, die nur mit der Einheit
von Informationen mit gewichteten Ausgängen am Ausgang dieses Elementardecodierungsschritts
verbunden sind, berechnen kann, einen Schritt, der die charakteristische
Größe mit einer Schwellengröße vergleichen
kann, und einen Unterbrechungsschritt, um die Decodierungsvorgehensweise
zu unterbrechen, wenn die charakteristische Größe die Schwellengröße erreicht.
-
Vorteilhafterweise
kann der Schritt zum Bestimmen der charakteristischen Größe für jeden
der Elementardecodierungsschritte eine charakteristische Größe einer
Einheit extrinsischer Informationen berechnen, die der Einheit von
Informationen mit gewichteten Ausgängen verbunden mit einer Einheit decodierter
Informationen entspricht.
-
Es
ist nämlich
vorteilhaft, diese charakteristische Größe ausgehend von der extrinsischen
Information zu berechnen, die es erlaubt, auf einfache Art einen
Hinweis auf die Anzahl von Fehlern zu geben, die in einer Decodierungssequenz
verbleiben.
-
Es
ist klar, dass man trotzdem eine charakteristische Größe direkt
ausgehend von den gewichteten Ausgängen berechnen kann, in welchen
nach einer bestimmten Anzahl von Iterationen die extrinsische Information
wesentlich wird.
-
Es
wurde festgelegt, dass eine Korrelation zwischen einerseits dem
Durchschnitt des Absolutwerts der extrinsischen Information, die
auf einer Sequenz von N extrinsischen Werten am Ausgang eines gegebenen
Decodierers bei einer gegebenen Iteration berechnet wird, und andererseits
der Anzahl von Fehlern besteht, die in der Sequenz von N decodierten
Bits am Ausgang dieses gegebenen Decodierers für diese gegebene Iteration
verbleibt. Man stellt fest, dass dieser Durchschnitt schnell zunimmt,
sobald das Decodieren der Sequenz konvergiert, während er stagniert, solange
dieses Decodieren nicht konvergiert. Wenn daher dieser Durchschnitt
eine ausreichende Schwellengröße erreicht,
besteht eine hohe Wahrscheinlichkeit, dass die Sequenz keinen Fehler
mehr enthält.
Es wird daher unnötig,
das Decodieren für
diese Sequenz fortzusetzen.
-
Es
konnten Kurven wie die in 3 dargestellte
erstellt werden, die für
verschiedene Übertragungsbedingungen,
ausgedrückt
zum Beispiel hinsichtlich des Rauschverhältnisses, den Unterschied zwischen
dem Durchschnitt des Absolutwerts der extrinsischen Information
für falsch
decodierte Sequenzen und richtig decodierte Sequenzen zeigt.
-
Die
von dem Schritt des Bestimmens der charakteristischen Größe berechnete
charakteristische Größe ist daher
vorteilhafterweise der Durchschnitt des Absolutwerts der extrinsischen
Information, der auf der betreffenden Einheit extrinsischer Informationen
berechnet wird. In diesem Fall unterbricht der Unterbrechungsschritt
die Decodierungsvorgehensweise, wenn der Durchschnitt des Absolutwerts
der extrinsischen Information, die durch den Schritt zum Bestimmen
der charakteristischen Größe berechnet
wurde, größer ist
als eine entsprechende Schwellengröße.
-
Diese
charakteristische Größe kann
jedoch auch eine andere statistische Größe sein, die für diese
Einheit extrinsischer Informationen charakteristisch ist, wie zum
Beispiel ihre Varianz, ihr Minimum oder ihr Maximum. Ferner kann
auch die Summe der Absolutwerte der extrinsischen Informationen
dieser Einheit extrinsischer Informationen verwendet werden.
-
Mit
dieser Definition gilt die vorliegende Erfindung für alle Typen
von Übertragungsvorgehensweisen,
die ein Fehlerkorrekturcodieren des Typs mit Turbocodieren und Turbodecodieren
verwendet, ob es sich nun um eine Turbocodieren mit serieller oder paralleler
Konkatenation, ein Turbodecodieren mit serieller oder paralleler
Konkatenation oder um gemischte Konkatenationsschemata handelt.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung umfasst das Verfahren
zum digitalen Übertragen
auch einen Schritt zum Bestimmen einer Schwellengröße zum Festlegen
einer Schwellengröße in Abhängigkeit
von mindestens einem Konfigurationsparameter.
-
Ein
Konfigurationsparameter kann ein Parameter sein, der die Übertragungsbedingungen
kennzeichnet, wie zum Beispiel das Rauschverhältnis. Es kann sich auch um
einen Parameter handeln, der zum Beispiel einen Elementardecodierungsalgorithmus,
die Größe des Nutzinformationsblocks,
einen Typ verwendeter Größen, eine
maximale Anzahl von Iterationen, einen Übertragungskanaltyp usw. charakterisiert.
Natürlich
legt der Schritt des Bestimmens der Schwellengröße im Allgemeinen eine Schwellengröße in Abhängigkeit
von einer Vielzahl von Konfigurationsparametern fest.
-
Dieser
Schritt des Bestimmens der Schwellengröße kann einen anpassungsfähigen Algorithmus
verwenden, der das Berechnen einer Schwellengröße in Abhängigkeit von einem oder mehreren Konfigurationsparametern
erlaubt.
-
Dieser
Schritt des Bestimmens der Schwellengröße kann auch im Voraus erstellte
Referenztabellen verwenden, die es erlauben, eine Schwellengröße in Abhängigkeit
von einem oder mehreren Konfigurationsparametern auszuwählen.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung legt der Schritt des
Bestimmens der Schwellengröße eine
Schwellengröße so fest, dass
ein Kompromiss zwischen der Leistung, die von der Decodierungsvorgehensweise
erlaubt wird, und der Komplexheit dieser Decodierungsvorgehensweise
hergestellt wird.
-
In
dem Fall, in dem die ausgewählte
charakteristische Größe zum Beispiel
der Durchschnitt des Absolutwerts der extrinsischen Information
ist, wird die Schwellengröße einerseits
ausreichend groß ausgewählt, um
sicherzustellen, dass die Anzahl von Fehlern, die in einer decodierten
Sequenz verbleibt, ausreichend niedrig ist, und, andererseits ausreichend
klein, um die Anzahl der Iterationen einzuschränken, die zum Erreichen dieses
Schwellenwerts erforderlich ist.
-
Ähnlich legt
der Schritt des Bestimmens der Schwellengröße eine Schwellengröße so fest,
dass eine bestimmte Übertragungsqualität sichergestellt wird.
-
Der
Schritt des Bestimmens des Schwellenwerts legt zum Beispiel einen
Schwellenwert in Abhängigkeit
von einer gewünschten
mittleren Übertragungsdauer
fest.
-
Der
Schritt des Bestimmens der Schwellengröße kann auch eine Schwellengröße in Abhängigkeit
von einem zulässigen
mittleren Energieverbrauch festlegen.
-
Gemäß einem
weitere Aspekt der vorliegenden Erfindung und weil eine maximal
tolerierbare Anzahl von Iterationen im Voraus festgelegt wurde,
legt der Schritt des Bestimmens der Schwellengröße eine Schwellengröße fest,
indem er einerseits eine erste charakteristische Größe einer
ersten Einheit extrinsischer Informationen, die von einem letzten
Elementardecodierer bei einer ersten Iteration erzeugt wurde und
die mit einer ersten Einheit decodierter Informationen verbunden
ist, die dem fehlerlosen Decodieren einer Einheit zu decodierender
Informationen entspricht, und andererseits eine zweite charakteristische
Größe einer
zweiten Einheit extrinsischer Informationen, die von dem letzten
Decodierer bei der letzten Iteration erzeugt wird und die mit einer
zweiten Einheit decodierter Informationen verbunden ist, die dem
Decodieren der Einheit zu decodierender Informationen in dem Fall
entspricht, in dem Fehler verbleiben, kombiniert.
-
Vorteilhafterweise
sind die erste und zweite Größe Durchschnitte
des Absolutwerts der extrinsischen Information, die jeweils auf
der ersten Einheit extrinsischer Informationen und auf der zweiten
Einheit extrinsischer Informationen berechnet wurden.
-
Diese
erste und die zweite Größe können jedoch
alle anderen charakteristischen statistischen Größen jeweils dieser ersten und
zweiten Einheit extrinsischer Informationen sein, wie ihre Varianzen, ihre
Minima oder ihre Maxima. Ferner können die Summen der Absolutwerte
der extrinsischen Informationen jeweils dieser ersten und zweiten
Einheit extrinsischer Informationen verwendet werden.
-
Die
erste und zweite Größe können in
Abhängigkeit
von mindestens einem Konfigurationsparameter mit Hilfe eines anpassungsfähigen Algorithmus
oder einer im Voraus erstellten Referenztabelle festgelegt werden.
In der Praxis erfolgt das Festlegen dieser ersten und zweiten Größe in Abhängigkeit
von einer Vielzahl von Konfigurationsparametern.
-
Die
Schwellengröße kann
insbesondere die Summe der ersten Größe multipliziert mit einem
Koeffizienten α und
der zweiten Größe multipliziert
mit einem Koeffizienten (1 – α) sein, wobei
der Koeffizient α zwischen
0 und 1 ausgewählt
wird.
-
Vorteilhafterweise
wird dieser Koeffizient α so
ausgewählt,
dass ein Kompromiss zwischen der Leistung, die von der Decodierungsvorgehensweise erlaubt
wird, und der Komplexheit dieser Decodierungsvorgehensweise hergestellt
wird.
-
In
dem Fall, in dem die ausgewählte
charakteristische Größe zum Beispiel
der Durchschnitt des Absolutwerts der extrinsischen Information
ist, wird der Koeffizient α einerseits
ausreichend groß ausgewählt, um
sicherzustellen, dass die Anzahl der in einer decodierten Sequenz
verbleibenden Fehler ausreichend gering ist, und andererseits ausreichend klein,
um die Anzahl der von der Decodierungsvorgehensweise durchgeführten Iterationen
einzuschränken.
-
In ähnlicher
Weise wird der Koeffizient α so ausgewählt, dass
er eine bestimmte Übertragungsqualität sicherstellt.
-
Der
Koeffizient α wird
zum Beispiel in Abhängigkeit
von einer gewünschten
mittleren Übertragungsdauer
ausgewählt.
-
Der
Koeffizient α kann
auch in Abhängigkeit von
einem zulässigen
mittleren Energieverbrauch ausgewählt werden.
-
Vorteilhafterweise
wird der Koeffizient α mit Hilfe
eines anpassungsfähigen
Algorithmus oder mit einer im Voraus erstellten Referenztabelle
festgelegt.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung haben die Elementardecodierungsschritte
hinsichtlich der Wahrscheinlichkeiten, Plausibilitätsverhältnisse
oder Logarithmen von Plausibilitätsverhältnissen
gewichtete Eingänge
und Ausgänge.
-
Gemäß einem
weiteren Aspekt der vorliegenden Erfindung umfasst die Codierungsvorgehensweise
mindestens einen Lochungsschritt, und die Decodierungsvorgehensweise
umfasst mindestens einen entsprechenden Entlochungsschritt.
-
Die
oben genannten Merkmale der Erfindung sowie weitere ergeben sich
klarer bei der Lektüre
der folgenden Beschreibung einer Ausführungsform, wobei sich die
Beschreibung auf die anliegenden Zeichnungen bezieht, unter welchen:
-
1 ein
darstellendes Schema einer Codierungsvorrichtung mit Turbo-Code des Typs PCCC mit
zwei Dimensionen ist,
-
2 ein
darstellendes Schema einer Decodierungsvorrichtung im Serienmodus
verbunden mit der Codierungsvorrichtung der 1 ist,
-
3 eine
Grafik ist, die in Abhängigkeit vom
Rauschverhältnis
den Durchschnitt des Absolutwerts der extrinsischen Information
zeigt, die am Ausgang eines letzten Decodierers einer letzten Iteration
einerseits für
richtig decodierte Sequenzen und andererseits für Sequenzen zeigt, die restliche Fehler
aufweisen, und
-
4 ein
Organigramm ist, das ein Basiskonzept einer Decodierungsvorgehensweise
mit Unterbrechungskriterium gemäß einer
Ausführungsform der
vorliegenden Erfindung darstellt.
-
Die
vorliegende Erfindung wird insbesondere unter Bezugnahme auf ein Übertragungsverfahren des
Typs mit Fehlerkorrekturcodierung dargelegt, das einen Turbo-Code
des Typs PCCC mit zwei Dimensionen verwendet, wobei eine Turbocodierungsvorrichtung,
die dieses Verfahren anwendet, schematisch in 1 dargestellt
ist, und eine Turbodecodierungsvorrichtung, die dieses Verfahren
anwendet, in 2 dargestellt ist. Man kann
die Erfindung leicht auf größere Turbo-Codierer
verallgemeinern, welche andere Elementarcodetypen verwenden, und/oder mit
unterschiedlichen Konkatenationsschemata, insbesondere mit Serienkonkatenationsschemata
sowie mit unterschiedlichen Turbodecodierungskonkatenationsschemata.
-
Insgesamt
umfasst ein Verfahren zum digitalen Übertragen des Typs mit Fehlerkorrekturcodierung
durch Turbo-Code PCCC eine Codierungsvorgehensweise vor einem Übertragungsschritt
und eine Decodierungsvorgehensweise nach einem Übertragungsschritt.
-
Die
Codierungsvorgehensweise ist anhand der Codierungsvorrichtung dargestellt,
die schematisch in 1 abgebildet ist.
-
Insgesamt
umfasst diese Codierungsvorrichtung 10 zwei Elementarcodierer 11 und 12,
zwischen welchen ein Verschachteler der Größe N 13 eingreift.
-
Jeder
dieser Elementarcodierer 11 und 12 ist ein Codierer,
der einen systematischen rekursiven faltenden Code (RSC) verwendet.
Wie es wohlbekannt ist, verwendet jeder dieser Elementarcodierer einen
Reihe von Hilfsinformationen, die in einer Vorrichtung des Schieberegistertyps
gespeichert sind, die jeweils durch mathematische Kombination einer Nutzinformation
und von zuvor berechneten Hilfsinformationen erzielt werden. In
dem hier präsentierten Beispiel
speichert das Schieberegister 23 Hilfsdaten, die von dem
exklusiven ODER 21 berechnet werden, dessen Eingänge das
erste Erzeugungs- bzw. Generatorpolynom des RSC-Codierers 11 darstellen. Das Faltungsprodukt
wird durch das Exklusiv-ODER 22 hergestellt, die Ausgänge des
Registers 23 bilden das zweite Generatorpolynom des RSC-Codierers 11.
Die Nutzinformation wird systematisch neben einer Redundanzinformation übertragen,
die am Ausgang des Exklusiv-ODERs 22 erscheint. Der Verschachtelungsschritt 13 der
Größe N modifiziert
die Reihenfolge der Berücksichtigung
der Daten durch jeden der Elementarcodes. Derart erzeugt jeder der Codierer 11 und 12 eine
redundante Information, die ihm zugeordnet ist. Die Nutzinformation
wird nur einmal übertragen.
Die codierte Information, so wie sie aus der Codierungsvorgehensweise
hervorgeht, ist daher ein Block 20, der die Nutzinformation
oder den systematischen Teil und die zwei redundanten Information
oder Teile der codierten Information, die jeweils Elementarcodes
entsprechen, umfasst. Natürlich
könnten
die zwei Elementarcodes unterschiedlich sein. Nach dem Multiplexen 14 kann
die codierte Information einem Lochen 15 unterworfen werden. Die
Leistung jedes der Elementarcodierer beträgt ½ und deshalb, weil der systematische
Teil nur einmal übertragen
wird, beträgt
die Leistung R des Turbo-Codes
1/3. Diese Leistung kann natürlich
durch Lochen bzw. Ausdünnen
gesteigert werden. Das Lochen der Hälfte der Redundanzbits jedes
Elementarcodes ergäbe
daher ein Leistung R von ½.
-
Die
codierte Information hat die Form von Sequenzen mit N Blöcken 20,
die aus der systematischen Information X und der ersten und zweiten
redundanten Information Y1 und Y2 bestehen. Nach dem eventuellen
Lochen, wird eine Sequenz übertragen
und den von dem Kanal beigesteuerten Änderungen unterworfen. Sie
wird danach von der Decodierungsvorrichtung empfangen und eventuell
entlocht. Daher präsentieren
sich am Eingang des Demultiplexers 31 N Blöcke 30 mit
der Länge
3. Jeder dieser Blöcke 30 bildet
eine zu decodierende empfangene Information. Sie enthalten einen
Teil empfangene Information, der der Nutzinformation entspricht,
systematische Information X genannt, einen empfangenen ersten Teil Information,
der der redundanten Information des ersten Elementarcodes entspricht,
erste redundante Information Y1 genannt, und einen zweiten Teil
empfangener Information, der der redundanten Information des zweiten
Elementarcodes entspricht, zweite redundante Information Y2 genannt.
Die Decodierungsvorgehensweise funktioniert anhand von Decodierungssequenzen
zu N Bits, die den Sequenzen mit N empfangenen Blöcken entsprechen.
-
Die
Decodierungsvorrichtung mit Serienkonkatenation umfasst einen Elementardecodierer 32, der
dem ersten Elementarcodierer 11 entspricht, und einen Elementardecodierer 33,
der dem ersten Elementarcodierer 12 entspricht. In dem
hier betrachteten Beispiel haben die Elementardecodierer, die einen
Algorithmus des Typs LogMAP verwenden, gewichtete Eingänge und
Ausgänge
in Form von Plausibilitätsverhältnisalgorithmen
(LRV). Die extrinsische Information wird daher auf 0 initialisiert,
und die Kombination der extrinsischen Information mit der systematischen
Information erfolgt durch Addieren. Wenn die von den Elementardecodierern
manipulierten Größen anders
sind, müssen
natürlich
die entsprechenden Änderungen
vorgenommen werden. Wenn es sich zum Beispiel um Plausibilitätsverhältnisse
handelt, wird die extrinsische Information auf 1 initialisiert,
und die Kombination erfolgt durch Produkt. Wenn es sich um Wahrscheinlichkeiten
handelt, wird die extrinsische Information auf 0,5 initialisiert, und
die Kombination erfolgt ebenfalls durch Produkt.
-
Einerseits
wird der Teil empfangene Information X, der der Nutzinformation
entspricht, an die Elementardecodierer 32 und 33 übertragen.
In Richtung des Elementardecodierers 32 fügt ein Addierglied 37 dieser
systematischen Information X eine extrinsische Information e2kk'-1 hinzu.
In Richtung des Elementardecodierers 33 fügt ein Addierglied 39 dieser systematischen
Information X, verschachtelt durch einen Verschachteler 34 der
Größe N, der
dem Verschachteler 13 entspricht, eine extrinsische Information
e1k' hinzu,
verschachtelt durch einen Verschachteler 35 der Größe N, der
dem Verschachteler 13 entspricht. Andererseits wird der
Teil empfangener Information Y1, der der redundanten Information
des ersten Elementarcodes entspricht, an den Decodierer 32 übertragen,
und der Teil empfangener Information Y2, der der redundanten Information
des zweiten Elementarcodes entspricht, wird zum dem Decodierer 33 übertragen.
-
Der
Index k' stellt
die laufende Iteration der Decodierungsvorgehensweise dar, wobei
die extrinsische Information e2k'-1 daher bei
einer vorhergehenden Iteration vor der berechnet wird, während welcher
die extrinsische Information e1k' berechnet
wird.
-
Die
extrinsische Information e1k' wird am Ausgang des Elementardecodierers 32 bei
einer Iteration k' mit
Subtraktion auf dem Niveau eines Subtrahierglieds 38 der
systematischen Information X und der extrinsischen Information e2k'-1 erzielt.
-
Die
extrinsische Information e2k' wird in verschachtelter Form
e'2k' am Ausgang
des Elementardecodierers 33 bei einer Iteration k' mit Subtrahieren auf
der Ebene eines Subtrahierglieds 40 der systematischen
verschachtelten Information X' und
der extrinsischen verschachtelten Information e'1k' erzielt. Sie wird von einem Entschachteler 36 der
Größe N, der
dem Verschachtler 13 entspricht, vor dem Übertragen
bei der nächsten
Iteration entschachtelt.
-
Nach
einer Decodierungsvorgehensweise wird eine Decodierungssequenz am
Ausgang des zweiten Elementardecodierers 33 entschachtelt
und von einem Entscheidungsblock 41 analysiert, um eine
decodierte Sequenz zu bilden.
-
Anfänglich wird
die extrinsische Information e20 auf 0 initialisiert.
Bei der ersten Iteration bildet die systematische Information X
die Eingangs-A-Priori-Information des ersten Elementardecodierers 32. Das
erste Elementardecodieren erzeugt ausgehend von der ersten redundanten
Information Y1 eine Information mit gewichtetem Ausgang D11, die einer ersten Schätzung der Decodierungssequenz
entspricht und in Form einer Kombination der systematischen Information
und der extrinsischen Information e11 geschrieben
wird, wobei Letztere einer Steigerung der Zuverlässigkeit verbunden mit dem
ersten Elementardecodieren entspricht. Man hat D11 =
X + e11, wobei die extrinsische Information
e11 als der Unterschied zwischen der Information
mit gewichtetem Ausgang des ersten Decodierers, hier der Plausbilitätsverhältnislogarithmus
am Ausgang, und der Information mit gewichtetem Eingang des ersten
Decodierers, hier der Plausibilitätsverhältnislogarithmus am Eingang,
geschrieben wird. Diese extrinsische Information e11,
die verschachtelt und der systematischen verschachtelten Information
X' hinzugefügt wird,
bildet die Eingangs-A-Priori-Information des zweiten Elementardecodierers 33.
Der zweite Elementardecodierer erzeugt ausgehend von der zweiten
redundanten Information Y2 eine Information mit gewichtetem Ausgang
D'21,
die einer zweiten Schätzung
der Decodierungssequenz entspricht, und die in Form einer Kombination
der verschachtelten systematischen Information, der verschachtelten
extrinsischen Information e'11 und der verschachtelten extrinsischen Information
e'21 geschrieben
wird, wobei Letztere einer Steigerung der Zuverlässigkeit verbunden mit dem
zweiten Elementardecodieren entspricht. Man hat D'21 =
X' + e'11 +
e'21,
wobei die verschachtelte extrinsische Information e'21 als
der Unterschied zwischen der Information mit gewichtetem Ausgang
des zweiten Decodierers, hier der Plausibilitätsverhältnislogarithmus am Ausgang,
und der Information mit gewichtetem Eingang des zweiten Decodierers,
hier der Plausibilitätsverhältnislogarithmus am
Eingang geschrieben wird. Die verschachtelte extrinsische Information
e'21 bildet
nach Entschachteln die extrinsische Information e21,
die, zu der systematischen Information X hinzugefügt, die
Eingangs-A-Priori-Information
des ersten Elementardecodierers 32 für die zweite Iteration bildet.
Die Elementardecodierung erzeugt dann immer noch ausgehend von der
ersten redundanten Information Y1 eine Information mit gewichtetem
Ausgang D12, die einer neuen Schätzung der
Decodierungssequenz mit gesteigerter Zuverlässigkeit entspricht. Eine neue
extrinsische Information e12, die mit dem
Decodierer 32 verbunden ist, die verschachtelt und der
verschachtelten systematischen Information X' hinzugefügt wird, bildet die Eingangs-A-Priori-Information
des zweiten Elementardecodierers 33. Die zweite Elementardecodierung
erzeugt immer noch ausgehend von der zweiten redundanten Information
Y2 eine Information mit gewichtetem Ausgang D'22, welche einer
weiteren neuen Schätzung
der Decodierungssequenz mit gesteigerter Zuverlässigkeit entspricht. Eine neue
extrinsische Information e22, verbunden mit
dem Decodierer 33, die der systematischen Information X
hinzugefügt
wird, bildet die Eingangs-A-Priori-Information des ersten Elementardecodierers 32 für die dritte
Iteration. Der Prozess wird dann in gleicher Weise fortgesetzt,
wobei die extrinsische Information im Laufe der Iterationen an Zuverlässigkeit gewinnt,
das heißt
an Amplitude in dem vorliegenden Fall, in dem sie sich als Plausibilitätsverhältnislogarithmus
ausdrückt.
Nach der Decodierungsvorgehensweise, nach einer Anzahl von Iterationen
k, deren Festlegung unten erklärt
wird, wird die verschachtelte Decodierungssequenz, die aus Informationen
mit gewichtetem Ausgang D'2k am Ausgang des zweiten Elementardecodierers 33 besteht,
entschachtelt und mit einem Schwellenwert versehen, um die decodierte
Sequenz zu erzeugen.
-
4 stellt
eine Ausführungsform
der vorliegenden Erfindung angewandt auf den Fall eines PCCC mit
Dimension i dar, wie den PCCC mit Dimension 2, der oben
beschrieben wurde.
-
Insgesamt
sind erfindungsgemäß ein Schritt 51 zum
Bestimmen der charakteristischen Größe und ein Schritt 53 zum
Vergleichen, der die charakteristische Größe mit einer Schwellengröße vergleichen
kann, mit jedem der Elementardecodierungsschritte 50 einer
iterativen Decodierungsvorgehensweise verbunden. Die Schwellengröße wird
durch einen Schritt des Bestimmens der Schwellengröße 52 festgelegt.
Während
des Elementardecodierungsschritts 50 kann der Schritt des
Bestimmens der charakteristischen Größe eine charakteristische Größe der Sequenz
zu N extrinsischen Informationen am Ausgang das Elementardecodierungsschritts 50 berechnen.
Ein Unterbrechungsschritt 54 unterbricht die Decodierungsvorgehensweise,
wenn die charakteristische Größe die Schwellengröße erreicht
und überschreitet.
Anderenfalls setzt sich die Decodierungsvorgehensweise über den
Schritt 55 zu dem folgenden Elementardecodierungsschritt
fort.
-
Genauer
genommen führt
der Schritt des Bestimmens der charakteristischen Größe 51 einen
Algorithmus durch, der bei einem i'. Elementardecodierungsschritt einer
k'. Iteration darin
besteht, den Durchschnitt E|ei'k'|
des Absolutwerts der extrinsischen Information zu berechnen, die
auf der Sequenz von N extrinsischen Werten am Ausgang des i'. Decodierers bei
der k'. Iteration
berechnet wurde. Vorteilhafterweise wird diese charakteristische
Größe für jeden
Elementardecodierungsschritt so festgelegt, dass das iterative Decodierungsverfahren
unterbrochen werden kann, darunter auf der Ebene eines Elementardecodierungsschritts,
der sich in dem Körper
einer Iteration befindet. Alternativ kann diese charakteristische
Größe nur für bestimmte
Elementardecodierungsschritte berechnet werden, zum Beispiel für den letzten
Elementardecodierungsschritt jeder Iteration.
-
Daher
bestimmt in dem Fall des beschriebenen PCCC mit der Dimension 2 dieser
Schritt 51 des Bestimmens der charakteristischen Größe zum Beispiel
bei dem Elementardecodieren, das von dem zweiten Decodierer 33 bei
einer k'. Iteration
durchgeführt
wird, den Durchschnitt E|e2k'| des Absolutwerts der extrinsischen
Information, die auf der Sequenz von N extrinsischen Werten am Ausgang
des zweiten Decodierers 33 bei dieser k'. Iteration berechnet wurde.
-
Sobald
die charakteristische Größe E|ei'k'|, am Ausgang
des i'. Elementardecodierungsschritts der
k' Iteration festgelegt
ist, empfängt
der Vergleichsschritt 53 einerseits diese charakteristische Größe E|ei'k'| und andererseits
eine Schwellengröße s, die
durch den Schritt des Bestimmens der Schwellengröße 52 festgelegt wird.
Wenn der Schritt 53 festlegt, dass E|ei'k'| > s ist, wird der Schritt 54 ausgeführt und
die iterative Decodierungsvorgehensweise wird auf der Ebene des
Elementardecodierungsschritts i' der
Iteration k' unterbrochen.
In diesem Fall ist die Sequenz von N Informationen mit gewichtetem
Ausgang, die mit der Sequenz von N Informationen verbunden ist,
die von der Decodierungsvorgehensweise decodiert wurden, die Sequenz
von N Informationen mit gewichtetem Ausgang, die von dem i'. Elementardecodierer
bei der k'. Iteration
erzeugt wird. Wenn der Schritt 53 festlegt, dass E|ei'k'| nicht größer ist
als s, wird der Schritt 55 ausgeführt, und die iterative Decodierungsvorgehensweise
wird fortgesetzt, wobei der Unterbrechungstest daher am Ende des darauf
folgenden Elementardecodierungsschritts angewandt wird usw.
-
Der
Schritt des Bestimmens der Schwellengröße 52 legt eine Schwellengröße s in
Abhängigkeit von
Konfigurationsparametern fest. Es kann sich um Parameter handeln,
die die Übertragungsbedingungen
charakterisieren, wie zum Beispiel das Rauschverhältnis. Es
kann sich auch um Parameter handeln, die zum Beispiel die Größe des Nutzinformationsblocks,
einen Elementardecodierungsalgorithmus, einen Typ verwendeter Größen, eine
maximale Anzahl von Iterationen, einen Übertragungskanaltyp usw. charakterisieren.
Diese Konfigurationsparameter charakterisieren den laufenden Decodierungsvorgang.
-
Die
Auswahl der Schwellengröße hängt auch von
der Anwendung ab, in deren Rahmen das digitale Übertragungsverfahren eingreift.
Der Schwellenwert muss daher oft so ausgewählt werden, dass sich ein Kompromiss
zwischen der Leistung, die von der Decodierungsvorgehensweise erlaubt
wird, und der Komplexität
dieser Decodierungsvorgehensweise ergibt. Ebenso kann sie in Abhängigkeit
von einer gewünschten
mittleren Übertragungsdauer
oder in Abhängigkeit
von einem tolerierten mittleren Energieverbrauch ausgewählt werden.
-
Bei
der vorliegenden Ausführungsform,
bei der eine maximale Anzahl tolerierbarer Iterationen im Voraus
festgelegt wurde, wird die Schwellengröße s festgelegt, indem zwei
Größen kombiniert
werden, die gleich berechnet werden wie die charakteristische Größe gemäß der vorliegenden
Erfindung berechnet wird, das heißt im vorliegenden Fall durch
Erstellen des Durchschnitts der Amplituden von N extrinsischen Informationen
einer Decodierungssequenz. Diese zwei Größen sind für eine gegebene Konfiguration,
wie sie von den Konfigurationsparametern definiert wird und dem
laufenden Decodierungsvorgang entspricht, eigen. Die erste und zweite Größe charakterisieren
in dieser gegebenen Konfiguration eine Einheit extrinsischer Informationen,
die von einem letzten Elementardecodierer am Ausgang der Decodierungsvorgehensweise
erzeugt werden, die die maximale vorausbestimmte Anzahl von Iterationen
ausgeführt
hat, jeweils in dem Fall einer fehlerlosen Decodierung und in dem
Fall einer Decodierung, für
die Fehler verbleiben.
-
Vorteilhafterweise
werden diese erste und diese zweite Größe in Abhängigkeit von den Konfigurationsparametern
mit Hilfe eines anpassungsfähigen
Algorithmus erzielt oder mit einer im Voraus erstellten Referenztabelle,
die auf einer Vorabstudie der Entwicklung der erfindungsgemäßen charakteristischen
Größe beruht,
hier der Durchschnitt der Amplituden von N extrinsischer Informationen
einer Decodierungssequenz in Abhängigkeit
von den Konfigurationsparametern.
-
Als
Beispiel zeigt 3 in Form einer Grafik ein Ergebnis
einer solchen Studie für
den PCCC der vorliegenden Ausführungsform.
Die Kurven 61 und 60 geben den Durchschnitt E|e220| des Absolutwerts der extrinsischen Information
am Ausgang des zweiten Decodierers der 20. Iteration in Abhängigkeit
vom Rauschverhältnis
Eb/No jeweils in
dem Fall falsch decodierter Sequenzen, das heißt Sequenzen, die noch Fehler
enthalten, und in dem Fall richtig decodierter Sequenzen, das heißt Sequenzen,
die keinen Restfehler mehr enthalten. Die Werte E|e220|
wurden in den zwei Fällen
und für
jeden Rauschverhältniswert für ausreichend
viele Sequenzen berechnet, um nutzbare Kurven zu erzielen. In dem
vorliegenden Beispiel beträgt
die Länge
der Decodierungssequenz (die der Größe der Verschachtler entspricht)
N = 640. Das Signal am Ausgang des Turbo-Codierers wird von einer
BPSK-Modulation moduliert und auf einem Kanal mit additivem weißem Gaußschen Rauschen (BBAG) übertragen.
-
Die
erzielten Kurven, die zum Beispiel mittels einer Referenztabelle
ausgewertet werden, erlauben es für ein gegebenes Rauschverhältnis, das
einen Konfigurati onsparameter bildet, die erste und zweite Größe abzuleiten,
deren Kombination es erlaubt, die Schwellengröße s zu erzielen.
-
Für ein Rauschverhältnis von
0,78 dB und eine auf 20 festgelegte maximale Anzahl von Iterationen
ist die erste Größe, die
ein fehlerloses Decodieren charakterisiert, zum Beispiel 37,5 (Punkt 63),
und die zweite Größe, die
ein Decodieren mit restlichen Fehlern charakterisiert, gleich 3
(Punkt 62).
-
Natürlich kann
der Schritt des Bestimmens der Schwellengröße auf einer Mehrzahl charakteristischer
Kurven beruhen, wie zum Beispiel die in 3 dargestellten,
die einer Mehrzahl von Konfigurationsparametern entsprechen.
-
Um
die Schwellengröße zum Beispiel
zum Durchführen
eines Kompromisses zwischen der Leistung, die von der Decodierungsvorgehensweise zugelassen
wird, und der Komplexheit dieser Decodierungsvorgehensweise oder
zum Beispiel in Abhängigkeit
von einer gewünschten
mittleren Übertragungsdauer
oder einem zugelassenen mittleren Energieverbrauch anpassen zu können, erfolgt
das Bestimmen der Schwellengröße durch
Kombination einer ersten Größe, die
ein fehlerloses Decodieren kennzeichnet, mit einer zweiten Größe, die
ein Decodieren mit restlichen Fehlern kennzeichnet, über einen
Koeffizienten α,
der es erlaubt, der einen oder anderen dieser Größen den Vorrang einzuräumen.
-
Bei
der vorliegenden Ausführungsform
ist die Schwellengröße die Summe
der ersten Größe multipliziert
mit einem Koeffizienten α und
der zweiten Größe multipliziert
mit einem Koeffizienten (1 – α), wobei
der Koeffizient α zwischen
0 und 1 ausgewählt wird.
-
Der
Koeffizient α wird
zum Beispiel mit Hilfe eines anpassungsfähigen Algorithmus oder einer
Referenztabelle in Abhängigkeit
von der Anwendung, im Rahmen welcher das digitale Übertragungsverfahren eingreift,
festgelegt. Je kleiner α ist,
desto geringer sind die mittlere Komplexität des Decodierens, die mittlere
Decodierungsdauer und der mittlere Energieverbrauch für das Decodieren
einer Sequenz. Je größer α ist, desto
besser sind die Leistungen, die von dem Decodieren erlaubt werden.
Daher wird der Parameter α eher
klein ausgewählt,
zum Beispiel für
Anwendungen, die binäre
Fehlerraten oder Pakete tolerieren können, die relativ hoch sind,
die jedoch niedrige Dauern fordern, wie das der Fall für Sprach dienstleistungen
ist. Für
solche Anwendungen ist die maximale Anzahl der Iterationen ebenfalls
klein. Für Anwendungen,
die hingegen geringe binäre
Fehlerraten oder Pakete fordern, die aber große Dauern tolerieren, wie das
der Fall der Datenübertragungsdienste
ist, werden der Parameter α und
die maximale Anzahl der Iterationen eher groß ausgewählt.
-
In
dem Beispiel der 3 ergibt zum Beispiel ein Koeffizient α gleich 0,35
für ein
Rauschverhältnis
von 0,78 dB eine Schwellengröße s gleich
15. Wenn eine iterative Decodierungsvorgehensweise einer Sequenz
unterbrochen wird, wenn die für
diese Sequenz berechnete charakteristische Größe die Schwellengröße s = 15
erreicht, sind die Leistungen hinsichtlich der binären Fehlerraten
im Vergleich zu dem Fall, in dem die Decodierungsvorgehensweise bis
zum Ende ihrer zwanzig Iterationen geht, nicht oder sehr wenig beeinträchtigt.
Die mittlere durchgeführte
Anzahl von Iterationen beträgt
jedoch 3,8 an Stelle von 20, was einen Gewinn an Komplexheit größer als
5 ergibt.
-
Die
vorliegende Erfindung gilt für
alle Übertragungsverfahrenstypen,
die eine Fehlerkorrekturcodierung des Typs Turbo-Codieren verwenden,
ob es sich nun um ein serielles oder paralleles Turbocodieren handelt,
ja sogar einen Turbo-Code mit Hybrid-Konkatenationsschema, das serielle
Konkatenation und parallele Konkatenation mischt.
-
Es
wird nun kurz eine Ausführungsform
der vorliegenden Erfindung an einen Serien-Turbo-Code angewandt
präsentiert.
-
Bei
einem Turbo-Code mit serieller Konkatenation erzeugt jeder Elementarcodierer
zum Beispiel eine codierte Elementarinformation ausgehend von der
codierten Elementarinformation, die aus dem vorhergehenden Elementarcodierer
stammt, wobei die i Elementarcodierer durch (i – 1) Verschachteler getrennt
sind. Lochungsschritte können
in der Codierungsvorgehensweise verteilt sein, wobei der Ausgang
eines j. Codierers durch einen j. Lochungsvektor gelocht, vor dem
Codieren durch einen (j + 1). Codierer von einem j. Verschachteler
verschachtelt wird. Die Größe jedes
Verschachtelers hängt
von dem vorangehenden Codierungsschritt ab und insbesondere von
der Leistung des vorhergehenden Elementarcodierers nach dem Lochen.
-
Bei
einem Turbodecodierungsbeispiel, das dem Turbocodieren mit serieller
Konkatenation, das eben beschrieben wurde, entspricht, wobei die
Decodierer in der umgekehrten Reihenfolge der Elementarcodierer
verbunden sind, empfängt
jeder Elementardecodierungsschritt zwei gewichtete A-Priori-Informationen,
die eine, erste Eingangsinformation genannt, entspricht der Ausgangsinformation
des entsprechenden Elementarcodierers, und die andere, zweite Eingangsinformation
genannt, entspricht der Eingangsinformation des entsprechenden Elementarcodierers.
Dieser Elementardecodierungsschritt ergibt zwei gewichtete A-Posteriori-Informationen, die eine,
erste Ausgangsinformation genannt, die dem Ausgang des entsprechenden
Elementarcodierers entspricht, und die daher bei einer darauf folgenden Iteration
nach dem entsprechenden Verschachteln und Lochen A-Priori-Eingang eines vorhergehenden Elementardecodierers
wird, und die andere, zweite Ausgangsinformation genannt, die dem
Eingang des entsprechenden Elementarcodierers entspricht, und die
daher in der gleichen Iteration nach dem entsprechenden Entschachteln
und Entlochen A-Priori-Eingang eines darauf folgenden Elementardecodierers wird.
Die erste Eingangsinformation entspricht der von dem Elementardecodierungsschritt
zu decodierenden Information. Die zweite Ausgangsinformation entspricht
der von dem Elementardecodierungsschritt decodierten Information,
und sie besteht aus der Kombination der zweiten Eingangsinformation mit
einer extrinsischen Information.
-
Erfindungsgemäß berechnet
der Schritt des Bestimmens der charakteristischen Größe bei einem Elementardecodierungsschritt
eine charakteristische Größe ausgehend
von einer Einheit extrinsischer Informationen am Ausgang dieses
Elementardecodierungsschritts. Wenn man sich auf das zuvor beschriebene
Turbo-Decodierungsbeispiel bezieht, erfolgt die Berechnung der charakteristischen
Größe ausgehend
von einer Einheit extrinsischer Informationen, die aus einer Einheit
zweiter Ausgangsinformationen stammt.