scipy.signal.
get_window#
- scipy.signal.get_window(window, Nx, fftbins=True)[source]#
傳回指定長度和類型的視窗。
- 參數:
- window字串、浮點數或元組
要建立的視窗類型。詳情請見下方說明。
- Nx整數
視窗中的樣本數。
- fftbins布林值,選填
如果為 True (預設值),建立一個「週期性」視窗,準備好與 ifftshift 一起使用,並與 FFT 的結果相乘 (另請參閱
fftfreq
)。如果為 False,建立一個「對稱」視窗,用於濾波器設計。
- 傳回值:
- get_windowndarray
傳回長度為 Nx 且類型為 window 的視窗
註解
視窗類型
kaiser
(需要 beta)kaiser_bessel_derived
(需要 beta)gaussian
(需要標準差)general_cosine
(需要加權係數)general_gaussian
(需要 power、width)general_hamming
(需要視窗係數)dpss
(需要正規化半頻寬)chebwin
(需要衰減)
如果視窗不需要參數,則 window 可以是字串。
如果視窗需要參數,則 window 必須是一個元組,第一個引數是視窗的字串名稱,後續引數是需要的參數。
如果 window 是浮點數,則會將其解讀為
kaiser
視窗的 beta 參數。上面列出的每個視窗類型也是一個函式的名稱,可以直接呼叫該函式來建立該類型的視窗。
範例
>>> from scipy import signal >>> signal.get_window('triang', 7) array([ 0.125, 0.375, 0.625, 0.875, 0.875, 0.625, 0.375]) >>> signal.get_window(('kaiser', 4.0), 9) array([ 0.08848053, 0.29425961, 0.56437221, 0.82160913, 0.97885093, 0.97885093, 0.82160913, 0.56437221, 0.29425961]) >>> signal.get_window(('exponential', None, 1.), 9) array([ 0.011109 , 0.03019738, 0.082085 , 0.22313016, 0.60653066, 0.60653066, 0.22313016, 0.082085 , 0.03019738]) >>> signal.get_window(4.0, 9) array([ 0.08848053, 0.29425961, 0.56437221, 0.82160913, 0.97885093, 0.97885093, 0.82160913, 0.56437221, 0.29425961])