Zur Erzeugung von Walsh-Funktionen (neues Applet)

From LNTwww
Revision as of 13:13, 14 April 2019 by Guenter (talk | contribs) (Die Seite wurde neu angelegt: „{{LntAppletLink|qfunction}}     ''Hinweis:''   Das Applet ist für den '''CHROME'''–Browser optimiert. Bei anderen Browsern kommt es teilw…“)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Open Applet in a new tab     Hinweis:   Das Applet ist für den CHROME–Browser optimiert. Bei anderen Browsern kommt es teilweise zu Darstellungsproblemen.


Programmbeschreibung


Dieses Applet ermöglicht die Berechnung und graphische Darstellung der Gaußschen Fehlerfunktionen  ${\rm Q}(x)$  und  $1/2\cdot {\rm erfc}(x)$, die für die Fehlerwahrscheinlichkeitsberechnung von großer Bedeutung sind.

  • Sowohl die Abszisse als auch der Funktionswert können entweder linear oder logarithmisch dargestellt werden.
  • Für beide Funktionen wird jeweils eine obere Schranke (englisch:  Upper Bound ) und eine untere Schranke (englisch:  Lower Bound) angegeben.


Theoretischer Hintergrund


Bei der Untersuchung digitaler Übertragungssysteme muss oft die Wahrscheinlichkeit bestimmt werden, dass eine (mittelwertfreie) gaußverteilte Zufallsgröße  $x$  mit der Varianz  $σ^2$  einen vorgegebenen Wert  $x_0$  überschreitet. Für diese Wahrscheinlichkeit gilt:

$${\rm Pr}(x > x_0)={\rm Q}(\frac{x_0}{\sigma}) = 1/2 \cdot {\rm erfc}(\frac{x_0}{\sqrt{2} \cdot \sigma}).$$


Die Funktion ${\rm Q}(x )$


Die Funktion  ${\rm Q}(x)$  bezeichnet man als das Komplementäre Gaußsche Fehlerintegral. Es gilt folgende Berechnungsvorschrift:

$${\rm Q}(x ) = \frac{1}{\sqrt{2\pi}}\int_{x}^{ +\infty}\hspace{-0.2cm}{\rm e}^{-u^{2}/\hspace{0.05cm} 2}\,{\rm d} u .$$
  • Dieses Integral ist nicht analytisch lösbar und muss – wenn man dieses Applet nicht zur Verfügung hat – aus Tabellen entnommen werden.
  • Speziell für größere  $x$–Werte (also für kleine Fehlerwahrscheinlichkeiten) liefern die nachfolgend angegebenen Schranken eine brauchbare Abschätzung für das Komplementäre Gaußsche Fehlerintegral, die auch ohne Tabellen berechnet werden können.
  • Eine obere Schranke (englisch:  Upper Bound ) des Komplementären Gaußschen Fehlerintegrals lautet:
$${\rm Q}_{\rm UB}(x )=\text{Upper Bound }\big [{\rm Q}(x ) \big ] = \frac{ 1}{\sqrt{2\pi}\cdot x}\cdot {\rm e}^{- x^{2}/\hspace{0.05cm}2} > {\rm Q}(x).$$
  • Entsprechend gilt für die untere Schranke (englisch:  Lower Bound ):
$${\rm Q}_{\rm LB}(x )=\text{Lower Bound }\big [{\rm Q}(x ) \big ] =\frac{1-1/x^2}{\sqrt{2\pi}\cdot x}\cdot {\rm e}^{-x^ 2/\hspace{0.05cm}2} ={\rm Q}_{\rm UB}(x ) \cdot (1-1/x^2)< {\rm Q}(x).$$

In vielen Programmbibliotheken findet man allerdings die Funktion  ${\rm Q}(x )$  nicht.


Die Funktion $1/2 \cdot {\rm erfc}(x )$


In fast allen Programmbibliotheken findet man dagegen die Komplementäre Gaußsche Fehlerfunktion (englisch:  Complementary Gaussian Error Function)

$${\rm erfc}(x) = \frac{2}{\sqrt{\pi}}\int_{x}^{ +\infty}\hspace{-0.2cm}{\rm e}^{-u^{2}}\,{\rm d} u .$$

die mit  ${\rm Q}(x)$  wie folgt zusammenhängt:   ${\rm Q}(x)=1/2\cdot {\rm erfc}(x/{\sqrt{2}}).$ Da bei fast allen Anwendungen diese Funktion mit dem Faktor  $1/2$  verwendet wird, wurde in diesem Applet genau diese Funktion realisiert:

$$1/2 \cdot{\rm erfc}(x) = \frac{1}{\sqrt{\pi}}\int_{x}^{ +\infty}\hspace{-0.2cm}{\rm e}^{-u^{2}}\,{\rm d} u .$$
  • Auch für diese Funktion kann wieder eine obere und eine untere Schranke angegeben werden:
$$\text{Upper Bound }\big [1/2 \cdot{\rm erfc}(x) \big ] = \frac{ 1}{\sqrt{\pi}\cdot 2x}\cdot {\rm e}^{- x^{2}} ,$$
$$\text{Lower Bound }\big [1/2 \cdot{\rm erfc}(x) \big ] = \frac{ {1-1/(2x^2)}}{\sqrt{\pi}\cdot 2x}\cdot {\rm e}^{- x^{2}} .$$


Wann bietet welche Funktion Vorteile?


$\text{Beispiel 1:}$  Wir betrachten die binäre Basisbandübertragung. Hier lautet die Bitfehlerwahrscheinlichkeit  $p_{\rm B} = {\rm Q}({s_0}/{\sigma_d})$, wobei das Nutzsignal die Werte  $\pm s_0$  annehmen kann und der Rauscheffektivwert  $\sigma_d$  ist.

