Stochastische Signaltheorie/Erzeugung von diskreten Zufallsgrößen: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 7: Zeile 7:
 
==Pseudozufallsgrößen==
 
==Pseudozufallsgrößen==
 
<br>
 
<br>
Eine Möglichkeit zur Erzeugung einer binären Zufallsfolge $〈z_{\rm ν}〉 ∈ \{0, 1\}$ mit guten statistischen Eigenschaften bieten die so genannten Pseudozufallsgeneratoren, auch bekannt unter dem Namen '''PN-Generatoren''', wobei „PN” für ''Pseudonoise'' steht.  
+
Eine Möglichkeit zur Erzeugung einer binären Zufallsfolge&nbsp; $〈z_{\rm ν}〉 ∈ \{0, 1\}$&nbsp; mit guten statistischen Eigenschaften bieten die so genannten&nbsp; '''Pseudozufallsgeneratoren''',&nbsp; auch bekannt unter dem Namen&nbsp; '''PN-Generatoren''',&nbsp; wobei&nbsp; "PN"&nbsp; für&nbsp; "Pseudo-noise"&nbsp; steht.  
  
 
Diese besitzen folgende Eigenschaften:  
 
Diese besitzen folgende Eigenschaften:  
*Die durch einen solchen Generator erzeugte Binärfolge ist im strengen Sinne nicht stochastisch, sondern weist periodische und damit deterministische Eigenschaften auf.   
+
*Die durch einen solchen Generator erzeugte Binärfolge ist im strengen Sinne nicht stochastisch,&nbsp; sondern weist periodische und damit deterministische Eigenschaften auf.   
*Ist die Periodenlänge $P$ jedoch hinreichend groß, so erscheint die Folge für einen Betrachter als zufällig mit für viele Anwendungsfälle hinreichend guten statistischen Eigenschaften.  
+
*Ist die Periodenlänge&nbsp; $P$&nbsp; hinreichend groß,&nbsp; erscheint die Folge für einen Betrachter als zufällig mit für viele Anwendungen hinreichend guten statistischen Eigenschaften.  
*Der Vorteil eines Pseudozufallsgenerators gegenüber einer „echten” stochastischen Quelle ist, dass die Zufallsfolge bei Kenntnis einiger weniger Parameter reproduzierbar ist.  
+
*Vorteil eines Pseudozufallsgenerators gegenüber einer echten stochastischen Quelle ist,&nbsp; dass die Zufallsfolge bei Kenntnis einiger weniger Parameter reproduzierbar ist.  
  
  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
$\text{Beispiel 1:}$&nbsp;
+
$\text{Beispiel 1:}$&nbsp; Aus der zuletzt genannten Eigenschaft heraus ergeben sich auch die wichtigsten Anwendungen der Pseudonoise-Generatoren:  
Aus der zuletzt genannten Eigenschaft heraus ergeben sich auch die wichtigsten Anwendungen der Pseudonoise-Generatoren:  
+
*zum einen die Fehlerhäufigkeitsmessung bei der Digitalsignalübertragung,  
*zum einen die ''Fehlerhäufigkeitsmessung'' bei der Digitalsignalübertragung,  
+
*zum zweiten zur Bandspreizung bei CDMA&nbsp; ("Code Division Multiple Access").  
*zum zweiten zur Bandspreizung bei CDMA (''Code Division Multiple Access'').  
 
  
  
Bei einem solchen ''Spread Spectrum System'' wird das Sendesignal mit einer binären Zufallsfolge moduliert, deren Symbolfolgefrequenz deutlich größer als die Bitfrequenz ist. Dadurch bietet sich die Möglichkeit der Mehrfachausnutzung von Kanälen. Da am Empfänger die gleiche Folge phasenrichtig zugesetzt werden muss, ist auch hier der Einsatz von reproduzierbaren PN-Sequenzen üblich.  
+
Bei einem solchen&nbsp; "Spread Spectrum System"&nbsp; wird das Sendesignal mit einer binären Zufallsfolge moduliert,&nbsp; deren Symbolfolgefrequenz deutlich größer als die Bitfrequenz ist.&nbsp; Dadurch bietet sich die Möglichkeit der Mehrfachausnutzung von Kanälen.&nbsp; Da am Empfänger die gleiche Folge phasenrichtig zugesetzt werden muss,&nbsp; ist auch hier der Einsatz von reproduzierbaren PN-Sequenzen üblich.  
  
Ausführliche Informationen zu den Bandspreizverfahren finden Sie im Kapitel [[Beispiele_von_Nachrichtensystemen/Allgemeine_Beschreibung_von_UMTS|UMTS – Universal Mobile Telecommunications System]] des Buches &bdquo;Beispiele von Nachrichtensystemen&rdquo; .}}
+
Ausführliche Informationen zu den Bandspreizverfahren finden Sie im Kapitel&nbsp; [[Beispiele_von_Nachrichtensystemen/Allgemeine_Beschreibung_von_UMTS|UMTS – Universal Mobile Telecommunications System]]&nbsp; des Buches &bdquo;Beispiele von Nachrichtensystemen&rdquo;.}}
  
 
==Realisierung von PN-Generatoren==
 
==Realisierung von PN-Generatoren==
 
<br>
 
<br>
Pseudozufallsgeneratoren werden meist durch rückgekoppelte Schieberegister realisiert, wobei zu jedem Taktzeitpunkt der Inhalt des Registers um eine Stelle nach rechts geschoben wird (siehe Grafik). Für das aktuell erzeugte Symbol gilt mit $g_l ∈ \{0, 1\}$ und $l = 1$, ... , $L–1$:
+
Pseudozufallsgeneratoren werden meist durch rückgekoppelte Schieberegister realisiert,&nbsp; wobei zu jedem Taktzeitpunkt der Inhalt des Registers um eine Stelle nach rechts geschoben wird&nbsp; (siehe Grafik).&nbsp; Für das aktuell erzeugte Symbol gilt mit&nbsp; $g_l ∈ \{0,\ 1\}$&nbsp; und&nbsp; $l = 1$, ... , $L–1$:
:$$z_\nu = (g_1\cdot z_{\nu-1}+g_2\cdot z_{\nu-2}+...+g_l\cdot z_{\nu-l}+\hspace{0.1cm}\text{...}\hspace{0.1cm}+g_{L-1}\cdot z_{\nu-L+1}+ z_{\nu-L})\hspace{0.1cm} \rm mod \hspace{0.2cm}2.$$
+
:$$z_\nu = (g_1\cdot z_{\nu-1}+g_2\cdot z_{\nu-2}+\hspace{0.1cm}\text{...}\hspace{0.1cm}+g_l\cdot z_{\nu-l}+\hspace{0.1cm}\text{...}\hspace{0.1cm}+g_{L-1}\cdot z_{\nu-L+1}+ z_{\nu-L})\hspace{0.1cm} \rm mod \hspace{0.2cm}2.$$
  
*Die zu vorherigen Zeitpunkten generierten Binärwerte $z_{ν–1}$ bis $z_{ν–L}$ sind in den Speicherzellen des Schieberegisters abgelegt.  
+
*Die zu vorherigen Zeitpunkten generierten Binärwerte&nbsp; $z_{ν-1}$&nbsp; bis&nbsp; $z_{ν-L}$&nbsp; sind in den Speicherzellen des Schieberegisters abgelegt.  
*Die Koeffizienten $g_1$, ... , $g_{L–1}$ sind ebenfalls Binärwerte, wobei eine $1$ eine Rückkopplung an der entsprechenden Stelle kennzeichnet und eine $0$ keine Rückführung.  
+
*Die Koeffizienten&nbsp; $g_1$, ... ,&nbsp; $g_{L–1}$&nbsp; sind ebenfalls Binärwerte,&nbsp; wobei eine&nbsp; $1$&nbsp; eine Rückkopplung an der entsprechenden Stelle kennzeichnet und eine&nbsp; $0$&nbsp; keine Rückführung.  
 
*Die Modulo-2-Addition kann zum Beispiel durch eine XOR-Verknüpfung realisiert werden:  
 
*Die Modulo-2-Addition kann zum Beispiel durch eine XOR-Verknüpfung realisiert werden:  
:$$(x + y)\hspace{0.1cm} \rm mod\hspace{0.1cm}2 = \it x\hspace{0.1cm}\rm XOR\hspace{0.1cm} \it y = \left\{\begin{array}{*{2}{c}} \rm 0 & \rm falls\hspace{0.1cm} \it x= y,\\ 1 & \rm falls\hspace{0.1cm} \it x\neq y. \\ \end{array} \right.$$
+
[[Datei:P_ID34__Sto_T_2_5_S2_neu.png |right|frame| Pseudo-Noise-Generator]]
*Die statistischen Eigenschaften der erzeugten Zufallsfolge werden im Wesentlichen durch den '''Grad''' $L$ und die '''Rückführungskoeffizienten''' $g_l$ (mit $l = 1$, ... , $L–1$) bestimmt.
+
:$$(x + y)\hspace{0.15cm} \rm mod\hspace{0.1cm}2 = \it x\hspace{0.15cm}\rm XOR\hspace{0.15cm} \it y = \left\{\begin{array}{*{2}{c}} \rm 0 & \rm falls\hspace{0.1cm} \it x= y,\\ 1 & \rm falls\hspace{0.15cm} \it x\neq y. \\ \end{array} \right.$$
  
 +
Die statistischen Eigenschaften der erzeugten Pseudonoise-Zufallsfolge&nbsp; $〈z_{\rm ν}〉$&nbsp; werden im Wesentlichen  bestimmt durch
 +
*den&nbsp; '''Grad'''&nbsp; $L$,&nbsp; und
 +
*die&nbsp; '''Rückführungskoeffizienten'''&nbsp; $g_{\hspace{0.05cm}l}$&nbsp; $($mit&nbsp; $l = 1$, ... , $L-1)$.
  
Voraussetzung für die Entstehung einer PN-Folge ist, dass nicht alle Speicherelemente mit Nullen vorbelegt sind, da sonst die Modulo-2-Addition immer nur das Symbol $0$ erzeugen würde.
 
  
[[Datei:P_ID34__Sto_T_2_5_S2_neu.png |center|frame| Pseudo-Noise-Generator]]
+
Voraussetzung für die Entstehung einer PN-Folge ist,&nbsp; dass nicht alle Speicherelemente mit Nullen vorbelegt sind,&nbsp; da sonst die Modulo-2-Addition immer nur das Symbol&nbsp; $0$&nbsp; erzeugen würde.
 +
 
  
 
Zur Kennzeichnung unterschiedlicher PN-Generatoren verwendet man in der Literatur alternativ:  
 
Zur Kennzeichnung unterschiedlicher PN-Generatoren verwendet man in der Literatur alternativ:  
*die sogenannten '''Generatorpolynome''' von der Art  
+
*die sogenannten&nbsp; '''Generatorpolynome'''&nbsp; von der Art  
:$$G(D) = g_L\cdot D^L+g_{L-1}\cdot D^{L-1}+...+g_1\cdot D+g_0 .$$
+
:$$G(D) = g_L\cdot D^L+g_{L-1}\cdot D^{L-1}+ \ \text{...} \ +g_1\cdot D+g_0 .$$
:Hierbei ist stets $g_0 = g_L = 1$ zu setzen und $D$ ein formaler Parameter, der eine Verzögerung um einen Takt angibt. $D^L$ kennzeichnet dann eine Verzögerung um $L$ Takte.
+
:Hierbei ist stets&nbsp; $g_0 = g_L = 1$&nbsp; zu setzen und&nbsp; $D$&nbsp; ein formaler Parameter,&nbsp; der eine Verzögerung um einen Takt angibt&nbsp; $(D^L$&nbsp; kennzeichnet eine Verzögerung um&nbsp; $L$&nbsp; Takte$)$;
*die '''Oktaldarstellung''' der Binärzahl $(g_L\ \text{ ...} \  g_2 \ g_1 \ g_0).$ Wichtig ist, dass hierbei die Rückkopplungskoeffizienten von rechts mit $g_0$ beginnend zu Tripeln zusammengefasst und diese oktal (0 ... 7) geschrieben werden.
+
*die&nbsp; '''Oktaldarstellung'''&nbsp; der Binärzahl&nbsp; $(g_L\ \text{ ...} \  g_2 \ g_1 \ g_0)$.&nbsp; Wichtig ist,&nbsp; dass hierbei die Rückkopplungskoeffizienten &ndash; von rechts mit&nbsp; $g_0$&nbsp; beginnend &ndash; zu Tripeln zusammengefasst und diese oktal&nbsp; $(0 \ \text{...}\ 7)$&nbsp; geschrieben werden.
  
  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
 
$\text{Beispiel 2:}$&nbsp;
 
$\text{Beispiel 2:}$&nbsp;
Das Generatorpolynom $D^4 + D^3 + 1$ gehört zu einem Schieberegister vom Grad $L = 4$ mit folgender Oktaldarstellung  
+
Das Generatorpolynom&nbsp; $D^4 + D^3 + 1$&nbsp; gehört zu einem Schieberegister vom Grad&nbsp; $L = 4$&nbsp; mit folgender Oktaldarstellung  
:$$(g_4 \ g_3 \ g_2 \ g_1 \ g_0) = (11001)_{\rm bin} = (31)_{\rm oct}. $$}}
+
:$$(g_4 \ g_3 \ g_2 \ g_1 \ g_0) = (11001)_{\rm bin} = (31)_{\rm okt}. $$}}
  
 
==Folgen maximaler Länge (M-Sequenzen)==
 
==Folgen maximaler Länge (M-Sequenzen)==
 
<br>
 
<br>
Sind nicht alle $L$ Speicherzellen des Schieberegisters mit Nullen vorbelegt, so entsteht stets eine periodische Zufallsfolge $〈z_ν\rangle$:  
+
Sind nicht alle&nbsp; $L$&nbsp; Speicherzellen des Schieberegisters mit Nullen vorbelegt,&nbsp; so entsteht stets eine periodische Zufallsfolge&nbsp; $〈z_ν\rangle$:
*Die Periodenlänge $P$ dieser Folge hängt im starken Maße von den Rückkopplungskoeffizienten ab.  
+
[[Datei: P_ID35__Sto_T_2_5_S5.png|right|frame|Zusammenstellung einiger günstiger Generatorpolynome]]
*Für jeden Grad $L$ gibt es zumindest eine Konfiguration mit der ''maximalen Periodenlänge''
+
*Die Periodenlänge&nbsp; $P$&nbsp; dieser Folge hängt im starken Maße von den Rückkopplungskoeffizienten ab.  
 +
*Für jeden Grad&nbsp; $L$&nbsp; gibt es zumindest eine Konfiguration mit der maximalen Periodenlänge
 
:$$P_{\rm max} = \rm 2^{\it L}-\rm 1.$$
 
:$$P_{\rm max} = \rm 2^{\it L}-\rm 1.$$
Eine solche PN-Folge bezeichnet man auch oft als $\rm M-Sequenz$, wobei das $\rm M$ für „Maximal“ steht.  
+
*Eine solche PN-Folge bezeichnet man auch oft als&nbsp; '''M-Sequenz''',&nbsp; wobei das&nbsp; "M"&nbsp; für&nbsp; "Maximal"&nbsp; steht.
 +
 
 +
 
 +
 +
In der Tabelle sind PN-Generatoren maximaler Länge bis zum Grad&nbsp; $L = 31$&nbsp; aufgeführt.
 +
*Die Auswahl ist auf Konfigurationen mit nur einer Anzapfung &ndash; also mit zwei Rückführungen &ndash; beschränkt.
 +
*Das bedeutet,&nbsp; dass die zugehörigen Polynome nur aus drei Summanden bestehen.
 +
*Solche Generatoren sind besonders für solche Applikationen  sehr nützlich,&nbsp; die eine hohe Geschwindigkeit erfordern.  
 +
<br clear=all>
  
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
$\text{Vorerst ohne Beweis:}$&nbsp;
+
$\text{Vorerst ohne Beweis:}$&nbsp;  
Eine M-Sequenz kann man daran erkennen, dass das Generatorpolynom $G(D)$ primitiv ist. Wie im Buch [[Kanalcodierung]]  noch ausführlich dargelegt werden wird, bezeichnet man ein Polynom $G(D)$ vom Grad $L$ dann als '''primitiv''', wenn folgende Bedingung erfüllt ist:  
+
#&nbsp; Eine&nbsp; '''M-Sequenz'''&nbsp; kann man daran erkennen,&nbsp; dass das Generatorpolynom&nbsp; $G(D)$&nbsp; primitiv ist.&nbsp;
:$$\frac{(D^n+\rm 1)}{\it G(D)} \neq 0\hspace{0.5cm} {\rm f\ddot{u}r}\hspace{0.5cm}\it n<P_{\rm max} \rm = \rm 2^{\it L}-\rm 1.$$}}
+
#&nbsp; Wie im Buch&nbsp; [[Kanalcodierung]]&nbsp; dargelegt wird,&nbsp; bezeichnet man ein Polynom&nbsp; $G(D)$&nbsp; vom Grad&nbsp; $L$&nbsp; dann als&nbsp; '''primitiv''',&nbsp; wenn folgende Bedingung erfüllt ist:  
 
+
::$$\frac{(D^n+\rm 1)}{\it G(D)} \neq 0\hspace{0.5cm} {\rm f\ddot{u}r}\hspace{0.5cm}\it n<P_{\rm max} \rm = \rm 2^{\it L}-\rm 1.$$}}
  
In der Tabelle sind einige PN-Generatoren maximaler Länge bis zum Grad $L = 31$ aufgeführt. Die Auswahl ist auf Konfigurationen mit nur einer Anzapfung – also mit zwei Rückführungen – beschränkt. Das bedeutet, dass die zugehörigen Polynome jeweils aus drei Summanden bestehen. Für Applikationen, die eine hohe Geschwindigkeit erfordern, sind solche Generatoren sehr nützlich.
 
  
[[Datei: P_ID35__Sto_T_2_5_S5.png|center|frame|Zusammenstellung einiger günstiger Generatorpolynome]]
 
  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
