Aufgabe 4.11: C-Programm „akf1”

Aus LNTwww
Version vom 14. September 2016, 02:17 Uhr von Nabil (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ {{quiz-Header|Buchseite=Stochastische Signaltheorie/Autokorrelationsfunktion (AKF) }} right| :Sie sehen nebenstehend das C-…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche

P ID391 Sto A 4 11.png
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 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 Kapitel 4.4 angegebenen Algorithmus, der im Programm „akf2” von Aufgabe Z4.11 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 11 Speicherzellen 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 Betrag xν · xν + k erhöht.
  • In den Zeilen 22 und 23 werden schließlich alle AKF-Werte durch die Anzahl N dividiert.
Hinweis: Diese Aufgabe bezieht sich auf die Theorieseite Numerische Ermittlung der AKF.


Fragebogen

1

Welche Elemente i und j des Hilfsfeldes H[ ... ] werden beim ersten Durchlauf (z = 0) zur Berechnung des AKF-Wertes φx(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$ =

$v$ =

3

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

$i$ =

$j$ =


Musterlösung

1.  Aus 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 die Zufallsgröße x12 eingetragen: i = 0, Index ν = 12.
3.  Das nachfolgende Bild zeigt die Belegung des Hilfsfeldes H[0] ... H[10] 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.
P ID417 Sto A 4 11 b.png
Für z = 83 und k = 6 ergibt sich i = 83 mod 11 = 6 und j = (i + k) mod 11 = 1. In diesen Speicherzellen liegen die Zufallsgrößen x84 und x90. Am Ende des Schleifendurchlaufs z = 83 wird in H[6] der Wert x84 durch x95 ersetzt.