DE69936067T2 - Verfahren und Vorrichtung zur Maximum-a-Posteriori Warscheinlichkeits-Dekodierung - Google Patents

Verfahren und Vorrichtung zur Maximum-a-Posteriori Warscheinlichkeits-Dekodierung Download PDF

Info

Publication number
DE69936067T2
DE69936067T2 DE69936067T DE69936067T DE69936067T2 DE 69936067 T2 DE69936067 T2 DE 69936067T2 DE 69936067 T DE69936067 T DE 69936067T DE 69936067 T DE69936067 T DE 69936067T DE 69936067 T2 DE69936067 T2 DE 69936067T2
Authority
DE
Germany
Prior art keywords
probability
backward
probabilities
decoded result
calculation unit
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
DE69936067T
Other languages
English (en)
Other versions
DE69936067D1 (de
Inventor
Kazuhisa Fujitsu Limited OHBUCHI
Tetsuya Fujitsu Limited YANO
Kazuo Fujitsu Limited KAWABATA
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE69936067D1 publication Critical patent/DE69936067D1/de
Publication of DE69936067T2 publication Critical patent/DE69936067T2/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/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/3972Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using sliding window techniques or parallel windows
    • 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/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP 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
    • H03M13/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3933Decoding in probability domain

Description

  • Technisches Gebiet
  • Diese Erfindung betrifft ein Maximum-a-Posteriori-Wahrscheinlichkeits-(MAP)-Decodierverfahren und eine Decodier-Vorrichtung, die dieses Decodierverfahren einsetzt. Genauer genommen betrifft die Erfindung ein Maximum-a-Posteriori-Wahrscheinlichkeits-Decodierverfahren und eine Vorrichtung zum Berechnen einer Rückwärtswahrscheinlichkeit und anschließendem Berechnen einer Vorwärtswahrscheinlichkeit beim Maximum-a-Posteriori-Wahrscheinlichkeits-(MAP)-Decodieren, um dadurch die verwendete Speichermenge zu reduzieren.
  • Stand der Technik
  • Fehlerkorrekturcodes, die den Zweck haben, in einer empfangenen Information oder in einer rekonstruierten Information enthaltene Fehler zu korrigieren, so dass die ursprüngliche Information korrekt decodiert werden kann, werden auf eine Vielfalt von Systemen angewendet. Zum Beispiel werden Fehlerkorrekturcodes in Fällen angewendet, in denen Daten ohne Fehler beim Durchführen einer Mobilkommunikation, einer FAX-Kommunikation oder einer anderen Datenkommunikation zu übertragen sind, und in Fällen, in denen Daten ohne Fehler von einem Speichermedium einer großen Kapazität, wie beispielsweise einem Magnetplattenspeicher oder einer CD, rekonstruiert bzw. wiederhergestellt werden sollen.
  • Es ist entschieden worden, aus den verfügbaren Fehlerkorrekturcodes die Turbocodes (man betrachte die Spezifizierung von US-Patent 5 446 747 ) für die Standardisierung von Mobilkommunikationssystemen der nächsten Generation zu übernehmen. Eine Maximum-a-Posteriori- Wahrscheinlichkeits-Decodierung (MAP-Decodierung) manifestiert ihre Wirksamkeit bei solchen Turbocodes. Ein MAP-Decodierungsverfahren ist ein Verfahren zum Decodieren, das der Viterbi-Decodierung ähnelt.
  • (a) Viterbi-Decodierung
  • Unter Verwendung eines k-ten Dateneintrags codierter Daten, die durch Codieren einer Information der Informationslänge N erhalten sind, wählt die Viterbi-Decodierung, für jeden Zustand, der bei dem Moment der Eingabe des k-ten Dateneintrags vorherrscht, den Pfad von zwei Pfaden aus, der zu dem Zustand mit dem kleineren Fehler führt, verwirft den Pfad mit dem größeren Fehler, und wählt von da an in ähnlicher Weise, für jeden Zustand, der bei dem Moment der Eingabe eines letzten N-ten Dateneintrags vorherrscht, den Pfad von zwei Pfaden aus, der zu dem Zustand mit dem kleineren Fehler führt, und führt die Decodierung mit Verwenden der Pfade des kleinsten Fehlers unter den bei jedem der Zustände ausgewählten Pfaden durch. Das Decodierergebnis ist eine Ausgabe einer harten Entscheidung.
  • Da das Viterbi-Decodierverfahren ein Verfahren zum Decodieren von Faltungscodes ist, wird die Faltungscodierung zuerst beschrieben, und dann wird die Viterbi-Decodierung beschrieben.
  • 11 zeigt ein Beispiel eines Faltungscodierers, der ein 2-Bit-Schieberegister SFR und zwei Exklusiv-ODER-Gatter EXOR1, EXOR2 hat. Das EXOR1 gibt das Exklusiv-ODER g0 zwischen einer Eingabe und R1 aus, und das EXOR2 gibt das Exklusiv-ODER g1 (gibt "1" aus, wenn in "1" überzählig ist, und gibt andernfalls "0" aus) zwischen dem Eingang bzw. der Eingabe und R0, R1 aus. Demgemäß sind die Beziehungen zwischen dem Eingang bzw. der Eingabe und den Ausgängen bzw. den Ausgaben des Faltungscodierers und die Zustände des Schieberegisters FR in einem Beispiel, in dem die Eingabedaten 01101 sind, wie in 12 veranschaulicht.
  • Der Inhalt des Schieberegisters SFR des Faltungscodierers ist als der "Zustand" definiert. Wie in 13 gezeigt, gibt es vier Zustände, und zwar 00, 01, 10 und 11, die als ein Zustand a, Zustand b, Zustand c bzw. Zustand d bezeichnet werden. Mit dem Faltungscodierer von 11 sind die Ausgänge (g0, g1) und der nächste Zustand eindeutig in Abhängigkeit davon definiert, welcher der Zustände a bis d durch den Zustand des Schieberegisters SFR angegeben ist, und in Abhängigkeit davon, ob der nächste Eintrag der Eingabedaten "0" oder "1" ist. 14 ist ein Diagramm, das die Beziehung zwischen den Zuständen des Faltungscodierers und den Eingängen bzw. Eingaben und Ausgängen bzw. Ausgaben davon zeigt, in welchem die gestrichelten Linien eine "0"-Eingabe angeben und die durchgezogenen Linien eine "1"-Eingabe angeben.
    • (1) Wenn "0" im Zustand a eingegeben wird, ist die Ausgabe 00 und der Zustand ist a; wenn "1" eingegeben wird, ist die Ausgabe 11 und der Zustand wird c.
    • (2) Wenn "0" im Zustand b eingegeben wird, ist die Ausgabe 11 und der Zustand ist a; wenn "1" eingegeben wird, ist die Ausgabe 00 und der Zustand wird c.
    • (3) Wenn "0" im Zustand c eingegeben wird, ist die Ausgabe 01 und der Zustand wird b; wenn "1" eingegeben wird, ist die Ausgabe 10 und der Zustand wird d.
    • (4) Wenn "0" im Zustand d eingegeben wird, ist die Ausgabe 10 und der Zustand wird b; wenn "1" eingegeben wird, ist die Ausgabe 01 und der Zustand wird d.
  • Wenn die Faltungscodes des in 11 gezeigten Faltungscodierers in der Form eines Gitters bzw. einer Lattice-Struktur mit Verwenden der obigen Eingangs-/Ausgangsbeziehung ausgedrückt werden, ist das Ergebnis wie in 15(a) gezeigt, wobei k die Zeit bezeichnet, zu der ein k-tes Bit eingegeben wird und der Anfangs- (k=0) Zustand des Codierers a(00) ist. Die gestrichelte Linie gibt eine "0"-Eingabe an, und die durchgezogene Linie gibt eine "1"-Eingabe an, und die zwei numerischen Werte auf den Linien sind die Ausgaben bzw. Ausgänge (g0, g1). Demgemäß wird verstanden werden, dass, wenn "0" in dem Anfangszustand a(00) eingegeben wird, die Ausgabe 00 ist und der Zustand der Zustand a ist, und dass, wenn "1" eingegeben wird, die Ausgabe 11 ist und der Zustand der Zustand c wird.
  • Beim Verweis auf diese gitter-artige Darstellung wird verstanden werden, dass, wenn die ursprünglichen Daten 11001 sind, Zustand c über den durch die gestrichelten Pfeile in 15(b) angegebenen Pfad erreicht wird, und dass die Ausgabe des Codierers
    11 → 10 → 10 → 11 → 11
    wird.
  • Wenn ein Faltungscode decodiert wird, wird zuerst eine Entscheidung hinsichtlich der empfangenen Daten gefällt. Es gibt zwei Entscheidungstypen, und zwar eine harte Entscheidung und eine unscharfe Entscheidung.
  • In dem Fall einer harten Entscheidung wird die Entscheidung auf der Grundlage zweier Quantisierungspegel gefällt, d.h., dass "1" entschieden wird, wenn der erfasste Ausgangspegel größer als 0 ist, und "0" entschieden wird, wenn der erfasste Ausgangspegel kleiner als 0 ist. Wenn eine standardisierte Bestimmung auf diese Weise getätigt wird, tritt eine fehlerhafte Entscheidung bei dem Streuteilstück (das durch die schraffierte Fläche angegebene Teilstück) der Randgebiete der in 16 gezeigten jeweiligen Wahrscheinlichkeitsdichtefunktionen auf.
  • Eine unscharfe Entscheidung kompensiert diesen Nachteil der harten Entscheidung. Die erfasste Ausgabe wird mit acht Pegeln quantisiert, wie mittels eines Beispiels auf der linken Seite von 16 angegeben, wobei eine Wahrscheinlichkeitsgewichtung entsprechend jedem Pegel angewendet wird und die Ergebnisse der Entscheidungen an eine Decodierer ausgegeben werden.
  • Bei der Viterbi-Decodierung sind sowohl eine Eingabe einer harten Entscheidung und eine Ausgabe einer harten Entscheidung als auch eine Eingabe einer unscharfen Entscheidung und eine Ausgabe einer harten Entscheidung möglich. Das erstere wird zuerst beschrieben.
  • Wenn der ideale fehlerfreie Zustand angenommen wird, in dem die Empfangsdaten der harten Entscheidung (g0, g1) 11 → 10 → 10 → 11 → 11 sind, wird ein Pfad erhalten, der durch die in 17(a) gezeigten gestrichelten Pfade angegeben ist. Indem die gestrichelten Linien zu "0"en und die durchgezogenen Linien zu "1"en gemacht werden, kann das decodierte Ergebnis 11001 erhalten werden, wie in 17(b) veranschaulicht. Tatsächlich gibt es jedoch viele Fälle, dass die Empfangsdaten einen Fehler enthalten. Wenn das fünfte Bit einen Fehler hervorbringt, so dass die Empfangsdaten der harten Entscheidung (g0, g1) 11 → 10 → 00 → 11 → 11 sind, tritt zur Zeit k=2 eine Verwirrung hinsichtlich dessen auf, ob zu 10 oder 01 zu verzweigen ist (Fehlerzählwert ERR=1). Wenn 10 aufgefasst wird, der Zustand zu sein, und der obere Pfad ausgewählt wird, wird Zustand c ohne Verwirrung bei k=3 und k=4 erreicht. Demgemäß wird der Fehlerzählwert Fehlerzählwert ERR = 1 auf dem Pfad des gestrichelten Pfeils und das decodierte Ergebnis zu dieser Zeit wird 11001. Wenn andererseits 01 aufgefasst wird, der Zustand zu sein, und der untere Pfad zur Zeit k=2 ausgewählt wird, dann tritt zur Zeit k=3 auch hinsichtlich dessen eine Verwirrung auf, wohin verzweigt werden soll, und der Gesamtfehlerzählwert ERR = 2 ist das Ergebnis. Danach werden auf ähnliche Weise Pfade ausgewählt, und beim Auftreten einer Verzweigungsverwirrung wird ERR hochgezählt. Die folgenden Ergebnisse werden schließlich erhalten:
    Gesamtfehlerzählwert ERR, wenn decodiertes Ergebnis 11001 ist: 1
    Gesamtfehlerzählwert ERR, wenn decodiertes Ergebnis 11100 ist: 2
    Gesamtfehlerzählwert ERR, wenn decodiertes Ergebnis 11110 ist: 3
    Gesamtfehlerzählwert ERR, wenn decodiertes Ergebnis 11111 ist: 3
  • Demgemäß wird das decodierte Ergebnis 11001, für das der Fehlerzählwert ERR der kleinste ist, ausgewählt und ausgegeben. Wenn diese Anordnung übernommen wird, können die ursprünglichen Daten 11001 sogar korrekt erfasst werden, wenn die Empfangsdaten fehlerhaft sind.
  • Obwohl das Vorhergehende Empfangsdaten einer harten Entscheidung betrifft, kann das Decodieren auf eine ähnliche Weise genauso gut in dem Fall von Empfangsdaten einer unscharfen Entscheidung ausgeführt werden. 18 ist ein beim Beschreiben der Decodierung in dem Fall von Empfangsdaten einer unscharfen Entscheidung nützliches Diagramm. Es sei angenommen, dass die Empfangsdaten einer unscharfen Entscheidung (g0, g1) 1,1 → 1,0 → 1,0 → 2/8,1 → 1,1 sind, wie bei (b) angegeben. Mit Verweis auf die bei (a) gezeigte Gittertyp-Darstellung wird erkannt werden, dass zur Zeit k=3 hinsichtlich dessen eine Verwirrung auftritt, zu 11 oder 00 zu verzweigen. Wenn 11 aufgefasst wird, der Zustand zu sein, und der obere Pfad ausgewählt wird (Fehlerzählwert ERR = 6/8), wird Zustand c ohne Verwirrung bei k=4 erreicht. Demgemäß wird der Fehlerzählwert Fehlerzählwert ERR = 6/8 auf dem Pfad des gestrichelten Pfeils und das decodierte Ergebnis zu dieser Zeit wird 11001. Wenn andererseits 00 als der Zustand aufgefasst wird und der untere Pfad zur Zeit k=3 ausgewählt wird (Fehlerzählwert ERR = 1 + 2/8), dann tritt eine Verwirrung zur Zeit k=4 auch hinsichtlich dessen auf, wohin zu verzweigen ist, und der Gesamtfehlerzählwert ERR = (2 + 2/8) ist das Ergebnis. Danach werden auf ähnliche Weise Pfade ausgewählt und beim Auftreten einer Verzweigungsverwirrung wird ERR hochgezählt. Die folgenden Ergebnisse werden schließlich erhalten:
    Gesamtfehlerzählwert ERR, wenn decodiertes Ergebnis 11001 ist: 6/8
    Gesamtfehlerzählwert ERR, wenn decodiertes Ergebnis 11010 ist: 2+2/8
    Gesamtfehlerzählwert ERR, wenn decodiertes Ergebnis 11011 ist: 2+2/8
  • Demgemäß wird das decodierte Ergebnis 11001, für das der Fehlerzählwert ERR der kleinste ist, ausgewählt und ausgegeben. Wenn diese Anordnung übernommen wird, können die ursprünglichen Daten 11001 sogar korrekt erfasst werden, wenn die Empfangsdaten fehlerhaft sind. Somit ist die unscharfe Entscheidung dieselbe wie die harte Entscheidung; der Fehlerzählwert ist jedoch einfach nicht mehr eine ganze Zahl.
  • Die Verarbeitung zum derartigen Erhalten der Fehlerzählwerte ERR sämtlicher möglicher Pfade auf der Grundlage der Empfangsdaten und Decodieren der ursprünglichen Daten von dem Pfad, für welchen der Fehlerzählwert der kleinste ist, ist kompliziert. Demgemäß wird die Viterbi-Decodierung wie unten bekannt gemacht durchgeführt. Es wird angenommen, dass die Empfangsdaten 111000 als das Ergebnis einer harten Entscheidung sind. Bei Zustand a, wo k=3 in 18, gibt es zwei Eingangspfade. Wenn nur die relevanten Pfade extrahiert und gezeichnet werden, ist das Ergebnis wie in 19(a) gezeigt. Die zwei Pfade sind Pfad (1) und Pfad (2), die in der Zeichnung gezeigt sind. Wenn die Hamming-Distanzen zwischen den Empfangsdaten und den decodierten Daten, die auf den jeweiligen Pfaden erhalten sind, berechnet werden, werden die Ergebnisse 3 und 4 sein, wie in 19(b), (c) veranschaulicht.
  • Auf der Grundlage der Berechnungsergebnisse ist die Hamming-Distanz, für die Annahme "durch Durchqueren von Pfad (1) erreichter Zustand a" ist, kürzer als die, für die die Annahme "durch Durchqueren von Pfad (2) erreichter Zustand a" ist. Da die Tatsache, dass die Daten auf Pfad (1) übertragen wurden, einen höheren Zuverlässigkeitsgrad hat, wird dieser Pfad demgemäß als ein Überlebender bzw. Survivor übriggelassen, und der andere Pfad wird verworfen. Wenn diese Verarbeitung zum Übernehmen oder Verwerfen von Pfaden aufeinanderfolgend hinsichtlich jeder der Zustände a bis d startend von Zeit k=1 ausgeführt wird, ist es möglich, die Pfade zu finden, für welche die Hamming-Distanzen zu jedem der Zustände a, b, c, d zu einer Zeit k am kürzesten sind (die Pfade des minimalen Fehlers). Von dieser Stelle an kann eine ähnliche Verarbeitung eines Übernehmens oder Verwerfens fortgesetzt werden.
  • Wenn N Einträge von Empfangsdaten eingegeben worden sind, wird der Pfad, für den der Fehler am kleinsten ist, aus den vier Pfaden des minimalen Fehlers bestimmt, zu jeweiligen der Zustände a, b, c, d bei k = N führend, und die decodierten Daten werden basierend auf diesem Pfad ausgegeben. 20 veranschaulicht die kürzesten Pfade, die zu jeweiligen der Zustände a bis d zu jeder Zeit k führen, wenn die Empfangsdaten 1110001111 sind. Die numerischen Werte auf den Linien sind die Hamming-Distanzen. Da der Pfad, der zum Zustand c führt, der ist, für den der Fehler am kleinsten ist, werden demgemäß die decodierten Daten 11001 sein, wenn die Decodierung in Übereinstimmung mit diesem Pfad durchgeführt wird.
  • Dieser Decodier-Algorithmus wird als "Maximum-Likelihood-Decodierung" bezeichnet, in welchem die wahrscheinlichsten Einträge ausgewählt werden. Er wird auch als der Viterbi-Algorithmus bezeichnet, weil er mit Viterbi startete.
  • (b) Übersicht der MAP-Decodierung
  • Bei der Viterbi-Decodierung werden die Pfade eines großen Fehlers bei jedem Zustand verworfen, und diese Pfade werden in den entscheidungs-berücksichtigenden Pfaden eines minimalen Fehlers nicht wiedergegeben. Anders als die Viterbi-Decodierung ist die MAP-Decodierung derart, dass selbst ein Pfad eines großen Fehlers bei jedem Zustand in den entscheidungs-berücksichtigenden Pfaden des minimalen Fehlers wiedergegeben wird, wodurch decodierte Daten höherer Genauigkeit erhalten werden. Die Zustände a bis d werden durch einen Zustand m (= 0 bis 3) unten ausgedrückt.
  • Ein Maximum-a-Posteriori-(MAP)-Decodierer ist von Andrew J. Viterbi in "An Intuitive Justification and a Simplified Implementation of the MAP Decoder for Convolutional Codes", IEEE Journal an Selected Areas in Communications, Vol. 16, Nr. 2, Februar 1998, Seiten 260 bis 264 beschrieben. Laut dem Autor wird eine Näherung vorgestellt, die einer Dual-Maxima-Berechnung entspricht, die mit Vorwärts- oder Rückwärts-Rekursionen von Viterbi-Algorithmus-Berechnungen kombiniert ist. Darüber hinaus wird der Decodiererspeicher durch eine Subblock-basierte Verarbeitung reduziert, in der die Initialisierung von Zustandsmetriken mittels Lernperioden realisiert ist.
  • (b-1) Erstes Merkmal der MAP-Decodierung
  • Bei der MAP-Decodierung werden die Wahrscheinlichkeiten α0,k(m), α1,k(m), dass decodierte Daten uk "0", "1" in jedem Zustand (m = 0, 1, 2, 3) zur Zeit k sind, auf der Grundlage von ➀ Wahrscheinlichkeiten α0,k-1(m), α1,k-1 (m) in jedem Zustand zur Zeit (k–1), ➁ eines Trellis (ob oder nicht ein Pfad existiert) zwischen Zuständen zur Zeit (k–1) und Zeit k, und ➂ Empfangsdaten ya, yb zur Zeit k bestimmt bzw. entschieden. Die Wahrscheinlichkeiten α0,k–1(m), α0,k–1(m) werden als "Vorwärts-Wahrscheinlichkeiten" bezeichnet. Ferner wird die durch Berücksichtigen des Trellis ➁ und der Empfangsdaten ➂ gefundene Wahrscheinlichkeit, nämlich die Wahrscheinlichkeit einer Verschiebung vom Zustand m' (= 0 bis 3) zur Zeit (k–1) zum Zustand m (= 0 bis 3) zur Zeit k, als die „Verschiebungs-Wahrscheinlichkeit" bezeichnet.
  • (b-2) Zweites Merkmal der MAP-Decodierung
  • Bei der Viterbi-Decodierung wird der Pfad des minimalen Fehlers, der zu jedem Zustand bei einer gewissen Zeit k führt, durch Berücksichtigen der Empfangsdaten von 1 bis k und der möglichen Pfade von 1 bis k erhalten. Jedoch werden die Empfangsdaten von k bis N und die Pfade von k bis N nicht alle in den entscheidungs-berücksichtigenden Pfaden des minimalen Fehlers wiedergegeben. Anders als die Viterbi-Decodierung ist die MAP-Decodierung der Art, dass Empfangsdaten von k bis N und Pfade von k bis N bei der Decodierverarbeitung wiedergegeben werden, um decodierte Daten höherer Genauigkeit zu erhalten.
  • Genauer genommen wird die Wahrscheinlichkeit βk(m), dass ein Pfad des minimalen Fehlers durch jeden Zustand m (= 0 bis 3) zur Zeit k schreiten wird, durch Berücksichtigung der Empfangsdaten und der Trellisse von N bis k gefunden. Durch Multiplizieren der Wahrscheinlichkeit βk(m) mit den Vorwärts-Wahrscheinlichkeiten α0,k(m), α1,k(m) des entsprechenden Zustands wird dann eine genauere Wahrscheinlichkeit erhalten, dass die decodierten Daten uK in jedem Zustand m (m = 0, 1, 2, 3) zur Zeit k "0", "1" werden.
  • Zu diesem Zweck wird die Wahrscheinlichkeit βk(m) in jedem Zustand m (m = 0, 1, 2, 3) zur Zeit k auf der Grundlage von ➀ der Wahrscheinlichkeit βk+1(m) in jedem Zustand zur Zeit (k+1), ➁ des Trellis zwischen Zuständen zur Zeit (k+1) und Zeit, und ➂ von Empfangsdaten ya, yb zur Zeit (k+1) bestimmt. Die Wahrscheinlichkeit βk(m) wird als "Rückwärts-Wahrscheinlichkeit" bezeichnet. Ferner ist die durch Berücksichtigen des Trellis ➁ und der Empfangsdaten ➂ gefundene Wahrscheinlichkeit, nämlich die Wahrscheinlichkeit einer Verschiebung vom Zustand m' (= 0 bis 3) zur Zeit (k+1) zum Zustand m (= 0 bis 3) zur Zeit k, die Verschiebungs-Wahrscheinlichkeit.
  • Somit ist das MAP-Decodierverfahren wie folgt, wie in 21 veranschaulicht:
    • (1) N bezeichne die Informationslänge. Die Vorwärts-Wahrscheinlichkeiten α0,k(m), α1,k(m) jedes Zustands (m = 0 bis 3) zur Zeit k werden mit Berücksichtigung der codierten Daten von 1 bis k und der Trellisse von 1 bis k berechnet. Das heißt, dass die Vorwärts-Wahrscheinlichkeiten α0,k(m), α0,k(m) jedes Zustands aus den Wahrscheinlichkeiten α0,k–1(m), α1,k–1(m) und der Verschiebungs-Wahrscheinlichkeit des Zustands zur Zeit (k–1) gefunden werden.
    • (2) Ferner wird die Rückwärts-Wahrscheinlichkeit βk(m) jedes Zustands (m = 0 bis 3) zur Zeit k mit Verwendung der Empfangsdaten von N bis k und der Pfade von N bis k berechnet. Das heißt, dass die Rückwärts-Wahrscheinlichkeit βk(m) jedes Zustands mit Verwenden der Rückwärts-Wahrscheinlichkeit βk+1(m) und der Verschiebungs-Wahrscheinlichkeit jedes Zustands zur Zeit (k+1) berechnet wird.
    • (3) Als Nächstes werden die Vorwärts-Wahrscheinlichkeiten und die Rückwärts-Wahrscheinlichkeit jedes Zustands zur Zeit k multipliziert, um die Verbund-Wahrscheinlichkeiten wie folgt zu erhalten: λ0,k(m) = α0,k(m)·βk(m), λ1,k (m) = α0,k(m)·βk(m)
    • (4) Diesem folgt das Finden der Gesamtsumme Σmλ0,k(m) der Wahrscheinlichkeiten von "0" und der Gesamtsumme Σmλ1,k(m) der Wahrscheinlichkeiten von "1" in jedem Zustand, Berechnen der Wahrscheinlichkeit, dass die ursprünglichen Daten uk des k-ten Dateneintrags "1" sind, und der Wahrscheinlichkeit, dass die Daten uk "0" sind, basierend auf den Größen der Gesamtsummen, Ausgeben der größeren Wahrscheinlichkeit als den k-ten Eintrag der codierten Daten und Ausgeben der Wahrscheinlichkeit bzw. des Likelihood-Wertes. Das decodierte Ergebnis ist eine Ausgabe einer unscharfen Entscheidung.
  • (c) Erstes MAP-Decodierverfahren gemäß dem Stand der Technik
  • (c-1) Gesamtstruktur eines MAP-Decodierers
  • 22 ist ein Blockdiagramm eines MAP-Decodierers zum Implementieren eines ersten MAP-Decodierverfahrens gemäß dem Stand der Technik. Codierrate R, Informationslänge N, ursprüngliche Information u, codierte Daten xa, xb und Empfangsdaten ya, yb sind wie folgt:
    • • Codierrate: R = 1/ 2
    • • Informationslänge: N
    • • Ursprüngliche Information: u = {u1, u2, u3, ..., uN}
    • • Codierte Daten: xa = {xa1, xa2, xa3, ..., xak, ..., xaN} xb = {xb1, xb2, xb3, ..., xbk, ..., xbN}
    • • Empfangsdaten: ya = {ya1, ya2, ya3, ..., yak, ..., yaN) yb = {yb1, yb2, yb3, ..., ybk, ..., ybN}
  • Das heißt, dass codierte Daten xa, xb aus der ursprünglichen Information u der Informationslänge N erzeugt werden, ein Fehler in die codierten Daten zur Empfangszeit eingefügt wird, Daten ya, yb empfangen werden und die ursprüngliche Information u aus dem Empfangsdaten decodiert wird.
  • Beim Empfangen von (Yak, Ybk) zur Zeit k berechnet die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 1 die folgenden Wahrscheinlichkeiten und speichert sie in einem Speicher 2:
    Wahrscheinlichkeit γ0,k dass (xak,xbk) ist (0,0)
    Wahrscheinlichkeit γ1,k dass (xak,xbk) ist (0,1)
    Wahrscheinlichkeit γ2,k dass (xak,xbk) ist (1,0)
    Wahrscheinlichkeit γ3,k dass (xak,xbk) ist (1,1)
  • Unter Verwendung der Vorwärts-Wahrscheinlichkeit, α1,k–1(m), dass die ursprünglichen Daten uk–1 "1" sind, und der Vorwärts-Wahrscheinlichkeit α0,k–1(m), dass die ursprünglichen Daten uk–1 "0" sind, in jedem Zustand m (= 0 bis 1) zu der unmittelbar vorhergehenden Zeit (k–1), als auch der erhaltenen Verschiebungswahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k zur Zeit k, berechnet eine Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 3 die Vorwärts-Wahrscheinlichkeit α1,k(m), dass die ursprünglichen Daten uk "1" sind, und die Vorwärts-Wahrscheinlichkeit α0,k(m), dass die ursprünglichen Daten uk "0" sind, zur Zeit k, und speichert diese Wahrscheinlichkeiten in Speichern 4a bis 4d. Es sollte beachtet werden, dass die Anfangswerte der Vorwärts-Wahrscheinlichkeiten α0,0(0) = α1,0(0) = 1, α0,0 (m) = α1,0(m) = 0 (wobei m#0) sind, da die Verarbeitung immer vom Zustand m=0 aus startet.
  • Die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 1 und die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 3 wiederholen die oben beschriebenen Berechnungen bei k = k+1, führen die Berechnungen von k=1 bis k=N aus, um die Verschiebungs-Wahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k und die Vorwärts-Wahrscheinlichkeiten α1,k, α0,k zu jeder der Zeiten k = 1 bis N zu berechnen und diese Wahrscheinlichkeiten im Speicher 2 bzw. Speichern 4a bis 4d zu speichern.
  • Danach berechnet eine Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 5 die Rückwärts-Wahrscheinlichkeit βk(m) (m = 0 bis 3) in jedem Zustand m (= 0 bis 3) zur Zeit k unter Verwendung der Rückwärts-Wahrscheinlichkeit βk+1 und der Verschiebungs-Wahrscheinlichkeit γs,k+1 (s = 0, 1, 2, 3) zur Zeit (k+1), wobei angenommen wird, dass der Anfangswert von k N–1 ist, dass der Trellis-Endzustand m=0 ist, und dass βN(0) = 1, βN(1) = βN(2) = βN(3) = 0 zutreffen.
  • Eine erste Arithmetikeinheit 6a in einer Verbundwahrscheinlichkeits-Berechnungseinheit 6 multipliziert die Vorwärts-Wahrscheinlichkeit α1,k(m) und die Rückwärts-Wahrscheinlichkeit βk(m) in jedem Zustand m (= 0 bis 3) zur Zeit k, um die Wahrscheinlichkeit λ1,k(m) zu berechnen, dass der k-te Eintrag der ursprünglichen Daten uk "1" ist, und eine zweite Arithmetikeinheit 6b in der Verbundwahrscheinlichkeits-Berechnungseinheit 6 verwendet die Vorwärts-Wahrscheinlichkeit α0,k(m) und die Rückwärts-Wahrscheinlichkeit βk(m) in jedem Zustand m (= 0 bis 3) zur Zeit k, um die Wahrscheinlichkeit λ0,k(m) zu berechnen, dass der k-te Eintrag der ursprünglichen Daten uk "0" ist.
  • Eine uk-und-uk-Likelihood-Wert-Berechnungseinheit 7 addiert die "1"-Wahrscheinlichkeiten λ1,k(m) (m = 0 bis 3) in jedem der Zustände m (= 0 bis 3) zur Zeit k, addiert die "0"-Wahrscheinlichkeiten λ0,k(m) (m = 0 bis 3) in jedem der Zustände m (= 0 bis 3), bestimmt "1", "0" des k-ten Eintrags der Daten uk auf der Grundlage der Additionsergebnisse, und zwar die Größen von Σmλ1,k (m) und Σmλ0,k(m), berechnet die Konfidenz (Wahrscheinlichkeit bzw. Likelihood-Wert) L(uk) davon und gibt dieselbe aus.
  • Die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 5, die Verbundwahrscheinlichkeits-Berechnungseinheit 6 und die uk-und-uk-Likelihood-Wert-Berechnungseinheit 7 wiederholen nachfolgende die vorhergehenden Berechnungen bei k = k+1, führen die Berechnungen von k=N bis k=1 aus, um "1", "0" der ursprünglichen Daten uk zu jeder der Zeiten k = 1 bis N zu bestimmen, berechnen die Konfidenz (Wahrscheinlichkeit bzw. Likelihood-Wert) L(uk) davon und geben dieselbe aus.
  • (c-2) Berechnung der Vorwärts-Wahrscheinlichkeiten
  • Die Vorwärts-Wahrscheinlichkeit αi k(m), dass die decodierten Daten uk i ("0" oder "1") sein werden, wird in Übereinstimmung mit der folgenden Gleichung auf der Grundlage von ➀ der Vorwärts-Wahrscheinlichkeit αi k–1(m) in jedem Zustand zur Zeit (k–1) und ➁ der Übergangswahrscheinlichkeit γi(Rk,m',m) eines Übergangs vom Zustand m' (= 0 bis 3) zur Zeit (k–1) zum Zustand m (= 0 bis 3) zur Zeit k erhalten: αi k(m) = Σmjγi (Rk,m',m)·α1 k–1(m')/ΣmΣmiΣjγi (Rk, m', m)·α1 k–1(m') (1)
  • Hier wird die Übergangs-Wahrscheinlichkeit γi(Rk,m',m) auf der Grundlage des Trellis zwischen Zustand m' (= 0 bis 3) zur Zeit (k–1) und dem Zustand m (= 0 bis 3) zur Zeit k als auch der Empfangsdaten ya, yb zur Zeit k gefunden. Da der Nenner in der obigen Gleichung ein Teilstück ist, das durch Division in der Berechnung von uk und der Wahrscheinlichkeit bzw. des Likelihood-Wertes von uk eliminiert wird, braucht er nicht berechnet zu werden. Wenn die Vorwärts-Wahrscheinlichkeiten α0 k(0), α1 k(0), dass die ursprünglichen Daten uk "0", "1" im Zustand m=0 zur Zeit k in der obigen Gleichung sein werden, diagrammartig dargestellt werden, wird das Ergebnis wie in 23 gezeigt sein.
  • Wenn angenommen wird, dass ein Faltungscodierer durch Verbinden von zwei Flip-Flops FF1, FF2 und drei Exklusiv-ODER-Gattern EXOR1 bis EXOR3 auf die veranschaulichte Weise konstruiert ist, nehmen die Flip-Flops FF1, FF2 vier Zustände m (= 0 bis 3) von (00), (10), (01), (11) an. Wenn "0" oder "1" bei jedem Zustand eingegeben wird, wird die Beziehung zwischen den Eingabe-/Ausgabedaten und den Zuständen davor und danach wie in 25 gezeigt sein. In 25 gibt die linke Seite Zustand m' zur Zeit k–1 an, gibt die rechte Seite den Zustand m zur Zeit k an, nachdem ein k-ter Dateneintrag eingegeben ist, geben die durchgezogenen Linien die Pfade des Zustandübergangs an, wenn "0" eingegeben ist, und geben die gestrichelten Linien die Pfade des Zustandübergangs an, wenn "1" eingegeben ist und geben 00, 11, 10, 01 auf den Pfaden die Werte der Ausgabesignale xa, xb an. Wenn beispielsweise "0" in dem Zustand m'=1 eingegeben wird, ist die Ausgabe 01 und der Zustand wird m=3; wenn "1" eingegeben wird, ist die Ausgabe 10 und der Zustand wird m=2.
  • Die Übergangs-Wahrscheinlichkeit γi(Rk,m',m) ist die Wahrscheinlichkeit eines Übergangs von dem Zustand m' (= 0 bis 3) zur Zeit (k–1), wenn die Eingabedaten i ("0" oder "1") sind, zu dem Zustand m (= 0 bis 3) zur Zeit k. Diese wird in Übereinstimmung mit der folgenden Gleichung gefunden: γi(Rk,m',m) = p·q·π (2)wobei p ein Wert mit Bezug zu den Empfangsdaten ist. Jedoch sind q, π konstante Werte, bestimmt dadurch, ob oder nicht es einen Übergangspfad (Trellis) vom Zustand m' zur Zeit (k–1) zum Zustand m zur Zeit k gibt. Das Ergebnis ist in 26 gezeigt. Wenn es keinen Übergangspfad gibt, dann gilt q·π = 0
  • Somit wird es genügen, nur p in den mit o in 26 markierten Übergangs-Wahrscheinlichkeiten γ0 (Rk, 0,0) und γ1(Rk,2,0) zu berechnen; alles Andere wird Null. Wenn die Linien der Übergangs-Wahrscheinlichkeiten von Null in 23 eliminiert sind, werden dann die Vorwärts-Wahrscheinlichkeiten α0 k(0), α1 k(0), dass uk "0", "1" ist, wie in 27 gezeigt, sein. Das heißt, dass die Vorwärts-Wahrscheinlichkeiten aus dem folgenden gefunden werden: α0 k(0) = γ0(Rk, 0,0)·α0 k–1(0) + γ0(Rk, 0,0)·α0 k–1(0) (3) α1 k(0) = γ0(Rk,2,0)·α0 k–1(2) + γ1(Rk, 2,0)·α0 k–1(2) (4)
  • Die Übergangs-Wahrscheinlichkeiten haben einen Bezug zu den Trellissen zwischen Zuständen und zu den Empfangsdaten. Aus den Übergangs-Wahrscheinlichkeiten werden ➀ die Verschiebungs-Wahrscheinlichkeit γ0,k, dass (xak,xbk) (0,0) ist, ➁ die Verschiebungs-Wahrscheinlichkeit γ1,k, dass (xak,xbk) (0,1) ist, ➂ die Verschiebungs-Wahrscheinlichkeit γ2,k, dass (xak,xbk) (1,0) ist und ➃ die Verschiebungs-Wahrscheinlichkeit γ3,k, dass (xak,xbk) (1,1) ist, gefunden. Zum Beispiel erhält Gleichung (3) α0 k(0) über den Übergangspfad von (xak, xbk) = (0,0). Es ergibt sich deshalb
    Übergangs-Wahrscheinlichkeit γ0(Rk,0,0) = Verschiebungs-Wahrscheinlichkeit γ0,k.
  • Ferner erhält Gleichung (4) α1 k(0) über den Übergangspfad von (xak, xbk) = (0,0). Es ergibt sich deshalb
    Übergangs-Wahrscheinlichkeit γ1(Rk,2,0) = Verschiebungs-Wahrscheinlichkeit γ3,k.
  • Demgemäß werden Gleichungen (3), (4) wie folgt: α0 k(0) = γ0,k·α0 k–1(0) + γ0,k·α0 k–1(0) (3)' α1 k(0) = γ3,k·α0k–1(2) + γ3, k·α1 k–1(2) (4)'
  • Ähnlich werden α0 k(m), α1 k(m) von m = 1 bis 3 gefunden.
  • (c-3) Berechnung der Rückwärts-Wahrscheinlichkeit
  • Die Rückwärts-Wahrscheinlichkeit βk(m) jedes Zustands wird in Übereinstimmung mit der folgenden Gleichung auf der Grundlage von ➀ der Rückwärts-Wahrscheinlichkeit βk+1(m) in jedem Zustand zur Zeit (k+1) und ➁ der Übergangswahrscheinlichkeit γi(Rk+1,m',m) eines Übergangs vom Zustand m (= 0 bis 3) zur Zeit k zum Zustand m' (= 0 bis 3) zur Zeit (k+1) erhalten: βk(m) = Σmiγi (Rk+1, m, m')·βk+1(m')/ΣmΣmiΣjγi(Rk,m, m')·α1 k(m) (5)
  • Hier wird die Übergangs-Wahrscheinlichkeit γi(Rk+1,m,m') auf der Grundlage des Trellis zwischen Zustand m (= 0 bis 3) zur Zeit k und dem Zustand m' (= 0 bis 3) zur Zeit (k+1) als auch der Empfangsdaten ya, yb zur Zeit (k+1) gefunden. Da der Nenner in der obigen Gleichung ein Teilstück ist, das durch Division in der Berechnung der Wahrscheinlichkeit bzw. des Likelihood-Wertes eliminiert wird, braucht er nicht berechnet zu werden.
  • Wenn βk(0) im Zustand m=0 zur Zeit k in der obigen Gleichung diagrammartig dargestellt wird, ist das Ergebnis wie in 28 gezeigt. Wenn ein Übergangspfad nicht existiert, dann gilt q·π=0 wie oben erwähnt. Demgemäß wird es ausreichen, nur p in den markierten Übergangs-Wahrscheinlichkeiten γ0(Rk+1,0,0) und γ1(Rk+1,0,1) zu berechnen; alles Andere wird Null. Wenn die Linien der Übergangs-Wahrscheinlichkeit von Null in 28 eliminiert sind, wird deshalb die Rückwärts-Wahrscheinlichkeit βk(0) wie in 29 gezeigt sein. Das heißt, dass die Rückwärts-Wahrscheinlichkeit aus dem Folgenden gefunden wird: βk(0) = γ0(Rk+1,0,0)·βk+1(0)+γ1(Rk+1,0,1)·βk+1(1) (6)
  • Die Übergangs-Wahrscheinlichkeiten haben einen Bezug zu den Trellissen zwischen Zuständen und Empfangsdaten. Aus den Übergangs-Wahrscheinlichkeiten werden gefunden: ➀ die Übergangs-Wahrscheinlichkeit γ0,k+1, dass (xak+1,xbk+1) (0,0) ist, ➁ die Übergangs-Wahrscheinlichkeit γ1,k+1 , dass (xak+1,xbk+1) (0,1) ist, ➂ die Übergangs-Wahrscheinlichkeit γ2,k+1 , dass (xak+1,xbk+1) (1,0) ist, und ➃ die Übergangs-Wahrscheinlich γ3,k+1, dass (xak+1,xbk+1) (1,1) ist.
  • Zum Beispiel erhält der erste Term auf der rechten Seite von Gleichung (3) βk(0) über den Übergangspfad von (xak+1,xbk+1) = (0,0). Es gilt deshalb
    Übergangs-Wahrscheinlichkeit γ0(Rk+1,0,0) = Verschiebungs-Wahrscheinlichkeit γ0,k+1
  • Ferner erhält der zweite Term auf der rechten Seite von Gleichung (3) βk(0) über den Übertragungspfad von (xak+1,xbk+1) = (1,1). Es gilt deshalb
    Übergangs-Wahrscheinlichkeit γ1(Rk+1,0,0) = Verschiebungs-Wahrscheinlichkeit γ3,k+1
  • Demgemäß wird Gleichung (6) wie folgt: βk(0) = γ0,k+1·βk+1(0)+γ3,k+1·βk+1(1) (6)'
  • Ähnlich können βk(1), βk(2), βk(3) von m = 1 bis 3 gefunden werden.
  • (c-4) Berechnung der Verbundwahrscheinlichkeiten und des Likelihood-Wertes
  • 30 ist ein Diagramm, das zum Beschreiben der Berechnung der Verbundwahrscheinlichkeiten, uk und der Wahrscheinlichkeit bzw. des Likelihood-Wertes von uk nützlich ist.
  • Wenn die Vorwärts-Wahrscheinlichkeiten α0,k(m), α1,k(m) und die Rückwärts-Wahrscheinlichkeit βk(m) jedes Zustands zur Zeit k gefunden sind, werden diese multipliziert, um die Verbundwahrscheinlichkeiten wie folgt zu berechnen: λ0 k(m) = α0 k(m)·βk(m) λ1 k(m) = α1 k(m)·βk(m)
  • Die Gesamtsumme Σmλ0 k(m) der Wahrscheinlichkeiten von" und die Gesamtsumme Σmλ1 k(m) der Wahrscheinlichkeiten "1" in jedem der Zustände werden dann erhalten, und die Wahrscheinlichkeit bzw. der Likelihood-Wert wird in Übereinstimmung mit der folgenden Gleichung ausgegeben: L(u) = log[Σmλ1 k(m)/Σmλ0 k(m)] (7)
  • Ferner wird das decodierte Ergebnis uk=1 ausgegeben, wenn L(u)>0 zutrifft, und das decodierte Ergebnis uk=0 wird ausgegeben, wenn L(u)<0 zutrifft. Das heißt, dass die Wahrscheinlichkeit, dass der k-te Eintrag der ursprünglichen Daten uk "1" ist, und die Wahrscheinlichkeit, dass er "0" ist, auf der Grundlage der Größen der Gesamtsumme Σmλ0 k(m) der Wahrscheinlichkeiten von "0" und der Gesamtsumme Σmλ1 k(m) der Wahrscheinlichkeiten von "1" berechnet werden, und die größere Wahrscheinlichkeit wird als der k-te Eintrag der decodierten Daten ausgegeben.
  • (c-5) Problem des ersten MAP-Decodierverfahrens
  • Das Problem des in 22 gezeigten ersten MAP-Decodierverfahrens des Standes der Technik liegt darin, dass der verwendete Speicher sehr groß ist. Genau genommen erfordert das erste MAP-Decodierverfahren einen Speicher von 4 × N zum Speichern von Übergangs-Wahrscheinlichkeiten und einen Speicher von m (Anzahl der Zustände) × 2 × N zum Speichern von Vorwärts-Wahrscheinlichkeiten, mit einem Gesamtspeicher von (4 + m × 2) × N. Da die tatsächliche Berechnung von Signalen einer unscharfen Entscheidung begleitet wird, ist ein zusätzlicher Speicher erforderlich, der acht Mal diese Größe ausmacht. Wenn z.B. eine Signallänge N = 5120 Bits zutrifft, eine Anzahl von Zuständen m = 4 in einem Fall einer Einschränkungslänge = 3 zutrifft, und eine Anzahl von Quantisierungsbits einer unscharfen Entscheidung = 8 zutrifft, dann ist die erforderliche Speichermenge (4 + 4 × 2) × 5120 × 8 = 491,52 Kilobit
  • (c-6) Modifizierung
  • Der Speicher 2 zum Speichern der Verschiebungs-Wahrscheinlichkeiten ist nicht notwendigerweise erforderlich, und eine Anordnung kann übernommen werden, in der die Rückwärts-Wahrscheinlichkeit βk(m) durch Berechnen der Verschiebungs-Wahrscheinlichkeit γs,k+1 (s = 0, 1, 2, 3) wie erforderlich berechnet wird. 31 ist eine Modifizierung eines MAP-Decodierers zum Implementieren des ersten MAP-Decodierverfahrens, aus dem der Speicher 2 entfernt worden ist. Gemäß dieser Modifizierung ist die erforderliche Speichermenge (4 × 2) × 5120 × 8 = 327,7 Kilobit
  • (d) Zweites MAP-Decodierverfahren gemäß dem Stand der Technik
  • Um den Speicher zu reduzieren, wird demgemäß ein Verfahren zum Durchführen der Berechnungen auf einem Umstellen der Reihenfolge betrachtet, in der die Vorwärts-Wahrscheinlichkeit und die Rückwärts-Wahrscheinlichkeit berechnet werden. 32 ist ein Blockdiagramm eines MAP-Decodierers zum Implementieren dieses zweiten MAP-Decodierverfahrens. Komponenten, die mit denen in 22 gezeigten identisch sind, sind mit ähnlichen Bezugszeichen bezeichnet. Ein Eingabe-/Ausgabe-Umkehrer 8, der geeignet die Reihenfolge umkehrt, in der Empfangsdaten ausgegeben werden, hat einen Speicher zum Speichern sämtlicher Empfangsdaten und eine Datenausgabeeinheit zum Ausgeben der Empfangsdaten in einer Reihenfolge, die die umgekehrte von oder dieselbe wie die ist, in der die Daten eingegeben wurden. Bei einem Turbo-Decodierer, der das MAP-Decodierverfahren als sein Decodierverfahren übernimmt, ist es erforderlich, die Empfangsdaten zu verschachteln, und deshalb hat der Decodierer einen Speicher zum Speichern sämtlicher Empfangsdaten. Dies bedeutet, dass der Speicher zum Verschachteln auch als der Speicher des Eingabe-/Ausgabe-Umkehrers 8 verwendet werden kann. Somit ist mit dem Speicher keine Last verknüpft.
  • Die Verschiebungs-Wahrscheinlichkeits-Berechnungseinhet 1 verwendet Empfangsdaten (yak, ybk) zur Zeit k (= N), berechnet die folgenden Wahrscheinlichkeiten und speichert sie in dem Speicher 2:
    Wahrscheinlichkeit γ0,k dass (xak, xbk) ist (0,0),
    Wahrscheinlichkeit γ1,k dass (xak, xbk) ist (0,1),
    Wahrscheinlichkeit γ2,k dass (xak, xbk) ist (1,0)
    Wahrscheinlichkeit γ3,k dass (xak, xbk) ist (1,1)
  • Die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 5 berechnet die Rückwärts-Wahrscheinlichkeit βk–1 (m) (m = 0 bis 3) in jedem Zustand m (= 0 bis 3) zur Zeit k–1 unter Verwendung der Rückwärts-Wahrscheinlichkeit βk(m) und der Verschiebungs-Wahrscheinlichkeit γs,k (s = 0, 1, 2, 3) zur Zeit k (= N) und speichert die Rückwärts-Wahrscheinlichkeiten im Speicher 9.
  • Die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 1 und die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 3 wiederholen nachfolgend die oben beschriebenen Berechnungen bei k = k+1, führen die Berechnungen von k=N bis k=1 aus, um die Verschiebungs-Wahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k und die Rückwärts-Wahrscheinlichkeit βk(m) zu jeder der Zeiten k = 1 bis N zu berechnen, und speichern diese Wahrscheinlichkeiten in Speichern 2, 9.
  • Unter Verwendung der Vorwärts-Wahrscheinlichkeit α1,k–1(m), dass die ursprünglichen Daten uk–1 "1" sind, und der Vorwärts-Wahrscheinlichkeit α0,k–1(m), dass die ursprünglichen Daten uk–1 "0" sind, zur Zeit (k–1), wie auch der erhaltenen Verschiebungs-Wahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k zur Zeit k, berechnet danach die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 3 die Vorwärts-Wahrscheinlichkeit α1,k(m), dass uk "1" ist und die Vorwärts-Wahrscheinlichkeit α0,k(m), dass uk "0" ist, in jedem Zustand m (= 0 bis 3) zur Zeit k. Es sollte beachtet werden, dass der Anfangswert von k 1 ist.
  • Die Verbundwahrscheinlichkeits-Berechnungseinheit 6 multipliziert die Vorwärts-Wahrscheinlichkeit α1 k(m) und die Rückwärts-Wahrscheinlichkeit βk(m) in jedem Zustand m 0 bis 3 zur Zeit k, um die Wahrscheinlichkeit λ1,k(m) zu berechnen, dass der k-te Eintrag der ursprünglichen Daten uk "1" ist, und verwendet ähnlich die Vorwärts-Wahrscheinlichkeit α0,k(m) und die Rückwärts-Wahrscheinlichkeit βk(m) in jedem Zustand 0 bis 3 zur Zeit k, um die Wahrscheinlichkeit λ0,k(m) zu berechnen, dass die ursprünglichen Daten uk "0" sind.
  • Die uk-und-uk-Likelihood-Wert-Berechnungseinheit 7 addiert die "1"-Wahrscheinlichkeiten λ1,k(m) (m = 0 bis 3) jeder der Zustände 0 bis 3 zur Zeit k, addiert die "0"-Wahrscheinlichkeiten λ0,k(m) (m = 0 bis 3) jeder der Zustände 0 bis 3 zur Zeit k, bestimmt "1", "0" des k-ten Eintrags der Daten uk auf der Grundlage der Additionsergebnisse, und zwar der Größen von Σmα1,k(m) und Σmα0,k(m), berechnet die Konfidenz (Wahrscheinlichkeit bzw. Likelihood-Wert) L(uk) davon und gibt dieselbe aus.
  • Die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 3, die Verbundwahrscheinlichkeits-Berechnungseinheit 6 und die uk-und-uk-Likelihood-Wert-Berechnungseinheit 7 wiederholen nachfolgend die vorherigen Berechnungen bei k = k+1, führen die Berechnungen von k=1 bis k=N aus, um "1", "0" von uk zu jeder der Zeiten k = 1 bis N zu bestimmen, berechnen die Konfidenz (Wahrscheinlichkeit bzw. Likelihood-Wert) L(uk) davon und geben dieselbe aus.
  • In Übereinstimmung mit dem zweiten MAP-Decodierverfahren, wie in dem Zeitdiagramm von 33 gezeigt, wird die Verarbeitung zur Berechnung der Verschiebungs-Wahrscheinlichkeit, zur Berechnung der Rückwärts-Wahrscheinlichkeit und zum Speichern der Ergebnisse der Berechnung im Speicher in der ersten Hälfte ausgeführt, und die Verarbeitung zur Berechnung der Vorwärts-Wahrscheinlichkeit, zur Berechnung der Verbundwahrscheinlichkeit und zur Berechnung der ursprünglichen Daten und der Wahrscheinlichkeit bzw. des Likelihood-Wertes wird in der zweiten Hälfte ausgeführt. Bei dem zweiten MAP-Decodierverfahren werden mit anderen Worten die Vorwärts-Wahrscheinlichkeiten α1,k(m), α0,k(m) nicht gespeichert, aber die Rückwärts-Wahrscheinlichkeit βk(m) wird gespeichert. Als ein Ergebnis ist der für das zweite MAP-Decodierverfahren erforderliche Speicher nur 4 × N zum Speichern der Verschiebungs-Wahrscheinlichkeit und m × N Zustände zum Speichern der Rückwärts-Wahrscheinlichkeit, so dass die Gesamtmenge des erforderlichen Speichers (4+m) × N ist. Somit kann die erforderliche Speichermenge im Vergleich zu dem ersten MAP-Decodierverfahren reduziert werden. Das Reduktionsverhältnis η ist η = (4+m)/(4 + m × 2)
  • In einem Fall, in dem die Anzahl m von Zuständen klein ist (Anzahl der Zustände m = 4 trifft zu, wenn Einschränkungslänge = 3 zutrifft), ist das Reduktionsverhältnis η = (4+4)/(4 + 4 × 2) = 69,2%so dass der Speicher um ungefähr 30% reduziert werden kann. Wenn die Anzahl m von Zuständen groß ist, haben wir ferner η ≒ m/(m × 2) = 50%
  • Der Speicher 2 zum Speichern der Verschiebungs-Wahrscheinlichkeiten ist nicht notwendigerweise erforderlich, und eine Anordnung kann übernommen werden, in der die Vorwärts-Wahrscheinlichkeiten α1,k(m), α0,k(m) durch Berechnung der Verschiebungsgelegenheit γs,k (s = 0, 1, 2, 3) bei jeder Gelegenheit berechnet werden. 34 zeigt eine Modifizierung eines MAP-Decodierers zum Implementieren des zweiten MAP-Decodierverfahrens, aus dem der Speicher 2 entfernt worden ist. Gemäß dieser Modifizierung ist der erforderliche Gesamtspeicher (m × N). Somit kann die erforderliche Speichermenge im Vergleich zu der Modifizierung des in 31 gezeigten ersten MAP-Decodierverfahrens reduziert werden. Das Reduktionsverhältnis η ist η = m × N/(m × 2) × N = 50
  • (e) Drittes MAP-Decodierverfahren
  • In Übereinstimmung mit dem zweiten MAP-Decodierverfahren kann der Speicher im Vergleich zu dem ersten MAP-Decodierverfahren reduziert werden. Jedoch gibt es immer noch Raum für eine weitere Reduzierung.
  • 35(a) ist ein Diagramm, das beim Beschreiben der Operationssequenz des dritten MAP-Decodierverfahrens nützlich ist, das eine weitere Reduzierung im verwendeten Speicher ermöglicht. Dieses stellt eine weitere Erweiterung des zweiten MAP-Decodierverfahrens dar. In 35 ist die Operationssequenz des zweiten MAP-Decodierverfahrens bei (b) für den Zweck der Gegenüberstellung des zweiten und des dritten MAP-Decodierverfahrens angegeben. Das dritte MAP-Decodierverfahren ist ein Verfahren, das in IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATION, Vol. 16, Nr. 2, Februar 1998, "An Intuitive Justification and a Simplified Implementation of the MAP Decoder for Convolutional Codes", Andrew J. Viterbi, offengelegt ist.
  • In 35 bezeichnet die B-Operation die Rückwärts-Wahrscheinlichkeitsberechnung/Verschiebungs-Wahrscheinlichkeits-Berechnung, bezeichnet die A-Operation die Vorwärts-Wahrscheinlichkeits-Berechnung/Verschiebungs-Wahrscheinlichkeits-Berechnung, und bezeichnet die L-Operation die Verbundwahrscheinlichkeits-Berechnung/Likelihood-Wert-Berechnung. Bei dem zweiten MAP-Decodierverfahren, wie bei (b) angegeben, wird (1) die B-Operation in ihrer Gesamtheit durchgeführt und die Ergebnisse werden im Speicher von N bis 1 gespeichert, (2) dann werden uk und Likelihood-Wert (uk) ausgegeben, während der Durchführung der A-Operation und der L-Operation der Reihe nach von 1 bis N. In Übereinstimmung mit dem zweiten MAP-Decodierverfahren ist jedoch ein Speicher von N × m erforderlich, um die Rückwärts-Wahrscheinlichkeit βk(m) zu speichern.
  • Demgemäß ist in dem dritten MAP-Decodierverfahren k = 1 bis N gleichmäßig in Segmente M aufgeteilt, und die MAP-Decodierung wird wie unten bekannt gemacht ausgeführt.
  • Zuerst wird (1) die B-Operation von k = 2M bis k = 0 durchgeführt. In der B-Operation wird die Rückwärts-Wahrscheinlichkeit βk(m) nicht von k = N berechnet; die Berechnung startet von einer Zwischenposition k = 2M. Als eine Folge kann der über k = 2M bis k = M in der ersten Hälfte gefundenen Rückwärts-Wahrscheinlichkeit βk(m) nicht vertraut werden und sie wird verworfen. Der über k = M bis k = 1 in der zweiten Hälfte gefundenen Rückwärts-Wahrscheinlichkeit βk(m) kann vertraut werden, und diese wird deshalb im Speicher gespeichert. (2) Als Nächstes wird die A-Operation bei k = 0 durchgeführt, wird die L-Operation unter Verwendung der Ergebnisse α1,1(m), α0,1(m) der A-Operation bei k = 1 und β1(m), das im Speicher gespeichert worden ist, durchgeführt, und das decodierte Ergebnis u1 und der Likelihood-Wert L(ui) werden auf der Grundlage der Verbundwahrscheinlichkeiten berechnet. Danach und auf ähnliche Weise wird die A-Operation von k = 2 bis k = M durchgeführt, und die L-Operation wird auf der Grundlage der Ergebnisse der A-Operation und der Ergebnisse der B-Operation im Speicher durchgeführt. Dieses beendet die Berechnung des codierten Ergebnisses uk und des Likelihood-Wertes L(uk) von k = 1 bis k = M.
  • Als Nächstes (3) wird die B-Operation von k = 3M bis M+1 durchgeführt. In der B-Operation wird die Rückwärts-Wahrscheinlichkeit βk(m) nicht von k = N berechnet; die Berechnung startet von einer Zwischenposition k = 3M. Als eine Folge kann der über k = 3M bis k = 2M+1 in der ersten Hälfte gefundenen Rückwärts-Wahrscheinlichkeit βk(m) nicht vertraut werden und sie wird verworfen. Der über k = 2M bis k = M+1 in der zweiten Hälfte gefundenen Rückwärts-Wahrscheinlichkeit βk(m) kann vertraut werden, und diese wird deshalb im Speicher gespeichert. Als Nächstes wird (4) die A-Operation bei k = M+1 durchgeführt, die L-Operation wird unter Verwendung der Ergebnisse α1,M+1(m), α0,M+1(m) der A-Operation bei k = M+1 und von βM+1(m) durchgeführt, das im Speicher gespeichert worden ist, und das decodierte Ergebnis uM+1 und der Likelihood-Wert L(uM+1) werden auf der Grundlage der Verbundwahrscheinlichkeiten berechnet. Danach und auf ähnliche Weise wird die A-Operation von k = M+2 bis k = 2M durchgeführt, und die L-Operation wird auf der Grundlage der Ergebnisse der A-Operation und der Ergebnisse der B-Operation um Speicher durchgeführt. Dieses beendet die Berechnung des decodierten Ergebnisses uk und des Likelihood-Wertes L(uk) von k = M+1 bis k = 2M.
  • Als Nächstes und auf ähnliche Weise wird (5) die B-Operation von k = 4M bis 2M+1 durchgeführt und die über k = 3M bis k = 2M+1 der zweiten Hälfte gefundene Rückwärts-Wahrscheinlichkeit βk(m) wird im Speicher gespeichert. Als Nächstes wird (6) die A-Operation bei k = 2M+1 durchgeführt, wird die L-Operation unter Verwendung der Ergebnisse α1,2M+1(m), α0,2M+1(m) der A-Operation bei k = 2M+1 und von β2M+1(m) durchgeführt, das im Speicher gespeichert worden ist, und das decodierte Ergebnis u2M+1 und der Likelihood-Wert L(u2M+i) werden auf der Grundlage der Verbundwahrscheinlichkeiten berechnet. Danach wird die A-Operation von k = 2M+2 bis k = 3M durchgeführt, und die L-Operation wird auf der Grundlage der Ergebnisse der A-Operation und der Ergebnisse der B-Operation im Speicher durchgeführt. Dieses beendet die Berechnung des decodierten Ergebnisses uk und des Likelihood-Wertes L(uk) von k = 2M+1 bis k = 3M.
  • Diesem folgt das Durchführen ähnlicher Operationen. Schließlich (7) wird die B-Operation von k = N (= 5M) bis k = 3M+1 durchgeführt, und sämtliche gefundene Rückwärts-Wahrscheinlichkeiten βk(m) werden im Speicher gespeichert. Als Nächstes wird (8) die A-Operation bei k = 3M+1 durchgeführt, wird die L-Operation unter Verwendung der Ergebnisse α0,3M+1(m), α0,3M+1(m) der A-Operation bei k = 3M+1 und von β3M+1 (m) durchgeführt, das im Speicher gespeichert worden ist, und das decodierte Ergebnis u3M+1 und der Likelihood-Wert L (u3M+i) werden auf der Grundlage der Verbundwahrscheinlichkeiten berechnet. Danach wird die A-Operation von k = 3M+2 bis k = N (= 5M) durchgeführt, und die L-Operation wird auf der Grundlage der Ergebnisse der A-Operation und der Ergebnisse der B-Operaton im Speicher durchgeführt. Dieses beendet die Berechnung des decodierten Ergebnisses uk und des Likelihood-Wertes L(uk) von k = 3M+1 bis k = N.
  • Das dritte MAP-Decodierverfahren ist darin vorteilhaft, dass der Speicher zur Speicherung der Rückwärts-Wahrscheinlichkeiten auf 2M reduziert werden kann. Darüber hinaus kann die zum Ausgeben des anfänglichen decodierten Ergebnisses u1 und des Likelihood-Wertes L(u1) benötigte Zeit beschnitten werden.
  • Bei dem dritten MAP-Decodierverfahren wird jedoch die Rückwärts-Wahrscheinlichkeit βk(m) nicht von k = N berechnet, sondern wird von einem Zwischenpunkt berechnet. Als eine Folge ist die Rückwärts-Wahrscheinlichkeit βk(m) nicht präzise, und ein Rückgang in der Genauigkeit der MAP-Decodierung ist ein auftretendes Problem.
  • Ferner wird bei dem dritten MAP-Decodierverfahren die A-Berechnung über M nach der B-Berechnung über 2M durchgeführt, und deshalb ist das Ergebnis in der Form eines Zeitdiagramms wie in 36(a) gezeigt. Da dieses Verfahren die A-Operation jedoch als intermittierend erweist, beansprucht die Berechnung Zeit. Durch gleichzeitiges Durchführen der ersten und der zweiten Hälfte der B-Operation, wie in 36(b) veranschaulicht, kann demgemäß die A-Operation kontinuierlich ausgeführt werden, was die Operationsgeschwindigkeit erhöht. Das Problem dieses Verfahrens ist jedoch, dass zwei B-Arithmetikschaltkreise erforderlich sind, weil die erste und die zweite Hälfte der B-Operation gleichzeitig ausgeführt werden.
  • Ein weiteres Problem des dritten MAP-Decodierverfahrens ist, dass die Berechnung der Rückwärts-Wahrscheinlichkeit βk(m) wiederholt wird, d.h. zweimal durchgeführt wird, so dass es einen Gesamtzuwachs im Leistungsverbrauch gibt.
  • Demgemäß ist es eine Aufgabe der vorliegenden Erfindung, den Speicher zu verringern und die Rückwärts-Wahrscheinlichkeit βk(m) präzise zu berechnen, um die Genauigkeit der MAP-Decodierung zu erhöhen.
  • Eine andere Aufgabe der vorliegenden Erfindung ist es, eine Anordnung zu schaffen, so dass eine vorgeschriebene Operationsgeschwindigkeit ohne Verwenden von zwei Arithmetikschaltkreisen zum Berechnen der Rückwärts-Wahrscheinlichkeit βk(m) erhalten werden kann.
  • Eine andere Aufgabe der vorliegenden Erfindung ist es, eine präzise Berechnung der Rückwärts-Wahrscheinlichkeit βk(m) durch nur einmaliges Berechnen der Rückwärts-Wahrscheinlichkeit βk(m) zu ermöglichen, wodurch ein Vorteil hinsichtlich des Leistungsverbrauchs bereitgestellt wird.
  • Offenbarung der Erfindung
  • In einem ersten MAP-Decodierverfahren, das Bezug zu der Erfindung hat, aber nicht ein Teil davon ist, (1) werden Rückwärts-Wahrscheinlichkeiten in einer Rückwärtsrichtung bzw. Umkehrrichtung von einer N-ten Rückwärts-Wahrscheinlichkeit zu einer ersten Rückwärts-Wahrscheinlichkeit berechnet, werden eine m1-te Rückwärts-Wahrscheinlichkeit bis zu der ersten Rückwärts-Wahrscheinlichkeit gespeichert, wird dann eine erste Vorwärts-Wahrscheinlichkeit berechnet, wird ein erstes decodiertes Ergebnis unter Verwendung der ersten Vorwärts-Wahrscheinlichkeit und der gespeicherten ersten Rückwärts-Wahrscheinlichkeit erhalten, und werden ein zweites bis m1-tes decodiertes Ergebnis auf ähnliche Weise erhalten. (2) Danach werden Rückwärts-Wahrscheinlichkeiten in der Rückwärtsrichtung bzw. Umkehrrichtung von der N-ten Rückwärts-Wahrscheinlichkeit bis zu einer (m1+1)-ten Rückwärts-Wahrscheinlichkeit berechnet, werden eine m2-te Rückwärts-Wahrscheinlichkeit bis zu der (m1+1)-ten Rückwärts-Wahrscheinlichkeit gespeichert, wird eine (m1+1)-te Vorwärts-Wahrscheinlichkeit berechnet, wird ein (m1+1)-tes decodiertes Ergebnis unter Verwendung der (m1+1)-ten Vorwärts-Wahrscheinlichkeit und der gespeicherten (m1+1)-ten Rückwärts-Wahrscheinlichkeit erhalten, werden (m1+2)-te bis m2-te decodierte Ergebnisse auf ähnliche Weise erhalten und (3) werden (m2+1)-te bis N-te decodierte Ergebnisse nachfolgend auf ähnliche Weise erhalten.
  • Wenn diese Anordnung übernommen wird, ist eine Speicherkapazität von nur r × m (Anzahl der Zustände) erforderlich, um die Rückwärts-Wahrscheinlichkeiten zu speichern, wobei m1 = r, m2 = 2r, ... zutrifft. Da die Rückwärts-Wahrscheinlichkeiten von k = N zu allen Zeiten berechnet werden, wird darüber hinaus die Rückwärts-Wahrscheinlichkeit βk(m) präzise berechnet, um zu ermöglichen, dass die Genauigkeit der MAP-Decodierung zunimmt.
  • Ein anderes MAP-Decodierverfahren ist im unabhängigen Anspruch 1 definiert.
  • Wenn diese Anordnung übernommen wird, ist eine Speicherkapazität von nur r × m (Anzahl der Zustände) erforderlich, um die Rückwärts-Wahrscheinlichkeiten zu speichern, wobei ml = r, m2 = 2r, ... zutrifft. Ferner ist sie so angeordnet, dass Rückwärts-Wahrscheinlichkeiten in einer Umkehrrichtung bzw. Rückwärtsrichtung von einer N-ten Rückwärts-Wahrscheinlichkeit zu einer ersten Rückwärts-Wahrscheinlichkeit berechnet werden, die erhaltenen Rückwärts-Wahrscheinlichkeiten diskret bzw. getrennt gespeichert werden, und wenn erforderlich werden Rückwärts-Wahrscheinlichkeiten der erforderlichen Anzahl berechnet und genutzt, startend von einer der getrennt gespeicherten Rückwärts-Wahrscheinlichkeiten. Als ein Ergebnis kann Rückwärts-Wahrscheinlichkeit βk(m) präzise berechnet werden, um es zu ermöglichen, die Genauigkeit der MAP-Decodierung zu erhöhen. Darüber hinaus brauchen Rückwärts-Wahrscheinlichkeiten der erforderlichen Anzahl nicht durch Berechnen von Rückwärts-Wahrscheinlichkeiten von k = N an erhalten zu werden, wie es der Bedarf erfordert. Als eine Ergebnis kann die Operationsgeschwindigkeit erhöht werden. Ferner wird eine vorgeschriebene Operationsgeschwindigkeit ohne Verwendung von zwei Arithmetikschaltkreisen zum Berechnen der Rückwärts- Wahrscheinlichkeit βk(m) erhalten. Darüber hinaus braucht die Rückwärts-Wahrscheinlichkeit βk(m) nur einmal berechnet zu werden, wodurch ein Vorteil hinsichtlich des Leistungsverbrauchs bereitgestellt wird.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist eine schematische Ansicht eines Kommunikationssystems.
  • 2 ist ein Blockdiagramm eines Turbocodierers.
  • 3 ist ein Diagram, das Übergänge in dem Zustand eines Faltungscodierers zeigt.
  • 4 ist ein Blockdiagramm eines Turbodecodierers.
  • 5 ist ein Diagramm, das beim Beschreiben der Operationssequenz eines ersten MAP-Decodierverfahrens gemäß der vorliegenden Erfindung nützlich ist.
  • 6 ist ein Blockdiagramm eines MAP-Decodierers gemäß einer ersten Ausführungsform.
  • 7 ist ein Diagramm, das beim Beschreiben der Operationssequenz eines zweiten MAP-Decodierverfahrens gemäß der vorliegenden Erfindung nützlich ist.
  • 8 ist ein Blockdiagramm eines MAP-Decodierers gemäß einer zweiten Ausführungsform.
  • 9 ist ein Blockdiagramm des Turbodecodierers.
  • 10 ist ein Diagramm, das beim Beschreiben des Operation des Turbodecodierers nützlich ist.
  • 11 ist eine Blockdiagramm eines Faltungscodierers.
  • 12 ist ein Diagramm, das beim Beschreiben der Beziehung zwischen Eingaben und Ausgaben eines Faltungscodierers nützlich ist.
  • 13 ist ein Diagramm, das beim Beschreiben der Zustände eines Faltungscodierers nützlich ist.
  • 14 ist ein Diagramm, das die Beziehung zwischen den Zuständen und einer Eingabe/Ausgabe eines Faltungscodierers zeigt.
  • 15 ist ein Diagramm, das beim Beschreiben einer gitter-artigen bzw. Lattice-artigen Darstellung nützlich ist.
  • 16 ist ein Diagramm, das beim Beschreiben harter und unscharfer Entscheidungen nützlich ist.
  • 17 ist ein Diagramm, das beim Beschreiben der Decodierung (harte Entscheidung) eines Faltungscodes nützlich ist.
  • 18 ist ein Diagramm, das beim Beschreiben einer Decodierung (unscharfe Entscheidung) eines Faltungscodes nützlich ist.
  • 19 ist ein Diagramm, das beim Beschreiben einer Decodierung eines Faltungscodes nützlich ist.
  • 20 ist ein Diagramm, das beim Beschreiben eines Pfades eines minimalen Fehlers jedes Zustands bei einem k nützlich ist.
  • 21 ist ein Diagramm, das beim Beschreiben einer Übersicht der MAP-Decodierung nützlich ist.
  • 22 ist ein Blockdiagramm eines MAP-Decodierers zum Implementieren eines ersten MAP-Decodierverfahrens gemäß dem Stand der Technik.
  • 23 ist ein Diagramm, das beim Beschreiben der Berechnung von Vorwärts-Wahrscheinlichkeiten nützlich ist.
  • 24 ist ein Blockdiagramm eines Faltungscodierers.
  • 25 ist ein Diagramm, das die Beziehung zwischen den Zuständen und der Eingabe/Ausgabe eines Faltungscodierers zeigt.
  • 26 ist ein Diagramm, das beim Beschreiben von Übergangs-Wahrscheinlichkeiten nützlich ist.
  • 27 ist ein Diagramm, das beim Beschreiben der Berechnung von Vorwärts-Wahrscheinlichkeiten nützlich ist, aus dem Linien der Übergangs-Wahrscheinlichkeit = 0 eliminiert worden sind.
  • 28 ist ein Diagramm, das beim Beschreiben der Berechnung von Rückwärts-Wahrscheinlichkeiten nützlich ist.
  • 29 ist ein Diagramm, das beim Beschreiben der Berechnung von Rückwärts-Wahrscheinlichkeiten nützlich ist, aus dem Linien der Übergangs-Wahrscheinlichkeit = 0 eliminiert worden sind.
  • 30 ist ein Diagramm, das beim Beschreiben der Berechnung von Verbundwahrscheinlichkeiten und des Likelihood-Wertes als auch der Decodierergebnisse nützlich ist.
  • 31 ist eine Modifizierung eines MAP-Decodierers zum Implementieren des ersten MAP-Decodierverfahrens gemäß dem Stand der Technik.
  • 32 ist eine Modifizierung eines MAP-Decodierers zum Implementieren des zweiten MAP-Decodierverfahrens gemäß dem Stand der Technik.
  • 33 ist ein Zeitdiagramm des zweiten MAP-Decodierverfahrens gemäß dem Stand der Technik.
  • 34 ist eine Modifizierung eines MAP-Decodierers zum Implementieren des zweiten MAP-Decodierverfahrens gemäß dem Stand der Technik.
  • 35 ist ein Diagramm, das beim Beschreiben der Operationssequenz eines dritten MAP-Decodierverfahrens gemäß dem Stand der Technik nützlich ist.
  • 36 ist ein Diagramm, das beim Beschreiben von Problemen des dritten MAP-Decodierverfahrens gemäß dem Stand der Technik nützlich ist.
  • Bester Modus zum Ausführen der Erfindung
  • (A) Turbocodes
  • Das MAP-Decodierverfahren beweist seine Wirksamkeit bei Turbocodes. 1 ist ein Blockdiagramm eines Kommunikationssystems, das einen Turbocodierer und einen Turbodecodierer enthält. Zahlzeichen 11 bezeichnet den Turbocodierer, der auf der Datenübertragungsseite bereitgestellt ist, und Zahlzeichen 12 bezeichnet den Turbodecodierer, der auf der Datenempfangsseite bereitgestellt ist. Zahlzeichen 13 bezeichnet einen Datenkommunikationspfad. Ferner stellt Zeichen u Sendeinformationsdaten von Länge N dar, stellen xa, xb, xc codierte Daten dar, die durch Codieren der Informationsdaten u durch den Turbocodierer 11 erhalten sind; bezeichnen ya, yb, yc Empfangssignale, die durch Rauschen und Fading bzw. Schwund als ein Ergebnis einer Ausbreitung der codierten Daten xa, xb, xc durch den Kommunikationspfad 13 beeinflusst worden sind; und stellt u' Ergebnisse der Decodierung dar, die durch Decodieren der Empfangsdaten ya, yb, yc durch den Turbodecodierer 12 erhalten sind. Diese Dateneinträge sind unten ausgedrückt.
  • Ursprüngliche Daten:
    • u = {u1, u2, u3, ..., uN}
  • Codierte Daten:
    • xa = {xa1, xa2, xa3, ..., xak, ..., xaN} xb = {xb1, xb2, xb3, ..., xbk, ..., xbN} xc = {xc1, xc2, xc3, ..., xck, ..., xcN}
  • Empfangsdaten:
    • ya = {ya1, ya2, ya3, ..., yak, ..., yaN} yb = {yb1, yb2, ya3, ..., ybk, ..., ybN} yc = {yc1, yc2, yc3, ..., yck, ..., ycN}
  • Der Turbocodierer 11 codiert die Informationsdaten u der Informationslänge N und gibt die codierten Daten xa, xb, xc aus. Die codierten Daten xa sind die Informationsdaten u an sich, die codierten Daten xb sind durch das Faltungscodieren der Informationsdaten u durch einen Codierer ENC1 erhaltene Daten, und die codierten Daten xc sind durch das Verschachteln (π) und Faltungscodieren der Informationsdaten u durch einen Codierer ENC2 erhaltene Daten. Ein Turbocode wird mit anderen Worten durch Kombinieren zweier Faltungscodes erhalten. Es sollte beachtet werden, dass eine verschachtelte Ausgabe xa' sich von den codierten Daten xa nur hinsichtlich ihrer Sequenz bzw. Reihenfolge unterscheidet, und deshalb nicht ausgegeben wird.
  • 2 ist ein Diagramm, das die Details des Turbocodierers 11 zeigt. Zahlzeichen 11a, 11b bezeichnen Faltungscodierer (ENC1, ENC2), die identisch konstruiert sind, und Zahlzeichen 11c bezeichnet eine Verschachtelungseinheit (π). Die Faltungscodierer 11a, 11b, die ausgebildet sind zum Ausgeben rekursiver systematischer Faltungscodes, sind jeweils durch Verbindung von zwei Flip-Flops FF1, FF2 und von drei Exklusiv-ODER-Gattern EXOR1 EXOR3 auf die veranschaulichte Weise konstruiert. Die Flip-Flops FF1, FF2 nehmen vier Zustände 0(=00), 1(=10), 2(=01), 3(=11) an. Wenn 0 oder 1 in jedem dieser Zustände eingegeben wird, durchlaufen die Zustände einen wie in 3 veranschaulichten Übergang, und die Flip-Flops Flip-Flop-Ausgaben xa, xb. In 3 gibt die linke Seite den Zustand vor der Eingabe der Empfangsdaten an, gibt die rechte Seite den Zustand nach der Eingabe an, geben die durchgezogenen Linien den Pfad des Zustandübergangs an, wenn "0" eingegeben wird, und geben die gestrichelten Linien den Pfad des Zustandübergangs an, wenn "1" eingegeben wird, und geben 00, 11, 10, 01 auf den Pfaden die Werte der Ausgabesignale xa, xb an. Wenn beispielsweise "0" in dem Zustand 0(=00) eingegeben wird, ist die Ausgabe 00 und der Zustand wird 0(=00); wenn "1" eingegeben wird, ist die Ausgabe 11 und der Zustand wird 1(=10).
  • 4 ist ein Blockdiagramm des Turbodecodierers. Die Turbodecodierung wird durch einen ersten Element-Decodierer DEC1 durchgeführt, der ya und yb zuerst unter dem Empfangssignalen ya, yb, yc verwendet. Der Element-Decodierer DEC1 ist ein Element-Decodierer für eine unscharfe Ausgabe und gibt die Wahrscheinlichkeit bzw. den Likelihood-Wert decodierter Ergebnisse aus. Als Nächstes wird eine ähnliche Decodierung durch einen zweiten Element-Decodierer DEC2 durchgeführt, der den Likelihood-Wert, der von dem ersten Element-Decodierer DEC1 ausgegeben ist, und yc verwendet. Das heißt, dass der zweite Element-Decodierer DEC2 auch ein Element-Decodierer einer unscharfen Ausgabe ist und die Wahrscheinlichkeit bzw. den Likelihood-Wert decodierter Ergebnisse ausgibt. Hierbei ist yc ein Empfangssignal, das xc entspricht, welches durch Verschachteln und Codieren der Informationsdaten u erhalten wurde. Demgemäß wird die Wahrscheinlichkeit bzw. der Likelihood-Wert, der von dem ersten Element-Decodierer DEC1 ausgegeben ist, verschachtelt (π), bevor er in den zweiten Element-Decodierer DEC2 eintritt.
  • Der von dem zweiten Element-Decodierer DEC2 ausgegebene Likelihood-Wert wird entschachtelt (π–1) und dann als die Eingabe an den ersten Element-Decodierer DEC1 zurückgespeist. Ferner sind u' decodierte Daten (Decodierergebnisse), die durch Leisten einer "0", "1" Entscheidung hinsichtlich der verschachtelten Ergebnisse von dem zweiten Element-Decodierer DEC2 erhalten sind. Die Fehlerrate wird durch Wiederholen der oben beschriebenen Decodieroperation mit einer vorgeschriebenen Anzahl von Malen reduziert.
  • MAP-Elementdecodierer können für den ersten und des zweiten Elementdecodierer DEC1, DEC2 in solch einem Turboelementdecodierer verwendet werden.
  • (B) Erste Ausführungsform, die einen Bezug zu der Erfindung hat aber nicht Teil davon ist
  • (a) Operationssequenz
  • 5 ist ein Diagramm, das beim Beschreiben der Operationssequenz eines ersten MAP-Decodierverfahrens gemäß der vorliegenden Erfindung nützlich ist.
    • (1) Bei dem Beginn werden sämtliche Rückwärts-Wahrscheinlichkeiten βk(m) (k = N bis 1) in der Rückwärtsrichtung bzw. Umkehrrichtung bis zu einer ersten Rückwärts-Wahrscheinlichkeit bei k = 1 startend von einer N-ten Rückwärts-Wahrscheinlichkeit bei k = N berechnet, und (2) werden eine m1-te Rückwärts-Wahrscheinlichkeit βm1(m) bis zu einer ersten Rückwärts-Wahrscheinlichkeit β1(m) gespeichert. Als Nächstes (3) werden erste Vorwärts-Wahrscheinlichkeiten α1 1(m), α0 1(m) berechnet, werden erste decodierte Daten ui und Likelihood-Wert L(ui) unter Verwendung der ersten Vorwärts-Wahrscheinlichkeiten und der gespeicherten ersten Rückwärts-Wahrscheinlichkeit β1(m) erhalten, und werden zweite bis m1-te decodierte Daten u2 bist um1 und Likelihood-Werte L(u2) bis L(um1) auf ähnliche Weise erhalten.
    • (4) Danach werden Rückwärts-Wahrscheinlichkeiten in der Rückwärtsrichtung bzw. Umkehrrichtung von der N-ten Rückwärts-Wahrscheinlichkeit bis zu einer (m1+1)-ten Rückwärts-Wahrscheinlichkeit berechnet, und (5) werden eine m2-te Rückwärts-Wahrscheinlichkeit βm2(m) bis zu der (m1+1)-te Rückwärts-Wahrscheinlichkeit βm1+1(m) gespeichert. Als Nächstes (6) werden (m1+1)-te Vorwärts-Wahrscheinlichkeiten αm1+1(m), α0 m1+1(m) berechnet, werden (m1+1)te decodierte Daten um1+1 und Likelihood-Wert L(um1+1) unter Verwendung der (m1+1)-ten Vorwärts-Wahrscheinlichkeiten und der gespeicherten (m1+1)-ten Rückwärts-Wahrscheinlichkeit βm1+1(m) erhalten, und werden (m1+2)-te bis m2-te decodierte Daten um1+2 bis um2 und Likelihood-Werte L(um1+2) bis L(um2) auf ähnliche Weise erhalten. (7) Danach werden (m2+1)-te bis N-te decodierte Daten um2+1 bis uN und Likelihood-Werte L(um1+2) bis L(uN) auf ähnliche Weise erhalten.
  • (b) MAP-Decodierer der ersten Ausführungsform
  • 6 ist ein Blockdiagramm eines MAP-Decodierers gemäß der ersten Ausführungsform.
  • Eine MAP-Steuereinheit 50 steuert den Gesamt-MAP-Decodierer, d.h. sie steuert die Berechnungszeitverhältnisse jeder Komponente und das Auslesen und Schreiben von Daten vom und zum Speicher usw., gemäß der Operationssequenz von 5. Ein Eingabe-/Ausgabe-Verschachteler 51, der zum Ändern der Ausgabesequenz von Empfangsdaten wie zweckgemäß geeignet ist, hat einen Speicher zum Speichern sämtlicher Empfangsdaten und eine Datenausgabeeinheit zum Ausgeben der Empfangsdaten in einer Reihenfolge, die das Umgekehrte von oder dieselbe wie die ist, in der die Daten eingegeben wurden. Bei einem Turbodecodierer ist es erforderlich, die Empfangsdaten zu verschachteln, und deshalb hat der Decodierer einen Speicher zum Speichern sämtlicher Empfangsdaten. Dies bedeutet, dass dieser Speicher zum Verschachteln auch als der Speicher des Eingabe-/Ausgabe-Verschachtelers 51 verwendet werden kann. Somit ist mit dem Speicher keine Last verknüpft.
  • Eine Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 verwendet Empfangsdaten (yak, ybk) zur Zeit k (= N) zum Berechnen des Folgenden:
    Wahrscheinlichkeit γ0,k dass (xak,xbk) ist (0,0)
    Wahrscheinlichkeit γ1,k dass (xak,xbk) ist (0,1)
    Wahrscheinlichkeit γ2,k dass (xak,xbk) ist (1,0)
    Wahrscheinlichkeit γ3,k dass (xak,xbk) ist (1,1)
  • Ferner berechnet eine Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 53 die Rückwärts-Wahrscheinlichkeit βk–1(m) (m = 0 bis 3) in jedem Zustand m (= 0 bis 3) zur Zeit k–1 unter Verwendung der Rückwärts-Wahrscheinlichkeit βk(m) und der Verschiebungs-Wahrscheinlichkeit γs,k (s = 0, 1, 2, 3) zur Zeit k (= N). Danach wiederholen die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 und die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 53 die oben beschriebenen Berechnungen bei k = k–1, führen die Berechnungen von k = N bis k = 1 aus, und speichern die m1-te Rückwärts-Wahrscheinlichkeit βm1(m) bis zu der ersten Rückwärts-Wahrscheinlichkeit β1(m) von k = m1 bis 1 in einem Speicher 54.
  • Danach verwendet die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 verwendet Empfangsdaten (yak,ybk) zur Zeit k (= 1), um das Folgende zu berechnen:
    Wahrscheinlichkeit γ0,k dass (xak,xbk) ist (0,0)
    Wahrscheinlichkeit γ1,k dass (xak,xbk) ist (0,1)
    Wahrscheinlichkeit γ2,k dass (xak,xbk) ist (1,0)
    Wahrscheinlichkeit γ3,k dass (xak,xbk) ist (1,1)
  • Ferner nimmt die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 55 k = 1 an und berechnet die Vorwärts-Wahrscheinlichkeiten α1 k(m), α0 k(m) in jedem Zustand m (= 0 bis 3) zur Zeit k unter Verwendung der Vorwärts-Wahrscheinlichkeiten α1 k–1(m), α0 k–1(m) zur Zeit (k–1) und der erhaltenen Verschiebungs-Wahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k zur Zeit k.
  • Eine Verbundwahrscheinlichkeits-Berechnungseinheit 56 multipliziert die Vorwärts-Wahrscheinlichkeit α1 k(m) und die Rückwärts-Wahrscheinlichkeit βk(m) in jedem Zustand m (= 0 bis 3) zur Zeit k, um die Wahrscheinlichkeit λ1 k(m) zu berechnen, dass der k-te Eintrag der ursprünglichen Daten uk "1" ist, und berechnet ähnlich die Wahrscheinlichkeit λ0 k(m), dass die ursprünglichen Daten uk "0" sind, unter Verwendung der Vorwärts-Wahrscheinlichkeit α0 k(m) und der Rückwärts-Wahrscheinlichkeit βk(m) in jedem Zustand m (= 0 bis 3) zur Zeit k.
  • Eine uk-und-uk-Likelihood-Wert-Berechnungseinheit 57 erhält die Gesamtsumme Σmλ0 k(m) der Wahrscheinlichkeiten von "0" und die Gesamtsumme Σmλ1 k(m) der Wahrscheinlichkeiten von "1" in jedem Zustand m (= 0 bis 3) zur Zeit k und gibt den Likelihood-Wert in Übereinstimmung mit der folgenden Gleichung aus: L(u) = log [Σmλ1 k(m)/Σmλ0 k(m)
  • Ferner wird das decodierte Ergebnis uk=1 ausgegeben, wenn L(u)>0 zutrifft, und das decodierte Ergebnis uk=0 wird ausgegeben, wenn L(u)<0 zutrifft.
  • Danach wiederholen die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52, eine Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 55, die Verbundwahrscheinlichkeits-Berechnungseinheit 56 und die uk-und-uk-Likelihood-Wert-Berechnungseinheit 57 die vorhergehenden Berechnungen bei k = k+1, führen die Berechnungen von k = 1 bis k = m1 durch, berechnen uk und die Konfidenz (Wahrscheinlichkeit bzw. Likelihood-Wert) L(uk) davon zu jeder Zeit von k = 1 bis m1 und geben dieselbe aus.
  • Wenn die Berechnung von uk und von L(uk) von k = 1 bis k = m1 vollendet ist, dann berechnet die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 unter der Steuerung der MAP-Steuereinheit 50 die Wahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k unter Verwendung der Empfangsdaten (γak, γbk) zur Zeit k (= N). Ferner berechnet die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 53 die Rückwärts-Wahrscheinlichkeit βk–1(m) (= 0 bis 3) in jedem Zustand m (= 0 bis 3) zur Zeit k–1 unter Verwendung der Rückwärts-Wahrscheinlichkeit βk(m) und der Verschiebungs-Wahrscheinlichkeit γs,k (s = 0, 1, 2, 3) zur Zeit k = (N).
  • Die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 und die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 53 wiederholen nachfolgend die obigen Berechnungen bei k = k–1, führen Berechnungen von k = N bis k = m1+1 durch und speichern die m2-te Rückwärts-Wahrscheinlichkeit βm2(m) bis zu der (m1+1)- ten Rückwärts-Wahrscheinlichkeit βm1+1(m) von k = m2 bis m1+1 in einem Speicher 54.
  • Die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 berechnet nachfolgend die Wahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k unter Verwendung der Empfangsdaten (yak, ybk) zur Zeit k (=m1+1). Ferner nimmt die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 53 k = m1+1 an und berechnet die Vorwärts-Wahrscheinlichkeiten α1 k(m), α0 k(m) in jedem Zustand m (= 0 bis 3) zur Zeit k unter Verwendung der Vorwärts-Wahrscheinlichkeiten α1 k–1(m), α0 k–1(m) (m) zur Zeit (k–1) und der erhaltenen Verschiebungs-Wahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k, zur Zeit k. Die Verbundwahrscheinlichkeits-Berechnungseinheit 56 und die uk-und-uk-Likelihood-Wert-Berechnungseinheit 57 führen Operationen durch, die den oben beschriebenen ähnlich sind, und geben uk und den Likelihood-Wert L(uk) aus.
  • Danach wiederholen die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52, Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 55, Verbundwahrscheinlichkeits-Berechnungseinheit 56 und die uk-und-uk-Likelihood-Wert-Berechnungseinheit 57 die vorhergehenden Berechnungen bei k = k+1, führen die Berechnungen von k = m1+1 bis k = m2 durch, berechnen uk und die Konfidenz (Wahrscheinlichkeit bzw. Likelihood-Wert) L(uk) davon zu jeder Zeit von k = m1+1 bis m2 und geben dieselbe aus.
  • Wenn die obigen Operationen vollendet sind, dann werden (m2+1)-te bis N-te decodierte Daten um2+1 bis uN und Likelihood-Werte L(um2+1) bis L(uN) nachfolgend auf ähnliche Weise erhalten.
  • Gemäß dem ersten Aspekt der vorliegenden Erfindung wird nur eine Speicherkapazität von r × m (Anzahl von Zuständen) benötigt, um die Rückwärts-Wahrscheinlichkeiten in einem Fall zu speichern, dass m1 = r, m2 = 2r, m3 = 3r ... zutrifft. Da die Rückwärts-Wahrscheinlichkeiten von k = N zu allen Zeiten berechnet werden, ist darüber hinaus die Rückwärts- Wahrscheinlichkeit βk(m) präzise berechnet, um es zu ermöglichen, die Genauigkeit der MAP-Decodierung zu erhöhen.
  • (C) Zweite Ausführungsform
  • (a) Operationssequenz
  • 7 ist ein Diagramm, das beim Beschreiben der Operationssequenz eines zweiten MAP-Decodierverfahrens gemäß der vorliegenden Erfindung nützlich ist.
    • (1) Bei dem Beginn werden alle Rückwärts-Wahrscheinlichkeiten βk(m) (k = N bis 1) in der Rückwärtsrichtung bzw. Umkehrrichtung bis zu einer ersten Rückwärts-Wahrscheinlichkeit bei k = 1 startend von einer N-ten Rückwärts-Wahrscheinlichkeit bei k = N, berechnet, werden eine ms-te Rückwärts-Wahrscheinlichkeit βms(m), m( s_1 )-te Rückwärts-Wahrscheinlichkeit βm(s–1)(m), ..., m3-te Rückwärts-Wahrscheinlichkeit βm3(m), m2-te Rückwärts-Wahrscheinlichkeit βm2(m) diskret bzw. getrennt gespeichert, und werden eine m1-te Rückwärts-Wahrscheinlichkeit βm1(m) bis zu einer ersten Rückwärts-Wahrscheinlichkeit β1(m) kontinuierlich bzw. zusammenhängend gespeichert.
    • (2) Als Nächstes werden erste Vorwärts-Wahrscheinlichkeiten α1 1(m), α0 1(m) berechnet, werden erste decodierte Daten u1 und Likelihood-Wert L(u1) unter Verwendung der ersten Vorwärts-Wahrscheinlichkeiten und der gespeicherten ersten Rückwärts-Wahrscheinlichkeit β1(m) erhalten, und werden die zweiten bis m1-ten decodierten Daten u2 bis um1 und Likelihood-Werte L(u2) bis L(um1) auf ähnliche Weise erhalten.
    • (3) Danach werden Rückwärts-Wahrscheinlichkeiten bis zu einer (m1+1)-ten Rückwärts-Wahrscheinlichkeit βm1+1 (m) berechnet und gespeichert, startend von der gespeicherten m2-ten Rückwärts-Wahrscheinlichkeit βm2(m).
    • (4) Als Nächstes werden (m1+1)-te Vorwärts-Wahrscheinlichkeiten α1 m1+1(m), α0 m1+1(m) berechnet, werden (m1+1)-te decodierte Daten um1+1 und Likelihood-Wert L(um1+1) unter Verwendung der (m1+1)-ten Vorwärts-Wahrscheinlichkeiten und der gespeicherten (m1+1)-ten Rückwärts-Wahrscheinlichkeit βm1+1(m) erhalten, und werden (m1+2)-te bis m2-te decodierte Daten um1+2 bis um2 und Likelihood-Werte L(um1+2) bis L(um2) auf ähnliche Weise erhalten.
    • (5) Danach werden Rückwärts-Wahrscheinlichkeiten bis zu einer (m2+1)-ten Rückwärts-Wahrscheinlichkeit βm2+1(m) berechnet und gespeichert, startend von der gespeicherten m3-ten Rückwärts-Wahrscheinlichkeit βm3(m).
    • (6) Als Nächstes werden (m2+1)-te Vorwärts-Wahrscheinlichkeiten α1 m1+1(m), α0 m1+1(m) berechnet, werden (m2+1)-te decodierte Daten um2+1 und Likelihood-Wert L(um1+2) unter Verwendung der (m2+1)-ten Vorwärts-Wahrscheinlichkeiten und der gespeicherten (m2+1)-ten Rückwärts-Wahrscheinlichkeit βm2+1(m) erhalten, und werden (m2+2) -te bis m3-te decodierte Daten um2+2 bis um3 und Likelihood-Werte L(um2+2) bis L(um3) auf ähnliche Weise erhalten.
    • (7) Danach und auf ähnliche Weise werden (m3+1)-te bis N-te decodierte Daten um3+1 bis uN und Likelihood-Werte L(um3+1) bis L(uN) unter Verwendung der gespeicherten m4-ten Rückwärts-Wahrscheinlichkeit βm4(m), ..., m(s–1)-ten Rückwärts-Wahrscheinlichkeit βm(s–1)(m), der ms-ten Rückwärts-Wahrscheinlichkeit βms(m) erhalten.
  • (b) MAP-Decodierer der zweiten Ausführungsform
  • 8 ist ein Blockdiagramm eines MAP-Decodierers gemäß der zweiten Ausführungsform, in welchem Komponenten, die mit den in 6 gezeigten identisch sind, mit ähnlichen Bezugszeichen bezeichnet sind.
  • Die MAP-Steuereinheit 50 steuert den gesamten MAP-Decodierer, d.h., dass sie die Berechnungszeitverhältnisse bzw. Berechnungsabläufe der Komponente und das Auslesen und Schreiben von Daten vom und zum Speicher usw. in Übereinstimmung mit der Operationssequenz von 7 steuert. Der Eingabe-/Ausgabe-Verschachteler 51, der zum Ändern der Ausgabesequenz der Empfangsdaten wie zweckmäßig geeignet ist, hat einen Speicher zum Speichern sämtlicher Empfangsdaten und eine Datenausgabeeinheit zum Ausgeben der Empfangsdaten in einer Reihenfolge, die das Umgekehrte von oder dieselbe wie die ist, in der die Daten eingegeben wurden.
  • Die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 verwendet Empfangsdaten (γak, γbk) zur Zeit k (= N), um das Folgende zu berechnen:
    Wahrscheinlichkeit γ0,k dass (xak, xbk) ist (0,0)
    Wahrscheinlichkeit γ0,k dass (xak, xbk) ist (0,1)
    Wahrscheinlichkeit γ0,k dass (xak, xbk) ist (1,0)
    Wahrscheinlichkeit γ0,k dass (xak, xbk) ist (1,1)
  • Ferner berechnet eine Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 53 die Rückwärts-Wahrscheinlichkeit βk–1(m) (= 0 bis 3) in jedem Zustand m (= 0 bis 3) zur Zeit k–1 unter Verwendung der Rückwärts-Wahrscheinlichkeit βk(m) und der Verschiebungs-Wahrscheinlichkeit γs,k (s = 0, 1, 2, 3) zur Zeit k (= N). Danach wiederholen die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 und die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 53 die oben beschriebenen Berechnungen bei k = k–1 und führen die Berechnungen von k = N bis k = 1 durch. Die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 53 speichert die ms-te Rückwärts-Wahrscheinlichkeit βms(m), die m(s–1)-te Rückwärts-Wahrscheinlichkeit βms_1(m), ..., die m3-te Rückwärts-Wahrscheinlichkeit βm3(m), die m2-te Rückwärts-Wahrscheinlichkeit βm2(m), die diskret bzw. getrennt in Übereinstimmung mit bzw. mit Wirkung mit der Berechnung der Rückwärts-Wahrscheinlichkeiten von k = N bis 1 erhalten werden, in einem getrennten Rückwärts-Wahrscheinlichkeits-Speicherungsabschnitt 54a von Speicher 54, und speichert die m1-te Rückwärts-Wahrscheinlichkeit βm1(m) bis zu der ersten Rückwärts-Wahrscheinlichkeit β1(m) in einem kontinuierlichen bzw. zusammenhängenden Rückwärts-Wahrscheinlichkeits-Speicherungsabschnitt 54b.
  • Die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 verwendet nachfolgend die Empfangsdaten (γak, γbk) zur Zeit k (= 1), um das Folgende zu berechnen:
    Wahrscheinlichkeit γ0,k dass (xak, xbk) ist (0,0)
    Wahrscheinlichkeit γ1,k dass (xak, xbk) ist (0,1)
    Wahrscheinlichkeit γ2,k dass (xak, xbk) ist (1,0)
    Wahrscheinlichkeit γ3,k dass (xak, xbk) ist (1,1)
  • Ferner nimmt die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 55 k = 1 an und berechnet die Vorwärts-Wahrscheinlichkeiten α1 k(m), α0 k(m) zur Zeit k unter Verwendung der Vorwärts-Wahrscheinlichkeiten α1 k–1(m), α0 k–1(m) zur Zeit (k–1) und der erhaltenen Verschiebungs-Wahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k zur Zeit k.
  • Die Verbundwahrscheinlichkeits-Berechnungseinheit 56 multipliziert die Vorwärts-Wahrscheinlichkeit α1 k(m) und die Rückwärts-Wahrscheinlichkeit βk(m) in jedem Zustand m (= 0 bis 3) zur Zeit k, um die Wahrscheinlichkeit λ1 k(m), dass der k-te Eintrag der ursprünglichen Daten uk "1" ist, und berechnet ähnlich die Wahrscheinlichkeit λ0 k(m), dass die ursprünglichen Daten uk "0" sind, unter Verwendung der Vorwärts-Wahrscheinlichkeit α0 k(m) und der Rückwärts-Wahrscheinlichkeit βk(m) in jedem Zustand m (= 0 bis 3) zur Zeit k.
  • Eine uk-und-uk-Likelihood-Wert-Berechnungseinheit 57 erhält die Gesamtsumme Σmλ0 k(m) der Wahrscheinlichkeiten von "0" und die Gesamtsumme Σmλ1 k(m) der Wahrscheinlichkeiten von "1" in jedem Zustand m (= 0 bis 3) zur Zeit k und gibt den Likelihood-Wert gemäß der folgenden Gleichung aus: L(u) = log [Σmλ1 k(m)/Σmλ0 k(m)]
  • Ferner wird das decodierte Ergebnis uk=1 ausgegeben, wenn L(u)>0 zutrifft, und das decodierte Ergebnis uk=0 wird ausgegeben, wenn L(u)<0 zutrifft.
  • Danach wiederholen die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52, die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 55, die Verbundwahrscheinlichkeits-Berechnungseinheit 56 und die uk-und-uk-Likelihood-Wert-Berechnungseinheit 57 die vorhergehenden Berechnungen bei k = k+1, führen die Berechnungen von k = 1 bis k = m1 durch, berechnen uk und die Konfidenz (Wahrscheinlichkeit bzw. Likelihood-Wert) L(uk) davon zu jeder zeit von k = 1 bis m1 und geben dieselbe aus.
  • Wenn die Berechnung von uk und L(uk) von k = 1 bis k = m1 vollendet ist, dann berechnet die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 unter der Steuerung der MAP-Steuereinheit 50 die Wahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k unter Verwendung der Empfangsdaten (γbk, γbk) zur Zeit k (= m2). Ferner liest die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 53 die Rückwärts-Wahrscheinlichkeit βk(m) [= βm2(m)] zur Zeit k (= m2) aus dem Speicherungsabschnitt 54a aus, berechnet die Rückwärts-Wahrscheinlichkeit βk–1(m) (m = 0 bis 3) in jedem Zustand m (= 0 bis 3) zur Zeit k–1 unter Verwendung der Rückwärts-Wahrscheinlichkeit βk(m) und der Verschiebungs-Wahrscheinlichkeit γs,k (s = 0, 1, 2, 3) und speichert selbiges in dem Speicherungsabschnitt 54b. Die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 und die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 53 wiederholen nachfolgend die obigen Berechnungen bei k = k–1, führen Berechnungen von k = m2 bis k = m1+1 dudrch und speichern die m2-te Rückwärts-Wahrscheinlichkeit βm2(m) bis zu der (m1+1)-ten Rückwärts-Wahrscheinlichkeit βm1+1(m) von k = m2 bis k = m1+1 in dem Speicherungsabschnitt 54b.
  • Die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52 berechnet nachfolgend die Wahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k unter Verwendung der Empfangsdaten (Yak,Ybk) zur Zeit k (= m1+1). Ferner nimmt die Vorwärts-Wahrscheinlichkeits- Berechnungseinheit 53 k = m1+1 an und berechnet die Vorwärts-Wahrscheinlichkeiten α1 k(m), α0 k(m) in jedem Zustand m (= 0 bis 3) zur Zeit k unter Verwendung der Vorwärts-Wahrscheinlichkeiten α1 k–1(m), α0 k–1(m) zur Zeit (k–1) und der erhaltenen Verschiebungs-Wahrscheinlichkeiten γ0,k, γ1,k, γ2,k, γ3,k zur Zeit k. Die Verbundwahrscheinlichkeits-Berechnungseinheit 56 und die uk-und-uk-Likelihood-Wert-Berechnungseinheit 57 führen Operationen durch, die den oben beschriebenen ähnlich sind, und geben uk und den Likelihood-Wert L(uk) aus.
  • Danach wiederholen die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52, die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 55, die Verbundwahrscheinlichkeits-Berechnungseinheit 56 und die uk-und-uk-Likelihood-Wert-Berechnungseinheit 57 die vorhergehenden Berechnungen bei k = k+1, führen die Berechnungen von k = m1+1 bis k = m2 durch, berechnen uk und die Konfidenz (Wahrscheinlichkeit bzw. Likelihood-Wert) L(uk) davon zu jeder Zeit von k = m1+1 bis m2 und geben selbige aus.
  • Danach werden (m2+1)-te bis N-te decodierte Daten um2+1 bis uN und Likelihood-Werte L(um2+1) bis L(uN) nachfolgend auf ähnliche Weise erhalten.
  • Gemäß dem zweiten Aspekt der vorliegenden Erfindung wird eine Speicherkapazität von nur r × m + (s–1) (m: Anzahl von Zuständen) benötigt, um Rückwärts-Wahrscheinlichkeiten in einem Fall zu speichern, dass m1 = r, m2 = 2r, m3 = 3r ... zutrifft. Ferner ist es so eingerichtet, dass Rückwärts-Wahrscheinlichkeiten in der Rückwärtsrichtung bzw. Umkehrrichtung von einer N-ten Rückwärts-Wahrscheinlichkeit bis zu einer ersten Rückwärts-Wahrscheinlichkeit berechnet werden, die erhaltenen Rückwärts-Wahrscheinlichkeiten diskret bzw. getrennt gespeichert werden, und wenn erforderlich Rückwärts-Wahrscheinlichkeiten der erforderlichen Anzahl berechnet und genutzt werden, startend von einer der diskret bzw. getrennt gespeicherten Rückwärts-Wahrscheinlichkeiten. Als ein Ergebnis kann die Rückwärts-Wahrscheinlichkeit βk(m) präzise berechnet werden, was es ermöglicht, die Genauigkeit der MAP-Decodierung zu erhöhen.
  • (C) Turbodecodierer
  • 9 ist ein Blockdiagramm, das einen Fall veranschaulicht, in dem ein MAP-Decodierer gemäß der vorliegenden Erfindung als die Elementdecodierer DEC1, DEC2 in einem Turbodecodierer (siehe 4) verwendet wird. Er ist so angeordnet, dass die Decodieroperation in den Elementdecodierern DEC1, DEC2 durch einen einzelnen MAP-Decodierer durchgeführt wird. Komponenten, die mit denen des MAP-Decodierers in 8 identisch sind, sind mit ähnlichen Bezugszeichen bezeichnet.
  • Die MAP-Steuereinheit 50 steuert die vielfältigen Zeitabläufe des MAP-Decodierers gemäß der in 7 gezeigten Operationssequenz. Der Eingabe-/Ausgabe-Verschachteler 51, der RAMs 51a bis 51c zum Speichern der Empfangsdaten ya, yb, yc und eine RAM-Steuereinheit 51d zum Steuern des Lesens und Schreibens der Empfangsdaten hat, gibt Empfangsdaten in der Reihenfolge aus, in der die Daten eingegeben wurden, und ändert, wenn zweckmäßig, die Ausgabesequenz, um eine Verschachtelung der Empfangsdaten durchzuführen. Die Verschiebungs-Wahrscheinlichkeits-Berechnungseinheit 52, die die Verschiebungs-Wahrscheinlichkeit berechnet, hat eine erste und eine zweite Arithmetikeinheit 52a, 52b. Die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit 53 berechnet Rückwärts-Wahrscheinlichkeiten, wie in Verbindung mit 7 und 8 beschrieben. Der Speicher 54, der die Rückwärts-Wahrscheinlichkeiten speichert, hat den RAM 54a zum diskreten bzw. getrennten Speichern der Rückwärts-Wahrscheinlichkeiten, den RAM 54b zum kontinuierlichen bzw. zusammenhängenden Speichern der Rückwärts-Wahrscheinlichkeiten, und eine RAM-Steuereinheit 54c zum Steuern des Lesens und Schreibens der Rückwärts-Wahrscheinlichkeiten. Die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit 55 berechnet Vorwärts-Wahrscheinlichkeiten. Die Verbundwahrscheinlichkeits-Berechnungseinheit 56 multipliziert die Vorwärts-Wahrscheinlichkeiten und Rückwärts-Wahrscheinlichkeiten miteinander, um die Wahrscheinlichkeit zu berechnen, dass der k-te Eintrag der Daten uk in "1" ist, und die Wahrscheinlichkeit, dass er "0" ist. Die Likelihood-Wert-Berechnungseinheit 57 gibt die decodierten Ergebnisse u und die a-Posteriori-Wahrscheinlichkeit L(u) aus.
  • Ein S/2-Wandler 61 unterzieht die Empfangsdaten einer Seriell-zu-Parallel-Wandlung und gibt die umgewandelten Daten an den Eingabe-/Ausgabe-Verschachteler 51 ein. Die durch die Umwandlung erhaltenen Empfangsdaten ya, yb, yc sind Daten einer unscharfen Entscheidung, die mit n Bits quantisiert sind. Eine Berechnungseinheit für einen Likelihood-Wert einer externen Information 62 gibt einen Likelihood-Wert einer externen Information Le(u) aus. In einem erste Zyklus der MAP-Decodierung gibt die Berechnungseinheit für einen Likelihood-Wert einer externen Information 62 den Likelihood-Wert einer externen Information Le(u) unter Verwendung der von der Likelihood-Wert-Berechnungseinheit 57 ausgegebenen a-Posteriori-Wahrscheinlichkeit L(u) und des MAP-Decodierer-Eingangssignals (= Signal ya) aus. Eine Schreibsteuereinheit 63 schreibt den Likelihood-Wert einer externen Information Le(u) an einen Speicher 64. Eine Auslese-Steuereinheit 65 unterzieht den Likelihood-Wert einer externen Information Le(u) einem Verschachteln und Entschachteln, wie zweckgemäß, durch Auslesen des Likelihood-Wertes einer externen Information Le(u) aus dem Speicher 64, und gibt das Ergebnis als Maximum-a-Posteriori-Likelihood-Wert L(u') aus, der in dem nächsten Zyklus der MAP-Decodierung verwendet wird.
  • Bei der MAP-Decodierung von dem zweiten Zyklus an ist die Turbodecodierung derart, dass [Signal ya + a-Posteriori-Likelihood-Wert L(u')] als das Eingabesignal ya verwendet wird. Demgemäß gibt die Berechnungseinheit für einen Likelihood-Wert einer externen Information 62 in dem zweiten Zyklus der MAP-Decodierung den Likelihood-Wert einer externen Information Le(u) unter Verwendung des von der Likelihood-Wert-Berechnungseinheit 57 ausgegeben a-Posteriori-Likelihood-Wertes L(u) und des Decodierer-Eingangsignals aus [= Signal ya + a-Posteriori-Likelihood-Wert L(u')]. Die Schreibsteuereinheit 63 schreibt den Likelihood-Wert einer externen Information Le(u) an den Speicher 64. Die Auslese-Steuereinheit 65 unterzieht den Likelihood-Wert einer externen Information Le(u) einem Verschachteln und Entschachteln, wie zweckgemäß, durch Auslesen des Likelihood-Wertes einer externen Information Le(u) aus dem Speicher 64, und gibt das Ergebnis als a-Posteriori-Likelihood-Wert L(u') aus, der in dem nächsten Zyklus der MAP-Decodierung verwendet wird. Der Likelihood-Wert einer externen Information Le(u) wird danach auf ähnliche Weise ausgegeben. Die folgende Gleichung ist mit Verwenden des Logarithmuswertes jedes Wertes errichtet: L(u) = Lya + L(u') + Le(u) (8)
  • Die Berechnungseinheit für einen Likelihood-Wert einer externen Information 62 ist deshalb zum Erhalten des Likelihood-Wertes einer externen Information Le(u) in Übereinstimmung mit der folgenden Gleichung fähig: Le(u) = L(u) – Lya – L(u') (9)wobei L(u') = 0 für das erste Mal zutrifft.
  • In einem Fall, dass die Schreibsteuereinheit 63 endgültig die decodierten Daten u ausgibt, werden die decodierten Daten an den Speicher 64 geschrieben; andernfalls schreibt die Schreibsteuereinheit 63 den Likelihood-Wert einer externen Information Le(u) an den Speicher 64. In einem Fall, dass die Auslesesteuereinheit 65 die decodierten Daten u ausgibt, liest die Auslesesteuereinheit 65 die decodierten Daten u aus dem Speicher in der Reihenfolge aus, in der die Daten geschrieben wurden. In einem Fall, dass die Auslesesteuereinheit 65 den Likelihood-Wert einer externen Information Le(u) ausliest, liest die Auslesesteuereinheit 65 die Daten gemäß einer durch eine Verschachtelungs-Steuereinheit 66 spezifizierten Auslesesequenz aus und gibt sie aus (verschachtelt sie). Ein Speicher 67 hat einen RAM 67a und eine RAM-Steuereinheit 67b und speichert den verschachtelten Likelihood-Wert einer externen Information Le(u) als L(u').
  • 10 ist ein Diagramm, das beim Beschreiben der Sequenz der Turbodecodierung nützlich ist. Wie aus 4 ersichtlich ist, wird die Turbodecodierung eine Vielzahl von Malen wiederholt, mit Behandlung einer ersten Hälfte der Decodierung, die ya, yb verwendet, und einer zweiten Hälfte der Decodierung, die ya, yc als eine Menge verwendet.
  • Bei der ersten Hälfte der erstmaligen Decodierverarbeitung wird die Decodierung unter Verwendung von Empfangssignalen Lcya, Lcyb durchgeführt, und der erhaltene Likelihood-Wert L(u1) wird ausgegeben. Als Nächstes wird eine a-Posteriori-Wahrscheinlichkeit Le(u1) gemäß Gleichung (9) erhalten [wobei L(u1') = 0 zutrifft], diese wird verschachtelt, und L(u2') wird erhalten.
  • In der zweiten Hälfte der erstmalige Decodierverarbeitung werden ein durch Verschachteln des Empfangssignals Lcya und der in der ersten Hälfte der Decodierverarbeitung erhaltene a-Posteriori-Likelihood-Wert L(u2') als ein neues Empfangssignal Lcya' betrachtet, wird eine Decodierung unter Verwendung von Lcya' und Lcyc durchgeführt, und wird der erhaltene Likelihood-Wert (u2) ausgegeben. Als Nächstes wird der a-Posteriori-Likelihood-Wert Le(u2) gemäß Gleichung (9) gefunden, und dieser wird verschachtelt, um L(u3') zu erhalten.
  • In der ersten Hälfte der zweiten Decodierverarbeitung werden das Empfangssignal Lcya und der in der zweiten Hälfte der Decodierverarbeitung erhaltene a-Posteriori-Likelihood-Wert L(u3') als ein neues Empfangssignal Lcya' betrachtet, wird eine Decodierung unter Verwendung von Lcya' und Lcyb durchgeführt, und wird der erhaltene Likelihood-Wert (u3) ausgegeben. Als Nächstes wird a-Posteriori-Likelihood-Wert Le(u3) gemäß der obigen Gleichung gefunden, dieser wird verschachtelt, und es wird L (u4') erhalten.
  • In der zweiten Hälfte der zweiten Decodierverarbeitung werden ein durch Verschachteln des Empfangssignals Lcya erhaltenes Signal und der in der ersten Hälfte der Decodierverarbeitung erhaltene a-Posteriori-Likelihood-Wert L(u4') als ein neues Empfangssignal Lcya' betrachtet, wird eine Decodierung unter Verwendung von Lcya' und Lcyc durchgeführt, und es wird der erhaltene Likelihood-Wert (u4) ausgegeben. Als Nächstes wird der a-Posteriori-Likelihood-Wert Le(u4) gemäß Gleichung (9) gefunden, und dieser wird verschachtelt, um L(u5') zu erhalten.
  • Die oben beschriebene Decodierverarbeitung wird nachfolgend wiederholt.
  • Gemäß dem ersten Aspekt der vorliegenden Erfindung ist somit eine Speicherkapazität von nur r × m (m: Anzahl von Zuständen) erforderlich, um die Rückwärts-Wahrscheinlichkeiten zu speichern, wobei ml = r, m2 = 2r, ... zutrifft. Da die Rückwärts-Wahrscheinlichkeiten von k = N zu allen Zeiten berechnet werden, wird darüber hinaus die Rückwärts-Wahrscheinlichkeit βk(m) präziser berechnet, was es ermöglicht, die Genauigkeit der MAP-Decodierung zu erhöhen.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ferner eine Speicherkapazität von nur r × m + (s–1) (m: Anzahl von Zuständen) erforderlich, um die Rückwärts-Wahrscheinlichkeiten zu speichern, wobei m1 = r, m2 = 2r, ... zutrifft.
  • Gemäß dem zweiten Aspekt der vorliegenden Erfindung ist sie ferner so angeordnet, dass Rückwärts-Wahrscheinlichkeiten in der Rückwärtsrichtung bzw. Umkehrrichtung von einer N-ten Rückwärts-Wahrscheinlichkeit zu einer ersten Rückwärts-Wahrscheinlichkeit berechnet werden, die erhaltenen Rückwärts-Wahrscheinlichkeiten diskret bzw. getrennt gespeichert werden, und die Rückwärts-Wahrscheinlichkeiten der erforderlichen Anzahl, wenn erforderlich, berechnet und genutzt werden, startend von einer der diskret bzw. getrennt gespeicherten Rückwärts-Wahrscheinlichkeiten. Als ein Ergebnis kann Rückwärts-Wahrscheinlichkeit βk(m) präziser berechnet werden, was es ermöglicht, die Genauigkeit der MAP-Decodierung zu erhöhen.
  • Gemäß dem zweiten Aspekt der vorliegenden Erfindung brauchen darüber hinaus die Rückwärts-Wahrscheinlichkeiten der erforderlichen Anzahl nicht durch Berechnen von Rückwärts-Wahrscheinlichkeiten von k = N an erhalten werden, wie es der Anlass fordert. Als ein Ergebnis kann die Operationsgeschwindigkeit erhöht werden. Ferner kann eine vorgeschriebene Operationsgeschwindigkeit ohne Verwendung von zwei Arithmetikschaltkreisen zum Berechnen der Rückwärts-Wahrscheinlichkeit βk(m) erhalten werden. Darüber hinaus braucht Rückwärts-Wahrscheinlichkeit βk(m) nur einmal berechnet zu werden, was einen Vorteil hinsichtlich des Leistungsverbrauchs bereitstellt.

Claims (4)

  1. Maximum-a-posteriori-Wahrscheinlichkeits-Decodierverfahren zum Berechnen einer k-ten Vorwärts-Wahrscheinlichkeit mit Verwenden von einem ersten bis einem k-ten Eintrag codierter Daten, die durch Codieren einer Information der Länge N erhalten werden, Erhalten einer k-ten Rückwärts-Wahrscheinlichkeit mit Verwenden eines N-ten bis zu einem k-ten Eintrag codierter Daten, und Ausgeben eines k-ten decodierten Ergebnisses mit Verwenden dieser Wahrscheinlichkeiten, gekennzeichnet durch Umfassen von: Berechnen von Rückwärts-Wahrscheinlichkeiten in einer Rückwärtsrichtung von einer N-ten Rückwärts-Wahrscheinlichkeit β(m) bis zu einer ersten Rückwärts-Wahrscheinlichkeit β1(m), Speichern nur von Werten, die zu zusammenhangslosen Rückwärts-Wahrscheinlichkeiten gehören, die eine ms-te Rückwärts-Wahrscheinlichkeit
    Figure 00530001
    m(s–1)-te Rückwärts-Wahrscheinlichkeit
    Figure 00530002
    ..., und m2-te Rückwärts-Wahrscheinlichkeit
    Figure 00530003
    sind, und Speichern sämtlicher Rückwärts-Wahrscheinlichkeiten
    Figure 00530004
    ..., β2(m), β1(m) von einer m1-ten Rückwärts-Wahrscheinlichkeit
    Figure 00530005
    bis zu der ersten Rückwärts-Wahrscheinlichkeit β1(m), wobei
    Figure 00530006
    ...,
    Figure 00530007
    eine ansteigende Sequenz von Rückwärts-Wahrscheinlichkeiten darstellen; Berechnen erster Vorwärts-Wahrscheinlichkeiten α01 (m) und α01 (m), Erhalten eines ersten decodierten Ergebnissen mit Verwenden der ersten Vorwärts-Wahrscheinlichkeiten und der ersten Rückwärts-Wahrscheinlichkeit β1(m), die gespeichert worden ist, und ähnliches Erhalten eines zweiten bis m1-ten decodierten Ergebnisses; Nachfolgendes Berechnen und Speichern von Rückwärts-Wahrscheinlichkeiten
    Figure 00540001
    bis zu einer (m1+1)-ten Rückwärts-Wahrscheinlichkeit
    Figure 00540002
    startend von der m2-ten Rückwärts-Wahrscheinlichkeit
    Figure 00540003
    die gespeichert worden ist; Berechnen (m1+1)-ter Vorwärts-Wahrscheinlichkeiten
    Figure 00540004
    Erhalten eines (m1+1)-ten decodierten Ergebnisses mit Verwenden der (m1+1)-ten Vorwärts-Wahrscheinlichkeiten und der (m1+1)-ten Rückwärts-Wahrscheinlichkeit
    Figure 00540005
    die gespeichert worden ist, und ähnliches Erhalten eines (m1+2)-ten bis m2-ten decodierten Ergebnisses; und Nachfolgendes Erhalten (m2+1)-ter bis N-ter decodierter Ergebnisse.
  2. Decodierverfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass die gespeicherte Anzahl von Rückwärts-Wahrscheinlichkeiten,
    Figure 00540006
    ..., β2(m), β1(m), N1/2 ist.
  3. Maximum-a-posteriori-Wahrscheinlichkeits-Decodierer zum Berechnen einer k-ten Vorwärts-Wahrscheinlichkeit mit Verwenden von einem ersten bis einem k-ten Eintrag codierter Daten, die durch Codieren einer Information der Länge N erhalten sind, Erhalten einer k-ten Rückwärts-Wahrscheinlichkeit mit Verwenden eines N-ten bis zu einem k-ten Eintrag codierter Daten, und Ausgeben eines k-ten decodierten Ergebnisses mit Verwenden dieser Wahrscheinlichkeiten, gekennzeichnet durch Umfassen von: einer Rückwärts-Wahrscheinlichkeits-Berechnungseinheit (53) zum Berechnen von Rückwärts-Wahrscheinlichkeiten; einer Rückwärts-Wahrscheinlichkeits-Speicherungseinheit (54) zum Speichern von Rückwärts-Wahrscheinlichkeiten, die berechnet worden sind; einer Vorwärts-Wahrscheinlichkeits-Berechnungseinheit (55) zum Berechnen von Vorwärts-Wahrscheinlichkeiten; einer Berechnungseinheit für ein decodiertes Ergebnis (56, 57) zum Erhalten eines k-ten decodierten Ergebnisses mit Verwenden k-ter Vorwärts-Wahrscheinlichkeiten und einer k-ten Rückwärts-Wahrscheinlichkeit, die gespeichert worden ist; und einer Steuereinheit (50) zum Steuern von Betriebszeitverhältnissen der Rückwärts-Wahrscheinlichkeits-Berechnungseinheit, der Vorwärts-Wahrscheinlichkeits-Berechnungseinheit und der Berechnungseinheit für ein decodiertes Ergebnis; wobei (1) die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit Rückwärts-Wahrscheinlichkeiten in einer Rückwärtsrichtung von einer N-ten Rückwärts-Wahrscheinlichkeit βN(m) bis zu einer ersten Rückwärts-Wahrscheinlichkeit β1(m) berechnet, nur Werte, die zu zusammenhangslosen Rückwärts-Wahrscheinlichkeiten gehören, die eine ms-te Rückwärts-Wahrscheinlichkeit
    Figure 00550001
    m(s–1)-te Rückwärts-Wahrscheinlichkeit
    Figure 00550002
    ..., und m2-te Rückwärts-Wahrscheinlichkeit
    Figure 00550003
    sind, in der Rückwärts-Wahrscheinlichkeits-Speicherungseinheit speichert, und sämtliche Rückwärts-Wahrscheinlichkeiten
    Figure 00550004
    ..., β2(m), β1(m) von einer m1-ten Rückwärts-Wahrscheinlichkeit
    Figure 00550005
    bis zu der ersten Rückwärts-Wahrscheinlichkeit β1(m) speichert, wobei
    Figure 00550006
    eine ansteigende Sequenz von Rückwärts-Wahrscheinlichkeiten darstellen; die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit erste Vorwärts-Wahrscheinlichkeiten α01 (m) und α01 (m) bis zu m1-ten Vorwärts-Wahrscheinlichkeiten
    Figure 00560001
    und
    Figure 00560002
    berechnet; und die Berechnungseinheit für ein decodiertes Ergebnis ein erstes decodierten Ergebnis berechnet mit Verwenden der ersten Vorwärts-Wahrscheinlichkeiten α01 (m) und α11 (m), die gespeichert worden sind, und der ersten Rückwärts-Wahrscheinlichkeit β1(m), die gespeichert worden ist, und die Berechnungseinheit für ein decodiertes Ergebnis ähnlich das zweite bis m1-te decodierten Ergebnis berechnet; (2) die Rückwärts-Wahrscheinlichkeits-Berechnungseinheit nachfolgend Rückwärts-Wahrscheinlichkeiten
    Figure 00560003
    bis zu einer (m1+1)-ten Rückwärts-Wahrscheinlichkeit
    Figure 00560004
    startend von der m2-ten Rückwärts-Wahrscheinlichkeit
    Figure 00560005
    die gespeichert worden ist, berechnet und in der Rückwärts-Wahrscheinlichkeits-Speicherungseinheit speichert; die Vorwärts-Wahrscheinlichkeits-Berechnungseinheit (m1+1)-te Vorwärts-Wahrscheinlichkeiten
    Figure 00560006
    und
    Figure 00560007
    bis zu m2-ten Vorwärts-Wahrscheinlichkeiten
    Figure 00560008
    und
    Figure 00560009
    berechnet; und die Berechnungseinheit für ein decodiertes Ergebnis ein (m1+1)-tes decodiertes Ergebnis berechnet mit Verwenden der (m1+1)-ten Vorwärts-Wahrscheinlichkeiten
    Figure 00560010
    und
    Figure 00560011
    die berechnet worden sind, und der (m1+1)-ten Rückwärts-Wahrscheinlichkeit
    Figure 00560012
    die gespeichert worden ist, und die Berechnungseinheit für ein decodiertes Ergebnis ähnlich (m1+2)-te bis m2-te decodierten Ergebnisse berechnet; und (3) nachfolgend ähnlich (m2+1)-te bis N-te decodierter Ergebnisse erhält.
  4. Decodierer gemäß Anspruch 3, dadurch gekennzeichnet, dass die gespeicherte Anzahl von Rückwärts-Wahrscheinlichkeiten,
    Figure 00570001
    .., β2(m), β1(m), N1/2 ist.
DE69936067T 1999-03-01 1999-03-01 Verfahren und Vorrichtung zur Maximum-a-Posteriori Warscheinlichkeits-Dekodierung Expired - Lifetime DE69936067T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/000963 WO2000052833A1 (fr) 1999-03-01 1999-03-01 Procede et appareil de decodage de probabilite maximale a posteriori

Publications (2)

Publication Number Publication Date
DE69936067D1 DE69936067D1 (de) 2007-06-21
DE69936067T2 true DE69936067T2 (de) 2008-01-10

Family

ID=14235059

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69936067T Expired - Lifetime DE69936067T2 (de) 1999-03-01 1999-03-01 Verfahren und Vorrichtung zur Maximum-a-Posteriori Warscheinlichkeits-Dekodierung

Country Status (6)

Country Link
US (1) US6563890B2 (de)
EP (1) EP1156588B1 (de)
JP (1) JP3451246B2 (de)
CN (1) CN1201494C (de)
DE (1) DE69936067T2 (de)
WO (1) WO2000052833A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6798852B2 (en) * 2000-06-06 2004-09-28 Ericsson Inc. Methods and systems for extracting a joint probability from a map decision device and processing a signal using the joint probability information
US6961921B2 (en) * 2001-09-06 2005-11-01 Interdigital Technology Corporation Pipeline architecture for maximum a posteriori (MAP) decoders
US6763493B2 (en) * 2001-09-21 2004-07-13 The Directv Group, Inc. Method and system for performing decoding using a reduced-memory implementation
JP3888135B2 (ja) 2001-11-15 2007-02-28 日本電気株式会社 誤り訂正符号復号装置
DE60312923T2 (de) * 2002-05-31 2007-12-13 Broadcom Corp., Irvine Soft-In Soft-Out Dekoder für Turbo-Trelliskodierte Modulation
US7107512B2 (en) 2002-05-31 2006-09-12 Broadcom Corporation TTCM decoder design
JP2004080508A (ja) * 2002-08-20 2004-03-11 Nec Electronics Corp 誤り訂正符号の復号方法、そのプログラム及びその装置
JP4227481B2 (ja) * 2003-07-11 2009-02-18 パナソニック株式会社 復号装置および復号方法
JP2005109771A (ja) * 2003-09-30 2005-04-21 Fujitsu Ltd 最大事後確率復号方法及び装置
KR20050042869A (ko) * 2003-11-04 2005-05-11 삼성전자주식회사 구현이 간단한 map디코더 및 그의 디코딩 방법
JP2005167513A (ja) * 2003-12-01 2005-06-23 Matsushita Electric Ind Co Ltd 復号装置及び復号方法
JP2006041960A (ja) * 2004-07-28 2006-02-09 Nec Corp ターボ復号装置及びターボ復号方法並びにプログラム
WO2006038829A1 (en) 2004-09-29 2006-04-13 Intel Corporation Iterative decoding with buffering and restoring intermediate decoder states
JP2006324754A (ja) * 2005-05-17 2006-11-30 Fujitsu Ltd 最大事後確率復号方法及び復号装置
US7616713B2 (en) * 2005-05-31 2009-11-10 Skyworks Solutions, Inc. System and method for forward and backward recursive computation
JP4525658B2 (ja) * 2006-10-12 2010-08-18 日本電気株式会社 誤り訂正符号復号装置
JP4708301B2 (ja) 2006-10-13 2011-06-22 富士通株式会社 ターボ復号装置
US20130142057A1 (en) * 2011-12-01 2013-06-06 Broadcom Corporation Control Channel Acquisition
CN104427530B (zh) * 2013-08-29 2019-05-31 锐迪科(重庆)微电子科技有限公司 一种控制信道检测方法及装置
CN108122556B (zh) * 2017-08-08 2021-09-24 大众问问(北京)信息科技有限公司 减少驾驶人语音唤醒指令词误触发的方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2675971B1 (fr) 1991-04-23 1993-08-06 France Telecom Procede de codage correcteur d'erreurs a au moins deux codages convolutifs systematiques en parallele, procede de decodage iteratif, module de decodage et decodeur correspondants.
DE4437984A1 (de) * 1994-10-25 1996-08-14 Philips Patentverwaltung Übertragungssystem mit Soft-Output-Dekodierung
US6161209A (en) * 1997-03-28 2000-12-12 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communications Research Centre Joint detector for multiple coded digital signals
US6430722B1 (en) * 1998-01-23 2002-08-06 Hughes Electronics Corporation Forward error correction scheme for data channels using universal turbo codes
US6339834B1 (en) * 1998-05-28 2002-01-15 Her Majesty The Queen In Right Of Canada, As Represented By The Minister Of Industry Through The Communication Research Centre Interleaving with golden section increments
US6263467B1 (en) * 1998-08-20 2001-07-17 General Electric Company Turbo code decoder with modified systematic symbol transition probabilities
US6353900B1 (en) * 1998-09-22 2002-03-05 Qualcomm Incorporated Coding system having state machine based interleaver
US6028897A (en) * 1998-10-22 2000-02-22 The Aerospace Corporation Error-floor mitigating turbo code communication method

Also Published As

Publication number Publication date
EP1156588A4 (de) 2005-05-04
EP1156588A1 (de) 2001-11-21
JP3451246B2 (ja) 2003-09-29
WO2000052833A1 (fr) 2000-09-08
US6563890B2 (en) 2003-05-13
CN1336038A (zh) 2002-02-13
EP1156588B1 (de) 2007-05-09
CN1201494C (zh) 2005-05-11
DE69936067D1 (de) 2007-06-21
US20020015457A1 (en) 2002-02-07

Similar Documents

Publication Publication Date Title
DE69936067T2 (de) Verfahren und Vorrichtung zur Maximum-a-Posteriori Warscheinlichkeits-Dekodierung
EP0391354B1 (de) Verfahren zum Verallgemeinern des Viterbi-Algorithmus und Einrichtungen zur Durchführung des Verfahrens
DE69929652T2 (de) Datenfehlerkorrektursystem
DE69936908T2 (de) Iterative dekodierung von produktkoden
DE69722331T2 (de) Informationsbits-Übertragungsverfahren mit Fehlerkorrektur-Kodierung, Kodier- und Dekodiervorrichtung dafür
DE69936683T2 (de) Verschachtelung unter Verwendung von Inkrementen basierend auf dem Goldenen Schnitt
DE69838451T2 (de) Verfahren und schaltung zur adaptiven kanalkodierung
DE69735200T2 (de) Verfahren zu metrikbestimmung in einem übertragungssystem
DE69532949T2 (de) Verfahren und gerät zur dekoderoptimierung
DE69815087T2 (de) Listenausgaben-viterbi-dekodierung mit crc aussenkode für mehrratensignal
DE602004012417T2 (de) Dekodierungsvorrichtung und dekodierungsverfahren
DE112004002008B4 (de) Vereinheitlichter Viterbi/Turbo-Decoder für mobile Telekommunikationssysteme
DE69722571T2 (de) System und Verfahren zur digitalen Übertragung mit einem Produktkode kombiniert mit multidimensionaler Modulation
EP0737389B1 (de) Übertragungssystem mit soft-output-dekodierung bei reduziertem speicherbedarf
EP0392603A2 (de) Übertragungssystem
DE102017110389B4 (de) Verfahren und Decoder zur Softinput Decodierung von verallgemeinerten verketteten Codes
DE102007035210A1 (de) Verfahren und Vorrichtung zur LDPC-Dekodierung mit gemeinsamer Hardwarenutzung und serieller Summe-Produkt-Architektur
DE69936316T2 (de) Faltungskodierungsverfahren und vorrichtung in einem digitalen system
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
DE60007956T2 (de) Vorrichtung und Verfahren zur SISO Dekodierung
DE69823307T2 (de) Digitales Übertragungssystem, Dekoder und Dekodierungsverfahren
DE69836119T2 (de) Tail-biting Faltungskode-Dekodierverfahren und -system
DE60101745T2 (de) Viterbi dekodierung mit pfadmetrikaktualisierung durchgeführt in einheiten von bitscheiben
EP1130788A2 (de) Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer
DE60319557T2 (de) Verfahren zur Verminderung der Anzahl der Bits pro Softbit

Legal Events

Date Code Title Description
8364 No opposition during term of opposition