Complementary Gaussian Error Functions
Open Applet in a new tab Hinweis: Das Applet ist für den CHROME–Browser optimiert. Bei anderen Browsern kommt es teilweise zu Darstellungsproblemen.
Contents
Applet Description
This applet allows the calculation and graphical representation of the (complementary) Gaussian error functions ${\rm Q}(x)$ and $1/2\cdot {\rm erfc}(x)$, which are of great importance for error probability calculation.
- Both the abscissa and the function value can be represented either linearly or logarithmically.
- For both functions an upper bound $\rm (UB)$ and a lower bound $\rm (LB)$ are given.
Theoretical Background
In the study of digital transmission systems, it is often necessary to determine the probability that a (mean-free) Gaussian distributed random variable $x$ with variance $σ^2$ exceeds a given value $x_0$. For this probability holds:
- $${\rm Pr}(x > x_0)={\rm Q}(\frac{x_0}{\sigma}) = 1/2 \cdot {\rm erfc}(\frac{x_0}{\sqrt{2} \cdot \sigma}).$$
The function ${\rm Q}(x )$
The function ${\rm Q}(x)$ is called the complementary Gaussian error integral. The following calculation rule applies:
- $${\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 .$$
- This integral cannot be solved analytically and must be taken from tables if one does not have this applet available.
- Specially for larger $x$ values (i.e., for small error probabilities), the bounds given below provide a useful estimate for ${\rm Q}(x)$, which can also be calculated without tables.
- An upper bound $\rm (UB)$ of this function is:
- $${\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).$$
- Correspondingly, for the lower bound $\rm (LB)$:
- $${\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).$$
However, in many program libraries, the function ${\rm Q}(x )$ cannot be found.
The function $1/2 \cdot {\rm erfc}(x )$
On the other hand, in almost all program libraries, you can find the Complementary Gaussian Error Function:
- $${\rm erfc}(x) = \frac{2}{\sqrt{\pi}}\int_{x}^{ +\infty}\hspace{-0.2cm}{\rm e}^{-u^{2}}\,{\rm d} u ,$$
which is related to ${\rm Q}(x)$ as follows: ${\rm Q}(x)=1/2\cdot {\rm erfc}(x/{\sqrt{2}}).$
- Since in almost all applications this function is used with the factor $1/2$, in this applet exactly this function was realized:
- $$1/2 \cdot{\rm erfc}(x) = \frac{1}{\sqrt{\pi}}\int_{x}^{ +\infty}\hspace{-0.2cm}{\rm e}^{-u^{2}}\,{\rm d} u .$$
- Once again, an upper and lower bound can be specified for this function:
- $$\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}} .$$
When which function offers advantages?
$\text{Example 1:}$ We consider binary baseband transmission. Here, the bit error probability $p_{\rm B} = {\rm Q}({s_0}/{\sigma_d})$, where the useful signal can take the values $\pm s_0$ and the noise root mean square value $\sigma_d$ .
It is assumed that tables are available listing the argument of the two Gaussian error functions at distance $0.1$. With $s_0/\sigma_d = 4$ one obtains for the bit error probability according to the function ${\rm Q}(x )$:
- $$p_{\rm B} = {\rm Q} (4) \approx 0.317 \cdot 10^{-4}\hspace{0.05cm}.$$
According to the second equation, we get:
- $$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}.$$
- The first value is more correct. In the second method of calculation, one must round or – even better – interpolate, which is very difficult due to the strong nonlinearity of this function.
- Accordingly, with the given numerical values, ${\rm Q}(x )$ is more suitable. However, outside of exercise examples $s_0/\sigma_d$ will usually have a „curvilinear” value. In this case, of course, ${\rm Q}(x)$ offers no advantage over $1/2 \cdot{\rm erfc}(x)$.
$\text{Example 2:}$ With the energy per bit $(E_{\rm B})$ and the noise power density $(N_0)$ the bit error probability of Binary Phase Shift Keying (BPSK) is:
- $$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}.$$
For the numerical values $E_{\rm B} = 16 \rm mWs$ and $N_0 = 16 \rm mW/Hz$ we obtain:
- $$p_{\rm B} = {\rm Q} \left (4 \cdot \sqrt{ 2} \right ) = {1}/{2} \cdot {\rm erfc} \left ( 4\right ) \hspace{0.05cm}.$$
- The first way leads to the result $p_{\rm B} = {\rm Q} (5.657) \approx {\rm Q} (5.7) = 0.6 \cdot 10^{-8}\hspace{0.01cm}$, while $1/2 \cdot{\rm erfc}(x)$ here the more correct value $p_{\rm B} \approx 0.771 \cdot 10^{-8}$ yields.
- As in the first example, however, you can see: The functions ${\rm Q}(x)$ and $1/2 \cdot{\rm erfc}(x)$ are basically equally well suited.
- Advantages or disadvantages of one or the other function arise only for concrete numerical values.
Exercises
- First select the number $(1, 2, \text{...})$ of the exercise. The number $0$ corresponds to a "Reset": Same setting as at program start.
- A task description is displayed. The parameter values are adjusted. Solution after pressing "Show solution".
(1) Find the values of the function ${\rm Q}(x)$ for $x=1$, $x=2$, $x=4$ and $x=6$. Interpret the graphs at linear and logarithmic ordinates.
- The applet returns the values ${\rm Q}(1)=1.5866 \cdot 10^{-1}$, ${\rm Q}(2)=2. 275 \cdot 10^{-2}$, ${\rm Q}(4)=3.1671 \cdot 10^{-5}$ and ${\rm Q}(6)=9.8659 \cdot 10^{-10}$.
- With linear ordinate, the values for $x>3$ are indistinguishable from the zero line. More interesting is the plot with logarithmic ordinate.
(2) Evaluate the two bounds ${\rm UB}(x )=\text{Upper Bound }\big [{\rm Q}(x ) \big ]$ and ${\rm LB}(x )=\text{Lower Bound }\big [{\rm Q}(x ) \big ]$ for the ${\rm Q}$ function.
- For $x \ge 2$ the upper bound is only slightly above ${\rm Q}(x)$ and the lower bound is only slightly below ${\rm Q}(x)$.
- For example: ${\rm Q}(x=4)=3.1671 \cdot 10^{-5}$ ⇒ ${\rm LB}(x=4)=3.1366 \cdot 10^{-5}$, ${\rm UB}(x=4)=3.3458 \cdot 10^{-5}$.
- The upper bound has greater significance for assessing a communications system than "LB", since this corresponds to a "worst case" consideration.
(3) Versuchen Sie, mit der App den Funktionswert ${\rm Q}(x=2 \cdot \sqrt{2} \approx 2.828)$ trotz der Quantisierung des Eingabeparameters möglichst exakt zu bestimmen.
- Das Programm liefert für $x=2.8$ das zu große Ergebnis $2.5551 \cdot 10^{-3}$ und für $x=2.85$ das Ergebnis $2.186 \cdot 10^{-3}$. Der exakte Wert liegt dazwischen.
- Es gilt aber auch: ${\rm Q}(x=2 \cdot \sqrt{2})=0.5 \cdot {\rm erfc}(x=2)$. Damit erhält man den exakten Wert ${\rm Q}(x=2 \cdot \sqrt{2})=2.3389 \cdot 10^{-3}$.
(4) Ermitteln Sie die Werte der Funktion $0.5 \cdot {\rm erfc}(x)$ für $x=1$, $x=2$, $x=3$ und $x=4$. Interpretieren Sie die die exakten Ergebnisse und die Schranken.
- Das Applet liefert: $0.5 \cdot {\rm erfc}(1)=7.865 \cdot 10^{-2}$, $0.5 \cdot {\rm erfc}(2)=2.3389 \cdot 10^{-3}$, $0.5 \cdot {\rm erfc}(3)=1.1045 \cdot 10^{-5}$ und $0.5 \cdot {\rm erfc}(4)=7.7086 \cdot 10^{-9}$.
- Alle obigen Aussagen zur ${\rm Q}$–Funktion bezüglich geeigneter Darstellungsart sowie oberer und unterer Schranke gelten auch für die Funktion $0.5 \cdot {\rm erfc}(x)$.
(5) Die Ergbnisse von (4) sollen nun für den Fall einer logarithmischen Abszisse umgerechnet werden. Die Umrechnung erfolgt entsprechend $\rho\big[{\rm dB}\big ] = 20 \cdot \lg(x)$.
- Der lineare Abszissenwert $x=1$ führt zum logarithmischen Abszissenwert $\rho=0\ \rm dB$ ⇒ $0.5 \cdot {\rm erfc}(\rho=0\ {\rm dB})={0.5 \cdot \rm erfc}(x=1)=7.865 \cdot 10^{-2}$.
- Entsprechend gilt auch $0.5 \cdot {\rm erfc}(\rho=6.021\ {\rm dB}) =0.5 \cdot {\rm erfc}(x=2)=2.3389 \cdot 10^{-3}$, $0.5 \cdot {\rm erfc}(\rho=9.542\ {\rm dB})= 0.5 \cdot {\rm erfc}(3)=1.1045 \cdot 10^{-5}$,
- $0.5 \cdot {\rm erfc}(\rho=12.041\ {\rm dB})= 0.5 \cdot {\rm erfc}(4)=7.7086 \cdot 10^{-9}$.
- Laut rechtem Diagramm: $0.5 \cdot {\rm erfc}(\rho=6\ {\rm dB}) =2.3883 \cdot 10^{-3}$, $0.5 \cdot {\rm erfc}(\rho=9.5\ {\rm dB}) =1.2109 \cdot 10^{-5}$, $0.5 \cdot {\rm erfc}(\rho=12\ {\rm dB}) =9.006 \cdot 10^{-9}$.
(6) Ermitteln Sie ${\rm Q}(\rho=0\ {\rm dB})$, ${\rm Q}(\rho=5\ {\rm dB})$ und ${\rm Q}(\rho=10\ {\rm dB})$, und stellen Sie den Zusammenhang zwischen linearer und logarithmischer Abszisse her.
- Das Programm liefert für logarithmische Abszisse die Werte ${\rm Q}(\rho=0\ {\rm dB})=1.5866 \cdot 10^{-1}$, ${\rm Q}(\rho=5\ {\rm dB})=3.7679 \cdot 10^{-2}$, ${\rm Q}(\rho=10\ {\rm dB})=7.827 \cdot 10^{-4}$.
- Die Umrechnung erfolgt gemäß der Gleichung $x=10^{\hspace{0.05cm}0.05\hspace{0.05cm} \cdot\hspace{0.05cm} \rho[{\rm dB}]}$. Für $\rho=0\ {\rm dB}$ ergibt sich $x=1$ ⇒ ${\rm Q}(\rho=0\ {\rm dB})={\rm Q}(x=1) =1.5866 \cdot 10^{-1}$.
- Für $\rho=5\ {\rm dB}$ ergibt sich $x=1.1778$ ⇒ ${\rm Q}(\rho=5\ {\rm dB})={\rm Q}(x=1.778) =3.7679 \cdot 10^{-2}$. Aus dem linken Diagramm: ${\rm Q}(x=1.8) =3.593 \cdot 10^{-2}$.
- Für $\rho=10\ {\rm dB}$ ergibt sich $x=3.162$ ⇒ ${\rm Q}(\rho=10\ {\rm dB})={\rm Q}(x=3.162) =7.827 \cdot 10^{-4}$. Nach „Quantisierung”: ${\rm Q}(x=3.15) =8.1635 \cdot 10^{-4}$.
Applet Manual
(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.
About the Authors
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.
Die Umsetzung dieses Applets auf HTML 5 wurde durch Studienzuschüsse der Fakultät EI der TU München finanziell unterstützt. Wir bedanken uns.
Once again: Open Applet in new Tab
Open Applet in a new tab
Hinweis: Das Applet ist für CHROME–Browser optimiert. Bei anderen Browsern kommt es teilweise zu Darstellungsproblemen.