$\text{Beispiel 3:}$&nbsp;
+
$\text{Beispiel 3:}$&nbsp; Ein Schieberegister vom Grad&nbsp; $L = 4$&nbsp; mit Oktalkennung&nbsp; $(31)$&nbsp; und Generatorpolynom&nbsp; $G(D) = D^4 + D^3 + 1$&nbsp; führt zu einer Folge maximaler Länge:
Ein Schieberegister vom Grad $L = 4$ mit Oktalkennung $(31)$ und Generatorpolynom $G(D) = D^4 + D^3 + 1$ führt zu einer Folge maximaler Länge: $P_{\rm max} = 2^4 1 = 15.$ Der mathematische Nachweis hierfür ist aufwändig:  
+
:$$P_{\rm max} = 2^4 - 1 = 15.$$
*Man muss anhand obiger Polynomdivision für $n = 1$, ... , $14$ zeigen, dass der Quotient stets ungleich $0$ ist. Erst die Division $(D^{15} + 1)/G(D)$ darf ein Ergebnis ohne Rest liefern.  
+
Der mathematische Nachweis hierfür ist aufwändig:  
*Hierbei ist zu berücksichtigen, dass in der Modulo-2-Algebra $+1$ und $–1$ identisch sind. }}
+
*Man muss anhand obiger Polynomdivision für&nbsp; $n = 1$, &nbsp;...&nbsp; , $14$&nbsp; zeigen,&nbsp; dass der Quotient stets ungleich Null ist.  
 
+
*Erst die Division&nbsp; $(D^{15} + 1)/G(D)$&nbsp; darf ein Ergebnis ohne Rest liefern.  
 
+
*Hierbei ist zu berücksichtigen,&nbsp; dass in der Modulo-2-Algebra&nbsp; $+1$&nbsp; und&nbsp; $–1$&nbsp; identisch sind. }}
  
  
Zeile 85: Zeile 94:
 
{{BlaueBox|TEXT=   
 
{{BlaueBox|TEXT=   
 
$\text{Definition:}$&nbsp;
 
$\text{Definition:}$&nbsp;
Das zum Generatorpolynom $G(D)$ gehörige '''reziproke Polynom''' lautet:  
+
Das zum Generatorpolynom&nbsp; $G(D)$&nbsp; gehörige&nbsp; '''reziproke Polynom'''&nbsp; lautet:  
 
:$$G_{\rm R}(D)=D^{L}\cdot G(D^{-1}).$$}}
 
:$$G_{\rm R}(D)=D^{L}\cdot G(D^{-1}).$$}}
  
  
Zwischen den beiden Schiebregistern mit den Polynomen $G(D)$ bzw. $G_{\rm R}(D)$ bestehen folgende Zusammenhänge:  
+
Zwischen den beiden Schiebregistern mit den Polynomen&nbsp; $G(D)$&nbsp; bzw.&nbsp; $G_{\rm R}(D)$&nbsp; bestehen folgende Zusammenhänge:  
*Liefert $G(D)$ eine Folge maximaler Länge $P_{\rm max} = 2^L 1$, so ist auch die Periodenlänge des reziproken Polynoms $G_{\rm R}(D)$ maximal.  
+
*Liefert&nbsp; $G(D)$&nbsp; eine Folge maximaler Länge &nbsp; &nbsp; $P_{\rm max} = 2^L - 1$,&nbsp; so ist auch die Periodenlänge des reziproken Polynoms&nbsp; $G_{\rm R}(D)$&nbsp; maximal.  
*Die Ausgangsfolgen reziproker Konfigurationen sind zueinander invers: Die Folge von $G(D)$ von rechts nach links gelesen ergibt die Folge der reziproken Anordnung $G_{\rm R}(D)$.  
+
*Die Ausgangsfolgen reziproker Konfigurationen sind zueinander invers.&nbsp; Das heißt:  
 +
