计算互相关函数?
在中R
,我使用ccf
或acf
计算成对互相关函数,以便找出哪个偏移使我获得了最大值。从它的外观来看,R
给了我一个规范化的值序列。Python的scipy中是否有类似的东西,还是应该使用该fft
模块?目前,我正在执行以下操作:
xcorr = lambda x,y : irfft(rfft(x)*rfft(y[::-1]))
x = numpy.array([0,0,1,1])
y = numpy.array([1,1,0,0])
print xcorr(x,y)
-
要使一维数组互相关,请使用numpy.correlate。
对于2d数组,请使用scipy.signal.correlate2d。
还有scipy.stsci.convolve.correlate2d。
还有基于numpy.correlate的matplotlib.pyplot.xcorr。
有关不同实现的一些链接,请参见SciPy邮件列表上的这篇文章。