afd_elip.m

来自「原名:数字信号处理基础及MATLAB实现,解压缩密码:lfjk2002@163.」· M 代码 · 共 24 行

M
24
字号
function [b,a]=afd_elip(Wp,Ws,Rp,Ar)
%按给定的技术指标设计模拟椭圆低通滤波器
%b直接型滤波器分子系数;a直接型滤波器分母系数
%Wp通带截止频率,单位弧度/秒;Ws阻带截止频率,单位弧度/秒;
%Rp通带中的振幅波动系数(dB);Ar阻带衰减,(dB);
if Wp<=0
    error('通带边缘必须大于0')
end
if Ws<=Wp
    error('阻带边缘必须大于通带边缘')
end
if (Rp<=0)|(Ar<0)
    error('通带波动或阻带衰减必须大于0')
end
ep=sqrt(10^(Rp/10)-1);
A=10^(Ar/20);
OmegaC=Wp;
k=Wp/Ws;
k1=ep/sqrt(A*A-1);
capk=ellipke([k.^2 1-k.^2]);
capk1=ellipke([(k1.^2) 1-(k1.^2)]);
N=ceil(capk(1)*capk1(2)/(capk(2)*capk1(1)));
fprintf('\n 模拟椭圆低通滤波器阶数 = %2.0f \n',N)
[b,a]=u_elipap(N,Rp,Ar,OmegaC);

⌨️ 快捷键说明

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