我匹配400 ms的两个波形。我正在使用相关来检查转变。
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波形之间的转换。但是如何获得两个波形的实际匹配位置?
答案 0 :(得分:0)
你可能想要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)