afd_elip.m
来自「关于数字信号处理的一些matlab例程」· M 代码 · 共 22 行
M
22 行
function [b,a]=afd_elip(Wp,Ws,Rp,As);
if Wp<=0
error('Passband edge must be larger than 0')
end
if Ws<=Wp
error('Stopband edge must be larger than Passband edge')
end
if (Rp<=0) | (As<0)
error('PB ripple and/or SB attenuation ust be larger than 0')
end
ep=sqrt(10^(Rp/10)-1);
A=10^(As/20);
OmegaC=Wp;
k=Wp/Ws;
k1=ep/sqrt(A*A-1);
capk=ellipke([k.^2 1-k.^2]);% Version 4.0 code
capk1=ellipke([(k1.^2) 1-(k1.^2)]);% Version 4.0 code
N=ceil(capk(1)*capk1(2)/(capk(2)*capk1(1)));
fprintf('\n***Elliptic Filter Order=%2.0f\n',N)
[b,a]=u_elipap(N,Rp,As,OmegaC);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?