Es wird vorausgesetzt, dass Tabellen zur Verfügung stehen, in denen das Argument der Gaußschen Fehlerfunktionen im Abstand  $0.1$  aufgelistet sind. Mit  $s_0/\sigma_d = 4$  erhält man für die Bitfehlerwahrscheinlichkeit gemäß der Q–Funktion:

$$p_{\rm B} = {\rm Q} (4) \approx 0.317 \cdot 10^{-4}\hspace{0.05cm}.$$

Nach der zweiten Gleichung ergibt sich:

$$p_{\rm B} = {1}/{2} \cdot {\rm erfc} ( {4}/{\sqrt{2} })= {1}/{2} \cdot {\rm erfc} ( 2.828)\approx {1}/{2} \cdot {\rm erfc} ( 2.8)= 0.375 \cdot 10^{-4}\hspace{0.05cm}.$$
  • Richtiger ist der erste Wert. Bei der zweiten Berechnungsart muss man runden oder – noch besser – interpolieren, was aufgrund der starken Nichtlinearität dieser Funktion sehr schwierig ist.
  • Bei den gegebenen Zahlenwerten ist demnach Q–Funktion besser geeignet. Außerhalb von Übungsbeispielen wird allerdings  $s_0/\sigma_d$  in der Regel einen „krummen” Wert besitzen. In diesem Fall bietet  ${\rm Q}(x)$  natürlich keinen Vorteil gegenüber  $1/2 \cdot{\rm erfc}(x)$.


$\text{Beispiel 2:}$  Mit der Energie pro Bit  $(E_{\rm B})$  und der Rauschleistungsdichte  $(N_0)$  gilt für die Bitfehlerwahrscheinlichkeit von Binary Phase Shift Keying  (BPSK):

$$p_{\rm B} = {\rm Q} \left ( \sqrt{ {2 E_{\rm B} }/{N_0} }\right ) = {1}/{2} \cdot {\rm erfc} \left ( \sqrt{ {E_{\rm B} }/{N_0} }\right ) \hspace{0.05cm}.$$

Für die Zahlenwerte  $E_{\rm B} = 16 \ \rm mWs$ und $N_0 = 16 \ \rm mW/Hz$  erhält man:

$$p_{\rm B} = {\rm Q} \left (4 \cdot \sqrt{ 2} \right ) = {1}/{2} \cdot {\rm erfc} \left ( 4\right ) \hspace{0.05cm}.$$
  • Der erste Weg führt zum Ergebnis  $p_{\rm B} = {\rm Q} (5.657) \approx {\rm Q} (5.7) = 0.6 \cdot 10^{-8}\hspace{0.05cm}$, während  $1/2 \cdot{\rm erfc}(x)$  hier den richtigeren Wert  $p_{\rm B} \approx 0.771 \cdot 10^{-8}$  liefert.
  • Wie im ersten Beispiel erkennt man aber auch hier:   Die Funktionen  ${\rm Q}(x)$  und  $1/2 \cdot{\rm erfc}(x)$  sind grundsätzlich gleich gut geeignet. Vor– oder Nachteile der einen oder anderen Funktion ergeben sich nur bei konkreten Zahlenwerten.



Zur Handhabung des Applets


Qfunction bedienung.png

    (A)     Verwendete Gleichungen am Beispiel  ${\rm Q}(x)$

    (B)     Auswahloption für  ${\rm Q}(x)$  oder  ${\rm 0.5 \cdot erfc}(x)$

    (C)     Schranken  ${\rm LB}$  und  ${\rm UB}$  werden gezeichnet

    (D)     Auswahl, ob Abszisse linear  $\rm (lin)$  oder logarithmisch  $\rm (log)$ 

    (E)     Auswahl, ob Ordinate linear  $\rm (lin)$  oder logarithmisch  $\rm (log)$ 

    (F)     Numerikausgabe am Beispiel  ${\rm Q}(x)$  bei linearer Abszisse

    (G)     Slidereingabe des Abszissenwertes  $x$  für lineare Abszisse

    (H)     Slidereingabe des Abszissenwertes  $\rho \ \rm [dB]$  für logarithmische Abszisse

    (I)     Grafikausgabe der Funktion  ${\rm Q}(x)$  – hier:  lineare Abszisse

    (J)     Grafikausgabe der Funktion  ${\rm 0.5 \cdot erfc}(x)$  – hier:  lineare Abszisse

    (K)     Variationsmöglichkeit für die graphischen Darstellungen

$\hspace{1.5cm}$„$+$” (Vergrößern),

$\hspace{1.5cm}$ „$-$” (Verkleinern)

$\hspace{1.5cm}$ „$\rm o$” (Zurücksetzen)

$\hspace{1.5cm}$ „$\leftarrow$” (Verschieben nach links), usw.

Über die Autoren

Dieses interaktive Berechnungstool wurde am  Lehrstuhl für Nachrichtentechnik  der  Technischen Universität München  konzipiert und realisiert.

  • Die erste Version wurde 2007 von  Thomas Großer  im Rahmen seiner Diplomarbeit mit „FlashMX–Actionscript” erstellt (Betreuer:  Günter Söder).
  • 2018/2019 wurde das Programm von  Marwen Ben Ammar  und  Xiaohan Liu  (Bachelorarbeit, Betreuer:  Tasnád Kernetzky ) auf „HTML5” umgesetzt und neu gestaltet.


Nochmalige Aufrufmöglichkeit des Applets in neuem Fenster


Open Applet in a new tab     Hinweis:   Das Applet ist für CHROME–Browser optimiert. Bei anderen Browsern kommt es teilweise zu Darstellungsproblemen.