用窗函数法设计FIR数字低通滤波器要点
用MATLAB设计FIR数字滤波器

实验八 用MATLAB 设计FIR 数字滤波器(二)一、实验目旳:1、加深对窗函数法设计FIR 数字滤波器旳基本原理旳理解。
2、学习用MATLAB 语言旳窗函数法编写设计FIR 数字滤波器旳程序。
3、理解MATLAB 语言有关窗函数法设计FIR 数字滤波器旳常用函数用法。
二、实验原理:1、用窗函数法设计FIR 数字滤波器 FIR 数字滤波器旳系统函数为N-1-n n=0H(z)=h(n)z ∑这个公式也可以当作是离散LSI 系统旳系统函数M-m -1-2-mmm=0012m N -1-2-k-k12k k k=1bz b +b z +b z ++b z Y(z)b(z)H(z)====X(z)a(z)1+a z +a z ++a z1+a z ∑∑ 分母a 0为1,其他a k 全都为0时旳一种特例。
由于极点所有集中在零点,稳定和线性相位特性是FIR 滤波器旳突出长处,因此在实际中广泛使用。
FIR 滤波器旳设计任务是选择有限长度旳h(n),使传播函数H(e j ω)满足技术规定。
重要设计措施有窗函数法、频率采样法和切比雪夫等波纹逼近法等。
本实验重要简介窗函数法。
用窗函数法设计FIR 数字滤波器旳基本环节如下:(1)根据过渡带和阻带衰减指标选择窗函数旳类型,估算滤波器旳阶数N 。
(2)由数字滤波器旳抱负频率响应H(e j ω)求出其单位脉冲响应h d (n)。
可用自定义函数ideal_lp实现抱负数字低通滤波器单位脉冲响应旳求解。
程序清单如下:function hd=ideal_lp(wc,N) %点0到N-1之间旳抱负脉冲响应%wc=截止频率(弧度)%N=抱负滤波器旳长度tao=(N-1)/2;n=[0:(N-1)];m=n-tao+eps; %加一种小数以避免0作除数hd=sin(wc*m)./(pi*m);其他选频滤波器可以由低通频响特性合成。
如一种通带在ωc1~ωc2之间旳带通滤波器在给定N值旳条件下,可以用下列程序实现:Hd=ideal_lp(wc2,N)-ideal_lp(wc1,N)(3)计算数字滤波器旳单位冲激响应h(n)=w(n)h d(n)。
窗函数法设计FIR滤波器

FIR 数字滤波器的设计方法IIR 数字滤波器最大缺点:不易做成线性相位,而现代图像、语声、数据通信对线性相位的要求是普遍的。
正是此原因,使得具有线性相位的FIR 数字滤波器得到大力发展和广泛应用。
1. 线性相位FIR 数字滤波器的特点FIR DF 的系统函数无分母,为∑∑-=--=-==11)()(N n n N i ii z n h zb z H ,系统频率响应可写成:∑-=-=10)()(N n jwn jwe n h e H ,令)(jw e H =)()(w j e w H Φ,H(w)称为幅度函数,)(w Φ称为相位函数。
这与模和幅角的表示法有所不同,H(w)为可正可负的实数,这是为了表达上的方便。
如某系统频率响应)(jw e H =wj we34sin -,如果采用模和幅角的表示法,w 4sin 的变号相当于在相位上加上)1(ππj e =-因,从而造成相位曲线的不连贯和表达不方便,而用)()(w j e w H Φ这种方式则连贯而方便。
线性相位的FIR 滤波器是指其相位函数)(w Φ满足线性方程:)(w Φ=βα+-w (βα,是常数)根据群时延的定义,式中α表示系统群时延,β表示附加相移。
线性相位的FIR 系统都具有恒群时延特性,因为α为常数,但只有β=0的FIR 系统采具有恒相时延特性。
问题:并非所有的FIR 系统都是线性相位的,只有当它满足一定条件时才具有线性相位。
那么应满足什么样的条件?从例题入手。
例题:令h(n)为FIR 数字滤波器的单位抽样相应。
N n n ≥<或0时h(n)=0,并假设h(n)为实数。
(a ) 这个滤波器的频率响应可表示为)()()(w j jwew H e H Φ=(这是按幅度函数和相位函数来表示的,不是用模和相角的形式),)(w H 为实数。
(N 要分奇偶来讨论) (1) 当h(n)满足条件)1()(n N h n h --=时,求)(w H 和)(w Φ(π≤≤w 0) (2) 当h(n)满足条件)1()(n N h n h ---=时,求)(w H 和)(w Φ(π≤≤w 0)(b ) 用)(k H 表示h(n)的N 点DFT(1) 若h(n)满足)1()(n N h n h ---=,证明H(0)=0; (2) 若N 为偶数,证明当)1()(n N h n h --=时,H(N/2)=0。
(整理)FIR数字滤波器的(海明)窗函数法设计.

FIR数字滤波器的(海明)窗函数法设计1.课程设计目的(1)熟悉并掌握MATLAB中有关声音(wave)录制、播放、存储和读取的函数。
(2)加深对FIR数字滤波器设计的理解,并用窗函数法进行FIR数字滤波器的设计。
(3)将设计出来的FIR数字滤波器利用MATLAB进行仿真。
(4)对一段音频文件进行加入噪声处理,对带有噪声的文件进行滤波处理。
2.设计方案论证2.1 Matlab语言概述MATLAB是一种以矩阵运算为基础的交互式程序语言,专门针对科学、工程计算及绘图的需求。
随着版本的不断升级,内容不断扩充,功能更加强大,从而被广泛应用于仿真技术、自动控制和数字信号处理领域。
此高级语言可用于技术计算此开发环境可对代码、文件和数据进行管理交互式工具可以按迭代的方式探查、设计及求解问题数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数积分等二维和三维图形函数可用于可视化数据各种工具可用于构建自定义的图形用户界面各种函数可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM 以及Microsoft Excel)集成不支持大写输入,内核仅仅支持小写2.2声音处理语音是人类获取信息的重要来源和利用信息的重要手段。
语音信号处理是一门发展十分迅速,应用非常广泛的前沿交叉学科,同时又是一门跨学科的综合性应用研究领域和新兴技术。
声音是一种模拟信号,而计算机只能处理数字信息0和1。
因此,首先要把模拟的声音信号变成计算机能够识别和处理的数字信号,这个过程称为数字化,也叫“模数转换”。
在计算机对数字化后的声音信号处理完后,得到的依然是数字信号。
必须把数字声音信号转变成模拟声音信号,然后再图1 选择windows下的录音机”或是点击快捷按钮图5 加噪后语音信号和频谱图7 滤波器幅频特性与相频特性设计的滤波器是用单位采样响应h(n)表示的,可以利用带噪声语音图8滤波器系统函数。
基于汉明窗函数设计的FIR低通滤波器

基于汉明窗函数设计的FIR低通滤波器FIR低通滤波器是一种常用的数字滤波器,可以用于信号的去噪、降噪、频率选择等信号处理任务。
在设计FIR低通滤波器时,我们可以使用汉明窗函数来实现。
汉明窗函数是一种常见的窗函数,其特点是在频率域上具有较好的副瓣抑制能力。
在FIR滤波器设计中,我们可以通过将输入信号与汉明窗函数进行卷积来实现滤波功能。
下面将介绍如何基于汉明窗函数设计FIR低通滤波器。
首先,我们需要确定滤波器的阶数和截止频率。
阶数决定了滤波器的复杂度,阶数越高,滤波器的性能越好,但计算量也会增加。
截止频率则决定了滤波器的截止频率,即在该频率以下的信号将被保留,而在该频率以上的信号将被削弱。
接下来,我们可以通过以下步骤来设计基于汉明窗函数的FIR低通滤波器:1. 确定滤波器系数:根据滤波器的阶数和截止频率,可以采用窗函数设计方法来计算滤波器的系数。
具体来说,我们可以使用窗函数对理想低通滤波器的幅度响应进行加窗。
汉明窗函数的表达式为:w(n)=0.54-0.46cos(2πn/(N-1))其中,n为窗函数的索引,N为窗函数的长度。
2. 计算理想低通滤波器的幅度响应:根据滤波器的截止频率,可以计算理想低通滤波器的幅度响应。
理想低通滤波器在截止频率之前为1,在截止频率之后为0。
3. 加窗:将理想低通滤波器的幅度响应与窗函数进行乘积,得到加窗后的幅度响应。
4. 归一化:将加窗后的幅度响应进行归一化处理,使滤波器的增益为1。
5. 反变换:对归一化后的幅度响应进行反变换,得到滤波器的系数。
设计完滤波器后,我们可以将输入信号与滤波器系数进行卷积运算,得到滤波后的输出信号。
此时,输入信号中的高频成分将被抑制,而低频成分将被保留。
需要注意的是,调整滤波器的阶数和截止频率可以影响滤波器的性能。
阶数过高可能引起滤波器的过长延迟和过高的计算复杂度,而截止频率的选择应根据具体的信号处理任务来确定。
总结起来,基于汉明窗函数设计的FIR低通滤波器是一种常用的数字滤波器,可以通过对汉明窗函数与理想低通滤波器的幅度响应进行乘积来实现对输入信号的滤波功能。
实验3 用MATLAB窗函数法设计FIR滤波器

