Xcorr - plot correlation across time.

9 次查看(过去 30 天)
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 个评论
RNTL
RNTL 2012-6-10
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.

请先登录,再进行评论。

采纳的回答

Wayne King
Wayne King 2012-6-10
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.

更多回答(0 个)

产品

Community Treasure Hunt

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

Start Hunting!

Translated by