2016-04-15 3 views
1

Ich bin neu in der Signalverarbeitung. Ich möchte die Beziehung zwischen den beiden Windgeschwindigkeitsdaten an verschiedenen Orten überprüfen. Ich habe keine Ahnung, welchen Matlab-Befehl ich verwenden soll, ob es "xcorr" oder "cross corr" in Matlab ist.Was ist der Unterschied zwischen xcorr und cross corr in Matlab?

+0

Viele Antworten auf diese Frage finden Sie im Matlab Central Forum. Wie: http://www.mathworks.com/matlabcentral/newsreader/view_thread/316589 Ich würde mit 'xcorr' beginnen. –

Antwort

-1

Sie sollten gleich sein, aber crosscorr plottet auch das Ergebnis.

1

Während xcorr die Korrelation zwischen 2 Vektoren berechnet (Übrigens, es fft Verwendung tun und nicht conv) crosscorr berechnet die Statistik Korrelation, nämlich durch die Mittel der Proben zu entfernen und Standardisierung:

output = < (x - Mittelwert (x)), (y - Mittelwert (y))>/(| x | * | y |)

Wenn die Vektoren, die die Eingabe für die Funktionen sind, zentriert sind (nämlich mit Null Mittelwert) und Normalisiert werden sie gleich sein.

+0

Ich hatte zwei Zeitreihen, die bereits den Mittelwert Null hatten, aber diese beiden Befehle ergeben ein anderes Ergebnis für die gleiche Verzögerung. –

+0

Könnten Sie den Code posten? Ich schaute in den Code von beiden, im Grunde, die XCF berechnen die gleiche mit FFT, wo "crosscorr" nur einen Vorverarbeitungsschritt der Zentrierung der Daten. – Royi

+0

Ok, ich vermisste die Normalisierung in 'crosscorr'. Genau wie in "Normalisierte Kreuzkorrelation" hier - https://en.wikipedia.org/wiki/Cross-correlation. – Royi

Verwandte Themen