⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 winwind.m

📁 trabajos en matlab para verificar son muy buenos
💻 M
字号:
function w = winwind(typ,n,a)
% WINWIND Support file for FIRGUI


% 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


n1 = n-1;
nn = fix(n1/2);
n0 = nn:-1:0;
if rem(n,2) == 0,
   n0 = n0 + .5;
end,
t = 0:nn;
m = 2*pi*t/n1;


if typ == 1, % hamming
   w = .54 - .46*cos(m);

elseif typ == 2, % vonHann
   w = .5*(1 - cos(m));


elseif typ == 3, % blackman
   w = .42-.5*cos(m)+.08*cos(2*m);

elseif typ == 4, % kaiser
   a = a*pi;
   nn = fix((n-1)/2);
   n0 = nn:-1:0;
   if rem(n,2) == 0, n0 = n0 + .5; end
   beta = a*sqrt(1-4*(n0/(n-1)).^2);
   b = besseli(0,[beta a]);
   w = b(1:nn+1)/b(nn+2);
   w = real(w);

elseif typ == 5, % chebyshev
   nn = fix((n-1)/2);
   e = 10^(-a/20);
   m = 2*nn;
   b = cosh(acosh(1/e)/m);
   f = b*cos(pi*(1:m)/m);
   d = zeros(1,m);
   i1 = find(abs(f)<=1);
   i2 = find(f>1);
   i3 = find(f<-1);
   if ~isempty(i1), d(i1) = cos(m*acos(f(i1))); end
   if ~isempty(i2), d(i2) = cosh(m*acosh(f(i2))); end
   if ~isempty(i3), d(i3) = ((-1)^m)*cosh(m*acosh(-f(i3))); end
   w = fft(d);
   w = abs(w(nn+1:-1:1)/w(1));
   w(1) = w(1)/2;


elseif typ == 6  % Harris ,
   if a==0,b=[.375 .5 .125 0];end
   if a==1,b=[10/32 15/32 6/32 1/32];end
   if a==2,b=[.40897 .5 .09103 0];end
   if a==3,b=[.42323 .49755 .07922 0];end
   if a==4,b=[.4243801 .4973406 .0782793 0];end
   if a==5,b=[.338946 .481973 .161054 .018027];end
   if a==6,b=[.355768 .487396 .144232 .012604];end
   if a==7,b=[.3635819 .4891775 .1365995 .0106411];end
   w = b(1)-b(2)*cos(m)+b(3)*cos(2*m)-b(4)*cos(3*m);


end
w = [w w(nn+1-rem(n,2):-1:1)];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -