Numpy关联xaxis被移动

2024-09-26 04:52:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个信号,我试图看到它们的相关性滞后:

enter image description here

看起来它们是同步的,所以我希望correlate函数的最小值为零(因为它们每~100个时间步具有反相关)

但是,使用此代码:

yhat1 = np.load('cor1.npy')
yhat2 = np.load('cor2.npy')

corr = np.correlate(yhat1 - np.mean(yhat1), 
                    yhat2 - np.mean(yhat2),
                    mode='same')
plt.plot(corr)
plt.show()

我得到了以下结果(我尝试在模式中使用'full ''same',得到了相同的结果):

enter image description here

为什么最小值不是预期的0而是250? 为什么在最小值的两侧似乎还有其他显著的峰值

数据为here


Tags: 函数代码信号np时间loadpltmean
1条回答
网友
1楼 · 发布于 2024-09-26 04:52:21

Numpy的相关函数根据您提供的输入返回自动/互相关函数。相关和卷积是一样的,只是你们不需要对其中一个信号进行时间反转。换句话说,在信号之间应用滑动点积

在t=0时,由于一个信号在t=0时为零,因此获得零相关性是正常的。然而,当您进一步执行此操作时,信号的幅度和符号都会发生波动。由于(相对而言)在不同时间相互之间的信号峰值非常大,correlatino正在流动。最大峰值出现在t=500,因为此时两个信号完全重叠。这发生在你的信号极端峰值在那一刻对齐的时候。t=500后,重叠区域减少,并观察到行为与我们达到t<;之前的情况类似;500.

相关问题 更多 >