matlab带阻滤波器设计

**

MATLAB带阻滤波器设计##

**

%程序设计
%任务书中给出的要求为中心频率200Hz,带宽150Hz。
%故设上通带截止频率为110Hz,下通带截止频率290Hz,阻带上限频率140Hz,阻带下限频率260Hz。
%此处仅以Boxcar窗为示例,其他窗函数的程序代码基本相同,
%只是在window=Boxcar(N)、N=ceil(1.8*pi/delta_w)两处作出各个窗函数相应的修改即可。
flp=490;
fhp=510;
fls=499;
fhs=501;
fs=2048;
wlp=2*pi*flp/fs;
whp=2*pi*fhp/fs;
wls=2*pi*fls/fs;
whs=2*pi*fhs/fs;
wc=[(wlp+wls)/(2*pi),(whp+whs)/(2*pi)];
delta1=wls-wlp;
delta2=whp-whs;
delta_w=min(delta1,delta2);
N=ceil(1.8*pi/delta_w);  %//不同的窗要选择系数不同//
N=N+rem(N,2);
n=0:N-1;
window=boxcar(N+1);  %//选择窗函数//
[h1,w]=freqz(window,1);
subplot(2,2,1)
stem(window,'.');
xlabel('n');
title('Boxcar窗函数');
subplot(2,2,2)
plot(w*fs/(2*pi),20*log(abs(h1)/abs(h1(1))));
grid;
xlabel('f/Hz');
ylabel('幅度(dB)');
title('Boxcar窗函数的频谱');
hn=fir1(N,wc,'stop',window);
[h2,w]=freqz(hn,1,512);

subplot(2,2,3)
stem(hn,'.');
xlabel('n');
ylabel('h(n)');
title('Boxcar窗函数的单位脉冲响应');
subplot(2,2,4)
plot(w*fs/(2*pi),20*log(abs(h2)/abs(h2(1))));
grid;
xlabel('f/Hz');
ylabel('幅度(dB)');
title('Boxcar带阻滤波器的幅频特性');
发布了7 篇原创文章 · 获赞 9 · 访问量 3677

猜你喜欢

转载自blog.csdn.net/Summertrainxy/article/details/103611954