*Die Folge von&nbsp; $G(D)$&nbsp; &ndash; von rechts nach links gelesen &ndash; &nbsp;ergibt die Folge der reziproken Anordnung&nbsp; $G_{\rm R}(D)$.  
  
  
In [[Stochastische_Signaltheorie/Erzeugung_von_diskreten_Zufallsgrößen#Folgen_maximaler_L.C3.A4nge_.28M-Sequenzen.29|obiger Tabelle]] sind in der dritten Spalte die zu $G(D)$ zugehörigen reziproken Polynome $G_{\rm R}(D)$ bis zum Registergrad $L = 31$ angegeben.  
+
In&nbsp; [[Stochastische_Signaltheorie/Erzeugung_von_diskreten_Zufallsgrößen#Folgen_maximaler_L.C3.A4nge_.28M-Sequenzen.29|obiger Tabelle]]&nbsp; sind in der dritten Spalte die zu&nbsp; $G(D)$&nbsp; zugehörigen reziproken Polynome&nbsp; $G_{\rm R}(D)$&nbsp; bis zum Registergrad&nbsp; $L = 31$&nbsp; angegeben. &nbsp; <br>Die in diesem Abschnitt behandelte Thematik ist im Lernvideo&nbsp; [[Erläuterung_der_PN–Generatoren_an_einem_Beispiel_(Lernvideo)|"Erläuterung  der PN-Generatoren an einem Beispiel"]]&nbsp;  zusammengefasst.  
  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
 
$\text{Beispiel 4:}$&nbsp;
 
$\text{Beispiel 4:}$&nbsp;
Wir betrachten wieder den Grad $L = 4$.  
+
Wir betrachten wieder den Grad&nbsp; $L = 4$.  
  
*Ausgehend von der Schieberegisterstruktur $(31)_{\rm oct}$ erhält man für das reziproke Polynom  
+
*Ausgehend von der Schieberegisterstruktur&nbsp; $(31)_{\rm okt}$&nbsp; erhält man für das reziproke Polynom  
 
:$$G_{\rm R}(D) = D^{\rm 4}\cdot (1+D^{-3}  + D^{ -4})=D^{ 4}+D^{1}+\rm 1$$
 
:$$G_{\rm R}(D) = D^{\rm 4}\cdot (1+D^{-3}  + D^{ -4})=D^{ 4}+D^{1}+\rm 1$$
  
:und damit die Konfiguration mit der Oktalkennung (23).  
+
:und damit die Konfiguration mit der Oktalkennung&nbsp; $(23)$.  
*Die entsprechenden Ausgangsfolgen haben jeweils die maximale Periodenlänge $P_{\rm max} = 15$ und sind zueinander invers:  
+
*Die entsprechenden Ausgangsfolgen haben jeweils die maximale Periodenlänge&nbsp; $P_{\rm max} = 15$&nbsp; und sind zueinander invers:  
:* ... $0 \ 0  \ 0  \ 1 \ 0  \ 0  \ 1  \ 1 \  0  \  1  \ 0  \ 1  \ 1  \ 1  \ 1$ ...  
+
** ... $0 \ 0  \ 0  \ 1 \ 0  \ 0  \ 1  \ 1 \  0  \  1  \ 0  \ 1  \ 1  \ 1  \ 1$ ...  
:* ... $0  \ 1  \ 0  \ 1  \ 1  \ 0  \  0  \ 1  \ 0  \ 0  \ 0  \ 1  \ 1  \ 1  \ 1$ ...  
+
** ... $0  \ 1  \ 0  \ 1  \ 1  \ 0  \  0  \ 1  \ 0  \ 0  \ 0  \ 1  \ 1  \ 1  \ 1$ ...  
  
*Das bedeutet, dass die Ausgangsfolge von $(31)$, von rechts nach links gelesen, die Folge der reziproken Anordnung $(23)$ ergibt. Zu erkennen ist allerdings eine zyklische Phasenverschiebung um vier Binärstellen. }}
+
*Das bedeutet,&nbsp; dass die obere Ausgangsfolge von&nbsp; $(31)$,&nbsp; von rechts nach links gelesen,&nbsp; die unten angegebene Folge der reziproken Anordnung&nbsp; $(23)$&nbsp; ergibt.  
 +
*Zu erkennen ist allerdings eine zyklische Phasenverschiebung um vier Binärstellen. }}
  
  
Die in diesem Abschnitt behandelte Thematik ist im Lernvideo [[Erläuterung_der_PN–Generatoren_an_einem_Beispiel_(Lernvideo)|Erläuterung  der PN-Generatoren an einem Beispiel]]  zusammengefasst.
 
  
  
 
==Erzeugung mehrstufiger Zufallsgrößen==
 
==Erzeugung mehrstufiger Zufallsgrößen==
 
<br>
 
<br>
Viele höhere Programmiersprachen bieten Pseudo-Zufallsgeneratoren an, die reelle, zwischen $0$ und $1$ gleichverteilte Zufallszahlen $x$ liefern. Beispielsweise lautet ein entsprechender C-Funktionsaufruf:  
+
Viele höhere Programmiersprachen bieten Pseudo-Zufallsgeneratoren an, die reelle, zwischen&nbsp; $0$&nbsp; und&nbsp; $1$&nbsp; gleichverteilte Zufallszahlen&nbsp; $x$&nbsp; liefern.&nbsp; Beispielsweise lautet ein entsprechender C-Funktionsaufruf:  
  
 
:$$x = \text{random()}.$$
 
:$$x = \text{random()}.$$
  
Durch sukzessives Aufrufen der &bdquo;Random-Funktion&rdquo; entsteht eine periodisch sich wiederholende Folge reeller Zahlen, wobei alle Funktionswerte $0 \le x < 1$ gleichwahrscheinlich sind &nbsp; &rArr; &nbsp; siehe Kapitel [[Stochastische_Signaltheorie/Gleichverteilte_Zufallsgrößen|Gleichverteilte Zufallsgrößen]].  
+
Durch sukzessives Aufrufen dieser&nbsp; &bdquo;Random-Funktion&rdquo;&nbsp; entsteht eine periodisch sich wiederholende Folge reeller Zahlen,&nbsp; wobei alle Funktionswerte&nbsp; $0 \le x < 1$&nbsp; gleichwahrscheinlich sind &nbsp; &rArr; &nbsp; siehe Kapitel&nbsp; [[Stochastische_Signaltheorie/Gleichverteilte_Zufallsgrößen|Gleichverteilte Zufallsgrößen]].  
* Da die Periodendauer $P$ jedoch sehr groß ist, kann diese Folge als ''pseudozufällig'' angesehen werden.  
+
* Da die Periodendauer&nbsp; $P$&nbsp; jedoch sehr groß ist,&nbsp; kann diese Folge als&nbsp; "pseudozufällig"&nbsp; angesehen werden.  
 
*Durch Angabe eines Startwertes wird an bestimmten Stellen der Pseudozufallsfolge begonnen.  
 
