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

📄 ms20_1_2.m

📁 《数字信号处理实验(MATLAB版)》这
💻 M
字号:
%脉冲响应不变法设计巴特沃斯低通原型滤波器
%数字滤波器指标
wp=0.25*pi;             %滤波器的通带截止频率
ws=0.4*pi;              %滤波器的阻带截止频率
Rp=1;As=15;             %输入滤波器的通阻带衰减指标
ripple=10^(-Rp/20);     %计算通带衰减对应的幅度值
Attn=10^(-As/20);           %计算阻带衰减对应的幅度值
%转换为模拟原型滤波器指标
Fs=2000;T=1/Fs;
Omgp=wp*Fs;Omgs=ws*Fs;
%模拟滤波器计算
[n,Omgc]=buttord(Omgp,Omgs,Rp,As,'s')%计算阶数n和截止频率
[z0,p0,k0]=buttap(n);  %设计归一化的巴特沃斯模拟原型滤波器
z=z0*Omgc;p=p0*Omgc;   %计算非归一化的零极点
k=k0*Omgc.^n;
ba=k*real(poly(z));    %求滤波器系数b0
aa=real(poly(p));      %求滤波器系数a0
%注意,以上5行求滤波器系数ba、aa的程序,可由下一条程序替代
%[ba,aa]=butter(n,Omgc,'s');    %求模拟滤波器系数
%用脉冲响应不变法计算数字滤波器系数
[bd,ad]=impinvar(ba,aa,Fs)
[C,B,A]=dir2par(bd,ad)
%求数字系统的频率特性
[H,w]=freqz(bd,ad);   
dbH=20*log10(abs(H)/max(abs(H))); %化为分贝值
%
subplot(2,2,1),plot(w/pi,abs(H)); 
ylabel('幅度');xlabel('频率/\pi');axis([0,1,0,1.1]);
set(gca,'XTickMode','manual','XTick',[0,0.25,0.4,1]);
set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);grid
subplot(2,2,2),plot(w/pi,angle(H)/pi);
ylabel('相位');xlabel('频率/\pi');axis([0,1,-1,1]);
set(gca,'XTickMode','manual','XTick',[0,0.25,0.4,1]);
set(gca,'YTickMode','manual','YTick',[-1,0,1]);grid
subplot(2,2,3),plot(w/pi,dbH); 
ylabel('幅度(dB)');xlabel('频率/\pi');axis([0,1,-40,5]);
set(gca,'XTickMode','manual','XTick',[0,0.25,0.4,1]);
set(gca,'YTickMode','manual','YTick',[-50,-15,-1,0]);grid
subplot(2,2,4),zplane(bd,ad);
axis([-1.1,1.1,-1.1,1.1]);
ylabel('零极图');



⌨️ 快捷键说明

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