实验六用窗函数法设计FIR数字滤波器.docx

上传人:scccc 文档编号:10507108 上传时间:2021-05-20 格式:DOCX 页数:17 大小:372.34KB
返回 下载 相关 举报
实验六用窗函数法设计FIR数字滤波器.docx_第1页
第1页 / 共17页
实验六用窗函数法设计FIR数字滤波器.docx_第2页
第2页 / 共17页
实验六用窗函数法设计FIR数字滤波器.docx_第3页
第3页 / 共17页
实验六用窗函数法设计FIR数字滤波器.docx_第4页
第4页 / 共17页
实验六用窗函数法设计FIR数字滤波器.docx_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《实验六用窗函数法设计FIR数字滤波器.docx》由会员分享,可在线阅读,更多相关《实验六用窗函数法设计FIR数字滤波器.docx(17页珍藏版)》请在三一文库上搜索。

1、实验六用窗函数法设计FIR 数字滤波器一 . 实验目的(1) 掌握用窗函数法设计 FIR 数字滤波器的原理与方法。(2) 熟悉线性相位 FIR 数字滤波器的特性。(3) 了解各种窗函数对滤波特性的影响。二 . 实验内容和要求(1) 复习用窗函数法设计 FIR 数字滤波器一节内容, 阅读本实验原理,掌握设计步骤。(2)用升余弦窗设计一线性相位低通FIR 数字滤波器,截止频率c rad 。窗口长度 N =15,33。要求在两种窗口长度情况下,分别4求出 h n ,打印出相应的幅频特性和相频特性曲线,观察3dB 带宽和20dB 带宽。总结窗口长度N 对滤波器特性的影响。设计低通 FIR 数字滤波器时

2、,一般以理想低通滤波特性为逼近函数 H e j ,即H de j,ce j0, c其中N121jj1cjjsin c nahdn2H d e e dee dna2c(3) N 33 , c4 ,用四种窗函数设计线性相位低通滤波器,绘制相应的幅频特性曲线, 观察 3dB 带宽和 20dB 带宽以及阻带最小衰减,比较四种窗函数对滤波器特性的影响。1三. 实验方法、步骤及结果测试如果所希望的滤波器的理想的频率响应函数为H d e j,则其对应的单位脉冲响应为hd n1H d e je j d(4.1 )2窗函数设计法的基本原理是用有限长单位脉冲响应序列h n 逼近hd n 。由于 hd n 往往是无

3、限长序列,而且是非因果的,所以用窗函数n将 hd n 截断,并进行加权处理,得到:h n hd n n(4.2 )h n 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数 H e j为N 1H e jh n e j n(4.3 )n 0式中, N为所选窗函数n 的长度。我们知道,用窗函数法设计的滤波器性能取决于窗函数n 的类型及窗口长度 N 的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度 N 。各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见表4.1 。表 1各种窗函数的基本参数窗函数旁瓣峰值幅度 /dB过渡带宽阻带最小衰减 /d

4、B矩形窗-134/N-12三角形窗-258/N-252汉宁窗-318/N-44哈明窗-418/N-53不莱克曼窗-5712/N-74凯塞窗 ( =7.865)-5710/N-80这样选定窗函数类型和长度N 之后,求出单位脉冲响应h nhd nn ,并按照式( 4.3 )求出 H e j。 H e j是否满足要求,要进行演算。一般在h n 尾部加零使长度满足2 的整数次幂,以便用FFT计算 H e j。如果要观察细节,补零点数增多即可。如果H e j不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。如果要求线性相位特性,则h n 还必须满足h nh N1n根据上式中的正、负号

5、和长度 N 的奇偶性又将线性相位 FIR 滤波器分成四类。要根据所设计的滤波特性正确选择其中一类,例如,要设计线性相位低通特性,可以选择h nh N1n 这一类,而不能选择h nh N1n 这一类。主程序框图如图 4.1 所示。其中幅度特性要求用dB 表示。3开始读入窗口长度N计算 hd(n)调用窗函数子程序求w(n)计算 h(n)= h d(n) w(n)调用子程序(函数)计算H(k)=DFTh(n)调用绘图子程序(函数)绘制H(k) 幅度相位曲线结束图 6-1 主程序框图设H (k)DFT h(n)H (k) H R (k) jH I ( k)H ( k)H R2 (k ) H I2 (k

6、)画图时,用 20lg H (k ) 打印幅度特性。第 k 点对应的频率 k2k 。N为使曲线包络更接近H e j的幅度特性曲线, DFT变换区间要选大些。例如窗口长度 N=33时,可通过在 h n 末尾补零的方法,使长度变为 64,再进行 64 点 DFT,则可以得到更精确的幅度衰减特性曲线。4下面给出 MATLAB主程序:%实验四,用窗函数法设计FIR 数字滤波器b=1;close all;i=0;while(b);temp=menu( 选择窗函数长度 N,N=10,N=15,N=20,N=25,N=30,N=33,N=35,N=40,N=4 5,N=50,N=55,N=60,N=64);

7、menu1=10,15,20,25,30,33,35,40,45,50,55,60,64;N=menu1(temp);temp=menu( 选择逼近理想低通滤波器截止频率 Wc,Wc=pi/4,Wc=pi/2,Wc=3*pi/4,Wc=pi,Wc=0.5,Wc=1.0, Wc=1.5,Wc=2.0,Wc=2.5,Wc=3.0);menu2=pi/4,pi/2,3*pi/4,pi,0.5,1,1.5,2,2.5,3;w=menu2(temp);n=0:(N-1);hd=ideal(w,N); %得到理想低通滤波器k=menu(请选择窗口类型 :,boxcar,hamming,hanning,bl

8、ackman); if k=1B=boxcar(N);string=Boxcar,N=,num2str(N); else if k=2B=hamming(N);string=Hamming,N=,num2str(N); else if k=3B=hanning(N);string=Hanning,N=,num2str(N); else if k=45B=blackman(N);string=Blackman,N=,num2str(N);endendendendh=hd.*(B); %得到 FIR 数字滤波器H,m=freqz(h,1,1024,whole);%求其频率响应mag=abs(H);

9、%得到幅值db=20*log10(mag+eps)/max(mag);pha=angle(H);%得到相位i=i+1;figure(i)subplot(2,2,1);n=0:N-1;stem(n,h,.);axis(0,N-1,-0.1,0.3);hold on;n=0:N-1;x=zeros(N);plot(n,x,-);xlabel(n);ylabel(h(n);title(实际低通滤波器的h(n);text(0.3*N),0.27,string);hold off;subplot(2,2,2);plot(m/pi,db);axis(0,1,-100,0);6xlabel(w/pi);yl

10、abel(dB);title(衰减特性 (dB);grid;subplot(2,2,3);plot(m,pha);hold on;n=0:7;x=zeros(8);plot(n,x,-);title(相频特性 );xlabel(频率 (rad);ylabel(相位 (rad);axis(0,3.15,-4,4);subplot(2,2,4);plot(m,mag);title(频率特性 );xlabel(频率 W(rad);ylabel(幅值 );axis(0,3.15,0,1.5);text(0.9,1.2,string);b=menu(Do You want To Continue ?,Y

11、es,No); if b=2b=0;endendtemp=menu(Close All Figure ?,Yes,No);if temp=1close all7end程序运行结果:运行程序,根据实验内容要求和程序提示选择你要进行的实验参数。三个实验参数选定后, 程序运行输出用所选窗函数设计的实际 FIR 低通数字滤波器的单位脉冲响应 h(n) 、幅频衰减特性 (20lg|H(e jw)|) 、相频特性及幅频特性 |H(e jw )| 的波形,h(n) 和|H(e jw)| 图中标出了所选窗函数类型及其长度 N 值。对四种窗函数( N=15和 N=33)的程序运行结果如图 4-2 到图 4-9

12、所示,由图可以看出用各种窗函数设计的 FIR 滤波器的阻带最小衰减及过渡带均与教材中一致。在通带内均为严格相位特性。图 6-2 矩形窗( N=15 )8图 6-3 矩形窗( N=33 )图 6-4 哈明窗( N=15 )9图 6-5 哈明窗( N=33 )图 6-6 汉宁窗( N=15 )10图 6-7 汉宁窗( N=33 )图 6-8 布莱克曼窗( N=15 )11图 6-9 布莱克曼窗(N=33 )四 . 实验报告要求(1) 简述实验原理及目的。(2) 按照实验步骤以及要求,比较各种情况下的滤波性能,说明窗口长度 N 和窗函数类型对滤波特性的影响。(3) 总结用窗函数法设计 FIR 滤波器

13、的主要特点。(4) 简要回答思考题。五 . 思考题(1) 如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器,写出设计步骤。(2) 如果要求用窗函数法设计带通滤波器,而且给定上、下边带截止频率为 1 和 2 ,试求理想带通的单位脉冲响应 hd n12%实验中的子函数:产生理想低通滤波器单位脉冲响应hd(n)function hd=ideal(w,N);alpha=(N-1)/2;n=0:(N-1);m=n-alpha+eps;hd=sin(w*m)./(pi*m);相关练习:例 1用凯塞窗设计一FIR 低通滤波器, 低通边界频率,阻带边界频率,阻带衰减不小

14、于 50dB。解 首先由过渡带宽和阻带衰减来决定凯塞窗的N 和13图 4.1 给出了以上设计的频率特性, (a) 为 N=30直接截取的频率特性 (b) 为凯塞窗设计的频率特性。凯塞窗设计对应的 MATLAB程序为:wn=kaiser(30,4.55);nn=0:1:29;alfa=(30-1)/2;hd=sin(0.4*pi*(nn-alfa)./(pi*(nn-alfa);h=hd.*wn;h1,w1=freqz(h,1);plot(w1/pi,20*log10(abs(h1);axis(0,1,-80,10);grid;xlabel(归一化频率 /)ylabel(幅度 /dB)14例 2

15、 利用雷米兹交替算法, 设计一个线性相位低通 FIR 数字滤波器,其指标为:通带边界频率 f c=800Hz,阻带边界 f r =1000Hz,通带波动阻带最小衰减 At=40dB,采样频率 f s =4000Hz。解在 MATLAB中可以用 remezord 和 remez 两个函数设计,其结果如图4.2 ,MATLAB程序如下:fedge=800 1000;mval=1 0;dev=0.0559 0.01;fs=4000;N,fpts,mag,wt=remezord(fedge,mval,dev,fs);b=remez(N,fpts,mag,wt);h,w=freqz(b,1,256);plot(w*2000/pi,20*log10(abs(h);grid;xlabel(频率 /Hz)ylabel(幅度 /dB)15函数 remezord 中的数组 fedge 为通带和阻带边界频率,数组 mval 是两个边界处的幅值,而数组 dev 是通带和阻带的波动, fs 是采样频率单位为 Hz。16

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1