// S.Ayrinhac (2012) // Fonction d'autocorrélation d'un signal // Exemple : // z=[1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5]; // x=(0:length(z))*0.1; // [X,S]=Func_autocorr(x,z); // plot2d(X,S) function [X,S]=Func_autocorr(x,y) // Inversion du vecteur y yinv=y($:-1:1); S0=convol(y,yinv); // la fonction convol utilise la FFT S=fftshift(S0); //S=S0($/2:1:$); disp(size(S)) dx=abs(x(2)-x(1)); X=dx.*(0:1:length(S)-1); disp(size(X)) endfunction // Note : // Voici le code d'après la définition de l'autocorrélation // p est le retard (décalage d'une colonne pour un vecteur ligne) // for p=0:length(y) // yshift=[y(1,p+1:1:$) zeros(1,p)]; // S(p+1)=sum(y.*yshift); // end