Xcorr - plot correlation across time.

16 views (last 30 days)
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 Comment
RNTL
RNTL on 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.

Sign in to comment.

Accepted Answer

Wayne King
Wayne King on 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.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!