主要内容

kaiser

凯塞窗

说明

w = kaiser(L,beta) 返回形状因子为 beta 且长度为 L 个点的凯塞窗。

示例

示例

全部折叠

创建一个长度为 200 个点且 beta 为 2.5 的凯塞窗。使用 wvtool 显示结果。

w = kaiser(200,2.5);
wvtool(w)

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 an object of type line. Axes object 2 with title Frequency domain, xlabel Normalized Frequency (\times\pi rad/sample), ylabel Magnitude (dB) contains an object of type line.

输入参数

全部折叠

窗长度,指定为正整数。

注意

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

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

形状因子,指定为正实数标量。参数 beta 会影响窗的傅里叶变换的旁瓣衰减。

数据类型: single | double

输出参量

全部折叠

凯塞窗,以列向量形式返回。

算法

凯塞窗的系数由以下方程计算:

w(n)=I0(β1(nN/2N/2)2)I0(β),0nN,

其中,I0 是第一类零阶修正贝塞尔函数。长度 L = N + 1kaiser(L,beta) 等效于

besseli(0,beta*sqrt(1-(((0:L-1)-(L-1)/2)/((L-1)/2)).^2))/besseli(0,beta)

要获得旁瓣衰减为 α dB 且表示 FIR 滤波器的凯塞窗,请使用以下 β

β={0.1102(α8.7),α>500.5842(α21)0.4+0.07886(α21),50α210,α<21

增大 β 会加宽主瓣,并减小旁瓣振幅(即增加衰减)。

参考

[1] Digital Signal Processing Committee of the IEEE Acoustics, Speech, and Signal Processing Society, eds. Selected Papers in Digital Signal Processing. Vol. II. New York: IEEE Press, 1976.

[2] Kaiser, James F. "Nonrecursive Digital Filter Design Using the I0-Sinh Window Function." Proceedings of the 1974 IEEE® International Symposium on Circuits and Systems. April, 1974, pp. 20–23.

[3] Oppenheim, Alan V., and Ronald W. Schafer, with John R. Buck. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1999.

扩展功能

全部展开

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

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

版本历史记录

在 R2006a 之前推出

全部展开