实验10 用MATLAB 窗函数法设计FIR 滤波器一、实验目的㈠、学习用MA TLAB 语言窗函数法编写简单的FIR 数字滤波器设计程序。
㈡、实现设计的FIR 数字滤波器,对信号进行实时处理。
二、实验原理㈠、运用窗函数法设计FIR 数字滤波器与IIR 滤波器相比,FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性。
设FIR 滤波器单位脉冲响应)(n h 长度为N ,其系统函数)(z H 为∑-=-=10)()(N n n zn h z H)(z H 是1-z 的)1(-N 次多项式,它在z 平面上有)1(-N 个零点,原点0=z 是)1(-N 阶重极点。
因此,)(z H 永远是稳定的。
稳定和线性相位特性是FIR 滤波器突出的优点。
FIR 滤波器的设计任务是选择有限长度的)(n h ,使传输函数)(ωj e H 满足技术要求。
主要设计方法有窗函数法、频率采样法和切比雪夫等波纹逼近法。
本实验主要介绍用窗函数法设计FIR 数字滤波器。
图7-10-1 例1 带通FIR 滤波器特性㈡、 用MATLAB 语言设计FIR 数字滤波器例1:设计一个24阶FIR 带通滤波器,通带为0.35<ω<0.65。
其程序如下b=fir1(48,[0.35 0.65]);freqz(b,1,512)可得到如图7-10-1 所示的带通FIR滤波器特性。
由程序可知,该滤波器采用了缺省的Hamming窗。
例2:设计一个34阶的高通FIR滤波器,截止频率为0.48,并使用具有30dB波纹的Chebyshev窗。
其程序如下Window=chebwin(35,30);b=fir1(34,0.48,'high',Window);freqz(b,1,512)可得到如图7-10-2 所示的高通FIR滤波器特性。
图7-10-2 例2 高通FIR滤波器特性例3:设计一个30阶的低通FIR滤波器,使之与期望频率特性相近,其程序如下 f=[0 0.6 0.6 1];m=[1 1 0 0];b=fir2(30,f,m);[h,w]=freqz(b,1,128);plot(f,m,w/pi,abs(h))结果如图7-10-3所示。
实验7 窗函数法设计FIR数字滤波器

实验7窗函数法设计FIR数字滤波器一、实验目的掌握窗函数法设计F1R数字滤波器的原理和具体方法二、实验设备与环境计算机、Mat1ab软件环境三、实验基础理论1>基本原理窗函数设计法的基本思想为,首先选择一个适当的理想的滤波器Hd(,3),然后用窗函数截取它的单位脉冲响应%(九),得到线性相位和因果的FIR滤波器,这种方法的重点是选择一个合适的窗函数和理想滤波器,使设计的滤波器的单位脉冲响应逼近理想滤波器的单位脉冲响应。
2、设计步骤(1)给定理想滤波器的频率响应Hd("3),在通带上具有单位增益和线性相位,在阻带上具有零响应。
一个带宽为g(3c<Tr)的低通滤波器由下式给定h(e j^=(eW∣ω∣≤ωc虱)一1Oωc<∣ω∣<π其中α为采样延迟,其作用是为了得到因果的系统。
(2)确定这个滤波器的单位脉冲响应为了得到一个h(n)长度为N的因果的线性相位FIR滤波器,我们令N-Ia=-2-(3)用窗函数截取hd(τι)得到所设计FIR数字滤波器h(n)h(n)=h d(n)w(n)3、窗函数的选择常用的窗函数有矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗等。
Mat1ab提供了一些函数用于产生窗函数,如下表所示:在设计过程中我们需要根据给定的滤波器技术指标,选择滤波器长度N 和窗函数3(n)°表7.2列出了常用的窗函数的一些特性,可供设计时参考。
其中幻是修正的零阶贝塞尔函数,参数B 控制最小阻带衰减,这种窗函数对于相同的N 可以提供不同的过渡带宽。
由于贝塞尔函数比较更杂,这种窗函数的设计方程很难推导,然而幸运的是,有一些经验设计方程可以直接使用。
已知给定的指标叫Msc,Rp 和4,滤波器长度N 和凯瑟窗参数B 可以按如下凯瑟窗设计方程给出过渡带宽:∆ω=ωst -ωp入一7.95 2.285∆ω_(0.1102(4-8.7) ,P=iθ.5842(4-21)04+0.07886(4-21), 四、实验内容1、设计一个数字低通FIR 滤波器,其技术指标如下ωp =0.2τr,RP=0.25dBωst =0.3τr,A s =50dB分别采用矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗设计该滤波器。
FIR数字低通滤波器的(汉宁)窗函数法设计

语音信号的数字滤波——FIR数字滤波器的(汉宁)窗函数法设计设计题目:语音信号的数字滤波——FIR数字滤波器的(汉宁)窗函数法设计一、课程设计的目的通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。
并能够对设计结果加以分析。
二、设计步骤2.1窗函数设计法的原理窗函数的基本思想:先选取一个理想滤波器(它的单位抽样响应是非因果、无限长的),再截取(或加窗)它的单位抽样响应得到线性相位因果FIR滤波器。
这种方法的重点是选择一个合适的窗函数和理想滤波器。
设x(n)是一个长序列,是长度为N的窗函数,用截断,得到N点序列,即在频域上则有由此可见,窗函数不仅仅会影响原信号在时域上的波形,而且也会影响到频域内的形状。
2.2汉宁窗函数简介汉宁窗、海明窗和布莱克曼窗,都可以用一种通用的形式表示,这就是广义余弦窗。
这些窗都是广义余弦窗的特例,汉宁(Hanning)窗又称升余弦窗,汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是 3个 sinc(t)型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。
适用于非周期性的连续信号。
公式如下:2.3进行语音信号的采集(1)按“开始”-“程序”-“附件”-“娱乐”-“录音机”的顺序操作打开Windows系统中的录音机软件。
如图1所示。
图1 windows录音机(2)用麦克风录入自己的声音信号并保存成wav文件。
如图2所示。
图2 保存文件保存的文件按照要求如下:1 音信号文件保存的文件名为“yuxuejiao.wav”。
②语音信号的属性为“8.000KHz,8位,单声道 7KB/秒” ,其它选项为默认。
plot(k(1:20000)*1,abs(S1(1:20000)));title('预处理语音信号单边带频谱')在m文件编辑器中输入相应的指令将自己的语音信号导入Matlab工作台,点击“run”或者“F5”运行文件。
实验六用窗函数法设计FIR滤波器分析解析

实验六用窗函数法设计FIR滤波器分析解析一、引言数字滤波器是数字信号处理中的重要组成部分。
滤波器可以用于去除噪声、调整频率响应以及提取感兴趣的信号。
有许多方法可以设计数字滤波器,包括窗函数法、频域法和优化法等。
本实验将重点介绍窗函数法设计FIR滤波器的原理和过程。
二、窗函数法设计FIR滤波器窗函数法是设计FIR滤波器的一种常用方法。
其基本原理是将滤波器的频率响应与理想滤波器的频率响应进行乘积。
理想滤波器的频率响应通常为矩形函数,而窗函数则用于提取有限长度的理想滤波器的频率响应。
窗函数的选择在FIR滤波器的设计中起着重要的作用。
常用的窗函数包括矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
对于每种窗函数,都有不同的特性和性能指标,如主瓣宽度、副瓣抑制比等。
根据不同的应用需求,可以选择合适的窗函数。
窗函数法设计FIR滤波器的具体步骤如下:1.确定滤波器的阶数N。
阶数N决定了滤波器的复杂度,一般情况下,阶数越低,滤波器的简单度越高,但频率响应的近似程度也会降低。
2.确定滤波器的截止频率。
根据应用需求,确定滤波器的截止频率,并选择合适的窗函数。
3.根据窗函数长度和截止频率计算理想滤波器的频率响应。
根据所选窗函数的特性,计算理想滤波器的频率响应。
4.根据理想滤波器的频率响应和窗函数的频率响应,得到所需的FIR滤波器的频率响应。
将理想滤波器的频率响应与窗函数的频率响应进行乘积,即可得到所需滤波器的频率响应。
5.对所得到的频率响应进行逆傅里叶变换,得到时域的滤波器系数。
6.实现滤波器。
利用所得到的滤波器系数,可以通过卷积运算实现滤波器。
三、实验结果与分析本实验以Matlab软件为平台,利用窗函数法设计了一个低通滤波器。
滤波器的阶数为16,截止频率为500Hz,采样频率为1000Hz,选择了汉宁窗。
根据上述步骤,计算得到了所需的滤波器的频率响应和时域的滤波器系数。
利用这些系数,通过卷积运算,实现了滤波器。
为了验证滤波器的性能,将滤波器应用于输入信号,观察输出信号的变化。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北科技大学课程设计报告学生姓名:学号:专业班级:课程名称:学年学期指导教师:20 年月课程设计成绩评定表目录1. 窗函数设计低通滤波器1.1设计目的 (1)1.2设计原理推导与计算 (1)1.3设计内容与要求 (2)1.4设计源程序与运行结果 (3)1.5思考题 (10)1.6心得体会 (14)参考文献 (15)1.窗函数设计低通滤波器1.1设计目的1. 熟悉设计线性相位数字滤波器的一般步骤。
2. 掌握用窗函数法设计FIR 数字滤波器的原理和方法。
3. 熟悉各种窗函数的作用以及各种窗函数对滤波器特性的影响。
4. 学会根据指标要求选择合适的窗函数。
1.2设计原理推导与计算如果所希望的滤波器的理想的频率响应函数为()ωj d e H ,则其对应的单位脉冲响应为()()ωπωωππd e e H n h j j d d ⎰-=21(4.1) 窗函数设计法的基本原理是设计设计低通FIR 数字滤波器时,一般以理想低通滤波特性为逼近函数()ωj e H ,即()⎪⎩⎪⎨⎧≤<≤=-πωωωωωαωc c j jd ,,ee H 0,其中21-=N α()()()[]()a n a n d e e d e eH n h c j j j j d d cc--===⎰⎰---πωωπωπωαωωωαωππωsin 2121用有限长单位脉冲响应序列()n h 逼近()n h d 。
由于()n h d 往往是无限长序列,而且是非因果的,所以用窗函数()n ω将()n h d 截断,并进行加权处理,得到: ()()()n n h n h d ω= (4.2)()n h 就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数()ωj e H 为()()nj N n j en h eH ωω∑-==1(4.3)式中,N 为所选窗函数()n ω的长度。
用窗函数法设计的滤波器性能取决于窗函数()n ω的类型及窗口长度N 的取值。
设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。
各种类型的窗函数可达到的阻带最小衰减和过渡带宽度见表(一)。
表(一) 各种窗函数的基本参数这样选定窗函数类型和长度N 之后,求出单位脉冲响应()()()n n h n h d ω•=,并按照式(4.3)求出()ωj e H 。
()ωj e H 是否满足要求,如果()ωj e H 不满足要求,则要重新选择窗函数类型和长度N ,再次验算,直至满足要求。
1.3设计内容与要求(一)设计要求:1. 学会计算滤波器各项性能指标及如何来满足给定的指标要求。
2. 用MATLAB 语言编程实现给定指标要求的滤波器的设计。
3. 熟悉MATLAB 语言,独立编写程序。
4. 设计低通FIR 滤波器的指标:通带最大波动0.25,p R dB =,0.2p ωπ=阻带最小衰减 50,s A dB =,0.3s ωπ=(二)、设计内容:1.熟悉各种窗函数,在MATLAB 命令窗下浏览各种窗函数,绘出(或打印)所看到的窗函数图。
2.编写计算理想低通滤波器单位抽样响应hd(n)的m 函数文件ideal.m 。
3. 编写计算N 阶差分方程所描述系统频响函数()j H e ω的m 函数文件fr.m 。
4.根据指标要求选择窗函数的形状与长度N 。
(至少选择两种符合要求的窗函数及其对应的长度)。
5.编写.m 程序文件,通过调用ideal.m 和fr .m 文件,计算你设计的实际低通FIR 滤波器的单位抽样响应h(n)和频率响应()j H e ω,打印在频率区间[O ,π]上的幅频响应特性曲线()~j H e ωω,幅度用分贝表示。
6.验证所设计的滤波器是否满足指标要求。
1.4设计的源程序及运行结果:1、利用MATLAB 窗口观察各种窗函数: %巴特利特窗 w=bartlett(20); subplot(3,2,1); plot(w);stem(w,'y');%'y'表示黄色 %stem 表示以离散图输出 title('巴特利特床窗'); xlabel('n');%横坐标为n ylabel('w(n)');%纵坐标为w(n)%布莱克曼窗 w=blackman(20);subplot(3,2,2); plot(w);stem(w,'b');%'b'表示蓝色 title('布莱克曼窗'); xlabel('n'); ylabel('w(n)'); %矩形窗 w=boxcar(20); subplot(3,2,3); plot(w); stem(w,'r'); title('矩形窗');xlabel('n');ylabel('w(n)');%海明窗w=hamming(20);plot(w);stem(w,'m');%'m'表示紫色title('海明窗');xlabel('n');ylabel('w(n)');%汉宁窗w=hanning(20);subplot(3,2,5);plot(w);stem(w,'g');%'g'表示绿色title('汉宁窗');xlabel('n');ylabel('w(n)');%凯泽窗beta=5.6533;w=kaiser(20,beta);subplot(3,2,6);plot(w);stem(w,'k');%'k'表示黑色title('凯泽窗,beta=5.6533');xlabel('n');ylabel('w(n)');常用窗函数的图形2、理想低通滤波器单位抽样响应hd(n)的m函数文件ideal.m。
function hd=ideal(wc,M)%理想低通滤波器计算%hd为0到M-1之间的理想脉冲响应%wc为截止频率%M为理想滤波器的长度alpha=(M-1)/2;n=0:M-1;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);3、N阶差分方程所描述的系统频响函数的m函数文件fr.m。
function[db,mag,pha,gfd,w]=fr(b,a)%求解系统响应%db为相位振幅(db)%mag为绝对振幅%pha为相位响应%grd为群延时%w为频率样本点矢量%b为Ha(z)分析多项式系数(对FIR而言,b=h)%a为Hz(z)分母多项式系数(对FIR而言,a=1)[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);gfd=grpdelay(b,a,w);4、实际低通滤波器FIR:%用海明窗设计低通滤波器wp=0.2*pi;ws=0.3*pi;tr_width=ws-wp;disp(['海明窗设计低通滤波器参数:']);M=ceil(6.6*pi/tr_width)+1;disp(['滤波器的长度为',num2str(M)]);n=0:M-1;wc=(ws+wp)/2; %理想LPF的截止频率hd=ideal(wc,M);w_ham=(hamming(M))';h=hd.*w_ham;[db,mag,pha,gfd,w]=fr(h,[1]);delta_w=2*pi/1000;Rp=-(min(db(1:1:wp/delta_w+1))); %求出实际通带波动disp(['实际带通波动为',num2str(Rp)]);As=-round(max(db(ws/delta_w+1:1:501))); %求出最小阻带衰减disp(['最小阻带衰减为-',num2str(As)],’db’);%绘图subplot(1,1,1)subplot(2,6,1)stem(n,hd);title('理想冲击响应');axis([0 M-1 -0.1 0.3]);ylabel('hd(n)');subplot(2,6,2)stem(n,w_ham);title('海明窗');axis([0 M-1 0 1.1]);ylabel('w(n)');subplot(2,6,7)stem(n,h);title('实际冲激响应');axis([0 M-1 -0.1 0.3]);xlabel('n');ylabel('h(n)');subplot(2,6,8)plot(w/pi,db);title('幅度响应(db)');axis([0 1 -100 10]);grid;xlabel('以pi为单位的频率');ylabel('分贝数');图(1)海明窗设计的FIR 海明窗设计低通滤波器参数:滤波器的长度为67实际带通波动为0.03936最小阻带衰减为-52db%用布莱克曼窗设计低通滤波器wp=0.2*pi;ws=0.3*pi;tr_width=ws-wp;disp(['布莱克曼窗设计低通滤波器的参数:']);M=ceil(11.0*pi/tr_width)+1;disp(['滤波器的长度为',num2str(M)]);n=0:M-1;%理想LPF的截止频率wc=(ws+wp)/2;hd=ideal(wc,M);w_bla=(blackman(M))';h=hd.*w_bla;[db,mag,pha,gfd,w]=fr(h,[1]);delta_w=2*pi/1000;Rp=-(min(db(1:1:wp/delta_w+1))); %求出实际通带波动disp(['实际带通波动为',num2str(Rp)]);As=-round(max(db(ws/delta_w+1:1:501))); %求出最小阻带衰减disp(['最小阻带衰减-',num2str(As)],’db’);%绘图subplot(2,6,3)stem(n,hd);title('理想冲击响应');axis([0 M-1 -0.1 0.3]);ylabel('hd(n)');subplot(2,6,4)stem(n,w_bla);title('布莱克曼窗');axis([0 M-1 0 1.1]);ylabel('w(n)');subplot(2,6,9)stem(n,h);title('实际冲激响应');axis([0 M-1 -0.1 0.3]);xlabel('n');ylabel('h(n)');subplot(2,6,10)plot(w/pi,db);title('幅度响应(db)');axis([0 1 -100 10]);grid;xlabel('以pi为单位的频率');ylabel('分贝数');图(2)布莱克曼窗设计的FIR 布莱克曼窗设计低通滤波器的参数:滤波器的长度为111 实际带通波动为0.0033304 最小阻带衰减为-73db 5、技术指标比较:(1)海明窗设计低通滤波器参数: 滤波器的长度为67 实际带通波动为0.03936 最小阻带衰减为-52db(2)布莱克曼窗设计低通滤波器的参数: 滤波器的长度为111 实际带通波动为0.0033304 最小阻带衰减为-73db在相同的技术指标下用布莱克曼窗设计的低通滤波器实际带通波动实际带通波动最小,最小阻带衰减,滤波器的长度最大;海明窗和凯泽窗最小阻带衰减差不多,滤波器的长度页差不多,但是海明窗实际波动小于凯泽窗;所以用布莱克曼窗用设计的FIR 最逼近理想单位冲击响应。