clc;clear;close; fc=1000; ap=1;as=25;fp=100;fs=300; wp=2*pi*fp/fc; ws=2*pi*fs/fc; Wanp=wp*fc; Wans=ws*fc; [N,wanc]=buttord(Wanp,Wans,ap,as,'s'); [b,a]=butter(N,Wans,'s'); [B1,A1]=impinvar(b,a,fc); [H1,w]=freqz(B1,A1,'whole'); subplot(2,1,1); plot(w*fc/2/pi,20*log10(abs(H1)));grid on; axis([0,1000,-40,0]);ylabel('H1幅值dB'); title('频率响应'); ap=1;as=25;fp=100;fs=300; fc=1000; wp=2*pi*fp/fc; ws=2*pi*fs/fc; anp=2*fc*tan(wp/2); ans=2*fc*tan(ws/2); [N,anc]=buttord(anp,ans,ap,as,'s'); [b,a]=butter(N,anc,'s'); [B2,A2]=bilinear(b,a,fc); [H2,w]=freqz(B2,A2,'whole'); subplot(2,1,2);plot(w*fc/2/pi,20*log10(abs(H2))); axis([0,1000,-100,0]);grid on; xlabel('频率(Hz)'); ylabel('幅值(dB)'); title('频率响应'); 什么意思?
时间: 2024-03-28 21:39:55 浏览: 50
clr == 清除所有; 关闭所有; clc;:clr 清除您的工作区和命令窗口,以便您可以重新开始。-matlab开发
这段程序是用MATLAB实现了一个数字滤波器的设计。具体来说,它使用了巴特沃斯滤波器设计方法,并分别采用了模拟滤波器转换为数字滤波器和双线性变换方法来实现。其中,程序中的变量ap、as、fp、fs、fc、wp、ws、anp和ans分别表示滤波器的通带最大衰减、阻带最小衰减、通带截止频率、阻带截止频率、采样频率、归一化通带截止频率、归一化阻带截止频率、模拟滤波器的通带截止频率和阻带截止频率。程序中的subplot、plot、grid、axis和xlabel等函数都是MATLAB中用于绘制图形和设置图形属性的函数。
阅读全文