Here, my mistake, I did not look that I downloaded the stereo signal, and the script is designed for mono, but thanks for the time spent anyway)
ΠΠΎ ΡΠ΅ΠΏΠ΅ΡΡ, ΠΊΠ°ΠΊ Ρ ΠΈ Π΄ΡΠΌΠ°Π», ΠΎΡΠΈΠ±ΠΊΠ° ΡΡΡ: for k=1:NT corkomp(k,:)=corPKVP(kompstac(k,:)); end; % ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΈΠ³Π½Π°Π»Π° ΠΡΠΈΠ±ΠΊΠ°: Undefined function or method 'corPKVP' for input arguments of type 'double'. Error in ==> corkomp(k,:)=corPKVP(kompstac(k,:));
help if you can
If it helps, here are the explanations for the scripts.
clear all x=wavread('signal'); % Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠΈΠ³Π½Π°Π»Π° a=xcorr(x); % ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΡΠ΅Π½ΠΊΠΈ Π°Π²ΡΠΎΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ z=abs(fft(a,32000)); % ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ»ΠΎΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ w=z(1:500); [f1,f2]=max(w(1:200)); % Π½Π°Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΠ° Π² Π½ΠΈΠ·ΠΊΠΎΡΠ°ΡΡΠΎΡΠ½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ»ΠΎΡΠ½ΠΎΡΡΠΈ ΠΌΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΈΠ³Π½Π°Π»Π° NT=fix((1/f2)*32000) % ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° ΠΊΠΎΡΡΠ΅Π»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ N=length(x); kilkNT=fix(N/NT); NT1=NT-1; n=NT*(1:kilkNT)-NT1; for k=1:kilkNT b(k,:)=x(n(k):n(k)+NT1); end; mx=mean(b); for k=0:kilkNT-kilkNT/2 xcentr((1:NT)+k*NT)=x((1:NT)+k*NT)-mean(x); end; % ΡΠ΅Π½ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Π° l=1:NT:length(xcentr); for n=0:NT-1 kompstac(n+1,1:length(1))=xcentr(1+n); end; % ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°ΡΠΈΠΎΠ½Π°ΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ n=size(kompstac,2); for k=1:NT corkomp(k,:)=corPKVP(compstac(k,:)); end; % ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΈΠ³Π½Π°Π»Π° surf(corkomp); shading interp; axis tight; grid on; for k=1:NT Bk(k,:)=abs(fft(corkomp(k,:))); end; % ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΈΠ³Π½Π°Π»Π° surf(Bk); shading interp; axis tight; grid on; m=mean(Bk); % ΠΈΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΡΠ΅Π΄Π½Π΅Π½ΠΈΡ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠ΄Π²ΠΈΠ³Π°ΠΌ plot(m); axis tight; grid on;