Mi chiedo se qualcuno conosca un metodo veloce (cioè O (N log (N))) per calcolare la funzione di differenza quadratica media (ASDF) o la funzione di differenza di magnitudine media (AMDF) per un segnale periodico, o è addirittura possibile.Funzione di differenza quadratica media veloce
So che si può utilizzare la FFT per calcolare la correlazione incrociata periodica. Ad esempio, nel codice Matlab,
for i=1:N
xc(i)=sum(x1*circshift(x2,i-1));
end
è equivalente al molto più veloce
xc=ifft(fft(x1).*conj(fft(x2));
C'è una simile procedura "veloce" per
for i=1:N
ASDF(i)=sum((x1-circshift(x2,i-1)).^2)/N;
end
o
for i=1:N
AMDF(i)=sum(abs(x1-circshift(x2,i-1)))/N;
end
?
impressionante. Perfezionare. Il tuo codice viene eseguito 550 volte più veloce su Matlab per N = 1024. Grazie – tkw954