📄 makewindow.sci
字号:
function win=MakeWindow(Name,n)
// MakeWindow -- Make artificial Window
// Usage
// wig = MakeWindow(Name,n)
// Inputs
// Name string: 'Rectangle', 'Hanning', 'Hamming',
// 'Gaussian', 'Blackman';
// n desired half Window length
// Outputs
// win 1-d Window, with length 2n+1;
// Description
// Rectangle 1
// Hanning cos(pi*t)^2
// Hamming .54 + .46cos(2pi*t)
// Gaussian exp(-18 * t^2/2)
// Blackman .42 + .50*cos(2pi*t) + .08cos(4.*pi.*t)
// Examples
// win = MakeWindow('Rectangle',17); plot(win);
// win = MakeWindow('Hanning', 17); plot(win);
// win = MakeWindow('Hamming', 17); plot(win);
// win = MakeWindow('Gaussian', 17); plot(win);
// win = MakeWindow('Blackman', 17); plot(win);
// See Also
//
// Algorithm
// Easy to implement.
// References
// Mallat, "A Wavelet Tour of Signal Processing"; 4.2.2 Choice of Window.
//
// Copyright Aldo I Maalouf
t = ((1:(2*n+1))-(n+1))./n./2;
if string(Name)=='Rectangle',
tt=size(t);
win = ones(tt(1),tt(2));
elseif string(Name)=='Hanning',
win = realpow(cos(%pi.*t),2);
elseif string(Name)=='Hamming',
win = .54 + .46*cos(2.*pi.*t);
elseif string(Name)=='Gaussian',
win = exp(-realpow(t,2)*18);
elseif string(Name)=='Blackman',
win = .42 + .50*cos(2.*%pi.*t) + .08*cos(4.*%pi.*t);
end;
endfunction
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -