DE102004003096B3 - Schaltung zur Durchführung der Add-Compare-Select-Operation mit darüber hinausgehender Funktionalität - Google Patents

Schaltung zur Durchführung der Add-Compare-Select-Operation mit darüber hinausgehender Funktionalität Download PDF

Info

Publication number
DE102004003096B3
DE102004003096B3 DE102004003096A DE102004003096A DE102004003096B3 DE 102004003096 B3 DE102004003096 B3 DE 102004003096B3 DE 102004003096 A DE102004003096 A DE 102004003096A DE 102004003096 A DE102004003096 A DE 102004003096A DE 102004003096 B3 DE102004003096 B3 DE 102004003096B3
Authority
DE
Germany
Prior art keywords
circuit
output
add
state
input
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
DE102004003096A
Other languages
English (en)
Inventor
Norbert Neurohr
Mario Steinert
Ingo Feldner
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 DE102004003096A priority Critical patent/DE102004003096B3/de
Priority to US11/040,984 priority patent/US7565601B2/en
Application granted granted Critical
Publication of DE102004003096B3 publication Critical patent/DE102004003096B3/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • 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

Abstract

Die erfindungsgemäße Schaltung (ACS2) ist zur Durchführung von Add-Compare-Select-Operationen bei der Bestimmung von Zustandsmetriken ausgelegt. Ferner ist die Schaltung zur Durchführung einer über eine Add-Compare-Select-Operation zur Zustandsmetrik-Bestimmung hinausgehenden Rechenoperationen ausgelegt, wobei die Schaltung dazu entweder konfigurierbar ist und/oder einen Ausgang (A2, A3, A4) zur Ausgabe mindestens einer über die Ausgabegröße der Add-Compare-Select-Operation hinausgehenden Schaltungs-internen Größe aufweist.

