File:Kaiser-Window-Spectra.jpg

Description
English: Spectra of two Kaiser windows
Date
Source Own work
Author Bob K
Permission
(Reusing this file)
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.
Category:Self-published work#Kaiser-Window-Spectra.jpgCategory:PD-self#Kaiser-Window-Spectra.jpg
Other versions The JPG image generated by the enclosed Octave script replaces the previous versions, which were derived from Kaiser-Window-Spectra.svg by RetoGalli
Source code
InfoField
N
 This JPG graphic was created with GNU Octave by Bob K.
Category:PNG created with Octave code#Kaiser-Window-Spectra.jpg

Matlab

graphics_toolkit gnuplot
N  = 2^17;
n  = 0:N-1;
P  = 15;        % Maximum bin index drawn
dr = 100;       % dynamic range of plot
M  = 32;        % Fourier transform size as multiple of window length
k  = ([1:M*N]-1-M*N/2)/M;
k2 = [-P : 1/M : P];

figure
hold on
set(gca,'FontSize',10)

alpha = 2.4;
w = besseli(0,pi*alpha*sqrt(1-(2*n/(N-1) -1).^2))/besseli(0,pi*alpha);

H = abs(fft([w zeros(1,(M-1)*N)]));
H = fftshift(H);
H = H/max(H);
H = 20*log10(H);
H = max(-dr,H);
H2 = interp1 (k, H, k2);

plot(k2, H2, 'color', 'blue')
xlim([-P P])
ylim([-dr 6])
set(gca,'YTick', [0 : -10 : -dr])
grid('on')
ylabel('decibels')
xlabel('DFT bins')
text(2.1, -15, '\alpha=2.4', 'color', 'blue', 'fontsize', 12)

alpha = 1.2;
w = besseli(0,pi*alpha*sqrt(1-(2*n/(N-1) -1).^2))/besseli(0,pi*alpha);

H = abs(fft([w zeros(1,(M-1)*N)]));
H = fftshift(H);
H = H/max(H);
H = 20*log10(H);
H = max(-dr,H);
H2 = interp1 (k, H, k2);

plot(k2, H2, 'color', 'red')
text(6.6, -38, '\alpha=1.2', 'color', 'red', 'fontsize', 12)
hold off

Source code
InfoField

SVG code

Source code
graphics_toolkit gnuplot
N  = 2^17;
n  = 0:N-1;
P  = 15;        % Maximum bin index drawn
dr = 100;       % dynamic range of plot
M  = 32;        % Fourier transform size as multiple of window length
k  = ([1:M*N]-1-M*N/2)/M;
k2 = [-P : 1/M : P];

figure
hold on
set(gca,'FontSize',10)

alpha = 2.4;
w = besseli(0,pi*alpha*sqrt(1-(2*n/(N-1) -1).^2))/besseli(0,pi*alpha);

H = abs(fft([w zeros(1,(M-1)*N)]));
H = fftshift(H);
H = H/max(H);
H = 20*log10(H);
H = max(-dr,H);
H2 = interp1 (k, H, k2);

plot(k2, H2, 'color', 'blue')
xlim([-P P])
ylim([-dr 6])
set(gca,'YTick', [0 : -10 : -dr])
grid('on')
ylabel('decibels')
xlabel('DFT bins')
text(2.1, -15, '\alpha=2.4', 'color', 'blue', 'fontsize', 12)

alpha = 1.2;
w = besseli(0,pi*alpha*sqrt(1-(2*n/(N-1) -1).^2))/besseli(0,pi*alpha);

H = abs(fft([w zeros(1,(M-1)*N)]));
H = fftshift(H);
H = H/max(H);
H = 20*log10(H);
H = max(-dr,H);
H2 = interp1 (k, H, k2);

plot(k2, H2, 'color', 'red')
text(6.6, -38, '\alpha=1.2', 'color', 'red', 'fontsize', 12)
hold off

Original upload log

The 4/30/2009 version is a derivative work of the following image:

Uploaded with derivativeFX Category:Uploaded with derivativeFX

Category:Signal processing Category:Window function Category:Images with Octave source code
Category:Images with Octave source code Category:PD-self Category:PNG created with Octave code Category:Self-published work Category:Signal processing Category:Uploaded with derivativeFX Category:Window function