Beschreibung
Viterbi-Entzerrung unter Verwendung eines Tabellenspeichers zur Bereithaltung von rekonstruierten Signalwerten für die Berechnung von Ubergangsmetriken
Die Erfindung betrifft ein Verfahren zum Entzerren eines über einen Kanal übertragenen Datensignals nach dem Viterbi-Algorithmus sowie eine Vorrichtung zu diesem Zweck.
Bei einer Funkübertragung müssen die über die Luftschnittstelle übertragenen Datensignale einer adaptiven Entzerrung unterzogen werden, um die Eigenschaften des physikalischen Übertragungskanals zu berücksichtigen. Schwierigkeiten bei der Signaldetektion bereitet insbesondere die Mehrwegeausbreitung des übertragenen Datensignals, welche Intersymbolin- terferenz (IST.) zur Folge hat.
Der Mehrwege-Übertragungskanal zwischen einem Sender S und einem Empfänger E kann als ein Übertragungsfilter H mit Kanalkoeffizienten hk modelliert werden, wie dies in Fig. la dargestellt ist. Der Sender S speist Sendedaten bzw. Sendesymbole Sk in den Übertragungskanal, d.h. das Übertragungs- filter H, ein. Durch einen Modellsummierer SU kann ein addi- tives Rauschsignal nk berücksichtigt werden, welches den mit hk gefilterten Sendesymbolen S am Ausgang des Übertragungs- filters H hinzuaddiert wird.
Der Index k bezeichnet die diskrete Zeit, dargestellt durch Zeitschritte. Die durch das Übertragungsfilter H gefilterten und mit Rauschen überlagerten Sendesignale Sk werden als Empfangssignal xk durch den Empfänger empfangen. Es gilt:
Xi, ∑ hisk-i + n ( i ;
wobei L die Ordnung des durch das Filter H modellierten Über- tragungskanals darstellt. Wie aus Gleichung 1 erkennbar, liegt ISI vor, da Xk nicht nur von S sondern auch von sk-ι, ... ,sk-L abhängt.
Im Empfänger E sind die empfangenen Signalwerte Xk als Abtastwerte bekannt und die Kanalimpulsantworten h0,hι,...,hL des Kanals werden in regelmäßigen Zeitabständen geschätzt. Die Entzerrungsaufgabe besteht darin, aus diesen Informatio- nen die Sendesymbole Sk zu berechnen. Im folgenden wird die Entzerrung mittels eines Viterbi-Entzerrers betrachtet.
Viterbi-Entzerrer sind rekursive MLSE- (Maximum Likelihood Se- quence Estimation-) Folgenschätzer . Die Folgenschätzung beruht auf dem Auffinden eines kürzesten Wegs durch ein Zustandsdia- gramm des Kanals, welches als Trellis-Diagramm bekannt ist. In dem Trellis-Diagramm sind die Kanalzustände über der diskreten Zeit k aufgetragen. Gemäß dem Viterbi-Algorithmus wird für jeden möglichen Übergang zwischen zwei Zuständen (Vorgänger-Zustand — > Zielzustand) eine Übergangsmetrik berechnet, welche ein Maß für die Wahrscheinlichkeit des Übergangs darstellt. Anschließend werden die Ubergangsmetriken den jeweiligen Zustandsmetriken der Vorgänger-Zustände hinzuaddiert und es werden die auf diese Weise erhaltenen Summen verglichen. Derjenige Übergang, dessen Summe aus Übergangsmetrik und Metrik des Vorgänger-ZuStands minimal ist, wird ausgewählt und bildet die Verlängerung des in diesen Vorgän- ger-Zustand führenden Pfads in den Zielzustand. Diese drei Operationen werden als ACS- (ADD-COMPARE-SELECT- ) Operationen bezeichnet.
Der Viterbi-Algorithmus bewirkt, dass die Anzahl der Pfade durch das Trellis-Diagramm mit wachsendem k (d.h. mit Zeitablauf) konstant bleibt. Dies ermöglicht die rechnerische Lö- sung der MLSE.
Der Rechenaufwand des Viterbi-Algorithmus erhöht sich expo- nentiell mit L. Dies beruht darauf, dass die Anzahl der Kanalzustände im Trellis-Diagramm mL beträgt. Dabei bezeichnet m die Wertigkeit der betrachteten Datensymbole.
Zur Erhöhung der Datenrate werden in jüngster Zeit zunehmend höherwertige Symbole (z.B. 8PSK-Symbole, d.h. Phase Shift Keying mit m = 8) anstelle binärer Symbole (m = 2) eingesetzt. Dies verschärft den Rechenaufwand bei der Viterbi- Entzerrung beträchtlich.
Auf Seiten der Hardware wird versucht, den steigenden Rechenbedarf mittels schneller Hardware-Datenpfade (Coprozessoren) zu bewältigen. Diese auch als "Viterbi-Supports" bezeichneten Hardware-Bausteine führen die Berechnung der ACS-Operationen teilweise oder vollständig in Hardware aus. Ein derartiger Entzerrer ist beispielsweise in der internationalen Patentanmeldung WO 00/70614 beschrieben.
Die Methode der Entscheidungsrückkopplung (DF: Decision-Feed- back) ist ein algorithmischer Ansatz zur Reduzierung des Rechenaufwands. Beim DF-Verfahren wird dem Viterbi-Algorithmus ein reduziertes Trellis-Diagramm zugrunde gelegt, das heißt ein Trellis-Diagramm, in welchem nicht alle sondern nur ein Teil der mL Kanalzustände berücksichtigt ist. Bei einer Reduzierung des Trellis-Diagramms auf mLτ Trellis-Zustände mit Lτ < L werden die verbleibenden L-Lτ Kanalkoeffizienten lediglich für die Berechnung der Ubergangsmetriken im reduzierten Trellis-Diagramm (nicht jedoch für die Definition von Zustän- den) verwendet.
Stets muss jedoch für jeden in Frage kommenden Übergang zwischen zwei Zuständen eine Übergangsmetrik berechnet werden. Die Übergangsmetrik ist der euklidsche Abstand zwischen dem gemessenen Signalwert x und einem rekonstruierten "hypothetischen" Signalwert, welcher bezüglich der zwei den Übergang charakterisierenden Zustände (Vorgänger-Zustand, Zielzustand)
unter Berücksichtigung der Kanalkenntnis im Empfänger berechnet wird. Die praktische Durchführung der Berechnung der Ü- bergangsmetriken in Abhängigkeit von dem Systemkonzept (insbesondere der Aufgabenverteilung zwischen Hardware und Software) ist von entscheidender Bedeutung für den Aufwand, der für die Viterbi-Entzerrung zu treiben ist.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Viterbi-Entzerrung zu schaffen, das den Rechenaufwand für die Berechnung der Ubergangsmetriken reduziert. Ferner zielt die Erfindung darauf ab, eine Vorrichtung zum Viterbi-Entzerren eines Datensignals mit geringem Rechenaufwand zu schaffen. Insbesondere soll infolge des geringen Rechenaufwands eine Einsparung von Hardware möglich werden.
Nach Anspruch 1 werden im Trellis-Zustandsdiagramm Lτ Symbole zur Definition eines Trellis-Zustands (es ergeben sich dann mLτ Trellis-Zustände) berücksichtigt und bei der Kanalschätzung L+l Kanalparameter h0,hι,...,hL ermittelt wobei L > Lτ ist. Das heißt, das Trellis-Diagramm kann vollständig
(L = Lτ) oder reduziert (L > Lτ) sein. Für jeden der möglichen Zustandsübergänge im Trellis-Diagramm wird vorab genau ein Trellis-Beitrag für den rekonstruierten Signalwert zu diesem Zustandsübergang berechnet. Die mLτ+1 Trellis-Beiträge werden in einem ersten Tabellenspeicher abgespeichert. Bei der Durchführung der ACS-Operationen wird der für die Berechnung einer Übergangsmetrik benötigte rekonstruierte Signalwert für den Fall L = Lτ (das heißt, einem nicht reduzierten Trellis-Diagramm) durch einen Zugriff auf den ersten Tabel- lenspeicher ermittelt. Für den Fall L > Lτ (reduziertes Trellis-Diagramm) wird der benötigte rekonstruierte Signalwert durch einen Zugriff auf den ersten Tabellenspeicher und mindestens einen weiteren Tabellenspeicher ermittelt.
Der Vorteil des erfindungsgemäßen Verfahrens besteht darin, dass beim Berechnen jeder Übergangsmetrik der rekonstruierte Signalwert durch einfaches Auslesen eines Speicherplatzes (im
Fall L = Lτ) oder durch Auslesen zweier Speicherplätze (im Fall L > Lτ) ermittelt wird. Dabei müssen die im ersten Tabellenspeicher abgelegten Trellis-Beiträge lediglich nach einer Kanalneuschätzung aktualisiert werden, das heißt bleiben in der Regel über eine Vielzahl von Zeitschritten unverändert. Da für L = Lτ der Trellis-Beitrag identisch mit dem rekonstruierten Signalwert einer Übergangsmetrik ist, muss in diesem Fall für die Berechnung jeder Übergangsmetrik lediglich der euklidsche Abstand zwischen dem für diesen Zeit- schritt erhaltenen Abtastwert und dem jeweiligen aus dem ersten Tabellenspeicher ausgelesenen Trellis-Beitrag gebildet werden. In diesem Fall fällt im Rahmen der Abarbeitung der ACS-Operationen also keinerlei Rechenaufwand für die Ermittlung der rekonstruierten Signalwerte der Ubergangsmetriken an.
Eine besonders bevorzugte Ausgestaltung des erfindungsgemäßen Verfahrens kennzeichnet sich dadurch, dass die Trellis-Beiträge im ersten Tabellenspeicher in Bezug auf einen Zustands- index v unter fortlaufenden Speicheradressen, insbesondere den Adressen Adr = j+(v-l)*m, bei einer Indexierung der mLχ Trellis-Zustände gemäß v = 1, ... , mLτ , abgespeichert werden. Dadurch wird erreicht, dass für die Berechnung der Übergangs- metriken im Rahmen der ACS-Operationen zu einem Zeitschritt lediglich die Zugriffsadresse für den ersten Tabellenspeicher inkrementiert und/oder dekrementiert werden muss.
Für den Fall L-Lτ = df > 1 (reduziertes Trellis-Diagramm) kennzeichnet sich eine bevorzugte Verfahrensdurchführung da- durch, dass vor der Durchführung der ACS-Operationen über mehrere Zeitschritte bis zur nächsten Schätzung von Kanalparametern ferner die Schritte des Berechnens von mdf Entschei- dungsrückkopplungsbeiträgen zu den Ubergangsmetriken basierend auf den Kanalparametern hL +1 , ... , hL und des Abspei- cherns der Entscheidungsrückkopplungsbeiträge in einem zweiten Tabellenspeicher durchgeführt werden.
Vorzugsweise werden die df Kanalparameter hL +1 , ... , hL bei der Berechnung der rekonstruierten Signalwerte berücksichtigt, indem bei jedem Zeitschritt k jedem Trellis-Zustand diejenige Adresse des zweiten Tabellenspeichers zugeordnet wird, unter welcher der für diesen Trellis-Zustand zum Zeitschritt k zu berücksichtigende Entscheidungsrückkopplungsbei- trag gespeichert ist.
Es besteht die Möglichkeit, die Entscheidungsrückkopplungs- beitrage im Rahmen der Abarbeitung der ACS-Operationen mittels dieser Adressen direkt aus dem zweiten Tabellenspeicher auszulesen. Ein alternatives Vorgehen besteht darin, vor der Durchführung der ACS-Operationen für den betrachteten Zeitschritt k die Entscheidungsrückkopplungsbeiträge in einen dritten Tabellenspeicher mit Zustande-indexierter Adresse um- zuspeichern. Diese Umspeicherung muss für jeden Zeitschritt k erneut durchgeführt werden. Vorteilhaft ist jedoch, dass die Umspeicherung jeweils so vorgenommen werden kann, dass der dritte Tabellenspeicher im Rahmen der Abarbeitung der ACS- Operationen dann in jedem Zeitschritt (genauso wie der erste Tabellenspeicher) durch Inkrementieren bzw. Dekrementieren der Speicheradresse ausgelesen werden kann.
Eine zur Ausführung des erfindungsgemäßen Verfahrens ausge- legte Vorrichtung umfasst demgemäß einen mLτ+1 Speicherplätze nutzenden ersten Tabellenspeicher und einen in Zugriffsverbindung mit dem ersten Tabellenspeicher stehenden Prozessor zur Berechnung der Ubergangsmetriken bei der Durchführung der ACS-Operationen.
Sofern der Viterbi-Entzerrung ein reduziertes Trellis-Diagramm zugrunde gelegt wird, umfasst die Vorrichtung ferner einen mL_Lτ Speicherplätze nutzenden zweiten Tabellenspeicher zur Abspeicherung von Entscheidungsrückkopplungsbeiträgen, welcher in Zugriffsverbindung mit dem Prozessor steht. In diesem Speicher sind die nach jeder KanalSchätzung vorab be-
rechneten Entscheidungsrückkopplungsbeiträge zu den rekonstruierten Signalwerten der Ubergangsmetriken abgelegt.
Vorzugsweise umfasst die Vorrichtung ferner einen mLχ Spei- cherplätze nutzenden dritten Tabellenspeicher zur Zustands - indexierten Abspeicherung von Entscheidungsrückkopplungsbei- trägen für jeden Zeitschritt, welcher in Zugriffsverbindung mit dem Prozessor steht. Der dritte Tabellenspeicher kann wie bereits erwähnt im Falle einer DF-Entzerrung durch Inkremen- tieren/Dekrementieren der Speicheradresse ausgelesen werden.
Weitere vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben.
Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen unter Bezugnahme auf die Zeichnung beschrieben; in dieser zeigt :
Fig. la eine schematische Darstellung eines Modells des physikalischen Übertragungskanals;
Fig. lb den Aufbau eines Filters zur Modellierung des Über- tragungskanals ;
Fig. 2 eine Darstellung der Trellis-Zustände für m = 2 und Lτ = 4;
Fig. 3 eine schematische Darstellung eines Ausschnitts aus einem Trellis-Diagramm für m = 2 und Lτ = 2 für ei- nen Übergang vom Zeitschritt k in den Zeitschritt k+1;
Fig. 4 eine schematische Darstellung der Speicherbelegung eines ersten Tabellenspeichers zur Abspeicherung der Trellis-Beiträge für m = 2 und Lτ = 4;
Fig. 5 eine schematische Darstellung der möglichen Ent- scheidungsrückkopplungsbeiträge für den Fall m = 2, Lτ = 4 und L = 6 sowie die Speicherbelegung eines zweiten Tabellenspeichers;
Fig. 6 die Zuordnung eines Entscheidungsrückkopplungsbei- trags zu einem Trellis-Zustand eines reduzierten Trellis-Diagramms zum Zeitschritt k sowie die Speicherbelegung eines dritten Tabellenspeichers;
Fig. 7a ein Blockschaltbild zur Erläuterung des Aufbaus eines herkömmlichen Viterbi-Entzerres; und
Fig. 7b ein Blockschaltbild zur Erläuterung des Aufbaus ei- nes Viterbi-Entzerrers gemäß der vorliegenden Erfindung.
Zunächst wird kurz auf die Grundlagen der Viterbi-Entzerrung eingegangen. Das Viterbi-Enterrungsverfahren basiert darauf, dass der zeitdiskrete Mehrwege-Übertragungskanal durch das in Fig. lb näher dargestellte Übertragungsfilter H modelliert wird. Das Filter H umfasst ein Schieberegister bestehend aus L Speicherzellen Z. Vor und hinter jeder Speicherzelle Z befinden sich jeweils Abgriffe (insgesamt L+l Stück) , die zu Multiplizierern führen, welche die Werte der über einen Eingang IN in das Schieberegister eingeschobenen Symbole Sk, Sk-i, • • • , Sk-L mit den entsprechenden Kanalimpulsantworten h0, hi, ... ,hL multiplizieren. Eine Ausgabestufe AD des Filters H addiert die Ausgänge der L+l Multiplizierer auf, es ergibt sich somit ein Ausgangssignal OUT gemäß Gleichung 1.
In diesem Modell wird durch die Speicherinhalte des Schieberegisters der Zustand des Kanals beschrieben. Der Speicherinhalt der eingangsseitig ersten Speicherzelle enthält im Zeit- schritt k das Symbol Sk-i (welches mit hi multipliziert wird) , die weiteren Speicherzellen Z sind mit den Symbolen Sk-2,
Sk-3 ... , Sk-L belegt. Der Zustand des Kanals im Zeitschritt k ist damit eindeutig durch die Angabe der Speicherinhalte, das heißt durch das L-Tupel (sk-L, S -L+i, • • • sk-ι) , bestimmt.
Ein Schieberegister mit L Speicherzellen kann insgesamt mL unterschiedliche Belegungen aufweisen, wobei mit m die Anzahl der möglichen Ausprägungen des Symbols, das heißt die Wertigkeit desselben, bezeichnet wird. Allgemein kann daher der Zustand des Kanals durch das L-Tupel
(s(v)(l),s(v)(2),...,s(v)(D) (2)
definiert werden, wobei s(v)(n) das an der n-ten Stelle des L-
Tupels zum Trellis-Zustand mit Index v stehende Symbol be- zeichnet (d.h. s(v)(L) ist die Variable für die Belegung der eingangsseitigen Speicherzelle Z des Schieberegisters und s(v)(l) ist die Variable für die Belegung der hintersten Speicherzelle Z des Schieberegisters) .
In Fig. 2 sind die 16 Trellis-Zustände (mögliche Schieberegisterbelegungen) für L = 4 bei Zugrundelegung eines binären Symbolalphabets angegeben.
Das dem Schieberegister eingangsseitig zum k-ten Zeitschritt zugeführte Symbol Sk wird im nächsten Zeitschritt k+1 in der eingangsseitigen Speicherzelle Z abgespeichert. Die Taktfrequenz des Schieberegisters ist 1/T, wobei mit T die Symbolbzw. Zeitschrittdauer bezeichnet ist. Mit jedem Zeitschritt ändert sich also im allgemeinen der Speicherinhalt einer je- den Speicherzelle Z, da die gespeicherten Symbole jeweils nach links in die nächste Speicherzelle Z geschoben werden.
Die sich dabei ergebende Folge von Zuständen bestimmt einen Pfad durch einen über der diskreten Zeit k aufgetragenen re- gelmäßigen Graphen. Dieser Graph heißt Trellis-Diagramm. Der Viterbi-Algorithmus ermittelt zur Schätzung der gesendeten
Symbolfolge Sk,Sk+ι,... die Folge der Zustände (Pfad) durch das Trellis-Diagramm.
Fig. 3 zeigt einen Ausschnitt des Trellis-Diagramms für den Fall m = 2 und L = 2. Es existieren lediglich vier Kanalzustände (0,0), (0,1), (1,0), (1,1). Jeder der Kanalzustände zum Zeitschritt k+1 kann durch zwei (allgemein m) Übergänge ausgehend von zwei (allgemein m) unterschiedlichen möglichen Vorgänger-Zuständen zum Zeitschritt k erreicht werden. Die möglichen Übergänge sind in Fig. 3 durch Pfeile dargestellt, wobei jeweils das den Übergang bewirkende ÜbergangsSymbol neben dem Pfeil angegeben ist. Im vorhergehenden Rekursionsschritt wurde zu jedem Zustand zum Zeitschritt k bereits ein zu diesem Zustand hinführender Pfad ermittelt . Die Frage ist, welcher dieser zwei (allgemein m) Pfade, die zu den zwei (allgemein m) möglichen Vorgänger-Zuständen zum Zeitschritt k hinführen, derjenige ist, welcher, wenn er zu dem Zielzustand im Zeitschritt k fortgesetzt wird, den kürzesten Pfad zu diesem Zielzustand aufbaut.
Beispielsweise wird der Zielzustand (0,0) zum Zeitschritt k+1 betrachtet. Als mögliche Vorgänger-Zustände kommen die Zustände (0,0) und (1,0) in Frage. Im Rahmen der Viterbi- Entzerrung zum k-ten Zeitschritt muss entschieden werden, welcher dieser beiden Vorgänger-Zustände der Wahrscheinlichere ist.
Zur Beantwortung dieser Frage wird beim Viterbi-Algorithmus für jeden der Übergänge zwischen einem der möglichen Vorgän- ger-Zustände und dem betrachteten Zielzustand eine Übergangs- metrik (manchmal auch als Metrikinkrement bezeichnet) I(Vk,vk+ι) berechnet, und zwar gemäß der Beziehung
ϊfr
k'
v k+ι) = (L + 1 - i) + (3)
Die Übergangsmetrik ist somit der euklidsche Abstand zwischen
L dem Abtastwert Xk und einem Wert ∑ h^s k (L + 1 - i) + h0s . i=l
Letzterer Wert wird auch als rekonstruierter Signalwert der Übergangsmetrik bezeichnet und hängt - wie ersichtlich - von dem betrachteten Vorgänger-Zustand Vk (d.h. der Hypothese für die Belegung des Kanalmodell-Schieberegisters) und dem den betrachteten Übergang in den Zielzustand Vk+i bewirkenden Ü- bergangssymbol Sk ab. Das heißt, jede Übergangsmetrik berechnet sich nach der Vorschrift:
Übergangsmetrik = |Abtastwert - rekonstruierter Signalwert |
Für das in Fig. 3 dargestellte Beispiel ergibt sich z.B:
I(lk,lk+ι) = (X - h2*0 - hi*0 - h0*0)2 - ^ I(3k,lk+ι) = (Xk - h2*l - hι*0 - h0*0)2 = (Xk - - h2 ) 2 I(lk,2k+ι) = (xk - h2*0 - hx*0 - h0*D2 = (Xk - ■ h0 ) 2 K3k,2k+ι) = (xk - h2*l - hχ*0 - h0*D2 = (Xk - - h2 - h0 ...usw.
Aufgrund der rekursiven Berechnungsweise ist zum Zeitschritt k für jeden der zwei (allgemein: m) möglichen Vorgänger-Zu- stände mit Index vk bereits eine minimale Metrik berechnet worden. Diese wird mit Me(vk) bezeichnet. Auf der Basis die- ser bekannten zwei (allgemein m) minimalen Metriken für die möglichen Vorgänger-Zustände und der berechneten zwei (allgemein m) Ubergangsmetriken I(vk,Vk+ι) für die zugehörigen Übergänge wird der Pfad-Entscheidungsprozess für den Zeit- schritt k durchgeführt. Er umfasst pro Zielzustand drei Schritte:
- Durch einen Additionsschritt (ADD) werden die mit e bezeichneten m Kandidaten für die minimale Metrik des betrachteten Zielzustands Vk+i als Summe jeweils der minimalen Metrik einer der Vorgänger-Zustände und der zugehörigen Übergangs- metrik nach
me(vk+i) = Me(vk)+I (vk,v+ι) (4)
berechnet .
- Durch einen Vergleichsschritt (COMPARE) wird diejenige der m berechneten Metriken me(Vk+ι) bestimmt, die den kleinsten Wert aufweist. Dies wird die minimale Metrik Me(vk+ι) des betrachteten Zielzustands.
- Durch einen Auswahlschritt (SELECT) wird derjenige Vorgänger-Zustand der m möglichen Vorgänger-Zustände ausgewählt, der Ausgangspunkt des Übergangs zum Zustand Vk+i mit der minimalen Metrik Me(vk+ι) ist. Damit ist der richtige Vorgänger- Zustand ermittelt. Die Pfade, die zu den übrigen m-1 möglichen Vorgänger-Zuständen führen, brechen hier ab.
Die drei genannten Schritte sind grundlegend für eine Viterbi-Entzerrung. Sie sind, wie bereits erwähnt, als ACS- (ADD- COMPARE-SELCT-) Operationen bekannt.
Anschaulich gesprochen werden in jedem ACS-Schritt zu m Hypothesen (mögliche Vorgänger-Zustände des Kanals zum Zeitschritt k) m möglichen Empfangswerte (die rekonstruierten Signalwerte) unter Berücksichtigung der Übertragungseigenschaften des Kanals (Kanalparameter h0,hι, ... , hL) berechnet und mit dem tatsächlich gemessenen Empfangswert Xk verglichen. Derjenige rekonstruierte Signalwert, der am besten mit dem gemessenen Empfangssymbol xk übereinstimmt, trägt im Zeitschritt k am wenigsten zur jeweiligen Pfadsumme (Zu- standsmetrik) bei. Ausgewählt wird der "richtige" Vorgängerzustand allerdings nicht allein anhand der kleinsten Übergangsmetrik sondern anhand einer Gesamtbilanz, bei der jeweils die gesamten Pfadsummen (bisherige Pfadsumme + berec - nete Übergangsmetrik: letztlich also nichts anderes als die akkumulierten Ubergangsmetriken entlang des betrachteten Pfads) miteinander verglichen werden.
Es wird deutlich, dass ACS-Operationen üblicherweise zeitlich "rückwärts" (d.h. von k+1 nach k) durchgeführt werden müssen, weil sie an einen bestimmten Zielzustand zum Zeitschritt k+1 anknüpfen, jedoch Übergänge ausgehend vom Zeitschritt k zu diesem bestimmten Zielzustand bewerten.
Für höherstufige Datensignale erhöht sich der Realisierungsaufwand einer Viterbi-Entzerrung drastisch. Während GSM (Global System for Mobile Communications) ein binäres (d.h.
2-stufiges) Datensignal nutzt, liegt dem neuen EDGE- (Enhanced Data Services for GSM Evolution-) Standard das 8PSK-Modula- tionsverfahren zugrunde, welches ein 8-stufiges Datensignal (m = 8) voraussetzt. Dies bedeutet, dass von jedem Trellis- Zustand 8 Zustands-Übergänge ausgehen und in jedem Trellis- Zustand 8 Zustands-Übergänge enden. Ein Kanal modelliert mit L = 5 würde 85 mögliche Kanalzustände aufweisen, für die für jeden Zeitschritt eine ACS-Operation durchzuführen wäre. Der hierfür benötigte Rechenaufwand ist für praktische Anwendun- gen zu hoch.
Eine simple Möglichkeit, um den Rechenaufwand in vertretbaren Grenzen zu halten, besteht darin, ein kurzes Kanalgedächtnis (d.h. einen kleinen Wert für L) der Viterbi-Entzerrung zugrunde zu legen. Nachteilig ist jedoch, dass dadurch die
Performance des Entzerrers stark beeinträchtigt wird. Besser ist es, die Viterbi-Entzerrung auf der Basis eines reduzierten Trellis-Diagramms nach dem Entscheidungs-Rückkoppelungs- verfahren (DF) durchzuführen. Für die Berechnung der Über- gangsmetriken beziehungsweise der rekonstruierten Signalwerte wird weiterhin ein "langes" Kanalgedächtnis mit sämtlichen L+l Kanalimpulsantworten verwendet, die Pfadermittlung erfolgt jedoch unter Zugrundelegung eines reduzierten Trellis- Diagramms mit lediglich mLτ Zuständen, wobei L > Lτ ist. Das Kanalmodell umfasst also weiterhin ein Schieberegister mit L Speicherzellen, wobei jedoch lediglich die ersten Lτ Speicherzellen zur Definition der Kanalzustände verwendet werden.
Die Gleichung 2 ist dann durch den folgenden Ausdruck zu ersetzen:
( S(V)(L - Lτ + 1) , S(V)(L - Lτ + 2) , ... , S(V)(L) ) (5)
Für die rekonstruierten Signalwerte ergibt sich:
= ∑ hiS(Vk)(L + l - i) + h0sk + ∑ hiS (Vk)(L + 1 - i) i=l i=Lτ+l = ∑ hiS (Vk)(L + 1 - i) + h0Sk + (hLτ +1S(Vk)(L - Lτ) + . . . + hLS(Vk)(l)) i=l
( 6 )
Im folgenden wird die erfindungsgemäße Vorgehensweise zur Durchführung einer Viterbi-Entzerrung beschrieben. Diese be- steht im wesentlichen darin, die rekonstruierten Signalwerte soweit wie möglich nach einer KanalSchätzung im Voraus zu berechnen und geeignet abzuspeichern, so dass für die Berechnung der Ubergangsmetriken in den nachfolgenden Zeitschritten die rekonstruierten Signalwerte durch einfaches Nachschlagen in einem Tabellenspeicher (beziehungsweise im DF-Fall in zwei Tabellenspeichern) bezogen werden können.
Die in Gleichung 5 angegebene Schreibweise eines Zustands weist den Nachteil auf, dass sie abhängig von L ist. Anstelle dieser Schreibweise wird daher die von L unabhängige Zu- standsdefinition
(S(V)(1),S(V)(2),...,S(V)(LT)) (7)
verwenden, welche im Falle eines nicht-reduzierten Trellis-
Diagramms identisch mit dem in Gleichung 5 gegebenen Ausdruck ist und im Falle eines reduzierten Trellis-Diagramms durch eine Index-Umnumerierung (Subtraktion von L-Lτ) aus diesem
hervorgeht . Bei Gleichung 7 werden genauso wie bei Gleichung 5 nur die Lτ eingangsseitigen Speicherzellen des Schieberegisters zur Definition eines Trellis-Zustands berücksichtigt, der Unterschied besteht lediglich darin, dass eine Erhöhung der Anzahl L+l gemessener Kanalparameter gemäß Gleichung 7 keinen Einfluß auf die Schreibweise der Trellis-Zustände hat.
Es werden nach einer Kanalschätzung zunächst die mLτ+1 Ausdrücke
s^> ) = ∑ hiS ,((vv))(Lτ + 1 - i) + h0s(j) j = 1, m i=l v = 1, mLτ (8)
berechnet und in einem ersten Tabellenspeicher TAB1 mit mLτ+1 Speicherplätzen abgelegt. Dabei sind mit s(j), j = l,...,m, die m Symbole des Symbolalphabets bezeichnet und mit s (n) ist das an der n-ten Stelle des Lτ-Tupels ( ss((vv))((ll)) ,, ss((vv))((22)) ,, ...... ,, ss((vv))((LLττ)) )) mmiitt IInnddeexx vv,, v = 1, ... , mLχ , stehende
Symbol bezeichnet. Man erkennt, dass
gilt, sofern die in Gleichung 5 angegebene Schreibweise eines reduzierten Trellis-Zustands zugrunde gelegt wird.
Im folgenden werden die beiden Fälle eines nicht reduzierten Trellis-Diagramms und eines reduzierten Trellis-Diagramms betrachtet :
1. Im Fall eines nicht reduzierten Trellis-Diagramms (L = Lτ) weist ein erster Tabellenspeicher mL+1 Speicherplätze auf, und in jedem Speicherplatz ist ein Wert
L s(v, j) = ∑ iS(v)(L + 1 - i) + h0s(j) j = 1, ... ,m i=l v = 1 , ... , mL
gespeichert. In diesem Fall ist der vorausberechnete Trellis- Beitrag S(v,j) identisch mit einem rekonstruierten Signalwert einer Übergangsmetrik, wie aus einem Vergleich mit Gleichung 3 ersichtlich ist, dh:
Rekonstruierter Signalwert = Trellis-Beitrag
Fig. 4 zeigt für das Beispiel m = 2 und L = 4 die Belegung des ersten Tabellenspeichers TABl mit den 32 Trellis-Bei- trägen (rechte Spalte) . Die linke Spalte gibt die Speicheradresse an, welche nach der Gleichung Adr = j+(v-l)*m gewählt sein kann. Die mittlere Spalte gibt den zugehörigen Trellis- Zustand (s(l),s(2),s(3),s(4)) sowie das der Berechnung des Trellis-Beitrags zugrunde liegende Symbol s(j) an. Die mittlere Spalte ist lediglich zu Erläuterungszwecken der Darstellung in Fig. 4 hinzugefügt und stellt keine Speichereinträge dar.
Die Trellis-Beiträge S(v,j) werden sofort nach einer jeden KanalSchätzung ermittelt und in dem ersten Tabellenspeicher TABl abgespeichert. Damit sind sämtliche rekonstruierten Sig- nalwerte bekannt und fortan verfügbar. Eine Aktualisierung des ersten Tabellenspeichers TABl findet nur nach einer neuen KanalSchätzung statt, d.h. die Speicherinhalte bleiben über viele Zeitschritte unverändert.
Bei der Berechnung der Ubergangsmetriken im Rahmen der Abarbeitung der ACS-Operationen wird nach Gleichung 3 der benötigte rekonstruierte Signalwert einfach als Trellis-Beitrag S(v,j) zu dem betrachteten (Vorgänger-) Zustand v und dem Ü- bergangssymbol s(j) für den betrachteten Übergang aus dem ersten Tabellenspeicher TABl ausgelesen. Die Berechnung der Ubergangsmetriken wird wie im Stand der Technik üblich But- terfly für Butterfly durchgeführt. Vorzugsweise erfolgt sie
in Vorwärtsrichtung ausgehend von einem bestimmten Vorgängerzustand vk zum Zeitschritt k. Die für die m Ubergangsmetriken zu diesem Vorgänger-Zustand benötigten rekonstruierten Signalwerte können durch m-faches Inkrementieren der niedrigsten auf diesen Zustand weisenden Speicheradresse ausgelesen werden. Der Vorteil besteht darin, dass bei einer solchen Adressenbelegung eine einfache Zählung zur "Berechnung" der Zugriffsadresse ausreichend ist.
2. Im DF-Fall (L > Lτ) sind für die Berechnung der rekonstruierten Signalwerte der Ubergangsmetriken weitere Kanalparameter zu berücksichtigen. Erfindungsgemäß werden nach einer KanalSchätzung (jedoch vor der Abarbeitung der ACS- Operationen) ferner mdf Entscheidungsrückkopplungsbeiträge gemäß der Gleichung
DF(jx, .. , jdf ) = hLτ+1s(J!) + ... + hLs(jdf) (9)
berechnet, wobei die Zustands-Indizes jι,...,jdf jeweils die Werte l,...,m annehmen können. Es wird die Abkürzung L-Lτ = df verwendet .
Die mdf Entscheidungsrückkopplungsbeiträge werden in einem zweiten Tabellenspeicher TAB2 mit mdf Speicherplätzen abge- legt. Der zweite Tabellenspeicher TAB2 muß genauso wie der erste Tabellenspeicher TABl nur bei einer Neuschätzung der Kanalparameter aktualisiert werden.
Fig. 5 zeigt die Speicherbelegung des zweiten Tabellenspei- chers TAB2 für den Fall m = 2, L = 6 und Lτ = 4. In der linken Spalte sind die Werte für s(jι) und s(j2) angegeben. Die rechte Spalte enthält die vier Entscheidungsrückkopplungsbei- träge DF(1,1) = 0, DF(2,1) = h5, DF(1,2) = h6 und DF(2,2) = h5+h6.
Die Gleichung 3 kann im DF-Fall folgendermaßen geschrieben werden :
Vk'
vk+ι) = Xi, (L + 1 - i) +
= (xk - (DF(j<_Vk) j^Vk>) + S(vk, j)| (10)
Ein bei der Berechnung einer Übergangsmetrik benötigter rekonstruierter Signalwert setzt sich somit aus einem Trellis- Beitrag S(vk,j) gemäß Gleichung 8 (unter Verwendung der in Gleichung 7 angegebenen Zustandsdefinition) und einem DF- Beitrag DF(j^Vk , ... , j^f ) zusammen:
Rekonstruierter Signalwert = Trellis-Beitrag + DF-Beitrag
Er kann somit durch Addition eines aus dem ersten Tabellenspeicher TABl ausgelesenen Wertes mit einem aus dem zweiten Tabellenspeicher TAB2 ausgelesenen Wert berechnet werden. Die Schreibweise j-^ , ... , jdf k soll andeuten, dass die Indizes jι# .--/jdf von dem betrachteten Zustand vk abhängen.
Fig. 6 erläutert die hierfür erforderliche Zuordnung zwischen einem Trellis-Zustand vk zum Zeitschritt k und dem gemäß Gleichung 9 vorab berechneten und in TAB2 abgelegten Ent- scheidungsrückkopplungsbeitrag DF^, ... , jdf) am Beispiel L = 6 , Lτ = 4 und m = 2.
Für jeden Trellis-Zustand, der durch die (angenommenen) zuletzt in den Kanal eingespeisten Symbole sk-ι, sk-2, sk-3 und Sk- gegeben ist, liegt Zusatzinformation über die beiden früheren Symbole sk-5 und S-e vor. Im Trellis-Diagramm entsprechen die beiden früheren Symbole sk-5 und sk-6 einer Zusatz- Informationen zu dem durch die Symbole Sk-i, Sk-2 Sk-3 und Sk- bestimmten Trellis-Zustand, welche durch den zu diesem Zustand hinführenden Pfad gegeben ist. In dem in Fig. 6 dargestellten Beispiel lautet die Zusatz-Information S -6 = 1 und Sk-5 = 0 zum Trellis-Zustand v = 1, gegeben durch das 4-Tupel (s(l),s(2),s(3),s(4)) = (0,0,0,0) gemäß der in Gleichung 7
angegebenen Schreibweise. Die Zusatz-Information weist gemäß dem zweiten Tabellenspeicher TAB2 auf den Entscheidungsrück- koppelungsbeitrag DF(1,2) . In analoger Weise ist entsprechend den jeweiligen auf Empfängerseite ermittelten Pfadverläufen im Trellis-Diagramm jedem der 16 Zustände einer der vier Ent- scheidungsrückkoppelungsbeiträge im zweiten Tabellenspeicher TAB2 (dargestellt in Fig. 5) zugeordnet.
Mit anderen Worten ist für jeden Vorgänger-Zustand vk anhand der pfadbezogenen Zusatz-Information j^ , • • . / Jdf der jeweilige vorab berechnete Entscheidungsrückkopplungsbeitrag DF(jx, ... , jdf) mit jι,...,jdf = j(ιVk), • • • , Jdf* zu bestimmen.
Erfindungsgemäß kann nun vorgesehen sein, dass vor jeder Ab- arbeitung der ACS-Operationen zu einem Zeitschritt k ein dritter Tabellenspeicher TAB3 mit mLτ Speicherplätzen (hier 16 Stück) mit dem jedem Trellis-Zustand vk in diesem Zeit- schritt zugeordneten Entscheidungsrückkopplungsbeitrag beschrieben wird. Der dritte Tabellenspeicher TAB3 enthält also die DF-Beiträge aus dem zweiten Tabellenspeicher TAB2 , jedoch indexiert nach Trellis-Zuständen. Der dritte Tabellenspeicher TAB3 muss im Gegensatz zu den ersten und zweiten Tabellenspeichern TABl, TAB2 in jedem Zeitschritt k aktualisiert werden.
Die Speicherbelegung des dritten Tabellenspeichers TAB3 ist in der im linken Teil von Fig. 6 dargestellten Tabelle in der rechten Spalte angegeben. Die linke Spalte betrifft die Speicheradresse, welche beispielsweise nach der Beziehung Adr = v, d.h. entsprechend dem Zustandsindex v, gewählt werden kann.
Bei dem hier gezeigten Beispiel ist dem Zustand (0,0,0,0) mit Index v = 1 im Zeitschritt k der Entscheidungsrückkopplungs- beitrag DF(1,2) zugeordnet. DF(1,2) wird somit im k-ten Zeitschritt unter der Speicheradresse 1 (= Vk) im dritten Tabel-
lenspeicher TAB3 abgespeichert . Entsprechend wird der gesamte dritte Tabellenspeicher TAB3 gefüllt.
Für die Berechnung der m rekonstruierten Signalwerte im Rah- men der ACS-Operationen zum Zeitschritt k bezüglich eines bestimmten Vorgänger-Zustands sind m Zugriffe auf den ersten Tabellenspeicher TABl (unter Inkrementierung der Zugriffsadresse) und ein Zugriff auf den dritten Tabellenspeicher TAB3 erforderlich. Bei dem hier dargestellten Beispiel wird für die Berechnung der Ubergangsmetriken ausgehend von dem Trellis- (Vorgänger-) Zustand v = 1 auf die beiden ersten Speicheradressen Adr = 1 und 2 des ersten Tabellenspeichers TABl und auf die erste Speicheradresse Adr = 1 des dritten Tabellenspeichers TAB3 zugegriffen. Für die Berechnung der Übergangs- metriken ausgehend von dem (Vorgänger-) Zustand mit Index v = 2 wird auf die Adressen Adr = 3 und 4 des ersten Tabellenspeichers TABl und auf die Adresse Adr = 2 des dritten Tabellenspeichers TAB3 zugegriffen, und so weiter. Für m = 8 (d.h. im Fall der 8PSK-Modulation) werden 8 Speicherzugriffe auf den ersten Tabellenspeicher TABl und ein Zugriff auf den dritten Tabellenspeicher TAB3 für die Berechnung der Ubergangsmetriken zu einem Vorgänger-Zustand benötigt.
Für die Berechnung der Ubergangsmetriken kommt im DF-Fall al- so der Zugriff auf den zweiten oder dritten Tabellenspeicher TAB2, TAB3 hinzu. Beiden Ausführungsvarianten (mit und ohne DF) ist gemeinsam, dass der (allein) durch den Trellis- Zustand definierte Trellis-Beitrag S(v,j) stets vollständig vorausberechnet im ersten Tabellenspeicher TABl verfügbar ist.
Durch die Erfindung kann eine Abarbeitung des Viterbi-Algorithmus allein in Software realisiert werden. Fig. 7a zeigt den Aufbau eines im Bereich des Mobilfunks eingesetzten her- kömmlichen Viterbi-Entzerrers . Der Entzerrer umfasst einen Mikrocontroller μC und einen digitalen Signalprozessor DSP. Der DSP steht über geeignete Schnittstellen mit einer Hard-
ware-Schaltung HW und einem Speicher SP in Verbindung. Die Hardware-Schaltung HW implementiert z.B. die Rechenschritte der ACS-Operation in Hardware und wird von dem DSP geeignet programmiert .
Gemäß der Erfindung wird das in Fig. 7b dargestellte Entzerrerkonzept realisierbar. Es besteht ebenfalls aus einem Mik- rocontroller μC und einem DSP. Eine Hardware-Schaltung entsprechend HW ist jedoch nicht vorhanden. Stattdessen greift der DSP in der bereits beschriebenen Weise bei der Berechnung der Ubergangsmetriken auf den ersten Tabellenspeicher TABl und gegebenenfalls auf den zweiten Tabellenspeicher TAB2 und/oder den dritten Tabellenspeicher TAB3 zu. Sämtliche Berechnungen, insbesondere die ACS-Operationen, werden aus- schließlich im DSP, d.h. auf Software-Basis durch Abarbeitung eines entsprechenden Programms, durchgeführt. Die in Fig. 7b dargestellte Trennung des dritten Tabellenspeichers TAB3 von den ersten und zweiten Tabellenspeichern TABl, TAB2 soll allein die unterschiedliche Aktualisierungsfrequenz dieser Speicher (einmal pro Zeitschritt beziehungsweise einmal pro KanalSchätzung) andeuten.