当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy windows.kaiser_bessel_derived用法及代码示例


本文简要介绍 python 语言中 scipy.signal.windows.kaiser_bessel_derived 的用法。

用法:

scipy.signal.windows.kaiser_bessel_derived(M, beta, *, sym=True)#

返回 Kaiser-Bessel 派生窗口。

参数

M int

输出窗口中的点数。如果为零,则返回空数组。当它为负数时会抛出异常。请注意,此窗口仅针对偶数个点定义。

beta 浮点数

Kaiser 窗口形状参数。

sym 布尔型,可选

该参数的存在只是为了符合其他窗口函数提供的接口,并且可以被 get_window 调用。当为 True(默认)时,生成一个对称窗口,用于滤波器设计。

返回

w ndarray

窗口,标准化为满足Princen-Bradley 条件。

注意

它被设计为适合与修正离散余弦变换 (MDCT) 一起使用,主要用于音频信号处理和音频编码。

参考

[1]

Bosi、Marina 和 Richard E. Goldberg。数字音频编码和标准简介。多德雷赫特:克鲁沃,2003 年。

[2]

维基百科,“Kaiser window”,https://en.wikipedia.org/wiki/Kaiser_window

例子

根据维基百科参考 [2] 绘制 Kaiser-Bessel 派生窗口:

>>> import numpy as np
>>> from scipy import signal
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots()
>>> N = 50
>>> for alpha in [0.64, 2.55, 7.64, 31.83]:
...     ax.plot(signal.windows.kaiser_bessel_derived(2*N, np.pi*alpha),
...             label=f"{alpha=}")
>>> ax.grid(True)
>>> ax.set_title("Kaiser-Bessel derived window")
>>> ax.set_ylabel("Amplitude")
>>> ax.set_xlabel("Sample")
>>> ax.set_xticks([0, N, 2*N-1])
>>> ax.set_xticklabels(["0", "N", "2N+1"])  
>>> ax.set_yticks([0.0, 0.2, 0.4, 0.6, 0.707, 0.8, 1.0])
>>> fig.legend(loc="center")
>>> fig.tight_layout()
>>> fig.show()
scipy-signal-windows-kaiser_bessel_derived-1.png

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.signal.windows.kaiser_bessel_derived。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。