Мне интересно, знает ли кто-нибудь о быстром (например, O (N log (N))) методе вычисления среднеквадратичной разностной функции (ASDF) или функции разности средних значений (AMDF) для периодический сигнал, или это даже возможно.Быстрая среднеквадратичная функция разности
Я знаю, что можно использовать БПФ для вычисления периодической взаимной корреляции. Например, в Matlab код,
for i=1:N
xc(i)=sum(x1*circshift(x2,i-1));
end
эквивалентно гораздо быстрее
xc=ifft(fft(x1).*conj(fft(x2));
Есть ли подобная "быстрый" алгоритм
for i=1:N
ASDF(i)=sum((x1-circshift(x2,i-1)).^2)/N;
end
или
for i=1:N
AMDF(i)=sum(abs(x1-circshift(x2,i-1)))/N;
end
?
Высокий. Отлично. Ваш код работает в 550 раз быстрее на Matlab для N = 1024. Спасибо – tkw954