DE20109857U1 - Viterbi-Entzerrer - Google Patents

Viterbi-Entzerrer

Info

Publication number
DE20109857U1
DE20109857U1 DE20109857U DE20109857U DE20109857U1 DE 20109857 U1 DE20109857 U1 DE 20109857U1 DE 20109857 U DE20109857 U DE 20109857U DE 20109857 U DE20109857 U DE 20109857U DE 20109857 U1 DE20109857 U1 DE 20109857U1
Authority
DE
Germany
Prior art keywords
data path
state
data
hardware data
viterbi equalizer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE20109857U
Other languages
English (en)
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
Priority claimed from DE10032237A external-priority patent/DE10032237A1/de
Priority claimed from DE10127348A external-priority patent/DE10127348A1/de
Priority to DE20109857U priority Critical patent/DE20109857U1/de
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to EP01953137A priority patent/EP1297668B1/de
Priority to DE50108096T priority patent/DE50108096D1/de
Priority to JP2002507595A priority patent/JP2004503141A/ja
Priority to PCT/DE2001/002464 priority patent/WO2002003637A1/de
Priority to CN01812226.4A priority patent/CN1442009A/zh
Publication of DE20109857U1 publication Critical patent/DE20109857U1/de
Priority to US10/336,580 priority patent/US6892344B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6325Error control coding in combination with demodulation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • 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/63Joint error correction and other techniques
    • H03M13/6331Error control coding in combination with equalisation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6569Implementation on processors, e.g. DSPs, or software implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03178Arrangements involving sequence estimation techniques
    • H04L25/03184Details concerning the metric
    • H04L25/03197Details concerning the metric methods of calculation involving metrics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L2025/0335Arrangements for removing intersymbol interference characterised by the type of transmission
    • H04L2025/03375Passband transmission
    • H04L2025/03401PSK

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Description

