rippleatten.m
来自「数字信号处理实践方法(第二版)」· M 代码 · 共 20 行
M
20 行
function dev = RippleAtten(ftype,f,amag,n,Fs)
m=floor(2*n*f/Fs);
if ftype==0 % LPF: obtain passband ripple and stopband attenuation
dev(1)=20.0*log10(1.0+max(amag(m(1)+2:m(2)))-min(amag(m(1)+2:m(2))));
dev(2)=-20.0*log10(max(amag(m(3)+2:m(4))));
dev(3)=0.0;
elseif ftype==1 % HPF: obtain passband and stopband attenuation
dev(1)=-20.0*log10(max(amag(m(1)+2:m(2))));
dev(2)=20.0*log10(1.0+max(amag(m(3)+2:m(4)))-min(amag(m(3)+2:m(4))));
dev3=0.0;
elseif ftype==2 % bandpass filter
dev(1)=-20.0*log10(max(amag(m(1)+2:m(2))));
dev(2)=20.0*log10(1.0+max(amag(m(3)+2:m(4)))-min(amag(m(3)+2:m(4))));
dev(3)=-20.0*log10(max(amag(m(5)+2:m(6))));
elseif ftype==3 %BSF: obtain passband and stopband attenuation
dev(1)=20.0*log10(1.0+max(amag(m(1)+2:m(2)))-min(amag(m(1)+2:m(2))));
dev(2)=-20.0*log10(max(amag(m(3)+2:m(4))));
dev(3)=20.0*log10(1.0+max(amag(m(5)+2:m(6)))-min(amag(m(5)+2:m(6))));
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?