Aufgaben:Aufgabe 4.11Z: C-Programm „akf2”: Unterschied zwischen den Versionen
Aus LNTwww
Nabil (Diskussion | Beiträge) K (Nabil verschob die Seite Zusatzaufgaben:4.11 C-Programm „akf2” nach 4.11Z C-Programm „akf2”) |
|||
Zeile 4: | Zeile 4: | ||
[[Datei:P_ID395__Sto_Z_4_11.png|right|]] | [[Datei:P_ID395__Sto_Z_4_11.png|right|]] | ||
− | + | 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: | |
− | + | *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 dasHauptprogramm 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 $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. | ||
− | :Die | + | ''Hinweise:'' |
− | + | *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]]. | |
− | + | *Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein. | |
− | |||
− | |||
− | |||
Version vom 26. März 2017, 10:57 Uhr
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 dasHauptprogramm 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 $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:
- Die Aufgabe gehört zum Kapitel Autokorrelationsfunktion.
- Bezug genommen wird insbesondere auf die Seite Numerische AKF-Ermittlung.
- Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.
Fragebogen
Musterlösung
- 1. Zur Berechnung des AKF-Wertes φx(0) wird über N = 10000 Summanden gemittelt, für φx(10) nur über N – l = 9990.
- 2. 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 A4.11 – allerdings auf Kosten des erforderlichen Speicherbedarfs. Da jede Float-Variable genau vier Byte beansprucht, benötigt alleine das Hilfsfeld H[10000] einen Speicher von 40 kByte. Richtig sind somit die Lösungsvorschläge 1, 3 und 4.
- 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 an der Stelle k = 0) verdeutlichen: Sind alle N Abtastwerte statistisch unabhängig, so liefern alle Beiträge die maximale Information über den AKF–Wert φx(k = 0).
- Bestehen jedoch statistische Bindungen zwischen xν und xν+1, nicht jedoch zwischen xν und xν+2, so liefern nur die Hälfte aller Abtastwerte die volle Information über φx(k = 0) und alle 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 im Kapitel 4.4 auf der Seite Genauigkeit der numerischen AKF-Berechnung im Theorieteil ausführlich erläutert wird. Richtig sind somit die Lösungsvorschläge 1 und 3.