200016278
Beschreibung
Vi terbi-Entzerrer
Die Erfindung betrifft einen Viterbi-Entzerrer zur Entzerrung einer über einen gestörten Kanal übertragenen Symbolfolge.
Im Bereich des Mobilfunks müssen über die Luftschnittstelle übertragene Datensignale einer adaptiven Entzerrung unterzogen werden. Ursache hierfür ist, dass sich die Eigenschaften des physikalischen Übertragungskanals bedingt durch Beugung, Streuung und Reflexion der gesendeten Signale ständig ändern.
Es ist bereits bekannt, zur Entzerrung der empfangenen Signale Viterbi-Entzerrer einzusetzen. Viterbi-Entzerrer sind rekursive MLSE-(Maximum-Likelihood Sequence Estimation-)Folgenschätzer. Die Folgenschätzung beruht auf dem Auffinden eines kürzesten Wegs durch ein Trellis-Diagramm, d.h. durch ein Diagramm, in welchem Kanalzustände über der diskreten Zeit aufgetragen sind. Dabei wird gemäß dem Viterbi-Algorithmus für jeden Übergang zwischen einem bestimmten Zielzustand in einem betrachteten Zeitschritt und den möglichen Vorgängerzuständen im vorangegangen Zeitschritt eine Übergangsmetrik berechnet, welche ein Maß für die Wahrscheinlichkeit dieses Übergangs darstellt. Nachfolgend werden die Übergangsmetriken den jeweiligen Zustandsmetriken der Vorgänger-Zustände hinzuaddiert (sogenannte "ADD"-Operationen) und es werden die auf diese Weise erhaltenen Summen verglichen (sogenannte "COMPARE"-Operationen). Derjenige Übergang, dessen Summe aus Übergangsmetrik und Metrik des Vorgänger-Zustands minimal ist, wird ausgewählt (sogenannte "SELECT"-Operationen) und bildet die Verlängerung des bis dahin ermittelten Pfades in den Zielzustand. Diese drei Operationen werden als ACS-Operationen bezeichnet.
Da jedem Übergang zwischen einem Vorgänger-Zustand und einem Zielzustand ein den Übergang bewirkendes Datensymbol zugeord-
200016278
net ist, ist mit dem Auffinden des kürzesten Pfades durch das Trellis-Diagramm auch die Folge der gesendeten Datensymbole ermittelt.
Eine bereits bekannte Erweiterung des Viterbi-Algorithmus (VA) besteht darin, zusätzlich zu der Erzeugung solcher "hart entschiedenen" Datensymbole auch eine Zuverlässigkeitsinformation auszugeben, welche die Sicherheit der gefällten harten Entscheidung angibt und somit in nachfolgenden Dekodierern vorteilhaft ausgenutzt werden kann. Eine solche Ausgabe wird als Soft-Output bezeichnet.
Bei einem Viterbi-Algorithmus, der von einem reduzierten Trellis-Diagramm ausgeht (d.h. ein Trellis-Diagramm, in welchem nur ein Teil der möglichen Kanalzustände berücksichtigt sind) muß außerdem eine Neuberechnung des Zielzustands nach Auffinden des zu ihm führenden Übergangs durchgeführt werden.
Für höherstufige Datensignale erhöht sich der Rechenaufwand eines Viterbi-Entzerrers drastisch. Während GSM (Global System for Mobile Communications) ein zweistufiges Datensignal nutzt, liegt dem neuen EDGE-(Enhanced Data Services for GSM Evolution-)Standard das 8PSK-(Phase Shift Keying-)Modulationsverfahren zugrunde, welches ein 8-stufiges Datensignal voraussetzt. Dies bedeutet, dass von jedem Trellis-Zustand 8 (GSM: lediglich 2) Zustands-Übergänge ausgehen und in jedem Trellis-Zustand 8 (GSM: lediglich 2) Zustands-Übergänge enden.
0 Die ACS-Operationen bei der Abarbeitung des Viterbi-Algorithmus können in einem geeignet programmierten DSP (Digital Signal Processor) durchgeführt werden. Nachteilig ist dabei jedoch, dass eine hohe Rechenleistung verlangt wird, die in der Größenordnung von 400 MIPS (Million Instructions Per Second) und mehr liegt. Neben dem Nachteil, dass derartige Rechenleistungen nur von teuren Prozessoren erreicht werden, tritt im Mobilfunkbereich das besondere Problem hinzu, dass
200016278
hohe Rechenleistungen stets einen hohen Leistungsverbrauch verursachen. Dies ist aufgrund der beschränkten Energieresourcen in Mobilfunktelefonen jedoch nicht akzeptabel.
Der Erfindung liegt daher die Aufgabe zugrunde, einen Viterbi-Entzerrer zu schaffen, bei welchem rechenintensive Abarbeitungsschritte möglichst resourcenschonend ausgeführt werden. Insbesondere soll der Viterbi-Entzerrer zur Entzerrung von Datensymbolen nach dem EDGE-Standard geeignet sein.
Nach einem ersten Aspekt der Erfindung sieht diese vor, den Viterbi-Entzerrer mit einem ersten Hardware-Datenpfad zur Durchführung von ACS-Operationen, welcher Zustandsmetriken von Zielzuständen in einem Trellis-Diagramm berechnet, und mit einem zweiten Hardware-Datenpfad, welcher unter Berücksichtigung der Kanaleigenschaften aus der erhaltenen Symbolfolge Übergangsmetriken von Vorgänger-Zuständen zu Zielzuständen in dem Trellis-Diagramm berechnet, auszurüsten. Durch die Realisierung dieser beiden Datenpfade wird erreicht, dass die entsprechenden Berechnungsschritte durch Hardware abgearbeitet werden und somit keine Rechenkapazität des DSPs binden.
Ein zweiter Aspekt der Erfindung betrifft einen Viterbi-Entzerrer, welcher mit einem ersten Hardware-Datenpfad zur Durchführung von ACS-Operationen, welcher Zustandsmetriken von Zielzuständen in einem Trellis-Diagramm berechnet, und mit einem dritten Hardware-Datenpfad, welcher Soft-Output-Werte für die zu schätzende Symbolfolge aus den zu den Ziel-0 zuständen führenden Zustandsübergängen berechnet, ausgerüstet ist. Auch hier wird durch die Unterstützung der Viterbi-Entzerrung durch zwei Hardware-Datenpfade eine effektive Entlastung des digitalen Signalprozessors erreicht.
Vorteilhafte Ausführungsvarianten dieser beiden Aspekte der Erfindung kennzeichnen sich dadurch, dass die beiden jeweiligen Hardware-Datenpfade direkt, d.h. ohne eine Zwischenverar-
200016278
beitung der im jeweils vorgeordneten Hardware-Datenpfad berechneten Daten im digitalen Signalprozessor, miteinander in Verbindung stehen. In diesem Fall findet eine direkte Übertragung der in dem zweiten Hardware-Datenpfad berechneten Übergangsmetriken in den ersten Hardware-Datenpfad bzw. eine direkte Übergabe von in dem ersten Hardware-Datenpfad berechneter Daten zu dem dritten Hardware-Datenpfad statt. Der digitale Signalprozessor wird hier also nicht zur Durchführung von Zwischenberechnungsschritten benötigt, wodurch Abarbeitungszeit und Rechenleistung eingespart werden können. In bezug auf die beiden Datenpfade besteht die Aufgabe des digitalen Signalprozessors dann lediglich darin, eine geeignete Ablaufsteuerung bzw. zeitliche Koordinierung der betrachteten Datenpfade vorzusehen.
Eine besonders bevorzugte Ausgestaltung der Erfindung besteht darin, dass beide Datenpfade zur Durchführung sowohl einer Entzerrung nach dem EDGE-Mobilfunkstandard als auch einer Entzerrung nach dem GSM-Mobilfunkstandard ausgelegt sind.
Dies bedeutet, dass sowohl GMSK-modulierte 2-stufige Datensymbole als auch 8PSK-modulierte 8-stufige Datensymbole in den jeweiligen Hardware-Datenpfaden verarbeitet werden können. Folglich ist der Viterbi-Entzerrer wahlweise nach dem EDGE- oder dem GSM-Standard betreibbar.
Zur weiteren Entlastung des digitalen Signalprozessors ist vorzugsweise ein vierter Hardware-Datenpfad zur Berechnung der Zielzustandsvektoren (d.h. Zusatzinformation zu Zielzuständen) im Trellis-Diagramm und/oder ein fünfter Hardware-0 Datenpfad zur Berechnung von entschiedenen Datensymbolen vorgesehen.
Eine besonders bevorzugte Ausführung des ersten Hardware-Datenpfads zur Durchführung von ACS-Operationen kennzeichnet sich dadurch, dass dieser eine erste Minimierungsstufe aufweist, in welcher das Minimum der Summen aus Metrik- und Übergangsmetrik von zumindest zwei Zustandsübergängen be-
200016278
stimmt wird, und eine der ersten Minimierungsstufe nachgeschaltete zweite Minimierungsstufe aufweist, welche in sequentieller Verarbeitung das Minimum der von der ersten Minimierungsstufe ausgegebenen Summen bestimmt. Auf diese Weise wird eine teilweise parallele und teilweise sequentielle Durchführung des "COMPARE"-Schritts der ACS-Operation erreicht, welcher sowohl den Vergleich von zwei Zustandsübergängen (bei GSM) als auch den Vergleich von acht Zustandsübergängen (bei EDGE) unterstützt.
Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
Die Erfindung wird nachfolgend anhand der Zeichnung unter Bezugnahme auf ein Ausführungsbeispiel erläutert. In diesem zeigt:
Fig. 1 einen Ausschnitt aus einem Trellis-Diagramm von zwei aufeinanderfolgenden Zeitschritten k-1 und k für die EDGE-Ent&zgr;errung;
Fig. 2 die Architektur einer Empfängerschaltung, welche einen erfindungsgemäßen Viterbi-Entzerrer enthält;
Fig. 3 eine schematische Darstellung der Hardware-Datenpfade des erfindungsgemäßen Viterbi-Entzerrers;
Fig. 4 ein Blockschaltbild eines Rechenwerks, welches einen Datenpfad für die Berechnung von Übergangsmetriken realisiert;
Fig. 5 ein Blockschaltbild eines Rechenwerks, welches einen Datenpfad zur Durchführung von ACS-Operationen realisiert;
35
200016278
Fig. 6 ein Blockschaltbild eines Rechenwerks, welches einen Datenpfad für die Berechnung von Soft-Output-Werten realisiert;
Fig. 7 ein Blockschaltbild eines Rechenwerks zur Berechnung von hart entschiedenen Datensymbolen; und
Fig. 8 ein Blockschaltbild eines Rechenwerks, welches einen Datenpfad für die Berechnung eines neuen Zustandsvektors realisiert.
Vor der Beschreibung eines Ausführungsbeispiels eines erfindungsgemäßen Viterbi-Entzerrers wird zum besseren Verständnis zunächst das Prinzip der Viterbi-Entzerrung kurz erläutert.
Gemäß bekanntem Ersatzschaltbild kann der zeitvariante Mobilfunkkanal durch ein Schieberegister mit &ngr; Speicherzellen, v+1 Abgriffen vor, zwischen und hinter den Speicherzellen, Multiplizierer zur Multiplikation der an den Abgriffen bereitstehenden Datensymbole mit zeitvarianten Kanalparametern (v+1 Stück) und einen ausgangsseitigen Addierer modelliert werden. Die Anzahl &ngr; der Speicherzellen wird als Kanalgedächtnis bezeichnet .
In diesem Kanalmodell ist der momentane Zustand des Kanals eindeutig durch die Belegung des Schieberegisters beschrieben. Bei 8PSK-Datensymbolen existieren 8V mögliche Kanalzustände (Belegungen des Schieberegisters), bei GMSK-Datensymbolen sind es lediglich 2V.
Ein Zustands-Diagramm des Kanals, in welchem Kanalzustände über der diskreten Zeit kT aufgetragen sind, wird Trellis-Diagramm genannt. T bezeichnet die Symbolzeitdauer und k den Index des betrachteten Zeitschrittes.
Das Senden eines Datensymbols über den Mobilfunkkanal entspricht im Ersatzschaltbild der Eingabe dieses Datensymbols
200016278
in das Schieberegister. Der Kanal (das Schieberegister) ändert daraufhin seinen Zustand (seine Belegung), d.h. er geht von seinem bisherigen Zustand (Vorgänger-Zustand) in einen durch das ausgesendete Datensymbol eindeutig bestimmten Zustand (Zielzustand) über.
Eine ausgesendete Datensymbolfolge gibt somit einen Weg durch das Trellis-Diagramm vor. Dieser Weg wird auch als der kürzeste Weg durch das Trellis-Diagramm bezeichnet, weil für ihn die Minimumbedingung
h+vf &ngr;
&Sgr; xk - &Sgr; ak-ihi I = Minimum k=0V 1=0
(D
gilt. Dabei bezeichnen Xk die vom Empfänger empfangenen Datensymbole, h0, hi, .., hv die Kanalimpulsantworten des Übertragungskanals, aic die gesendeten Datensymbole und L+l die Länge (Anzahl der Elemente) der gesendeten Datensymbolfolge.
Die ausgesendete Datensymbolfolge bzw. der durch diese bestimmte kürzeste Weg durch das Trellis-Diagramm sind im Empfänger unbekannt. Sobald allerdings der kürzeste Weg durch das Trellis-Diagramm empfängerseitig ermittelt ist, ist auch die Folge der ausgesendeten Datensymbole bestimmt. Der Viterbi-Algorithmus beruht auf der schrittweisen, rekursiven Ermittlung dieses kürzesten Weges durch das Trellis-Diagramm.
Allgemein werden beim Viterbi-Algorithmus für jeden Zielzustand zum Zeitschritt k die jeweils möglichen Vorgängerzustände zum Zeitschritt k-1 bestimmt (das sind diejenigen 0 Zustände, die durch Senden eines Datensymbols in den betrachteten Zielzustand übergehen können), und es wird für jeden dieser Zustandsübergänge eine Übergangsmetrik berechnet. Die Übergangsmetriken werden dann den (bereits im vorhergehenden Rekursionsschritt berechneten) Metriken der betreffenden Vorgänger-Zustände hinzuaddiert, und die so gebildeten Summen aus Metrik und Übergangsmetrik werden untereinander vergli-
200016278 · "** ** ■** **
chen. Als Metrik des Zielzustandes wird die kleinste dieser Summen bestimmt, und durch diese Wahl steht dann auch der entsprechende Vorgänger-Zustand und der zugehörige Zustandsübergang fest. Nur dieser Weg durch das Trellis-Diagramm "überlebt" und wird in den Zielzustand fortgesetzt, die anderen Wege brechen ab.
Bei der Viterbi-Entzerrung von höherstufigen Signalen, z.B. 8PSK-modulierten Signalen des EDGE-Standards, wird ein reduziertes Trellis-Diagramm benutzt, da andernfalls der Rechenaufwand nicht zu bewältigen wäre. Beim 8PSK-Modulationsverfahren umfasst das Modulationsalphabet 8 Datensymbole, was zur Folge hätte, dass bei einer Kanalgedächtnislänge von z.B. &ngr; = 6 pro Zeitschritt für jeden Zielzustand (86 Stück) 8 mögliehe Übergänge betrachtet werden müssten, wobei zuvor jeweils noch die möglichen Vorgänger-Zustände bezüglich jedem der 86 Zielzustände zu bestimmen wären. Dies übertrifft bei weitem derzeitig verfügbare Rechenleistungen.
0 Im folgenden Beispiel wird für eine 8PSK-Modulation von einem
(drastisch) reduzierten Trellis-Diagramm ausgegangen, welches nur 8 Zustände berücksichtigt. Somit sind für jeden Zeitschritt lediglich 64 Übergangsmetriken (8 Zielzustände, jeweils erreichbar über 8 Übergänge) zu berechnen. 25
Die 8PSK-Datensymbole werden mit PSKO, PSKl, PSK2, .., PSK7 bezeichnet. Ihre Definition lautet bekanntlich: PSKi = exp( j*i*27t/8) , i = 0,..,7; j ist die imaginäre Einheit.
0 Jeder Zustand des Kanals kann mit dem zuletzt in der eingangsseitigen Speicherzelle des Schieberegisters abgespeicherten Datensymbol identifiziert werden. Er enthält ferner für &ngr; = 6 die Information über die letzten fünf Vorgängerzustände. Ein Kanalzustand kann demnach durch einen 6-komponentigen Zustandsvektor angegeben werden:
PSKe,PSKd,PSKc,PSKb,PSKa,PSKp
200016278 .! ***: .**..·* .
wobei a,b,c,d,e,p = 0,..,7. Dabei wird zur Vereinfachung der Notation der Index k zur Angabe des Zeitschrittes fortgelassen. Die Unterstreichung verdeutlicht das den Zustand bestimmende, zuletzt erhaltene Datensymbol PSKp, die fünf nicht unterstrichenen, zuvor erhaltenen Datensymbole können als Zusatz-Information zu diesem Zustand aufgefaßt werden, welche, wie im folgenden noch erläutert, nur bei der Berechnung der Übergangsmetrikwerte eine Rolle spielt.
In Fig. 1 sind die acht Zustände zum Zeitschritt k-1 und die acht Zustände zum Zeitschritt k mittels von 0 bis 7 durchnumerierter Kästchen veranschaulicht. Diese Zustandsnummern werden als Indizes der Zustände bezeichnet. Ferner sind die Zustandsvektoren der Zustände zum Zeitschritt k-1 angegeben. Beispielsweise wurde der Zustand mit Index 4 (entspricht PSK4) im Zeitschritt k-1 über die Vorgänger-Zustände PSKu0, PSKiii, PSKu2, PSKu3, PSKu4 erreicht, d.h. der Zustandsvektor dieses Zustande lautet:
PSKu4, PSKu3, PSKJi2, PSKiJ1, PSKiJ0, PSK4
In Fig. 1 sind die Übergänge von sämtlichen Zuständen zum Zeitschritt k-1 zu einem bestimmten Zielzustand zum Zeitschritt k, nämlich dem Zustand mit dem Index 1, eingezeichnet. Die Zusatz-Information zu dem Zielzustand mit Index 1 zum Zeitschritt k ist abhängig von dem jeweils betrachteten Übergang, weil dieser die Zusatz-Information für diesen Zustand bestimmt. Für den mit einem dicken Pfeil kenntlich ge-0 machten Übergang vom Zustand mit Index 4 zum Zeitschritt k-1 zum Zustand mit Index 1 zum Zeitschritt k lautet die Zusatz-Information PSKu3, PSKu2, PSKiii, PSKu0, PSK4 .
Ein Zustandsvektor zum Zustand mit Index m im Zeitschritt k wird im folgenden durch Zk(m) abgekürzt.
200016278 ·· . , ♦ * · ··
Die Übergangsmetrik für den betrachteten Zustandsübergang vom Vorgänger-Zustand mit Index 4 (Zeitschritt k-1) zum Zielzustand mit Index 1 (Zeitschritt k) berechnet sich aus dem Euklidschen Abstand zwischen dem empfangenen Datensymbol Xk und dem Faltungsprodukt aus geschätzten Kanalimpulsantworten und den diesem Vorgänger-Zustand zugeordneten 8PSK-Symbolen (6 Stück) sowie dem Übergangs-Datensymbol (hier: PSKl):
Ik(4-»1) = (xk - ^ PSKiij · hj+2 - PSK4 · hx - PSKl · h0 )2 (2)
j = 0,l,2,3,4
Die Übergangsmetriken Ik(m-»1) bezüglich der Übergänge von den anderen möglichen Vorgänger-Zuständen m = 0,1,2,3,5,6,7 zum Zeitschritt k-1 zu dem bestimmten Zielzustand mit dem Index 1 zum Zeitschritt k berechnen sich in analoger Weise. Die Schreibweise Ik(m->m') soll im folgenden allgemein die Übergangsmetrik für einen Zustandsübergang vom Zustand m zum Zeitschritt k-1 in den Zielzustand m1 zum Zeitschritt k bezeichnen, m1 = 0,..,7.
Die Metriken der Zustände m = 0,..,7 zum Zeitschritt k werden mit Mk(m) bezeichnet. Im dargestellten Rekursionsschritt des Viterbi-Algorithmus für den k-ten Zeitschritt sind alle Metriken Mk-i (m) bekannt und die Metriken Mk(m) zu berechnen.
Entsprechend den vorhergehenden allgemeinen Erläuterungen werden bei dem Additionsschritt ("ADD") der ACS-Operation nun die berechneten Übergangsmetriken Ik(m-Mn') zu den bereits berechneten Metriken Mk-i (m) der Vorgänger-Zustände hinzuaddiert, d.h. für den Zielzustand m = 1 zum Zeitschritt k die Summe Mk-i (m) + Ik(m->1) gebildet. Beim Vergleichsschritt ("COMPARE") wird diejenige Summe mit dem kleinsten Wert gefunden und als Metrik Mk(l) des Zielzustands bestimmt. Im betrachteten Fall soll dies der Metrikwert sein, der sich bei dem fett eingezeichneten Übergang vom Zustand mit Index 4 zum Zeitschritt k-1 zum betrachteten Zielzustand 1 zum Zeitschritt k ergibt. Mit der Auswahl dieses wahrscheinlichsten Vorgänger-Zustande mit Zustandsvektor PSKu4,.., PSKiJ0, PSK4
200016278 .: ·**: ··'··" ·"
kann der neue Zustandsvektor des Zustandes mit Index 1 zum Zeitschritt k aufgebaut werden. Er lautet:
PSKU3, PSKu2, PSKu1, PSKu0, PSK4, PSKl
5
Nach der Durchführung der ACS-Operationen zu sämtlichen Zuständen im Zeitschritt k sind auch sämtliche Zustandsvektoren (8 Stück) für diese Zustände ermittelt.
In dem dargestellten Beispiel sind Übergänge zwischen sämtlichen Zuständen möglich. Dies ergibt sich zwingend aus der Tatsache, dass bei einem 8-stufigen Symbolalphabet acht Übergänge zu jedem Zielzustand hinführen und in dem hier betrachteten reduzierten Trellis-Diagramm nur acht Kanalzustände berücksichtigt werden. Die Wahl eines reduzierten Trellis-Diagramms mit nur 8 Zuständen ist jedoch keine Voraussetzung für die Erfindung, möglich ist auch die Abarbeitung des Viterbi-Algorithmus unter Zugrundelegung eines weniger stark reduzierten Trellis-Diagramms mit mehr als 8 Zuständen.
Fig. 2 zeigt die Architektur einer Empfängerschaltung mit einem erfindungsgemäßen Entzerrer in Form von Funktionsblöcken und Datenverbindungen (Datenbussen) zwischen den Funktionsblöcken. Zentraler Bestandteil der Schaltung ist ein digitaler Signalprozessor DSP, der über ein oder mehrere Konfigurationsregister CONFIG mit zwei Rechenwerken RWl und RW2 in Datenaustauschverbindung steht. Das erste Rechenwerk RWl dient der Entzerrung eines empfangenen Datensignals, d.h. es macht die SignalVerzerrungen rückgängig, die bei der senderseitigen Modulation und Übertragung des modulierten Signals über die Luftschnittsteile aufgetreten sind. Das zweite Rechenwerk RW2 führt eine Kanaldekodierung durch, d.h. in dieser Schaltung wird die Redundanz entfernt, welche bei der senderseitigen Kanalkodierung dem gesendeten Signal vor der Modulation auf einen geeigneten Träger hinzugefügt wurde. Die Rechenwerke RWl und RW2 können eine Entzerrung beziehungsweise Kanaldeko-
200016278 ·« · · ·* · ··
dierung sowohl z.B. gemäß dem GSM- als auch gemäß dem EDGE-Standard ausführen.
Das erste Rechenwerk RWl steht über eine erste bidirektionale Datenverbindung DLl mit einem ersten flüchtigen Datenspeicher RAMl und über eine zweite bidirektionale Datenverbindung DL2 mit einem zweiten flüchtigen Datenspeicher RAM2 in Datenaustauschverbindung. Entsprechende dritte und vierte bidirektionale Datenverbindungen DLl1, DL2■ sind zwischen dem zweiten Rechenwerk RW2 und dem ersten Datenspeicher RAMl sowie dem zweiten Rechenwerk RW2 und dem zweiten Datenspeicher RAM2 vorgesehen.
Das erste Rechenwerk RWl steht in noch näher zu beschreibender Weise mit zwei flüchtigen Datenspeichern RAMWl und RAMW2 in Verbindung. Auch das zweite Rechenwerk RW2 greift auf die Datenspeicher RAMWl und RAMW2 zu. Alle internen Datenspeicher RAMl, RAM2, und RAMWl, RAMW2 sind zum Zwecke der Programmierung der Rechenwerke RWl, RW2 und der Initialisierung vom digitalen Signalprozessor DSP aus beschreibbar und auch lesbar. Der Zugriff vom DSP erfolgt über zwei Schnittstellen INT_DEC und INT_EQ, über einen zentralen Datenbus DB und über die internen Datenbusse DBl (RAMl), DB2 (RAM2), DB3 (RAMWl) und DB4 (RAMW2). Die Schnittstelle INT_DEC ist für den Zugriff des DSPs während eines Kanaldekodiervorgangs und die Schnittstelle INT_EQ ist für den Zugriff des DSPs während eines Entzerrungsvorgangs bestimmt.
Die Rechenwerke RWl, RW2, die Datenspeicher RAMl, RAM2, RAMWl 0 und RAMW2 sowie die Datenbusse DB3, DB4 und die Datenverbindungen DLl, DL2, DLl', DL2' können konstruktiv in Form eines separaten Arithmetik-Prozessors zusammengefaßt sein.
Aufbau und Arbeitsweise des hier nicht näher dargestellten zweiten Rechenwerks RW2 zur Durchführung einer Kanaldekodierung sind in der deutschen Patentanmeldung DE 100 64 102.4
200016278 * *"" ** ** " *
ft % tfct** «i » ·
beschrieben, welche durch Bezugnahme dem Offenbarungsgehalt der vorliegenden Schrift hinzugefügt wird.
Fig. 3 zeigt den Aufbau des ersten Rechenwerks RWl. Dieses umfasst die folgenden schnellen Hardware-Datenpfade:
- Datenpfad zur Durchführung der ACS-Operationen DPI
- Datenpfad zur Berechnung von Übergangsmetriken DP2
- Datenpfad zur Berechnung von Soft-Output-Werten DP3 - Datenpfad zur Berechnung neuer Zustandsvektoren DP4
- Datenpfad zur Berechnung von Adressen für Partialsummanden für Übergangsmetriken DP5, und
- Datenpfad zur Berechnung von hart entschiedenen Datensymbolen DP6
Ferner sind in Fig. 3 die Speicherinhalte der Datenspeicher RAMl, RAM2, RAMWl und RAMW2 dargestellt und es sind die Datenverbindungen gezeigt, welche die Speicher RAMl/2, RAMWl/2 mit den Datenpfaden DPI-6 sowie die Datenpfade DPI-6 untereinander verbinden.
Der Datenspeicher RAMl stellt den Eingabe-Datenspeicher für den Datenpfad DP2 zur Berechnung von Übergangsmetriken dar. Er enthält einen ersten Speicherbereich, in welchem die empfangenen Datensymbole Xk abgelegt sind, und einen zweiten Speicherbereich, in welchem Produkte aus Kanalimpulsantworten und 8PSK-Datensymbolwerten abgelegt sind. Anstelle einzelner Produkte können auch Partialsummanden der Übergangsmetrikwerte bestehend aus zwei oder mehr derartiger Produkte in dem 0 Datenspeicher RAMl abgelegt sein.
Die Speicher RAMWl und RAMW2 weisen jeweils drei Speicherabschnitte auf, welche Übergangsmetriken, Zustandsvektoren und Metriken enthalten. Dabei enthält der Datenspeicher RAMWl die Werte Ik-i (m—Mn1) , Zk-i (m) und Mk-! (m) für den bereits abgearbeiteten Zeitschritt k-1 (d.h. die "alten" Werte), während
200016278 »2 &Lgr;&iacgr;>? .·%.""
dem Datenspeicher RAMW2 die entsprechenden neu berechneten Werte Ikim-Mn1), Zk(m) und Mk(m) eingegeben werden.
Der Datenspeicher RAM2 dient als Ausgabe-Datenspeicher des Rechenwerks RWl und speichert in einem ersten Abschnitt Hard-Output -Werte HOk (sogenannte hart entschiedene Datensymbole) und in einem zweiten Abschnitt Soft-Output-Werte SOk (d.h. Zuverlässigkeitsinformation).
Empfangene Datensymbole xk werden dem zweiten Datenpfad DP2 über eine Datenverbindung DLl.1 von dem Datenspeicher RAMl zugeleitet, die Ausgabe der in dem zweiten Datenpfad DP2 berechneten Übergangsmetriken Ik (m—>m') erfolgt über eine zweite Datenverbindung DL6. Zur Verbindung der Speicherabschnitte des Datenspeichers RAMWl mit dem ersten Datenpfad DPI sind Datenverbindungen DL3, DL4, DL5 vorgesehen. Der erste Datenpfad DPI berechnet neue Metriken und stellt diese dem entsprechenden Abschnitt des Datenspeicher RAMW2 über eine Datenverbindung DLlO zur Verfügung. Ferner ist der erste Datenpfad DPI ausgangsseitig über eine Datenverbindung DL7 mit dem sechsten Datenpfad DP6 und über eine Datenverbindung DL8 und eine Zeigerinformation Z mit dem vierten Datenpfad DP4 verbunden.
Eine Datenverbindung DL9 verbindet den vierten Datenpfad DP4 ausgangsseitig mit dem fünften Datenpfad DP5. Der fünfte Datenpfad DP5 erzeugt Adressen, welche über eine Adressverbindung ALI einem Adressdekoder des Datenspeichers RAMl zugeleitet werden. Die Adressen rufen im zweiten Abschnitt 0 von RAMl abgelegte und zuvor von dem DSP berechnete Produkte -hi*PSKj auf, welche daraufhin über eine Datenverbindung DLl.2 in den zweiten Datenpfad DP2 geladen werden.
Ober eine Datenverbindung DLlO werden von dem ersten Datenpfad DPI neu berechnete Metriken Mk (m) dem entsprechenden Speicherabschnitt des Datenspeichers RAMW2 zugeleitet. Eine Datenverbindung DLIl dient zur Übermittlung von in dem vier-
200016278 ,5 «\'S S%£ *°\ >\
ten Datenpfad DP4 berechneten neuen Zustandsvektoren zu dem entsprechenden Abschnitt des Datenspeichers RAMW2. Ferner hat der sechste Datenpfad DP6 über eine Datenverbindung DL13 Zugriff auf die neu berechneten Zustände Zk (m) . 5
Die von dem sechsten Datenpfad DP6 berechneten Hard-Output-Werte HOk werden dem Datenspeicher RAM2 über eine Datenverbindung DL2.1 zugeleitet, und die in dem dritten Datenpfad DP3 berechneten Soft-Output-Werte S0k werden über eine Datenverbindung DL2.2 nach RAM2 übertragen.
Fig. 4 zeigt ein Blockschaltbild des zweiten Datenpfads DP2 zur Berechnung der Übergangsmetriken. Der Datenpfad umfaßt einen Zwischenspeicher ZSl, einen Addierer ADDl, einen Akkumulator ACCUl, einen temporären Speicher REGl sowie einen Multiplexer MUXO. Ferner enthält der zweite Datenpfad DP2 eine komplexe Quadriereinheit kQUAD, welche aus zwei reellen Quadrierern rQUAD, einem Addierer ADD2 und einem Shifter SHl besteht. Der Shifter SHl ist ausgabeseitig mit der Datenverbindung DL6 verbunden.
Nachfolgend wird die Arbeitsweise des zweiten Datenpfads DP2 beschrieben. Der zweite Datenpfad DP2 berechnet Ubergangsmetriken in Vorwärtsrichtung nach der in Gleichung 2 angegebenen Formel. In Vorwärtsrichtung bedeutet, dass von einem bestimmten Vorgänger-Zustand ausgehend zunächst sämtliche Übergangsmetriken (8 Stück) berechnet werden, dann der nächste Vorgänger-Zustand betrachtet wird und von diesem wiederum sämtliche Übergangsmetriken berechnet werden, und so weiter.
Zum besseren Verständnis wird ein bestimmter Vorgänger-Zustand Zk-i (m) mit dem beliebigen Zustandsvektor
PSKg,PSKf,PSKe,PSKd,PSKc,PSKb
200016278 .·. '**: · ··
• *
herausgegriffen (wobei g,f,e,U1C1Io = 0,..,7). Die Produkte dieser Datensytnbole mit den zugehörigen Kanalkoeffizienten werden über die Adressverbindung ALI angewählt und über die Datenverbindung DLl.2 in den Zwischenspeicher ZSl geladen. Ferner wird das aktuelle Datensymbol x* in den Zwischenspeicher ZSl geschrieben.
Gemäß Gleichung 2 sind die acht von dem betrachteten Vorgänger-Zustand ausgehenden Übergangsmetriken durch den Ausdruck
|xk-PSKg*h6-PSKf*h5-PSKe*h4-PSKd*h3-PSKc*h2-PSKb*hi'-PSKia*ho|2
bestimmt.
Dabei kann das den jeweiligen Übergang repräsentierende Datensymbol PSKia sämtliche mögliche Werte PSKia/ ia = 0,..,7, annehmen. Somit ergibt sich folgender Rechnungsablauf: Bei Anwahl des oben genannten Vorgänger-Zustands werden zunächst die für die Berechnung der ersten Übergangsmetrik benotigten sieben Produkte (mit -PSKia*h0=-PSK0*h0) im Zwischenspeicher ZSl zwischengespeichert. Sodann werden mittels des Addierers ADDl und des Akkumulators ACCUl die durch den Vorgänger-Zustand vorgegebenen ersten sechs Produkte sowie das empfangene Datensymbol x* addiert (es wird darauf hingewiesen, dass die Produkte bereits mit einem negativen Vorzeichen versehen in dem Speicher RAMl abgelegt sind, so dass eine Negierung derselben bzw. der Einsatz eines Subtrahierers nicht erforderlich ist), und diese Teilsumme wird anschliessend in 0 dem temporären Speicher REGl abgespeichert. In einem abschließenden Additionsschritt wird dann das den Übergang bestimmende Produkt -PSKia*h0=-PSK0*h0 hinzuaddiert und die entsprechende Summe wird dem komplexen Quadrierer kQUADl zugeleitet.
Es wird darauf hingewiesen, dass der Addierer ADDl, der Akkumulator ACCUl, der temporäre Speicher REGl sowie - wie
200016278 .: ···: . ::..
bereits erwähnt - der reelle Quadrierer rQUAD doppelt ausgeführt sind, um eine Verarbeitung von Real- und Imaginärteil der Datensymbole zu ermöglichen. Die doppelte Ausführung dieser Einheiten ist durch die gestrichelten Linien angedeutet.
Die beiden reellen Quadrierer rQUAD nehmen jeweils eine Quadrierung des Real- und des Imaginärteils der erhaltenen Summen vor. Im Addierer ADD2 werden der quadrierte Realteil und der quadrierte Imaginärteil addiert und dem Shifter SHl zugeleitet. Dieser nimmt eine 1-Bit-Verschiebung des erhaltenen Datenworts vor und gibt dieses dann als erste Übergangsmetrik zum betrachteten Vorgänger-Zustand über die Datenverbindung DL6 aus.
Zur Berechnung der nächsten Übergangsmetrik mit -PSKia*ho=-PSKl*ho wird mittels des Multiplexers MUXO die in dem temporären Speicher REGl abgelegte Teilsutnme dem Addierer ADDl zugeleitet und dort mit dem Produkt -PSKl*h0 des nun zu berechnenden zweiten Übergangs addiert. Die weitere Verarbeitung erfolgt analog der vorhergehenden Beschreibung, und die Ausgabe der berechneten Übergangsmetrik von dem betrachteten Vorgänger-Zustand in den Zielzustand mit m = 1 erfolgt dann wiederum über die Datenverbindung DL6.
Anschließend werden die restlichen sechs Übergangsmetriken zu dem betrachteten Vorgänger-Zustand berechnet. Dann wird zu dem nächsten Vorgänger-Zustand gewechselt und gleichermaßen verfahren.
Es wird deutlich, dass die Berechnung der Übergangsmetriken in Vorwärtsrichtung mittels des zweiten Datenpfads DP2 wesentlich aufwandsgünstiger durchzuführen ist, als eine Berechnung der Übergangsmetriken in Rückwärtsrichtung, wie sie üblicherweise bei der Abarbeitung des Viterbi-Algorithmus stattfindet. Die Ursache hierfür ist darin zu sehen, dass aufgrund der Produkt- oder Teilsummen-Zwischenspeicherung in
200016278
dem temporären Speicher REGl für die Berechnung der zweiten bis achten Übergangsmetriken jeweils lediglich ein Speicheraufruf (für -PSKia*h0) benötigt wird.
Fig. 5 zeigt den Aufbau des ersten Datenpfads DPI zur Durchführung der ACS-Operationen.
Der Datenpfad DPI umfaßt eingangsseitig zwei Addierer ADD3, ADD4, deren Addiererausgänge einem temporären Speicher REG2 zugeführt sind. Der temporäre Speicher REG2 ist einer ersten Minimum-Einheit MINI vorgeordnet. Über einen weiteren Speicher REG3 wird der Ausgang der ersten Minimum-Einheit MINI einer zweiten Minimum-Einheit MIN2 zugeleitet. Der Ausgang der zweiten Minimum-Einheit MIN2 wird einem weiteren temporaren Speicher REG4 zugeführt. Der Speicherinhalt von REG4 wird einerseits einem Multiplexer MUXl zugeleitet und andererseits über einen Multiplexer MUX2 dem zweiten Vergleichseingang der zweiten Minimum-Einheit MIN2 zurückgekoppelt. Ferner umfaßt die Schaltung eine Einheit PO zur 0 Erzeugung eines Zeigers Z(Z1,Z2), welcher aus von den Minimum-Einheiten MINI, MIN2 ausgegebenen Zeiger-Informationen Zl, Z2 gebildet wird. Die eingangsseitige Datenverbindung DL4 ist mit der ausgangsseitigen Datenverbindung DL8 identisch. Diese Datenverbindungen sind in Fig. 5 nicht dargestellt.
Die Arbeitsweise der in Fig. 5 dargestellten Schaltung ist wie folgt:
0 Zunächst werden die vom Datenpfad DP2 berechneten Übergangsmetrikwerte von RAMW2 in RAMWl umgespeichert. Den beiden Addierern ADD3, ADD4 werden dann über die Datenverbindungen DL5 und DL3 jeweils zwei Metriken von Vorgänger-Zuständen und die dazugehörigen zwei (in DP2 gerade neu berechneten) Übergangsmetriken bezüglich eines bestimmten Zielzustands zum Zeitschritt k geliefert. Für das in Fig. 1 dargestellte Beispiel (Zielzustand ist m = 1) sind die entsprechenden
200016278 .1 *"l *""··
Metrik- und Öbergangsmetrikwerte für die ersten beiden Übergänge (0-»l und 1—>1) in Fig. 5 angegeben.
Jeder Addierer ADD3 bzw. ADD4 addiert eine Metrik mit der zugehörigen Übergangsmetrik, so dass am Ausgang der Addiererstufe ADD3, ADD4 bei jedem Abarbeitungsschritt zwei entsprechende Summenwerte ausgegeben werden. Beide Summenwerte sind Kandidaten für die zu berechnende minimale Metrik des Zielzustands (m = 1).
Die beiden Summen werden von der ersten Minimum-Einheit MINI aus dem temporären Speicher REG2, in welchen sie-zuvor abgelegt wurden, abgerufen, und die kleinere der beiden Summen erscheint am Ausgang der ersten Minimum-Einheit MINI.
Die Zeiger-Information Zl gibt dabei an, welcher der beiden betrachteten Übergänge die minimale Summe zeigt.
Nach Zwischenspeicherung in dem temporären Speicher REG3 wird diese minimale Summe dem einen Eingang der zweiten Mimimum-Einheit MIN2 zugeleitet, während der andere Eingang über den zweiten Multiplexer des MUX2 zunächst auf einen maximal möglichen Wert (bei einer Wortbreite von beispielsweise 16 Bit der Wert 0x7FFF) gesetzt wird. Infolgedessen wird die am Eingang der zweiten Minimum-Einheit MIN2 erhaltene Summe in den temporären Speicher REG4 geschrieben.
Währenddessen werden in den Addierern ADD3, ADD4 bereits die nächsten Summen bezüglich der Übergänge zwischen den Zuständen 2—»1 und 3—»1 berechnet und in der ersten Minimum-Einheit MINI das Minimum dieser Summen bestimmt. Wiederum wird Zeigerinformation Zl generiert und die kleinere der beiden Summen der zweiten Minimum-Einheit MIN2 zugeführt. Die kleinere der beiden Summen wird nun über den Multiplexer MUX2 mit der zuvor bestimmten minimalen Summe verglichen, welche im temporären Speicher REG4 abgelegt ist. Sodann wird der Speicherinhalt des temporären Speichers REG4 mit dem Ausgang der zweiten Minimum-Einheit MIN2 überschrieben, wobei je nach
200016278
dem Ergebnis der Minimum-Bildung eine Änderung des Speicherinhalts auftritt oder nicht. Die zweite Zeigerinformation Z2 verwendet den kleineren der beiden verglichenen Summenwerte.
Es wird deutlich, dass nach vier solchen Abarbeitungsschritten die minimale Summe aus den Metriken der Vorgänger-Zustände und den zugehörigen Übergangsmetriken gefunden ist. Der Zeiger Z(Z1,Z2) deutet dabei auf den Zustandsvektor des im Rahmen dieser ACS-Operation ermittelten Vorgänger-Zustands. In Fig. 1 wäre dies der Vektor
PSKiJ4, PSKiJ3, PSKu2, PSKiJ1, PSKJi0, PSK4 .
Die auf diese Weise bestimmte Metrik des Zielzustands wird über den Multiplexer MUXl und die Datenverbindung DLlO in den Datenspeicher RAMW2 geladen.
Fig. 8 zeigt in schematischer Weise den Aufbau des vierten Datenpfades DP4 zur Berechnung des neuen Zustandsvektors.
Aufgrund des auf den Zustandsvektor des "richtigen" Vorgänger-Zustands Zk-i(tn) (Fig. 1: Zustand mit Index m = 4) deutenden Zeigers Z(Z1,Z2) wird dieser über die Datenverbindung DL4, DL8 aus dem entsprechenden Speicherabschnitt des Datenspeichers RAMWl aufgerufen. In Fig. 8 ist eine Darstellung dieses Zustandsvektors gewählt, welche berücksichtigt, dass jedes PSK-Datensymbol durch ein Bit-Tripel kodiert ist. Das heisst, der Vorgänger-Zustand besteht aus den in Fig. 8 gezeigten sechs Bit-Tripeln 0nm|lkj|ihg|fed|cba|100.
Dieser Zustandsvektor wird nun einem ersten Eingang eines Schiebe- und Einfüge-Registers SHIN des Datenpfads DP4 zugeführt, während an einem Einschiebe-Eingang dieses Registers SHIN das Bit-Tripel (z.B. 001) anliegt, welches das Übergangs-PSK-Symbol darstellt. Das Schiebe- und Einfüge-Register SHIN nimmt die in Fig. 8 graphisch dargestellte Operation vor, d.h. das "älteste" Bit-Tripel Onm wird verworfen, die anderen Bit-Tripel werden nach links geschoben
200016278 .&Ggr; ***&iacgr; i"zll*.
und das Übergangs-Bit-Tripel 001 wird an den Anfang des abgespeicherten Bit-Worts gesetzt. Der auf diese Weise gebildete Zustandsvektor des Zielzustands wird über die Datenverbindung DLIl in den entsprechenden Abschnitt des Datenspeichers RAMW2 geschrieben.
Auf der Basis des neu bestimmten Zustandsvektors werden mittels des fünften Datenpfades DP5 die Adressen für den Aufruf der zugehörigen Produkte zur Berechnung von Übergangsmetrikwerten für die nächsten Zustandsubergänge, die von dem gerade berechneten Zustand ausgehen und in Endzuständen des Zeitschrittes k+1 enden, vorgenommen. Hierzu werden im fünften Datenpfad DP5 die im vierten Datenpfad DP4 ermittelten Zustandsvektoren in Einzelkomponenten zerlegt, welche als Adressen auf die im RAMl abgespeicherten Produkte oder PartialSummanden der von diesem Zustand ausgehenden Übergangsmetriken zu Zuständen des nachfolgenden Zeitschrittes verwendet werden.
Fig. 6 zeigt den Aufbau des dritten Datenpfads DP3 zur Erzeugung von Soft-Output-Werten. Der dritte Datenpfad DP3 umfaßt drei Minimum-Einheiten MIN3, MIN4, MIN5, denen ausgangsseitig jeweils ein Demultiplexer DMUXl, DMUX2, DMUX3 nachgeschaltet sind. Die Demultiplexer DMUXl-3 nehmen eine Signalaufspaltung jeweils für zwei temporäre Speicher REG5, REG6; REG7, REG8; REG9, REGlO vor. Die beiden Ausgänge jedes Speicherpaars REG5, REG6 bzw. REG7, REG8 bzw. REG9, REGlO sind Multiplexern MUX3, MUX4, MUX5 zugeleitet, welche den 0 jeweils zweiten Eingang der entsprechenden Minimum-Einheit MIN3 bzw. MIN4 bzw. MIN5 bilden.
Ferner stehen die Ausgänge der temporären Speicher REG5, REG7 und REG9 mit den drei Eingängen eines Multiplexers MUXu (das u steht für up) in Verbindung, und die drei Ausgänge der temporären Speicher REG6, REG8, REGlO stehen mit drei
200016278
Eingängen eines Multiplexers MUXd (d steht für down) in Verbindung.
Die Multiplexer-Ausgänge von MUXu, MUXd werden einem Subtrahierer SUB zugeführt, welcher an seinem Ausgang pro Datensymbol (drei Bits) drei Softbit-Werte sO, si und s2 ausgibt.
Die Arbeitsweise des dritten Datenpfads DP3 zur Erzeugung von Soft-Output-Werten ist wie folgt:
Ein 8PSK-Datensymbol wird durch ein Tripel (bO,bl,b2) dargestellt, wobei bi=0 oder 1 für 1=0,1,2. Für jeden Zeitschritt wird für jede Komponente bi des 8PSK-Datensymbols ein Konfidenzwert berechnet, welcher angibt, mit welcher Wahrscheinlichkeit die entsprechende Komponente des hart entschiedenen Datensymbols den Wert 1 aufweist. Der Softbit-Wert si zum Bit bi errechnet sich nach der Gleichung
si=min ( (Mk.i (m) +Ik(m-nn1) |bi=l) für i= 0,1,2.
1 (m) +1*(m-nn1) |bi=0)
Die drei Softbit-Werte bilden den Soft-Output-Wert S0k.
Es wird darauf hingewiesen, dass die Soft-Output-Werte zeitgleich mit der Abarbeitung der ACS-Operationen für den betrachteten Zeitschritt-Übergang berechnet werden. Hierzu werden den Minimum-Einheiten MIN3-5 über die Datenverbindung DL12 ständig die Summen aus alten Metriken und Übergangsmetriken zugeleitet. Die Demultiplexer DMUXl-3 entscheiden, in welchem der sechs temporären Speicher REG5 bis REGlO die an den Ausgängen der Minimum-Einheiten MIN3-5 auftretenden Werte abgespeichert werden sollen. Bei b2=l erfolgt die Abspeicherung in REG5, bei b2=0 in REG6, bei bl=l in REG7, bei bl=0 in REG8, bei bO=l in REG9 und bei b0=0 in REGlO. Die abgespeicherten Summen werden dann für den nächsten Vergleichsschritt (welchem ein anderer der 64 Übergänge zwischen zwei benachbarten Zeitschritten zugrundeliegt) in die zugehörige Mini-
200016278 .&idigr; **" ·**··!! l"l
mura-Einheit MIN3-5 zurückgekoppelt, wobei die Wahl des jeweiligen Registers (REG5 oder REG6 bzw. REG7 oder REG8 bzw. REG9 oder REGlO) von den Multiplexern MUX3-5 je nach Ausprägung der zugehörigen Bit-Komponente b2 bzw. bl bzw. bO erfolgt. Bei der ersten Minimum-Bildung pro Zeitschritt wird ein maximaler Vergleichswert (z.B. 0x7FFF) verwendet.
Da für jede Bit-Komponente 32 Übergänge auftreten, erfolgt die Minimierung entsprechend der oben angegebenen Gleichung jeweils über 32 Zustandsübergänge. Nach Abarbeitung sämtlicher Zustandsübergänge zu einem Zeitschritt werden die Soft-Output- Werte für diesen Zeitschritt mittels des Subtrahierers SUB aus den in der beschriebenen Weise rekursiv ermittelten (Metrik+Übergangsmetrik)-Summen berechnet, welche in den temporären Speichern REG5-10 bereitgehalten werden. Hierzu werden die Multiplexer MUXu und MUXd jeweils im Zeitmultiplex betrieben. Die Softbit-Werte s0, si, s2 sind vorzeichenbehaftete Zweierkomplementwerte, welche über die Datenverbindung DL2.2 dem Datenspeicher RAM2 zugeführt werden.
Fig. 7 zeigt den Aufbau des Datenpfads DP6 zur Berechnung von Hard-Output-Werten. Der Datenpfad DP6 besteht im wesentlichen aus einer Minimum-Einheit MIN6, einem Multiplexer MUX6 und einem temporären Speicher REGIl, welche in einer Schleife geschaltet sind. In der für andere Datenpfade bereits beschriebenen Weise ermöglicht die Schleife die Bestimmung des minimalen Werts der über die Datenverbindung DL7 erhaltenen neuen Zustandsmetriken (welche ihrerseits in dem Datenpfad DPI durch eine Minimalisierungsprozedur gefunden wurden). Da pro Zeitschritt ein Hard-Output-Wert ermittelt werden soll, läuft die Minimierungsprozedur über sämtliche acht neu ermittelten Zustandsmetriken.
Über die Adressverbindung AL2 wird dem Adressdekoder des Datenspeichers RAMW2 die Adresse des Zustandsvektors mit der minimalen Zustandsmetrik zum Zeitschritt k zugeleitet, wodurch über die Datenverbindung DL13 der entsprechende Zu-
200016278
Standsvektor aufgerufen wird, welcher, wie bereits beschrieben, aus den Übergangs-Datensymbolen der jeweiligen Vorgänger-Zustände zusammengesetzt ist.
Um die Sicherheit des ausgegebenen Hard-Output-Wertes zu erhöhen, wird eine "Trace-Back"-Operation durchgeführt, das heisst, es wird das um &rgr; Zeitschritte zurückliegend entschiedene Übergangs-Datensymbol ausgewählt. Z.B. kann &rgr; = 6 gewählt werden.
Es wird darauf hingewiesen, dass &rgr; > &ngr; möglich ist, das heisst, dass der zeitliche Rückgriff der "Trace-Back"-Operation länger als das für die Berechnung der Übergangsmetriken verwendete Kanalgedächtnis sein kann. In diesem Fall müssen längere Zustandsvektoren bestehend aus entsprechend mehr (mindestens &rgr; Stück) PSK-Datensymbolen verwendet werden. Die Neuberechnung eines Zustands erfolgt dann weiterhin wie in Fig. 8 dargestellt, jedoch mit entsprechend längeren Zustandsvektoren. Auf die Berechnung der Übergangsmetriken ist die Verwendung "längerer" Zustandsvektoren ohne Einfluss, da hierbei stets nur die letzten &ngr; Datensymbole und das aktuelle Übergangs-Datensymbol berücksichtigt werden.
Die beschriebenen Datenpfade arbeiten Hand in Hand, ohne dass Zwischenberechnungen in dem DSP erforderlich sind. Der DSP dient im wesentlichen lediglich zur Durchführung der Kanal-Schätzungen und zur Berechnung der Produkte -hi*8PSKj (oder allgemein Partialsummanden der Übergangsmetrikwerte bestehend aus einem oder mehreren solcher Produkte) sowie zur Program-0 mierung und Konfiguration der Hardware-Rechenwerke RWl und RW2. Die eigentliche Rechenprozedur wird jedoch ohne Beteiligung des DSPs durchgeführt, weshalb dieser nur moderaten Leistungsanforderungen (<100 MIPS) genügen muss.
Die bisherige Beschreibung der Arbeitsweise des Rechenwerks RWl erfolgte am Beispiel einer EDGE-Entzerrung basierend auf 8PSK Datensymbolen. Sämtliche Datenpfade DPI bis DP6 können
200016278
jedoch auch für eine GSM-Entzerrung eingesetzt werden. Erforderlich ist hierfür lediglich eine geeignete Umkonfiguration der Datenpfade.
Bei der GSM-Entzerrung wird z.B. ein Kanalgedächtnis der Länge &ngr; = 5 zugrunde gelegt, das heisst Kanalkoeffizienten h0, hi, h2, h3, h4, h5 im Rahmen der Kanal Schätzung vom DSP ermittelt.
Die Übergangsmetriken Ik(m-»m') errechnen sich nach folgender Formel:
xk - &Sgr; hi*(l-2*ai) - h5*(l-2*a5) I2, i=0,...,
(4)
wobei ai Bits sind, das heisst ai=0,l für alle i=0,l,..,5.
Es wird ein reduziertes Trellis-Diagramm mit Zuständen der Form ai,a2,a3,a4 betrachtet. Das Übergangs-Bit wird mit a0 bezeichnet, das Bit a5 stellt eine Zusatz-Information zu dem betrachteten Zustand dar, welche lediglich im Rahmen der Berechnung der Übergangsmetriken berücksichtigt wird. Ein Zustandsvektor ist analog zu der in Fig. 1 erläuterten Schreibweise in der Form a5,a4,a3,a2,ai darstellbar.
Unter diesen Voraussetzungen weist das Trellis-Diagramm zu jedem Zeitschritt 24=16 Zustände auf. Da jeder (Ziel-)Zustand über zwei Übergänge erreicht werden kann, ergeben sich für jeden Zeitschritt 32 mögliche Übergänge.
0 Der Datenpfad DP2 zur Berechnung der Übergangsmetriken kann aufgrund der identischen Berechnungsvorschrift bei GSM ohne Änderungen eingesetzt werden.
Der Datenpfad DPI zur Berechnung der ACS-Operationen wird in der Weise umkonfiguriert, dass der temporäre Speicher REG3 sowie die Minimierungsschleife bestehend aus der Minimum-Einheit MIN2, dem temporären Speicher REG4 und dem Multiple-
200016278 &lgr; ·**! :**:£! 4 l'\ *\
xer MUX2 entfallen. Infolgedessen entfällt die Zeiger-Information Z2. Die Zeiger-Information Z=Zl ist lediglich binär, der Speicher PO kann überbrückt werden.
Bei dem Datenpfad DP3 zur Berechnung von Soft-Output-Werten braucht lediglich einer der drei Zweige aktiviert zu sein, folglich sind die beiden Multiplexer MUXu und MUXd deaktiviert bzw. überbrückt. Mit dieser Umkonfiguration ist der Datenpfad DP3 für die GSM-Entzerrung nutzbar.
Ebenfalls im GSM-Fall verwendbar sind die in den Fig.7 und 8 gezeigten Datenpfade. Bei dem Datenpfad DP6 (siehe Fig.7) ist die Minimierungsschleife über 16 Durchläufe zu führen, in dem in Fig.8 dargestellten Datenpfad DP4 ist das Schiebe- und Einfüge-Register SHIN weiterhin verwendbar, es muss jedoch die modifizierte Definition des Zustandsvektors berücksichtigt werden. Gleiches gilt für die in Fig. 7 dargestellte Trace-Back-Operation im Datenpfad DP6.

Claims (14)

1. Viterbi-Entzerrer zur Entzerrung einer über einen gestörten Kanal übertragenen Symbolfolge, mit einem digitalen Signalprozessor (DSP), welchem
- ein erster Hardware-Datenpfad (DP1) zur Durchführung von ACS-Operationen, welcher Zustandsmetriken von Zielzuständen in einem Trellis-Diagramm berechnet, und
- ein zweiter Hardware-Datenpfad (DP2), welcher unter Berücksichtigung der Kanaleigenschaften aus der erhaltenen Symbolfolge Übergangsmetriken von Vorgänger-Zuständen zu Zielzuständen in dem Trellis-Diagramm berechnet,
zugeordnet sind.
2. Viterbi-Entzerrer zur Entzerrung eines über einen gestörten Kanal übertragenen Datensignals, mit einem digitalen Signalprozessor (DSP), welchem
- ein erster Hardware-Datenpfad (DP1) zur Durchführung von ACS-Operationen, welcher Zustandsmetriken von Zielzuständen in einem Trellis-Diagramm berechnet, und
- ein dritter Hardware-Datenpfad (DP3), welcher Soft-Output- Werte für die zu schätzende Symbolfolge aus den zu den Zielzuständen führenden Zustandsübergängen berechnet,
zugeordnet sind.
3. Viterbi-Entzerrer nach einem der Ansprüche 1 oder 2 dadurch gekennzeichnet,
- dass beide Hardware-Datenpfade (D1, D2; D1, D3) direkt, d. h. ohne eine Zwischenverarbeitung der im jeweils vorgeordneten Hardware-Datenpfad (DP2; DP1) berechneten Daten im digitalen Signalprozessor, miteinander in Verbindung stehen.
4. Viterbi-Entzerrer nach einem der vorhergehenden Ansprüche dadurch gekennzeichnet,
- dass beide Hardware-Datenpfade (D1, D2; D1, D3) zur Durchführung sowohl einer Entzerrung nach dem EDGE-Mobilfunkstandard als auch einer Entzerrung nach dem GSM-Mobilfunkstandard ausgelegt sind.
5. Viterbi-Entzerrer nach einem der vorhergehenden Ansprüche, gekennzeichnet durch
- einen vierten Hardware-Datenpfad (DP4) zur Berechnung von Zielzustandsvektoren.
6. Viterbi-Entzerrer nach Anspruch 5, gekennzeichnet durch
- einen fünften Hardware-Datenpfad (DP5), welcher aus einem von dem vierten Hardware-Datenpfad (DP4) erhaltenen Zustandsvektor zu einem Zielzustand Adressen von Teilsummen der von diesem Zielzustand ausgehenden Übergangsmetrikwerte zu Zuständen im nachfolgenden Zeitschritt berechnet.
7. Viterbi-Entzerrer nach einem der vorhergehenden Ansprüche, gekennzeichnet durch
- einen weiteren Hardware-Datenpfad (DP6) zur Berechnung von entschiedenen Datensymbolen.
8. Viterbi-Entzerrer nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet,
- dass der erste Hardware-Datenpfad (DP1) zur Durchführung von ACS-Operationen
- eine erste Minimierungsstufe (MIN1) aufweist, in welcher das Minimum der Summen aus Metrik- und Übergangsmetrikwerten von insbesondere zwei Zustandsübergängen bestimmt wird, und
- eine der ersten Minimierungsstufe (MIN1) nachgeschaltete zweite Minimierungsstufe (MIN2, REG4, MUX2) aufweist, welche in sequentieller Verarbeitung das Minimum der von der ersten Minimierungsstufe (MIN1) ausgegebenen Summen bestimmt.
9. Viterbi-Entzerrer nach Anspruch 5 und 8, dadurch gekennzeichnet,
- dass beide Minimierungsstufen (MIN1, MIN2) Zeigerinformation (Z12, Z2) abgeben, die in dem vierten Hardware-Datenpfad (DP4) zur Ermittlung des Zustandsvektors zu einem Zielzustand verwendet werden.
10. Viterbi-Entzerrer nach Anspruch 1, dadurch gekennzeichnet,
- dass der zweite Hardware-Datenpfad (DP2) eine Rechenschleife (ADD1, ACCU1, REG1) zur Summation von Produkten für oder Teilsummen von Übergangsmetrikwerten aufweist.
11. Viterbi-Entzerrer nach Anspruch 10, dadurch gekennzeichnet,
- dass die Rechenschleife (ADD1, ACCU1, REG1) einen temporären Speicher (REG1) zur Abspeicherung einer Teilsumme aufweist, wobei die Teilsumme für die Berechnung sämtlicher Übergangsmetrikwerte von einem bestimmten Vorgänger-Zustand verwendbar ist.
12. Viterbi-Entzerrer nach Anspruch 10 oder 11, dadurch gekennzeichnet,
- dass der zweite Hardware-Datenpfad (DP2) wenigstens eine der Rechenschleife nachgeschaltete Quadriererstufe (rQUAD) sowie wenigstens eine weitere Addiererstufe (ADD2) aufweist.
13. Viterbi-Entzerrer nach Anspruch 2, dadurch gekennzeichnet,
- dass der dritte Hardware-Datenpfad (DP3) wenigstens eine Rechenschleife aufweist, die eine Minimum-Einheit (MIN3-5), einen Demultiplexer (DMUX1-3), zwei ausgangsseitig des Demultiplexers (DMUX1-3) angeordnete Speicher (REG5-10) und einen Multiplexer (MUX3-5) aufweist, wobei die Ausgänge der beiden Speicher (REG5-10) über den Multiplexer (MUX3-5) einem Eingang der Minimum-Einheit (MIN3-5) zuführbar sind.
DE20109857U 2000-07-03 2001-06-13 Viterbi-Entzerrer Expired - Lifetime DE20109857U1 (de)

Priority Applications (7)

Application Number Priority Date Filing Date Title
DE20109857U DE20109857U1 (de) 2000-07-03 2001-06-13 Viterbi-Entzerrer
CN01812226.4A CN1442009A (zh) 2000-07-03 2001-06-29 采用多个硬件数据路径实现acs和传输度量操作的维特比均衡器
EP01953137A EP1297668B1 (de) 2000-07-03 2001-06-29 Viterbi-entzerrer der verschiedene hardware-datenpfade für acs-operationen und für übertragungsmetriken verwendet
PCT/DE2001/002464 WO2002003637A1 (de) 2000-07-03 2001-06-29 Viterbi-entzerrer mittels verschiedener hardware-datenpfaden für acs und übertr agungsmetriken operationen
DE50108096T DE50108096D1 (de) 2000-07-03 2001-06-29 Viterbi-entzerrer der verschiedene hardware-datenpfade für acs-operationen und für übertragungsmetriken verwendet
JP2002507595A JP2004503141A (ja) 2000-07-03 2001-06-29 Acsおよび伝送メトリック演算用の様々なハードウエアデータ経路を用いるビタビ等化器
US10/336,580 US6892344B2 (en) 2000-07-03 2003-01-02 Viterbi equalizer using various hardware data paths for ACS and transmission metric operations

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10032237A DE10032237A1 (de) 2000-07-03 2000-07-03 Viterbi-Entzerrung mittels vorausberechneter Metrikinkremente
DE10127348A DE10127348A1 (de) 2001-06-06 2001-06-06 Verfahren und Schaltungsanordnung zur Übertragung von Daten zwischen einem Prozessor und einem Hardware-Rechenwerk
DE20109857U DE20109857U1 (de) 2000-07-03 2001-06-13 Viterbi-Entzerrer

Publications (1)

Publication Number Publication Date
DE20109857U1 true DE20109857U1 (de) 2001-10-31

Family

ID=26006262

Family Applications (1)

Application Number Title Priority Date Filing Date
DE20109857U Expired - Lifetime DE20109857U1 (de) 2000-07-03 2001-06-13 Viterbi-Entzerrer

Country Status (1)

Country Link
DE (1) DE20109857U1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2946480A1 (fr) * 2009-06-09 2010-12-10 Thales Sa Recepteur equipe d'un decodeur de viterbi a treillis

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2946480A1 (fr) * 2009-06-09 2010-12-10 Thales Sa Recepteur equipe d'un decodeur de viterbi a treillis
EP2262116A1 (de) * 2009-06-09 2010-12-15 Thales Viterbi Dekoder mit zwei Speichern angepasst für GNSS Signale
US8365056B2 (en) 2009-06-09 2013-01-29 Thales Receiver equipped with a trellis viterbi decoder

Similar Documents

Publication Publication Date Title
DE19545473C2 (de) Verfahren zur digitalen Nachrichtenübertragung über ein elektrisches Kabel
DE3910739C2 (de)
DE69722571T2 (de) System und Verfahren zur digitalen Übertragung mit einem Produktkode kombiniert mit multidimensionaler Modulation
DE69834320T2 (de) Verfahren und Vorrichtung zur Folgeschätzung
DE69212695T2 (de) Decodierungseinrichtung
DE69427630T2 (de) Integrierte Schaltung mit Koprozessor zur Viterbi-Dekodierung
EP1297668B1 (de) Viterbi-entzerrer der verschiedene hardware-datenpfade für acs-operationen und für übertragungsmetriken verwendet
DE69130717T2 (de) Maximalwahrscheinlichkeitssequenzdetektor
EP1297669B1 (de) Viterbi-entzerrung mittels vorausberechneter metrikinkremente
DE10102928B4 (de) Viterbi-Decoder und Verfahren zur Decodierung
DE20109857U1 (de) Viterbi-Entzerrer
EP1198890B1 (de) Verfahren zum erzeugen von zuverlässigkeitsinformationen für die kanaldecodierung in einem funkempfänger sowie entsprechender funkempfänger
DE69803250T2 (de) Kanalimpulsantwortschätzer für einen Viterbi-Equaliser
EP0843444B1 (de) Digitales Übertragungssystem mit trellisbasiertem, zustandsreduziertem Schätzverfahren
DE60127227T2 (de) Verfahren und Vorrichtung zur Schätzung der aufeinanderfolgenden Werte digitaler Symbole insbesondere für die Entzerrung eines Datenübertragungskanals in der Mobiltelephonie
DE60118716T2 (de) Log-MAP Dekodierung
DE69619966T2 (de) Verfahren zur Erzeugung von Verzweigungsmetriken und ein Empfänger für ein Mobiltelefon
DE69815541T2 (de) Verfahren und vorrichtung zur viterbi-dekodierung von punktierten codes
DE69914241T2 (de) Addier- Vergleichs- Auswahl- Schaltung für einen Viterbi Dekodierer
DE10064102A1 (de) Architektur für DSP, Entzerrer und Kanaldekodierer
EP1442570A1 (de) Viterbi-entzerrung unter verwendung eines tabellenspeichers zur bereithaltung von rekonstruierten signalwerten für die berechnung von übergangsmetriken
DE69821535T2 (de) Verfahren zur effizienten durchführung einer treillisbasierten spektralformung mit vorhersage
DE69706639T2 (de) Datenprozessor und Verfahren zur Datenverarbeitung
EP1405436B1 (de) Einrichtung und verfahren zur skalierung von soft-output-werten einer empfängerstruktur
DE60117705T2 (de) Viterbi-Decodierungsprozessor

Legal Events

Date Code Title Description
R207 Utility model specification

Effective date: 20011206

R150 Utility model maintained after payment of first maintenance fee after three years

Effective date: 20040907

R151 Utility model maintained after payment of second maintenance fee after six years

Effective date: 20070829

R152 Utility model maintained after payment of third maintenance fee after eight years

Effective date: 20090904

R071 Expiry of right
R071 Expiry of right