Sie sehen rechts das C-Programm „akf2” zur Berechnung der diskreten AKF-Werte φ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 φx(0), ... , φx(10) werden mit dem Float-Feld 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 H[10000], in das die N=10000 Abtastwerte xν 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 φx(0) wird über N=10000_ Summanden gemittelt, für φx(10) nur über 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 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 φ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 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.