-
Gebiet der
Erfindung
-
Diese
Erfindung bezieht sich auf die digitale Kommunikation und insbesondere
auf die Kanal- und Entropie-Codierung.
-
Hintergrund
der Erfindung
-
Bei
der digitalen Kommunikation werden die Quellinformationen in Bits
quantisiert und in Codewörter mit
variabler Länge
entropie-codiert. Dieser Prozess wird im Allgemeinen als Redundanzreduktion
in Sprache, Standbild und Video bezeichnet. Siehe A. K. Jain, "Fundamentals of Digital
Image Processing",
veröffentlicht von
Prentice Hall, 1989. Zu den entropie-codierten Symbolen wird eine
gesteuerte Menge von Redundanz hinzugefügt, was im Allgemeinen als
Kanal-Codierung bezeichnet wird. Siehe R. E. Ziemer und W. H. Tranter, "Principles of Communication
Systems, Modulation and Noise",
veröffentlicht
von Houghton Mifflin, 1995. Die resultierende Folge binärer Daten
wird in eine analoge Folge umgesetzt, moduliert und auf einem HF-Träger gesendet.
-
Das
empfangene Signal wird in das Basisbandsignal demoduliert, das für die Kanal-Decodierung abermals
in ein digitales Signal umgesetzt wird, wodurch unter Verwendung
der auf der Sendeseite hinzugefügten
Redundanz aufgetretene Fehler korrigiert werden. Die resultierende
Folge binärer
Daten wird dann durch das Abbilden eines binären Datensegments in ein Element
eines variablen Codes in die Quell-Codewörter decodiert.
-
In
der Standardimplementierung eines Kommunikationssystems werden die
Kanal-Decodierung und die Entropie-Decodierung als getrennte Funktionsblöcke behandelt,
weil ihre Gegenstücke,
die Entropie-Codierung und die Kanal-Codierung, getrennt behandelt
werden.
-
In
dem Aufsatz "Utilizing
soff information in decoding of variable length codes" von Wen, J., und
Villasenor, J. D., (Proc. IEEE Data Compression Conf., Snowbird,
Utah, März
1999, S. 131–139),
ist eine Methode des Decodierens einer Folge von Codewörtern mit
variabler Länge
beschrieben, die ein Paket mit einer bekannten Länge bilden. Die verwendete
Metrik basiert auf den Wahrscheinlichkeitsinformationen, die jedem
Bit entweder durch die direkte Verwendung der Kanalbeobachtungen
oder durch Kanal-Decodierer mit weichem Ausgang zugeordnet werden.
Falls jedoch die Anzahl der Codewörter mit variabler Länge in einem
Paket zunimmt, wird es nahezu unmöglich, zu decodieren.
-
In
dem Aufsatz von Massey, J. L., "Variable-length
codes and the Fano metric",
(IEEE Trans. On Information Theory, Bd. IT-18, Nr. 1, Jan. 1972,
S. 196–198),
erörterten
die Autoren die optimale logarithmische Wahrscheinlichkeitsmetrik
zusammen mit einer Approximation hiervon für die Wahrscheinlichkeits-Decodierung
mit minimalem Fehler der Codes mit variabler Länge.
-
Zusammenfassung
der Erfindung
-
Die
vorliegende Erfindung schafft eine digitale Kommunikationsvorrichtung,
wie sie in den Ansprüchen dargelegt
ist.
-
Kurzbeschreibung
der Zeichnung
-
Die
beispielhaften Ausführungsformen
der vorliegenden Erfindung werden nun ausführlich unter Bezugnahme auf
die beigefügte
Zeichnung beschrieben, worin:
-
1 ein
typisches Kommunikationssystem des Standes der Technik veranschaulicht;
-
2 einen Turbo-Codierer gemäß dem Stand
der Technik veranschaulicht;
-
3 die
Struktur des Turbo-Codierers nach 2 veranschaulicht;
-
4 die
Struktur des Viterbi- oder MAP-Decodierers mit weichem Ausgang veranschaulicht,
der für den
Turbo-Decodierer verwendet wird;
-
5 eine
graphische Darstellung von Beispielen der Codewort-Wahrscheinlichkeitswerte
gegen die Codewort-Nummer ist;
-
6 eine
graphische Darstellung des neuen Kanal-Entropie-Decodierers gemäß einer
Ausführungsform
der vorliegenden Erfindung veranschaulicht; und
-
7 die
Wahrscheinlichkeitsberechnung durch die Vorgriffs-Decodierung veranschaulicht.
-
Beschreibung
der beispielhaften Ausführungsformen
der vorliegenden Erfindung
-
Um
die neue Erfindung zu erklären,
nehmen die Anmelder auf das typische Kommunikationssystem nach 1 Bezug
und erörterten
die Faltungs-Codierung und den Turbo-Codierer sowie einen Viterbi-
oder MAP-Decodierer mit weichem Ausgang.
-
1 veranschaulicht
ein typisches Kommunikationssystem 10. Zuerst wird die
Quelle 11 als ein Symbol Sm aus einer gegebenen Menge von
Symbolen des Quellalphabets erzeugend betrachtet. Das Quell-Ausgangsymbol
wird dann eins zu eins auf einen Code Wm mit variabler Länge abgebildet.
-
Die
entropie-codierten Symbole werden in einem Puffer 13 gepuffert,
wobei bei der Kanal-Codierung 14 eine gesteuerte Menge
von Redundanz hinzugefügt
wird, um die Ausgangs-Yk zu erhalten. In einem typischen System
werden die empfangenen Eingangs-Y'k kanal-decodiert 15, wobei
der gepufferte Ausgang am Puffer 16 im Decodierer 17 entropie-decodiert
wird. Bei der tatsächlichen
Entropie-Codierung ist eine Anzahl von Codemengen mit variabler
Länge notwendig
und wird verwendet, um die Quellinformationen in der kleinsten Anzahl
von Bits darzustellen. Weil die hier erörterte neue Implementierung
leicht auf allgemeine Fälle
erweitert wird, wie später
erklärt
wird, wird der Entropie-Codierer 12 als aus nur einer Menge
von Codes mit variabler Länge
bestehend betrachtet. Dann wird Sm entsprechend ein Code Wm mit
variabler Länge
aus der Menge der Kanalcodes Z (Wm ∊ Z) gewählt.
-
Tabelle
1 zeigt ein Beispiel der Codes mit variabler Länge. Die Werte in der Tabelle
stellen die Menge der Quellsymbole und die Codes, die der obigen
Menge Z entsprechen, dar. Die Ausgangs-Codebits vom Entropie-Codierer 12 werden
sequentiell verkettet. Wenn diese binäre Folge (Y'k) ohne Fehler am Empfänger ankommt,
können
die ursprünglichen
Eingangs-Quellsymbole durch das Verfolgen sequentieller 0- und 1-Bits
decodiert werden, weil die Codes definiert sind, um diese Decodierung
eindeutig zu erlauben.
-
-
Diese
spezielle Menge der Codes in der Tabelle 1 wird verwendet, um ein
differentielles DC-Signal im JPEG-Standard zu codieren. Beim Codieren
und Decodieren wird die 0 durch –1 ersetzt.
-
In
einem System mit Faltungs-Codierung und insbesondere einem Turbo-Codierer 14 ist
die Ausgabe des Turbo-Decodierers 15 eine binäre Folge.
Die Ausgangs-Bitfolge des Kanal-Decodierers 15 kann Bitfehler aufweisen.
Die Wirkung dieser Bitfehler auf den Entropie-Decodierer 17 ist
sehr ernst, weil die Codierung mit variabler Länge annimmt, dass die vorhergehende
Bitfolge richtig decodiert worden ist. Wenn ein Bitfehler auftritt,
wird entweder ein falsches Codewort ausgewählt oder es wird in der Codewort-Menge
kein entsprechendes Codewort gefunden. Bei der herkömmlichen
Decodierung von Code mit variabler Länge wird der Decodierungsprozess
an einem derartigen Punkt beendet, wobei irgendein anderes Mittel
gesucht wird, um eine katastrophale Signalverschlechterung zu verhindern.
Es ist empirisch bekannt, dass es kein effektives Mittel gibt, um
den Decodierungsprozess wiederherzustellen, sobald ein Bitfehler
während
der Decodierung von Code mit variabler Länge auftritt, wenn nicht eine
Anzahl spezieller und eindeutiger Codes in die Bitfolge eingefügt ist.
-
Für die Kanal-Codierung 14 wird
die Faltungs-Codierung ausgewählt,
die häufig
für die
drahtgebundene und drahtlose Kommunikation verwendet wird. Für die Faltungs-Codierung
siehe R. L. Peterson, R. E. Ziemer und D. E. Borth, mit dem Titel "Introduction to Spread
Spectrum Communications," Prentice
Hall, 1995. Bei der Faltungs-Codierung wird eine Eingangsbit-Information
unter Verwendung einer ausgearbeiteten Rückkopplungs- oder Vorwärtskopplungs-Schleife
in einer Anzahl wiederholt. Das Verhältnis der Eingangsanzahl der
Bits in Bezug auf die Ausgangsbits wird als die Rate des Faltungs-Codes
bezeichnet. Im Folgenden wird die Turbo-Codierung für die Kanal-Codierung 14 ausgewählt, die
die Rückkopplung
(die rekursive systematische Codierung) mit einer Rate von 1/3 verwendet.
In 2(a) werden aus der binären Eingangsfolge
x drei Ausgangsfolgen Ys, Y1p und Y2p unter Verwendung der rekursiven
systematischen Faltungs-Codierer (RSC-Codierer) RSC1 und RSC2 erzeugt.
Der für
die Turbo-Codierung verwendete Faltungs-Codierer besitzt eine Rate
= 2/3 und eine Zwangsbedingungs-Länge = 5.
Die Ys ist die systematische Ausgabe, während die Y1p und Y2p die Paritätsausgaben
sind. Ein Beispiel der Struktur der rekursiven systematischen Faltungs-Codierer
RSC1 und RSC2 ist in 2(b) gezeigt.
Die Verschachtelungseinrichtung 21 wird verwendet, um die binäre Eingangsfolge
für den
RSC1 und den RSC2 zu entkorrelieren. Die Ausgabe Y ist genau die
gleiche Kopie der binären
Eingangsfolge. Der Faltungs-Codierer 14 fügt in die
Paritätsausgaben
eine Korrelation mit unendlicher Länge ein. Für die Turbo-Codierung siehe
C. Berrou und A. Glavieux, "Near
Optimum Error Correcting Codes and Decoding Turbo Codes," IEEE Transactions
on Communications, Bd. 44, Nr. 10, Oktober 1996. Das gleiche Argument
ist außerdem
für die
Standard-Faltungs-Codierung gültig,
die die Viterbi-Decodierung verwendet. Die Nettorate der Kanal-Codierung
kann weiter verbessert werden, indem das Paritätsbit Y1p und Y2p alternativ
ausgelassen wird, während
Ys ohne Auslassung gesendet wird. In diesem Fall wird die Codierungsrate
1/2 an Stelle von 1/3. Dieser Prozess wird im allgemeinen als Hervorheben
bezeichnet. Von nun an wird angenommen, dass ein derartiges Hervorheben
am Sender ausgeführt
wird, aber dies ist keine wesentliche Annahme.
-
3 zeigt
die Struktur des Turbo-Decodierers 15, der dem in 2 gezeigten Codierer entspricht. Die Empfänger-Y'k in 1 werden
für die
Einfachheit im Folgenden einfach als Yk bezeichnet. Aufgrund des Hervorhebens
am Sender wird ein 0-Bit abwechselnd eingefügt, um die fehlenden Bits in
den Y1p- und Y2p-Folgen zu ergänzen
(Aufheben des Hervorhebens). Es gibt zwei Basis-Decodierer 34 und 35,
von denen jeder als ein Viterbi-Decodierer mit weichem Ausgang (SOVA)
oder ein Decodierer mit maximaler a-posteriori-Wahrscheinlichkeit
(MAP) bezeichnet wird. Siehe außerdem
J. Hagenauer, E. Offer und L. Papke, "Iterative Decoding of Binary Block and
Convolution Codes," IEEE
Trans. on Information Theory, Bd. 42, Nr. 2, März 1996. Der Viterbi-Decodierer
ist als eine Schätzeinrichtung
mit maximaler a-posteriori-Wahrscheinlichkeit für die ursprüngliche binäre Eingangsfolge allgemein
bekannt. Er verwendet die verfügbare
Ys und Y1p oder Ys und Y2p (mit Verschachtelung), wobei bekannt
ist, dass er die optimale Leistung des Kanal-Decodierers bereitstellt.
-
Unter
Verwendung der Wahrscheinlichkeitstheorie kann gezeigt werden, dass
der beste Kanal-Decodierer die folgende a-posteriori-Wahrscheinlichkeit
der Eingangs-Xk unter Verwendung der empfangenen Yk maximiert (siehe 1).
-
-
In
Gl. (2) wurde die Bayessche Regel verwendet, um die a-posteriori-Wahrscheinlichkeit
P(Xk|Yk) durch eine a-priori-Wahrscheinlichkeit P(Yk|Xk) und die
früheren
Wahrscheinlichkeiten P(Xk) und P(Yk) darzustellen. Siehe W. B. Davenport
und W. J. Root, "An
Introduction to the Theory of Random Signals and Noise," McGraw Hill, 1958.
Um Xk und Yk in Bezug auf den möglichen
Wert von –1
und +1 zu schätzen,
wird der Vergleich von P(Xk = –1|Yk)
und P(Xk = +1|Yk) im Logarithmus wie folgt ausgeführt:
-
-
Dieses
Verhältnis
wird als das logarithmische Wahrscheinlichkeitsverhältnis oder
einfach als das Wahrscheinlichkeitsverhältnis bezeichnet. Wenn das
Rauschen Nk in
1 Gaußsches weißes Rauschen ist, wird gezeigt,
dass für
P(y|x = +1)
gilt.
-
Dabei
ist σ
2 wobei Es, die Symbolleistung,
durch Eb/R gegeben ist. Eb stellt die Signalleistung pro ein Bit
der Informationen dar, während
R die Codierungsrate ist. Außerdem
steht a in Gl. (4) für
das Phänomen
des Kanalschwunds, aber dies ist in der aktuellen Diskussion nicht
wesentlich. Deshalb wird im Folgenden a = 1 angenommen. Hinsichtlich
dieser Wahrscheinlichkeiten berechnet der Viterbi- oder MAP-Decodierer in
3 die
a-priori-Wahrscheinlichkeit von p(Xk) aus den verfügbaren Wahrscheinlichkeitsinformationen,
wie in
4 gezeigt ist.
-
In 4 erzeugt
der Decodierer 41 (34 oder 35) a-priori-Informationen
p(Xk) aus der Ys und der Yp1 (oder der Yp2). Falls es a-priori-Informationen
p(Xk) gibt, die zusammen mit der Ys verfügbar sind, werden sie außerdem berücksichtigt,
wie oben gezeigt ist. Der Decodierer 41 kann außerdem den
lokalen Schätzwert
für Xk
erzeugen.
-
3 zeigt,
dass die a-priori-Informationen des Decoders 34 der ersten
Stufe anschließend
als eine Eingabe in den zweiten Viterbi- oder MAP-Decodierer 35 verwendet
werden, wobei gleichzeitig die a-priori-Informationen vom zweiten
Decodierer 35 zum ersten Decodierer 34 rückgekoppelt
werden. Wenn die zu den nächsten
Decodierern weitergeleiteten a-priori-Informationen in der Weise
sorgfältig
definiert sind, dass ein derartiger Prozess die Schätzgenauigkeit
der ursprünglichen
Xk verbessert, wird folglich gezeigt, dass die geschätzten Xk
gegen die ursprünglichen
Xk konvergieren, wenn die Rückkopplung
wiederholt wird.
-
In
einem herkömmlichen
Kommunikationssystem ist die Ausgabe des Turbo-Decodierers eine binäre Folge. Diese Folge wird
erzeugt, indem die harte Entscheidung auf einen a-posteriori-Wahrscheinlichkeitswert des
Turbo-Decodierers angewendet wird.
-
-
Die
Ausgangsbitfolge des Kanal-Decodierers enthält Bitfehler. Im Allgemeinen
ist eine Bitfehlerrate (BER) von 10–3 bis
10–4 für die Echtzeitsprach-
und -videokommunikation erforderlich. Die Qualität des Kanals wird aufrechterhalten,
indem die Übertragungssignalleistung
gesteuert wird.
-
Die
Wirkung dieser Bitfehler auf den Entropie-Decodierer (17 in 1)
ist jedoch sehr ernst, weil die Codierung mit variabler Länge annimmt,
dass die vorhergehende Bitfolge richtig decodiert worden ist. Wenn ein
Bitfehler auftritt, wird entweder ein falsches Codewort ausgewählt oder
es wird in der Codewort-Menge kein entsprechendes Codewort gefunden.
Bei der herkömmlichen
Decodierung von Code mit variabler Länge wird der Decodierungsprozess
an einem derartigen Punkt beendet, wobei irgendein anderes Mittel
verwendet wird, um eine katastrophale Signalverschlechterung zu
verhindern. Es ist empirisch bekannt, dass es kein effektives Mittel
gibt, um den Decodierungsprozess wiederherzustellen, sobald ein
Bitfehler während
der Decodierung von Code mit variabler Länge auftritt, wenn nicht eine
Anzahl spezieller und eindeutiger Codes in die Bitfolge eingefügt ist.
Gemäß der vorliegenden
Erfindung wird gezeigt, dass durch das Kombinieren des Kanal-Decodierers
(Turbo- oder Viterbi-Decodierers) 15 mit dem Entropie-Decodierer
(Decodierer mit variabler Länge) 17 eine
signifikante Verbesserung in der Bitfehlerrate erreicht wird.
-
Im
Kommunikationsempfänger
kann das Eingangssignal in den Viterbi-Decodierer 15 in
Bits (harte Entscheidung) oder in Mehrfachpegel (weiche Entscheidung)
quantisiert werden. Es ist allgemein bekannt, dass ein Viterbi-Decodierer
mit weicher Entscheidung im Vergleich zu einem Decodierer mit harter
Entscheidung eine signifikante Verbesserung erreicht. Dies ist so,
weil die Wahrscheinlichkeit des Eingangssignals in den Mehrfachpegelinformationen
erhalten wird, während
sie im Decodierer mit harter Entscheidung verloren geht. Eine ähnliche
Beobachtung kann auf den Kanal- und den Entropie-Decodierer angewendet
werden. Der herkömmliche
Entropie-Decodierer 17 empfängt die Bits mit harter Entscheidung
vom Kanal-Decodierer 15. Wenn jedoch die Wahrscheinlichkeitsinformationen
zum Entropie-Decodierer 17 geleitet werden, ist auch eine signifikante
Verbesserung möglich.
Aus den 3 und 4 ist zu
sehen, dass derartige Wahrscheinlichkeitsinformationen in der Form
der a-priori-Informationen vom Viterbi- oder MAP-Decodierer 15 (34 und 35 nach 3)
bereitgestellt werden können.
-
Es
gibt zwei Vorgehensweisen, um derartige Informationen bei der Decodierung
auszunutzen. Der eine ist sehr einfach, während der andere signifikant
leistungsfähiger,
aber komplexer zu implementieren ist.
-
(1) Die einfache Verwirklichung
des kombinierten Kanal-Decodierers 15 und Entropie-Decodierers 17
-
Es
wird angenommen, dass die Decodierung aus einer richtigen Bitposition
beginnt. Anstelle der Bitdaten werden die Wahrscheinlichkeitswerte
vom Kanal-Decodierer
verwendet, wobei die Codewort-Wahrscheinlichkeit für alle Codewörter in
der Menge berechnet wird. Die Codewort-Wahrscheinlichkeit kann durch
definiert werden, wobei N
m die Länge
des Codes ist, m bezeichnet das m-te Codewort in der Menge, c
k (k = 0, ..., N
m)
stellt die Codewort-Bitfolge dar (0 und 1 müssen auf –1 und 1 abgebildet werden)
und l
k stellt die vom Kanal-Decodierer erhaltenen
Wahrscheinlichkeitswerte dar. Für
die Tabelle 1 werden acht Codewort-Wahrscheinlichkeitswerte erhalten.
-
Es
gibt viele Variationen der Algorithmen, um das beste Codewort auszuwählen. Eine
hier eingeführte Methode
besteht darin, die lokalen Maxima im Wahrscheinlichkeitswert als
das decodierte Codewort zu suchen (das Codewort Nr. 3 und Nr. 7
wird auf diese Weise in 5 gefunden). Es ist festgestellt
worden, dass dieser Algorithmus besser ist, als das einfache Maximum
zu wählen.
Dies kommt von der Eigenschaft der Codewort-Wahrscheinlichkeit,
dass sie monoton zunimmt, soweit Bits richtig decodiert werden,
dass sie aber in einen Zufallsspaziergang einbiegt, wenn sie nicht
mehr übereinstimmt.
-
Es
wird z. B. der tatsächliche
Fall betrachtet, in dem die herkömmliche
Decodierung misslungen ist:
Vom Kanal-Decodierer ist die Bitfolge
[111001111---] erhalten worden. Unter Verwendung der Tabelle 1 wird das
Codewort Nr. 3 [1110] gewählt,
aber das richtige Codewort ist Nr. 4 gewesen. Nun werden die Wahrscheinlichkeitswerte
vom Kanal-Decodierer erhalten:
[4,9, 4,3, 3,8, –0,3, –5,0, 4,5,
4,1, 5,4, 2,4, ---],
was [111001111---] entspricht. Nun werden
die Codewort-Wahrscheinlichkeitswerte berechnet;
[–9,2, –4,4, 13,2,
17,7, 3,1, 8,1, 10,9, 19,2].
-
Hier
kann beobachtet werden, dass es ein lokales Maximum beim Codewort
Nr. 4 und einen weiteren großen
Wert beim Codewort Nr. 8 gibt. Im Allgemeinen nimmt die Codewort-Wahrscheinlichkeit
für eine
längere
Codelänge
monoton zu. Dies muss berücksichtigt
werden, indem die Suche nach lokalen Maxima entsprechend der Codelänge beeinflusst
wird. Durch diesen Algorithmus kann das richtige Codewort Nr. 4,
das den lokalen Maxima entspricht, gewählt werden. 5 zeigt
zwei andere Beispiele der Codewort-Wahrscheinlichkeit gegen die
Codewort-Nummer, die unter Verwendung der Codes mit variabler Länge nach
Tabelle 1 erhalten werden.
-
Nun
ist eine Computer-Simulation ausgeführt worden, um die Leistung
des neuen Decodierungs-Verfahrens zu untersuchen. Der Kommunikationskanal
ist definiert worden, wie in 1 gezeigt
ist. Die Codes mit variabler Länge
der Tabelle 1 sind verwendet worden, aus denen das Codewort zufällig ausgewählt worden
ist, wobei die entsprechende Bitfolge dann unter Verwendung des
Turbo-Codierers (Rate 1/2 und Zwangsbedingungs-Länge 5) faltungscodiert, zu
ihr weißes
Rauschen hinzugefügt
und sie dann turbo-decodiert worden ist. Der Turbo-Decodierer ist
(durch eine Rückkopplungs-Wiederholungszahl)
so gesteuert worden, dass die decodierte Ausgangs-BER 10–3 wird.
Die Wahrscheinlichkeitswerte sind dann für den Decodierer mit variabler Länge verwendet
worden, wobei die neue Decodierung mit der herkömmlichen bitweisen Decodierung
mit variabler Länge
und harter Entscheidung verglichen worden ist. Im Ergebnis ist unter
Verwendung der in 5 erklärten einfachen Regel beobachtet
worden, dass die Anzahl der Bitfehler auf 1/3 bis 1/5 verringert
werden kann. Durch das Untersuchen der aus gearbeiteten Algorithmen
erscheint es, dass eine 1/10-Verringerung erreichbar sein würde.
-
6 zeigt
außerdem
andere in Beziehung stehende Funktionen, die im praktischen System
notwendig sind. Die Ausgabe aus dem Kanal-Decodierer (die Wahrscheinlichkeitswerte) 61 werden
im Puffer 62 gespeichert. Bevor die Decodierung mit variabler
Länge beginnt,
wird ein eindeutiges Codewort (ein Anfangscode) entweder im Bitmuster
oder im Wahrscheinlichkeitswert in der eindeutigen Wortkennung 63 gesucht. Wenn
das eindeutige Wort gefunden wird, werden die Kandidaten-Codewörter in
separate Codewortwahrscheinlichkeits-Berechnungseinheiten Nr. 1 bis n im
Inneren des gestrichelten Blocks 65 geladen. Jede Einheit Nr.
1 bis n berechnet die Gl. (7) für
das gegebene Codewort-Bitmuster. In der tatsächlichen Implementierung wird
eine Anzahl von Codemengen mit variabler Länge entsprechend der Codierungs-Syntax
verwendet. Folglich wird auf eine Anzahl verschiedener Codemengen
Bezug genommen und wird eine Anzahl verschiedener Codemengen als
die Kandidaten-Codes geladen, um alle Codewort-Kandidaten zu finden.
Ein Suchalgorithmus, der getestet worden ist, folgt:
- (a) Berechne die Codewort-Wahrscheinlichkeit für alle Codelängen (beginnend
mit m = 2 und endend mit m = 9). Falls es einen Abfall im Codewort-Wahrscheinlichkeitswert
gibt, betrachte ihn als ein Kandidatenwort. Die Codewort-Wahrscheinlichkeit
für m =
2 ist z. B. 1,3 gewesen, ist für
m = 3 2,5 gewesen und ist für m
= 4 2,2 gewesen usw., dann wird das Codewort m = 3 als ein Kandidat
genommen. Wenn mehrere Codes derselben Wortlänge entsprechen, berechne die
Wahrscheinlichkeit und beurteile, ob es eine gibt, die ein derartiges
Phänomen
verursacht. Falls es kein derartiges Phänomen gibt und der Wahrscheinlichkeitswert monoton
zunimmt, dann ist das decodierte Wort der erste 2-Bit-Code.
- (b) Wähle
den Code, der den größten Abfall
(bezüglich
der Codelänge)
im Wahrscheinlichkeitswert verursacht.
-
Wenn
das Codewort durch das Vergleichen der Codewort-Wahrscheinlichkeitswerte
gewählt
worden ist 68, werden die ausgewählten Code-Informationen mit
maximalem Wert zur Codewort-Steuereinrichtung 67 rückgekoppelt,
um zur Decodierung des nächsten
Schrittes weiterzugehen. Das decodierte Codewort Em wird außerhalb
des Decodierers bereitgestellt. Wenn die Decodierung fehlschlägt, muss
der Suchprozess nach dem eindeutigen Wort neu begonnen werden.
-
(2) Implementierung mit
verbesserter Leistung durch Ein-Wort-Vorgriff.
-
Diese
Methode ist nur auf die Codes mit variabler Länge anwendbar. Wenn ein Decodierungsfehler auftritt,
kann das nächste
Codewort ein Fehler werden. Folglich ist durch das Berechnen der
nächsten
Codewort-Wahrscheinlichkeit und das Verifizieren des Vorhandenseins
des folgerichtigen Codewortes eine Verbesserung möglich. Die
Erweiterung dieser Idee führt
zur folgenden Implementierung.
-
(3) Eine leistungsfähigere,
aber komplexere Implementierung.
-
Die
Decodierung in Anbetracht der künftigen
Codewort-Wahrscheinlichkeit ist durch 7 erklärt.
-
Die
anfänglichen
Codewörter
sind dieselben, die in 6 betrachtet werden. Die Wahrscheinlichkeitsdecodierung
wird fortgesetzt (im Verfahren mit bester Leistung, wie in (1) erörtert ist).
Die erweiterte Decodierung wird fortgesetzt, bis die decodierte
Gesamtbitlänge
einen gegebenen Schwellenwert überschreitet.
Infolge der variablen Codelängen
verändern
sich die verlängerten
Codelängen
ebenfalls, da aber die Decodierungslänge lang genug verlängert wird,
werden die Gesamtcodelängen
etwa eine gleiche Länge.
Die Codewort-Wahrscheinlichkeitswerte werden zwischen diesen verlängerten
Codewörtern
verglichen, wobei die Wahrscheinlichkeit, dass die richtige Codewort-Folge
decodiert wird, mit zunehmender verlängerter Codelänge schnell
zunimmt. Die Komplexität
des Decodierers nimmt gleichermaßen zu, wobei Kompromisse gemacht werden
müssen.
Die Struktur des Decodierers ist dieselbe wie in 6,
wobei sie folglich weggelassen ist.
-
Unter
Verwendung der Wahrscheinlichkeitswerte anstelle der Bits ist eine
neue Implementierung eines kombinierten Kanal- (Turbo- oder Viterbi-Decodierers)
und Entropie-Decodierers erörtert
worden. Es ist gezeigt worden, dass durch das neue Verfahren eine
signifikante Verbesserung der BER erreicht wird. Die Systemstruktur,
die den neuen Decodierer implementiert, ist für zwei Methoden erörtert worden;
die einfache Implementierung und die leistungsfähigere, aber komplexere Implementierung.