Applets:Zur Erzeugung von Walsh-Funktionen (neues Applet): Difference between revisions

From LNTwww
Carolin (talk | contribs)
No edit summary
Join 1 split formula blocks
 
(22 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{LntAppletLink|qfunction}}
{{LntAppletLink|walsh}}




Line 6: Line 6:
==Programmbeschreibung==
==Programmbeschreibung==
<br>
<br>
Dieses Applet ermöglicht die Darstellung der Hadamard-Matrizen $H_J$ zur Konstruktion der Walsh-Funktionen $w_j$. Dabei können der Faktor $J$ der Bandspreizung sowie die Markierung der einzelnen Walsh-Funktionen (durch blaue Umrandung der Zeilen der Matrix) verändert werden.
Dieses Applet ermöglicht die Darstellung der Hadamard-Matrizen&nbsp; $\mathbf{H}_J$&nbsp; zur Konstruktion der Walsh-Funktionen&nbsp; $w_j$. Dabei können der Faktor&nbsp; $J$&nbsp; der Bandspreizung sowie die Markierung der einzelnen Walsh-Funktionen (durch blaue Umrandung der Zeilen der Matrix) verändert werden.


==Theoretischer Hintergrund==
==Theoretischer Hintergrund==
<br>
<br>
Bei der Untersuchung digitaler Übertragungssysteme muss oft die Wahrscheinlichkeit bestimmt werden, dass eine (mittelwertfreie) gaußverteilte Zufallsgröße&nbsp; $x$&nbsp; mit der Varianz&nbsp; $σ^2$&nbsp; einen vorgegebenen Wert&nbsp; $x_0$&nbsp; überschreitet. Für diese Wahrscheinlichkeit gilt:
===Anwendung===
:$${\rm Pr}(x > x_0)={\rm Q}(\frac{x_0}{\sigma}) = 1/2 \cdot {\rm erfc}(\frac{x_0}{\sqrt{2} \cdot \sigma}).$$
<br>
<br>
   
