カイザー窓の時間特性・周波数特性

clear; close all;

% alpha = 0;%方形窓のときα=0
% alpha = 5.4414;%ハミング窓のときα=5.4414
% alpha = 8.885;%ブラックマン窓のときα=8.885
N = 127;
M = (N-1)/2;
n = -M:M;
T=1;
A =@(alpha) alpha * sqrt(1-(2*n/(N-1)).^2);
Den =@(alpha) besseli(0, A(alpha));
Num =@(alpha) besseli(0,alpha);
w9 = @(alpha) Den(alpha)/Num(alpha);
plot(n,w9(0),'DisplayName','α=0(方形窓)');
hold on;
plot(n,w9(5.4414),'DisplayName','α=5.4414(ハミング窓)');
plot(n,w9(8.885),'DisplayName','α=8.885(ブラックマン窓)');
title('カイザー窓');
legend();

figure();
omega = linspace(0,pi,1000);
W9 = 0;
a = 0;
for n=-M:M
    A =@(alpha) alpha * sqrt(1-(2*n/(N-1)).^2);
    Den =@(alpha) besseli(0, A(alpha));
    Num =@(alpha) besseli(0,alpha);
    w9 = @(alpha) Den(alpha)/Num(alpha);
    W9 = W9 + w9(a)*exp(-j*n*omega*T);
end
lab = sprintf('alpha=%g',a);
plot(omega*T, 20*log10(abs(W9)/max(abs(W9))),'DisplayName',lab);
hold on;
a = 5.4414;
for n=-M:M
    A =@(alpha) alpha * sqrt(1-(2*n/(N-1)).^2);
    Den =@(alpha) besseli(0, A(alpha));
    Num =@(alpha) besseli(0,alpha);
    w9 = @(alpha) Den(alpha)/Num(alpha);
    W9 = W9 + w9(a)*exp(-j*n*omega*T);
end
lab = sprintf('alpha=%g',a);
plot(omega*T, 20*log10(abs(W9)/max(abs(W9))),'DisplayName',lab);
a = 8.885;
for n=-M:M
    A =@(alpha) alpha * sqrt(1-(2*n/(N-1)).^2);
    Den =@(alpha) besseli(0, A(alpha));
    Num =@(alpha) besseli(0,alpha);
    w9 = @(alpha) Den(alpha)/Num(alpha);
    W9 = W9 + w9(a)*exp(-j*n*omega*T);
end
lab = sprintf('alpha=%g',a);
plot(omega*T, 20*log10(abs(W9)/max(abs(W9))),'DisplayName',lab);


legend;
big;

ωT=0近傍