cupyx.scipy.signal.check_COLA#

cupyx.scipy.signal.check_COLA(window, nperseg, noverlap, tol=1e-10)[source]#

检查是否满足恒定重叠相加 (COLA) 约束。

参数:
  • window (str or tuple or array_like) – 所需的窗函数。如果 window 是字符串或元组,则将其传递给 get_window 以生成窗函数值,这些值默认为 DFT 对称。有关窗函数及其所需参数的列表,请参见 get_window。如果 window 是 array_like 类型,它将直接用作窗函数,并且其长度必须等于 nperseg。

  • nperseg (int) – 每个分段的长度。

  • noverlap (int) – 分段之间的重叠点数。

  • tol (float, optional) – 允许的加权和与中位数加权和之间的方差。

返回:

verdict – 如果所选组合在 tol 范围内满足 COLA,则为 True;否则为 False

返回类型:

bool

另请参阅

check_NOLA

检查是否满足非零重叠相加 (NOLA) 约束

stft

短时傅里叶变换

istft

逆短时傅里叶变换

注意

为了通过 istft 中的逆 STFT 实现 STFT 的反转,信号加窗必须遵守“恒定重叠相加”(COLA)约束。这确保输入数据中的每个点都得到同等权重,从而避免混叠并允许完全重建。

满足 COLA 的窗函数示例
  • 矩形窗在重叠率为 0, 1/2, 2/3, 3/4, …

  • Bartlett 窗在重叠率为 1/2, 3/4, 5/6, …

  • Hann 窗在 1/2, 2/3, 3/4, …

  • 任何 Blackman 族窗函数在 2/3 重叠率下

  • noverlap = nperseg-1 的任何窗函数

其他窗函数的非常全面的列表可在 [2] 中找到,其中当“幅度平坦度”(Amplitude Flatness)为一时,满足 COLA 条件。更多信息请参见 [1]

参考文献