文档详情

Matlab实现数字FIR的高通带通低通带阻滤波器的程序.doc

发布:2018-10-13约1.26万字共12页下载文档
文本预览下载声明
利用汉宁窗设计Ⅰ型数字高通滤波器 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));?
显示全部
相似文档