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

📄 afdcheck.m

📁 AFD - Advanced Filter Design using MATLABMiroslav D. Lutovac, Dejan V. Tosicversion 1.00 released 15
💻 M
字号:
function goodspec = afdcheck(speca,filnumb)

% afdcheck.m  AFD check specification
% 1:39  29/1/99
%
%   Authors: Dejan V. Tosic, Miroslav D. Lutovac, 1999.02.08
%                 tosic@telekom.etf.bg.ac.yu
%                 lutovac@galeb.etf.bg.ac.yu
%
%   Copyright (c) 1999 by Tosic & Lutovac
%   $Revision: 1.0 $  $Date: 1999/02/08 03:07:42 $
%
%   References:
%        Miroslav D. Lutovac, Dejan V. Tosic, Brian L. Evans
%           Advanced Filter Design for Signal Processing
%                   Using MATLAB and Mathematica

goodspec = 1;

if any(speca-abs(speca))
 goodspec = 0;
 disp('AFD ERROR in filter specification: Negative data.')
 return
end

if     filnumb==1
 if speca(1)>=speca(2)
  goodspec = 0;
  disp('AFD ERROR in lowpass spec: Fpass >= Fstop.')
 end
 if speca(3)>=speca(4)
  goodspec = 0;
  disp('AFD ERROR in lowpass spec: Apass >= Astop.')
 end

elseif filnumb==2
 if speca(1)>=speca(2)
  goodspec = 0;
  disp('AFD ERROR in highpass spec: Fstop >= Fpass.')
 end
 if speca(3)>=speca(4)
  goodspec = 0;
  disp('AFD ERROR in highpass spec: Apass >= Astop.')
 end

elseif filnumb==3
 if speca(1)>=speca(2)
  goodspec = 0;
  disp('AFD ERROR in bandpass spec: Fstop1 >= Fpass1.')
 end
 if speca(2)>=speca(3)
  goodspec = 0;
  disp('AFD ERROR in bandpass spec: Fpass1 >= Fpass2.')
 end
 if speca(3)>=speca(4)
  goodspec = 0;
  disp('AFD ERROR in bandpass spec: Fpass2 >= Fstop2.')
 end
 if speca(6)>=speca(5)
  goodspec = 0;
  disp('AFD ERROR in bandpass spec: Apass >= Astop1.')
 end
 if speca(6)>=speca(7)
  goodspec = 0;
  disp('AFD ERROR in bandpass spec: Apass >= Astop2.')
 end

elseif filnumb==4
 if speca(1)>=speca(2)
  goodspec = 0;
  disp('AFD ERROR in bandreject spec: Fpass1 >= Fstop1.')
 end
 if speca(2)>=speca(3)
  goodspec = 0;
  disp('AFD ERROR in bandreject spec: Fstop1 >= Fstop2.')
 end
 if speca(3)>=speca(4)
  goodspec = 0;
  disp('AFD ERROR in bandreject spec: Fstop2 >= Fpass2.')
 end
 if speca(5)>=speca(6)
  goodspec = 0;
  disp('AFD ERROR in bandreject spec: Apass1 >= Astop.')
 end
 if speca(7)>=speca(6)
  goodspec = 0;
  disp('AFD ERROR in bandreject spec: Apass2 >= Astop.')
 end

else
 error(['AFD ERROR: Unsupported filter type ', num2str(filnumb), '.'])

end

⌨️ 快捷键说明

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