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

📄 dfdhp.m

📁 AFD - Advanced Filter Design using MATLABMiroslav D. Lutovac, Dejan V. Tosicversion 1.00 released 15
💻 M
字号:
function [numH,denH] = dfdhp(n,a,e,fp)

% dfdhp.m  dfd normalized transfer function
%
%   Authors: Dejan V. Tosic, Miroslav D. Lutovac, 1999.03.07
%                 tosic@telekom.etf.bg.ac.yu
%                 lutovac@galeb.etf.bg.ac.yu
%
%   Copyright (c) 1999 by Tosic & Lutovac
%   $Revision: 1.0 $  $Date: 1999/03/07 03:07:42 $
%
%   References:
%        Miroslav D. Lutovac, Dejan V. Tosic, Brian L. Evans
%           Advanced Filter Design for Signal Processing
%                   Using MATLAB and Mathematica

%  calls:
%% dfdxna.m, dfdsnaei.m, dfdzbl.m

X = dfdxna(n,a);
nX = length(X);
for ind = 1:nX
 S(ind) = dfdsnaei(n,a,e,ind);
end

if abs(n-2*fix(n/2)) ~= 0
 X((n+1)/2) = 1/10^6;
end

zz = dfdzbl(j*a*ones(size(X))./X,fp);
zp = dfdzbl(S,fp);

if abs(n-2*fix(n/2)) ~= 0
 zz((n+1)/2) = -1;
end

g = 1;
numH = 1;
denH = 1;
if abs(n-2*fix(n/2)) == 0
  for i=1:n/2
    g = g * (2 -2*real(zz(i))) / (1 -2*real(zp(i)) + abs(zp(i))^2);
    numH = conv(numH, [1   -2*real(zz(i))               1]);
    denH = conv(denH, [1   -2*real(zp(i))    abs(zp(i))^2]);
  end
    g = g * sqrt(1+e^2);
else
  for i=1:(n-1)/2
    g = g * (2 -2*real(zz(i))) / (1 -2*real(zp(i)) + abs(zp(i))^2);
    numH = conv(numH, [1   -2*real(zz(i))               1]);
    denH = conv(denH, [1   -2*real(zp(i))    abs(zp(i))^2]);
  end
    g = 2*g/(1 -zp((n+1)/2));
    numH = conv(numH, [1 1]);
    denH = conv(denH, [1 -zp((n+1)/2)]);
end
numH = numH/g;

⌨️ 快捷键说明

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