DE19937506A1 - ACS-Einheit für einen Viterbi-Decodierer - Google Patents
ACS-Einheit für einen Viterbi-DecodiererInfo
- Publication number
- DE19937506A1 DE19937506A1 DE19937506A DE19937506A DE19937506A1 DE 19937506 A1 DE19937506 A1 DE 19937506A1 DE 19937506 A DE19937506 A DE 19937506A DE 19937506 A DE19937506 A DE 19937506A DE 19937506 A1 DE19937506 A1 DE 19937506A1
- Authority
- DE
- Germany
- Prior art keywords
- state
- path
- branch
- metric difference
- path metric
- 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.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4107—Sequence 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
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
Es wird eine ACS-Einheit für einen Viterbi-Decodierer vorgeschlagen, welche zur Ermittlung der Pfadmetriken zweier Zustände eines Zeitschrittes eines Trellis-Diagramms die Differenz (GAMMA) der Pfadmetriken der mit diesen beiden Zuständen in Form einer Butterfly-Struktur über Zweige verbundenen beiden Zuständen (19, 20) des vorhergehenden Zeitschrittes des Trellis-Diagramms mit der Differenz (LAMBDA) der entsprechenden Zweigmetriken vergleicht. Eine Vereinfachung der Struktur der ACS-Einheit wird dadurch erzielt, daß zusätzlich die Vorzeichen (sg(GAMMA), sg(LAMBDA)) der beiden Differenzen ausgewertet werden.
Description
Die vorliegende Erfindung betrifft eine ACS-Einheit (Add-
Compare-Select) nach dem Oberbegriff des Anspruches 1 für
einen Viterbi-Decodierer, der insbesondere in
Mobilfunkempfängern zur Decodierung von kanalcodierten
Mobilfunksignalen einsetzbar ist.
In den meisten bekannten digitalen Mobilfunkempfängern wird
ein Viterbi-Decodierer verwendet. Ein Viterbi-Decodierer ist
ein sogenannter Maximum-Likelihood-Decodierer, der in der
Regel zur Decodierung von kanalcodierten, insbesondere
faltungscodierten Mobilfunksignalen verwendet wird. Bei der
Kanalcodierung wird im Sender den zu übertragenden Symbolen
redundante Information hinzugefügt, um die
Übertragungssicherheit zu erhöhen. Bei der Übertragung eines
Mobilfunksignals wird dieses jedoch von Rauschen überlagert.
Die Aufgabe des Empfängers besteht daher darin, anhand der
Empfangssequenz aus sämtlichen möglichen Sendesequenzen
diejenige Sendesequenz herauszufinden, die mit größtmöglicher
Wahrscheinlichkeit der tatsächlichen Sendesequenz entspricht.
Diese Aufgabe wird von dem Viterbi-Decodierer wahrgenommen.
Die bei der Kanalcodierung verwendete Codiervorschrift kann
durch ein entsprechendes Trellis-Diagramm beschrieben werden.
Der Viterbi-Decodierer ermittelt durch Berechnung sogenannter
Metriken denjenigen Pfad des Trellis-Diagramms, der abhängig
von der jeweiligen Ausgestaltung des Decodierers die größte
oder kleinste Pfadmetrik besitzt. Anhand dieses Pfads des
Trellis-Diagramms kann dann die decodierte Sequenz bestimmt
und ausgegeben werden.
Nachfolgend sollen kurz die Grundlagen der Viterbi-
Decodierung näher erläutert werden.
In Fig. 4 ist beispielhaft ein Trellis-Diagramm mit jeweils
vier unterschiedlichen Zuständen zu den Zeitpunkten t . . . t + 3
dargestellt, die beispielsweise den Bitzuständen '00', '10',
'01' und '11' entsprechen. Jeder Symbolsequenz ist in dem
Trellis-Diagramm ein entsprechender Pfad zugeordnet. Ein Pfad
umfaßt dabei eine Folge von Zweigen zwischen zwei zeitlich
aufeinderfolgenden Zuständen. Jeder Zweig symbolisiert dabei
einen Zustandsübergang zwischen zwei zeitlich
aufeinanderfolgenden Zuständen, wobei beispielsweise der von
einem Zustand ausgehende obere Zweig einem Empfangssymbol mit
dem binären '0' und der von demselben Zustand ausgehende
untere Zweig einem Empfangssymbol mit dem binären Wert '1'
entspricht. Jeder dieser Zustandsübergänge, dem eine
Zweigmetrik ('Branch Metrik', BM) λt zugewiesen ist,
entspricht einem Sendesymbol. Die Zweigmetrik λt ist wie
folgt definiert:
λt = |y't - rt 2
Dabei entspricht rt dem Empfangssymbol zum Zeitpunkt t und
y't dem davon abhängig erwarteten Sendesymbol zum Zeitpunkt
t.
Darüber hinaus ist jedem Pfad durch das Trellis-Diagramm bis
zum Zeitpunkt bzw. Zeitschritt t eine Pfadmetrik γt
zugewiesen.
Bei dem in Fig. 4 gezeigten Trellis-Diagramm handelt es sich
insbesondere um ein Trellis-Diagramm mit einer sogenannten
'Butterfly'-Struktur. Dies bedeutet, daß jeweils zwei
Zuständen eines Zeitschritts t + 1 des Trellis-Diagramms zwei
Zustände des vorhergehenden Zeitschritts t zugewiesen sind,
deren Zweige jeweils zu den erstgenannten Zuständen des
Zeitschritts t + 1 führen, wobei jeweils zwei Zweigmetriken der
von unterschiedlichen Zuständen ausgehenden Zweige identisch
sind. So bilden beispielsweise die in Fig. 4 gezeigten
Zustände, denen die Pfadmetriken γt (1), γt (3), γt+1 (2) und γt+1 (3)
zugewiesen sind, eine derartige 'Butterfly'-Struktur, wobei
die Zweigmetrik für den Zweig von dem Zustand mit der
Pfadmetrik γt (1) zu dem Zustand mit der Pfadmetrik γt+1 (2) der
Zweigmetrik λt (3) des Zweigs von dem Zustand mit der
Pfadmetrik γt (3) zu dem Zustand mit der Pfadmetrik γt+1 (3)
entspricht, während andererseits die Zweigmetrik des Zweigs
von dem Zustand mit der Pfadmetrik γt (1) zu dem Zustand mit
der Pfadmetrik γt+1 (3) der Zweigmetrik λt (1) des Zweigs von dem
Zustand mit der Pfadmetrik γt (3) zu dem Zustand mit der
Pfadmetrik γt+1 (2) entspricht. Dabei bezeichnet allgemein γt (s)
die dem Zustand s im Zeitschritt t zugewiesene Pfadmetrik,
während λt (s) die Zweigmetrik des dem Signal s entsprechenden
Zustandsübergang zum Zeitpunkt t bezeichnet.
Der Viterbi-Decodierer muß nunmehr anhand des Trellis-
Diagramms denjenigen Pfad ermitteln, der die beste Pfadmetrik
aufweist. In der Regel ist dies definitionsgemäß der Pfad mit
der kleinsten Pfadmetrik.
Jede Pfadmetrik eines zu einem bestimmten Zustand führenden
Pfads setzt sich aus der Pfadmetrik eines zeitlich
vorhergehenden Zustands und der Zweigmetrik des von diesem
vorhergehenden Zustand zu dem bestimmten Zustand führenden
Zweigs zusammen. Dies hat zur Folge, daß nicht alle möglichen
Pfade und Pfadmetriken des Trellis-Diagramms ermittelt und
ausgewertet werden müssen. Statt dessen wird für jeden
Zustand und für jeden Zeitschritt des Trellis-Diagramms
jeweils derjenige Pfad ermittelt, der bis zu diesem Zeitpunkt
die beste Pfadmetrik aufweist. Nur dieser als 'Survivor Path'
bezeichnete Pfad und seine Pfadmetrik muß gespeichert werden.
Alle anderen zu diesem Zustand führenden Pfade können
unberücksichtigt bleiben. Während jedes Zeitschritts gibt es
demnach eine der Anzahl der unterschiedlichen Zustände
entsprechende Anzahl an derartigen 'Survivor Paths'.
Die obige Beschreibung macht deutlich, daß die Berechnung der
Pfadmetrik γt+1 (s) von den Pfadmetriken der mit dem Zustand s
über einen Zweig verbundenen Pfadmetriken des vorhergehenden
Zeitschritts t abhängt. Die Berechnung der Pfadmetriken kann
demnach durch einen rekursiven Algorithmus realisiert werden,
der in einem Viterbi-Decodierer von einer sogenannten 'Add-
Compare-Select'-Einheit (ACS-Einheit) wahrgenommen wird.
In Fig. 5 ist der typische Aufbau eines Viterbi-Decodierers
dargestellt. Neben der ACS-Einheit sind eine 'Branch Metric
Unit' (BMU) und eine 'Survivor Memory Unit' vorgesehen. Die
Aufgabe der 'Branch Metric Unit' ist die Berechnung der
Zweigmetriken λt (s), die ein Maß für den Unterschied zwischen
einem Empfangssymbol und demjenigen Symbol, welches in dem
Trellis-Diagramm den entsprechenden Zustandsübergang
hervorruft, sind. Die von der 'Branch Metric Unit'
berechneten Zweigmetriken werden der ACS-Einheit zur
Ermittlung der optimalen Pfade ('Survivor Paths') zugeführt,
wobei die 'Survivor Memory Unit' diese 'Survivor Paths'
speichert, so daß abschließend eine Decodierung anhand
desjenigen 'Survivor Path' durchgeführt werden kann, der die
beste Pfadmetrik aufweist. Die diesem Pfad zugeordnete
Symbolsequenz entspricht mit der größten Wahrscheinlichkeit
der tatsächlich gesendeten Sequenz.
Ein Prozessorelement 1 einer herkömmlichen ACS-Einheit kann
beispielsweise wie in Fig. 6 gezeigt aufgebaut sein. Dabei
wird davon ausgegangen, daß jeder Zustand des Trellis-
Diagramms von einem separaten Prozessorelement 1 ausgewertet
wird. Die Aufgabe des Prozessorelements 1 besteht darin, aus
zwei miteinander konkurrierenden Pfaden, die zu einem Zustand
des Trellis-Diagramms führen, den Pfad mit der besten, d. h.
kleinsten Pfadmetrik auszuwählen. Anschließend werden die
gespeicherten Werte für den zu diesem Zustand führenden
'Survivor Path' und dessen Pfadmetrik aktualisiert.
Wie aus dem in Fig. 4 gezeigten Trellis-Diagramm ersichtlich
ist, ist jeder Zustand s zu dem Zeitpunkt t + 1 über einen
oberen Zweig und einen unteren Zweig mit einem entsprechenden
vorhergehenden Zustand verbunden. Zur Ermittlung des diesem
Zustand s entsprechenden 'Survivor Path' muß somit die
Pfadmetrik des über den oberen Zweig zu dem Zustand s
führenden Pfads mit der Pfadmetrik des über den unteren Zweig
zu dem Zustand s führenden Pfads verglichen werden, d. h. die
Aufgabe des in Fig. 6 gezeigten Prozessorelements 1 besteht
darin, zur Bestimmung des 'Survivor Path' mit der Pfadmetrik
γt+1 (s) entweder den über den vorhergehenden 'oberen' Zustand
mit der Pfadmetrik γt (u) und den 'oberen' Zweig mit der
Zweigmetrik λt (u) führenden Pfad, dessen Pfadmetrik der Summe
γt (u) + λt (u) entspricht, oder den über den 'unteren' Zustand mit
der Pfadmetrik γt (l) und den 'unteren' Zweig mit der
Zweigmetrik λt (l) führenden Pfad, dessen Pfadmetrik der Summe
γt (l) + λt (l) entspricht, auszuwählen.
Die zuvor beschriebene Funktion des Prozessorelements kann
demzufolge beispielsweise von der in Fig. 6 gezeigten
Schaltung wahrgenommen werden, bei der mit Hilfe von
Addierern 14 und 15 die möglichen Pfadmetriken berechnet und
mittels eines Komparators 16 verglichen werden, so daß
abhängig von dem Vergleichsergebnis δs mit Hilfe eines
Multiplexers 17 anschließend als Pfadmetrik γt+1 (s) die
kleinere der von den beiden Addierer 14 oder 15 berechneten
Summen ausgegeben wird.
In Fig. 7 ist der Gesamtaufbau und die Anbindung einer ACS-
Einheit an die 'Branch Metric Unit' und die 'Survivor Memory
Unit' für das in Fig. 4 beispielshaft gezeigte Trellis-
Diagramm dargestellt. Da jedes für einen Zustand s im
Zeitschritt t berechnete Ergebnis γt (s) zugleich die Grundlage
für die Berechnung einer Pfadmetrik für einen zeitlich
nachfolgenden Zustand ist, ist die in Fig. 7 gezeigte
Rückkopplung der Prozessorelemente 1 über ein
Zwischenregister 18 erforderlich. Die von den einzelnen
Prozessorelementen 1 der 'Survivor Path Unit' zugeführten
Entscheidungs- oder Signalwerte δ0 . . . δ3 ermöglichen die
Auswahl und das Speichern der korrekten 'Survivor Paths' und
deren Pfadmetriken.
Die zuvor beschriebene ACS-Einheit ist der rechenintensivste
Teil eines Viterbi-Decodierers. Sie weist den größten
Flächen- und Energiebedarf auf. Bei Anwendungen in der
Mobilfunktechnik steigt dabei die Komplexität der ACS-Einheit
exponentiell mit der Komplexität des jeweils zur
Kanalcodierung von Mobilfunksignalen verwendeten Codes.
Es besteht daher das grundlegende Bedürfnis, den
Schaltungsaufwand für die ACS-Einheit möglichst gering zu
halten. So wurde beispielsweise in der Druckschrift "Low
Power ACS Unit Design For The Viterbi Decoder", Chi-ying
Tsui, Roger S. K. Cheng, Curtis Ling, Conference IEEE ISCAS,
1999, Orlando, in der eine ACS-Einheit nach dem Oberbegriff
des Anspruches 1 beschrieben ist, vorgeschlagen, zur
Bestimmung eines 'Survivor Path' eines Zustands die Differenz
der Pfadmetriken derjenigen vorhergehenden Zustände, von
denen jeweils ein Zweig zu dem betrachteten Zustand führt, zu
bilden und mit der Differenz der entsprechenden Zweigmetriken
zu vergleichen. Abhängig von dem Vergleichsergebnis kann
unmittelbar auf den 'Survivor Path' und somit die zur
Berechnung der entsprechenden Pfadmetrik zu bildende Summe
geschlossen werden. Diese Vorgehensweise weist den Vorteil
auf, daß die Differenzen bei Annahme der bereits erwähnten
'Butterfly'-Struktur gemeinsam für die Berechnung der
Pfadmetriken von zwei Zuständen eines Zeitschritts des
Trellis-Diagramms durchgeführt werden können, wodurch der
Schaltungsaufwand reduziert werden kann.
Allerdings ist auch bei dieser Vorgehensweise weiterhin die
separate Bildung eines Vergleichs für die Ermittlung der
Pfadmetriken der zu der jeweiligen 'Butterfly'-Struktur
gehörenden 'oberen' und 'unteren' Zustände eines Zeitschritts
erforderlich, wozu entsprechend zwei Komparatoren benötigt
werden.
Der vorliegenden Erfindung liegt daher ausgehend von diesem
Stand der Technik die Aufgabe zugrunde, eine ACS-Einheit für
einen Viterbi-Decodierer mit geringerem Schaltungsaufwand und
Flächenbedarf bereitzustellen.
Diese Aufgabe wird erfindungsgemäß durch eine ACS-Einheit mit
den Merkmalen des Anspruches 1 gelöst. Die Unteransprüche
definieren vorteilhafte und bevorzugte Ausführungsformen der
vorliegenden Erfindung.
Erfindungsgemäß werden unter Annahme der zuvor beschriebenen
'Butterfly'-Struktur des Trellis-Diagramms die Pfadmetriken
von zwei Zuständen eines Zeitschrittes des Trellis-Diagrammes
in Abhängigkeit von einem Vergleich zwischen der Differenz
der Pfadmetriken der mit diesen Zuständen über die
'Butterfly'-Struktur verbundenen Zuständen des unmittelbar
vorhergehenden Zeitschrittes des Trellis-Diagrammes und der
Differenz der entsprechenden Zweigmetriken unter zusätzlicher
Auswertung der Vorzeichen der Pfadmetrikdifferenz und der
Zweigmetrikdifferenz berechnet.
Diese Vorgehensweise hat eine deutliche Reduzierung des
schaltungstechnischen Aufwandes der ACS-Einheit zur Folge.
Untersuchungen haben ergeben, daß der Berechnungsaufwand mit
Hilfe der vorliegenden Erfindung für alle heutzutage in der
digitalen Kommunikationstechnik (Mobilfunktechnik (z. B. gemäß
dem GSM- oder UMTS-Mobilfunkstandard),
Satellitenkommunikation, allgemein drahtlose Kommunikation)
verwendeten Codes um ca. 33% reduziert werden kann. Gegenüber
dem bekannten Stand der Technik ist somit zudem eine
entsprechende Energieeinsparnis möglich. Insbesondere ist im
Vergleich zu der in der Druckschrift "Low Power ACS Unit
Design For The Viterbi Decoder", Chi-ying Tsui, Roger S. K.
Cheng, Curtis Ling, Conference IEEE ISCAS, 1999, Orlando,
vorgeschlagenen ACS-Einheit kein separater Komparator für die
Ermittlung der Pfadmetriken des 'oberen' und 'unteren'
Zustands der 'Butterfly'-Struktur erforderlich. Der in der
erfindungsgemäßen ACS-Einheit zu bildende Vergleich zwischen
der oben beschriebenen Pfadmetrikkdifferenz und der
Zweigmetrikdifferenz kann mit einer geringen Bitbreite
durchgeführt werden, was ebenfalls zu einem Einsparnis an
benötigter Schaltungsfläche und Energie beiträgt.
Die erfindungsgemäße ACS-Einheit läßt sich mit einfachen
Mitteln sowohl in Form einer kombinatorischen Schaltung als
auch in Form einer sequentiellen Schaltung realisieren. Eine
Reduzierung des erforderlichen Flächenbedarfs der ACS-Einheit
ergibt sich insbesondere aus der Tatsache, daß mit Hilfe der
vorliegenden Erfindung gleichzeitig zwei Trellis-Zustände
verarbeitet werden. Sämtliche Zustände eines Zeitschrittes
des jeweils verwendeten Trellis-Diagrammes können entweder
vollständig parallel (falls die Anzahl der Prozessorelemente
der ACS-Einheit mindestens der Hälfte der Zustände eines
Zeitschrittes entsprechen) oder zeitlich gemultiplext (bei
einer geringeren Anzahl der Prozessorelemente) verarbeitet
werden können.
Gemäß einer bevorzugten Ausführungsform der vorliegenden
Erfindung kann zusätzlich ein Vorkomparator vorgesehen sein,
der bestimmte Bits der Pfadmetrikdifferenz und
Zweigmetrikdifferenz miteinander vergleicht, wobei das
Vergleichsergebnis zusätzlich ausgewertet wird, um
gegebenenfalls bereits frühzeitig die für die Berechnung der
Pfadmetriken zu addierenden Komponenten bestimmen zu können,
ohne daß hierzu der eigentliche Komparator aktiviert werden
muß. Bei Anwendung der Zweierkomplementdarstellung kann somit
beispielsweise durch Vergleich der höherwertigeren Bits das
Verhältnis der Vorzeichen der Pfadmetrikdifferenz und
Zweigmetrikdifferenz bestimmt werden.
Die vorliegende Erfindung wird nachfolgend unter Bezugnahme
auf die beigefügte Zeichnung näher anhand eines bevorzugten
Ausführungsbeispiels erläutert.
Fig. 1 zeigt ein Blockschaltbild eines Prozessorelements
einer ACS-Einheit gemäß der vorliegenden Erfindung,
Fig. 2 zeigt eine Darstellung zur Erläuterung der
'Butterfly'-Struktur eines Trellis-Diagrammes,
Fig. 3 zeigt eine Darstellung zur Erläuterung des der
vorliegenden Erfindung zugrundeliegenden Prinzips bei der
Berechnung von Pfadmetriken,
Fig. 4 zeigt ein beispeilhaftes Trellis-Diagramm mit vier
Zuständen,
Fig. 5 zeigt allgemein den Aufbau eines Viterbi-Decodierers,
Fig. 6 zeigt ein Blockschaltbild eines Prozessorelements
einer bekannten ACS-Einheit, und
Fig. 7 zeigt den Aufbau einer bekannten ACS-Einheit mit
mehreren der in Fig. 6 gezeigten Prozessorelemente sowie die
Verschaltung dieser ACS-Einheit in einem Viterbi-Decodierer.
Zur Erläuterung der Erfindung soll nachfolgend nochmals kurz
auf die bereits erläuterte 'Butterfly'-Struktur eingegangen
werden, welche eine Voraussetzung für die vorliegende
Erfindung darstellt.
Wie auch aus dem in Fig. 4 gezeigten beispielhaften Trellis-
Diagramm ersichtlich ist, weist das Trellis-Diagramm eine
gewisse Regelmäßigkeit in seiner Struktur auf. Diese Struktur
besteht aus sogenannten 'Butterflies', wobei ein derartiger
'Butterfly' in Fig. 2 gezeigt ist. Gemäß der 'Butterfly'-
Struktur sind zwei Zustände 19 und 20 eines Zeitschritts t
mit zwei Zuständen 21 und 22 des darauffolgenden Zeitschritts
t + 1 derart verbunden, daß von jedem dieser Zustände 19 und 20
jeweils ein Zweig zu dem Zustand 21 und ein Zweig zu dem
Zustand 22 führt, wobei die Zweigmetrik λt (u) des von dem
Zustand 19 zu dem Zustand 21 führenden Zweigs der Zweigmetrik
des von dem Zustand 20 zu dem Zustand 22 führenden Zweigs und
die Zweigmetrik λt (l) des von dem Zustand 19 zu dem Zustand 22
führenden Zweigs der Zweigmetrik des von dem Zustand 20 zu
dem Zustand 21 führenden Zweigs entspricht. In Fig. 2 sind
zudem die den einzelnen Zuständen entsprechenden Pfadmetriken
γt (u), γ(l), γt+1 (u) bzw. γt+1 (l) dargestellt.
Diese Regelmäßigkeit der 'Butterfly'-Struktur wird im Rahmen
der vorliegenden Erfindung ausgenützt, um die Anzahl der zur
Bestimmung der 'oberen' Pfadmetrik γt+1 (u) und der 'unteren'
Pfadmetrik γt+1 (l) erforderlichen arithmetischen Operationen zu
reduzieren.
Zur Bestimmung der Pfadmetriken γt+1 (u) und γt+1 (l) muß jeweils
die günstigste Pfadmetrik der theoretisch möglichen
Pfadmetriken ermittelt werden. Jede Pfadmetrik eines Zustands
setzt sich aus der Pfadmetrik eines Zustands des
vorhergehenden Zeitschrittes und der Zweigmetrik des
Verbindungszweigs dieser beiden Zustände zusammen. Somit muß
zur Bestimmung der Pfadmetrik γt+1 (u) die kleinere der
theoretisch möglichen Pfadmetriken γt (u) + λt (u) und γt (l) + λt (l)
und zur Bestimmung der Pfadmetrik γt+1 (l) die kleinere der
theoretisch möglichen Pfadmetriken γt (u) + λt (l) und γt (l) + λt (u)
ermittelt werden. Es sind somit folgende
Vergleichsoperationen erforderlich:
γt (u) + λt (u) ⊳⊲ γt (l) + λt (l) für den 'oberen' Zustand
γt (u) + λt (l) ⊳⊲ γt (l) + λt (u) für den 'unteren' Zustand
Jede Vergleichsoperation ist dabei durch den Operator '⊳⊲'
repräsentiert.
Die für den 'oberen' Zustand 21 und den 'unteren' Zustand 22
der 'Butterfly'-Struktur durchzuführenden
Vergleichsoperationen weisen eine gewisse Ähnlichkeit auf.
Durch Subtraktion können die Zweigmetriken und Pfadmetriken
voneinander getrennt werden, so daß sich für den 'oberen' und
'unteren' Zustand jeweils ein Vergleich zwischen einer
Pfadmetrikdifferenz und einer Zweigmetrikdifferenz ergibt:
λt (u) - λt (l) ⊳⊲ γt (l) - γt (u) für den 'oberen' Zustand
λt (l) - λt (u) ⊳⊲ γt (l) - γt (u) für den 'unteren' Zustand
Werden für diese Differenzen eine Pfadmetrikdifferenz
Γt = γt (l) - γt (u) und eine Zweigmetrikdifferenz Λt = λt (l) - λt (u)
definiert, so ergibt sich für die durchzuführenden
Vergleichsoperationen:
Λt ⊳⊲ Γt für den 'oberen' Zustand
-Λt ⊳⊲ Γt für den 'unteren' Zustand
Die beiden Vergleiche können durch den Absolut- oder
Betragsvergleich |Λt| ⊳⊲ |Γt| gelöst werden. Das Ergebnis dieses
Vergleichs legt die Beziehung zwischen |Λt| und |Γt| fest. Da
die Metriken λt (u), λt (l), γt (l) und γt (u) per Definition positiv
sind, wurden keine der oben angegebenen Ungleichungen durch
die zuvor vorgenommenen mathematischen Modifikationen
verändert. Die zur Ermittlung der Pfadmetriken γt+1 (u) und γt+1 (l)
ursprünglich aufgestellten Ungleichungen für den 'oberen'
Zustand 21 und den 'unteren' Zustand 22 können somit durch
Auswertung der Vorzeichen von Λt und Γt gelöst werden, wobei
zu berücksichtigen ist, daß |Λt| für die Ungleichung des
'unteren' Zustands 22 mit einem negativen Vorzeichen versehen
sein muß.
Das Ergebnis dieser Überlegungen ist, daß zur Bestimmung der
Pfadmetriken γt+1 (u) und γt+1 (l) lediglich ein einziger
Absolutvergleich durchgeführt werden muß, wobei die
endgültige Entscheidung dann abhängig von diesem
Vergleichsergebnis durch Auswertung der Vorzeichen von Λt und
Γt getroffen wird. Wie nachfolgend noch näher erläutert wird,
ist dies mit relativ einfachen schaltungstechnischen Mitteln
möglich.
In Fig. 1 ist ein Blockschaltbild eines Ausführungsbeispiels
für ein Prozessorelement 1 der ACS-Einheit eines Viterbi-
Decodierers dargestellt. Das Prozessorelement 1 dient zur
Berechnung der Pfadmetriken γt+1 (u) und γt+1 (l) von zwei Zuständen
eines Zeitschrittes t + 1 eines Trellis-Diagrammes und empfängt
als Eingangssignale die Pfadmetriken γt (l) und γt (u) derjenigen
beiden Zustände des vorhergehenden Zeitschrittes t des
Trellis-Diagrammes, die mit den beiden zu berechnenden
Zuständen die in Fig. 2 gezeigte 'Butterfly'-Struktur bilden.
Des weiteren empfängt das Prozessorelement 1 als
Eingangssignale die Zweigmetriken λt (u) und λt (l) der
entsprechenden Verbindungszweige dieser 'Butterfly'-Struktur.
Die Pfadmetriken γt (l), γt (u) und die Zweigmetriken λt (u), λt (l)
sind jeweils Multiplexern 8 und 9 bzw. 10 und 11 zugeführt,
die abhängig von einem Steuersignal Cu bzw. Cl einen ihrer
beiden Eingangswerte einem Addierer 12 bzw. 13 zuführen, der
schließlich als Pfadmetrik γt+1 (u) bzw. γt+1 (l) die kleinere der
jeweils beiden möglichen Summen ausgibt. Die Entscheidungs-
oder Steuersignale Cu bzw. Cl werden zudem (invertiert) der
'Survivor Memory Unit' zugeführt.
Die Steuersignale Cu und Cl werden von einer
Auswertungseinheit 6 erzeugt. Zur Ansteuerung der
Auswertungseinheit 6 sind ein Subtrahierer 2 und ein
Komparator 4 vorgesehen, wobei der Subtrahierer 2 die
Differenz zwischen den beiden Pfadmetriken γt (1) und γt (u)
berechnet, während der Komparator 4 die daraus resultierende
Pfadmetrikdifferenz Γ mit einer extern zugeführten
Zweigmetrikdifferenz Λ vergleicht und das Vergleichsergebnis
der Auswertungseinheit 6 zuführt.
Die Zweigmetrikdifferenz Λ = λt (u) - λt (l) wird in der 'Branch
Metric Unit' (BMU) berechnet und der ACS-Einheit bzw. dem
Prozessorelement 1 in zwei unterschiedlichen Versionen,
nämlich einmal als normale Zweigmetrikdifferenz Λ+ und
einmal als negierte Zeigmetrikdifferenz Λ- zugeführt. Die
Auswahl, welche der beiden Zweigmetrikversionen für den
Vergleich mit der Pfadmetrikdifferenz Γ verwendet werden
soll, erfolgt durch einen Multiplexer 3, der abhängig von dem
Vorzeichenbit sg(Γ) der Pfadmetrikdifferenz angesteuert wird.
Bei einer Zweierkomplement-Darstellung entspricht das
Vorzeichenbit dem MSB (Most Significant Bit). Die
Unterscheidung zwischen den beiden Zweigmetrikversionen ist,
wie nachfolgend noch näher erläutert wird, erforderlich, um
immer vorzeichengleiche Werte miteinander vergleichen und
somit ein korrektes Vergleichsergebnis berechnen zu können.
Wie bereits erwähnt worden ist, ermittelt der Komparator 4
das Ergebnis des Absolutvergleichs C = |Γt| < |Λt|. Da sowohl
Γt als auch Λt positiv oder negativ sein kann, gibt es vier
mögliche Wertekombinationen, die eine Inversion des
ermittelten Vergleichswerts C erforderlich machen könnten, um
die zuvor beschriebenen Ungleichungen für den 'oberen' und
'unteren' Zustand tatsächlich korrekt nachbilden und über die
Multiplexer 8, 9 bzw. 10, 11 die korrekten Werte für die
Pfadmetrikberechnung auswählen zu können.
Die entsprechende Logik ist in Fig. 3 dargestellt, wobei
jeweils für den 'oberen' Zustand und den 'unteren' Zustand
die möglichen Kombinationen der Vorzeichen von Γ und Λ sowie
die jeweils daraus folgenden Werte für Cu bzw. Cl in
Abhänggkeit von dem Absolutvergleichsergebnis C dargestellt
sind. Ein nachgestelltes Minuzeichen entspricht dabei einem
negativen Vorzeichen, während ein nachgestelltes Pluszeichen
einem positiven Vorzeichen entspricht, so daß beispielsweise
Γ- einen negativen Pfaddifferenzwert und Γ+ einen positiven
Pfaddifferenzwert darstellt.
Aus Fig. 3 ist insbesondere ersichtlich, daß sowohl für den
'oberen' Zustand als auch für den 'unteren' Zustand für zwei
mögliche Vorzeichenkombinationen alleine durch Auswertung der
Vorzeichen von Γ und Λ eine Ermittlung der Werte für Cu und
Cl möglich ist, ohne tatsächlich den Absolutvergleich
durchführen und somit den Wert C berechnen zu müssen. In
diesen Fällen steht somit das 'Vergleichsergebnis', d. h. die
Steuersignale Cu und Cl, deutlich früher zur Verfügung, da
kein Vergleich durchgeführt werden muß, was eine deutliche
Reduzierung der Glitch-Wahrscheinlichkeit an den
Auswahlmultiplexern 8, 9 und 10, 11 zur Folge hat.
In allen anderen Fällen der Vorzeichen von Γ und Λ werden
die Werte für Cu und Cl analog zu der in Fig. 3 gezeigten
Logik in Abhängigkeit von dem Wert C des
Absolutvergleichsergebnisses berechnet.
Die Ermittlung der Werte für Cu und Cl in Abhängigkeit von
den Vorzeichen sg(Γ) und sg(Λ) sowie dem Wert des
Absolutvergleiches C = |Γt| < |Λt| erfolgt gemäß Fig. 1 in der
Auswertungseinheit 6. Wie zuvor anhand Fig. 3 beschrieben
worden ist, muß die Auswertungseinheit hierzu lediglich die
Vorzeichen sg(Γ) und sg(Λ) auswerten und davon abhängig den
Werten Cu und Cl entweder den festen binären Wert '1', den
festen binären Wert '0', den unveränderten Wert C des
Vergleichsergebnisses oder den negierten Wert C des
Vergleichsergebnisses zuweisen. Der Multiplexer 3
gewährleistet dabei, daß zur Realisierung des
Absolutvergleichs |Γt| < |Λt| stets die korrekten Werte
±Γt < ±Λt miteinander verglichen werden.
Die Verwendung der in Fig. 3 gezeigten Logik ermöglicht, daß
lediglich ein Absolutvergleich C = |Γt| < |Λt| ausgewertet
werden muß, um davon abhängig sowohl die 'obere' Pfadmetrik
γt+1 (u) als auch die 'untere' Pfadmetrik γt+1 (l) berechnen zu
können. Wird davon ausgegangen, daß die Komplexität eines
Komparators im wesentlichen derjenigen eines Addierers oder
Subtrahierers entspricht, ist durch einen Vergleich der in
Fig. 1 und Fig. 6 gezeigten Prozessorelemente 1 leicht
ersichlich, daß mit Hilfe der vorliegenden Erfindung ca. 33%
der in Fig. 6 gezeigten Prozessortopologie eingespart werden
kann (vier Addier-, Subtrahier- oder Komparatoreinheiten in
Fig. 1 gegenüber sechs Addier- oder Komparatoreinheiten in
Fig. 6). Darüber hinaus ist zu beachten, daß mit Hilfe des
erfindungsgemäßen Prozessorelementes 1 gleichzeitig die
Pfadmetriken γt+1 (u) und γt+1 (l) für die beiden Zustände eines
'Butterfly' des Zeitschrittes t + 1 berechnet werden, während
das in Fig. 1 gezeigte Prozessorelement lediglich zur
Berechnung der Pfadmetrik eines Zustandes vorgesehen ist.
Bei dem in Fig. 1 gezeigten Prozessorelement 1 ist als
vorteilhafte Weiterbildung ein Vorkomparator 5 vorgesehen,
der derart ausgestaltet ist, daß er einen Vorvergleich der
Pfadmetrikdifferenz Γ mit der Zweigmetrikdifferenz Λ
durchführt. Allgemein kann der Vorkomparator 5 derart
ausgestaltet sein, daß er die höherwertigeren Bits der
Pfadmetrikdifferenz und der Zweigmetrikdifferenz miteinander
vergleicht, um somit möglicherweise unterschiedliche
Bitbreiten festzustellen. 50 kann beispielsweise der
Vorkomparator 5 derart ausgestaltet sein, daß er lediglich
das höchstwertige Bit (MSB) der Pfadmetrikdifferenz und der
Zweigmetrikdifferenz vergleicht, da bei der Zweierkomplement-
Darstellung auf diese Weise bereits im voraus beispielsweise
die Fälle Γ + und Γ - + (vgl. Fig. 3) festgestellt werden
können. Das Vergleichsergebnis wird der Auswertungseinheit 6
als ein weiteres Eingangssignal zugeführt.
Auch erfindungsgemäß weist die ACS-Einheit in Abhängigkeit
von der Anzahl der unterschiedlichen Zustände des jeweils
verwendeten Trellis-Diagrammes mehrere der in Fig. 1
gezeigten Prozessorelemente 1 auf, deren Ausgänge analog zu
Fig. 7 über Register 18 zum Zwischenspeichern der ermittelten
Pfadmetrikwerte rückgekoppelt sind. Wegen dieser Rückkopplung
addieren sich die Pfadmetrikwerte allmählich auf, so daß
gemäß Fig. 1 in den den Pfadmetriken γt (u) und γt (l)
zugeordneten eingangsseitigen Schaltungspfaden, welche zu dem
Komparator 2 sowie den Multiplexern 9 und 11 führen,
vorzugsweise eine (nicht gezeigte) Renormalisierungseinheit
zwischengeschaltet sein kann, die einen Überlauf vermeidet
und die rückgekoppelten Pfadmetrikwerte renormalisiert.
Für jeden Zustand eines Zeitschrittes des Trellis-Diagrammes
wird die auf oben beschriebene Art und Weise ermittelte
jeweils günstigste, d. h. minimale, Pfadmetrik zusammen mit
dem entsprechenden Pfad in der 'Survivor Memory Unit'
zwischengespeichert. Der wesentliche Unterschied zwischen der
Verwendung der in Fig. 1 gezeigten Prozessorelemente 1 in
einer ACS-Einheit zu der Darstellung von Fig. 7 besteht
lediglich darin, daß die in Fig. 1 gezeigten
erfindungsgemäßen Prozessorelemente 1 zur Berechnung zweier
Pfadmetriken γt+1 (u) und γt+1 (l) vorgesehen sind.
1
Prozessorelement
2
Subtrahierer
3
Multiplexer
4
Komparator
5
Vorkomparator
6
Auswertungseinheit
8-11
Multiplexer
12-15
Addierer
16
Komparator
17
Multiplexer
18
Register
19
,
20
Zustände des Zeitschritts t
21
,
22
Zustände des Zeitschritts t +
1
γ Pfadmetrik
λ Zweigmetrik
Λ Zweigmetrikdifferenz
Γ Pfadmetrikdifferenz
δ Vergleichsergebniswert
MSB Höchstwertiges Bit
C Steuersignalwert
u Index für den jeweils oberen Wert
l Index für den jeweils unteren Wert
t Zeitindex
BMU Branch Metric Unit
ACS Add-Compare-Select Unit
SMU Survivor Memory Unit
sg(Λ) Vorzeichen der Zweigmetrikdifferenz
sg(Γ) Vorzeichen der Pfadmetrikdifferenz
λ Zweigmetrik
Λ Zweigmetrikdifferenz
Γ Pfadmetrikdifferenz
δ Vergleichsergebniswert
MSB Höchstwertiges Bit
C Steuersignalwert
u Index für den jeweils oberen Wert
l Index für den jeweils unteren Wert
t Zeitindex
BMU Branch Metric Unit
ACS Add-Compare-Select Unit
SMU Survivor Memory Unit
sg(Λ) Vorzeichen der Zweigmetrikdifferenz
sg(Γ) Vorzeichen der Pfadmetrikdifferenz
Claims (11)
1. ACS-Einheit für einen Viterbi-Decodierer,
wobei die ACS-Einheit zur Bestimmung von Pfadmetriken eines dem Viterbi-Decodierer zugewiesenen Trellis-Diagramms vorgesehen ist,
wobei jeweils einem ersten und einem zweiten Zustand (21, 22) eines Zeitschritts (t + 1) des Trellis-Diagramms ein damit über jeweils einen Zweig des Trellis-Diagramms verbundener dritter und vierter Zustand (20, 19) des vorhergehenden Zeitschritts (t) zugewiesen ist, wobei in dem Trellis-Diagramm eine erste Zweigmetrik (λt (u)) für den den ersten Zustand (21) mit dem vierten Zustand (19) verbindenden Zweig und den den zweiten Zustand (22) mit dem dritten Zustand (20) verbindenden Zweig gleich groß ist und eine zweite Zweigmetrik (λt (l)) für den den ersten Zustand (21) mit dem dritten Zustand (20) bzw. den zweiten Zustand (22) mit dem vierten Zustand (19) verbindenden Zweig gleich groß ist, und
wobei die ACS-Einheit ein Prozessorelement (1) zur Bestimmung der dem ersten und zweiten Zustand (21, 22) zugeordneten Pfadmetriken (γt+1 (u), γt+1 (l)) aufweist, welches als Eingangswerte die erste und zweite Zweigmetrik (λt (u), λt (l)) sowie dem dritten bzw. vierten Zustand (20, 19) zugeordnete Pfadmetriken (γt (u), γt (l)) empfängt und umfaßt:
daß die Auswertungseinrichtung (3-6) derart ausgestaltet ist,
daß sie die dem ersten und zweiten Zustand (21, 22) zugeordneten Pfadmetriken (γt+1 (u), γt+1 (l)) in Abhängigkeit von dem Vergleichsergebnis (C) unter zusätzlicher Auswertung der Vorzeichen der Pfadmetrikdifferenz (Γ) und der Zweigmetrikdifferenz (Λ) bestimmt.
wobei die ACS-Einheit zur Bestimmung von Pfadmetriken eines dem Viterbi-Decodierer zugewiesenen Trellis-Diagramms vorgesehen ist,
wobei jeweils einem ersten und einem zweiten Zustand (21, 22) eines Zeitschritts (t + 1) des Trellis-Diagramms ein damit über jeweils einen Zweig des Trellis-Diagramms verbundener dritter und vierter Zustand (20, 19) des vorhergehenden Zeitschritts (t) zugewiesen ist, wobei in dem Trellis-Diagramm eine erste Zweigmetrik (λt (u)) für den den ersten Zustand (21) mit dem vierten Zustand (19) verbindenden Zweig und den den zweiten Zustand (22) mit dem dritten Zustand (20) verbindenden Zweig gleich groß ist und eine zweite Zweigmetrik (λt (l)) für den den ersten Zustand (21) mit dem dritten Zustand (20) bzw. den zweiten Zustand (22) mit dem vierten Zustand (19) verbindenden Zweig gleich groß ist, und
wobei die ACS-Einheit ein Prozessorelement (1) zur Bestimmung der dem ersten und zweiten Zustand (21, 22) zugeordneten Pfadmetriken (γt+1 (u), γt+1 (l)) aufweist, welches als Eingangswerte die erste und zweite Zweigmetrik (λt (u), λt (l)) sowie dem dritten bzw. vierten Zustand (20, 19) zugeordnete Pfadmetriken (γt (u), γt (l)) empfängt und umfaßt:
- - eine Differenziereinrichtung (2) zum Berechnen einer Pfadmetrikdifferenz (Γ) zwischen den dem dritten und vierten Zustand (19, 20) zugeordneten Pfadmetriken (γt (u), γt (l)), und
- - eine Auswertungseinrichtung (3-6) zum Vergleichen der Pfadmetrikdifferenz (Γ) mit einer Zweigmetrikdifferenz (A) zwischen der ersten und zweiten Zweigmetrik (λt (u), λt (l)) und zum Bestimmen der dem ersten und zweiten Zustand (21, 22) zugeordneten Pfadmetriken (γt+1 (u), γt+1 (l)) in Abhängigkeit von dem Vergleichsergebnis (C),
daß die Auswertungseinrichtung (3-6) derart ausgestaltet ist,
daß sie die dem ersten und zweiten Zustand (21, 22) zugeordneten Pfadmetriken (γt+1 (u), γt+1 (l)) in Abhängigkeit von dem Vergleichsergebnis (C) unter zusätzlicher Auswertung der Vorzeichen der Pfadmetrikdifferenz (Γ) und der Zweigmetrikdifferenz (Λ) bestimmt.
2. ACS-Einheit nach Anspruch 1,
dadurch gekennzeichnet,
daß die Auswertungseinrichtung (3-6) derart ausgestaltet ist, daß sie in Abhängigkeit von dem Vergleichsergebnis sowie den Vorzeichen der Pfadmetrikdifferenz (Γ) und der Zweigmetrikdifferenz (Λ) ein erstes Steuersignal (Cu) für eine dem ersten Zustand (21) zugeordnete erste Auswahleinrichtung (8, 9, 12) und ein zweites Steuersignal (Cl) für eine dem zweiten Zustand (22) zugeordnete zweite Auswahleinrichtung (10, 11, 13) erzeugt, und
daß die erste Auswahleinrichtung (8, 9, 12) derart ausgestaltet ist, daß sie in Abhängigkeit von dem ersten Steuersignal (Cu) als Pfadmetrik (γt+1 (u)) des ersten Zustands (21) entweder die Summe aus der Pfadmetrik (γt (u)) des vierten Zustands (19) und der ersten Zweigmetrik (λt (u)) oder die Summe aus der Pfadmetrik (γt (l)) des dritten Zustands (20) und der zweiten Zweigmetrik (λt (l)) ausgibt, und
daß die zweite Auswahleinrichtung (10, 11, 13) derart ausgestaltet ist, daß sie in Abhängigkeit von dem zweiten Steuersignal (Cl) als Pfadmetrik (γt+1 (l)) des zweiten Zustands (22) entweder die Summe aus der Pfadmetrik (γt (u)) des vierten Zustands (19) und der zweiten Zweigmetrik (λt (l)) oder die Summe aus der Pfadmetrik (γt (l)) des dritten Zustands (20) und der ersten Zweigmetrik (λt (u)) ausgibt.
daß die Auswertungseinrichtung (3-6) derart ausgestaltet ist, daß sie in Abhängigkeit von dem Vergleichsergebnis sowie den Vorzeichen der Pfadmetrikdifferenz (Γ) und der Zweigmetrikdifferenz (Λ) ein erstes Steuersignal (Cu) für eine dem ersten Zustand (21) zugeordnete erste Auswahleinrichtung (8, 9, 12) und ein zweites Steuersignal (Cl) für eine dem zweiten Zustand (22) zugeordnete zweite Auswahleinrichtung (10, 11, 13) erzeugt, und
daß die erste Auswahleinrichtung (8, 9, 12) derart ausgestaltet ist, daß sie in Abhängigkeit von dem ersten Steuersignal (Cu) als Pfadmetrik (γt+1 (u)) des ersten Zustands (21) entweder die Summe aus der Pfadmetrik (γt (u)) des vierten Zustands (19) und der ersten Zweigmetrik (λt (u)) oder die Summe aus der Pfadmetrik (γt (l)) des dritten Zustands (20) und der zweiten Zweigmetrik (λt (l)) ausgibt, und
daß die zweite Auswahleinrichtung (10, 11, 13) derart ausgestaltet ist, daß sie in Abhängigkeit von dem zweiten Steuersignal (Cl) als Pfadmetrik (γt+1 (l)) des zweiten Zustands (22) entweder die Summe aus der Pfadmetrik (γt (u)) des vierten Zustands (19) und der zweiten Zweigmetrik (λt (l)) oder die Summe aus der Pfadmetrik (γt (l)) des dritten Zustands (20) und der ersten Zweigmetrik (λt (u)) ausgibt.
3. ACS-Einheit nach Anspruch 2,
dadurch gekennzeichnet,
daß die erste bzw. zweite Auswahleinrichtung einen von dem
ersten bzw. zweiten Steuersignal (Cu, Cl) angesteuerten ersten
und zweiten Multiplexer (8, 9; 10, 11) umfaßt, wobei der erste
Multiplexer als Eingangssignale die erste und zweite
Zweigmetrik (λt (u), λt (l)) und der zweite Multiplexer als
Eingangssignale die dem dritten und vierten Zustand (20, 19)
zugeordneten Pfadmetriken (γt (u), γt (l)) empfängt, und wobei die
Ausgangssignale des ersten und zweiten Multiplexers einem
Addierer (12; 13) zugeführt sind.
4. ACS-Einheit nach Anspruch 2 oder 3,
dadurch gekennzeichnet,
daß die Auswertungseinrichtung (3-6) derart ausgestaltet ist, daß sie dem ersten Steuersignal (Cu) einen festen binären Wert zuweist, ohne den Vergleich zwischen der Pfadmetrikdifferenz (Γ) und der Zweigmetrikdifferenz (Λ) zu bilden, falls die Pfadmetrikdifferenz (Γ) und die Zweigmetrikdifferenz (Λ) unterschiedliche Vorzeichen aufweisen, und
daß die Auswertungseinrichtung (3-6) derart ausgestaltet ist, daß sie dem zweiten Steuersignal (Cl) einen festen binären Wert zuweist, ohne den Vergleich zwischen der Pfadmetrikdifferenz (Γ) und der Zweigmetrikdifferenz (Λ) zu bilden, falls die Pfadmetrikdifferenz (Γ) und die Zweigmetrikdifferenz (Λ) identische Vorzeichen aufweisen.
daß die Auswertungseinrichtung (3-6) derart ausgestaltet ist, daß sie dem ersten Steuersignal (Cu) einen festen binären Wert zuweist, ohne den Vergleich zwischen der Pfadmetrikdifferenz (Γ) und der Zweigmetrikdifferenz (Λ) zu bilden, falls die Pfadmetrikdifferenz (Γ) und die Zweigmetrikdifferenz (Λ) unterschiedliche Vorzeichen aufweisen, und
daß die Auswertungseinrichtung (3-6) derart ausgestaltet ist, daß sie dem zweiten Steuersignal (Cl) einen festen binären Wert zuweist, ohne den Vergleich zwischen der Pfadmetrikdifferenz (Γ) und der Zweigmetrikdifferenz (Λ) zu bilden, falls die Pfadmetrikdifferenz (Γ) und die Zweigmetrikdifferenz (Λ) identische Vorzeichen aufweisen.
5. ACS-Einheit nach Anspruch 4,
dadurch gekennzeichnet,
daß die Auswertungseinrichtung (3-6) dem ersten Steuersignal (Cu) einen ersten binären Wert zuweist, durch den von der ersten Auswahleinrichtung (8, 9, 12) als Pfadmetrik (γt+1 (u)) des ersten Zustands (21) die Summe aus der Pfadmetrik (γt (u)) des vierten Zustands (19) und der ersten Zweigmetrik (λt (u)) ausgegeben wird, falls die Pfadmetrikdifferenz (Γ) ein positives Vorzeichen und die Zweigmetrikdifferenz (Λ) ein negatives Vorzeichen aufweist, und
daß die Auswertungseinrichtung (3-6) dem ersten Steuersignal (Cu) einen dem invertierten ersten binären Wert entsprechenden zweiten binären Wert zuweist, durch den von der ersten Auswahleinrichtung (8, 9, 12) als Pfadmetrik (γt+1 (u)) des ersten Zustands (21) die Summe aus der Pfadmetrik (γt (l)) des dritten Zustands (20) und der zweiten Zweigmetrik (λt (l)) ausgegeben wird, falls die Pfadmetrikdifferenz (Γ) ein negatives Vorzeichen und die Zweigmetrikdifferenz (Λ) ein positives Vorzeichen aufweist.
daß die Auswertungseinrichtung (3-6) dem ersten Steuersignal (Cu) einen ersten binären Wert zuweist, durch den von der ersten Auswahleinrichtung (8, 9, 12) als Pfadmetrik (γt+1 (u)) des ersten Zustands (21) die Summe aus der Pfadmetrik (γt (u)) des vierten Zustands (19) und der ersten Zweigmetrik (λt (u)) ausgegeben wird, falls die Pfadmetrikdifferenz (Γ) ein positives Vorzeichen und die Zweigmetrikdifferenz (Λ) ein negatives Vorzeichen aufweist, und
daß die Auswertungseinrichtung (3-6) dem ersten Steuersignal (Cu) einen dem invertierten ersten binären Wert entsprechenden zweiten binären Wert zuweist, durch den von der ersten Auswahleinrichtung (8, 9, 12) als Pfadmetrik (γt+1 (u)) des ersten Zustands (21) die Summe aus der Pfadmetrik (γt (l)) des dritten Zustands (20) und der zweiten Zweigmetrik (λt (l)) ausgegeben wird, falls die Pfadmetrikdifferenz (Γ) ein negatives Vorzeichen und die Zweigmetrikdifferenz (Λ) ein positives Vorzeichen aufweist.
6. ACS-Einheit nach Anspruch 4 oder 5,
dadurch gekennzeichnet,
daß die Auswertungseinrichtung (3-6) dem zweiten Steuersignal (Cl) einen ersten binären Wert zuweist, durch den von der zweiten Auswahleinrichtung (10, 11, 13) als Pfadmetrik (γt+1 (l)) des zweiten Zustands (22) die Summe aus der Pfadmetrik (γt (u)) des vierten Zustands (19) und der zweiten Zweigmetrik (λt (l)) ausgegeben wird, falls die Pfadmetrikdifferenz (Γ) und die Zweigmetrikdifferenz (Γ) jeweils ein positives Vorzeichen aufweisen, und
daß die Auswertungseinrichtung (3-6) dem zweiten Steuersignal (Cu) einen dem invertierten ersten binären Wert entsprechenden zweiten binären Wert zuweist, durch den von der zweiten Auswahleinrichtung (10, 11, 13) als Pfadmetrik (γt+1 (l)) des zweiten Zustands (22) die Summe aus der Pfadmetrik (γt (l)) des dritten Zustands (20) und der ersten Zweigmetrik (λt (u)) ausgegeben wird, falls die Pfadmetrikdifferenz (Γ) und die Zweigmetrikdifferenz (Λ) jeweils ein negatives Vorzeichen aufweisen.
daß die Auswertungseinrichtung (3-6) dem zweiten Steuersignal (Cl) einen ersten binären Wert zuweist, durch den von der zweiten Auswahleinrichtung (10, 11, 13) als Pfadmetrik (γt+1 (l)) des zweiten Zustands (22) die Summe aus der Pfadmetrik (γt (u)) des vierten Zustands (19) und der zweiten Zweigmetrik (λt (l)) ausgegeben wird, falls die Pfadmetrikdifferenz (Γ) und die Zweigmetrikdifferenz (Γ) jeweils ein positives Vorzeichen aufweisen, und
daß die Auswertungseinrichtung (3-6) dem zweiten Steuersignal (Cu) einen dem invertierten ersten binären Wert entsprechenden zweiten binären Wert zuweist, durch den von der zweiten Auswahleinrichtung (10, 11, 13) als Pfadmetrik (γt+1 (l)) des zweiten Zustands (22) die Summe aus der Pfadmetrik (γt (l)) des dritten Zustands (20) und der ersten Zweigmetrik (λt (u)) ausgegeben wird, falls die Pfadmetrikdifferenz (Γ) und die Zweigmetrikdifferenz (Λ) jeweils ein negatives Vorzeichen aufweisen.
7. ACS-Einheit nach einem der Ansprüche 2-6,
dadurch gekennzeichnet,
daß die Auswertungseinrichtung (3-6) derart ausgestaltet ist,
daß sie den binären Wert (C) des Vergleichsergebnisses dem
ersten Steuersignal (Cu) zuweist, falls die
Pfadmetrikdifferenz (Γ) und die Zweigmetrikdifferenz (Λ)
jeweils ein positives Vorzeichen aufweisen, während die
Auswertungseinrichtung (3-6) den invertierten binären Wert
des Vergleichsergebnisses dem ersten Steuersignal (Cu)
zuweist, falls die Pfadmetrikdifferenz (Γ) und die
Zweigmetrikdifferenz (Λ) jeweils ein negatives Vorzeichen
aufweisen.
8. ACS-Einheit nach einem der Ansprüche 2-7,
dadurch gekennzeichnet,
daß die Auswertungseinrichtung (3-6) derart ausgestaltet ist,
daß sie den binären Wert (C) des Vergleichsergebnisses dem
zweiten Steuersignal (Cl) zuweist, falls die
Pfadmetrikdifferenz (Γ) ein positives Vorzeichen und die
Zweigmetrikdifferenz (Λ) ein negatives Vorzeichen aufweist,
während die Auswertungseinrichtung (3-6) den invertierten
binären Wert des Vergleichsergebnisses dem zweiten
Steuersignal (Cl) zuweist, falls die Pfadmetrikdifferenz (Γ)
ein negatives Vorzeichen und die Zweigmetrikdifferenz (Λ)
ein positives Vorzeichen aufweist.
9. ACS-Einheit nach einem der Ansprüche 2-8,
dadurch gekennzeichnet,
daß die Auswertungseinrichtung (3-6) umfaßt:
- - einen Multiplexer (3), der als Eingangssignale die Zweigmetrikdifferenz (Λ+) und den negierten Wert der Zweigmetrikdifferenz (Λ-) empfängt und von einem das Vorzeichen der von der Differenziereinrichtung (2) gebildeten Pfadmetrikdifferenz (Γ) anzeigenden Bit (sg(Γ)) angesteuert wird,
- - einen Komparator (4), der die Pfadmetrikdifferenz (Γ) und das Aussgangssignal des Multiplexers (3) empfängt, und
- - eine Auswertungslogik (6), welche als Eingangssignale das Ausgangssignal des Komparators (4), ein das Vorzeichen der Zweigmetrikdifferenz anzeigendes Bit (sg(Λ)) und das das Vorzeichen der Pfadmetrikdifferenz anzeigende Bit (sg(Γ)) empfängt und davon abhängig das erste und zweite Steuersignal (Cu, Cl) ausgibt.
10. ACS-Einheit nach Anspruch 9,
dadurch gekennzeichnet,
daß die Auswertungseinrichtung (3-6) einen Vorkomparator (5) umfaßt, welcher einen Vorvergleich bestimmter Bits der Pfadmetrikdifferenz (Γ) und der Zweigmetrikdifferenz (Λ) durchführt und ein entsprechendes Vergleichsergebnis der Auswertungslogik (6) als ein weiteres Eingangssignal zuführt, und
daß die Auswertungslogik (6) bei der Erzeugung des ersten und zweiten Steuersignals (Cu, Cl) das von dem Vorkomparator (5) gelieferte Vergleichsergebnis berücksichtigt.
daß die Auswertungseinrichtung (3-6) einen Vorkomparator (5) umfaßt, welcher einen Vorvergleich bestimmter Bits der Pfadmetrikdifferenz (Γ) und der Zweigmetrikdifferenz (Λ) durchführt und ein entsprechendes Vergleichsergebnis der Auswertungslogik (6) als ein weiteres Eingangssignal zuführt, und
daß die Auswertungslogik (6) bei der Erzeugung des ersten und zweiten Steuersignals (Cu, Cl) das von dem Vorkomparator (5) gelieferte Vergleichsergebnis berücksichtigt.
11. ACS-Einheit nach Anspruch 10,
dadurch gekennzeichnet,
daß der Vorkomperator (5) einen Vorvergleich der
höherwertigeren Bits der Pfadmetrikdifferenz (Γ) und der
Zweigmetrikdifferenz (Λ) durchführt.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19937506A DE19937506A1 (de) | 1999-08-09 | 1999-08-09 | ACS-Einheit für einen Viterbi-Decodierer |
US10/048,508 US6813744B1 (en) | 1999-08-09 | 2000-08-02 | ACS unit for a viterbi decoder |
JP2001515596A JP3607894B2 (ja) | 1999-08-09 | 2000-08-02 | ヴィテルビデコーダのためのacsユニット |
EP00958204A EP1203474A2 (de) | 1999-08-09 | 2000-08-02 | Acs-einheit für einen viterbi-decodierer |
KR1020027001760A KR20020027535A (ko) | 1999-08-09 | 2000-08-02 | 비터비 복호기용 에이시에스 유니트 |
CNB008115397A CN1190902C (zh) | 1999-08-09 | 2000-08-02 | 用于维特比译码器的相加比较选择单元 |
PCT/DE2000/002569 WO2001011842A2 (de) | 1999-08-09 | 2000-08-02 | Acs-einheit für einen viterbi-decodierer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19937506A DE19937506A1 (de) | 1999-08-09 | 1999-08-09 | ACS-Einheit für einen Viterbi-Decodierer |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19937506A1 true DE19937506A1 (de) | 2001-04-19 |
Family
ID=7917706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19937506A Withdrawn DE19937506A1 (de) | 1999-08-09 | 1999-08-09 | ACS-Einheit für einen Viterbi-Decodierer |
Country Status (7)
Country | Link |
---|---|
US (1) | US6813744B1 (de) |
EP (1) | EP1203474A2 (de) |
JP (1) | JP3607894B2 (de) |
KR (1) | KR20020027535A (de) |
CN (1) | CN1190902C (de) |
DE (1) | DE19937506A1 (de) |
WO (1) | WO2001011842A2 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004098068A1 (en) * | 2003-04-29 | 2004-11-11 | Analog Devices Bv | Acs apparatus and method for viterbi decoder |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7830630B2 (en) * | 2001-06-28 | 2010-11-09 | Stmicroelectronics, Inc. | Circuit and method for detecting the phase of a servo signal |
KR20030005768A (ko) * | 2001-07-10 | 2003-01-23 | 삼성전자 주식회사 | 비터비 디코더의 상태 메트릭 연산 장치 |
US7558343B2 (en) * | 2001-11-21 | 2009-07-07 | Siemens Aktiengesellschaft | Tap-selectable viterbi equalizer |
US7043682B1 (en) * | 2002-02-05 | 2006-05-09 | Arc International | Method and apparatus for implementing decode operations in a data processor |
US6928605B2 (en) * | 2002-03-29 | 2005-08-09 | Intel Corporation | Add-compare-select accelerator using pre-compare-select-add operation |
US20040003340A1 (en) * | 2002-06-26 | 2004-01-01 | 3Dsp Corporation | Modulo arithmetic overflow control for viterbi decoder |
GB2395404A (en) * | 2002-11-07 | 2004-05-19 | Ttpcomm Ltd | Format detection |
DE10338050B9 (de) * | 2003-08-19 | 2008-11-27 | Infineon Technologies Ag | Verfahren zur Entzerrung eines Datensignals unter Berücksichtigung von Störkanälen |
US7613990B1 (en) * | 2003-11-18 | 2009-11-03 | Xilinx, Inc. | Method and system for a multi-channel add-compare-select unit |
US7117426B2 (en) * | 2003-12-01 | 2006-10-03 | Mediatek Inc. | Branch metric computation and add-compare-select operation in viterbi decoders |
WO2005112275A1 (ja) * | 2004-05-14 | 2005-11-24 | Matsushita Electric Industrial Co., Ltd. | Acs回路 |
US7434148B2 (en) * | 2004-12-30 | 2008-10-07 | Freescale Semiconductor, Inc. | Track buffer in a parallel decoder |
US7861147B2 (en) * | 2006-12-08 | 2010-12-28 | Via Technologies, Inc. | ACS unit and method thereof |
US20080152044A1 (en) * | 2006-12-20 | 2008-06-26 | Media Tek Inc. | Veterbi decoding method for convolutionally encoded signal |
US7895507B1 (en) * | 2007-02-16 | 2011-02-22 | Xilinx, Inc. | Add-compare-select structures using 6-input lookup table architectures |
EP2679302A1 (de) | 2012-06-28 | 2014-01-01 | Zentrum für biomedizinische Technologie der Donau- Universität Krems | Selektives Sorptionsmittel für die extrakorporale Blutreinigung |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE6922701U (de) * | 1969-06-04 | 1970-02-26 | Miele & Cie | Waschmitteleinspuelvorrichtung mit deckel |
DE3725655A1 (de) * | 1987-08-03 | 1989-02-16 | Ant Nachrichtentech | Verfahren zum auswerten von zweig- und pfadmetriken sowie anordnung |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2594683B2 (ja) | 1990-05-18 | 1997-03-26 | 三菱電機株式会社 | ヴィタビ・デコーダ |
JP3120511B2 (ja) | 1991-11-21 | 2000-12-25 | ソニー株式会社 | ビタビ復号装置 |
JPH06303153A (ja) | 1993-04-14 | 1994-10-28 | Toshiba Corp | ビタビ復号器 |
EP0771080B1 (de) * | 1995-10-25 | 1999-01-13 | Nec Corporation | Maximalwahrscheinlichkeitsdekodierung mit weichen Entscheidungen |
US5815515A (en) * | 1996-03-28 | 1998-09-29 | Lsi Logic Corporation | Edge metric calculation method and apparatus using permutations |
KR100195745B1 (ko) * | 1996-08-23 | 1999-06-15 | 전주범 | 비터비 복호화기의 가산 비교 선택 장치 |
JPH10107651A (ja) | 1996-09-27 | 1998-04-24 | Nec Corp | ビタビ復号装置 |
US5781569A (en) * | 1996-10-28 | 1998-07-14 | Lsi Logic Corporation | Differential trellis decoding for convolutional codes |
JPH10150370A (ja) | 1996-11-19 | 1998-06-02 | Sony Corp | ビタビ復号器およびビタビ復号方法 |
JP3242059B2 (ja) * | 1997-06-04 | 2001-12-25 | 沖電気工業株式会社 | ビタビ復号器 |
US6070263A (en) * | 1998-04-20 | 2000-05-30 | Motorola, Inc. | Circuit for use in a Viterbi decoder |
-
1999
- 1999-08-09 DE DE19937506A patent/DE19937506A1/de not_active Withdrawn
-
2000
- 2000-08-02 JP JP2001515596A patent/JP3607894B2/ja not_active Expired - Fee Related
- 2000-08-02 EP EP00958204A patent/EP1203474A2/de not_active Withdrawn
- 2000-08-02 KR KR1020027001760A patent/KR20020027535A/ko not_active Application Discontinuation
- 2000-08-02 WO PCT/DE2000/002569 patent/WO2001011842A2/de not_active Application Discontinuation
- 2000-08-02 CN CNB008115397A patent/CN1190902C/zh not_active Expired - Fee Related
- 2000-08-02 US US10/048,508 patent/US6813744B1/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE6922701U (de) * | 1969-06-04 | 1970-02-26 | Miele & Cie | Waschmitteleinspuelvorrichtung mit deckel |
DE3725655A1 (de) * | 1987-08-03 | 1989-02-16 | Ant Nachrichtentech | Verfahren zum auswerten von zweig- und pfadmetriken sowie anordnung |
Non-Patent Citations (1)
Title |
---|
TSUI, Chi-ying, CHENG, Roger S.-K., LING, Curtis: Low Power ACS Unit Design For The Viterbi Decoder, In: Conference IEEE ISCAS, 1999, Orlando, S. I-137-I-140 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004098068A1 (en) * | 2003-04-29 | 2004-11-11 | Analog Devices Bv | Acs apparatus and method for viterbi decoder |
Also Published As
Publication number | Publication date |
---|---|
US6813744B1 (en) | 2004-11-02 |
JP2003506969A (ja) | 2003-02-18 |
WO2001011842A2 (de) | 2001-02-15 |
EP1203474A2 (de) | 2002-05-08 |
JP3607894B2 (ja) | 2005-01-05 |
CN1190902C (zh) | 2005-02-23 |
CN1369140A (zh) | 2002-09-11 |
KR20020027535A (ko) | 2002-04-13 |
WO2001011842A3 (de) | 2001-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19937506A1 (de) | ACS-Einheit für einen Viterbi-Decodierer | |
DE69333460T2 (de) | Arithmetisches Gerät | |
DE3910739C2 (de) | ||
DE2614916C2 (de) | Konverter zur Codeumwandlung | |
DE2816913A1 (de) | Decoder fuer konvolutinal codierte daten | |
EP0392603A2 (de) | Übertragungssystem | |
EP0488456B1 (de) | Maximalwahrscheinlichkeitsempfänger | |
WO1996013105A1 (de) | Übertragungssystem mit soft-output-dekodierung bei reduziertem speicherbedarf | |
DE69930911T2 (de) | Übertragungssystem mit adaptivem kanalkodierer und -dekoder | |
DE10196688B3 (de) | Ein Decodierer für eine trellis-basierte Kanalcodierung | |
EP0988728B1 (de) | Quellengesteuerte kanaldecodierung durch verwendung der intra-rahmen-korrelation | |
DE10010238C2 (de) | Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer | |
EP1334563B1 (de) | Verfahren und vorrichtung zum dekodieren einer folge physikalischer signale, zuverlässigkeitswert-ermittlungseinheit und viterbi-dekodiereinheit | |
DE10102928B4 (de) | Viterbi-Decoder und Verfahren zur Decodierung | |
EP1198890B1 (de) | Verfahren zum erzeugen von zuverlässigkeitsinformationen für die kanaldecodierung in einem funkempfänger sowie entsprechender funkempfänger | |
DE60118716T2 (de) | Log-MAP Dekodierung | |
DE10000932C2 (de) | Verfahren und Vorrichtung zum Decodieren einer Folge von Codewörtern variabler Länge, Verfahren und Vorrichtung zum Erzeugen eines Datenstroms und Verfahren und Vorrichtung zum Decodieren eines Datenstroms | |
EP0735695A3 (de) | Viterbi-Dekodiereinrichtung mit Prozessor und mit Addier- Vergleichs- und Auswahlschaltung | |
DE19918319C2 (de) | Verfahren zum Decodieren von faltungscodierten Codewörtern, entsprechender Faltungsdecodierer und Verwendung des Verfahrens oder des Faltungsdecodierers | |
DE10300268B4 (de) | Schaltung zur Berechnung von Pfadmetriken in Viterbi-Dekodierern | |
EP1223679A1 (de) | Berechnung und Zuweisung von Übergangsmetrikwerten für einen Viterbi-Dekodierer | |
DE19603724A1 (de) | Verfahren zur Gewinnung einer Information über die Restfehler in einem übertragenen kanaldecodierten digitalen Signal | |
EP1626507A1 (de) | Decoder und Verfahren zum Durchführen eines Viterbi-Algorithmus | |
EP1158683A1 (de) | Vorrichtung und Verfahren zum Durchführen eines Viterbi-Algorithmus | |
WO2001052424A1 (de) | Verfahren zum fehlerschutz bei der übertragung eines datenbitstroms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8139 | Disposal/non-payment of the annual fee |