交叉频谱和幅值平方相干性
此示例说明如何使用交叉频谱来获得二元时序中正弦分量之间的相位滞后。此示例还使用幅值平方相干性在各个正弦波频率处识别显著频域相关性。
创建二元时序。每个序列都由频率分别为 100 和 200 Hz 的两个正弦波组成。这些序列带有加性高斯白噪声,采样频率为 1 kHz。x 序列中的正弦波幅值都等于 1。y 序列中的 100 Hz 正弦波幅值为 0.5,y 序列中的 200 Hz 正弦波幅值为 0.35。y 序列中的 100 Hz 和 200 Hz 正弦波的相位滞后分别为 π/4 弧度和 π/2 弧度。您可以将 y 序列视为输入为 x 的线性系统被噪声损坏的输出。采用随机数生成器的默认设置,以获得可重现的结果。
rng default
Fs = 1000;
t = 0:1/Fs:1-1/Fs;
x = cos(2*pi*100*t) + sin(2*pi*200*t) + 0.5*randn(size(t));
y = 0.5*cos(2*pi*100*t - pi/4) + 0.35*sin(2*pi*200*t - pi/2) + 0.5*randn(size(t));
获得二元时序的幅值平方相干性估计。幅值平方相干性使您能够识别两个时序之间的显著频域相关性。交叉频谱中的相位估计仅在存在显著频域相关性的情况下有用。
为了防止在所有频率处获得的幅值平方相干性估计都等于 1,必须使用平均相干性估算器。Welch 交叠分段平均法 (WOSA) 和多窗谱法均适用。mscohere 可实现 WOSA 估算器。
将窗长度设置为 100 个采样点。此窗长度包含 10 个周期的 100 Hz 正弦波和 20 个周期的 200 Hz 正弦波。使用默认的 Hamming 窗,重叠长度为 80 个采样点。显式输入采样率以获得单位为 Hz 的输出频率。绘制幅值平方相干性。在 100 和 2