Xcorr - plot correlation across time.

9 vues (au cours des 30 derniers jours)
Callum Blanchfield
Callum Blanchfield le 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 commentaire
RNTL
RNTL le 10 Juin 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.

Connectez-vous pour commenter.

Réponse acceptée

Wayne King
Wayne King le 10 Juin 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.

Plus de réponses (0)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by