dlpf.m
来自「Matlab环境下带控制面板的低通、高通滤波器设计」· M 代码 · 共 23 行
M
23 行
N0=str2num(get(findobj(gcf,'tag','N'),'string'));
wr=str2num(get(findobj(gcf,'tag','wr'),'string'))*pi;
wp=str2num(get(findobj(gcf,'tag','wp'),'string'))*pi;
Ap=str2num(get(findobj(gcf,'tag','Ap'),'string'));
Ar=str2num(get(findobj(gcf,'tag','Ar'),'string'));
if wp<=0
error('通带边缘必须大于0');
end
if wr<=wp
error('阻带边缘必须大于通带边缘');
end
T=1;Omegap=(2/T)*tan(wp/2);Omegar=(2/T)*tan(wr/2);
[cs,ds]=afd_butt(Omegap,Omegar,Ap,Ar,N0);
[b,a]=bilinear(cs,ds,T);
[b0,B,A]=dir2cas(b,a);
[db,mag,pha,w]=freqz_m(b,a);
subplot(2,2,1);plot(w/pi,mag);title('幅度响应Ha(j\Omega)');
AXIS([-0.1 1.1 0 1]);
subplot(2,2,2);plot(w/pi,db);title('幅度响应(dB)');
AXIS([-0.1 1.1 -50 1]);
yn=casfiltr(b0,B,A,xn);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?