Aufgaben:Aufgabe 4.11: C-Programm „akf1”: Unterschied zwischen den Versionen

Aus LNTwww
Wechseln zu:Navigation, Suche
Zeile 6: Zeile 6:
 
Sie sehen nebenstehend das C–Programm „akf1” zur Berechnung der diskreten AKF-Werte  φx(k)  mit dem Index  k=0, ... , l.  Hierzu ist Folgendes zu bemerken:
 
Sie sehen nebenstehend das C–Programm „akf1” zur Berechnung der diskreten AKF-Werte  φx(k)  mit dem Index  k=0, ... , l.  Hierzu ist Folgendes zu bemerken:
  
* Der an das Programm übergebene Long–Wert sei  l=10.  Die AKF-Werte  φx(0), ... , φx(10)  werden mit dem Float-Feld  AKF[ ]  an das aufrufende Programm zurückgegeben. In den  Zeilen 7 und  8 des rechts anggebenen Programms wird dieses Feld mit Nullen vorbelegt.
+
* Der an das Programm übergebene Long–Wert sei  l=10.  Die AKF-Werte  φx(0), ... , φx(10)  werden mit dem Float-Feld  AKF[ ]  an das aufrufende Programm zurückgegeben.  In den  Zeilen 7 und  8 des rechts anggebenen Programms wird dieses Feld mit Nullen vorbelegt.
  
* Die zu analysierenden Zufallsgrößen  xν  werden mit der Float-Funktion  x( )  erzeugt (siehe Zeile 4).  Diese Funktion wird insgesamt  N+l+1=10011  mal aufgerufen (Zeile 9 und 18).
+
* Die zu analysierenden Zufallsgrößen  xν  werden mit der Float-Funktion  x( )  erzeugt (siehe Zeile 4).  Diese Funktion wird insgesamt  N+l+1=10011  mal aufgerufen  (Zeile 9 und 18).
  
* Im Gegensatz zu dem im  [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Numerische_AKF-Ermittlung|Theorieteil]]  angegebenen Algorithmus, der im Programm  „akf2”  von  [[Aufgaben:4.11Z_C-Programm_„akf2”|Aufgabe 4.11Z]]  direkt umgesetzt ist, benötigt man hier ein Hilfsfeld  H[ ]  mit nur  l+1=11  Speicherelementen.
+
* Im Gegensatz zu dem im  [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Numerische_AKF-Ermittlung|Theorieteil]]  angegebenen Algorithmus,  der im Programm  „akf2”  von  [[Aufgaben:4.11Z_C-Programm_„akf2”|Aufgabe 4.11Z]]  direkt umgesetzt ist,  benötigt man hier ein Hilfsfeld  H[ ]  mit nur  l+1=11  Speicherelementen.
  
* Vor Beginn des eigentlichen Berechnungsalgorithmus (Zeile 11 bis 21) stehen in den elf Speicherzellen von  H[ ]  die Zufallswerte  x1, ... ,  x11.
+
* Vor Beginn des eigentlichen Berechnungsalgorithmus  (Zeile 11 bis 21)  stehen in den elf Speicherzellen von  H[ ]  die Zufallswerte  x1, ... ,  x11.  Die äußere Schleife mit der Laufvariablen  z  (rot markiert) wird  N-mal durchlaufen.
 
+
* Die äußere Schleife mit der Laufvariablen  z  (rot markiert) wird  N-mal durchlaufen.  
 
 
*In der inneren Schleife  (weiß markiert)  werden mit dem Laufindex  k=0, ... ,  l  alle Speicherzellen des Feldes  AKF[k]  um den Beitrag  xνxν+k  erhöht.
 
*In der inneren Schleife  (weiß markiert)  werden mit dem Laufindex  k=0, ... ,  l  alle Speicherzellen des Feldes  AKF[k]  um den Beitrag  xνxν+k  erhöht.
  
Zeile 24: Zeile 23:
  
  
''Hinweise:''  
+
'''Hinweise:'''  
 
*Die Aufgabe gehört zum  Kapitel  [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)|Autokorrelationsfunktion]].
 
*Die Aufgabe gehört zum  Kapitel  [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)|Autokorrelationsfunktion]].
 
*Bezug genommen wird insbesondere auf die Seite  [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Numerische_AKF-Ermittlung|Numerische AKF-Ermittlung]].
 
*Bezug genommen wird insbesondere auf die Seite  [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Numerische_AKF-Ermittlung|Numerische AKF-Ermittlung]].
Zeile 34: Zeile 33:
  
 
<quiz display=simple>
 
<quiz display=simple>
{Welche Elemente&nbsp; i&nbsp; und&nbsp; j&nbsp;  des Hilfsfeldes&nbsp; H[ ]&nbsp; werden <u>beim ersten Durchlauf</u>&nbsp; (z=0)&nbsp; zur Berechnung des AKF&ndash;Wertes&nbsp; φ(k=6)&nbsp; verwendet? <br>Welche Zufallswerte&nbsp; xν&nbsp; stehen in diesen Speicherzellen?
+
{Welche Elemente&nbsp; i&nbsp; und&nbsp; j&nbsp;  des Hilfsfeldes&nbsp; H[ ]&nbsp; werden&nbsp; <u>beim ersten Durchlauf</u> &nbsp; (z=0)&nbsp; zur Berechnung des AKF&ndash;Wertes&nbsp; φ(k=6)&nbsp; verwendet? <br>Welche Zufallswerte&nbsp; xν&nbsp; stehen in diesen Speicherzellen?
 
|type="{}"}
 
|type="{}"}
 
i =   { 0. }
 
i =   { 0. }
Zeile 40: Zeile 39:
  
  
{Welche Speicherzelle&nbsp;  H[i]&nbsp; wird <u>nach dem ersten Schleifendurchgang</u>&nbsp; (z=0)&nbsp; mit einer neuen Zufallsgr&ouml;&szlig;e&nbsp; xν&nbsp; belegt? <br>Welcher Index&nbsp; ν&nbsp; wird dabei eingetragen?
+
{Welche Speicherzelle&nbsp;  H[i]&nbsp; wird&nbsp; <u>nach dem ersten Schleifendurchgang</u> &nbsp; (z=0)&nbsp; mit einer neuen Zufallsgr&ouml;&szlig;e&nbsp; xν&nbsp; belegt? <br>Welcher Index&nbsp; ν&nbsp; wird dabei eingetragen?
 
|type="{}"}
 
|type="{}"}
 
i =   { 0. }
 
i =   { 0. }

Version vom 21. März 2022, 17:53 Uhr

C-Programm  1  zur AKF–Berechnung

Sie sehen nebenstehend das C–Programm „akf1” zur Berechnung der diskreten AKF-Werte  φx(k)  mit dem Index  k=0, ... , l.  Hierzu ist Folgendes zu bemerken:

  • Der an das Programm übergebene Long–Wert sei  l=10.  Die AKF-Werte  φx(0), ... , φx(10)  werden mit dem Float-Feld  AKF[ ]  an das aufrufende Programm zurückgegeben.  In den Zeilen 7 und 8 des rechts anggebenen Programms wird dieses Feld mit Nullen vorbelegt.
  • Die zu analysierenden Zufallsgrößen  xν  werden mit der Float-Funktion  x( )  erzeugt (siehe Zeile 4).  Diese Funktion wird insgesamt  N+l+1=10011  mal aufgerufen  (Zeile 9 und 18).
  • Im Gegensatz zu dem im  Theorieteil  angegebenen Algorithmus,  der im Programm  „akf2”  von  Aufgabe 4.11Z  direkt umgesetzt ist,  benötigt man hier ein Hilfsfeld  H[ ]  mit nur  l+1=11  Speicherelementen.
  • Vor Beginn des eigentlichen Berechnungsalgorithmus  (Zeile 11 bis 21)  stehen in den elf Speicherzellen von  H[ ]  die Zufallswerte  x1, ... ,  x11.  Die äußere Schleife mit der Laufvariablen  z  (rot markiert) wird  N-mal durchlaufen.
  • In der inneren Schleife  (weiß markiert)  werden mit dem Laufindex  k=0, ... ,  l  alle Speicherzellen des Feldes  AKF[k]  um den Beitrag  xνxν+k  erhöht.
  • In den Zeilen 22 und 23 werden schließlich alle AKF–Werte durch die Anzahl  N  der analysierten Daten dividiert.




Hinweise:



Fragebogen

1

Welche Elemente  i  und  j  des Hilfsfeldes  H[ ]  werden  beim ersten Durchlauf   (z=0)  zur Berechnung des AKF–Wertes  φ(k=6)  verwendet?
Welche Zufallswerte  xν  stehen in diesen Speicherzellen?

i = 

j = 

2

Welche Speicherzelle  H[i]  wird  nach dem ersten Schleifendurchgang   (z=0)  mit einer neuen Zufallsgröße  xν  belegt?
Welcher Index  ν  wird dabei eingetragen?

i = 

ν = 

3

Welche Speicherelemente  H[i]  und  H[j]  werden beim Schleifendurchlauf  z=83  zur Berechnung des AKF-Wertes  φ(k=6)  verwendet?
Welche Zufallswerte stehen in diesen Speicherzellen?

i = 

j = 


Musterlösung

Zur numerischen AKF-Berechnung


(1)  Mit  z=0  und  k=6  ergibt sich gemäß dem Programm:   i=0_  und  j=6_.

  • Die entsprechenden Speicherinhalte sind  H[0]=x1  und  H[6]=x7.



(2)  In das Feld  H[0]  wird nun die Zufallsgröße  x12  eingetragen:

Speicherzelle i=0_,Folgenindex ν=12_.


(3)  Die Grafik zeigt die Belegung des Hilfsfeldes mit den Zufallswerten  xν.

  • Jeweils grün hinterlegt ist die Speicherzelle  H[i].  In diesen Speicherplatz wird jeweils am Ende der Schleife (Zeile 18) die neue Zufallsgröße eingetragen.
  • Für  z=83  und  K=6  ergibt sich
i=83mod 11=6_,j=(i+k)mod 11=1_.
  • Schleifendurchlauf  z=83:   In der Speicherzelle  H[6]  steht die Zufallsgröße  x84  und in der Speicherzelle  H[1]  die Zufallsgröße  x90.
  • Am Ende des Schleifendurchlaufs  z=83  wird in  H[6]  der Inhalt  x84  durch  x95  ersetzt.