用窗函数设计FIR滤波器

上传人:人*** 文档编号:504937455 上传时间:2022-09-19 格式:DOC 页数:8 大小:304KB
返回 下载 相关 举报
用窗函数设计FIR滤波器_第1页
第1页 / 共8页
用窗函数设计FIR滤波器_第2页
第2页 / 共8页
用窗函数设计FIR滤波器_第3页
第3页 / 共8页
用窗函数设计FIR滤波器_第4页
第4页 / 共8页
用窗函数设计FIR滤波器_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《用窗函数设计FIR滤波器》由会员分享,可在线阅读,更多相关《用窗函数设计FIR滤波器(8页珍藏版)》请在金锄头文库上搜索。

1、实验六 用窗函数设计FIR滤波器1.实验目的 (1) 熟悉FIR滤波器设计的方法和原理(2) 掌握用窗函数法设计FIR滤波器的方法和原理,熟悉滤波器的特性(3) 了解各种窗函数滤波器特性的影响2.实验原理FIR滤波器的设计方法主要有三种:窗函数法、频率取样法、切比雪夫等波纹逼近法。FIR滤波器的设计是要寻求一系统函数,使其频率响应逼近滤波器要求的理想频率响应,其对应的单位脉冲响应。1用窗函数设计FIR滤波器的根本方法在时域用一个窗函数截取理想的得到,以有限长序列近似逼近理想的;在频域用理想的在单位圆上等角度取样得到h(k),根据h(k)得到H(z)将逼近理想的Hd(z)。设理想滤波器的单位脉冲

2、响应为。以低通线性相位FIR数字滤波器为例。一般是无限长的、非因果的,不能直接作为FIR滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断,即截取为有限长因果序列,并用适宜的窗函数进行加权作为FIR滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即 用矩形窗设计的FIR低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,现象称为吉布斯Gibbs效应。2典型的窗函数a矩形窗(Rectangle Window) 其频率响应和幅度响应分别为:, 在matlab中调用w=b

3、oxcar(N)函数,N为窗函数的长度b三角形窗(Bartlett Window) 其频率响应为: 在matlab中调用w=triang(N)函数,N为窗函数的长度c汉宁(Hanning)窗,又称升余弦窗 其频率响应和幅度响应分别为:在matlab中调用w=hanning(N)函数,N为窗函数的长度d汉明(Hamming)窗,又称改良的升余弦窗 其幅度响应为: 在matlab中调用w=hamming(N)函数,N为窗函数的长度e布莱克曼(Blankman)窗,又称二阶升余弦窗 其幅度响应为: 在matlab中调用w=blackman(N)函数,N为窗函数的长度f凯泽(Kaiser)窗其中:是一

4、个可选参数,用来选择主瓣宽度和旁瓣衰减之间的交换关系,一般说来,越大,过渡带越宽,阻带越小衰减也越大。I0()是第一类修正零阶贝塞尔函数。在matlab中调用w=kaiser(N,beta),函数N为窗函数的长度,beta为窗函数的参数。3利用窗函数设计FIR滤波器的具体步骤如下:a根据具体的性能要求通过对过渡带宽度及阻带衰减AS,等参数的分析选择适宜的窗函数,并估计滤波器的长度N。b由给定的滤波器的幅频响应参数求出理想的单位脉冲响应。c确定延时值, 计算滤波器的单位取样响应,.d验证技术指标是否满足要求。分析所设计的滤波器的幅频特性。3.实验内容及其步骤1实验前认真复习有关FIR滤波器设计的

