Main Content

kaiser

Description

w = kaiser(L,beta) returns an L-point Kaiser window with shape factor beta.

example

Examples

collapse all

Create a 200-point Kaiser window with a beta of 2.5. Display the result using 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.

Input Arguments

collapse all

Window length, specified as a positive integer.

Note

If you specify L as noninteger, the function rounds it to the nearest integer value.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Shape factor, specified as a positive real scalar. The parameter beta affects the sidelobe attenuation of the Fourier transform of the window.

Data Types: single | double

Output Arguments

collapse all

Kaiser window, returned as a column vector.

Algorithms

The coefficients of a Kaiser window are computed from the following equation:

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

where I0 is the zeroth-order modified Bessel function of the first kind. The length L = N + 1. kaiser(L,beta) is equivalent to

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

To obtain a Kaiser window that represents an FIR filter with sidelobe attenuation of α dB, use the following β.

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

Increasing β widens the mainlobe and decreases the amplitude of the sidelobes (i.e., increases the attenuation).

References

[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.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.

Version History

Introduced before R2006a

expand all