本文简要介绍 python 语言中 scipy.signal.check_COLA
的用法。
用法:
scipy.signal.check_COLA(window, nperseg, noverlap, tol=1e-10)#
检查是否满足 Constant OverLap Add (COLA) 约束。
- window: str 或 tuple 或 数组
想要使用的窗口。如果窗户是一个字符串或元组,它被传递给scipy.signal.get_window生成窗口值,默认为DFT-even。看scipy.signal.get_window获取窗口列表和所需参数。如果窗户是数组,它将直接用作窗口,其长度必须为nperseg。
- nperseg: int
每个段的长度。
- noverlap: int
段之间重叠的点数。
- tol: 浮点数,可选
bin 的加权总和与中位数 bin 总和的允许方差。
- verdict: bool
如果所选组合在 tol 内满足 COLA,则为 True,否则为 False
参数 ::
返回 ::
注意:
为了通过
istft
中的反 STFT 启用 STFT 的反转,信号窗口遵循 “Constant OverLap Add” (COLA) 的约束就足够了。这确保了输入数据中的每个点都具有相同的权重,从而避免了混叠并允许完全重建。0, 1/2, 2/3, 3/4, … 重叠的矩形窗口
Bartlett 窗口在 1/2、3/4、5/6、……的重叠处
汉恩窗在 1/2、2/3、3/4、…
任何 2/3 重叠的 Blackman 族窗口
任何带有
noverlap = nperseg-1
的窗口
一些满足 COLA 的窗口示例::
在 [2] 中可以找到非常全面的其他窗口列表,其中当“Amplitude Flatness” 为单位时满足 COLA 条件。
参考:
[1]Julius O. Smith III,“频谱音频信号处理”,W3K Publishing,2011,ISBN 978-0-9745607-3-1。
[2]G. Heinzel、A. Ruediger 和 R. Schilling,“离散傅里叶变换 (DFT) 的频谱和频谱密度估计,包括窗函数的综合列表和一些新的 at-top 窗口”,2002 年,http://hdl.handle.net/11858/00-001M-0000-0013-557A-5
例子:
>>> from scipy import signal
确认 75% (3/4) 重叠矩形窗口的 COLA 条件:
>>> signal.check_COLA(signal.windows.boxcar(100), 100, 75) True
COLA 不适用于 25% (1/4) 的重叠,但:
>>> signal.check_COLA(signal.windows.boxcar(100), 100, 25) False
“Symmetrical” Hann 窗口(用于滤波器设计)不是 COLA:
>>> signal.check_COLA(signal.windows.hann(120, sym=True), 120, 60) False
“Periodic” 或 “DFT-even” Hann 窗口(用于 FFT 分析)是 COLA,用于 1/2、2/3、3/4 等的重叠:
>>> signal.check_COLA(signal.windows.hann(120, sym=False), 120, 60) True
>>> signal.check_COLA(signal.windows.hann(120, sym=False), 120, 80) True
>>> signal.check_COLA(signal.windows.hann(120, sym=False), 120, 90) True
相关用法
- Python SciPy signal.check_NOLA用法及代码示例
- Python SciPy signal.cheb2ord用法及代码示例
- Python SciPy signal.cheb1ord用法及代码示例
- Python SciPy signal.cheby2用法及代码示例
- Python SciPy signal.cheby1用法及代码示例
- Python SciPy signal.chirp用法及代码示例
- Python SciPy signal.choose_conv_method用法及代码示例
- Python SciPy signal.czt_points用法及代码示例
- Python SciPy signal.coherence用法及代码示例
- Python SciPy signal.csd用法及代码示例
- Python SciPy signal.correlate2d用法及代码示例
- Python SciPy signal.cubic用法及代码示例
- Python SciPy signal.correlation_lags用法及代码示例
- Python SciPy signal.convolve2d用法及代码示例
- Python SciPy signal.cspline1d用法及代码示例
- Python scipy.signal.czt用法及代码示例
- Python SciPy signal.cwt用法及代码示例
- Python SciPy signal.convolve用法及代码示例
- Python SciPy signal.cont2discrete用法及代码示例
- Python SciPy signal.cspline1d_eval用法及代码示例
- Python SciPy signal.cmplx_sort用法及代码示例
- Python SciPy signal.correlate用法及代码示例
- Python SciPy signal.residue用法及代码示例
- Python SciPy signal.iirdesign用法及代码示例
- Python SciPy signal.max_len_seq用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.signal.check_COLA。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。