5、有关知识,尤其是窗函数的有关内容,熟悉窗函数及FIR滤波器的特性,掌握窗函数设计滤波器的具体步骤。2编制窗函数设计FIR滤波器的主程序及相应子程序。绘制幅频和相位曲线,观察幅频和相位特性曲线的变换情况,注意长度N对曲线的影响。3用窗函数法设计滤波器,并满足一定的性能指标。例一:利用fir1设计标准频率响应的FIR滤波器,包括低通、带通、高通、带阻等类型的滤波器。b=fir1(n, Wn, ftype)通带边界频率,阻带边界频率,阻带衰减不小于40dB,通带波纹不大于3dB。参考:根据对滤波器的指标要求,阻带衰减不小于40 dB,选择汉宁窗。%基于窗函数设计FIR滤波器wp=0.5*pi;ws=

6、0.66*pi; %性能指标wdelta=ws-wp; %过渡带宽度N=ceil(8*pi/wdelta) %滤波器长度Nw=N; %窗口长度wc=(ws+wp)/2; %截止频率win=hanning(Nw); %汉宁窗的时域响应b=fir1(N-1,wc/pi,win) %fir1是基于加窗的线性相位FIR数字滤波器设计函数。N-1为滤波器的阶数。Win为窗函数,是长度为N的列向量,默认是函数自动取hamming。freqz(b,1,512) %为求取频率响应。分子为b,分母为1实验结果图如下图:例二:fir2设计任意响应的数字滤波器滤波器的幅度频率响应在不同的频段范围有不同的幅度值。fi

7、r2函数用法:b=fir2(n,f,m,npt,lap,window)n是所设计滤波器的阶数;f是0到1的正数向量,对应滤波器的频率,其中0对应于频率0,1对应于信号采样频率的一半;m是一个所有元素都是正实数向量,对应于m向量中频率点的幅度;window是窗函数,fir2默认为海明窗;npt默认值为512;lap默认值为25;b是设计出来的滤波器的系数组成的一个长度为n+1的向量。要求设计一个多带滤波器:其在0到pi/8的幅度响应为1,在pi/8到2pi/8幅度响应为1/2,在2pi/8到4pi/8幅度响应为1/4,在4pi/8到6pi/8幅度响应为1/6,在6pi/8到pi幅度响应为1/8,

8、并且滤波器的阶数为60。画出理想滤波器和设计得到的滤波器的幅度频率响应进行比拟。参考:%多带滤波器的设计 f=0 0.125 0.125 0.250 0.250 0.500 0.500 0.750 0.750 1.00; m=1 1 0.5 0.5 0.25 0.25 1/6 1/6 0.125 0.125; b=fir2(60,f,m); h,w=freqz(b); plot(f,m,w/pi,abs(h)grid on;legend(理想滤波器,设计滤波器);另外,还有一个比拟直观的设计滤波器的方法,利用MATLAB里的Filter Design & Analysis Tools设计滤波器

9、比拟直观。Fliter Type选择低通,高通,带通或者带阻滤波器。Design Method选择IIR还是FIR滤波器,后面下拉菜单项选择择类型,程序里采用的是加窗类型。Fliter Order选择滤波器的阶数。Windows Specifications是选择窗函数类型。然后设置抽样频率和截至频率,然后点击Design Fliter就设计完成。4.实验用MATLAB函数介绍在实验过程中,MATLAB函数命令FIR滤波器设计函数:fir1, fir2, kaiserord,remez, remezord, kaiser, hanning, hamming, blackman,freqz等在不同的情况下具体表述也有所不同,应该在实验中仔细体会其不同的含义。5.思考题1在实验中窗长和形状对滤波器性能有何影响。2利用窗函数法设计一个线性相位FIR低通滤波器,性能指标为:通带截止频率为0.2pi,带阻截止频率为0.3pi,阻带衰减不小于40dB,通带衰减不大于3dB。编写程序实现,并绘制图形。3设计一个带阻滤波器,带阻为0.4到0.65 ,阶数为34,并且使用一个切比雪夫窗,并与默认的窗函数进行比拟。6.实验报告要求1明确实验目的以及实验的原理。 2通过实验内容进一步了解滤波器的设计方法。 3完成思考题的内容,对实验结果及其波形图进行分析比照,总结主要结论。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号