File:KaiserWindow.svg

Summary

Description Kaiser Window Function for different parametric values
Date 2007-09-18, revised 2019-03-21 by Bob K
Source Own work
Author RetoGalli
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#KaiserWindow.svgCategory:PD-self#KaiserWindow.svg
SVG development
InfoField
Octave/gnuplot source
InfoField
click to expand

This graphic was created by the following Octave script:

pkg load signal
graphics_toolkit gnuplot

clear all; close all; clc
betas = [1 2 4 8 16];
alphas = betas/pi
colors = [0 0 1; 0 1 0; 1 0 0; 0 1 1; 1 0 1]; %blue green red cyan magenta

hfig = figure;
grid on; hold on; box on
N = 128;	% Relative curve shapes are not sensitive to this number
set(gca, "XTick",[0 : 1/8 : 1]*N,...
         "XTickLabel",[" 0"; " "; " "; " "; " "; " "; " "; " "; "N  "])
xlim([0 N])
ylim([0 1.05])

for k = 1:length(betas)
  w = besseli(0,betas(k)*sqrt(1-(2*(0:N)/N -1).^2))/besseli(0,betas(k));
  plot(0:N, w, "color", colors(k,:), "linewidth", 2)
end

title("Parametric family of Kaiser windows")
ylabel(" ")             % create left margin
text(3, .99, 'W_n', "fontsize", 14)
text(56, -0.05, '\leftarrow   n   \rightarrow')

h = legend(['\pi\alpha=  ' num2str(betas(1),'%2i') '; \alpha=' num2str(betas(1)/pi,'%4.2f')],...
           ['\pi\alpha=  ' num2str(betas(2),'%2i') '; \alpha=' num2str(betas(2)/pi,'%4.2f')],...
           ['\pi\alpha=  ' num2str(betas(3),'%2i') '; \alpha=' num2str(betas(3)/pi,'%4.2f')],...
           ['\pi\alpha=  ' num2str(betas(4),'%2i') '; \alpha=' num2str(betas(4)/pi,'%4.2f')],...
           ['\pi\alpha='   num2str(betas(5),'%2i') '; \alpha=' num2str(betas(5)/pi,'%4.2f')],...
           "location","south");
legend boxoff
set(h, "fontsize",10);

% The following print() converts plain-text Greek characters in text() strings into Symbol font,
% but legend() crashes it.  The set() succeeds, but generates warnings, some of which are 
% diabled by warning().
% print(hfig,"-dsvg","-color",'C:\Users\BobK\KaiserWindow.svg')
  warning("off", "Octave:missing-glyph");
  set(h, "fontname","Symbol");
Category:Signal processing Category:Created with GNU Octave Category:Images with Octave source code Category:Images with Gnuplot source code
Category:Created with GNU Octave Category:Images with Gnuplot source code Category:Images with Octave source code Category:PD-self Category:Pages using deprecated source tags Category:Self-published work Category:Signal processing Category:Valid SVG created with Octave