我有一些要尝试查找周期性的数字数组。我以前使用的是scipy.signal.correlate2d中的2D关联,但是对于大型数组来说,它变得很长。
我发现fftconvolve更快,并且卷积提供的信息多于相关性。我检查了一些不错的正弦波模式,并增加了一点噪声,并且两者都给出了相同的矩阵。
但是,既然我去了真实数据,它给出了截然不同的结果。特别是,我不明白为什么fftconvolve不是最大为0。我认为无论使用什么信号,它都应该最大为0。
它直接来自:
2D_conv = fftconvolve(signal,signal)
2D_corr = correlate2d(signal,signal)
编辑:我忘记了翻转。只需将2D_conv = fftconvolve(signal,signal)
更改为2D_conv = fftconvolve(signal,signal[::-1, ::-1])