

我正在匹配两个400ms的波形。我正在使用correlate来检查移位。
cc = correlate(b1,b2,mode="same")
n=len(cc)
cc=2*cc/n
dur=n*dt1/2;
d=linspace( -dur, dur, n )
idx = argmax(cc)我得到了2个波形之间的转换。但是如何得到两个波形的实际匹配位置呢?
发布于 2017-01-12 15:12:20
您可能需要mode = "full",并且需要做更多的数学运算来挑选相关峰值并针对序列长度填充进行调整
希望这个例子能帮助我们了解这些问题:
import math
import numpy as np
import matplotlib.pyplot as plt
a = [math.sin(i* math.pi/10) for i in range(300)]
b = [math.cos(i*math.pi/10) for i in range(300)]
plt.plot(a, 'red')
plt.plot(b, 'green')
axb= np.correlate(a,b, mode="full")/100.0
x = range(len(axb))
plt.plot(x, axb)

https://stackoverflow.com/questions/41606185
复制相似问题