Die&nbsp; '''Walsh-Funktionen'''&nbsp; sind eine Gruppe von periodischen orthogonalen Funktionen. Ihr Anwendungsbereich in der digitalen Signalverarbeitung liegt vor allem in der Verwendung zur Bandspreizung bei CDMA-Systemen, beispielsweise dem Mobilfunkstandard UMTS.
===Die Funktion ${\rm Q}(x )$===
*Aufgrund ihrer Orthogonalitätseigenschaften und der günstigen PKKF-Bedingungen (periodische KKF) stellen die Walsh-Funktionen für einen verzerrungsfreien Kanal und ein synchrones CDMA-System optimale Spreizfolgen dar. Nimmt man zwei beliebige Zeilen und bildet die Korrelation (Mittelung über die Produkte), so ergibt sich stets der PKKF–Wert Null.
*Bei asynchronem Betrieb (Beispiel: &nbsp; Uplink eines Mobilfunksystems) oder De–Orthogonalisierung aufgrund von Mehrwegeausbreitung sind dagegen Walsh–Funktionen allein zur Bandspreizung nicht unbedingt geeignet – siehe &nbsp;[[Aufgaben:5.4_Walsh–Funktionen_(PKKF,_PAKF)|Aufgabe 5.4]].  
*Hinsichtlich PAKF (periodische AKF) sind diese Folgen weniger gut: &nbsp; Jede einzelne Walsh–Funktion hat eine andere PAKF und jede einzelne PAKF ist ungünstiger als bei einer vergleichbaren PN–Sequenz. Das bedeutet: &nbsp; Die Synchronisierung ist bei Walsh–Funktionen schwieriger als mit PN–Sequenzen.
<br>
<br>
Die Funktion&nbsp; ${\rm Q}(x)$&nbsp; 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 &ndash; wenn man dieses Applet nicht zur Verfügung hat &ndash; aus Tabellen entnommen werden.
*Speziell für größere&nbsp; $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:&nbsp; ''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:&nbsp; ''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&nbsp; ${\rm Q}(x )$&nbsp; nicht.
===Konstruktion===
<br>
<br>
Die Konstruktion der Walsh-Funktionen kann rekursiv mithilfe der '''Hadamard-Matrizen''' erfolgen. Eine Hadamard-Matrix $\mathbf{H}_J$ der Ordnung $J$ ist eine $J\times J$-Matrix, die zeilenweise die  $\pm 1$-Gewichte der Walsh-Folgen enthält. Die Ordnungen der Hadamard-Matrizen sind dabei auf Zweierpotenzen festgelegt, d.h. es gilt $J = 2^G$ für eine natürliche Zahl $G$. Ausgehend von $\mathbf{H}_1 = [+1]$ und


 
:$$\mathbf{H}_2 =\left[ \begin{array}{rr}+1 & +1\\+1 & -1 \\\end{array}\right]$$gilt der folgende Zusammenhang zur Generierung weiterer Hadamard-Matrizen::$$\mathbf{H}_{2N} =\left[ \begin{array}{rr}+\mathbf{H}_N & +\mathbf{H}_N\\+\mathbf{H}_N & -\mathbf{H}_N \\\end{array}\right]$$
===Die Funktion $1/2 \cdot {\rm erfc}(x )$===
<br>
<br>
In fast allen Programmbibliotheken findet man dagegen die ''Komplementäre Gaußsche Fehlerfunktion'' (englisch:&nbsp; ''Complementary Gaussian Error Function'')
{{GraueBox|TEXT=
:$${\rm erfc}(x) = \frac{2}{\sqrt{\pi}}\int_{x}^{ +\infty}\hspace{-0.2cm}{\rm e}^{-u^{2}}\,{\rm d} u .$$
$\text{Beispiel:}$&nbsp; Die Grafik zeigt die Hadamard–Matrix &nbsp;$\mathbf H_8$&nbsp; (rechts) und die damit &nbsp;$J -1$&nbsp; konstruierbaren Spreizfolgen.
die mit&nbsp; ${\rm Q}(x)$&nbsp; wie folgt zusammenhängt: &nbsp; ${\rm Q}(x)=1/2\cdot {\rm erfc}(x/{\sqrt{2}}).$ Da bei fast allen Anwendungen diese Funktion mit dem Faktor&nbsp; $1/2$&nbsp; verwendet wird, wurde in diesem Applet genau diese Funktion realisiert:
[[File:P_ID1882__Mod_T_5_3_S7_neu.png|right|frame| Walsh–Spreizfolgen &nbsp;$(J = 8)$&nbsp; und Hadamard–Matrix &nbsp;$\mathbf H_8$&nbsp;]]
:$$1/2 \cdot{\rm erfc}(x) = \frac{1}{\sqrt{\pi}}\int_{x}^{ +\infty}\hspace{-0.2cm}{\rm e}^{-u^{2}}\,{\rm d} u .$$
*$J - 1$ deshalb, da die ungespreizte Folge &nbsp;$w_0(t)$&nbsp; meist nicht verwendet wird.
*Beachten Sie bitte in der Grafik die farbliche Zuordnung zwischen den Zeilen der Hadamard–Matrix und den Spreizfolgen &nbsp;$w_j(t)$.
*Die Matrix &nbsp;$\mathbf H_4$&nbsp; ist gelb hinterlegt.}}
<br clear=all>


*Auch für diese Funktion kann wieder eine obere und eine untere Schranke angegeben werden:
==Zur Handhabung des Applets==
:$$\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}} .$$
<br>


===Wann bietet welche Funktion Vorteile?===
<br>
<br>
{{GraueBox|TEXT= 
[[File:Walsh Handhabung.png|right|550px]]
$\text{Beispiel 1:}$&nbsp; Wir betrachten die binäre Basisbandübertragung. Hier lautet die Bitfehlerwahrscheinlichkeit&nbsp;  $p_{\rm B} =  {\rm Q}({s_0}/{\sigma_d})$, wobei das Nutzsignal die Werte&nbsp; $\pm s_0$&nbsp; annehmen kann und der Rauscheffektivwert&nbsp; $\sigma_d$&nbsp; ist.


Es wird vorausgesetzt, dass Tabellen zur Verfügung stehen, in denen das Argument der Gaußschen Fehlerfunktionen im Abstand&nbsp; $0.1$&nbsp; aufgelistet sind. Mit&nbsp; $s_0/\sigma_d = 4$&nbsp; erhält man für die Bitfehlerwahrscheinlichkeit gemäß der Q&ndash;Funktion:
&nbsp; &nbsp; '''(A)''' &nbsp; &nbsp; Auswahl von&nbsp; $G$ &nbsp; &rArr; &nbsp; Faktor der Bandspreizung:&nbsp;  $J= 2^G$
:$$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 &ndash; noch besser &ndash; interpolieren, was aufgrund der starken Nichtlinearität dieser Funktion sehr schwierig ist.<br>
*Bei den gegebenen Zahlenwerten ist demnach  Q&ndash;Funktion besser geeignet. Außerhalb von Übungsbeispielen wird allerdings&nbsp; $s_0/\sigma_d$&nbsp; in der Regel einen &bdquo;krummen&rdquo; Wert besitzen. In diesem Fall bietet&nbsp; ${\rm Q}(x)$&nbsp;  natürlich keinen Vorteil gegenüber&nbsp; $1/2 \cdot{\rm erfc}(x)$. }}


