scipy.signal.check_COLA¶
- scipy.signal.check_COLA(window, nperseg, noverlap, tol=1e-10)[源代码]¶
检查是否满足常量重叠添加(可乐)约束。
- 参数
- window字符串、元组或类似数组
要使用的所需窗口。如果 window 是字符串或元组,则将其传递给
get_window
以生成窗口值,该窗口值是DFT-即使在默认情况下也是如此。看见get_window
有关窗口和所需参数的列表,请执行以下操作。如果 window is array_like它将直接用作窗口,其长度必须为nperseg。- nperseg集成
每个线段的长度。
- noverlap集成
线段之间要重叠的点数。
- tol浮动,可选
仓位加权总和与仓位中位数总和的允许方差。
- 退货
- verdict布尔尔
True 如果选择的组合满足可口可乐的要求 tol , False 否则
参见
check_NOLA
检查是否满足非零重叠添加(NOLA)约束
stft
短时傅里叶变换
istft
短时傅里叶逆变换
注意事项
为了能够通过中的逆STFT实现STFT的反转
istft
信号加窗满足“常量重叠相加”(COLA)的约束就足够了。这确保输入数据中的每个点的权重相等,从而避免走样并允许完全重建。- 满足可乐的一些窗口示例:
矩形窗口的重叠为0,1/2,2/3,3/4,.
1/2、3/4、5/6重叠处的Bartlett窗口.
汉恩窗口在1/2,2/3,3/4,.
任何2/3重叠的Blackman系列窗口
任何具有以下功能的窗口
noverlap = nperseg-1
有关其他窗口的非常全面的列表,请参阅 [2], 其中当“振幅平坦度”为1时满足可乐条件。
0.19.0 新版功能.
参考文献
- 1
朱利叶斯·O·史密斯三,“频谱音频信号处理”,W3K出版社,2011年,ISBN978-0-9745607-3-1。
- 2
G.Heinzel,A.Ruediger和R.Schilling,“通过离散傅立叶变换估计频谱和频谱密度,包括窗口函数的综合列表和一些新的顶部窗口”,2002年,http://hdl.handle.net/11858/00-001M-0000-0013-557A-5
示例
>>> from scipy import signal
确认75%(3/4)重叠的矩形窗口的可乐条件:
>>> signal.check_COLA(signal.windows.boxcar(100), 100, 75) True
不过,对于25%(1/4)的重叠部分,可乐不是真的:
>>> signal.check_COLA(signal.windows.boxcar(100), 100, 25) False
“对称”汉恩橱窗(过滤设计)不是可乐:
>>> signal.check_COLA(signal.windows.hann(120, sym=True), 120, 60) False
对于重叠为1/2、2/3、3/4等,“周期性”或“DFT-EVEN”汉恩窗口(用于FFT分析)为Cola:
>>> 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