gpt4 book ai didi

algorithm - 快速平均平方差函数

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:33:25 26 4
gpt4 key购买 nike

我想知道是否有人知道计算周期信号的平均平方差函数 (ASDF) 或平均幅度差函数 (AMDF) 的快速(即 O(N log(N)) )方法,或者它甚至是可能的。

我知道可以使用 FFT 来计算周期互相关。例如,在 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

?

最佳答案

您可以扩展您对 ASDF 的定义,如下所示:

for i = 1:N
asdf(i) = (sum(x1.^2) - 2*sum(x1*circshift(x2,i-1)) + sum(x2.^2))/N;
end

简化为

asdf = (-2*ifft(fft(x1).*conj(fft(x2))) + sum(x1.^2) + sum(x2.^2))/N;

关于algorithm - 快速平均平方差函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/973370/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com