*Durch Angabe eines Startwertes wird an bestimmten Stellen der Pseudozufallsfolge begonnen.  
  
  
Bei der Generierung einer wertdiskreten mehrstufigen Zufallsgröße $z$ wird zweckmäßigerweise von einer solchen wertkontinuierlichen, gleichverteilten Zufallsgröße $x$ ausgegangen.
+
Bei der Generierung einer wertdiskreten mehrstufigen Zufallsgröße&nbsp; $z$&nbsp; wird zweckmäßigerweise von einer solchen gleichverteilten Zufallsgröße&nbsp; $x$&nbsp; ausgegangen.
  
 
{{GraueBox|TEXT=   
 
{{GraueBox|TEXT=   
 
$\text{Beispiel 5:}$&nbsp;
 
$\text{Beispiel 5:}$&nbsp;
Die folgende Grafik zeigt das Prinzip für den Sonderfall $M = 3$, wobei die gewünschten Auftrittswahrscheinlichkeiten mit $p_0$, $p_1$ und $p_2$ bezeichnet sind. Dann gilt:
+
Die Grafik zeigt das Prinzip für den Sonderfall&nbsp; $M = 3$ &nbsp; &rArr; &nbsp; ternäre Zufallsfolge&nbsp; $〈z_{\rm ν}〉$&nbsp; mit&nbsp; $z_{\rm ν} ∈ \{0,\ 1,\ 2\}$.&nbsp; Ausgegangen wird hierbei von der zwischen&nbsp; $0$&nbsp; und&nbsp; $1$&nbsp; gleichverteilten Zufallsgröße&nbsp; $x$.  
 
+
[[Datei:P_ID457__Sto_T_2_5_S6neu.png|right|frame|Zur Erzeugung mehrstufiger Zufallsgrößen]]
*Ist der aktuelle Wert $x$ der zwischen $0$ und $1$ gleichverteilten Zufallsgröße kleiner als $p_0$, so wird die ternäre Zufallsgröße $z =$ 0 gesetzt.
+
Die gewünschten Auftrittswahrscheinlichkeiten sind wie folgt bezeichnet:
*Im Bereich $p_0 ≤ x < p_0 + p_1$ wird $z = 1$ gesetzt.
+
*$p_0 = {\rm Pr}(z_{\rm ν} =0)$,
*Für $x > p_0 + p_1$ wird die Zufallsgröße zu $z =2$.
+
*$p_1 = {\rm Pr}(z_{\rm ν} =1)$,
 
+
*$p_2 = {\rm Pr}(z_{\rm ν} =2)$.
[[Datei:P_ID457__Sto_T_2_5_S6neu.png|center|frame|Zur Erzeugung mehrstufiger Zufallsgrößen]]
 
  
  
Im aufgeführten C-Programm ergibt sich für $M = 3$ und für den aktuellen Zufallswert $x = 0.57$ für das Produkt $x · M = 0.57 · 3 = 1.71$ und somit die diskrete Zufallsgröße $z = 1$. Für einen zweiten Zufallswert $x = 0.95$ würde die Funktion dagegen das Ergebnis $z = 2$ liefern.  
+
Dann gilt:
 +
*Ist das aktuelle&nbsp; $x_{\rm ν} <p_0$,&nbsp; so wird die ternäre Zufallsgröße&nbsp; $z_{\rm ν} = 0$&nbsp; gesetzt.
 +
*Im Bereich&nbsp; $p_0 ≤ x_{\rm ν} < p_0 + p_1$&nbsp; wird&nbsp; $z_{\rm ν} = 1$&nbsp; ausgegeben.
 +
*Für&nbsp; $x_{\rm ν} \ge p_0 + p_1$&nbsp; wird die ternäre Zufallsgröße zu&nbsp; $z_{\rm ν} =2$.
 +
<br clear=all>
 +
Im aufgeführten C-Programm ergibt sich für&nbsp; $M = 3$&nbsp; und für den aktuellen Zufallswert&nbsp; $x = {\rm random()}=0.57$&nbsp; für das Produkt&nbsp; $x · M = 0.57 · 3 = 1.71$&nbsp; und somit die ternäre Zufallsgröße&nbsp; $z = 1$.&nbsp; Für einen anderenen Zufallswert&nbsp; $x = 0.95$&nbsp; würde die Funktion dagegen das Ergebnis&nbsp; $z = 2$&nbsp; liefern.  
  
Aus Darstellungsgründen wurde hier eine etwas umständliche Programmierung gewählt. Der oben angegebene C-Programmteil könnte auch sehr viel kompakter geschrieben werden:  
+
Aus Verständnisgründen wurde hier eine umständliche Programmierung gewählt.&nbsp; Der angegebene C-Programmteil könnte auch kompakter geschrieben werden:  
 
:$$\text{\{ float random(); return((long) (random()*M)); \} }$$}}
 
:$$\text{\{ float random(); return((long) (random()*M)); \} }$$}}
  

Aktuelle Version vom 28. Dezember 2021, 15:21 Uhr

Pseudozufallsgrößen


Eine Möglichkeit zur Erzeugung einer binären Zufallsfolge  $〈z_{\rm ν}〉 ∈ \{0, 1\}$  mit guten statistischen Eigenschaften bieten die so genannten  Pseudozufallsgeneratoren,  auch bekannt unter dem Namen  PN-Generatoren,  wobei  "PN"  für  "Pseudo-noise"  steht.

Diese besitzen folgende Eigenschaften:

  • Die durch einen solchen Generator erzeugte Binärfolge ist im strengen Sinne nicht stochastisch,  sondern weist periodische und damit deterministische Eigenschaften auf.
  • Ist die Periodenlänge  $P$  hinreichend groß,  erscheint die Folge für einen Betrachter als zufällig mit für viele Anwendungen hinreichend guten statistischen Eigenschaften.
  • Vorteil eines Pseudozufallsgenerators gegenüber einer echten stochastischen Quelle ist,  dass die Zufallsfolge bei Kenntnis einiger weniger Parameter reproduzierbar ist.


$\text{Beispiel 1:}$  Aus der zuletzt genannten Eigenschaft heraus ergeben sich auch die wichtigsten Anwendungen der Pseudonoise-Generatoren:

  • zum einen die Fehlerhäufigkeitsmessung bei der Digitalsignalübertragung,
  • zum zweiten zur Bandspreizung bei CDMA  ("Code Division Multiple Access").


Bei einem solchen  "Spread Spectrum System"  wird das Sendesignal mit einer binären Zufallsfolge moduliert,  deren Symbolfolgefrequenz deutlich größer als die Bitfrequenz ist.  Dadurch bietet sich die Möglichkeit der Mehrfachausnutzung von Kanälen.  Da am Empfänger die gleiche Folge phasenrichtig zugesetzt werden muss,  ist auch hier der Einsatz von reproduzierbaren PN-Sequenzen üblich.

Ausführliche Informationen zu den Bandspreizverfahren finden Sie im Kapitel  UMTS – Universal Mobile Telecommunications System  des Buches „Beispiele von Nachrichtensystemen”.

Realisierung von PN-Generatoren


Pseudozufallsgeneratoren werden meist durch rückgekoppelte Schieberegister realisiert,  wobei zu jedem Taktzeitpunkt der Inhalt des Registers um eine Stelle nach rechts geschoben wird  (siehe Grafik).  Für das aktuell erzeugte Symbol gilt mit  $g_l ∈ \{0,\ 1\}$  und  $l = 1$, ... , $L–1$:

$$z_\nu = (g_1\cdot z_{\nu-1}+g_2\cdot z_{\nu-2}+\hspace{0.1cm}\text{...}\hspace{0.1cm}+g_l\cdot z_{\nu-l}+\hspace{0.1cm}\text{...}\hspace{0.1cm}+g_{L-1}\cdot z_{\nu-L+1}+ z_{\nu-L})\hspace{0.1cm} \rm mod \hspace{0.2cm}2.$$
  • Die zu vorherigen Zeitpunkten generierten Binärwerte  $z_{ν-1}$  bis  $z_{ν-L}$  sind in den Speicherzellen des Schieberegisters abgelegt.
  • Die Koeffizienten  $g_1$, ... ,  $g_{L–1}$  sind ebenfalls Binärwerte,  wobei eine  $1$  eine Rückkopplung an der entsprechenden Stelle kennzeichnet und eine  $0$  keine Rückführung.
  • Die Modulo-2-Addition kann zum Beispiel durch eine XOR-Verknüpfung realisiert werden:
Pseudo-Noise-Generator
$$(x + y)\hspace{0.15cm} \rm mod\hspace{0.1cm}2 = \it x\hspace{0.15cm}\rm XOR\hspace{0.15cm} \it y = \left\{\begin{array}{*{2}{c}} \rm 0 & \rm falls\hspace{0.1cm} \it x= y,\\ 1 & \rm falls\hspace{0.15cm} \it x\neq y. \\ \end{array} \right.$$

Die statistischen Eigenschaften der erzeugten Pseudonoise-Zufallsfolge  $〈z_{\rm ν}〉$  werden im Wesentlichen bestimmt durch

  • den  Grad  $L$,  und
  • die  Rückführungskoeffizienten  $g_{\hspace{0.05cm}l}$  $($mit  $l = 1$, ... , $L-1)$.


Voraussetzung für die Entstehung einer PN-Folge ist,  dass nicht alle Speicherelemente mit Nullen vorbelegt sind,  da sonst die Modulo-2-Addition immer nur das Symbol  $0$  erzeugen würde.


Zur Kennzeichnung unterschiedlicher PN-Generatoren verwendet man in der Literatur alternativ:

  • die sogenannten  Generatorpolynome  von der Art
$$G(D) = g_L\cdot D^L+g_{L-1}\cdot D^{L-1}+ \ \text{...} \ +g_1\cdot D+g_0 .$$
Hierbei ist stets  $g_0 = g_L = 1$  zu setzen und  $D$  ein formaler Parameter,  der eine Verzögerung um einen Takt angibt  $(D^L$  kennzeichnet eine Verzögerung um  $L$  Takte$)$;
  • die  Oktaldarstellung  der Binärzahl  $(g_L\ \text{ ...} \ g_2 \ g_1 \ g_0)$.  Wichtig ist,  dass hierbei die Rückkopplungskoeffizienten – von rechts mit  $g_0$  beginnend – zu Tripeln zusammengefasst und diese oktal  $(0 \ \text{...}\ 7)$  geschrieben werden.


$\text{Beispiel 2:}$  Das Generatorpolynom  $D^4 + D^3 + 1$  gehört zu einem Schieberegister vom Grad  $L = 4$  mit folgender Oktaldarstellung

$$(g_4 \ g_3 \ g_2 \ g_1 \ g_0) = (11001)_{\rm bin} = (31)_{\rm okt}. $$

Folgen maximaler Länge (M-Sequenzen)


Sind nicht alle  $L$  Speicherzellen des Schieberegisters mit Nullen vorbelegt,  so entsteht stets eine periodische Zufallsfolge  $〈z_ν\rangle$:

Zusammenstellung einiger günstiger Generatorpolynome
  • Die Periodenlänge  $P$  dieser Folge hängt im starken Maße von den Rückkopplungskoeffizienten ab.
  • Für jeden Grad  $L$  gibt es zumindest eine Konfiguration mit der maximalen Periodenlänge
$$P_{\rm max} = \rm 2^{\it L}-\rm 1.$$
  • Eine solche PN-Folge bezeichnet man auch oft als  M-Sequenz,  wobei das  "M"  für  "Maximal"  steht.


In der Tabelle sind PN-Generatoren maximaler Länge bis zum Grad  $L = 31$  aufgeführt.

  • Die Auswahl ist auf Konfigurationen mit nur einer Anzapfung – also mit zwei Rückführungen – beschränkt.
  • Das bedeutet,  dass die zugehörigen Polynome nur aus drei Summanden bestehen.
  • Solche Generatoren sind besonders für solche Applikationen sehr nützlich,  die eine hohe Geschwindigkeit erfordern.


$\text{Vorerst ohne Beweis:}$ 

  1.   Eine  M-Sequenz  kann man daran erkennen,  dass das Generatorpolynom  $G(D)$  primitiv ist. 
  2.   Wie im Buch  Kanalcodierung  dargelegt wird,  bezeichnet man ein Polynom  $G(D)$  vom Grad  $L$  dann als  primitiv,  wenn folgende Bedingung erfüllt ist:
$$\frac{(D^n+\rm 1)}{\it G(D)} \neq 0\hspace{0.5cm} {\rm f\ddot{u}r}\hspace{0.5cm}\it n<P_{\rm max} \rm = \rm 2^{\it L}-\rm 1.$$


$\text{Beispiel 3:}$  Ein Schieberegister vom Grad  $L = 4$  mit Oktalkennung  $(31)$  und Generatorpolynom  $G(D) = D^4 + D^3 + 1$  führt zu einer Folge maximaler Länge:

$$P_{\rm max} = 2^4 - 1 = 15.$$

Der mathematische Nachweis hierfür ist aufwändig:

  • Man muss anhand obiger Polynomdivision für  $n = 1$,  ...  , $14$  zeigen,  dass der Quotient stets ungleich Null ist.
  • Erst die Division  $(D^{15} + 1)/G(D)$  darf ein Ergebnis ohne Rest liefern.
  • Hierbei ist zu berücksichtigen,  dass in der Modulo-2-Algebra  $+1$  und  $–1$  identisch sind.


Reziproke Polynome


$\text{Definition:}$  Das zum Generatorpolynom  $G(D)$  gehörige  reziproke Polynom  lautet:

$$G_{\rm R}(D)=D^{L}\cdot G(D^{-1}).$$


Zwischen den beiden Schiebregistern mit den Polynomen  $G(D)$  bzw.  $G_{\rm R}(D)$  bestehen folgende Zusammenhänge:

  • Liefert  $G(D)$  eine Folge maximaler Länge   ⇒   $P_{\rm max} = 2^L - 1$,  so ist auch die Periodenlänge des reziproken Polynoms  $G_{\rm R}(D)$  maximal.
  • Die Ausgangsfolgen reziproker Konfigurationen sind zueinander invers.  Das heißt:
  • Die Folge von  $G(D)$  – von rechts nach links gelesen –  ergibt die Folge der reziproken Anordnung  $G_{\rm R}(D)$.


In  obiger Tabelle  sind in der dritten Spalte die zu  $G(D)$  zugehörigen reziproken Polynome  $G_{\rm R}(D)$  bis zum Registergrad  $L = 31$  angegeben.  
Die in diesem Abschnitt behandelte Thematik ist im Lernvideo  "Erläuterung der PN-Generatoren an einem Beispiel"  zusammengefasst.

$\text{Beispiel 4:}$  Wir betrachten wieder den Grad  $L = 4$.

  • Ausgehend von der Schieberegisterstruktur  $(31)_{\rm okt}$  erhält man für das reziproke Polynom
$$G_{\rm R}(D) = D^{\rm 4}\cdot (1+D^{-3} + D^{ -4})=D^{ 4}+D^{1}+\rm 1$$
und damit die Konfiguration mit der Oktalkennung  $(23)$.
  • Die entsprechenden Ausgangsfolgen haben jeweils die maximale Periodenlänge  $P_{\rm max} = 15$  und sind zueinander invers:
    • ... $0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 1 \ 1 \ 0 \ 1 \ 0 \ 1 \ 1 \ 1 \ 1$ ...
    • ... $0 \ 1 \ 0 \ 1 \ 1 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ 1 \ 1 \ 1 \ 1$ ...
  • Das bedeutet,  dass die obere Ausgangsfolge von  $(31)$,  von rechts nach links gelesen,  die unten angegebene Folge der reziproken Anordnung  $(23)$  ergibt.
  • Zu erkennen ist allerdings eine zyklische Phasenverschiebung um vier Binärstellen.



Erzeugung mehrstufiger Zufallsgrößen


Viele höhere Programmiersprachen bieten Pseudo-Zufallsgeneratoren an, die reelle, zwischen  $0$  und  $1$  gleichverteilte Zufallszahlen  $x$  liefern.  Beispielsweise lautet ein entsprechender C-Funktionsaufruf:

$$x = \text{random()}.$$

Durch sukzessives Aufrufen dieser  „Random-Funktion”  entsteht eine periodisch sich wiederholende Folge reeller Zahlen,  wobei alle Funktionswerte  $0 \le x < 1$  gleichwahrscheinlich sind   ⇒   siehe Kapitel  Gleichverteilte Zufallsgrößen.

  • Da die Periodendauer  $P$  jedoch sehr groß ist,  kann diese Folge als  "pseudozufällig"  angesehen werden.
  • Durch Angabe eines Startwertes wird an bestimmten Stellen der Pseudozufallsfolge begonnen.


Bei der Generierung einer wertdiskreten mehrstufigen Zufallsgröße  $z$  wird zweckmäßigerweise von einer solchen gleichverteilten Zufallsgröße  $x$  ausgegangen.

$\text{Beispiel 5:}$  Die Grafik zeigt das Prinzip für den Sonderfall  $M = 3$   ⇒   ternäre Zufallsfolge  $〈z_{\rm ν}〉$  mit  $z_{\rm ν} ∈ \{0,\ 1,\ 2\}$.  Ausgegangen wird hierbei von der zwischen  $0$  und  $1$  gleichverteilten Zufallsgröße  $x$.

Zur Erzeugung mehrstufiger Zufallsgrößen

Die gewünschten Auftrittswahrscheinlichkeiten sind wie folgt bezeichnet:

  • $p_0 = {\rm Pr}(z_{\rm ν} =0)$,
  • $p_1 = {\rm Pr}(z_{\rm ν} =1)$,
  • $p_2 = {\rm Pr}(z_{\rm ν} =2)$.


Dann gilt:

  • Ist das aktuelle  $x_{\rm ν} <p_0$,  so wird die ternäre Zufallsgröße  $z_{\rm ν} = 0$  gesetzt.
  • Im Bereich  $p_0 ≤ x_{\rm ν} < p_0 + p_1$  wird  $z_{\rm ν} = 1$  ausgegeben.
  • Für  $x_{\rm ν} \ge p_0 + p_1$  wird die ternäre Zufallsgröße zu  $z_{\rm ν} =2$.


Im aufgeführten C-Programm ergibt sich für  $M = 3$  und für den aktuellen Zufallswert  $x = {\rm random()}=0.57$  für das Produkt  $x · M = 0.57 · 3 = 1.71$  und somit die ternäre Zufallsgröße  $z = 1$.  Für einen anderenen Zufallswert  $x = 0.95$  würde die Funktion dagegen das Ergebnis  $z = 2$  liefern.

Aus Verständnisgründen wurde hier eine umständliche Programmierung gewählt.  Der angegebene C-Programmteil könnte auch kompakter geschrieben werden:

$$\text{\{ float random(); return((long) (random()*M)); \} }$$


Aufgaben zum Kapitel


Aufgabe 2.6: PN-Generator der Länge 5

Aufgabe 2.6Z: PN-Generator der Länge 3

Aufgabe 2.7: C-Programme z1 und z2

Zusatzaufgabe 2.7Z: C-Programm z3