DE10300268B4 - Schaltung zur Berechnung von Pfadmetriken in Viterbi-Dekodierern - Google Patents

Schaltung zur Berechnung von Pfadmetriken in Viterbi-Dekodierern Download PDF

Info

Publication number
DE10300268B4
DE10300268B4 DE10300268A DE10300268A DE10300268B4 DE 10300268 B4 DE10300268 B4 DE 10300268B4 DE 10300268 A DE10300268 A DE 10300268A DE 10300268 A DE10300268 A DE 10300268A DE 10300268 B4 DE10300268 B4 DE 10300268B4
Authority
DE
Germany
Prior art keywords
metric values
circuit
transition metric
values
transition
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
DE10300268A
Other languages
English (en)
Other versions
DE10300268A1 (de
Inventor
Mario Steinert
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10300268A priority Critical patent/DE10300268B4/de
Priority to US10/752,764 priority patent/US20040153958A1/en
Publication of DE10300268A1 publication Critical patent/DE10300268A1/de
Application granted granted Critical
Publication of DE10300268B4 publication Critical patent/DE10300268B4/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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management

Landscapes

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

Abstract

Schaltung zur rekursiven Berechnung von Pfadmetrikenwerten in einem Viterbi-Dekodierer, mit
– einer Schaltung (BMU; 100) zum Berechnen von Übergangsmetrikwerten (BM0, BM1, BM2, BM3), welche so ausgeführt ist, dass durch Normieren der Übergangsmetrikwerte (BM0, BM1, BM2, BM3) einer der berechneten Übergangsmetrikwerte (BM3) auf den Wert 0 gesetzt ist und die übrigen berechneten Übergangsmetrikwerte jeweils sowohl positive als auch negative Werte annehmen können, und
– einer Schaltung (ACSU) zum Aktualisieren der Pfadmetrikwerte (oPMi, nPMi) mittels ACS-Operationen unter Verwendung der berechneten Übergangsmetrikwerte, wobei zumindest diejenigen Abschnitte (200) dieser Schaltung (ACSU), welche ACS-Operationen unter Verwendung des auf den Wert 0 normierten Übergangsmetrikwerts (BM3) durchführen, eine Zweierkomplement-Arithmetik (21, 24) zur Durchführung der Vergleichsoperation aufweisen.

Description

  • Die Erfindung betrifft eine Schaltung und ein Verfahren zur rekursiven Berechnung von Pfadmetrikwerten in einem Viterbi-Dekodierer.
  • In Kommunikationssystemen (z. B. drahtlosen LAN, Mobilfunksystemen, Satelliten-Kommunikationssystemen) wird das auszusendende Signal zur Anpassung an den Übertragungskanal einer Faltungskodierung (Kanalkodierung) unterzogen. Man spricht von FEC (Forward Error Correction). Bei der Faltungskodierung wird der zu übertragenden Datenfolge Redundanz hinzugefügt, um die Übertragungssicherheit zu erhöhen. Im Empfänger wird die ursprüngliche Datenfolge unter Verwendung der Redundanz rekonstruiert. Hierfür wird ein Kanaldekodierer eingesetzt.
  • Zur Kanaldekodierung werden Viterbi-Dekodierer verwendet. Viterbi-Dekodierer beruhen auf der Abarbeitung des bekannten Viterbi-Algorithmus (VA), mittels welchem auf rekursive Weise der kürzeste Pfad durch ein Zustands-Diagramm bestimmt wird, welches die Dekodiervorschrift widerspiegelt und als Trellis-Diagramm bezeichnet wird. Die Bestimmung dieses kürzesten Pfads durch das Trellis-Diagramm ist gleichbedeutend mit der Rekonstruktion der Datenfolge, welche senderseitig dem Faltungskodierer zugeführt wurde.
  • Die Abarbeitung des VA umfaßt pro Zeitschritt im wesentlichen drei Rechenabläufe: Die Berechnung von Übergangsmetrikwerten im Trellis-Diagramm, die Durchführung der ACS-(ADD-COMPARESELECT-)Operationen zum Treffen der Pfadentscheidungen für jeden Pfad und zum Berechnen von Pfadmetrikwerten und die Trace-Back-Operation zur Ermittlung von zeitlich zurückliegenden Entscheidungsbits bezüglich eines „überlebenden" Pfades.
  • Für niederratige Anwendungen kann der VA in Software implementiert und von einem DSP (Digitaler Signalprozessor) ausgeführt werden. Sind ein hoher Datendurchsatz und eine geringe Latenz gefordert, ist es jedoch notwendig, den Viterbi-Dekodierer vollständig parallelisiert in Hardware zu entwerfen. Dabei stellt sich die Aufgabe, eine möglichst effiziente Implementierung des VA in Bezug auf Chip-Fläche, Leistungsverbrauch und Latenz zu finden.
  • Im Folgenden wird das Modul zum Berechnen der Pfadmetrikwerte eines Viterbi-Dekodierers betrachtet. Dieses Modul besteht einerseits aus einer Einheit zum Berechnen von Übergangsmetrikwerten, BMU (Branch Metric Unit), und andererseits aus einer Einheit zum Durchführen von ACS-Operationen, ACSU. Die BMU berechnet die Wahrscheinlichkeiten sämtlicher möglicher Zustandsübergänge in dem Trellis-Diagramm. Die ACSU arbeitet rekursiv und führt in jedem Rekursionsschritt eine Aktualisierung der Pfadmetrikwerte zu jedem Zustand im Trellis-Diagramm durch. Hierfür addiert die ASCU die Übergangsmetrikwerte zu den "alten", d. h. im vorausgegangenem Zeitschritt berechneten Pfadmetrikwerten und ermittelt auf diese Weise für den betrachteten Zielzustand mehrere Kandidaten für den neuen Pfadmetrikwert (ADD). Im darauf folgenden Vergleichsschritt (COMPARE) werden die Kandidaten-Werte verglichen. Im Auswahl-Schritt (SELECT) wird der kleinste Kandidaten-Wert als neuer Pfadmetrikwert für den betrachteten Zielzustand ausgewählt.
  • Zunächst wird die Funktionsweise einer BMU am Beispiel einer Koderate Rc = 1/2 erläutert. Die Koderate Rc bezeichnet bekanntlich das Verhältnis der Anzahl von Eingabebits zur Anzahl von Ausgabebits des Kanalkodierers und stellt damit ein Maß für die Redundanz im kodierten Datenstrom dar. Bei einer Koderate Rc = 1/2 erzeugt der Faltungskodierer also pro Eingabebit zwei Ausgabebits. Diese beiden Ausgabebits werden im Empfänger geschätzt und liegen vor der Dekodierung als Soft- Input-Werte X und Y vor. Das Wertepaar (X, Y) wird als detektiertes Symbol bezeichnet. Die BMU berechnet die vier (für Rc 1/2) möglichen Distanzen zwischen dem detektierten Symbol (X, Y) und den vier hypothetischen gesendeten Symbolen (X ., Y .). Diese Distanzen werden als Übergangsmetriken bezeichnet. Die Gleichung zur Berechnung der vier Übergangsmetrikwerte BM0, BM1, BM2, BM3 lautet BM0,1,2,3 = (X – X .)2 + (Y – Y .)2 = X2 + X .2 + Y2 + Y .2 – 2(XX . + YY .) (1)Sofern die hypothetischen Symbolwerte X . und Y . jeweils die Werte –1 oder 1 annehmen können, sind die vier Quadratterme in Gleichung (1) für jeden der Übergangsmetrikwerte identisch. Da es bei der nachfolgenden Verarbeitung der Übergangsmetrikwerte BM0, BM1, BM2, BM3 in der ASCU allein auf Differenzen zwischen den Übergangsmetrikwerten ankommt, können die Quadratterme vernachlässigt werden. Ferner kann der Skalierungsfaktor –2 durch 1 ersetzt werden. Es ergeben sich für die hypothetischen Symbole (X ., Y .) = (1, 1), (1, –1), (–1, 1), (–1, –1) die folgenden Übergangsmetrikwerte BM0 = X + Y BM1 = X – Y BM2 = Y – X BM3 = –X – Y (2)
  • Diese Übergangsmetrikwerte werden bei den bekannten ACSU üblicherweise als Eingabewerte eingesetzt. 1 zeigt eine bekannte Implementierung einer BMU für Rc = 1/2 basierend auf den in Gleichung (2) angegebenen Ausdrücken. An den Eingängen 11 und 12 der Schaltung 10 liegen die Soft-Input-Werte X und Y an. Der Addierer 13 berechnet den Übergangsmetrikwert BM0, der Subtrahierer 14 bildet den Übergangsmetrikwert BM1. Die Addierer/Subtrahierer 13, 14 müssen als Voll-Addierer (FA) realisiert sein.
  • Die Übergangsmetrikwerte BM2 und BM3 sind die Zweierkomplemente der Übergangsmetrikwerte von BM1 bzw. BM0. Zur Berechnung von BM2 aus BM1 bzw. BM3 aus BM0 können als Halb-Addierer (HA) realisierte Zweierkomplement-Stufen 15, 16 eingesetzt werden. Die beiden längsten Pfade der Schaltung 10 laufen somit durch einen Voll-Addierer und einen Halb-Addierer.
  • Eine Schaltung zur Berechnung von Übergangsmetrikwerten der gegebenen Wortbreite gemäß Gleichung (2) für die Koderate Rc = 1/2 und von analog definierten Übergangsmetrikwerten für Kodes der Koderaten Rc = 1/3, 1/4, 1/5, 1/6 ist in der Schrift EP 1 223 679 A1 beschrieben.
  • In BRACKENBURY, L. [u. a.]: An Asynchronous Viterbi Decoder. In: European Low Power Initiative for Electronic System Design (ESDLPD) Third International Workshop. ISBN 9053260366. Juli 2000, S. 8–21, ist angegeben, dass bei einer BMU die Übergangsmetrikwerte so normiert werden können, dass einer der Übergangsmetrikwerte den Wert 0 aufweist.
  • Eine voll parallelisierte ACSU besteht aus N parallel angeordneten ACS-Komponenten identischen Aufbaus, wobei N die Anzahl der im Trellis-Diagramm betrachteten Zustände ist. Anhand der 2 und 3 werden zwei bekannte Implementierungen für eine ACS-Komponente der ACSU erläutert.
  • Eine Schwierigkeit bei der Implementierung von ASC-Komponenten besteht darin, dass die Pfadmetrikwerte (d. h. die akkumulierten Übergangsmetrikwerte) unbeschränkt wachsende Funktionen der Zeit sind. Dies hat zur Folge, dass die Addierer, welche die Summen aus Pfad- und Übergangsmetrikwerten bilden, aufgrund der beschränkten Wortbreite irgendwann überlaufen. Dies führt zu fehlerhaften Ergebnissen beim Vergleichsschritt. In HEKSTRA, A. P.: An Alternative to Metric Rescaling in Viterbi Decoders. In: IEEE Transactions an Communications. 1989, Vol. 37, No. 11, S. 1220–1222, sind zwei unterschiedliche Lösungsansätze für dieses Problem beschrieben.
  • Eine erste Möglichkeit besteht darin, die berechneten Pfadmetrikwerte in jedem Zeitschritt zu renormieren. Dieser Ansatz wird in der in 2 dargestellten ASC-Komponente 20.1 verfolgt. Die ASC-Komponente 20.1 umfasst zwei Voll-Addierer 21, 22, einen Vergleicher COM, einen Multiplexer MUX und einen Subtrahierer 23. Den Eingängen des Voll-Addierers 21 wird der Übergangsmetrikwert BM0 und eine „alte" (d. h. für den vorangehenden Zeitschritt ermittelte) Pfadmetrik oPMi zugeführt. Der Voll-Addierer 22 erhält den komplementären Übergangsmetrikwert BM3 und einen anderen alten Pfadmetrikwert oPMj. Die Indizes i und j der Pfadmetrikwerte laufen von 0 bis N – 1, wobei i ≠ j ist. Die Indizes i und j (d. h. die von der ACS-Komponente 20.1 benötigten Pfadmetrikwerte) sind durch den Faltungskode definiert.
  • Die Ausgänge der beiden Voll-Addierer 21 und 22 werden den beiden Eingängen des Vergleichers COM und den beiden Eingängen des Multiplexers MUX zugeleitet. Der Vergleicher COM stellt fest, welche der beiden Summen aus allem Pfadmetrikwert und Übergangsmetrikwert kleiner ist und teilt das Ergebnis dem Multiplexer MUX an seinem Steuereingang mit. Der Multiplexer MUX wählt daraufhin die kleinere Summe aus Übergangsmetrikwert und allem Pfadmetrikwert aus. Dieser neue Pfadmetrikwert wird mit PMn' bezeichnet und stellt das Ergebnis einer ACS-Operation ohne Renormierung dar. Der Index n, n = 0, 1, ..., N – 1, indiziert den Zielzustand, dem die ACS-Komponente 20.1 zugeordnet ist.
  • Zur Vermeidung eines stetigen Anwachsens der Pfadmetrikwerte PMn' wird der minimale Pfadmetrikwert bezüglich sämtlicher Werte für n bestimmt: PMmin' = min{PMn'; n = 0, 1, ..., N – 1}. Der minimale Pfadmetrikwert PMmin' wird von PMn' subtrahiert und verhindert, dass der auf diese Weise berechnete renormierte "neue" Pfadmetrikwert nPMn mit Zeitablauf unbeschränkt zunimmt. Ferner wird das durch das Vergleichsergebnis bestimmte Entscheidungsbit ACS_decn ausgegeben.
  • Ein Nachteil dieser Vorgehensweise (Renormierung von Pfadmetrikwerten) besteht darin, dass die Renormierung einen verhältnismäßig hohen Rechenaufwand benötigt. Diesbezüglich wird auf PARHI, K. K. [Hrsg.]: Digital Signal Processing for Multimedia Systems. Boca Raton [u. a.]: CRC Press, Juni 1999, S. 417–459, ISBN 0824719247, insbesondere Kapitel 16.4.1.1., verwiesen.
  • Die zweite Möglichkeit zur Vermeidung von Fehlentscheidungen im Auswahlschritt besteht in der Verwendung einer Zweierkomplement-Modulo-Arithmetik zur Durchführung der Vergleichsoperation. Bei dieser in dem bereits genannten Artikel von A. P. Hekstra beschriebenen und anhand der 3 erläuterten Vorgehensweise muss ein Überlaufen der Addierer 21, 22 nicht verhindert werden, da bei Verwendung der Zweierkomplement-Modulo-Arithmetik unter der Voraussetzung einer ausreichenden Wortbreite ein Überlaufen der Addierer 21, 22 die Richtigkeit des Vergleichsergebnisses nicht beeinträchtigt.
  • In der 3 ist eine nach diesem alternativen Prinzip aufgebaute ACS-Komponente 20.2 dargestellt. Dieselben oder vergleichbare Schaltungsteile wie in der 2 sind mit denselben Bezugszeichen gekennzeichnet. Ein Register reg dient zur Abspeicherung des von dem Multiplexer MUX ausgegebenen neuen Pfadmetrikwertes. Anstelle des Vergleichers COM ist ein Subtrahierer 24 vorhanden, welcher eine Subtraktion der beiden Addierer-Ausgänge in Zweierkomplement-Darstellung durchführt. Zur Subtraktion von Zahlen in Zweierkomplement-Darstellung kann bekanntlich ein Voll-Addierer eingesetzt werden. Am Ausgang des Subtrahierers 24 wird das höchstwertige Bit MSB des Subtraktionsergebnisses in Zweierkomplement-Darstellung ausgegeben. Dieses weist den Wert 0 für eine positive Differenz und den Wert 1 für eine negative Differenz auf. Die Modulo-Operation wird automatisch durch den Überlauf-Mechanismus der Zweierkomplement-Arithmetik bewirkt. Die erforderliche Wort breite für die Pfadmetrikwerte ist durch die folgende Gleichung bestimmt: 2c-1 ≥ L·B (3)
  • Dabei bezeichnet c die minimal mögliche Wortbreite inklusive des Vorzeichenbits, L bezeichnet die Rückgrifftiefe des Faltungskodes und B bezeichnet eine obere Grenze für sämtliche möglichen Differenzen zwischen Übergangsmetrikwerten (im vorliegenden Fall gilt B ≥ |BMa – BMb|, a, b ∊ {0, 1, 2, 3}). Für diesen Zweierkomplement-Modulo-Ansatz ohne Renormierung ist es zwingend erforderlich, den Vergleichschritt anhand des MSB nach der Subtraktion vorzunehmen. Die Verwendung eines Vergleichers ist nicht möglich, da dieser das Überlaufen nicht richtig erfassen würde.
  • In der Druckschrift SHUNG, C. B. [u. a.]: VLSI Architectures for Metric Normalization in the Viterbi Algorithm. In: IEEE International Conference an Communications, 16.–19. April 1990, Conference Record, vol. 4, S. 1723–1728 werden unterschiedliche Renormierungstechniken beschrieben und miteinander verglichen. Eine der behandelten Renormierungstechniken ist die Modulo-Renormierung, für welche darüber hinaus zwei Schaltungsbeispiele zugehöriger ACS-Einheiten besprochen und bezüglich ihrer Effizienz verglichen werden.
  • Der Erfindung liegt die Aufgabe zugrunde, eine Schaltung zur rekursiven Berechnung von Pfadmetrikwerten in einem Viterbi-Dekodierer anzugeben, welche eine geringere Chip-Fläche und einen geringeren Leistungsbedarf als bekannte Schaltungen aufweist. Insbesondere soll auch eine geringe Latenz erreichbar sein. Darüber hinaus zielt die Erfindung darauf ab, ein Verfahren zur rekursiven Berechnung von Pfadmetrikwerten anzugeben, welches die oben genannten Implementierungsvorteile aufweist.
  • Die der Erfindung zugrunde liegende Aufgabenstellung wird durch die Merkmale der unabhängigen Ansprüche gelöst.
  • Nach Anspruch 1 besteht der grundlegende Gedanke der Erfindung darin, zwei Maßnahmen mit Gewinn zu kombinieren: Zum einen ist die Schaltung zum Berechnen von Übergangsmetrikwerten so ausgeführt, dass durch Normieren der Übergangsmetrikwerte einer der berechneten Übergangsmetrikwerte auf den Wert 0 gesetzt ist und die übrigen berechneten Übergangsmetrikwerte jeweils sowohl positive als auch negative Werte annehmen können. Dabei umfassen zumindest diejenigen Abschnitte der Schaltung zum Aktualisieren der Pfadmetrikwerte mittels ACS-Operationen unter Verwendung der berechneten Übergangsmetrik werte, welche für die ACS-Operation den auf den Wert 0 normierten Übergangsmetrikwert verwenden, eine Zweierkomplement-(Modulo-)Arithmethik zur Durchführung der Vergleichsoperation.
  • Durch die Kombination dieser beiden Schaltungen wird, wie im Folgenden noch näher erläutert, eine wesentliche Einsparung von Chip-Fläche und eine deutliche Erniedrigung des Leistungsbedarfs erzielt.
  • Eine bevorzugte Ausführungsform der Schaltung zum Berechnen von Übergangsmetrikwerten ist so ausgeführt, dass sie nach der Normierung eine Skalierung der berechneten Übergangsmetrikwerte um einen Faktor kleiner 1, insbesondere 1/2, bewirkt. Durch eine Skalierung mit dem Faktor 1/2 wird die obere Schranke B für Differenzen von Übergangsmetrikwerten halbiert. Dadurch kann gemäß Gleichung (3) die Wortbreite der Datenpfade in der Schaltung zum Aktualisieren der Pfadmetrikwerte mittels ACS-Operationen um 1 Bit reduziert werden.
  • Eine vorteilhafte Implementierung der Schaltung zum Berechnen von Übergangsmetrikwerten, die sowohl die Normierung der Übergangsmetrikwerte als auch deren Skalierung mit dem Faktor 1/2 ausführt, ist dadurch gekennzeichnet, dass der längste Pfad der Schaltung einen einzigen Voll-Addierer aufweist. Die Normierung und Skalierung der Übergangsmetrikwerte erfordert also keinen zusätzlichen Rechenaufwand sondern bewirkt im Gegenteil sogar eine Vereinfachung der Schaltung zur Berechnung von Übergangsmetrikwerten sowie eine Verringerung ihrer Latenz.
  • Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
  • Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels unter Bezugnahme auf die Zeichnung erläutert; in dieser zeigt:
  • 1 eine ACS-Einheit zur Berechnung von Übergangsmetrikwerten für einen Faltungskode der Koderate Rc = 1/2 nach dem Stand der Technik;
  • 2 ein Schaltungsbeispiel einer ACS-Komponente zur Berechnung eines renormierten Pfadmetrikwertes nach dem Stand der Technik;
  • 3 ein alternatives Schaltungsbeispiel einer ACS-Komponente zur Berechnung eines Pfadmetrikwertes mit einer Zweierkomplement-Arithmetik nach dem Stand der Technik;
  • 4 eine schematische Blockschaltbilddarstellung eines Viterbi-Dekodierers;
  • 5 einen Ausschnitt aus einem Trellis-Diagramm für zwei Zeitschritte bei L = 7;
  • 6 ein Schaltungsbeispiel für eine erfindungsgemäße BMU für eine Koderate Rc = 1/2; und
  • 7 ein Schaltungsbeispiel für eine erfindungsgemäße ACS-Komponente zur Berechnung eines Pfadmetrikwertes auf der Basis von Übergangsmetrikwerten, die in der in 6 dargestellten Schaltung erzeugt wurden.
  • Zum besseren Verständnis der Erfindung wird zunächst der prinzipielle Aufbau und die allgemeine Funktionsweise eines Viterbi-Dekodierers näher erläutert. Gemäß 4 besteht ein Viterbi-Dekodierer aus einer Einheit zur Berechnung von Übergangsmetrikwerten BMU (Branch Metric Unit), einer Einheit zur Durchführung von ACS-Operationen, ACSU, und einer Einheit zur Speicherung der ermittelten Pfade SMU (Survivor Management Unit).
  • Im Folgenden wird zunächst von einer senderseitigen Faltungskodierung mit der Rückgrifftiefe L (entspricht einem Schieberegister mit L – 1 Speicherzellen) und einer Koderate Rc = 1/2 ausgegangen. Der Zustand des Kodierers kann zu jedem Zeitschritt durch die Belegung seines Schieberegisters ausgedrückt werden, d. h. es existieren 2L-1 Kodiererzustände. Der Begriff Zeitschritt bezieht sich auf die Bitsequenz des ursprünglichen, noch nicht kodierten Datenbitstroms.
  • Die Einheit zur Berechnung von Übergangsmetrikwerten BMU nimmt über eine Datenverbindung 1 einen Datenstrom entgegen, welcher aus Soft-Input-Werten besteht, die von einem (nicht dargestellten) vorgeordneten Detektor (z. B. Entzerrer) erzeugt wurden. Pro Zeitschritt liegen (bei Rc = 1/2) zwei Soft-Input-Werte X, Y vor, wobei jeder Soft-Input-Wert die Wahrscheinlichkeit für das Auftreten einer 1 oder einer 0 eines detektierten Datenbits im kodierten Empfangssignal angibt.
  • Die BMU zur Berechnung der Übergangsmetrikwerte berechnet nun für jeden Übergang im Trellis-Diagramm eine Übergangsmetrik, welche ein Maß für die Wahrscheinlichkeit dieses Zustandsübergangs unter Berücksichtigung der erhaltenen Soft-Input-Werte X, Y ist. Die von der BMU berechneten Übergangsmetrikwerte werden der ACSU über eine Datenverbindung 2 zugeleitet. Zur Erläuterung des Rechenablaufs der ACSU wird auf den in 5 dargestellten Ausschnitt eines Trellis-Diagramms bezüglich zweier Zeitschritte TS0 und TS1 Bezug genommen. In 5 ist ein aus 64 Zuständen aufgebautes Trellis-Diagramm dargestellt, wie es bei L = 7 auftritt. In jedem Zeitschritt kann der Kodierer somit einen von 64 möglichen Kodiererzuständen einnehmen. Die 64 möglichen Zustände des senderseitigen Kodierers sind in 5 in Form von durchnummerierten Kästchen über den Zeitschritten TS0 und TS1 dargestellt. Die Nummern der Zustände laufen von 0 bis 63.
  • Die ACS-Operationen bezüglich des Zeitschritts TS0 seien bereits durchgeführt. Für jeden der 64 Zustände im Zeitschritt TS0 ist dann bereits ein Pfadmetrikwert berechnet worden. Ferner steht der zu jedem dieser Zustände führende Pfad (Sequenz von Vorgänger-Zuständen) fest. Der für den Zustand i, i = 0, ..., 63, im Zeitschritt TS0 berechnete „alte" Pfadmetrikwert wird im folgenden mit oPMi bezeichnet.
  • Die Aufgabe der ACS-Operation besteht darin, für jeden Zielzustand im Zeitschritt TS1 einen „neuen" Pfadmetrikwert zu berechnen. Die für die Zustände im Zeitschritt TS1 berechneten neuen Pfadmetrikwerte werden mit nPMi, i = 0, ..., 63, bezeichnet.
  • Die Berechnung der neuen Pfadmetrikwerte für den Zeitschritt TS1 wird folgendermaßen durchgeführt:
    Betrachtet wird zunächst der Zielzustand 0. Je nach dem Wert des Eingabebits bei der senderseitigen Kodierung (welcher unbekannt ist) wird der Zustand 0 im Zeitschritt TS1 entweder von dem Zustand 0 oder von dem Zustand 1 zum Zeitschritt TS0 erreicht. Um den wahrscheinlicheren dieser beiden Vorgängerzustände und damit den wahrscheinlicheren der beiden möglichen Übergänge zu entscheiden, werden die Summen oPM0 + α und oPM1 – α gebildet (ADD-Operation). Dabei bezeichnet α den zu dem Übergang tr0 von dem Vorgänger-Zustand 0 zu dem Zielzustand 0 gehörenden Übergangsmetrikwert, und –α bezeichnet den zu dem Übergang tr1 von dem Vorgänger-Zustand 1 zu dem Zielzustand 0 gehörenden Übergangsmetrikwert. Diese beiden Übergangsmetrikwerte unterscheiden sich bei Berechnung der Übergangsmetrikwerte gemäß 1 lediglich im Vorzeichen.
  • Der kleinere der beiden Summenwerte wird ermittelt (COMPARE-Operation) und wird der neue Pfadmetrikwert nPM0 des Zustands 0 im Zeitschritt TS1, d. h. nPM0 = min{oPM0 + α; oPM1 – α}. Der zugehörige Übergang wird als der wahrscheinlichere Übergang der beiden möglichen Übergänge ausgewählt (SELECT-Opera tion). Das diesen Übergang bewirkende Eingabebit ist das bei der ACS-Operation ermittelte Entscheidungsbit zum Zielzustand 0. Auf diese Weise wird für jeden Zustand im Zeitschritt TS1 der wahrscheinlichere Übergang sowie der wahrscheinlichere Vorgänger-Zustand und das zugehörige Entscheidungsbit bestimmt.
  • Pro Zielzustand ist also eine ACS-Operation durchzuführen. Bei einem vollständig parallelisierten Aufbau der ACSU umfasst diese 64 parallel zueinander angeordnete ACS-Komponenten, die jeweils für einen Zielzustand eine ACS-Operation durchführen. Jede ACS-Komponente benötigt als Eingabewerte 2 Pfadmetrikwerte und 2 Übergangsmetrikwerte, welche komplementär (α bzw. –α) sind.
  • Die beiden anderen möglichen Übergänge tr2 und tr3 aus den Vorgänger-Zuständen 0 und 1 in den Zeitschritt TS1 führen z. B. in den Zustand 32 des Zeitschrittes TS1. Dabei weisen die Übergänge tr2 und tr3 die gleichen Übergangsmetrikwerte, nämlich –α und α, wie die Übergänge tr1 bzw. tr0 auf (sog. Butterfly-Struktur der Übergänge im Trellisdiagramm). Die ACS-Komponente zur Berechnung des neuen Pfadmetrikwertes nPM32 für den Zustand 32 benötigt also die identischen Eingangswerte (2 Pfadmetrikwerte und 2 Übergangsmetrikwerte) wie die ACS-Komponente zur Berechnung des Pfadmetrikwertes nPM0. Die Übergänge tr1, tr2, tr3, tr4 definieren einen ersten Butterfly BFLY1.
  • In 5 ist ferner ein analog gebildeter Butterfly BFLY2 bestehend aus den alten Pfadmetrikwerten oPM2 und oPM3 und den zugehörigen neuen Pfadmetrikwerten nPM1 und nPM33 (Übergänge tr4, tr5, tr6, tr7, dargestellt durch dünne Linien) eingezeichnet.
  • Für ein Trellis-Diagramm mit 64 Zuständen und einem Faltungskode mit einer Koderate Rc = 1/2 benötigt die ACSU nach 5 also eine Anzahl von 128 Eingaben von Übergangsmetrikwerten (2 Stück pro Zielzustand). Da (bei einem vollständig parallelisierten Aufbau) 64 ACS-Komponenten vorhanden sind, von denen jeweils zwei ACS-Komponenten dieselben Übergangsmetrikwerte erhalten, weist die ACSU insgesamt 32 Eingänge für Übergangsmetrikwerte auf. Wie in 5 erläutert, werden ferner von jeder ACS-Komponente im Stand der Technik (1) stets komplementäre Übergangsmetrikwerte –α und α verarbeitet.
  • Die Schleife 3 in 4 verdeutlicht, dass das in 5 ausschnittsweise dargestellte Trellis-Diagramm Zeitschritt für Zeitschritt abgearbeitet wird, wobei stets sämtliche neuen Pfadmetrikwerte nPMi, i = 0, ..., 63, berechnet werden und im nächsten Zeitschritt dann als alte Pfadmetrikwerte oPMi, i = 0, ..., 63, verwendet werden. Nachdem die Pfadmetrikwerte über einen oder mehrere Zeitschritte aktualisiert und die zugehörigen Entscheidungsbits (64 pro Zeitschritt) jeweils bestimmt und der SMU über die Datenverbindung 4 mitgeteilt wurden, führt die SMU eine Trace-Back-Operation durch. Die Trace-Back Operation dient dazu, aus den pro Zeitschritt erhaltenen 64 Entscheidungsbits (ein Entscheidungsbit pro Pfad) das richtige Bit (nämlich das Eingabebit des Kodierers) zu ermitteln. Dieses Bit wird dann über die Datenverbindung 5 ausgegeben.
  • Zu diesem Zweck nutzt die SMU die Eigenschaft aus, dass die einzelnen Pfade in zeitlicher Rückwärtsrichtung konvergieren und ab einer gewissen zeitlichen Rückgriffslänge (Trace-Back-Länge) übereinstimmen. Bei der Trace-Back-Operation wird daher ein um die Trace-Back-Länge zurückliegend entschiedenes Bit bezüglich (irgend) eines der überlebenden Pfade ermittelt.
  • 6 zeigt für das Beispiel Rc = 1/2 eine erfindungsgemäße Schaltung 100 einer BMU. Die Schaltung 100 weist einen einzigen Voll-Addierer 113 auf, dessen Addierer-Eingänge mit den Eingängen 111 und 112 der Schaltung 100 verbunden sind. An den Eingängen 111 und 112 liegen die Soft-Input-Werte X und Y an, welche ein Symbol repräsentieren.
  • Die Schaltung 100 erzeugt die folgenden Übergangsmetrikwerte: BM0 = X + Y BM1 = X BM2 = Y BM3 = 0 (4)
  • Im Folgenden wird gezeigt, dass die in Gleichung (4) angegebenen Übergangsmetrikwerte ebenfalls als Eingabewerte für die ACS-Komponenten der ACSU geeignet sind. Auf die Entscheidungen, die bei den ACS-Operationen getroffen werden, haben die absoluten Werte der Übergangsmetriken keinen Einfluss sondern lediglich Differenzen zwischen Übergangsmetrikwerten. Somit werden die in den ACS-Komponenten ermittelten Vergleichsergebnisse durch die Addition eines konstanten Wertes zu sämtlichen Übergangsmetrikwerten nicht beeinflusst. Durch eine Addition von X + Y zu den in Gleichung (2) angegebenen Übergangsmetrikwerten ergeben sich die normierten Übergangsmetrikwerte BM0 = (X + Y) + (X + Y) = 2(X + Y) BM1 = (X – Y) + (X + Y) = 2X BM2 = (Y – X) + (X + Y) = 2Y BM3 (–X – Y) + (X + Y) = 0 (5)
  • Die in Gleichung (4) angegebenen Übergangsmetrikwerte folgen aus den in Gleichung (5) angegebenen Werten durch eine Skalierung mit dem Faktor 1/2. Einer der Übergangsmetrikwerte (BM3) weist dabei konstant den Wert 0 auf und die übrigen berechneten Übergangsmetrikwerte können jeweils sowohl positive als auch negative Werte annehmen. Die anhand 5 erläuterte Komplementär-Eigenschaft der Übergangsmetrikwerte zu einem Zielzustand ist nun nicht mehr gegeben.
  • Ein Vergleich der 1 und 6 macht deutlich, dass die Normierung und Skalierung die Implementierung der BMU wesent lich vereinfacht. Der längste Pfad (der in der Technik auch als der "kritische" Pfad bezeichnet wird) durch die Schaltung 100 umfasst lediglich einen einzigen Voll-Addierer 113 der gegebenen Übergangsmetrik-Wortbreite.
  • 7 zeigt eine ACS-Komponente 200, welche den Übergangsmetrikwert BM3 = 0 entgegennimmt. Diese ACS-Komponente 200 unterscheidet sich von der in 3 dargestellten bekannten ACS-Komponente dadurch, dass der Voll-Addierer 22 entfällt. Die Darstellung der Werte in der Schaltung 200 erfolgt im Zweierkomplement (d. h. als Dualzahl, wobei das höchstwertige Bit ein Vorzeichenbit ist: Bei einer positiven Zahl weist das Vorzeichenbit in Zweierkomplement-Darstellung den Wert 0 auf. Bei einer negativen Zahl weist das Vorzeichenbit in Zweierkomplement-Darstellung den Wert 1 auf, und die nachfolgenden Stellen in der Zweierkomplement-Darstellung ergeben sich aus der üblichen Dualzahl-Darstellung durch Negation sämtlicher Stellen und Addition von 1.). Der Subtrahierer 24 ist ein Voll-Addierer (bekanntlicherweise wird die Subtraktion von zwei Werten durch eine Addition der Werte in der Zweierkomplement-Darstellung ersetzt).
  • Die Funktionsweise der in 7 gezeigten Schaltung beruht auf dem gleichen Prinzip wie die Funktionsweise der Schaltung aus 3, die aus dem Artikel von A. P. Hekstra bekannt ist: Ein Überlaufen des Addierers 21 bewirkt in Zweierkomplement-Darstellung, dass der Wert BM0 + oPMi durch, den Restwert (BM0 + oMPi)mod2c ersetzt wird. Solange die Ungleichung (3) erfüllt ist, wird das Ergebnis des Vergleichsschritts (d. h. der Wert des höchstwertigen Bits MSB) durch die Modulo-Operation nicht beeinflusst. Dabei ergibt sich im Vergleich zu der in 3 gezeigten bekannten Schaltung der weitere Vorteil, dass aufgrund der Skalierung mit dem Faktor 1/2 der Wert B für die mit der Schaltung 100 (6) erzeugten Übergangsmetrikwerte nur halb so groß ist wie der Wert B für die mit der bekannten Schaltung 10 erzeugten Übergangsmetrikwerte. Infolgedessen kann gemäß Gleichung (3) in der Schaltung 200 eine um 1 Bit kleinere Wortbreite als in der Schaltung 20.2 eingesetzt werden.
  • Der kritische Pfad der ACS-Komponente 100 wird durch die Modifikation nicht beeinflusst, d. h. er wird weder verlängert noch verkürzt. Genauso wie in der in 3 dargestellten Schaltung 20.2 läuft der kritische Pfad von dem Register reg (in welchem die neuen bzw. alten Pfadmetrikwerte gespeichert werden) über den Addierer 21, den Subtrahierer 23, den Steuereingang des Multiplexers MUX und wieder zum Register reg.
  • Es wird darauf hingewiesen, dass die Eingabe der normierten und skalierten Übergangsmetrikwerte gemäß Gleichung (4) in die bekannte Schaltung 20.1 zwar prinzipiell ebenfalls möglich ist, jedoch dort keine Vorteile bietet. Der Grund hierfür besteht darin, dass der mit der erfindungsgemäßen BMU 100 erzielte Implementierungsgewinn durch einen höheren Aufwand bei der Reskalierung in der Schaltung 20.1 (über) kompensiert wird, da die Übergangsmetrikwerte PMn' nun sowohl in positiver als auch in negativer Richtung überlaufen können. D. h., obwohl auch bei der in 2 dargestellten Schaltung 20.1 der Addierer 22 wegfallen könnte (da BM3 = 0), müsste für die Reskalierung zusätzlich zu dem Subtrahierer 23 ein weiterer Addierer eingesetzt werden. Der mit der Erfindung erreichte Implementierungsvorteil ergibt sich erst bei der Kombination der in 6 gezeigten Schaltung 100 zur Erzeugung normierter und skalierter Übergangsmetrikwerte mit der in 7 gezeigten ACS-Komponente 200 basierend auf der Zweierkomplement-Arithmetik.
  • Die erfindungsgemäße Gesamtschaltung 100, 200 zur Berechnung von Pfadmetrikwerten kann sowohl mit einer SMU vom REA-(Register Exchange Algorithm-)Typ als auch mit einer SMU vom TBA-(Trace-Back Algorithm-)Typ kombiniert werden. Die in der folgenden Tabelle angegebenen Werte bezüglich des Bedarfs an Speicherfläche und Leistungsaufnahme beziehen sich auf die Pfadmetrikeinheit (BMU, ACSU) und auf den gesamten Viterbi- Dekodierer (BMU, ACSU, SMU). Für die SMU wurde eine REA-Implementierung gewählt. Die Chip-Fläche ist in Einheiten von 103 Gattern angegeben. Die Leistungsaufnahme ist in mW angegeben. Den Daten liegen die Parameter L = 7 (Trellis-Diagramm mit 64 Zuständen) und Rc = 1/2 zugrunde. Der Stand der Technik wird durch die BMU 10 in Kombination mit einer vollständig parallelisierten ACSU bestehend aus 64 ACS-Komponenten 20.2 repräsentiert. Die Erfindung wird durch die BMU 100 in Kombination mit einer vollständig parallelisierten ACSU bestehend aus 32 ACS-Komponenten 200 und 32 ACS-Komponenten 20.2 repräsentiert. Tabelle
    Chip-Fläche (kGates) Leistungsaufnahme (mW)
    BMU, ACSU BMU, ACSU, SMU BMU, ACSU BMU, ACSU, SMU
    Stand d. Technik 17.33 74.25 46.47 131.7
    Erfindung 12.96 69.24 26.00 106.8
    Einsparung 25% 6.7% 44% 19%
  • Der Tabelle ist zu entnehmen, dass etwa 25% Chip-Fläche für die Berechnung der Pfadmetrikwerte (BMU, ACSU) eingespart wird. Bezüglich des gesamten Dekodierers beträgt die Einsparung an Chip-Fläche nur 6,7%. Dies liegt daran, dass eine SMU vom REA-Typ eingesetzt wurde, deren Implementierung bekanntlich einen hohen Bedarf an Chip-Fläche erfordert (wie in der Technik allgemein bekannt ist, besteht eine REA-Implementierung aus N parallel angeordneten Ketten aus Register/Multiplexer-Einheiten, wobei die Länge jeder Kette mindestens der Trace-Back-Länge entsprechen muss). Bei einer TBA-Implementierung der SMU tritt eine höhere Einsparung an Chip-Fläche (mit dem Nachteil einer größeren Latenz des Dekodierers) auf.
  • Beim Leistungsverbrauch werden deutliche Einsparungen von 44% für die Pfadmetrik-Berechnung (BMU, ACSU) und von 19% für den gesamten Dekodierer (BMU, ASCU, SMU) erreicht.
  • Die Erfindung lässt sich auf Koderaten der allgemeinen Form Rc = n/k anwenden, wobei n die Anzahl der unkodierten Bits pro Zustandsübergang ist und k die Anzahl der kodierten Bits und somit die Anzahl der Soft-Input-Werte pro Symbol bezeichnet. Die Anzahl der in der BMU zu berechnenden Übergangsmetrikwerte ist 2k. Die Idee der Erfindung ist für alle Koderaten mit beliebigen Werten von n und k anwendbar, denn es ist immer möglich, einen der berechneten Übergangsmetrikwerte auf den Wert 0 zu normieren. Allerdings verringert sich der mit der Erfindung erzielte Effekt mit steigendem Nenner k. Beispielsweise müssen für Rc = n/3 acht Übergangsmetrikwerte in der ACSU verarbeitet werden, wobei lediglich einer dieser Übergangsmetrikwerte den Wert 0 aufweist. Folglich kann nur in jeder vierten (da jeweils zwei Übergangsmetrikwerte an jede ACS-Komponente gehen) ACS-Komponente ein Addierer gemäß der Schaltung 200 eingespart werden.

Claims (8)

  1. Schaltung zur rekursiven Berechnung von Pfadmetrikenwerten in einem Viterbi-Dekodierer, mit – einer Schaltung (BMU; 100) zum Berechnen von Übergangsmetrikwerten (BM0, BM1, BM2, BM3), welche so ausgeführt ist, dass durch Normieren der Übergangsmetrikwerte (BM0, BM1, BM2, BM3) einer der berechneten Übergangsmetrikwerte (BM3) auf den Wert 0 gesetzt ist und die übrigen berechneten Übergangsmetrikwerte jeweils sowohl positive als auch negative Werte annehmen können, und – einer Schaltung (ACSU) zum Aktualisieren der Pfadmetrikwerte (oPMi, nPMi) mittels ACS-Operationen unter Verwendung der berechneten Übergangsmetrikwerte, wobei zumindest diejenigen Abschnitte (200) dieser Schaltung (ACSU), welche ACS-Operationen unter Verwendung des auf den Wert 0 normierten Übergangsmetrikwerts (BM3) durchführen, eine Zweierkomplement-Arithmetik (21, 24) zur Durchführung der Vergleichsoperation aufweisen.
  2. Schaltung nach Anspruch 1, dadurch gekennzeichnet, dass – die Schaltung (BMU, 100) zum Berechnen von Übergangsmetrikwerten (BM0, BM1, BM2, BM3) so ausgeführt ist, dass sie nach der Normierung eine Skalierung der berechneten Übergangsmetrikwerte (BM0, BM1, BM2, BM3) um einen Faktor kleiner 1 bewirkt.
  3. Schaltung nach Anspruch 1 oder 2, wobei ein zu dekodierender Kode eine Koderate von 1/2 aufweist, dadurch gekennzeichnet, dass – der längste Pfad der Schaltung (BMU, 100) zum Berechnen von Übergangsmetrikwerten (BM0, BM1, BM2, BM3) einen einzigen Voll-Addierer (113) aufweist.
  4. Schaltung nach einem der vorhergehenden Ansprüche, wobei ein zu dekodierender Kode eine Koderate von 1/2 aufweist, dadurch gekennzeichnet, dass – die Schaltung (BMU, 100) zum Berechnen von Übergangsmetrikwerten (BM0, BM1, BM2, BM3) normierte und skalierte Übergangsmetrikwerte BM0 = X + Y, BM1 = X, BM2 = Y und BM3 = 0 berechnet, wobei das Wertepaar (X, Y) ein empfangenes Symbol bestehend aus zwei Soft-Input-Werten X und Y zu einem senderseitig kodierten Bit ist.
  5. Schaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der den auf 0 gesetzten Übergangsmetrikwert (BM3) verarbeitende Abschnitt der Schaltung (ACSU, 200) zum Aktualisieren der Pfadmetrikwerte eine Wortbreite c gemäß der Ungleichung 2c-1 ≥ L·B aufweist, wobei c die minimale ganze Zahl ist, für die diese Ungleichung erfüllt ist, L die Rückgrifftiefe des Kodes ist und B die kleinste obere Grenze für Differenzen aus Übergangsmetrikwerten ist.
  6. Schaltung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass sämtliche eine ACS-Operation durchführenden Abschnitte (200, 20.2) der Schaltung (ACSU) zum Aktualisieren der Pfadmetrikwerte eine Zweierkomplement-Arithmetik zur Durchführung der Vergleichsoperation aufweisen.
  7. Verfahren zur rekursiven Berechnung von Pfadmetrikwerten in einem Viterbi-Dekodierer, mit den Schritten: – Berechnen von Übergangsmetrikwerten (BM0, BM1, BM2, BM3), wobei durch eine Normierung der Übergangsmetrikwerte (BM0, BM1, BM2, BM3) einer der berechneten Übergangsmetrikwerte (BM3) auf den Wert 0 gesetzt wird und die übrigen berechneten Übergangsmetrikwerte jeweils sowohl positive als auch negative Werte annehmen können; – Aktualisieren der Pfadmetrikwerte (oPMi, nPMi) mittels ACS-Operationen unter Verwendung der berechneten Übergangsmetrikwerte (BM0, BM1, BM2, BM3), wobei zumindest bei denjenigen ACS-Operationen, die den auf den Wert 0 normierten Ü bergangsmetrikwert (BM3) verwenden, die Vergleichsoperation mittels einer Zweierkomplement-Arithmetik ausgeführt wird.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass – bei der Berechnung der Übergangsmetrikwerte (BM0, BM1, BM2, BM3) nach der Normierung eine Skalierung der berechneten Übergangsmetrikwerte (BM0, BM1, BM2, BM3) um einen Faktor kleiner 1 vorgenommen wird.
DE10300268A 2003-01-08 2003-01-08 Schaltung zur Berechnung von Pfadmetriken in Viterbi-Dekodierern Expired - Fee Related DE10300268B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10300268A DE10300268B4 (de) 2003-01-08 2003-01-08 Schaltung zur Berechnung von Pfadmetriken in Viterbi-Dekodierern
US10/752,764 US20040153958A1 (en) 2003-01-08 2004-01-07 Path metric calculation circuit in viterbi decoders

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10300268A DE10300268B4 (de) 2003-01-08 2003-01-08 Schaltung zur Berechnung von Pfadmetriken in Viterbi-Dekodierern

Publications (2)

Publication Number Publication Date
DE10300268A1 DE10300268A1 (de) 2004-07-22
DE10300268B4 true DE10300268B4 (de) 2008-08-21

Family

ID=32519671

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10300268A Expired - Fee Related DE10300268B4 (de) 2003-01-08 2003-01-08 Schaltung zur Berechnung von Pfadmetriken in Viterbi-Dekodierern

Country Status (2)

Country Link
US (1) US20040153958A1 (de)
DE (1) DE10300268B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9705531B2 (en) 2015-02-18 2017-07-11 eTopus Technology Inc. Multi mode viterbi decoder

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0233788A2 (de) * 1986-02-19 1987-08-26 Sony Corporation Viterbi-Dekoder und Verfahren
US5349608A (en) * 1993-03-29 1994-09-20 Stanford Telecommunications, Inc. Viterbi ACS unit with renormalization
EP1223679A1 (de) * 2000-12-21 2002-07-17 Infineon Technologies AG Berechnung und Zuweisung von Übergangsmetrikwerten für einen Viterbi-Dekodierer

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371471A (en) * 1993-10-29 1994-12-06 General Electric Company Low complexity adaptive equalizer radio receiver employing direct reference state updates

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0233788A2 (de) * 1986-02-19 1987-08-26 Sony Corporation Viterbi-Dekoder und Verfahren
US5349608A (en) * 1993-03-29 1994-09-20 Stanford Telecommunications, Inc. Viterbi ACS unit with renormalization
EP1223679A1 (de) * 2000-12-21 2002-07-17 Infineon Technologies AG Berechnung und Zuweisung von Übergangsmetrikwerten für einen Viterbi-Dekodierer

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HEKSTRA, A.P.: An Alternative to Metric Rescalling in Viterbi Decoders. In: IEEE Transactions on Communications, vol. 37, no.11, November 1989, S. 1220-1222 *
SHUNG, C.B. (u.a.): VLSI Architectures for Metric Normalization in the Viterbi Algorithm. In: IEEE International Conference on Communications, 16.-19 . April 1990, Conference Record,vol. 4, S.1723-172 8. *

Also Published As

Publication number Publication date
DE10300268A1 (de) 2004-07-22
US20040153958A1 (en) 2004-08-05

Similar Documents

Publication Publication Date Title
DE69029542T2 (de) Viterbidekodierer
DE69513720T2 (de) Codiereinrichtung für punktierten Faltungscode
DE3910739C3 (de) Verfahren zum Verallgemeinern des Viterbi-Algorithmus und Einrichtungen zur Durchführung des Verfahrens
DE69024282T2 (de) Verallgemeinernder Viterbi-Dekodier-Algorithmus
DE69735200T2 (de) Verfahren zu metrikbestimmung in einem übertragungssystem
DE60001988T2 (de) Turbo Dekodierung mit variabler Anzahl von Iterationen
DE60113053T2 (de) Vor-Dekoder für Turbodekoder, zur Rückgewinnung von punktierten Paritätssymbolen, sowie ein Verfahren zur Rückgewinnung eines Turbokodes
DE60037963T2 (de) Turbo-Dekodierung mit Soft-Output Viterbi Dekoder
DE69925151T2 (de) Effiziente normalisierung vom trelliszustandsmetrischem wert
DE112004002008B4 (de) Vereinheitlichter Viterbi/Turbo-Decoder für mobile Telekommunikationssysteme
EP0737389B1 (de) Übertragungssystem mit soft-output-dekodierung bei reduziertem speicherbedarf
DE60120723T2 (de) Iterationsabbruch für Turbodecodierer
DE69427630T2 (de) Integrierte Schaltung mit Koprozessor zur Viterbi-Dekodierung
DE10196688B3 (de) Ein Decodierer für eine trellis-basierte Kanalcodierung
DE19937506A1 (de) ACS-Einheit für einen Viterbi-Decodierer
DE10310812B4 (de) Dekodiervorrichtung, Trellis-Prozessor und Verfahren
DE69130717T2 (de) Maximalwahrscheinlichkeitssequenzdetektor
DE10102928B4 (de) Viterbi-Decoder und Verfahren zur Decodierung
EP1269633B1 (de) Optimierter turbo-decodierer
DE10300268B4 (de) Schaltung zur Berechnung von Pfadmetriken in Viterbi-Dekodierern
EP1334563A2 (de) Verfahren und vorrichtung zum dekodieren einer folge physikalischer signale, zuverlässigkeitswert-ermittlungseinheit und viterbi-dekodiereinheit
EP1249074B1 (de) Verfahren zur decodierung eines datensignals
DE60118716T2 (de) Log-MAP Dekodierung
DE69619966T2 (de) Verfahren zur Erzeugung von Verzweigungsmetriken und ein Empfänger für ein Mobiltelefon
DE69901566T2 (de) Schnelle metrikberechnung für einen viterbi- dekoder

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee