scipy.signal.windows.
kaiser_bessel_derived#
- scipy.signal.windows.kaiser_bessel_derived(M, beta, *, sym=True)[源代码]#
返回一个凯泽-贝塞尔派生窗口。
- 参数:
- Mint
输出窗口中的点数。如果为零,则返回一个空数组。如果为负数,则抛出异常。请注意,此窗口仅在偶数点数时定义。
- betafloat
凯泽窗口形状参数。
- symbool,可选
此参数仅存在是为了与其他窗口函数提供的接口保持一致,并能够被
get_window
调用。当为 True(默认值)时,生成一个对称窗口,用于滤波器设计。
- 返回:
- wndarray
窗口,已归一化以满足普林森-布拉德利条件。
另请参阅
备注
它被设计为适用于修改后的离散余弦变换 (MDCT),主要用于音频信号处理和音频编码。
在版本 1.9.0 中添加。
参考资料
[1]Bosi, Marina, and Richard E. Goldberg. Introduction to Digital Audio Coding and Standards. Dordrecht: Kluwer, 2003.
[2]Wikipedia, “Kaiser window”, https://en.wikipedia.org/wiki/Kaiser_window
示例
根据维基百科参考资料 [2] 绘制凯泽-贝塞尔派生窗口
>>> 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()