cupyx.scipy.signal.check_NOLA#

cupyx.scipy.signal.check_NOLA(window, nperseg, noverlap, tol=1e-10)[来源]#

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

参数:
  • window (strtuplearray_like) – 期望使用的窗函数。如果 window 是字符串或元组,则将其传递给 get_window 以生成窗函数值,默认情况下这些值是 DFT 偶对称的。有关窗函数列表和所需参数,请参见 get_window。如果 window 是 array_like,则将直接将其用作窗函数,其长度必须等于 nperseg。

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

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

  • tol (float, 可选) – 允许的每个 bin 的加权和与中位数 bin 和之间的方差。

返回:

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

返回类型:

bool

另请参见

check_COLA

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

stft

短时傅里叶变换

istft

逆短时傅里叶变换

注释

为了通过 istft 中的逆 STFT 实现 STFT 的逆变换,信号加窗必须遵循“非零重叠相加”(NOLA)约束

\[\sum_{t}w^{2}[n-tH] \ne 0\]

对于所有 \(n\),其中 \(w\) 是窗函数,\(t\) 是帧索引,\(H\) 是跳跃大小(\(H\) = nperseg - noverlap)。

这确保了重叠相加逆变换方程分母中的归一化因子不为零。只有非常病态的窗函数才会不满足 NOLA 约束。

有关更多信息,请参见[1][2]

参考