📄 ms24_5.m
字号:
%FIR高通滤波器
wp=0.45*pi;ws=0.3*pi; %输入设计指标
deltaw=wp-ws; %计算过渡带的宽度
N0=ceil(6.1*pi/deltaw); %按三角形窗计算滤波器长度N0
N=N0+mod(N0+1,2) %为实现FIR类型I偶对称滤波器,应确保N为奇数
windows=(triang(N))'; %使用三角形窗,并将列向量变为行向量
wc=(ws+wp)/2; %截止频率取通阻带频率的平均值
hd=ideal_lp(pi,N)-ideal_lp(wc,N); %建立理想高通滤波器
b=hd.*windows; %求FIR系统函数系数
[db,mag,pha,grd,w]=freqz_m(b,1); %求解频率特性
n=0:N-1;dw=2*pi/1000;
Rp=-(min(db(wp/dw+1:501))) %检验通带波动
As=-round(max(db(1:ws/dw+1))) %检验最小阻带衰减
subplot(2,2,1),stem(n,b,'filled','k');
axis([0,N,1.1*min(b),1.1*max(b)]);title('实际脉冲响应');
xlabel('n');ylabel('h(n)');
subplot(2,2,2),stem(n,windows,'filled','k');
axis([0,N,0,1.1]);title('窗函数特性');
xlabel('n');ylabel('wd(n)');
subplot(2,2,3),plot(w/pi,db,'k');
axis([0,1,-40,2]);title('幅频响应');
xlabel('频率(单位:\pi)');ylabel('H(e^{j\omega})');
set(gca,'XTickMode','manual','XTick',[0,ws/pi,wp/pi,1]);
set(gca,'YTickMode','manual','YTick',[-20,-3,0]);grid
subplot(2,2,4),plot(w/pi,pha,'k');
axis([0,1,-4,4]);
title('相频响应');
xlabel('频率(单位:\pi)');ylabel('\phi(\omega)');
set(gca,'XTickMode','manual','XTick',[0,ws/pi,wp/pi,1]);
set(gca,'YTickMode','manual','YTick',[-pi,0,pi]);grid
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -