Verwendung der Kreuzspektraldichte zur Berechnung der Phasenverschiebung zweier verwandter Signale

8

Ich habe zwei Signale, von denen ich erwarte, dass das eine auf das andere reagiert, aber mit einer gewissen Phasenverschiebung.

Nun möchte ich die Kohärenz oder die normalisierte spektrale Kreuzdichte berechnen, um abzuschätzen, ob es eine Kausalität zwischen der Eingabe und der Ausgabe gibt, um herauszufinden, auf welchen Frequenzen diese Kohärenz auftritt.

Siehe zum Beispiel dieses Bild (aus hier ), das bei der Häufigkeit 10 eine hohe Kohärenz zu haben scheint:

Jetzt weiß ich, dass ich mit der Kreuzkorrelation die Phasenverschiebung zweier Signale berechnen kann, aber wie kann ich die Kohärenz (der Frequenz 10) zur Berechnung der Phasenverschiebung verwenden?

Code für Bild:

%Vor%

.
.
BEARBEITEN:

Für was es wert ist, ich habe eine Antwort hinzugefügt, vielleicht ist es richtig, vielleicht ist es falsch. Ich bin mir nicht sicher ..

    
Mattijn 08.02.2014, 14:18
quelle

3 Antworten

4

Lassen Sie mich versuchen, meine eigene Frage zu beantworten, und vielleicht wird es eines Tages anderen nützlich sein oder als Ausgangspunkt für eine (neue) Diskussion dienen:

Berechnen Sie zunächst die spektralen Leistungsdichten beider Signale,

%Vor%

ergibt:

Zweitens berechnen Sie die Kreuzspektraldichte, die Fourier-Transformation der Kreuzkorrelationsfunktion ist:

%Vor%

Was gibt:

Dann können wir mit Hilfe der Kreuzspektraldichte die Phase berechnen und die Kohärenz berechnen (wodurch die Phase zerstört wird). Jetzt können wir die Kohärenz und die Peaks, die über das 95% -Konfidenzniveau hinausgehen, kombinieren

%Vor%

Ergebnis:

Zusammenfassend: Die Phase der kohärentesten Spitze ist ~ 1 Grad (s1 führt s2) bei einer 10-Minuten-Periode (unter der Annahme, dass dt eine winzige Messung ist) - & gt; (10**-1)/dt

Aber eine spezialisierte Signalverarbeitung könnte mich korrigieren, weil ich mir 60% sicher bin, ob ich es richtig gemacht habe

    
Mattijn 10.02.2014, 05:33
quelle
3

Ich bin nicht sicher, wo die Phasenvariable in der Antwort von @ Mattijn berechnet wurde.

Sie können die Phasenverschiebung aus dem Winkel zwischen dem Realen und dem Imaginärteil der Kreuzspektraldichte.

%Vor%

Die spektrale Leistungsdichte der beiden zu korrelierenden Signale:

Die Kohärenz und die Phase der beiden Signale (gezoomt auf 10 Hz):

Und hier der reale und imaginäre (!) Teil der spektralen Kreuzdichte:

    
jherb 27.03.2015 17:32
quelle
1

Ich habe ein Jupyter Notebook , das die Kreuzspektralanalyse einschließlich ihrer Unsicherheit erklärt.

Bildschirmfoto:

    
Mattijn 20.09.2016 06:21
quelle