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

Aus LNTwww
Wechseln zu:Navigation, Suche
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
 
}}
 
}}
  
[[Datei:P_ID395__Sto_Z_4_11.png|right|frame|C-Programm 2 zur AKF–Berechnung]]
+
[[Datei:P_ID395__Sto_Z_4_11.png|right|frame|C-Programm  $2$  zur AKF–Berechnung]]
Sie sehen rechts das C-Programm „akf2” zur Berechnung der diskreten AKF-Werte $\varphi_x(k)$ mit Index $k = 0$, ... , $l$.  
+
Sie sehen rechts das C-Programm „akf2” zur Berechnung der diskreten AKF-Werte  $\varphi_x(k)$  mit Index  $k = 0$, ... , $l$.  
  
Im Gegensatz zum  Programm „akf1” aus [[Aufgaben:4.11_C-Programm_„akf1”|Aufgabe 4.11]] wird hier der im Theorieteil beschriebene Algorithmus direkt angewendet. Dabei ist zu beachten:
+
Im Gegensatz zum  Programm „akf1” aus  [[Aufgaben:4.11_C-Programm_„akf1”|Aufgabe 4.11]]  wird hier der im Theorieteil beschriebene Algorithmus direkt angewendet.  Dabei ist zu beachten:
  
*Der an das Programm übergebene Long-Wert sei hier $l=10$.  
+
*Der an das Programm übergebene Long-Wert sei hier  $l=10$.  
*Die berechneten AKF-Werte  $\varphi_x(0)$, ... , $\varphi_x(10)$ werden mit dem Float-Feld $\rm AKF[ \  ]$ an das Hauptprogramm zurückgegeben. In den Zeilen 7 und 8 wird dieses Feld mit Nullen vorbelegt.
+
*Die berechneten AKF-Werte  $\varphi_x(0)$, ... , $\varphi_x(10)$  werden mit dem Float-Feld  $\rm AKF[ \  ]$  an das Hauptprogramm zurückgegeben.  In den Zeilen 7 und 8 wird dieses Feld mit Nullen vorbelegt.
*Die Zufallsgröße $x( \  )$ ist als Float-Funktion in Zeile 4 definiert, ebenso ein Hilfsfeld ${\rm H}[10000 ]$, in das die $N = 10000$ Abtastwerte $x_\nu$ eingetragen werden (Zeile 9 und 10).
+
*Die Zufallsgröße  $x( \  )$  ist als Float-Funktion in Zeile 4 definiert,  ebenso ein Hilfsfeld  ${\rm H}[10000 ]$,  in das die  $N = 10000$  Abtastwerte  $x_\nu$  eingetragen werden  (Zeile 9 und 10).
 
*Die Bezeichnungen der Laufvariablen in Zeile 6 sind an den angegebenen Algorithmus angepasst.
 
*Die Bezeichnungen der Laufvariablen in Zeile 6 sind an den angegebenen Algorithmus angepasst.
*Die eigentliche AKF-Berechnung erfolgt ab Zeile 11. Dieser Programmteil ist im Programmcode rot gekennzeichnet.
+
*Die eigentliche AKF-Berechnung erfolgt ab Zeile 11.  Dieser Programmteil ist im Programmcode rot gekennzeichnet.
  
  
  
  
 
+
Hinweise:  
''Hinweise:''
+
*Die Aufgabe gehört zum  Kapitel  [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)|Autokorrelationsfunktion]].
*Die Aufgabe gehört zum  Kapitel [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)|Autokorrelationsfunktion]].
+
*Insbesondere wird Bezug genommen  auf die Seiten 
*Insbesondere wird Bezug genommen  auf die Seiten  
 
 
**[[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Numerische_AKF-Ermittlung|Numerische AKF-Ermittlung]],
 
**[[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Numerische_AKF-Ermittlung|Numerische AKF-Ermittlung]],
 
**[[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Genauigkeit_der_numerischen_AKF-Berechnung|Genauigkeit der numerischen AKF-Berechnung]].
 
**[[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Genauigkeit_der_numerischen_AKF-Berechnung|Genauigkeit der numerischen AKF-Berechnung]].
Zeile 29: Zeile 28:
  
 
<quiz display=simple>
 
<quiz display=simple>
{Auf wie vielen Summanden ($S$) basiert die AKF-Berechnung f&uuml;r den Index $k=0$ &nbsp;bzw.&nbsp; für $k=10$?
+
{Auf wie vielen Summanden&nbsp; ($S$)&nbsp; basiert die AKF-Berechnung f&uuml;r den Index&nbsp; $k=0$&nbsp; &nbsp;bzw.&nbsp; für&nbsp; $k=10$&nbsp;?
 
|type="{}"}
 
|type="{}"}
$S_{k=0} \ = \ $  { 10000 0.01% }
+
$S_{k=0} \ = \ $  { 10000 }
$S_{k=10} \ = \ $ { 9990 0.01% }
+
$S_{k=10} \ = \ $ { 9990 }
  
  
{Welche der nachfolgenden Aussagen sind richtig?
+
{Welche der folgenden Aussagen sind richtig?
 
|type="[]"}
 
|type="[]"}
+ Die Rechenzeit steigt linear mit $l + 1$, also mit der Anzahl der zu berechnenden AKF-Werte.
+
+ Die Rechenzeit steigt linear mit&nbsp; $l + 1$,&nbsp; also mit der Anzahl der zu berechenden AKF-Werte.
- Die Rechenzeit nimmt mit der Anzahl $N$ der berücksichtigten Abtastwerte quadratisch  zu.
+
- Die Rechenzeit nimmt mit der Anzahl&nbsp; $N$&nbsp; der berücksichtigten Abtastwerte quadratisch  zu.
+ Die Berechnung wird mit steigendem $N$ genauer.
+
+ Die Berechnung wird mit steigendem&nbsp; $N$&nbsp; genauer.
+ Wird eine Floatvariable mit $\rm 4 \ Byte$ dargestellt, so benötigt &bdquo;akf2&rdquo; mindestens $4 \cdot N$ Byte Speicherplatz.
+
+ Wird eine Floatvariable mit&nbsp; $\rm 4 \ Byte$&nbsp; dargestellt,&nbsp; so benötigt &bdquo;akf2&rdquo; mindestens&nbsp; $4 \cdot N$&nbsp; Byte Speicherplatz.
  
  
{Welche der nachfolgenden Aussagen sind zutreffend?
+
{Welche der folgenden Aussagen sind zutreffend?
 
|type="[]"}
 
|type="[]"}
+ Je st&auml;rker die inneren statistischen Bindungen des Prozesses sind, desto <u>ungenauer</u> ist bei gegebenem $N$ das AKF-Ergebnis.
+
+ Je st&auml;rker die inneren statistischen Bindungen des Prozesses sind,&nbsp; desto&nbsp; <u>ungenauer</u>&nbsp; ist bei gegebenem&nbsp; $N$&nbsp; das AKF-Ergebnis.
- Je st&auml;rker die inneren statistischen Bindungen des Prozesses sind, desto <u>genauer</u> ist bei gegebenem $N$ das AKF-Ergebnis.
+
- Je st&auml;rker die inneren statistischen Bindungen des Prozesses sind, desto&nbsp; <u>genauer</u>&nbsp; ist bei gegebenem&nbsp; $N$&nbsp; das AKF-Ergebnis.
+ Besitzt der Prozess statistische Bindungen, so sind die Fehler der numerischen AKF-Berechnung ebenfalls korreliert. &nbsp; &nbsp; <i>Beispiel:</i> <br>&nbsp; &nbsp;Ist der Wert $\varphi_x(k=5)$ zu gro&szlig;, so werden mit gro&szlig;er Wahrscheinlichkeit auch $\varphi_x(k=4)$ und $\varphi_x(k=6)$ zu gro&szlig; sein.
+
+ Besitzt der Prozess statistische Bindungen,&nbsp; so sind die Fehler der numerischen AKF-Berechnung ebenfalls korreliert. <br>&nbsp; &nbsp; <u>Beispiel:</u> &nbsp; &nbsp; Ist der Wert&nbsp; $\varphi_x(k=5)$&nbsp; zu gro&szlig;,&nbsp; so werden mit gro&szlig;er Wahrscheinlichkeit auch&nbsp; $\varphi_x(k=4)$&nbsp; und&nbsp; $\varphi_x(k=6)$&nbsp; zu gro&szlig; sein.
  
  
Zeile 55: Zeile 54:
 
===Musterlösung===
 
===Musterlösung===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Zur Berechnung des AKF-Wertes $\varphi_x(0)$ wird &uuml;ber $\underline{N =10000}$ Summanden gemittelt, f&uuml;r $\varphi_x(10)$ nur &uuml;ber $\underline{N = 9990}$.
+
'''(1)'''&nbsp; Zur Berechnung des AKF-Wertes&nbsp; $\varphi_x(0)$&nbsp; wird &uuml;ber&nbsp; $\underline{N =10000}$&nbsp; Summanden gemittelt,&nbsp; f&uuml;r&nbsp; $\varphi_x(10)$&nbsp; nur &uuml;ber&nbsp; $\underline{N = 9990}$.
 +
 
 +
 
  
 +
'''(2)'''&nbsp; Richtig sind&nbsp; <u>die Lösungsvorschläge 1, 3 und 4</u>:
 +
*Die Rechenzeit steigt mit&nbsp; $N$&nbsp; und&nbsp; $l + 1$&nbsp; n&auml;herungsweise linear an,&nbsp; wie aus der rot hervorgehobenen AKF-Berechnung hervorgeht.
 +
* Die Rechenzeit für die weiteren Programmteile kann demgegen&uuml;ber vernachl&auml;ssigt werden.
 +
*Nat&uuml;rlich wird die Berechnung mit steigendem&nbsp; $N$&nbsp; auch genauer.
 +
*Dies geht hier &ndash; im Gegensatz zum Programm &bdquo;akf1&rdquo; von Aufgabe 4.11 &ndash; allerdings auf Kosten des erforderlichen Speicherbedarfs.
 +
*Da jede Float-Variable genau vier Byte beansprucht,&nbsp; ben&ouml;tigt allein das Hilfsfeld&nbsp; ${\rm H}[10000 ]$&nbsp; einen Speicher von 40 kByte.
  
'''(2)'''&nbsp; Richtig sind <u>die Lösungsvorschläge 1, 3 und 4</u>:
 
*Die Rechenzeit steigt mit $N$ und $l + 1$ n&auml;herungsweise linear an, wie aus der rot hervorgehobenen AKF-Berechnung hervorgeht. Die Rechenzeit für die weiteren Programmteile kann demgegen&uuml;ber vernachl&auml;ssigt werden.
 
*Nat&uuml;rlich wird die Berechnung mit steigendem $N$ auch genauer. Dies geht hier &ndash; im Gegensatz zum Programm &bdquo;akf1&rdquo; von Aufgabe 4.11 &ndash; allerdings auf Kosten des erforderlichen Speicherbedarfs. Da jede Float-Variable genau vier Byte beansprucht, ben&ouml;tigt alleine das Hilfsfeld ${\rm H}[10000 ]$ einen Speicher von 40 kByte.
 
  
  
'''(3)'''&nbsp; Richtig sind die <u>Lösungsvorschläge 1 und 3</u>:
+
'''(3)'''&nbsp; Richtig sind die&nbsp; <u>Lösungsvorschläge 1 und 3</u>:
*Je st&auml;rker die statistischen Bindungen innerhalb des Zufallsprozesses sind, desto ungenauer ist bei gegebenem $N$ die AKF-Berechnung.  
+
*Je st&auml;rker die statistischen Bindungen innerhalb des Zufallsprozesses sind,&nbsp; desto ungenauer ist bei gegebenem&nbsp; $N$&nbsp; die AKF-Berechnung.  
*Diesen Sachverhalt kann man sich beispielsweise anhand der Leistungsberechnung (AKF-Wert bei $k=0$) verdeutlichen: Sind alle  <i>N</i> Abtastwerte statistisch  unabh&auml;ngig, so liefern alle Beitr&auml;ge die maximale Information &uuml;ber den AKF&ndash;Wert  $\varphi_x(k=0)$.
+
*Diesen Sachverhalt kann man sich beispielsweise anhand der Leistungsberechnung&nbsp; $($AKF-Wert bei&nbsp; $k=0)$&nbsp; verdeutlichen:  
*Bestehen jedoch statistische Bindungen zwischen $x_\nu$ und $x_{\nu+1}$, nicht jedoch zwischen $x_\nu$ und $x_{\nu+2}$, so liefern nur die H&auml;lfte aller Abtastwerte die volle Information &uuml;ber $\varphi_x(k=0)$ und die anderen nur eingeschr&auml;nkte Informationen.  
+
**Sind alle&nbsp; $N$&nbsp; Abtastwerte statistisch  unabh&auml;ngig,&nbsp; so liefern alle Beitr&auml;ge die maximale Information &uuml;ber den AKF&ndash;Wert&nbsp; $\varphi_x(k=0)$.
*Dieser auf Korrelationen beruhende Informationsverlust kann in diesem Beispiel nur durch eine Verdopplung von $N$ ausgeglichen werden.
+
**Bestehen jedoch statistische Bindungen zwischen&nbsp; $x_\nu$&nbsp; und&nbsp; $x_{\nu+1}$,&nbsp; nicht jedoch zwischen&nbsp; $x_\nu$&nbsp; und&nbsp; $x_{\nu+2}$, so liefern nur die H&auml;lfte aller Abtastwerte die volle Information &uuml;ber&nbsp; $\varphi_x(k=0)$&nbsp; und die anderen nur eingeschr&auml;nkte Informationen.  
*Die letzte Aussage trifft ebenfalls zu, wie auf der Seite &bdquo;Genauigkeit der numerischen AKF-Berechnung&rdquo; im Theorieteil ausführlich erl&auml;utert wird.  
+
*Dieser auf Korrelationen beruhende Informationsverlust kann in diesem Beispiel nur durch eine Verdopplung von&nbsp; $N$&nbsp; ausgeglichen werden.
 +
*Die letzte Aussage trifft ebenfalls zu,&nbsp; wie auf der Seite &bdquo;Genauigkeit der numerischen AKF-Berechnung&rdquo; im Theorieteil ausführlich erl&auml;utert wird.  
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  

Aktuelle Version vom 21. März 2022, 18:12 Uhr

C-Programm  $2$  zur AKF–Berechnung

Sie sehen rechts das C-Programm „akf2” zur Berechnung der diskreten AKF-Werte  $\varphi_x(k)$  mit Index  $k = 0$, ... , $l$.

Im Gegensatz zum Programm „akf1” aus  Aufgabe 4.11  wird hier der im Theorieteil beschriebene Algorithmus direkt angewendet.  Dabei ist zu beachten:

  • Der an das Programm übergebene Long-Wert sei hier  $l=10$.
  • Die berechneten AKF-Werte  $\varphi_x(0)$, ... , $\varphi_x(10)$  werden mit dem Float-Feld  $\rm AKF[ \ ]$  an das Hauptprogramm zurückgegeben.  In den Zeilen 7 und 8 wird dieses Feld mit Nullen vorbelegt.
  • Die Zufallsgröße  $x( \ )$  ist als Float-Funktion in Zeile 4 definiert,  ebenso ein Hilfsfeld  ${\rm H}[10000 ]$,  in das die  $N = 10000$  Abtastwerte  $x_\nu$  eingetragen werden  (Zeile 9 und 10).
  • Die Bezeichnungen der Laufvariablen in Zeile 6 sind an den angegebenen Algorithmus angepasst.
  • Die eigentliche AKF-Berechnung erfolgt ab Zeile 11.  Dieser Programmteil ist im Programmcode rot gekennzeichnet.