Description

  • Die Erfindung betrifft eine Schaltung zur Durchführung von Rechenoperationen eines Trellis-basierten Algorithmus, wobei die Schaltung zur Durchführung einer Add-Compare-Select-Operation (ACS-Operation) bei der Bestimmung von Zustandsmetriken ausgelegt ist. Ferner betrifft die Erfindung die Verwendung einer derartigen Schaltung.
  • Wichtiger Bestandteil in der Basisband-Signalverarbeitung fortgeschrittener drahtloser Kommunikationssysteme wie Mobilfunksystemen der dritten Generation (3G-Systeme) ist die sendeseitige Kanalkodierung und die empfangsseitige Kanaldekodierung. Bei auf dem 3GPP-Standard (3GPP – 3rd Generation Partnership Project) basierenden Systemen kommen technisch anspruchsvolle Kanalkodierverfahren basierend auf der Faltungskodierung und auf der Turbokodierung zur Anwendung. Insbesondere Turbo-Codes bieten eine herausragende Störfestigkeit, wobei im Vergleich zu anderen Kanalkodierverfahren auch bei wesentlich geringerer Sendeleistungen eine noch ausreichend geringe Bitfehlerrate oder bei höherer Sendeleistung eine deutlich geringere Bitfehlerrate erzielt werden können.
  • Die Komplexität des Kodierers ist dabei grundsätzlich im Vergleich zur Komplexität des Dekodierers vernachlässigbar. Derartige Dekodierer arbeiten im Allgemeinen mit Hilfe sogenannter Trellis-basierter Algorithmen, zu denen der Viterbi-Algorithmus, der Maximum-a-Posteriori-Algorithmus (MAP) und der Soft-Output-Viterbi-Algorithmus (SOVA) zählen.
  • Typischerweise werden bei Turbo-Dekodierern zwei Soft-Input/Soft-Output-Teil-Dekodierer (SISO-Dekodierer) verwendet, zwischen denen ein Informationsaustausch stattfindet, wobei der gesuchte dekodierte Wert iterativ bestimmt wird. In den Teil-Dekodierern kommen entweder der MAP-Algorithmus oder der SOVA zum Einsatz. Für einen Dekodierer bei Faltungscodes ist im Gegensatz zu einem Turbo-Dekodierer ein SISO-Dekodierer nicht zwingend erforderlich; häufig wird daher zur Dekodierung bei Faltungscodes ein einfacher Viterbi-Algorithmus ohne Soft-Output oder auch der MAP-Algorithmus verwendet.
  • Aufgrund der Komplexität derartiger Dekodierverfahren sind zur Realisierung von verlustleistungsarmen und handlichen Mobilgeräten Basisbandschaltungen notwendig, welche hinsichtlich der Leistungsaufnahme, der Fläche und dem Datendurchsatz besonders effizient ausgestaltet sind. Dies erfordert Lösungen mit einem hohen Maß an Flexibilität, so dass insbesondere verschiedene Kanalkodierverfahren bzw. Kanaldekodierverfahren für einen oder auch mehrere Standards (beispielsweise UMTS und GSM) auf einer gemeinsamen Hardware implementiert werden können. Rein Software-basierende Lösungen auf Standard-Prozessoren gewährleisten grundsätzlich ein hohes Maß an Flexibilität, wobei diese hinsichtlich der Datendurchsatzrate und der Verlustleistung Schwächen aufweisen. Alternative Lösungen in dedizierter Hardware, welche bei einer vergleichsweise geringen Verlustleistungsaufnahme eine hohe Datendurchsatzrate ermöglichen, weisen grundsätzlich den Nachteil auf, dass die Hardware wenig flexibel eingesetzt werden kann.
  • Aus der Druckschrift „A Low Power VLSI Architecture of SOVA-based Turbo-code decoder using Scarce State Transition Scheme", Wang et al., ISCAS 2000, Vol. 1, Seiten 283 – 286, ist ein Turbo-Dekodierer mit SOVA-basierter SISO-Teil-Dekodiererung bekannt. Ein SISO-Teil-Dekodierer umfasst einen sogenannten ACS-Block, wobei der ACS-Block wiederum eine Einheit zur Berechnung der intrinsischen Information, eine Einheit zur Berechnung der Übergangsmetriken und eine Einheit zur Durchführung der eigentlichen ACS-Operation beinhaltet. Außerdem berechnet der ACS-Block anhand der Pfadmetriken des Maximum-Likelihood-Pfades und des nebenläufigen Pfades eine Zuverlässigkeitsinformation.
  • Aus der Druckschrift „On the Equivalence Between SOVA and Max-Log-MAP Decodings", Marc P. C. Fossorier et al., IEEE Communications Letters, Vol. 2, No. 5. Mai 1998, Seiten 137 – 139, ist bekannt, dass der SOVA bei einer geringen Modifikation zu dem Max-Log-MAP-Algorithmus äquivalent ist.
  • In dem Lehrbuch „Digital Communication – Fundamentals and Applications", B. Sklar, 2. Auflage, Prentice Hall, 2001, Seiten 405 – 407, ist beschrieben, dass zwei ACS-Schaltungen zu einer Butterfly-ACS-Schaltung kombiniert werden können, um ein sogenanntes Butterfly des Trellis-Diagramms zu berechnen.
  • Aus der Druckschrift „Parallel Viterbi Algorithm Implementation: Breaking the ACS-Botteneck", G. Fettweis et al., IEEE Transactions on Communications, Vol. 37, No. 8, August 1989, ist die technische Lehre bekannt, in einem Viterbi-Dekodierer eine Mehrzahl von ACS-Schaltungen vorzusehen, um zeitlich parallel mehrere ACS-Operationen durchzuführen.
  • Es ist Aufgabe der Erfindung, schaltungstechnische Maßnahmen zur Realisierung eines effizient arbeitenden Dekodierers anzugeben.
  • Die der Erfindung zugrunde liegende Aufgabenstellung wird durch die Merkmale der unabhängigen Ansprüche 1, 8 und 22 gelöst.
  • Ausgangspunkt der erfindungsgemäßen Lösung ist eine Rechenschaltung für einen Trellis-basierten Algorithmus, welche zur Durchführung einer ACS-Operation bei der Bestimmung von Zustandsmetriken ausgelegt ist. Derartige Rechenschaltungen sind grundsätzlich aus dem Stand der Technik bekannt, beispielsweise aus dem Lehrbuch "Digital Communications" von Bernard Sklar, 2nd Edition, Prentice Hall, 2001, Seiten 406 – 407 sowie 7.14. Diese weisen Eingänge zur Aufnahme von Zustands- und Übergangsmetriken auf, wobei jeweils Zustands- und Übergangsmetriken durch eine Add-Teiloperation, d. h. durch Addierer, verknüpft werden. Die Ausgangssignale der Add-Teiloperation – im Allgemeinen werden zwei Additionen durchgeführt – werden einem Mittel zum Vergleichen (Compare-Teiloperation) zugeführt, welches im Allgemeinen als Komperator oder als Subtrahierer ausgestaltet ist. In Abhängigkeit des Ausgangssignals des Subtrahierers wird ein Multiplexer (Select-Teiloperation) gesteuert, welcher entweder das Ergebnis der ersten oder der zweiten Add-Teiloperation ausgangsseitig ausgibt. Dabei umfasst die ACS-Operation neben der Ausgabe der ausgewählten Zustandsmetrik auch die Ausgabe des der ausgewählten Zustandsmetrik zugeordneten Übergangs (auch Traceback-Bit genannt). Derartige Rechenschaltungen können auch als sogenannte Butterfly-ACS-Schaltungen ausgeführt sein. In diesem Fall wird ein sogenannter Butterfly des Trellis-Diagramm berechnet. Die ACS-Operation bei der Bestimmung der Zustandsmetrik findet grundsätzlich bei der Zustandsmetrik-Berechnung des Viterbi-Algorithmus sowie bei der Vorwärts- und Rückwärts-Zustandsmetrik-Berechnung des Max-Log-MAP-Algorithmus Verwendung.
  • Kern des Erfindungsgedankens gemäß einem ersten Aspekt der Erfindung nach Anspruch 1 ist es, eine Rechenschaltung dahingehend zu erweitern, dass diese eine über die ACS-Operation hinausgehende Rechenoperation durchzuführen vermag. Dies wird dadurch erreicht, dass die erfindungsgemäße Schaltung konfigurierbar ist und/oder einen Ausgang zur Ausgabe mindestens einer über die Ausgabegröße der ACS-Operation hinausgehenden Größe aufweist, wobei die Größe eine Zwischengröße im Signalpfad zur Durchführung der Add-Compare-Select-Operation ist. Eine über die ACS-Operation hinausgehende Rechenoperation ist beispielsweise eine Operation zur Bestimmung von Übergangsmetriken.
  • Vorteil der erfindungsgemäßen Erweiterung der bekannten Grundschaltung ist eine Mehrfachnutzung für verschiedene Berechnungsaufgaben. Derartig erweiterte und damit in Bezug auf die durchzuführende Rechenoperation flexible Schaltungen sind besonders als Datenpfad für die Kernoperationen zum Einsatz in sogenannten anwendungsspezifischen Prozessoren geeignet. Anwendungsspezifisch meint hier beispielsweise die Verwendung des Prozessors für die Durchführung eines Trellis-basierten Algorithmus. Im Gegensatz zu operationsgebundener dedizierter Hardware ist ein anwendungsspezifischer Prozessor mit einer oder einer Mehrzahl von parallel arbeitenden Schaltungen als Datenpfad gemäß Anspruch 1 durch die Mehrfachnutzung flexibler einsetzbar. Insbesondere weist ein anwendungsspezifischer Prozessor daher gegenüber der Realisierung in dedizierter Hardware deutliche Vorteile hinsichtlich der benötigten Chip-Fläche auf. Ferner wird durch eine Projekt-übergreifende Verwendung eines derartigen Prozessors die Entwicklungszeit für eine Basisband-Chip-Lösung reduziert. Im Vergleich zu einem Standard-Prozessor, beispielsweise einem DSP, ergibt sich der Vorteil, dass die Verarbeitungsgeschwindigkeit und der Datendurchsatz wesentlich höher sind. Dieser Vorteil wird insbesondere durch die parallele Datenverarbeitung mehrerer Schaltung gemäß dem Anspruch 1 verstärkt. Außerdem arbeitet ein derartiger anwendungsspezifischer Prozessor im Vergleich zu einem Standard-Prozessor hinsichtlich der Verlustleistung effizienter.
  • Dabei nutzt die Erfindung die Erkenntnis aus, dass eine Vielzahl von Rechenoperationen hinsichtlich eines Trellisbasierten Algorithmus der ACS-Operation bei der Bestimmung der Zustandsmetriken sehr ähnlich sind; diese Operationen können daher mit nur geringfügigen Änderungen an der Struktur der Grundschaltung auf eine erweiterte Schaltung als optimierter Datenpfad gemäß Anspruch 1 abgebildet werden.
  • Neben der Verwendung der erfindungsgemäßen Schaltung gemäß Anspruch 1 in einem Dekodierer, welcher nach einem Trellisbasierten Algorithmus arbeitet, kann die erfindungsgemäße Schaltung auch in einem Entzerrer eingesetzt werden, welcher nach einem Trellis-basierten Algorithmus arbeitet, beispielsweise ein Maximum-Likelihood-Entzerrer basierend auf einem Viterbi-Algorithmus. Denkbar wäre es sogar, die erfindungsgemäße Schaltung im Zeitmultiplex-Betrieb sowohl für die Dekodierung als auch für die Entzerrung zu verwenden.
  • Vorzugsweise ist der Trellis-basierte Algorithmus mindestens einer der folgenden Algorithmen:
    • – der Viterbi-Algorithmus,
    • – ein logarithmisch arbeitender MAP-Algorithmus, insbesondere der Max-Log-MAP-Algorithmus, oder
    • – der Soft-Output-Viterbi-Algorithmus.
  • Insbesondere kann die Schaltung auch für die Durchführung von Rechenoperationen hinsichtlich mehrerer der obigen Algorithmen einsetzbar sein. Die Bevorzugung des logarithmisch arbeitenden MAP-Algorithmus, insbesondere des Max-Log-MAP-Algorithmus, vor dem allgemeinen MAP-Algorithmus ist dadurch begründet, dass ein logarithmisch arbeitender MAP-Algorithmus mit Additionen und Subtraktionen anstatt Multiplikationen und Divisionen wie beim MAP-Algorithmus auskommt. Daher sind Rechenoperationen eines logarithmischen MAP-Algorithmus grundsätzlich mit der ACS-Operation eng verwandt, beispielsweise ist bei dem Max-Log-MAP-Algorithmus und bei dem Viterbi-Algorithmus die Bestimmung der Zustandsmetriken identisch.
  • Vorzugsweise ist die erfindungsgemäße Schaltung zur Durchführung von über die ACS-Operation hinausgehenden Rechenoperationen für die Bestimmung von Übergangsmetriken ausgelegt. Die erfindungsgemäße Schaltung kann in diesem Fall nicht nur Zustandsmetriken, sondern zusätzlich noch Übergangsmetriken berechnen. Insbesondere zu diesem Zweck kann es vorgesehen sein, dass mindestens ein in der Schaltung zur Durchführung der ACS-Operation vorgesehenes Rechenmittel zum Addieren oder Subtrahieren auch als konfigurierbares Rechenmittel zum Subtrahieren bzw. Addieren umschaltbar ist. Ferner kann es vorzugsweise vorgesehen sein, dass eine Ausgabegröße eines Rechenmittels zum Addieren oder Subtrahieren – insbesondere die Ausgabegröße des die Compare-Teiloperation durchführenden Rechenmittels und/oder die Ausgabegrößen der die Add-Teiloperation durchführenden Rechenmittel – am Ausgang der Schaltung ausgelesen werden kann.
  • Übergangsmetriken für die einzelnen Zustandsübergänge eines Trellis-Diagramms werden grundsätzlich derart bestimmt, dass nach einer vom Zustandsübergang abhängigen Berechnungsvorschrift mehrere Soft-Input-Eingangswerte durch Additionen oder Subtraktionen verknüpft werden. Durch entsprechendes Schalten der erfindungsgemäß konfigurierbaren Rechenmittel über Steuersignale lässt sich mit der erfindungsgemäßen Schaltung jede Übergangsmetrik für jeden Zustandsübergang berechnen und bei entsprechender Verfügbarkeit des Ausgangs des Rechenmittels auch leicht ausgangsseitig auslesen. Dabei kann eine berechnete Übergangsmetrik durch die erfindungsgemäße Schaltung entweder in einem Signaldurchlauf berechnet werden oder es findet im ersten Signaldurchlauf lediglich eine Teiloperation statt, deren Ergebnis ausgangsseitig abgegriffen und eingangsseitig von derselben oder einer anderen erfindungsgemäßen Schaltung weiterverarbeitet wird. Die Berechnung von Übergangsmetriken ist grundsätzlich für jeden Trellisbasierten Algorithmus erforderlich. Insbesondere ist es im Sinne der Erfindung, dass die über die ACS-Operation hinausgehenden Rechenoperationen die Bestimmung von Übergangsmetriken sowohl des Viterbi- als auch des Max-Log-MAP-Algorithmus betreffen.
  • Die Konfigurierbarkeit eines Rechenmittels oder die ausgangsseitige Verfügbarkeit des Ausgabesignals eines Rechenmittels muss dabei nicht unbedingt mit der Berechnung von Übergangsmetriken in Verbindung stehen. Dass eine oder mehrere Ausga begrößen der Rechenmittel zum Addieren und Subtrahieren am Ausgang der Schaltung abgegriffen werden, bietet insbesondere den Vorteil, dass die bei der aus dem Stand der Technik bekannten ACS-Schaltung obligatorische Maximum-Bildung umgangen werden kann. Dies kann bei der Berechnung der Zuverlässigkeitsinformation beim Max-Log-MAP-Algorithmus von Vorteil sein, da die beiden Schaltungs-internen Ausgangswerte der Add-Teiloperation ohne Durchführung der Maximum-Bildung zur Berechnung der Zuverlässigkeitsinformation ausgelesen werden müssen.
  • Vorteilhafterweise ist die Schaltung derart ausgestaltet, dass das höchstwertigste Bit des Steuersignals des die Compare-Teiloperation durchführenden Rechenmittels einem Inverter zugeführt wird, dessen Ausgangsgröße als Traceback-Bit für den Viterbi-Algorithmus am Ausgang der Schaltung ausgelesen werden kann. Das Traceback-Bit kann in einem Speichermittel abgelegt werden. Zur späteren Angabe des entschiedenen Bits oder einer entschiedenen Bitfolge über einen sogenannten Traceback wird auf diese Information zurückgegriffen.
  • Nach einer vorteilhaften Ausgestaltung der Schaltung betreffen die mit der Schaltung durchführbaren Rechenoperationen sowohl den Viterbi-Algorithmus als auch den Max-Log-MAP-Algorithmus. Dies bedeutet, dass die Schaltung für beide Algorithmen einsetzbar ist. Dies bietet im Vergleich zu Lösungen, bei welchen eine Rechenschaltung nur einem Algorithmus zugeordnet ist, den Vorteil, dass bei einem auf der Schaltung basierenden Dekodierer, welcher beide Algorithmen beherrscht, Chipfläche eingespart werden kann.
  • Vorteilhafterweise betreffen die mit der Schaltung durchführbaren Rechenoperationen
    • – die Übergangsmetrik-Berechnung sowohl des Viterbi-Algorithmus als auch des Max-Log-MAP-Algorithmus,
    • – die Zustandsmetrik-Berechnung des Viterbi-Algorithmus,
    • – die Vorwärts- und Rückwärts-Zustandsmetrik-Berechnung des Max-Log-MAP-Algorithmus,
    • – die Bestimmung der Traceback-Bits des Viterbi-Algorithmus, und
    • – die Bestimmung der Soft-Output-Werte als Zuverlässigkeitsinformationen aus den Zustandsmetriken gemäß dem Max-Log-MAP-Algorithmus.
  • Dies bedeutet, dass auf die erfindungsgemäße Schaltung alle wesentlichen Berechnungen des Max-Log-MAP- und des Viterbi-Algorithmus abgebildet werden können. Außerdem ist es denkbar, dass die Schaltung ferner Operationen zur Bestimmung der Zuverlässigkeitsinformation beim Max-Log-MAP-Algorithmus durchführt; dies wird weiter unten noch genauer ausgeführt. Die erfindungsgemäße Schaltung ist damit als universeller Datenpfad einsetzbar, wodurch für einen auf der Schaltung basierenden Dekodierer als anwendungsspezifischer Prozessor im Vergleich zu einem auf dedizierter Hardware basierenden Dekodierer Chipfläche eingespart werden kann. Im Vergleich zu einem Dekodierer, welcher als Software-basierter Standard-Prozessor implementiert ist, wird jedoch eine ausreichende Datendurchsatzrate gewährleistet. Die erfindungsgemäße Schaltung kann somit zur Durchführung von Operationen für die Turbo-Dekodierung nach dem Max-Log-MAP als auch zur Durchführung von Operationen für die Faltungsdekodierung nach dem Viterbi-Algorithmus eingesetzt werden.
  • Die erfindungsgemäße Schaltung gemäß einem zweiten Aspekt der Erfindung nach Anspruch 8 basiert – wie die Schaltung nach Anspruch 1 – auf einer ACS-Schaltung. Dabei wird die erfindungsgemäße Schaltung gemäß Anspruch 8 für einen Soft-Output-Viterbi-Algorithmus eingesetzt. Wesentlicher Gedanke gemäß dem zweiten Aspekt der Erfindung ist, dass die erfindungsgemäße Schaltung ein zusätzliches Mittel zum Bestimmen eines Minimums aufweist, welches für die Durchführung mindestens einer über die ACS-Operation hinausgehenden Rechenoperation verwendet wird.
  • Der Soft-Output-Viterbi-Algorithmus (SOVA) basiert auf dem einfachen Viterbi-Algorithmus. Im Gegensatz zu dem einfachen Viterbi-Algorithmus bewirkt der SOVA, dass zusätzlich zu der dekodierten Bitfolge auch noch eine Zuverlässigkeitsinformation zu jedem Bit erzeugt wird. Daher handelt es sich – wie vorstehend beschrieben – bei dem SOVA um einen SISO-Algorithmus, welcher sich für die Anwendung in einem Teil-Dekodierer eines Turbo-Dekodierers eignet. Die Bestimmung des Maximum-Likelihood-Pfades (ML-Pfades) – also der sogenannten "hart" entschiedenen Information (hard decision) – ist bei dem einfachen Viterbi-Algorithmus und dem SOVA identisch. Die zusätzliche Zuverlässigkeitsinformation zu jedem einzelnen entschiedenen Bit, welche einem Soft-Output-Wert entspricht, wird aus der Differenz der Zustandsmetriken des ML-Pfads und des sogenannten nebenläufigen Pfades bestimmt. Der nebenläufige Pfad zeichnet sich dadurch aus, dass dieser in den gleichen Zustand wie der ML-Pfad mündet, jedoch eine geringere Pfadmetrik als der ML-Pfad aufweist. Der SOVA ist in dem Lehrbuch "Digital Communications" von John G. Proakis, 4th Edition, McGraw-Hill, Seite 509, in seinen Grundzügen beschrieben. Genauere Ausführungen zum SOVA finden sich in dem Artikel "A Viterbi Algorithm with Soft-Decision Outputs and its Applications", J. Hagenauer u. Peter Hoeher, IEEE Globecom 1989, Seiten 1680 bis 1685.
  • Für die Bestimmung der Zuverlässigkeitsinformation nach dem SOVA sind eine oder mehrere verschiedene bedingte Operationen erforderlich, welche auf der Bestimmung eines Minimums basieren. Diese werden erfindungsgemäß durch die im Sinne des Anspruchs 8 erweiterte Schaltung vorgenommen. Im Sinne der Erfindung kann dazu das Ergebnis der Operation nur bei Vorliegen einer von den Eingangsgrößen der Schaltung erfüllten Bedingung ausgegeben werden. Nach einer alternativen Ausgestaltung der Schaltung kann auch kontinuierlich ein Ergebnis ausgegeben werden, dieses wird jedoch nur bei Vorliegen einer von den Eingangsgrößen der Schaltung erfüllten Bedingung, beispielsweise durch Setzen eines bestimmten Ausgabebits, als gültig markiert.
  • Vorteil der erfindungsgemäßen Schaltung gemäß Anspruch 8 ist, dass die Schaltung neben der ACS-Operation für weitere im Zusammenhang mit dem SOVA stehenden Rechenoperationen verwendet werden kann. Dies bedeutet, dass Hardware für mehrere Rechenoperationen gemeinsam genutzt wird, so dass die Chipfläche eines auf der erfindungsgemäßen Schaltung basierenden Dekodierers gegenüber einer auf dedizierter Hardware basierenden Lösung reduziert wird. Im Vergleich zu einem Dekodierer, welcher als Software-basierter Standard-Prozessor implementiert ist, wird jedoch eine ausreichende Datendurchsatzrate gewährleistet.
  • Vorteilhafterweise ist die mindestens eine über die ACS-Operation hinausgehende Rechenoperation entweder die Bestimmung der Pfadmetrik des zum ML-Pfad nebenläufigen Pfades zum Zeitschritt k oder die Bestimmung der Differenz der Metriken des nebenläufigen Pfades und des ML-Pfades zum Zeitschritt k. Zu diesem Zweck nimmt die Schaltung zusätzlich zu mehreren Zustandsmetriken und einer oder mehreren Übergangsmetriken eine oder mehrere zusätzliche Eingangsgrößen auf, welche die Zugehörigkeit der einzelnen Zustandsmetriken zum Zeitschritt k-1 zum ML-Pfad signalisieren. Es ist dabei von Vorteil, wenn die Schaltung einen ersten Eingang zur Aufnahme eines ersten Signalisierungs-Bits, welches einer als Eingangsgröße eingelesenen ersten Zustandsmetrik zugeordnet ist, und einen zweiten Eingang zur Aufnahme eines zweiten Signalisierungs-Bits, welches einer als Eingangsgröße eingelesenen zweiten Zustandsmetrik zugeordnet ist, umfasst. In diesem Fall signalisieren das erste und das zweite Signalisierungs-Bit die Zugehörigkeit der ersten bzw. der zweiten eingelesenen Zustandsmetrik zum ML-Pfad.
  • Grundsätzlich kann der SOVA zur Minimierung des Speicheraufwands als mehrschrittiger SOVA ausgeführt werden. In einem ersten Schritt wird ein einfacher Viterbi-Algorithmus durchgeführt, um den ML-Pfad zu bestimmen. In einem zweiten Schritt wird unter anderem eine erneute Vorwärts-Rekursion vorgenommen. Dabei ist grundsätzlich für jeden Zustand eine ACS-Operation durchzuführen. Jedoch ist zur Angabe einer Zuverlässigkeitsinformation zusätzlich lediglich für den einen Zustand, durch den der ML-Pfad führt, die Differenz der Pfadmetriken des ML-Pfades und des jeweiligen nebenläufigen Pfades zu bestimmen. Die Pfadmetrik des ML-Pfades ist in diesem Fall das Maximum und die des nebenläufigen Pfades das Minimum zweier Pfadmetriken, deren zugeordnete Pfade in den gleichen Zustand münden. Dabei wird sowohl das Maximum als Teil der gewöhnlichen ACS-Operation als auch das lediglich pro Zeitschritt k nur einmal zu bestimmende Minimum von der erfindungsgemäßen Schaltung berechnet. Dadurch, dass die erfindungsgemäße Schaltung Eingänge zur Aufnahme entsprechender Signalisierungs-Bits, welche die Zugehörigkeit der jeweiligen Zustandsmetrik zum ML-Pfad signalisieren, aufweist, kann innerhalb der Schaltung entschieden werden, ob ein Minimum berechnet werden muss oder nicht. Damit ein Minimum berechnet wird, muss ein Signalisierungs-Bit die Zugehörigkeit der entsprechenden Zustandsmetrik zum ML-Pfad signalisieren. Beispielsweise ist die Zugehörigkeit dann gegeben, wenn das Signalisierungs-Bit der logischen 1 entspricht. Dabei ist es grundsätzlich denkbar, dass das Signalisierungs-Bit das höchstwertigste Bit eines gemeinsamen Worts bestehend aus Zustandsmetrik und zugehörigem Signalisierungs-Bit bildet.
  • Dabei nutzt die Erfindung die Erkenntnis aus, dass die ACS-Operation und die bei der zusätzlichen Vorwärts-Rekursion durchgeführte Bestimmung der Pfadmetrik des nebenläufigen Pfades sich grundsätzlich nur dadurch unterscheidet, dass im ersten Fall ein Maximum und im zweiten Fall ein Minimum bestimmt werden. Durch die erfindungsgemäße Erweiterung der Schaltung können beide Operationen mit Hilfe derselben Hardware-Schaltung durchgeführt werden. Die zusätzlichen Eingänge bestimmen, ob die Minimum-Bildung gültig ist.
  • Nach einer vorteilhaften Ausgestaltung der erfindungsgemäßen Schaltung umfasst die Schaltung einen dritten Eingang zur Aufnahme des den Übergang vom Zeitschritt k-1 zum Zeitschritt k betreffenden entschiedenen Bits des ML-Pfads. Neben der Angabe der Signalisierungs-Bits, welche die Zugehörigkeit der jeweiligen Zustandsmetrik zum ML-Pfad angeben, ist die Ausgabe des Ergebnisses der Minimum-Operation bzw. deren Markierung von dem bereits entschiedenen Bit des ML-Pfades abhängig, welches dem Übergang eines Zustands des ML-Pfades zum Zeitschritt k-1 auf einen Zustand zum Zeitschritt k zugeordnet ist. Dies liegt darin begründet, dass ein Zustand des ML-Pfades zum Zeitschritt k-1 zwei Zustandsübergange aufweist, wovon nur einer in einen Zustand des ML-Pfades zum Zeitschritt k mündet. Gemäß dem SOVA soll aber nur die Pfadmetrik des nebengeordneten Pfades, welcher in den Zustand des ML-Pfades zum Zeitschritt k mündet, unter Verwendung einer Minimum-Operation bestimmt werden. Durch die erfindungsgemäße Berücksichtigung des entschiedenen Bits, welches dem Übergang eines Zustands des ML-Pfades zum Zeitschritt k-1 auf einen Zustand zum Zeitschritt k zugeordnet ist, kann der wahrscheinlichere Übergang der beiden möglichen Übergange vom Zeitschritt k-1 auf den Zeitschritt k schaltungsintern erkannt werden und so bei der Ausgabe des Ergebnisses der Minimum-Operation bzw. deren Markierung berücksichtigt werden.
  • Vorteilhafterweise ist die Schaltung derart ausgestaltet, dass diese einen ersten Ausgang aufweist und ein drittes Signalisierungs-Bit über den ersten Ausgang ausgegeben wird. Das dritte Signalisierungs-Bit ist der durch die ACS-Operation bestimmten Zustandsmetrik zum Zeitschritt k zugewiesen und signalisiert die Zugehörigkeit dieser Zustandsmetrik zum ML-Pfad. Dabei ist die Schaltung derart ausgestaltet, dass das dritte Signalisierungs-Bit die Zugehörigkeit zum ML-Pfad nur dann signalisiert, wenn entweder das erste oder das zweite Signalisierungs-Bit die Zugehörigkeit der entsprechenden Zustandsmetriken zum Zeitschritt k-1 signalisiert.
  • Schaltungstechnisch kann dies insbesondere durch eine Verknüpfung des ersten und des zweiten Signalisierungs-Bits über ein OR-Gatter oder ein XOR-Gatter implementiert werden. Der Wert des dritten Signalisierungs-Bits ist neben dem ersten und zweiten Signalisierungs-Bit auch von dem entschiedenen Bit des ML-Pfades abhängig.
  • Durch diese Maßnahme wird also bewirkt, dass während der zusätzlichen Vorwärts-Rekursion die Schaltung ausgehend von den Zustandsmetriken zum Zeitschritt k-1 diejenige Zustandsmetrik zum Zeitschritt k durch Wahl des dritten Signalisierungs-Bits markiert, welche zum ML-Pfad gehört. Bei der nachfolgenden Vorwärts-Rekursion ausgehend von den Zustandsmetriken zum Zeitschritt k wird der Wert des dritten Signalisierungs-Bits als erstes bzw. zweites Signalisierungs-Bit zusammen mit der entsprechenden Zustandsmetrik eingangsseitig der Schaltung eingeprägt. Da die Vorwärts-Rekursion sukzessiv für alle Zeitschritte durchgeführt wird, werden so alle zum ML-Pfad gehörenden Zustandsmetriken durch Setzen der zugehörigen Signalisierungs-Bits, beispielsweise auf eine logische 1, markiert. Dies setzt natürlich voraus, dass zum Zeitpunkt k=0 der ML-Pfad im sogenannten Null-Zustand startet und das zugehörige Signalisierungs-Bit gesetzt wird.
  • Vorteilhafterweise ist alternativ oder auch darüber hinaus eine über die ACS-Operation hinausgehende Rechenoperation die SOVA-spezifische Aktualisierung eines Soft-Output-Wertes L(k-i) zu einem zurückliegenden Zeitschritt k-i innerhalb eines Aktualisierungsfensters, wobei i eine ganze Zahl ist. Zu diesem Zweck werden die zur Aktualisierung notwendigen Soft-Output-Werte über die Eingänge eingelesen, welche den Zustands- und/oder Übergangsmetriken zugewiesen sind. Dabei umfasst die Schaltung einen ersten Eingang zur Aufnahme des zu dem Zeitschritt k-i gehörenden Bits des ML-Pfades und einen zweiten Eingang zur Aufnahme des zu einem Zeitschritt k-i gehörenden Bits des nebenläufigen Pfades. Dabei ist es von Vorteil, wenn die Schaltung derart ausgestaltet ist, dass diese einen ersten Ausgang aufweist, wobei der Wert eines über den ersten Ausgang ausgegebenen dritten Signalisierungs-Bits davon abhängt, ob die an dem ersten Eingang und an dem zweiten Eingang eingelesenen Bits identisch sind oder nicht.
  • Erfindungsgemäß kann somit die erfindungsgemäße Schaltung auch für den sogenannten Secondary-Traceback des SOVA, welcher sich im Algorithmus an die zusätzliche Vorwärts-Rekursion anschließt und die Aktualisierung der Soft-Output-Werte L(k-i) zu einem Zeitschritt k für alle Zeitschritte k-i mit i = 1, 2, ..., ws (ws = Fenstergröße) umfasst, verwendet werden.
  • Die Aktualisierungsvorschrift des Secondary-Traceback lautet: L(k-i) ← min(Δ(k), L(k-i)), sofern U1(k-i) ≠ U2(k-i) (1).
  • Dabei bezeichnen Δ(k) die Metrik-Differenz zwischen dem ML-Pfad und dem nebenläufigen Pfad zum Zeitschritt k, U1(k-i) das entschiedene Bit des ML-Pfades zum Zeitschritt k-i, U2(k-i) das Bit des nebenläufigen Pfades zum Zeitschritt k-i und L(k-i) den Soft-Output-Wert zum Zeitschritt k-i. Nach Glg. 1 wird somit nur dann eine Minimum-Bestimmung durchgeführt, falls das Bit U1(k-i) des ML-Pfades und das Bit U2(k-i) des nebenläufigen Pfades verschieden sind. Es handelt sich also um eine bedingte Bestimmung eines Minimums. Daher werden erfindungsgemäß das zu dem Zeitschritt k-i gehörende Bit U1(k-i) des ML-Pfades und das zu dem Zeitschritt k-i gehörende Bit U2(k-i) des nebengeordneten Pfades über den ersten Eingang bzw. über den zweiten Eingang in die Schaltung eingeprägt. Sind beide Bits verschieden, wird das Ergebnis einer Minimum-Operation ausgegeben bzw. als gültig markiert. Dafür bietet es sich an, die über den ersten und den zweiten Eingang aufgenommenen Bits über ein XOR-Gatter zu verknüpfen.
  • Vorteilhafterweise ist die Schaltung zur Durchführung der ersten oder der zweiten vorstehend beschriebenen SOVA-spezifischen Operationen derart ausgestaltet, dass der Wert des dritten Signalisierungs-Bits das Ergebnis der über die ACS-Operation hinausgehenden Rechenoperation als gültig oder ungültig markiert. Dabei ist die über die ACS-Operation hinausgehende Rechenoperation beispielsweise die Bestimmung der Zustandsmetrik des zum ML-Pfad nebenläufigen Pfades oder die Bestimmung der Differenz der Pfadmetrik des nebenläufigen Pfades und des ML-Pfades oder die Aktualisierung eines Soft-Output-Wertes zum Zeitschritt k-i.
  • Vorteilhafterweise ist die erfindungsgemäße Schaltung gemäß dem ersten Aspekt der Erfindung oder seiner vorteilhaften Ausgestaltungen sowie gemäß dem zweiten Aspekt der Erfindung oder seiner vorteilhaften Ausgestaltungen ausgeführt, so dass die Vorteile beide Aspekte der Erfindung in einer Schaltung vereinigt werden.
  • Vorteilhafterweise umfasst eine erfindungsgemäße kombinierte Schaltung zwei der vorstehend beschriebenen Schaltungen als Teilschaltungen, wobei beide Teilschaltungen ein und demselben Butterfly des Trellis-Diagramms zugeordnet sind. Bezüglich einer derartigen kombinierten ACS-Schaltung wird auf das Lehrbuch "Digital Communications" von Bernard Sklar, 2nd Edition, Prentice Hall, 2001, Seiten 406 – 407 verwiesen. Die dort in 7.14 dargestellte Schaltungsstruktur dient der Berechnung eines Butterfly des Trellis-Diagramms.
  • Eine vorteilhafte Ausgestaltung der kombinierten Schaltung sieht vor, dass die kombinierte Schaltung derart ausgestaltet ist, dass bei Durchführen einer ACS-Operation eingangsseitig pro Operation nur ein Übergangsmetrik-Wert eingelesen wird, welcher den zur Add-Teiloperation vorgesehenen Rechenmittel beider Teilschaltungen zugeführt wird. Dabei ist in jeder Teilschaltung zwecks Berücksichtigung eines invertierten Übergangsmetrik-wertes mindestens ein Rechenmittel zum Subtrahieren umschaltbar ausgeführt.
  • Dies bietet den Vorteil, dass statt vier Eingangsgrößen bei nicht-symmetrischen oder zwei Eingangsgrößen bei symmetrischen Übergangsmetriken lediglich eine Größe an die erfindungsgemäße kombinierte Schaltung zwecks Bereitstellung der Werte der Übergangsmetriken übergeben werden muss. Eine Inversion der eingangsseitig eingeprägten Größe wird schaltungsintern bewerkstelligt. Durch diese Maßnahme wird die Länge eines Instruktionswortes, welches die Berechnung der Übergangsmetriken im anwendungsspezifischen Prozessor bewirkt, reduziert.
  • Ein erfindungsgemäßer erster anwendungsspezifischer Prozessor zur Dekodierung empfangener Daten umfasst n Schaltungen gemäß einem der Ansprüche 1 bis 17 oder n/2 kombinierte Schaltungen gemäß einem der Ansprüche 18 oder 19. Dabei gibt n die Anzahl der zeitgleich durchführbaren ACS-Operationen an. Die Anzahl n entspricht dabei einer beliebig wählbaren natürlichen Zahl, insbesondere also auch der Zahl 1. Dabei ist es nicht erforderlich, dass die Anzahl n der Anzahl der Zustände des Trellis-Diagramms entspricht. Ist die Anzahl n geringer als die Anzahl der Zustände des Trellis-Diagramms arbeiten die Schaltungen hinsichtlich der ACS-Operation im Zeitmultiplex.
  • Ein erfindungsgemäßer weiterer anwendungsspezifischer Prozessor zur Dekodierung empfangener Daten umfasst zur zeitgleichen Berechnung von n ACS-Operationen entweder n Schaltungen gemäß Anspruch 12 oder n/2 kombinierte Schaltungen, wobei jede kombinierte Schaltung jeweils zwei Schaltungen als Teilschaltungen gemäß Anspruch 12 umfasst, wobei beide Teilschaltungen ein und demselben Butterfly des Trellis-Diagramms zugeordnet sind. Dieser anwendungsspezifische Prozessor umfasst ferner ein Speichermittel zum Ablegen der durch die ACS-Operation bestimmten Zustandsmetriken und der jeweils zugewiesenen Signalisierungs-Bits. Dabei bilden die Signalisierungs-Bits jeweils mit den zugewiesenen Zustandsmetriken vorzugsweise ein gemeinsames Speicherwort in dem Speichermittel.
  • Die Speicherung von Signalisierungs-Bit und zugewiesener Zustandsmetrik als gemeinsames Speicherwort ist aufwandsgünstig, da der Zustandsmetrik zugewiesene Strukturen, insbesondere Datenbusse, auch für das Signalisierungs-Bit genutzt werden können. Diese Strukturen müssen lediglich um ein Bit erweitert werden.
  • Der dritte Aspekt der Erfindung zielt auf die Verwendung einer ACS-Schaltung (entweder einer aus dem Stand der Technik bekannten ACS-Schaltung oder auch einer der erfindungemäßen ACS-Schaltungen) für Operationen bei der Bestimmung eines Soft-Output-Wertes L(k) gemäß dem Max-Log-MAP-Algorithmus. Dabei werden entweder zwei Vorwärts- und zwei Rückwärts-Zustandsmetriken oder bereits zwei berechnete Zwischenergebnisse als Eingangsgrößen an die Eingänge der Schaltung angelegt.
  • Vorteil der erfindungsgemäßen Verwendung ist eine Mehrfachnutzung von Hardware. Erfindungsgemäß kann die Schaltung neben der Durchführung einer ACS-Operation bei der Bestimmung von Zustandsmetriken auch für Operationen bei der Bestimmung eines Soft-Output-Wertes gemäß dem Max-Log-MAP-Algorithmus verwendet werden.
  • Grundlage der erfindungsgemäßen Verwendung ist die Erkenntnis, dass die bei der Berechnung eines Soft-Output-Wertes durchzuführenden Operationen der ACS-Operation bei der Bestimmung von Zustandsmetriken ähneln.
  • Die Erfindung wird nachfolgend anhand mehrerer Ausführungsbeispiele unter Bezugnahme auf die Zeichnung näher erläutert; in diesen zeigen:
  • 1 eine Darstellung einer Schaltung zur Durchführung der ACS-Operation gemäß dem Stand der Technik;
  • 2 eine Darstellung der Berechnung von Zustandsmetriken bei der Vorwärts-Rekursion nach dem Viterbi- oder dem Max-Log-MAP-Algorithmus;
  • 3 eine Darstellung der Berechnung von Zustandsmetriken bei der Rückwärts-Rekursion nach dem Max-Log-MAP-Algorithmus;
  • 4 eine Darstellung eines ersten Ausführungsbeispiels einer erfindungsgemäßen Schaltung gemäß dem ersten Aspekt der Erfindung;
  • 5 eine Darstellung eines zweiten Ausführungsbeispiels einer erfindungsgemäßen Schaltung gemäß dem ersten Aspekt der Erfindung;
  • 6 eine Darstellung der erfindungsgemäßen Verwendung gemäß dem dritten Aspekt der Erfindung einer ACS-Schaltung für Operationen bei der Bestimmung eines Soft-Output-Wertes L(k) nach dem Max-Log-MAP-Algorithmus;
  • 7 eine Darstellung eines dritten Ausführungsbeispiels einer erfindungsgemäßen Schaltung gemäß dem ersten und zweiten Aspekt der Erfindung; und
  • 8 eine Darstellung eines Trellis-Diagramms zur Erläuterung des SOVA.
  • 1 zeigt eine ACS-Schaltung gemäß dem Stand der Technik. Die Schaltung gliedert sich in drei Bereiche. In einem ersten Bereich, welcher der Add-Teiloperation zugewiesen ist, werden eine erste Zustandsmetrik αk(s1) des Zustands s1 zum Zeitschritt k und eine erste Übergangsmetrik χk(s1,s2') von dem Zustand s1 zu dem Zustand s2' zum Zeitschritt k mit Hilfe des Addierers ADD1 addiert, wobei αk(s1) und χk(s1,s2') über die Eingänge E1 bzw. E2 eingelesen werden. In gleicher Weise wer den eine zweite Zustandsmetrik αk(s2) und eine zweiten Übergangsmetrik χk(s2,s2'), welche über die Eingänge E3 und E4 eingelesen werden, mit Hilfe des Addierers ADD2 addiert. Das Ergebnis des ersten Addierers ADD1 und das Ergebnis des zweiten Addierers ADD2 werden einem Subtrahierer SUB (Compare-Teiloperation) zugeführt, welcher auch als digitaler Komperator ausgeführt sein kann. Das höchstwertigste Bit SEL des Ausgangssignals des Subtrahierers SUB dient als Steuersignal der Ansteuerung eines Multiplexers MUX (Select-Teiloperation), welcher den Ausgang von ADD1 auf den Ausgang A1 schaltet, wenn das Ausgangssignal von ADD1 größer als das Ausgangssignal von ADD2 ist. Alternativ wird der Ausgang von ADD2 auf den Ausgang A1 geschaltet, wenn das Ausgangssignal von ADD1 kleiner als das Ausgangssignal von ADD2 ist. Das Signal an A1 entspricht der Zustandsmetrik αk+1(s2') des Zustands s2' zum Zeitschritt k+1. Ferner kann das Traceback-Bit aus dem Signal SEL gewonnen werden und zusätzlich ausgegeben werden.
  • Die Zustandsmetriken α und Übergangsmetriken χ betreffen sowohl die Vorwärts-Rekursion des Viterbi-Algorithmus als auch die Vorwärts-Rekursion des Max-Log-MAP-Algorithmus. Außerdem lässt sich die in 1 dargestellte Schaltung auch für die Rückwärts-Rekursion des Max-Log-MAP-Algorithmus einsetzen. In diesem Fall entsprechen die eingangsseitigen Zustandsmetriken βk+1 bei der Rückwärts-Rekursion den Zustandsmetriken αk bei der Vorwärts-Rekursion und die ausgangsseitige Zustandsmetrik βk bei der Rückwärts-Rekursion der Zustandsmetrik αk+1 bei der Vorwärts-Rekursion.
  • 2 zeigt eine Darstellung der Berechnung von Zustandsmetriken bei der Vorwärts-Rekursion nach dem Viterbi- oder dem Max-Log-MAP-Algorithmus anhand eines Ausschnitts eines Trellis-Diagramms. Die in 1 dargestellte ACS-Operation entspricht den mit dicker Strichstärke gezeichneten Pfeilen. Die dünngezeichneten Pfeile stellen eine weitere ACS-Operation dar. Werden zwei Schaltungen nach 1 gemäß 2 angeordnet, wird ein sogenannter Butterfly berechnet.
  • 3 zeigt eine Darstellung der Berechnung von Zustandsmetriken bei der Rückwärts-Rekursion nach dem Max-Log-MAP-Algorithmus anhand eines Butterfly.
  • In 4 ist ein erstes Ausführungsbeispiel einer erfindungsgemäßen Schaltung gemäß dem ersten Aspekt der Erfindung dargestellt. Statt der Addierer ADD1 und ADD2 aus 1 werden schaltbare Rechenelemente ADDSUB1 und ADDSUB2 verwendet. Außerdem wird statt des Subtrahierers SUB ein schaltbares Rechenelement ADDSUB3 eingesetzt. Die schaltbaren Rechenelemente ADDSUB1 – ADDSUB3 arbeiten jeweils als Addierer, wenn den Rechenelementen zugeordnete Steuersignale S1 – S3 den digitalen 1-Wert aufweisen, und als Subtrahierer, wenn die Steuersignale S1 – S3 jeweils den digitalen 0-Wert aufweisen. Neben den Ausgängen der Schaltung aus 1 umfasst die Schaltung aus 3 drei weitere Ausgänge A2, A3 und A4. Damit können die Ausgangssignale der Rechenelemente ADDSUB1 – ADDSUB3 ausgangsseitig ausgelesen werden. Außerdem wird das Traceback-Bit TB durch Inversion des Signals SEL über den Inverter INV herausgeschrieben. In Tab. 1 ist die eingangsseitige Konfiguration der Eingänge E1 bis E4 sowie S1 bis S3 der Schaltung in 4 zur Durchführung dreier verschiedener ACS-Operationen angegeben. Dabei wird zwischen verschiedenen ACS-Operationen unterschieden. Diese betreffen entweder die Bestimmung der Zustandsmetrik bei der Vorwärts-Rekursion nach dem Viterbi-Algorithmus oder nach dem Max-Log-MAP-Algorithmus oder die Bestimmung der Zustandsmetrik bei der Rückwärts-Rekursion nach dem Max-Log-MAP-Algorithmus. Ferner ist in Tab. 2 die entsprechende ausgangsseitige Belegung der Ausgänge A1 bis A4 angegeben.
  • Figure 00220001
    Tab. 1 Eingangsseitige Signale
  • Figure 00220002
    Tab. 2 Ausgangsseitige Signale
  • Nachfolgend wird die Berechnung von Übergangsmetriken mit der erfindungsgemäßen Schaltung gemäß 4 beschrieben. Dies erfolgt beispielhaft für einige ausgewählte Codes, da die Berechnung grundsätzlich vom verwendeten Code abhängig ist. Ferner erfolgt die Berechnung in ähnlicher Weise sowohl für den Viterbi- als auch für den Max-Log-MAP-Algorithmus.
  • Im Mobilfunkstandard UMTS ist neben der Turbo-Codierung auch eine Codierung mit einem Faltungscode vorgesehen. Dafür sind zwei verschiedene Faltungs-Codes mit 128 Zuständen und einer Code-Rate von 1/2 und 1/3 vorgesehen. Diese sind ausführlich in dem UMTS-Standardisierungsdokument 3GPP TS 25.212, V3.5.0, unter Abschnitt 4.2.3.1 beschrieben. Die symmetrischen Übergangsmetriken von einem Zustand s zu einem Zustand s' bestimmen sich für derartige Faltungscodes mit einer Code-Rate von 1/2 und 1/3 gemäß der folgenden Glg. 2 bzw. 3: χk(s, s') = (1 – W0(k))·L0(k) + (1 – W1(k))·L1(k) (2), χk(s, s') = (1 – W0(k))·L0(k) + (1 – W1(k))·L1(k) + (1 – W2(k))·L2(k) (3).
  • Hierbei bezeichnet W1(k) die 2 (Code-Rate 1/2) bzw. 3 (Code-Rate 1/3) codierten Bits, welche einem uncodierten Bit zugeordnet sind und den Übergang von einem Zustand in einen anderen Zustand beschreiben. Ferner bezeichnet L1(k) die Soft-Input-Werte, welche statt der digitalen Bits W1(k) empfangen wurden. Glg. 2 und Glg. 3 lassen sich in Tabellenform gemäß Tab. 3 überführen, wobei sich die Übergangsmetriken χk(s,s') aus Summen und Differenzen der Soft-Input-Werte L1(k) bestimmen lassen.
  • Figure 00230001
    Tab. 3 Übergangsmetriken χk(s,s')
  • Die Berechnung der Übergangsmetriken χk(s,s') aus Summen und Differenzen der Soft-Input-Werte L1(k) kann mit der in 4 dargestellten erfindungsgemäßen Schaltung durchgeführt werden. Zur Berechnung beispielsweise eines Zustandsübergangs 000 bei einer Code-Rate 1/3 müssen daher die Eingänge folgendermaßen beschaltet werden: E1=L0, E2=L1, E3=L2, E4=0, S1=1, S2=1 und S3=1. Die gesuchte Übergangsmetrik χk(s,s') wird dann an A4 ausgegeben. Für die Berechnung der Übergangsmetrik eines Zustandsübergangs 011 bei einer Code-Rate 1/3 werden die Eingänge folgendermaßen beschaltet: E1=L0, E2=L1, E3=L2, E4=0, S1=0, S2=0 und S3=1. Die Berechnung der weiteren Übergangsmetriken sowohl für die Code-Rate 1/3 als auch für die Code-Rate 1/2 erfolgt analog.
  • Bei alternativer Verwendung eines Turbo-Codes, beispielsweise des im UMTS-Standard verwendeten Turbo-Codes, welcher im UMTS-Standardisierungsdokument 3GPP TS 25.212, V3.5.0, unter Abschnitt 4.2.3.2 beschrieben ist, erfolgt die Berechnung der Übergangsmetriken für eine Dekodierung mit Hilfe des Max-Log-MAP-Algorithmus in ähnlicher Weise wie vorstehend beschrieben. Hierbei handelt es sich um einen Code mit 8 Zuständen. Die Übergangsmetriken χk(s,s') bestimmen sich gemäß folgender Gleichungen χk(s, s') = X(k)·Ls(k) + Z(k)·Lp(k) + A(k)·Lapri(k) (4), χk(s, s') = (1 – 2X(k))·Ls(k)/2 + (1 – 2Z(k))·Lp(k)/2 + (1 – 2A(k))·Lapri(k)/2 (5).
  • Dabei beschreibt Glg. 4 die Berechnung von nicht-symmetrischen Übergangsmetriken und Glg. 5 die Berechnung von symmetrischen Übergangsmetriken. Das systematische Bit X(k), das Parity-Bit Z(k) und die Apriori-Information A(k) sind Eingangsgrößen eines MAP-Teildekodierers. Diese beschreiben den Zustandsübergang und sind bei der Berechnung der Übergangsmetriken mit den Größen Wi(k) vergleichbar. Die Größen Ls(k), Lp(k) und Lapri(k) beschreiben die den Größen X(k), Z(k) und A(k) entsprechenden Soft-Input-Werte. Glg. 4 und Glg. 5 lassen sich in analoger Weise zu Glg. 2 und Glg. 3 in Tabel lenform überführen, wobei sich die Übergangsmetriken χk(s,s') aus Glg. 4 und aus Glg. 5 in der Form a1·Ls (k) + a2·Lp (k) + a3·Lapri (k) mit a1, a2, a3 ∈ {0, 1} (6)bzw. der Form b1·Ls(k)/2 + b2·Lp(k)/2 + b3·Lapri(k)/2 mit b1, b2, b3 ∈ {-1,1} (7)angeben lassen. Bei nicht-symmetrischen Übergangsmetriken, also Metriken in der Form gemäß Glg. 6, erfolgt die Berechnung der Übergangsmetriken mit Hilfe der erfindungsgemäßen Schaltung nach 4 in analoger Weise zu obigen Ausführungen. Bei symmetrischen Übergangsmetriken kann prinzipiell auf den Faktor 1/2 verzichtet werden. In diesem Fall erfolgt die Berechnung mit Hilfe der erfindungsgemäßen Schaltung in analoger Weise zu den nicht-symmetrischen Übergangsmetriken. Soll der Faktor 1/2 bei der Angabe der symmetrischen Übergangsmetriken Berücksichtigung finden, so kann dies durch eine Bitschiebeoperation der Eingangswörter um ein Bit nach rechts bewerkstelligt werden. Ein entsprechendes konfigurierbares (Verschiebung von einem Bit/Verschiebung von keinem Bit) Bitschiebe-Element könnte dafür Schaltungs-intern jeweils an den Eingängen E1 bis E4 der Schaltung nach 4 ergänzt werden.
  • 5 zeigt eine Darstellung eines zweiten Ausführungsbeispiels einer erfindungsgemäßen Schaltung ACS4 gemäß dem ersten Aspekt der Erfindung. Die Schaltung ACS4 basiert als kombinierte Schaltung auf zwei Schaltungen ACS2 gemäß 4. Die Schaltung ACS4 dient der Berechnung der Zustandsmetriken αk+1(s1') und αk+1(s2') eines Butterfly wie links in 5 dargestellt. Sämtliche n Übergänge eines Trellis-Diagramms lassen sich grundsätzlich in n/2 Butterfly-Strukturen untergliedern. Bei einem Butterfly gilt, dass die Übergangsmetriken χk(s1,s1') und χk(s2,s2') sowie χk(s1,s2') und χk(s2,s1') einander entsprechen. Bei der Verwendung symmetrischer Übergangsmetriken gilt ferner: χk(s1,s1') = χk(s2,s2') = -χk(s1,s2') = -χk(s2,s1') (8).
  • Die Beziehungen aus Glg. 8 werden in der Schaltung ACS4 intern nachgebildet. An den Eingängen E10 und E20 werden die Zustandsmetriken αk(s1) bzw. αk(s2) zugeführt. Ferner wird am Eingang E30 lediglich eine Übergangsmetrik χk in die Schaltung eingespeist. Die schaltbaren Rechenelemente ADDSUB1a bis ADDSUB3a bzw. ADDSUB1b bis ADDSUB3b entsprechen den schaltbaren Rechenelementen ADDSUB1 bis ADDSUB3 aus 4. Die zugehörigen digitalen Steuersignale (nicht dargestellt) sind wie in Tab. 5 dargestellt belegt.
  • Figure 00260001
    Tab. 5 Belegung der Steuersignale
  • Durch geeignetes Schalten der Rechenelemente, d. h. Betrieb als Addierer oder Subtrahierer, wird die eingeprägte Übergangsmetrik χk vorzeichenrichtig bei der Bestimmung der Zustandsmetriken αk+1(s1') bzw. αk+1(s2') berücksichtigt.
  • 6 zeigt die erfindungsgemäße Verwendung einer ACS-Schaltung für Operationen bei der Bestimmung eines Soft-Output-Wertes nach dem Max-Log-MAP-Algorithmus. Soft-Output-Werte L(k) nach dem Max-Log-MAP-Algorithmus sind gemäß folgender Näherungsgleichung berechenbar: L(k) = max(s,s');X(k)=0k(s) + χk(s, s') + βk+1(s')) – max(s,s');X(k)=1k(s) + χk(s, s') + βk+1(s')) (9).
  • Dabei umfasst das Argument der ersten Maximum-Operation in Glg. 9 nur diejenigen Zustandsübergänge (s,s') für die Hypo these U=0, d. h. dass der Zustandsübergang mit der Übertragung einer logischen Null verknüpft ist, wohingegen das Argument der zweiten Maximum-Operation nur diejenigen Zustandsübergänge (s, s') für die Hypothese U=1 umfasst.
  • Mit den Definitionen α0k+1 (s') := αk(s) + χk(s, s') falls X(k) = 0 bei Übergang (s, s') (10), α1k+1 (s') := αk(s) + χk(s, s') falls X(k) = 1 bei Übergang (s, s') (11), β0k (s') := βk+1(s') + χk(s, s') falls X(k) = 0 bei Übergang (s, s') (12),und β1k (s') := βk+1(s') + χk(s, s') falls X(k) = 1 bei Übergang (s, s') (13)gelten folgende Beziehungen: αk(s) = max (α0k (s), α1k (s)) (14)und βk(s) = max (β0k (s), β1k (s)) (15).
  • Damit kann der Soft-Output-Wert L(k) gemäß Glg. 9 entweder über L(k) = maxs'0k (s') + βk(s')) – maxs'1k (s') + βk(s')) (16)oder alternativ über L(k) = maxs'k(s') + β0k (s')) – maxs'k(s') + β1k (s')) (17)bestimmt werden. Die Größen αk 0/1 (s') oder βk 0/1 (s') können dadurch bestimmt werden, dass diese in einer ACS-Schaltung ACS2 gemäß 4 an den Ausgängen A2 und A4 abgegriffen werden.
  • In 6 ist beispielhaft die erfindungsgemäße Verwendung einer ACS-Schaltung für Operationen bei der Bestimmung eines Soft-Output-Wertes gemäß Glg. 17 dargestellt. Der in dem Beispiel verwendete Code weist 8 Zustände s0 bis s7 auf. Zur Verwendung einer ACS-Schaltung, welche nur Eingänge für zwei Zustände aufweist, werden bei der Bestimmung eines Soft-Output-Wertes die beiden max-Operationen in Glg. 17 über alle n Zustände s', also in diesem Fall über 8 Zustände s0 bis s7, in insgesamt
    Figure 00280001
    max-Operationen jeweils hinsichtlich nur zweier Zustände, hier also 14 max-Operationen, aufgegliedert. Die Berechnung gliedert sich dabei, wie in 6 dargestellt, baumartig, daher wird auch von der Berechnung eines Maximum-Baums gesprochen. Dabei werden entweder zwei Vorwärts- und zwei Rückwärtszustands-Metriken oder bereits zwei berechnete Zwischenergebnisse als Eingangsgrößen an die Eingänge einer ACS-Schaltung angelegt; ausgangseitig ergibt sich das auf die Eingangsgrößen im Maximum-Baum nachfolgende Element. Die Anzahl der tatsächlich verwendeten ACS-Schaltungen muss nicht der Anzahl nmax von Operationen entsprechen, da eine oder mehrere ACS-Schaltung auch im Zeitmultiplex betrieben werden können. Die zur Durchführung von Operationen zur Bestimmung eines Soft-Output-Wertes verwendete ACS-Schaltung entspricht der in 1 dargestellten Schaltung ACS1, prinzipiell kann natürlich auch eine kombinierte ACS-Schaltung verwendet werden, welche zur Durchführung von Butterfly-Operationen aus zwei ACS-Schaltungen ACS1 besteht. In 6 beinhaltet der Teilblock MAX jeweils die Compare- und die Select-Teiloperation gemäß 1. In einem ersten Schritt (vgl. Schritt 1 in 6) werden an den Eingängen E1 bis E4 einer oder mehrerer ACS-Schaltungen jeweils die Größen αk(si), βk 0/1(si), αk(s (i+1)), βk 0/1 (s(i+1)) eingeprägt und ausgangseitig an A1 die Zwischenergebnisse δ0/1k (i) = max(αk(si) + β0/1k (si), αk(s(i + 1)) + β0/1k (s(i + 1))) mit i=0, 2, 4,... n-2 (18)abgerufen. Im vorliegenden Fall werden dafür insgesamt n, also 8 ACS-Schaltungen, verwendet. Die Zwischenergebnisse können zwischengespeichert werden und den obigen Schaltungen wieder als Eingangsgrößen zugeführt werden oder direkt in nachfolgende ACS-Schaltungen ACS1 als Eingangsgrößen eingeprägt werden. Im zweiten Schritt (vgl. Schritt 2 in 6) werden jeweils zwei Zwischenergebnisse δk 0/1(i) an die Eingänge E1 und E3 einer ACS-Schaltung angelegt. Die nicht dargestellten Eingänge E2 und E4 werden in diesem Fall mit dem Wert null belegt. Von den zwei sich jeweils am Ausgang A1 ergebenden Werte wird im Schritt 3 wieder das Maximum bestimmt. Zur Angabe des Soft-Output-Wertes L(k) müssen die Zwischenergebnisse der Teilbäume nach Schritt 3 in Schritt 4 gemäß Glg. 17 subtrahiert werden. Die Subtraktion kann insbesondere, wie in 6 dargestellt, durch eine erweiterte ACS-Schaltung ACS2 gemäß 4 durchgeführt werden.
  • In 7 ist ein Ausführungsbeispiel einer erfindungsgemäßen Schaltung ACS3 dargestellt, wobei diese Schaltung sowohl den ersten als auch den zweiten Aspekt der Erfindung betrifft. Dabei entsprechen Schaltungsteile aus 7 und 4 mit gleichnamigen Bezugszeichen in Aufbau und Funktion einander. Zusätzlich umfasst die Schaltung aus 7 einen zweiten Multiplexer MUX2. Dieser wird hinsichtlich der Eingangssignale wie der erste Multiplexer MUX angesteuert. Das den zweiten Multiplexer MUX2 ansteuernde Steuersignal SEL2 ist jedoch gegenüber dem den ersten Multiplexer MUX ansteuernden Steuersignal SEL invertiert. Dies bewirkt, dass der Ausgang A5 des zweiten Multiplexers MUX2 das Ausgangssignal des schaltbaren Rechenelements ADDSUB1 aufweist, wenn der Ausgang A1 des ersten Multiplexers MUX das Ausgangssignal des schaltbaren Rechenelements ADDSUB2 liefert, und umgekehrt. Darüber hinaus umfasst die Schaltung gemäß 7 drei binäre Eingänge B1 bis B3 und einen binären Ausgang B4. Die Signale der Eingänge B1 und B2 sind über ein XOR-Gatter XOR verknüpft. Ferner wird das Signal B3 optional durch einen zweiten Inverter INV2 invertiert. Das Signal an B3 bzw. das Ausgangssignal von INV2 (wenn vorhanden) wird mit dem Ausgangssignal des XOR-Gatters XOR über ein AND-Gatter AND verknüpft, dessen Ausgangssignal dem binären Ausgang B4 zugeführt wird.
  • Die Erweiterungen der Schaltung in 7 dienen der Durchführung zusätzlicher Operationen, welche den SOVA betreffen. Diesen zusätzlichen Operationen ist eine bedingte Minimum-Bildung gemein, wobei die Minimum-Bildung durch den Multiplexer MUX2 bewerkstelligt wird.
  • Nachfolgend wird anhand von 8 die Funktion der Schaltung gemäß 7 bei der Durchführung des SOVA erläutert. Der SOVA wird dabei aus Gründen der Speicherreduktion als zweistufiger SOVA durchgeführt. In einem ersten Schritt wird ein einfacher Viterbi-Algorithmus durchgeführt, um den ML-Pfad zum Zeitschritt k zu bestimmen. Dieser entspricht in 8 der Vereinigung der fett gezeichneten Pfeile. In einem zweiten Schritt wird eine zusätzliche nur den SOVA betreffende Vorwärts-Rekursion durchgeführt, wobei darüber hinaus die Soft-Output-Werte L(k-i) für alle Zeitschritte k-i innerhalb des Zeitfensters ws (vgl. 8) aktualisiert werden.
  • Nach Durchführung des ersten Schrittes ist die Bitsequenz U 1 = [U1(k-ws), U1(k-ws+1), .., U1(k-1)] des ML-Pfades bekannt Der ML-Pfad mündet zum Zeitpunkt k in einen Zustand s'ML (vgl. 8). Ferner mündet der nebenläufige Pfad in den Zustand s'ML, wobei die Metrik des nebenläufigen Pfades geringer als die des ML-Pfades ist. Die Differenz beider Metriken zum Zeitpunkt k ist die Metrik-Differenz Δk und ist Ausgangspunkt für die Angabe des Soft-Ouput-Wertes.
  • Zunächst wird die Bestimmung der Zustandsmetrik des zum ML-Pfad nebenläufigen Pfades mit Hilfe der in 7 dargestellten Schaltung beschrieben. Dafür wird die Schaltung wie in Tab. 6 eingangsseitig beschaltet. Ausgangsseitig ergeben sich die in Tab. 7 angegebenen Signale.
  • Figure 00300001
    Tab. 6 Eingangsseitige Signale bei erster Operation SOVA
  • Figure 00310001
    Tab. 7 Ausgangsseitige Signale bei erster Operation SOVA
  • Dabei bezeichnen f_αk-1 (s1), f_αk-1 (s2), f_αk(s') sogenannte Flag-Bits, welche den Zustandsmetriken αk-1 (s1), αk-1(s2) bzw. αk(s') zugeordnet sind. Jedes Flag-Bit wird zusammen mit der Zustandsmetrik als 13 Bit breites Speicherwort – also um 1 Bit breiter als die Information der Zustandsmetrik – im Speicher des Dekodierers abgelegt. Dieses beschreibt, ob eine Zustandsmetrik zum ML-Pfad gehört. Gehört die Zustandsmetrik zum ML-Pfad ist das entsprechende Flag-Bit gesetzt. Am Ausgang A1 ergibt sich das Signal maxk(s') := αk(s') = max (αk-1(s1) + χk-1(s1, s'), αk-1(s2) + χk-1(s2, s')) (19),wohingegen sich am Ausgang A5 das Signal mink(s') := min(αk-1(s1) + χk-1(s1, s'), αk-1(s2) + χk-1(s2, s')) (20)ergibt. Liegt der Zustand s' zum Zeitpunkt k auf dem ML-Pfad, d. h. s'=s'ML, so gibt maxk(s'ML) die Metrik des ML-Pfades an und mink(s'ML) die Pfadmetrik des nebenläufigen Pfades. Während der Vorwärts-Rekursion werden die Werte maxk(s') und mink(s') für alle Zustände s' bestimmt. Jedoch ist für die Angabe der Metrik des zum ML-Pfad nebenläufigen Pfades und damit zur Angabe der Metrik-Differenz Δk neben dem Wert von maxk(s'ML) nur der Wert von mink(s'ML) relevant. Zur Markierung des Wertes mink(s'ML) aus der Gesamtheit der Werte mink(s') dienen die Flag-Bits. In gleicher Weise dienen diese der Markierung des Wertes maxk(s'ML) aus der Gesamtheit der Werte maxk(s'). Die Flag-Bits werden iterativ berechnet. Ein an B4 ausgegebenes Flag-Bit f_αk-1(s') ist lediglich dann gesetzt, wenn eines der Flag-Bits f_αk-1(s1) an B1 oder f_αk-1(s2) an B2 gesetzt ist, also wenn eine der Zustandsmetriken αk-1(s1) oder αk-1(s2) zum ML-Pfad gehören. Ferner hängt das Setzen des Flag-Bits f_αk-1(s') zusätzlich von dem über B3 zugeführten und bereits entschiedenen Bit U1(k-1) des ML-Pfades ab, welches den Übergang vom Zeitschritt k-1 zum Zeitschritt k betrifft. Dies wird nachfolgend erläutert:
    Zwei ACS-Schaltungen gemäß 7 dienen der Durchführung der Vorwärts-Rekursion eines Butterfly, wie beispielsweise einem Butterfly mit den Übergängen Z1, Z2, Z3 und Z4 (vgl. 8). Dabei betrifft die erste Schaltung eines Butterfly die Übergänge Z1 und Z2, welche einer ersten Hypothese U=1 zugeordnet sind, wohingegen die zweite Schaltung den Übergängen Z3 und Z4 zugeordnet ist, welche von einer Hypothese U=0 ausgehen. In ersten ACS-Schaltungen eines Butterfly gemäß 7, welche einer Hypothese U=1 zugeordnet sind, wird auf den Inverter INV2 verzichtet, während in zweiten ACS-Schaltungen eines Butterfly gemäß 7, welche einer Hypothese U=0 zugeordnet sind, ein Inverter INV2 präsent ist. Prinzipiell ist es denkbar, eine Inversion des Eingangssignals an B3 umschaltbar zu machen, um lediglich einen Schaltungstyp zu verwenden. Wenn das entschiedene und bereits bekannte Bit U1(k-1) des ML-Pfades beispielsweise eine logische 1 ist, darf nur am Ausgang einer ersten ACS-Schaltung (bei einer Hypothese U=1) das Flag-Bit f_αk(s') gesetzt werden und nicht am Ausgang der zweiten ACS-Schaltung desselben Butterfly. Deshalb wird das Signal am Eingang B3 in diesem Fall mit dem Ausgangsignal des XOR-Gatters XOR über das AND-Gatter AND logisch verknüpft. Wenn das bereits entschiedene und bereits bekannte Bit U1(k-1) des ML-Pfades beispielsweise eine logische 0 ist, darf nur am Ausgang einer zweiten ACS-Schaltung (einer Hypothese U=0) das Flag-Bit f_αk(s') gesetzt werden und nicht am Ausgang der ersten ACS-Schaltung desselben Butterfly. Deshalb wird das Signal am Eingang B3 in diesem Fall zunächst invertiert und dann mit dem Ausgangsignal des XOR-Gatters XOR über das AND-Gatter AND logisch verknüpft.
  • Zum Zeitschritt k=0 beginnt der ML-Pfad grundsätzlich im sogenannten Null-Zustand. Das Flag-Bit dieses Zustands zum Zeitschritt k=0 wird zu 1 initialisiert, alle Flag-Bits der anderen Zustände zum Zeitschritt k=0 werden zu 0 initialisiert. Bei jeder Vorwärts-Rekursion wandert dann, wie oben beschrieben, das gesetzte Flag-Bit um einen Zeitschritt entlang des ML-Pfades. Ein berechnetes Minimum mink(s') am Ausgang A5 wird lediglich nur dann für die Angabe der Metrik des nebenläufigen Pfades herangezogen, wenn das Flag-Bit f_αk(s') gesetzt ist, also der Zustand s' zum ML-Pfad gehört. In diesem Fall handelt es sich bei dem berechneten Minimum um die Metrik des nebenläufigen Pfades mink(s'ML).
  • Die Schaltung in 7 könnte noch durch einen zusätzlichen Subtrahierer dahingehend erweitert werden, dass die Differenz von maxk(s') und mink(s') berechnet wird, wobei sich im Fall von maxk(s'ML) bzw. mink(s'ML), also Vorliegen eines gesetzten Flag-Bits f_αk(s'), die Metrik-Differenz Δk ergibt.
  • Ferner dient die Schaltung nach 7 auch der nachfolgenden Aktualisierung der Soft-Output-Werte L(k-i) (Secondary-Traceback) gemäß Glg. 1 für alle Zeitschritte k-i mit i = 1, 2,..., ws. Bei der Aktualisierung wird ein sogenannter Traceback durchgeführt und für jeden Zeitschritt k-i eines Zeitfensters ws (vgl. 8) ein bereits bestimmter vorläufiger Soft-Output-Wert L(k-i) zum Zeitpunkt k-i durch das Minimum aus dem jeweiligen vorläufigen Soft-Output-Wert und der Metrik-Differenz Δk ersetzt, falls das dekodierte Bit des ML-Pfades U1(k-i) zum Zeitschritt k-i und das dem nebenläufigen Pfad zugeordnete Bit zum Zeitschritt k-i nicht übereinstimmen.
  • Die zur Aktualisierung eines Soft-Output-Wertes L(k-i) zum Zeitschritt k-i verwendete Konfiguration der Schaltung gemäß 7 ist in Tab. 8 und Tab. 9 angegeben. Dabei werden am Eingang E1 der zu aktualisierende Soft-Output-Wert L(k-i) und am Eingang E3 die Metrik-Differenz Δk eingeprägt. Ferner werden an den Eingängen B1 und B2 das entschiedene Bit U1(k-i) des ML-Pfades und das entsprechende Bit U2(k-i) des nebenläu figen Pfades eingelesen. Die Belegung von B3 richtet sich danach, ob ein Inverter INV2 vorhanden ist. Ist ein Inverter INV2 vorhanden, muss B3 mit einer logischen 0 belegt werden, andernfalls mit einer logischen 1. Dies bewirkt, dass das AND-Gatter AND keine Wirkung zeigt. Am Ausgang A5 ergibt sich das Minimum von L(k-i) und Δk. Ferner wird in Abhängigkeit der an B1 und B2 eingeprägten Bits ein Flag-Bit fvalid berechnet.
  • Figure 00340001
    Tab. 8 Eingangsseitige Signale bei zweiter Operation SOVA
  • Figure 00340002
    Tab. 9 Ausgangsseitige Signale bei zweiter Operation SOVA
  • Da die schaltungsinterne Berechnung des Minimums unabhängig von den Werten von U1(k-i) und U2(k-i) ist, muss anhand des Flag-Bits fvalid nachfolgenden Schaltungsteilen signalisiert werden, ob das berechnete Minimum für die Aktualisierung herangezogen werden soll oder nicht. Sind beide Bits U1(k-i) und U2(k-i) voneinander verschieden, wird das Bit fvalid gesetzt; sind beide Bits U1(k-i) und U2(k-i) gleich, ergibt sich am Ausgang B4 für fvalid eine logische 0. Daher muss das Minimum für die Aktualisierung herangezogen werden, wenn der Ausgang B4 für das Flag-Bit fvalid eine logische 1 signalisiert.
  • Anstelle der direkten Zuführung des Ausgangssignals des Multiplexers auf den Ausgang A5, könnte das Ausgangssignal des Multiplexers MUX2 auch einem Schalter zugeführt werden, wobei das Schließen und Öffnen des Schalters durch das Ausgangsignal des AND-Gatters AND gesteuert wird. Dabei liegt nur dann am Ausgang des Schalters ein Signal an, wenn das Ausgangssig nal des AND-Gatters AND gesetzt ist. In analoger Weise könnte mit dem Ausgang des Multiplexers MUX verfahren werden.

Claims (22)

  1. Schaltung (ACS2) zur Durchführung von Rechenoperationen für einen Trellis-basierten Algorithmus, wobei die Schaltung zur Durchführung einer Add-Compare-Select-Operation bei der Bestimmung von Zustandsmetriken (αk+1(s2'), βk(s2)) ausgelegt ist, dadurch gekennzeichnet, dass die Schaltung (ACS2) zur Durchführung einer über eine Add-Compare-Select-Operation zur Zustandsmetrik-Bestimmung hinausgehenden Rechenoperation – konfigurierbar ist und/oder – einen Ausgang (A2, A3, A4) zur Ausgabe mindestens einer über die Ausgabegröße der Add-Compare-Select-Operation hinausgehenden Größe aufweist, wobei die Größe eine Zwischengröße im Signalpfad zur Durchführung der Add-Compare-Select-Operation ist.
  2. Schaltung nach Anspruch 1, dadurch gekennzeichnet, dass der Trellis-basierte Algorithmus mindestens einer der folgenden Algorithmen ist: – der Viterbi-Algorithmus, – ein logarithmisch arbeitender MAP-Algorithmus, insbesondere der Max-Log-MAP-Algorithmus, oder – der Soft-Output-Viterbi-Algorithmus.
  3. Schaltung nach Anspruch 2, dadurch gekennzeichnet, dass die Schaltung zur Durchführung von über die Add-Compare-Select-Operation hinausgehenden Rechenoperationen für die Bestimmung von Übergangsmetriken (χk(s,s')) ausgelegt ist.
  4. Schaltung nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass mindestens ein in der Schaltung zur Durchführung der Add-Compare-Select-Operation vorgesehenes Rechenmittel zum Addieren oder Subtrahieren auch als konfigurierbares Rechenmittel (ADDSUB1, ADDSUB2, ADDSUB3) zum Subtrahieren bzw. Addieren umschaltbar ist.
  5. Schaltung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die Schaltung derart ausgestaltet ist, dass mindestens eine Ausgabegröße (A2, A3, A4) eines Rechenmittels zum Addieren oder Subtrahieren – insbesondere die Ausgabegröße (A4) des die Compare-Teiloperation durchführenden Rechenmittels (ADDSUB3) und/oder die Ausgabegrößen (A2, A3) der die Add-Teiloperation durchführenden Rechenmittel (ADDSUB1, ADDSUB2) – am Ausgang der Schaltung ausgelesen werden kann.
  6. Schaltung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Schaltung derart ausgestaltet ist, dass das höchstwertigste Bit (SEL) des Steuersignals des die Compare-Teiloperation durchführenden Rechenmittels einem Inverter (INV) zugeführt wird, dessen Ausgangsgröße als Traceback-Bit (TB) am Ausgang der Schaltung ausgelesen werden kann.
  7. Schaltung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die mit der Schaltung (ACS2) durchführbaren Rechenoperationen sowohl den Viterbi-Algorithmus als auch den Max-Log-MAP-Algorithmus betreffen, insbesondere dass die mit der Schaltung durchführbaren Rechenoperationen – die Übergangsmetrik-Berechnung (χk(s,s')) sowohl des Viterbi-Algorithmus als auch des Max-Log-MAP-Algorithmus, – die Zustandsmetrik-Berechnung (αk+1s2')) des Viterbi-Algorithmus, – die Vorwärts- und Rückwärts-Zustandsmetrik-Berechnung (αk+1(s2') bzw. βk(s2)) des Max-Log-MAP-Algorithmus, – die Bestimmung der Traceback-Bits (TB) des Viterbi-Algorithmus, und – die Bestimmung der Soft-Output-Werte (L(k)) aus den Zustandsmetriken gemäß dem Max-Log-MAP-Algorithmus betreffen.
  8. Schaltung (ACS3) zur Durchführung von Rechenoperationen für einen Soft-Output-Viterbi-Algorithmus, wobei die Schaltung zur Durchführung der Add-Compare-Select-Operation bei der Bestimmung von Zustandsmetriken (αk+1(s2')) ausgelegt ist, dadurch gekennzeichnet, dass die Schaltung – ein Mittel zum Bestimmen eines Minimums (MUX2) aufweist, welches für die Durchführung mindestens einer über die Add-Compare-Select-Operation hinausgehenden Rechenoperation verwendet wird, und – ausgangsseitig in Abhängigkeit einer von den Eingangsgrößen der Schaltung erfüllten Bedingung – das Ergebnis der Rechenoperation ausgibt, oder bei einer alternativen Ausgestaltung der Schaltung – ein ausgangsseitig vorliegendes Ergebnis der Rechenoperation als gültig markiert.
  9. Schaltung nach Anspruch 8, dadurch gekennzeichnet, – dass mindestens eine über die Add-Compare-Select-Operation hinausgehende Rechenoperation – die Bestimmung der Metrik (mink(s'ML)) des zum Maximum-Likelihood-Pfad nebenläufigen Pfades zum Zeitschritt k oder – die Bestimmung der Differenz (Δk) der Metriken des Maximum-Likelihood-Pfades (maxk(s'ML)) und des nebenläufigen Pfades (mink(s'ML)) zum Zeitschritt k ist, und – dass die Schaltung (ACS3) zusätzlich zu mehreren eingangsseitig zugeführten Zustandsmetriken und einer oder mehreren Übergangsmetriken eine oder mehrere zusätzliche Eingangsgrößen aufnimmt, welche die Zugehörigkeit der einzelnen Zu standsmetriken zum Zeitschritt k-1 zum Maximum-Likelihood-Pfad signalisieren.
  10. Schaltung nach Anspruch 9, dadurch gekennzeichnet, dass die Schaltung – einen ersten Eingang (B1) zur Aufnahme eines ersten Signalisierungs-Bits, welches einer als Eingangsgröße eingelesenen ersten Zustandsmetrik zugeordnet ist, und – einen zweiten Eingang (B2) zur Aufnahme eines zweiten Signalisierungs-Bits, welches einer als Eingangsgröße eingelesenen zweiten Zustandsmetrik zugeordnet ist, umfasst, wobei das erste und das zweite Signalisierungs-Bit die Zugehörigkeit der ersten bzw. der zweiten eingelesenen Zustandsmetrik zum Zeitschritt k-1 zum Maximum-Likelihood-Pfad signalisieren.
  11. Schaltung nach Anspruch 10, dadurch gekennzeichnet, dass die Schaltung einen dritten Eingang (B3) zur Aufnahme des den Übergang vom Zeitschritt k-1 zum Zeitschritt k betreffenden entschiedenen Bits des Maximum-Likelihood-Pfads umfasst.
  12. Schaltung nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass die Schaltung derart ausgestaltet ist, dass diese einen ersten Ausgang (B4) aufweist und ein drittes Signalisierungs-Bit über den ersten Ausgang (B4) ausgegeben wird, welches – der durch die Add-Compare-Select-Operation bestimmten Zustandsmetrik zum Zeitschritt k zugewiesenen ist, und – nur dann die Zugehörigkeit dieser Zustandsmetrik zum Maximum-Likelihood-Pfad signalisiert, wenn entweder das erste oder das zweite Signalisierungs-Bit die Zugehörigkeit der entsprechenden Zustandsmetriken zum Zeitschritt k-1 signalisiert.
  13. Schaltung nach Anspruch 8, dadurch gekennzeichnet, – dass die mindestens eine über die Add-Compare-Select-Operation hinausgehende Rechenoperation die Aktualisierung eines Soft-Output-Wertes (L(k-1), L(k-2), L(k-3), L(k-ws)) zu einem zurückliegenden Zeitschritt k-i innerhalb eines Aktualisierungsfensters ist, wobei die zur Aktualisierung notwendigen Soft-Output-Werte über die Eingänge, welche den Zustands- und/oder Übergangsmetriken zugewiesenen sind, eingelesen werden, und – dass die Schaltung (ACS3) – einen ersten Eingang (B1) zur Aufnahme des zu dem Zeitschritt k-i gehörenden Bits des Maximum-Likelihood-Pfades, und – einen zweiten Eingang (B2) zur Aufnahme des zu dem Zeitschritt k-i gehörenden Bits des nebenläufigen Pfades, umfasst.
  14. Schaltung nach Anspruch 13, dadurch gekennzeichnet, dass die Schaltung (ACS3) derart ausgestaltet ist, dass diese einen ersten Ausgang (B4) aufweist, wobei der Wert eines über den ersten Ausgang ausgegebenen dritten Signalisierungs-Bits davon abhängt, ob die an dem ersten Eingang (B1) und an dem zweiten Eingang (B2) eingelesenen Bits identisch sind oder nicht.
  15. Schaltung nach Anspruch 12 oder Anspruch 14, dadurch gekennzeichnet, dass der Wert des dritten Signalisierungs-Bits das Ergebnis der über die Add-Compare-Select-Operation hinausgehenden Rechenoperation als gültig oder ungültig markiert.
  16. Schaltung nach Anspruch 15 und einem der Ansprüche 9 bis 12 und einem der Ansprüche 13 oder 14, dadurch gekennzeichnet, dass die Schaltung für die beiden Rechenoperationen nach Anspruch 9 und Anspruch 13 einsetzbar ist, wobei – der erste Eingang nach Anspruch 10 identisch mit dem ersten Eingang nach Anspruch 13 ist und – der zweite Eingang nach Anspruch 10 identisch mit dem zweiten Eingang nach Anspruch 13 ist.
  17. Schaltung nach einem der Ansprüche 1 bis 7 und einem der Ansprüche 8 bis 16.
  18. Kombinierte Schaltung (ACS4), welche zwei Schaltungen (ACS2; ACS3) als Teilschaltungen gemäß einem der Ansprüche 1 bis 17 umfasst, wobei beide Teilschaltungen ein und demselben Butterfly des Trellis-Diagramms zugeordnet sind.
  19. Kombinierte Schaltung nach Anspruch 18, dadurch gekennzeichnet, dass die kombinierte Schaltung derart ausgestaltet ist, dass bei Durchführen einer Add-Compare-Select-Operation eingangsseitig pro Operation nur ein Übergangsmetrik-Wert (χk) eingelesen wird, welcher den zur Add-Teiloperation vorgesehenen Rechenmittel (ADDSUB1a/b, ADDSUB2a/b) beider Teilschaltungen zugeführt wird, wobei in jeder Teilschaltung zwecks Berücksichtigung eines invertierten Übergangsmetrik-Wertes mindestens ein Rechenmittel (ADDSUB2a, ADDSUB1b) zum Subtrahieren umschaltbar ausgeführt ist.
  20. Anwendungsspezifischer Prozessor zur Dekodierung empfangener Daten, welcher zur zeitgleichen Durchführung von n Add-Compare-Select-Operationen n Schaltungen (ACS2, ACS3) gemäß einem der Ansprüche 1 bis 17 oder n/2 kombinierte Schaltungen (ACS4) gemäß einem der Ansprüche 18 oder 19 umfasst.
  21. Anwendungsspezifischer Prozessor zur Dekodierung empfangener Daten, welcher – zur zeitgleichen Berechnung von n Add-Compare-Select-Operationen – n Schaltungen (ACS3) gemäß Anspruch 12 oder – n/2 kombinierte Schaltungen, wobei jede kombinierte Schaltung jeweils zwei Schaltungen (ACS3) als Teilschaltungen gemäß Anspruch 12 umfasst, wobei beide Teilschaltungen einem Butterfly des Trellis-Diagramms zugordnet sind, und – ein Speichermittel zum Ablegen der durch die Add-Compare-Select-Operation bestimmten Zustandsmetriken und der jeweils zugewiesenen Signalisierungs-Bits umfasst, wobei die Signalisierungs-Bits jeweils mit den zugewiesenen Zustandsmetriken ein gemeinsames Speicherwort in dem Speichermittel bilden.
  22. Verwendung einer Schaltung (ACS1), welche zur Durchführung einer Add-Compare-Select-Operation bei der Bestimmung von Zustandsmetriken nach dem Max-Log-MAP-Algorithmus ausgelegt ist, für Operationen bei der Bestimmung eines Soft-Output-Wertes (L(k)) gemäß dem Max-Log-MAP-Algorithmus, wobei – entweder zwei Vorwärts- und zwei Rückwärts-Zustandsmetriken (αk(s0-7), βk 0(s0-7)) oder – zwei zuvor mit der Schaltung bereits bei der erfindungsgemäßen Verwendung berechnete Zwischenergebnisse (δk 0(0), δk 0(2); δk 0(4), δk 0(6)), als Eingangsgrößen an die Eingänge (E1, E2, E3, E4) der Schaltung (ACS1) angelegt werden.
DE102004003096A 2004-01-21 2004-01-21 Schaltung zur Durchführung der Add-Compare-Select-Operation mit darüber hinausgehender Funktionalität Expired - Fee Related DE102004003096B3 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102004003096A DE102004003096B3 (de) 2004-01-21 2004-01-21 Schaltung zur Durchführung der Add-Compare-Select-Operation mit darüber hinausgehender Funktionalität
US11/040,984 US7565601B2 (en) 2004-01-21 2005-01-21 Circuit for carrying out the add compare select operation with a functionality going beyond this

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102004003096A DE102004003096B3 (de) 2004-01-21 2004-01-21 Schaltung zur Durchführung der Add-Compare-Select-Operation mit darüber hinausgehender Funktionalität

Publications (1)

Publication Number Publication Date
DE102004003096B3 true DE102004003096B3 (de) 2005-11-24

Family

ID=34876992

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004003096A Expired - Fee Related DE102004003096B3 (de) 2004-01-21 2004-01-21 Schaltung zur Durchführung der Add-Compare-Select-Operation mit darüber hinausgehender Funktionalität

Country Status (2)

Country Link
US (1) US7565601B2 (de)
DE (1) DE102004003096B3 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6155959B2 (ja) * 2013-08-19 2017-07-05 富士通株式会社 復号化装置、及び、復号化方法
KR20150097048A (ko) * 2014-02-17 2015-08-26 한국전자통신연구원 Ftn 기반 신호 수신 장치 및 그의 신호 복호화 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100195745B1 (ko) * 1996-08-23 1999-06-15 전주범 비터비 복호화기의 가산 비교 선택 장치
KR100285067B1 (ko) * 1998-09-25 2001-03-15 윤종용 비터비 디코더의 가산 비교 선택 회로
US7127667B2 (en) * 2002-04-15 2006-10-24 Mediatek Inc. ACS circuit and viterbi decoder with the circuit

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
FETTWEIS, G., MEYR, H.: Parallel Viterbi Algorithm Implementation: Breaking the ACS-Bottleneck. In: IEEE Transactions on Communications, vol.37, no.8, August 1989, S.785-790.
FETTWEIS, G., MEYR, H.: Parallel Viterbi AlgorithmImplementation: Breaking the ACS-Bottleneck. In: IEEE Transactions on Communications, vol.37, no.8,August 1989, S.785-790. *
SKLAR, B.: Digital Communications- Fundamentals and Applications. 2nd Edition. Upper Saddle River, New Jersey: Prentice Hall, 2001, S.406-407. ISBN: 0-13-084788-7.
SKLAR, B.: Digital Communications- Fundamentals and Applications. 2nd Edition. Upper Saddle River,New Jersey: Prentice Hall, 2001, S.406-407. ISBN: 0-13-084788-7. *
WANG, Y., TSUI, C.Y., CHENG, R.S.: A Low Power VLSI Architecture of SOVA-based Turbo-code decoder using Scarce State Transition Scheme. In: IEEE International Symposium on Circuits and Systems (ISCAS 2000 Geneva),May 28-31, 2000, Geneva, Switzerland, vol. 1, S. 283-286. FOSSORIER, M.P.C. (u.a.): On the Equivalence Be- tween SOVA and Max-Log-Map Decodings. In: IEEE Communications Letters, vol.2, no.5, May 1998, S.137-139.
WANG, Y., TSUI, C.Y., CHENG, R.S.: A Low Power VLSI Architecture of SOVA-based Turbo-code decoderusing Scarce State Transition Scheme. In: IEEE International Symposium on Circuits and Systems (ISCAS 2000 Geneva),May 28-31, 2000, Geneva, Switzerland, vol. 1, S. 283-286. FOSSORIER, M.P.C. (u.a.): On the Equivalence Be- tween SOVA and Max-Log-Map Decodings. In: IEEE Communications Letters, vol.2, no.5, May 1998, S.137-139. *

Also Published As

Publication number Publication date
US7565601B2 (en) 2009-07-21
US20050193044A1 (en) 2005-09-01

Similar Documents

Publication Publication Date Title
DE3910739C2 (de)
DE69827915T2 (de) Verarbeitungsverfahren und -vorrichtung
DE60120723T2 (de) Iterationsabbruch für Turbodecodierer
DE102012100945A1 (de) Iterativer Decodierer
DE2816913A1 (de) Decoder fuer konvolutinal codierte daten
EP0737389B1 (de) Übertragungssystem mit soft-output-dekodierung bei reduziertem speicherbedarf
DE69935361T2 (de) Verfahren und elektronische Schaltung zur Datenverarbeitung, insbesondere für die Berechnung von Wahrscheinlichkeitsverteilungen
DE102005010006A1 (de) Verfahren und Vorrichtung zum Terminieren einer iterativen Turbo-Dekodierung
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
DE19937506A1 (de) ACS-Einheit für einen Viterbi-Decodierer
DE10102928B4 (de) Viterbi-Decoder und Verfahren zur Decodierung
DE102004003096B3 (de) Schaltung zur Durchführung der Add-Compare-Select-Operation mit darüber hinausgehender Funktionalität
EP1269633B1 (de) Optimierter turbo-decodierer
EP1130788A2 (de) Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer
DE19521327A1 (de) Verfahren und Codiereinrichtung zur gesicherten Übertragung von Information mittels Mehrkomponenten-Codierung
EP0843444B1 (de) Digitales Übertragungssystem mit trellisbasiertem, zustandsreduziertem Schätzverfahren
DE60118716T2 (de) Log-MAP Dekodierung
EP1269632B1 (de) Turbo-decodierer und turbo-decodierverfahren
DE60116923T2 (de) Verbesserte Hochschnellheitsarchitektur "maximal a posteriori" (MAP) mit optimisierter Speichergrösse und Leistungsverbrauch
EP1626507B1 (de) Decoder und Verfahren zum Durchführen eines Viterbi-Algorithmus
EP1488531A1 (de) Verfahren zur decodierung einer mit hilfe eines binären faltungscodes verschlüsselten datenfolge
DE10120155B4 (de) Modulation mit paralleler Turbotrelliscodierung
DE4135318C1 (de)
DE10213882B4 (de) Verfahren zur Decodierung einer mit Hilfe eines binären Faltungscodes verschlüsselten Datenfolge
EP1099313B1 (de) Soft-decision-decodierung eines terminierten faltungscode

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee