ms25_7_2.m

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

M
35
字号
%FIR高通滤波器
ws=0.4;wp=0.55;N=61;n=0:N-1;   %输入设计指标 
wc=(wp+ws)/2;
f=[0,wc,wc,1];         %建立理想幅频特性频率向量
m=[0,0,1,1];         %建立理想幅频特性幅度向量
b=fir2(N-1,f,m);          %计算滤波器系统函数的系数
[H,w]=freqz(b,1);         %求解频率特性
dbH=20*log10((abs(H)+eps)/max(abs(H))); %化为分贝值
dw=2*pi/1000;
Rp=-(min(dbH(wp*pi/dw+1:501)))    %检验通带波动
As=-round(max(dbH(1:ws*pi/dw+1))) %检验最小阻带衰减
subplot(2,2,1),plot(f,m,w/pi,abs(H),'k');
axis([0,1,-0.1,1.1]);
title('理想和实际的高通滤波器幅频特性');
xlabel('频率(单位:\pi)');ylabel('H(e^{j\omega})');
set(gca,'XTickMode','manual','XTick',[0,ws,wp,1]);
set(gca,'YTickMode','manual','YTick',[0,0.5,1]);grid
subplot(2,2,2),stem(n,b,'k');
title('滤波器脉冲响应');
xlabel('n');ylabel('h(n)');
subplot(2,2,3),plot(w/pi,dbH,'k');
axis([0,1,-100,1]);
title('实际的高通滤波器幅频特性(dB)');
xlabel('频率(单位:\pi)');ylabel('G(dB)');
set(gca,'XTickMode','manual','XTick',[0,ws,wp,1]);
set(gca,'YTickMode','manual','YTick',[-60,-40,-20,-3]);grid
subplot(2,2,4),plot(w/pi,angle(H),'k');
axis([0,1,-4,4]);
title('实际的高通滤波器相频特性');
xlabel('频率(单位:\pi)');ylabel('\phi(\omega)');
set(gca,'XTickMode','manual','XTick',[0,ws,wp,1]);
set(gca,'YTickMode','manual','YTick',[-pi,0,pi]);grid


⌨️ 快捷键说明

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