Hinweise:


Fragebogen

1

Auf wie vielen Summanden  ($S$)  basiert die AKF-Berechnung für den Index  $k=0$   bzw.  für  $k=10$ ?

$S_{k=0} \ = \ $

$S_{k=10} \ = \ $

2

Welche der folgenden Aussagen sind richtig?

Die Rechenzeit steigt linear mit  $l + 1$,  also mit der Anzahl der zu berechenden AKF-Werte.
Die Rechenzeit nimmt mit der Anzahl  $N$  der berücksichtigten Abtastwerte quadratisch zu.
Die Berechnung wird mit steigendem  $N$  genauer.
Wird eine Floatvariable mit  $\rm 4 \ Byte$  dargestellt,  so benötigt „akf2” mindestens  $4 \cdot N$  Byte Speicherplatz.

3

Welche der folgenden Aussagen sind zutreffend?

Je stärker die inneren statistischen Bindungen des Prozesses sind,  desto  ungenauer  ist bei gegebenem  $N$  das AKF-Ergebnis.
Je stärker die inneren statistischen Bindungen des Prozesses sind, desto  genauer  ist bei gegebenem  $N$  das AKF-Ergebnis.
Besitzt der Prozess statistische Bindungen,  so sind die Fehler der numerischen AKF-Berechnung ebenfalls korreliert.
    Beispiel:     Ist der Wert  $\varphi_x(k=5)$  zu groß,  so werden mit großer Wahrscheinlichkeit auch  $\varphi_x(k=4)$  und  $\varphi_x(k=6)$  zu groß sein.


Musterlösung

(1)  Zur Berechnung des AKF-Wertes  $\varphi_x(0)$  wird über  $\underline{N =10000}$  Summanden gemittelt,  für  $\varphi_x(10)$  nur über  $\underline{N = 9990}$.


(2)  Richtig sind  die Lösungsvorschläge 1, 3 und 4:

  • Die Rechenzeit steigt mit  $N$  und  $l + 1$  näherungsweise linear an,  wie aus der rot hervorgehobenen AKF-Berechnung hervorgeht.
  • Die Rechenzeit für die weiteren Programmteile kann demgegenüber vernachlässigt werden.
  • Natürlich wird die Berechnung mit steigendem  $N$  auch genauer.
  • Dies geht hier – im Gegensatz zum Programm „akf1” von Aufgabe 4.11 – allerdings auf Kosten des erforderlichen Speicherbedarfs.
  • Da jede Float-Variable genau vier Byte beansprucht,  benötigt allein das Hilfsfeld  ${\rm H}[10000 ]$  einen Speicher von 40 kByte.


(3)  Richtig sind die  Lösungsvorschläge 1 und 3:

  • Je stärker die statistischen Bindungen innerhalb des Zufallsprozesses sind,  desto ungenauer ist bei gegebenem  $N$  die AKF-Berechnung.
  • Diesen Sachverhalt kann man sich beispielsweise anhand der Leistungsberechnung  $($AKF-Wert bei  $k=0)$  verdeutlichen:
    • Sind alle  $N$  Abtastwerte statistisch unabhängig,  so liefern alle Beiträge die maximale Information über den AKF–Wert  $\varphi_x(k=0)$.
    • Bestehen jedoch statistische Bindungen zwischen  $x_\nu$  und  $x_{\nu+1}$,  nicht jedoch zwischen  $x_\nu$  und  $x_{\nu+2}$, so liefern nur die Hälfte aller Abtastwerte die volle Information über  $\varphi_x(k=0)$  und die anderen nur eingeschränkte Informationen.
  • Dieser auf Korrelationen beruhende Informationsverlust kann in diesem Beispiel nur durch eine Verdopplung von  $N$  ausgeglichen werden.
  • Die letzte Aussage trifft ebenfalls zu,  wie auf der Seite „Genauigkeit der numerischen AKF-Berechnung” im Theorieteil ausführlich erläutert wird.