-
Die Erfindung betrifft ein Verfahren und eine Dekodiereinrichtung zur Durchführung einer Maximum Likelihood Reihenfolgeschätzung von Multi-Bit-Symbolen eines Signals. Das Verfahren kann insbesondere zur Dekodierung und/oder Demodulation von Multi-Bit-Symbolen eines Signals eingesetzt werden.
-
Bei der Übertragung von Daten über einen Datenübertragungskanal werden zur Kanalkodierung beispielsweise Faltungscodes eingesetzt. Faltungscodes bieten eine Vorwärtsfehlerkorrektur. Dabei wird durch zusätzlich eingebrachte Redundanz ein höherer Schutz gegen Übertragungs- bzw. Speicherfehler erreicht. Durch das mathematische Verfahren der Faltung wird ein Informationsgehalt einzelner Nutzdatenstellen über mehrere Stellen eines Codewortes verteilt. Faltungscodes werden beispielsweise im Mobilfunk und bei Satellitenübertragungen zur digitalen Datenübertragung eingesetzt. Eine Kombination aus Faltungscodierung und digitaler Modulation wird als Trellis-Coded Modulation bezeichnet.
-
Ein Faltungskodierer bildet im Regelfall eingangsseitig k Informationsbits (Nutzdatenbits) auf ein n Bit-langes Codewort ab, wobei k kleiner als n ist. Aufeinander folgende Codewörter sind voneinander abhängig. Bei Faltungscodes wird die Information, welche ein bestimmtes Nutzdatenbit trägt, über mehrere Stellen (Bits) des Codeworts verteilt. Die Verteilung des Informationsgehalts wird durch die mathematische Funktion der Faltung erreicht. Dadurch entstehen Abhängigkeiten zwischen den einzelnen Codebits.
-
Ein Faltungskodierer kann als endlicher Automat mittels Zustandsübergangsdiagramm interpretiert werden, wobei sich die Anzahl der Zustände bei binärem Code aus einer Anzahl z der Zustandsspeicher zu 2z ergibt. Der Nachteil der Darstellungsform mittels Zustandsübergangsdiagramm ist ein fehlender zeitlicher Bezug. Der fehlende zeitliche Bezug bei der seriellen Dekodierung kann durch ein Trellis-Diagramm (kurz: Trellis) visualisiert werden. Ein Trellis-Diagramm ist die Darstellung eines Zustandsübergangsdiagramms, das über eine Zeitachse „abgerollt“ wird. Im Rahmen des Trellis-Diagramms lassen sich auch Dekodierungsprozesse von Faltungscodes mit dem bekannten Viterbi-Algorithmus anschaulich darstellen. Dabei bekommen die einzelnen Übergänge von einem Zustand in den nächsten verschiedene Wahrscheinlichkeitswerte zugeordnet, wodurch sich in der Folge über mehrere Zustände hinweg meist eindeutig ein einziger Pfad im Trellis-Diagramm herausbildet, der die geringste Summenfehlerwahrscheinlichkeit gegenüber allen anderen Pfaden aufweist. Die diesem Pfad zugeordneten Symbole werden dann vom Dekoder als die am wahrscheinlichsten gesendeten Symbole angesehen und die zugeordneten Informationsbits zur weiteren Verarbeitung ausgegeben. Dies wird als Maximum Likelihood Reihenfolgeschätzung oder MLSE (MLSE = Maximum Likelihood Sequence Estimation) bezeichnet.
-
1 zeigt ein beispielhaftes Trellis-Diagramm mit N zeitlich hintereinander dargestellten Beobachtungen von Abtastwerten AW, welche jeweils K = 22 = 4 verschiedene Zustände j, nämlich ST1 (Symbol oder Bitfolge „00“), ST2 (Symbol oder Bitfolge „01“), ST3 (Symbol oder Bitfolge „10“), ST4 (Symbol oder Bitfolge „11“), annehmen können. Die vier mit n bezeichneten Zustände sind die letzten zeitlichen Zustände, die vier mit 0 bezeichneten Zustände sind die ersten Zustände oder Anfangszustände. Die von einem möglichen Zustand ausgehenden Pfeile zu einem zeitlich nachfolgenden Zustand stellen einen Zustandsübergang dar. Pfeile mit durchgezogener Linie stellen im gezeigten Beispiel Zustandsübergänge, die von einem eingehenden Bit „0“ verursacht werden, und Pfeile mit durchbrochener Linie stellen im gezeigten Beispiel Zustandsübergänge, die von einem eingehenden Bit „1“ verursacht werden, dar. Entsprechend der seriellen Verarbeitung und unter der Annahme, dass die Eingabe ein Bit ist (Wert „0“ oder „1“), weist das Trellis-Diagramm dabei die Eigenschaft auf, dass aus einem Zustand zwei mögliche Pfade resultieren können, die zu zeitlich nachfolgenden Zuständen führen, und gleichzeitig ein Zustand lediglich einen Bezug zu zwei zeitlich vorausgehende Zuständen aufweisen kann. In diesem Beispiel geht man davon aus, dass der Anfangszustand ST1 (Symbol oder Bitfolge „00“) ist.
-
Jeder Zustandsübergang erzeugt einen Abtastwert AW. Der Decoder hat keinen direkten Zugriff auf die Zustände, daher spricht man von einem Hidden Markov Model. Stattdessen hat der Decoder Zugang zu verrauschten Abtastwerten (Beobachtungen bzw. verrauschten Zustandsübergängen). Anhand der Reihe an Beobachtungen schätzt der Decoder, welche die wahrscheinlichste Reihenfolge an Zuständen ist. Aus der Reihenfolge an Zuständen erhält man die Reihe an Eingängen, die die Reihenfolge an Zuständen verursacht hat. In 1 sind somit N Zustandsübergänge dargestellt.
-
Der vom Viterbi-Algorithmus erzeugte am meisten wahrscheinliche Pfad PFML von Zustandsübergängen ist in dem Diagramm der 1 mit dicken Linien gekennzeichnet und umfasst die Zustände yN = (y0,y1,...,yN) des Trellis-Diagramms, wobei yi ein Zustand ist mit yi ∈ Γ = (y1, y2, ..., yK) entsprechend einer (verrauschten) Beobachtung xN = (x0, x1, ... ,xN), wobei letztere dem Viterbi-Algorithmus als Eingang zugeführt wird. Andere mögliche Pfade mit geringeren Wahrscheinlichkeiten als der mit der höchsten Wahrscheinlichkeit ermittelte Pfad PFML sind mit dünnen (durchbrochenen oder durchgezogenen) Linien im Trellis-Diagramm dargestellt.
-
Per Survivor Processing (PSP) ist ein Framework, welches erlaubt, die Schätzung von unbekannten Parametern in den Viterbi-Algorithmus einzubetten. PSP erlaubt das Erhalten einer Approximation der MLSE in Bezug auf einen unbekannten Parameter des Datenübertragungskanals, wie z.B. der Phase und/oder Amplitude des Datenübertragungskanals.
-
PSP kann als Erweiterung des Viterbi-Algorithmus betrachtet werden, wobei, wenn PSP angewendet wird, bevor die Wahrscheinlichkeit eines jeweils möglichen Übergangs zum Zustand des vorhergehenden Abtastwerts berechnet wird, der Parameter des Datenübertragungskanals geschätzt werden muss. PSP führt eine Schätzung dieses Parameters für jeden Zustand in dem Trellis-Diagramm aus, wobei basierend auf dieser Schätzung die Wahrscheinlichkeit des Übergangs zu anderen Zuständen zeitlich vorhergehender Abtastwerte ermittelt wird.
-
Ein Nachteil von PSP ist dessen Komplexität, da die Parameterschätzung für jeden Zustand in dem Trellis-Diagramm durchgeführt werden muss. Wenn, wie in 1 gezeigt, das Trellis-Diagramm K Zustände umfasst und die Beobachtung N Abtastwerte lang ist, müssen daher N × K Schätzungen ausgeführt werden. Für den Abtastwert „n“ und den Zustand „j“ (j = ,,00", „01“, „10“, „11“) ist diese Schätzung eine Funktion von yj,n = (yj,0,yj,1,...,yj,n). Der sog. Überlebenspfad (englisch: survivor path, der dem Pfad mit der höchsten Wahrscheinlichkeit PFML entspricht) führt zum Zustand j, und die Beobachtung wird als xn = (x0, x1, ..., xn) bezeichnet. Eine übliche Vorgehensweise für die Schätzung ist die Verwendung eines Fensters der Länge l. In diesem Fall ist die Schätzung beim Zustand j eine Funktion gemäß yj,n-l:n= (yj,n-l, yj,n-l+1, ..., yj,n) und xn-l:i = (xn-l, xn-l+1, ..., xn).
-
Die hohe Komplexität von PSP ist bekannt. Um die Komplexität von PSP zu verringern, ist in [2] vorgeschlagen, die Schätzung des unbekannten Parameters des Datenübertragungskanals nur für diejenigen h am meisten wahrscheinlichen Zustände der K Zustände in dem Trellis-Diagramm durchzuführen, d.h. für diejenigen Zustände, die auf dem Pfad PFML mit der höchsten Wahrscheinlichkeit liegen. Diese Vorgehensweise weist jedoch den Nachteil auf, dass weniger wahrscheinliche Zustände die Parameterschätzung überhaupt nicht beeinflussen. Daher ist die in [2] beschriebene Methode mit einer Degradation der Performanz von PSP verbunden.
-
Es ist Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren zum Dekodieren von Multi-Bit-Symbolen eines Signals anzugeben, welches eine geringere Komplexität der Implementierung von PSP bei gleichzeitig erhöhter Performanz aufweist. Es ist ferner Aufgabe der Erfindung, eine Dekodiereinrichtung anzugeben, die das Verfahren der Erfindung zur Anwendung bringt.
-
Diese Aufgaben werden gelöst durch ein Verfahren gemäß den Merkmalen des Patentanspruches 1, ein Computerprogrammprodukt gemäß den Merkmalen des Patentanspruches 8 und eine Dekodiereinrichtung gemäß den Merkmalen des Patentanspruches 9. Vorteilhafte Ausgestaltungen ergeben sich aus den abhängigen Patentansprüchen.
-
Es wird ein Verfahren zur Durchführung einer Maximum Likelihood Reihenfolgeschätzung von Multi-Bit-Symbolen eines Signals, das über einen Datenübertragungskanal von einem Empfänger empfangen wurde, vorgeschlagen. Dieses umfasst den Schritt des Erhaltens einer Anzahl l an Abtastwerten aus dem Signal, das auf dem Kommunikationskanal empfangen wird, wobei jeder Abtastwert den Übergang von einem zeitlich vorhergehenden Zustand einer Anzahl an möglichen Zuständen eines Multi-Bit-Symbols zu einem nächsten Zustand der Anzahl an möglichen Zuständen eines nächsten Multi-Bit-Symbols annehmen kann. Das Verfahren umfasst den Schritt des Ermittelns für jeden der Abtastwerte der Anzahl an Abtastwerten, welchen Zustandsübergang der Abtastwert mit der höchsten Wahrscheinlichkeit annimmt. Ferner umfasst das Verfahren den Schritt des Ermittelns von Parametern des Datenübertragungskanals für jeden der Zustände der Anzahl an möglichen Zuständen der Multi-Bit-Symbole zur Schätzung der Reihenfolge der Zustände. Das Verfahren zeichnet sich dadurch aus, dass für einen ersten Teil der Abtastwerte der Anzahl an Abtastwerten in einer ersten Teilberechnung für jeden Zustand der Anzahl an möglichen Zuständen der Multi-Bit-Symbole ein jeweiliger Parameter des Datenübertragungskanals ermittelt wird. Ferner wird für einen zweiten Teil der Abtastwerte der Anzahl an Abtastwerten einer zweiten Teilberechnung für eine geschätzte Reihenfolge der Zustände der Multi-Bit-Symbole ein gemeinsamer Parameter des Datenübertragungskanals ermittelt.
-
Ferner wird eine Dekodiereinrichtung zur Durchführung einer Maximum Likelihood Reihenfolgeschätzung von Multi-Bit-Symbolen eines Signals, das über einen Datenübertragungskanal empfangen wurde, vorgeschlagen. Die Dekodiereinrichtung ist dazu ausgebildet, eine Anzahl l an Abtastwerten aus dem Signal, das auf dem Kommunikationskanal empfangen wird, zu erhalten, wobei jeder Abtastwert den Übergang von einem zeitlich vorhergehenden Zustand einer Anzahl an möglichen Zuständen eines Multi-Bit-Symbols zu einem nächsten Zustand der Anzahl an möglichen Zuständen eines nächsten Multi-Bit-Symbols annehmen kann; für jeden der Abtastwerte der Anzahl an Abtastwerten zu ermitteln, welchen Zustandsübergang der Abtastwert mit der höchsten Wahrscheinlichkeit annimmt; und Parameter des Datenübertragungskanals für jeden der Zustände der Anzahl an möglichen Zuständen der Multi-Bit-Symbole zur Schätzung der Reihenfolge der Zustände zu ermitteln. Erfindungsgemäß ist die Dekodiereinrichtung dazu ausgebildet, für einen ersten Teil der Abtastwerte der Anzahl an Abtastwerten in einer ersten Teilberechnung für jeden Zustand der Anzahl an möglichen Zuständen der Multi-Bit-Symbole einen jeweiligen Parameter des Datenübertragungskanals zu ermitteln und für einen zweiten Teil der Abtastwerte der Anzahl an Abtastwerten in einer zweiten Teilberechnung für eine geschätzte Reihenfolge der Zustände der Multi-Bit-Symbole einen gemeinsamen Parameter des Datenübertragungskanals zu ermitteln.
-
Das erfindungsgemäße Vorgehen ermöglicht es, die Komplexität der Ermittlung von Parametern des Datenübertragungskanals zu verringern. Gleichzeitig kann die Schätzung für die unbekannten Parameter für alle Zustände, die die Abtastwerte für einen bestimmten Teil der betrachteten Abtastwerte annehmen, durchgeführt werden.
-
Dadurch kann eine Degradation der Performanz der Bestimmung von Parametern des Datenübertragungskanals vermieden werden.
-
Das Vorgehen basiert auf der Überlegung, dass Überlebenspfade (sog. survivor paths) in einem Trellis-Diagramm dazu tendieren, an einem bestimmten Punkt zusammenzulaufen (merge). Dieser Effekt wird üblicherweise bei der Implementierung des Viterbi-Algorithmus genutzt und wird auch als „Trunkierung“ bezeichnet. Diese Vorgehensweise nimmt an, dass bei der letzten Beobachtung (n) des Multi-Bit-Symbols alle Überlebenspfade sich nur in den letzten τ Positionen unterscheiden, wobei τ die Trunkierungstiefe bezeichnet. Davor betrachtete Beobachtungen weisen hingegen einen übereinstimmenden Überlebenspfad auf. Dies ermöglicht es, die Parameter des Datenübertragungskanals in einer ersten und einer zweiten Teilberechnung getrennt für die beiden Segmente des beobachteten Fensters an Abtastwerten durchzuführen, wobei für dasjenige Segment, in dem der Überlebenspfad für sämtliche empfangenen Abtastwerte übereinstimmt, nur ein gemeinsamer Parameter des Datenübertragungskanals berechnet zu werden braucht. Hierdurch kann die Bestimmung der Parameter des Datenübertragungskanals vereinfacht und beschleunigt werden. Die Bestimmung der Parameter des Datenübertragungskanals umfasst dabei die Variante, dass der Parameter für jeden Abtastwert bzw. Zustand neu geschätzt wird.
-
Gemäß einer zweckmäßigen Ausgestaltung umfasst der Schritt des Ermittelns des Zustandsübergangs mit der höchsten Wahrscheinlichkeit eines jeweiligen Abtastwerts die Durchführung des bekannten Viterbi-Algorithmus.
-
Darüber hinaus ist es zweckmäßig, wenn der Schritt des Ermittelns der Parameter des Datenübertragungskanals für den ersten Teil der Abtastwerte der Anzahl an Abtastwerten die Durchführung des Per Survivor Processings (PSP) umfasst.
-
Eine weitere zweckmäßige Ausgestaltung sieht vor, dass der erste Teil der Abtastwerte der Anzahl an Abtastwerten eine Anzahl τ an zeitlich aufeinander folgenden Beobachtungen , beginnend von einer zeitlich zuletzt gemachten Beobachtung, umfasst. Der Parameter τ wird dabei als Trunkierung bezeichnet.
-
Es ist weiterhin vorgesehen, dass die Anzahl τ derart gewählt wird, dass bei der τ-ten Bestimmung des Zustands der Beobachtung der Zustand aufgrund des Verlaufs der Wahrscheinlichkeiten zeitlich vorausgehender Beobachtungen konvergiert. Das heißt, dass zu jeder Zeit während der Dekodierung die Pfade, die zu den K möglichen Zuständen führen, mit großer Wahrscheinlichkeit sich nur in der letzten τ Stellen unterscheiden. Dieser Umstand ermöglicht es, in der zweiten Teilberechnung lediglich nur noch einen gemeinsamen Parameter zu ermitteln und die Komplexität von PSP zu verringern.
-
Die Anzahl τ wird zweckmäßigerweise derart gewählt, dass diese der Trunkierungstiefe des Viterbi-Algorithmus entspricht.
-
Es ist weiterhin zweckmäßig, wenn die erste und die zweite Teilberechnung miteinander fusioniert werden. Die Fusionierung kann z.B. eine einfache oder eine gewichtete Addition umfassen. Die Fusionierung ist allgemein von einer Anwendung abhängig.
-
Es wird ferner ein Computerprogrammprodukt vorgeschlagen, das direkt in den internen Speicher eines digitalen Computers geladen werden kann und Softwarecodeabschnitte umfasst, mit denen die Schritte des hierin beschriebenen Verfahrens ausgeführt werden, wenn das Produkt auf einem Computer läuft. Das Computerprogrammprodukt kann in der Form eines Datenträgers, wie z.B. einer DVD, einer CD-ROM, eines USB-Speichersticks und dergleichen vorliegen. Das Computerprogrammprodukt kann auch als ein über ein drahtloses oder leitungsgebundenes Netzwerk übertragbares Signal vorliegen.
-
Die Erfindung wird nachfolgend näher anhand eines Ausführungsbeispiels in der Zeichnung erläutert. Es zeigen:
- 1 eine schematische Darstellung des bekannten Trellis-Diagramms mit beispielhaft K Zuständen und N beobachteten Abtastwerten; und
- 2 ein Beobachtungsfenster mit einer Anzahl l an betrachteten Abtastwerten.
-
Das nachfolgend beschriebene Verfahren reduziert die Komplexität des bekannten PSP, wenn dieses in dem ebenfalls bekannten Viterbi-Algorithmus zur Anwendung kommt. Dabei kann eine Degradation der Performanz des PSP vermieden werden, während gleichzeitig die Ausführungszeit durch die Komplexitätsreduktion erhöht werden kann.
-
Das erfindungsgemäße Verfahren basiert auf dem Umstand, dass Überlebenspfade (survivor paths) im Trellis-Diagramm zum Vereinigen neigen. Dieser Umstand, der auch als Trunkierung bezeichnet wird, wird erfindungsgemäß ausgenutzt, wenn der Viterbi-Algorithmus implementiert wird. Bei der Trunkierung wird davon ausgegangen, dass sich bei einem zuletzt empfangenen Abtastwert AW (d.h. dem zuletzt empfangenen Abtastwert AW im Trellis-Diagramm gemäß
1), der in der Beobachtung n resultiert, alle Überlebenspfade nur in den letzten τ Positionen unterscheiden. Der Parameter τ wird als Trunkierungstiefe bezeichnet. Dies bedeutet, es kann angenommen werden, dass Pfade im Trellis-Diagramm bis zum Abtastwert n-τ-1 für alle Zustände j, die ein jeweiliger Abtastwert AW annehmen kann, gleich sind. Mit anderen Worten:
-
Dies erlaubt es, die Latenz des Viterbi-Algorithmus zu verringern, da, wenn die n-te Beobachtung verarbeitet wird, bereits die Entscheidung für die Zustände (y0, y1, ..., yn-τ-1) getroffen werden kann. Daher besteht bei der Durchführung von PSP keine Notwendigkeit zu warten, bis alle Abtastwerte von N Beobachtungen verarbeitet sind, um einen Teil des Pfads der Zustände yN zu erhalten.
-
Das Verfahren besteht somit aus der Ausnutzung der Trunkierungstiefe des Viterbi-Algorithmus' für PSP. Für jeden Zustand „j“ (wobei j gemäß 1 die Zustände ST1, ST2, ST3 und ST4 annehmen kann) wird eine Parameterschätzung ausgeführt, welche eine Funktion von yj,n = (yj,0,yj,1,...,yj,n) ist, wobei der Überlebenspfad zum Zustand j mit der verrauschten Beobachtung xn = (x0, x1,...,xn) führt. Die Ermittlung der Parameter des Datenübertragungskanals kann daher in zwei Teile aufgeteilt werden, nämlich
- a) eine erste Teilberechnung, die von yj,i-τ:i = (yj,i-τ, yj,i-τ+1,...,yj,i) abhängt und für jeden Zustandswert der Beobachtungen in dem Trellis-Diagramm durchgeführt werden muss, so dass das Ermitteln eines jeweiligen Parameters des Datenübertragungskanals für jeden der Zustand der Anzahl an möglichen Zuständen der betrachteten Anzahl an Beobachtungen durchgeführt wird;
- b) eine zweite Teilberechnung, die abhängt von yj,n-τ-1 = (yj,0, yj,1,..., yj,n-τ-1) = yn-τ-1 = (y0, y1,...,yi-τ-1) ∀j, welche für alle Beobachtungen gleiche Zustände y annimmt. Dies bedeutet, in der zweiten Teilberechnung wird ein gemeinsamer Parameter des Datenübertragungskanals für die über n-τ-1 hinausgehenden Beobachtungen ermittelt.
-
Dieses Vorgehen wird anhand von 2 illustriert. 2 zeigt eine Anzahl N = 1 an auf einem Zeitstrahl nebeneinander angeordneter Beobachtungen, d.h. N-1 Abtastwerte AW, wobei 1 als Fensterlänge der Beobachtung bezeichnet wird. Die zuletzt empfangene Beobachtung ist mit n, die im betrachteten Fenster der Länge l betrachtete letzte Beobachtung mit n-1 gekennzeichnet. Durch die Wahl der Trunkierungstiefe mittels des Parameters τ wird ein erstes Segment von Beobachtungen bzw. Abtastwerten festgelegt, das die Beobachtungen zwischen n und einschließlich n-τ umfasst. Dieses erste Segment umfasst somit τ Beobachtungen, für welche im Rahmen der ersten Teilberechnung für jeden der Zustände zwischen n und n-τ der Anzahl an Beobachtungen die Parameter des Datenübertragungskanals ermittelt werden. Demgegenüber wird für die verbleibenden Beobachtungen in einem zweiten Segment, welches die Beobachtungen zwischen n-τ-1 und n-1 umfasst, gemäß der zweiten Teilberechnung lediglich ein gemeinsamer Parameter des Datenübertragungskanals ermittelt.
-
Die Schätzung der unbekannten Parameter wird dann für alle Zustände j durch das Vereinigen der Ergebnisse der ersten und zweiten Teilberechnung gemäß a) und b) durchgeführt, wobei das Vereinigen z.B. eine einfache oder gewichtete Addition umfassen kann.
-
Das Verfahren kann durch nachfolgenden Algorithmus 1 implementiert werden:
-
Algorithmus 1
-
-
Darin sind:
- βc
- die zweite Teilberechnung, die für alle Zustände in dem Trellis-Diagramm zu dem gemeinsamen Parameter führt;
- fc
- eine Funktion, die βc aus dem gemeinsamen Pfad für alle Zustände yn-τ-1 = (y0, y1, ..., yi-τ-1) berechnet;
- βj
- die erste Teilberechnung für den Zustand j;
- fj
- eine Funktion, die βj für den Pfad berechnet, der für unterschiedliche Zustände in dem Trellis-Diagramm unterschiedlich sein könnte, d.h. yj,i-τ:i = (yj,i-τ, yj,i-τ+1, ..., yj,i);
- αj
- die Schätzung des unbekannten Parameters aus βc und βj; und
- g (βc, βj)
- eine Funktion, die als Eingang die erste und zweite Teilberechnung βc und βj verarbeitet und die endgültige Schätzung des unbekannten Parameters für den Zustand j ausgibt (αj).
-
Die Erfindung wird nachfolgend für den in [3] beschriebenen Fall näher spezifiziert, in dem PSP genutzt wird, um die Phase des Datenübertragungskanals für eine CPM (Continuous Phase Modulation)-Modulation zu bestimmen. In dem in [3] beschriebenen Verfahren wird der Viterbi-Algorithmus für die CPM-Detektion genutzt, wobei die Phase des Datenübertragungskanals unbekannt ist. PSP wird genutzt, um die Phase des Datenübertragungskanals zu schätzen. Unter Verwendung der bekannten Laurent-Dekomposition wird die komplexe Hüllkurve des CPM-Signals als die Summe von K linear modulierten Komponenten
welche das gesendete Signal darstellt, ausgedrückt. α
k,n bezeichnet Pseudosymbole, welche von den Informationssymbolen α
n und h
k abhängen und die Pulse jeder modulierten Komponente sind. Die komplexe Hüllkurve des empfangenen Signals kann modelliert werden gemäß
wobei θ die unbekannte, zeitabhängige Phase des Datenübertragungskanals ist, die mit Hilfe des PSP geschätzt wird. w(t) stellt Gauß'sches Rauschen dar.
-
Der Einfachheit halber wird angenommen, dass nur die erste Komponente der Laurent-Dekomposition der komplexen Hüllkurve genutzt wird, welche einen Puls h
t umfasst. Daher wird das empfangene Signal gefiltert r(t) und bei Vielfachen der Symbolzeit T abgetastet, was zu einem Beobachtungsvektor des Viterbi-Algorithmus führt:
-
Die Beobachtung x
n kann ausgedrückt werden als
-
Darin bezeichnen nn die Rauschkomponente, zn die Signalkomponente, die eine Funktion der übertragenen Informationsbits αn ist, und ejθ die unbekannte Phasenverschiebung, die dem Datenübertragungskanal hinzugefügt ist und ermittelt werden muss.
-
Wenn die Phase des Datenübertragungskanals bekannt wäre, kann der Viterbi-Algorithmus, der nur die erste Komponente der Laurent-Dekomposition der CPM-Modulation nutzt, die Metrik
ermitteln. Darin ist
ein hypothetisches Pseudosymbol, welches von dem Zustand des Abtastwerts abhängt, und Re{ } der reale Teil.
-
Da die Phase des Datenübertragungskanals unbekannt ist, wird dieser unter Nutzung von PSP geschätzt. Insbesondere wird angenommen, dass die Phase geschätzt wird unter Nutzung eines datengestützten Maximum Likelihood (ML)-Schätzers, der annimmt, dass die Phase über ein Fenster von l Abtastwerten konstant ist:
-
Darin bezeichnet xn = (xn-l, xn-l+1,...,xn) einen Vektor, der die letzten l Abtastwerte am Ausgang eines Filters des Empfängers der Beobachtung umfasst und yj,n = (yj,n-l, yj,n-l+1,...,yj,n) einen Vektor, der die letzten l Abtastwerte der gefilterten komplexen Einhüllenden umfasst, die mit dem Pfad verknüpft ist, der zum Zustand j führt. Dies bedeutet, yj,n ist die Schätzung von zn, welche der Viterbi-Algorithmus bereitstellt. Daher sind die Vektoren xn und yj,n der Größe l × 1 und die Matrix C der Größe l × l. Die Matrix C ist die Kovarianzmatrix des Rauschens.
-
Ein herkömmlicher Empfänger würde θj entsprechend dem nachfolgenden Algorithmus 2 ermitteln:
-
Algorithmus 2
-
-
Der Algorithmus 2 erfordert die folgenden Operationen:
- - K Multiplikationen des Vektors 1 × l mit der Matrix l × l, was in K l2 Operationen resultiert;
- - K Multiplikationen eines Vektors 1 × l mit einem Vektor 1 × l, was in K l Operationen resultiert.
-
Daher ist eine Gesamtanzahl von K (l2 + l) Operationen erforderlich.
-
Bei der Anwendung des erfindungsgemäß vorgeschlagenen Verfahrens wird durch den Empfänger zunächst ein Vorverarbeitungsschritt durchgeführt, der einen, wie im nachfolgenden Algorithmus 3 genutzten, Teile- und Kombiniere-Ansatz (split and combine approach) nutzt. In der Vorverarbeitungsstufe wird ein Vektor b der Größe 1 × l erhalten, der aus dem Produkt
resultiert. Dieser Vektor b wird in zwei kleinere Teilvektoren b
c und b
d jeweiliger Größen 1 × (l - τ) und 1 × τ aufgeteilt. Dann wird der gemeinsame Pfad, der zu allen Zuständen y
c = (y
n-l, y
n-l+1,...,y
n-τ-1) führt, extrahiert und eine Teilberechnung von b
c vorgenommen, welche für alle verwendeten Zustände gemeinsam ist. Anschließend wird eine Teilberechnung von β
j vorgenommen, die unterschiedlich für Zustände ist, die gemäß β
j = b
d y
j,d berechnet werden, wobei y
j,d = (yj
,n-τ, y
j,n-τ+1,...,y
j,n) ein Vektor ist, der die letzten τ Abtastwerte der gefilterten komplexen Einhüllenden umfasst, die mit dem Pfad assoziiert sind, der zum Zustand j führt.
-
Algorithmus 3:
-
-
Darin bezeichnen bc den gemeinsamen Teil der Abtastwerte, welche kleiner als τ sind und βc einen Skalar des gesuchten Parameters. Im Algorithmus 3 bezeichnet yd den wahrscheinlichsten Pfad, βj bezeichnet die zweite Schätzung des gesuchten Parameters im jüngeren Teil (erstes Segment in 2) und θj bezeichnet die Vereinigung der Parameter der ersten und der zweiten Schätzung, beispielsweise in Gestalt einer Summe.
-
Der Algorithmus 3 erfordert die folgende Anzahl an Operationen:
- - eine Multiplikation des Vektors 1 × l mit der Matrix l × l, was in l2 Operationen resultiert;
- - eine Multiplikation des Vektors 1 × (l-τ) mit einem Vektor 1 × (l-τ), was in l-τ Operationen resultiert;
- - K Multiplikationen eines Vektors 1 × τ mit einem Vektor 1 × τ, was in S τ Operationen resultiert.
-
Hieraus ergibt sich eine Gesamtanzahl von l2 + l + (K - 1)τ Operationen.
-
Das erfindungsgemäße Vorgehen kann auch dazu verwendet werden, eine schnelle suboptimale Version von PSP, wie im Algorithmus 4 gezeigt, zu durchlaufen. In dieser Anwendung der Erfindung nutzen alle Zustände die gleiche Schätzung des unbekannten Parameters, welche durch die ausschließliche Nutzung des gemeinsamen Teils des Pfads, der zu allen Zuständen führt, erhalten wird. Daher ist in diesem Fall die Schätzung des Parameters θ τ Abtastwerte alt. Der Vorteil des Algorithmus 4 im Vergleich zu dem in [2] beschriebenen Vorgehen ist, dass dieser nicht den Viterbi-Algorithmus in Richtung der am meisten wahrscheinlichen Zustände steuert.
-
Der Algorithmus 4 erfordert eine Gesamtanzahl von (l-τ)2+l-τ Operationen. Aus diesem Grund hängt die Komplexität nicht von der Anzahl der Zustände des Trellis-Diagramms ab, was vorteilhaft ist, wenn die Anzahl der Zustände K hoch ist. Dies geht allerdings zu Lasten der Performanz.
-
Algorithmus 4:
-
-
Hierbei ist θ die Schätzung des Parameters basierend nur auf dem gemeinsamen Teil βc.
-
Referenzen:
-
- [2] N. Safari, A. Vahlin and S. A. Lund, „Low complexity implementation of per-survivor processing for carrier-phase tracking in uncertain environments," 2012 IEEE Radio and Wireless Symposium, Santa Clara, CA, 2012, pp. 195-198
- [3] G. Colavolpe and R. Raheli, „Noncoherent sequence detection of CPM," in Electronics Letters, vol. 34, no. 3, pp. 259-261, 5 Feb. 1998.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- N. Safari, A. Vahlin and S. A. Lund, „Low complexity implementation of per-survivor processing for carrier-phase tracking in uncertain environments,“ 2012 IEEE Radio and Wireless Symposium, Santa Clara, CA, 2012, pp. 195-198 [0051]
- G. Colavolpe and R. Raheli, „Noncoherent sequence detection of CPM,“ in Electronics Letters, vol. 34, no. 3, pp. 259-261, 5 Feb. 1998 [0051]