假设我有 2 秒以 1000 Hz 采样的数据,并且两个正弦曲线仅在幅度和相移上有所不同:
import numpy as np
from matplotlib import pyplot as plt
from scipy.signal import csd,periodogram
t = np.arange(0, 2, 0.001);
x = np.sin(2*np.pi*200*t)
y = 3*np.sin(2*np.pi*200*(t-np.pi/2))
fig,ax = plt.subplots()
ax.cohere(x, y)
得到的相干图如下所示。
Q1:我是否正确,相干性始终等于 1,并且频率轴实际上是从 0 到 500 Hz,即奈奎斯特频率?
Q2:对于简单的正弦曲线,相干性等于 1 是否意味着它们的幅度本质上不同,并且具有相同的频率和固定的相位差?
现在我尝试使用 x 和 y 的交叉谱密度以及它们各自的功率谱密度来计算相干性:
f,Pxx=periodogram(x)
f,Pyy=periodogram(y)
f,Pxy=csd(x,y)
Coh=np.zeros(len(f))
for i in range(len(f)):
Coh[i]=abs(Pxy[i])**2/(Pxx[i]*Pyy[i])
fig,ax = plt.subplots()
ax.plot(f,Coh)
这导致了下图。
Q3:图表不应该相同吗?我错过了什么?


