Окно Кайзера - это приближение к пролитному сфероидальному окну, для которого максимизируется отношение энергии мейнлоба к энергии сайдлоба. Для окна Кайзера определенной длины параметр β управляет относительным затуханием боковых зон. Для данного β относительное затухание боковых зон фиксировано относительно длины окна. Заявление kaiser(n,beta) вычисляет длину n Окно кайзера с параметром beta.
По мере увеличения β относительное ослабление боковых участков уменьшается, а ширина основного участка увеличивается. Этот снимок экрана показывает, как относительное затухание боковых частей остается примерно одинаковым для фиксированного параметра β при изменении длины.
Примеры окон Кайзера с длиной 50 и параметрами β 1, 4 и 9 показаны в этом примере.

Чтобы создать эти окна Kaiser с помощью командной строки MATLAB ®, введите следующее:
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')


Чтобы создать эти окна Kaiser с помощью командной строки MATLAB, введите следующее:
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','length = 101')

Существует две формулы проектирования, которые могут помочь в проектировании фильтров FIR для соответствия набору спецификаций фильтров с помощью окна Kaiser. Чтобы достичь относительного затухания боковых зон -α дБ, β (beta) параметр имеет значение
Для ширины перехода рад/образец используйте длину
+ 1.
Фильтры, разработанные с использованием этих эвристик, будут приблизительно соответствовать спецификациям, но вы должны проверить это. Чтобы сконструировать фильтр нижних частот с частотой отсечки рад/образец, шириной перехода рад/образец и 40 дБ затухания в стоп-полосе, попробуйте
[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'); kaiserord функция оценивает порядок фильтрации, частоту отсечки и бета-параметр окна Кайзера, необходимый для соответствия заданному набору спецификаций частотной области.
Пульсация в полосе пропускания примерно такая же, как пульсация в полосе останова. Как видно из частотной характеристики, этот фильтр почти соответствует спецификациям:
fvtool(h,1)
