Matlab实现数字FIR的高通带通低通带阻滤波器的程序.doc
文本预览下载声明
利用汉宁窗设计Ⅰ型数字高通滤波器clear all;Wp=0.6*pi;Ws=0.4*pi;tr_width=Wp-Ws;???????????????????????? %过渡带宽度N=ceil(6.2*pi/tr_width)??????????????????????? %滤波器长度n=0:1:N-1;Wc=(Ws+Wp)/2;???????????????????????? %理想低通滤波器的截止频率hd=ideal_hp1(Wc,N);????????????????????? %理想低通滤波器的单位冲激响应w_han=(hanning(N));???????????????????? %汉宁窗h=hd.*w_han;??????????????????????????? %截取得到实际的单位脉冲响应[db,mag,pha,w]=freqz_m2(h,[1]);????????????? %计算实际滤波器的幅度响应delta_w=2*pi/1000;Ap=-(min(db(Wp/delta_w+1:1:501)))???????? %实际通带纹波As=-round(max(db(1:1:Ws/delta_w+1)))???????? %实际阻带纹波subplot(221)stem(n,hd)title(理想单位脉冲响应hd(n))subplot(222)stem(n,w_han)title(汉宁窗w(n))subplot(223)stem(n,h)title(实际单位脉冲响应hd(n))subplot(224)plot(w/pi,db)title(幅度响应(dB))axis([0,1,-100,10])clear all;Wp=0.6*pi;Ws=0.4*pi;tr_width=Wp-Ws;???????????????????????? %过渡带宽度N=ceil(6.2*pi/tr_width)??????????????????????? %滤波器长度n=0:1:N-1;Wc=(Ws+Wp)/2;???????????????????????? %理想低通滤波器的截止频率hd=ideal_hp1(Wc,N);????????????????????? %理想低通滤波器的单位冲激响应w_han=(hanning(N));???????????????????? %汉宁窗h=hd.*w_han;??????????????????????????? %截取得到实际的单位脉冲响应[db,mag,pha,w]=freqz_m2(h,[1]);????????????? %计算实际滤波器的幅度响应delta_w=2*pi/1000;Ap=-(min(db(Wp/delta_w+1:1:501)))???????? %实际通带纹波As=-round(max(db(1:1:Ws/delta_w+1)))???????? %实际阻带纹波subplot(221)stem(n,hd)title(理想单位脉冲响应hd(n))subplot(222)stem(n,w_han)title(汉宁窗w(n))subplot(223)stem(n,h)title(实际单位脉冲响应hd(n))subplot(224)plot(w/pi,db)title(幅度响应(dB))axis([0,1,-100,10])
基于切比雪夫一致逼近法设计FIR数字低通滤波器clear all;??????????????f=[0 0.6 0.7 1];???????????????????? %给定频率轴分点A=[1 1 0 0];???????????????????? %给定在这些频率分点上理想的幅频响应weigh=[1 10];????????????????? %给定在这些频率分点上的加权b=remez(32,f,A,weigh);??????????? %设计出切比雪夫最佳一致逼近滤波器[h,w]=freqz(b,1,256,1);h=abs(h);h=20*log10(h);subplot(211)stem(b,.);grid;title(切比雪夫逼近滤波器的抽样值)subplot(212)plot(w,h);grid;title(滤波器幅频特性(dB))
利用汉宁窗设计Ⅰ型数字带阻滤波器clear all;????????????????????Wpl=0.2*pi;Wph=0.8*pi;Wsl=0.4*pi;Wsh=0.6*pi;tr_width=min((Wsl-Wpl),(Wph-Wsh));?
显示全部