Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

blackman

布莱克曼窗

说明

w = blackman(L) 返回一个长度为 L 个点的对称布莱克曼窗。

示例

w = blackman(L,sflag) 使用由 sflag 指定的窗采样方法返回一个布莱克曼窗。

示例

全部折叠

创建一个长度为 64 个点的布莱克曼窗。使用 wvtool 显示结果。

L = 64;
wvtool(blackman(L))

输入参数

全部折叠

窗长度,指定为正整数。

数据类型: single | double

窗采样方法,指定为:

  • 'symmetric' - 在使用窗进行滤波器设计时使用此选项。

  • 'periodic' - 此选项对于频谱分析很有用,因为它使加窗信号可具有离散傅里叶变换中固有的完美周期延拓。当指定 'periodic' 时,该函数计算长度为 L + 1 的窗,并返回前 L 个点。

输出参量

全部折叠

布莱克曼窗,以列向量形式返回。

算法

以下方程定义长度为 N 的布莱克曼窗:

w(n)=0.420.5cos(2πnL1)+0.08cos(4πnL1),0nM1

其中 MN 为偶数时为 N/2,在 N 为奇数时为 (N + 1)/2。

在对称情况下,布莱克曼窗的后半部分 (MnN – 1) 是通过将前半部分围绕中点进行对称得到的。在 FIR 滤波器设计中使用布莱克曼窗时,对称选项是首选方法。

周期性布莱克曼窗是通过将所需窗长度延长一个样本至 N + 1、构造对称窗并删除最后一个样本构造的。在频谱分析中使用布莱克曼窗时,周期性版本是首选方法,因为离散傅里叶变换假设输入向量是周期性扩展的。

参考

[1] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1999, pp. 468–471.

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2006a 之前推出

全部展开

另请参阅

App

函数