为什么卷积/互相关截断为0?

时间:2018-07-31 12:13:27

标签: python numpy signal-processing convolution cross-correlation

统一采样信号的互相关定义为[enter image description here]

统一采样信号的卷积定义为[1]

我正在尝试使相似输入数据的两个数组互相关或卷积。这些阵列是我尝试对齐的两个类似的时间序列电压事件。但是,相关和卷积仅返回完整为0的数组。这对我来说似乎很奇怪,因为输入数组是对相同现象的观察,应该有某种重叠。我可以清楚地绘制输入数据:

整个时间序列:

放大:

这是我正在运行的代码:

def get_cross_corr(files):
    datalist = []
    # open required files for correlation
    try:
        for f in files:
            fp = open(f, "rb")
            data = np.fromfile(fp,dtype=np.int16)
            datalist.append(data[0:int(len(data)/4)])
            fp.close()
    except:
        print("could not open one of %s"%(files))
        return
    # cross correlation on specified files
    a = np.convolve(datalist[0], datalist[1])
    b = np.correlate(datalist[0], datalist[1])
    print(a)
    print(b)
    plt.plot(datalist[0])
    plt.plot(datalist[1])
    plt.show()
    plt.plot(a)
    plt.plot(b)
    plt.show()

手动进行小计算时,它们不为零。可能是什么问题?

0 个答案:

没有答案