主要内容

nuttallwin

纳托尔定义的最小 4 项布莱克曼-哈里斯窗

说明

w = nuttallwin(L) 返回纳托尔定义的 L 点、四项对称布莱克曼-哈里斯窗。此窗的系数与使用 blackmanharris 计算的布莱克曼-哈里斯窗系数不同,并会产生略低的旁瓣。

示例

w = nuttallwin(L,sflag) 使用 sflag 窗采样。

w = nuttallwin(___,typeName) 指定返回窗 w 的选项,其精度为单精度或双精度,适用于上述任一语法。 (自 R2026a 起)

示例

全部折叠

比较 64 点纳托尔窗和布莱克曼-哈里斯窗。使用 wvtool 对其绘图。

L = 64;
w = blackmanharris(L);
y = nuttallwin(L);
wvtool(w,y)

Figure Window Visualization Tool contains 2 axes objects and other objects of type uimenu, uitoolbar, uipanel. Axes object 1 with title Time domain, xlabel Samples, ylabel Amplitude contains 2 objects of type line. Axes object 2 with title Frequency domain, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Magnitude (dB) contains 2 objects of type line.

计算两个窗之间的最大差异。

max(abs(y-w))
ans = 
0.0099

输入参数

全部折叠

窗长度,指定为非负整数。

注意

如果将 L 指定为非整数,该函数会将其舍入为最接近的整数值。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

窗采样,指定为 "symmetric""periodic"。有关定义对称和周期性窗的方程,请参阅算法

输出数据类型(类),指定为以下类型之一:

  • "double" - 使用此选项返回双精度输出 w

  • "single" - 使用此选项返回单精度输出 w

数据类型: char | string

输出参量

全部折叠

纳托尔定义的布莱克曼-哈里斯窗,以长度为 L 的列向量形式返回。该函数最小化窗的最大旁瓣。

算法

对称纳托尔定义的四项布莱克曼-哈里斯窗的方程为

w(n)=a0a1cos(2πnN1)+a2cos(4πnN1)a3cos(6πnN1)

其中 n= 0,1,2, ... N-1

周期性纳托尔定义的四项布莱克曼-哈里斯窗的方程为

w(n)=a0a1cos(2πnN)+a2cos(4πnN)a3cos(6πnN)

其中 n= 0,1,2, ... N-1。周期性窗是 N 周期的。

此窗的系数为

a0 = 0.3635819

a1 = 0.4891775

a2 = 0.1365995

a3 = 0.0106411

参考

[1] Nuttall, Albert H. “Some Windows with Very Good Sidelobe Behavior.” IEEE® Transactions on Acoustics, Speech, and Signal Processing. Vol. ASSP-29, February 1981, pp. 84–91.

扩展功能

全部展开

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

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

版本历史记录

在 R2006a 之前推出

全部展开