⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iirfilter.m

📁 matlab 编写的FIR iir滤波器源程序
💻 M
字号:
function [b,a] = IIRfilter( ap,as,wp,ws ,fs)                     %定义函数其中返回参数b a为设计后的滤波器的分子分母的系数T=1/fsws=2/T*tan(ws/2);wp=2/T*tan(wp/2);N=ceil(0.5*log10((10.^(as/10)-1)/(10.^(ap/10)-1))/log10(ws/wp)); %求模拟巴特沃思滤波器的阶数Nwc=ws/((10^(as/10)-1)^(1/2*N));                                %求模拟滤波器的截止频率for k=1:N;                                                     %求模拟滤波器的极点  sk(k)=wc*exp((0.5+(2*k-1)/(2*N))*j*pi);end                                aa=real(poly(sk))                                             % 求模拟滤波器的分子 分母系数                                         bb=wc^NW=0:5:ws;h=freqs(bb,aa,W);[b,a]=bilinear(bb,aa,fs);                                        %进行双线性变换 将模拟的滤波器转换成数字滤波器w=[0:0.1:2];H=freqz(b,a,w);angH=angle(H);H=abs(H);db=20*log10(H);subplot(2,2,1);plot(w/(2*pi)*1000,db)axis([0,350,-25,0]);subplot(2,2,2);plot(w/(2*pi)*1000,angH)subplot(2,1,2);plot(w/(2*pi)*1000,H),hold on,plot(W/(2*pi),abs(h),'r')

⌨️ 快捷键说明

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