Difference between revisions of "Digital Signal Transmission/Viterbi Receiver"
Line 50: | Line 50: | ||
Ein Schwellenwertentscheider (mit der Schwelle bei <i>E</i> = 0.5) würde bei diesen dargestellten zehn Bit mindestens eine Fehlentscheidung treffen (bei <i>ν</i> = 4), und eventuell eine weitere bei <i>ν</i> = 2, falls <i>d</i><sub>2</sub> geringfügig kleiner ist als der Schwellenwert <i>E</i> = 0.5. Dagegen wird der Viterbi–Empfänger diese Folge der Länge 10 richtig entscheiden, wie auf den nächsten Seiten gezeigt werden wird.{{end}}<br> | Ein Schwellenwertentscheider (mit der Schwelle bei <i>E</i> = 0.5) würde bei diesen dargestellten zehn Bit mindestens eine Fehlentscheidung treffen (bei <i>ν</i> = 4), und eventuell eine weitere bei <i>ν</i> = 2, falls <i>d</i><sub>2</sub> geringfügig kleiner ist als der Schwellenwert <i>E</i> = 0.5. Dagegen wird der Viterbi–Empfänger diese Folge der Länge 10 richtig entscheiden, wie auf den nächsten Seiten gezeigt werden wird.{{end}}<br> | ||
− | == | + | == Fehlergrößen und Gesamtfehlergrößen (1) == |
+ | <br> | ||
+ | Wie in Kapitel 3.7 gibt <i>Q</i> ∈ {<i>Q<sub>i</sub></i>} die begrenzte, aus <i>N</i> Binärsymbolen bestehende Quellensymbolfolge an. Die Anzahl der möglichen Symbolfolgen <i>Q<sub>i</sub></i> ist somit 2<sup><i>N</i></sup>. <i>V</i> bezeichnet wieder die Sinkensymbolfolge der Länge <i>N</i>, die vom Viterbi–Entscheider gleich der wahrscheinlichsten Folge <i>Q<sub>j</sub></i> gesetzt wird.<br> | ||
+ | |||
+ | {{Definition}}''':''' <b>Definition:</b> Die Fehlergröße bezeichnet die quadratische Abweichung zwischen dem tatsächlichen, verrauschten Abtastwert <i>d</i><i><sub>ν</sub></i> und dem zur Folge <i>Q<sub>i</sub></i> gehörenden Nutzabtastwert <i>d</i><sub>S</sub><i><sub>ν</sub></i>(<i>i</i>): | ||
+ | |||
+ | :<math>\varepsilon_{\nu}(i) = |d_{\nu} - d_{{\rm S}\nu}(i)|^2 | ||
+ | \hspace{0.05cm}.</math> | ||
+ | |||
+ | Die Gesamtfehlergröße <i>γ<sub>ν</sub></i>(<i>i</i>) kennzeichnet die Summe aller Fehlergrößen bis zum Zeitpunkt <i>ν</i>:<br> | ||
+ | |||
+ | :<math>\gamma_{\nu}(i)= \sum_{k=0}^{\nu}\varepsilon_{k}(i) | ||
+ | \hspace{0.05cm}.</math>{{end}}<br> | ||
+ | |||
+ | Man bezeichnet <i>γ<sub>ν</sub></i>(<i>i</i>) auch als <i>Metrik</i>. Anzumerken ist, dass diese Definitionen an einem Grundimpuls mit Hauptwert <i>g</i><sub>0</sub> und nur einem Vorläufer <i>g</i><sub>–1</sub> angepasst sind. Bei <i>υ</i> Vorläufern müsste die obige Summe bei <i>k</i> = 1 – <i>υ</i> beginnen. Der Parameter <i>i</i> ∈ {0, ... , 2<sup><i>N+1</i></sup>–1} wird meist binär dargestellt, so dass <i>i</i> gleichzeitig die Amplitudenkoeffizienten <i>a</i><sub>1</sub>, ... , <i>a</i><sub><i>ν</i>+1</sub> (jeweils entweder 0 oder 1) angibt.<br> | ||
+ | |||
+ | [[File:P ID1469 Dig T 3 8 S2b version1.png|Darstellung der Fehlergrößen im Baumdiagramm|class=fit]]<br> | ||
+ | |||
+ | Die Grafik verdeutlicht die oben definierten Größen in einer Baumstruktur, woraus zu erkennen ist, dass die Gesamtfehlergrößen iterativ berechnet werden können: | ||
+ | |||
+ | :<math>\gamma_{\nu}(i)= \gamma_{\nu-1}(i')+\varepsilon_{k}(i'') | ||
+ | \hspace{0.05cm}.</math> | ||
+ | |||
+ | <i>i</i>, <i>i</i>' und <i>i</i>'' sind unterschiedliche Laufvariable. Die Bildbeschreibung folgt auf der nächsten Seite.<br> | ||
+ | |||
+ | == Fehlergrößen und Gesamtfehlergrößen (2) == | ||
+ | <br> | ||
+ | Zu dieser Grafik, die hier nochmals eingeblendet werden kann, ist Folgendes anzumerken: | ||
+ | *Die Knoten des Baumdiagramms stehen für die <i>Gesamtfehlergrößen</i> <i>γ<sub>ν</sub></i>(<i>i</i>); deren Anzahl wird mit jedem Iterationsschritt verdoppelt. Zum Zeitpunkt <i>ν</i> gibt es 2<sup><i>ν</i></sup><sup>+1</sup> solcher Knoten. Beispielsweise sind für <i>ν</i> = 3 genau 2<sup>4</sup> = 16 Knoten zu erkennen.<br> | ||
+ | |||
+ | *Die zu den Gesamtfehlergrößen <i>γ<sub>ν</sub></i>(<i>i</i>) gehörigen <i>Amplitudenkoeffizienten</i> ergeben sich, wenn man den Weg vom Anfangsknoten bis zum betrachteten Knoten verfolgt. Es wird vereinbart, dass einem nach oben gerichteten Zweig der Amplitudenkoeffizient 1 und einem nach unten gerichteten Zweig eine 0 zugeordnet wird.<br> | ||
+ | |||
+ | *Beispielsweise kennzeichnet der grün hinterlegte Knoten <i>γ</i><sub>3</sub>(1100) die Gesamtfehlergröße unter der hypothetischen Annahme, dass die Symbole <i>a</i><sub>1</sub> = 1, <i>a</i><sub>2</sub> = 1, <i>a</i><sub>3</sub> = 0, <i>a</i><sub>4</sub> = 0 gesendet wurden. Diese Zuordnung kann auch aus den Richtungen der Pfeile im Baumdiagramm abgelesen werden: zunächst zweimal nach oben, dann zweimal nach unten.<br> | ||
+ | |||
+ | *Aufgrund des Vorläufers muss bereits zum Zeitpunkt <i>ν</i> = 3 der Koeffizient <i>a</i><sub>4</sub> mitberücksichtigt werden. Alle Knoten <i>γ<sub>ν</sub></i>(<i>i</i>), die unter der Voraussetzung <i>a<sub>ν</sub></i><sub>+1</sub> = 1 berechnet werden, sind im Baumdiagramm durch Rechtecke dargestellt, während die Hypothese <i>a<sub>ν</sub></i><sub>+1</sub> = 0 jeweils durch ein abgerundetes Rechteck symbolisiert ist, z. B. <i>γ</i><sub>2</sub> (110) oder <i>γ</i><sub>3</sub> (1100).<br> | ||
+ | |||
+ | *Die Zweige im Baumdiagramm sind den <i>Fehlergrößen</i> <i>ε<sub>ν</sub></i>(<i>i</i>) zugeordnet. Beim vorausgesetzten Grundimpuls (nur <i>g</i><sub>0</sub> und <i>g</i><sub>–1</sub> sind ungleich 0) gibt es zu jedem Zeitpunkt mit Ausnahme des Startzustandes (<i>ν</i> = 0) genau vier unterschiedliche Größen: | ||
+ | |||
+ | ::<math>\varepsilon_{\nu}(00) = |d_{\nu}|^2\hspace{0.05cm},\hspace{0.5cm}\varepsilon_{\nu}(01) = |d_{\nu}-g_{-1}|^2\hspace{0.05cm},</math> | ||
+ | |||
+ | ::<math>\varepsilon_{\nu}(10) = |d_{\nu}-g_{0}|^2\hspace{0.05cm},\hspace{0.2cm}\varepsilon_{\nu}(11) = |d_{\nu}-g_{0}-g_{-1}|^2\hspace{0.05cm}.</math> | ||
+ | |||
+ | *Die Gesamtfehlergröße <i>γ<sub>ν</sub></i> ist gleich der Summe aus dem vorausgegangenen Knoten <i>γ<sub>ν</sub></i><sub>–1</sub> und dem dazwischenliegenden Zweig <i>ε<sub>ν</sub></i>. Beispielsweise gilt für die hervorgehobenen Knoten: | ||
+ | |||
+ | ::<math>\gamma_{1}(11)=\gamma_{0}(1)+\varepsilon_{1}(11) ,\hspace{0.05cm} | ||
+ | \gamma_{2}(110)=\gamma_{1}(11)+\varepsilon_{2}(10) ,\hspace{0.05cm} | ||
+ | \gamma_{3}(1100)=\gamma_{2}(110)+\varepsilon_{3}(00) | ||
+ | .</math> | ||
+ | |||
+ | *Bei den ersten Knoten <i>γ</i><sub>0</sub>(0) und <i>γ</i><sub>0</sub>(1) wird berücksichtigt, dass vor der eigentlichen Übertragung (<i>a</i><sub>1</sub>, <i>a</i><sub>2</sub>, ...) vereinbarungsgemäß stets das Symbol <i>a</i><sub>0</sub> = 0 übertragen wird. Daraus folgt: | ||
+ | |||
+ | ::<math>\gamma_{0}(0)=\varepsilon_{0}(00)= |d_{0}|^2 \hspace{0.05cm},\hspace{0.2cm} | ||
+ | \gamma_{0}(1)=\varepsilon_{0}(01)=|d_{0}-g_{-1}|^2 | ||
+ | \hspace{0.05cm}.</math> | ||
+ | |||
+ | Das nachfolgende Beispiel wird hoffentlich diese etwas ermüdenden Aussagen verdeutlichen.<br> | ||
+ | |||
+ | |||
+ | |||
{{Display}} | {{Display}} |
Revision as of 21:42, 27 December 2016
Contents
Blockschaltbild und Voraussetzungen für Kapitel 3.8 (1)
Der Korrelationsempfänger ist im Sinne der Maximum–Likelihood–Entscheidungsregel optimal, das heißt, er führt bei gleichwahrscheinlichen Quellensymbolen zur minimalen Fehlerwahrscheinlichkeit. Nachteilig ist:
- Der Realisierungsaufwand steigt exponentiell mit der Länge N der zu detektierenden Symbolfolge.
- Da die Folge gemeinsam entschieden wird, kommt es bei großem N zu langen Verzögerungen.
In den 1970er Jahren hat Andrew J. Viterbi einen ML–Empfänger vorgeschlagen, der die Detektion von Teilen der empfangenen Nachricht erlaubt und bei dem sich der Realisierungsaufwand auch bei unendlich langen Folgen in Grenzen hält.
Zu den einzelnen Komponenten des Blockschaltbildes ist anzumerken:
- Das an den Empfangsgrundimpuls und die Störung angepasste Matched–Filter HMF(f) dient der Störleistungsbegrenzung. Das MF–Ausgangssignal m(t) bzw. die Folge 〈mν〉 der äquidistanten Signalwerte nach der Abtastung besitzt das bestmögliche Signal–zu–Stör–Leistungsverhältnis.
- Aufgabe des Dekorrelationsfilters HDF(f) ist es, aus der Folge 〈mν〉 die Detektionsabtastwerte dν = dSν + dNν zu gewinnen, deren Störanteile dNν unkorreliert sind. Dieses Filter wird deshalb auch Whitening–Filter genannt.
- Der Viterbi–Entscheider, der im Mittelpunkt der folgenden Betrachtungen steht, gewinnt aus der Folge 〈dν〉 seiner wertkontinuierlichen Eingangswerte die binäre Ausgangsfolge 〈υν〉 entsprechend der Maximum–Likelihood–Regel mit der kleinstmöglichen Fehlerwahrscheinlichkeit Pr(υν ≠ qν).
Die Beschreibung wird auf der nächsten Seite fortgesetzt.
Blockschaltbild und Voraussetzungen für Kapitel 3.8 (2)
Um den Viterbi–Algorithmus möglichst einfach beschreiben und veranschaulichen zu können, werden hier einige vereinfachende Voraussetzungen getroffen:
- Die Amplitudenkoeffizienten seien unipolar ⇒ aν ∈ {0, 1}. Anzumerken ist, dass es bei der Verwendung bipolarer Koeffizienten aν ∈ {–1, +1} nur weniger Modifikationen bedarf.
- Der Grundimpuls gd(t) besteht nur aus dem Hauptwert g0 = gd(t = TD) und einem Vorläufer g–1 = gd(t = TD – T).
- Damit ergeben sich für die wertkontinuierlichen Detektionsabtastwerte
- \[d_{\nu} = a_{\nu}\cdot g_{0} + a_{\nu+1}\cdot g_{-1}+d_{{\rm N}\nu} \hspace{0.05cm},\]
- wobei die Rauschkomponente dNν als gaußverteilt angenommen wird (Streuung σd).
Bei bipolarer Signalisierung ist der Algorithmus nicht aufwändiger. Dagegen steigt der Rechenaufwand, wenn der Detektionsgrundimpuls breiter wird und mehr als nur einen Vorläufer g–1 aufweist. Die Vernachlässigung von Nachläufern stellt keine grundlegende Einschränkung dar, weil jeder Impuls gd(t) diese Bedingung durch geeignete Wahl des Detektionszeitpunktes TD erfüllen kann. Anzumerken ist weiter, dass im Folgenden alle Signalwerte auf 1 normiert werden.
g0 + g–1, annehmen kann.
Die am Viterbi–Entscheider anstehenden Abtastwerte (rote Punkte) sind d0 = 0.2, d1 = 0.7, d2 = 0.5, d3 = 0, ... , wobei die Differenzen dNν = dν – dSν von einer AWGN–Rauschquelle herrühren.
Fehlergrößen und Gesamtfehlergrößen (1)
Wie in Kapitel 3.7 gibt Q ∈ {Qi} die begrenzte, aus N Binärsymbolen bestehende Quellensymbolfolge an. Die Anzahl der möglichen Symbolfolgen Qi ist somit 2N. V bezeichnet wieder die Sinkensymbolfolge der Länge N, die vom Viterbi–Entscheider gleich der wahrscheinlichsten Folge Qj gesetzt wird.
\[\varepsilon_{\nu}(i) = |d_{\nu} - d_{{\rm S}\nu}(i)|^2 \hspace{0.05cm}.\]
Die Gesamtfehlergröße γν(i) kennzeichnet die Summe aller Fehlergrößen bis zum Zeitpunkt ν:
Man bezeichnet γν(i) auch als Metrik. Anzumerken ist, dass diese Definitionen an einem Grundimpuls mit Hauptwert g0 und nur einem Vorläufer g–1 angepasst sind. Bei υ Vorläufern müsste die obige Summe bei k = 1 – υ beginnen. Der Parameter i ∈ {0, ... , 2N+1–1} wird meist binär dargestellt, so dass i gleichzeitig die Amplitudenkoeffizienten a1, ... , aν+1 (jeweils entweder 0 oder 1) angibt.
Die Grafik verdeutlicht die oben definierten Größen in einer Baumstruktur, woraus zu erkennen ist, dass die Gesamtfehlergrößen iterativ berechnet werden können:
\[\gamma_{\nu}(i)= \gamma_{\nu-1}(i')+\varepsilon_{k}(i'') \hspace{0.05cm}.\]
i, i' und i sind unterschiedliche Laufvariable. Die Bildbeschreibung folgt auf der nächsten Seite.
Fehlergrößen und Gesamtfehlergrößen (2)
Zu dieser Grafik, die hier nochmals eingeblendet werden kann, ist Folgendes anzumerken:
- Die Knoten des Baumdiagramms stehen für die Gesamtfehlergrößen γν(i); deren Anzahl wird mit jedem Iterationsschritt verdoppelt. Zum Zeitpunkt ν gibt es 2ν+1 solcher Knoten. Beispielsweise sind für ν = 3 genau 24 = 16 Knoten zu erkennen.
- Die zu den Gesamtfehlergrößen γν(i) gehörigen Amplitudenkoeffizienten ergeben sich, wenn man den Weg vom Anfangsknoten bis zum betrachteten Knoten verfolgt. Es wird vereinbart, dass einem nach oben gerichteten Zweig der Amplitudenkoeffizient 1 und einem nach unten gerichteten Zweig eine 0 zugeordnet wird.
- Beispielsweise kennzeichnet der grün hinterlegte Knoten γ3(1100) die Gesamtfehlergröße unter der hypothetischen Annahme, dass die Symbole a1 = 1, a2 = 1, a3 = 0, a4 = 0 gesendet wurden. Diese Zuordnung kann auch aus den Richtungen der Pfeile im Baumdiagramm abgelesen werden: zunächst zweimal nach oben, dann zweimal nach unten.
- Aufgrund des Vorläufers muss bereits zum Zeitpunkt ν = 3 der Koeffizient a4 mitberücksichtigt werden. Alle Knoten γν(i), die unter der Voraussetzung aν+1 = 1 berechnet werden, sind im Baumdiagramm durch Rechtecke dargestellt, während die Hypothese aν+1 = 0 jeweils durch ein abgerundetes Rechteck symbolisiert ist, z. B. γ2 (110) oder γ3 (1100).
- Die Zweige im Baumdiagramm sind den Fehlergrößen εν(i) zugeordnet. Beim vorausgesetzten Grundimpuls (nur g0 und g–1 sind ungleich 0) gibt es zu jedem Zeitpunkt mit Ausnahme des Startzustandes (ν = 0) genau vier unterschiedliche Größen:
- \[\varepsilon_{\nu}(00) = |d_{\nu}|^2\hspace{0.05cm},\hspace{0.5cm}\varepsilon_{\nu}(01) = |d_{\nu}-g_{-1}|^2\hspace{0.05cm},\]
- \[\varepsilon_{\nu}(10) = |d_{\nu}-g_{0}|^2\hspace{0.05cm},\hspace{0.2cm}\varepsilon_{\nu}(11) = |d_{\nu}-g_{0}-g_{-1}|^2\hspace{0.05cm}.\]
- Die Gesamtfehlergröße γν ist gleich der Summe aus dem vorausgegangenen Knoten γν–1 und dem dazwischenliegenden Zweig εν. Beispielsweise gilt für die hervorgehobenen Knoten:
- \[\gamma_{1}(11)=\gamma_{0}(1)+\varepsilon_{1}(11) ,\hspace{0.05cm} \gamma_{2}(110)=\gamma_{1}(11)+\varepsilon_{2}(10) ,\hspace{0.05cm} \gamma_{3}(1100)=\gamma_{2}(110)+\varepsilon_{3}(00) .\]
- Bei den ersten Knoten γ0(0) und γ0(1) wird berücksichtigt, dass vor der eigentlichen Übertragung (a1, a2, ...) vereinbarungsgemäß stets das Symbol a0 = 0 übertragen wird. Daraus folgt:
- \[\gamma_{0}(0)=\varepsilon_{0}(00)= |d_{0}|^2 \hspace{0.05cm},\hspace{0.2cm} \gamma_{0}(1)=\varepsilon_{0}(01)=|d_{0}-g_{-1}|^2 \hspace{0.05cm}.\]
Das nachfolgende Beispiel wird hoffentlich diese etwas ermüdenden Aussagen verdeutlichen.