Aufgaben:Aufgabe 4.11Z: C-Programm „akf2”: Unterschied zwischen den Versionen
Aus LNTwww
Keine Bearbeitungszusammenfassung |
Add English interlanguage link |
||
| (16 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 3: | Zeile 3: | ||
}} | }} | ||
[[Datei:P_ID395__Sto_Z_4_11.png|right|]] | [[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$. | ||
*Der an das Programm übergebene Long-Wert sei hier $l=10$. | 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: | ||
*Die berechneten AKF-Werte $\varphi_x(0)$, ... , $\varphi_x(10)$ werden mit dem Float-Feld $\rm AKF[ \ ]$ an | |||
*Die Zufallsgröße $x( \ )$ ist als Float-Funktion in Zeile 4 definiert, ebenso ein Hilfsfeld $H[10000 | *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 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: | |||
*Die Aufgabe gehört zum Kapitel [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)|Autokorrelationsfunktion]]. | *Die Aufgabe gehört zum Kapitel [[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)|Autokorrelationsfunktion]]. | ||
*Bezug genommen | *Insbesondere wird Bezug genommen auf die Seiten | ||
* | **[[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Numerische_AKF-Ermittlung|Numerische AKF-Ermittlung]], | ||
**[[Stochastische_Signaltheorie/Autokorrelationsfunktion_(AKF)#Genauigkeit_der_numerischen_AKF-Berechnung|Genauigkeit der numerischen AKF-Berechnung]]. | |||
| Zeile 21: | Zeile 28: | ||
<quiz display=simple> | <quiz display=simple> | ||
{Auf wie vielen Summanden ( | {Auf wie vielen Summanden ($S$) basiert die AKF-Berechnung für den Index $k=0$ bzw. für $k=10$ ? | ||
|type="{}"} | |type="{}"} | ||
$S_ | $S_{k=0} \ = \ $ { 10000 } | ||
$S_ | $S_{k=10} \ = \ $ { 9990 } | ||
{Welche der | {Welche der folgenden Aussagen sind richtig? | ||
|type="[]"} | |type="[]"} | ||
+ Die Rechenzeit steigt linear mit | + Die Rechenzeit steigt linear mit $l + 1$, also mit der Anzahl der zu berechenden AKF-Werte. | ||
- Die Rechenzeit nimmt mit der Anzahl | - Die Rechenzeit nimmt mit der Anzahl $N$ der berücksichtigten Abtastwerte quadratisch zu. | ||
+ Die Berechnung wird mit steigendem | + Die Berechnung wird mit steigendem $N$ genauer. | ||
+ Wird eine Floatvariable mit 4 Byte dargestellt, so benötigt „akf2” mindestens 4 & | + Wird eine Floatvariable mit $\rm 4 \ Byte$ dargestellt, so benötigt „akf2” mindestens $4 \cdot N$ Byte Speicherplatz. | ||
{Welche der | {Welche der folgenden Aussagen sind zutreffend? | ||
|type="[]"} | |type="[]"} | ||
+ Je stärker die inneren statistischen Bindungen des Prozesses sind, desto ungenauer ist bei gegebenem | + Je stärker die inneren statistischen Bindungen des Prozesses sind, desto <u>ungenauer</u> ist bei gegebenem $N$ das AKF-Ergebnis. | ||
- Je stärker die inneren statistischen Bindungen des Prozesses sind, desto genauer ist bei gegebenem | - Je stärker die inneren statistischen Bindungen des Prozesses sind, desto <u>genauer</u> ist bei gegebenem $N$ das AKF-Ergebnis. | ||
+ Besitzt der Prozess statistische Bindungen, so sind die Fehler der numerischen AKF-Berechnung ebenfalls korreliert.<br> < | + Besitzt der Prozess statistische Bindungen, so sind die Fehler der numerischen AKF-Berechnung ebenfalls korreliert. <br> <u>Beispiel:</u> 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. | ||
| Zeile 47: | Zeile 54: | ||
===Musterlösung=== | ===Musterlösung=== | ||
{{ML-Kopf}} | {{ML-Kopf}} | ||
'''(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 <u>die Lösungsvorschläge 1, 3 und 4</u>: | |||
*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. | |||
:Die letzte Aussage trifft ebenfalls zu, wie | '''(3)''' Richtig sind die <u>Lösungsvorschläge 1 und 3</u>: | ||
*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. | |||
{{ML-Fuß}} | {{ML-Fuß}} | ||
| Zeile 61: | Zeile 79: | ||
[[Category:Aufgaben zu Stochastische Signaltheorie|^4.4 Autokorrelationsfunktion (AKF)^]] | [[Category:Aufgaben zu Stochastische Signaltheorie|^4.4 Autokorrelationsfunktion (AKF)^]] | ||
[[en:Aufgaben:Exercise_4.11Z:_C_Program_"acf2"]] | |||
Aktuelle Version vom 16. März 2026, 14:37 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 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:
- Die Aufgabe gehört zum Kapitel Autokorrelationsfunktion.
- Insbesondere wird Bezug genommen auf die Seiten
Fragebogen
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.