Окно Кайзера

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

Когда β увеличивается, относительные уменьшения затухания бокового лепестка и mainlobe увеличения ширины. Этот снимок экрана показывает, как относительное затухание бокового лепестка приблизительно остается таким же для фиксированного параметра β, когда длина варьируется.

Примеры окон Кайзера с длиной 50 и параметры β 1, 4, и 9 показывают в этом примере.

Чтобы создать эти окна Кайзера с помощью командной строки 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')

Чтобы создать эти окна Кайзера с помощью командной строки 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')

Окна Кайзера в КИХ-проекте

Существует две формулы проекта, которые могут помочь вам спроектировать КИХ-фильтры, чтобы соответствовать набору спецификаций фильтра с помощью окна Кайзера. Достигнуть относительного затухания бокового лепестка –α дБ, β (beta) параметр

β={0.1102(α-8.7),α>50,0.5842(α-21)0.4+0.7886(α-21),50α21,0,α<21.

Для ширины перехода Δω рад/выборка, используйте длину

n=α-82.285Δω+1.

Спроектированное использование фильтров этой эвристики будет соответствовать спецификациям приблизительно, но необходимо проверить это. Спроектировать фильтр lowpass с частотой среза 0.5π рад/выборка, ширина перехода 0.2π рад/выборка, и 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)

Смотрите также

Приложения

Функции