📄 ms22_4.m
字号:
%直接法设计数字带阻滤波器
Fs=20;
ws1=2.5/(Fs/2);ws2=7.5/(Fs/2); %数字滤波器的阻带截止频率
ws=[ws1,ws2];
wp1=1.5/(Fs/2);wp2=8.5/(Fs/2); %数字滤波器的通带截止频率
wp=[wp1,wp2];
Rp=1;As=20; %输入滤波器的通阻带衰减指标
ripple=10^(-Rp/20);
Attn=10^(-As/20);
[n,wc]=cheb2ord(wp,ws,Rp,As) %计算阶数n和截止频率
[b,a]=cheby2(n,As,wc,'stop') %直接求数字带通滤波器系数
[H,w]=freqz(b,a,512,Fs); %求数字系统的频率特性
dbH=20*log10((abs(H)+eps)/max(abs(H))); %化为分贝值
%
subplot(2,2,1),plot(w,abs(H),'k');
ylabel('|H|');xlabel('频率(kHz)');
title('幅度响应');axis([0,Fs/2,0,1.1]);
set(gca,'XTickMode','manual','XTick',[0,wp1*Fs/2,ws1*Fs/2,ws2*Fs/2,wp2*Fs/2,Fs/2]);
set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);grid
subplot(2,2,2),plot(w,angle(H),'k');
ylabel('\phi');xlabel('频率(kHz)');
title('相位响应');axis([0,Fs/2,-4,4]);
set(gca,'XTickMode','manual','XTick',[0,wp1*Fs/2,ws1*Fs/2,ws2*Fs/2,wp2*Fs/2,Fs/2]);
set(gca,'YTickMode','manual','YTick',[-pi,0,pi]);grid
subplot(2,2,3),plot(w,dbH,'k');
title('幅度响应(dB)');axis([0,Fs/2,-40,1]);
ylabel('dB');xlabel('频率(kHz)');
set(gca,'XTickMode','manual','XTick',[0,wp1*Fs/2,ws1*Fs/2,ws2*Fs/2,wp2*Fs/2,Fs/2]);
set(gca,'YTickMode','manual','YTick',[-50,-20,-1,0]);grid
subplot(2,2,4),zplane(b,a);
axis([-1.1,1.1,-1.1,1.1]);title('零极图');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -