ms22r5.m

来自「《数字信号处理实验(MATLAB版)》这」· M 代码 · 共 35 行

M
35
字号
%直接法设计数字带阻滤波器
Fs=10;
fs1=2;fs2=3.5;   %数字滤波器的阻带截止频率
ws1=fs1/Fs*2;ws2=fs2/Fs*2;
ws=[ws1,ws2];
fp1=1;fp2=4.5;   %数字滤波器的通带截止频率
wp1=fp1/Fs*2;wp2=fp2/Fs*2;   %数字滤波器的通带截止频率
wp=[wp1,wp2];
Rp=1;As=20;          %输入滤波器的通阻带衰减指标
[n,wc]=cheb1ord(wp,ws,Rp,As) %计算阶数n和截止频率
[b,a]=cheby1(n,Rp,wc,'stop') %直接求数字带阻滤波器系数
[H,w]=freqz(b,a);     %求数字系统的频率特性
dbH=20*log10((abs(H)+eps)/max(abs(H))); %化为分贝值
ripple=10^(-Rp/20);
Attn=10^(-As/20);
%
subplot(2,2,1),plot(w/pi*Fs/2,abs(H),'k'); 
ylabel('|H|');title('幅度响应');axis([0,Fs/2,0,1.1]);
set(gca,'XTickMode','manual','XTick',[0,fp1,fs1,fs2,fp2,Fs/2]);
set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);grid
subplot(2,2,2),plot(w/pi*Fs/2,angle(H),'k');
ylabel('\phi');title('相位响应');axis([0,Fs/2,-4,4]);
set(gca,'XTickMode','manual','XTick',[0,fp1,fs1,fs2,fp2,Fs/2]);
set(gca,'YTickMode','manual','YTick',[-pi,0,pi]);grid
subplot(2,2,3),plot(w/pi*Fs/2,dbH,'k');
title('幅度响应(dB)');axis([0,Fs/2,-40,1]); 
ylabel('dB');xlabel('频率(\pi)');
set(gca,'XTickMode','manual','XTick',[0,fp1,fs1,fs2,fp2,Fs/2]);
set(gca,'YTickMode','manual','YTick',[-150,-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 + =
减小字号Ctrl + -
显示快捷键?