DE60006108T2 - Lineare Approximation des LOG-MAP Algorithmus für Turbodekodierung - Google Patents

Lineare Approximation des LOG-MAP Algorithmus für Turbodekodierung Download PDF

Info

Publication number
DE60006108T2
DE60006108T2 DE60006108T DE60006108T DE60006108T2 DE 60006108 T2 DE60006108 T2 DE 60006108T2 DE 60006108 T DE60006108 T DE 60006108T DE 60006108 T DE60006108 T DE 60006108T DE 60006108 T2 DE60006108 T2 DE 60006108T2
Authority
DE
Germany
Prior art keywords
max
result
log
intermediate result
linear approximation
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 - Fee Related
Application number
DE60006108T
Other languages
English (en)
Other versions
DE60006108D1 (de
Inventor
Noam Sivan
Fabrice Aidan
Gregory Leshin
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.)
NXP USA Inc
Original Assignee
Motorola Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of DE60006108D1 publication Critical patent/DE60006108D1/de
Application granted granted Critical
Publication of DE60006108T2 publication Critical patent/DE60006108T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/3911Correction factor, e.g. approximations of the exp(1+x) function

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Description

  • Gebiet der Erfindung
  • Vorrichtung und Verfahren zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus und im Besonderen eine Vorrichtung und ein Verfahren zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus für Turbodekodierung und Turboentzerrung.
  • Hintergrund der Erfindung
  • Turbokodierung (d. h. TC) wird zur Fehlersteuerungskodierung in der digitalen Kommunikation und der Signalverarbeitung verwendet. Die folgenden Referenzen geben einige Beispiele für verschiedene Implementierungen der TC: "Near Shannon limit error correcting coding and decoding: turbocodes", Berrou, Glavieux, Thitimajshima, IEEE International Conference of Communication. Genf, Schweiz, Seiten 1064– 1070, Mai 1993; "Implementation and Performance of a Tur bo/MAP Decoder", Pietrobon, International Journal of Satellite Communication; "Turbo Coding", Heegard und Wicker, Kluwer Academic Publishers 1999.
  • Der MAP-Algorithmus und der Soft-Ausgangs-Viterbi-Algorithmus ("soft output Viterbi algorithm" SOVA) sind Soft-Eingangs-Soft-Ausgangs-Dekodierungsalgorithmen (d. h. SISO "Soft Input Soft Output"), die in dem Bereich der Kommunikation eine breite Akzeptanz erlangt haben. Beide Algorithmen werden in dem US-Patent 5,933,462 von Viterbi et al. erwähnt.
  • Die TC hat in dem Bereich der Kommunikation eine breite Akzeptanz erfahren, wie z. B. in zellularen Netzwerken, Modems und der Satellitenkommunikation. Einige Turbokodierer bestehen aus zwei parallel verknüpften systematischen Konvolutionskodierern, die durch einen Zufallsinterleaver getrennt sind. Ein Turbodekodierer hat zwei Soft-Eingangs-Soft-Ausgangs(SISO)-Dekodierer. Der Ausgang des ersten SISO ist über einen ersten Interleaver mit dem Eingang des zweiten SISO gekoppelt, während der Ausgang des zweiten SISO über eine Rückkopplungsschleife, die einen Deinterleaver umfasst, mit einem Eingang des ersten SISO gekoppelt ist.
  • Ein gewöhnlicher SISO-Dekodierer verwendet entweder einen maximalen a posteriori (d. h. MAP) Dekodierungsalgorithmus oder einen Log-MAP-Dekodierungsalgorithmus. Der letztere Algorithmus ist zu dem erstgenannten Algorithmus analog, wird jedoch in der logarithmischen Domaine durchgeführt. Ein anderer weit verbreiteter Dekodierungsalgorithmus ist der Max-Log-MAP-Algorithmus ("max log Map algorithm"). Der Max-Log-MAP-Algorithmus ist zu dem Log-MAP-Algorithmus analog, aber die Implementierung des erstgenannten umfasst ein Hinzufügen eines Korrekturfaktors. Kurz gesagt, findet der MAP das Informationsbit, das mit größter Wahrscheinlichkeit in einer kodierten Sequenz gesendet worden ist.
  • Die Ausgangssignale eines Konvolutionskodierers werden über einen Kanal gesendet und durch einen Empfänger empfangen, der einen Turbodekodierer hat. Der Kanal fügt normalerweise Rauschen zu dem gesendeten Signal hinzu.
  • Während des Dekodierungsverfahrens wird ein Gitter der möglichen Zustände der Kodierung definiert. Das Gitter umfasst eine Vielzahl von Knoten (Zustände), die in T Stufen organisiert sind, jede Stufe hat N = 2sup(K – 1) Knoten, während T die Anzahl empfangener Stichproben ist, die berücksichtigt werden, um zu bewerten, welches Bit von einem Sender gesendet wurde, der den Konvolutionskodierer hat, und K ist die Länge der Randbedingung des Kodes, der für die Kodierung verwendet wird. Jede Stufe umfasst Zustände, die eine gegebene Zeit darstellen. Jeder Zustand ist durch ein allgemein als Alpha (α oder a) bezeichnetes Vorwärtszustandsmaß und durch ein allgemein als Beta (β oder b) bezeichnetes Rückwärtszustandsmetrik gekennzeichnet. Jeder Übergang von einem Zustand in einen anderen Zustand ist durch ein allgemein als Gamma (γ) bezeichnetes Verzweigungsmaß gekennzeichnet.
  • Alphas, Betas und Gammas werden verwendet, um einen Wahrscheinlichkeitsfaktor zu berechnen, der anzeigt, welches Signal gesendet wurde. Dieser Wahrscheinlichkeitsfaktor ist allgemein als Lambda (A) bekannt. Ein Übergang von einer Stufe zu einer angrenzenden Stufe wird durch ein einzelnes Lambda bezeichnet.
  • Eine Funktion MAX*(a(n), b(n)) wird häufig verwendet, wenn Alphas, Betas und Gammas berechnet werden. Zweckmäßi gerweise schließt die Berechnung einen Vergleich von a(n) und b(n) ein. Die Elemente a(n) und b(n) haben normalerweise reelle werte. MAX*(a(n), b(n)) ist gleich MAX(a(n), b(n)) + Log (1 + EXP{– |a(n) – b(n)|}). Der erste Teil der Gleichung wird normalerweise berechnet. Die Berechnung des zweiten Teils ist relativ kompliziert und zeitaufwendig. Normalerweise wird eine Approximation des zweiten Teils berechnet. Die Approximation ist entweder eine lineare Approximation, eine Schritt-Approximation oder eine Mehrschritt-Approximation. Ein lineares Approximationsverfahren wird in "Linearity Approximated for Log-MAP Algorithms for Turbo Decoding", von Jung-Fu Cheng und Tony Ottoson, 51. IEEE Vehicular Technology Conference Proceedings, 13.–15. Mai 2000, Seiten 2252–2256, beschrieben. Das Verfahren schlägt vor, den zweiten Teil durch die folgenden Funktionen zu approximieren: MAX{0, (C – |a(n) – b(n)|/4} und durch: MAX{0, (C – |a(n) – b(n)|/8}. Beide Abschätzungen stellen relativ schlechte Leistungen zur Verfügung, wenn |a(n) – b(n)| relativ klein ist, und ihre Implementierung ist relativ zeitaufwendig.
  • Ein anderes vereinfachtes lineares Approximationsverfahren wird in "Simplified Log-MAP Algorithm", Forschungsoffenbarung Nr. 421, XP888685, Mai 1999, Seite 612, beschrieben.
  • Es besteht ein Bedarf daran, eine schnelle Hochleistungsvorrichtung und ein schnelles Hochleistungsverfahren zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung zu stellen.
  • Kurze Beschreibung der Zeichnungen
  • Während die Erfindung in den angehängten Ansprüchen ausführlich dargelegt wird, werden andere Merkmale der Erfindung durch die folgende ausführliche Beschreibung im Zusammenhang mit den begleitenden Zeichnungen offenbart:
  • 1 ist eine schematische Beschreibung eines Teils einer MAX*(a(n), b(n))-Funktion und einer linearen Approximation der Funktion gemäß einer bevorzugten Ausführungsform der Erfindung;
  • 23 sind schematische Diagramme, die zwei Vorrichtungen zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus darstellen, gemäß einer bevorzugten Ausführungsform der Erfindung; und
  • 4 ist ein Flussdiagramm, das ein Verfahren zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus darstellt, gemäß einer bevorzugten Ausführungsform der Erfindung.
  • Beschreibung einer bevorzugten Ausführungsform
  • Es ist zu beachten, dass die eingesetzten einzelnen Terme und Ausdrücke und die in der ausführlichen Beschreibung und den begleitenden Zeichnungen offenbarten einzelnen strukturellen und funktionellen Details lediglich dem Zwecke der Darstellung dienen und in keiner Weise den Bereich der in den angehängten Ansprüchen beschriebenen Erfindung einschränken sollen.
  • Die Erfindung stellt eine schnelle Hochleistungsvorrichtung und ein schnelles Hochleistungsverfahren zum Imp lementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung. Die Approximation ist eine lineare Approximation mit einer Steigung von –0,5, wobei die Steigung eine verbesserte Approximation zur Verfügung stellt, wenn a(n) im Wesentlichen gleich b(n) ist. Zweckmäßigerweise wird das Verfahren während eines einzigen Taktzyklus' ausgeführt.
  • Die Erfindung stellt eine schnelle Hochleistungsvorrichtung und ein schnelles Hochleistungsverfahren zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung.
  • Die Erfindung stellt ein Verfahren zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung, wobei die Implementierung das Berechnen der MAX*(a(n), b(n))-Funktion einschließt, wobei das Verfahren die folgenden Schritte umfasst: (A) Empfangen von a(n), b(n) und DE; (B) Berechnen von (a(n) + b(n) + DE)/2 und Erzeugen mindestens eines Zwischenergebnisses, wobei das mindestens eine Zwischenergebnis mindestens eine Beziehung zwischen mindestens zwei Elementen aus den Elementen a(n), b(n) und DE widerspiegelt; und (C) Bereitstellen eines MAX*(a(n), b(n))-Ergebnisses, das aus einer Gruppe ausgewählt wird, die a(n), b(n) oder (a(n) + b(n) + DE)/2 umfasst, wobei die Auswahl von dem mindestens einen Zwischenergebnis abhängt. Zweckmäßigerweise wird die lineare Approximation des Log-MAP-Algorithmus entweder in einem iterativen Dekodierungsprozess oder in einem iterativen Entzerrungsprozess implementiert.
  • Die Erfindung stellt ein Verfahren zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung, bei dem ein erstes Zwischenergebnis anzeigt, ob ein absoluter Wert einer Differenz zwischen a(n) und b(n) größer als DE ist. Ein zweites Zwischenergebnis zeigt an, ob a(n) größer als b(n) ist. Zweckmäßigerweise umfasst das mindestens eine Zwischenergebnis entweder ein Zeichensignal (a(n) – b(n) – DE) und ein Zeichensignal (b(n) – a(n) – DE) oder ein Zeichensignal (a(n) – b(n)) und ein Zeichensignal (|a(n) – b(n)| – DE).
  • Die Erfindung stellt ein Verfahren zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung, bei dem das MAX*(a(n), b(n))-Ergebnis (I) gleich MAX(a(n), b(n)) ist, wenn |a(n) – b(n)| nicht kleiner als DE ist, und (II) gleich (a(n) + b(n) + DE)/2 ist, wenn |a(n) – b(n)| kleiner als DE ist. |a(n) – b(n)| ist kleiner als DE, wenn (a(n) – b(n) – DE) < 0 und (–a(n) + b(n) – DE) < 0.
  • Die Erfindung stellt ein Verfahren zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung, bei dem das MAX*(a(n), b(n))-Ergebnis (I) gleich a(n) ist, wenn (a(n) – b(n) – DE) > 0 und (b(n) – a(n) – DE) < 0; (II) gleich b(n) ist, wenn (a(n) – b(n) – DE) < 0 und (b(n) – a(n) – DE > 0; und (III) gleich (a(n) + b(n) + DE)/2 ist, wenn |a(n) – b(n)| kleiner als DE ist.
  • Die Erfindung stellt eine Vorrichtung zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung, wobei die Implementierung das Berechnen der MAX*(a(n), b(n))-Funktion einschließt, wobei die Vorrichtung folgendes umfasst: (A) Berechnen von Mitteln zum Empfangen von a(n), b(n) und DE; zum Berechnen von (a(n) + b(n) + DE)/2 und zum Erzeugen mindestens eines Zwischenergebnisses, wobei das mindestens eine Zwischenergebnis mindestens eine Beziehung zwischen mindestens zwei Elementen aus den Elementen a(n), b(n) und DE widerspiegelt; und (B) Auswählen von Mitteln zum Bereitstellen eines MAX*(a(n), b(n))-Ergebnisses, das aus einer Gruppe ausgewählt wird, die a(n), b(n) oder (a(n) + b(n) + DE)/2 umfasst, wobei die Auswahl von dem mindestens einen Zwischenergebnis abhängt. Zweckmäßigerweise wird die lineare Approximation des Log-MAP-Algorithmus in einem iterativen Dekodierungsprozess oder in einem iterativen Entzerrungsprozess implementiert.
  • Die Erfindung stellt eine Vorrichtung zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung, bei der ein erstes Zwischenergebnis anzeigt, ob ein absoluter Wert einer Differenz zwischen a(n) und b(n) größer als DE ist und ein zweites Zwischenergebnis anzeigt, ob a(n) größer als b(n) ist. Zweckmäßigerweise umfasst das mindestens eine Zwischenergebnis ein Zeichensignal (a(n) – b(n) – DE) und ein Zeichensignal (b(n) – a(n)). Das mindestens eine Zwischenergebnis umfasst ein Zeichensignal (a(n) – b(n)) und ein Zeichensignal (|a(n) – b(n)| – DE).
  • Die Erfindung stellt eine Vorrichtung zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung, die geeignet ist, die MAX*(a(n), b(n))-Funktion während eines einzigen Taktzyklus' zu berechnen.
  • Die Erfindung stellt eine Vorrichtung zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung, bei der das MAX*(a(n), b(n))-Ergebnis gleich MAX (a(n), b(n)) ist, wenn |a(n) – b(n)| nicht kleiner als DE ist, und gleich (a(n) + b(n) + DE)/2 ist, wenn |a(n) – b(n)| kleiner als DE ist.
  • Die Erfindung stellt eine Vorrichtung zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus zur Verfügung, bei der das MAX*(a(n), b(n))-Ergebnis gleich a(n) ist, wenn (a(n) – b(n) – DE) > 0 und (b(n) – a(n) – DE) < 0; bei der das MAX*(a(n), b(n))-Ergebnis gleich b(n) ist, wenn (a(n) – b(n) – DE) < 0 und (b(n) – a(n) – DE) > 0; und bei der das MAX*(a(n), b(n))-Ergebnis gleich (a(n) + b(n) + DE)/2 ist, wenn |a(n) – b(n)| kleiner als DE ist.
  • Im Sinne einer zweckmäßigen Erklärung bezieht sich die nachfolgende Beschreibung auf die Turbodekodierung. Die Erfindung ist nicht auf das Dekodierungsverfahren begrenzt. Die Erfindung wird z. B. auch in verschiedenen Detektionsprozessen, wie z. B. Entzerrungsprozessen, angewendet.
  • |a(n) – b(n)| ist ein absoluter Wert einer Differenz zwischen a(n) und b(n).
  • EXP{–|a(n) – b(n)|} ist gleich e hoch –|a(n) – b(n)|.
  • 1 ist eine graphische Darstellung eines Teils einer MAX*(a(n), b(n)) gegen einen absoluten Wert einer Differenz zwischen a(n) und b(n). Der Graph stellt weiterhin eine lineare Approximation AP(n) des Teils dar. Der Teil ist gleich Log(1 + EXP{–|a(n) – b(n)|}). Die gekrümmte Linie 4 stellt den Teil Log(1 + EXP{|–a(n) – b(n)|}) dar, während die Linie 5 eine lineare Approximation des Teils darstellt. Die Steigung der linearen Approximation ist im Wesentlichen gleich –0,5. AP(n) = MAX{0, (DE – (a(n) – b(n))/2)}. Vorzugsweise gilt DE = 2*LOG(2).
  • Die lineare Approximation stellt bessere Leistungen zur Verfügung, wenn die Differenz zwischen a(n) und b(n) sehr klein ist. Solch eine Approximation erlaubt es weiterhin, die Berechnung der MAX*-Funktion zu beschleunigen, was in den 23 weiter dargestellt wird.
  • Es wird nun auf 2 Bezug genommen, darin wird eine Vorrichtung 10 zum Implementieren einer linearen Approxima tion des Log-MAP-Algorithmus gemäß einer bevorzugten Ausführungsform der Erfindung dargestellt.
  • Die Vorrichtung 10 implementiert die folgenden Gleichungen:
    • [1] MAx*(a(n), b(n)) = MAx (a(n), b(n)), wenn |a(n) – b(n)| nicht kleiner als DE ist.
    • [2] MAX*(a(n), b(n)) = (a(n) + b(n) + DE)/2, wenn |a(n) – b(n)| kleiner als DE ist.
  • Die Vorrichtung 10 erlaubt es, die folgenden Werte parallel zu berechnen: MAX (a(n), b(n)); (a(n) + b(n) + DE)/2 und das Zeichen von (|a(n) – b(n)| – DE) und dann zu bestimmen (gemäß dem Zeichen), welcher der ersten zwei Werte als ein Ergebnis der Berechnung zur Verfügung gestellt werden soll.
  • Dementsprechend umfasst die Vorrichtung 10 das erste Mittel 11 zum Berechnen der folgenden Werte: MAX(A(n), b(n)); (a(n) + b(n) + DE)/2 und das Zeichen von (|a(n) – b(n)| – DE) und das zweite Mittel 19, um zu bestimmen, welches der ersten zwei Elemente gemäß dem Zeichen als ein Ergebnis zur Verfügung gestellt werden soll.
  • Das erste Mittel 11 umfasst die erste bis dritte Subtrahiereinheit 1214, den Addierer 15 und die zwei Multiplexer 16 und 17. Die erste und zweite Subtrahiereinheit 1213 und der Addierer 15 empfangen a(n), b(n) und DE. Die dritte Subtrahiereinheit 14 empfängt a(n) und b(n) und erzeugt das Zeichen (a(n) – b(n)). Das Zeichen (a(n) – b(n)) wird dem ersten und zweiten Multiplexer 16 und 17 als ein Steuersignal zur Verfügung gestellt. Der zweite Multiplexer 17 empfängt a(n) und b(n) und wählt in Reaktion auf das Zeichen (a(n) – b(n)) daraus das größere Element aus. Somit erzeugt der zweite Multiplexer 17 MAX(a(n), b(n)) und stellt sie dem zweiten Mittel 19 zur Verfügung.
  • Der Addierer 15 empfängt a(n), b(n) und DE und stellt dem zweiten Mittel 19 (a(n) + b(n) + DE)/2 zur Verfügung. Die Division durch zwei ist eine Verschiebung des Bitteils um eins. Das zweite Mittel empfängt ein Steuersignalzeichen (|a(n) – b(n)| – DE und wählt dementsprechend aus, ob MAX(a(n), b(n)), durch den zweiten Multiplexer 17 zur Verfügung gestellt, oder (a(n) + b(n) + DE)/2, durch den ersten Multiplexer 16 zur Verfügung gestellt, zur Verfügung gestellt werden soll. Die erste Subtrahiereinheit 12 empfängt a(n), b(n) und DE und erzeugt das Zeichen (b(n) – a(n) – DE). Die zweite Subtrahiereinheit 13 empfängt a(n), b(n) und DE und erzeugt das Zeichen (a(n) – b(n) – DE). Beide Zeichensignale werden dann dem ersten Multiplexer 16 zur Verfügung gestellt, der das entsprechende Zeichensignal gemäß dem Zeichen (a(n) – b(n)), das durch die dritte Subtrahiereinheit 14 zur Verfügung gestellt wird, auswählt.
  • Zweckmäßigerweise führt die Vorrichtung 10 die Berechnung in einem einzigen Taktzyklus durch.
  • Es wird nun auf 3 Bezug genommen, darin wird eine Vorrichtung 20 zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus gemäß einer bevorzugten Ausführungsform der Erfindung dargestellt.
  • Die Vorrichtung 20 implementiert die folgenden Gleichungen:
    • [3] MAX*(a(n), b(n)) = a(n) wenn (a(n) – b(n) – DE) > 0 und (b(n) – a(n) – DE) < 0.
    • [4] MAX*(a(n), b(n)) = b(n) wenn (a(n) – b(n) – DE) < 0 und (b(n) – a(n) – DE) > 0.
    • [5] MAX*(a(n), b(n)) = (a(n) + b(n) + DE)/2, wenn |a(n) – b(n)| kleiner als DE ist.
  • Die Vorrichtung 20 erlaubt es, die folgenden Werte parallel zu berechnen: (a(n) + b(n) + DE)/2, das Zeichen von (a(n) – b(n) – DE) und das Zeichen von (b(n) – a(n) – DE) und entsprechend der Werte zu bestimmen, welche der folgenden Werte als ein Ergebnis der Berechnung zur Verfügung gestellt werden sollen: a(n), b(n) und (a(n) + b(n) + DE)/2.
  • Dementsprechend umfasst die Vorrichtung 20 das erste Mittel 21 zum Berechnen der folgenden Werte:
    (a(n) + b(n) + DE) /2, das Zeichen von (a(n) – b(n) – DE) und das Zeichen von (b(n) – a(n) – DE) und ein zweites Mittel 29, um zu bestimmen, welche der folgenden Elemente (a(n), b(n) oder (a(n) + b(n) + DE)/2) gemäß der Zeichenwerte zur Verfügung gestellt werden sollen.
  • Das erste Mittel 21 umfasst die erste bis zweite Subtrahiereinheit 2223 und den Addierer 24. Die erste und zweite Subtrahiereinheit 2223 und der Addierer 24 empfangen a(n), b(n) und DE. Der Addierer 24 empfängt a(n), b(n) und DE und stellt dem zweiten Mittel 29 (a(n) + b(n) + DE)/2 zur Verfügung. Die Division durch zwei ist eine Verschiebung des Bitstandortes um eins. Die erste Subtrahiereinheit 22 erzeugt das Zeichen (b(n) – a(n) – DE). Die zweite Subtrahiereinheit 23 erzeugt das Zeichen (a(n) – b(n) – DE). Beide Zeichensignale werden den Steuereingängen des zweiten Mittels 29 zur Verfügung gestellt. Das zweite Mittel 29 ist zweckmäßigerweise ein Multiplexer, der a(n), b(n) und (a(n) + b(n) + DE)/2 empfängt und auswählt, welches Signal gemäß den Steuersignalen zur Verfügung gestellt werden soll.
  • Zweckmäßigerweise führt die Vorrichtung 20 die Berechnung in einem einzigen Taktzyklus durch.
  • 4 ist ein Flussdiagramm, das ein Verfahren 30 zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus darstellt.
  • Das Verfahren 30 beginnt bei dem Schritt 31 des Empfangens von a(n) und b(n).
  • Auf den Schritt 31 folgt der Schritt 32 des Berechnens von (a(n) + b(n) + DE)/2 und des Bestimmerts von mindestens einem Zwischenergebnis, das mindestens eine Beziehung zwischen a(n), b(n) und DE widerspiegelt.
  • Auf den Schritt 32 folgt der Schritt 33 des Bereitstellens eines der Werte von a(n), b(n) oder (a(n) + b(n) + DE)/2, in Abhängigkeit von dem mindestens einen Zwischenergebnis.
  • Es ist zu beachten, dass die eingesetzten einzelnen Terme und Ausdrücke und die in der ausführlichen Beschreibung und den begleitenden Zeichnungen offenbarten einzelnen strukturellen und funktionellen Details lediglich dem Zwecke der Darstellung dienen und in keiner Weise den Bereich der in den anhängenden Ansprüchen beschriebenen Erfindung einschränken sollen.
  • Somit ist hier eine Ausführungsform beschrieben worden, die mindestens eine bevorzugte Ausführungsform einer Vorrichtung und eines Verfahrens zum Implementieren eines schnellen Log-MAP (maximalen-a-posteriori) Algorithmus für die Turbodekodierung und die Turboentzerrung umfasst.
  • Dem Fachmann auf dem Gebiet ist klar, dass der offenbarte Gegenstand auf zahlreiche Art und Weise modifiziert werden kann und viele andere Ausführungsformen als die oben im Besonderen ausgeführte und beschriebene bevorzugte Form umfassen kann.

Claims (22)

  1. Verfahren zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus, das die Berechnung einer MAX*(a(n), b(n))-Funktion einschließt, wobei das Verfahren die folgenden Schritte umfasst: Empfangen von a(n), b(n) und eines Wertes DE; Berechnen von (a(n) + b(n) + DE)/2 und Erzeugen mindestens eines Zwischenergebnisses, wobei das mindestens eine Zwischenergebnis mindestens eine Beziehung zwischen mindestens zwei Elementen der Elemente a(n), b(n) und DE widerspiegelt; und Bereitstellen eines MAX*(a(n), b(n))-Ergebnisses, das aus einer Gruppe ausgewählt wird, die a(n), b(n) oder (a(n) + b(n) + DE)/2 umfasst, wobei die Auswahl von dem mindestens einen Zwischenergebnis abhängt.
  2. Iteratives Dekodierungsverfahren, das das Verfahren zum Implementieren der linearen Approximation des Log-MAP-Algorithmus gemäß Anspruch 1 umfasst.
  3. Iteratives Entzerrungsverfahren, das das Verfahren zum Implementieren der linearen Approximation des Log-MAP-Algorithmus gemäß Anspruch 1 umfasst.
  4. Verfahren gemäß Anspruch 1, bei dem ein erstes Zwischenergebnis anzeigt, ob ein absoluter Wert einer Differenz zwischen a(n) und b(n) größer als DE ist.
  5. Verfahren gemäß Anspruch 1, bei dem ein zweites Zwischenergebnis anzeigt, ob a(n) größer als b(n) ist.
  6. Verfahren gemäß Anspruch 5, bei dem ein erstes Zwischenergebnis anzeigt, ob ein absoluter Wert einer Differenz zwischen a(n) und b(n) größer als DE ist.
  7. Verfahren gemäß Anspruch 1, bei dem das mindestens eine Zwischenergebnis ein sign(a(n) – b(n) – DE)-Signal und ein sign(b(n) – a(n) – DE)-Signal umfasst.
  8. Verfahren gemäß Anspruch 1, bei dem das mindestens eine Zwischenergebnis ein sign(a(n) – b(n))-Signal und ein sign(|a(n) – b(n)| – DE)-Signal umfasst.
  9. Verfahren gemäß Anspruch 1, bei dem das Verfahren während 2 oder 3 Taktzyklen durchgeführt wird.
  10. Verfahren gemäß Anspruch 1, bei dem das MAX*(a(n), b(n))-Ergebnis gleich MAX (a(n), b(n)) ist, wenn |a(n) – b(n) nicht kleiner als DE ist, und gleich (a(n) + b(n) + DE)/2 ist, wenn |a(n) – b(n)| kleiner als DE ist.
  11. Verfahren gemäß Anspruch 1, bei dem das MAX*(a(n), b(n))-Ergebnis gleich a(n) ist, wenn (a(n) – b(n) – DE) > 0 und (b(n) – a(n) – DE) < 0; bei dem das MAX*(a(n), b(n))-Ergebnis gleich b(n) ist, wenn (a(n) – b(n) – DE) < 0 und (b(n) – a(n) – DE) > 0; und bei dem das MAX*(a(n), b(n))-Ergebnis gleich (a(n) + b(n) + DE) /2 ist, wenn (a(n) – b(n) – DE) < 0 und (b(n) – a(n) – DE) < 0.
  12. Vorrichtung zum Implementieren einer linearen Approximation des Log-MAP-Algorithmus, die die Berechnung einer MAX*(a(n), b(n))-Funktion einschließt, wobei die Vorrichtung folgendes umfasst: Berechnen von Mitteln zum Empfangen von a(n), b(n) und eines Wertes DE; Mittel zum Berechnen von (a(n) + b(n) + DE)/2 und zum Erzeugen von mindestens einem Zwischenergebnis, wobei das mindestens eine Zwischenergebnis mindestens eine Beziehung zwischen mindestens zwei Elementen der Elemente a(n), b(n) und DE widerspiegelt; und Auswählen von Mitteln zum Bereitstellen eines MAX*(a(n), b(n))-Ergebnisses, das aus einer Gruppe ausgewählt wird, die a(n), b(n) oder (a(n) + b(n) + DE)/2 umfasst, wobei die Auswahl von dem mindestens einen Zwischenergebnis abhängt.
  13. Iterativer Dekodierer, der die Vorrichtung zum Implementieren der linearen Approximation des Log-MAP-Algorithmus gemäß Anspruch 12 umfasst.
  14. Iterativer Entzerrer, der die Vorrichtung zum Implementieren der linearen Approximation des Log-MAP-Algorithmus gemäß Anspruch 12 umfasst.
  15. Vorrichtung gemäß Anspruch 12, bei der ein erstes Zwischenergebnis anzeigt, ob ein absoluter wert einer Differenz zwischen a(n) und b(n) größer als DE ist.
  16. Vorrichtung gemäß Anspruch 12, bei der ein zweites Zwischenergebnis anzeigt, ob a(n) größer als b(n) ist.
  17. Vorrichtung gemäß Anspruch 16, bei der ein erstes Zwischenergebnis anzeigt, ob ein absoluter Wert einer Differenz zwischen a(n) und b(n) größer als DE ist.
  18. Vorrichtung gemäß Anspruch 12, bei der das mindestens eine Zwischenergebnis ein sign(a(n) – b(n) – DE)-Signal und ein sign(b(n) – a(n))-Signal umfasst.
  19. Vorrichtung gemäß Anspruch 12, bei der das mindestens eine Zwischenergebnis ein sign(a(n) – b(n))-Signal und ein sign(|a(n) – b(n)| – DE)-Signal umfasst.
  20. Vorrichtung gemäß Anspruch 12, bei der die Vorrichtung die MAX*(a(n), b(n))-Funktion während eines einzigen Taktzyklus berechnet.
  21. Vorrichtung gemäß Anspruch 12, bei der das MAX*(a(n), b(n))-Ergebnis gleich MAX (a(n), b(n)) ist, wenn (a(n) – b(n) nicht kleiner als DE ist, und gleich (a(n) + b(n) + DE)/2 ist, wenn |a(n) – b(n)| kleiner als DE ist.
  22. Vorrichtung gemäß Anspruch 12, bei der das MAX*(a(n), b(n)) -Ergebnis gleich a(n) ist, wenn (a(n) – b(n) – DE) > 0 und (b(n) – a(n) – DE) < 0; bei der das MAX*(a(n), b(n))-Ergebnis gleich b(n) ist, wenn (a(n) – b(n) – DE) < 0 und (b(n) – a(n) – DE) > 0; und bei der das MAX*(a(n), b(n))-Ergebnis gleich (a(n) + b(n) + DE)/2 ist, wenn (a(n) – b(n) – DE) < 0 und (b(n) – a(n) – DE) < 0.
DE60006108T 2000-08-04 2000-08-04 Lineare Approximation des LOG-MAP Algorithmus für Turbodekodierung Expired - Fee Related DE60006108T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP00116858A EP1189355B1 (de) 2000-08-04 2000-08-04 Lineare Approximation des LOG-MAP Algorithmus für Turbodekodierung

Publications (2)

Publication Number Publication Date
DE60006108D1 DE60006108D1 (de) 2003-11-27
DE60006108T2 true DE60006108T2 (de) 2004-05-19

Family

ID=8169448

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60006108T Expired - Fee Related DE60006108T2 (de) 2000-08-04 2000-08-04 Lineare Approximation des LOG-MAP Algorithmus für Turbodekodierung

Country Status (3)

Country Link
US (1) US6757701B2 (de)
EP (1) EP1189355B1 (de)
DE (1) DE60006108T2 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7383485B2 (en) * 2000-09-12 2008-06-03 Broadcom Corporation Fast min*- or max*-circuit in LDPC (low density parity check) decoder
US7120213B2 (en) * 2000-10-27 2006-10-10 Texas Instruments Incorporated Using SISO decoder feedback to produce symbol probabilities for use in wireless communications that utilize single encoder turbo coding and transmit diversity
JP4269520B2 (ja) * 2001-01-23 2009-05-27 株式会社デンソー 近似演算装置およびmap復号装置
SG110006A1 (en) * 2002-12-05 2005-04-28 Oki Techno Ct Singapore Pte A method of calculating internal signals for use in a map algorithm
EP1465079A3 (de) * 2002-12-31 2005-08-03 Motorola Inc. Gerät und Verfahren zur Berechnung des Logarithmus einer Summe von Exponentialfunktionen
GB2408901B (en) * 2003-12-05 2006-07-12 Motorola Inc A decoder for a wireless communication device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748577A (en) * 1982-02-02 1988-05-31 Motorola, Inc. Logarithmic data compression
KR0174498B1 (ko) * 1995-10-13 1999-04-01 김광호 로그의 근사값 계산방법 및 회로
US5933462A (en) * 1996-11-06 1999-08-03 Qualcomm Incorporated Soft decision output decoder for decoding convolutionally encoded codewords
US5951629A (en) * 1997-09-15 1999-09-14 Motorola, Inc. Method and apparatus for log conversion with scaling
US5935200A (en) * 1997-11-21 1999-08-10 Unisys Corporation Exponential functional relationship generator method and system for implementation in digital logic
US6993098B2 (en) * 2001-07-12 2006-01-31 Koninklijke Philips Electronics N.V. Method and apparatus for efficient calculating distance metric

Also Published As

Publication number Publication date
DE60006108D1 (de) 2003-11-27
US20020018533A1 (en) 2002-02-14
EP1189355B1 (de) 2003-10-22
EP1189355A1 (de) 2002-03-20
US6757701B2 (en) 2004-06-29

Similar Documents

Publication Publication Date Title
DE60113053T2 (de) Vor-Dekoder für Turbodekoder, zur Rückgewinnung von punktierten Paritätssymbolen, sowie ein Verfahren zur Rückgewinnung eines Turbokodes
DE60107527T2 (de) Einrichtung und Verfahren zum Anhalten einer iterativen Dekodierung in einem CDMA Mobilkommunikationssystem
DE60120723T2 (de) Iterationsabbruch für Turbodecodierer
DE3910739C2 (de)
DE60001988T2 (de) Turbo Dekodierung mit variabler Anzahl von Iterationen
DE60132179T2 (de) Verfahren und vorrichtung für kombinierte soft-decision-entscheidungsbasierte interferenzunterdrückung und dekodierung
DE69723559T2 (de) Verfahren und vorrichtung zur detektion von kommunikationssignalen mit ungleichem fehlerschutz
DE60037963T2 (de) Turbo-Dekodierung mit Soft-Output Viterbi Dekoder
DE19736653C1 (de) Verfahren und Einrichtung zur Abschätzung der Dienstqualität auf Übertragungskanälen in einem digitalen Übertragungssystem
DE69936626T2 (de) Kanalkodierung und -dekodierung für ein kommunikationssystem
DE69925151T2 (de) Effiziente normalisierung vom trelliszustandsmetrischem wert
EP0755122A2 (de) Verfahren und Anordnung zur Bestimmung eines adaptiven Abbruchkriteriums beim iterativen Decodieren multidimensional codierter Information
DE60211413T2 (de) Verfahren und Vorrichtung zur Optimierung der Größe von codierten Datenblöcken
DE102012100945A1 (de) Iterativer Decodierer
DE102005010006A1 (de) Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
WO2003071689A2 (de) Kombinierter ver- und entschachteler sowie turbo-decodierer mit kombiniertem ver- und entschachteler
DE60117831T2 (de) Modul zur erzeugung von decoderschaltungen für faltungscodes, zugehöriges verfahren und schaltung
DE112010003449T9 (de) Iterative Decodierung von Signalen, die über einen verrauschten Kanal empfangen werden, unter Verwendung von Vorwärts- und Rückwärts-Rekursionen mit einer Hochfahrinitialisierung
DE60111974T2 (de) Abbruchkriterium für einen Turbodekoder
DE60006108T2 (de) Lineare Approximation des LOG-MAP Algorithmus für Turbodekodierung
DE60007956T2 (de) Vorrichtung und Verfahren zur SISO Dekodierung
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
EP1145445B1 (de) Verfahren und vorrichtung zur decodierung von faltungscodes
EP1269633B1 (de) Optimierter turbo-decodierer
DE602004013186T2 (de) Linear-approximation der max*-operation für log-map-decodierung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: FREESCALE SEMICONDUCTOR, INC., AUSTIN, TEX., US

8339 Ceased/non-payment of the annual fee