📄 winfft.m
字号:
function w = winfft(type,n,a)
% WINFFT Generates windows for use with FFT
%
% W = WINFFT(TY,N) generates an N-point window of type TY given by
% 'rect'angle ('boxc'ar), 'bart'lett, 'feje'r, 'blac'kman, 'hamm'ing,
% 'vonh'ann,'par1','par2' (parzen) 'papo'ulis, 'riem'ann, and 'welc'h.
% W = WINFFT(TY,N,A) generates windows requiring additional parameter A
% 'cosn' or 'lanc'zos (A=power, [default A=1])
% 'bell' (tapered, taper A<=1, [default A=0.5])
% 'kais'er 'tayl'or or 'mkais' (beta =A, [default A=2])
% 'tuke'y (Tapered,taper A<=1, [default A=0.5])
% 'dolp'h ('cheb'yshev)[even N] (A=ripple dB [default A=60])
%
% TY = 'harris' (with A = 0 to 7) for peak sidelobe level and decay given by
% 0: pk SL: -46.74dB, decay: 30dB/oct 1: pk SL: -60.95dB, decay: 42dB/oct
% 2: pk SL: -64.19dB, decay: 18dB/oct 3: pk SL: -70.82dB, decay: 06dB/oct
% 4: pk SL: -71.48dB, decay: 06dB/oct 5: pk SL: -82.60dB, decay: 30dB/oct
% 6: pk SL: -93.32dB, decay: 18dB/oct 7: pk SL: -98.17dB, decay: 06dB/oct
%
% NOTE: For windows for digital filter design, use WINDOW
%
% WINFFT (with no input arguments) invokes the following example:
%
% % Generate and plot a 16 point Dolph FFT window with Ripple=40 dB
% >>wk=winfft('dolph',16,40),dtplot(0:15,wk,'o')
% ADSP Toolbox: Version 2.0
% For use with "Analog and Digital Signal Processing", 2nd Ed.
% Published by PWS Publishing Co.
%
% Ashok Ambardar, EE Dept. MTU, Houghton, MI 49931, USA
% http://www.ee.mtu/faculty/akambard.html
% e-mail: akambard@mtu.edu
% Copyright (c) 1998
%%NOTE: Only the Bartlett, Papoulis and Par(zen)1 windows have a positive X(f).
%% Only these can be used for PSD estimation using the Tukey method.
if nargin==0,help winfft,disp('Strike a key to see results of the example')
pause,nk=winfft('dolph',16,40);
vx=matverch;
if vx < 4, eval('clg');else,eval('clf');end
dtplot(0:15,nk,'o'),return,end
ty=type(1:4);
if ty=='dolp'|ty=='cheb'
if rem(n,2),error('Dolph window requires even length N'),return,end
end
n=n+1;
if nargin<3
w=windo(ty,n);
else
w=windo(ty,n,a);
end
w(n)=[];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -