Main Content

Kaiser Window

The Kaiser window is an approximation to the prolate spheroidal window, for which the ratio of the mainlobe energy to the sidelobe energy is maximized. For a Kaiser window of a particular length, the parameterβcontrols the relative sidelobe attenuation. For a givenβ, the relative sidelobe attenuation is fixed with respect to window length. The statementkaiser(n,beta)computes a lengthnKaiser window with parameterbeta.

Asβincreases, the relative sidelobe attenuation decreases and the mainlobe width increases. This screen shot shows how the relative sidelobe attenuation stays approximately the same for a fixedβparameter as the length is varied.

Examples of Kaiser windows with length 50 andβparameters of 1, 4, and 9 are shown in this example.

To create these Kaiser windows using the MATLAB®command line, type the following:

n = 50; w1 = kaiser(n,1); w2 = kaiser(n,4); w3 = kaiser(n,9); [W1,f] = freqz(w1/sum(w1),1,512,2); [W2,f] = freqz(w2/sum(w2),1,512,2); [W3,f] = freqz(w3/sum(w3),1,512,2); plot(f,20*log10(abs([W1 W2 W3]))) grid legend('\beta = 1','\beta = 4','\beta = 9')

To create these Kaiser windows using the MATLAB command line, type the following:

w1 = kaiser(50,4); w2 = kaiser(20,4); w3 = kaiser(101,4); [W1,f] = freqz(w1/sum(w1),1,512,2); [W2,f] = freqz(w2/sum(w2),1,512,2); [W3,f] = freqz(w3/sum(w3),1,512,2); plot(f,20*log10(abs([W1 W2 W3]))) grid legend('length = 50','length = 20',的长度= 101)

Kaiser Windows in FIR Design

There are two design formulas that can help you design FIR filters to meet a set of filter specifications using a Kaiser window. To achieve a relative sidelobe attenuation of –αdB, theβ(beta) parameter is

β = { 0 . 1102 ( α - 8 . 7 ) , α > 50 , 0 . 5842 ( α - 21 ) 0 . 4 + 0 . 07886 ( α - 21 ) , 50 α 21 , 0 , α < 21 .

For a transition width of Δ ω rad/样品,使用长度

n = α - 8 2 . 2 8 5 Δ ω + 1 .

Filters designed using these heuristics will meet the specifications approximately, but you should verify this. To design a lowpass filter with cutoff frequency 0.5 π rad/sample, transition width 0.2 π rad/sample, and 40 dB of attenuation in the stopband, try

[n,wn,beta] = kaiserord([0.4 0.6]*pi,[1 0],[0.01 0.01],2*pi); h = fir1(n,wn,kaiser(n+1,beta),'noscale');

Thekaiserord函数估计满足给定频域规范所需的滤波器顺序,截止频率和Kaiser窗口beta参数。

通带中的波纹大致与停止带中的涟漪大致相同。从频率响应中可以看到,此过滤器几乎符合规格:

fvtool(h,1)

Figure Magnitude Response (dB) contains an axes object. The axes object with title Magnitude Response (dB) contains an object of type line.

See Also

Apps

Functions