Xcorr - plot correlation across time.

9 Ansichten (letzte 30 Tage)
Callum Blanchfield
Callum Blanchfield am 5 Mai 2012
Hi,
I'm very new to Matlab and what i'm trying to do is find the correlation of two separate audio .wav files. At the moment I have the following (x & y are my .wavs):
C = xcorr(x,y,'coeff');
ICC = max(abs(C));
This allows me to find the point with the highest correlation, right?
But what I want to do is take a reading of the xcorr or 'C' at 80ms intervals so I can plot the correlation over time, rather than just at one point.
Any ideas?
Thanks in advance.
  1 Kommentar
RNTL
RNTL am 10 Jun. 2012
but you do have it over time, that's what C means.
and (if both signals have the same sample rate) it is spaced according to the sampling time.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Wayne King
Wayne King am 10 Jun. 2012
t = 0:0.001:1-0.001;
x = cos(2*pi*100*t)+randn(size(t));
y = sin(2*pi*100*t)+randn(size(t));
[xc,lags] = xcorr(x,y,'coeff');
stem(lags*0.001,xc);
The above gives the lags as sampling intervals, 0.001 seconds in this example.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by