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

📄 uf_dentbl.m

📁 信号实验常用的simulink模型和mfile,可直接在matlan下运行。
💻 M
字号:
function [TblTitle,TblList,TblDenpoly]=uf_dentbl(fmodel,forder,annex);

fmodel=lower(fmodel);

if nargin<2, forder=3; end;
if nargin<3, annex=0.099; end;

order=10;
kk=ones(order,1);     % 增益

if strcmp(fmodel,'butter'),
   if forder<2,
      error('输入巴特沃斯滤波器阶数应大于等于2。');
   end;
   if ~exist('anflt_butter_den_tbl.mat','file'),
      uf_setbutden(order);
   end;
   load anflt_butter_den_tbl;
   % Formatted Table
   ls_head=[' 阶数 |  分母多项式系数(高次项→低次项排列)'];
   den_str=num2str(den_array);
   [lrow,lcoll]=size(den_str);
   for i=1:lrow,
      if i<10,
         ls_left(i,:)=['   ' int2str(i) '  |  '];
      else,
         ls_left(i,:)=['  ' int2str(i)  '  |  '];
      end;
   end;
   TblTitle='归一化频率的巴特沃斯分母多项式系数';
   TblList=str2mat(ls_head, [ls_left den_str]);
   TblDenpoly=den_array(forder,1:(forder+1));
elseif strcmp(fmodel,'cheby1'),
   if forder<2,
      error('输入切比雪夫滤波器阶数应大于等于2。');
   end;
   den_array=zeros(order,order+1);   % 分母多项式系数
   epsilon = sqrt(10^(.1*annex)-1);  % ε
   % 计算 1 至 order 阶分母多项式
   for n=1:order,
      [z,p,k] = cheb1ap(n, annex);        % Chebyshev type I analog lowpass filter prototype.
      den_array(n,1:(n+1))=real(poly(p)); % Convert roots to polynomial
      kk(n)=den_array(n,n+1);      
   end;
   kk(2:2:order)=kk(2:2:order)./sqrt(1+epsilon^2);
   % Formatted Table
   ls_head=[' 阶数 |  分母多项式系数(高次项→低次项排列)' ...
         ' 注:通带波纹' num2str(annex) 'dB(ε=' num2str(epsilon) ')'];
   den_str=num2str(den_array);
   [lrow,lcoll]=size(den_str);
   for i=1:lrow,
      if i<10,
         ls_left(i,:)=['   ' int2str(i) '  |  '];
      else,
         ls_left(i,:)=['  ' int2str(i)  '  |  '];
      end;
   end;
   TblTitle=['归一化切比雪夫低通滤波器Hc(s)的分母多项式'];
   TblList=str2mat(ls_head, [ls_left den_str]);
   TblDenpoly=[kk(forder) den_array(forder,1:(forder+1))];

elseif strcmp(fmodel,''),
   
   
end;

% 只返回 1 至 order 阶分母多项式列表(矩阵)
if nargout==2,
   clear TblTitle TblList;
   TblTitle=kk;
   TblList=den_array;
end;

⌨️ 快捷键说明

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