주요 콘텐츠

sigwin.kaiser Class

Namespace: sigwin

Construct Kaiser window object

Description

Note

The use of sigwin.kaiser is not recommended. Use kaiser instead.

sigwin.kaiser creates a handle to a Kaiser window object for use in spectral analysis and FIR filtering by the window method. Object methods enable workspace import and ASCII file export of the window values.

The following equation defines the Kaiser window of length N:

w(x)=I0(β14x2(N1)2)/I0(β),(N1)/2x(N1)/2

where x is linearly spaced N-point vector and I0() is the modified zeroth-order Bessel function of the first kind. β is the attenuation parameter.

Construction

H = sigwin.kaiser returns a Kaiser window object H of length 64 and attenuation parameter beta of 0.5.

H = sigwin.kaiser(Length) returns a Kaiser window object H of length Length and attenuation parameter beta of 0.5. Length requires a positive integer. Entering a positive noninteger value for Length rounds the length to the nearest integer. Entering a 1 for Length results in a window with a single value of 1.

H = sigwin.kaiser(Length,Beta) returns a Kaiser window object with real-valued attenuation parameter beta.

Properties

Length

Kaiser window length. The window length requires a positive integer. Entering a positive noninteger value for Length rounds the length to the nearest integer. Entering a 1 for Length results in a window with a single value of 1.

Beta

Attenuation parameter. Beta requires a real number. Larger absolute values of Beta result in greater stopband attenuation, or equivalently greater attenuation between the main lobe and first side lobe.

Methods

generateGenerates Kaiser window
infoDisplay information about Kaiser window object
winwriteSave Kaiser window in ASCII file

Copy Semantics

Handle. To learn how copy semantics affect your use of the class, see Copying Objects in the MATLAB® Programming Fundamentals documentation.

Examples

collapse all

Generate two Kaiser windows of length N = 64:

  • The first window has an attenuation parameter β = 5.

  • The second window has β = 15.

Display the two windows.

H05 = sigwin.kaiser(128,5);
H15 = sigwin.kaiser(128,15);

wvt = wvtool(H05,H15);
legend(wvt.CurrentAxes,'\beta = 5','\beta = 15')

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. These objects represent \beta = 5, \beta = 15.

Generate a Kaiser window with length N = 16 and the default β = 1/2. Return its values as a column vector. Show information about the window object. Display the window.

H = sigwin.kaiser(16);

win = generate(H)
win = 16×1

    0.9403
    0.9550
    0.9677
    0.9783
    0.9868
    0.9933
    0.9976
    0.9997
    0.9997
    0.9976
    0.9933
    0.9868
    0.9783
    0.9677
    0.9550
      ⋮

wininfo = info(H)
wininfo = 4×13 char array
    'Kaiser Window'
    '-------------'
    'Length  : 16 '
    'Beta    : 0.5'

wvtool(H)

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.

References

Oppenheim, Alan V., and Ronald W. Schafer. Discrete-Time Signal Processing. Upper Saddle River, NJ: Prentice Hall, 1989.