scipy.signal.windows.
get_window#
- scipy.signal.windows.get_window(window, Nx, fftbins=True, *, xp=None, device=None)[source]#
返回给定长度和类型的窗口。
- 参数:
- window字符串,浮点数或元组
要创建的窗口的类型。有关更多详细信息,请参见下文。
- Nxint
窗口中的样本数。
- fftbinsbool,可选
如果为 True(默认),则创建一个“周期性”窗口,准备好与 ifftshift 一起使用,并乘以 FFT 的结果(另请参见
fftfreq
)。如果为 False,则创建一个“对称”窗口,用于滤波器设计。- xparray_namespace, 可选
可选的数组命名空间。应与数组 API 标准兼容,或由 array-api-compat 支持。默认值:
numpy
- device: any
输出的可选设备规范。应与
xp
中支持的设备规范之一匹配。
- 返回值:
- get_windowndarray
返回长度为 Nx 和类型为 window 的窗口
注释
窗口类型
kaiser
(需要 beta)kaiser_bessel_derived
(需要 beta)gaussian
(需要标准差)general_cosine
(需要加权系数)general_gaussian
(需要幂,宽度)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])