📄 ms25_8_1.m
字号:
%FIR带阻滤波器
N=61; n=0:N-1;T1=0.38; %输入设计指标
wp1=0.3;ws1=0.4;ws2=0.6;wp2=0.7;
wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2; %确定T1对应的频率
f=[0,wp1,wc1,ws1,ws2,wc2,wp2,1]; %建立理想幅频特性频率向量
m=[1,1,T1,0,0,T1,1,1]; %建立理想幅频特性幅度向量
windows=boxcar(N); %使用矩形窗
b=fir2(N-1,f,m,windows); %求FIR滤波器的系数
[db,mag,pha,grd,w]=freqz_m(b,1); %求解频率特性
dw=2*pi/1000;
wp0=[1:wp1*pi/dw+1,wp2*pi/dw+1:501]; %建立通带频率样点数组
Rp=-(min(db(wp0))) %检验通带波动
As=-round(max(db(ws1*pi/dw+1:ws2*pi/dw+1))) %检验最小阻带衰减
subplot(2,2,1),plot(f,m,w/pi,mag,'k');
axis([0,1,-0.1,1.1]);
title('理想和实际的带阻滤波器幅频特性');
xlabel('频率(单位:\pi)');ylabel('H(e^{j\omega})');
set(gca,'XTickMode','manual','XTick',[0,wp1,ws1,ws2,wp2,1]);
set(gca,'YTickMode','manual','YTick',[0,0.38,1]);grid
subplot(2,2,2),plot(w/pi,pha,'k');
axis([0,1,-4,4]);
title('实际的带阻滤波器相频特性');
xlabel('频率(单位:\pi)');ylabel('\phi(\omega)');
set(gca,'XTickMode','manual','XTick',[0,wp1,ws1,ws2,wp2,1]);
set(gca,'YTickMode','manual','YTick',[-pi,0,pi]);grid
subplot(2,2,3),plot(w/pi,db,'k');
axis([0,1,-100,1]);
title('实际的带阻滤波器幅频特性(dB)');
xlabel('频率(单位:\pi)');ylabel('G(dB)');
set(gca,'XTickMode','manual','XTick',[0,wp1,ws1,ws2,wp2 ,1]);
set(gca,'YTickMode','manual','YTick',[-60,-40,-20,-3]);grid
subplot(2,2,4),stem(n,b,'k');
title('滤波器脉冲响应');
xlabel('n');ylabel('h(n)');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -