最近几天我一直在努力计算两对向量(x和y)的自由度,参考Chelton(1983),它是:
根据 Chelton (1983) 的自由度 https://i.stack.imgur.com/O0DqE.png
我找不到使用 np.correlate 计算归一化互相关函数的正确方法,
我总是得到一个不在 -1, 1 之间的输出。
有没有简单的方法可以使互相关函数归一化以计算两个向量的自由度?
好问题。没有直接的方法,但您可以在使用之前“规范化”输入向量np.correlate
像这样,将返回 [-1,1] 范围内的合理值:
这里我定义了信号处理教科书中通常定义的相关性。
c'_{ab}[k] = sum_n a[n] conj(b[n+k])
代码:如果 a 和 b 是向量:
a = (a - np.mean(a)) / (np.std(a) * len(a))
b = (b - np.mean(b)) / (np.std(b))
c = np.correlate(a, b, 'full')
参考:
https://docs.scipy.org/doc/numpy/reference/ generated/numpy.correlate.html https://docs.scipy.org/doc/numpy/reference/generated/numpy.correlate.html
https://en.wikipedia.org/wiki/Cross-correlation https://en.wikipedia.org/wiki/Cross-correlation
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)