DE60026109T2 - Kombinierte Kanal - und Entropiedekodierung - Google Patents

Kombinierte Kanal - und Entropiedekodierung Download PDF

Info

Publication number
DE60026109T2
DE60026109T2 DE60026109T DE60026109T DE60026109T2 DE 60026109 T2 DE60026109 T2 DE 60026109T2 DE 60026109 T DE60026109 T DE 60026109T DE 60026109 T DE60026109 T DE 60026109T DE 60026109 T2 DE60026109 T2 DE 60026109T2
Authority
DE
Germany
Prior art keywords
codeword
decoder
code
channel
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60026109T
Other languages
English (en)
Other versions
DE60026109D1 (de
Inventor
Hirohisa Yamaguchi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE60026109D1 publication Critical patent/DE60026109D1/de
Publication of DE60026109T2 publication Critical patent/DE60026109T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6312Error control coding in combination with data compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Error Detection And Correction (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Image Processing (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

  • 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.
  • Tabelle 1
    Figure 00040001
  • 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).
  • Figure 00060001
  • 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:
  • Figure 00070001
  • 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)
    Figure 00070002
    gilt.
  • Dabei ist σ2
    Figure 00070003
    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.
  • Figure 00080001
  • 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
    Figure 00100001
    definiert werden, wobei Nm die Länge des Codes ist, m bezeichnet das m-te Codewort in der Menge, ck (k = 0, ..., Nm) stellt die Codewort-Bitfolge dar (0 und 1 müssen auf –1 und 1 abgebildet werden) und lk 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.

Claims (3)

  1. Digitales Kommunikationssystem zum Decodieren von Quellinformationen, die in Bits quantisiert sind, in Codewörter mit variabler Länge entropiecodiert sind und kanalcodiert sind, wobei das System einen Empfänger umfasst, der einen Kanal-Decodierer (61), einen Entropie-Decodierer und Mittel (62, 63) zum Eingeben eines Codewortes in den Entropie-Decodierer enthält, wobei der Entropie-Decodierer Mittel (65) umfasst, um Codewort-Wahrscheinlichkeitswerte für alle Codewörter in einer Menge unter der Annahme, dass bei der richtigen Bitposition begonnen wird, zu berechnen, dadurch gekennzeichnet, dass der Entropie-Decodierer ferner Mittel (67, 68) umfasst, die die besten Codewörter in der Menge durch Suchen der lokalen Maxima in den Codewort-Wahrscheinlichkeitswerten auswählen.
  2. System nach Anspruch 1, bei dem die Mittel zum Berechnen von Codewort-Wahrscheinlichkeitswerten so beschaffen sind, dass sie gemäß
    Figure 00150001
    arbeiten, wobei Nm die Länge des Codes ist, m das m-te Codewort in der Menge bezeichnet, ck(k = 0, ..., Nm) die Codewort-Bitfolge repräsentiert und lk die von dem Kanal-Decodierer erhaltenen Wahrscheinlichkeitswerte repräsentiert.
  3. System nach Anspruch 1 oder Anspruch 2, bei dem der Kanal-Decodierer ein Viterbi- oder MAP-Decodierer ist.
DE60026109T 1999-11-08 2000-11-08 Kombinierte Kanal - und Entropiedekodierung Expired - Lifetime DE60026109T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16406399P 1999-11-08 1999-11-08
US164063P 1999-11-08

Publications (2)

Publication Number Publication Date
DE60026109D1 DE60026109D1 (de) 2006-04-27
DE60026109T2 true DE60026109T2 (de) 2006-10-12

Family

ID=22592811

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60026109T Expired - Lifetime DE60026109T2 (de) 1999-11-08 2000-11-08 Kombinierte Kanal - und Entropiedekodierung

Country Status (4)

Country Link
EP (1) EP1098447B1 (de)
JP (1) JP2001177417A (de)
AT (1) ATE318466T1 (de)
DE (1) DE60026109T2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2800942A1 (fr) * 1999-11-09 2001-05-11 France Telecom Procede de decodage de donnees codees a l'aide d'un code entropique, dispositif de decodage et systeme de transmission correspondants
US20110164685A1 (en) * 2010-01-04 2011-07-07 Vixs Systems, Inc. Entropy decoder with entropy decoding interface and methods for use therewith

Also Published As

Publication number Publication date
ATE318466T1 (de) 2006-03-15
DE60026109D1 (de) 2006-04-27
JP2001177417A (ja) 2001-06-29
EP1098447B1 (de) 2006-02-22
EP1098447A3 (de) 2003-08-06
EP1098447A2 (de) 2001-05-09

Similar Documents

Publication Publication Date Title
DE69736881T2 (de) Parallel verketteter tail-biting-faltungskode und dekoder dafür
DE60001988T2 (de) Turbo Dekodierung mit variabler Anzahl von Iterationen
DE60113053T2 (de) Vor-Dekoder für Turbodekoder, zur Rückgewinnung von punktierten Paritätssymbolen, sowie ein Verfahren zur Rückgewinnung eines Turbokodes
DE69024282T2 (de) Verallgemeinernder Viterbi-Dekodier-Algorithmus
DE69029542T2 (de) Viterbidekodierer
DE60037963T2 (de) Turbo-Dekodierung mit Soft-Output Viterbi Dekoder
DE69923970T2 (de) Kanaldecodiereinrichtung und Verfahren zum Kanaldecodieren
DE69936908T2 (de) Iterative dekodierung von produktkoden
DE60211413T2 (de) Verfahren und Vorrichtung zur Optimierung der Größe von codierten Datenblöcken
DE3910739A1 (de) Verfahren zur verallgemeinerung des viterbi-algorithmus
DE60003071T2 (de) Verfahren zur dekodierung von mit einem entropie-code kodierten daten, entsprechende dekodierungsvorrichtung und übertragungssystem
DE4429585C1 (de) Verfahren zur arithmetischen Decodierung
WO1999011009A1 (de) Verfahren zur datenübertragung auf übertragungskanälen in einem digitalen übertragungssystem
DE102005010006A1 (de) Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
WO1999011011A1 (de) Verfahren zur datenübertragung in einem digitalen übertragungssystem bei paketvermitteltem dienst
WO2001043290A1 (de) Turbo-code-decoder und turbo-code-decodierverfahren mit iterativer kanalparameterschätzung
DE69930911T2 (de) Übertragungssystem mit adaptivem kanalkodierer und -dekoder
KR20050039873A (ko) 가변-길이 소프트-입력 코드워드 시퀀스를 소스 디코딩하는방법 및 디바이스
DE60026109T2 (de) Kombinierte Kanal - und Entropiedekodierung
DE69918912T2 (de) Verfahren und ausführung für verbesserte leistungsfähigkeiten in einem system welches faltungsdekodierung anwendet
EP1046254B1 (de) Verfahren und vorrichtung zur codierung und übertragung von informationen, unter verwendung von quellengesteuerter kanaldecodierung
EP1249074B1 (de) Verfahren zur decodierung eines datensignals
DE60316537T2 (de) Verfahren zur Dekodierung von Kodes variabler Länge sowie entsprechender Empfänger
DE10214393A1 (de) Verfahren zur iterativen Decodierung von verketteten Codes
US6801588B1 (en) Combined channel and entropy decoding

Legal Events

Date Code Title Description
8364 No opposition during term of opposition