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
(需要贝塔值)kaiser_bessel_derived
(需要贝塔值)gaussian
(需要标准差)general_cosine
(需要加权系数)general_gaussian
(需要强度、宽度)general_hamming
(需要窗口系数)dpss
(需要归一化半带宽)chebwin
(需要衰减)
如果窗口不需要参数,则 window 可以为一个字符串。
如果窗口需要参数,则 window 必须为一个元组,其第一个参数为窗口字符串名称,接下来的参数为所需参数。
如果 window 是一个浮点数,则会将其解释为
kaiser
窗口的贝塔值。上面列出的每种窗口类型也是一个函数的名称,可以被直接调用来创建这种类型的窗口。
示例
>>> 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])