本文簡要介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。