&nbsp; &nbsp; '''(B)''' &nbsp; &nbsp; Auswahl der zu markierenden Walsh-Funktion&nbsp; $w_j$
<br clear=all>


{{GraueBox|TEXT= 
$\text{Beispiel 2:}$&nbsp;
Mit der Energie pro Bit&nbsp;  $(E_{\rm B})$&nbsp; und der Rauschleistungsdichte&nbsp; $(N_0)$&nbsp; gilt für die Bitfehlerwahrscheinlichkeit von ''Binary Phase Shift Keying''&nbsp; (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&nbsp; $E_{\rm B} = 16 \ \rm mWs$ und $N_0 = 16 \ \rm mW/Hz$&nbsp; 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&nbsp; $p_{\rm B} = {\rm Q} (5.657) \approx {\rm Q} (5.7) = 0.6 \cdot 10^{-8}\hspace{0.05cm}$, während&nbsp; $1/2 \cdot{\rm erfc}(x)$&nbsp; hier den richtigeren Wert&nbsp; $p_{\rm B} \approx 0.771 \cdot 10^{-8}$&nbsp; liefert.
*Wie im ersten Beispiel erkennt man aber auch hier: &nbsp; Die Funktionen&nbsp; ${\rm Q}(x)$&nbsp; und&nbsp; $1/2 \cdot{\rm erfc}(x)$&nbsp; sind grundsätzlich gleich gut geeignet. Vor&ndash; oder Nachteile der einen oder anderen Funktion ergeben sich nur bei konkreten Zahlenwerten.}}
<br>
==Zur Handhabung des Applets==
<br>
[[File:Qfunction bedienung.png|right|550px]]
&nbsp; &nbsp; '''(A)''' &nbsp; &nbsp; Verwendete Gleichungen am Beispiel &nbsp;${\rm Q}(x)$
&nbsp; &nbsp; '''(B)''' &nbsp; &nbsp; Auswahloption für &nbsp;${\rm Q}(x)$&nbsp; oder &nbsp;${\rm 0.5 \cdot erfc}(x)$
&nbsp; &nbsp; '''(C)''' &nbsp; &nbsp; Schranken &nbsp;${\rm LB}$&nbsp; und &nbsp;${\rm UB}$&nbsp; werden gezeichnet
&nbsp; &nbsp; '''(D)''' &nbsp; &nbsp; Auswahl, ob Abszisse linear &nbsp;$\rm (lin)$&nbsp; oder logarithmisch &nbsp;$\rm (log)$&nbsp;
&nbsp; &nbsp; '''(E)''' &nbsp; &nbsp; Auswahl, ob Ordinate linear &nbsp;$\rm (lin)$&nbsp; oder logarithmisch &nbsp;$\rm (log)$&nbsp;
&nbsp; &nbsp; '''(F)''' &nbsp; &nbsp; Numerikausgabe am Beispiel &nbsp;${\rm Q}(x)$&nbsp; bei linearer Abszisse
&nbsp; &nbsp; '''(G)''' &nbsp; &nbsp; Slidereingabe des Abszissenwertes &nbsp;$x$&nbsp; für lineare Abszisse
&nbsp; &nbsp; '''(H)''' &nbsp; &nbsp; Slidereingabe des Abszissenwertes &nbsp;$\rho \ \rm [dB]$&nbsp; für logarithmische Abszisse
&nbsp; &nbsp; '''(I)''' &nbsp; &nbsp; Grafikausgabe der Funktion  &nbsp;${\rm Q}(x)$&nbsp; &ndash; hier:&nbsp; lineare Abszisse
&nbsp; &nbsp; '''(J)''' &nbsp; &nbsp; Grafikausgabe der Funktion  &nbsp;${\rm 0.5 \cdot erfc}(x)$&nbsp; &ndash; hier:&nbsp; lineare Abszisse
&nbsp; &nbsp; '''(K)''' &nbsp; &nbsp; Variationsmöglichkeit für die graphischen Darstellungen
$\hspace{1.5cm}$&bdquo;$+$&rdquo; (Vergrößern),
$\hspace{1.5cm}$ &bdquo;$-$&rdquo; (Verkleinern)
$\hspace{1.5cm}$ &bdquo;$\rm o$&rdquo; (Zurücksetzen)
$\hspace{1.5cm}$ &bdquo;$\leftarrow$&rdquo; (Verschieben nach links),  usw.
<br clear=all>
==Über die Autoren==
==Über die Autoren==
Dieses interaktive Berechnungstool  wurde am&nbsp; [http://www.lnt.ei.tum.de/startseite Lehrstuhl für Nachrichtentechnik]&nbsp; der&nbsp; [https://www.tum.de/ Technischen Universität München]&nbsp; konzipiert und realisiert.  
Dieses interaktive Berechnungstool  wurde am&nbsp; [http://www.lnt.ei.tum.de/startseite Lehrstuhl für Nachrichtentechnik]&nbsp; der&nbsp; [https://www.tum.de/ Technischen Universität München]&nbsp; konzipiert und realisiert.  
*Die erste Version wurde 2007 von&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Thomas_Gro.C3.9Fer_.28Diplomarbeit_LB_2006.2C_danach_freie_Mitarbeit_bis_2010.29|Thomas Großer]]&nbsp; im Rahmen seiner Diplomarbeit mit &bdquo;FlashMX&ndash;Actionscript&rdquo; erstellt (Betreuer:&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Mitarbeiter_und_Dozenten#Prof._Dr.-Ing._habil._G.C3.BCnter_S.C3.B6der_.28am_LNT_seit_1974.29|Günter Söder]]).  
*Die erste Version wurde 2007 von&nbsp; [[Biographies_and_Bibliographies/Students_involved_in_LNTwww#Thomas_Gro.C3.9Fer_.28Diplomarbeit_LB_2006.2C_danach_freie_Mitarbeit_bis_2010.29|Thomas Großer]]&nbsp; im Rahmen seiner Diplomarbeit mit "FlashMX&ndash;Actionscript" erstellt (Betreuer:&nbsp; [[Biographies_and_Bibliographies/LNTwww_members_from_LNT#Prof._Dr.-Ing._habil._Günter_Söder_(at_LNT_from_1974-2024)|Günter Söder]]).  
*2018/2019 wurde das Programm  von&nbsp; ''Marwen Ben Ammar''&nbsp;  und&nbsp; [[Biografien_und_Bibliografien/An_LNTwww_beteiligte_Studierende#Xiaohan_Liu_.28Bachelorarbeit_2018.29|Xiaohan Liu]]&nbsp; (Bachelorarbeit, Betreuer:&nbsp; [[Biografien_und_Bibliografien/Beteiligte_der_Professur_Leitungsgebundene_%C3%9Cbertragungstechnik#Tasn.C3.A1d_Kernetzky.2C_M.Sc._.28bei_L.C3.9CT_seit_2014.29|Tasnád Kernetzky]] ) auf  &bdquo;HTML5&rdquo; umgesetzt und neu gestaltet.
*2018/2019 wurde das Programm  von&nbsp; [[Biographies_and_Bibliographies/Students_involved_in_LNTwww#Carolin_Mirschina_.28Ingenieurspraxis_Math_2019.2C_danach_Werkstudentin.29|Carolin Mirschina]]&nbsp; (Ingenieurspraxis, Betreuer:&nbsp; [[Biographies_and_Bibliographies/Beteiligte_der_Professur_Leitungsgebundene_%C3%9Cbertragungstechnik#Tasn.C3.A1d_Kernetzky.2C_M.Sc._.28bei_L.C3.9CT_seit_2014.29|Tasnád Kernetzky]] ) auf  "HTML5" umgesetzt und neu gestaltet.




==Nochmalige Aufrufmöglichkeit des Applets in neuem Fenster==
==Nochmalige Aufrufmöglichkeit des Applets in neuem Fenster==
<br>
<br>
{{LntAppletLink|qfunction}}
{{LntAppletLink|walsh}}
[[de:Applets:Zur_Erzeugung_von_Walsh-Funktionen_(neues_Applet)]]

Latest revision as of 16:17, 16 March 2026

Open Applet in a new tab



Programmbeschreibung


Dieses Applet ermöglicht die Darstellung der Hadamard-Matrizen  $\mathbf{H}_J$  zur Konstruktion der Walsh-Funktionen  $w_j$. Dabei können der Faktor  $J$  der Bandspreizung sowie die Markierung der einzelnen Walsh-Funktionen (durch blaue Umrandung der Zeilen der Matrix) verändert werden.

Theoretischer Hintergrund


Anwendung


Die  Walsh-Funktionen  sind eine Gruppe von periodischen orthogonalen Funktionen. Ihr Anwendungsbereich in der digitalen Signalverarbeitung liegt vor allem in der Verwendung zur Bandspreizung bei CDMA-Systemen, beispielsweise dem Mobilfunkstandard UMTS.

  • Aufgrund ihrer Orthogonalitätseigenschaften und der günstigen PKKF-Bedingungen (periodische KKF) stellen die Walsh-Funktionen für einen verzerrungsfreien Kanal und ein synchrones CDMA-System optimale Spreizfolgen dar. Nimmt man zwei beliebige Zeilen und bildet die Korrelation (Mittelung über die Produkte), so ergibt sich stets der PKKF–Wert Null.
  • Bei asynchronem Betrieb (Beispiel:   Uplink eines Mobilfunksystems) oder De–Orthogonalisierung aufgrund von Mehrwegeausbreitung sind dagegen Walsh–Funktionen allein zur Bandspreizung nicht unbedingt geeignet – siehe  Aufgabe 5.4.
  • Hinsichtlich PAKF (periodische AKF) sind diese Folgen weniger gut:   Jede einzelne Walsh–Funktion hat eine andere PAKF und jede einzelne PAKF ist ungünstiger als bei einer vergleichbaren PN–Sequenz. Das bedeutet:   Die Synchronisierung ist bei Walsh–Funktionen schwieriger als mit PN–Sequenzen.


Konstruktion


Die Konstruktion der Walsh-Funktionen kann rekursiv mithilfe der Hadamard-Matrizen erfolgen. Eine Hadamard-Matrix $\mathbf{H}_J$ der Ordnung $J$ ist eine $J\times J$-Matrix, die zeilenweise die $\pm 1$-Gewichte der Walsh-Folgen enthält. Die Ordnungen der Hadamard-Matrizen sind dabei auf Zweierpotenzen festgelegt, d.h. es gilt $J = 2^G$ für eine natürliche Zahl $G$. Ausgehend von $\mathbf{H}_1 = [+1]$ und

$$\mathbf{H}_2 =\left[ \begin{array}{rr}+1 & +1\\+1 & -1 \\\end{array}\right]$$gilt der folgende Zusammenhang zur Generierung weiterer Hadamard-Matrizen::$$\mathbf{H}_{2N} =\left[ \begin{array}{rr}+\mathbf{H}_N & +\mathbf{H}_N\\+\mathbf{H}_N & -\mathbf{H}_N \\\end{array}\right]$$


$\text{Beispiel:}$  Die Grafik zeigt die Hadamard–Matrix  $\mathbf H_8$  (rechts) und die damit  $J -1$  konstruierbaren Spreizfolgen.

Walsh–Spreizfolgen  $(J = 8)$  und Hadamard–Matrix  $\mathbf H_8$ 
  • $J - 1$ deshalb, da die ungespreizte Folge  $w_0(t)$  meist nicht verwendet wird.
  • Beachten Sie bitte in der Grafik die farbliche Zuordnung zwischen den Zeilen der Hadamard–Matrix und den Spreizfolgen  $w_j(t)$.
  • Die Matrix  $\mathbf H_4$  ist gelb hinterlegt.


Zur Handhabung des Applets


    (A)     Auswahl von  $G$   ⇒   Faktor der Bandspreizung:  $J= 2^G$

    (B)     Auswahl der zu markierenden Walsh-Funktion  $w_j$

Über die Autoren

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


Nochmalige Aufrufmöglichkeit des Applets in neuem Fenster


Open Applet in a new tab